管理便携式数据记录媒体与数据交换设备间通信的耦合器 以及为此使用的数据交换设备 本发明涉及一个耦合器,它用于管理便携式数据记录媒体与数据交换设备间的通信。在数据交换设备的一端,该通信使用至少一个数据传输信号和两个控制信号,信号是由数据交换设备在预定的第一和第二两个输入序列之一里传送的。在数据记录媒体一端,该通信使用至少一个数据记录媒体电源信号,一个数据记录媒体复位信号,和一个数据传输信号。
该耦合器可用于例如,限制只有经过授权的人才可访问一个计算机网络,他们持有用于此目的的便携式数据记录媒体,例如一个装有微处理器或微细线(micro-wired)逻辑电路的芯片卡(chip card),它规定了访问受到控制的区域,这样便能够保存如密码表这样的机密信息,(例如,参看美国专利4 211 919号中描述的便携式物体)。
用于与芯片卡交换的协议按国际标准ISO7816-3编纂,它规定了产生适用于芯片卡的信号地序列,即一个电源信号VCC,一个存储器电源信号VPP,一个复位信号RST,一个时钟信号CLK和一个数据交换信号I/O。该标准很明确地规定了这些信号出现和消失的次序。
这种类型的耦合器能够以一个确知的方式包含一个微处理器,微处理器控制着它与便携式数据记录媒体的接口,并受控于构成了中央处理器的数据交换设备。这个微处理器减慢了异步的数据交换设备与便携式数据记录媒体间的交换过程。
为了避免在耦合器中使用微处理器,有建议说由数据交换设备的一个串行端口提供一些信号,特别是一个基于RS232标准的端口,即一个“清除发送”信号CTS,一个请求发送信号RTS,一个“数据载波检测”信号DCD,一个“数据终端准备就绪”信号DTR,一个数据传输信号TX和一个数据接收信号RX,用来产生适用于便携式数据记录媒体的信号。
这种类型的耦合器在美国专利5 149 945中有描述。提供给芯片卡的信号的次序唯一地由数据交换设备规定,耦合器不能干涉这一次序,这样允许在芯片卡一端的特殊操作情况。
一种结果是上述标准不能永远满足,特别是当芯片卡在与数据交换设备的通信过程中移开了以后又重新被插入的时候,由于芯片卡被迅速重新加电,没有给数据交换设备以足够的时间来复原以按照标准化的序列而加入一次重新加电。
这样,看来为了提供更大范围的控制和测试芯片卡的模式,最好使耦合器能够干涉由数据交换设备传送的信号的次序。
本发明的目标是消除上述缺点,为此目的它涉及到本申请开头所描述的耦合器,特点在于:
—它包括双稳态控制装置,该装置由数据交换设备传送的至少两个控制信号来输入激活,并被设计用来在预定的第一和第二两个输出序列其中之一的里面,输出至少数据记录媒体的电源信号和复位信号,这是输入序列的一个功能;
—第一输入序列单独能够产生一个依次包含数据记录媒体的电源信号和复位信号的第一输出序列,它允许数据交换设备进入与便携式数据记录媒体的通信。
这样,双稳态控制装置使干涉由数据交换设备传送的信号的次序成为可能,为的是是否从这些信号产生以及作为它们的一个功能来产生直接到达芯片卡的信号,这将在所附图中更清晰地描述。双稳态控制装置使控制芯片卡成为可能,该控制同时作为数据交换设备瞬间动作的功能和芯片卡瞬间动作的功能。
本发明还涉及一个数据交换设备,它被设计用来管理与一个便携式数据记录媒体的通信。该设备包括为此目的的数据交换装置和耦合装置例如上面定义的耦合器。其中的耦合装置还包括用来检测便携式数据记录媒体的存在的装置,被设计为当便携式数据记录媒体和耦合装置相匹配时,一旦收到了第一个控制信号就把一个媒体存在信号发送给数据交换装置;其中的数据交换装置,被设计为在与便携式数据记录媒体通信之前周期地发送第二输入序列给耦合装置,直到它们收到便携式数据记录媒体存在的信号为止。
本发明其它的特点和优点将在下面的描述中体现,给出的是一个直观并且非限定的例子,并参考附图,其中:
图1显示了包含有依据本发明的耦合器的一个结构;
图2是耦合器的框图;
图3阐明了根据ISO7816-3标准与芯片卡交换的协议;
图4显示了由数据交换设备提供的信号的次序;
图5是与内部电源有关的耦合器的局部图;
图6是与产生适用于便携式数据记录媒体的信号有关的耦合器的局部图;以及
图7是与传输数据信号有关的耦合器的局部图。
图1显示了一个典型的个人计算机1的结构,其中有一个端口连接器2,例如一个RS232类型的串行端口,它由电缆3连接到耦合器5的串行端口连接器4。耦合器5还包括一个能够接收芯片卡7的芯片卡的连接器6。接口设备5用来管理芯片卡7与个人计算机1之间的数据交换;特别地,该耦合器5能够被用来实现安全功能,例如为了控制访问计算机或计算机网络,提供一个基于芯片的识别卡给经过授权的人。
图2是耦合器5的框图,耦合器5通过串行端口连接器4从计算机1的串行连接线接收信号RTS,DTR,CTS,TX,RX和DCD;它的芯片卡连接器6包括连接到芯片卡的VCC,RST,CLK和I/O信号的插头以及连接到一个卡存在开关(card presence switch)31的插头,当芯片卡被插入连接器6时,卡存在开关31由芯片卡关闭。
DTR信号通过一个芯片卡开关31与信号RTS一起被送入一个双稳态电路25,该双稳态电路控制一个电源电路12和一个阻塞电路23。双稳态电路25的角色是授权,首先,直接到达耦合器电路,特别是到电路29、32、41和芯片卡7的电源电压VCC的提供;第二,通过阻塞电路23的信号RST的传输。该授权只有当DTR和RTS信号是以DTR,RTS的次序被激活时才会被传送。
卡存在开关31被连接到信号CTS,目的是把芯片卡存在信息返回到串行端口连接器4。
VCC信号被送到产生RST信号的接口电路29,产生CLK信号的时钟信号发生器,以及产生I/O信号的接口电路41,由于信号RST,CLK和I/O是由信号VCC产生的,这样就保证了它们的电压低于信号VCC,符合了ISO7816-3标准的要求。
耦合器5还包括一个电源11,它驱动电源电路12提供稳定的信号VCC,还驱动一个比较电路14,该比较电路将电源11的电平和一个参照电平相比较,这个参照电平在本情形中是由稳定信号VCC构成的。
比较电路14输出一个通常说的电源的“低”电平并将其通过接口电路41传输到信号DCD。
参考电位信号GND被从计算机通过耦合器5直接传送到芯片卡。
通常地,与芯片卡的数据交换按ISO7816标准编纂,它的7816-3节涉及适用于芯片卡的不同信号的次序,即正如图3的时序图中显示的,参考电位信号GND,电源信号VCC,存储器电源信号VPP,时钟信号CLK,复位信号RST和数据交换信号I/O。
可以看到,在建立交换的过程中,信号VCC,VPP,CLK和RST必须按此顺序提供;通常不被使用的信号VPP,通过连接信号VCC而被短路掉。在交换末尾,上述信号必须以相反的顺序消失。
图4是从计算机的串行连接线送往耦合器5的信号的时序图;它区别了三种不同的操作类型,分别与如下述三种情况对应:
—计算机读取(也就是测试)芯片卡的存在而不提供电源给芯片卡,这时不用借助电压源11;
—当给芯片卡提供能量时正常访问芯片卡,目的是计算机与芯片卡对话;
—在正常访问过程中移开芯片卡。
图4中的第一条线定义了芯片卡相对于耦合器的位置。它包括一个高状态(high state),该状态与芯片卡插入耦合器至使不仅芯片卡和耦合器电连接而且和关闭卡存在开关31的情况相对应;还包括一个低状态(lowstate),该状态与没有芯片卡的情况相对应。随后的线DTS和RST(双稳态控制电路25),CTS(芯片卡存在状态),VCC(卡电源)和RST(卡复位)都有两个状态,一个高状态和一个低状态,其中第一个状态与一个激活信号相对应。最后,最后的线DCD(电池不足状态)具有交替的阴影和明亮区域,后者包括“有效”注解指示能够测试电池的状态。
在第一类操作中,它可以被特殊地看作计算机在信号DTR之前发送信号RTS,该序列周期产生,直到卡被检测到为止,检测引起从信号DTR到指示卡存在状态的信号CTS的传输,但并不激活信号VCC,由于假定这种情况下没有遵守DTR-然后-RTS的次序:因此,信号RST或信号DCD都不被激活。当三个信号RTS,DTR和CTS被激活时在局部移开芯片卡的过程中,只有后者CTS被撤消。为了产生新的DTR,RTS序列,计算机先以相反次序把这些信号变为低状态。
为了与双稳态电路25的固有操作时间相符,用来分离信号RTS和DTR(当信号RTS在信号DTR被激活之前已被建立起来时)的时间间隔TDR至少要等于逻辑门的延迟,也就是几个微秒的量级。将信号RTS的撤消与DTR的撤消分隔开的时间间隔TRDI有同一量级的长度。
更好的是,为了检测芯片卡加电之前被插入耦合器,第一类操作将会被周期性地触发。还有,最好在已建立的通信过程中定期确认芯片卡的存在(特别是为了确保耦合器的用户确实经过授权,并且确保该芯片卡不是由一个非正规的芯片卡来蒙混代替的),该第一类操作将会按希望的那样被多次重新触发。
在第二类操作中,计算机按照ISO7816-3标准的要求在RTS信号之前发送DTR信号。与前述类型不同,当芯片卡全部被插入时,信号DTR的激活不仅导致了芯片卡用来响应计算机的CTS信号的激活,而且还有VCC信号的激活;信号RTS的激活导致芯片卡复位信号RST激活,RST信号触发了芯片卡的有效操作。必须指出的是,VCC信号的激活导致在RST信号激活前图4中不可见的CLK信号被激活。
在计算机与芯片卡通信的结尾,计算机先使RTS信号回到低状态,这使得RST信号被撤消,然后计算机使DTR信号回到低状态,这使图4中不可见的CLK信号被撤消,随后就是VCC信号电压降低。参考图2,正如上面说明的,事实上,RST和CLK信号的电压是由VCC信号的电压得到的,这样确保了次序。
要指出的是由计算机规定的信号DTR,RTS的次序是与耦合器规定的相联系的,这就能够满足在图3中指出的关于芯片卡加电及掉电的ISO7816-3标准的要求。同样为了遵守该标准,持续时间TRD3与经DTR加电后由RTS激活RST的最短时间一致;并且持续时间TBV与耦合器加电以后,读取电池状态之前的等待时间一致。
参考图5,如果在下面定义的电源电压VBB下降至低于参考电压,则“电池不足”状态被传送给信号DCD。下面是从计算机上看到的动作:
若芯片卡已加电(DTR激活)且电池良好,DCD信号在高电平(处于-12V)。
若“电池不足”信号出现,DTR正处于激活,DCC信号取低值(处于+12V)并有相对于VCC信号的暂停(time-out)TBV。
对电池不足的检测可一直进行直至通信结束。
要指出的是上述第二类操作可以在对芯片卡的存在进行了有效检测后跟随第一类操作之后进行,或者也可以被直接触发。
在第三类操作中,当根据上述第二类操作已经建立了计算机-芯片卡的对话时,移开了芯片卡,使得RST信号撤消,图4中不可见的CLK信号撤消,随后VCC信号电压降低。甚至这种撤消会在与第二类操作相关的更短的时间段中发生。当芯片卡移开时,电池状态信号DCD也被撤消。
有利的是,重新插入芯片卡带来的影响只是重新激活CTS信号,不用重新激活VCC,CLK和RST信号。这就可以防止所知的卡存在开关31的回弹影响带来的缺点,其中卡存在开关31能随机激活电源信号VCC以及CLK、RST信号。
在这种情况下,如同在第一类操作中一样,计算机使DTR信号然后是RTS信号被撤消,随之有一个与TRD1相同的时间滞后TRD2。信号DTR的撤消导致还在高状态的CTS信号被撤消。
图5是根据本发明的并涉及耦合器电源供应的耦合器第一局部图。参看图2该耦合器包括电源11,在这一情况下它是由电压源集成并构造的,电压源包括例如一个电发生器,比如是一个两个电池的组合,一个光生伏打电池或一个高容量的电容器。该电压源11的电压VBB,通过VBB的正端被传送到已知种类并提供5V标准电压VCC的电源电路12,VCC在耦合器5中使用同时也适用于芯片卡7。电源电路12由加到13处的信号控制。
电压VBB也被传送到一个“电池不足”检测电路,该检测电路包括图2的比较电路14,它把电压VBB与从电压VCC获得的阀值比较并通过输出15提供一个“电池不足”的警告信号。
还可以提供一个外部电源,它由插口16传送并由稳压电路17来调整,稳压电路17的输出与电压源11的正端及稳压电路12相连。
当电压源11可充电时(电池或大容量电容器)外部电源可用来对电压源11充电。
图6是根据本发明的耦合器的另一局部图,它涉及适用于芯片卡7的信号的产生,以及芯片卡存在的检测。
信号RTS通过反相器22驱动与非门21的第一输入;该第一输入被连接到另一个与非门23的第一输入,通过另一个反相器33构成图2的阻塞电路。信号DTR通过两个串联反相器24,驱动门21的第二输入和由两个与非门构成的与图2双稳态电路一致的RS型双稳态触发器25的第一输入,双稳态触发器25的第二输入是从门21的输出信号接收的。触发器25的第一输出在13的地方提供一个电源控制信号,信号与13端的电源电路12一致。
触发器25的第二输出被传送到门23的第二输入,门23的输出通过反相器27来控制连接在电源电压VCC与地之间的NPN晶体管28,晶体管的集电极通过构成图2接口电路的反相器29来提供信号RST。该图电路中配置在晶体管28上游的所有的门,都在电路总是处于等待这一方式下由电压源11的电压VBB提供能量,并且能在没有电源信号VCC的时候产生信号。
传送信号DTR的端口连接器2的一个输入插口,被连接到同一连接器的另一插口,连接器2通过卡存在开关31接收信号CTS,卡存在开关31与芯片卡连接器6相关联且当芯片卡7在连接器6的位置时被关闭。
还有,构成图2中时钟发生器并由电源信号VCC激活的石英振荡器32,提供一个时钟信号CLK,它的延迟与逻辑门延迟一致。
可以看到图6的逻辑门使遵守信号VCC,CLK和RST的次序成为可能。结果是,由于事实上是正常访问的过程,信号DTR首先被使用,它由个人计算机中安装的软件控制,触发器25首先提供激活稳压电路12的电源控制信号13。稳压电路12然后提供信号VCC。下一步,当RTS信号出现时,触发器25改变状态并激励信号RST的产生,RST信号只有当VCC信号建立时才出现。
时钟信号CLK只有电源信号VCC建立时才能被产生,因为石英振荡器32由电源信号VCC控制。
在卡存在的读取周期中(见图4),信号DTR和RTS以相反次序被使用,且触发器并不激励信号VCC,CLK和RST的产生,特别地,电压源11保持等待状态。芯片卡的存在关闭了卡存在开关31,这就把卡存在的信息通过信号CTS送给计算机;由于电源电路12并未被激活,该卡存在检测操作的发生不需凭借电压源。
由信号CTS提供的芯片卡存在信息使得能够通过个人计算机实时管理芯片卡的存在;特别是这使得能够在交换数据的过程中检测芯片卡的移开以执行停止活动(任务结束)的对话。
图7是耦合器的另一局部图,它的主要功能是在计算机和芯片卡之间传输数据信号。图2的接口电路41完成对它接收或产生的信号TX,RX和DCD的转换。这里提供了一个NPN晶体管42,它的集电极通过两个串联电阻45,46与电压VCC相连,它的发射极接地。当其集电极连接到芯片卡连接器的I/O端时,晶体管42的基极由从接口电路41产生的信号TX驱动。该集电极被连接到输出RX信号的接口电路41的一个反相器。
图5的比较电路14的输出15驱动一个将其输出连接到接口电路41的一个反相器中的反相器44,接口电路41输出“电池不足”警告信号DCD。
接口电路41和反相器44由电压VCC供电。
图5的电源电路12的控制信号13控制一个直接由正电压极化的金属氧化物半导体场效应晶体管43,它能在掉电时加速电源信号VCC的下降,从而使CLK,RST和I/O下降,以获得比卡的接触滑动时间更短的从5V至0.4V的下降时间,从而遵守了ISO7816-3标准,该标准指明接触断开时电压应低于0.4V。
在操作中,接口电路41确保在信号TX,RX一方与I/O一方之间的多路复用/信号分离。要指出的是“电池不足”信号DCD更通常地构成警告信号,它能检测其它不正常状态,例如不合格的芯片卡造成接触短路。
利用集成电压源使得信号能够完全安全地用于芯片卡,不需要从个人计算机获得电源,这在便携式计算机的情况下是很重要的。
还有,根据本发明的耦合器有着简单的设计,这使得能够获得低的价格和缩小的体积;这样,能生产相当于芯片卡尺寸的接口设备。
在上述的例子中,特定的从数据交换设备的串行连接线得到的信号RTS,DTR,CTS和DCD被选择来与耦合器相配合,且它们中每一个都由便携式数据记录媒体的操作指定安排一个专门的功能。要明确的是本发明并不局限于这一特定的选择。更普遍的,任何从数据交换设备,经串行连接线得到的与该连接线的通信协议相符的信号,可以扮演任何RTS,DTR或DCD信号的角色;类似的,任何经串行连接线返回数据交换设备的与该连接线的通信协议相符的信号,可以扮演信号CTS的角色(例如,在RS232连接线中,数据-置位-准备好信号DSR)。
还有,当上述耦合器被设计用来完成一个串行数据信号传输时,要明确的是本发明也适用于并行数据信号的传输,在后一情况下数据交换设备和便携式数据记录媒体包括合适的接口装置。
上述耦合器被描述为在物理上与数据交换设备和便携式数据记录媒体分离的设备,在另一方面,它当然可以被集成到这两个设备里任一个中去。在此情况下,在问题中谈及的设备与耦合器之间的连接装置,例如连接器或图1涉及的电缆可以被删除。
还有,在图4的第二、三类操作中,根据稍逊的最佳实施例,不使用CTS信号。实际上,第二类操作中芯片卡的加电以及第三类操作中芯片卡的掉电,为了遵守ISO7816-3标准而不需管理该信号。