多总线控制的无线传感器网络
对于时钟器件(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地址,打开中断等命令。将采集的温、湿度数据无线传输。图2为UZ2400内部模块结构。本文引用地址://m.amcfsurvey.com/article/162964.htm
2.2 接收主节点
接收主节点接收各个发射子节点的数据,并进行提取分类,然后通过RS232接口与上位机实现信息的人机沟通。数字信号的传输随着距离的增加和传输速率的提高,在传输线上的反射、衰减、共地噪声等影响将引起信号畸变,从而影响通信距离。选用RS232串行通信标准接口,通过增加驱动以及增大信号的幅度,使通信距离增大到15m。由于单片机的串行发送总线和接收总线TXD和RXD是TTL电平,而PC机的COM1和COM2的RS232连接其实EIA电平,因此单片机需加接MAX232器件进行电平转换,如图3所示。
3 软件设计
在发送子节点上,为了便于主控器件对传感器的控制,在单总线器件挂接到单总线网络之前,有必要对单总线器件进行预处理,即对DSl8820和DS2438编写其所属节点的序号,这个序号是主控器件对某一传感器所属器件进行区分的依据。该序号占用两个字节的空间,其中第一个字节用来区分器件是DSl8820还是DS2438,为DSl8820分配该字节的值为00H,为DS2438分配的该字节的值为80H。第二个字节作为每一个器件分配的序号。比如发射字节点l挂接有10个DSl8820、8个DS2438,那么这10个DSl8820的序号从l到10,8个DS2438的序号从l到8。对DSl8-820用写暂存存储器(4Eh)命令将OOH写到DSl8820高速暂存存储器的第2个字节,将1到20分别写到这10个DSl8820高速暂存存储器的第3个字节,对DS2438分配的序号用写暂存存储器(4Ehxxh)命令写到DS2438存储器第7页第0个字节,然后用复制暂存存储器命令将其复制到非易失性EEPROM,以免序号信息掉电丢失。接收主节点单片机在读回温、湿度数据时,将各温湿度传感器的序号一并读回。
评论