基于SimpliciTI网络协议的无线串口桥技术研究

2013-10-10 01:56孙长国王莹刘志宏
单片机与嵌入式系统应用 2013年9期
关键词:网络协议串口信道

孙长国,王莹,刘志宏

(解放军92117部队,北京100072)

引 言

随着网络和通信技术的高速发展,人们对无线通信的需求也越来越高。为避免复杂的线路连接,人们希望通过一个小型的、短距离的无线网络为简单的数据传输提供服务。

无线串口接口简单、兼容性好,能够实现点对点的无线数据传输,但只有实现真正透明传输,才能实现应用简单,适用范围广泛的特点。

因此,无线串口通信的设计就显得尤为重要。本文提出的基于SimpliciTI网络协议的无线串口桥技术,采用了数据帧的自适应接收、自动跳频抗干扰技术、超低功耗设计技术等实现了模块的高可靠性、小型化等特点,通信系统结构简单,操作方便,实时性很高。在远程控制、无线数据采集等多个领域具有很好的应用和发展前景。

1 SimpliciTI网络协议的优势

蓝牙和ZigBee作为标准、优秀的通信技术,两者在各自定义的领域可以发挥重要作用。尽管如此,基于国际标准的技术也有缺点。首先,为满足标准,在初始设计和兼容性测试中必须付出高昂费用。其次,就其字面意义而言,标准必须是“通用性极强”的解决方案,但由于竞争对手也掌握相同的技术,所以很难使产品在竞争激烈的全球市场中实现差异化。最后,标准解决方案很少有机会实现足够的灵活性,例如,为了确保兼容性就需要大量数据包开销,从而增加数据传输时间和功耗,无线产品的功耗降低空间就极其有限。

SimpliciTI网络协议是TI公司于2007年推出的针对简单小型无线网络的专有低功耗网络协议,目前已经发展10余个版本。该网络协议能够简化实施工作,尽可能降低微控制器的资源占用,具有低成本、低功耗、源代码公开且免费、支持具有睡眠状态功能的设备、易于开发等特点。该协议能“开盒即用”地在CC110x/CC2500等多种RF收发器上运行[1]。

对于SimpliciTI协议的具体内容,这里不再赘述,下面主要结合无线串口桥技术,探讨一下SimpliciTI网络协议的具体应用。

2 总体架构设计

SimpliciTI网络协议专为简单的RF网络而设计,对适合网状路由与标准化配置的大型网络的ZigBee而言是一种很好的补充。协议对端到端的通信具有良好支持,其典型的拓扑结构如图1所示,这就为无线串口桥设计提供了良好基础。

图1 SimpliciTI协议典型拓扑结构

硬件设计采用CC1110无线单片机+FT232R串口芯片设计,单个节点硬件电路原理图如图2所示。

CC1110单片机可以无缝运行SimpliciTI协议栈,并支持串口数据通信[2],只要一个电感电容组成的匹配网络就可以实现无线通信;采用FT232R串口芯片,实现虚拟USB接口,方便与计算机连接。节点设计采用 USB供电,并设计一个工作状态指示灯,用于无线数据收发状态指示。整个节点设计具有高可靠、小型化、低成本等特点。

图2 单个节点硬件电路原理图

3 关键技术

3.1 数据帧自适应接收技术

为解决无线通信的可靠性、实时性问题,实现真正的透明传输,设计利用SimpliciTI协议提供的回调函数,实现了数据帧自动接收,大大提高了通信效率和可靠性。

SimpliciTI协议提供了一个通用的回调函数sRxCallback,该函数通过SMPL_Init(sRxCallback)函数进行了注册,并实现了网络初始化,生成一个LinkID,这是节点在网络里的唯一标识。一旦有无线数据接收,系统进入中断服务程序调用该函数,并通过SMPL_Receive(sLinkID2,msg,&len))&&len)从射频层RX FIFO获取数据,并存储在接收帧队列,如果接收队列满,则队列里的旧帧将被丢弃,之后,中断例程被释放。回调函数运行在接收中断例程里提高了工作效率,实现了较小延迟的数据接收。

3.2 自动跳频技术

SimpliciTI协议1.2.0版已经具备了频率捷变和管理功能。自动调频技术结合CC1110单片机的CCA(Clear Channel Assessment,空闲信道评估)功能,并利用SimpliciTI协议频率捷变能力,提高了无线通信的抗干扰能力。自动跳频流程图如图3所示。

图3 自动跳频流程图

