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