论文部分内容阅读
【摘要】本文研究了射频识别系统的工作原理,并对射频识别系统的构成、数据传输原理、基本工作流程、系统的分类、编码和调制以及数据的完整性给出了较为详细的理论研究。并对非接触式IC卡与读写器的通讯过程和电磁工作原理进行了简单的描述。描述了非接触式IC卡的国际标准ISO/IEC 14443协议,通过协议能更好地理解卡片与读写器间的传输过程,有利于下文读卡器的硬件设计和MCU的主程序实现。最后,本文在射频理论的基础上进行了读写器的软硬件设计。
【关键词】射频识别;MIFARE;考勤;读写器;USB通信
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级单向一次性可编程的密码内存,可以防止芯片内的程序被非法读写、拷贝等,在安全性方面性能非常高,提高安全性的同时也保护了知识产权。
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.2 自定协议的详细描述
上位机与主控MCU程序间的数据传输采用帧为最小单位,一个帧就包含有开始符、终止符、以及相关的数据、校验等。一个帧就可以理解为一个完整的数据包,并且在设计中采用了一个包号的概念,它被设计为连续累加的一个字节,范围为0-255,我们通过对该包号的检测就可以查看到是否存在丢帧(丢数据包)的情况,表3-2为帧的完整结构:
(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也要循环检测是否收到了来自上位机的命令。如果有命令收取,则首先对其完整性以及准确性进行校验,如果没有通过校验,则将本帧数据抛弃,不予响应,如果通过了校验则执行对应的命令,并且执行那个结果“打包”,发送给上位机,并继续进行卡片、上位机命令的循环检测。
【关键词】射频识别;MIFARE;考勤;读写器;USB通信
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级单向一次性可编程的密码内存,可以防止芯片内的程序被非法读写、拷贝等,在安全性方面性能非常高,提高安全性的同时也保护了知识产权。
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.2 自定协议的详细描述
上位机与主控MCU程序间的数据传输采用帧为最小单位,一个帧就包含有开始符、终止符、以及相关的数据、校验等。一个帧就可以理解为一个完整的数据包,并且在设计中采用了一个包号的概念,它被设计为连续累加的一个字节,范围为0-255,我们通过对该包号的检测就可以查看到是否存在丢帧(丢数据包)的情况,表3-2为帧的完整结构:
(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也要循环检测是否收到了来自上位机的命令。如果有命令收取,则首先对其完整性以及准确性进行校验,如果没有通过校验,则将本帧数据抛弃,不予响应,如果通过了校验则执行对应的命令,并且执行那个结果“打包”,发送给上位机,并继续进行卡片、上位机命令的循环检测。