基于非接触式IC卡的考勤系统设计

2013-04-13 05:53吉林农业大学工程技术学院于丰华雷宇桥胡玉杰朱凤武
电子世界 2013年8期
关键词:IC卡应答器读写器

吉林农业大学工程技术学院 于丰华 雷宇桥 胡玉杰 孙 浩 朱凤武

1.引言

当今世界已形成非接触IC卡的庞大应用和供应市场,仅<135KHz的低频产品的全体出货量就达42亿片以上,而以标准非接触式IC卡为主的13.56MHz高频产品的全球年出货量则达4亿片以上。其中,标准非接触IC卡芯片的国际市场最大供应商,从20世纪90年代至今,始终为荷兰PHILIPS半导体公司。2001年,该公司向中国北京市政一卡通有限公司交付了它的第2亿片Mifare非接触读写芯片,再一次证明了它在世界标准非接触IC卡芯片市场稳固的领导地位;而其他RFID产品——“非标卡”芯片全球主要供应商,则为美国的TI公司和瑞士的EM公司等。

与国外先进技术相比,国内的非接触IC卡芯片研制水准差距较大,市场流通的非接触IC卡多为进口产品。即便部分有实力厂商已具备非接触IC卡封装能力,但卡内芯片多为进口产品。真正能够研制这类芯片并具备产业化生产能力的厂家不多。令人欣慰的是:进入21世纪后,国内集成电路行业尤其是具备雄厚的电子工业基础的上海,在非接触IC卡芯片的研发上进展颇大。

而“坚持国产芯片、自主版权、注重国产化、立足国内、以我为主”等建设原则,迄今为止世界最大的非接触IC卡应用项目——中华人民共和国第二代居民身份证卡的研制和颁发工作的稳步开展以及城市公共交通等非接触IC卡应用项目的成功和拓展深化所呈现的市场前景,外来将进一步推动这类发展。

1.1 系统概述

本考勤系统的具体设计目标为:持有效卡人能很方便、很直观地刷卡考勤;能够方便地处理请假、加班等考勤相关事项;管理人员能方便地查询考勤刷卡记录;系统能如实地反映每个人的考勤情况;管理人员能方便地统计、打印或导出考勤统计结果;系统具有经济合理的运营成本。

1.2 设计原则

(1)先进性

系统的设计选型和产品性能在投入使用时应具有一定的技术先进性,但不盲目追求上不成熟的新技术或不实用的新功能。

(2)安全性

系统的设计具有高度的可靠性,产品成熟性能稳定,保证系统长时间无故障运行,几百年遭遇事故造成中断后也能确保数据的准确性、完整性和一致性,并可迅速恢复正常,以确保整个系统的安全性。

(3)卡号的安全性

卡号的安全性包括能够防止重复卡、防止卡等安全漏洞。系统数据库中不仅保存了写入的加密卡号,同时也保存了每张卡的原始序列号,这样在以后对系统进行扩展或升级时,用户可以选择某一种卡号,既保证了系统的安全性,又保证了系统的扩展性。

(4)实用性

系统选用的不见和产品都能较好地满足用户需求,并符合近期使用哪个和远期的方向。

(5)方便性

以现有成熟的产品为对象设计,同时还考虑到周边信息通信环境的现状和技术的发展趋势,使设计方案可行。

(6)开放性

为保证各供应商产品的协同运行,同时考虑到投资者的长远利益,系统结构必须是开放的,并结合相关国际标准或工业标准执行。

2.系统的硬件设计

2.1 RFID系统的工作原理

无线射频识别技术的基本原理是利用射频信号和空间藕合(电感或电磁藕合)或雷达反射的传输特性,实现对被识别物体的自动识别。系统组成模型见图2-1。

RFID系统至少包含应答器(又称电子标签,应答标签)和读写器(又称阅读器)两部分,典型的射频识别系统通常由应答器、读写器、PC上位机三部分组成。应答器是射频识别系统的数据载体,由天线和专用芯片组成,存储着需要被识别的信息,它所存储的信息通常可被射频读写器通过非接触方式读/写获取。应答器按照自身是否带电源分有源标签和无源标签两种,有源标签是自带电源,无源标签所需的能量从读写器的射频场内获得。

读写器通过天线与应答器进行无线通信,可以实现对应答器识别码和内存数据的读出或写入操作。典型的读写器包含有射频模块、控制单元以及读写器天线。

