基于无线传感器网络节点的串行通信技术
摘 要: ZigBee 技术具有低复杂度, 低功耗、低成本等优势, 在监测和控制领域具有广阔的应用前景。分析了ZigBee 网络的优点, 提出利用以ZigBee 协议为基础的射频芯片模块实现无线串口的设计, 进一步拓展串口的应用范围。经过实践验证, 该设计方法可靠, 操作简单方便, 功耗小, 成本低, 同时可以实现多机通信, 适合于低速率的数据传输, 具有广阔的应用前景。
0 引 言
随着计算机应用的普及, 计算机与计算机、计算机与数据终端间的通信应用日益广泛, 由于电气标准相对成熟和完善, 串口通信在其中的应用十分广泛。但在通信设备距离相对较远或者有线电缆铺设不便的情形下,无线串口通信的实现将有利于拓展串口的应用范围, 同时有效节约资源。当前无线串口通信的实现主要依靠蓝牙、红外、WIFI 等技术, 但蓝牙和红外的推广都受到距离、功耗的限制, 红外适用于单对单的直接通信, 距离限制在1 ~ 2 m; 蓝牙的距离也仅在10 m 左右, 并且WIFI 和蓝牙系统的建设和使用成本都远远高于Zig2Bee 系统, 且ZigBee 具有低功耗、高通信距离等优点,在无线串口的实现中具有明显的优势。本系统利用以ZigBee 协议为基础的射频芯片CC2430 模块实现无线串口技术, 利用CC2430 自带的UART 模式, 向下兼容RS 232协议, 有很强的应用性和推广性。利用ZigBee网络架构无线串口在设备数目较多, 拓扑相对复杂, 互相通信需要穿越墙体等障碍物时, 具有通信距离远, 功耗低, 安全可靠的优点 。
1 ZigBee 技术
ZigBee 是一种基于IEEE802. 15. 4 标准的短距离、低速率无线网络技术。该无线连接技术主要解决低成本、低功耗、低复杂度、低传输速率、近距离的设备联网应用, 主要用于无线传感器网络的测量和控制方面。
CC2430 芯片是Chipcon 公司推出的用来实现嵌入式ZigBee 应用的片上系统。它支持2. 4G IEEE802. 15. 4/ ZigBee 协议。根据芯片内置闪存的不同容量, 提供给用户3 个版本, 即CC24302F32/ 64/ 128, 片上FLASH 分别是32 KB、64 KB 和128 KB。CC2430 在片上集成了8 位8051 单片机、模/ 数转换器、定时器、看门狗、ASE 协处理器、FLASH 控制器、DMA 控制器、复位电路、串行通信接口以及21 个可编程引脚等。
CC2430 有2 个片上串行通信接口(USART ) , 分别是USART 0 和USART 1。它们既具有相同的功能,又具有各自的引脚, 可以工作在异步UART 模式或者同步SPI 模式下。
当作为异步串行接口, 使用UART 模式时, 有2 种线路构成可供选择。一种是只包含RXT, TXD 的双线构成; 另一种是比双线构成多包含了RT S 和CTS 的4 线构成。
UART 模式具有以下特点:
具有8 或者9 位数据位; 奇校验, 偶校验或者无奇偶校验; 可配置起始位和停止位电平; 可配置低有效位优先传送或者高有效位优先传送; 独立的接受和发送中断; 独立的接受和发送DMA 触发; 奇偶校验和帧校验错误状态; 提供全双工异步传输, 接收器中的位同步不影响发送功能。
2 系统构成
ZigBee 标准是基于802. 15. 4 协议栈而建立的,ZigBee 网络支持星状( star ) 、树状( cluster tr ee) 和网状(mesh) 3 种拓扑结构, 具有可靠性高, 组网简单灵活, 网络容量大, 自组织和自愈能力强, 通信可靠的优势。如图1 所示, 在设备分布数目多, 分布范围广, 拓扑结构复杂时, 架设在ZigBee 网络上的无线串口可以克服普通串口通信距离近, 布线麻烦等不足, 而扩大串口的应用范围。
图1 无线串口的应用
在发送数据时, 数据通过串口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)
- ZigBee无线传感器网络的研究与实验(02-08)
- 无线传感器网络在军事的应用(08-19)
- 突破瓶颈 轻松设计ZigBee应用系统(01-06)
- 基于超声波的定位系统设计(06-27)
- 基于射频识别的无线传感网节点设计研究(06-18)
- M2M成功秘诀:能量收集无线技术(11-15)