摘要:針對智能小區家庭中智能家居終端的特點和功能進行了闡述,研究并提出了一款基于ARM芯片并以Linux為操作系統智能家居終端的設計方案和軟硬件模型,理論上實現了智能家居終端的基本功能,為今后開發此類產品提供了一個思路方法。
所謂
智能電網,就是指通過新技術能形成業務流、信息流、能量流之間雙向互動的未來電網,也叫“聰明電網”。與傳統電網比,智能電網孕育著更大的市場空間。智能電網是技術密集、資金密集集合體,將會帶動新能源、信息、傳感器等傳統產業的創新和發展,具有很強的技術輻射性和經濟帶動性。而智能家居系統就是其中顯著的一個方面,智能家居系統的核心設備是智能家居終端,通過它實現系統信息的采集、信息輸出、集中控制、遠程控制、聯動控制等功能。
1、智能家居平臺系統的技術特點
智能家庭網絡隨著集成技術、通信技術、互操作能力和布線標準的實現而不斷改進,它涉及到對家庭網絡內所有的智能和非智能電器、設備和系統的操作、管理以及集成技術的應用。
(1)家居智能平臺系統的組成。
通過智能家庭網關、智能家居終端、具有采集電量和功率功能的插座及其系統軟件建立家居智能平臺系統。智能家庭網關是智能家庭局域網的核心部分,主要完成家庭內部網絡各種不同通信協議之間的轉換和發送。
用計算機技術、微電子技術、通信技術,智能家居終端將家庭智能化的幾乎所有功能集成起來,使智能家居建立在一個統一的平臺上。首先,實現家庭內部網絡的數據交換,其次還要保證能夠識別通過網絡傳輸的指令是否合法,因此智能家居終端既是家庭信息的交通樞紐,又是信息化家庭的保護神。
(2)通過通信模塊和通信協議實現與家電的互聯。
為實現家電的控制和相關信息的采集,系統平臺通過通信模塊并按照特定的通訊協議借助串口發送和接收碼流,從而實現家電的控制和信息采集。
(3)硬件中嵌入式系統的應用。
隨著功能的不斷增加、性能的不斷提升,對處理能力和速度提出了更高的要求,所以具有高性能的嵌入式芯片系統將應用到智能家居終端中去。
2、智能家居平臺系統的結構
智能家居平臺系統的物理框圖如圖1所示。
3、智能家居終端的功能
智能家居終端的功能包括如下幾個方面:
(1)家電控制。家電控制是智能家居終端的主要功能,代表著家庭智能化的發展方向,通過無線通信方式對家庭的用電設備進行控制。
(2)用電信息采集和分析。采集家電的用電量、功率、電壓和電流等一些用電數據,并以表格或者圖表的形式展示出來,為用戶分析家庭的用電情況,從而指導用戶進行合理用電。
(3)家庭安防。安全是居民對智能家居的首要要求,所以家庭安防成為智能家居的重要組成部分。包括家庭安防報警、門窗磁報警、燃氣泄露報警、火災煙霧報警、緊急求助報警等。當智能家居終端處于布防狀態時,一但紅外探頭探測到家中有人走動,就會自動報警,同時將報警信息報到物業管理中心,還可以將報警信息發到主人的手機或其他移動終端上。
(4)視頻通話。智能家居終端上集成了可視對講功能,可實現終端之間的視頻通話功能。
(5)便民信息服務。物業管理中心與智能家居終端聯網,對住戶發布一些小區信息和小區周邊的一些便民服務信息,從而為住戶提供生活方便。
(6)增值服務。通過智能家居終端可以實現網上購物,視頻點播等增值服務。
4、智能家居終端的硬件設計
智能家居終端的微處理器采用S3C2440A,是三星公司推出的16/32位RISC微處理器,它為手持設備和一般類型應用提供了低價格、低功耗、高性能小型微控制器的解決方案。S3C2440A采用了ARM920t的內核,0.13μm的CMOS標準宏單元和存儲器單元。它采用AMBA的總線架構。ARM920t實現了MMU,AMBABUS和Harvard高速緩沖體系結構。這一結構具有獨立的16kB指令Cache和16kB數據Cache。
作為智能家居的控制中心,智能家居終端除了具有網絡RJ-45接口、PSTN接口、RS-485接口、無線傳輸模塊接口外,還應該提供音頻視頻接口、報警傳感器接口、HUB接口、RS-232接口等。這些接口可以實現音視頻的編解碼轉換,指令的傳輸接收以及與PC機的結合等功能。
智能家居終端的硬件實現結構如圖2所示。
其中控制部分,當用戶在遠程話機鍵盤上按下控制按鈕后,這些信息采用雙音頻方式通過線發出,MT8870是一款雙音多頻解碼芯片,能夠實現雙音多頻信號(DTMF)的發送和接收。
以太網控制芯片采用CS8900A,它是CirrusLogic公司生產的低功耗、性能*的16位以太網控制器。該芯片的突出特點是使用靈活,其物理層接口、數據傳輸模式和工作模式等都能根據需要而動態調整,通過內部寄存器的設置來適應不同的應用環境。
此外,硬件部分還對SRAM進行了擴展以滿足更大的需求。另外由于智能家居終端上的一些重要參數,需要在系統掉電的情況下保留,所以在終端上還進行了EEPROM擴展。
5、智能家居終端的軟件設計
5.1程序設計
在硬件結構基礎上,軟件系統采用了Linux嵌入式操作系統,內核版本為2.6.28。鑒于所選ARM芯片的性能,從總體需求出發,軟件部分采用多進程+進程中多線程的編程方案。程序總體分為兩個進程:主進程、Web-Service進程。主進程包括3個線程:主線程、輔線程和次線程。
其中,Web-Service進程為發送命令碼流。此處需要說明的是家庭網關也采用Web-Service的方法,智能家居終端作為客戶端,而家庭網關作為服務器端。
主控制進程實現了大部分功能,是控制中心的主體。由于實時性、信息回復的不確定性,它開機啟動并一直處于運行狀態。主線程在程序啟動時首*行初始化,包括硬件各部分的驅動初始化,各個功能模塊界面及其基本功能的初始化,還有數據存儲部分數據庫的初始化。初始化完畢后將進入一個while(1)循環,不停地重復遍歷命令結構體鏈表和返回碼流結構體鏈表,并進行相應處理。輔線程完成命令碼流的轉換和處理。次線程監聽返回到終端的命令碼流,并進行相應的轉換和處理。
軟件部分的總體框圖如圖3所示。
5.2進程間通信
程序中設計了兩個進程,它們之間要進行通信。兩個并行進程可以通過互相發送消息進行合作,消息是通過消息緩沖在進程之間相互傳遞。進程間通信方式采用的是命名管道(FIFO),FIFO是一種*先出的隊列。它類似于一個管道,只允許數據的單向流動。每個FIFO都有一個名字,允許不相關的進程訪問同一個FIFO。本程序在/tmp文件系統中定義命名管道,這樣當系統重新啟動或更新時,管道將被清除,不會占用過多存儲空間。
此外,為避免兩個進程間同時要求訪問同一共享資源而引起訪問和操作的混亂,在進程對共享資源進行訪問前必須對其進行鎖定,該進程訪問完后再釋放。還有在主進程的3個線程內,為保證兩個或多個關鍵代碼段不被并發調用,線程內還使用了信號量,在進入一個關鍵代碼段之前,線程必須獲取一個信號量,一旦該關鍵代碼段完成,那么該線程必須釋放信號量,其他想進入該關鍵代碼段的線程必須等待,直到*個線程釋放信號量。
6、結束語
智能家居終端及其配套設備將會得到不斷的發展和完善,為人們提供更為安全、舒適、便利的生活環境。系統的使用也會更加方便、價格低廉、性能可靠。本文給出了基于ARM芯片的智能家居終端的設計方案,設計了一種可行的硬件和軟件模型,在理論上解決了智能家居終端的一些設計問題。