林開泉,徐國貴,黃玉林,李帥
91388部隊 94分隊,廣東 湛江 524022
基于ARM的水下目標定位系統(tǒng)的通信模擬系統(tǒng)設計
林開泉,徐國貴,黃玉林,李帥
91388部隊 94分隊,廣東 湛江 524022
水下目標定位系統(tǒng)被廣泛應用于水下目標的定位和跟蹤、水聲對抗等水聲領域,其系統(tǒng)主要由水聲浮標陣、中繼站和基站等構成,浮標與基站的通信通過無線網(wǎng)橋進行傳輸。為了提高該系統(tǒng)的通信可靠性和智能性,采用ARM板作為中繼站和通信服務器,以一臺電腦作為基站的顯控機,一臺電腦模擬浮標,設計了一種水下目標定位系統(tǒng)通信模擬系統(tǒng),其中ARM板搭載LINUX嵌入式系統(tǒng)。該模擬系統(tǒng)可以實現(xiàn)基站和浮標之間的中繼通信,完成從基站顯控端發(fā)送各種命令和參數(shù)到ARM板,ARM板進行中繼轉發(fā)給浮標,浮標收到命令后進行響應,并回傳相關數(shù)據(jù)至基站顯控端的功能。
ARM;水下目標定位系統(tǒng);LINUX;網(wǎng)口通信;串口通信;GPS
水下目標定位系統(tǒng)是水下目標定位和跟蹤必不可少的設備。該系統(tǒng)在使用中,通信板會時不時出現(xiàn)壞塊,而通信技術更新?lián)Q代很快,市場上已經(jīng)沒有目前這種通信板出售[1-2]。水下目標定位系統(tǒng)的通信部分很需要規(guī)范接口,采用符合IEEE802.11b標準協(xié)議的無線網(wǎng)橋進行通信,ARM可以很方便實現(xiàn)網(wǎng)絡控制[3-5]。另外,采用嵌入式系統(tǒng)的ARM板作為中繼站,一方面可以實現(xiàn)中繼站的無人看守,另一方面ARM板作為中繼站還具有網(wǎng)絡通信服務器的功能。在此嘗試基于LINUX嵌入式系統(tǒng),采用一塊ARM板作為中繼站進行通信,模擬水下目標定位系統(tǒng)整個通信過程。其主要內容包括搭建嵌入式平臺,編寫通信協(xié)議,實現(xiàn)ARM板與基站、浮標的網(wǎng)口通信,ARM板接收GPS模塊信號,編寫顯控界面等。
水下目標定位系統(tǒng)主要由水聲浮標陣、中繼站和基站等構成。其中水聲浮標陣由4個以上浮標組成[6]。浮標下接水聽器,水聽器以被動或者主動的形式接收探測目標的水聲信號,然后浮標把這些水聲信號通過微波發(fā)送給中繼站,中繼站將這些信號轉發(fā)給基站,基站根據(jù)球面定位原理解算出水下目標的軌跡,實現(xiàn)對水下目標的定位和跟蹤[7]?;贏RM的水下目標定位系統(tǒng)通信模擬系統(tǒng)用來模擬實現(xiàn)水下目標定位系統(tǒng)整個通信過程,該模擬系統(tǒng)采用一臺電腦作為基站顯控機,一臺電腦模擬浮標,ARM板作為中繼站,模擬基站和浮標之間的中繼通信。水下目標定位系統(tǒng)通信模擬系統(tǒng)組成如圖1所示。
圖1 水下目標定位系統(tǒng)通信模擬系統(tǒng)
圖2 水下目標定位系統(tǒng)通信模擬系統(tǒng)數(shù)據(jù)命令流
該通信模擬系統(tǒng)的數(shù)據(jù)命令流如圖2所示,其數(shù)據(jù)命令流分為下行和上行,其中顯控端至浮標端的命令和數(shù)據(jù)為下行,浮標端至顯控端的數(shù)據(jù)為上行。該模擬系統(tǒng)采用ARM板作為中繼站,中繼站用來轉發(fā)浮標和顯控機之間的命令或者數(shù)據(jù),并接收GPS信號,將中繼站所在的GPS信息發(fā)送給顯控端。ARM板和GPS模塊的通信采用串口通信,顯控機、浮標與ARM板之間的通信基于TCP/IP的網(wǎng)絡通信實現(xiàn),其中ARM板為通信的服務器。顯控端和浮標端的程序采用C++進行編程,中繼站的程序基于LINUX進行嵌入式編程。
2.1 硬件平臺
硬件平臺采用飛凌公司的TE6410開發(fā)板,它是基于三星公司ARM11處理器S3C6410設計的,擁有強大的內部資源和視頻處理能力,主頻可穩(wěn)定運行在667 MHz以上,支持mobileDDR以及多種NAND FLASH;板上集成了多種高端接口如VGA、TV、CAMERA、USB、SD、LCD、以太網(wǎng)以及工業(yè)CAN總線、RS485總線,并配備溫度傳感器和紅外等。該板采用核心板加底板結構,核心板尺寸為5 cm×6 cm,底板13 cm×13 cm,連接器采用4條高質量進口連接器,4×80總共320引腳。TE6410軟件系統(tǒng)支持WinCE6.0和LINUX2.6內核,開發(fā)板的結構如圖3所示。
圖3 飛凌TE6410開發(fā)板
2.2 操作系統(tǒng)平臺
2.2.1 PC機上搭建LINUX開發(fā)環(huán)境
在PC機上搭建LINUX開發(fā)環(huán)境首先要安裝Ubuntu9.10,Ubuntu是一個以桌面應用為主的Linux操作系統(tǒng),具有圖形界面很人性化和可以通過網(wǎng)絡升級等優(yōu)點。LINUX程序需要在ARM板上運行,需要進行交叉編譯,所以需要安裝交叉編譯器[9]。除此以外,在編寫程序之前,需要設置好網(wǎng)絡參數(shù),學會使用LINUX的終端,熟悉LINUX的各種命令等[10]。
2.2.2 開發(fā)板上燒寫 LINUX系統(tǒng)
在燒寫LINUX之前,需要用Eboot擦寫NandFlash,并且準備好用于燒寫LINUX的SD卡。燒寫時將實現(xiàn)編譯好的LINUX內核和Uboot以及文件系統(tǒng)拷貝到SD卡中,撥碼開關設置為SD卡啟動,用串口轉USB線連接好板子的串口和電腦的USB口,并打開DNW軟件,設置好串口參數(shù),給開發(fā)板上電,系統(tǒng)開始安裝[8]。安裝完畢后,將撥碼開關設置成Nand Flash,并用LINUX命令修改屏幕分辨率。完成這些后,在PC機LINUX交叉編譯后的程序就可以在板子上運行了。開發(fā)板上的可執(zhí)行程序,在LINUX環(huán)境下用C語言進行編寫,通過GCC交叉編譯后在開發(fā)板上運行。
3.1 數(shù)據(jù)幀結構和通信協(xié)議編寫
為了讓浮標和基站能夠明白接收幀中命令和數(shù)據(jù)的用途,必須編寫通信協(xié)議,即收發(fā)兩端和中繼站需要對數(shù)據(jù)幀結構的內容提前進行約定,約定的內容應包括用于識別的幀頭、地址段、該幀的用途和所包含的數(shù)據(jù)。水下目標定位系統(tǒng)通信模擬系統(tǒng)其通信協(xié)議的數(shù)據(jù)幀結構如表1所示,包含幀頭、目的地址、源地址、中繼地址、幀類型及補碼、數(shù)據(jù)長度、數(shù)據(jù)段和檢錯碼,其中幀頭為0xd22d(2d為d2反碼),地址分配為基站:01H;中繼站:02H-05H;浮標:06H-1FH。中繼站根據(jù)源地址和目的地址,來判斷命令和數(shù)據(jù)來自哪里和發(fā)往何處,浮標收到從基站發(fā)來命令后,根據(jù)通信協(xié)議中的幀類型和補碼,可以知道這一幀是包含什么命令,并做出相應的應答,回傳相應的數(shù)據(jù)至基站。
表1 通信協(xié)議的數(shù)據(jù)幀結構
不同的幀類型代表不同的用途,包含的數(shù)據(jù)也不一樣,而數(shù)據(jù)方向包含下行和上行,下行是顯控端給浮標端發(fā)送的命令和數(shù)據(jù),包括設置命令、查詢命令、數(shù)據(jù)傳輸命令。其中設置命令包括初始化路徑、設置聲學參數(shù),查詢命令包括輪詢、浮標自檢等命令,數(shù)據(jù)傳輸命令包括回傳原始數(shù)據(jù)、清除浮標FLASH數(shù)據(jù)、停止鎖存原始數(shù)據(jù)并停止內記等命令。上行是浮標端對某一個命令做出的相應的應答和回傳的數(shù)據(jù)。所有命令采用樹結構,編成通信命令樹,操作者可以很方便選擇各種命令,部分幀類型定義如表2所示。
表2 部分幀類型定義
3.2 ARM板與收發(fā)兩端的網(wǎng)口通信
浮標與顯控機采用基于TCP/IP的網(wǎng)口通信,其中ARM板作為服務器、浮標和顯控機作為客戶端,實現(xiàn)服務器和客戶端之間一對多的通信。TCP/IP是面向連接的通信,因此它是一種可靠的通信模式。ARM板作為中繼站和服務器用于等待收發(fā)兩端的連接請求,需要建立一個監(jiān)聽套接口和一個用于收發(fā)數(shù)據(jù)的套接口,接收任意知道其IP地址的客戶端的請求。服務器(ARM板)可以同時接收一個或多個客戶的請求,當客戶發(fā)送某個服務請求時,服務器使其在提供該服務器的端口排隊,然后從列隊中提取請求,并為每個請求創(chuàng)建一個子進程。浮標和基站的通信包括上行和下行,所以除了主線程,ARM板的程序采用一個互斥鎖來控制2個子線程,ARM板不間斷地監(jiān)聽(listen)有沒有浮標和基站的連接請求,建立連接后根據(jù)排隊序列來確定收發(fā)的順序。
3.3 ARM板接收GPS信號
ARM板和GPS模塊可以通過串口進行通信,接收GPS給的時間以及位置信息,然后再把這些信息發(fā)送給顯控機。ARM板和GPS模塊的通信只涉及接收,所以只要做接收部分就可以。LINUX下的串口通信需要通過termios這個結構體來定義串口的屬性,設置波特率、數(shù)據(jù)位、停止位、奇偶校驗,其定義比在WINDOWS下編程復雜些,需要打開板子上用于串口通信的文件[11]。除此以外,要接收GPS所需要的信息,需要了解GPS的信號格式,提取有用的部分。GPS模塊及GPS天線如圖4所示。
圖4 GPS模塊及GPS天線
浮標端和顯控端界面用C++編寫,ARM板用C語言進行嵌入式編程,主要用作控制和通信,對界面和人機交互無要求,其程序運行結果可以通過DNW軟件在電腦上看見,或者接收ARM板自己的LCD顯示屏幕用LINUX終端可見。顯控端的界面如圖5所示,該界面主要包括IP地址信息、中繼站的經(jīng)緯度、串口信息、通信誤幀率、通信距離、接收的數(shù)據(jù)以及各個命令按鈕。圖5的命令按鈕與本文第3部分通信協(xié)議的命令相對應,包括初始化路徑、輪詢、浮標自檢、回傳原始數(shù)據(jù)等命令。圖5此時選擇的命令為“回傳原始數(shù)據(jù)”,浮標與基站的通信距離為32 634.5 m,浮標經(jīng)過ARM板中繼(轉發(fā))后,1 000幀水聲數(shù)據(jù)無誤地被基站接收,其誤幀率為0。測試過程中人為中斷微波信號后重新打開微波,通信快速恢復。上述測試表明基于ARM的水聲定位系統(tǒng)通信模擬平臺是可靠的,可以實現(xiàn)無誤碼的遠距離傳輸。
圖5 顯控端程序界面
圖6是ARM板上程序運行的結果主要包括串口操作和線程控制的一些提示,以及將接收到的部分數(shù)據(jù)顯示出來,主要是實現(xiàn)通信和控制的功能。ARM板上程序的運行結果除了在ARM板自己接的顯示屏可以顯示外,還可以通過DNW、PUTTY等軟件在電腦上顯示,在調試程序的時候,這會更加方便和高效。
圖6 ARM板顯示屏運行結果
本文基于ARM設計了一種水下目標定位系統(tǒng)的通信模擬系統(tǒng),可以通過模擬實現(xiàn)水下目標定位系統(tǒng)的中繼通信,完成從浮標到基站的下行和上行通信。顯控端界面簡潔,通過編寫通信協(xié)議并以樹形結構顯示通信命令,使得操作簡單明了。浮標和基站之間的通信采用網(wǎng)口進行,規(guī)范了通信的接口。經(jīng)過測試發(fā)現(xiàn),浮標和基站之間的通信可靠性比較高,當信號不好導致通信突然中斷時,通信恢復后不影響正常使用,嵌入式系統(tǒng)應用于水下目標定位系統(tǒng)是可靠的。ARM板作為中繼站可以實現(xiàn)中繼站的無人看守,將嵌入式系統(tǒng)應用于水下目標定位系統(tǒng)可以節(jié)省人力。
[1]李廣武.現(xiàn)代通信技術發(fā)展與個體生存境遇[D].長春:吉林大學,2012:3?17.
[2]趙晗.現(xiàn)代無線通信技術的發(fā)展現(xiàn)狀及未來發(fā)展趨勢[J].企業(yè)技術開發(fā),2011,30(16):88?90.
[3]王桂云,侯思祖.基于ARM7的以太網(wǎng)接口的設計與實現(xiàn)[J].微計算機信息,2009,25(2):124?126.
[4]葉彩紅.基于IEEE802.11b無線網(wǎng)絡控制系統(tǒng)的建模與控制[D].秦皇島:燕山大學,2010:10?35.
[5]李勇,崔凌.基于IEEE802.11b的無線網(wǎng)絡終端設計[J].煤炭技術,2010,29(8):168?170.
[6]殷冬梅.無線電水聲浮標陣多目標跟蹤定位系統(tǒng)[D].哈爾濱:哈爾濱工程大學,2003:2?7.
[7]李敏.水下高速目標被動定位系統(tǒng)基本原理[D].哈爾濱:哈爾濱工程大學,2007:5?14.
[8]宋進,李建奇.基于嵌入式Linux和Arm的遠程監(jiān)控模塊的設計[J].電子工業(yè)專用設備,2009,2:48?51.
[9]弓雷.ARM嵌入式Linux系統(tǒng)開發(fā)詳解[M].北京:清華大學出版社,2005:39?55.
[10]王桐,陳立偉,王紅濱,等.嵌入式Linux編程入門與開發(fā)實例[M].北京:機械工業(yè)出版社,2005:42?60.
[11]韓超,魏治宇,廖文江,等.嵌入式Linux上的C語言編程實踐[M].北京:電子工業(yè)出版社,2009:106?161.
Design of communication simulation system of underwater target positioning system based on ARM
LIN Kaiquan, XU Guogui, HUANG Yulin, LI Shuai
Unit 94, PLA 91388, Zhanjiang 524022, China
The underwater target positioning system has wide application in the undersea acoustic field, such as positioning and track of an undersea target, and underwater acoustic countermeasure. The system is consisted of an underwater acoustic buoy, a relay station and a base station. The communications between the underwater acoustic buoy and base station are over microwave. A communication simulation system of the underwater target positioning system is designed based on Linux embedded system to improve communication reliability and intelligence. In this communication simulation system, ARM development board is used as relay station and communication server. One computer is used to simulate display and control equipment of the base station and the other one is used to simulate the underwater acoustic buoy. The communication simulation system can complete relay communications between the base station and underwater acoustic buoy. In this system, various orders and parameters can be transmitted to the underwater acoustic buoy from the base station by relay station. When the underwater acoustic buoy received the orders, the dates of the underwater acoustic buoy will be transmitted to the base station also by relay station.
ARM; underwater target positioning system; LINUX; network communication; serial port communication; GPS
TP301
A
1009-671X(2014)01-0026-05
10.3969/j.issn.1009-671X.201303001
2013-03-02.
國家自然科學基金資助項目(11104029).
林開泉(1985-), 男, 工程師, 碩士;徐國貴(1981-), 男, 工程師, 碩士.
林開泉, E-mail: linkaiquan01@163.com.