曹德安 陸飛



摘要:為便于物聯網專業進行電力載波通信技術內容實踐教學,提出了一種由KQ-130F電力載波通信模塊、QX-mini51單片機最小系統板等組成的電力載波通信實驗系統。該系統硬件搭建簡單,通過編程可以實現經過電力載波模塊的雙機雙向通信,在主從控制方式下的多機雙向通信。該系統即可以讓學生熟悉電力載波模塊的使用,還能鍛煉學生的單片機編程能力,因此也可以作為物聯網專業學生單片機技術綜合實訓平臺。該系統不但實用,而且成本低廉,非常具有參考價值。
關鍵詞:電力線載波通信;KQ-130F電力載波模塊;單片機;QX-mini51最小系統板
中圖分類號:TN91 文獻標識碼:A 文章編號:1007-9416(2019)08-0158-02
0 引言
電力線載波通信(PLC,Power Line Communication)出現于20世紀20年代,它是利用現有電力線,通過載波方式將模擬或數字信號進行高速傳輸的技術,是電力系統特有的通信方式。電力線載波通信最大特點是不需要重新架設網絡,只要有電線,就能進行數據傳遞。不過,由于電力載波通信存在變壓器阻隔等問題,電力載波一般用于局部數據通信,如抄表系統、路燈系統等。近年來,隨著物聯網特別是智能家居系統的出現,電力載波通信技術也隨之被大眾所認知[1-5]。為便于物聯網專業進行電力載波通信技術相關內容的實踐教學,本文設計并實現了一個基于四川科強電子KQ-130F電力載波模塊、清翔電子QX-mini51單片機最小系統板的電力載波的通信實驗系統。
1 系統介紹
1.1 系統功能簡介
本實驗系統硬件主要由KQ-130F電力載波模塊、QX-mini51單片機最小系統板等組成。圖1為系統的簡化電路原理圖,從圖中可以看出,系統采用主從通信方式,主機的P1口,從機P1口的低四位都接了發光二極管,主機與從機P3.2至P3.5接了開關。主機與從機都是經過串口、電力載波模塊、220V電力線而實現物理連接的。通過編程實現主機對從機LED燈的遠程監控,即主機上的開關可以控制從機燈的亮與滅,也能讓從機返回各自燈的狀態,并在主機對應LED燈上顯示。主機與從機各開關具體功能如表1。
1.2 系統硬件模塊介紹
QX-mini51最小系統板(v2.0版)配有stc89c52單片機,支持通過usb口數據線給板上單片機在線燒寫程序、串口通信、提供電源,使用方便。系統板上有3個5V直流電源引出端,方便給其他外設供電。單片機32個IO口全部引出,另外P1口外接8個LED發光二級管,P3口的P3.2至P3.5外接4個獨立按鍵。
KQ-130F采用交流零點數據傳送技術,是專門為在220V交流上,強干擾,強衰減,遠距離要求的環境下,可靠的傳送數據而特別設計和開發的電力載波模塊,適用于抄表,路燈,智能家居等領域。KQ-130F內部集成了KQ-330F模塊及外圍電路,毋需其他的耦合元件,可以直接連接220V的交流電使用。KQ-130F也支持TTL電平,使用時TX、RX引腳直接與單片機的RXD、TXD相連。載波模塊所需的直流電源由用戶設備提供,其工作電源端與發送電源端可以并聯在一起,都采用5V電源[3]。本方案中載波模塊所需的5V電源由QX-mini51單片機開發板提供。
2 軟件設計
2.1 自定義數據幀
與文獻[1]所介紹的應用系統類似,基于電力載波通信技術的系統,一般為主機與多個從機之間的通信。對于51系列單片機來說,一個主機與多個從機的之間的通信,常用的方法是采用串行方式2或者方式3,這兩種方式字符幀的數據為11位,包括1個起始位,8個數據位,1個可編程的第9位數據和1個停止位,其中可編程的第9位數據TB8為0或者1作為數據或地址的標識。對于包含KQ-130F載波通信模塊,又要通過串行口進行多機通信時,不能采用上面的方法了,因為KQ-130F的串行通信方式是單一的,其接口波特率9600bps,數據格式為1個起始位,8個數據位1個停止位格式,該數據格式對應單片機的串行方式1。為了51單片機在串行方式1下實現多機通信,我們采用通過自定義數據幀的方法。自定義數據幀中由4個部分組成[1,5],分別是:幀長度、目標機地址、控制命令/狀態數據、結束標志。
由KQ-130F電力線載波通信模塊使用手冊可知[3],當該模塊的MODE腳被設置為高電平時, 工作在透明工作方式,當MODE腳被設置為低電平時,工作在自定義模式。自定義模式中,第一個字節是要傳送一幀的字節數,其范圍為0-250。例如要傳送“12? 34? EF”三組數據時,則第一字節數為“03”。自定義模式編程簡單,本設計中采用該模式,所以自定義數據幀的第一個字節是“幀長度”。主機發送的數據幀中需要包含目標接收機地址信息,主機發送后,所有的從機都能接收到,每個從機將自身的地址與接收的數據幀中包含的地址相比較,如果與自身的地址相同,則進行對應的處理,否則將這幀數據丟棄,串行口繼續等待接收數據。數據幀的“控制命令/狀態數據”定義表示主機發給從機的命令如燈的開與關或者是從機發給主機的燈的狀態數據編碼。數據幀最后是結束標志字節,便于判斷一幀數據的完整性。
2.2 程序設計
如圖2所示,不管是主機還是從機,主程序框架相同,都是在進行初始化即相關設置及函數定義后,就反復調用鍵盤掃描程序,在鍵盤掃描程序中進行按鍵檢測,若有鍵按下執行相應的命令或相關功能函數。主機和從機對于串口發送和接收數據的處理方式也相同:即對于串口是否發送完一個字符幀的數據采用查詢標志位的方法,而是否接收完一個字符幀的數據采用中斷方式,圖3為中斷響應程序流程圖。
3 實驗結果
圖4為根據以上方案搭建的電力載波通信實驗系統,該圖與圖1相對應。實驗測試效果與表1完全相同,驗證了方案的可行性。如果只有一臺從機,數據幀中不必包含地址信息,代碼可以簡化,同樣可以實現類似的主機對從機的監控效果。
4 結語
本文提出的電力載波通信實驗系統硬件是利用已有的單片機最小系統板和電力載波模塊搭建而成,避免了復雜的電路設計,通過編程可充分演示電力載波通信的現象,因此該系統非常適合作為物聯網專業的電力載波通信技術或者單片機技術的實踐教學平臺。該系統用到的單片機最小系統板也可以是其他類似單片機開發板,拆下來還可以用作一般單片機類課程的硬件平臺,因此該系統不但實用而且成本低廉,非常具有參考價值。
參考文獻
[1] 楊秀增,蔣志年,等.基于電力線載波的教室照明燈節能控制系統設計[J].電子測試,2013,(7):16-20,26.
[2] 陳曦,王海星.基于KQ-130的電力載波通信系統設計[J].自動化技術與應用,2016,35(9):53-56.
[3] 四川科強電子技術有限責任公司.KQ-130F電力載波模塊使用手冊[P].
[4] 陳世海,王軍,等.工程實踐導向電子綜合設計實驗教學改革探索[J].教育現代化,2018,5(43):64-66.
[5] 廖惜春,任敬哲,等.基于電力載波的可尋址LED路燈智能監控系統設計[J].照明工程學報,2014,25(2):43-47.
A Kind of Experimental System of Power Carrier Communication Based on KQ-130F
CAO De-an,LU Fei
(The Open University of Guangdong(Guangdong Polytechnic Institute),Guangzhou Guangdong? 510091)
Abstract:In order to facilitate the practical teaching of power carrier communication technology in the specialty of Internet of Things, a power carrier communication experimental system is proposed consisting of KQ-130F power carrier communication module and QX-mini51 MCU(Microcontroller Unit)minimum system board. The hardware of the system is simple to build. Through programming, the two-way communication between two MCUs through power carrier module and multi-machine two-way communication under master-slave control mode can both be realized. This system can not only familiarize students with the use of power carrier module, but also train students' programming ability of single-chip computer. Therefore, it can also be used as a comprehensive training platform of single-chip computer technology for students majoring in Internet of Things. The system is not only practical but also low-cost, which is of great reference value.
Key words:Power Line Carrier Communication; KQ-130F Power Carrier Module; MCU; QX-mini51 Minimum System Board