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 个字符表示包序列号( se2querncenumber) 。第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 串口。
4 实验结果
在最终的系统测试中, 主要对系统在数据传输速率以及通信距离对数据传输误码率的影响和传统有线通信做了单项和对比测试, 测试结果如表1 所示。
5 结 语
在此将最新的ZigBee 技术用于CC2430, 为RF 收发器实现了无线通信, 将其与计算机串口结合起来, 可取代传统的有线串口通信, 并通过实地的系统测试和理论分析, 论证了基于ZigBee 技术的无线通信相比于传统有线通信的优点, 提出了一种新型串口通信的解决方案, 具有广阔的实用前景。