CC1110单片机的空闲信道评估功能主要通过接收信号强度RSSI实现的,CC1110无线通信的接收信号灵敏度是-110dBm,而SimpliciTI协议中,可靠的接收信号门限设置为-70dBm,提高了接收数据的可靠性。实际计算RSSI的平均值,这样才能得到有效的信道评估值[3]。如果信道评估失败,则更换信道,信道数量一般设置为4个,信道间隔多达1MHz,从而保证了信道可用[4]。

4 无线串口桥技术实现

无线串口通信系统的主要功能是实现串口数据的无线收发。PC机上的监控等指令按照一定的通信协议的格式通过RS232串口发送到无线节点,数据通过校验并经无线串口桥简单协议将数据无线发送出去。同时,另一个节点进行侦听,如收到有效数据,则将数据按照通信协议格式解包,加上帧头和校验位后,通过RS232串口发送到PC机上。

4.1 软件流程图

本系统软件开发采用基于SimpliciTI-1.2.0协议,采用IAR Embedded Workbench 7.60作为开发环境,编程采用C语言,使得系统设计十分方便。这里给出了整个系统程序设计流程图,如图4所示。

图4 软件系统流程图

两个节点各自完成初始化后,ED节点开始进行信道扫描,使用SimpliciTI协议内部自带的SMPL_Ping(sLinkID)函数,该函数可实现对信道列表内的所有信道进行扫描,类似于TCP/IP协议的Ping功能。当另一个节点AP收到后,发送应答指令,这样ED节点就实现了信道发现并锁定,然后通过Join到Link等过程[5],实现数据通信。

4.2 帧格式

在串口收发数据和无线收发数据时,都需要根据具体的应用来拟定数据格式。表1给出了通信的帧格式,整个帧格式实际上就是SimpliciTI协议的数据载荷,而串口通信数据帧这里没有给出具体的格式,用户可以根据具体的应用加以变化,使得串口通信实现真正的透明传输,即所发即所收。

表1 通信帧格式

4.3 测试试验

为了测试本系统的无线传输可靠性,搭建了一个简单的测试平台,对丢包率进行了测试试验。节点1为AP模块,节点2为ED模块,将两个模块分别连接计算机串口,使用串口调试助手SSCOMV3.0进行收发测试。值得注意的是,串口是全双工通信,而无线则是半双工通信,因此,同一时刻,收发测试是单向的。表2给出了误码率的测试结果,实验室测试距离为10m。发送测试数据为:99H0AH 01H01H01H00H00H00H00HA6H,共计10个字节。

表2 测试实验统计表(持续时间为5min)

测试结果表明,只要保证足够的发送间隔,数据包的送达率可达到较高水平,对于出现丢包的情况,可以通过用户应用程序重发校验机制予以解决。

结 语

采用基于SimpliciTI协议的无线串口桥通信系统,从硬件电路设计、数据自适应接收技术、自动跳频技术、帧格式及软件编程等几个方面进行了详细设计,真正实现了数据的透明传输。测试结果表明,该系统硬件结构简单、数据传输可靠、易扩展、实时性好。实际应用后,大大减小了线路连接的复杂程度,从而避免了施工布线、电线老化等问题,可广泛应用于远程控制、无线数据采集等多个领域,具有很好的应用和推广前景。

[1]李文仲,段朝玉.CC1100/CC2510无线单片机和无线自组织网络入门与实践[M].北京:北京航空航天大学出版社,2008:221-242.

[2]杨鹏云,佟云峰,宋学青.基于CC1110的点对多点无线通信系统[J].云南大学学报:自然科学版,2009,31(S2):304-307.

[3]杨宁,史仪凯,袁小庆.SimpliciTI网络频率捷变机制的研究[J].传感技术学报,2011,12(24):1739-1742.

[4]Sung Tienwen,Yang Chusing.An Adaptive Joining Mechanismfor Improving the Connection Ratio of Zigbee Wireless Sensor Net-works[J].International Journal of Communication Systems,2010,23(2):231-251.

[5]曾学为,孙玲玲,李少将.基于SimpliciTI协议的无线传感网络系统设计[J].杭州电子科技大学学报,2011,12(31):5-8.

猜你喜欢
网络协议串口信道
浅谈AB PLC串口跟RFID传感器的通讯应用
一种蓝牙多跳网络协议的设计与研究
基于载波技术的多点温度测量系统设计
基于DPI技术的语音视频流量监控系统设计与实现
FRFT在水声信道时延频移联合估计中的应用
数字电源内部数据传输的串口通信方法实现
USB接口的多串口数据并行接收方法探索
基于导频的OFDM信道估计技术
串口技术的实物调试和虚拟仿真联合教学模式
一种改进的基于DFT-MMSE的信道估计方法