基于电力线物联网通信协议的设计

2015-10-31 02:11李晓迎孙友伟姚秋莎
电子设计工程 2015年20期
关键词:重传电力线通信协议

李晓迎,孙友伟,姚秋莎

(西安邮电大学通信与信息工程学院,陕西西安710061)

基于电力线物联网通信协议的设计

李晓迎,孙友伟,姚秋莎

(西安邮电大学通信与信息工程学院,陕西西安710061)

为了提高由电力线构建的物联网传输数据的效率及准确性,通过对现有经典协议进行对比分析,对基于电力传输线路的物联网构架的网络模型进行设计并且对数据链路层协议及其帧结构进行改进,最终设计出一种适合于电力线传输的物联网家庭环境的通信协议。协议通过C语言编程实现,经过调试并且在搭建的keil+protues平台进行仿真实验。结果表明,本文设计的协议可保证节点间的可靠通信。

电力线物联网;keil+protues;协议设计;可靠通信

下一代网络的架构,经由骨干传送[1]、10G接入[2]和用户驻地[3]的一步步发展,如今已经到了物联网络的层面。电力线通信(Power Line Communication,PLC),又称电力线网络,指利用既有电力线,将数据或资讯以数位讯号处理方法进行传输[4]。从20世纪90年代开始,产生了很多电力线通信协议。如1997年由Pico Electronics Ltd开发成功的X-10协议、日本的家庭总线系统、美国的消费电子总线、局部操作网络会话标准等都是国外现有的电力线通信协议。虽然上述协议在国外比较流行,但电力线通信网络在国内发展还不成熟,而且国外流行的协议都是行业协会进行管理,其协议规不能免费获得。更重要的一点是,国外的通信协议为了适应厂家生产的各种设备,设计的过于复杂,对一般的研究和开发来说并不适合。文中通过对现有协议的改进,设计出适合于基于电力线传输的物联网构架的家庭环境下的协议,保证了节点间的可靠通信。

1 网络模型的建立

通信网络的协议可按照分层的概念来设计[5]。而本设计主要的目的是应用于电力线物联网系统下的家庭环境,考虑到软件的可移植性和易维护性,因此本协议的设计采用了分层设计。现有的通信协议大部分都是参考开放系统互联模型OSI(Open System Interconnection),而后根据系统所需要完成的功能进行相应的修改与裁剪[6]。本系统是在一个变压器的范围内进行的通信,因此本系统的通信指的是在局域网中的通信,不需要进行路由及路径选择等之类的网络层功能。在保证可靠的通信的基础上,为了提高通信的效率,设计出最适合于本系统的通信协议,本系统的网络模型只需要有应用层、数据链路层、物理层3个层次。本系统的网络模型如图1所示。

图1 电力线物联网系统网络模型Fig.1Power Line communicationsystem network model

电力线物联网系统协议模型及各层功能简介:

1)物理层,主要功能是物理信道的建立及比特流的传输。本设计方案中物理层功能由ES0191芯片来完成,该芯片主要完成原始数据信号的调制、解调与扩频、解扩。

2)数据链路层,主要任务是加强物理层传输原始比特的功能,使之对上一层显现为无错的链线路。本层是主要靠软件进行的,是本文研究的重点。发送方把温度传感器采集到的数据封装在数据帧里,并根据协议的流程发送各帧,处理接收端回送的确认帧。本平台中该层的主要任务是:①产生和识别帧的边界;②帧的破坏、丢失和重传;③控制共享信道的问题。

3)应用层:负责对每个节点定义并分配地址,并对温度传感器采集到的数据进行合理的处理,使之便于认知。

2 通信协议的设计

由于本平台的拓扑结构为总线型结构,所有的数据传输都在一条总线上进行,因此控制共享信道的问题是本平台链路层协议设计的难点,也是设计本协议的重点。

在传统的通信系统中一般采用载波侦听多址接入(CSMA)[7]技术来实现共享信道的多址通信。前辈科学家们,为有线局域网络提出了CSMA/CD[8](Carrier Sense Multiple Access/Collision Detect)协议,为无线局域网络提出了CSMA/ CA(Carrier Sense Multiple Access/Collision Anoidance)协议。在低压电力线信道中,开关用电设备等产生的随机脉冲噪声、电力线上的背景噪声以及连接在电力线路上的各种电器产生的电磁干扰噪声,对载波通信数据影响较大[9]。无线网络上的噪声特性与低压电力线网络的突发性脉冲噪声环境相似,并且CSMA/CA协议采用RTS-CTS握手机制,能够避免"隐藏节点"的问题,也不需要进行冲突检测。

因此为解决信道的共享问题,本设计在现有CSMA/CA协议的基础上对CSMA/CA协议进行了相应的改进,并根据本平台的实际环境对数据链路层的帧结构进进行重新设计。

