【摘要】二代身份证作为中国公民的身份识别证件,具有很高的安全性,利用二代身份证作为门禁单元的电子标签不仅可以有效提高门禁单元的安全性,而且可以降低门禁单元的成本和复杂度。Zigbee作为一种可联网的近距离传输技术,非常适合在门禁系统这样的多节点系统中担任信息传输任务,可以提高门禁系统的实时性。本设计针对门禁系统中最基本的门禁单元,利用二代身份证作为身份识别标志,采用zigbee作为信息传输通道,将zigbee技术与二代身份证结合起来,满足门禁系统时效性、安全性、便捷性的要求。
【关键词】射频识别;Zigbee;二代身份证;门禁单元
1.介绍
Zigbee技术是近几年兴起的一种近距离通信技术,主要适合用于自动控制和远程控制领域[1],一个ZigBee网络最多可以容纳65535个从设备和1个主设备[2],完全可以满足门禁系统对节点数目的需求,二代身份证基于RFID技术,RFID技术是一种非接触式的自动识别技术,它通过射频信号自动识别目标对象并获取相关数据信息[3],传统门禁单元大多使用M1卡,本设计采用二代身份证作为电子标签,无须购买专门的射频卡,节省成本,使用方便[4],二代身份证内部信息的读取需要加密模块,但是每张二代身份证都有一个全球唯一的ID号码,读取二代身份证的ID号码完全可以完成身份鉴别,而且这一过程是不加密的,从而绕过加密模块。通过提取二代身份证的ID号码作为门禁单元的身份验证信息可以有效的降低门禁单元的成本。
门禁单元是整个门禁系统的一部分,整个完整的门禁系统如图1门禁系统结构图所示,门禁控制中心首先通过二代身份证阅读器采集出二代身份证的信息,这些信息包括姓名、地址、年龄等个人基本信息,以及二代身份证的ID号码,将二代身份证ID号码与该号码权限通过zigbee网络发送到门禁单元,门禁单元将这些信息进行保存,当使用者持二代身份证在门禁单元处刷卡开门时,门禁单元将读取该二代身份证的ID号码,并与门禁单元内存储的二代身份证ID号码进行比对,确认其权限,当二者均无误后,门禁单元将控制机械锁开门,并将开门时间及开门者信息通过zigbee网络传回控制中心备案。在本文中主要介绍门禁单元的设计。
2.二代身份证ID号码的读取
二代身份证符合的是ISO14443 B协议,根据ISO14443 B协议,PCD与PICC之间的通信遵循一下规则:寻卡、防冲撞、选定卡片、三次相互验证、通信。对于二代身份证ID号码的读取完成在防冲撞过程中,这时卡片会发回自己的ID号码,该操作在加密前完成。
2.1 硬件设计
硬件设计结构如图2硬件结构图所示,主控制芯片选用TI的CC2530,这是TI推出的zigbee应用芯片,在网络成本和节点功耗等几个方面表现优异,可以满足商业化需求[5]。射频识别芯片采用飞利浦的RC523,该芯片支持ISO14443 A/B协议。RC523本身不具备处理能力,需要通过CC2530进行控制管理。二者通过SPI进行通信。二者供电采用两节五号电池,使用稳压芯片HT7533提供3.3V电源。CC2530通过电桥驱动电机完成开关门工作。
Zigbee天线采用倒F天线,倒F型天线是上世纪末发展起来的一种天线,具有结构简单、重量轻、可共形、制造成本低、辐射效率高、容易实现多频段工作等独特优点,倒F型天线技术成熟,采用其标准电路设计。RFID天线采用PCB天线,尽管chip天线(贴片陶瓷天线)与whip天线(拉杆儿天线)在传输距离上都强于PCB天线,但PCB天线在体积与成本上要比chip天线与whip天线有优势。尽管偶极天线对信号的接受较好,但是其对方向性要求较高,在该系统中,门禁单元要安装在门内,门会在一定角度内转动,无法保证偶极天线对方向性的要求,而单端天线尽管抗干扰差一点但不受方向限制。可以满足使用要求。在PCB天线设计过程中对于天线匹配电容的选取时是确定天线读取距离的主要原因,PCB天线分为圆形天线与矩形天线,本文采用的是矩形天线,这种电线的根据天线电感估算公式:
式中,L为天线电感估计值,单位为nH,L1为一圈天线导线环的长度,单位为cm,D1为PCB线圈导线的宽度,若线圈为环形,则K=1.07,若线圈为矩形,则K=1.47,N为线圈匝数。经测算所设计的PCB天线,所得数据为:D1=1mm,L1=16cm,N=4,K=1.47。计算得天线电感为:505.6nH。根据ISO1443 B协议,二代身份证读取的基频为13.56MHz,根据汤姆逊公式:
计算得出匹配电容为:1.7nF,在电路上点后,经示波器观察最大幅值选用匹配电容为1.8nF。后在实际读取过程中,读写距离可达到2cm。
2.2 二代身份证ID号码读取子程序设计
读取二代身份证ID号码的子程序流程如图3读取二代身份证ID号程序流程图所示,进入程序后初始化RC523,进入定时循环,开启天线后进行寻卡操作,当有卡存在时进行防冲撞操作,如果这是有二代身份证开进读卡器,会返回二代身份证的序列号,完成二代身份证ID号码的读取。对于读取二代身份证的程序关键在于对RC523的初始化,因为RC523同时支持ISO1443 A与ISO1443 B协议,系统在上电后默认支持ISO1443 A协议,而二代身份证是符合ISO1443 B协议,故需要对相关寄存器进行修改,主要涉及到三个寄存器,分别是RxModeReg、TxModeReg、TxASKReg,RxModeReg默认为100%调制深度,根据ISO1443 B协议,读取二代身份证时的调试深度是浅深度调制,需要通过RxModeReg关闭100%调制深度,TxModeReg、TxASKReg负责开启ISO1443 B类型通信,默认为关闭,需要通过这两个寄存器开启ISO1443 B通信。
3.总程序设计
主程序基于TI提供的Zstack协议栈,在此基础上进行修改,并添加上自定义服务程序,整个程序是在一个类似操作系统的OSAL控制下执行,OSAL就是以实现多任务为核心的系统资源管理机制。所以OSAL与标准的操作系统还是有很大的区别的。简单而言,OSAL实现了类似操作系统的某些功能,但并不能称之为真正意义上的操作系统。总程序架构如图4总程序流程图所示。 系统上电后,进行系统硬件初始化,在此过程中,体统将开启定时器4作为系统时钟,所有需要定时执行的任务均需根据不同的时间间隔设置定时值,定时器每当计时完毕,程序会对每个程序的定时值进行减计算,当某一任务的定时值被减到0时,修改该任务的执行标志位,通过OSAL对任务执行标志位的监测执行该任务。
整个程序在OSAL的管理下运行,OSAL是以实现多任务为核心的系统资源管理机制,具有了操作系统的部分功能。进入OSAL后,每个任务将分配唯一的序列号,OSAL持续监测任务的执行标志位,当有任务执行标志位被修改后即调用该任务的执行程序。
系统将定时执行自定义任务,定时为0.5s,系统监测到自定义任务需要执行时,进入自定义任务,判断是进行二代身份证ID判断还是控制RC523进行二代身份证ID号码的读取,当事件是控制RC523进行二代身份证ID号码的读取,将通过SPI向RC523发送控制命令,RC523将实施读取二代身份证ID操作。当其获取有效的二代身份证ID号码后,将通过键盘中断方式告知系统取ID号码,在相应的中断服务程序中将接受ID号码后存储,同时修改自定义程序执行标志位,并告知是二代身份证ID判断事件,系统调用相应程序判断该身份是否合法。
OSAL通过自带的zigbee通信服务任务可接受发送来自其他节点的信息。
在Zstack(TI的Zigbee协议栈)中,对于每个用户自己新建立的任务通常需要两个相关的处理函数,包括用于初始化的函数GenericApp_Init,这个函数是在osalInitTasks()中去调用的,其目的就是把一些用户自己写的任务中的一些变量,网络模式,网络终端类型等进行初始化。另外一个是用于引起该任务状态变化的事件发生后所需要执行的事件处理函数GenericApp_ProcessEvent(),在本设计中,主要需要修改的地方是需要将读取二代身份证ID号码的子程序与合法性判别子程序添加到GenericApp_ProcessEvent(),并为这个时间分配一个事件号码,这样当GenericApp_ProcessEvent()被调用时,会根据事件来具体执行子程序。
4.结论
在门禁单元设计中,提出了基于二代身份证与zigbee授权的门禁单元的设计难点,并提出了解决方案,通过实验验证是可行的。将zigbee技术与射频识别技术结合起来的门禁单元比以往的有线传输与RFID结合和近采用RFID的门禁单元,在便捷性与、效性性、安全性上都有很大的提高。这将给门禁系统的革新换代提供可行的技术支持。
参考文献
[1]苟向松,牛延莉,樊龙,崔容宇,曾超,张化.ZigBee技术研究概述[J].无线互联技术,2011(01):51-52.
[2]李彤,李闯,常成.基于ZigBee协议的短距离无线通信节点设计[J].四川兵工学报,2012(07):103-105.
[3]瞿小玲,王洁.RFID在智能门禁系统中的应用[J].科技论坛,2011(1):32-33.
[4]程玉娟,姚健东,王宜怀.基于二代身份证的RFID门禁考勤系统[J].计算机应用与软件,2011(03):44-46.
[5]刘德.基于CC2530的zigbee无线组网[J].PLC&FA,2010(06):93-95.

