点对多点的多任务无线通信
Header为数据包的命令字节,由此确定数据包的类型;
Length为数据包包含的Length字节之后的所有字节的长度;
Unit为RTU地址字节;
Data为数据包字节;
Checksum为校验字节。
2 硬件设计
上海桑博电子科技有限公司STR-2 RF模块的核心部分为nRF401,外加精心设计的内置天线,具有体积小(37mm×47mm),功耗低的特点;传输距离为200m,最大传输速率为20kb/s;外围接口电路简单,可直接与单片机的通用串行口(UART)口连接。图3所示为硬件框图。
STR-2 RF引脚功能如下:
VCC——正电源,接2.7~5.25V;
CS——频道选择,CS=0为选择工作频道1(即433.92MHz),CS=1为选择工作频道2(即433.33MHz);
DOUT——数据输出,连接MCU串口RXD;
DIN——数据输入,连接MCU串口TXD;
GND——电源地;
PWR——节能控制,PWR=1为正常工作状态,PWR=0为低功耗状态;
TXN——发射接收控制,TXN=1时模块为发射状态,TXN=0时模块为接收状态;
3 软件设计
在系统中,所有STR-2 RF模块均采用433.92MHz作为系统工作频率。下面以星状点对多点通信系统为例,详细介绍系统的软件设计。
(1)主程序设计
为了避免同频干扰的问题,系统采用时分TDMA(Time Diveision Multiple Access)技术,把系统CMS与任意一台RTU之间的通信采用时分的方式分开,CMS通过扫描的方式与各台RTU设备进行单台通信,这样系统中的CMS与RTU的通信方式就成为点对点的通信方式。整个点对多点系统的通信就成为若干个点对点通信的组合。程序采用C51单片机语言编写,其主控程序流程如图4、图5所示。
(2)打包与解包
协议将主要数据分割成一定格式的数据,并增加一些额外的信息(用于纠错),这个过程叫打包;在接收端协议去掉这些额外信息,只留下初始信息,这个过程叫解包。
打包程序如解包程序见网络补充版(http://fanwen.oyaya.net收集整理)。
解包子程序流程如图6所示。
结语
本文中的无线硬件设计、软件设计解决方案已被多次运用于多种产品、多种系统。目前各种产品、系统运行稳定,无线通信误码率低、可靠性高、安全性好。文中的软、硬件设计方案,可适用于各种单片机,对于无线通信技术在我国推广和广泛的运用有着重要的参考价值。
《点对多点的多任务无线通信(第3页)》