陳杰春 孫志明
(東北電力大學(xué)自動(dòng)化工程學(xué)院,吉林 吉林 132012)
傳統(tǒng)的抄表方式和用電管理體系已經(jīng)不能滿足高度信息化時(shí)代下人們的生活需求。相比于傳統(tǒng)的人工抄表方式,自動(dòng)抄表系統(tǒng)以其突出的便捷性、實(shí)時(shí)性和高效性逐步成為研究的熱點(diǎn)和今后的主要發(fā)展方向。自動(dòng)抄表系統(tǒng)中可采用的通信方式種類較多,比如基于電話線網(wǎng)絡(luò)(PSTN)的抄表系統(tǒng)、基于ZigBee技術(shù)的抄表系統(tǒng)、基于LonWorks現(xiàn)場(chǎng)總線的抄表系統(tǒng)及基于低壓電力線載波通信的抄表系統(tǒng)等[1]。其中,低壓電力線載波通信是以固有的低壓電力線作為傳播媒介的通信方式,省去了重新布線等中間環(huán)節(jié),具有成本低、工程量小及便于維護(hù)等優(yōu)勢(shì),在自動(dòng)抄表系統(tǒng)中被認(rèn)為是最理想的通信方式。但是,由于低壓電力線的信道環(huán)境惡劣,對(duì)通信效果影響較大[2],致使低壓電力線載波通信的普及步伐較慢。筆者探討了基于低壓電力線載波通信的自動(dòng)抄表系統(tǒng)設(shè)計(jì)中的關(guān)鍵問題。首先設(shè)計(jì)了自動(dòng)抄表系統(tǒng)的總體結(jié)構(gòu),在此基礎(chǔ)上設(shè)計(jì)低壓電力線載波Modem的硬件電路和軟件,其次還探討了低壓電力線載波通信的自動(dòng)路由算法。
圖1為基于低壓電力線載波通信的自動(dòng)抄表系統(tǒng)的總體結(jié)構(gòu),它主要由電能表、采集器、電力線載波Modem、集中器和計(jì)費(fèi)中心軟件5部分組成。其中采集器主要負(fù)責(zé)對(duì)電能表數(shù)據(jù)的采集和存儲(chǔ),當(dāng)集中器發(fā)出抄讀指令時(shí),采集器通過電力線載波Modem將數(shù)據(jù)傳出,最后由集中器整合來自各個(gè)采集器的電表數(shù)據(jù)并遠(yuǎn)傳到計(jì)費(fèi)中心。
圖1 電力線載波自動(dòng)抄表系統(tǒng)的結(jié)構(gòu)
在一次抄收過程中,電力線載波Modem承擔(dān)著數(shù)據(jù)傳輸?shù)闹厝巍J紫萂odem對(duì)采集器發(fā)送過來的電表數(shù)據(jù)進(jìn)行調(diào)制,然后經(jīng)過內(nèi)部的耦合電路將數(shù)據(jù)耦合到低壓電力線上進(jìn)行傳送,接收方再經(jīng)過相反的步驟解調(diào)數(shù)據(jù)。由此可見,電力線載波Modem是整個(gè)抄表系統(tǒng)得以正常工作的關(guān)鍵,但由于其技術(shù)不成熟,電力線載波Modem也是系統(tǒng)設(shè)計(jì)中的難點(diǎn)。
低壓電力線載波Modem主要由微處理器、載波芯片和接口電路組成,其硬件結(jié)構(gòu)如圖2所示。微處理器采用Silicon Laboratories公司推出的一種完全集成的混合信號(hào)片上系統(tǒng)(SOC)C8051F020,該芯片具有與8051指令集完全兼容的CIP-51內(nèi)核,運(yùn)行速度是一般8051單片機(jī)的10倍以上,具有較高的性價(jià)比。載波芯片ST7538Q是ST公司在前期產(chǎn)品ST7536、ST7537的基礎(chǔ)上推出的改進(jìn)型產(chǎn)品,具有載波監(jiān)聽及頻段占用檢測(cè)等實(shí)用功能,是一款專用于電力線載波通信的半雙工FSK調(diào)制解調(diào)芯片。
圖2 電力線載波Modem的硬件結(jié)構(gòu)
ST7538Q芯片的BU引腳為頻段占用檢測(cè)引腳,可用于實(shí)現(xiàn)載波監(jiān)聽的功能。當(dāng)檢測(cè)到工作頻段的載波信號(hào)時(shí),BU引腳被置高電平以指示載波信號(hào)的到來。除了BU引腳,ST7538Q芯片的CD/PD引腳也可以用于實(shí)現(xiàn)載波監(jiān)聽的功能。但是相比較而言,BU引腳的靈敏度較低,只有在真正的載波信號(hào)出現(xiàn)時(shí)才會(huì)被置位[3],不會(huì)被電力線上頻率與工作頻率相同的噪聲信號(hào)所影響,抗干擾能力更佳。
圖3是低壓電力線載波Modem的接口電路,由于ST7538Q內(nèi)部集成了功率放大電路,因此接口電路僅有:接收濾波電路、發(fā)送濾波電路、保護(hù)電路和耦合電路。
圖3 接口電路
圖3中,L1、C17和R4構(gòu)成了一個(gè)二階無源帶通接收濾波器,該濾波器只允許一定頻段的信號(hào)通過,能有效濾除電網(wǎng)中的工頻噪聲,而且無源濾波器不會(huì)像有源濾波器一樣帶來一定量的白噪聲。L2、L3、C21、C22和C23構(gòu)成了四階帶通發(fā)送濾波器,用來濾除發(fā)送電路上摻雜的噪聲和偽信號(hào)。保護(hù)電路則由D2、D3和D4共3個(gè)單極型的瞬態(tài)抑制二極管星形連接而成,這樣可以有效抑制沖擊脈沖和尖峰信號(hào)。耦合變壓器T1能夠?qū)⒋l(fā)送的信號(hào)耦合到低壓電力線上,同時(shí)還具有隔離電力線的作用[4]。
在微處理器C8051F020中燒寫的應(yīng)用程序?yàn)榈蛪弘娏€載波Modem的軟件。系統(tǒng)上電時(shí),微處理器首先對(duì)ST7538Q芯片進(jìn)行寄存器配置,只有寄存器配置完成后,Modem才能正常工作。圖4為電力線載波Modem的軟件流程。
圖4 電力線載波Modem的軟件流程
在初始化階段,應(yīng)用程序?qū)顟B(tài)變量State設(shè)置為0,然后在時(shí)鐘下降沿進(jìn)入寄存器配置狀態(tài)。當(dāng)串口有數(shù)據(jù)寫入時(shí),應(yīng)用程序?qū)顟B(tài)變量State設(shè)置為2,并在時(shí)鐘下降沿進(jìn)入發(fā)送數(shù)據(jù)狀態(tài)。如果狀態(tài)變量State既不為0也不為2,應(yīng)用程序則通過檢測(cè)BU引腳的電平高低決定是否進(jìn)入接收數(shù)據(jù)狀態(tài),如果BU引腳為高電平且狀態(tài)變量State等于3,則進(jìn)入接收數(shù)據(jù)狀態(tài),否則應(yīng)用程序不會(huì)執(zhí)行任何操作。
圖5為示波器截圖,該圖準(zhǔn)確地描述了寄存器的配置過程。其中,示波器的第一路信號(hào)為同步時(shí)鐘信號(hào),該同步時(shí)鐘信號(hào)由ST7538Q芯片的CLR/T引腳提供(圖2未畫出),數(shù)據(jù)在同步時(shí)鐘的上升沿被采樣;第二路信號(hào)為所配置的寄存器數(shù)據(jù)信號(hào),該數(shù)據(jù)為1110 0000 0100 0101 1100 1000(E0 45 C8),ST7538Q芯片的寄存器共有24位,配置過程中按照先配高位,后配低位的順序進(jìn)行,即先寫入第23位,最后寫入第0位。
圖5 ST7538Q芯片的寄存器配置過程
配置好寄存器后,電線載波Modem則可進(jìn)入正常的工作狀態(tài),圖6、7分別給出了其發(fā)送數(shù)據(jù)和接收數(shù)據(jù)的波形圖,可以明顯看出接收端信號(hào)的幅值相比于發(fā)送端信號(hào)的幅值大幅減小,這是由電力線上的各種負(fù)載導(dǎo)致的,但考慮到ST7538Q芯片的接收靈敏度可以達(dá)到0.25mV,因此低壓電力線載波Modem仍然能夠可靠地接收到載波信號(hào)。
圖6 發(fā)送數(shù)據(jù)波形
圖7 接收數(shù)據(jù)波形
由于低壓供電網(wǎng)絡(luò)的設(shè)計(jì)初衷不是為通信系統(tǒng)服務(wù),因此采用低壓電力線作為通信信道的效果并不是十分理想[5],這也直接影響了低壓電力線載波自動(dòng)抄表系統(tǒng)的可靠性和通信距離。為了提高自動(dòng)抄表系統(tǒng)的性能,首先從硬件設(shè)計(jì)的角度出發(fā),比如優(yōu)化接收濾波器、發(fā)送濾波器和阻抗匹配電路的設(shè)計(jì),以及改進(jìn)載波調(diào)制/解調(diào)方式等,但是以上措施只能對(duì)點(diǎn)對(duì)點(diǎn)系統(tǒng)的通信性能有所提高,而且提升空間有限[6]。
對(duì)于整個(gè)自動(dòng)抄表系統(tǒng)而言,點(diǎn)對(duì)點(diǎn)的通信可靠性并不能作為系統(tǒng)性能的評(píng)價(jià)指標(biāo),因此在低壓電力線載波通信系統(tǒng)中建立類似于以太網(wǎng)的路由網(wǎng)絡(luò)是保證系統(tǒng)性能的有效方法。筆者將探討一種適用于低壓電力線通信網(wǎng)絡(luò)的新型組網(wǎng)算法——人工蛛網(wǎng)算法。該算法能夠把傳統(tǒng)的樹形網(wǎng)絡(luò)拓?fù)滢D(zhuǎn)換為蛛網(wǎng)形式,比常規(guī)的電力線通信機(jī)制效率高。此外,筆者還將針對(duì)出現(xiàn)故障節(jié)點(diǎn)的情況探討人工蛛網(wǎng)形式下的重路由算法。
圖8是一個(gè)采用樹形拓?fù)浣Y(jié)構(gòu)的低壓電力線載波通信系統(tǒng),其中C為集中器。在理想情況下,所有的節(jié)點(diǎn)都可以直接與集中器C進(jìn)行數(shù)據(jù)的收、發(fā),但隨著節(jié)點(diǎn)與集中器C之間的距離增加,通信能力會(huì)越來越差。實(shí)際情況下,僅數(shù)米內(nèi)的節(jié)點(diǎn)才能可靠通信。
圖8 采用樹形拓?fù)涞牡蛪弘娏€載波通信系統(tǒng)
為了提高低壓電力線載波通信系統(tǒng)的可靠性,可以采用人工蛛網(wǎng)算法調(diào)整通信系統(tǒng)的拓?fù)浣Y(jié)構(gòu),以圖8所示的低壓電力線載波通信系統(tǒng)為例,說明其調(diào)整過程:
a. 首先由集中器C發(fā)送組網(wǎng)廣播,假設(shè)只有節(jié)點(diǎn)1~7收到了組網(wǎng)廣播,在節(jié)點(diǎn)1~7中選擇一個(gè)節(jié)點(diǎn)作為子網(wǎng)1的中心節(jié)點(diǎn),這個(gè)節(jié)點(diǎn)應(yīng)該既能與集中器C可靠通信,又能和剩余的其他6個(gè)節(jié)點(diǎn)可靠通信,此處假設(shè)為節(jié)點(diǎn)4。然后,再由子網(wǎng)1的中心節(jié)點(diǎn)(節(jié)點(diǎn)4)為其他6個(gè)節(jié)點(diǎn)分配邏輯地址,至此完成了子網(wǎng)1的組網(wǎng)。
b. 集中器C向子網(wǎng)1的中心節(jié)點(diǎn)(節(jié)點(diǎn)4)發(fā)送組網(wǎng)指令。接收到組網(wǎng)指令后,子網(wǎng)1的中心節(jié)點(diǎn)發(fā)送組網(wǎng)廣播。假設(shè)節(jié)點(diǎn)1~14均收到了組網(wǎng)廣播,此時(shí)應(yīng)去除已經(jīng)獲得邏輯地址的節(jié)點(diǎn)(節(jié)點(diǎn)1~7),并在剩下的節(jié)點(diǎn)中選擇一個(gè)能與子網(wǎng)1的中心節(jié)點(diǎn)可靠通信的節(jié)點(diǎn)作為子網(wǎng)2的中心節(jié)點(diǎn),此處假設(shè)為節(jié)點(diǎn)11,然后再為子網(wǎng)2內(nèi)的其他節(jié)點(diǎn)分配邏輯地址。
c. 集中器C以子網(wǎng)1的中心節(jié)點(diǎn)為中繼向子網(wǎng)2的中心節(jié)點(diǎn)發(fā)送組網(wǎng)指令。如圖9所示,與子網(wǎng)2的組網(wǎng)過程相似,以節(jié)點(diǎn)16為中心節(jié)點(diǎn),構(gòu)建子網(wǎng)3。
d. 集中器C以子網(wǎng)1和子網(wǎng)2的中心節(jié)點(diǎn)為中繼向子網(wǎng)3的中心節(jié)點(diǎn)發(fā)送組網(wǎng)指令,由于子網(wǎng)3已經(jīng)將剩下的節(jié)點(diǎn)全部連通,因此子網(wǎng)3的中心節(jié)點(diǎn)通過子網(wǎng)2和子網(wǎng)1的中心節(jié)點(diǎn)向集中器發(fā)送空響應(yīng),這樣就完成了對(duì)整個(gè)系統(tǒng)的組網(wǎng)[7]。
在完成系統(tǒng)組網(wǎng)后,集中器C通過中心節(jié)點(diǎn)采集各子網(wǎng)內(nèi)節(jié)點(diǎn)的數(shù)據(jù),例如子網(wǎng)1中,中心節(jié)點(diǎn)4負(fù)責(zé)采集節(jié)點(diǎn)1~3和5~7的數(shù)據(jù),然后將采集到的數(shù)據(jù)與自身的數(shù)據(jù)一同上傳到集中器。這里規(guī)定,子網(wǎng)內(nèi)中心節(jié)點(diǎn)采集其他節(jié)點(diǎn)數(shù)據(jù)所用的時(shí)間為一個(gè)數(shù)據(jù)采集周期,如果在某個(gè)數(shù)據(jù)采集周期內(nèi),中心節(jié)點(diǎn)沒有接收到子網(wǎng)內(nèi)某一個(gè)節(jié)點(diǎn)的數(shù)據(jù),則認(rèn)為這個(gè)節(jié)點(diǎn)不能與中心節(jié)點(diǎn)正常通信,這時(shí)中心節(jié)點(diǎn)就會(huì)對(duì)該節(jié)點(diǎn)發(fā)起重路由指令[8]。以圖10為例,說明人工蛛網(wǎng)的重路由算法。
圖10 雙層人工蛛網(wǎng)
假設(shè)圖10中的節(jié)點(diǎn)7在某一時(shí)刻不能與中心節(jié)點(diǎn)1通信,即節(jié)點(diǎn)7與節(jié)點(diǎn)1之間的信道環(huán)境較差。此時(shí),節(jié)點(diǎn)7需要選擇一個(gè)合適的中繼路徑恢復(fù)它與中心節(jié)點(diǎn)間的通信,而節(jié)點(diǎn)13受其影響也需要重新選擇最優(yōu)路徑,路徑選取的原則均以距離最短為最優(yōu)。以節(jié)點(diǎn)13為例,分別采用Dijkstra算法和遺傳算法對(duì)此進(jìn)行仿真。Dijkstra算法是目前公認(rèn)較好的求解最短路徑問題的算法,也是很具代表性的一種算法[9]。該算法的步驟如下[10,11]:
a. 建立兩個(gè)集合S和U,初始時(shí),集合S中只包含源節(jié)點(diǎn),集合U包含通信系統(tǒng)中的其他節(jié)點(diǎn)。
b. 從集合U中選取一個(gè)與源節(jié)點(diǎn)間最短距離最小的節(jié)點(diǎn),并將其放在集合S中。假設(shè)節(jié)點(diǎn)s為源節(jié)點(diǎn),節(jié)點(diǎn)w為集合U中的任意一個(gè)節(jié)點(diǎn),若集合S中只包含源節(jié)點(diǎn),則節(jié)點(diǎn)w與源節(jié)點(diǎn)之間的最短距離為min{dist(w,s)}。若集合S中包含兩個(gè)或兩個(gè)以上的節(jié)點(diǎn),假設(shè)v為集合S中的除了源節(jié)點(diǎn)以外的任意一個(gè)節(jié)點(diǎn),則節(jié)點(diǎn)w與源節(jié)點(diǎn)之間的最短距離為dist(w,v)+min{dist(v,s)}。
c. 重復(fù)步驟b,直至將集合U中的所有節(jié)點(diǎn)取出為止。
表1為仿真實(shí)驗(yàn)結(jié)果,可以看出:Dijkstra算法和遺傳算法均能找到最優(yōu)路徑(最優(yōu)路徑如圖10中實(shí)線部分所示)。但是從算法的運(yùn)算時(shí)間來看,遺傳算法并沒有突出的優(yōu)勢(shì),盡管它在高空間復(fù)雜的問題上有著較好的表現(xiàn),而且實(shí)驗(yàn)過程中,遺傳算法還存在非最優(yōu)路徑的解,因此,選用Dijkstra算法能夠更好地滿足本應(yīng)用中重路由路徑選擇的需求。
表1 仿真結(jié)果
以電力線載波Modem和電力線載波路由算法為主,對(duì)電力線載波自動(dòng)抄表系統(tǒng)中的關(guān)鍵問題進(jìn)行了論述。分別從硬件和軟件兩方面介紹了電線載波Modem的設(shè)計(jì)方法,經(jīng)調(diào)試該Modem能夠穩(wěn)定、可靠地運(yùn)行,解決了抄表系統(tǒng)中的技術(shù)難點(diǎn)。從提高自動(dòng)抄表系統(tǒng)可靠性的角度出發(fā),又探討了電力線載波的人工蛛網(wǎng)路由算法,通過比較Dijkstra算法與遺傳算法在重路由路徑選擇時(shí)的結(jié)果,證明了Dijkstra算法在人工蛛網(wǎng)組網(wǎng)模式下的適用性。