PC上位机通常用于对数据进行管理,完成通信传输功能,读写器通过标准接口与PC上位机连接,以便实现通信和数据传输功能。

读写器和应答器通过各自的天线构建了二者的非接触信息传输信道,电磁场理论中的麦克斯韦方程可以解释能量的产生,能量以电场、磁场的形式相互转换不向外传播,距离天线越近,场强越强。射频识别系统工作过程中始终以能量作为基础,通过一定时序方式来实现数据交换。对于无源标签来说,读写器向应答器提供工作能量,当应答器离开读写器的工作范围时,没有能量激活而处于“休眠”状态,当应答器进入读写器的工作范围,监测到读写器发出的一定特征的射频信号,即通过整流的方式将接受到的能量转换为电能储存在应答器内的电容器里,以此拥有工作能量,状态由“休眠”变为“接收”,接收读写器的命令后进行处理,再向其返回结果,这类只有接收到读写器特殊命令才发送数据的应答器被称为RTF方式(Reader Talks First,读写器先发言)。与RTF相对应的是TTF方式(Tag Talks First,标签先发言),即应答器进入读写器的能量场就主动发送自身序列号的方式。TTF和RTF相比具有识别速度快的特点,适用于需要高速应用的场合,在噪声环境中更稳健,更适用于工业环境的跟踪应用。射频识别系统中,读写器和应答器之间的数据交换方式分为负载调制和反向散射调制。

2.2 AT89C52系列单片机

AT89C52单片机是由Atmel公司开发的低功耗高性能CMOS 8位微处理器。带有8K字节可编程和可电擦除的只读存储器。指令完全兼容与MCS-51系列的MCU的标准,包括指令的寻址方式,各种数据的操作和管脚兼容等。内设P0,P1,P2,P3等四个端口,其中P0,P2为数据/地址双向的多用端口。内有3个定时器:T0,T1和T2。其振荡晶体选用11.0592MHz石英振荡器,以便于以后和微处理器通信时波特率的精确设计和设置。AT89C52中还内设8级中断控制系统。片上闪速存储器可由通用非易失性编程器在线编程,其内建8K EEPROM,256bytes的RAM。利用这一特点可以省略外部程序存储器,简化硬件系统的设计的同时节约单片机有限的管脚资源。同时,AT89C52单片机具有3级单向一次性可编程的密码内存,可以防止芯片内的程序被非法读写、拷贝等,在安全性方面性能非常高,提高安全性的同时也保护了知识产权。

图2-1 RFID系统的组成模型Figure 2-1 Composition Model of RFID System

图2-2 MCM与MCU接口电路原理Figure 2-2 The MCM interface circuit principle

图2-3 电源电路原理图Figure 2-3 power supply circuit principle diagram

图3-1 MCU程序设计流程图Figure 3-1 Flow chart of MCU programme

图3-2 上位机串口通信设计流程图Figure 3-2 Flow chart of PC Serial Communication

AT89C52是具有高性能和性能价格比的微处理器。有多个系列和型号可供选择,已经广泛地应用于各种内嵌式控制系统和设备。鉴于AT89C52的优良性能,在智能卡读写系统的应用开发上,多为以AT89C52系列单片机为核心,制作智能卡的读写设备。与微处理机方便灵活的通讯方式,可以使智能卡读写设备与微处理机强大的数据处理功能相结合,大大提高智能卡读写系统的智能化。故考勤系统的单片机选取AT89C52作为微处理器。

2.3 读卡部分设计

多芯片模块(MCM)的硬件内核比较复杂,芯片中中有两个主要模块:数字模块和模拟电路模块。数字模块由状态机编码器译码逻辑等组成;模拟电路模块有调制器、天线驱动器、接收器和放大电路组成,两个模块间的接口可以配置如下,即接口信号可加载到MFIN和MFOUT上。

对于MCM的硬件设计,总体上来说主要包括了如下几大部分接口电路:

1)与MCU(微处理机CPU)接口电路;

2)RF模块接口电路;

3)与天线射频接口电路;

4)与电源接口电路等四大功能模块的接口部分。

