新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應用 > 基于單片機的Zigbee傳感器節(jié)點硬件設(shè)計

        基于單片機的Zigbee傳感器節(jié)點硬件設(shè)計

        作者: 時間:2012-06-25 來源:網(wǎng)絡 收藏

        2.1協(xié)調(diào)器的軟件設(shè)計

        協(xié)調(diào)器的軟件流程圖如圖1所示。系統(tǒng)剛開始初始化,硬件協(xié)議初始化后開始建立網(wǎng)絡,判斷節(jié)點是否接入網(wǎng)絡,接入網(wǎng)絡成功后運行協(xié)議任務,接收節(jié)點數(shù)據(jù)并發(fā)送到PC上。

        建立過程中若超過次數(shù)則接收失敗,繼續(xù)下一次接收。

        基于單片機的Zigbee傳感器節(jié)點硬件設(shè)計


        圖1 協(xié)調(diào)器的軟件流程

        2.2成員節(jié)點的軟件設(shè)計

        成員節(jié)點主要是采集傳感器數(shù)據(jù)和接受來自協(xié)調(diào)器的控制數(shù)據(jù)。當沒有數(shù)據(jù)收發(fā)時進入休眠狀態(tài),節(jié)點功耗降到最低,成員節(jié)點的軟件設(shè)計流程圖如圖2所示。系統(tǒng)初始化后進行硬件和協(xié)議初始化,加載成功后進行協(xié)議任務,判斷任務后測量傳感器數(shù)據(jù)并發(fā)到協(xié)調(diào)器,進入休眠狀態(tài)后再執(zhí)行下一個任務,若超過規(guī)定次數(shù),網(wǎng)絡建立失敗。

        基于單片機的Zigbee傳感器節(jié)點硬件設(shè)計


        圖2 成員節(jié)點的軟件流程

        2.3物理層和MAC層的設(shè)計

        CC2420芯片提供了物理層的數(shù)據(jù)服務和管理服務,MAC層點到點通信的服務接口通過程序控制CC2420寄存器完成傳感器數(shù)據(jù)的收發(fā)。IEEE802.15.4定義的MAC幀格式:MAC層頭幀;MAC凈載荷;MAC層幀尾。其中,MHR有固定的順序,并不是所有的幀都包含地址域。

        2.4網(wǎng)絡層的設(shè)計

        可以根據(jù)實際情況選擇AODV路由或者樹形路由。

        ZigBee的網(wǎng)絡層支持多種網(wǎng)絡拓撲結(jié)構(gòu),針對結(jié)點數(shù)量的限制選擇星形網(wǎng)絡。在星型網(wǎng)絡中,節(jié)點被配置成1個全功能節(jié)點和1個或多個簡化功能節(jié)點所有的RFD都只能和FFD通信。節(jié)點的網(wǎng)絡層協(xié)議采用樹形路由算法與AODV路由算法相結(jié)合的路由算法,其中樹形路由算法指的是在做路由選擇策略時利用樹形結(jié)構(gòu)址;AODV算法則是對AdHoc按需距離矢量路由算法的改進。本文設(shè)計節(jié)點組網(wǎng)測試選擇了星形網(wǎng)絡,一個是協(xié)調(diào)器,另外兩個是光傳感節(jié)點,從可視化后臺軟件SNAMP可以看到節(jié)點組成的網(wǎng)絡拓撲圖和接收來的數(shù)據(jù)包,如圖3所示。

        基于單片機的Zigbee傳感器節(jié)點硬件設(shè)計


        圖3節(jié)點硬件實物圖與組網(wǎng)測試

        3 結(jié)論

        通過此次設(shè)計,實驗證明了節(jié)點的體積小、集成度高、功耗低,通過多層次布線不僅減少了信號的干擾,而且加大了傳輸?shù)木嚯x。軟件設(shè)計可以通過節(jié)點編程實現(xiàn)協(xié)調(diào)器、路由器和網(wǎng)絡終端的傳輸。硬件中的模塊設(shè)計可以根據(jù)具體的需要更改不同的傳感模塊,具有更高的靈活性。


        上一頁 1 2 下一頁

        評論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 兴安盟| 灵宝市| 和硕县| 天水市| 滨州市| 遂溪县| 罗江县| 青川县| 浪卡子县| 玛多县| 陵川县| 镇沅| 赞皇县| 宁晋县| 千阳县| 永州市| 闽清县| 清徐县| 汉沽区| 南乐县| 游戏| 永吉县| 巨野县| 福海县| 崇明县| 南部县| 南皮县| 云霄县| 遵义市| 民勤县| 延庆县| 库伦旗| 容城县| 阳城县| 阿图什市| 英吉沙县| 藁城市| 阿瓦提县| 陆良县| 大英县| 确山县|