摘 要: 介紹智能家居網(wǎng)絡(luò)各種傳輸介質(zhì)的優(yōu)缺點(diǎn),設(shè)計(jì)一種基于電力線傳輸?shù)暮?jiǎn)化分時(shí)發(fā)送協(xié)議。在此協(xié)議基礎(chǔ)上,提出一種基于ARM平臺(tái)的智能家居網(wǎng)關(guān)設(shè)計(jì)方案。根據(jù)系統(tǒng)設(shè)計(jì)的要求,進(jìn)行無(wú)線WiFi、電力傳輸、以太網(wǎng)等模塊的電路設(shè)計(jì)和相應(yīng)的網(wǎng)關(guān)軟件流程設(shè)計(jì)。最后,通過(guò)系統(tǒng)調(diào)試證明該系統(tǒng)電路簡(jiǎn)單、設(shè)計(jì)合理且實(shí)用性強(qiáng)。
關(guān)鍵詞: 分時(shí)發(fā)送; S3C6410; PL3106; 軟件流程
中圖分類號(hào): TN926?34; TP277 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 1004?373X(2016)20?0121?04
Abstract: The advantages and disadvantages of various transmission mediums for smart home network are introduced in this paper. A time sharing delivery protocol based on power line transmission is designed. Based on the protocol, a design scheme of the smart home gateway based on ARM platform is proposed. According to the system design requirements, the circuit design of wireless WiFi, power transmission, Ethernet modules and the process design of the corresponding gateway software are conducted. The system debugging result shows that the circuit is simple, and its design is rational and practical.
Keywords: time delivery; S3C6410; PL3106; software process
智能家居網(wǎng)絡(luò)是指在家庭內(nèi)部通過(guò)某種有線或無(wú)線的傳輸介質(zhì),采用一定的通信協(xié)議來(lái)實(shí)現(xiàn)家電設(shè)備之間互聯(lián)互通的一種信息傳輸網(wǎng)絡(luò)[1?2]。實(shí)現(xiàn)智能家居網(wǎng)絡(luò)主要有3類主流技術(shù):總線技術(shù)、短距離無(wú)線通信技術(shù)和電力線載波通信技術(shù)。總線技術(shù)采用雙絞線總線結(jié)構(gòu),需增加額外布線;短距離無(wú)線通信技術(shù)穿墻能力差,需要路由器且存在死角;電力線載波技術(shù)避免了上述2種技術(shù)的缺陷,是未來(lái)智能家居網(wǎng)絡(luò)的一種不可或缺的技術(shù)實(shí)現(xiàn)方案。
1 系統(tǒng)總體設(shè)計(jì)及主要芯片選型
本設(shè)計(jì)著重于電力線傳輸協(xié)議和網(wǎng)關(guān)設(shè)計(jì)?;贏RM平臺(tái)實(shí)現(xiàn)協(xié)議轉(zhuǎn)換、路由選擇和遠(yuǎn)程控制等功能。
1.1 電力線傳輸協(xié)議設(shè)計(jì)
利用電力傳輸線來(lái)監(jiān)控智能家居設(shè)備,避免了CAN總線或者以太網(wǎng)所需的額外布線,也能解決無(wú)線傳輸穿墻時(shí)信號(hào)嚴(yán)重衰減的缺點(diǎn)。電力線傳輸?shù)男诺罈l件較差,所以需要專門(mén)的物理層規(guī)范設(shè)計(jì)。由于是小范圍聯(lián)網(wǎng),數(shù)據(jù)量小,實(shí)時(shí)性要求較低,無(wú)需復(fù)雜芯片,可采用簡(jiǎn)化的MAC層協(xié)議,使用分時(shí)傳輸?shù)陌l(fā)送方式[3?4]。
文中不采用CSMA/CD載波監(jiān)聽(tīng)多點(diǎn)介入/碰撞檢測(cè)協(xié)議,轉(zhuǎn)而設(shè)計(jì)一種簡(jiǎn)化的分時(shí)發(fā)送機(jī)制。在下列時(shí)間節(jié)點(diǎn),若網(wǎng)絡(luò)空閑,設(shè)備或網(wǎng)關(guān)便可主動(dòng)發(fā)送數(shù)據(jù):0 ms網(wǎng)關(guān)發(fā)送;100 ms設(shè)備1發(fā)送;200 ms設(shè)備2發(fā)送;300 ms設(shè)備3發(fā)送;以此類推。
在上述約定的分時(shí)發(fā)送時(shí)間,沒(méi)有任何從設(shè)備或網(wǎng)關(guān)正在進(jìn)行通信,此時(shí)可認(rèn)為網(wǎng)絡(luò)空閑;否則推遲發(fā)送等待下一次機(jī)會(huì)。網(wǎng)關(guān)控制器每隔一段時(shí)間發(fā)送校時(shí)信號(hào),重啟發(fā)送時(shí)序。以上協(xié)議可有效避免“碰撞”出現(xiàn),在實(shí)時(shí)性要求較低的情況下獲得較高的線路利用率。簡(jiǎn)化的分時(shí)發(fā)送機(jī)制傳輸協(xié)議分層結(jié)構(gòu)如圖1所示。
網(wǎng)關(guān)分時(shí)發(fā)送機(jī)制傳輸協(xié)議應(yīng)用層實(shí)現(xiàn)主要通過(guò)CPU實(shí)現(xiàn),MAC層和PHY物理鏈路層主要通過(guò)單片機(jī)PL3106實(shí)現(xiàn)。PL3106帶有PSK調(diào)制功能,中心頻率為120 kHz,最大波特率[5]為500 b/s。利用單片機(jī)編程,該芯片可完成全部MAC層、物理層和部分應(yīng)用層的功能。分時(shí)發(fā)送機(jī)制傳輸協(xié)議分層硬件設(shè)計(jì),如圖2所示。
1.2 網(wǎng)關(guān)設(shè)計(jì)
1.2.1 功能需求
具有無(wú)線路由器功能,可實(shí)現(xiàn)電力傳輸協(xié)議、IEEE 802.11協(xié)議、以太網(wǎng)協(xié)議之間的轉(zhuǎn)換。主芯片選擇S3C6410是因其強(qiáng)大的處理功能,符合路由器實(shí)時(shí)處理的要求,同時(shí)能提供多種服務(wù)功能[6]。
1.2.2 主動(dòng)和被動(dòng)工作模式
在主動(dòng)工作模式下,網(wǎng)關(guān)按照配置好的命令直接控制家電設(shè)備運(yùn)行。在被動(dòng)工作模式下,網(wǎng)關(guān)對(duì)電力線上傳來(lái)的數(shù)據(jù)作協(xié)議轉(zhuǎn)換處理,以UDP形式在WLAN和以太網(wǎng)上進(jìn)行廣播,使PC機(jī)能接收到設(shè)備信息。同時(shí)對(duì)PC機(jī)傳來(lái)的設(shè)備命令作協(xié)議轉(zhuǎn)換,發(fā)送到電力傳輸線上,使設(shè)備能接收到PC機(jī)的指令。無(wú)論哪種模式下,在家電設(shè)備看來(lái),控制者均是網(wǎng)關(guān)。網(wǎng)關(guān)屏蔽了外部環(huán)境的差異。被動(dòng)模式中的地址解析流程,如圖3所示。
從設(shè)備A到PC的工作原理為:
(1) 設(shè)備A發(fā)送MAC幀,源地址00,目的地址01;
(2) 網(wǎng)關(guān)收到該幀,拆出用戶數(shù)據(jù)DATA;
(3) 網(wǎng)關(guān)組裝UDP數(shù)據(jù)報(bào),目的端口10;
(4) 網(wǎng)關(guān)根據(jù)圖3中表1,組裝報(bào)文,源地址192.168.1.2,目的地址為廣播地址;
(5) 網(wǎng)關(guān)在以太網(wǎng)廣播該幀;
(6) PC端監(jiān)聽(tīng)UDP端口10,收到數(shù)據(jù)包;
(7) PC端根據(jù)圖3中表2得知這是設(shè)備A發(fā)出的數(shù)據(jù),據(jù)此做出反應(yīng)。
從PC到設(shè)備A的工作原理:
(1) PC端生成用戶數(shù)據(jù)DATA;
(2) PC端組裝UDP數(shù)據(jù)報(bào),目的端口10;
(3) PC端根據(jù)圖3中表2組裝IP報(bào)文,源地址192.168.2.2,目的地址192.168.1.2;
(4) PC端發(fā)送以太網(wǎng)幀到默認(rèn)網(wǎng)關(guān);
(5) 網(wǎng)關(guān)監(jiān)聽(tīng)UDP端口10,收到數(shù)據(jù)報(bào);
(6) 網(wǎng)關(guān)發(fā)現(xiàn)目的IP地址為192.168.1.2,在電力線上;
(7) 網(wǎng)關(guān)拆出用戶數(shù)據(jù),根據(jù)圖3中表1組裝MAC幀,目的地址00,源地址01。
1.3 系統(tǒng)結(jié)構(gòu)
三星S3C6410是一款16/32位RISC微處理器。基于ARM11內(nèi)核,可外接大容量RAM和ROM,擁有多個(gè)SDIO接口和UART接口?;谠撔酒木W(wǎng)關(guān)系統(tǒng)框圖,如圖4所示。
2 網(wǎng)關(guān)的軟硬件流程設(shè)計(jì)
2.1 網(wǎng)關(guān)硬件電路設(shè)計(jì)
硬件部分主要包含無(wú)線WiFi收發(fā)模塊、電力傳輸模塊和以太網(wǎng)電路模塊等,下面介紹這些硬件的電路設(shè)計(jì)及原理。無(wú)線WiFi芯片AW?GM320使用3.3 V供電,通過(guò)SDIO接口與CPU連接,AW?GM320外圍電路如圖5所示。
PL3106帶有PSK調(diào)制功能,中心頻率為120 kHz,最大波特率[7]為500 b/s。PL3106通過(guò)串口與處理器連接,利用單片機(jī)編程,該芯片可完成全部MAC層、物理層和部分應(yīng)用層的功能,但仍需外加載波發(fā)送/接收電路。
PL3106單片機(jī)電力傳輸芯片電路,如圖6所示。
網(wǎng)關(guān)發(fā)送數(shù)據(jù)時(shí),載波發(fā)射信號(hào)由PL3106芯片的PSK_OUT引腳輸出,波形視具體配置而定。載波發(fā)射信號(hào)經(jīng)過(guò)由三極管VT1~4組成的互補(bǔ)推挽放大電路后,具備較好的帶負(fù)載能力,電路中的二極管VD1,VD2,VS1,VS2起到了保護(hù)放大電路的作用。載波發(fā)射信號(hào)的功率大小與供電電源相關(guān),提升供電電源電壓便可增加發(fā)射功率,從而加大了通信距離。信號(hào)輸出耦合電容C1及電感L1是對(duì)輸出信號(hào)進(jìn)行低通濾波,減少諧波信號(hào)對(duì)電網(wǎng)的干擾,經(jīng)過(guò)濾波后的信號(hào)可由耦合線圈直接耦合到電力線上。
網(wǎng)關(guān)接收數(shù)據(jù)時(shí),載波接收電路對(duì)耦合的載波信號(hào)進(jìn)行帶通濾波處理。根據(jù)公式:
利用并聯(lián)諧振回路原理可對(duì)輸入信號(hào)進(jìn)行選頻。當(dāng)諧振中心頻率[fc]為120 kHz,假如選取電容C12=0.15 nF時(shí),則電感L2=1.17 mH。這里選擇為標(biāo)稱電感值1 mH。為了保護(hù)后級(jí)電路,二極管VD3,VD4將選頻后的輸入信號(hào)電壓嵌位到±0.7 V。輸出信號(hào)通過(guò)C2耦合到SIGIN管腳并由單片機(jī)PL3106進(jìn)行載波檢測(cè)并譯碼。
TCP/IP協(xié)議和以太網(wǎng)協(xié)議可利用軟件實(shí)現(xiàn),CPU只需通過(guò)串口連接HS9016隔離變壓器實(shí)現(xiàn)電壓轉(zhuǎn)換。HS9016隔離變壓器硬件連接電路,如圖7所示。
2.2 網(wǎng)關(guān)軟件流程設(shè)計(jì)
整個(gè)系統(tǒng)以嵌入式Linux為基礎(chǔ),由Linux提供進(jìn)程管理、設(shè)備管理、文件系統(tǒng)管理等基礎(chǔ)功能。在Linux的基礎(chǔ)上,添加各類應(yīng)用層協(xié)議程序模塊,包括DHCP(Dynamic Host Configuration Protocol,動(dòng)態(tài)主機(jī)配置協(xié)議),Web Server網(wǎng)頁(yè)服務(wù)器,RIP路由信息協(xié)議,NAT(Network Address Translation,網(wǎng)絡(luò)地址轉(zhuǎn)換),F(xiàn)irewall防火墻,SNMP簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議等,各層軟件程序結(jié)構(gòu)如圖8所示[8?9]。
在IP層,所有發(fā)往電力傳輸線網(wǎng)絡(luò)的數(shù)據(jù)包被過(guò)濾,由服務(wù)器進(jìn)程解包、識(shí)別和轉(zhuǎn)換之后直接發(fā)往PL3106芯片。同理,PL3106芯片接收的數(shù)據(jù)包不能直接在IP網(wǎng)絡(luò)上傳輸,必須交由服務(wù)器進(jìn)程添加必要信息并進(jìn)行地址轉(zhuǎn)換之后才能發(fā)往以太網(wǎng)或無(wú)線網(wǎng),供PC機(jī)處理。
按照先前的配置直接控制家電設(shè)備的運(yùn)行,通過(guò)Web Server 接收遠(yuǎn)程配置,只是服務(wù)器進(jìn)程變?yōu)楸O(jiān)控進(jìn)程而已。
3 系統(tǒng)調(diào)試
本系統(tǒng)調(diào)試主要分為單片機(jī)PL3106載波收發(fā)和ARM?S3C6410控制AW?GM320無(wú)線收發(fā)兩部分。
(1) 為了提高ARM的工作效率,單片機(jī)接收到UART口的控制命令后,載波發(fā)射和接收采用外部中斷的方式來(lái)完成對(duì)數(shù)據(jù)的處理。下面給出調(diào)試核心的中斷程序Timeint0和載波發(fā)送程序PL_pro相關(guān)代碼。
其次,加載和編譯源代碼。在 “eclair\vendor\sec_proprietary\”目錄下建一個(gè)目錄,放上驅(qū)動(dòng)和firmware文件并從Android.mk中將文件拷貝到設(shè)備對(duì)應(yīng)目錄即可。由于驅(qū)動(dòng)對(duì)應(yīng)的上層接口是通過(guò)wpa_supplicant中間層實(shí)現(xiàn)的,因此也要保證wpa層能正確的識(shí)別設(shè)備。
4 結(jié) 語(yǔ)
隨著對(duì)家居設(shè)備的人機(jī)友好性提出了更高的要求,需要建立完善的智能家居系統(tǒng)。因此,對(duì)智能家居系統(tǒng)網(wǎng)關(guān)的研究已成為熱點(diǎn)。本文提出簡(jiǎn)化的分時(shí)發(fā)送傳輸機(jī)制,符合當(dāng)前應(yīng)用的發(fā)展方向,設(shè)計(jì)實(shí)現(xiàn)的基于ARM平臺(tái)的智能家居網(wǎng)關(guān)系統(tǒng),為同類設(shè)計(jì)提供了參考。
參考文獻(xiàn)
[1] 呂顯朋,劉彥隆,王相國(guó).基于物聯(lián)網(wǎng)的智能家居系統(tǒng)設(shè)計(jì)[J].電視技術(shù),2013,37(24):43?48.
[2] 楊燕.TD?LTE在智能家居系統(tǒng)的應(yīng)用[J].現(xiàn)代電子技術(shù),2015,38(7):46?49.
[3] 蔣坤,李宏.智能家居中X?10協(xié)議電力線載波模塊的設(shè)計(jì)[J].寧波大學(xué)學(xué)報(bào)(理工版),2015,28(3):38?41.
[4] 李根旺,趙富海,高寧波.在智能家居控制系統(tǒng)中X?10協(xié)議的實(shí)現(xiàn)[J].測(cè)控技術(shù),2006,25(7):26?29.
[5] 北京福星曉程電子科技公司.PL3106中文數(shù)據(jù)手冊(cè)[M].北京:北京福星曉程電子科技公司,2009.
[6] 三星公司.S3C6410簡(jiǎn)要中文數(shù)據(jù)手冊(cè)[M].蘇州:三星公司,2011.
[7] 滿莎,楊恢先,彭友,等.基于ARM9的嵌入式無(wú)線智能家居網(wǎng)關(guān)設(shè)計(jì)[J].計(jì)算機(jī)應(yīng)用,2010,30(9):2541?2544.
[8] 曹夢(mèng)龍,鄒云東.基于Internet和GSM的智能家居網(wǎng)關(guān)設(shè)計(jì)與實(shí)現(xiàn)[J].電視技術(shù),2014,38(3):73?75.
[9] 杜春雷.ARM體系結(jié)構(gòu)與編程[M].北京:清華大學(xué)出版社,2003.