- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
基于ZigBee的无线监控系统传感器节点设计
近年来,随着计算机科学技术的发展和军队装备信息化的推进,指控系统不断向大规模、复杂化、集成化的方向发展,同时由于战场条件的日趋复杂,其发生故障的可能性也随之增加。面对有大量过程变量的复杂系统,操作和作战人员很难及时有效地监控过程数据,分析当前状态和诊断过程异常,并采取适当的应对措施。因此,如何提高指控系统的可维护性和安全性逐渐受到了广泛的关注。随着射频技术和传感器产品的进一步发展, 利用无线传感器网络建立的各种监控系统可以很好地解决由环境中不确定因素变化所引起的问题, 从而减少生产产品的成本, 提高工作效率。
ZigBee技术是近年发展起来的一种无线通信技术,它具有低功耗、低成本、组网灵活和抗干扰能力强等优点[1]。因此,将基于ZigBee技术的无线传感器网络应用于指控系统的监控方面,能够降低监控系统成本,并且无需布线,根据无线技术的特点将传感器节点布置于指控设备的待测空间内,还可以采集监控到传统方法无法监测到的信号。基于ZigBee的传感器网络技术如果配合有线网络(如以太网)或无线通信技术,可以实现对整个指控系统中各个设备的实时监控,配合无线蜂窝网络技术还可以实现手持式通信终端对指控设备的实时监测。因此对无线传感器网络的研究具有重要的应用价值。
1 ZigBee技术概述
由于ZigBee无线通信协议不仅具有低成本、低功耗、低速率、低复杂度的特点,而且具有可靠性高,组网简单、灵活的优势,所以结合实际需要,并与同类无线技术进行比较后,最终选用了ZigBee这项技术。
ZigBee技术是一种具有统一技术标准的短距离无线通信技术,其兼容的产品工作在IEEE 802.15.4的PHY上频段是免费开放的,分别为2.4 GHz(全球)、915 MHz(美国)和868 MHz(欧洲)。采用ZigBee技术的产品可以在2.4 GHz频段上提供250 Kb/s(16个信道)、在915 MHz频段上提供40 Kb/s(10个信道)和在868 MHz频段上提供20 Kb/s(1个信道)的传输速率[1]。
ZigBee协议栈的体系结构如图1所示。它虽然是基于标准的7层开放式系统互联(OSI)模型,但仅对涉及ZigBee的层予以定义。IEEE 802.15.4-2003标准定义了最下面的2层:物理层(PHY)和介质接入控制子层(MAC)。ZigBee联盟提供了网络层和应用层(APL)框架的设计。其中,应用层的框架包括了应用支持子层(APS)、ZigBee设备对象(ZDO)及由制造商制定的应用对象[2]。
ZigBee设备为低功耗设备,其发射功率为0~3.6 dBm,具有能量检测和链路质量指示能力,根据这些检测结果,设备可自动调整其发射功率,在保证通信链路质量的条件下,最小地消耗设备能量[3]。
2 网络结构
根据某型指控系统装备地域分布和工作时序所具有的特点,状态监控系统通常分为系统层和节点层2个应用层次。节点层主要针对车载式指挥控制系统单车分系统或集中在小地域环境中的系统进行设计,更大范围内的系统层测试采用上述分系统的无线互连方式作为解决方案,本文主要论述的是节点层的设计方案。
在分布测试中,无线监控网络是由在待测目标附近按一定方式布置的多个数据采集节点和1个控制基站组成。每个节点都连接1个或多个功能模块,从而具有1种或多种感知能力。本文设计的传感器网络采用分簇结构,该网络由若干个传感器单元和1个基站构成。基站作为网络中的协调器,负责建网以及设备注册和访问控制等基本的网络管理功能,同时搜集传感器网络发送的所有数据,建立本地数据库,完成数据融合和数据包向控制中心的转发。传感器节点则根据在网络中扮演的角色分为终端设备节点和路由器节点。这两者的区别是:终端节点只负责采集信号,发送至路由器或协调器;路由器则不仅要采集设备信号,而且要收集它的终端子节点采集到的信号,并将收集的各路信号转发给基站。图2给出了监控网络节点层的结构图。
实际应用时,在不改变和破坏原设备连接关系的基础上将传感器节点置于指控设备的通信链路上,使监控模块的两端分别连接至待监控的设备A、B,如图3所示。
数据采集方式根据指控装备中数据流的大小可分为3种。第1种是基站以广播形式向各数据采集节点发送控制指令,要求节点将测试数据以无线的方式回传至基站。采集节点接收到命令后,由控制模块对命令进行解析,若节点地址与本节点编号一致,则通过SPI总线读取由功能模块采集到的符合基站要求的数据,并通过射频模块发送给基站。第2种是定时采集的方式。每隔一段时间,各数据采集模块按照基站的要求,向基站发送1次实时采集到的数据。这2种方式适用于信息流较大的情况。当信息流较小时,可采用中断查询的方式。指控装备中每次传送的数据都会触发数据采集节点的中断,并发送至基站。
3 传感器节点的设计及其在平台上的实现
3.1 硬件设计
3.1.1 传感器节点总体设计
传感器节点的控制和无线通信部分使用Jennic公司的集成化解决方案JN5139芯片。JN5139是IEEE 802.15.4和ZigBee低成本低功耗微控制器,集成了32位RISC处理器、完全兼容的2.4 GHz IEEE 802.15.4收发器、192 KB ROM、96 KB RAM以及丰富的模拟和数字外设。它在单芯片内集成了用于无线传感器网络的收发器和微控制器,具有成本敏感的ROM/RAM架构,能够满足批量应用的需要[4]。
各传感器单元之间及其与基站之间通过无线通信的方式传输,传感器节点采用2.4 GHz的免费频段。无线传感器网络由许多功能相同或不同的无线传感器节点组成。传感器节点由功能模块(传感器、A/D转换器)、控制模块(微处理器、存储器)、通信模块(无线收发器)和供电模块(电池、DC/DC能量转换器)组成。功能模块负责监测区域内信息的采集和数据转换;控制模块负责控制整个传感器节点的操作,存储和处理本身采集的数据以及其他节点发来的数据;通信模块负责与协调器或路由器进行通信,交换控制信息和发送采集数据;供电模块为传感器节点提供运行所需的能量。由于数据采集节点的布置方式、定位方法、通信手段往往是相同的,仅仅是节点由于连接了不同类型的传感器或数据采集设备而导致节点感知能力的差异。因此,将测试单元设计成功能模块,并与控制和通信模块相连接就可以根据测试任务的需要对其方便地添加和删除。传感器节点总体设计图如图4所示。
3.1.2 SPI总线设计
节点中控制模块和各功能模块的控制器件都集成了SPI接口,他们的数据交互是通过SPI总线完成的。当基站发出命令时,节点中的控制模块进行判断并转发给功能模块,功能模块上报给基站的数据也需要通过控制模块进行仲裁并打包发送。
SPI可以作为主器件或从器件,并支持在同一总线上连接多个从器件和主器件。SPI接口包含1个从选择信号(SS),用于选择SPI为从器件;当SPI作为主器件时,可以用额外的通用I/O端口作为从选择输出。
只有SPI主器件能启动数据传输。当处于主方式时,向SPI数据寄存器写入1个字节将启动1次数据传输。SPI主器件立即在SPIMOSI线上串行移出数据,同时在SPISCK上提供串行时钟。在全双工操作中,SPI主器件在SPIMOSI线上向从器件发送数据,被寻址的从器件可以同时在SPIMOSI线上向主器件发送其移位寄存器中的内容。所接收到的来自从器件的数据替换主器件数据寄存器中的数据。2个方向上的数据传输由主器件产生的串行时钟同步。当SPI被使能而未被配置为主器件时,它将作为从器件工作。另1个SPI主器件通过将其SS信号驱动为低电平启动1次数据传输。主器件用其串行时钟将移位寄存器中的数据移出到SPIMOSI引脚。从器件可以通过写SPI数据寄存器为下一次数据传输装载它的移位寄存器。从器件必须在主器件开始下一次数据传输之前至少1个SPI串行时钟写数据寄存器;否则,已经位于从器件移位寄存器中数据字节将被发送。传感器节点中JN5139与外围功能模块基于SPI总线的连接关系如图5所示。
3.2 软件设计
传感器节点程序主要实现接收并转发基站的命令、与功能模块进行交互、上报功能模块采集到的数据等功能。在网络中,每个传感器节点都分配有地址,基站以广播的形式发送指令后,各个节点上的主控制器都对其进行解析,若地址与本节点相同,则进一步分析出功能模块的编号并通过SPI总线进行转发,功能模块在收到命令后,由协处理器进行再次解析,将指定数据上报。
3.2.1 建立ZigBee网络
建立1个网络首先需要对每1个设备IEEE 802.15.4协议栈的PHY和MAC层进行初始化,然后创建本网络的PAN Co-ordinator,每1个网络有且只能有1个PAN Co-ordinator,建立网络的第1个步骤就是选择并且初始化这个Co-ordinator。PAN Co-ordinator一旦初始化完成就必须为它的网络选定1个PAN ID作为网络的标识,PAN ID可以被人为地预定义,也可以通过侦听其他网络的ID然后选择1个不会冲突的ID的方式来获取。每1个PAN Co-ordinator设备都已经具有了1个唯一的、固定的64 bit IEEE MAC地址,通常称为扩展地址。但是作为组网的标识它还必须分配给自己1个16 bit的网络地址,通常称之为短地址。使用短地址进行通讯可以使网络通讯更轻量级且更高。这一短地址是预先定义好的,PAN Co-ordinator的短地址通常被定义为0x0000。
PAN Co-ordinator必须选择1个网络所建立的射频频率通道。它可以通过进行1次能量扫描检测来找到1个相对安静的通道。通过通道能量扫描检测,API将返回每一个通道的能量水平,能量水平高就标志着这个通道的无线信号比较活跃。接下来PAN Co-ordinator就可以根据这些信息选择1个可以利用的通道来建立自己的无线网络。
完成上述工作后,PAN Co-ordinator就将开放对于加入网络的请求应答。一旦网络中出现了可以利用的Co-ordinator,其他的网络设备就可以加入网络了。1个准备加入网络的设备在完成初始化之后,需要通过频道扫描找到PAN Co-ordinator,并在特定的频率通道中发送信标请求。当PAN Co-ordinator检测到信标请求后,Co-ordinator将回应相应的信标来向设备标识自己,既而判断是否有足够的资源接受新的设备,并且决定是否接受和拒绝设备加入网络。如果PAN Co-ordinator接收了设备,它将发送1个16 bit的短地址给设备,作为设备在网络中的标识[5-6]。ZigBee网络的建立过程如图6所示。
3.2.2 ZigBee网络内设备之间的传输数据
当网络中出现了PAN Co-ordinator和至少1个端节点设备后,网络就可以进行数据传输了。Co-ordinator向端节点设备传输数据时,有直接传输和间接传输2种方法可以实现数据传输:
(1)直接传输:PAN Co-ordinator可以将数据直接发送给端节点设备,当端节点设备接收到数据后就可以发送确认消息给Co-ordinator。这种数据传输方式要求端节点设备随时都处于数据接收的状态,也就是要求其随时都要处于唤醒的状态。
(2)间接传输:这种传输方式就是Co-ordinator可以将数据保存起来等待端节点设备请求读取数据。采用这种方式时,端节点设备为了获得数据必须先要发送数据请求。发送数据请求后,Co-ordinator就会判断是否有需要发送给这个设备的数据,如果有就发送相应的数据给端节点设备。接到数据的设备将发送确认信息。这一方式适用于端节点设备需要较低功耗的情况,其大部分的工作状态都处于休眠状态以节省能量。上述数据传输方式如图7所示。
端节点设备向Co-ordinator传输数据时,通常采用直接发送的方式,Co-ordinator接到数据后可以发送确认信息[5-6]。
3.2.3 SPI总线数据传输[7-10]
JN5139支持从16 MHz到250 kHz的数据传输速率,SPICLK时钟的相位和极性都是可配置的。时钟极性控制SCLK在空闲时置高还是置低(也就决定了传输中第1个时钟边沿的极性),时钟的相位决定了JN5139在时钟周期SPICLK的哪个边沿采样SPIMOSI线上的数据。
基于SPI总线的数据传输由vAHI_SpiConfigure()函数进行配置,从设备的选择由vAHI_SpiSelect()函数完成。当处于主方式时,向SPI数据寄存器写入1个字节将启动1次数据传输。调用vAHI_SpiStartTransferxx(xx代表8、16或32 bit)开始1次传输过程,数据被放入数据寄存器并立即在SPIMOSI上串行移出,同时产生时钟信号SPICLK。在全双工操作中,SPI主器件在MOSI线上向从器件发送数据,被寻址的从器件可以同时在MISO线上向主器件发送其移位寄存器中的内容,所接收到的来自从器件的数据替换主器件数据寄存器中的数据。在这一传输过程中,用u32AHI_SpiReadTransferxx(xx代表8、16或32 bit)进行数据的读取。由于从处理器作为从机不会产生移位时钟脉冲,主机接收从机发送的数据时,协处理器的数据传输必须依靠主控制器的配合。从处理器有数据需要传输时,会产生1个低电平的呼叫信号,准备启动1次通信过程。主控制器响应后,会拉低SS引脚,并在SPIMOSI引脚上输出1个字节无效数据,从而在SPICLK线上产生时钟脉冲,将1个字节数据通过SPIMISO引脚送入主控制器[4,7]。数据传输流程如图8所示。
无线传感器网络是一项新兴的信息技术,传感器节点和网络结构的设计对无线传感器网络有着至关重要的作用。本文提出的基于ZigBee无线传感器网络的指控装备状态监控系统,用较为先进的ZigBee无线通信技术代替了传统的有线通信。它采用ZigBee分簇式拓扑结构实现对指控系统中各指控装备状态信息的实时采集、处理和分析,大大提高了系统的可扩展性和移动性,达到了低功耗、自组网,监控灵活方便的技术要求,具有较为重要的应用价值。
上一篇:J2ME技术在手机开发领域的优势和不足
下一篇:移动设备的FM测试