1 引言
電力線載波通信使用電力線作為信號傳輸?shù)耐ǖ?,完成工程上的“最后一公里接入”的通訊需要。由于電力線載波使用大部分電器所需的電力供應(yīng)線路接入,所以不需要提供另外的專用通訊線路,在用戶使用便捷性、安裝施工和節(jié)省線路成本上具有很強的優(yōu)勢。
本文針對這個問題提出了一種基于電力線載波和mesh自動組網(wǎng)技術(shù)的樓宇自控系統(tǒng),由于電力線載波技術(shù)使用已有的電力線作為信息傳輸?shù)拿浇?,這樣不僅可以省卻用戶初期安裝系統(tǒng)的布線麻煩,而且后期維護也會比較容易,具有比較好的前景。
2 系統(tǒng)簡述
2.1 系統(tǒng)物理拓?fù)浣Y(jié)構(gòu)
基于電力線載波的通訊系統(tǒng)在通訊物理線路上使用電力線,由于電力線的特點,網(wǎng)路拓?fù)涫堑湫偷目偩€型網(wǎng)絡(luò),拓?fù)浣Y(jié)構(gòu)如圖1所示。
對于跟受控設(shè)備直接連接的終端器將扮演從機的角色,用戶終端通過電力線與其他終端形成總線型局域網(wǎng),另外一端就是各種檢測和控制量的連接。在每個樓宇或者小范圍內(nèi)安裝一個集中控制器,然后配備pc或者電腦終端,這樣樓宇管理人員就可以集中收集信息或者進行管理。
2.2 系統(tǒng)軟硬件與網(wǎng)絡(luò)棧模型
樓宇自動化系統(tǒng)實際是個典型的計算機通訊系統(tǒng)。本文的設(shè)計任務(wù)主要有基于電力線通訊技術(shù)受控節(jié)點控制器,電力線通訊網(wǎng)絡(luò)中繼,以及與pc接口的電力線網(wǎng)關(guān)。涉及軟硬件的設(shè)計和網(wǎng)絡(luò)技術(shù)。本系統(tǒng)采用參照osi參考模型并根據(jù)實際情況做修改和裁減的辦法來設(shè)計網(wǎng)絡(luò)堆棧,網(wǎng)絡(luò)棧模型圖2所示。
物理層使用民用的220v電力線線路。數(shù)據(jù)鏈路層處理信道的爭用和沖突檢測。mac,鑒于電力線載波的特點,在數(shù)據(jù)鏈路層加入類似無線網(wǎng)絡(luò)的節(jié)點信息傳送機制,跟網(wǎng)絡(luò)層配合實現(xiàn)自動組網(wǎng),即mesh網(wǎng)絡(luò)技術(shù)。這樣設(shè)計有利于節(jié)點通訊終端的調(diào)試和安裝,可以做到即插即用。由于樓宇自動化系統(tǒng)的數(shù)據(jù)通訊量不大,基于電力線的組網(wǎng)技術(shù)也在一定程度上簡化了網(wǎng)絡(luò)拓?fù)?,所以不需要實現(xiàn)非常復(fù)雜的網(wǎng)絡(luò)層和傳輸層。數(shù)據(jù)傳輸?shù)目刂茩z驗可以在應(yīng)用層根據(jù)需要實現(xiàn)。這樣比較有利于降低系統(tǒng)復(fù)雜度,可靠性也相應(yīng)的增加。
3 硬件設(shè)計
3.1 系統(tǒng)硬件結(jié)構(gòu)設(shè)計
本系統(tǒng)涉及三種類型的硬件,電力線通訊控制器、電力線路中繼和以太網(wǎng)的橋接器。其中電力線通訊控制器(plc控制器)和中繼器硬件結(jié)構(gòu)一致,不同的是軟件功能支持。以太網(wǎng)橋接器比plc控制器多了以太網(wǎng)擴展,但是少了跟受控設(shè)備的通訊部分電路。圖3為系統(tǒng)硬件網(wǎng)絡(luò)結(jié)構(gòu)圖。
如圖3中描述,在本系統(tǒng)中mi200e調(diào)制解調(diào)和stm32以及stm32 硬件io的控制輸出構(gòu)成plc控制器;由mi200e和stm32mcu構(gòu)成中繼器,在信號衰減后用以延續(xù)網(wǎng)絡(luò);由mi200e調(diào)制解調(diào)電路,stm32mcu以及enc28j60構(gòu)成電力線到ethernet/internet橋接器,構(gòu)成完整的網(wǎng)絡(luò)硬件系統(tǒng)。
3.2 通訊終端設(shè)計
通訊終端硬件結(jié)構(gòu)如同4所示 。通訊終端使用mi200e電力線路載波專用芯片與arm cortex單片機stm32 f103c8t6接口,這樣系統(tǒng)協(xié)議便于針對應(yīng)用進行修改和升級。stm32 f103c8t6為32位arm cortex-m3單片機,具有比較高的運算能力,主頻達(dá)72mhz,同時提供豐富的硬件接口。
系統(tǒng)中同時具有io、ad輸入輸出與外部受控設(shè)備接口,同時用spi擴展以太網(wǎng)芯片方便作為到以太網(wǎng)的橋接器使用,同時,系統(tǒng)具有rs232接口輸出,可以與pc相連,或作為調(diào)試或擴展為485等橋接。
3.3 mi200e發(fā)送耦合電路
發(fā)送耦合電路的功能就是將單片機傳送的數(shù)據(jù)進行編碼調(diào)制,再將功率放大之后耦合到220v的高壓電路上面,如同5所示。
由于mi200e內(nèi)部自帶調(diào)制、濾波、數(shù)字功放電路,所以外圍電路簡潔。mi200e的功率放大輸出pa、pb輸出后通過l6、c9構(gòu)成的lc無源帶通濾波器再濾波處理后送入信號耦合變壓器,再通過耦合變壓器到220v電力線路的通路傳送。這里重點說明下耦合變壓器部分電路,由于220v屬于人身危險強電,而mi200e的輸出為10vpp的弱電信號,因此耦合變壓器在這里有兩個角色,一是其初級和安規(guī)電容c8構(gòu)成高通濾波器,阻斷了50hz交流工頻信號,保證了芯片電路的安全,另外一個角色是次級跟外圍電路同時構(gòu)成帶通濾波器,有助于調(diào)制信號的選擇。另外圖中電路rxtx_n控制兩個mos管構(gòu)成的開關(guān)電路,這部分電路是在mi200e發(fā)送的時候幫助改善信號的波形。耦合電路中d1、d2兩個tvs管,將信號幅度限制在一定范圍,對后級電路有保護作用。r7幫助安規(guī)電容在斷電的時候放電,以保證安全。th1為壓敏電阻,可以在兩端信號沖擊很大的時候幫助吸收電流,以保護后級的小信號電路不被220v端的沖擊電壓損毀掉。
3.4 mi200e接收耦合電路
參見圖6所示,接收電路負(fù)責(zé)將線路上的調(diào)制信號提取出來,然后送入mi200e的ra+,ra-兩端進行解調(diào)。由于信號耦合部分跟發(fā)送部分共用,只需要加上簡單的lc帶通濾波就可以送入mi200e了。由信號耦合變壓器送來信號經(jīng)過c13、l9構(gòu)成的帶通濾波器后直接送入mi200e 23和24腳進入芯片解調(diào)。
3.5 spi擴展以太網(wǎng)電路
系統(tǒng)與互聯(lián)網(wǎng)通訊選擇microchip的spi接口的外擴以太網(wǎng)方案,enc28j60內(nèi)置10mbps以太網(wǎng)物理層器件(phy)及媒體訪問控制器(mac),可按業(yè)界標(biāo)準(zhǔn)的以太網(wǎng)協(xié)議可靠地收發(fā)信息數(shù)據(jù)包,具有可編程過濾功能。特殊的過濾器,包括microchip的可編程模式匹配過濾器,可自動評價、接收或拒收magicpacket,單播(unicast)、多播(multicast)或廣播(broadcast)信息包,以減輕主控單片機的處理負(fù)荷。可編程8kb雙端口sram緩沖器,以高效的方式進行信息包的存儲、檢索和修改,以減輕主控單片機的內(nèi)存負(fù)荷。該緩沖存儲器提供了靈活可靠的數(shù)據(jù)管理機制。enc28j60跟stm32的spi2連接,電路如圖7所示。
4 軟件設(shè)計
4.1 mi200e數(shù)據(jù)包收發(fā)
mi200e的數(shù)據(jù)包有基本的格式,數(shù)據(jù)包首先是兩個字節(jié)的0xff前導(dǎo)碼,后面是0x1a和包長度信息,接著是兩字節(jié)倍數(shù)的數(shù)據(jù)區(qū),最后面是兩個字節(jié)的crc16校驗碼,校驗碼對0x1a以后的數(shù)據(jù)進行校驗,括包信息和具體的包數(shù)據(jù)內(nèi)容(見圖8)。
mi200e每隔10ms進行一次數(shù)據(jù)發(fā)送,為了能穩(wěn)定的建立數(shù)據(jù)通訊,byte 1~byte4固定使用較低的速率200bps進行數(shù)據(jù)發(fā)送。起始的 4 個 byte 中包含引導(dǎo)碼、后續(xù)發(fā)送采用的波特率和數(shù)據(jù)長度。在發(fā)送完這 4個
byte 后,可通過重新配置模式寄存器改變發(fā)送波特率。在使用 1600bps 的速率情況下,每隔 10ms,將發(fā)送出 1個word的數(shù)據(jù)。 由于 byte 4 中 pkg_length 占用了 6 個 bits,因此每一個數(shù)據(jù)包的數(shù)據(jù)長度不應(yīng)超過 64個word。數(shù)據(jù)包發(fā)送流程如圖9所示。
mi200e處于接收狀態(tài)時,需要反復(fù)查詢狀態(tài)寄存器(0x82)的ri、carr、frame 標(biāo)志。當(dāng)carr、frame被硬件置‘1’后,先讀取接收模式寄存器(0x83),取出package信息(波特率與數(shù)據(jù)長度),將接收到的波特率信息寫入模式寄存器(使得收發(fā)兩端的波特率一致),然后按照取得的數(shù)據(jù)長度進行接收,每讀取一個word的數(shù)據(jù)前都需要查詢ri、carr、frame 標(biāo)志,只有在 ri、carr、frame都被硬件置‘1’的情況下,再讀取mi200e中的接收數(shù)據(jù)。在讀取完所有的數(shù)據(jù)后,查詢狀態(tài)寄存器(0x82)中的 crc標(biāo)志,判斷是否已正確接收到了數(shù)據(jù)。數(shù)據(jù)包接收流程如圖10所示。
圖10 數(shù)據(jù)包接收流程圖
4.2 enc28j60網(wǎng)絡(luò)驅(qū)動設(shè)計
本系統(tǒng)采用enc28j60以太網(wǎng)控制芯片,需要編寫網(wǎng)絡(luò)設(shè)備驅(qū)動程序,以實現(xiàn)低層網(wǎng)絡(luò)接口及硬件函數(shù)驅(qū)動。此驅(qū)動主要完成enc28j60網(wǎng)絡(luò)芯片的初始化過程,完成在stm32控制器中加載enc28j60網(wǎng)卡芯片的配置信息,并進行enc28j60的自檢功能,如圖11所示。
圖11 enc28j60網(wǎng)絡(luò)驅(qū)動流程圖
4.3 數(shù)據(jù)鏈路層設(shè)計
mi200e提供了基本的數(shù)據(jù)包結(jié)構(gòu)和載波偵聽功能,這個特性可以模仿ieee802.3mac的設(shè)計。這里在mi200e的數(shù)據(jù)包中加上節(jié)點的mac地址,同時由于是針對控制應(yīng)用,在mac地址后面安排數(shù)據(jù)內(nèi)容的功能描述碼,用于快速獲取當(dāng)前通訊,便于區(qū)分廣播數(shù)據(jù),無需響應(yīng)的指令數(shù)據(jù)和需要響應(yīng)的指令數(shù)據(jù)等。描述碼后面是具體數(shù)據(jù)內(nèi)容,由于電力線的廣泛性和樓宇控制安全的需要,數(shù)據(jù)內(nèi)容可以使用aes128等加密算法加密,同時可以對內(nèi)容再進行crc32校驗,以進一步提供可靠性和安全性。鏈路層數(shù)據(jù)幀格式如圖12所示。鏈路層數(shù)據(jù)幀格式的設(shè)計提供了區(qū)分節(jié)點的能力,配合mi200e的幀檢測機制,可以模仿以太網(wǎng)的總線有效解決線路競爭問題。鏈路層數(shù)據(jù)帖格式。
4.4 網(wǎng)絡(luò)層設(shè)計(mesh)
由于電力線路的固有特性,以至于電力線路的通訊跟無線網(wǎng)絡(luò)的信道特性非常相似,信號經(jīng)過一段線路之后必然會有比較大的損失,所以載波信號在經(jīng)過一段距離后就無法接收了,信號的覆蓋是一個范圍,這個跟無線網(wǎng)絡(luò)入wifi,zigbee都是比較相似的,同時由于電力線路阻抗的時變性,導(dǎo)致節(jié)點在網(wǎng)并不是很穩(wěn)定,可能一會可以通訊,一會就找不到對方節(jié)點了,這個跟無線信號的波動性也比較類似,所以考慮在網(wǎng)絡(luò)層加入mesh機制的路由特性,可以大大提高通訊的覆蓋范圍,可以用來組建比較大的網(wǎng)絡(luò),滿足當(dāng)前社會大型樓宇的應(yīng)用需求。
5 結(jié)束語
經(jīng)過實際硬件制作和編寫程序測試,本系統(tǒng)可擴展性好,基于mi200e的載波偵聽機制,網(wǎng)絡(luò)有較快的響應(yīng)速度,比modbus的輪詢機制效率高,由于采用mesh技術(shù),網(wǎng)絡(luò)安裝和配置比較容易,覆蓋范圍可以擴展到幾百米。另外有橋接器的應(yīng)用,可以比較方便的連接到互聯(lián)網(wǎng)。
評論
查看更多