新聞中心

EEPW首頁 > 手機(jī)與無線通信 > 設(shè)計應(yīng)用 > 基于ZigBee的航標(biāo)遙測終端

基于ZigBee的航標(biāo)遙測終端

作者: 時間:2011-03-16 來源:網(wǎng)絡(luò) 收藏

3.2 通信功能模塊設(shè)計
的通信具有,CDMA兩種通信方式,由通信處理線程實(shí)現(xiàn)。具體完成,CDMA模塊的初始化、數(shù)據(jù)發(fā)送與接收、智能切換通信方式以及模塊工作狀態(tài)的監(jiān)測等功能。
通信線程的處理機(jī)制是利用信號的異步通知機(jī)制,通過安裝信號處理函數(shù),當(dāng)某一通信方式出現(xiàn)異常時就發(fā)送信號并攜帶相關(guān)的信息,從而觸發(fā)信號處理函數(shù)進(jìn)入中斷處理異常信息,并根據(jù)信息來選擇重建當(dāng)前通信或建立另一種通信方式或重啟系統(tǒng)。在此主要介紹雙模通信中的通信方式。
當(dāng)選擇ZigBee通信方式時,必須對ZigBee進(jìn)行初始化,其初始化流程圖如圖3所示。

本文引用地址:http://www.2s4d.com/article/156591.htm

c.JPG


部分初始化程序如下:
d.JPG
fd表示的是連接ZigBee/CDMA與ARM的串口的文件句柄;sendPort相當(dāng)于UNIX中的write()函數(shù),即將Send_buf中的數(shù)據(jù)寫入到串口。
因?yàn)樵?a class="contentlabel" href="http://www.2s4d.com/news/listbylabel/label/終端">終端中用的ZigBee通信模塊有其固定的幀格式,所以需要將采集到的數(shù)據(jù)進(jìn)行打包,然后才能傳輸,利用一個函數(shù)send_prepare(int mode,unsignedchar send_buf[512],int length)實(shí)現(xiàn)數(shù)據(jù)的打包。其中,mode表示的是ZigBee和CDMA中的一種模式;send_buf[]表示需要發(fā)送的有效數(shù)據(jù),此函數(shù)的主要功能是將有效數(shù)據(jù)加入到ZigBee和CDMA能識別的幀格式中。然后調(diào)用發(fā)送函數(shù)sendPort(fd_com,send _buf)將數(shù)據(jù)通過ZigBee或CDMA發(fā)送到控制中心。當(dāng)數(shù)據(jù)發(fā)送到控制中心,控制中心模塊會給一個應(yīng)答。通過對此幀的解析,可以看出發(fā)送是否成功。例如,在ZigBee通信方式中,狀態(tài)/標(biāo)志位為00時表示發(fā)送成功,否則表示發(fā)送失敗。
3.3 遙測遙控功能模塊設(shè)計
3.3.1 遙測功能模塊
遙測包括數(shù)據(jù)采集與數(shù)據(jù)傳輸兩部分。數(shù)據(jù)采集包括燈數(shù)據(jù)和GPS數(shù)據(jù)的采集。燈是一種請求-應(yīng)答式的設(shè)備,要采集燈數(shù)據(jù)就必須通過處理器或是控制中心發(fā)送采集命令。在終端上采用定時的方式,當(dāng)設(shè)置時間到時,終端就會自動發(fā)送遙測命令給航標(biāo)燈,當(dāng)航標(biāo)燈收到數(shù)據(jù)并通過CRC檢驗(yàn)后,航標(biāo)燈將其實(shí)時的數(shù)據(jù)發(fā)送給處理器,然后通過通信模塊發(fā)送到控制中心。GPS數(shù)據(jù)是通過讀取GPS-OEM板自動輸出的NMEA-0183格式數(shù)據(jù)獲得的,在程序中采用中斷方式接收,每1 s接收一次數(shù)據(jù)。GPS和航標(biāo)燈數(shù)據(jù)采集流程圖如圖4,圖5所示。

e.JPG


當(dāng)采用ZigBee通信方式時,由于ZigBee模塊發(fā)送數(shù)據(jù)的最大長度為63個字節(jié),所以將終端發(fā)給服務(wù)器的有效數(shù)據(jù)分為兩幀發(fā)送,在兩幀之間加上一個標(biāo)志0x21,有助于服務(wù)器端解析終端數(shù)據(jù)。



關(guān)鍵詞: 終端 航標(biāo) ZigBee 基于

評論


相關(guān)推薦

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

關(guān)閉