2.1CSMA/CA协议的改进

CSMA/CA协议对于传输速率低的PLC网络,其RTSCTS机制过于复杂,给网络增加了额外的开销,特别是对于本平台所涉及的适用于家庭环境的短帧传输,这种开销的比重显得更大。所以,文中对CSMA/CA协议中的帧结构进行了如下改进。

1)去掉原有的RTS-CTS握手机制,将其改换为ACK确认帧机制,尽量减少确认帧的大小和传输次数,提高传输效率。

ACK确认帧的设计为:帧标识位(判断帧的类似)、目的地址、源地址和帧序列号(数据帧和确认帧应一一对应)。如图2所示。

图2 ACK帧结构Fig.2ACK frame structure

2)增加报警提示帧。如果重传次数溢出,将发出报警帧。同时在报警帧中加入目的地址和源地址,用来告诉应该是哪条链路上出了问题,其他节点可以绕行。

报警帧的格式为:帧标识位,目的地址位,源地址位。如图3所示。

图3 警报帧帧结构Fig.3Alarm frame structure

2.2数据链路层帧结构的设计

在数据帧结构的设计和协议的设计上,一方面要减少各类控制信息,以增大传输效率;另一方面,要对数据做好纠错检错,以达到可靠性的要求。主要考虑到所设计的网络为小型的局域网络具有节点少、速率低,但是信道差、数据可靠性要求高的特点,因此本文的设计去掉链路层复杂的控制信息,只保留了可保证可靠通信的基本信息。改进后的数据链路层帧结构如图4所示。

图4 数据帧结构Fig.4Dataframe structure

协议设计中,使用的是“信道监听—数据发送—接收ACK确认”的流程,减少了第一次的“握手”,在保证可靠传输的前提下适当的降低了协议的复杂度。

3 协议的总体流程

本协议的总体流程图如图5所示。

图5 数据发送流程图Fig.5Data flow and reception diagram

1)数据发送端

在数据的发送之前首先检测信道上是否有数据传输,若信道忙,则判断退避窗口是否已达到最大值,若退避窗口没达到最大值退避一段时间后重新检测信道。若退避窗口达到最大值,则将退避指数重新置为0后退避。

若信道闲,则开始发送数据,等待接收ACK帧,若在规定时间内没有接收到ACK帧则表明数据发送不成功,需要重传。重传时首先检测重传次数是否溢出,若重传次数溢出则发送报警帧,证明该线路有问题。若重传次数未溢出,则继续检测信道,信道空闲后重新发送该帧。

若接收到ACK确认帧,则表明数据已成功发送,本次数据发送成功。

2)数据接收端

接收数据时,首先判断目的地址是否与本节点地址相同,若不同,则继续等待接收数据。若相同则判断收到数据帧的帧头、帧尾、CRC校验是否正确,若不正确则将接收到的数据帧丢弃,继续等待接收。若正确则向发送方发送ACK确认帧,本次接收完成。

4 实验结果及分析

根据上述协议的总体流程,通过C语言编程及仿真环境的搭建,对本文设计的协议进行如下的仿真验证。

本次仿真主要在keil+protues搭建的仿真环境下进行。具体的参数设置如下:数据帧帧头:0xfa;数据帧帧尾:0xea;ACK确认帧帧头:0xfb;警报帧帧头:0xfc;节点A地址(发送端地址):0x01;节点B地址(接收端地址):0x02;

节点A向节点B发送数据,当节点B接收到数据后,首先比较目的地址是否与本地地址相同,若相同则继续判断帧头、帧尾是否正确,若帧头、帧尾正确则表明数据正确接收,随后节点B将向节点A返回ACK确认帧,以表明数据成功接收。仿真结果如图6所示。

图6 数据正确接收Fig.6Data is received correctly

由图6上方的虚拟终端可看出数据帧头0xfa,目的地址为0x02,原地址为0x01,序列号为0x00即节点A向节点B发送数据。当节点B收到该数据帧后,发现目的地址就是本节点地,因此接收数据并且向节点A发送ACK确认帧。由上图下方虚拟终端可看出确认帧帧头0xfb目的地址0x02源地址0x01帧序列号0x00,即表明节点A收到节点B对序列号为0x00帧的接收确认帧。并且在显示屏上显示rec ok加序列号的字样,由图6上方的显示屏可看出。

当节点A收到ACK确认帧后,则准备发送下一帧数据。若在规定的时间内未收到ACK确认帧,则重新发送该帧。重传次数溢出发出警报帧时,为了便于验证,仿真时将最大重传次数设置为3,若重传次数大于3则发出警报帧。仿真时将节点结果如图7所示。

