摘 要:本文介绍了一种RFID射频识别系统的设计与实现[1]。该设计采用低频125KHz传输信号,射频卡选用EM4001,发射和接收信号采用集成模块U2270B,信号的编码和解码采用曼彻斯特编码,主控模块采用STC89C51。经验证,该设计满足门禁系统的要求。
0 引言 物联网技术是新兴的科技,是多学科交叉的融合,是未来发展的方向。而RFID射频识别技术又是物联网技术的核心技术之一。笔者在教学过程中,结合教学内容,用典型的元器件完成了一款125KHz低频RFID射频识别门禁系统的设计和实践。通过对系统各个功能模块的设计,巩固了教学成果,锻炼了学生。该设计采用集成模块U2270B,完成无线射频信号的发射和接收。使用绕制的铜线线圈作为天线发送和接收无线电波。采用常见的芯片STC89C51作为控制核心,完成无线电的收发时序、曼彻斯特解码以及译码显示等工作。通过Protel画出电路图后,在实验室中制作单面板的实物,验证了此设计的可行性。 1 设计原理和实现方案 1.1 工作原理 射频识别(Radio Frequency Identification, RFID)是利用感应、电磁场或电磁波为传输手段,完成非接触式双向通信,获取相关数据的一种自动识别技术。 射频识别卡最大的优点就在于非接触,因此完成识别工作时无须人工干预,适于实现自动化且不易损坏,操作快捷方便。RFID技术是一个崭新的技术应用领域,它不仅涵盖了射频技术,还包含了密码学、通信原理和半导体集成电路技术,是一个多学科综合的新兴学科。 RFID的基本工作原理:标签进入磁场后,接收读写器发出的射频信号,凭借感应电流所获得的能量发送出存储在芯片中的产品信息,或者由标签主动发送某一频率的信号,读写器读取信息并解码后,送至中央信息系统进行有关数据处理。
1.2 功能 (1)读卡器识别距离大于10mm。 (2)设计完成显示ID卡卡号,可随机读取任意ID卡标签并显示,显示格式为:“success,ID:XXXXXXXXXX”(X代表0-9的数字)。 1.3 射频应答器设计 采用EM4001射频卡:存储容量:64bit;工作频率:125KHZ;读写距离:2-15cm;芯片类型:EM瑞士微电 EM4100/EM4102;擦写寿命:读不限;外形尺寸:ISO标准卡/厚卡;封装材料:PVC、ABS。 1.4 阅读器设计方案 1.4.1. 125kHzRFID阅读器设计 为了简化硬件电路,采用集成射频模块U2270B完成125kHZ方波产生,功率放大与检波,滤波放大等功能。此方案的优点:电路简单,易于实现。此方案的缺点:增加了程序的复杂性。125kHzRFID阅读器的原理如图2所示。 1.4.2. 基于U2270B的125kHzRFID阅读器设计 射频卡读写器的关键芯片是射频卡基站芯片,它主要用于完成数据的调制、发射和射频的接收以及数据的解调任务。由美国ATMEL公司生产的U2270B 是一种低成本、性能完善的低频( 100~150kHz) 射频卡基站芯片, 其主要特点如下: 1.载波振荡器能产生100kHz~150kHz 的振频率, 并可通过外接电阻进行精确调整, 其典型应用频率为125kHz。 2.典型数据传输速率为5kbps( 125kHz时) 。 3.适用于曼彻斯特编码和双相位编码。 4.带有微处理器接口, 可与单片机直接连接。 5.供电方式灵活,可以采用+5V 直流供电, 也可以采用汽车用+12V供电,同时具有电压输出功能, 可以给微处理器或其它外围电路供电。 6.具有低功耗待机模式, 可以极大地降低基站的耗电量。 7.125kHz 时的典型读写距离为15mm。 8.适用于对e5530/e5550/EM4001等射频卡进行读写操作。
图2 125kHzRFID系统工作原理 图3 U2270B内部结构图 2 基于射频芯片U2270B的125kHzRFID阅读器电路设计 125kHzRFID由以下几部分模块电路构成:控制电路、射频模块电路、射频天线、显示电路、声光报警电路、串口通信电路、串口转USB电路和电源电路。 2.1 控制电路设计 控制电路不仅要完成无线电收发的时序控制,还要进行译码显示,并完成和上位机的通信。由于射频卡EM4001采用曼彻斯特编码方式,而U2270B不能进行曼彻斯特解码,所以还需要控制单元进行曼彻斯特的解码工作。经过对比和需求分析,最终决定采用STC89C51作为我们的主控芯片,其可以方便地支持串口烧录,且价格便宜,功能完全满足我们的需求。 2.2 射频模块电路设计 本课程设计采用射频芯片U2270B完成射频模块的设计。参照U2270B芯片使用手册中的典型电路连接,根据需求,采用第一种连接方式。 2.3 射频天线设计 125kHzRFID射频系统的应答器和阅读器都需要天线。而由于应答器采用EM4001射频卡,其内部已经集成了射频天线。所以,我们只要研究阅读器的射频天线设计。 RFID射频系统的天线制作方法有三种,线圈绕制法、蚀刻法、印制法。我们设计的125kHzRFID阅读器天线只能采用线圈绕制法。下面简述其设计过程。 实验结果证实:在与天线线圈距离很小(x<R)的情况下,磁场强度的上升是平缓的。较小的天线在其中心(距离为0)处呈现出较高的磁场强度,相对来讲,较大的天线在较远的距离(x>R)处呈现出较高的磁场强度。(R为天线半径;x为作用距离。)在电感耦合式射频识别系统的天线设计中,应当考虑这种效应。 射频识别阅读器作用距离都对应有一个最佳的天线半径R。如果选择的天线半径过大,那么在与发射天线的距离x=0处,磁场强度是很小的;相反,如果天线半径的选择太小,那么其磁场强度则以x的三次方的比例衰减。 不同的阅读器作用距离,有着不同的天线最佳半径,它对应着磁场强度曲线最大值。发射天线的最佳半径对应于最大期望阅读器作用距离的file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wpsBCEB.tmp.png倍值: file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wpsBCFB.tmp.png。 一般调谐过程当中,由于天线线圈本身的电容对于谐振的影响很小,可以忽略不计,故为了使阅读器在工作频率下天线线圈获得最大的电流,需要外加一个电容C,完成对天线的调谐,达到这一目的。 设计要求:设计一个期望最大作用距离为1cm,工作频率在125 kHz的绕线天线,系统要求阅读器天线线圈的半径尽量小,不超过1cm。 具体设计步骤如下: 首先确定天线的最佳半径,理想的最佳天线半径应当为期望作用距离的file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wpsBCFC.tmp.png倍,在实际设计的时候,应在保证系统要求的前提下,尽可能地接近最佳值。本设计阅读器天线的最佳半径取为0.8cm。 其次,再根据工作频率以及系统本身的要求确定电感量的大致范围,本设计中取电感量在600~800μH之间。 再者,用电感量与匝数关系的经验公式大致估计绕线匝数。我们取电感量在700μH,用直径为0.27mm的铜导线进行绕制天线。由公式file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wpsBCFD.tmp.png (式中:L为线圈电感,单位为μH;A为天线线圈包围面积,单位为cm2;D为导线直径,单位为cm。) 计算出匝数:大概在266圈左右,绕完后,根据公式file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wpsBCFE.tmp.png,选取所用的调谐电容。 用相关的仪器如频谱仪测量出谐振频率,由于电感量只是估算的,而且选用的匹配电容也是具有一定标称值的。并不能做到与计算一致,所以总是会存在误差。看频率的偏移情况,按电感量估算公式逐步增加或者减少线圈匝数,直到达到指定的谐振频率125kHz。 2.4 LCD显示电路设计 射频信号经射频模块U2270B接收,并经由单片机解码今后,送到显示模块。由于我们只要显示出射频卡唯一可识别的射频卡号,所以只需要采用字符型LCD即可。此处我们选择常用的字符型液晶LCD1602。 2.5 声光报警电路设计 当单片机完成射频信号的曼彻斯特解码工作之后,将所得的结果送交LCD1602加以显示。为了方便用户使用此RFID系统,正确显示ID号的同时,驱动蜂鸣器报警提示,并由LED灯提示读取成功。 2.6 串口通信电路设计 为了和计算机进行通信,实现上下位机的数据传输,完成程序的烧录,需要采用串口通信。本设计采用MAX232完成RFID阅读器和计算机的数据串口通信。 2.7 串口转USB电路设计 为了和计算机更方便地通信,常采用较为方便的和上位机进行连接的方式,即采用USB的连接方式。此处,使用芯片CP2102将串口的信号转化为USB连接。 2.8 电源电路 电路采用的芯片和其他元器件都可在5V电源下工作,因此通过电源适配器将220V交流电变为12V直流电,并选用三端稳压芯片7805将12V直流电转换为直流5V稳压电源。 3 印制电路板设计 Altium Designer软件通过把原理图设计、电路仿真、PCB绘制编辑、拓扑逻辑自动布线、信号完整性分析和设计输出等技术完美融合,使电路设计的质量和效率大大提高。 根据电路模块的特点,我们将此125kHzRFID射频系统划分为两大电路模块:控制模块和射频模块。由于射频芯片U2270B采用SOP16贴片封装,所以我们采用一块单独的单面板来制作。 电路原理图和PCB图如下图所示: file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wpsBD0F.tmp.png file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wpsBD10.tmp.jpg 图4 125kHzRFID控制模块原理图 图5 125kHzRFID射频模块原理图 file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wpsBD21.tmp.jpg file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wpsBD31.tmp.jpg 图6 125kHzRFID控制模块PCB图 图7 125kHzRFID射频模块PCB图 鉴于用单面板进行验证设计,为了减小实现的难度,将整个RFID射频识别系统分成了两个独立的小模块(控制模块、射频模块)分别加以实现。 4 125kHzRFID程序设计 系统软件设计包括如下几个部分:U2270B控制、LCD1602驱动、声光报警驱动和串口驱动和曼彻斯特特解码。LCD1602驱动、声光报警驱动和串口驱动相对简单。U2270B不进行解码,由单片机完成解码。解码软件设计相对较复杂,要对ID卡进行解码,首先应掌握ID卡的存储格式和曼彻斯特编码方式,然后对解码后的数据进行计算。 (一) EM4100数据存储格式 EM41001的64位数据信息,它由5个区组成:9个引导位、10个行偶校验位“PO~P9’、4个列偶校验位“PC0~PC3”、40个数据位“D00~D93”和1个停止位S0。 每当EM4100将64个信息位传输完毕后,只要ID卡仍处于读卡器的工作区域内,它将按照顺序发送64位信息,如此重复,直至ID卡退出读卡器的有效工作区域。 (二) Manchester码编码方式 Manchester编码:位数据“1”对应着电平下跳,位数据“0”对应着电平上跳。在一串数据传送的数据序列中,两个相邻的位数据传送跳变时间间隔应为1P。若相邻的位数据极性相同(相邻两位均为“0”或“1”),则在两次位数据传送的电平跳变之间,有一次非数据传送的、预备性的(电平)“空跳”。电平的上跳、下跳和空跳是确定位数据传送特征的判据。在曼彻斯特调制方式下,EM41001每传送一位数据的时间是64个振荡周期,其值由RF/n决定。若载波频率为125 kHz,则每传送一位的时间为振荡周期的64分频,即位传送时间为:1P=64/125 kHz=512μs,则半个周期的时间为256us。 (三)Manchester码解码算法 利用STC89C51单片机进行解码,STC89C51的T口的输入捕捉单元可用于精确捕捉一个外部事件的发生,记录事件发生的时间印记。当一个输入捕捉事件发生时,T口的计数器TCNTl中的计数值被写入输入捕捉寄存器ICRl中,并置位输入捕获标志位ICFl,产生中断申请。可通过设置寄存器TCCRlB的第6位ICESl来设定输入捕捉信号触发方式。本设计利用单片机的输入捕捉功能进行解码。 由Manchester编码特点可知,每位数据都由半个周期的高电平和半个周期的低电平组成,因此可将一个位数据拆分为两位,即位数据“1”可视为“10”,位数据“0”可视为“01”,则64位数据可视为由128位组成。为了获得完整且连续存放的64位ID信息,在此接收两轮完整的64位数据,即接收256位。则上一轮接收到的停止位后紧跟着的必然是本轮接收到的起始位,据此找出起始同步头。再根据曼码特点获得ID卡的有效数据(“10”解码为“1”;“01”解码为“O”)并进行LCR校验,若校验无误,则将ID卡号输出至PC机,并准备下一次的解码;否则,直接准备下一次解码。另外,在程序中首先定义一个数组bit[256]用来存放接收到的数据;定义一个变量用来标记256位数据接收完成;定义一个变量用来标记校验有错误产生。由于无ID卡靠近读卡器的有效工作区时,单片机输入捕捉引脚输入的是高电平,因此在主程序中先设定为下降沿触发,清零计数器TCNTl,打开T/C1的输入捕捉功能。 5 实验验证 该设计的实验验证效果如下所示,可以在10mm的距离上正确地读取射频卡的信息,并通过LCD1602准确地进行显示。
6 结语 本设计采用了集成元件U2270B以及典型电路,绕制的天线,51单片机控制芯片,及简单的外围电路,搭建了一个低频125KHzRFID门禁系统。该设计简单实用,经过验证,读取稳定,作用距离满足设计要求。
|