曹德安 宋相慧
(廣東開放大學(廣東理工職業(yè)學院),廣東廣州 510091)
為便于物聯網專業(yè)進行電力載波通信技術相關內容的實踐教學,文獻[1]中設計并實現了一個基于四川科強電子KQ-130F電力載波模塊、清翔電子QX-mini51單片機最小系統板的電力載波的通信實驗系統,并驗證了主機與多從機的直接雙向通信,但沒有考慮中繼通信的情況。實際上,電力載波通信與其他有線通信方式相比,雖然不需要進行專門的布線,但是噪聲干擾強、信號衰減大,這些特性縮短了載波信號的可靠傳輸距離。為了擴大電力載波信號的可靠傳輸距離,常常采用在主機與較遠從機之間增加中繼器的方法,利用中繼器進行主機控制信號與從機狀態(tài)信號的再生與放大。例如,KQ-130F電力載波模塊在專線的情況下,最遠傳輸距離是2km,而城市路燈系統一般都會超過這個距離,這種情況下如果想用KQ-130F電力載波模塊進行通信,就需要考慮利用中繼器,而且是通過編程實現中繼功能。所以,對于物聯網專業(yè)的學生來說了解電力載波通信中的中繼通信是很有必要的。文獻[2-3]雖然介紹了中繼通信,但相對于高職物聯網專業(yè)的學生來說,過于專業(yè)和理論化。本文將在文獻[1]的基礎上,增加一個由KQ-130F電力載波模塊和清翔電子QX-mini51單片機最小系板構成的中繼器,通過編程實現主機直接與從機、主機通過中繼器與從機的雙向通信。
圖1 系統的簡化電路原理圖
與文獻[1]的硬件系統相比,這里主要增加了電力載波模塊和單片機最小系統板組成的中繼器單元。圖1為系統的簡化電路原理圖,其中的主機、從機和中繼器模塊均為QX-mini51單片機最小系統板。系統采用主從通信方式,主機的P1口,從機P1口的低四位都接了發(fā)光二極管,主機與從機P3.2至P3.5都接了開關。中繼器模塊單片機硬件路雖然也連接了開關和發(fā)光二極管,但為簡單起見,編程時可以不考慮。主機與從機1是經過串口、電力載波模塊、220V電力線而實現物理連接的。主機和從機2之間的通信,還需要通過中繼器,也就是主機發(fā)給從機2的命令或者從機2返回的狀態(tài)信息都需要通過中繼器的轉發(fā)。通過編程實現主機對從機LED燈的遠程監(jiān)控,即主機上的開關可以控制從機燈的亮與滅,也能讓從機返回各自燈的狀態(tài),并在主機對應LED燈上顯示。主機與從機各開關具體功能與文獻[1]中相同,如表1所示。
表1 主機與從機各開關功能
表2 數據幀格式-不含中繼器
表3 數據幀格式-含中繼器
如文獻[1]所述,KQ-130F的串行通信方式唯一,其接口波特率9600bps,數據格式為1個起始位,8個數據位1個停止位格式,該數據格式對應單片機的串行方式1。因此,對于包含KQ-130F載波通信模塊,通信方式唯一,該方式也就是51單片機在串行方式1,如果要實現多機通信,我們只能采用自定義數據幀的方法。
文獻[1]中,由于沒有考慮中繼通信問題,數據流類型比較簡單,只有主機發(fā)給從機和從機返回給主機2種類型數據流,數據幀也只有4部分,占4個字節(jié)即可,分別是:幀長度、目標機地址、控制命令/狀態(tài)數據、結束標志,如表格2表示。當考慮中繼器時,數據流類型就增加到6種類型,而且數據幀所包含信息也必須增加,才能讓收到該數據幀的單片機明確這些數據的含義,數據幀格式如表3所示??梢钥闯?,與表2相比,數據幀格式中多了“附屬地址”“數據幀類型編碼”2項,這2項能夠反映出接收機收到數據來自哪里或者將要發(fā)送到哪里。其中的命令碼,可以定義為如表4所示內容。狀態(tài)碼即為從機P1口的值。
表4 命令碼
圖2 中繼器主程序流程圖
為簡單起見,中繼器模塊單元的作用僅僅是在主機與指定從機之間進行命令與狀態(tài)數據的轉發(fā),不作一般的從機使用。中繼器主程序框架如圖2所示,在初始化程序中進行中斷及串口通信等設置,然后進入空循環(huán)等待串口接收數據引起的中斷,其中斷響應程序結構與文獻[1]中的圖4基本相同,不同之處在于讀串口次數由4次修改為6次,這是由于含中繼器的情況下,數據幀定義為了6個字節(jié)長度。主機和從機的主程序框架、中斷響應框架也與文獻[1]中基本相同,不同之處同樣是由于數據幀內容及長度變化了。另外,主機、從機和中繼器,對于串口發(fā)送和接收數據的處理方式都相同:即判斷串口是否發(fā)送完一個字符幀的數據采用查詢標志位的方法,而是否接收完一個字符幀的數據采用中斷方式。
圖3 包含中繼模塊的電力載波通信實驗系統實物圖
圖3為包含中繼器模塊的電力載波通信實驗系統實物圖,從左至右,各個模塊與圖1相對應。實驗系統中主機與最右邊從機距離其實非常近,可以直接通信,在其中加入中繼器模塊是為了演示包含中繼器模塊下的電力載波通信。實驗測試效果與表1完全相同,驗證了包含中繼器情況下電力載波通信程序的正確性。
本文在文獻[1]提出的硬件設備基礎上,增加一個KQ-130F電力載波模塊和QX-mini51單片機最小系統板組成的單元,通過編程,使其具有中繼器的功能,實現了包含中繼模塊下的電力載波通信實驗,使得該實踐教學平臺內容更豐富。該功能的增加,既能進一步鍛煉學生的單片機編程能力,又能加深對電力載波通信知識的了解,提升了該實踐教學平臺的實用性能。