MCM可以由标准的MCU接口信号来控制。这些标准的控制信号可以控制MCM的ASIC进行工作。其间使用了标准的微控制器和微处理机通信协议。读写模块可由外部MCU发出特定命令来启动运行。在任何情况下,MCM都可以由对地址的选择来启动工作。例如MCM的RST引脚,/CS引脚和CS引脚的信号设置等。

对MCM读写模块内部存储器的存取,必须激活/CS和CS信号,以及对地址为OOH~OFH的寄存器进行适当的设置。通过读特殊工//0地址的信息,可以得到MCM的状态信息。采用不同的MCU及其连接方法,将会有不同的硬件信号时序及数据信息流信息等。图2-2为MCM和MCU接口示意图。

2.4 考勤系统电源与天线研究

本考勤系统工作时,需要+5V的稳压电源,为了使系统的轻巧、便捷控制器电路设计时没把线圈和整流桥部分设计到控制板上,将220V的交流市电经过变压后生成12V直流电源,然后再接入到控制板的电源变换电路。其中电路原理图如图2-3所示。

Mifare系统工作频率为13.56MHZ,此由石英晶振产生并为MCM200提供时钟信号,且驱动13.56MHZ载波的天线。此不仅产生13.56MHZ发射功率,而且产生高谐振发射功率。国际EMC规定定义了较大范围的发射功率放大范围。因而提供适当的输出信号滤波对满足规定要求是必须的。MCM200内置的接收部分原理是利用载波对卡应答信号进行调制。一般采用内部产生的VMID电位作为Rx上的输入电位。为提供稳定的参考电压,C4的接地电容应连在VMID上,阅读器的接收部件要求Rx和VMID之间连接分压器,另外,在天线线圈与分压器之间多使用串联电容。

3.软件设计

3.1 主控MCU与上位机通讯的传输协议设定

PC(上位机)与主控MCU(下位机)进行串行接口通信过程中一帧的数据格式采用1个起始位,8个数据位、无奇偶校验位、1个停止位。波特率为9600。为更便利的描述本设计中的自定协议,表3-1表示出本自定协议中设定的关键控制字符常量。

表3-1 关键控制字符常量Table 3-1 Key control character constants

3.2 自定协议的详细描述

上位机与主控MCU程序间的数据传输采用帧为最小单位,一个帧就包含有开始符、终止符、以及相关的数据、校验等。一个帧就可以理解为一个完整的数据包,并且在设计中采用了一个包号的概念,它被设计为连续累加的一个字节,范围为0-255,我们通过对该包号的检测就可以查看到是否存在丢帧(丢数据包)的情况,表3-2为帧的完整结构:

表3-2 帧的完整结构Table 3-2 Frame structure of the complete

(1)在同一次通讯中,及上位机与下位机的一次对话中,将采用同一号码,确保是针对本帧的应答。

(2)命令/状态是针对上位机和下位机的主动通讯关系。上位机主动为CMD值为1,下位机主动为STATUS,值为0。

(3)数据长度为数据信息的长度,如无信息则为0。

(4)校验和为从包号开始至数据信息的最后一个字节的所有字节码的异或取反。

(5)根据以上的规则,我们可以对数据的完整性及准确行进行检测,上位机与下位机的通讯都将遵循以上规则,如果数据长度不对应或BCC校验和没有通过验证,则本帧数据就被理解为错误数据而被抛弃。

3.3 主控MCU程序流程(见图3-1)

主控MCU上电后,首先将控制脚的电位进行重置、例如蜂鸣器,LED灯等,然后将MFRC522进行RESET并且将其天线进行重新开启。当MFRC天线正确开启后,一旦卡片到达可响应范围后,就能够被MFRC522进行检测以及读取,而主控MCU就会循环的读取MFRC522是否有卡片数据进行了传输。当有卡片信息被读取的时候,就对该卡片的数据进行“打包”,制作成为我们上一小节约束好的帧格式,然后传输给上位机。同样,主控MCU也要循环检测是否收到了来自上位机的命令。如果有命令收取,则首先对其完整性以及准确性进行校验,如果没有通过校验,则将本帧数据抛弃,不予响应,如果通过了校验则执行对应的命令,并且执行那个结果“打包”,发送给上位机,并继续进行卡片、上位机命令的循环检测。

3.4 上位机串口通信

上位机串口通信流程图见图3-2。本程序的主要职能是负责上位机(PC)与下位机(主控MCU)之间的数据通信。通讯接口采用RS232协议的COM串口。此处选择COM串口的原因主要有:

