半导体集成电路、移动模块和消息通信方法 【技术领域】
本发明涉及一种半导体集成电路、移动模块和消息通信方法。
背景技术
具有在接触状态中与外部设备通信的通信功能的半导体集成电路得到了发展。包含这种半导体集成电路的IC(集成电路)卡在商业领域典型地作为信用卡使用。所开发的其它类型的集成电路可以以非接触方式或在电路和外部设备是相互物理接触但没有建立直接的电接触的状态中与外部设备通信。包含这种半导体集成电路的IC卡典型地用于票务站(station ticket gates)中。
目前所发展的具有非接触和接触通信功能的双接口IC卡可选择地允许与外部设备的非接触通信和接触通信,如在日本未审专利申请公开No.2003-168092中所公开的。这样的IC卡遵守在有关接触通信的国际标准ISO/IEC7816-3以及在有关非接触通信的国际标准ISO/IEC14443-4中所定义的传输协议。虽然传输协议对接触通信和非接触通信是不同的,当IC卡接收命令时,IC卡参照系统程序或IC卡的多个应用程序在非永久性存储器中存储命令信息。由此IC卡接收协议区别,使得不论接收哪个协议都能可靠地执行所接收的命令。
虽然传输协议对接触通信和非接触通信是不同的,将要从外部设备传送到IC卡的命令以国际标准ISO/IEC7816-4标准化以及对于接触通信和非接触通信是公用的。换句话说,IC卡是基于假定接触通信标准和非接触通信标准对于在包括在外部设备和IC卡之间交换的命令消息和响应消息地结构中是相互一致的。如果消息结构对于接触通信和非接触通信是不相同的,IC就不能处理相互的消息。
【发明内容】
因此,本发明的目的是提供一种半导体集成电路,移动模块和用于处理消息的消息通信方法,即使消息结构对于接触通信和非接触通信不相同。
因此提供了一种半导体集成电路,具有在接触通信中与外部设备进行消息通信的功能、以及在非接触通信中与外部设备进行消息通信的功能。根据本发明的第一方面,一种半导体集成电路,包括用于判定在非接触通信中从外部设备获得的非接触型消息是否包含于在接触通信中从外部设备获得的接触型消息中、和如果判定非接触型消息包含在接触型消息中时从接触型消息提取非接触型消息的单元,以及用于判定在接触通信中从外部设备获得的接触型消息是否包含于在非接触通信中从外部设备获得的非接触型消息中、和如果判定接触型消息包含在非接触型消息中时从非接触型消息提取接触型消息的单元。
在接触通信中,当从外部设备接收消息以及将该消息通信到半导体集成电路时,与外部设备接触的接口给本发明的半导体集成电路提供功率。在非接触通信中,接口不与外部设备接触或者不直接与外部设备电接触,即使二者彼此物理地接触。
根据本发明,半导体集成电路通过在接触通信中在从外部设备所获得的接触型消息中提取非接触型消息来处理非接触型消息。半导体集成电路通过在非接触通信中从外部设备所获得的非接触型消息中提取接触型消息来处理接触型消息。
在半导体集成电路或另一个半导体集成电路中的消息处理器仅可以理解不同于接触型消息结构的非接触型消息,以及外部设备仅可以发送接触型消息。在这种情况下,半导体集成电路提取包含在接触型消息中的非接触型消息以及将所提取的非接触型消息提供给消息处理器。外部设备由此可以使用消息处理器。这在仅能够理解接触型消息的消息处理器和仅能够以非接触型消息结构发送消息的外部设备之间也是相同的。
根据本发明的第二方面,在接触通信和/或非接触通信中与外部设备通信消息的半导体集成电路,包括用于在接触通信中从外部设备获得接触型消息的接触型通信单元,用于在非接触通信中从外部设备获得非接触型消息的非接触型通信单元,用于处理接触型消息的接触型消息处理器,用于处理非接触型消息的非接触型消息处理器,以及用于从接触型通信单元获得接触型消息从而将接触型消息提供给接触型消息处理器、以及从非接触型通信单元获得非接触型消息从而将非接触型消息提供给非接触型消息处理器的消息中继单元。
即使当在接触通信中从外部设备获得的接触型消息在结构上不同于在非接触通信中从外部设备获得的非接触型消息时,由于半导体集成电路结合有接触型消息处理器和非接触型消息处理器,半导体集成电路也可以处理接触型消息和非接触型消息。处理接触型消息意味着根据其格式获知接触型消息的内容。接触型消息处理器可以根据所获知的消息内容执行处理,以及可以使另一个应用来执行处理。处理非接触型消息意味着根据其格式获知非接触型消息的内容。非接触型消息处理器可以根据所获知的消息内容执行处理,以及可以使另一个应用来执行处理。由于消息中继单元安排在接触型消息处理器和非接触型消息处理器之间,每个通信单元仅提供消息给消息中继单元,而不需要判定将消息提供给哪个消息处理器。
优选地,消息中继单元包括消息判定器,消息判定器判定要提供给非接触型消息处理器的非接触型消息是否包含在从接触型通信单元获得的接触型消息中。通过这样的配置,消息中继单元根据非接触型消息是否包含在接触型消息中来设置随后不同的过程。包含非接触型消息的接触型消息可以通过给非接触型消息附加上标识接触型消息的标识符来产生。
优选地,消息判定器基于从接触型通信单元获得的接触型消息的预定部分的数据来判定是否非接触型消息包含在接触型消息中。通过这样的配置,消息判定器仅仅参考接触型消息的预定部分的数据。由此加速了判定过程。
优选地,消息中继单元进一步包括消息提取器,消息提取器提取包含在从接触型通信单元获得的接触型消息中的非接触型消息。通过这样的配置,消息中继单元将由消息提取器从接触型消息中提取的非接触型消息提供给非接触型消息处理器。包含在接触型消息中的非接触型消息是其一部分。如果从接触型消息提取的非接触型消息是其一部分和不完整的,消息提取器可以给不完整的非接触型消息加上缺少的部分以生成完整的非接触型消息。
优选地,消息中继单元最好包括消息判定器,消息判定器判定被提供给接触型消息处理器的接触型消息是否包含在从非接触型通信单元获得的非接触型消息中。通过这样的配置,消息中继单元根据接触型消息是否包含在非接触型消息中来设定随后不同的过程。包含接触型消息的非接触型消息可以通过给接触型消息附加标识非接触型消息的标识符来产生。
优选地,消息判定器基于从非接触型通信单元获得的非接触型消息的预定部分的数据来判定接触型消息是否包含在非接触型消息中。通过这样的配置,消息判定器仅仅参考非接触型消息的预定部分的数据。由此加速了判定过程。
优选地,消息中继单元进一步包括消息提取器,消息提取器提取包含在从非接触型通信单元获得的非接触型消息中的接触型消息。通过这样的配置,消息中继单元将由消息提取器从非接触型消息中提取的接触型消息提供给接触型消息处理器。包含在非接触型消息中的接触型消息是其一部分。如果从非接触型消息提取的接触型消息是其一部分和不完整的,消息提取器可以给不完整的接触型消息加上缺少的部分以生成完整的接触型消息。
优选地,消息中继单元包括消息判定器,消息判定器判定被提供给非接触型消息处理器的非接触型消息是否包含在从接触型通信单元获得的接触型消息中,以及判定要提供给接触型消息处理器的接触型消息是否包含在从非接触型通信单元获得的非接触型消息中。通过这样的配置,消息中继单元就根据非接触型消息是否包含在接触型消息中来设定随后的不同过程,同时根据接触型消息是否包含在非接触型消息中来设定随后的不同过程。
优选地,中继单元进一步包括消息提取器,消息提取器提取包含在从接触型通信单元获得的接触型消息中的非接触型消息,同时提取包含在从非接触型通信单元获得的非接触型消息中的接触型消息。通过这样的配置,消息中继单元将由消息提取器从接触型消息提取的非接触型消息提供给非接触型消息处理器,同时将由消息提取器从非接触型消息提取的接触型消息提供给接触型消息处理器。
本发明的半导体集成电路不仅在当接触型消息和非接触型消息结构不同时、而且在当接触型消息和非接触型消息结构相同时来处理接触型消息和非接触型消息二者。
根据本发明的第三方面,一种移动模块,包括在接触通信和/或非接触通信中与外部设备通信消息的半导体集成电路。半导体集成电路包括用于判定在非接触通信中从外部设备获得的非接触型消息是否包含于在接触通信中从外部设备获得的接触型消息中、和如果判定非接触型消息包含在接触型消息中时从接触型消息提取非接触型消息的单元,以及用于判定在接触通信中从外部设备获得的接触型消息是否包含于在非接触通信中从外部设备获得的非接触型消息中、和如果判定接触型消息包含在非接触型消息中时从非接触型消息提取接触型消息的单元。
其中具有半导体集成电路的移动模块提取包含于在接触通信中从外部设备获得的接触型消息中的非接触型消息。半导体集成电路由此处理所提取的非接触型消息。半导体集成部件提取包含于在非接触通信中从外部设备获得的非接触型消息中的接触型消息。半导体集成电路由此处理所提取的接触型消息。
移动模块具有允许用户容易携带的大小和重量。移动模块可以容纳半导体集成部件或者可以允许在其上附加有半导体集成部件。例如,移动模块可以是终端,例如IC卡、蜂窝电话、或PDA(个人数字助理)、或腕表。
根据本发明的第四方面,一种移动模块,包括在接触通信和/或非接触通信中与外部设备通信消息的半导体集成电路。半导体集成电路包括用于在接触通信中从外部设备获得接触型消息的接触型通信单元,用于在非接触通信中从外部设备获得非接触型消息的非接触型通信单元,用于处理接触型消息的接触型消息处理器,用于处理非接触型消息的非接触型消息处理器,以及用于从接触型通信单元获得接触型消息从而将接触型消息提供给接触型消息处理器、以及从非接触型通信单元获得非接触型消息从而将非接触型消息提供给非接触型消息处理器的消息中继单元。
即使当移动模块在接触通信中从外部设备获得的接触型消息在结构上不同于在非接触通信中从外部设备获得的非接触型消息时,移动模块使用包括有接触型消息处理器和非接触型消息处理器的半导体集成电路来处理接触型消息和非接触型消息二者。由于消息中继单元安排在接触型消息处理器/非接触型消息处理器和接触型消息处理器/非接触型消息处理器之间,每个通信单元仅给消息中继单元提供消息,而不需要判定将消息提供给哪个消息处理器。
本发明的第五方面涉及一种在接触通信和/或非接触通信中与外部设备通信消息的移动模块、和在接触通信中与移动模块通信消息的外部接触型设备之间执行的消息通信方法。消息通信方法包括以下步骤,将要在非接触通信中发送给移动模块的非接触型消息嵌入到将要在接触通信中发送给移动模块的接触型消息中,将包含有非接触型消息的接触型消息发送到移动模块,接收包含有非接触型消息的接触型消息,判定非接触型消息是否包含在所接收的接触型消息中,以及提取包含在所接收的接触型消息中的非接触型消息。
即使当在接触通信中从外部设备发送到移动模块的接触型消息在结构上不同于在非接触通信中从外部设备发送到移动模块的非接触型消息时,外部设备能够在接触通信中将非接触型消息发送给移动模块,其中非接触型消息嵌入在接触型消息中。移动模块判定非接触型消息是否包含于在接触通信中从外部设备接收的接触型消息中,以及如果非接触型消息包含在接触型消息中就提取非接触型消息。移动模块由此可以处理非接触型消息。
本发明第六方面涉及一种在接触通信和/或非接触通信中与外部设备通信消息的移动模块、和在非接触通信中与移动模块通信消息的外部非接触型设备之间执行的消息通信方法。消息通信方法包括以下步骤,将要在接触通信中发送给移动模块的接触型消息嵌入到将要在非接触通信中发送给移动模块的非接触型消息中,将包含有接触型消息的非接触型消息发送到移动模块,接收包含有接触型消息的非接触型消息,判定接触型消息是否包含在所接收的非接触型消息中,以及提取包含在所接收的非接触型消息中的接触型消息。
即使当在接触通信中从外部设备发送到移动模块的接触型消息在结构上不同于在非接触通信中从外部设备发送到移动模块的非接触型消息时,外部设备能够在非接触通信中将接触型消息发送给移动模块,其中接触型消息嵌入在非接触型消息中。移动模块判定接触型消息是否包含于在非接触通信中从外部设备接收的非接触型消息中,以及如果接触型消息包含在非接触型消息中就提取接触型消息。移动模块由此可以处理接触型消息。
根据本发明实施例的半导体集成电路、移动模块和消息通信方法,即使当在接触通信中与通信给外部设备的消息与在非接触通信中与通信给外部设备的消息在结构上不相同时也处理消息。
【附图说明】
图1A和1B示出了根据本发明一个实施例的移动模块;
图2是根据本发明实施例的IC芯片的框图;
图3是根据本发明实施例的IC芯片的功能性框图;
图4A和4B示出了根据本发明实施例的判定信息存储器;
图5示出了根据本发明实施例的消息处理流程;
图6示出了根据本发明实施例的接触型消息的结构;
图7示出了根据本发明实施例的消息处理流程;
图8示出了根据本发明实施例的非接触型消息的结构;
图9示出了根据本发明实施例的消息处理流程;
图10是根据本发明实施例的在外部设备和IC芯片之间执行的消息处理流程的时序图;
图11是根据本发明实施例的在外部设备和IC芯片之间执行的消息处理流程的时序图;
图12是根据本发明实施例的由消息中继单元所执行过程的流程图;
图13是根据本发明实施例的由消息中继单元所执行过程的流程图。
【具体实施方式】
以下将参照附图描述本发明的具体实施例。在整个说明和附图中,相同的元件用相同的参考标记表示。
图1A和1B示出了包含了结合有本发明半导体集成电路的IC芯片110的移动模块。半导体集成电路可以作为单独的IC芯片结合。可选择地,半导体集成电路可以分成分布在移动模块内的多个位置中间的多个IC芯片。
移动模块优选地允许IC芯片110封装在其内或者附着在其上。移动模块具有合适的大小和重量以便用户方便携带。移动模块可以是图1A的IC卡102、图1B的蜂窝电话104、腕表、个人数字助理(PDA)、游戏机、小工艺品例如指环等等中的任一种。
以下将描述作为移动模块的IC卡102。IC卡102包括天线线圈106、接触端108和IC芯片110。当芯片110或IC卡102在非接触通信中与外部设备通信时,天线线圈106响应于由外部设备所产生的磁场而感应出电压,来运行IC卡110,以及从外部设备接收和向外部设备发送消息。当IC卡102在接触通信中与外部设备通信时,置于与外部设备的接触端相接触的接触端108从外部设备接收能量来运行IC芯片110,以及从外部设备接收和向外部设备发送消息。
接触通信涉及由设置为与外部设备接触的移动模块的接触端所执行的通信。非接触通信涉及在当移动模块不与外部设备接触、或当即使移动模块和外部设备物理接触但没有建立电接触时所执行的通信。
外部设备包括接触型外部设备和非接触型外部设备。接触型外部设备例如包括信用卡读取器、电子收集系统(ETC)的机载单元或银行的自动柜员机(ATM)。
非接触型外部设备包括自动票务站。在非接触型外部设备和移动模块之间的非接触通信是无线执行的。非接触通信是根据近场通信(NFC)标准在大约10cm的短程内执行的,近场通信(NFC)标准规定了在212Kbps数据速率下的13.56MHz的载波无线电频率(RF)。一些外部设备具有接触和非接触通信能力。
当由天线线圈106提供能量时,IC芯片110与外部设备执行非接触通信。当由接触端108提供能量时,IC芯片110与外部设备执行接触通信。以下将更详细地讨论接触通信和非接触通信。
已经概括地讨论了包含IC芯片110的移动模块。现在将参照图2描述IC芯片110。
IC芯片110包括整流器206、第一功率发生器208、解调器210、调制器212、第一接收器214、第一发送器216、第二功率发生器220、第二接收器222、第二发送器224、CPU(中央处理单元)228、ROM(只读存储器)230、RAM(随机存取存储器)232、EEPROM(电可擦可编程只读存储器)234、加密引擎236、RNG(随机数发生器)238、CRC(循环冗余校验)单元240等等。
整流器206对从例如上述线圈的非接触接口202提供的交流电压进行整流,以及将经整流的电压提供给第一功率发生器208。提供有电压的第一功率发生器208产生将由IC芯片110使用的电源电压。解调器210将经非接触接口202从外部设备接收的信号解调成IC芯片110可处理的电信号,以及将电信号提供给第一接收器214。调制器212将从IC芯片110经非接触接口202发送给外部设备的电信号调制成在非接触通信中可发送的信号。第一接收器214和第一发送器216用作在非接触通信中与外部设备通信非接触型消息的非接触型通信单元218。随后将描述非接触型通信单元218的功能。
第二功率发生器220由外部设备经由例如前述接触端的接触接口204来供电,以及产生由IC芯片110使用的源功率。第二接收器222和第二发送器224作为在接触通信中从外部设备获取接触型消息的接触型通信单元226。随后将描述接触型通信单元226的功能。
CPU 228通过IC芯片110内的第一功率发生器208和第二功率发生器220之一所产生的源功率来工作,并通常控制整个IC芯片110。ROM 230是非易失性存储器,存储多种应用程序以及用作平台的操作系统(OS)。
存储在ROM 230中的OS分析由IC芯片110从外部设备接收的命令,并响应于该命令消息来执行处理。此外,OS使得另一个应用程序去执行处理,由此产生响应消息作为将要发送给外部设备的处理结果。
由于本发明该实施例的IC芯片110接收由外部设备在接触通信中提供的作为接触型消息其中一种形式的接触型命令消息,以及接收在非接触通信中提供的作为非接触型消息其中一种形式的非接触型命令消息,则OS需要理解两种类型的命令消息。接触型命令消息和非接触型命令消息具有在标准ISO/IEC7816-4中定义的相同和公共的结构。如果OS理解该公共命令则是足够的,以及单一OS是足够的。
如之后将讨论的,IC芯片110基于接触型命令消息和非接触型命令消息在结构上是不同的这一假定而进行设计。根据本发明,接触型命令消息具有遵守标准ISO/IEC7816-4的结构,但是非接触型命令消息具有不遵守标准ISO/IEC7816-4的结构。相反地,接触型命令消息可以不遵守标准ISO/IEC7816-4,而非接触型命令消息可以遵守标准ISO/IEC7816-4。可选择地,接触型命令消息和非接触型命令消息都可以不遵守标准ISO/IEC7816-4。就需要能理解接触型命令消息的一个OS和能理解非接触型命令消息的另一个OS。根据本发明,理解接触型命令消息的OS称为接触型消息处理器,以及理解非接触型命令消息的另一个OS称为非接触型消息处理器。
RAM 232存储操作系统,和由每个应用程序临时使用的数据。EEPROM 234主要用于存储用户数据,但也可以存储应用程序和OS。快闪存储器可以代替EEPROM 234使用。加密引擎236加密和解密与外部设备交换的数据。RNG 238产生在加密密钥中使用的随机数。CRC单元240对从外部设备接收的数据执行循环冗余校验,也称为校错。
已经讨论了IC芯片110。以下将参照图3描述IC芯片110的功能性结构。
IC芯片110包括用于处理接触型消息的接触型消息处理器302和用于处理非接触型消息的非接触型消息处理器304。更具体地,接触型消息处理器302是能够理解接触型命令消息的OS,并响应于命令消息执行处理,或者使得另一个应用程序执行该处理来将响应消息作为处理结果发送到外部设备。非接触型消息处理器304是能够理解非接触型命令消息的OS,响应于命令消息执行处理,或者使得另一个应用程序执行该处理来将响应消息作为处理结果发送到外部设备。
以下将参照图6的(a)部分来描述由接触型消息处理器302理解的接触型命令消息。接触型命令消息包含报头部分10a和数据部分10b。报头部分10a是标识接触型消息的标识符。报头部分10a优选地位于接触型命令消息中的固定位置,例如位于接触型消息的零字节处。代表要由接触型消息处理器302执行的处理内容的命令包含在报头部分10a中。更具体地,报头部分10a包含表示关于消息是否遵循ISO/IEC7816-4标准的命令消息类型的CLA 602,表示用于数据获取和文件选择的命令内容的INS 604,表示当接触型消息处理器302执行由INS 604指示的命令时所用的参数的P1606和P2608,以及表示数据部分10b的长度的Lc 610。
数据部分10b响应于数据更新命令存储作为在接触型消息处理器302中写入的数据,以及在命令执行中由接触型消息处理器302使用的数据。接触型命令消息还可以存储表明在数据获取命令发出中由接触型消息处理器302获取的数据长度的Le 612。依据命令Lc 610的类型,可以从接触型命令消息中排除数据部分10b。
以下将参照图8A描述由非接触型消息处理器304所理解的非接触型命令消息。非接触型命令消息包含报头部分20a和数据部分20b。报头部分20a是标识非接触型消息的标识符。报头部分20a优选地安排在非接触型命令消息内的固定位置,例如在非接触型消息的零字节处。报头部分20a包含要由非接触型消息处理器304执行的命令内容。更具体地,报头部分20a包含与外部设备进行非接触通信所需的同步信息的Sync 802,代表数据长度的Len 804,以及代表命令类型和内容的CD 806。
数据部分20b响应于数据更新命令而存储作为在非接触型消息处理器304中写入的数据,以及由非接触型消息处理器304用于执行命令所使用的数据。非接触型命令消息附加地还包括作为对于数据部分20b的错误检测码的CRC808。依据命令的内容,可以从非接触型命令消息中排除Len 804和数据部分20b。
仅以示例性目的讨论了命令消息的结构。不同的结构可以应用到接触型命令消息和非接触型命令消息。参照图3,以下将描述IC芯片110的功能和结构。
接触型通信单元226在接触通信中从外部设备获得接触型消息。更具体地,接触型通信单元226经诸如接触端的接触型接口204接收接触型命令消息。接触型通信单元226还经接触型接口204响应于接触型命令消息而发送响应消息。
在上述配置中,由接触型通信单元226从外部设备接收的接触型命令消息由接触型消息处理器302理解和处理。非接触型命令消息可以包含在上述的接触型命令消息中。外部设备将非接触型命令消息嵌入到接触型命令消息中,以及在接触通信中将命令消息发送到IC芯片110作为接触型命令消息。在这种配置中,仅具有接触通信能力的外部设备仍然可以给IC芯片110发送那些能够仅由具有非接触通信能力的外部设备所发送的命令。
以下将参照图6的(b)和(c)部分描述包含非接触型命令消息的接触型命令消息的例子。如示出的,非接触型命令消息20包含在图6的(a)部分示出的接触型命令消息中。如在图6的(b)部分中示出的,在接触型命令消息中的报头部分10a和数据部分10b之后跟随有非接触型命令消息20。图6(b)部分的接触型命令消息10包括由接触型消息处理器302执行的命令、在命令执行中由接触型消息处理器302所使用的数据以及非接触型命令消息20。即使包含有由接触型消息处理器302执行的命令和非接触型命令消息,也可以有时候包含数据部分10b。
如图(6)的(c)部分所示,报头部分10a之后跟随的是非接触型命令消息20。图(6)的(c)部分中示出的接触型命令消息不包含由接触型消息处理器302所执行的命令和在命令执行中由接触型消息处理器302使用的数据。包含在接触型命令消息中的非接触型消息可以具有与图8的(a)部分所示出的非接触型命令消息相同的结构,可以具有一部分非接触型命令消息,或者可以具有其压缩形式的非接触型命令消息。
为了便于解释,将包含图6的(b)和(c)部分的非接触型命令消息的接触型命令消息称为虚拟接触型命令消息。
由于虚拟接触型命令消息通常遵守具有在固定位置上设置有标识接触型命令消息的报头部分10a的接触型命令消息的格式,所以虚拟接触型命令消息可以由接触型通信单元226进行通信。
非接触型通信单元218在非接触通信中从外部设备获得非接触型命令消息。更具体地,非接触型通信单元218经例如天线线圈的非接触型接口202从外部设备接收非接触型命令消息。非接触型通信单元218将响应于非接触型命令消息的响应消息经非接触型接口202发送给外部设备。
从外部设备由非接触型通信单元218接收的非接触型命令消息具有先前已经讨论的由非接触型消息处理器304理解和处理的结构。具有上述结构的非接触型命令消息可以包含接触型命令消息。更具体地,外部设备可以将接触型命令消息嵌入到非接触型命令消息中,以及在非接触通信中将命令消息作为非接触型命令消息发送到IC芯片110。以这种方式,仅具有非接触通信能力的外部设备仍然可以将由具有接触通信能力的外部设备所发送的命令发送给IC芯片110。
以下将参照图8描述包含接触型命令消息的非接触型命令消息的例子。如图8的(b)和(c)部分所示,接触型命令消息10包含在图8的(a)部分所示的非接触型命令消息中。如图8的(c)部分所示,在非接触型命令消息中的报头部分20a和数据部分20b之后跟随有接触型命令消息10之后。图8的(c)部分中示出的非接触型命令消息包含由非接触型消息处理器304执行的命令、由非接触型消息处理器304在命令执行中所使用的数据、以及接触型命令消息10。即使包含由非接触型消息处理器304所执行的命令和接触型命令消息10,有时也可以不包含数据部分20b。
如图8的(c)部分所示,在非接触型命令消息中的报头部分20a之后跟随有接触型命令消息10。在图8的(c)部分中示出的非接触型命令消息包含接触型命令消息10,而不包含由非接触型消息处理器304处理的命令和在该命令执行中所使用的数据。在非接触型命令消息中包含的接触型命令消息可以具有和参照图6的(a)部分所讨论的接触型命令消息相同的结构,或者可以仅具有接触型命令消息的一部分。
为了便于解释,包含在图8的(b)和(c)部分中示出的接触型命令消息中的非接触型命令消息称为虚拟非接触型命令消息。
由于虚拟非接触型命令消息通常遵守具有在固定位置设置有标识非接触型命令消息的报头部分20a的非接触型命令消息的格式,虚拟非接触型命令消息可以由非接触型通信单元218进行通信。
消息中继单元312从接触型通信单元226获得接触型命令消息,以及将所获得的接触型命令消息提供给接触型消息处理器302。消息中继单元312从非接触型通信单元218获得非接触型命令消息,以及将所获得的非接触型命令消息提供给非接触型消息处理器304。更具体地,消息中继单元3 12从接触型通信单元226接收包括虚拟接触型命令消息的接触型命令消息,以及仅将由接触型消息处理器302可理解的接触型命令消息提供给接触型消息处理器302。消息中继单元312接收包括虚拟非接触型命令消息的非接触型命令消息,以及仅将由非接触型消息处理器304可理解的非接触型命令消息提供给非接触型消息处理器304。
并且,消息中继单元312将包含在虚拟接触型命令消息中的非接触型命令消息提供给非接触型消息处理器304,以使得非接触型消息处理器304去处理非接触型命令消息。消息中继单元312将包含在虚拟非接触型命令消息中的接触型命令消息提供给接触型消息处理器302,以使得接触型消息处理器302去处理接触型命令消息。包括消息判定器308和消息提取器310的消息中继单元312处理虚拟接触型命令消息和虚拟非接触型命令消息。
消息判定器308判定将要提供给非接触型消息处理器304的非接触型命令消息是否包含在从接触型通信单元226所获得的接触型命令消息中。换句话说,消息判定器308判定接触型命令消息是否是虚拟接触型命令消息。为此,消息判定器308参照接触型命令消息的预定部分,例如在接触型命令消息中的报头部分10a中表示命令类型的CLA 602和表示命令内容的INS 604。
消息判定器308判定将要提供给接触型消息处理器302的接触型命令消息是否包含在由消息中继单元312从非接触型通信单元218所获得的非接触型命令消息中。换句话说,消息判定器308判定非接触型命令消息是否是虚拟非接触型命令消息。为此,消息判定器308参照非接触型命令消息的预定部分,例如在非接触型命令消息中的报头部分20a中表示命令内容的CD 806。
判定准则可以预先存储在ROM或EEPROM中。判定信息存储器306存储这些判定准则,以下将参照图4A和4B进行描述。
判定信息存储器306包括定义接触型命令消息的接触型命令消息定义表402,和定义非接触型命令消息的非接触型命令消息定义表412。首先描述接触型命令消息定义表402。接触型命令消息定义表402包括CLA栏406、INS栏408和命令栏410。命令栏410存储命令内容,其由存储在CLA栏406和INS栏408中的数据组合来定义。
例如,如图4A和4B所示,接触型命令消息定义表402定义如下:如果CLA栏406具有“XX”,则接触型命令消息就包含非接触型命令消息,如果CLA栏406具有“XX”和INS栏408具有“FF”,就不包含由接触型消息处理器302所处理的命令。接触型命令消息定义表402进一步定义如下:如果CLA栏406具有“XX”以及INS栏408具有除了“FF”的其它设置,则包含非接触型命令消息和由接触型消息处理器302处理的命令。这样的定义用作判定接触型命令消息是否是虚拟接触型命令消息中的判定准则。
以下将描述非接触型命令消息定义表412。非接触型命令消息定义表412包含CD栏414和命令栏416。命令栏416存储由存储在CD栏414中的数据所定义的命令的内容。作为接触型命令消息定义表402,非接触型命令消息定义表412可以通过CD栏414中的数据来使用命令栏416的定义,从而作为判定非接触型命令消息是否是虚拟非接触型命令消息的判定准则。
如果消息判定器308判定接触型命令消息是虚拟接触型命令消息,或者如果消息判定器308判定非接触型命令消息是虚拟非接触型命令消息,则消息判定器308就将命令消息馈送到消息提取器310。可选择地,例如消息的消息ID的标识符存储在特定文件中,或设置消息的标志,以使得消息提取器310可以标识命令消息。
消息提取器310从接触型通信单元226提供给消息中继单元312的接触型命令消息中提取非接触型命令消息。更具体地,消息提取器310获得包含在虚拟非接触型命令消息中的非接触型命令消息,以及将非接触型命令消息提供给消息中继单元312。允许非接触性命令消息为其不完整的形式。例如,当发送包含有非接触型命令消息的接触型命令消息时,不需要同步信息的Sync 802,因此也不一同发送。可以就这样提供不完整的接触型命令消息,或者可以增加缺失部分以在提供之前产生完整的接触型命令消息。在这种情况中,缺失部分的数据可以存储在ROM230中。
消息提取器310提取包含在由非接触型通信单元218提供给消息中继单元312的非接触型命令消息中的接触型命令消息。更具体地,消息提取器310获得包含在虚拟非接触型命令消息中的接触型命令消息,以及将接触型命令消息提供给消息中继单元312。如果接触型命令消息不是其完整形式,可以在提供之前增加其缺失部分。
这样构建的消息中继单元312从接触型通信单元226获得接触型命令消息,以及使得消息判定器308去判定接触型命令消息是否是虚拟接触型命令消息。如果其判定接触型命令消息不是虚拟接触型命令消息,消息中继单元312就这样将接触型命令消息提供给接触型消息处理器302。如果其判定接触型命令消息是虚拟接触型命令消息,消息中继单元312就使得消息提取器310去提取其中所包含的非接触型命令消息,以及将非接触型命令消息提供给非接触型消息处理器304。如果虚拟接触型命令消息包含由接触型消息处理器302所处理的命令,消息提取器310就将消息提取器310已经从中提取了非接触型命令消息的接触型命令消息提供给接触型消息处理器302。
消息中继单元312将包含虚拟接触型命令消息的接触型命令消息在对于接触型消息处理器302的消息和对于非接触型消息处理器304的消息之间进行分类。以下将参照图5描述消息中继单元312的这种过程。
参考标记502、504、和506示意性地示出了从执行接触通信的外部设备500发送给IC芯片110的接触型命令消息。第一消息502包括接触型命令消息中的报头部分10a和数据部分10b。第二消息504包括报头部分10a、数据部分10b和非接触型命令消息20。第二消息504是虚拟接触型命令消息。包含报头部分10a和非接触型命令消息20的第三消息506是虚拟接触型命令消息。
消息中继单元312获得第一消息502、第二消息504和第三消息506中的一个,以及响应于所获得的消息进行处理。第一消息502照这样提供给接触型消息处理器302。作为非接触型命令消息的第二消息504包含由接触型消息处理器302处理的命令和非接触型命令消息,并被分成作为由接触型消息处理器302所处理的命令部分的第二消息504A、和作为非接触型命令消息的第二消息504B。第二消息504A和第二消息504B分别提供到接触型消息处理器302和非接触型消息处理器304。第三消息506是仅包含非接触型命令消息的接触型命令消息。非接触型命令消息20作为第三消息506A提供给非接触型消息处理器304。
消息中继单元312从非接触型通信单元218获得非接触型命令消息,以及使得消息判定器308去判定非接触型命令消息是否是虚拟非接触型命令消息。如果其判定非接触型命令消息不是虚拟非接触型命令消息,消息中继单元312将非接触型命令消息提供给非接触型消息处理器304。如果其判定非接触型命令消息是虚拟非接触型命令消息,消息中继单元312使得消息提取器310去提取包含在虚拟非接触型命令消息中的接触型命令消息,以及将接触型命令消息提供给接触型消息处理器302。如果虚拟非接触型命令消息包含由非接触型消息处理器304所处理的命令,消息中继单元312就将消息提取器310已经从中提取了接触型命令消息的非接触型命令消息提供给非接触型消息处理器304。
消息中继单元312将包含有虚拟非接触型命令消息的非接触型命令消息在对于非接触型消息处理器304的消息和对于接触型消息处理器302的消息之间进行划分。以下将参照图7描述消息中继单元312的这一处理。
参考标记702、704和706示意性地示出了从执行非接触通信的外部设备700发送给IC芯片110的非接触型命令消息。第一消息702包括非接触型命令消息中的报头部分20a和数据部分20b。包括报头部分20a、数据部分20b和接触型命令消息10的第二消息704是虚拟非接触型命令消息。包含报头部分20a和接触型命令消息10的第三消息706是虚拟非接触型命令消息。
消息中继单元312从非接触型通信单元218获得第一消息702、第二消息704和第三消息706中的一个,以及响应于所获得消息进行处理。消息中继单元312按这样将第一消息702提供给非接触型消息处理器304。作为虚拟非接触型命令消息的第二消息704包含由非接触型消息处理器304处理的命令和接触型命令消息,并在作为由非接触型消息处理器304所处理的命令的第二消息704A和作为接触型命令消息的第二消息704B之间进行划分。第二消息704A和第二消息704B分别提供到非接触型消息处理器304和接触型消息处理器302。对于作为仅包含接触型命令消息的虚拟非接触型命令消息的第三消息706,接触型命令消息10将作为第三消息706A提供给接触型消息处理器302。
消息中继单元312将命令消息提供给接触型消息处理器302和非接触型消息处理器304,响应于命令消息从接触型消息处理器302和非接触型消息处理器304的每一个中接收响应消息,以及将响应消息分别提供给接触型通信单元226和非接触型通信单元218。以下将参照图9描述这个过程。
接触型消息处理器302将响应消息作为处理接触型命令消息的结果提供给消息中继单元312。非接触型消息处理器304将响应消息作为处理非接触型命令消息的结果提供给消息中继单元312。参考标记902、904、906和908示意性地示出了响应消息。消息中继单元312将所获得的消息转换为目的地可兼容格式的消息。
更具体地,第一响应902,即将要在接触通信中发送给接触型外部设备500的响应消息,照这样提供给接触型通信单元226。第二响应904是在非接触型通信中要发送给外部设备700的响应消息,并需要转换为非接触通信的格式。在第二响应904提供给非接触型通信单元218之前,将指示非接触型响应消息的报头部分20c添加到第二响应904。当响应消息从接触型消息处理器302发送到非接触型外部设备700时,对应于响应消息的命令消息可以是包含在从非接触型外部设备700所发送的虚拟非接触型命令消息中的接触型命令消息。
第三响应906是要发送给接触型外部设备500的响应消息。消息中继单元312将指示接触型响应消息的报头部分10c添加到第三响应906,由此将第三响应906转换为在接触通信中响应消息可兼容的格式。所得到的响应消息提供给接触型通信单元226。第四响应908是要在非接触通信中发送给非接触型外部设备700的响应消息,以及由此按这样提供给非接触型通信单元218。
消息中继单元312的功能可以转换为接触型通信单元226或非接触型通信单元218的任务。
已经讨论了IC芯片110的功能和结构。具有这样构造的IC芯片110,即使在接触型命令消息和非接触型命令消息结构上有区别时,IC芯片110的每个元件也理解和处理每个命令消息。消息中继单元312如上所述处理虚拟接触型命令消息和虚拟非接触型命令消息。即使当外部设备在接触通信中将消息发送给IC芯片110时,IC芯片110执行应用于在非接触通信中所发送的消息的相同处理。即使当外部设备在非接触通信中将消息发送给IC芯片110时,IC芯片110执行应用于在接触通信中所发送的消息的相同处理。
以下将参照图10描述在接触型外部设备500和IC芯片110之间通信的虚拟接触型命令消息的通信处理流程。
在步骤S102,接触型外部设备500将非接触型命令消息嵌入到接触型命令消息中。也就是说,产生虚拟接触型命令消息。在步骤S104,虚拟接触型命令消息在接触通信中发送给IC芯片110中的接触型通信单元226。接触型通信单元226将所接收的虚拟接触型命令消息提供给消息中继单元312(步骤S106)。
消息中继单元312识别所获得的消息是包含非接触型命令消息的虚拟接触型命令消息(步骤S108)。非接触型命令消息从虚拟接触型命令消息中提取出来(步骤S110),以及所提取的非接触型命令消息提供给非接触型消息处理器304(步骤S112)。
非接触型消息处理器304理解所获得的非接触型命令消息,并执行相应于消息的处理(步骤S114),以及将响应消息作为处理的结果提供给消息中继单元312(步骤S116)。由于从非接触型消息处理器304获得的响应消息的目的地是接触型外部设备500,消息中继单元312将消息的格式修改为接触型响应消息的格式(步骤S118),以及将所得到的响应消息提供给接触型通信单元226(步骤S120)。响应消息的目的地是通过参照作为命令消息目的地的外部设备的标识符来确定的。当消息中继单元312接收命令消息时,外部设备的标识符可以与命令消息的消息标识符相关地来存储。
接触型通信单元226在接触通信中将响应消息发送到接触型外部设备500(步骤S122)。接触型外部设备500接收响应消息(步骤S124),然后处理结束。
已经讨论了在接触型外部设备500和IC芯片110之间通信的虚拟接触型命令消息的通信处理流程。以下将参照图11描述在非接触型外部设备700和IC芯片110之间通信的虚拟非接触型命令消息的通信处理流程。
在步骤S202,非接触型外部设备700将接触型命令消息嵌入到非接触型命令消息(步骤S202)。换句话说,产生虚拟非接触型命令消息。在步骤S204,虚拟非接触型命令消息在非接触通信中发送给非接触型通信单元218。非接触型通信单元218将所接收的虚拟非接触型命令消息提供给消息中继单元312(步骤S206)。
消息中继单元312识别非接触型命令消息包含有接触型命令消息(步骤S208)。接触型命令消息是从虚拟非接触型命令消息中提取出来的(步骤S210),以及所提取的接触型命令消息提供给接触型消息处理器302(步骤S212)。
接触型消息处理器302理解所获得的接触型命令消息,并执行相应于该消息的处理(步骤S214),以及将指示处理结果的响应消息提供给消息中继单元312(步骤S216)。由于从接触型消息处理器302获得的响应消息的目的地是非接触型外部设备700,消息中继单元312将响应消息改变为非接触型响应消息的格式(步骤S218),以及将所得到的响应消息提供给非接触型通信单元218(步骤S220)。
非接触型通信单元218在非接触通信中将响应消息发送到非接触型外部设备700(步骤S222)。非接触型外部设备700接收响应消息(步骤S224)。然后处理结束。
已经讨论了在非接触型外部设备700和IC芯片110之间通信的虚拟非接触型命令消息的通信处理流程。以下将参照图12描述当消息中继单元312从接触型通信单元226接收接触型命令消息时的处理流程。
在步骤S302,消息中继单元312从接触型通信单元226接收接触型命令消息。消息中继单元312的消息判定器308参照在接触型命令消息的预定部分中存在的命令标识数据(更具体地,CLA 602和INS 604)(步骤S304),以及在判定信息存储器306中查找相应的命令标识数据(步骤S306)。
基于在判定信息存储器306中找到的命令标识数据,消息判定器308判定非接触型命令消息是否包含在从接触型通信单元226中获得的接触型命令消息中(步骤S308)。换句话说,消息判定器308判定接触型命令消息是否是虚拟接触型命令消息。如果其判定接触型命令消息不是虚拟接触型命令消息,则消息中继单元3 12就将接触型命令消息提供给接触型消息处理器302(步骤S314)。然后处理结束。
如果其判定接触型命令消息是虚拟接触型命令消息,则消息提取器310提取包含在接触型命令消息中的非接触型命令消息(步骤S310)。消息中继单元312将非接触型命令消息提供给非接触型消息处理器304(步骤S312)。处理然后结束。如果虚拟接触型命令消息包含要由接触型消息处理器302处理的命令,则消息中继单元312将已经从中提取出非接触型命令消息的接触型命令消息提供给接触型消息处理器302。
已经讨论了从接触型通信单元226获得接触型命令消息的消息中继单元312的处理。以下将参照图13描述从非接触型通信单元218获得非接触型命令消息的消息中继单元312的处理。
在步骤S402,消息中继单元312从非接触型通信单元218获得非接触型命令消息。消息中继单元312的消息判定器308参照在非接触型命令消息的预定部分中存在的命令标识数据(也就是CD 806)(步骤S404),以及在判定信息存储器306中查找命令标识数据(步骤S406)。
基于在判定信息存储器306中找到的命令标识数据,消息判定器308判定接触型命令消息是否包含于从非接触型通信单元218获得的非接触型命令消息中(步骤S408)。换句话说,非接触型命令消息是虚拟非接触型命令消息。如果其判定接触型命令消息不是虚拟非接触型命令消息,则消息中继单元312就将非接触型命令消息提供给非接触型消息处理器304(步骤S414),然后处理结束。
如果其在步骤S408中判定接触型命令消息是虚拟非接触型命令消息,则消息提取器310提取包含在非接触型命令消息中的接触型命令消息(步骤S410)。消息中继单元312将接触型命令消息提供给接触型消息处理器302(步骤S412)。然后处理结束。如果要由非接触型消息处理器304处理的命令包含于虚拟非接触型命令消息中,则消息中继单元312将已经从中提取了接触型命令消息的非接触型命令消息提供给非接触型消息处理器304。
已经参照附图讨论了本发明的实施例。本发明不限制于先前的实施例。在不脱离本发明范围的对前述实施例的可能的多种改变和修改对本领域普通技术人员是显而易见的。这些改变和修改落在本发明范围之内。
在上述讨论中,接触型消息处理器和非接触型消息处理器是操作系统。接触型消息处理器和非接触型消息处理器可以是应用软件程序,只要该程序可理解和处理结构不同的消息。