0 引言
目前,有些采用RFID射频识别装置的检测系统虽然能够获得设备的健康信息,但是,无论是同定式的RFID阅读器还是移动式阅读器,将数据及时传同服务器的方式无非是采用有线的方式或者用存储卡来转移数据。有线通信方式的检测范围有限,而移动式阅读器又无法满足实时性的需求。针对这一问题,本文提出了一种将RFID阅读器与ZigBee无线网络终端整合的方案,该方案使得RFID阅读器也成为ZigBee无线网络的一个节点,这样,检测的范围可以极大的拓展,实时性的需求也可以得到满足。本文的主要工作是考虑ZigBee终端如何与RFID阅读器通信以及自身状态转换的问题,具体阐述了ZigBee终端与RFID阅读器混合组网的软硬件设计方法。
1 系统总体结构
电子设备远程诊断系统的总体结构如图1所示,本设计的主要丁作是设计并实现RFID阅读器与ZigBee无线网络的混合组网,用于对电子没备健康状态参数的采集和存储。RFID标签将从被测电子设备上采集健康状态参数,然后通过ZigBee-RFID节点内部的RFID阅读器模块读取这些数据并传给ZigBee终端模块,最后经过无线网络传输给ZigBee协调器,协调器与上位机服务器采用USB口连接,健康状态参数传回给服务器后,利用电子设备故障诊断和预测软件对数据进行分析后即可得到该被测装备的健康信息。服务器上的故障诊断和预测软件还可提供远程登录功能,通过互联网即可监控到被测装备的健康状态。ZigBee RFID节点的设计里有LCD显示模块,一些明显的和易被检测的故障在ZigBee-
RFID节点上也可以显示出来,从而构成了一套覆盖范围广,功能强,实时性好的电子设备诊断系统。
2 硬件设计
整个ZigBee-RFID节点的硬件设计框图如图2所示,分为RFID阅读器模块和ZigBee终端模块,其中RFID阅读器模块采用的是利用nRF9E5芯片设计的无线射频收发模块,其接口主要包括电源、4个A/D口和12个I/O口,以方便灵活地应对各种扩展应用。由于nRF9E5中没有片内Fla sh等存储器,所以,程序代码必须从片外存储器装载,利用SPI接口从片外E2PROM加载程序时,其默认使用的存储器为25AA320。本设计中主要运用的就是这四个SPI接口以及两个I/O口来进行UART串行通信。ZigBee终端模块采用德州仪器的CC2430芯片。该芯片集成了ZigBee射频前端、内存和1个8位处理器(8051内核)。系统中的CC2430在接收和发射时的工作电流均低于27 mA,休眠时最低仅0.6μA,加上其休眠模式与工作模式的超短切换时间等特点,都使得其非常适合对电池寿命要求很高的应用。
CC2430因为已将很多功能都集中在芯片内了,所以,其外围电路设计得到了简化。CC2430采用两种工作电压,内部使用1.8 V的工作电压,外部数字I/O口使用3.3 V电压,片内集成一个自流稳压器,能够把3.3 V的外接电压转换成1.8 V的电压,这样,外围电路就只需要考虑3.3 V的电源供应,而不用再专门设计一个电压转换电路。天线部分为了减少组件的个数,德州仪器公司提供了一个适用于CC2430的微带线巴伦,其原理图如图3所示。
本设汁在TX模式下,把两个差分RF引脚的输出结合为一个单端50 Ω的RF信号,并在RX模式下把单端50 Ω天线信号分成差分RF信号。提供给输出阶段的阻抗匹配以及DC也在巴伦中实现。这个巴伦设计包括两个用于阻抗匹配的组件(L1和L3)、一个RF块(L2)以及一个DC块(C2)。除了上述四个分立组件外,还有一个1/2波长的长传输线,可用于保证正确的RF信号相位以及一个70 Ω、23度的传输线的阻抗匹配。为了实现合适的性能,适当长度的传输线以及L2的连接点都很重要。L3和1/2波长传输线之间的布线的适当尺寸也很重要。选择这个布线的尺寸可以确保合适的阻抗匹配。巴伦布线的阻抗受第一层布线与下面接地平面之间距离的影响。因此参考设计建议使用1 mm厚的两层FR4基板。
因为RFID阅读器模块和ZigBee终端模块之间需要进行通信,同时,在调试时,也需要与计算机进行串行通信,所以安排了两组跳线,以方便RFID阅读器模块和ZigBee模块的自由选择和相互通信,同时也可各自连接电脑以方便调试。当需要调试或与电脑连接时,跳线可提供连接SP3232芯片的选择。SP3232芯片的主要作用是将TTL电平转化为RS232电平。SP3232芯片所需供电电压低,适合便携式设备应用。各模块间的具体连接图如图4所示。
为了使ZigBee网络节点工作的情况更透明,本没汁为节点加上了一块LCD屏幕以显示其工作状态、各项参数和部分数据。所使用的MzLH03 -12864为一块128×64点阵的LCD显示模组。该模组使用串行SPI接口,除电源线之外通信连接需要一根片选线(CS)、一根时钟线(SCK)、一根数据线(SDA)以及一根BUSY线即可,其引脚连接图如图5所示。
工作时,CC2430通过串行SPI对模组进行控制,CS为从机选择线;CS从高电平变为低电平后,模组开始接收串行通讯的第一个数据,即控制指令,模组对SDA的采样在每个时钟线的SCK上升沿进行,当CS为高电平时,传输无效。
3 软件设计
ZigBee-RFID节点的软件设计主要包括ZigBee网络的建立、组网、数据传输以及ZigBee终端模块与RFID阅读器模块的通信等部分。这些应用均运行在ZigBee协议栈的应用层,ZigBee协议栈基本是按照OSI网络模型来定义的,由IEEE802.15.4定义物理层和MAC子层,然后ZigBee联盟继续定义网络层和应用层。本设计的应用程序底层运行的是MSSTATE_LRWPAN协议栈。应用程序首先对CC2430进行初始化,然后对协议栈初始化,再初始化串口和LCD显示模块(ZigBee-RFID节点),接着判断是否为协调器,如果是协调器,则建立网络,然后处理各种网络信息;如果是ZigBee-RFID节点,则进入应用程序有限状态机FSM。其应用程序流程图如图6所示。
ZigBee-RFID节点的应用程序采用有限状态机风格,其状态转换关系如图7所示。其中状态关系主要分为:节点加入网络;节点加入成功信息通报;节点关键应用以及节点网络维护。在节点关键应用状态里,UART口和ZigBee无线网络都处于等待接收的状态,两个状态都有一定的等待时限,一旦超时,则相互转换,直到其中一个状态接收到数据。其中UART接收设置为中断接收。如果UART口接收到来自RFID阅读器的数据,ZigBee-RFID节点立即将数据存储并处理后显示在LCD上,然后打包发送回协调器,再通过协调器传回给服务器,发送成功后转入ZigB ee网络消息等待的状态。如果有来自服务器或者ZigBee网络的消息,则接收并根据接收的消息进行相应的处理,如果是ZigBee网络的控制信息,则进入响应控制信息状态;如果是上位机对RFID阅读器的操作信息,则转入UART发送状态,并将操作信息转发给阅读器。处理完毕后,再回到UART口接收等待的状态,继续与ZigBee无线网络等待状态一起,切换着等待新的信息。
LCD显示模块的工作需要使用SPI串行通信方式。模块有一个复位引脚,对该引脚输入一个低电平的脉冲可使模块复位,复位需要低电平输入持续至少10 ms,在恢复输入高电平后等待15 ms后方可对模块进行显示控制操作(即通过串行接口输入指令和数据)。在通过串行SPI对模块进行控制时,CS为从机选择线;CS从高电平变为低电平后,模组开始接收串行通讯的第一个数据(即控制指令),模组对SDA的采样在每个时钟线SCK的上升沿进行,当CS为高电平时,传输无效。
此外,用户在传输给模块指令时,如果指令是附带有指令数据的,则需要在200 ms以内将数据传输模块,否则将会产生超时错误。BUSY线会在缓冲区快满的时候输出高电平,直到缓冲区的数据和指令处理完以后才会拉低。SPI串行通信时序图如图8所示。
4 性能测试
本系统的测试主要分为两个方面,即RFID阅读器与ZigBee节点通信的测试和ZigBee节点参数的测试。测试时,首先设置RFID阅读器对三个标签分别读写1 000次,然后通过上位机观察ZigBee节点传回的消息,便可以得知阅读器是否将读取的标签信息传给了ZigBee节点。测试结果是全部读取,由此可知,RFID阅读器和ZigBee节点的通信是可靠的。
ZigBee节点的参数主要包括通信距离,丢包率和RSSI等。其中RSSI值为信号强度检测值,不过这里所给出的RSSI值并不是CC2430数据手册所定义的值,而足通过调用aplGetRxRSSI()函数获得的。其测试数据如表1所列。
通过测试可知,节点内通信正常,工作性能稳定,能够满足电子设备远程诊断系统中诊断数据无线传输的要求。ZigBee节点的通信距离也超过设计要求。
5 结语
本文介绍了电子设备远程诊断系统的框架,并着重介绍了该系统中无线传输的部分,指出了本设计的技术性能优势。实验表明,在电子设备远程诊断系统中,采用RFID系统与ZigBee网络相结合的方式具有通信距离远,组网灵活和不受有线连接的局限等诸多优势。