(1)COM串口的通讯程序已经非常成熟,有很多的可用控件、第三方的lib包等支持,对于上位机的程序部署较为简单。

(2)即使针对目前主流主机都不配备COM端口的情况。我们也可以很方便的采用基于PL2303芯片的USB转串口芯片外设作为传输“中继”,此方案成本低廉,而且部署极为简便。本设计的调试以及部署过程就采用的本芯片外设。接口为便利的USB,但程序编写依然基于com端口,没有增加复杂度。

当程序启动后,首先按照配置文件的设定去尝试初始化指定的COM端口。如果COM端口被占用或不存在,则程序会抛出例外并退出。当com端口被成功初始化后,需要将其的通讯方式设置为与MCU的通讯方式一致。

上位机与下位机通讯的部分,采用了com端口的通讯,而没有直接采用USB通讯,主要是考虑目前串口的程序编制更为简便。调试工具也比较丰富。能够较为便利的发现问题。并且从实质接口方面,也能够非常方便的找到USB接口作为中继,则无论从软件方面还是使用方便都大大降低了实施难度。确保在有限的时间内能取得预期效果理论指导实践的重要意义,此处对于IS014443协议的充分了解,对程序的编写具有很大的益处。

4.结束语

近几年来,随着IC智能卡中的接触式CPU卡以及非接触式IC智能射频卡的高度安全保密性,使之在IC智能卡领域中异军突起,特别是非接触式IC智能射频卡代表了整个“刷卡”领域的发展方向,由于其应用领域日益渗透到社会生活的方方面面,必然提出对射频卡的深入研究。

本文结合具体考勤系统的设计,对射频卡的应用系统设计进行了研究,主要包括:分析了非接触式IC卡的工作原理和设计原理。对读卡系统的软硬件设计方法,和设计流程进行了分析和研究。分别从硬件和软件的角度,对系统的工作进行了分析。编译了考勤系统的后台函数程序。

[1]张丽.基于非接触式IC卡的智能门禁系统的设计与开发[D].武汉理工大学,2007,36(5):13-15.

[2]Freescale Sem iconductor,Inc.MC9S12DG128 Device User Guide.

[3]M.Shoji.CMOS Digital Circuit Technology Prentic Hal1,1988.

[4]谭浩强.C语言程序设计(第二版)[M].北京:清华大学出版社,2003:1-120.

[5]夏良正.数字图像处理[M].南京:东南大学出版社,1999.

[6]尹应增.微波射频识别技术研究[D].西安电子科技大学,2002.

[7]成理.射频识别系统的研究和设计[D].西安电子科技大学,2006.

[8]探矽工作室.嵌入式系统开发圣经[M].北京:中国青年出版社,2002.

[9]黄胜国,徐文贤,林绮屏.图书馆“一卡通”管理系统概述和分析[D].金卡工程,2006(1).

[10]MFRC522 Contactless reader IC Datasheet(Rev.3.3),2009.

[11]周立功公司.标准1C卡MF1 IC S50功能说明书[M].广州:广州周立功单片机发展有限公司,2002(5).

[12]国家金卡工程协调领导小组[R].全国IC卡应用总体规划,2001(12).

[13]沈玮,陈纯.IC卡应用体系安全方案[J].计算机工程,2001(2).

[14]徐建坤,张斌.C51语言应用编程的若干问题[J].单片机与嵌入系统,2002(5).

[15]Icrochip Company.Datasheet of AT89C52.Datasheet 1989.

[16]沈金龙.计算机通讯[J].电子工程师,1999(1).

[17]赵茂泰.智以仪器原理及应用[M].北京:电子工业出版社,1998.

[18]井欢欢.集装箱无源射频识别系统中的读写器设计[D].中南大学,2008.

猜你喜欢
IC卡应答器读写器
工商业IC卡控制器改造为物联网控制器实践
应答器THR和TFFR分配及SIL等级探讨
在用电梯加装外接式IC卡运行控制系统设计改进
虚拟应答器测试方法研究
应答器在基于通信的列车控制系统中的应用
长春开通公交IC卡充值平
基于视频抓拍读写器的高速公路防倒卡研究
湖北省高速公路IC卡管理系统浅谈
CTCS-3至CTCS-2等级转换应答器组布置
基于随机时隙的RFID读写器防冲突方法