CC2531的無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)軟件設(shè)計(jì)
3 節(jié)點(diǎn)軟件設(shè)計(jì)
3.1 ZigBee技術(shù)簡介
ZigBee技術(shù)是一種近距離、低復(fù)雜度、低功耗、低傳輸速率、低成本的雙向無線通信技術(shù),主要適合于自動(dòng)控制和遠(yuǎn)程控制等領(lǐng)域,可以嵌入到各種設(shè)備中,相對(duì)于其他的無線通信標(biāo)準(zhǔn)更簡單緊湊。此外,ZigBee具有省電、可靠、延時(shí)短、網(wǎng)絡(luò)容量大、安全等優(yōu)點(diǎn)。
3.2 節(jié)點(diǎn)軟件主流程
本軟件設(shè)計(jì)基于TI公司的Z-Stack 2007協(xié)議棧。Z-Stack 2007是TI公司專門為CC2531芯片設(shè)計(jì)的ZigBee協(xié)議棧。它是由一個(gè)簡單的單線程操作系統(tǒng)管理,該系統(tǒng)基于任務(wù)調(diào)度的機(jī)制。各個(gè)任務(wù)的事件處理函數(shù)按照任務(wù)的優(yōu)先級(jí)被放入函數(shù)指針數(shù)組tasksArr[idx]中,事件以16位的變量形式存放在數(shù)組tasksEvents[idx]中,因此每個(gè)任務(wù)最多可定義16個(gè)事件。
操作系統(tǒng)運(yùn)行流程如圖3所示。主函數(shù)在完成節(jié)點(diǎn)相關(guān)的初始化之后會(huì)進(jìn)入操作系統(tǒng),操作系統(tǒng)是一個(gè)無限循環(huán),一直在檢測(cè)各個(gè)任務(wù)中的事件 tasksEvents[idx],當(dāng)它不為零時(shí)就會(huì)調(diào)用相應(yīng)的事件處理函數(shù)tasksArr[idx]。處理完一個(gè)事件會(huì)將代表此事件的位清零,同時(shí)返回未處理的事件,直到這個(gè)任務(wù)中所有的事件處理完畢(即所有的事件位都被清零),操作系統(tǒng)就會(huì)跳向下一個(gè)任務(wù)進(jìn)行事件處理。
3.3 節(jié)點(diǎn)軟件模塊化設(shè)計(jì)
節(jié)點(diǎn)軟件采用的是功能模塊化設(shè)計(jì),不同功能用不用模塊表示,不同模塊間用接口連接,通過接口來調(diào)用其他模塊的功能。如圖4所示,傳感器節(jié)點(diǎn)主要由數(shù)據(jù)采集模塊、數(shù)據(jù)處理模塊、數(shù)據(jù)傳輸模塊和電源管理模塊組成。
3.3.1 數(shù)據(jù)采集模塊
數(shù)據(jù)采集模塊主要實(shí)現(xiàn)對(duì)監(jiān)測(cè)區(qū)域內(nèi)各種信息的采集和數(shù)據(jù)的轉(zhuǎn)換。
實(shí)驗(yàn)證明,節(jié)點(diǎn)在進(jìn)行數(shù)據(jù)和命令收發(fā)的通信過程中功耗很大。為了降低功耗,在軟件設(shè)計(jì)上節(jié)點(diǎn)在聯(lián)網(wǎng)狀態(tài)下只執(zhí)行通信任務(wù),在休眠過程中只執(zhí)行采集任務(wù)。數(shù)據(jù)采集模塊工作流程如圖5所示。節(jié)點(diǎn)接收到休眠設(shè)置命令,對(duì)命令進(jìn)行解析并從命令中提取傳感器標(biāo)志位,在整個(gè)網(wǎng)絡(luò)進(jìn)入休眠后,根據(jù)傳感器標(biāo)志位來打開需要的傳感器。被打開的傳感器對(duì)監(jiān)測(cè)區(qū)域內(nèi)的各種信息進(jìn)行采集,然后將采集到的數(shù)據(jù)送到信號(hào)調(diào)理電路轉(zhuǎn)換成電壓、電流等信號(hào)。經(jīng)過調(diào)理后的信號(hào)直接傳人 CC2531已配置好的A/D轉(zhuǎn)換器接口進(jìn)行A/D采樣。A/D轉(zhuǎn)換器可通過軟件編程改變采樣精度,其精度為7~12位。
3.3.2 數(shù)據(jù)處理模塊
數(shù)據(jù)處理模塊是無線傳感器節(jié)點(diǎn)的核心,負(fù)責(zé)控制整個(gè)傳感器節(jié)點(diǎn)的操作,存儲(chǔ)和處理本身采集的數(shù)據(jù)以及其他節(jié)點(diǎn)發(fā)來的數(shù)據(jù)。為便于管理和調(diào)度,節(jié)點(diǎn)所要進(jìn)行的操作都是被定義為事件進(jìn)行處理的,每個(gè)事件完成相應(yīng)操作。將事件按一定關(guān)系串接就能實(shí)現(xiàn)節(jié)點(diǎn)工作時(shí)要完成的系統(tǒng)功能。
評(píng)論