0 引 言
RFID技术是一种非接触的自动识别技术,通过无线射频的方式进行非接触双向数据通信,对目标加以识别并获取相关数据。RFID系统通常主要由电子标签、读写器、天线3部分组成。读写器对电子标签进行操作,并将所获得的电子标签信息反馈给PC机。射频识别技术以其独特的优势,逐渐被广泛应用于生产、物流、交通运输、防伪、跟踪及军事等方面。按工作频段不同,RFID系统可以分为低频、高频、超高频和微波等几类。目前,大多数RFID系统为低频和高频系统,但超高频频段的RFID系统具有操作距离远,通信速度快,成本低,尺寸小等优点,更适合未来物流、供应链领域的应用。尽管目前,RFID超高频技术的发展已比较成熟,也已经有了一些标准,标签的价格也有所下降;但RFID超高频读写器却有变得更大,更复杂和更昂贵的趋势,其消耗能量将更多,制造元件达数百个之多。然而,这里的设计采用高度集成的R1000,可以解决上述问题,既可降低芯片设计中的复杂性和生产成本,又能使制造商制造出体积更小,更有创新性的读写器,从而开拓新的RFID应用领域。
l 读写器硬件结构设计
该设计选用W78E465作为主控模块,IntelR1000收发器作为射频模块。该设计可以作为手持终端,并用RS 232串行通信模块和电平转换接口MAX232与上位机相连。系统硬件原理见图1。
1.1 主控模块
W78E365是具有带ISP功能的FLASH EPROM的低功耗8位微控制器,可用于固件升级。它的指令集与标准8052指令集完全兼容。W78E365包含64 KB的主ROM,4 KB的辅助FLASH EPROM,256 B片内RAM;4个8位双向、可位寻址的I/0口;一个附加的4位I/O口P4;3个16位定时/计数器及1个串行口。这些外围设备都由有9个中断源和4级中断能力的中断系统支持。为了方便用户进行编程和验证,W78E365内含的ROM允许电编程和电读写。一旦代码确定后,用户就可以对代码进行保护。
W78E365内部ROM仅64 KB,内存太小,故采用AT29C256作为外扩ROM。线路连接见图2。
1.2 收发模块
射频模块采用Intel R1000收发器。R1000内包含了一个能源扩大器,使得它可以在近距离或者2 m内对标签进行编码和阅读,而具体距离由读写器所使用的天线决定。有了额外的外部能源扩大器,使用R1000读写器的读写范围可以达到10 m。R1000必须与单独的微处理器连接,这个微处理器可以把由R1000数字信息处理器产生的原始数据转换成EPc或者18000-6c格式的代码,其工作频率为860~960 MHz,共有56个引脚,采用0.18μmSiGe BiCMOs先进工艺,体积仅为8 mm×8 mm,功耗只有1.5 w左右,具有很高的集成度。
R1000与W78E365的连接见图3。射频信号经天线进入电桥,输出信号被分为两路,一路信号经过带通滤波器和不平衡到平衡的转换进入R1000的射频输入口。另一路信号经不平衡到平衡的转换进人R1000的本振输入口。这两路信号在R1000内部经过解调和模/数转换等一系列操作后,将所得的数字信息送给W78E365。W78E365对收到的信号经解码和校验,将所得信息送往上位机,并将其对R1000的命令编码和加密后发送给R1000。这些命令在R1000内部经过调制和PA,再经过平衡到不平衡的转换和滤波,由天线发射出去。数字模块中的时钟驱动来自于外部TCXO产生的24 MHz参考频率。系统中通过∑-△DACS的信号频率为24 MHz;通过∑-△ADCS的信号频率为48 MHz。
R1000内部集成了接收器和发射器。实质上,接收器是一个零中频接收机。下变频后,直流的大部分被复位,由交流耦合电容器滤除。模拟中频滤波器提供粗略的频道选择。它具有可编程带宽满足大范围的数字通过率。该滤波器可以配置成两个实际的低通滤波器,也可以配置成复杂的单相带通滤波器。经滤波后,I,Q信号被数/模转换器转换成数字信号。滤波器中自动中频增益的升高会降低模/数转换器的动态范围。
R1000中,发射器支持同相正交矢量调制和极化调制。前者,用于SSB-ASK调制和反相幅移键控调制;后者,用于DSB-ASK。在这两种调制方式下,数字模块产生的信号,经过∑一△数/模转换器和重建滤波器转换成模拟信号。
在SSB-ASK调制方式下,基带编码信号经希尔伯特滤波器产生复合的同相信号I和正交信号Q,经∑-△数/模转换器将I,Q数字信号转换成模拟信号,进入模拟模块,该模拟信号经天线发射出去。在PR-ASK调制方式下,用混频器将信号反相弥补AM部分的时延,反相时延控制有一个可编程时延,使极化调制的相位与幅度之问的时间错误趋于最小值。在DSB-ASK调制方式下,基带编码和脉冲信号同样也经过希尔伯特滤波器产生一个复合的I,Q信号。所不同的是脉冲成型信号预先进行了扭曲,这样可以补偿调幅传递函数中的非线性。这个经过预先扭曲的调幅控制信号经过∑-△数/模转换器转换成模拟信号,最后通过天线发射出去。
基于功率要求和调制方式的不同,R1000有全功率非线性,低功率非线性和线性3种发射模式。在DSB-ASK调制模式下。R1000采用全功率非线性发射模式。为了发射R1000允许的天线上最大发射功率值为+30 dBm,需在R1000外部接1个PA。采用class—C极化调制能够提高系统的功率效率。在这种发射方式下,只有在DSB—ASK调制方式才有效。低功率非线性发射模式与全功率非线性发射模式相似,只是外部不再需要PA。相反,只使用内部较低的输出功率,在这种发射方式下只有DSB—ASK调制方式有效。在线性发射模式下,R1000的PA—out信号与外部线性PA相连,这是因为SSB—ASK调制方式要求1个线性的PA。需要指出的是在R1000外部接1个PA时,会增加系统的复杂度,但同时放大了传输信号的功率,使信号传输距离更远,提高了读写器的读写距离。
1.3 天线
对Intel R1000超高频收发器,基于不同的天线子系统,天线有两种配置情况。第一种情况是单天线模式。在这种情况下,用一个回路来隔离发射路径和接收路径,每根天线都具备接收器和发射器的功能。第二种情况是双天线模式。同样用分离的天线将接收器和发射器连接起来,通常情况下,两根独立的天线由一个开关控制,每根天线仅具备接收器功能或发射器功能。
对单天线模式,因天线的反射系数并不理想,所以接收增益不能太大,会有饱和的问题。以R1000的高接收灵敏度,可以搭配-10 dB左右的Coupler,视整体线路的隔离而定;对于双天线模式,天线的收发隔离比较理想,接收路径可以使用高增益。
该设计采用双天线模式,用矩形微带天线和同轴电缆构成读写器的天线。该微带天线的基板材料采用介电常数比较高的陶瓷基片,厚0.635 mm。天线宽为70.5 mm,长为52.689 mm,微带线宽度为0.598 mm,馈电点选取在天线宽边中心。经过ADS仿真,该天线中心频率为915 MHz。为减小天线反射系数,达到较理想的匹配,对天线串联一根长度为18.471 mm,阻值为50Ω的传输线,然后再并联一根长度为24.678 mm,阻值为50Ω的传输线。经ADS仿真优化得知,在中心频率915 MHz处,天线最大辐射方向上的方向性系数为3.535;效率为40.087%;增益为1.417。
2 系统软件设计
2.1 主程序
若系统在PC机的监控下工作,则系统与PC机之间是主从通信模式。系统收到Pc机的命令便进入初始化状态,按照主控程序进行相应的工作。处理完毕后,将所得信息送往PC机。主程序流程见图4。
2.2 软件设计
该设计采用曼彻斯特编码方式,用2位二进制数来表示一位二进制数据信息。编码波形的上升沿用01来表示,对应数据信息0;下降沿用10来表示,对应数据信息1。首先,对w78E365进行初始化,使计数器TO工作在16位定时器工作模式下;T1工作在计时器工作模式下,对T0,T1赋初值,使:
TLO/1=(最大计时次数一要计数次数)%256
THO/1=(最大计时次数一要计数次数)/256
然后,设同步脉冲定时值为一位半码宽,将有效数据编码采用半位码宽定时。接着启动定时器T0,检测同步沿的到来。若检测不到同步沿的到来,则继续检测;若检测到同步沿的到来,则开始读端口状态,并启动计时器T1。当检测到下一跳变沿到来时,使计数器数目加1,且将对应端口数字1编码为10,对应端口数字0编码为01。之后进入下一轮循环,直至计数器数目达到码长为止。按照上面操作就可以实现对数据的编码。同理,在进行解码时只要按照相反的逆操作进行即可。
多字节CRC校验的方法一般是移位法。这种方法执行起来速度较慢,但是其需要的空间小;另一种方法是查表法,即预先把多字节可能产生的余式计算出来组成一个余式表,直接查表而不进行二进制的除法。这是一种快速的方法,但是需要很大的空间。用标准CRC一16进行校验,则需要至少1~2 KB,对于MCU来说是很不利的,故选择前者。
该设计采用流密码加密算法,将明文M分割成字符串和比特串M=m0,m1,…,mj,…,并逐位加密:EK(m)=Ek0(m0),Ekl(m1),…,Ekj(mj),…,其中密钥流是K=k0,k1,…,kj…。对明文加密就是将K和M对应的分量分别进行模2相加,得到密文序列C。在接收端,合法的接收者将密文序列C与上述密钥序列进行简单的模2相加,将原来的明文恢复出来。序列密码使用一个比特流发生器,以产生随机二进制数字流,称为密码比特流。密码比特流直接作为密钥使用,而且其长度与明文报文的长度相等。考虑到比特流发生器不是真正随机的实际情况,流密钥生成器用线性反馈移位寄存器构造。
2.3 防碰撞程序
该设计采用非基于位碰撞的二进制算法来实现防碰撞。防碰撞流程如图5所示。
具体流程如下:
(1)发送Request命令给应答器;
(2)发送Group-select命令和Ungroup-select命令给所有应答器,使所有或部分应答器参与冲突判断过程:
①若有冲突,读写器发送.Fail命令给选定应答器,直到没有冲突;
②若没有冲突,读写器发送Select命令给应答器, 选定该应答器。
(3)发送Data-Read命令给选定的应答器:
①若正确接到应答器反馈的信息,读写器发送Success命令给选定应答器;
②若未正确接收到应答器反馈的信息,发送一定次数Resend命令给选定应答器。超过该次数则认为有冲突,进入步骤(2)的①。
(3)当读写器读写信息成功后,读写器对选定应答器发送Unselect命令,使应答器进入完全非激活的状态,不再应答读写器发送的命令。
为了重新活化应答器,必须暂时离开读写器的作用范围,以实行复位。通过以上程序就可以实现系统的防冲突功能。
3 结 语
设计在Modelsire 6.1中进行功能和时序仿真,并通过Altera QuartusⅡ6.0的Stratix EPl SlOF484C5器件综合。结果表明,该算法使用的寄存器为347,比基于位碰撞的算法使用的寄存器数少得多,节省了硬件资源。最大读写标签数为3 595,读写速度可达每秒1 000个标签,防碰撞算法效率接近50%,比传统算法具有更高的TDMA信号利用率及平均识别效率。支持SSB-ASK和DSB-ASK双重调制方式,具备单、双天线模式,体积小,集成度高,可作为手持终端,且能够在各种环境下即插即用。