目前广泛使用的非接触读卡芯片主要是Philips公司的RC500,RC531和RC632,以及TI公司的部分非接触读卡芯片,但是由于这些芯片功能不强,具有较大的偏向性。文中介绍了Inside Contactless公司推出的PicoRead RF芯片较好地解决了上述问题。在介绍PicoRead RF芯片的特点、工作原理和内部结构的基础上,对软件实现的流程进行了详细说明。
1 PicoRead RF的特点
PicoRead RF芯片为一款标准的13.56 MHz非接触读卡芯片,采用该芯片设计的非接触读卡器满足ISO14443,ISO15693,Sony Felica等协议,它支持非接触卡片(或者非接触标签)发送数据和能量,并从非接触卡片(或者非接触标签)中获取相关数据。
PicoRead RF芯片可支持ISO15693规范,ISO14443 TypeA,TrypeB规范,Sony Felica协议,以及其他的传输速度为26~848 kB/s的非接触协议;并支持数据和能量的非接触传输;支持SPI协议和并口传输协议;其操作距离可达10 cm,并具有卡检测和感应区载波信号检测机制,实行1 Byte-2级FIFO管理,非常适用于NFC手机之类的应用场合,以及PayPass读卡器的设计。
2 PiCORead RF的硬件设计与工作原理
非接触IC卡与读卡器之间数据传输的过程和原理如下:当卡片在一定距离靠近读卡器表面时,非接触性IC卡与读卡器之间通过无线电波来完成读写操作。非接触IC卡本身是无源卡,当读卡器对卡进行读写操作时,读卡器发出两部分信号:一部分是电源信号,该信号由卡接收后,与本身的器件一起产生瞬间能量来供给芯片工作;另一部分则是指令和数据信号,指挥芯片完成数据的读取、修改、储存等,并返回信号给读卡器完成一次读写操作。
文中所设计的IC卡读卡器由微控制器(MCU)、射频发射和接收处理单元、接口电路、时钟电路、液晶显示(LCD)模块、时钟以及存储器组成。本设计采用PicoRead RF芯片作为读卡器中的射频发射和接收处理单元读写芯片。结构如图1所示。
读卡器中的微控制器为主控制单元。PicoReadRF芯片作为读卡器中的射频发射和接收处理单元读写芯片。它是微控制器与非接触式IC卡之间的“桥梁”,它一方面可以将微控制器发送给IC卡的指令和数据调制在13.56 MHz的振荡信号上,通过高频天线发射出去;另一方面接收来自IC卡的应答信息,并将其解调成数字信号传给微控制器,实现微控制器与IC卡之间的双向通信。
接口电路是微控制器与PC机之间的通信“桥梁”,可以实现读卡器和PC机之间的串行或并行通信。时钟电路为系统提供实时时钟,液晶显示模块平时显示时间,读卡时显示所读到的内容。上述几个模块以逻辑设计配合,通过程序控制完成对非接触式IC卡的读写。
3 PiCORead RF的软件设计
PicoRead RF应用于非接触支付环境时,大致的控制流程,如图3所示。
PicoRead RF的软件设计和指令控制分以下3个阶段:
(1)寄存器构造阶段(Configuration Mode),主要完成系统的初始化。当卡片靠近读卡器表面时,读卡器发出电源信号,并产生能量供给芯片工作,此时芯片进入寄存器构造阶段:主要完成芯片复位、初始化以及本次交易所使用非接触协议的相关参数配置,以实现对应的非接触通信协议。相应参数设置成功后,读卡器的液晶屏会显示“系统初始化成功”。
(2)数据发送阶段(Emission),当成功进行初始化之后,读卡器识别出在作用范围内有IC卡的存在,通过微控制器发出控制指令,将芯片设置为数据发送模式,并检测FIFO数据缓存器的状态,从而保证数据可以顺序读入和读出。接下来就可以进行数据的发送,发送完毕后,微控制器会发出指令判断是否有多余数据,若有,则重复上述操作,继续传输,若无,则进入数据接收阶段。在数据发送阶段,除完成帧数据的发送以外,还需对相关奇偶位、CRC校验值进行配置。
(3)数据接收阶段(Reception),微控制器发出控制指令,将芯片设置为数据接收模式,并指挥芯片完成数据的接收,接收完毕,返回信号给读卡器完成一次读写操作。若未接受完毕,则返回初始状态重新上述操作。数据接收阶段除完成帧数据的接收以外,还会进行奇偶校验和CRC校验。
4 结束语
对PicoRead RF的特点和应用进行了描述,并就如何在硬件和软件上实现PicoRead RF的非接触应用做了介绍。Inside Contactless公司推出的这款非接触芯片性能稳定、支持的非接触协议多,同时较其他的非接触芯片在价格上有一定的优势,因此在设计非接触读卡设备(NFC手机、PayPass读卡器等)时是一种较好的选择。