发部42和ISO协议处理部54的处理内容则与上述的处理相同。
[0080]应用选择器55存储当前处于选择状态的应用为FeliCa应用管理部62这样的信息,因此将接受到的指令(INF146)传递给指令格式转换部57。
[0081 ] 如图8所示,指令格式转换部57从已接受的INF146提取INS149和Cmd-Datal52后,分别作为指令码181和指令数据182来传递给FeliCa指令处理部53。其中,指令码181和指令数据182映射在如下所述的帧上,该帧是在接收了与图4中的指令码109以及指令数据110相同的数据时的帧,其中,在所述图4中对由Fe 1 iCa_RW2访问Fe 1 iCa应用的情况进行说明。由此,FeliCa指令处理部53能够通过与来自FeliCa-RW的访问时相同的处理,从FeliCa应用文件65读出数据。
[0082]图9表示来自1C卡1的响应帧的结构。参照图2和图9来说明返回针对读出指令的响应时的处理流程。Fe 1 iCa指令处理部53根据存储在通信协议识别部51中的信息来辨别当前使用的通信协议为FeliCa协议这一情况。在该情况下,FeliCa指令处理部53将已读出的数据和处理结果作为响应数据191和状态192来传递给指令格式转换部57。处理结果例如是表示指令处理是否已正常结束的数据。其中,响应数据191和状态192是与图5中的响应数据131和状态130相同的。指令格式转换部57将所接受的响应数据191和状态192分别作为Rsp-Datal68和SW169来传递给ISO协议处理部54。之后的ISO协议处理部54和IS0-RF收发部42的处理则与上述的处理相同。
[0083]通过如上所述的一系列处理,IS0-RW3能够从安装在1C卡1上的多个应用中选择期望的FeliCa应用,并访问该应用的文件。换言之,IS0-RW3能够执行与由FeliCa-RW2处理FeliCa应用时相同的处理。这样的由IS0-RW3执行FeliCa应用这一点是现有系统不具有的新的内容。
[0084]指令处理的流程
[0085]图10中图示了流程图,表示一种实施方式中接收指令的判断顺序。该流程包括:由应用选择器55进行的处理;以及由ISO指令处理部56或者FeliCa指令处理部53进行的处理。参照图10来详细说明应用选择器55中的判断应用选择指令和应用处理指令(读出指令等)的顺序。
[0086]首先,应用选择器55判断所接收的指令是否为应用选择指令(步骤S1)。由于优先受理应用选择指令,因此,即使是在执行一些应用处理的过程中(具体而言,处于在发送针对某一应用处理指令的响应之后等待针对该应用的下一个指令的状态),也能够选择其它应用。
[0087]在接收到应用选择指令的情况下,根据用该指令指定的应用识别码来判断选择对象的应用(步骤S10)。在选择对象为卡内应用管理部61的情况下,应用选择器55在内部存储当前处于选择状态的应用为卡内应用管理部61这样的内容的信息(步骤S11)。然后,ISO指令处理部56进行对卡内应用管理部61的选择处理(读出卡内应用列表64等)(步骤S12)。在选择对象为ISO应用管理部63的情况下的处理流程(步骤S13、S14)也是相同的。此外,在选择对象为FeliCa应用管理部62的情况下,也进行除了步骤S16的执行主体为应用选择器55这一点之外相同的处理(步骤S15、S16)。此外,当选择对象的应用没有安装在该1C卡1上的情况下,作为指令异常来处理(步骤S17)。
[0088]另一方面,在所接收的指令为应用选择指令以外的指令的情况下,应用选择器55视为该指令是针对已经处于选择状态的应用的指令,从而判断当前处于选择状态的应用为哪一应用(步骤S30)。在进行该判断时,使用在步骤S11、S13、S15中的任一步骤中存储过的
?目息。
[0089]在当前处于选择状态的应用为卡内应用管理部61的情况下,由ISO指令处理部56进行针对卡内应用管理部61的指令处理(例如,获取剩余空间大小、追加应用等)(步骤S31)。在当前处于选择状态的应用为ISO应用管理部63的情况下也一样,由ISO指令处理部56进行针对ISO应用管理部63的指令处理(例如,读出ISO应用文件66等)(步骤S32)。此外,在当前处于选择状态的应用为FeliCa应用管理部62的情况下,由FeliCa指令处理部53进行针对FeliCa应用管理部62的指令处理(例如,读出FeliCa应用文件65等)(步骤S33)。此外,在没有选择应用的情况下,作为指令异常来处理(步骤S34)。
[0090]其中,无论是应用选择指令还是除此之外的指令,应用选择器55所接受的指令都具有如图6或者图8中的CLA148?Lel53所示的结构。应用选择指令和针对ISO应用管理部63的指令集都是基于ISO体系的指令。在为基于ISO体系的指令的情况下,每个指令中的INS149都不同,因此能够可靠地判断应用选择指令和应用选择指令之外的指令集。另一方面,关于针对FeliCa应用管理部62的指令集而言,由于指令码181是与ISO体系分开而独自规定的,因此可能会与应用选择指令的INS149重复。但是,在为属于ISO体系之指令的应用选择指令的情况下,由CLA148表示是ISO体系之指令这样的情况。具体而言,长度为1字节(byte)的CLA148的最上位比特(bi t)的值被设定为“0”。相对于此,在为针对Fe 1 iCa应用管理部62的指令集的情况下,将CLA148的最上位比特设定为“1”,由此来明确地表示该指令为独自指令。通过上述方式,能够可靠地分辨应用选择指令与针对FeliCa应用管理部62的指令集,因此能够正确地处理步骤S1的分支判断。
[0091]需要说明的是,在本实施方式中,对在1C卡1内安装了多个应用的情况进行了说明,然而在只安装了FeliCa应用的情况下,不需要进行这样的应用选择处理,即使在由IS0-RW3执行FeliCa应用的情况下,也能够起初就发送针对FeliCa应用管理部62的指令。
[0092]ISO协议在其所涉及的帧结构以外的方面,也与FeliCa协议不同。例如,在图5和图9中,对将状态130设定给Stsl28以及将状态192设定给SW169的内容进行了说明,然而,有些FeliCa指令中不存在状态130和状态192。在为这样的指令下,当指令已异常结束的情况下,需要按照各协议的规定来进行处理,即:在FeliCa协议下作为无响应来处理,在ISO协议下返回一些处理结果SW169。
[0093]为了实现上述方式,只以不存在状态130和状态192的FeliCa指令的响应作为对象,新规定了表示“正常结束”和“异常结束”的两种状态代码。参照图11来对上述的状态代码的处理进行说明。
[0094]图11是表示一种实施方式中状态的处理方法的流程图。该流程包括:由FeliCa协议处理部52进行的处理;以及由FeliCa-RF收发部41进行的处理。
[0095]首先,FeliCa协议处理部52根据当前正在处理的指令的指令码109,来判断是否是对其响应赋予Stsl28的指令(步骤S60)。在为赋予Stsl28的指令的情况下,将状态130直接设定给Stsl28(步骤61),并将信息段123组合后传递给FeliCa-RF收发部41(步骤62)。FeliCa-RF收发部41将该响应发送给FeliCa-RW2后,转移到接收模式而等待接收下一个指令(步骤63)。
[0096]另一方面,在为不是赋予Stsl28的指令的情况下,FeliCa协议处理部52判断状态130所表示的内容是“正常结束”还是“异常结束”(步骤S64)。在为“正常结束”的情况下,删除状态130,并将没有赋予Stsl28的信息段123组合后传递给FeliCa-RF收发部41(步骤65)。FeliCa-RF收发部41将该响应发送给FeliCa-RW2后,转移到接收模式而等待接收下一个指令(步骤63)。
[0097]在为“异常结束”的情况下,FeliCa协议处理部52向FeliCa-RF收发部41通知指令异常这样的内容(步骤SeehFeliCa-RF收发部41不向FeliCa-RW2返回响应,就转移到接收模式而等待接收下一个指令(步骤67)。
[0098]另一方面,关于ISO协议处理部54的处理而言,无论针对何种FeliCa指令,都将状态192(还包括表示“正常结束”或者“异常结束”的代码)转换成ISO体系的代码后设定给SW169o
[0099]由于FeliCa指令是独自指令,因此设定给SW169的代码也可以为独自决定的代码。因此,不用非转换成ISO体系的代码。但是,在IS0-RW3对应于FeliCa应用和ISO应用这两者的情况下,通过预先将状态代码的体系结合起来,从而达到能够实现共通化处理的效果。
[0100]通过上述方式,能够执行与FeliCa协议和ISO协议这两者相对应的处理。
[0101]读写器的结构
[0102]图12表示FeliCa-RW2和IS0-RW3的简要结构。参照图12以及图4?图9,对FeliCa-RW2和IS0-RW3的处理进行简单说明。
[0103]在FeliCa_RW2执行1C卡1的FeliCa应用的情况下,FeliCa应用处理部201按照各指令将图4的指令码109和指令数据110组合后传递给FeliCa协议处理部202 JeliCa协议处理部202将指令码109和指令数据110分别设定给C-Codl06和C-Datal08,并且赋予LEN105和IDml07,然后传递给FeliCa-RF收发部SOSJeliCa-RF收发部203将上述内容设定给信息段103,并赋予前同步信号101、同步码102以及CRC104后发送给1C卡1。针对于此的来自1C卡1的响应帧的结构如图5所示。响应处理与上述方式相同。
[0104]在IS0-RW3执行1C卡1的ISO应用的情况下,ISO应用处理部211按照各指令将图6的CLA148?Lel53组合后传递给ISO协议处理部212。130协议处理部212将它们设定给1即146,并且赋予PCB144、CID145以及CRC147,然后传递给IS0-RF收发部213JS0-RF收发部213将它们设定给帧主体142,并赋予S0F141和E0F143后发送给1C卡1。针对于此的来自1C卡1的响应帧的结构如图7所示。关于响应处理,则与上述方式相同。
[0105]在IS0-RW3执行1C卡1的FeliCa应用的情况下,FeliCa应用处理部214按照各指令将图8的指令码181和指令数据182组合后传递给指令格式转换部215。指令格式转换部215将它们分别设定给INS149和Cmd-Datal52,并且赋予CLA148、PAR150、Lcl51以及Lel53后传递给ISO协议处理部212。
[0106]在此,如上所述,给CLA的最上位比特设定表示是独自指令的“1”。并且,由于不使用PAR150,因此给PAR150设定2个字节的00h(十六进制表述)。需要说明的是,在JISX6319-4中,作为FeliCa规格的将来扩展用代码而规定了2个字节的指令码。在使用这样的扩展指令的情况下,只要将指令码181的上位字节、下位字节分别映射到INS149第一个字节、PAR的第一个字节上即可。
[0107]ISO协议处理部212将它们设定给INF146,并且赋予PCB144、CID145以及CRC147后传递给IS0-RF收发部213JS0-RF收发部213将它们设定给