李曉迎,孫友偉,姚秋莎
(西安郵電大學通信與信息工程學院,陜西西安710061)
基于電力線物聯網通信協(xié)議的設計
李曉迎,孫友偉,姚秋莎
(西安郵電大學通信與信息工程學院,陜西西安710061)
為了提高由電力線構建的物聯網傳輸數據的效率及準確性,通過對現有經典協(xié)議進行對比分析,對基于電力傳輸線路的物聯網構架的網絡模型進行設計并且對數據鏈路層協(xié)議及其幀結構進行改進,最終設計出一種適合于電力線傳輸的物聯網家庭環(huán)境的通信協(xié)議。協(xié)議通過C語言編程實現,經過調試并且在搭建的keil+protues平臺進行仿真實驗。結果表明,本文設計的協(xié)議可保證節(jié)點間的可靠通信。
電力線物聯網;keil+protues;協(xié)議設計;可靠通信
下一代網絡的架構,經由骨干傳送[1]、10G接入[2]和用戶駐地[3]的一步步發(fā)展,如今已經到了物聯網絡的層面。電力線通信(Power Line Communication,PLC),又稱電力線網絡,指利用既有電力線,將數據或資訊以數位訊號處理方法進行傳輸[4]。從20世紀90年代開始,產生了很多電力線通信協(xié)議。如1997年由Pico Electronics Ltd開發(fā)成功的X-10協(xié)議、日本的家庭總線系統(tǒng)、美國的消費電子總線、局部操作網絡會話標準等都是國外現有的電力線通信協(xié)議。雖然上述協(xié)議在國外比較流行,但電力線通信網絡在國內發(fā)展還不成熟,而且國外流行的協(xié)議都是行業(yè)協(xié)會進行管理,其協(xié)議規(guī)不能免費獲得。更重要的一點是,國外的通信協(xié)議為了適應廠家生產的各種設備,設計的過于復雜,對一般的研究和開發(fā)來說并不適合。文中通過對現有協(xié)議的改進,設計出適合于基于電力線傳輸的物聯網構架的家庭環(huán)境下的協(xié)議,保證了節(jié)點間的可靠通信。
通信網絡的協(xié)議可按照分層的概念來設計[5]。而本設計主要的目的是應用于電力線物聯網系統(tǒng)下的家庭環(huán)境,考慮到軟件的可移植性和易維護性,因此本協(xié)議的設計采用了分層設計?,F有的通信協(xié)議大部分都是參考開放系統(tǒng)互聯模型OSI(Open System Interconnection),而后根據系統(tǒng)所需要完成的功能進行相應的修改與裁剪[6]。本系統(tǒng)是在一個變壓器的范圍內進行的通信,因此本系統(tǒng)的通信指的是在局域網中的通信,不需要進行路由及路徑選擇等之類的網絡層功能。在保證可靠的通信的基礎上,為了提高通信的效率,設計出最適合于本系統(tǒng)的通信協(xié)議,本系統(tǒng)的網絡模型只需要有應用層、數據鏈路層、物理層3個層次。本系統(tǒng)的網絡模型如圖1所示。
圖1 電力線物聯網系統(tǒng)網絡模型Fig.1Power Line communicationsystem network model
電力線物聯網系統(tǒng)協(xié)議模型及各層功能簡介:
1)物理層,主要功能是物理信道的建立及比特流的傳輸。本設計方案中物理層功能由ES0191芯片來完成,該芯片主要完成原始數據信號的調制、解調與擴頻、解擴。
2)數據鏈路層,主要任務是加強物理層傳輸原始比特的功能,使之對上一層顯現為無錯的鏈線路。本層是主要靠軟件進行的,是本文研究的重點。發(fā)送方把溫度傳感器采集到的數據封裝在數據幀里,并根據協(xié)議的流程發(fā)送各幀,處理接收端回送的確認幀。本平臺中該層的主要任務是:①產生和識別幀的邊界;②幀的破壞、丟失和重傳;③控制共享信道的問題。
3)應用層:負責對每個節(jié)點定義并分配地址,并對溫度傳感器采集到的數據進行合理的處理,使之便于認知。
由于本平臺的拓撲結構為總線型結構,所有的數據傳輸都在一條總線上進行,因此控制共享信道的問題是本平臺鏈路層協(xié)議設計的難點,也是設計本協(xié)議的重點。
在傳統(tǒng)的通信系統(tǒng)中一般采用載波偵聽多址接入(CSMA)[7]技術來實現共享信道的多址通信。前輩科學家們,為有線局域網絡提出了CSMA/CD[8](Carrier Sense Multiple Access/Collision Detect)協(xié)議,為無線局域網絡提出了CSMA/ CA(Carrier Sense Multiple Access/Collision Anoidance)協(xié)議。在低壓電力線信道中,開關用電設備等產生的隨機脈沖噪聲、電力線上的背景噪聲以及連接在電力線路上的各種電器產生的電磁干擾噪聲,對載波通信數據影響較大[9]。無線網絡上的噪聲特性與低壓電力線網絡的突發(fā)性脈沖噪聲環(huán)境相似,并且CSMA/CA協(xié)議采用RTS-CTS握手機制,能夠避免"隱藏節(jié)點"的問題,也不需要進行沖突檢測。
因此為解決信道的共享問題,本設計在現有CSMA/CA協(xié)議的基礎上對CSMA/CA協(xié)議進行了相應的改進,并根據本平臺的實際環(huán)境對數據鏈路層的幀結構進進行重新設計。
2.1CSMA/CA協(xié)議的改進
CSMA/CA協(xié)議對于傳輸速率低的PLC網絡,其RTSCTS機制過于復雜,給網絡增加了額外的開銷,特別是對于本平臺所涉及的適用于家庭環(huán)境的短幀傳輸,這種開銷的比重顯得更大。所以,文中對CSMA/CA協(xié)議中的幀結構進行了如下改進。
1)去掉原有的RTS-CTS握手機制,將其改換為ACK確認幀機制,盡量減少確認幀的大小和傳輸次數,提高傳輸效率。
ACK確認幀的設計為:幀標識位(判斷幀的類似)、目的地址、源地址和幀序列號(數據幀和確認幀應一一對應)。如圖2所示。
圖2 ACK幀結構Fig.2ACK frame structure
2)增加報警提示幀。如果重傳次數溢出,將發(fā)出報警幀。同時在報警幀中加入目的地址和源地址,用來告訴應該是哪條鏈路上出了問題,其他節(jié)點可以繞行。
報警幀的格式為:幀標識位,目的地址位,源地址位。如圖3所示。
圖3 警報幀幀結構Fig.3Alarm frame structure
2.2數據鏈路層幀結構的設計
在數據幀結構的設計和協(xié)議的設計上,一方面要減少各類控制信息,以增大傳輸效率;另一方面,要對數據做好糾錯檢錯,以達到可靠性的要求。主要考慮到所設計的網絡為小型的局域網絡具有節(jié)點少、速率低,但是信道差、數據可靠性要求高的特點,因此本文的設計去掉鏈路層復雜的控制信息,只保留了可保證可靠通信的基本信息。改進后的數據鏈路層幀結構如圖4所示。
圖4 數據幀結構Fig.4Dataframe structure
協(xié)議設計中,使用的是“信道監(jiān)聽—數據發(fā)送—接收ACK確認”的流程,減少了第一次的“握手”,在保證可靠傳輸的前提下適當的降低了協(xié)議的復雜度。
本協(xié)議的總體流程圖如圖5所示。
圖5 數據發(fā)送流程圖Fig.5Data flow and reception diagram
1)數據發(fā)送端
在數據的發(fā)送之前首先檢測信道上是否有數據傳輸,若信道忙,則判斷退避窗口是否已達到最大值,若退避窗口沒達到最大值退避一段時間后重新檢測信道。若退避窗口達到最大值,則將退避指數重新置為0后退避。
若信道閑,則開始發(fā)送數據,等待接收ACK幀,若在規(guī)定時間內沒有接收到ACK幀則表明數據發(fā)送不成功,需要重傳。重傳時首先檢測重傳次數是否溢出,若重傳次數溢出則發(fā)送報警幀,證明該線路有問題。若重傳次數未溢出,則繼續(xù)檢測信道,信道空閑后重新發(fā)送該幀。
若接收到ACK確認幀,則表明數據已成功發(fā)送,本次數據發(fā)送成功。
2)數據接收端
接收數據時,首先判斷目的地址是否與本節(jié)點地址相同,若不同,則繼續(xù)等待接收數據。若相同則判斷收到數據幀的幀頭、幀尾、CRC校驗是否正確,若不正確則將接收到的數據幀丟棄,繼續(xù)等待接收。若正確則向發(fā)送方發(fā)送ACK確認幀,本次接收完成。
根據上述協(xié)議的總體流程,通過C語言編程及仿真環(huán)境的搭建,對本文設計的協(xié)議進行如下的仿真驗證。
本次仿真主要在keil+protues搭建的仿真環(huán)境下進行。具體的參數設置如下:數據幀幀頭:0xfa;數據幀幀尾:0xea;ACK確認幀幀頭:0xfb;警報幀幀頭:0xfc;節(jié)點A地址(發(fā)送端地址):0x01;節(jié)點B地址(接收端地址):0x02;
節(jié)點A向節(jié)點B發(fā)送數據,當節(jié)點B接收到數據后,首先比較目的地址是否與本地地址相同,若相同則繼續(xù)判斷幀頭、幀尾是否正確,若幀頭、幀尾正確則表明數據正確接收,隨后節(jié)點B將向節(jié)點A返回ACK確認幀,以表明數據成功接收。仿真結果如圖6所示。
圖6 數據正確接收Fig.6Data is received correctly
由圖6上方的虛擬終端可看出數據幀頭0xfa,目的地址為0x02,原地址為0x01,序列號為0x00即節(jié)點A向節(jié)點B發(fā)送數據。當節(jié)點B收到該數據幀后,發(fā)現目的地址就是本節(jié)點地,因此接收數據并且向節(jié)點A發(fā)送ACK確認幀。由上圖下方虛擬終端可看出確認幀幀頭0xfb目的地址0x02源地址0x01幀序列號0x00,即表明節(jié)點A收到節(jié)點B對序列號為0x00幀的接收確認幀。并且在顯示屏上顯示rec ok加序列號的字樣,由圖6上方的顯示屏可看出。
當節(jié)點A收到ACK確認幀后,則準備發(fā)送下一幀數據。若在規(guī)定的時間內未收到ACK確認幀,則重新發(fā)送該幀。重傳次數溢出發(fā)出警報幀時,為了便于驗證,仿真時將最大重傳次數設置為3,若重傳次數大于3則發(fā)出警報幀。仿真時將節(jié)點結果如圖7所示。
圖7 重傳次數溢出,發(fā)警報幀Fig.7Frame retransmission times overflow,send alarm
由圖7上方的虛擬終端可看出幀序列號為0x01的幀已經重新發(fā)送,且上方的顯示屏并沒有顯示A To B:Alarm字樣,因此判斷序列號為0x01的序列幀并未發(fā)送成功并且重傳次數已溢出。在上方終端的末尾處可看出有幀頭為0xfc的幀發(fā)出,由此可以判斷目的地址為0x02,源地址為0x01的這段鏈路發(fā)生錯誤,用以警告其他節(jié)點在發(fā)送數據時繞過該條鏈路。
若目的地址與本地地址不同,則將收到的數據丟棄,繼續(xù)等待接收。仿真結果如圖8所示。
圖8 目的地址不相符,丟棄Fig.8The destination address is not consistent,discarded
由圖8上方的虛擬終端可看出,幀頭為0xfa判斷該幀為數據幀,目的地址0x03,源地址0x01,幀序列號為0x00.當節(jié)點B收到該數據幀時,發(fā)現該數據幀的目的地址不是本節(jié)點的地址,因此將該數據幀丟棄,繼續(xù)等待接收下一幀數據。
通過對基于電力線傳輸的物聯網構架的網絡模型的設計及對數據鏈路層協(xié)議的改進,本文設計出一款適合于基于電力線傳輸的物聯網構架的家庭環(huán)境的通信協(xié)議。該協(xié)議通過C語言編碼實現,并且在在搭建的keil+protues平臺進行仿真實驗,經過多次的仿真實驗表明,設計出的新協(xié)議符合協(xié)議流程的邏輯結構并且可以保證節(jié)點的可靠通信。
[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]趙峰.低壓電力線載波通信模塊協(xié)議軟件的研究與實現[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協(xié)議研究[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—),女,陜西西安人,碩士。研究方向:下一代網絡和物聯網。