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