单片机
返回首页

点对多点的多任务无线通信

2012-07-20 来源:单片机及嵌入式系统应用

引言

现代世界是一个高速自动化的世界,各种各样的设备除了可以与计算机联机外,还可以互联机,而最简单的自动化联机方式就是使用串行通信。随着时代的进步,它并没有被取代,后倒是逐渐被广泛应用。如今,在许多场合有线连接的方式已经不能满足科技的高速发展。无线技术正以一种快速的速度进入许多产品,它与线相比主要有成本低,携带方便,省去有线布线的烦恼;特别适用于手持设备的通信、电池供电设备、遥控、遥测、小型无线网络、无线抄表、门禁系统、小区传呼、工业数据采集系统、无线标签身份识别、非接触RF智能卡、小型无线数据终端、安全防火系统、无线遥控系统、生物信号采集、水文气象监控、机器人控制、无线232数据通信、无线485/422数据通信、无线数字语音、数字图像传输、智能小区不停车收费、银行智能回单系统等。在如此多的无线系统应用中,无线通信的协议自然显得特别重要。无线通信协议的好坏直接关系到系统的安全性、误码率以及系统运行的速度。本文以上海桑博科技有限公司的STR-2无线收发模块为例,详细介绍无线收发模块与各种单片机的硬件接口设计,点对多点无线通信协议的数字打包格式、解包程序以及相关软件设计。

1 系统概述

1.1 链状点对多点系统

图1所示的系统是由一台中央监控设备CMS(Central Monitoring System)和多台远程终端设备MRTU(Multiple Remote Termial Unit)构成的点对多点的多任务无线通信系统。在中央监控设备CMS与远程终端RTU(Remote Termial Unit)之间用多台中转设备Tran作为中转站,以便起到暂存数据和延伸距离的作用。中转站之间,以单向通信方式进行传递数据。

(1)适用范围

*传输距离远的多点多任务数据采集;

*条件恶劣、干扰大、多点多任务数据采集;

*对时间要求不高的各种复杂无线数传;

*智能小区水、电、煤、暧气集中抄表系统,各种远程集中按防报警系统等。

(2)协议数据包格式

协议的第一件事就是能够识别噪志和有效数据。噪声是以随机字节出现的,没有明显的结合方式;噪声源可以产生任意字节的组合。在无线通信的过程中,最好能通过一种协议有效地抑制噪声的产生。

通过测试和试验发现,0xFF后跟0xAA、0x55在噪声中不容易发生。传输协议应该在数据包前加开始字节,0xFF后跟0xAA、0x55发送协议的开始应该是一个任意内容的字节(这是因为第一个字节的数据在发送时容易丢失),然后是0xFF后跟一个0xAA、0x55;接收协议规定只接收以0xFF后跟0xAA、0x55开始的包,于是就可以很方便地把以上系统的数据包格式定为:

Lead1 Lead2 Lead2 Header Length HostID Loca Destination
Unit Data1 Data2 Datan Checksum    

Lead为引导字节

Leader1=0xFF;

Leader2=0xAA;

Leader2=0x55;

Header为数据包的命令字节,由此确定数据包的类型;

Length为数据包包含的Length字节之后的所有字节的长度;

HostID为主机地址;

Local为本地机地址;

Destination为目标地址;

Unit为RTU地址字节;

Data为数据包字节;

Checksum为校验字节。

1.2 星状点对多点通信

图2系统是由一台中央监控设备CMS和多台远程终端设备MRTU构成的点对多点多任务无线通信系统。在中央监控设备CMS与每一台远程终端RTU都以双向通信方式进行传递数据;特别适用于数据量大,对时间要求较高的场合。

(1)适用范围

*传输距离较近的地方;

*条件恶劣、干扰大的地方;

*对时间要求高、数据量大的场合;

*智能小区水、电、煤、暧气集中抄表系统,各种远程集中安防报警系统等;

*智能家用集中控制系统;

*工业测控、工业数据采集;

*医疗器械、健身器材;

*数据仓库、智能商场超市导购;

*餐饮无线点菜系统;

*PDA无线数传;

*水纹气象监控;

*生物信号采集;

*油田环境监控;

*银行智能回单系统等。

(2)协议数据包格式

根据图2可以把系统的数据包格式定为:

Lead1 Lead2 Lead2 Header Length Unit
Data1 Data2 Datan Checksum  

Lead为引导字节

Leader1=0xFF;

Leader2=0xAA;

Leader2=0x55;

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://www.dpj.com.cn)。

解包子程序流程如图6所示。

结语

本文中的无线硬件设计、软件设计解决方案已被多次运用于多种产品、多种系统。目前各种产品、系统运行稳定,无线通信误码率低、可靠性高、安全性好。文中的软、硬件设计方案,可适用于各种单片机,对于无线通信技术在我国推广和广泛的运用有着重要的参考价值。

进入单片机查看更多内容>>
相关视频
  • RISC-V嵌入式系统开发

  • SOC系统级芯片设计实验

  • 云龙51单片机实训视频教程(王云,字幕版)

  • 2022 Digi-Key KOL 系列: 你见过1GHz主频的单片机吗?Teensy 4.1开发板介绍

  • TI 新一代 C2000™ 微控制器:全方位助力伺服及马达驱动应用

  • MSP430电容触摸技术 - 防水Demo演示

精选电路图
  • 简洁的过零调功器电路设计与分析

  • 永不缺相启动运行的电动机控制电路

  • IGBT模块通过控制门极阻断过电流

  • CCFL的工作原理及电子驱动电路解析

  • 基于M66T旋律发​​生器的电路图解析

  • 基于TDA1554的立体声放大器电路

    相关电子头条文章