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