摘要:依据超高频RFID国际标准协议EPC GEN2中的规则,根据ARM9芯片S3C2440提出一种适用于超高频读写器的PIE编码以及MILLER2解码的完成办法。规划中运用该芯片的PWM输出进行编码,并运用其外部中止进行解码。通过剖析示波器捕捉到的MILLER2波形以及串口打印的解码输出,验证了该规划的正确性。
关键词:S3C2440;EPC GEN2协议;超高频读写器;PIE编码;MILLER2解码
导言
一般的UHF读写器主控芯片运用FPGA较多,其长处是FPGA对时序逻辑处理速度快,运用HDL言语很简单完成协议的编码与解码,但FPGA芯片自身很少具有串口、网口等通讯接口模块,功用扩展较费事。因为ARM9芯片集成了许多扩展接口,一起进行操作体系移植等更高层次的规划也变得很简单,但对时序逻辑处理较难。因此本文提出了根据ARM9的UHF RFID读写器基带编解码办法,并加以完成。
1 基本原理
UHF RFID国际标准协议规则读写器到电子标签的通讯应选用DSB—ASK、SSB—ASK或许PR—ASK调制办法。本文运用ARM9芯片S3C2440的PWM(脉宽调制)操控模块进行PIE编码,通过编码信号操控射频开关完成OOK调制。电子标签接纳到指令后反向散射副载波应对,通过射频模块的天线接纳后被解调电路还原成MILLER2数据。结构MILLER2解码状态机,运用S3C2440的外部中止对MILLER2时序序列进行上升沿捕捉,捕捉到的两次中止的时刻距离作为状态机输入,从而解调出标签反射回来的数据。体系的硬件框图如图1所示。
读写器射频模块的作业流程为:发送指令时,PIE编码电平操控射频芯片开关,当开关敞开时输出射频载波,封闭则不输出,以到达OOK调制载波的意图。接纳机选用零中频接纳机计划,直接对天线接纳到的标签反向散射信号进行解调,解调结束得到相位相差90°的I、Q两路信号,通过差分扩大器扩大处理后,输出到比较器,通过比较后电路输出MILLER2编码时序信号。
2 PIE编码
2.1 PIE码简介
EPC GNE2协议规则UHF读卡器向标签发送指令时,数据应选用PIE编码。PIE码通过凹凸电平的时刻长度不同来规则数据是“1”仍是“0”。协议运用Tari代表数据“0”,时刻长度在6.25~25μs范围内,容差为±1%,数据“1”的宽度在为1.5Tari~2.5Tari,如图2所示。本次编码中,Tari值为6.4μs,数据“1”的长度为11.4μs,PW的长度为3.2μs。
协议规则,完好的PIE码需在有用数据前加上前同步码或帧同步码。前同步码由定界符、Tari、RTcal以及TRcal这4段组成,用在Query指令上。帧同步码省去了TRcal而直接由前三项组成,用在其他指令上。前同步码暗示如图3所示。
2.2 PWM完成PIE编码
S3C2440有5个16位的定时器,其间定时器1~4具有PWM(脉宽调制)功用,定时器运用通过分频后的体系时钟PCLK作为时钟输入。本规划中100 MHz的PCLK通过2分频得到50 MHz频率的定时器输入时钟,定时器每计数一次耗时0.02μs。定时器运用两个16位的缓冲寄存器TCNTB和TCMPB来完成PWM功用,TCNTB为一次PWM输出计数次数,选用递减的办法计数,当计数减为TCMPB的时分,PWM输出电平回转。以数据“0”为例,其脉冲总宽度为6.4μs,低电平持续时刻3.2 μs,则可计算出TCNTB=6.4/0.02=320次,TCMTB=3.2/0.02=160次。
为完成接连的PWM输出,需要让定时器作业在主动重载形式,即当定时器计数器减为0的时分,在定时器中止处理函数里更新TCNTB及TCNMPB,让定时器重新开端一次脉宽输出。定时器1初始化时通过以下过程:
①TCNMB以及TCMPB寄存器赋非零初值;
②TCON中人工装载位装备为1,TCNTB和TCMPB更新到内部计数器;
③TCON中主动重载位装备为1,为完成接连的PWM功用;
④TCON中输出翻转位装备为1,脉冲以高电平开端;
⑤TCON置为发动位;
⑥TCON设置封闭人工装载,定时器开端发动。