低壓電力線是為傳輸50Hz 的工頻電能而鋪設(shè)的,是一種分布非常廣泛的線路資源,長(zhǎng)久以來(lái),人們一直試圖通過(guò)它傳輸數(shù)據(jù)和語(yǔ)音信號(hào)。隨著近幾年信號(hào)調(diào)制技術(shù)的進(jìn)步、嵌入式軟硬件技術(shù)的發(fā)展和新型集成電路的不斷出現(xiàn)使得電力線通信(PLC)逐步從實(shí)驗(yàn)室走向?qū)嵱茫蔀榫哂辛己冒l(fā)展前景的通信技術(shù)之一。本文給出了基于PLC 技術(shù)的遠(yuǎn)程單相復(fù)費(fèi)率電表(簡(jiǎn)稱基于PLC技術(shù)的遠(yuǎn)程電表)的設(shè)計(jì)與實(shí)現(xiàn)。
2 硬件總體設(shè)計(jì)
如圖1所示,基于PLC 技術(shù)的遠(yuǎn)程電表硬件部分包含MCF5271 主控板、電量采集板和PLC調(diào)制解調(diào)器,三部分電路板相對(duì)獨(dú)立,并沒(méi)有設(shè)計(jì)在一塊電路板中電量采集板負(fù)責(zé)采集電量,MCF5271 主控板通過(guò)SPI、I2C 等接口與電量采集板進(jìn)行數(shù)據(jù)傳輸,同時(shí)通過(guò)符合IEEE802.3 規(guī)范的MII 接口與PLC 調(diào)制解調(diào)器進(jìn)行以太幀數(shù)據(jù)傳輸,PLC 調(diào)制解調(diào)器負(fù)責(zé)以太幀和電力線通信數(shù)據(jù)之間的轉(zhuǎn)換。

?
圖1 基于PLC 技術(shù)的遠(yuǎn)程電表模塊圖
3 MCF5271主控板設(shè)計(jì)
MCF5271主控板的設(shè)計(jì)參考了Freescale公司的MCF5271評(píng)估開(kāi)發(fā)板的設(shè)計(jì)原理MCF5271評(píng)估開(kāi)發(fā)板使用的ColdFire微處理器為196引腳的BGA封裝,焊接比較困難,而且160引腳QFP封裝的芯片與之功能相似,同樣可以滿足本設(shè)計(jì)需要的功能同時(shí)易于焊接,故使用QFP160封裝的芯片做主控板。主控板與PLC調(diào)制解調(diào)器接口的主要部分為MII接口,所以略去了主控板與PLC調(diào)制解調(diào)器接口的介紹,而代以介紹MCF5271微處理器與INT5500之間的通過(guò)MII接口的連接。
1、MCF5271主控板板的存儲(chǔ)器擴(kuò)展
MCF5271具有外部總線接口,數(shù)據(jù)總線寬度為32位D[31∶0],尋址范圍可以達(dá)到32位,與外界存儲(chǔ)器相連的地址總線寬度為24 位A。MCF5271主控板中擴(kuò)展了一片1M×16位的Flash存儲(chǔ)芯片AM29LV 160DB,地址總線為20位,連接MCF5271的地址總線A[20∶1],數(shù)據(jù)總線為16位,連接D[31∶16]。兩片8M字節(jié)的SDRAM芯片HY57V641620HG,每片SDR.AM的地址總線寬度為12位,數(shù)據(jù)總線寬度為16位,兩片芯片使用共同的地址總線A[21∶15]和控制信號(hào),數(shù)據(jù)總線分別連接MCF5271的D[15∶0]和D[16∶31]。
2、MCF5271與INT5500的連接
INT5500工作在PHY模式下的時(shí)候類(lèi)似于以太網(wǎng)物理層芯片,可以與帶有MII接口的MCU相連。圖2所示為MCF5271與INT5500連接方式。由于此時(shí)INT5500工作在PHY模式下,所以MII接口的信號(hào)方向與Host/DTE模式下的方向相反。

