新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于Zigbee的嵌入式自動(dòng)抄表系統(tǒng)的研究

基于Zigbee的嵌入式自動(dòng)抄表系統(tǒng)的研究

作者: 時(shí)間:2013-03-13 來(lái)源:網(wǎng)絡(luò) 收藏


  (2)鍵盤(pán)驅(qū)動(dòng)

  鍵盤(pán)驅(qū)動(dòng)程序initKey.。流程圖如圖6 所示。



  圖 6 鍵盤(pán)模塊初始化流程圖

  4.2 zigBee 協(xié)議棧的使用

  要建立一個(gè)單獨(dú)的任務(wù),必須先將 osalTaskAdd()函數(shù)所需要的參數(shù)條件定義好,這些 參數(shù)分別是初始化函數(shù)wxLesexamPle--Init,任務(wù)處理函數(shù)wXLesexamPle--event_foop 和任 務(wù)優(yōu)先級(jí)。任務(wù)初始化函數(shù)的功能是將該任務(wù)需要完成的功能的功能部件初始化,在每一個(gè) 任務(wù)的初始化函數(shù)中,必須完成的功能是要得到設(shè)置任務(wù)的任務(wù)ID。任務(wù)處理函數(shù)是對(duì)任 務(wù)發(fā)生后的事件進(jìn)行處理,一般包括網(wǎng)絡(luò)狀態(tài)的判斷(判斷設(shè)備的類(lèi)型,是協(xié)調(diào)器還是路由 器或者是終端設(shè)備)和接收到信息后的處理。任務(wù)優(yōu)先級(jí)[5]則是按照1 一256 排列,優(yōu)先級(jí) 高的排在前面。

  所以協(xié)議棧的使用流程是:


  4.3zigBee 用戶(hù)應(yīng)用程序

  根據(jù)節(jié)點(diǎn)功能的不同,需要設(shè)計(jì)相應(yīng)的用戶(hù)應(yīng)用程序。如果程序是在協(xié)調(diào)器上運(yùn)行,那 么LRW 隊(duì) NCOORD 俐ATOR 預(yù)定義必須在頭文件中定義;如果程序是在路由節(jié)點(diǎn)上運(yùn)行, 那么LRW 隊(duì) NROUTER 預(yù)定義必須在頭文件中定義;如果這兩個(gè)預(yù)定義都沒(méi)有定義則程序 在RFD 節(jié)點(diǎn)上運(yùn)行。下面本系統(tǒng)中使用的電表采集節(jié)點(diǎn)和協(xié)調(diào)器節(jié)點(diǎn)上的用戶(hù)應(yīng)用程序的 架構(gòu)。

  (1)協(xié)調(diào)器節(jié)點(diǎn)

  對(duì)協(xié)調(diào)器節(jié)點(diǎn)來(lái)說(shuō)[6],程序是在它接收到遠(yuǎn)程控制中心的指令后從組建網(wǎng)絡(luò)開(kāi)始的,協(xié) 調(diào)器節(jié)點(diǎn)再向其通信范圍內(nèi)的電表采集節(jié)點(diǎn)發(fā)送喚醒指令,同時(shí)等待新節(jié)點(diǎn)的入網(wǎng)請(qǐng)求。系 統(tǒng)啟動(dòng)后,首先初始化所有的硬件和軟件,并設(shè)定網(wǎng)絡(luò)參數(shù),然后初始化協(xié)議棧,網(wǎng)絡(luò)建立 成功后即進(jìn)入中斷的循環(huán)檢測(cè)和處理過(guò)程。UARTI 是由遠(yuǎn)程控制中心下達(dá)指令引起的中斷, 協(xié)調(diào)器節(jié)點(diǎn)通過(guò)uARTI 和GPRs 連接,遠(yuǎn)程控制中心通過(guò)GPRS 下達(dá)的指令的到來(lái)就會(huì)引 起UARTI 終端事件的發(fā)生。協(xié)調(diào)器節(jié)點(diǎn)對(duì)接到的指令進(jìn)行解析后執(zhí)行相應(yīng)的命令。定時(shí)器 中斷主要用來(lái)向遠(yuǎn)程控制中心發(fā)送ZigBee 網(wǎng)絡(luò)采集到的電表數(shù)據(jù),向電表采集節(jié)點(diǎn)發(fā)送采 集數(shù)據(jù)指令及更新路由表。

 ?。?)電表采集節(jié)點(diǎn)

  電表采集節(jié)點(diǎn)在程序啟動(dòng)后[7],也是會(huì)首先初始化所有硬件和軟件,初始化協(xié)議棧,并 試圖加入網(wǎng)絡(luò),如果加入網(wǎng)絡(luò)不成功,則進(jìn)入休眠狀態(tài),由一個(gè)定時(shí)器定時(shí)喚醒電表采集節(jié) 點(diǎn)重新加入網(wǎng)絡(luò)。如果加入網(wǎng)絡(luò)成功,則按照其收到的終端類(lèi)型進(jìn)行相應(yīng)的處理。網(wǎng)絡(luò)中電 表采集節(jié)點(diǎn)通過(guò)發(fā)送KVP 幀與協(xié)調(diào)器進(jìn)行數(shù)據(jù)交互,協(xié)調(diào)器主要發(fā)送采集電量指令和對(duì)時(shí) 指令到電表采集節(jié)點(diǎn),電表采集節(jié)點(diǎn)再根據(jù)數(shù)據(jù)的屬性進(jìn)行相應(yīng)處理。程序流程圖如8 所示。



評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