发明内容
本发明的目的是针对上述现有技术的缺陷,提供了一种能够满足读卡器对不同通讯速率的要求,且方便读卡器测试的智能卡转换设备。
为了实现上述目的本发明采取的技术方案是:本发明提供了一种智能卡转换设备,包括:第一通讯模块、转换模块、第二通讯模块和电源模块;
所述第一通讯模块:用于连接智能卡与所述转换模块;
所述转换模块:用于通过所述第一通讯模块以第一速率获取智能卡的第一ATR、通过所述第二通讯模块以第二速率将第二ATR应答给读卡器;还用于通过所述第二通讯模块以第二速率接收所述读卡器的第一pps或者以第三速率接收所述读卡器的APDU指令、通过所述第一通讯模块以第一速率发送第二pps给所述智能卡或者以第四速率发送APDU指令给所述智能卡;
所述第二通讯模块:用于连接所述转换模块与所述读卡器;
所述电源模块:用于为所述第一通讯模块、所述转换模块和所述第二通讯模块获取电力。
所述第一通讯模块包括卡槽。
所述第二通讯模块包括智能卡触点电路,所述触点的尺寸及位置符合7816标准触点要求。
所述转换模块包括智能卡单元、读卡器单元和转换单元;
所述智能卡单元:用于通过所述第一通讯模块获取所述智能卡的第一ATR;还用于通过所述第一通讯模块以第一速率发送第二pps给所述智能卡或以第四速率发送所述APDU指令给所述智能卡;
所述读卡器单元:用于将从转换单元获取的所述第二ATR通过所述第二通讯模块以第二速率应答给所述读卡器;还用于通过所述第二通讯模块以第二速率接收所述读卡器的第一pps或者以第三速率接收所述读卡器的APDU指令;
所述转换单元:用于生成所述第二ATR并发给读卡器单元,生成过程具体为根据获取的要转换的卡通讯类型对所述第一ATR进行修改生成所述第二ATR;或者直接获取所述第二ATR。
所述转换设备包括输入模块,用于输入智能卡转换设备要转换的卡通讯类型给所述转换单元。
所述转换设备包括预置类型模块,预存了至少一个ATR,由转换单元从中提取一个获得所述第二ATR。
所述智能卡的通讯类型和所述要转换的卡通讯类型一致时,所述第一ATR和第二ATR内容相同。
所述第一速率为所述转换模块通过所述第一通讯模块获取智能卡的第一ATR的速率、和所述转换模块通过所述第一通讯模块发送第二pps给所述智能卡的速率;所述第二速率为所述转换模块通过所述第二通讯模块将第二ATR应答给所述读卡器的速率、和所述转换模块通过所述第二通讯模块接收所述读卡器的第一pps的速率;所述第三速率为所述转换模块通过所述第二通讯模块接收所述读卡器的APDU指令的速率;所述第四速率为所述转换模块通过所述第一通讯模块发送APDU指令给所述智能卡的速率。
所述第三速率由所述第二ATR中内容决定,所述第四速率由所述第一ATR中内容决定。
所述第一速率和所述第四速率为同一速率;所述第二速率和所述第三速率为同一速率。
本发明还提供了一种智能卡转换设备的使用方法,包括:
步骤1:智能卡转换设备分别与智能卡和读卡器相连;
步骤2:所述智能卡转换设备以第一速率获取智能卡的第一ATR;以第二速率以第二ATR应答所述读卡器;
步骤3:所述智能卡转换设备以第二速率接收所述读卡器的第一pps或者以第三速率接收所述读卡器APDU指令;以第一速率发送第二pps给所述智能卡或以第四速率发送APDU指令给所述智能卡。
所述步骤2中第二ATR的生成过程具体为:所述智能卡转换设备配有输入装置,用于输入要转换的卡通讯类型,所述智能卡转换设备根据所述输入的卡的通讯类型修改所述第一ATR,生成第二ATR。
所述步骤2中第二ATR的生成过程具体为:所述智能卡转换设备配有预置类型模块,用于预先存储至少一个ATR,所述智能卡转换设备从所述类型预置模块中直接调取一个ATR得到第二ATR。
所述步骤2中,所述智能卡的通讯类型和所述智能卡转换设备要求的卡通讯类型一致时,所述第一ATR和所述第二ATR内容相同。
所述步骤2和步骤3中,所述第一速率为所述智能卡转换设备获取智能卡的第一ATR的速率、和所述智能卡转换设备发送第二pps给所述智能卡的速率;所述第二速率为所述智能卡转换设备将第二ATR应答给所述读卡器的速率、和所述智能卡转换设备接收所述读卡器的第一pps的速率;所述第三速率为所述智能卡转换设备接收所述读卡器的APDU指令的速率;所述第四速率为所述智能卡转换设备发送APDU指令给所述智能卡的速率。
所述步骤3中,所述第三速率由所述第二ATR中内容决定;所述第四速率由所述第一ATR中内容决定。
所述第一速率和所述第四速率为同一速率;所述第二速率和所述第三速率为同一速率。
本发明的有益效果是:本发明提供的智能卡转换设备弥补了大多数读卡器不支持全部通讯类型的卡的缺陷,满足了读卡器对不同通讯速率的要求,且方便了读卡器的测试。
具体实施方式
下面结合附图和具体实施例对本发明作进一步说明,但不作为对本发明的限定。
具体阐述各实施例前,先就位持续时间的概念,以及位持续时间与卡通讯类型的对应关系做一个说明:
位持续时间:
I/O线上所用的位持续时间被确定为基本时间单位(etu-elementary time unit),它和时钟频率间存在着线性关系。终端给出时钟信号的IC卡被称为外时钟卡。
复位应答时的位持续时间称为初始etu,并由下面公式算出:
初始etu=372/f秒
式中f的单位为Hz,表示复位响应时的初始频率。
复位应答之后的位持续时间,称为当前etu,其计算公式为:
当前etu=F/(Df)秒
式中f的单位为Hz,表示后续传送时的当前工作频率。F为时钟频率变换因数,D为比特率调整因数。F、D见下表1和2由TA1决定,本发明实施例中,下面表1和表2预先存储在智能卡转换设备中。
全程接口字节TA1(卡复位应答中传输的接口字节),TA1在最高有效的半个字节(b5至b8)上编码为FI,在最低有效的半个字节(b1至b4)上编码为DI。
表1-FI,指明的时钟率转换因子的值
F1 |
0000 |
0001 |
0010 |
0011 |
0100 |
0101 |
0110 |
0111 |
F |
372 |
372 |
558 |
744 |
1116 |
1488 |
1860 |
RFU |
f(max)MHz |
4 |
5 |
6 |
8 |
12 |
16 |
20 |
- |
RFU=留作未来使用
FI |
1000 |
1001 |
1010 |
1011 |
1100 |
1101 |
1110 |
1111 |
F |
RFU |
512 |
768 |
1024 |
1536 |
2048 |
RFU |
RFU |
f(max)MHz |
- |
5 |
7,5 |
10 |
15 |
20 |
- |
- |
表2-DI,指明的波特率校正参数的值
DI |
0000 |
0001 |
0010 |
0011 |
0100 |
0101 |
0110 |
0111 |
D |
RFU |
1 |
2 |
4 |
8 |
16 |
32 |
RFU |
DI |
1000 |
1001 |
1010 |
1011 |
1100 |
1101 |
1110 |
1111 |
D |
12 |
20 |
RFU |
RFU |
RFU |
RFU |
RFU |
RFU |
本发明中,卡的通讯类型的转换方法,实际上就是卡复位应答后的当前位持续时间的转换方法。卡的通讯类型是通过卡的全程接口字节TA1的高四位和低四位来定义的,表1和表2涵盖了目前常用的几乎所有通讯类型的卡。根据上面的公式:卡复位应答后的当前位持续时间etu=F/(Df)秒,而F和D分别是全程接口字节TA1高四位和低四位中的内容;通常情况下,一个设计好的读卡器的时钟频率f2是固定的,同时一个设计好的转换模块的时钟频率f1也是固定的,因此决定当前位持续时间的只有F和D值,所以,改变卡通讯类型实际上就是改变卡复位应答后的当前位持续时间。
举例说,卡通讯类型和卡复位应答后的当前位持续时间的对应关系如下:11通讯类型的卡就是指TA1的高四位地址FI为0001(对应卡通讯类型号的高位1),低四位地址DI为0001(对应卡通讯类型号的低位1)的卡。根据表1可以查出0001地址对应的F值为372,根据表2可以查出0001地址对应的D值为1,那么这张卡在复位应答后的当前位持续时间就是etu(11)=F/(Df)秒=372/(1×5f)秒=372/f秒,值等于初始etu时间。96通讯类型的卡就是指TA1的高四位地址FI为1001(对应卡通讯类型号的高位9),低四位地址DI为0110(对应卡通讯类型号的低位6)的卡,根据表1可以查出1001地址中对应的F值为512,根据表2可以查出0110地址中对应的D值为32,那么这张卡在复位应答后的当前位持续时间就是etu(96)=F/(Df)秒=512/(32f)秒=16/f秒。16通讯类型的卡就是指TA1的高四位地址FI为0001(对应卡通讯类型号的高位1),低四位地址DI为0110(对应卡通讯类型号的低位6)的卡,根据表1和表2可以查出对应的地址中:F值为372,D值为32,那么这张卡在复位应答后的当前位持续时间就是etu(16)=F/(Df)秒=372/(32f)秒=11.625/f秒。32通讯类型的卡就是指TA1的高四位地址FI为0011(对应卡通讯类型号的高位3),低四位地址DI为0010(对应卡通讯类型号的低位2)的卡,根据表1可以查出0011地址中对应的F值为744,根据表2查出0010地址中对应的D值为2,那么这张卡复位应答后的当前位持续时间应为etu(32)=F/(Df)秒=744/(2f)秒=372/f秒。
因为TA1是ATR中的一个参数,而位持续时间又是由TA1决定的,因此不难得出结论,位持续时间由ATR决定。同时,由于位持续时间与卡速之间存在着一一对应关系,具体为:卡速的值为位持续时间的倒数,所以,卡速和ATR间存在着对应关系。
综上所述,卡速与卡类型存在着一一对应关系。
本发明各实施例中,设定读卡器的时钟频率为f1,转换模块的时钟频率为f2,智能卡转换设备的时钟频率也是f2。
实施例1
参见图1,本发明提供了一种智能卡转换设备100,具体包括:第一通讯模块101、转换模块102、第二通讯模块103、预置类型模块104和电源模块105;
第一通讯模块101:是转换模块102和智能卡间的数据传输通道;具体包括卡槽、触点电平转换电路、时钟电路、保护电路及上下电控制电路;
转换模块102:用于通过第一通讯模块101以第一速率获取智能卡的第一ATR、通过第二通讯模块103以第二速率将第二ATR应答给读卡器;还用于通过第二通讯模块103以第二速率接收读卡器的第一pps或者通过第二通讯模块103以第三速率接收读卡器的APDU指令、通过第一通讯模块101以第一速率发送第二pps或以第四速率发送APDU指令给智能卡;
第二通讯模块103:是转换模块102和读卡器间的数据传输通道:具体包括智能卡触点电路,触点的尺寸及其位置符合7816标准;
预置类型模块104:预存了至少一个ATR,由转换模块102从中提取一个ATR作为所述第二ATR。
电源模块105:用于为第一通讯模块101、转换模块102、第二通讯模块103和预置类型模块104提供电力。
转换模块102包括智能卡单元1021、转换单元1022和读卡器单元1023;
智能卡单元1021:用于通过第一通讯模块101获取智能卡的第一ATR;还用于通过第一通讯模块101以第一速率发送第二pps或以第四速率发送APDU指令给智能卡;
转换单元1022:用于通过第二通讯模块103获取第二ATR发给读卡器单元,获取的过程为从预置类型模块104中直接获取一个ATR作为第二ATR;
读卡器单元1023:用于将从转换单元1022获取的第二ATR通过第二通讯模块103以第二速率应答给读卡器;还用于以通过第二通讯模块103以第二速率接收读卡器的第一pps或者以第三速率接收读卡器的APDU指令。
本实施例中,智能卡单元1021通过第一通讯模块101获取智能卡的第一ATR的操作、和通过第一通讯模块101以第一速率发送第二pps或APDU指令给智能卡的操作的顺序可以倒置。读卡器单元1023将从转换单元1022获取的第二ATR通过第二通讯模块103以第二速率应答给读卡器的操作、和通过第二通讯模块103以第二速率接收读卡器的第一pps或者以第三速率接收读卡器的APDU指令的操作的循序可以倒置。
本实施例中,第一速率具体为:智能卡和智能卡转换设备间进行复位应答和pps期间的通讯速率;第二速率具体为:智能卡转换设备和读卡器间进行复位应答和pps期间的通讯速率;第三速率具体为:智能卡转换设备和读卡器间进行APDU时的通讯速率;第四速率具体为:智能卡和智能卡转换设备间进行APDU期间的通讯速率。
第一ATR和第二ATR可以一致也可以不一致。
智能卡单元1021还具有判断功能,能够根据获取的第一ATR中的内容,判断是否需要通过第一通讯模块101向智能卡发送第二pps,具体判断过程为:根据第一ATR中内容判断智能卡是否为0x11类型的卡,如果是,则无需通过第一通讯模块101发送第二pps给智能卡,直接通过第一通讯模块101发送APDU指令给智能卡;否则,进一步判断智能卡工作在专有模式还是协商模式下,如果在专有模式下,也无需通过第一通讯模块101发送第二pps给智能卡,直接通过第一通讯模块101发送APDU指令给智能卡;否则,通过第一通讯模块101发送第二pps给智能卡,之后通过第一通讯模块101发送APDU指令给智能卡。特别强调的是:智能卡转换单元1021也可以不判断第一ATR中的内容,直接通过第一通讯模块101向智能卡发送APDU指令。
读卡器单元1023通过第二通讯模块103以第二速率接收读卡器的第一pps、还是通过第二通讯模块103以第三速率接收读卡器的APDU指令,是由读卡器单元中的第二ATR的内容决定,如果发给读卡器的第二ATR的内容表明转换设备采用了0x11的卡通讯类型和读卡器通讯,则无需通过第二通讯模块103接收读卡器的第一pps,直接通过第二通讯模块103以第四速率接收读卡器的APDU指令;否则,进一步判断转换设备是否工作在专有模式下,如果是,也无需通过第二通讯模块103接收读卡器的第一pps,直接通过第二通讯模块103以第四速率接收读卡器的APDU指令;否则,说明转换设备工作在协商模式下,且为非0x11通讯类型,需要先通过第二通讯模块103接收读卡器的第一pps,再通过第二通讯模块103以第四速率接收读卡器的APDU指令。特别强调的是:智能卡转换单元1021也可以不判断第一ATR中的内容,直接通过第一通讯模块101向智能卡发送APDU指令。
如果智能卡和通过第一通讯模块101与之相连的智能卡单元1021间无需进行pps,则第一速率和第四速率为同一速率;同理如果读卡器和通过第二通讯模块103与之相连的读卡器单元1023间也无需pps,则第二速率和第三速率为同一速率。
下面结合具体数字、表1和表2对转换模块的工作原理详细举例说明:
本实施例中,要转换的卡的通讯类型是确定的,也就是说:凡是插入第一通讯模块101中的智能卡都会被转换模块102转换成预置类型模块104预先存储的某个通讯类型的卡,如:11通讯类型的卡。
这里之所以选择11通讯类型的卡,是因为11通讯类型的卡复位应答后的当前位持续时间与复位期间的初始位持续时间相同,通常状况下,一般读卡器都能读取11通讯类型的卡。如果连接到第一通讯模块101上的卡为96通讯类型的卡,但第一通讯模块101(卡槽及相关电路)却不支持96通讯类型的卡,那么需要智能卡转换设备把它转换成11通讯类型的卡然后被读卡器所读取。通过上面的运算可以知道:96通讯类型的卡复位应答后的当前etu(96)为16/f1秒(f1为转换模块的时钟频率),11通讯类型的卡复位应答后的当前etu(11)为372/f2秒(f2为读卡器的时钟频率)。转换模块102需要将第二通讯模块103以第三速率1/etu(11)(etu(11)=372/f2秒)接收的读卡器数据,转换成第四速率1/etu(96)(etu(96)=16/f1秒)通讯的数据发给第一通讯模块101;或将第一通讯模块101以第四速率1/etu(96)(etu(96)=16/f1秒)接收的智能卡数据转换成以第三速率1/etu(11)(etu(11)=372/f2秒)通讯的数据发给第二通讯模块103。
进一步地,本实施例中,连接到第一通讯模块101上的卡还可以选择16通讯类型的卡,需要智能卡转换设备把它转换成11通讯类型的卡然后被读卡器所读取。根据上面的计算,16通讯类型的卡复位应答后的当前位持续时间etu(16)=11.625/f1秒,11通讯类型的卡复位应答后的当前位持续时间etu(11)=372/f2秒。转换模块102需要将第二通讯模块103以第三速率1/etu(11)(etu(11)=372/f2秒)接收的读卡器数据,转换成第四速率1/etu(16)(etu(16)=11.625/f1秒)通讯的数据发给第一通讯模块101;或将第一通讯模块101以第四速率1/etu(16)(etu(16)=11.625/f1秒)接收的智能卡数据转换成以第三速率1/etu(11)(etu(11)=372/f2秒)通讯的数据由第二通讯模块103发给读卡器。
本实施例中,转换模块102的时钟频率f1和读卡器的时钟频率f2可以一致,也可以不一致。本实施例中,通过将16通讯类型的卡和96通讯类型的卡转换成11通讯类型的卡,使得不支持高速卡的读卡器能够支持高速卡。
实施例2
参见图2,本发明还提供了一种智能卡转换设备200,具体包括:输入模块201、第一通讯模块202、转换模块203、第二通讯模块204和电源模块205;
输入模块201:用于向转换模块203输入要转换的卡通讯类型,可以为键盘、跳线或手写输入装置;
第一通讯模块202:是转换模块203和智能卡间的数据传输通道;具体包括卡槽、触点电平转换电路、时钟电路、保护电路及上下电控制电路;
转换模块203:用于通过第一通讯模块202以第一速率获取智能卡的第一ATR、和通过第二通讯模块204以第二速率以第二ATR应答读卡器;还用于通过第二通讯模块204以第二速率接收读卡器的第一pps或者通过第二通讯模块204以第三速率接收读卡器的APDU指令、和通过第一通讯模块202以第一速率发送第二pps或通过第一通讯模块202以第四速率发送APDU指令给智能卡;
第二通讯模块204:是转换模块203和读卡器间的数据传输通道:具体包括智能卡触点电路,触点的尺寸及其位置符合7816标准;
电源模块205:用于为输入模块201、第一通讯模块202、转换模块203和第二通讯模块204提供电力。
转换模块203包括智能卡单元2031、转换单元2032和读卡器单元2033;
智能卡单元2031:用于通过第一通讯模块202获取智能卡的第一ATR;还用于通过第一通讯模块202以第一速率发送第二pps或通过第一通讯模块202以第四速率发送APDU指令给智能卡;
转换单元2032:用于生成第二ATR发给读卡器单元,生成过程为从智能卡单元2031获取第一ATR,之后根据从输入模块201获取的卡通讯类型对第一ATR中的TA1值进行修改,生成第二ATR,发给读卡器单元2033;
读卡器单元2033:用于将从转换单元获取的第二ATR通过第二通讯模块204以第二速率应答给读卡器;还用于通过第二通讯模块204以第二速率接收读卡器的第一pps或者通过第二通讯模块204以第三速率接收读卡器的APDU指令。
本实施例中,智能卡单元2031通过第一通讯模块202获取智能卡的第一ATR的操作、和通过第一通讯模块202以第一速率发送第二pps或通过第一通讯模块202以第四速率发送APDU指令给智能卡的操作的顺序不能改变,因为转换单元2032需要根据输入模块201输入的卡通讯类型对智能卡单元2031获取的第一ATR进行修改得到第二ATR。读卡器单元1023通过第二通讯模块204将从转换单元1022获取的第二ATR以第二速率应答给读卡器的操作、和通过第二通讯模块204以第二速率接收读卡器的第一pps或者通过第二通讯模块204以第三速率接收读卡器的APDU指令的操作的循序可以倒置。
本实施例中,第一速率具体为:智能卡和智能卡转换设备间进行复位应答和pps期间的通讯速率;第二速率具体为:智能卡转换设备和读卡器间进行复位应答和pps期间的通讯速率;第三速率具体为:智能卡转换设备和读卡器间进行APDU时的通讯速率;第四速率具体为:智能卡和智能卡转换设备间进行APDU期间的通讯速率。
第一ATR和第二ATR可以一致也可以不一致,一致的情况具体为:智能卡的通讯类型与要转换的卡的通讯类型相同;不一致的情况具体为:智能卡的类型与要转换的卡的通讯类型不同,这时,转换单元2032需要从输入模块201中获取卡通讯类型,之后对第一ATR进行修改得到第二ATR。对卡的第一ATR修改具体为:将获取的卡的第一ATR的TA1改为与要转换的卡的类型相对应的TA1’,进一步讲就是将TA1中的F1和D1修改为与TA1’相对应的F2和D2;复位应答期间,第一速率为卡复位应答期间与智能卡转换设备200的通讯速率,具体为初始位持续时间的倒数,f1/372;第二速率为读卡器复位应答期间与智能卡转换设备200的通讯速率,具体为初始位持续时间的倒数,f2/372;
智能卡单元2031还具有判断功能,能够根据获取的第一ATR中的内容,判断是否需要通过第一通讯模块202向智能卡发送第二pps,具体判断过程为:根据第一ATR中内容判断智能卡是否为0x11类型的卡,如果是,则无需通过第一通讯模块202发送第二pps给智能卡,直接通过第一通讯模块202发送APDU指令给智能卡;否则,进一步判断智能卡工作在专有模式还是协商模式下,如果在专有模式下,也无需通过第一通讯模块202发送第二pps给智能卡,直接通过第一通讯模块202发送APDU指令给智能卡;否则,通过第一通讯模块202发送第二pps给智能卡,之后通过第一通讯模块202发送APDU指令给智能卡。智能卡单元2031也可以不判断第一ATR中的内容,直接通过第一通讯模块202向智能卡发送APDU指令。
读卡器单元2033通过第二通讯模块204以第二速率接收读卡器的第一pps还是通过第二通讯模块204以第三速率接收读卡器的APDU指令是由读卡器单元中的第二ATR的内容决定,如果发给读卡器的第二ATR的内容表明转换设备采用了0x11的卡通讯类型和读卡器通讯,则无需通过第二通讯模块204接收读卡器的第一pps,直接通过第二通讯模块204以第四速率接收读卡器的APDU指令;否则,进一步判断转换设备是否工作在专有模式下,如果是,也无需通过第二通讯模块204接收读卡器的第一pps,直接通过第二通讯模块204以第四速率接收读卡器的APDU指令;否则,说明转换设备工作在协商模式下,且为非0x11通讯类型,需要先通过第二通讯模块204接收读卡器的第一pps,再通过第二通讯模块204以第四速率接收读卡器的APDU指令。读卡器也可以不判断第二ATR中的内容,直接通过第二通讯模块204向读卡器单元2033发送APDU指令。
如果智能卡和通过第一通讯模块202与之相连的智能卡单元2031间无需进行pps,则第一速率和第四速率为同一速率;同理如果读卡器和通过第二通讯模块204与之相连的读卡器单元2033间也无需pps,则第二速率和第三速率为同一速率。
转换单元2032从输入模块201中获取卡通讯类型后,对第一ATR进行修改得到第二ATR。对卡的第一ATR修改具体为:将获取的卡的第一ATR的TA1改为与要转换的卡的类型相对应的TA1’,进一步讲就是将TA1中的F1和D1修改为与TA1’相对应的F2和D2;复位应答期间,第一速率为卡复位应答期间与智能卡转换设备200的通讯速率,具体为初始位持续时间的倒数,f1/372;第二速率为读卡器复位应答期间与智能卡转换设备200的通讯速率,具体为初始位持续时间的倒数,f2/372;
本实施例中,要转换的卡的通讯类型是不确定的,需要输入模块201预先输入给控制模块。本实施例中,转换模块的晶振的时钟频率为f1,读卡器的晶振的时钟频率为f2。下面结合表1和表2对转换模块203的工作原理做详细说明。如果输入模块201输入的要转换的卡通讯类型为96,而连到第一通讯模块202上的智能卡通讯类型为11,由表1和表2可知:11通讯类型的卡(FI为0001,DI为0001)的F值为372,D值为1,复位应答后的当前位持续时间应为etu(11)=F/(Df1)秒=372/(1f1)秒=372/f1秒;96通讯类型的卡(FI为1001,DI为0110)的F值为512,D值为32,其在复位应答后的当前位持续时间就是etu(96)=F/(Df2)秒=512/(32f)秒=16/f秒。对于设计好的转换模块,晶振的时钟频率一般固定不变;而对于一个设计好的读卡器,晶振的时钟频率也是固定不变的。因此转换模块203需要将第二通讯模块204以第三速率1/etu(96)(etu(96)=16/f2秒)接收的读卡器数据,转换成第四速率1/etu(11)(etu(11)=372/f1秒)传输的数据,并将其通过第一通讯模块202发送给智能卡;或将第一通讯模块202以第四速率1/etu(11)(etu(11)=372/f1秒)接收的智能卡数据转换成以第三速率1/etu(96)(etu(96)=16/f2秒)传输的数据,并将其通过第二通讯模块204发给读卡器。
同理,如果输入模块201输入的要转换的卡通讯类型为16,而连到第一通讯模块202上的智能卡通讯类型为11,那么根据表1和表2可知:16通讯类型的卡(FI=0001,DI=0110)中的F值和D值,F=372,D=32;卡复位应答后的位持续时间etu(16)=F/(Df2)秒=372/(32f2)秒=11.625/f2秒;同时根据表1和表2可知:11通讯类型的卡(FI=0001,DI=0001)中的F值和D值,F=372,D=1;卡复位应答后的位持续时间etu(11)=F/(Df1)秒=372/(1f1)秒=372/f1秒;同上所述,对于设计好的转换模块,晶振的时钟频率一般固定不变;而对于一个设计好的读卡器,晶振的时钟频率也是固定不变的。因此,转换模块203需要将第二通讯模块204以第三速率1/etu(16)(etu(16)=11.625/f2秒)接收的读卡器数据,转换成第四速率1/etu(11)(etu(11)=372/f1秒)传输的数据,并将其通过第一通讯模块202发给智能卡;或将第一通讯模块202以第四速率1/etu(11)(etu(11)=372/f1秒)接收的智能卡数据转换成以第三速率1/etu(16)(etu(16)=11.625/f2秒)传输的数据,并通过第二通讯模块204发给读卡器。
本实施例中,转换模块的时钟频率f1和读卡器的时钟频率f2可以一致,也可以不一致。通过将11通讯类型的卡转换成96通讯类型的卡或16通讯类型的卡或其它类型的卡,方便了读卡器的测试。
本发明中的智能卡转换设备弥补了大多数读卡器不支持全部通讯类型卡的缺陷,满足了读卡器对不同通讯速率的要求;且方便了读卡器的测试。
实施例3
参见图3,为本发明提供的一种智能卡转换设备的使用方法,包括下列步骤:
步骤301:智能卡转换设备分别与智能卡和读卡器相连;
智能卡转换设备内部配置有卡槽电路和卡电路;卡槽电路用于连接智能卡,智能卡电路用于连接读卡器,智能卡转换设备接收读卡器的上电信号。
步骤302:智能卡转换设备以第一速率获取智能卡的第一ATR;以第二速率以第二ATR应答读卡器;
本步骤中,智能卡转换设备以第一速率获取智能卡的第一ATR的操作可以发生在其以第二速率以第二ATR应答读卡器之前或之后,即这两个操作的顺序不限。
第二ATR的获取过程可以为:如果智能卡转换设备以第一速率获取智能卡的第一ATR发生在其以第二速率以第二ATR应答读卡器之前,智能卡转换设备配有输入装置,用于输入要转换的卡的通讯类型,卡的通讯类型与卡速相对应,智能卡转换设备根据输入的卡的通讯类型修改第一ATR,得到第二ATR。将第一ATR进行修改得到第二ATR,具体为智能卡转换设备将获取的智能卡的ATR中的TA1修改为TA1’(对应着要转换的卡类型)。相应地,TA1中的F1和D1值就被调整为TA1’中F2和D2值。
本步骤中,如果智能卡转换设备以第一速率获取智能卡的第一ATR发生在其以第二速率以第二ATR应答读卡器之后,第二ATR的获取过程还可以为:智能卡转换设备配有预置类型模块,预存了至少一个ATR,由智能卡转换设备从中提取一个ATR作为第二ATR,获取的第二ATR可以和第一ATR相同。
本步骤中,智能卡的通讯类型和智能卡转换设备要求的卡通讯类型一致时,第一ATR和第二ATR内容相同。
步骤303:智能卡转换设备以第二速率接收读卡器的第一pps或者以第三速率接收读卡器的APDU指令;以第一速率发送第二pps或以第四速率发送APDU指令给智能卡。
本实施例中,第一速率具体为:智能卡和智能卡转换设备间进行复位应答和pps期间的通讯速率;第二速率具体为:智能卡转换设备和读卡器间进行复位应答和pps期间的通讯速率;第三速率具体为:智能卡转换设备和读卡器间进行APDU时的通讯速率;第四速率具体为:智能卡和智能卡转换设备间进行APDU期间的通讯速率。
本步骤中,智能卡转换设备以第二速率接收读卡器的第一pps或者以第三速率接收读卡器的APDU指令的操作可以在智能卡转换设备以第一速率发送第二pps或以第四速率发送APDU指令给智能卡之前或之后,即上述两操作顺序可以不限。
智能卡转换设备以第二速率接收读卡器的第一pps或者以第三速率接收读卡器的APDU指令的过程为:读卡器根据获取的智能卡转换设备的第二ATR中的内容,判断转换设备是否以0x11的卡通讯类型进行通讯,如果是,则无需以第二速率和智能卡转换设备进行pps,直接以第三速率和智能卡转换设备进行APDU;否则,进一步判断智能卡转换设备是否工作在专有模式下,如果是,则无需以第二速率和智能卡转换设备进行pps,直接以第三速率和智能卡转换设备进行APDU;否则,先以第二速率和智能卡转换设备进行pps,之后再以第三速率和智能卡转换设备进行APDU。读卡器也可以不判断第二ATR中的内容,直接向智能卡转换设备发送APDU指令。
智能卡转换设备以第一速率发送第二pps还是以第四速率发送APDU指令给智能卡的步骤具体为:智能卡转换设备根据获取的智能卡的第一ATR中的内容判断智能卡是否为0x11通讯类型的卡,如果是,则无需以第一速率和智能卡间进行pps,直接以第四速率和智能卡间进行APDU;否则,进一步判断智能卡是否工作在专有模式下,如果是,则无需以第一速率和智能卡间进行pps,直接以第四速率和智能卡间进行APDU;否则,说明智能卡工作在协商模式下,智能卡转换设备和智能卡间需要先以第一速率进行pps,之后再以第四速率进行APDU。智能卡转换设备也可以不判断第一ATR中的内容,直接向智能卡发送APDU指令。
如果智能卡和智能卡转换设备间无需进行pps,则第一速率和第四速率为同一速率;同理,如果读卡器和智能卡转换设备间也无需进行pps,则第二速率和第三速率为同一速率。
下面以卡通讯类型确定的情况为例来说明:假定要转换的卡的通讯类型为11类型,这里之所以选择11通讯类型的卡,是因为11通讯类型的卡复位应答后的当前位持续时间与复位期间的初始位持续时间相同,通常状况下,一般读卡器都能读取11通讯类型的卡。如果连接到智能卡转换设备上的卡为96通讯类型的卡,但设备却不支持96通讯类型的卡,那么需要智能卡转换设备把它转换成11通讯类型的卡然后被读卡器所读取。通过上面的运算可以知道:96通讯类型的卡复位应答后的当前etu(96)为16/f1秒(f1为转换模块的时钟频率),11通讯类型的卡复位应答后的当前etu(11)为372/f2秒(f2为读卡器的时钟频率)。因此智能卡转换设备需要将以第三速率(etu(11)=372/f2秒)接收的读卡器数据,转换成第四速率(etu(96)=16/f1秒)通讯的数据;或将设备以第四速率(etu(96)=16/f1秒)接收的智能卡数据转换成以第三速率(etu(11)=372/f2秒)通讯的数据。
接下来,再以卡通讯类型不确定的情况为例来说明:假定要转换的卡类型不确定,由智能卡转换设备的输入装置输入。如果输入的要转换的卡通讯类型为96,而连到智能卡转换设备上的智能卡通讯类型为11,由表1和表2可知:11通讯类型的卡(FI为0001,DI为0001)的F值为372,D值为1,复位应答后的当前位持续时间应为etu(11)=F/(Df1)秒=372/(1f1)秒=372/f1秒;96通讯类型的卡(FI为1001,DI为0110)的F值为512,D值为32,其在复位应答后的当前位持续时间就是etu(96)=F/(Df2)秒=512/(32f)秒=16/f秒。对于一个设计好的转换模块,晶振的时钟频率一般固定不变;对于一个设计好的读卡器,晶振的时钟频率也是固定不变的,因此设备要将以第三速率1/etu(96)(etu(96)=16/f2秒)接收的读卡器数据,转换成第四速率11/etu(96)(etu(11)=372/f1秒)传输的数据发给智能卡;或将设备以第四速率1/etu(11)(etu(11)=372/f1秒)接收的智能卡数据转换成以第三速率1/etu(96)(etu(96)=16/f2秒)传输的数据发给读卡器。
以上所述各实施例,只是本发明较优选的具体实施方式,本领域的技术人员在本发明技术方案范围内进行的通常变化和替换都应包含在本发明的保护范围内。