新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于Zigbee的船舶狀態(tài)監(jiān)控系統(tǒng)的設計與實現(xiàn)

基于Zigbee的船舶狀態(tài)監(jiān)控系統(tǒng)的設計與實現(xiàn)

作者: 時間:2016-09-12 來源:網絡 收藏
基于Zigbee的船舶狀態(tài)監(jiān)控系統(tǒng)的設計與實現(xiàn)

4 系統(tǒng)軟件設計

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

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

4.1 組網及協(xié)調器節(jié)點程序設計

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

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

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

基于Zigbee的船舶狀態(tài)監(jiān)控系統(tǒng)的設計與實現(xiàn)

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

4.2 終端設備節(jié)點程序設計

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

基于Zigbee的船舶狀態(tài)監(jiān)控系統(tǒng)的設計與實現(xiàn)

5 系統(tǒng)測試

5.1 通信測試

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

基于Zigbee的船舶狀態(tài)監(jiān)控系統(tǒng)的設計與實現(xiàn)

5.2 功耗測試

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

6 結束語

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


上一頁 1 2 下一頁

評論


相關推薦

技術專區(qū)

關閉