- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
基于ZigBee技术的二代身份证读卡器设计
网络化RFID读卡系统在机关、宾馆、学校等企事业单位得到越来越广泛的应用,但传统 读卡器 提供RS232/485、USB、以太网等通信接口,存在携带不便、布线因难、功耗大、成本高等缺点,无法应对无法布线、供电不便、距离远等复杂的现场环境。同时,随着身份证换发工作的开展,我国绝大部分地区居民已全面使用第二代居民身份证(以下简称为二代证),这种新型身份证采用符合ISO14443 TypeB国际标准的非接触式IC卡技术,存入了公民身份证号码、照片等个人信息,并具有全球唯一的序列号。读取二代证序列号,无需专用的身份证安全控制模块。因此,一方面,利用二代身份证代替只读卡可降低成本,防止伪造,提高了只读卡系统的安全性能;另一方面,利用无线网络实现读卡信息的传递,可避免繁重的布线工作,适应复杂的应用环境。设计具有以上功能的新型二代证 读卡器 具有广阔的应用前景。
1 系统硬件设计
ZigBee网络中的节点大致分为2类:
①传感器节点,作用是采集周边环境数据,进行相应的存储及处理,并通过短距离无线通信将数据发送到网关节点,同时每个节点都是一个路由器,具有自组网的能力。
②汇聚节点,作用是充当网关,连接传感器网络和其他外部网络。
本设计属于第二种传感器节点。如图1所示,硬件系统由二代证读卡模块、无线通信模块、数据存储模块、电源模块及主控MCU(ATmega12 8L)等部分构成。人机界面模块包括LCD、蜂鸣器与按键等,向用户提供参数设置、读卡信息反馈、声音提示等交互功能。二代证读卡模块接收MCU指令,阅读身份证ID并返回。ZigBee通信模块实现读卡信息的发送、控制指令接收、数据更新等功能。数据存储模块保存最近一段时间内的所有读卡信息,以保证读信息的完整性与可靠性。电源模块具有自发电功能,无需外部供电,可向系统提供持久工作电压。
1.1 二代证读卡电路
读卡电路选用MF RC531作为射频基站芯片,它是NXP公司生产的应用于13.56 MHz非接触式通信的高集成IC读写芯片系列中的一员。MF RC531射频芯片提供了两种通信方式:并行模式与SPI模式。为节省主控MCU引脚数量,设计中选用SPI方式。如图2所示,主控MCU ATmegal28L与射频芯片MF RC531通过SPI接口连接,在SP|通信中,ATmegal28L为SPI主机,控制SPI从机MF RC531完成数据传输过程。数据通信由SPI主机发起,它首先使NSS引脚输出低电平以选中SPI从机,然后通过SCLK引脚向从机A2端口发送8个时钟信号。在时钟信号的控制下,SPI主机中8位移位寄存器的数据依次串行从MOSI引脚送出,经过SPI从机A0引脚进入其移位寄存器,同时从机寄存器数据也通过DO引脚送入主机的移位寄存器中。由于通信双方SPI模块中移位寄存器均为8位,所以每次通信只能相互传送8位数据。在不传输数据时,SPI主机NSS引脚输出高电平,使双方的SPI模块处于空闲状态。此外,选用SPI通信方式,还须将MF RC531芯片A1引脚接低电平,NRD和NWR引脚接高电平,D7~D1引脚悬空。
1.2 无线通信电路
无线通信电路是
读卡器
中重要的组成部分,承担了无线网络各节点之间、节点与网关之间的数据交换任务,本设计无线射频芯片选用Chipcon公司生产的CC2420。CC2420是一款符合IEEE 802.15.4规范的2.4 GHz射频收发器,它基于Chipcon公司的SmartRF03技术,以O.18 μm CMOS工艺制成,数据传输速率达250 kbps,外围元件极少,性能稳定且功耗极低,其供电压可低至2.1 V,适合于电池供电。
如图3所示,它的外围电路包括晶振时钟电路、射频输入/输出匹配电路和微控制器接口电路三个部分。芯片本振信号既可由外部有源晶体提供,也可由内部电路提供。由内部电路提供时需外加晶体振荡器和两个负载电容。电容的大小取决于晶体的频率及输入容抗等参数,当采用16 MHz晶振时其电容值约为22 pF。射频输入/输出匹配电路主要用来匹配芯片的输入/输出阻抗,使其输入/输出阻抗为50 Ω,同时为芯片内部的PA及LNA提供直流偏置。MCU通过4线SPI总线(SI、SO、CSn、SCLK)设置芯片的工作模式并实现读/写缓存数据、读/写状态寄存器等。CC2420使用SFD、FIFI、FIFOP和CCA等4个引脚向MCU反映收发数据的状态。
1.3 电源电路
设计中考虑到应对各种复杂的应用场合,采用以太阳能为能源,以双电层超级电容器与锂电池为储能设备构成自供电装置,提供
读卡器
工作电压。如图4所示,图中主要电源器件型号与参数分别为:太阳能电池6 V/350 mA;超级电容180 F/2.7V,2只串联双电层电容器;锂电池3.7 V/3300 mA;稳压电路宽电压升降压DC/DC OUT 3.3V/200 mA。太阳能电池在光照作用下,产生约6 V的开路电压和350 mA的短路电流,对锂电池、超级电容充电,并向
读卡器
工作提供能量。上述器件的选取
基于以下原因:
①
读卡器
设计工作电压为3.3 V,读卡时瞬间工作电流约100 mA,持续时间<1 s。突发连续读卡次数<800次。
②太阳能电池具有绿色环保的优点,它将光能转化电能储存在超级电容与锂电池中,同时向
读卡器
提供工作电压,是主供电设备。
③超级电容具有充放电次数多(>50 000次)、瞬间放电电流大(>1 A)、充电速度快等优点,与读卡动作发生情况极为相似,是次供电设备。
④锂电池具有持续供电时间长、充电时间长、充电次数较少(<1000次)等特点,用以应对太阳光线不足、持续读卡次数多的特殊情况,是后备供电设备。
无太阳电池供电储能设备初始满电荷时,检测其读卡情况如图5所示。
读卡测试结果表明,在持续阴雨或太阳能电池损坏的极端情况下,依靠超级电容和锂电池可稳定支持突发式连续读卡达1000次以上,超出设计目标。
2 系统软件设计
软件系统在WinAVR、AVR Studio 4开发平台下,基于结构化程序设计方法,采用C语言编制而成,主要包括二代证阅读电路的驱动程序与无线通信程序两部分。
如图6所示,
读卡器
在上电复位后,首先完成ATmegal28L及其外围功能模块的初始化,其任务主要是:设置TIMER0定时模块用于周期性检测卡是否存在;设置TMERl定时模块用于红外测卡的回波计时;配置MF RC531读卡模块,配置CC2420无线通信模块及看门狗等。初始化完成后主程序接着调用无线网络扫描子程序尝试加入网络,若加入成功,则向协调器发送自己的网络号,发送结束后启动TIMER0定时并进入低功耗模式。
当TIMER0定时器时间到,主程序则启动TIMERl进行卡探测,若卡存在,则调用读卡子程序读出二代证ID发送到协调器。最后,主程序重新启动TIMER0定时器并进入低功耗模式。
二代证中的非接触式IC卡遵循IS014443 B规范,因此初始化过程中要严格按照其流程对MF RC531的相关寄存器进行设置。读卡时,MFRC5 31驱动天线产生13.56 MHz高频磁场,循环发送REQB命令“0x05 0x000x00”,对二代证进行询卡操作。当二代证距离天线小于10 cm时,二代证内部的线圈接收到读卡模块天线发出的磁场信号,转换成电能对二代证内部IC进行供电。当二代证内部IC接收到读卡模块发送的REQB命令后,向读卡模块返回12个字节的卡类型代码。询卡成功后,读卡模块发送SELECT命令“0xld 0x00 0x00 Ox00 0x00 0x000x08 0x01 0x08”,对二代证进行选卡操作,此时二代证会返回状态码。最后读卡模块发送GUID命令“0x00 Ox360x00 0x00 0x08”,读取二代证的8字节的全球唯一ID。
无线通信程序基于ZigBee协议栈实现,主要实现节点组网、数据传输和数据安全。其中,网络配置与调试采用Chipcon公司提供的开发套件,该套件包括各种高性能的ZigBee软件工具,如网络设置器、协议追踪调试工具等,极大提高了开发效率。
结语
本设计基于ZigBee技术,选用ATmegal28L、MFRC531及CC2420等低功耗器件开发了一种只读卡终端设备。设计中利用我国第二代居民身份证内嵌RFID的特点,明显改善了只读卡系统的防伪性能;利用太阳能电池、超级电容及锂电池优化组合,实现了读卡设备的自供电,节能环保;利用新型无线通信技术实现读卡数据的传输,无需布线,成本低,安装方便。相对目前市场销售的只读卡系统存在的供电与数据通信需双布线、成本高、防伪性能差的情况,具有明显的替代优势。本设计已成功应用于某多厂区企业员工考勤系统中,工作稳定可靠,在宾馆、机关、学校等企事业单位,具有良好的应用前景。