基于ZigBee的航標遙測終端
2 終端的硬件組成
根據(jù)功能要求,設(shè)計的航標遙測終端組成框圖如圖2所示,主要由處理器模塊、ZigBee/CDMA通信模塊、GPS定位模塊、航標燈數(shù)據(jù)采集模塊及供電系統(tǒng)組成。本文引用地址:http://cafeforensic.com/article/156591.htm
處理器模塊是以S3C2410 32 b RISC ARM9處理器為中心,主要由時鐘/復(fù)位單元、存儲系統(tǒng)、調(diào)試接口等組成。它是整個終端的核心,負責(zé)整個終端系統(tǒng)的管理、控制運行、數(shù)據(jù)采集以及通信協(xié)議的解析和數(shù)據(jù)處理。S3C2410微處理器具有3個串口,即UART0,UART1,UART2,通過合理分配串口,并設(shè)計控制電路,對不足的串口資源進行復(fù)用,使其滿足應(yīng)用需求。ZigBee/CDMA通信模塊的作用是負責(zé)終端和控制中心之間的遠程雙向無線數(shù)據(jù)傳輸。GPS定位模塊用于實現(xiàn)終端的定位,使終端可以實時監(jiān)視浮標是否產(chǎn)生漂移。由于目前的航標燈均自帶有數(shù)據(jù)采集模塊,并通過RS 485輸出數(shù)據(jù)。因此,終端通過發(fā)送采集指令給航標燈,航標燈數(shù)據(jù)就會自動傳輸給終端,即只需要利用一個RS 485到RS 232轉(zhuǎn)換器就可實現(xiàn)對航標燈數(shù)據(jù)的采集。處理器與外圍通信模塊的通訊是通過串口連接,處理器可以通過AT指令對通信模塊進行操作和控制,從而實現(xiàn)ZigBee/CDMA網(wǎng)絡(luò)的無線接入,并與控制中心建立通信鏈路,以提供遠程數(shù)據(jù)雙向傳輸?shù)耐ǖ馈Mㄟ^以太網(wǎng)控制器芯片DM9000擴展一個網(wǎng)口,以滿足運用,同時方便調(diào)試開發(fā)的功能。由于輸入是12 V,而不同的模塊所需的電壓不一樣,所以要進行電壓的轉(zhuǎn)換,即供電系統(tǒng)部分。由于采用了ARM9嵌入式系統(tǒng)和模塊化設(shè)計,使系統(tǒng)硬件的外圍電路相對簡單,因此具體電路本文將不介紹。
3 終端軟件設(shè)計
3.1 多線程設(shè)計
終端軟件是在Linux 2.4.18操作系統(tǒng)內(nèi)核上采用多線程開發(fā)的。與進程相比,線程很小,創(chuàng)建一個線程可以使用相對較少的CPU時間,提高了CPU并行處理的能力。因此,多線程編程與多進程編程相比,在性能和通信等方面都有顯著的優(yōu)勢,所以終端軟件的開發(fā)采用單個進程多線程的編程方式實現(xiàn)。
在整個終端軟件系統(tǒng)中,創(chuàng)建了五個線程:主線程、通信線程、遙測遙控線程、協(xié)議處理線程及定時處理線程。主線程是進程對應(yīng)的線程,是整個軟件的控制線程,它控制其他線程的工作,具體包括創(chuàng)建管道、打開驅(qū)動、建立線程及安裝觸發(fā)線程的信號等功能;通信線程負責(zé)終端通信方式的選擇、通信模塊的驅(qū)動及收發(fā)數(shù)據(jù)等工作;遙測遙控線程主要負責(zé)航標數(shù)據(jù)采集、GPS數(shù)據(jù)采集、遙測數(shù)據(jù)的上傳及遙控命令的執(zhí)行;協(xié)議處理線程根據(jù)通信協(xié)議對數(shù)據(jù)進行變換、格式轉(zhuǎn)換、打包和解包;定時處理線程主要完成周期性的控制,包括定時數(shù)據(jù)上傳、定時故障和異常判斷與報警、定時休眠、重新啟動等。
由于整個終端需要處理的任務(wù)較多,下面僅介紹幾個關(guān)鍵功能模塊的設(shè)計。
評論