CC2531的無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)軟件設(shè)計(jì)
數(shù)據(jù)處理模塊工作流程如圖6所示。數(shù)據(jù)處理模塊對(duì)接收到的命令進(jìn)行解析后,會(huì)對(duì)所有要執(zhí)行的操作進(jìn)行判斷。對(duì)于本節(jié)點(diǎn)要完成的操作,就會(huì)觸發(fā)相應(yīng)的事件,實(shí)現(xiàn)相應(yīng)的功能;對(duì)于其他未完成的操作命令,會(huì)通過(guò)數(shù)據(jù)傳輸模塊轉(zhuǎn)發(fā)給其他節(jié)點(diǎn)。在處理完本條命令之后,會(huì)繼續(xù)等待或接收下一條命令。
3.3.3 數(shù)據(jù)傳輸模塊
數(shù)據(jù)傳輸模塊負(fù)責(zé)與其他傳感器節(jié)點(diǎn)進(jìn)行無(wú)線通信,傳輸控制消息和收發(fā)采集數(shù)據(jù),通過(guò)軟件來(lái)控制無(wú)線通信模塊的工作模式。若為數(shù)據(jù)發(fā)送模式,先按照通信協(xié)議中規(guī)定的數(shù)據(jù)格式對(duì)數(shù)據(jù)進(jìn)行打包,然后再將數(shù)據(jù)包發(fā)送出去;若為數(shù)據(jù)接收模式,則按照數(shù)據(jù)格式對(duì)接收到的數(shù)據(jù)包進(jìn)行解析,再進(jìn)行下一步處理。數(shù)據(jù)傳輸模塊工作流程如圖7所示。
3.3.4 電源管理模塊
電源管理模塊主要功能是為傳感器節(jié)點(diǎn)提供運(yùn)行所需的能量,并進(jìn)行電量檢測(cè)。無(wú)線傳感器網(wǎng)絡(luò)需要在無(wú)人值守情況下長(zhǎng)時(shí)間地工作在惡劣環(huán)境條件下,因此更換電池是一件很麻煩的事情。為保證鉛酸電池能夠?yàn)楣?jié)點(diǎn)長(zhǎng)期供電,節(jié)點(diǎn)硬件電路設(shè)計(jì)了一個(gè)充電控制電路對(duì)其進(jìn)行充電管理。
CC2531專(zhuān)門(mén)提供一個(gè)I/O口對(duì)供電電壓進(jìn)行A/D采樣,當(dāng)供電的電源電壓不足(即低于設(shè)定的某一個(gè)值)時(shí),通過(guò)軟件控制進(jìn)行切換,先讓另一組電源對(duì)節(jié)點(diǎn)進(jìn)行供電,再打開(kāi)太陽(yáng)能充電電路對(duì)本組電源充電。節(jié)點(diǎn)在通信和采集數(shù)據(jù)時(shí)功耗很大,因此在每一次的通信和采集數(shù)
據(jù)完成之后都會(huì)檢測(cè)當(dāng)前供電電壓值和當(dāng)前的充電電壓值,根據(jù)兩個(gè)電壓值決定是否進(jìn)行電源切換、對(duì)電源進(jìn)行充電,以及充電是否完成。
結(jié)語(yǔ)
基于CC2531的無(wú)線傳感器網(wǎng)絡(luò)系統(tǒng)的軟件設(shè)計(jì)比較復(fù)雜,本文僅就傳感器節(jié)點(diǎn)的各功能模塊的軟件設(shè)計(jì)作了介紹。實(shí)驗(yàn)結(jié)果表明:節(jié)點(diǎn)工作狀態(tài)穩(wěn)定,故障率低,可以按照用戶(hù)設(shè)置準(zhǔn)確地對(duì)環(huán)境信息進(jìn)行采集。整個(gè)系統(tǒng)具備數(shù)據(jù)可靠、功耗低、可遠(yuǎn)程控制等顯著優(yōu)點(diǎn),具有良好的應(yīng)用前景。
本文引用地址:http://www.ex-cimer.com/article/162505.htm
評(píng)論