随着射频技术的不断发展,无线通信领域越来越受到人们的重视,而作为无线通信领域中的非接触IC卡已经是随处可见了。如:公交车的公交卡,食堂里的饭卡,俱乐部里的健身卡等等,几乎涉及到了我们生活中的各个领域。一般来说,小规模的、成熟的非接触IC卡系统以单片机为核心处理器,传输网络为RS485/422或者CAN总线,这样的系统结构具有控制功能强大、价格便宜、易于开发设计等优点,因此成为各种小规模非接触IC卡系统的首选方案。但由于单片机的运算速度、存储空间和指令系统的局限性,在大规模的非接触IC卡的网络系统中,如果继续采用一片单片机为核心处理器,则寻址等待的时间以及数据存储量势必超出系统指标范围。传统的解决办法是增加单片机的数量,将IC卡信息分类存入相应的单片机中。这样虽然可以解决上述问题,但同时也带来了弊端,一方面这将使得整个系统的成本增加,另一方面势必增加了系统的复杂性以及不确定性,给使用者带来了诸多不便。
针对以上情况,本文提出一种基于快速DSP芯片的非接触IC卡控制系统的设计思想。此系统采用DSP芯片代替多个单片机作为核心处理器,利用DSP处理速度的优势,优化了系统的整体性能,同时南于一片DSP的价格也低于多片单片机的总和,因此本系统产品成本也占有优势,在此基础上,采用DSP芯片处理器还能够存储大量的IC卡权限数据。
1 系统架构
系统总体设计图如图1所示,本系统构成了一个典型控制网络,当读卡器MF RC2500处于检测终端的磁场范围之内时,将会接收外部信号的射频脉冲,同时从接收到的射频脉冲中解调出信息送到控制器TMS320F2407,控制器TMS320F2407对读卡器MFRC500进行读写操作,将接收到信息进行分析、处理后,经过RS-485/422以半(全)双工通信方式将信号送到服务器中,形成一个总线拓扑结构的控制网络。在系统工作过程中,服务器随时监测控制器的状态,判断控制器的工作情况,检测读卡器的状态。服务器和控制器工作在主从方式下,由服务器发出的控制命令和控制器返回的响应信息通过八芯电缆进行传输。
Philips公司的MF RC500型读卡器是应用于13.56 MHz非接触式通信的高度集成读卡IC系列中的一员。该系列读卡器利用先进的调制和解调概念,完全集成了13.56 MHz下所有类型的被动非接触式通信方式和协议,是本系统实现无线通信的核心模块。MFRC500系列模块支持SO14443TypeA协议的1~4部分和Mifare经典协议,内部发送器部分不需要增加有源电路就能够直接驱动近操作距离的天线,采用CRYPO1加密算法并含有安全的非易失内部密钥存储器。芯片内部集成了模拟调制解调电路,只需最少量的外围电路就可以工作,支持I2C接口,UART接口,SPI接口。特别适用于ISO14443标准下水、电、煤气表、自动售货机、门禁、电梯、饮水机、电话机等计费系统或身份识别系统的读卡器的应用。
2 硬件结构
MF RC500的并行接口可以与具备不同类型并行接口的多种微处理器相连,每次上电复位后,MF RC500都将复位它的并行接口模式,并通过相应引脚的逻辑电平,判定当前微处理器的接口类型,实现与微处理器的同步。本系统采用读写选通分离且地址/数据总线复用的构建方式,连接原理图如图2所示。由图2可以看出本系统采用中断工作模式,即TMS320F2407根据MF RC500提供的中断信息对其进行控制。另外,根据实际情况,系统也可采用查询方式对非接触IC芯片的操作。
MF RC500的地址总线A2,A1和A0始终为011;来自TMS320F2407的复位脚负跳变将复位MF RC500,TMS320F2407的DS脚生成片选信号NCS和脚分别输出读控制信号NRD和写控制信号NWR,A4脚则生成地址锁存信号ALE (TMS320F2407的地址线与数据线是独立的,没有ALE地址的操作,为了能够访问MF RC500,这里通过对I/O引脚的输出编程进行实现),TMS320F2407的中断引脚INT0与MFRC500的中断引脚直接相连,MF RC500的中断输出将触发TMS320F2407进入相应的中断服务程序中去。
3 软件设计
3.1 通信协议
TMS320F2407控制器与系统服务器通信采用全/半双工方式,按照RS-232/RS-485规定一帧数据的格式以及电平特性,各种命令与返回状态信息组成本系统的通讯协议。考虑到系统扩展、集成时会带来的问题,设计时尽量把通讯协议标准化。在本系统软件设计中,通信协议采用“帧头+地址+命令+数据+校验+帧尾”的格式。
3.2 软件设计
系统软件设计的主要程序包括:询卡操作程序、通信中断处理程序、读写时钟、选卡、读卡程序以及与上位机通信程序等。对卡操作的过程是一个很复杂的程序执行过程,要对MF RC500内部一系列的寄存器进行配置,而且这些操作对时序要求非常严格。首先系统初始化,如果有卡进入射频区域则芯片开始读卡,根据卡片信息与片内存储信息进行比较判断是否为对应卡;如果不是有效卡,则程序返回;若是对应卡则判断此卡是否需要密码,如果不需要输入密码,直接读卡内信息,卡内信息如与上位机中信息吻合就根据程序执行相关指令;需要密码时,则等待输入密码后读卡内信息,如果连续三次输入密码都错误,证明卡无效,主程序返回。主程序的流程图如图3所示。
4 系统性能测试结果评估
经过理论计算和实际样机验证,基于TMS320F2407的非接触IC卡系统来说,较之于单片机为核心的系统一般有以下几方面的优势:
(1)系统存储量大,TMS320F2407的数据采用16位的模式,相对于传统8位的单片机,在同样片选的情况下数据是它的两倍,而TMS320F24 07的12根I/O数字引脚经过配置后都可以用来作为地址的片选信号。正是基于TMS320F2407的特殊存储结构和丰富的引脚资源,使得它的存储量远远大于以单片机核心的系统,完全满足大容量卡数据的应用场合。
(2)处理速度快。系统晶振为10 MHz,经过二分频后就为20 MHz,经过计算以及实际验证,程序经过运行后找卡时间约为0.0042s,MFRC 500格式传输的规定,一次刷卡传输数据的时间不会超过0.2 s,因此在系统定时器设置0.3的定时常数时,可以得出系统最大可容卡大约为100万。
5 结束语
本文主要介绍一种基于DSP的非接触IC卡控制系统,给出了相应的硬件和软件设计。本系统通用性强,适用面广,涉及到各个领域中的应用,可根据实际情况在此框架中进行修改。相对于单片机为核心的非接触IC卡控制系统来讲,具有存储容量大,处理速度快,系统成本低的优点,适应于大规模的应用场合。经实际使用证明,该系统工作稳定,实时性好,抗干扰能力强,性价比高,操作灵活、方便,若投入使用将会产生较好的经济效益。