新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于Zigbee的船舶狀態監控系統的設計與實現

        基于Zigbee的船舶狀態監控系統的設計與實現

        作者: 時間:2016-09-12 來源:網絡 收藏
        基于Zigbee的船舶狀態監控系統的設計與實現

        4 系統軟件設計

        硬件的設計的只是完成了協議棧中物理層的一些功能,而物理層以上的功能單獨依靠硬件則是不能實現的,它還需要軟件的驅動才能實現。本系統軟件使用IAR Embedded

        Workbench作為開發平臺,并在Z—Stack協議棧的基礎上進行應用軟件的開發。Z—Stack是TI公司的基于標準的協議棧,包含了標準描述的各層功能組件模塊,向開發人員提供了一系列的API接口,通過調用這些接口來實現不同的功能。整個應用程序運行時可以自動形成一個網絡,終端設備節點能夠主動發現路由節點或協調器節點(上級節點),并且一旦加入網路,能夠自動建立綁定。

        4.1 組網及協調器節點程序設計

        網絡的建立和維護不論多復雜,都從建立網絡開始。當協調器啟動以后,此時協調器會在應用指定一個的網絡信道范圍內進行能量掃描,通過監聽獲得各個信道上的能量值,并把能量值進行排序,列出信道上的干擾值,拋棄超過最大允許的能量值的信道,在已存在網絡最少的信道上建立網絡,若信道上的存在網絡數一樣,則在沖突和干擾最少的信道上建立網絡。當選定網絡信道以后,會進行一系列的參數設置,包括網絡地址、PAN標識以及擴展PAN標識等。當這些參數都設置好后,網絡就基本建立起來了,只等待其它節點的加入。

        組建一個Zigbee網絡主要由Zigbee協議棧的網絡層實現,協調器節點工作的軟件部分包括初始化并組建網絡、允許子節點加入網絡以及傳輸數據三大部分構成。在協調器節點啟動后,Zigbee協議棧會按照上節所介紹的組網流程去組建一個Zigbee網絡,首先在系統初始化之后,掃描并選擇合適的信道后對網絡參數進行設置,并最后確定網絡是否組建成功,如沒有組建成功,則協調器節點重新執行上面的步驟,直至網絡成功組建。組網成功以后還不算真正的Zigbee傳感網絡,協調器還需要監測是否有入網請求并允許有請求的子節點加入網絡,并成功分配給自己點相應的網絡地址后,才算組網成功,這只是協調器的部分任務。

        上面的組網階段完成以后,協調器在正常工作的過程中,不斷的檢測有無數據傳送。其實,當協調器檢測到有數據的傳送時,程序會自動進入中斷接收狀態,在此過程中,數據會被暫時存放在指定的區域,其它外部程序以指針的形式調用這些數據。隨后,協調器會判斷數據的來源,若是上位機通過串口發來的數據,則認為是命令,之后對命令會進行相應的處理;若是傳感數據,則又會啟動相應的數據處理程序,并更新存儲區內的數據,之后通過串口傳送至上位機進行進一步的處理。圖4所示是其程序流程圖。

        基于Zigbee的船舶狀態監控系統的設計與實現

        路由節點程序除了一些配置和協調器節點不同之外,其它基本一致。

        4.2 終端設備節點程序設計

        終端設備節點要將收集到的溫度信息送到路由器或協調器,終端設備節點首先要加入網絡,與此同時,該節點還要將自己綁定到第一個響應的協調器節點或路由節點。終端設備節點通過函數ZDO_StartDevice0自發的加入網絡,并通過函數zb_BindDevice0發出綁定請求,綁定成功后終端設備節點程序循環調用SendData0函數周期性的發送采集到的溫度信息,采取端到端確認的發送模式。函數zb_SendDataConfirm0可以作為指示應答,如果協調器節點或路由節點沒有指示應答,終端設備節點會自動解除本次綁定,重新尋找網絡并進行綁定。圖5所示為其程序流程圖。

        基于Zigbee的船舶狀態監控系統的設計與實現

        5 系統測試

        5.1 通信測試

        用IAR把相應的程序分別下載到各節點。通過串口接入電腦,在對串口進行相應設置后,程序運行時,便可在PC機的終端中查看到經過處理后的的溫度數據信息(為方便測試,終端設備節點只進行溫度的采集)。利用串口調試助手接收到的溫度數據如圖6所示。在此過程中,用標準溫度計對同一空間進行溫度測量,測量結果顯示和本實驗結果只有極小誤差,可以滿足大部分測量需求。同時進行了通信距離測試,在沒有路由節點的情況下進行點對點的測試,測試環境為實驗室樓并有墻壁阻擋,測試結果如表1所示。數據表明,無線網絡完全可以覆蓋大部分中小型船舶機艙環境。如果需要還可以添加功放芯片CC2591,經測試,傳播距離會成倍數增加。

        基于Zigbee的船舶狀態監控系統的設計與實現

        5.2 功耗測試

        溫度傳感節點的功耗問題直接影響了系統的壽命,在傳感節點每發送一次數據后就進入休眠狀態,在完成一次數據的采集和發送后,傳感節點會自動進入休眠低功耗狀態;在休眠狀態結束時,傳感節點就會重新進入到工作過程,可有效降低功耗。溫度傳感節點采用兩節5號電池供能,休眠狀態下電流為0.4μA,工作狀態下電流為243 mA。經測試,兩節5號電池的正常工作時間在6個月左右,完全符合低功耗的性能需求。

        6 結束語

        根據船舶內部的實際情況,以片上系統芯片為核心設計了一個完整的Zigbee無線船舶狀態監控網絡。它能有效解決有線監控網絡布線難、擴展性差等問題,并具有可靠性強,組網靈活性高以及自愈能力強等特點,基本能滿足對中小型船舶機艙一些重要設備、環境參數的無線監控。


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 吉木乃县| 健康| 陕西省| 辉南县| 工布江达县| 洪洞县| 芦溪县| 邢台县| 勐海县| 龙南县| 黄冈市| 宕昌县| 南郑县| 额敏县| 湾仔区| 台中县| 广宗县| 门源| 交城县| 曲周县| 张家口市| 汪清县| 阜新市| 鸡西市| 治多县| 贵定县| 云霄县| 阜康市| 德保县| 章丘市| 喀什市| 获嘉县| 武清区| 开封县| 新竹市| 靖江市| 安乡县| 景宁| 迁西县| 塔河县| 平远县|