慧聪网首页所有行业资讯中心企业管理商务指南展会访谈行业研究博客慧聪吧找供应找求购免费注册立即登录加入买卖通即时沟通网站导航

无源RFID中密勒码编解码技术与实现

2006/7/11/12:09 来源:矩阵通信技术论坛
    【摘要】本文介绍在无源RFID中应用的密勒码编解码技术,并给出了其软硬件实现的方法。 

    引言 

    在无源RFID中,为实现卡和读写器之间的数据交换,都是采用负载调制方式完成的。进行负载调制时,需要选用一种编码去调制。密勒(Miller)码因码中带有时钟信息,且具有较好的抗干扰能力,因而是非接触存储卡中优选使用的码型,例如,EM Microelectronnic-marin SA的RFID产品H4006中就采用了密勒码技术。但有关资料对其编解码方法的实现涉及甚少。本文在介绍密勒码编解码原理的同时,给出其在RFID中的实现方法。 

    密勒码编码方法 

    密勒码编码规则如1所示。其波形关系之一例示于图1。
 
    从表1和图1中可知,密勒码的逻辑“0”电平和前位有关,而逻辑“1”虽然在位中间有跳变,但是上跳还是下跳取决于前位结束时的电平。 

    密勒码编码器的实现 

    密勒码的传输格式通常如表2 所示,其中起始位为1,结束位为0,数据位括传送数据和它的校验码。 

    实现表2格式的密勒码流可以采用硬件电路,也可以用软件编程。下面分别予以介绍。 

    硬件电路
 
    实现密勒码编码的电路示于图2。 

    图3是假定编码数据为0110 001101(加起始位和结束位后为101100011010)的密勒码编码相关波形图示例。图中的CP/2是数据时钟的二分频,是CP/2的倒相信号。根据密勒码编码规则,在奇数个1串(包括一个或连续多个1位)出现时,对应于位1的密勒码输出为CP/2与此时CP时钟信号异或;其后的位0密勒码输出为。在偶数个1串出现时,对应于位1的密勒码为 与CP的异或,而其后出现的位0密勒码为CP/2。因此,电路中采用一个脉冲形成电路,在NRZ码数据流的上升沿形成一个脉冲,该脉冲加至二进制计数器计数,二进制计数器初始状态Q端输出为0,NRZ码起始位(奇数个1串)上升沿触发脉冲形成后,第一个脉冲使二进制计数器的Q端为高电平,表示奇数个串开始,它通过与门4和或门2选择CP/2,与CP时钟异或生成位1的密勒码,并选择为其后相应的0码。第2(偶数)个1串到达时,二进制计数器翻转,选择与CP异或生成位1的密勒码,而用CP/2生成位0对应的密勒码。 

    图3很好地描绘了所给范例的生成波形图。编码控制信号用于启动编码器电路,若为存储卡,可用卡的上电信号(Power On)触发产生编码控制信号。
 
    软件方法 

    从图3输出的密勒码波形可以看出,NRZ码可以转换为用二位NRZ码表示的密勒码值。其转换关系如表3所示。但二位表示法中的二进制数的时钟频率要提高一倍。密勒码的软件流程如图4所示。 

    若是采用CPU处理,则将NRZ码数据变换后,以2倍时钟速率送出变换后的NRZ码数据即可。例如,前例中的101100011010转换后为011110011100111001111000。若为存储卡,也可将NRZ码转换为用二位NRZ码表示的密勒码,存放于存储器中,但存储器容量需增加一倍,数据时钟也需增加一倍。因此还是用硬件编码方法较宜。 

    解码方法 

    由于读写器中都有微控制器,因此采用软件解码方法最为方便。读写器在对负载调制信号解调后,可获得相应波形,若以2倍时钟频率读入位值后即可判决解码。首先,读出0→1的跳变后,表示获得了起始位,然后两位一转换:01和10都译为1,00和11都译为0。 

    这里还得说明一点,密勒码停止位的电位是随前一位的不同而变化的,即可能为00,也可能为11,因此,为保证起始位的一致,停止位后必须有规定位数的间歇。此外,在判别时若结束位为00,则问题不大,后面再读入也为00,则可判知前面一个00为停止位。但若停止位为11,则再读入4位才为0000,而实际上,停止位为11,而不是第一个00,解决这个问题的办法是预知传输的位数或以字节为单位传输。这两种方法RFID是可以实现的。 

    结语 

    本文针对无源RFID中的编解码技术,采用硬件和软件两种方法实现了密勒码的编解码,具有较好的抗干扰能力,是非接触存储卡的优选方案。

我要评论

】 【打印