专利名称::数据载体和读取设备之间的合适的通信协议的协商的制作方法
技术领域:
:本发明涉及一种在数据载体和读取设备之间协商合适的通信协议的方法,其中所述读取设备从所述数据载体获取与数据载体所支持的通信协议相关联的二元值(binaryvalue),并选择和设定所述通信协议之一。此外,本发明涉及一种在数据载体和读取设备之间协商合适的通信协议的方法,其中所述数据载体向所述读取设备施加与数据载体所支持的通信协议相关联的二元值,从而请求所述读取设备选择和设定所述通信协议之一。本发明还涉及一种用于读取设备的电路,其被设计为与数据载体协商合适的通信协议,包括从所述数据载体获取与数据载体所支持的通信协议相关联的二元值的装置,以及选择和设定所述通信协议之一的装置,并且本发明还涉及一种包括所述电路的读取设备。最后,本发明涉及一种用于数据载体的电路,其被设计为与读取设备协商合适的通信协议,包括向所述读取设备施加与数据载体所支持的通信协议相关联的二元值的装置,从而请求所述读取设备选择和设定所述通信协议之一,并且本发明还涉及一种包括所述电路的数据载体。
背景技术:
:当今设备日益扩大的功能范围导致了众所周知的兼容问题。一方面,是扩大功能范围的需求,而另一方面,是也支持老式设备的需求。这也同样适用于本发明所关注的数据载体和读取设备之间的通信。数据载体广泛存在,例如以智能卡的形式。几乎每个人都持有一些智能卡,例如赊购卡、信用卡、会员卡等等,因此有大量的智能卡在流通。越来越多的数据存储在这样的数据载体上,这便在使用为少量数据而设计的通信协议时造成问题。通常表现为在过去被视为足够的数据速率却不能适应当前的需要。因此,一方面需要有用于数据载体的先进、快速的通信协议,而另一方面最初的通信协议也能够被支持。从而,需要一种协商程序以确定使用哪个通信协议。然而,如果可以,进行这样的改变不能影响当前的读取设备/智能卡构架,这并不简单,因为数据载体通常具有为最初的要求而非当前的和将来的要求而定制的接口。所有,常常只有有限数量的触点来用于协商通信协议。现有数据载体的一个例子是符合ISO7816的智能卡,现在这种智能卡具有有八个触点的接口和用于低数据速率的通信协议。现有(低数据速率)协议的一个例子是T=0/T=1同步协议,在ETSITS102221"SmartCards;UICC-Terminalinterface;Physicalandlogicalcharacteristics"所允许的频率中。然而,这些是从大量例子中找出的特殊例子。本领域技术人员很容易理解不能提供完整的例子列表,并且上述问题也适用于其它各种数据载体。因此,本发明的目的是提供一种在数据载体和读取设备之间协商合适的通信协议而同时较少或不影响现有构架的方案。
发明内容本发明的目的是通过如第一段所述的方法而实现的,其中所述读取设备还向数据载体施加具有与选择/设定的通信协议相关联的频率的时钟信号,因此所述读取设备请求所述数据载体也设定所述通信协议。本发明的目的还通过如第二段所述的方法实现,其中所述数据载体还从读取设备接收具有与选择/设定的通信协议相关联的频率的时钟信号,并且其中所述数据载体也设定与所述频率相关联的通信协议。本发明的目的还通过如第三段中所述的用于读取设备的电路来实现,另外包括用于向数据载体施加具有与选择/设定的通信协议相关联的频率的时钟信号的装置,因此所述电路请求所述数据载体也设定所述通信协议。本发明的目的还通过一种读取设备来实现,所述读取设备包括所述创造性的电路和与之相连接的外部接口。此外,本发明的目的通过如第四段所述的用于数据载体的电路来实现,另外包括用于从读取设备接收具有与选择/设定的通信协议相关联的频率的时钟信号的装置,以及用于设定与所述频率相关联的通信协议的装置。最后,本发明的目的还通过一种数据载体实现,所述数据载体包括所述创造性的电路和与之相连接的外部接口。本发明的优点在于可以协商合适的通信协议,而很少改变读取设备和数据载体。在第一步骤中,所述数据载体通过二元值(在简单的情况下,这意味着在数据载体的输出触点的逻辑"0"和"1")向读取设备提供信息,数据载体支持哪个通信协议。在下一步骤中,读取设备根据其自身的能力选择和设定可能的通信协议之一。通过向数据载体的输入触点施加与选择/设定的通信协议相关联的一定频率的时钟信号,来将该选择提供给数据载体。最后,所述数据载体设定从读取设备接收的所选择的通信协议,从而结束协商程序。随后,根据所协商的通信协议可以在读取设备和数据载体之间进行通信。需要指出的是,智能卡提供某个二元值并不意味着智能卡因此设定了某个通信协议。智能卡只是促使读取设备选择所提出的协议之一,而智能卡自己在从读取设备接收时钟信号时设定通信协议。还要指出的是,根据本发明,对于缺省的通信协议,不需要为进一步的数据传递来协商合适的通信协议,而一些现有技术的解决方案使用缺省的通信协议来实现之。在此情况下,缺省的通信协议必须为协商提供命令(这意味着现有的通信协议必须被扩展)。在使用本发明时情况并未如此。在不使用缺省的通信协议的情况下进行协商,这就是为什么不需要改变或扩展现有的通信协议的原因。此外,在使用公共试验和错误法则(意味着尝试不同的通信协议直到找到一个适当工作的通信协议为止)时不存在提供不明或偶然危险信号的风险。这样一来,可能发生的是,在不同的通信协议中,逻辑"0"(或逻辑"1")由不同的电压电平来代表。例如,我们假设在通信协议A中"0"的范围是0V到1V,"1"的范围是3V到5V,而在通信协议B中"0"的范围是0V到5V,"1"的范围是7V到15V。因此,当尝试通信协议B时,在缺省使用通信协议A的通信合作者那里以4V传输的"0"被译为"1"。甚至更糟的是,通信协议B中的"l"会由于高电压而在使用通信协议A的通信合作者中造成损坏。因此,本发明有利地提出,协商合适的通信协议非常重要。在优选实施例中,用于读取设备的电路(或读取设备自身)包括符合ISO7816的接口,其中编程电能输出提供用于从数据载体获取二元值的装置,并且其中时钟信号输出提供用于向数据载体施加时钟信号的装置。此外,用于数据载体的电路(或数据载体自身)包括符合ISO7816的接口,其中编程电能输入提供用于向读取设备提供二元值的装置,并且其中时钟信号输入提供用于从读取设备接收时钟信号的装置。如前所述,本发明特别适用于ISO7816系统。这里,存在着巨大的读取设备和数据载体(智能卡)的构架,其在将来也会被支持。此外,只有有限数量的触点(这里是8个触点)将用于或双向用于可选的通信协议。在此实施例中,编程电能连接和时钟信号用于所述协商。不需要额外的触点,也不需要变化ISO7816通信协议。在另一优选实施例中,用于读取设备的电路包括在所述编程电能输出和地输出之间的下拉电阻。现有ISO7816智能卡的编程电能输入通常不进行内部连接,并且因此不被拉至某电压。通过使用所述下拉电阻,因此读取设备从现有ISO7816智能卡获取的二元值为"0"。定义的"0"意味着智能卡只能够支持ISO7816通信协议。因此,读取设备在接收到"0"时"知道"要使用ISO7816通信协议。在另一优选实施例中,用于数据载体的电路包括在编程电能输入和电能输入之间的上拉电阻。这里,在智能卡的编程电能输入处的电压被拉至"1",这种定义意味着智能卡能够支持ISO7816通信协议和可选通信协议,例如USB或MMC。应当以如下方式设计所述上拉电阻,即由读取设备的上拉电阻和下拉电阻形成的分压器提供明确的值(这里是清楚的逻辑"l")。最后,如果数据载体包括改变二元值的装置则是有利的。回到上述示例,能够支持ISO7816通信协议和可选通信协议的创造性的智能卡具有促使读取设备使用标准ISO7816通信协议的可能性。没有这样的装置,则智能卡不可能坚持使用ISO7816标准协议。结合所述的实施例,本发明的这些和其它方面显而易见并得以阐明。下面参考图中所示的实施例,作为非限制性示例,更加详细地描述本发明。图1示出了符合ISO7816的智能卡;图2示出了与智能卡通信的读取设备;图3示出了与智能卡的第二实施例通信的读取设备;图4示出了智能卡仅允许使用ISO7816协议的时序图5示出了智能卡允许使用ISO7816协议和其可选通信协议的时序图6示出了读取设备选择使用可选通信协议的时序图;图7示出了与智能卡的第三实施例通信的读取设备;图8示出了与智能卡的第四实施例通信的读取设备;图9示出了与智能卡的第五实施例通信的读取设备。具体实施例方式图1示出了智能卡形式的数据载体20,包括电路21和通过线路23(只示出4条线路)与之连接的符合ISO7816的卡接口。电路接口和卡接口每个分别包括8个触点(:1"丄8"和(1丄8,其功能描述如下:<table>tableseeoriginaldocumentpage8</column></row><table><table>tableseeoriginaldocumentpage9</column></row><table>图2示出了与智能卡20通信的读取设备10。为了简化,只示出了智能卡20的触点C5和C6,其与读取设备10的相关触点C5'和C6'连接。在图2中,读取设备10的相关触点C5'和C6'被示为与智能卡20的触点C5和C6分开。然而,实际上当智能卡20插入读取设备10时,在读取触点C5,和C6'以及卡触点C5和C6之间有物理接触。此外,图2中示出了读取设备10的电路11,下面也将其称为"读取电路"。所述读取电路11包括具有八个触点C1"'..C8'"(只示出了C5"'和C6'")的接口,这些触点与读取设备10的接口的触点C1',.C8'(只示出了C5'和C6')连接。类似地,图2中示出了数据载体20的电路21,下面也将其称为"载体电路"或"卡电路"。所述载体电路21包括具有八个触点C1",.C8"(只示出了C5"和C6")的接口,这些触点与数据载体20的接口的触点C1..C8(只示出了C5和C6)连接。请注意,在每个触点C5、C5'、C5"和C5'"处的电压或电流是相等的,因为当插入卡时它们彼此直接连接。这也适用于其它触点Cx、Cx'、Cx"和Cx"',因此下面涉及一个触点也意味着涉及相关触点。根据本发明的优选实施例,下拉电阻RPD设置在读取电路11的触点C5",和C6"'之间。由于编程电能连接C6通常在智能卡20内未被连线,所以当智能卡20插入读取设备10时触点C6'"处的电压是逻辑低电平("0")。该逻辑值在读取设备11中被评估。在该特定示例中,"0"意味着智能卡20只能够运行标准ISO7816通信协议。因此,不允许读取设备10使用另一通信协议,例如高速通信协议。在此情况下,读取设备10没有选择权,这意味着由智能卡20提供的可能通信协议的列表只有一条。图3示出了与智能卡20通信的读取设备10,与图2中的类似(未示出触点C5"、C6"、C5"'和C6'")。与图2相反,编程电能连接C6在智能卡中通过编程电能连接C6和电能输入Cl(或通常的电源电压VCC)之间的上拉电阻Rpu被拉至高逻辑值("l")。因此,当智能卡20插入读取设备10时读取设备10识别"1"。在此特定示例中,"1"意味着智能卡20不仅仅能够运行标准ISO7816通信协议,而且还被设计为根据其它协议(例如高速数据通信协议)通信。因此,读取设备10可选择并设定ISO7816通信协议或高速通信协议。下面,时序图示出了切换特定通信协议的不同可能性。图4示出了智能卡20只允许使用ISO7816协议的情况。示出了5个信号触点C5处的地GND,触点Cl处的电源电压VCC,触点C3处的时钟信号CLK,触点C2处的复位信号RST,和触点C6处的二元值BV(注意,只涉及智能卡触点)。首先,在第一时间点tl,智能卡20插入读取设备10。随后,智能卡20由地GND和读取设备10的电源电压VCC供电。在此示例中,二元值BV是"0",意味着智能卡20只提供根据ISO7816的通信协议。这就是为什么读取设备10选择/设定根据ISO7816的通信协议,并且在第二时间点t2提供相关频率f的时钟信号CLK。在该特定示例中,频率f低于6MHz意味着读取设备10己经选择了ISO7816通信协议,频率f高于6MHz意味着读取设备10已经选择了可选通信协议。在图4示出的配置中,读取设备10必须"选择"ISO7816通信协议,因为智能卡20不能够支持另一通信协议。因此,频率f低于6MHz的时钟信号CLK经由触点C3被送入智能卡20。检测到频率f低于6MHz的时钟信号CLK的智能卡20也设定ISO7816通信协议。最后,读取设备10在第三对间点t3处将复位信号RST设定为"0"。在第四时间点t4之后,复位序列结束,从这个时间点开始能够进行根据所选协议的数据通信。请注意,6MHz是该特定示例中对于阈值频率的随机选择。当然本领域技术人员很清楚其它频率同样适用。在这里还应当注意的是,由智能卡20提供某二元值BV(这里是逻辑"O")并不意味着智能卡20因此设定了某通信协议。在此示例中,而是智能卡20促使读取设备10选择ISO7816通信协议,而智能卡20自己在接收到某频率f的时钟信号CLK时设定通信协议。最后应当注意的是,没有缺省的通信协议用于为数据传递协商合适的通信协议。一些现有技术的解决方案使用缺省通信协议(这里可以是扩展的ISO7816通信协议)来为进一步的数据传递协商合适的通信协议。在此情况下,缺省的通信协议必须提供用于协商的命令。这里情况并非如此。在不使用缺省的通信协议的情况下进行协商,这就是为什么不需要改变或扩展现有的ISO7816协议的原因。图5示出了近似于图4所示序列的另一协商序列。然而在图5的示例中,在触点C6处的二元值BV是"1",意味着智能卡20提供根据ISO7816的通信协议,以及另一通信协议,如高速通信协议(如USB或MMC)。这就是为什么读取设备10在根据ISO7816的通信协议和高速通信协议之间有真正的选择的原因。假设读取设备10"选择"ISO7816协议,因为读取设备10不能够使用另一通信协议(因此在此特定情况下再次不存在真正的选择)。因此,读取设备10经由触点C3向智能卡20提供频率f低于6MHz的时钟信号CLK。检测到频率f低于6MHz的时钟信号CLK的智能卡20也设定ISO7816通信协议。最后,读取设备10将复位信号RST设定为"0"以便开始复位序列。当该序列结束时,能够进行根据所选协议的数据通信。最后图6示出了选择可选通信协议的情况。也类似图5,触点C6处的二元值BV是"1"。然而与图5不同,假设读取设备10能够根据高速数据协议进行通信。因此,读取设备10经由触点C3向智能卡20提供频率f高于6MHz的时钟信号CLK。现在检测到频率f高于6MHz的时钟信号CLK的智能卡20也设定高速通信协议。最后,读取设备10将复位信号RST设定为"0"以便开始复位序列。当该序列结束时,能够进行根据所选高速协议的数据通信。图6还示出了,使用频率f>6来切换至可选通信协议不必意味着该特定频率f也用于数据通信。而可以想到的是可选择更低频率f(如图6所示)或更高频率f。原理上,这种可能性也适用于由频率R6MHz切换的协议。如果可选或高速通信协议是USB通信协议(通用串行总线),则由于所谓的差分数据传输,数据传输需要两条线。在一条线上,数据以正常的方式传输,在另一条线上,传输反向数据,以便增加电磁兼容性(EMC)。因此触点C6用于正数据信号,触点C7用于负信号,反之亦然。相应地,触点C6(其最初作为编程电能连接)在时间tl和t4之间用于协商通信协议,之后用于数据传输(图6中未示出)。USB2.0当前提供最大480Mbit/s的数据速率。下表示出了USB管脚对应于ISO7816接口的触点的可能分配<table>tableseeoriginaldocumentpage12</column></row><table>虽然仅仅示出了两个可选通信协议的具体示例,但是本领域技术人员清楚,本发明适用于大量现有协议,包括火线、紧凑型闪存、存储棒、智能媒体、安全数码等等。需要指出的是,触点C6和C7也可以用于同时双向2-线通信,这意味着一条线用于数据输入,一条线用于数据输出。优选地,也应当(经由触点C3)为可选通信协议提供时钟信号以便减少尤其是在较高数据速率时的问题。最后,应当支持复位线路,以便(经由触点C2)提供从智能卡20的问题进行恢复的可能性。另外的可能性是通过使用用于天线连接的触点C4和C8,以无连接接口来扩展ISO7816智能卡。因为本发明优选地不使用这些触点C4禾BC8(这些被用于将来使用),因此这种可能性仍然有待开发。如图所示,本发明提供了以下优点使用高速通信协议,如USB或MMC,用于符合ISO7816的更新的读取设备10和智能卡20。然而也可以使用只能够运行ISO7816的读取设备10和智能卡20,因为本发明的系统具有充分的向下兼容性。如果将标准智能卡20置于本发明的读取设备10中,则如图4所示,智能卡20促使读取设备使用ISO7816。如果将本发明的智能卡20置于现有读取设备10中,读取设备10促使智能卡20也使用IS07816(见图5)。只有将本发明的智能卡20置于本发明的读取设备10中,才可以选择可选通信协议,如图6所示。应当注意,使用可选通信协议并不是强制的,即使读取设备10和智能卡20都能够运行这样的可选协议。本发明的设备也可以使用ISO7816标准。需要指出的是,严格地讲,现有设备并不"设定"特定通信协议。它们只是照常运转。例如,现有的ISO7816智能卡并不"猜想"智能卡是否插入本发明的读取设备10。因此,智能卡并不设定通信协议,而只是使用它。这同样适用于现有的读取设备,其对于是否插入本发明的智能卡20不作猜想。读取设备也不设定通信协议,而是提供频率f低于6MHz的时钟信号CLK(如ISO7816所限定的)。在又一有利实施例中,智能卡20能够通过切换二元值BV来切换通信协议。图7示出了与图3类似的配置,另外,其中由逻辑(未示出)控制的开关S设在智能卡20中,以在"0"和"1"之间切换二元值BV,以便促使读取设备10选择ISO7816(当BV:"0")或将决定权留给读取器(当BV-"1")。在此实施例中,触点C6被拉至VCC或者未连接,这取决于开关S的状态。图8示出了另一类似配置,其中取决于开关S的状态,来自电压源VS的电压被提供给触点C6,或者通过智能卡20中的下拉电阻Rpix:来将触点C6上的电压拉至地GND。最后,图9示出的配置中二元值BV由特定的电流电平表示。在此特定实施例中,当开关S关闭时,电流源IS将电流送入触点C6。在读取设备10中特定电流电平的出现被译为逻辑"1"。当然本领域技术人员可以理解图中示出的技术方案只是本发明的示例。虽然仅通过电压或电流电平来示出某二元值BV的提供,但是可以想到,光强(当光学传输数据时)可以用于提供二元值BV。本领域技术人员还清楚,下拉电阻RPD、RPDC和上拉电阻Rpd以及电压源VS只是示例性实施例,通过电压电平来设定某二元值BV。除了电阻,晶体管也是适用的。特别是,当本发明的功能由集成电路(当讨论智能卡时通常如此)提供时,使用晶体管(例如FET)是有利的,因为它们比电阻更小并且容易制造。本领域技术人员还可以理解某电压或电流电平与二元值BV的相关性与图中所示不同,这意味着正或负逻辑同样适用。本发明的目的是用最少数量的触点Cx来提供协商算法。然而,可以使用一个以上触点Cx(即位)来定义二元值BV。最后还可以想到扩展二元值BV,这意味着可以将更多数量的值(不只是"0"和"1")与某电压或电流电平相关联。例如,可以有表示为"0"、"1"和"2"的三种不同的电压电平。以类似的方式,时钟信号CLK的频率f还可以使用一个以上阈值,以提供多于两种通信协议的选择。例如,可以有与频率f:0到4MHz相关联的第一通信协议,与频率f=5到7MHz相关联的第二通信协议,和与频率》8MHz相关联的第三通信协议。最后,应当注意,上述实施例示意而非限制本发明,本领域技术人员能够设计出许多其它实施例,而不脱离所附权利要求所限定的本发明的范围。在权利要求中,括号中的任何附图标记不构成对权利要求的限制。词语"包括"和"包含"等等不排除存在权利要求或说明书所列之外的元件或步骤来构成整体。元件的单数表示并不排除多个该元件,反之亦然。在设备权利要求中列举出一些装置,这些装置中的一些可由一项软件或硬件实现。彼此不同的从属权利要求中列出的某些措施并不表示这些方式的组合不能产生有益效果。权利要求1.一种在数据载体(20)和读取设备(10)之间协商合适的通信协议的方法,所述方法包括以下步骤-所述读取设备(10)从所述数据载体(20)获取与所述数据载体(20)所支持的通信协议相关联的二元值(BV),-所述读取设备(10)选择和设定所述通信协议之一,并且-所述读取设备(10)向所述数据载体(20)施加具有与设定的所述通信协议相关联的频率(f)的时钟信号(CLK),由此所述读取设备(10)请求所述数据载体(20)也设定所述通信协议。2.—种在数据载体(20)和读取设备(10)之间协商合适的通信协议的方法,所述方法包括以下步骤-所述数据载体(20)向所述读取设备(10)施加与所述数据载体(20)所支持的通信协议相关联的二元值(BV),从而请求所述读取设备(10)选择和设定所述通信协议之一,-所述数据载体(20)从读取设备(10)接收具有与设定的所述通信协议相关联的频率(f)的时钟信号(CLK),并且-所述数据载体(20)也设定与所述频率(f)相关联的通信协议。3.—种用于读取设备(10)的电路(11),被设计为与数据载体(20)协商合适的通信协议,所述电路(11)包括-用于从所述数据载体(20)获取与所述数据载体(20)所支持的通信协议相关联的二元值(BV)的装置(C6'"),-用于选择和设定所述通信协议之一的装置,以及-用于向所述数据载体(20)施加具有与设定的所述通信协议相关联的频率(f)的时钟信号(CLK)的装置(C3,"),由此所述电路(11)请求所述数裾载体(20)也设定所述通信协议。4.如权利要求3所述的电路(11),包括符合ISO7816的接口,其中编程电能输出(C6"')提供用于从所述数据载体(20)获取二元值(BV)的装置,并且其中时钟信号输出(C3"')提供用于向所述数据载体(20)施加时钟信号(CLK)的装置。5.如权利要求4所述的电路(11),包括在编程电能输出(C6"')和地输出(C5'")之间的下拉电阻(RpD)。6.—种读取设备(10),包括如权利要求3到5中任一所述的电路(11)和与之相连接的外部接口(C1',.C8')。7.—种用于数据载体(20)的电路(21),被设计为与读取设备(10)协商合适的通信协议,所述电路(21)包括-用于向所述读取设备(10)提供与所述电路(21)所支持的通信协议相关联的二元值(BV)的装置(C6"),从而请求所述读取设备(10)选择和设定所述通信协议之一,-用于从读取设备(10)接收具有与设定的所述通信协议相关联的频率(f)的时钟信号(CLK)的装置(C3"),以及-用于也设定与所述频率(f)相关联的所述通信协议的装置。8.如权利要求7所述的电路(21),包括符合ISO7816的接口,其中编程电能输入(C6")提供用于向所述读取设备(10)提供二元值(BV)的装置,并且其中时钟信号输入(C3")提供用于从所述读取设备(10)接收时钟信号(CLK)的装置。9.如权利要求8所述的电路(21),包括在所述编程电能输入(C6")和电能输入(Cl")之间的上拉电阻(Rpu)。10.如权利要求7所述的电路(21),包括改变二元值(BV)的装置。11.一种数据载体(20),包括如权利要求7到10中任一所述的电路(21)和与之相连接的外部接口(C1.,C8)。全文摘要公开了一种在数据载体(20)和读取设备(10)之间协商合适的通信协议的方法。在第一步骤中,当在第一时间点(t1)将数据载体(20)插入读取设备(10)时,所述数据载体(20)通过二元值(BV)向读取设备(10)提供数据载体(20)支持哪些通信协议的信息。在下一步骤中,读取设备(10)根据其自身能力选择/设定可能的通信协议之一。通过在第二时间点(t2)向数据载体(20)的输入触点(C3)施加与选择/设定的通信协议相关联的特定频率(f)的时钟信号(CLK),将该选择提供给数据载体(20)。最后,数据载体(20)设定从读取设备(10)接收的所选通信协议,从而结束协商序列。随后,从第四时间点(t4)可以开始读取设备(10)和数据载体(20)之间的通信。文档编号G06K19/07GK101390110SQ200780006895公开日2009年3月18日申请日期2007年2月6日优先权日2006年2月27日发明者于尔根·施罗德申请人:Nxp股份有限公司