1、纠一 一种非接触式IC卡控制器的设计 肖斌 秦 徐志伟 孙承绶 (复旦大学 ii i系统国家重点实验室,上海2。433) 摘要介绍了ISO1EC14443中TypeB类型非接触式Ic卡实现抗冲突的算法,设计了一种适用于非接触式 Ic卡的具有抗冲突功能控制逻辑的VLSI结构,井用VHDL语言进行了仿真。电路中提出了确定时间片的伪随机 算法来实现抗冲突功髂 用IrnCMOS单元库进行综台,在20MHz时钟频率下,电路的规模为7000门左右,关 键路径延时为I6ns。该电路可应用于实际的非接触式Ic卡控制器,具有一定的实用价值。 关量词韭量墼苎 抗帐时问片掳勿蜇 叶 中圈分类号TN柏2文献标识码:A
2、文章编号10033 (2000)2-5704 Design of Controller for One Kind of Contactless IC Card Xiao Bin,Qin Dong,Xu Zhiwei,Sun Chengshou (State Key Lab of ASIC and Sy“,Fudan Uniity 200433) Abstract The anticollision algorithm of contactless IC card about ISOIEC1 4443 type B iS described in this paper and an VLSI s
3、tructure used for contactless IC cards controller is designed A pseudorandom algorithm for the selection of slotmarker is designed to solve the collision problemThe circuit is synthesized by 1um CMOS cells 1ibraryIt COSTS only 7000 gates when it works at 20MHzThe delay of critica1 path is 46ns and i
4、t can be used practically Keywords Contactless IC card AntiCollision Slotmarker 1 引 言 Ic卡自诞生以来,就备受重视,应用领域从最 初的银行信用卡单一领域,渗透到包括保安、付费 电话、健康记录卡、身份证和宾馆旅游等几十个甚 至上百个领域 。卡上含有一个符合国际标准化组 织(IsO),具有微处理器及大容量存储器等的集成 电路芯片。 非接触式Ic卡区别于接触式Ic卡在于没有机 械触点。目前,有关国际标准化组织订出非接触式 Ic卡的国际标准,如IsOIEC10536(Close coupled cards),ISOI
5、EC14443(Proximity cards),ISO IEC1$639(Vicinity cards),分别适用于卡对机站 (Coupling devices)操作在非常近、附近和较远的距 离 。其中IsOIEc14443规定了两种不同的通讯 传输模式,Type A和Type B,其对应的控制逻辑也 不尽相同。在PICC卡(proximity cards)和PCD机 半导体技术2000年4月茅25喜第2期 (proximity coupling devices)间,通过电磁波的无线 电方式进行通讯 非接触式Ic卡技术结台了射频识别技术和Ic 卡技术。Ic卡技术则结台了存储器芯片的设计和微
6、控制器芯片的设计。目前在Ic卡上应用最多的存储 器芯片是EEPR0M。 PICC卡包括射频电路,编码器(Encoder),解 码器(Decoder),存储器和控制器等几个部分。本文 重点介绍了控制器的抗冲突算法,井设计了控制器 的电路实现结构。对于lgmCMOS工艺,在20MHz 时钟频率下工作时,电路规模为7000门左右。 2 PICC卡控制功能构成和要求 21控制系统组成 PICC卡上射频电路包括信号的接收和为PICC 卡上的其它部分提供电源。控制器包括微控制电路 模块,随机数产生电路模块,微控制器同存储器接 57 维普资讯 http:/ 口电路模块 控制器接收由解码器输出的数据,经 过处
7、理如读写EEPROM产生伪随机的时间片等, 再将数据结果输出至编码器 整个控制电路组成如 图1所示: 图1 PtCC卡控制电路模块 22 PCD机与PICC卡的通讯协议 在整个通讯过程中,传输的第一个字节的 10lbit为抗冲突命令标志 (1)PCD机问隔一定的时问就发送REQB命 令 REQB命令组成如下: REQB l Apf定义为Apf=05=(00000101)b AFI定 义为PCD机选择不同适用范围的PICC卡 如可对 卡分别限制为交通卡,信用卡身份证卡等 当卡 本身符台AFI要求时,才会作出响应命令 PARAM 定义为随机时间片的范围,=1,2,4,8或16 (2)若不同的卡在同
8、一时问发出响应命令,则 发生冲突,PCD机需发出时间片SLOTMARKER 命令 即PCD机给出命令为第M个时间片PICC 卡所产生的随机时问片等于 时才回应。 SLOTMARKER命令如下: sL0-r MARKER:j i : Apn定义为Apn=(nnnn01 01)b nnnn为二进制 的时间片序号,可取1到(=1,2,4,8或 16) (3)PICC卡在一定范围内接收到REQB命令 在选定的时间片发出ATQB命令。ATQB命令如 Apa定义为Apa=50=(010l0000 Identifier (PuP1)是PICC卡传送给PCD机的数据,PCD机 以此来区分不同的卡 结合PuPI
9、数据和Applica tion Data可完成PCD机对PICC卡的认证 (4)PCD机接收到正确的ATQB命令,发出 ATTRIB命令 ATTRIB命令如下: 一R 枇 1l 算 Apc定义为Apc一1D =(00011101)b。Identifier 是PCD机传送给PICC卡的信息,可完成卡对机的 认证。NAD为PCD机对P1cc卡分配的通讯地址 (5)PICC卡接收到ATTRIB命令后,作回复命 令: 厂 T I ! ! ! PCD机通过NAD来判别此次操作是否正确完成。 (6)建立好通讯地址后,PCD机可与选定的 PICC卡进行读写操作。同时,PCD机还可对其他的 PICC卡进行通讯
10、协议,以完成多卡同时操作的功 能。 23 PICC卡的控制流程 根据上面PCD机与PICC卡的通讯协议PlCC 卡的控制流程如图2所示 3抗冲突控制功能的实现 当一个人拥有2张或2张以上的PICC卡同时 进入RF(Radio Frequency)区域时,接收到同一个 PCD机发出的REQB命令,根据卡上的控制协议 会同时发送ATQB命令。这样就造成了卡之间的信 号冲突,PCD机无法检测到正确的信号。PCD机必 须解决卡之间的信号冲突,否则PCD机不能确定与 具体的PICC卡建立通讯协议,从而不能完成操作 命令。 31时间片的支持 PICC卡在每次进入RF区域时,先接收到从射 频电路送来的Res
11、et信号。此时卡从EEPROM读 人信息,知道此卡是否支持时间片算法 若不支持, 则在PCD机发出REQB命令,通过AF1检测正确 后,立即响应ATQB命令 若支持则产生随机的 半导体技木2006年4耳第25卷第2期 维普资讯 http:/ 抗冲突 囝2 PICC卡状态转换流程 时间片 ,等待PcD机发出相一致的时问片时,再 发送ATQB命令。 32时间片算法 当PICC卡支持时间片算法时,随机数产生模 块生成伪随机数作为PICC卡产生的随机时间片 。若PCD机检测到冲突产生而改变值时,PICC 卡能根据不同的Jv值(确定时间片的范围)来生成 不同的随机时间片,确定自己在哪一个时间片发出 信息
12、。从而使得在其中一个时间片内只有一张卡发 出ATQB命令,使PCD机得到正确的信息,实现抗 冲突的目的。 PCD机没有与具体的PICC卡建立通讯联系 时,它无法区分不同的卡给予不同的信息,因此认 为不同的卡所接收到的从PCD机上发出的信息是 相同的 这样使得产生随机数必须在卡本身提供 的信息得到 (1)认为一张卡的概率较大,如身份证卡等。所 半导体技木20年4再弟25卷第2期 以当PCD机最初发出REQB的命令时,其 PARAM参数定为0。此时N=1,所有的卡不经过 时间片算法,直接响应ATQB命令(若只有一张卡, 不存在发生冲突问题), (2)当发生冲突时,由PCD机的解码器知道冲 突产生,
13、将PARAM参数加大,由l增至4,其对 应的时间片为N-2,=4,=8N一1 6。若仍 有冲突,保持N=1 6 (3)每次当N=l,即PARAM为0时,微控制 电路模块将卡的标识号CSN(chip serial number), 共4Bytes 32bits传送至随机数产生模块。 (4)当N一2时,微控制器通过数据线将REQB 中的PARAM参数传送给随机数产生模块。对随机 数产生模块中的CSN移位,即最低位bit作为产生 的随机数返回至微控制器 如N=2,则最低一位bit 为产生的随机数 (5)当大于2时,依次类推,循环将CSN的 低位bit作为随机数返回至MCU。如下图3所示。 C N=l
14、 6 =l6 -8 =4 N-2 囝3严生的伪疆机藏 时间片的美景 (6)不可能存在两个完全一样的CSN,一直进 行下去,对于两张卡肯定可以使得在不同的时问 片发出无冲突的ATQB信号,理论上可解决抗冲突 问题 (7)时问片的选取是基于有一个时间片上只有 一个PICC卡发出ATQB信号即可。至于其他时间 片有无冲突则无所谓。因此,此方法能解决抗冲突, 且效率是一个概率问题,认为需多发送REQB命令 (两张卡的低位相同)的概率较小,即此方法的效率 较高。 (8)三张卡的抗冲突问题等同于两张卡。对于 4张或4张 上的卡时 存在一种小概率事件,即根 据上述的时间片划分办法,任何一张卡在选定的时 间片
15、内,都有另外一张卡选定同样的时间片从而 使得上面的抗冲突过程无法解决 在这种情况下,由 于PCD机知道冲突发生的时间片,即是卡的CSN 59 维普资讯 http:/ 一部分,可以发出带有低位的命令使一部分卡发出 ATQB命令,从而解决抗冲突。一般情况下不会出 现此种情况,在这里不作详述 33状态机的实现 根据图2,要实现PICC卡的抗冲突功能,可将 卡从不同的阶段划分为不同的状态,从而完成控制 功能。 当PICC卡接收到从PCD机发送来的数据时, 解码电路和微控制电路采用同步接口。解码器作为 发送系统给微控制器提供时钟,用允许信号通知在 两部分之间传送数据。允许信号在时钟上升沿经过 延迟变为高
16、有教。当数据线上有数据时,一直保 持为高。所传输数据中,第一个字节为特定的抗冲 突字节,而后面有可能存在数据与第一个字节相同 而产生误操作。因此有必要在允许信号为高时,产 生一个周期的检测高信号,如下图4所示。用以判 断为抗冲突字节,从而完成PICC卡的正确操作,以 实现状态机的转换 时钟 允婚:信号 检测信号 数据 母4时序黄系圈 当PcD机与其中一张卡进行操作时,发现其不 能完成响应的命令,如金钱余额不够,可令其进人 HALT状态,此卡不再参与PCD机的通讯 这样可 使得PCD机与其他卡重新建立通讯联系,完成操 作,避免进人死循环。 34具体控制功能 当PCD机和PICC卡互相确认并建立了
17、通讯 地址后,它们可以进行具体的实际操作 在PCD 机和PICC卡的通讯控制过程中,模拟了机对卡基 60 本的读写操作,如读上一次的操作时间,写此次操 作时间,读写卡上的金钱余额等。与EEPROM的接 口电路,考虑到EEPROM的读速较快,而写的速度 较慢的特点,写人字节时,必须有EEPROM的确认 正确写的信号才可进行另外的操作,如再进行读写 操作等。而读命令可一直发送,等待EEPROM发出 的读允许信号为高时,从数据线上直接读取数据。 35错误帻的处理 PICC卡上的编码器可能检测到帧错误或校验 错误,此时编码器不对控制器输出。PCD机在一定 的时间内检测不到信号,作延迟错误处理,重新发
18、刚才的命令。而PICC卡直到编码器接收到正确的 数据时,才将数据传送给控制器。 4 结 诸 用Synopsys软件进行仿真,用1 m工艺 CMOS单元库进行综合,在20MHz时钟频率下,电 路规模为7000门左右,关键路径延迟为46ns,满足 实际的非接触式Ic卡的要求。 非接触式IC卡在交通系统,身份证验证系统, 金融系统等领域都有着广泛的应用前景。本文提出 了确定时间片的伪随机算法来实现抗冲突功能,设 计了一种适用于PICC卡具有抗冲突功能的控制电 路,用VHDL语言进行了仿真和综合。结果表明,该 电路满足实际的非接触式IC卡的功能要求。 参考文献 1王爱英主编智能卡技术北京:清华大学出版
19、社、1996:213 2 ISOIEC1444一2 199810 22 Identiflcatmn cardsContactess in tegrated circuit(s)cards ProximEty cardsPart2:Radiorequency power and signal Eaterface 3 IOIEC144433:1998 10一Z2 Identification cards Contactess in tegrated circuit(s)cards Proximity cardsPart3:Ittitialization and amicolisioa 4 ISO1EC144434:199810 22 Identification cardsContactess Ln_ tegrated circuit(s)cards Proximity cardsPart4:Proocos and commands (收稿日期l9990707) 肖斌男i997年毕业于复且大学电子工程系。现为复旦大 学专用1c与系统国隶重点宴验室硕士研究生。主要从事教字集成电 路的设计与研究工作。 半导俸技术2000卑4月第25卷第2期 维普资讯 http:/