?
圖2 MCF5271與INT5500連接圖
MCF5271芯片MII接口的信號(hào)線可以分為三組:用作數(shù)據(jù)管理的信號(hào)線EMDIO和EMDC;反映介質(zhì)狀態(tài)的信號(hào)線ECOL和ECRS;其余為接收/發(fā)送信號(hào)線。
EMDIO為雙向信號(hào),在INT5500和MCF5271之間傳輸控制信息和狀態(tài)信息。控制信息由MCF5271發(fā)給INT5500,狀態(tài)信息由INT5500反饋給MCF5271。EMDC為輸出信號(hào),作為EMDIO數(shù)據(jù)傳輸?shù)膮⒖紩r(shí)鐘。
ECOL為輸入信號(hào),該信號(hào)有效時(shí),表示檢測(cè)到傳輸介質(zhì)上有沖突。ECRS為輸入信號(hào),該信號(hào)有效時(shí),表示檢測(cè)到傳輸介質(zhì)忙;否則表示傳輸通道處于空閑狀態(tài),可以進(jìn)行傳輸。
ERXD[0-3]用來(lái)接收INT5500發(fā)送的4位數(shù)據(jù);ERXDV用來(lái)表示從INT5500接收到的數(shù)據(jù)是否有效,高電平為有效;ERXCLK為INT5500提供給MCF5271的數(shù)據(jù)接收時(shí)鐘信號(hào),其工作頻率為數(shù)據(jù)接收速度的25%;ERXER為輸入信號(hào),該信號(hào)有效時(shí)表示檢測(cè)到當(dāng)前在INT5500上傳輸?shù)膸鲥e(cuò)。
ETXD[0-3]用來(lái)向INT5500發(fā)送4位數(shù)據(jù);ETXEN為輸出信號(hào),該信號(hào)有效時(shí)表示MII總線上有數(shù)據(jù),可以啟動(dòng)發(fā)送操作。ETXCLK為輸出信號(hào),作為數(shù)據(jù)發(fā)送的參考時(shí)鐘信號(hào)。
4 電量采集板
電量采集板電路包括電量采集電路、ADE7756與主控芯片的通信接口、實(shí)時(shí)時(shí)鐘芯片PCF8563的工作電路與對(duì)外通信接口。
1、電量采集電路
圖3所示為電量采集電路,其中CT為電流互感器,電量采集芯片為ADE7756。電路中電壓和電流輸入通道均采用差分信號(hào)輸入。普通電力線中的電流經(jīng)過(guò)電流互感器CT后接到實(shí)際負(fù)載上,電流互感器將電流轉(zhuǎn)換成電壓信號(hào),再經(jīng)過(guò)R1與C4、R10與C6組成的濾波電路濾波后進(jìn)入ADE7756的差分信號(hào)輸入引腳V1P和V1N。電力線的220V電壓信號(hào)經(jīng)過(guò)R7、R6和R8分壓及R8與C8組成的濾波電路濾波后轉(zhuǎn)換為250mV的電壓信號(hào),作為AED7756的V2P的輸入。

?
圖3 電量采集模塊
2、ADE7756與MCF5271主控板的接口模塊
ADE7756與MCF5271主控板的接口部分包括用于通信的SPI接口和ADE7756的反饋信號(hào)。如圖4所示,圖中使用兩片7404芯片對(duì)輸入輸出信號(hào)進(jìn)行電壓轉(zhuǎn)換。7404芯片內(nèi)部含有6路緩沖器,本設(shè)計(jì)中使用了每片芯片中的4路緩沖器,7404芯片為漏極開(kāi)路輸出,所以從主控芯片方輸入的5V/3.3V信號(hào)經(jīng)過(guò)7404后都可以轉(zhuǎn)換為5V信號(hào)。向主控芯片方輸出的信號(hào)可以轉(zhuǎn)換為3.3V信號(hào)。

