摘要:
介绍了一种带有USB 接口的射频IC 卡系统,阐述了该系统的工作原理。经过方案对比,选用USBN9603 作为USB 接口控制芯片,构成USB 接口电路,可以使设计简单,尤其适合于产品的改型设计。给出了USB 设备的软件设计方法,并给出了单片机与上位管理机通信的程序流程。由于采用USB 接口,可以克服以往IC 卡系统不支持热插拔和不能灵活与外设连接的缺点。
射频IC 卡即非接触式IC 卡,是最近几年发展起来的一项新技术,它将射频识别技术和IC 卡技术结合起来,解决了无源(卡中无电源) 和免接触的技术问题,具有使用方便、寿命长等优点,因而在日常生活中得到广泛应用。
过去IC 卡系统的验卡机与上位管理机之间通信,通常是使用串行口RS2232 ,但RS2232 串口的数据传输速率较慢,而射频卡机一天记录量很大,并且一个数据采集点往往要对应多台验卡机,因此希望加快PC 机与验卡机之间的数据传输速率。
USB 是一种支持即插即用的新型接口,主系统和USB 外围设备之间的数据通过一个4 针探头传输,具有传输速度快、支持热插拔、易于扩展、使用方便等优点。USB 接口的传输速度比串行口快得多,USB v1.1规范的数据传输速率可以达到1.5 MbPs~2 MbPs ,USBv2.0 所规定的传输速率更是达到了360 MbPs~480MbPs。正因为USB 接口具有这些优点,因而逐渐成为PC 机与外设相连的一种发展趋势。我们在对自行研
制的JS201 型射频验卡机进行改进时,决定采用USB接口与上位管理机进行通信。
1 硬件设计
1.1 系统结构与工作原理
射频IC 系统结构如图1 所示。
整个系统以8051 单片机为核心,由它来完成与读写模块的通信、存储管理、输入、显示等功能。使用时,用户将自己的射频卡掠过车载验卡机阅读器的磁场感应区时,射频卡系统将射频卡的卡号、金额、密码等信息读入,先对密码的正确性和卡的合法性进行判别。如果是合法卡,验卡机根据已有设定计算出射频卡的剩余额,然后向卡中回写相应的数据,以确保对卡操作的正确性和安全性。
图1 射频卡系统结构框图
本文研制的射频IC 卡系统的射频卡阅读模块采用射频读写芯片P4095。P4095 内部集成了PLL 系统,用来完成对天线谐振频率的自适应调整,并且外部不需要晶振的支持,具有100 kHz~150 kHz 的载波频率范围,由它来完成车载验卡机与射频卡信息的交换。实际工作时, 射频卡本身不带电源, 需要从阅读器P4095 发送的射频信号中提取能量。因此,在射频卡接收数据期间,它一方面从接收到的信号中按原来约定的编码方式解调出数据信息(按曼彻斯特编码规律) ,另一方面又从接收到的信号中提取出能量。又因为射频卡是通过负载调制的方式耦合到应用终端的天
线上的,所以在射频卡返回数据时, P4095 连续发射125 kHz 射频载波信号,从而使阅读器得到射频卡中的信息。然后,把接收到的信息发送给单片机,由单片机按照射频卡的无线规范协议对数据进行处理、保存。
1.2 USB接口电路设计
目前设计带USB 接口的仪器的方案主要有两种:一种是直接利用自带USB 端口的单片机,例如Cypress公司的EZ2USB 单片机、Intel 公司的8X930 等;另一种是仍采用普通单片机,但增加一块USB 接口芯片来处理USB 通信。前者由于微处理器与USB 接口芯片集成在一起,因此开发较简单,但价格较高,并且要购置专门的开发系统。后者必须另有一个微处理器来进行控制,但其价格便宜、设计简单,尤其适合于产品的改型设计,改型时硬件上只需对端口连接进行改动,增加少量元件即可,软件上则只要增加微处理器的USB 协议处理和数据交换程序等,无须对原有的产品做很大的改动。因此我们采用后一种方案对原有射频IC 卡系统进行改进。
选用National Semiconductor 公司的USBN9603 作为USB 接口控制芯片,它集成了一个USB 收发器,以满足传输时的电气性能要求,还集成了串行接口引擎(SIE) ,主要负责时钟恢复、数据包结束检测、CRC 编解码以及结点状态识别等。它通过VBUS、GND、D+ 、D- 等4 根线与主机实现物理连接。其中:VBUS 为总线电源,可对USB 外设提供+5 V 电源;GND 为地线;D+和D- 为数据线,USB 利用D+ 和D- 两数据线,采用差分信号的传输方式传输串行数据,支持高速或者低速传输模式。另外,芯片内部总共带有7 个传输/接收FIFO 缓冲器:1 个双向传送和接收FIFO 缓冲器,3 个单向传送FIFO 缓冲器,3 个单向接收FIFO 缓冲器。其与单片机的连接如图2 所示。
图2 单片机与USBN9603 接口电路
8051 单片机对USBN9603 操作时, 由P1.0 控制IOMS ,将其设为IPO 端口访问方式,并根据RD、WR 信号配合A0 电平状态通过A8~A15 完成端口数据的读写。端口访问采用中断方式,即由USBN9603 向8051单片机的INTO 产生中断请求信号,8051 通过读取US2BN9603 相关寄存器判断产生中断的类型,从而执行相应的中断处理程序。