康文广,王辉映
(珠海优特电力科技股份有限公司,珠海519070)
射频识别(Radio Frequency Identification,RFID)应用是目前发展最为迅速、潜力最大的新兴技术之一,其利用射频信号和空间耦合(电磁耦合或电磁传播)传输特性,实现对被识别物体的自动识别。RFID技术正在逐步应用于物流管理、产品生产线、零售业、安保等诸多领域[1]。
本文以EM 4095和EM 4100芯片为例阐述曼彻斯特解码方法。
如图1所示,系统由读卡器和非接触式智能卡(下文简称RFID卡)组成。读卡器主要由微控制器、芯片EM 4095和天线组成;智能卡由芯片EM 4100和天线组成。
图1 RFID读卡系统的构成
读卡器不断向周围发射固定频率为125 kHz的电磁波,RFID卡内有一个LC串联谐振电路,其工作频率与EM 4095相对应,也为125 kH z,这样当RFID卡进入该磁场空间时,在电磁激励下LC谐振电路产生共振。通过共振为RFID卡(EM 4100)提供了能量,于是RFID卡通过电磁耦合将自身的ID信息调制后按顺序发送到EM 4095,芯片EM 4095获得此信息后通过解调从引脚DEMOD_OUT输出曼彻斯特码到微控制器。
SHD为休眠控制引脚,高电平时进入休眠状态。当实际应用中不需要进入休眠状态时,可以把EM4095芯片的下拉到低电平,从而节省微控制器的一个I/O引脚。
如图2所示,EM 4100包含64位信息,此信息分为5组:9位同步头,10个行校验位(P0~P9),4个列校验位(PC0~PC3),40个数据位(D00~D93)和1个停止位(S0)。
同步头由9个“1”组成,接着是10组4位数据和1位偶校验位,然后是一组4列偶校验位(不包含行校验位)数据。S0是一个逻辑为0的停止位。
位“D00~D03”和“D10~D13”为用户特殊标识(即用户ID)。
这64位信息被顺序输出,当这64位信息输出后将不断循环输出直到失去能量[2]。
图2 EM4100信息编码组成
曼彻斯特编码如图3所示,每一个比特位的中间总有一个跳变,由“0”跳变到“1”代表数据“1”,由“1”跳变到“0”代表数据“0”。调制控制低电平表示大电流。
图3 曼彻斯特编码
EM 4095芯片是一个CMOS集成收发器电路,用作RFID基站。它不需外部晶振,载波频率为100~150 kHz,数据传输采用调幅方式(AM),兼容多种RFID卡传输协议(如EM 400X、EM4150、EM 4070等)。
如图1所示,EM 4095芯片在使用时需要外接天线电路。该芯片的操作由SHD和MOD控制:当SHD为高电平时EM 4095处于休眠模式;当SHD为低电平时EM 4095被使能并产生射频电磁场,开始解调天线上的任何调幅(AM)信号,数字信号通过DEMOD_OUT引脚输出到微控制器以进行解码和进一步处理[3]。其中,DEMOD_OUT引脚信号输出为曼彻斯特码。
对曼彻斯特码进行解码,主要是对DEMOD_OUT信号进行解码。
①如图4所示,根据天线上的信号[2],可知DEMOD_OUT信号与图3所示的编码正好相反。即由“1”跳变到“0”代表数据“1”,由“0”跳变到“1”代表数据“0”。
图4 天线(线圈)上的信号
②由于RFID卡进入射频场时,RFID卡将循环输出自己的64位ID信息直到离开此射频场,又由于曼彻斯特编码表示一位数据由0或1两个“半位”组成,于是DEMOD_OUT信号是一个以128个“半位”数据为周期的有限长度序列。
③由于载波频率的变化为100~150 kHz,所以“一位”数据的脉宽为640~427μs,“半位”数据的脉宽为320~213.5μs。
原始数据与曼彻斯特编码关系如图5所示,所有的数据都可以分为这4种情况。可以用“前半位”的值来表示一位原始数据,只有当遇到连续相同的两个“半位”数据(Case1和Case2)时才能判断出“前半位”所在的位置,是“1”还是“0”等于这两个连续相同半位值的相反值。
图5 原始数据与曼彻斯特编码关系
如果DEMOD_OUT信号与微控制器的普通I/O口相连接通过软件延时的方法进行解码,误差较大且识别效率比较低。本文采用微控制器的捕获中断功能引脚与DEMOD_OUT引脚相连接。设置为边沿方式触发中断,根据脉冲宽度的范围,通过中断捕获得到128个“半位”数据,中断捕获流程如图6所示。
图6 捕获中断的处理流程
在处理这128个数据后,逻辑上把这128个“半位”数据当作一个环形缓冲区,通过判断两个连续相同半位值来判断“前半位”位置,即这128个数据是奇数项还是偶数项有效。这个有效序列就是原始的64位数据,再把这64位数据逻辑上作为一个环形缓冲区,进行解码。解码流程如图7所示。
图7 解码任务处理流程
在实际应用中,也可以在捕获中断中完成128位数据的采集后关闭中断,而在解码任务中采取每100m s查询一次并打开中断。采用这种解码任务查询方式可以有效避免由于读卡器工况变化而导致的误码。
本文的解码方法仅用微控制器的1个或2个引脚就可完成解码,硬件接口电路简单;算法全部采用C语言编写,可移植性高,可以广泛应用于门禁、考勤等多种系统中。
应用中可以采用中断发消息通知解码任务的方式,也可以采用解码任务查询的方式。采用解码任务查询的方式,经过多年的工程应用,证明此算法稳定可靠。
[1]王子奇.射频识别技术基本工作原理和应用领域及发展状况:第二十二界中国(天津)2008 IT、网络、信息技术、电子、仪器仪表创新学术会议[C]:89.
[2]EM Microelectronic.EM 4100 datasheet,2010.
[3]EM Microelectronic.EM 4095 datasheet,2010.
[4]丁明军,等.射频卡应用中的曼彻斯特解码技术[J].通信技术,2007(12):65.
[5]周元芳.H 4001非接触式ID卡读卡过程的研究[J].浙江水利水电专科学习学报,2003,15(1):5.