李曉迎,孫友偉,姚秋莎
(西安郵電大學通信與信息工程學院,陜西西安710061)
基于電力線物聯網通信協議的設計
李曉迎,孫友偉,姚秋莎
(西安郵電大學通信與信息工程學院,陜西西安710061)
為了提高由電力線構建的物聯網傳輸數據的效率及準確性,通過對現有經典協議進行對比分析,對基于電力傳輸線路的物聯網構架的網絡模型進行設計并且對數據鏈路層協議及其幀結構進行改進,最終設計出一種適合于電力線傳輸的物聯網家庭環境的通信協議。協議通過C語言編程實現,經過調試并且在搭建的keil+protues平臺進行仿真實驗。結果表明,本文設計的協議可保證節點間的可靠通信。
電力線物聯網;keil+protues;協議設計;可靠通信
下一代網絡的架構,經由骨干傳送[1]、10G接入[2]和用戶駐地[3]的一步步發展,如今已經到了物聯網絡的層面。電力線通信(Power Line Communication,PLC),又稱電力線網絡,指利用既有電力線,將數據或資訊以數位訊號處理方法進行傳輸[4]。從20世紀90年代開始,產生了很多電力線通信協議。如1997年由Pico Electronics Ltd開發成功的X-10協議、日本的家庭總線系統、美國的消費電子總線、局部操作網絡會話標準等都是國外現有的電力線通信協議。雖然上述協議在國外比較流行,但電力線通信網絡在國內發展還不成熟,而且國外流行的協議都是行業協會進行管理,其協議規不能免費獲得。更重要的一點是,國外的通信協議為了適應廠家生產的各種設備,設計的過于復雜,對一般的研究和開發來說并不適合。文中通過對現有協議的改進,設計出適合于基于電力線傳輸的物聯網構架的家庭環境下的協議,保證了節點間的可靠通信。
通信網絡的協議可按照分層的概念來設計[5]。而本設計主要的目的是應用于電力線物聯網系統下的家庭環境,考慮到軟件的可移植性和易維護性,因此本協議的設計采用了分層設計。現有的通信協議大部分都是參考開放系統互聯模型OSI(Open System Interconnection),而后根據系統所需要完成的功能進行相應的修改與裁剪[6]。本系統是在一個變壓器的范圍內進行的通信,因此本系統的通信指的是在局域網中的通信,不需要進行路由及路徑選擇等之類的網絡層功能。在保證可靠的通信的基礎上,為了提高通信的效率,設計出最適合于本系統的通信協議,本系統的網絡模型只需要有應用層、數據鏈路層、物理層3個層次。本系統的網絡模型如圖1所示。

圖1 電力線物聯網系統網絡模型Fig.1Power Line communicationsystem network model
電力線物聯網系統協議模型及各層功能簡介:
1)物理層,主要功能是物理信道的建立及比特流的傳輸。本設計方案中物理層功能由ES0191芯片來完成,該芯片主要完成原始數據信號的調制、解調與擴頻、解擴。
2)數據鏈路層,主要任務是加強物理層傳輸原始比特的功能,使之對上一層顯現為無錯的鏈線路。本層是主要靠軟件進行的,是本文研究的重點。發送方把溫度傳感器采集到的數據封裝在數據幀里,并根據協議的流程發送各幀,處理接收端回送的確認幀。本平臺中該層的主要任務是:①產生和識別幀的邊界;②幀的破壞、丟失和重傳;③控制共享信道的問題。
3)應用層:負責對每個節點定義并分配地址,并對溫度傳感器采集到的數據進行合理的處理,使之便于認知。
由于本平臺的拓撲結構為總線型結構,所有的數據傳輸都在一條總線上進行,因此控制共享信道的問題是本平臺鏈路層協議設計的難點,也是設計本協議的重點。
在傳統的通信系統中一般采用載波偵聽多址接入(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確認”的流程,減少了第一次的“握手”,在保證可靠傳輸的前提下適當的降低了協議的復雜度。
本協議的總體流程圖如圖5所示。

圖5 數據發送流程圖Fig.5Data flow and reception diagram
1)數據發送端
在數據的發送之前首先檢測信道上是否有數據傳輸,若信道忙,則判斷退避窗口是否已達到最大值,若退避窗口沒達到最大值退避一段時間后重新檢測信道。若退避窗口達到最大值,則將退避指數重新置為0后退避。
若信道閑,則開始發送數據,等待接收ACK幀,若在規定時間內沒有接收到ACK幀則表明數據發送不成功,需要重傳。重傳時首先檢測重傳次數是否溢出,若重傳次數溢出則發送報警幀,證明該線路有問題。若重傳次數未溢出,則繼續檢測信道,信道空閑后重新發送該幀。
若接收到ACK確認幀,則表明數據已成功發送,本次數據發送成功。
2)數據接收端
接收數據時,首先判斷目的地址是否與本節點地址相同,若不同,則繼續等待接收數據。若相同則判斷收到數據幀的幀頭、幀尾、CRC校驗是否正確,若不正確則將接收到的數據幀丟棄,繼續等待接收。若正確則向發送方發送ACK確認幀,本次接收完成。
根據上述協議的總體流程,通過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收到該數據幀時,發現該數據幀的目的地址不是本節點的地址,因此將該數據幀丟棄,繼續等待接收下一幀數據。
通過對基于電力線傳輸的物聯網構架的網絡模型的設計及對數據鏈路層協議的改進,本文設計出一款適合于基于電力線傳輸的物聯網構架的家庭環境的通信協議。該協議通過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—),女,陜西西安人,碩士。研究方向:下一代網絡和物聯網。