基于單片機(jī)的Zigbee傳感器節(jié)點(diǎn)硬件設(shè)計(jì)
2.1協(xié)調(diào)器的軟件設(shè)計(jì)
協(xié)調(diào)器的軟件流程圖如圖1所示。系統(tǒng)剛開始初始化,硬件協(xié)議初始化后開始建立網(wǎng)絡(luò),判斷節(jié)點(diǎn)是否接入網(wǎng)絡(luò),接入網(wǎng)絡(luò)成功后運(yùn)行協(xié)議任務(wù),接收節(jié)點(diǎn)數(shù)據(jù)并發(fā)送到PC上。
建立過程中若超過次數(shù)則接收失敗,繼續(xù)下一次接收。
圖1 協(xié)調(diào)器的軟件流程
2.2成員節(jié)點(diǎn)的軟件設(shè)計(jì)
成員節(jié)點(diǎn)主要是采集傳感器數(shù)據(jù)和接受來自協(xié)調(diào)器的控制數(shù)據(jù)。當(dāng)沒有數(shù)據(jù)收發(fā)時(shí)進(jìn)入休眠狀態(tài),節(jié)點(diǎn)功耗降到最低,成員節(jié)點(diǎn)的軟件設(shè)計(jì)流程圖如圖2所示。系統(tǒng)初始化后進(jìn)行硬件和協(xié)議初始化,加載成功后進(jìn)行協(xié)議任務(wù),判斷任務(wù)后測量傳感器數(shù)據(jù)并發(fā)到協(xié)調(diào)器,進(jìn)入休眠狀態(tài)后再執(zhí)行下一個(gè)任務(wù),若超過規(guī)定次數(shù),網(wǎng)絡(luò)建立失敗。
圖2 成員節(jié)點(diǎn)的軟件流程
2.3物理層和MAC層的設(shè)計(jì)
CC2420芯片提供了物理層的數(shù)據(jù)服務(wù)和管理服務(wù),MAC層點(diǎn)到點(diǎn)通信的服務(wù)接口通過程序控制CC2420寄存器完成傳感器數(shù)據(jù)的收發(fā)。IEEE802.15.4定義的MAC幀格式:MAC層頭幀;MAC凈載荷;MAC層幀尾。其中,MHR有固定的順序,并不是所有的幀都包含地址域。
2.4網(wǎng)絡(luò)層的設(shè)計(jì)
可以根據(jù)實(shí)際情況選擇AODV路由或者樹形路由。
ZigBee的網(wǎng)絡(luò)層支持多種網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),針對(duì)結(jié)點(diǎn)數(shù)量的限制選擇星形網(wǎng)絡(luò)。在星型網(wǎng)絡(luò)中,節(jié)點(diǎn)被配置成1個(gè)全功能節(jié)點(diǎn)和1個(gè)或多個(gè)簡化功能節(jié)點(diǎn)所有的RFD都只能和FFD通信。節(jié)點(diǎn)的網(wǎng)絡(luò)層協(xié)議采用樹形路由算法與AODV路由算法相結(jié)合的路由算法,其中樹形路由算法指的是在做路由選擇策略時(shí)利用樹形結(jié)構(gòu)址;AODV算法則是對(duì)AdHoc按需距離矢量路由算法的改進(jìn)。本文設(shè)計(jì)節(jié)點(diǎn)組網(wǎng)測試選擇了星形網(wǎng)絡(luò),一個(gè)是協(xié)調(diào)器,另外兩個(gè)是光傳感節(jié)點(diǎn),從可視化后臺(tái)軟件SNAMP可以看到節(jié)點(diǎn)組成的網(wǎng)絡(luò)拓?fù)鋱D和接收來的數(shù)據(jù)包,如圖3所示。
圖3節(jié)點(diǎn)硬件實(shí)物圖與組網(wǎng)測試
3 結(jié)論
通過此次設(shè)計(jì),實(shí)驗(yàn)證明了節(jié)點(diǎn)的體積小、集成度高、功耗低,通過多層次布線不僅減少了信號(hào)的干擾,而且加大了傳輸?shù)木嚯x。軟件設(shè)計(jì)可以通過節(jié)點(diǎn)編程實(shí)現(xiàn)協(xié)調(diào)器、路由器和網(wǎng)絡(luò)終端的傳輸。硬件中的模塊設(shè)計(jì)可以根據(jù)具體的需要更改不同的傳感模塊,具有更高的靈活性。
評(píng)論