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