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