图7 重传次数溢出,发警报帧Fig.7Frame retransmission times overflow,send alarm

由图7上方的虚拟终端可看出帧序列号为0x01的帧已经重新发送,且上方的显示屏并没有显示A To B:Alarm字样,因此判断序列号为0x01的序列帧并未发送成功并且重传次数已溢出。在上方终端的末尾处可看出有帧头为0xfc的帧发出,由此可以判断目的地址为0x02,源地址为0x01的这段链路发生错误,用以警告其他节点在发送数据时绕过该条链路。

若目的地址与本地地址不同,则将收到的数据丢弃,继续等待接收。仿真结果如图8所示。

图8 目的地址不相符,丢弃Fig.8The destination address is not consistent,discarded

由图8上方的虚拟终端可看出,帧头为0xfa判断该帧为数据帧,目的地址0x03,源地址0x01,帧序列号为0x00.当节点B收到该数据帧时,发现该数据帧的目的地址不是本节点的地址,因此将该数据帧丢弃,继续等待接收下一帧数据。

5 结束语

通过对基于电力线传输的物联网构架的网络模型的设计及对数据链路层协议的改进,本文设计出一款适合于基于电力线传输的物联网构架的家庭环境的通信协议。该协议通过C语言编码实现,并且在在搭建的keil+protues平台进行仿真实验,经过多次的仿真实验表明,设计出的新协议符合协议流程的逻辑结构并且可以保证节点的可靠通信。

[1]孙友伟.下一代有线数字电视传送网络构建[J].电视技术,2009(3):43-44. SUN You-wei.To build the next generation of cable digital television transmission network[J].TV Technology,2009(3):43-44.

[2]孙友伟.基于GSON技术的下一代数字有线电视接入网络[J].电视技术,2008(10):51-53. SUN You-wei.Next generation digital cable TV of access network based on GSON[J].TV technology,2008(10):51-53.

[3]孙友伟.基于下一代电视传送技术的无线传感器网络[J].电视技术,2010,34(6):54-56. SUN You-wei.Wireless sensor networks based on next generation TV transmitting techique[J].TV Technology,2010,34(6):54-56.

[4]齐淑淸.电力线通信(PLC)技术与应用[M].北京:中国电力出版社,2005.

[5]李建东,盛敏.通信网络基础[M].北京:高等教育出版社,2008.

[6]赵峰.低压电力线载波通信模块协议软件的研究与实现[D].成都:电子科技大学,2003.

[7]Jeongkyun Yun,Saewoong Bahk.Parallel Contention Algorithm with CSMA/CA for OFDM based High Speed Wireless LANs[C]//Proceedings of the 14th IEEE 2003 International Symposium on Personal,Indoor and Mobile Radio Communications(Volume 3),2003.

[8]Tobagi F A,Hunt V B.Performance analysis for carrier sense multiple access with collision detection[C]//Compute Networks,1980.

[9]井翠红,孙友伟.基于电力传输线的新型物联网络TDMA/ CSMA协议研究[J].电视技术,2013,37(1):64-67. JING Cui-hong,SUN,You-wei.Research on TDMA/CSMA protocol in late-model IOT based on power transmission Line[J].TV technology,2013,37(1):64-67.

Research on the power line network communication protocol design

LI Xiao-ying,SUN You-wei,YAO Qiu-sha
(School of Electronic Engineering,Xi'an University of Posts and Telecommunications,Xi'an 710061,China)

In order to improve the efficiency of data transmission by the power line to build the Internet of things and accuracy,and through comparison and analysis to the existing classic protocols,on the Internet of things based on power transmission line network model to carry on the design of the architecture and the data link layer protocol and the frame structure was improved,the final design a suitable for power line transmission of Internet of things home environment of communication protocols.Agreement by C language programming,after debugging and establish the platform keil+protues simulation experiment.Results show that the design of the protocol can ensure the reliable communication between nodes.

power line;keil+protues;protocol design;reliable communication

TN919

A

1674-6236(2015)20-0082-04

2015-01-16稿件编号:201501127

李晓迎(1989—),女,陕西西安人,硕士。研究方向:下一代网络和物联网。

猜你喜欢
重传电力线通信协议
面向异构网络的多路径数据重传研究∗
基于Z-Stack通信协议栈的红外地温采集电路设计
基于电力线载波通信的智能限电装置
一种压缩感知电力线信道估计机制
基于DMX512通信协议的多路转发器设计与研究
基于NS-3的PLC多频通信协议仿真平台设计与实现
数据链路层的选择重传协议的优化改进
电力线载波通信标准PRIME和G3-PLC的研究
电力线通信中LDPC译码器的优化设计与实现
RSSP-I、RSSP-Ⅱ及SAHARA三种安全通信协议实现技术简介