?
圖4 ADE7756與MCU的接口部分
圖中的IN_DIN、IN_SCLK、IN_CS 和OUT_DOUT引腳為SPI接口的引腳;IN_RESET為從主控芯片方輸入的復(fù)位控制信號(hào);OUT_IRQ為ADE7756的中斷請(qǐng)求輸出信號(hào);OUT_ZX為通道2的電壓波形過(guò)零輸出引腳,用于對(duì)電力線進(jìn)行過(guò)零檢測(cè);OUT_SAG為電力線電壓過(guò)低和5V工作電壓過(guò)低檢測(cè)輸出信號(hào)。
3、實(shí)時(shí)時(shí)鐘模塊
圖5為實(shí)時(shí)時(shí)鐘模塊,PCFB_563通過(guò)紐扣電池供電,MCF5271主控板通過(guò)I2C接口與PCF8563進(jìn)行通信,SCL為主控芯片發(fā)送的時(shí)鐘信號(hào),SDA為數(shù)據(jù)雙向數(shù)據(jù)通信引腳。主控芯片可以設(shè)置PCF8563當(dāng)前時(shí)間和讀取PCF8563當(dāng)前時(shí)間。

?
圖5 實(shí)時(shí)時(shí)鐘模塊
5 系統(tǒng)軟件設(shè)計(jì)
基于PLC技術(shù)的遠(yuǎn)程電表的軟件可以劃分為兩個(gè)部分:主控芯片方程序以及與后端軟件的接口,兩者相互獨(dú)立。主控芯片方軟件主要完成以下功能:
(1)定時(shí)電量采集:與ADE7756通信,通過(guò)SPI接口讀取電量數(shù)據(jù);
(2)電量數(shù)據(jù)存儲(chǔ):讀取實(shí)時(shí)時(shí)鐘獲得當(dāng)前時(shí)間,判斷當(dāng)前時(shí)段,將讀取到的電量數(shù)據(jù)按照時(shí)段進(jìn)行相應(yīng)存儲(chǔ);
(3)數(shù)據(jù)通信和加密解密:接收和解析后端軟件發(fā)送的命令數(shù)據(jù)包、構(gòu)造和發(fā)送應(yīng)答數(shù)據(jù)包;并完成命令數(shù)據(jù)的解密和應(yīng)答數(shù)據(jù)的加密;
(4)命令響應(yīng):對(duì)后端軟件發(fā)送的命令做出響應(yīng);
(5)掉電處理:檢測(cè)到電壓過(guò)低和掉電情況后及時(shí)進(jìn)行重要數(shù)據(jù)存儲(chǔ)。
后端軟件接口主要包含通信協(xié)議的設(shè)計(jì),如果將接口設(shè)計(jì)的比較合理,則對(duì)于后端軟件的開(kāi)發(fā)人員來(lái)說(shuō)相當(dāng)方便。
根據(jù)以上功能分析,軟件共劃分為5個(gè)模塊:電量采集和存儲(chǔ)模塊、數(shù)據(jù)加密解密模塊、嵌入式以太網(wǎng)模塊、掉電處理模塊和命令響應(yīng)模塊。
電量采集和存儲(chǔ)模塊完成定時(shí)電量采集和電量數(shù)據(jù)存儲(chǔ)功能;
數(shù)據(jù)加密解密模塊用來(lái)對(duì)后端軟件的命令解密和本地應(yīng)答數(shù)據(jù)的加密;
嵌入式以太網(wǎng)模塊完成數(shù)據(jù)通信功能,該模塊包含與PLC 調(diào)制解調(diào)器的通信的底層驅(qū)動(dòng)程序,同時(shí)包含網(wǎng)絡(luò)協(xié)議,負(fù)責(zé)網(wǎng)絡(luò)數(shù)據(jù)的解包打包功能;
掉電處理模塊完成檢測(cè)到電力線電壓低于閾值時(shí)對(duì)重要數(shù)據(jù)的存儲(chǔ);
命令響應(yīng)模塊對(duì)后端軟件的命令進(jìn)行響應(yīng)。