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