智能電網(wǎng)中智能家居終端的設(shè)計(jì)
智能家居終端的硬件實(shí)現(xiàn)結(jié)構(gòu)如圖2所示。本文引用地址:http://www.ex-cimer.com/article/201806.htm
其中電話控制部分,當(dāng)用戶在遠(yuǎn)程話機(jī)鍵盤上按下控制按鈕后,這些信息采用雙音頻方式通過電話線發(fā)出,MT8870是一款雙音多頻解碼芯片,能夠?qū)崿F(xiàn)雙音多頻信號(DTMF)的發(fā)送和接收。
以太網(wǎng)控制芯片采用CS8900A,它是Cirrus Logic公司生產(chǎn)的低功耗、性能優(yōu)越的16位以太網(wǎng)控制器。該芯片的突出特點(diǎn)是使用靈活,其物理層接口、數(shù)據(jù)傳輸模式和工作模式等都能根據(jù)需要而動(dòng)態(tài)調(diào)整,通過內(nèi)部寄存器的設(shè)置來適應(yīng)不同的應(yīng)用環(huán)境。
此外,硬件部分還對SRAM進(jìn)行了擴(kuò)展以滿足更大的需求。另外由于智能家居終端上的一些重要參數(shù),需要在系統(tǒng)掉電的情況下保留,所以在終端上還進(jìn)行了EEPROM擴(kuò)展。
5 智能家居終端的軟件設(shè)計(jì)
5.1 程序設(shè)計(jì)
在硬件結(jié)構(gòu)基礎(chǔ)上,軟件系統(tǒng)采用了Linux嵌入式操作系統(tǒng),內(nèi)核版本為2.6.28。鑒于所選ARM芯片的性能,從總體需求出發(fā),軟件部分采用多進(jìn)程+進(jìn)程中多線程的編程方案。程序總體分為兩個(gè)進(jìn)程:主進(jìn)程、Web-Service進(jìn)程。主進(jìn)程包括3個(gè)線程:主線程、輔線程和次線程。
其中,Web-Service進(jìn)程為發(fā)送命令碼流。此處需要說明的是家庭網(wǎng)關(guān)也采用Web-Service的方法,智能家居終端作為客戶端,而家庭網(wǎng)關(guān)作為服務(wù)器端。
主控制進(jìn)程實(shí)現(xiàn)了大部分功能,是控制中心的主體。由于實(shí)時(shí)性、信息回復(fù)的不確定性,它開機(jī)啟動(dòng)并一直處于運(yùn)行狀態(tài)。主線程在程序啟動(dòng)時(shí)首先進(jìn)行初始化,包括硬件各部分的驅(qū)動(dòng)初始化,各個(gè)功能模塊界面及其基本功能的初始化,還有數(shù)據(jù)存儲部分?jǐn)?shù)據(jù)庫的初始化。初始化完畢后將進(jìn)入一個(gè)while(1)循環(huán),不停地重復(fù)遍歷命令結(jié)構(gòu)體鏈表和返回碼流結(jié)構(gòu)體鏈表,并進(jìn)行相應(yīng)處理。輔線程完成命令碼流的轉(zhuǎn)換和處理。次線程監(jiān)聽返回到終端的命令碼流,并進(jìn)行相應(yīng)的轉(zhuǎn)換和處理。
軟件部分的總體框圖如圖3所示。
5.2 進(jìn)程間通信
程序中設(shè)計(jì)了兩個(gè)進(jìn)程,它們之間要進(jìn)行通信。兩個(gè)并行進(jìn)程可以通過互相發(fā)送消息進(jìn)行合作,消息是通過消息緩沖在進(jìn)程之間相互傳遞。進(jìn)程間通信方式采用的是命名管道(FIFO),F(xiàn)IFO是一種先進(jìn)先出的隊(duì)列。它類似于一個(gè)管道,只允許數(shù)據(jù)的單向流動(dòng)。每個(gè)FIFO都有一個(gè)名字,允許不相關(guān)的進(jìn)程訪問同一個(gè)FIFO。本程序在/tmp文件系統(tǒng)中定義命名管道,這樣當(dāng)系統(tǒng)重新啟動(dòng)或更新時(shí),管道將被清除,不會占用過多存儲空間。
此外,為避免兩個(gè)進(jìn)程間同時(shí)要求訪問同一共享資源而引起訪問和操作的混亂,在進(jìn)程對共享資源進(jìn)行訪問前必須對其進(jìn)行鎖定,該進(jìn)程訪問完后再釋放。還有在主進(jìn)程的3個(gè)線程內(nèi),為保證兩個(gè)或多個(gè)關(guān)鍵代碼段不被并發(fā)調(diào)用,線程內(nèi)還使用了信號量,在進(jìn)入一個(gè)關(guān)鍵代碼段之前,線程必須獲取一個(gè)信號量,一旦該關(guān)鍵代碼段完成,那么該線程必須釋放信號量,其他想進(jìn)入該關(guān)鍵代碼段的線程必須等待,直到第一個(gè)線程釋放信號量。
6 結(jié)束語
智能家居終端及其配套設(shè)備將會得到不斷的發(fā)展和完善,為人們提供更為安全、舒適、便利的生活環(huán)境。系統(tǒng)的使用也會更加方便、價(jià)格低廉、性能可靠。本文給出了基于ARM芯片的智能家居終端的設(shè)計(jì)方案,設(shè)計(jì)了一種可行的硬件和軟件模型,在理論上解決了智能家居終端的一些設(shè)計(jì)問題。
評論