車載無線傳感器網(wǎng)絡監(jiān)測系統(tǒng)設計方案2
3.1 軟件整體設計
軟件設計是本設計的核心,關鍵在于軟件的總體架構(gòu)和數(shù)據(jù)結(jié)構(gòu)的設計。著重要考慮的因素一個是效率,另一個是設計的清晰性。
車載系統(tǒng)軟件由網(wǎng)關節(jié)點與傳感器節(jié)點兩大部分組成,這兩部分都需要完成SMAC協(xié)議的移植,并根據(jù)不同需要為上層通信應用提供API接口函數(shù)。因為SMAC協(xié)議棧編程模型采用層次設計,只有底層的PHY和MAC程序?qū)优c硬件相關,而網(wǎng)絡層和應用層程序則不受硬件影響。SMAC在不同硬件平臺的移植只需修改PHY和MAC層,其上各層可以屏蔽硬件差異直接運行。
如圖3所示,本設計把軟件分為系統(tǒng)平臺層、協(xié)議層和應用層3層。同時,定義了3個API接口:系統(tǒng)層接口、協(xié)議層接口和應用層接口。系統(tǒng)層接口定義了硬件的寄存器映射,這樣C語言就能直接訪問硬件寄存器來控制硬件。系統(tǒng)平臺層建立在μC/OS-II實時操作系統(tǒng)上,為協(xié)議層提供系統(tǒng)服務。硬件驅(qū)動模塊提供硬件驅(qū)動程序,所有對硬件的控制都通過該模塊提供的服務。系統(tǒng)平臺層通過協(xié)議層接口為協(xié)議層提供服務。協(xié)議層則實現(xiàn)了基于IEEE 802.15.4的物理層和鏈路層以及基于ZigBee的網(wǎng)絡層協(xié)議。應用層通過應用層接口來調(diào)用協(xié)議層提供的服務,實現(xiàn)網(wǎng)絡的管理和數(shù)據(jù)傳輸?shù)热蝿?。應用配置模塊既會調(diào)用協(xié)議層提供的網(wǎng)絡服務,也會直接對系統(tǒng)進行配置和查詢,這主要是通過AT指令來實現(xiàn)的,因此該模塊會調(diào)用應用層接口和協(xié)議層接口提供的服務。
3.2 傳感器節(jié)點軟件設計
基于系統(tǒng)長期使用的功能需求,傳感器節(jié)點中軟件設計的關鍵是既能實現(xiàn)所需的功能,又能最大限度地減少傳感器節(jié)點的能耗。
通過測試發(fā)現(xiàn),ZigBee模塊的能耗要遠遠大于中央處理器和傳感模塊的能耗。因此,傳感器節(jié)點應用軟件的設計既要盡量使各模塊處于休眠狀態(tài),又要盡量減少喚醒ZigBee模塊的次數(shù)。因此,在傳感器節(jié)點上電各功能模塊初始化完成、并加入了網(wǎng)絡后,即進入休眠狀態(tài),中央處理器周期地被定時喚醒向網(wǎng)關發(fā)送數(shù)據(jù),并接收網(wǎng)關的命令。傳感器節(jié)點的工作流程如圖4所示。
3.3 網(wǎng)關節(jié)點軟件設計
車載網(wǎng)關向下管理傳感器節(jié)點,向上完成和PC監(jiān)控中心的交互,需要進行復雜的任務管理和調(diào)度,因此,采用基于uC/OS內(nèi)核的嵌入式操作系統(tǒng)管理整個網(wǎng)關,為應用任務的高效運行提供良好的軟件平臺支撐。根據(jù)網(wǎng)關的功能需求,將μC/OS-II、SMAC協(xié)議有機的結(jié)合,構(gòu)成一個網(wǎng)絡化的操作環(huán)境,用戶可以方便地在其基礎上開發(fā)應用程序?;讦藽/OS-II擴展的網(wǎng)關軟件平臺結(jié)構(gòu)如圖5所示。基于μC/OS-II操作系統(tǒng),分別構(gòu)建系統(tǒng)任務SYS_task()、SMAC星型組網(wǎng)任務START_task()、網(wǎng)關和傳感器節(jié)點交互任務COMM_task()、PC臨控中心端口監(jiān)聽任務SER_task()等一系列應用任務,從而實現(xiàn)網(wǎng)關軟件的應用功能。
評論