王军舰
摘 要 本文介绍了一种采用分立元件构成的125kHz RFID阅读器。系统介绍了射频识别技术原理、读卡器硬件框图、主程序流程图,并对硬件工作原理、EM4100数据存储格式、EM4100数据编码方式、软件解码过程进行详细阐述。本读卡器电路结构简单,成本较低,人机界面友好,可用于读取EM4100型ID卡。
关键词 射频识别 曼彻斯特编码 载波 硬件 软件
中图分类号:TN409;TP368.12 文献标识码:A
1射频识别技术原理
读卡器和射频识别卡两部分构成了射频识别的应用系统。读卡器作为终端实现对RFID卡的数据读取。首先是当射频卡进入到读卡器的工作范围内的时候,由读卡器内的天线向外发射125KHz的载波信号,此时卡中的电感线圈和电容组成的谐振回路将收到读卡器发射来的信号,射频卡中的芯片因此会获得能量,为其内部各功能部件提供工作电压,其内部功能部件就开始工作,时序发生器部件控制存储器阵列和数据编码单元将其内部的64位信息调制后按顺序发送给读卡器;读卡器将接收的信号进行检波、放大、滤波、整形、送单片机解码,根据需要可以送后台计算机做相应处理。读卡器硬件框图如图1所示。
2硬件电路设计
本设计以AT89S52作为微控制器,以LM393、CD4060、LM358等元件为外围器件构成无线射频卡读卡器。 硬件电路如图2所示,在图2中16MHz晶振经CD4060 128分频从Q7产生标准125 kHz载波信号,经过限流电阻R50后经T51放大后送入推挽式连接的三极管功率放大电路,放大后的载波信号通过天线发射出去。天线L1与电容C17和C18构成串联谐振电路,谐振频率为125 kHz,谐振电路的作用是使天线上获得较大的电流,从而产生最大的磁通量,获得更大的读卡距离。
C52和D50构成基本包络检波电路,检波电路用来去除125 kHz载波信号,还原出有用数据信号。R60、C56、R63、C57为带通滤波器,输出接到射随U51B同向端。经射随缓冲输出送到R67、C58、R65、U51A构成的有源低通滤波器,滤波器输出信号送LM393比较器从7脚输出曼彻斯特编码信号,从单片机P1.6脚送入,单片机对接收到的信号进行解码,从而得到ID卡的卡号。
3软件设计
要对ID卡进行解码,首先应掌握ID卡的存储格式和数据编码方式及曼彻斯特编码原理,然后再编写相应的解码程序获取ID卡号。
3.1 EM4100数据存储格式
EM4100全部的数据位为64bit,它包含9个开始位(其值均为“1”)、40个数据位(8个厂商信息位+32个数据位)、14个行列校验位(10个行校验+4个列校验)和1个结束停止位。EM4100在向读卡机或PC机传送信息时,首先传送9个开始位,接着传送8个芯片厂商信息或版本代码,然后再传送32个数据位。其中15个校验以及结束位用以跟踪包含厂商信息在内的40位数据,如图3所示。
检查数据传输中是否发生错误,射频识别卡对每个字节都增加两个校验位,其中高半字节一个,低半字节一个,这样每个字节增加到10位二进制数,5个字节共有50位。为了校验数据的整体性错误,射频ID卡还增加了一个4位的纵向冗余检验,这样整个ID卡数据增加到54位。当进入射频场时,如果卡片直接回送这5个字节,那么读写器很难确定起始位和结束位,所以射频识别卡又增加了9个二进制“1”在前面作起始位,增加了一个二进制“0”在后面作结束位,这样ID卡就有了64位数据,正好8个字节。
3.2 EM4100数据编码方式
EM4100采用曼彻斯特编码,如图4所示,图4中曼彻斯特码为一个停止位、9个二进制“1”的起始码和随后的5个码元构成的一串曼彻斯特编码(后继码元省略),对此串编码码进行深入分析有助于解码程序的编写。图4中系统时钟位为从CD4060的Q7脚实测发射时125 kHz载波信号,曼彻斯特编码为LM393比较器7脚实测解调后的曼彻斯特编码信号,数据为软件解码后的实际数据,位数据“1”对应着电平上跳,位数据“0”对应着电平下跳。在接收到的一串数据序列中,两个相邻的位数据传送跳变时间间隔应为一个数据周期T。在曼彻斯特码调制方式下,EM4100每传送一位数据的时间是64个振荡周期,其值由RF/n决定。若载波频率为125 kHz,则每传送一位的时间为振荡周期的64分频,即数据周期T为:T=64/125 kHz=512€%es,则半个周期的时间为256€%es。
3.3 解码软件设计
曼彻斯特解码过程要比编码复杂,一般的,解码过程有三个步骤:第一,获取数据流的波特率(或者已知数据流的波特率);第二,同步数据流的时钟信号(实质是区分位帧边沿和半位帧边沿);第三,根据上面两步对数据流进行解码。
具体的实现步骤如下,
(1)获取图4中系统时钟上升沿,在连续两个系统时钟高电平时刻检测曼彻斯特待解码是否有电平跳变,如果有从低到高电平跳变则为“1”,如果有从高到低电平跳变则为“0”, 连续两个系统时钟高电平期间如果没有电平跳变则无卡,进行下一个检测周期。
(2)连续检测到一个“0”码和9个“1”码继续接收后继码元,否则返回步骤1继续检测起始码。经过此过程就能正确获取曼彻斯特编码的原始数据,然后按EM4100数据存储格式进行数据校验,看是否为读取的正确编码,如果编码正确,去掉相应的校验位,对数据进行重新整合,就能获取ID卡中的ID号,至此解码工作完成。
4结语
本设计硬件电路中功放和检波部分采用分立元件构成,无需读卡集成芯片,电路结构简单,成本极低;软件部分采用C语言进行编写,提出了一种曼彻斯特编码的解码方法。由于RS232的传输距离最大只有15m,因此对于需要较远距离数据传送的场合,可以通过无线数传模块,从而实现远距离数据采集以及实行有关控制。在一些需要较远读卡距离的应用中,可通过改进功率放大电路来提高功放的效率,从而增大发射功率,增大读卡距离。通测试,系统可成功实现对EM4100 ID卡的读取,经过微调天线,最大读取距离可达10cm,且读卡稳定、成功率高,可将其应用于门禁、公交等系统。
参考文献
[1] 樊昌信.通信原理[M].国防工业出版社,2006(9).
[2] 单承赣.射频识别(RFID)原理与应用[M].电子工业出版社,2015(1).