基于无线传感器网络节点的串行通信技术
在发送数据时, 数据通过串口USART 进入CC2430 的DATA 内存区。为了提高传输速度, 使用DMA 传输方式将内存区中的数据送达射频模块的TXFIFO 中, 数据进入射频模块后, 经过一系列的硬件处理, 最后通过天线发射无线信号。接收数据是发送数据的逆过程。射频模块从天线接收到无线信号, 通过一系列的硬件处理, 将信号转换为数据, 存放在RXFIFO中, 再通过DMA 方式送入DATA 内存区中, 最后通过USART 串口将接收到的数据送出。数据在无线模块的传输路径如图2 所示。
不难看出, 整个数据传输过程大部分在CC2430 的内部完成。这得益于CC2430 具有极高的集成度, 是一款片上系统, 能够提供较高的系统稳定性和可靠性。
图2 数据在无线模块中的传输路径
ZigBee 模块接收到的数据帧作为网络层的负荷, 通过ZigBee 网络发送给目标节点。网络层帧格式如下所示:
该帧的第1 个字符表示帧类型( frame. type) : 0x00为命令帧; 0x01 为数据帧; 0x02 为确认帧; 0x03 为错误帧; 0x04~ 0xFF 保留。第2 个字符表示包序列号( se2quernce number ) 。第3 个字符表示数据传送的目标节点( destination address) 。第4 个字符表示数据的源节点( source address) 。第5 个字符表示数据的长度( datalength) 。后续是数据负荷( data payload) , 长度为datalength。最后一个字符是校验和( check sum) , 其值根据下式算得。
整个数据帧的长度是data length+ 6, 作为MAC层负荷, 它必须小于104 B。无线模块网络层接收到数据帧后, 检查该数据帧的目标地址与该节点地址是否相同。若不相同, 则说明该数据是给异地节点的, 无线模块将通过ZigBee 网络转发给目标节点; 若相同, 则根据接受到的数据重新计算校验和; 如果得到的校验和与传送过来的相同, 则回复确认帧, 同时将数据输出; 反之通知发送方传输失败。
3 硬件设计
前面介绍了系统整体和软件设计方面的方案, 下面提供一种系统硬件组成的设计方案。无线模块电路图如图3 所示。
图3 无线模块电路图
电路系统主要由电源、复位电路、串口连接电路和无线收发电路组成。可实现串口数据的无线收发, 即发送数据时, 计算机通过MAX485 将RS 485 的标准电平转换为T TL 电平, 再通过CC2430 无线发送。接收数据则是CC2430 先接收到数据信号, 然后经MAX 485将TT L 电平转换为RS 485 的标准电平, 再通过RS2485 向上位机输入数据。由于CC2430 具有低功耗的特性, 因此选用2 节干电池为模块供电。另外, 还选用了AH805 升压稳压器, 可将3 V 电压升高至5 V, 故电源部分可提供3 V 或5 V 2 种电压。其中, 3 V 电压为CC2430 供电; 5 V 电压为MAX485 和复位电路供电。若将系统用于PC 机间的通信时, 可以通过引入RS 2322485 转换器来实现RS 232 标准电平到RS 485标准电平的转换, 以兼容PC 机RS 232 串口。
评论