嵌入式智能家居控制系統(tǒng)的研究與設(shè)計(jì)
系統(tǒng)結(jié)構(gòu)設(shè)計(jì)
本文將控制系統(tǒng)分為現(xiàn)場(chǎng)控制級(jí)(主機(jī))和多個(gè)控制對(duì)象級(jí)(分機(jī))?,F(xiàn)場(chǎng)控制級(jí)設(shè)備能夠收集到控制對(duì)象的各種信息,對(duì)這些數(shù)據(jù)進(jìn)行處理,并能夠在設(shè)定的條件下產(chǎn)生報(bào)警。通過(guò)該系統(tǒng),可以得到家居的各種運(yùn)行狀態(tài)(例如,房間溫度、濕度,煤氣泄漏報(bào)警等),并能根據(jù)現(xiàn)場(chǎng)情況做出相應(yīng)的調(diào)整控制(例如,照明及家電控制等)。其家居控制系統(tǒng)結(jié)構(gòu)如圖1所示。
圖1 家居控制系統(tǒng)結(jié)構(gòu)圖
本文僅研究設(shè)計(jì)智能家居的現(xiàn)場(chǎng)控制部分,圖1中的GSM和GPRS等遠(yuǎn)程通信模塊作為以后系統(tǒng)的擴(kuò)展升級(jí)。主機(jī)MCU選用ARM9芯片S3C2410,因其具有豐富的功能端口而適合設(shè)計(jì)要求和日后擴(kuò)展。S3C2410嵌入式微處理器集成了眾多的常用資源,例如,LCD控制器、NAND Flash控制器、SDRAM控制器、系統(tǒng)片選邏輯以及一些常用的通信接口等資源。
分機(jī)采用16位單片機(jī)MSP430F149,主要考慮此芯片的低功耗性能,具有超低功耗的MSP單片機(jī)可以完成分機(jī)家居現(xiàn)場(chǎng)的控制功能。報(bào)警信息的采集就是對(duì)各傳感器的信息采集;對(duì)各種家電的控制是通過(guò)控制連接在家電電源的繼電器來(lái)實(shí)現(xiàn);現(xiàn)場(chǎng)控制手動(dòng)命令是通過(guò)觸摸屏來(lái)實(shí)現(xiàn)的。各分機(jī)通過(guò)nRF905收發(fā)模塊與主機(jī)進(jìn)行無(wú)線通信。各分機(jī)通過(guò)連接不同的傳感器或控制器來(lái)實(shí)現(xiàn)不同的功能。
系統(tǒng)軟件開(kāi)發(fā)
在Windows CE.net產(chǎn)品的開(kāi)發(fā)中,有兩個(gè)重要的方面,一個(gè)是內(nèi)核定制,另一個(gè)是應(yīng)用程序的開(kāi)發(fā)。微軟在這兩個(gè)方面都提供了非常好的開(kāi)發(fā)工具,這就是內(nèi)核定制工具Platform Builder和應(yīng)用程序開(kāi)發(fā)工具Embedded Visual C++。
1 操作系統(tǒng)平臺(tái)定制
Windows CE平臺(tái)的定制過(guò)程
(1)選擇操作系統(tǒng)的基本配置,并且為特定的平臺(tái)選擇相應(yīng)的微處理器和板級(jí)支持包BSP(Board Support Packet)。本系統(tǒng)終端采用S3C2410處理器,因此我們導(dǎo)入了和硬件平臺(tái)相關(guān)的smdk2410.cec文件。
(2)利用標(biāo)準(zhǔn)開(kāi)發(fā)向?qū)?,根?jù)Windows CE的架構(gòu)創(chuàng)建一個(gè)定制平臺(tái),根據(jù)目標(biāo)硬件設(shè)備開(kāi)發(fā)Boot Loader、設(shè)備驅(qū)動(dòng)程序,適當(dāng)?shù)牟脺p、添加組件,如有需要還須對(duì)某些配置文件進(jìn)行修改,然后封裝所需要的各功能模塊,編譯生成OS鏡像文件。
(3)通過(guò)以太網(wǎng)、USB或串口將鏡像文件下載到目標(biāo)設(shè)備,可以使用Platform Builder提供的調(diào)試工具查看Windows CE.net的運(yùn)行情況并進(jìn)行調(diào)試,若需要,進(jìn)行重復(fù)配置、封裝、下載及調(diào)試,直到滿足要求,完成平臺(tái)的創(chuàng)建。
(4)最后,導(dǎo)出相應(yīng)的SDK(Software Development Kit)軟件開(kāi)發(fā)工具包,運(yùn)行后安裝到EVC中,使得可以進(jìn)行特定硬件平臺(tái)上的應(yīng)用程序開(kāi)發(fā)。SDK包含程序庫(kù)、頭文件、示例程序源代碼和庫(kù)函數(shù)使用文檔,同時(shí)還包括編程指導(dǎo)和API參與以及設(shè)備驅(qū)動(dòng)工具包(DDK)。
安裝BSP
把Windows CE.net移植到新硬件平臺(tái)由平臺(tái)構(gòu)造器(Platform Builder)完成。Platform Builder 4.2是一個(gè)定制基于Windows CE.net 4.2操作系統(tǒng)的嵌入式平臺(tái)的集成開(kāi)發(fā)環(huán)境(IDE)。我們?yōu)橐粋€(gè)硬件平臺(tái)構(gòu)建CE系統(tǒng),在PB里實(shí)際上就是創(chuàng)建平臺(tái),然后編譯平臺(tái),得到CE映像文件的過(guò)程。所以我們首先需要?jiǎng)?chuàng)建一個(gè)平臺(tái)。板級(jí)支持包(BSP)是連接一個(gè)硬件平臺(tái)和操作系統(tǒng)內(nèi)核功能的橋梁,所以,首先PB會(huì)要求選擇BSP。
Platform Builder本身就提供了多種目標(biāo)板的BSP,如果開(kāi)發(fā)板和Platform Builder提供得相同,那么只需重新編譯,生成相應(yīng)的系統(tǒng)鏡像下載到開(kāi)發(fā)板即可。但是實(shí)際情況更多的可能是處理器相同,但是板上的各種外圍硬件接口不盡相同,這時(shí)候可以通過(guò)修改Platform Builder中相同或相近處理器的BSP來(lái)完成一個(gè)新的BSP,這樣可以大大減少BSP的研發(fā)時(shí)間。這里我們利用廠商直接提供的BSP,節(jié)省了開(kāi)發(fā)時(shí)間,也可以提高成功率。
圖2 生成系統(tǒng)鏡像
評(píng)論