引言
某车辆管理系统对车辆使用者的身份识别有明确需求[1],在车载强干扰环境下,要求准确、快速地识别车辆使用者信息。结合车辆的具体使用情况,对比了IC卡、射频卡、ID卡等,提出车辆安装电子标签读卡机和无源电子标签识别方案,最后确定无源RFID (Radio Frequency Identification, 射频识别) 方案。RFID 是一种非接触式的自动识别技术。通过射频信号自动识别目标对象并获取相关数据,识别过程无须人工干预,可工作于各种恶劣环境,操作快捷方便。根据频段不同,RFID分为低频和高频系统[2]。低频近距离RFID系统主要有125 kHz和13.56 MHz频段;高频RFID系统主要有915 MHz、2.45 GHz和5.8 GHz。无源电子标签(RFID卡片)也叫被动标签,在进入读卡机的识别范围后接收射频信号,部分射频能量转化为直流电工作,然后将存储在芯片中的信息数据发送给读卡机。无源电子标签成本很低,有很长的使用寿命,体积小,读写距离较近。
在应用中,读卡机作为车载监控终端[1]的一个传感器安装到车辆上,通过读取不同的RFID卡,包括二代身份证,来识别不同的车辆使用者,完成身份识别、时间统计、考勤打卡和报警提醒等功能。
1 读卡机总体设计
为提高信息安全,在总体设计时采取以下设计思路:元器件选型仅限在中国大陆设计制造厂商内优选;通信协议采用更安全的ISO14443 TypeB协议[3](协议同中国第二代身份证)。公交、食堂、商场、会所等多使用TypeA卡,但是相对TypeA卡来说,TypeB卡芯片具有更高的安全性,接收信号时,不会因能量损失而使芯片内部逻辑及软件工作停止,支持更高的通信速率,抗干扰能力也更强,更能保证数据安全。
读卡机以通用非接触读卡机芯片FM1715SL为核心,采用上海海尔集成电路有限公司的微控制器HR7P90H作为处理器,其他关键模块包含交互接口、电源管理和RFID射频等单元模块。RFID读卡机总体框图如图1所示。
图1 读卡机总体设计框图
车载终端作为主设备,通过数据电源复合接口,给读卡机供电,进行数据通信。电源管理模块输出读卡机需要的电压;RS232驱动电路完成串口通信的电平转换;HR7P90H通过SPI口与FM1715SL进行双向数据通信,实现RFID卡的识别;FM1715SL的天线采用印制板天线,进一步降低成本,提高可生产性;HR7P90H根据车载终端、卡片状态等信息,通过蜂鸣器和LED实现声光提醒。
读卡机能读取第二代身份证的全球唯一ID号,可省略卡片的采购,车辆使用者的身份证可同时作为识别卡使用。
2 系统硬件设计
系统硬件主要包括读卡机芯片和控制器的接口电路、电源电路、时钟电路和匹配电路等。
2. 1RFID卡专用芯片
从开发难度、器件成熟度、生产供货等方面考虑,选择了上海复旦微电子股份有限公司设计的FM1715SL,这是基于ISO14443标准的非接触卡读卡机专用芯片,支持13.56 MHz频率下的TypeA和TypeB两种非接触通信协议,以及多种加密算法。FM1715SL具备高集成度的模拟电路,只需少量的外围电路;操作距离达10 cm;支持ISO14443 TypeA及TypeB协议并内置加密单元[4]。FM1715SL电路设计如图2所示。
图2 FM1715SL外围电路
接口电路:FM1715SL的数据总线是标准的4线SPI接口,FM1715SL作为从设备,由微处理器通过SPI总线和FM1715SL输出中断完成通信控制。
发射电路:FM1715SL编解码的参考时钟是13.56 MHz,由晶体振荡器及其驱动电路产生。从TX1和TX2引脚发射出去的是调制的13.56 MHz载波信号,其频谱除了有13.56 MHz外,还有高次谐波分量。图2中L0和C0组成的滤波器用于过滤13.56 MHz的谐波功率,以满足相关EMC规定的要求。
接收电路:FM1715SL的接收电路利用RFID卡的响应信号调制到副载波的双边带进行通信。FM1715SL输出VMD作为RX引脚偏置电压,并采用电容C4进行滤波稳压;电阻R1和R2组成RX和VMD之间的分压电路。
天线设计:天线是RFID读卡机的一个重要组成部分,读卡机的性能与天线的参数有着直接的关系。天线建模有直接连接模型和50 Ω阻抗匹配模型等。由于卡片和天线直接距离设计小于5 cm,可使用简单、低成本的直接连接模型,将天线设计到PCB板上。天线模型如图3所示。
图3 直接连接天线模型
在读卡机和卡片通信过程中,天线用于产生能发射和接收射频信号的磁通量。而磁通量用于向RFID卡提供电源并在读卡机和卡片之间传送信息。因此,设计天线线圈的电流最大,以产生最大的磁通量。13.56 MHz属于短波频段,因此可以采用小型环状天线,形状有方型、圆形、椭圆型、三角型等,本设计采用图3所示的矩型天线。C1完成发射端的50 Ω的匹配,提高能量传输效率;C2与天线的等效电感L1组成13.56 MHz谐振网络;R1用来调整天线的品质因数Q。在天线设计中,Q是一个非常重要的参数,Q太小则天线的读卡范围内有盲区,影响数据通信的稳定和可靠;Q太大则读卡距离缩短。Q一般取35较好[4]。为提高生产一致性,降低调试难度,PCB采用多层板设计,并通过叠层阻抗控制,精细设计矩形天线的电感和阻抗,同时模拟电路的电阻采用1%精度的贴装型号,电容采用低温度系数、低温飘、1%精度、NPO介质的贴片电容。
2.2 微控制器
HR7P90H是海尔公司高性能8位精简指令集微控制器,具有丰富的片上外设。其中,高速异步收发器UART实现与车载终端的通信;通过I/O端口完成4路LED、1路蜂鸣器的控制和1路SPI接口的模拟;内置的防护电路满足工业级ESD(Electrostatic Discharge)和EFT(Electrical Fast Transient burst) 标准,非常适合工业控制和汽车电子领域。HR7P90H内置16 MHz振荡器和上电复位电路,SOP28的小型贴片封装,能极大地减少外围电路,给FM1715SL的射频和天线电路设计提供更多的板上面积。HR7P90H支持在系统编程(InSystem Programming, ISP)和在线调试功能( InCircuit Debugging, ICD),电路设计了这两种接口,方便开发调试和批量生产[5]。
2.3 工业设计
工业设计充分考虑了车载环境的高温、振动等特殊性,兼顾用户的便利性。把读卡机设计成接触式卡槽,方便固定卡片,一方面缩短了卡片到天线的距离,降低了印制板天线的设计难度,另一方面也减小了读卡机的外观尺寸,整个读卡机仅比卡片略大一圈,更容易安装。材料选择阻燃型ABS(Acrylonitrile Butadiene Styrene),并在卡槽内部设计多条尼龙压条,进一步提高卡片在车载环境下的稳固性。读卡机工业设计如图4所示。
图4 读卡机工业设计图
3 识别软件设计
识别软件的主要功能是自动检测进入识别范围的各种卡片,完成和车载终端的通信,并根据数据内容和卡片信息,设置相关的指示灯和蜂鸣器。软件编程使用海尔公司的集成开发环境HRIDE工具完成,HRIDE支持C语言的编辑、交叉编译、链接调试和仿真;考虑到软件代码的规模和复杂度,开发调试使用了低成本的ICD仿真器。识别软件开发采用基于中断驱动的数据流处理架构[6],软件流程图如图5所示。
图5 识别软件流程图
识别软件主要由中断服务程序、任务调度和各种子任务处理程序组成。整个软件的中断来源有串口通信的收发中断、FM1715SL外部中断和各个子任务触发的软中断等。每个中断服务程序都简洁短小,能快速完成设置标志读取数据等实时性高的工作,释放处理器资源完成各种任务处理;任务调度模块根据设置的标志进行子任务的调度,每个子任务完成就清除标志后返回;子任务也可以设置标志,从而触发其他子任务的调度。比如读卡子任务完成读卡后,会触发中断,设置标志;传输子任务将卡号发送给车载终端;如果卡号无效或者定期无法读取卡片,亦会触发传输子任务,车载终端将发送点亮“无效卡”指示灯的指令,串口收中断被触发,指示灯设置子任务将被调用,“无效卡”指示灯亮起。
HR7P90H只有2 KB的SRAM,软件架构如果采用RTOS则难以实现,而采用串行的多函数架构,则实时性、可靠性、扩展性不能保证,调试难度大。通过对数据传输和任务处理合理划分,将数据读取采取中断驱动,数据处理任务通过标志统一调度,数据读取和数据处理剥离,很好地满足高实时性下多数据处理的要求。整个软件架构清晰简洁,编码设计简单,调试和维护难度都较小。
结语
读卡机已经作为某车载终端的传感器,经过各种试验测试后批量安装到车上使用。工作稳定可靠安全,成本低廉,能读取包括二代身份证的符合ISO14443标准TypeB类型的RFID卡。