摘要: 针对地铁自动售检票(AFC)系统中射频卡读写器通信接口单一、无线接入等问题,设计一种基于ARM9 和MF RC531的高性能射频卡(非接触式IC卡)读写器,可以同时支持RS232、RS422、USB和GPRS通信方式,具有通信接口多样、操作速度快、可靠性高以及使用方便等特点。该读写器可快速进行非接触式票卡识别、读写并正确显示和报警,可以方便地安装在地铁进出闸机、售票机及城市“一卡通”充值机上,具有良好的应用前景。
引言
国外早在20世纪90年代就开始了地铁AFC系统的全面运行,并且拥有本国的专业制造厂家,如美国CUBIC公司、法国CGA公司以及澳大利亚 ERG公司。国内首先使用地铁AFC设备是在1999年上海的地铁一、二号线上,由于当时国内AFC设备尚处于样机开发阶段,引进了美国CUBIC公司的AFC设备。
近年来,中国各大城市轨道交通蓬勃发展,AFC系统的使用,可实现购票、检票、计费、收费、统计的全过程自动化,有效控制地铁的客流量;而作为与乘客直接接触,关系地铁形象的读写器、票卡等设备,更为重要[1]。目前国内的射频卡读写器系统主要采用ARM7处理器为控制器,与上位机的通信方式通常采用RS232或RS422有线通信方式,限制了AFC系统的自动化和网络化进程,同时随着业务的扩展,现有系统的数据存储容量已经无法满足日益增长的交易数据的要求。针对以上问题,设计了一种基于ARM9和MF RC531的高性能读写器,能够进一步提高票卡刷卡效率,节约乘客进出站时间,提高票卡读写数据准确性,为实现读写器全面国产化提供基础。
图1地铁AFC系统
1 读写器功能分析
地铁AFC系统主要由中央计算机系统、站点计算机系统、终端设备和车票4部分组成。终端设备包括出/入站检票闸机、自动售票机、车站票务系统、自动充值机等现场设备,如图1所示。
终端设备是直接为乘客提供售检票的设备,乘客通过射频卡可以购买票卡、进出闸机、为票卡充值,而建立射频卡与终端设备的桥梁就是射频卡读写器。射频卡读写器作为与射频卡通信的核心,其性能和数据处理能力直接影响到整个地铁AFC系统的工作质量。图2为读写器总体结构图。
图2 读写器总体结构框图
目前读写器主要采用RS232或RS422有线通信方式与现场终端设备通信,接口单一,传输速率有限,同时也不能同远程监控主机进行无线通信,限制了读写器的网络化。本设计增加了USB传输接口,提高数据传输效率,使用方便快捷。同时增加了GPRS无线通信方式,能够与远程的监控主机保持通信,向监控主机发送设备状态信息。采用这种多接口协同工作的方式,可以保证读写器的可靠性和安全性。
射频卡读写器硬件结构如图3所示,主要由主控CPU、Flash/SDRAM存储器件、射频收发模块、SAM卡认证电路、通信电路和显示报警电路等组成。主控CPU采用Atmel公司基于ARM926EJS的AT91SAM9260,主频可达到180 MHz,显著提高了读写器的处理速度。外围扩展256 MB容量的NAND Flash存储数据和2 MB容量的NOR Flash存储代码,实现数据和代码分离。一方面提高数据的存储容量,另一方面提高了代码的执行效率。
AT91SAM9260不同于一般的嵌入式微处理器的一个特点是,支持USB2.0全速12 Mbps的从机接口,同时它的USART多达4个,方便RS232、RS422和GPRS模块的扩展[2]。GPRS模块主要部分为Qisda公司的 M33模块,读写器正是利用了该微处理器丰富的通信接口资源和强大的中断控制机制,快速高效地处理与上位机之间的数据交换。
射频读卡芯片选用MF RC531。MF RC531是Philips公司开发的非接触式读卡器芯片系列的一种,可以读写符合ISO/IEC 14443标准的TYPE A和TYPE B卡,具有很高的集成度、数据处理能力和很强的抗电磁干扰特性。内部自带的发射部件能够直接驱动天线,操作距离达到10 cm,不需要增加额外的驱动电路[3]。MF RC531灵活的SPI总线接口可以方便地和微处理器相连,SPI接口不需要进行寻址操作且为全双工通信,使得通信简单高效。读写芯片是整个读写器的核心,它实现读写射频卡所有必需的功能,包括RF信号的产生、调制、解调、安全认证和防冲突等。作为微处理器与射频卡通信的中介,MF RC531与射频卡由射频场来建立无线连接并完成数据交换。
读写器天线通过自身线圈建立射频场与射频卡进行通信,将产生很大的电磁辐射;同时GPRS模块发射的无线电磁波也会影响读写器的电磁兼容性(EMC)。为了保证EMC要求,采用读写器射频主板和天线、GPRS模块分别制版,天线和GPRS模块放置在读写器底部,与读写器主板之间通过隔离板屏蔽电磁干扰。同时读写器主板PCB制版采用4层板,射频部分属于高频电路,集中放置在电路板的一侧边缘处,可以减少电路板的电磁干扰。读写器天线、 GPRS模块和读写器射频主板分离的设计方案,不仅有效地保证了电磁兼容性,而且形成了系统的模块化结构,为系统的扩展升级提供了硬件设计和软件开发上的极大便利。
3 软件设计
3.1 软件总体结构
该读写器的软件部分主要采用C语言开发,启动过程中的低级初始化部分用汇编语言编写。读写器软件设计采用模块化的编程思想,系统软件包括主程序、射频卡识别及读写子模块、GPRS数据传输子模块以及USB、RS232/RS422多接口的协同工作机制。软件总体结构流程如图4所示。
图4 软件总体结构流程
总体软件主要负责各个模块的控制,并协调各个模块之间的工作。在系统上电后,首先负责对系统各个硬件接口进行初始化,然后进入正常工作循环。在正常工作循环中,可以实时感应射频卡,对射频卡进行读写相关操作;GPRS采用串口中断方式响应远程监控主机,向远程监控主机发送设备信息;而与现场设备终端通信的方式可以有USB、RS232和RS422方式。这3种方式优先采用USB方式,然后采用RS232或RS422方式,很好地处理了多接口之间的协同问题。
为了实时地实现各项功能,把多个任务合理安排到前后台工作是设计的重点。一方面采用模块化和结构化的编程思想,使得读写器能够将各程序合理地组织起来,方便程序的调试、修改和维护;另一方面采用高效的中断机制,串口中断实时接收来自设备终端或监控主机的命令,定时器中断实现读写器工作模式的切换,当外界无卡时切换到空闲模式可以有效地降低读写器的功耗。
3.2 射频卡读写程序
微处理器通过对MF RC531相关寄存器的控制实现对射频卡的读写等各种操作。对射频卡的操作分为寻卡、防冲突、选卡、认证、读块、写块、增值、减值、挂起等,其操作的流程如图5所示。
当射频卡进入读写器的天线感应范围(10 cm内)并经过一段时间的延迟,射频卡上电复位,接收MF RC531发送的请求应答指令,返回卡的类型号。当有多张卡同时接近读卡器时,MF RC531随即发送防冲突指令,系统进入防冲突循环中,选中一张卡,此时被选中的卡进入激活状态,随后卡与MF RC531之间进行3次相互认证,认证通过方可进行读、写、加、减等交易操作。操作完成后,MF RC531发出停卡指令,射频卡从激活状态返回停止状态,一次交易结束[4]。在对卡内数据进行读写操作之前,需要进行从请求应答到相互认证的过程,如果这个过程器件出现错误,将导致读写操作无法进行。
3.3 GPRS数据传输程序
GPRS数据终端起着连接读写器设备与远程监控中心通信的作用,通过GPRS模块M33,远程监控主机可以随时了解读写器的状态。模块M33有两种状态,一种是短消息接收状态,另一种是自动监控状态。图6是M33处于短消息接收状态时GPRS数据传输的流程。
图6 GPRS数据传输操作流程
M33模块在上电后通过指令“AT+CNMI”设置成短消息提醒功能,当远程监控主机要求与之建立GPRS连接,将向M33发送短消息。M33 接收到新的短消息,会向处理器发送一系列的数据信息,产生串口中断,微处理器相应串口中断进入中断服务子程序,执行指令“AT+CMGR”读取短消息内容,短消息内容符合规则将建立GPRS连接,进行GPRS数据通信,通信结束后关闭GPRS连接,重新回到短消息提醒模式[5]。
同时M33还可以自动监控读写器。在读写器处于异常状态下主动向监控主机发出短消息,要求建立GPRS连接,主动告知监控主机读写器的状态,方便工作人员的管理,真正实现了系统的自动化和网络化。
3.4 多接口协同工作机制
读写器可以通过RS232、RS422、USB有线通信方式或GPRS无线通信方式与终端设备或监控主机保持通信。为了在实际应用中有效地使用这几个接口,需要采用多接口协同工作机制。
有线通信方式用于读写器与现场终端设备的通信,其中USB接口方式以其接口方便和高传输速率优先采用,在现场终端设备无USB接口或USB接口出现故障的情况下,可以选择RS232/RS422方式与设备终端通信。硬件设计上,读写器通过一个I/O口状态可以自动探测微处理器接入的接口方式,当 USB接口和RS232/RS422接口同时存在时,优先选择USB通信方式。
PRS无线通信方式用于读写器与远程监控主机的通信,微处理器通过串口发送AT命令控制GPRS模块M33。监控中心和M33之间的通信采用 GPRS网络,用户手机和M33之间的通信采用GSM网络短消息的形式。经过设置,模块一旦上电即可处于短消息提醒状态,远程设备端可以在需要与之建立 GPRS数据通信时向M33模块发送短消息建立数据通信,并在数据通信完毕后关闭GPRS连接,重新回到短消息提醒状态,这样就可以与M33方便地建立通信关系并且减少了永久在线时心跳包所造成的数据资源浪费。另外,M33还可以在读写器处于异常状态下主动向监控主机发出短消息,保证了系统的安全性。
4 功能测试
该读写器测试结果如下:待机电流为160 mA,读写射频卡时电流为240 mA。一般环境中可在0~10 cm范围内寻到射频卡;同时采用多人轮流刷卡的方法测试读卡的反应速度及准确度,1 min连续测试200次未出现不读卡、反应不灵敏等现象;将多张卡放在读写器上面测试是否防冲突正常,测试没有出现不读卡、读错卡等现象。
读写器的USB和RS232/RS422接口通信方式切换自如,其中USB接口传输速率可以达到320 kb/s。GPRS模块M33可以快速地响应监控主机的短消息命令,其GPRS数据传输速率可以达到57.6 kb/s。整个测试结果表明,读写器运行稳定,数据传输速度快,GPRS无线接入方便快捷,基本达到了技术指标要求。
5 结论
本射频卡读写器读写距离可达10 cm,操作方便、灵活,通信接口多样,利用USB接口传输数据提高了数据的传输速度,保证了系统的可靠性和便携性要求;利用GPRS模块M33实现了读写器的无线接入,保证了系统的安全性和网络化的要求。本系统在地铁AFC系统中运行良好,可靠性高,读写射频卡迅速、方便、可靠、安全、稳定,并且在此读写器的基础上,只要稍加修改就能开发出不同的射频识别应用系统,具有很高的应用价值。
评论
查看更多