基于電力線載波的嵌入式家庭網(wǎng)關(guān)設(shè)計(jì)
摘要:為了組建一個(gè)家庭電能網(wǎng)絡(luò)監(jiān)測和管理各種電器,使所有的電器協(xié)調(diào)運(yùn)行而達(dá)到節(jié)能最大化的目的,提出了一種基于電力線載波的嵌入式家庭網(wǎng)關(guān)的設(shè)計(jì)方案,并完成了系統(tǒng)的軟硬件設(shè)計(jì)。該網(wǎng)關(guān)以ATmega128為主控制器,集成了IT700PIM電力線載波通信芯片和ENC28J60網(wǎng)卡芯片,移植了uIP協(xié)議棧,在智能家庭網(wǎng)關(guān)的硬件平臺(tái)上實(shí)現(xiàn)了嵌入式的web server功能。實(shí)驗(yàn)結(jié)果表明,該網(wǎng)關(guān)達(dá)到了設(shè)計(jì)要求,滿足智能家居的要求。
關(guān)鍵詞:電力線載波;家庭網(wǎng)關(guān);電能管理;嵌入式web server
引言
在我國,大量電子產(chǎn)品及電器的使用造成了家庭和辦公領(lǐng)域能源消耗的急劇增長,節(jié)能問題迫在眉睫。因此組建一個(gè)電能網(wǎng)絡(luò)對(duì)用戶的電器進(jìn)行監(jiān)測并優(yōu)化各電器的運(yùn)行,從而達(dá)到節(jié)約電能的目的,顯然是十分必要的。與此同時(shí),隨著數(shù)字家庭和智能樓宇的發(fā)展,電力線載波(Power Line Communication,PLC)技術(shù)重新得到了重視,它不需要重新架設(shè)網(wǎng)絡(luò)就可以進(jìn)行數(shù)據(jù)傳送,并且在一個(gè)家庭或一個(gè)樓宇范同內(nèi)充分屏蔽了PLC的局限性,非常適用于組建家庭和辦公領(lǐng)域用戶的電能網(wǎng)絡(luò)。
本文設(shè)計(jì)的基于電力線載波通信的嵌入式家庭網(wǎng)關(guān),可以通過電力線載波通信組成用戶電能網(wǎng)絡(luò),用戶可以隨時(shí)以各種方式登錄Intern et對(duì)家電進(jìn)行控制并可以隨時(shí)查詢家電的各種狀態(tài),根據(jù)電能消費(fèi)情況制定合理的用電方案,最大限度地減少電能支出,實(shí)現(xiàn)家庭的電能管理。
1 總體設(shè)計(jì)方案
家庭網(wǎng)關(guān)的總體設(shè)計(jì)方案如圖1所示。系統(tǒng)以AVR單片機(jī)ATmega128作為核心控制器,負(fù)責(zé)控制和協(xié)涮IT700PIM電力線載波通信模塊、以太網(wǎng)模塊的工作,實(shí)現(xiàn)各家用電器的控制和電能信息的采集,并在電能網(wǎng)關(guān)中實(shí)現(xiàn)嵌入式的webserver功能,以便用戶內(nèi)部網(wǎng)絡(luò)與Internet進(jìn)行信息交互。
2 硬件設(shè)計(jì)
2.1 ATmega128控制核心
采用Atmel公司生產(chǎn)的AVR系列單片機(jī)中的ATmega128作為PLC節(jié)點(diǎn)的控制核心。與普通的8位單片機(jī)相比,ATmega128具有運(yùn)算速度快、資源豐富、功耗低等特點(diǎn)。ATmega128的最高運(yùn)行速度可達(dá)16 MIPS,具有53個(gè)I/O接口、128 KB的Flash、4 KB的EEPROM、4 KB的SRAM、1個(gè)SPI接口、2個(gè)USART串行接口,很適合用于控制和通信。在ATmega128應(yīng)用過程中,首先沒計(jì)了ATmega128核心板,其他功能模塊與ATmega128核心板進(jìn)行捅接即可完成網(wǎng)關(guān)電路的設(shè)計(jì)。ATmega128的晶振電路、復(fù)位電路等基本電路和JTAG調(diào)試端口連接較為簡單,在此不作詳述。
2.2 供電電源
網(wǎng)關(guān)采用220 V轉(zhuǎn)5 V的AC/DC,其最大功率為5 W的供電電源,并使用REG1117芯片完成5 V轉(zhuǎn)3.3 V供電電源的沒計(jì)。網(wǎng)關(guān)中核心控制器ATmega128采用5 V電源供電,以太網(wǎng)模塊采用3.3 V電源供電。網(wǎng)關(guān)供電電源電路如圖2所示。
2.3 IT700PIM電力線載波通信模塊
IT700PIM是以色列Yitran公司生產(chǎn)的以高度集成的系統(tǒng)級(jí)電力線載波通信芯片IT700為核心的電力線載波通信模塊。IT700PIM采用DSCK調(diào)制方式,集成的模擬前端為其提供了不同的線路驅(qū)動(dòng)能力,使數(shù)據(jù)傳輸更加穩(wěn)定可靠。IT700芯片整合了極其強(qiáng)大的物理層(PHY)、高性能的數(shù)據(jù)鏈路層(DLL)以及穩(wěn)定的網(wǎng)絡(luò)層(Y-Net)協(xié)議。同時(shí)IT700芯片還為協(xié)議棧配備了一個(gè)256KBFlash的8051微控制器,另外還有24個(gè)通用I/O端口供實(shí)際應(yīng)用。IT700PIM配有專用的AC/DC電源模塊,內(nèi)部集成信號(hào)耦合器,該電源模塊的功率為2.5 W,可為IT700PIM模塊提供3.3 V直流電源及電力線通信接口,同時(shí)還提供5 V直流電源為其他功能模塊供電。
IT700PIM的所有輸入引腳均兼容5 V電平,只需給IT700PIM輸出到ATmega128單片機(jī)的串口信號(hào)電平做電平轉(zhuǎn)換即可,電平轉(zhuǎn)換采用4-2輸入與門芯片74 HCT08進(jìn)行通信。IT700PIM模塊的外圍電路如圖3所示。
2.4 以太網(wǎng)模塊
本設(shè)計(jì)中使用已經(jīng)開發(fā)完成的以太網(wǎng)模塊,包括網(wǎng)卡芯片ENC28J60、HR911102A以及相關(guān)的外圍電路,其中HR911102A內(nèi)置隔離變壓器和RJ45以太網(wǎng)接口。網(wǎng)卡芯片采用ENC28J60,經(jīng)HR911102A內(nèi)置的隔離變壓器和RJ45以太網(wǎng)接口,實(shí)現(xiàn)電能網(wǎng)關(guān)的Internet接入。
該模塊通過SPI接口與電源和控制器相連,網(wǎng)卡芯片ENC28J60采用3.3 V供電電源,ENC28J60的所有引腳均兼容5 V電平,只需要74HCT08完成ENC28J60輸出3.3 V電平向5 V電平的轉(zhuǎn)換。以太網(wǎng)模塊與ATmega128的連線如圖4所示。
3 軟件設(shè)計(jì)
為了實(shí)現(xiàn)以太網(wǎng)和電力線載波網(wǎng)絡(luò)的信息交互,家庭網(wǎng)關(guān)需要實(shí)現(xiàn)uIP協(xié)議棧,并和多主站網(wǎng)絡(luò)管理協(xié)議、Y-Net協(xié)議協(xié)調(diào)丁作,其軟件架構(gòu)如圖5所示。在家庭網(wǎng)關(guān)的以太網(wǎng)通信部分,web servet通過uIP協(xié)議棧和網(wǎng)卡驅(qū)動(dòng)程序完成以太網(wǎng)數(shù)據(jù)包軟件部分的收發(fā),用戶可以通過客戶端web瀏覽器查看web server中定制的能量信息和向web server發(fā)送控制用戶電器供電及斷電的信息。在用戶內(nèi)部的電力線載波通信網(wǎng)絡(luò)中,通過多主站網(wǎng)絡(luò)管理協(xié)議和Y-Net協(xié)議實(shí)現(xiàn)電能網(wǎng)關(guān)和各電器的組網(wǎng)。
3.1 網(wǎng)關(guān)的各節(jié)點(diǎn)通信
主程序中確定了節(jié)點(diǎn)上電后的運(yùn)行過程,通過調(diào)用IT700PIM模塊初始化子程序,IT700網(wǎng)絡(luò)層協(xié)議信息處理子程序,IT700網(wǎng)絡(luò)層協(xié)議地址請(qǐng)求子程序,IT700串口接收數(shù)據(jù)子程序,IT700發(fā)送數(shù)據(jù)報(bào)文子程序,來實(shí)現(xiàn)網(wǎng)關(guān)與各節(jié)點(diǎn)的聯(lián)網(wǎng)與通信。
3.2 uIP協(xié)議的移植
uIP是嵌入式TCP/IP協(xié)議棧,只保留了TCP/IP協(xié)議不可或缺的部分,將設(shè)計(jì)重心置于IP(網(wǎng)際協(xié)議)、TCP(傳輸控制協(xié)議)、UDP(用戶數(shù)據(jù)包協(xié)議)、ARP(地址解析協(xié)議)、ICMP(Internet控制報(bào)文協(xié)議)這些網(wǎng)絡(luò)層和傳輸層協(xié)議之上,簡化了通信的流程,保證了代碼的通用性及結(jié)構(gòu)的穩(wěn)定性。uIP可以看作一個(gè)在其內(nèi)部實(shí)現(xiàn)TCP/IP協(xié)議的機(jī)器,通過一些API同底層驅(qū)動(dòng)和上層應(yīng)用程序進(jìn)行交互。
為了實(shí)現(xiàn)uIP協(xié)議在ATmega128的移植,本設(shè)計(jì)使用了uIP協(xié)議棧文件中uip和unix目錄下的7個(gè)子文件:其中uip.c和uip.h作為協(xié)議棧的核心部分負(fù)責(zé)TCP、IP、ICMP協(xié)議的實(shí)現(xiàn);uip_arp.c和uip_arp.h負(fù)責(zé)ARP協(xié)議的實(shí)現(xiàn);uip_arch.c和uip_arch.h提供IP校驗(yàn)和函數(shù);ui popt.h用于對(duì)協(xié)議棧的各種參數(shù)進(jìn)行配置。其中包括IP地址、支持的IP地址類型、MAC地址、允許的最大連接數(shù)等參數(shù)的設(shè)定。在服務(wù)器端,uIP協(xié)議棧通過調(diào)用uip_listen()函數(shù)偵聽來自端口的被動(dòng)連接請(qǐng)求。
3.3 ENC28J60驅(qū)動(dòng)程序設(shè)計(jì)
ENC28J60通過SPI與ATrrtoga128實(shí)現(xiàn)接口,ATmega128通過SPI接口向ENC28J60發(fā)送命令,以訪問和設(shè)置相關(guān)寄存器、讀寫接收/發(fā)送數(shù)據(jù)緩沖區(qū)以及執(zhí)行其他相關(guān)操作。ENC28J60驅(qū)動(dòng)程序流程圖如圖6所示。
ENC28J60主要為上層應(yīng)用提供3個(gè)函數(shù):
①網(wǎng)卡初始化函數(shù):主要完成網(wǎng)卡芯片與控制器SPI接口的初始化;設(shè)置接收/發(fā)送數(shù)據(jù)緩沖器的起始地址及大小;初始化網(wǎng)卡的工作模式;設(shè)置網(wǎng)卡的MAC地址。
②讀包函數(shù):當(dāng)網(wǎng)卡的接收緩沖器接收到數(shù)據(jù)包時(shí),對(duì)數(shù)據(jù)包進(jìn)行讀取,將接收到的數(shù)據(jù)包放入全局緩存區(qū),釋放網(wǎng)卡接收緩沖器的內(nèi)存,并返回?cái)?shù)據(jù)包的長度。
③發(fā)包函數(shù):當(dāng)全局緩存區(qū)有數(shù)據(jù)包需要發(fā)送時(shí),將數(shù)據(jù)包送入發(fā)送數(shù)據(jù)緩沖器進(jìn)行發(fā)送。
4 測試結(jié)果
為測試該家庭網(wǎng)關(guān)的聯(lián)網(wǎng)效果,搭建PLC網(wǎng)絡(luò)通信實(shí)驗(yàn)平臺(tái),它由4個(gè)普通節(jié)點(diǎn)、一個(gè)網(wǎng)關(guān)節(jié)點(diǎn)和PC機(jī)構(gòu)成。每個(gè)普通節(jié)點(diǎn)包含一個(gè)AVR控制器模塊和一個(gè)IT700PIM電力線載波通信模塊。實(shí)驗(yàn)中網(wǎng)關(guān)的PLC模塊直接與PC機(jī)通過串口相連,PC機(jī)使用Yitran公司開發(fā)的IT700PLCStu dio軟件,在線監(jiān)視PLC網(wǎng)絡(luò)的運(yùn)行,測試各節(jié)點(diǎn)能否成功聯(lián)網(wǎng)及聯(lián)網(wǎng)所需時(shí)間。為了驗(yàn)證PLC網(wǎng)絡(luò)通信的抗干擾能力,加干擾后測試各節(jié)點(diǎn)能否成功聯(lián)網(wǎng)及聯(lián)網(wǎng)所需時(shí)間。
測試結(jié)果如表1所列,各節(jié)點(diǎn)在兩種情況下均可成功聯(lián)網(wǎng)并且測試聯(lián)網(wǎng)時(shí)間滿足家庭各電器的通信要求。
利用Dreamweaver網(wǎng)頁設(shè)計(jì)平臺(tái)完成了家庭電能管理系統(tǒng)登陸界面和主界面網(wǎng)頁的設(shè)計(jì),在家庭能量管理系統(tǒng)主界面中,可以查看各個(gè)節(jié)點(diǎn)的相關(guān)信息,同時(shí)還可以對(duì)各節(jié)點(diǎn)進(jìn)行控制。
本設(shè)計(jì)中,通過網(wǎng)頁左上角節(jié)點(diǎn)1、節(jié)點(diǎn)2等按鈕查看各個(gè)節(jié)點(diǎn)的能量信息;通過左下角的圖片按鈕控制各節(jié)點(diǎn)供電;通過右邊的網(wǎng)絡(luò)示意圖顯示各節(jié)點(diǎn)是否正常組網(wǎng)。在瀏覽器中輸入電能網(wǎng)關(guān)IP地址后,首先進(jìn)入登陸界面,輸入用戶名和密碼后進(jìn)入家庭能量管理系統(tǒng)主頁面,如圖7所示。從頁面的效果可以看出,本設(shè)計(jì)實(shí)現(xiàn)了家庭能量管理系統(tǒng)的基本功能,主頁面正確顯示了相應(yīng)的信息,完成了預(yù)期的目標(biāo)。
結(jié)語
本文采用ATmega128處理器和IT700PIM電力線載波通信芯片以及ENC28J60網(wǎng)卡芯片,實(shí)現(xiàn)了家庭網(wǎng)關(guān)的沒計(jì)。系統(tǒng)設(shè)計(jì)方案具有結(jié)構(gòu)簡單、成本低、工作方式靈活可靠、通信距離較遠(yuǎn)、抗干擾能力強(qiáng)等特點(diǎn)。
實(shí)驗(yàn)證明:該網(wǎng)關(guān)可以通過電力線載波通信組成用戶電能網(wǎng)絡(luò),從而控制優(yōu)化各個(gè)房問家用電器的運(yùn)行,最終達(dá)到節(jié)約電能的目的,可以廣泛地應(yīng)用到智能家庭和智能樓宇系統(tǒng)中。
評(píng)論