智能家居系統(tǒng)如何設(shè)計?這個基于zigbee的方案很出眾
zigbee 無線通信與linux嵌入式操作系統(tǒng)是電子人都經(jīng)常接觸的,在這里我們設(shè)計了一種以ARM 芯片S3C2440 為硬件平臺,基于linux 嵌入式操作系統(tǒng)所實現(xiàn)的CMU 控制器。通過zigbee 無線通信協(xié)議將CMU 與各個家電無線節(jié)點和傳感器節(jié)點相連,并通過無線路由器連接以太網(wǎng)實現(xiàn)遠程控制的智能家居網(wǎng)絡(luò)系統(tǒng)。在硬件芯片選擇和電路設(shè)計方面優(yōu)化了系統(tǒng)的結(jié)構(gòu),大大降低了系統(tǒng)的成本,改善了系統(tǒng)的性能。
伴隨著數(shù)字化、網(wǎng)絡(luò)化的進程。智能化的浪潮席卷了世界的每個角落,成為勢不可擋的歷史趨勢,在這種形式下智能網(wǎng)絡(luò)家居技術(shù)應(yīng)運而生,它依靠3C技術(shù)(Computer TechnologyCommunication Technology Control Technology),并結(jié)合信息、家電的發(fā)展,為用戶提供了一種更加安全、舒適、方便、快捷的智能化的自由生活空間。但在國內(nèi)智能家居系統(tǒng)的研究沒有一個統(tǒng)一的標(biāo)準(zhǔn),各種研究方案都具有其優(yōu)缺點,所以研究一套完善的智能家居系統(tǒng)就具有了現(xiàn)實的意義。
本設(shè)計采用zigbee 無線通信標(biāo)準(zhǔn)將家庭中各個家電無線節(jié)點連接起來,舍去了實際線路連接時所產(chǎn)生的布線煩惱;另外zigbee 協(xié)議主要在低端8 位或16 位單片機上實現(xiàn),而單片機的數(shù)據(jù)傳輸能力有限。如果采用PC 機不僅功耗大而且價格昂貴,對于傳輸率不大的傳感器網(wǎng)絡(luò)來說十分浪費資源。所以本設(shè)計開發(fā)基于ARM系列嵌入式芯片為核心處理器的中央管理單元。降低了成本,減小了功耗,并通過反復(fù)測試取得了良好的效果。
1 系統(tǒng)的整體規(guī)劃
智能家居系統(tǒng)的設(shè)計主要由中央管理單元CMU(Central Mangement Unit)、傳感器節(jié)點、無線路由器和家電設(shè)備組成。其中每臺家電設(shè)備均添加有無線節(jié)點。系統(tǒng)整體結(jié)構(gòu)如下圖1 所示。
CMU 為整個系統(tǒng)的核心部分,擴展有射頻模塊,是實現(xiàn)智能家居內(nèi)、外網(wǎng)連接的樞紐。
CMU與每臺家電設(shè)備和傳感器節(jié)點通過zigbee無線通信協(xié)議組成了一個小型的家居“物聯(lián)網(wǎng)”。各設(shè)備節(jié)點與CMU 互相通信,實現(xiàn)智能聯(lián)動控制操作。如:家電智能控制方面,定時開關(guān)電器或者根據(jù)動態(tài)采集的室內(nèi)溫濕度數(shù)據(jù),智能控制空調(diào)工作狀態(tài);燈光智能控制方面,根據(jù)不同的室內(nèi)自然光強度,智能控制燈管的發(fā)光強度。
同時,CMU 與無線路由器相連,無線路由器則通過以太網(wǎng)連接到WEB 上,實現(xiàn)遠程控制。
2 zigbee 無線通信結(jié)構(gòu)
無線通信的方式有多樣,與藍牙、Wi-Fi、GSM 移動通信方式相比,zigbee 聯(lián)盟制定的zigbee 方式具有功耗低、數(shù)據(jù)傳輸可靠、兼容性好、實現(xiàn)成本低以及組網(wǎng)方便的優(yōu)點,非常適合低速率傳輸?shù)闹悄芗揖酉到y(tǒng)無線傳感器網(wǎng)絡(luò)。
zigbee是專門為低速率控制網(wǎng)絡(luò)指定的標(biāo)準(zhǔn)無線網(wǎng)絡(luò)協(xié)議。它在物理層、MAC(MediaAccess Control )層和數(shù)據(jù)鏈接層上采用了IEEE802.15.4 協(xié)議標(biāo)準(zhǔn),同時進行了完善和擴展。其網(wǎng)絡(luò)層、應(yīng)用匯聚層和高級應(yīng)用規(guī)范接口(API)都由zigbee 聯(lián)盟制定,整個協(xié)議的框架結(jié)構(gòu)如下圖2 所示。
3 硬件設(shè)計
3.1 CMU總體硬件結(jié)構(gòu)。
CMU 采用三星ARM920T 內(nèi)核處理器S3C2440A 芯片,工作主頻為400MHZ,外部擴展64MB SDRAM,2MBNorFlash 和64MB NandFlash,通過UART 口擴展ATMEL 公司的Atmega128L 8 位系列單片機來實時控制射頻芯片CC2420 來與外部網(wǎng)絡(luò)進行連接。處理器外接3 寸TFT 觸摸屏作為人機交互界面。在硬件PCB 設(shè)計上,系統(tǒng)采用核心板 + 底板的模式,核心板采用六層板工藝,主要分布系統(tǒng)的CPU、存儲器、內(nèi)核電源,底板主要分布各種接口,Atmegal 128L 單片機、CC2420 芯片。硬件結(jié)構(gòu)框圖如下圖3 所示:
3.2 處理器單元
目前 zigbee 協(xié)議主要在低端8 位或16 位單片機上實現(xiàn)。對于CMU 節(jié)點而言,其數(shù)據(jù)處理能力不強,且限于自身的硬件資源,很少能實現(xiàn)良好的人機交互界面。對功能要求較高的CMU,這種構(gòu)架很難滿足應(yīng)用的需求。而基于PC機的CMU節(jié)點,不但體積大、價格高而且功耗大,對于傳輸率不大的傳感器網(wǎng)絡(luò)來說十分浪費資源,所以本設(shè)計開發(fā)基于ARM系列嵌入式芯片為核心處理器的CMU。選用韓國三星公司推出的S3C2440A 芯片作為處理器單元。
S3C2440A 是32 位RISC 微處理器,其CPU 采用的是ARM920T 內(nèi)核,具有豐富的片內(nèi)外設(shè),低價格低功耗,高性能等優(yōu)點。具有16KB指令Cache,16KB數(shù)據(jù)Cache和存儲器管理單元MMU。處理器結(jié)構(gòu)圖如下圖4 所示:
該芯片可運行主流的Linux、Windows CE、Andorid 等嵌入式操作系統(tǒng)。同時處理器提供豐富的系統(tǒng)外設(shè)控制器。一般情況下無需額外擴展系統(tǒng)組件,從而大大減小了系統(tǒng)的復(fù)雜度和成本,是智能家居控制處理器的絕佳選擇。
3.3 存儲器擴展
3.3.1 SDRAM 擴展
本系統(tǒng)使用的嵌入式操作系統(tǒng)為Linux 操作系統(tǒng),在編譯、定制內(nèi)核時,內(nèi)核文件zImage.bin 文件大小為2.1MB,操作系統(tǒng)完全加載時文件系統(tǒng)root.bin 文件大小為34MB,加上上層應(yīng)用程序運行時會消耗一部分內(nèi)存,使用兩片32MB 的內(nèi)存為最佳選擇。
3.3.2 Flash 擴展
本系統(tǒng)擴展的Flash 有兩種,Nor Flash 為2M*16Bit,Nand Flash 為64*8Bit[4],Nor Flash寫入、擦除速度較慢,讀取速度較快,成本較高小容量存儲,用于存儲系統(tǒng)啟動Bootloader代碼,Nand Flash 特點正好與Nor Flash 相反,大容量存儲。用于存儲操作系統(tǒng)文件和應(yīng)用程序。
3.3.3 射頻單元
本設(shè)計射頻芯片選用挪威Chipco 公司的cc2420 芯片。該芯片基于Chipco 公司Smart RF03 技術(shù)。以0.18um CMOS 工藝制成。只需極少外部元器件,性能穩(wěn)定且功耗極低。cc2420的選擇性和敏感性指數(shù)超過了 IEEE 802.15.4 標(biāo)準(zhǔn)的需求,可確保短距離通信的有效性和可靠性,利用此芯片開發(fā)的無線通信設(shè)備支持?jǐn)?shù)據(jù)傳輸率高達250kbps,可以實現(xiàn)多點對多點快速組網(wǎng)。硬件應(yīng)用電路如下圖5 所示:
圖5 CC2420 硬件電路
4 軟件設(shè)計
通過天線接收設(shè)備無線節(jié)點傳輸過來的數(shù)據(jù)幀,經(jīng)過CC2420 自動校驗。若無誤則經(jīng)過解碼、譯碼,然后經(jīng)過SPI 接口送往ATmega128L,再經(jīng)過串口UART1 送往S3C2440,經(jīng)數(shù)據(jù)處理后顯示于相應(yīng)的LCD 觸摸屏上。
4.1 系統(tǒng)主程序設(shè)計
CMU以及節(jié)點的程序流程圖,分別見圖6 和7。在CMU中先初始化LCD 及射頻芯片,然后程序開始初始化協(xié)議棧并打開中斷。之后程序開始格式化一個網(wǎng)絡(luò)。最后處理函數(shù)apsFSM()(在APS 層上實現(xiàn)的FSM(有限狀態(tài)機))監(jiān)控中的zigbee 信號。如果現(xiàn)在有節(jié)點加入網(wǎng)絡(luò),則LCD 和串口輸出都會給節(jié)點分配網(wǎng)絡(luò)地址。同樣函數(shù)apsFSM()里接收節(jié)點發(fā)送過來的溫度傳感器采集到的數(shù)值及一些按鍵操作,并在LCD 上顯示處理,也同時從串口發(fā)送出來。
4.2 處理器軟件結(jié)構(gòu)
處理器采用嵌入式Linux 操作系統(tǒng),在原Bootloader、Kernel 上修改文件系統(tǒng),添加GUI應(yīng)用程序,并修改系統(tǒng)啟動腳本使應(yīng)用程序在系統(tǒng)啟動時自運行。軟件結(jié)構(gòu)如圖8 所示。
5 測試與分析
為了保證智能家居系統(tǒng)運行的穩(wěn)定性,我們將主控設(shè)備裝入模具中進行了一周高溫測試,系統(tǒng)一直保持了穩(wěn)定的工作狀態(tài),同時對CMU溫度進行了測量,環(huán)境溫度與CMU溫度的比較如下圖所示,理論情況下,CMU 工作的最大溫度為45°C,由下圖6.9 看出,CMU工作的溫度屬于正常范圍。
同時對智能家居系統(tǒng)的家居設(shè)備無線節(jié)點進行了性能測試。測試條件為:1、用障礙物將CMU 模塊與家居設(shè)備無線節(jié)點隔開;2、CMU 模塊的波特率為250kbps;3、每一幀數(shù)據(jù)為64 字節(jié);5、每次測試數(shù)據(jù)發(fā)送1000 幀,發(fā)送間隔為200ms 。實驗結(jié)果如表1 所示,由表可以看出,系統(tǒng)如果要正常工作,需保持在200m距離范圍內(nèi)。
6 結(jié)論
本文從智能家居系統(tǒng)設(shè)計的成本、功耗、性能等方面出發(fā),設(shè)計出一種可行的智能家居系統(tǒng)的構(gòu)建方案。以高性能、低功耗的S3C2440 芯片裝載linux 嵌入式系統(tǒng)作為中央管理單元的處理器,用zigbee 無線通信協(xié)議實現(xiàn)CMU、無線家居設(shè)備節(jié)點、無線傳感器節(jié)點的互聯(lián)和互動,使之成為一個小型的家居“物聯(lián)網(wǎng)”并且利用成熟的Internet網(wǎng)絡(luò)實現(xiàn)了遠程控制。并在硬件芯片選擇和電路設(shè)計方面優(yōu)化了系統(tǒng)的結(jié)構(gòu),使得系統(tǒng)性能得到了很大的改善,成本也降低了許多。