多总线控制的无线传感器网络 2011-04-26 16:51:14来源:互联网

摘要:为了实现传感器节点之间无线通信并组网,开发了一种将各多总线器件集成到一起进行无线温、湿度测量的网络系统。系统各节点主要包括由SPI总线控制的无线射频器件QRF-0400,I2C总线控制的硬时钟器件PCF8563,以及单总线控制的温、湿度传感器等。节点通过无线射频器件将传感器采集的温、湿度实时传递到监控主机,工作结束自动进入睡眠模式以降低节点功率,延长工作寿命。实验表明,节点在80m范围内自动组网并采集周边环境的温、湿度,误差低于0.01°。
关键词:SPI总线;I2C总线;单总线;ZigBee技术

自20世纪90年代开始,无线传感器网络技术逐渐发展,从GSM到Bluetooth,从无线ATM到无线局域网,以不同的方式、不同的数据速率、在不同的距离上实现网络连接和信息的及时传递,摆脱了电线的束缚,从而能够在移动中自由地实现信息的交换。尽管如此,仍然要为工业现场安装传感器或开关的布信号线而困惑。在实际应用中依然存在着一些现有的网络技术无法或者不能很好的工作的场合,需要一种短距离、低数据传输速率、低成本、低功耗的无线网络技术。ZigBee技术这种以低成本、低功耗、低数据传输速率、低复杂度为显著优点的短距离无线通信协议,满足了小型、低成本的固定、便携或移动设备无线联网的要求。文章从系统各总线设计的角度开始了对基于ZigBee技术的无线射频器件、时钟器件、温湿度传感器以及RS232总线接口电路展开研究,实现了多总线控制节点无线传输。

1 通信原理
无线传感器网络由一定数目的传感器节点组成,以无线自组的方式构成网络。通常包括处理器模块、传感器模块、无线通信模块和电源管理模块。传感器节点的异构性体现在节点的数据处理能力、传感数据种类、通信能力以及能源状况等方面。传感器节点之间必须采用相同的无线通信网络协议才能实现互联。在ZigBee网络协议栈中物理层负责数据的调制、发送与接收,解决编码调制技术、通信速率和通信频段等问题。物理层之上为支持物理信道共享和广播与多播的数据链路层协议和负责路由转发和设备寻址的网络层协议,在此之上为与具体应用紧密相关的应用层协议。在ZigBee协议栈中,每一层通过使用下层提供的服务完成自己的功能,同时对上层提供服务,网络里的通信在对等的层次上进行。

2 硬件架构
多点的无线传输系统对传输提出了双向通信的要求,即主机和从机都可以进行发射与接收,并且相互之间协调有序,不会产生冲突和干扰。因此系统分为发射子节点和接受主节点两部分,均采用单片机AT89C52做主控器件。发射子节点通过单总线对温度传感器DSl8820和湿度传感器DS2438进行控制,采集温、湿度;通过4个I/O口模拟SPI总线控制无线射频器件QRF0400进行数据的无线传输;通过2个I/O口模拟I2C总线对时钟器件PCF8563进行选时操作。接受主节点通过无线射频器件就行数据接收,然后经过MAX232电平转换接入串口,按照RS232标准与上位机进行信息交换。
2.1 发射子节点
每一个发射子节点的主控器件经过单总线接口控制温、湿度传感器,都必须严格的按照单总线命令序列进行操作。首先进行初始化,以温度传感器DSl8820为例,初始化过程由主机发出的复位脉冲和从机响应的应答脉冲组成。应答脉冲使主机知道总线上有从机设备且准备就绪。当主机检测到应答脉冲后,就可以发出ROM命令。这些命令与各个从机设备的唯一64位ROM序列码相关,当单总线上连接多个从机设备时,允许主机指定操作某个从机设备。这些命令还使得主机可以检测到总线上有多少个从机设备及其设备类型,或者有没有设备处于报警状态。最后发送操作命令,通过ROM操作命令使得总线主机与总线上某些或某一从机设备确定了通信关系之后,主机发出的功能命令便可以驱动从机设备进行相应的动作,当需要进行数据的传输时,从机设备会把主机要求的信息以串行传输的方式送到单总线上,如图l所示。


点击看大图

对于时钟器件(PCF8563)的控制,使用2个I/O口模拟I2C总线的数据线(SDA)和时钟线(SCL)对器件进行读写控制,PCF8563的从属器件地址是1010 A3A2A1A0,然后按步骤完成I2C总线的初始化,启动I2C总线,就可以自动完成规定的选时操作。每一个ZigBee节点都有一个唯一的64位IEEE地址,并可以用这个地址在PAN(个域网)中进行通信,但在从设备和网络协调器建立连接后会为它分配一个16位短地址,此后可以用这个短地址在PAN内进行通信。64位的IEEE地址是唯一的绝对地址,而16位的短地址是相对地址。系统工作在24GHz高频频段,网络中的节点利用自身的无线收发设备交换信息,当相互之间不再彼此的通信范围内时,可以借助其他中间节点中继在同一个个域网里来实现多跳通信。无线收发模块是一射频集成电路模块(RFIC),作为ZigBee无线网络的物理层射频前端实现无线数据的收发。QRF-0400是一个SPI总线控制的基于ZigBee技术的无线传输模块,集成了无线收发器件UZ2400,线性功率放大器UP2202和一个宽带低噪声放大器UA2723。UZ2400内置了射频收发器工作在802.15.4标准的基带滤波和MAC层的功能模块。由发射/接收FIFOs,CSMA-CA控制器,超帧架构,接收帧过滤器,安全引擎和数字信号处理模块等。对于无线传输器件的控制,使用4个I/O口模拟SPI总线的主机输出/从机输入总线(MOSI)、主机输入/从机输出(MISO)、串行时钟线(SCK)、低电平有效从机选择线(SS)进行接口仿真。通过对QRF0400进行读写地址命令,进行初始化,设置个域网标示符,配置IEEE地址,打开中断等命令。