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