基于STM32F的智能家居服務網(wǎng)關設計
(2)終端節(jié)點與路由節(jié)點
傳感器節(jié)點是組成傳感網(wǎng)的最基本單元,主要有射頻通信模塊和傳感器數(shù)據(jù)采集模塊組成。終端
節(jié)點與路由節(jié)點的硬件一樣,不同之處主要表現(xiàn)在軟件上。
終端節(jié)點硬件圖如圖3 所示。根據(jù)CC2430 的特點,它是一款集Zigbee 協(xié)議棧、RF 射頻模塊以
及增強型51 核于一身的SOPC,可以滿足對數(shù)字或模擬傳感器模塊收集的數(shù)據(jù)處理及在WSN 中的通傳輸任務。
圖3 終端節(jié)點硬件框
3 系統(tǒng)軟件設計
系統(tǒng)軟件分為運行于ARM 上的服務網(wǎng)關軟件和運行于CC2430 模塊上的WSN 網(wǎng)關軟件??紤]到服務網(wǎng)關軟件的總體設計的復雜程度以及層次性模塊化的設計理念,系統(tǒng)采用嵌入式操作系統(tǒng)uCOS-II 作為系統(tǒng)資源的管理,對系統(tǒng)功能任務化。服務網(wǎng)關軟件總體設計框圖如圖4 所示。
圖4 服務網(wǎng)關總體設計框
3.1 服務網(wǎng)關軟件層次結構
服務網(wǎng)關軟件層次結構分為:底層驅動層,系統(tǒng)層,應用層。
(1)底層驅動層
底層驅動層包括FWLib 和BSP。FWLib 是ST公司為了對其ARM 的支持而推出的驅動支持軟件,
提供系統(tǒng)初始化函數(shù),對中斷和操作系統(tǒng)的支持,存儲器分配以及所有片內外設的驅動,從而方便軟件的開發(fā)。此外,用戶還應開發(fā)針對應用的板級支持包(BSP),在本系統(tǒng)中BSP 的內容主要是應用開發(fā)板相關的硬件驅動。
(2)系統(tǒng)層
系統(tǒng)層包括了操作系統(tǒng)和中間件軟件LwIP,操作系統(tǒng)是對軟硬件資源的管理,其他各部分軟件都
要以操作系統(tǒng)為中心。操作系統(tǒng)移植的過程中,主要任務是改寫針對處理器和編譯器相關的部分,向上為應用任務提供支持,向下連接驅動程序來實現(xiàn)對硬件的操作[4]。LwIP 是一個針對嵌入式系統(tǒng)的TCP/IP 協(xié)議棧,本程序包含其基本功能:TCP、IP、UDP、ICMP。LwIP 的操作系統(tǒng)模擬層提供了向操作系統(tǒng)移植的方便,因其包括了任務間通信的機制:信號量、消息郵箱。
(3)應用層
本設計根據(jù)模塊化和功能獨立性原則,將所有的應用程序分成7 個應用任務,分別是引領全局的
根任務,與輸入輸出有關的按鍵任務和LCD 顯示任務,與嵌入式WEB 相關的TCP 發(fā)送任務和TCP 超時重傳任務,與WSN 協(xié)調器相關的串口數(shù)據(jù)發(fā)送任務和Zigbee 控制命令任務。
評論