林開泉,徐國貴,黃玉林,李帥
91388部隊 94分隊,廣東 湛江 524022
基于ARM的水下目標定位系統的通信模擬系統設計
林開泉,徐國貴,黃玉林,李帥
91388部隊 94分隊,廣東 湛江 524022
水下目標定位系統被廣泛應用于水下目標的定位和跟蹤、水聲對抗等水聲領域,其系統主要由水聲浮標陣、中繼站和基站等構成,浮標與基站的通信通過無線網橋進行傳輸。為了提高該系統的通信可靠性和智能性,采用ARM板作為中繼站和通信服務器,以一臺電腦作為基站的顯控機,一臺電腦模擬浮標,設計了一種水下目標定位系統通信模擬系統,其中ARM板搭載LINUX嵌入式系統。該模擬系統可以實現基站和浮標之間的中繼通信,完成從基站顯控端發送各種命令和參數到ARM板,ARM板進行中繼轉發給浮標,浮標收到命令后進行響應,并回傳相關數據至基站顯控端的功能。
ARM;水下目標定位系統;LINUX;網口通信;串口通信;GPS
水下目標定位系統是水下目標定位和跟蹤必不可少的設備。該系統在使用中,通信板會時不時出現壞塊,而通信技術更新換代很快,市場上已經沒有目前這種通信板出售[1-2]。水下目標定位系統的通信部分很需要規范接口,采用符合IEEE802.11b標準協議的無線網橋進行通信,ARM可以很方便實現網絡控制[3-5]。另外,采用嵌入式系統的ARM板作為中繼站,一方面可以實現中繼站的無人看守,另一方面ARM板作為中繼站還具有網絡通信服務器的功能。在此嘗試基于LINUX嵌入式系統,采用一塊ARM板作為中繼站進行通信,模擬水下目標定位系統整個通信過程。其主要內容包括搭建嵌入式平臺,編寫通信協議,實現ARM板與基站、浮標的網口通信,ARM板接收GPS模塊信號,編寫顯控界面等。
水下目標定位系統主要由水聲浮標陣、中繼站和基站等構成。其中水聲浮標陣由4個以上浮標組成[6]。浮標下接水聽器,水聽器以被動或者主動的形式接收探測目標的水聲信號,然后浮標把這些水聲信號通過微波發送給中繼站,中繼站將這些信號轉發給基站,基站根據球面定位原理解算出水下目標的軌跡,實現對水下目標的定位和跟蹤[7]。基于ARM的水下目標定位系統通信模擬系統用來模擬實現水下目標定位系統整個通信過程,該模擬系統采用一臺電腦作為基站顯控機,一臺電腦模擬浮標,ARM板作為中繼站,模擬基站和浮標之間的中繼通信。水下目標定位系統通信模擬系統組成如圖1所示。

圖1 水下目標定位系統通信模擬系統

圖2 水下目標定位系統通信模擬系統數據命令流
該通信模擬系統的數據命令流如圖2所示,其數據命令流分為下行和上行,其中顯控端至浮標端的命令和數據為下行,浮標端至顯控端的數據為上行。該模擬系統采用ARM板作為中繼站,中繼站用來轉發浮標和顯控機之間的命令或者數據,并接收GPS信號,將中繼站所在的GPS信息發送給顯控端。ARM板和GPS模塊的通信采用串口通信,顯控機、浮標與ARM板之間的通信基于TCP/IP的網絡通信實現,其中ARM板為通信的服務器。顯控端和浮標端的程序采用C++進行編程,中繼站的程序基于LINUX進行嵌入式編程。
2.1 硬件平臺
硬件平臺采用飛凌公司的TE6410開發板,它是基于三星公司ARM11處理器S3C6410設計的,擁有強大的內部資源和視頻處理能力,主頻可穩定運行在667 MHz以上,支持mobileDDR以及多種NAND FLASH;板上集成了多種高端接口如VGA、TV、CAMERA、USB、SD、LCD、以太網以及工業CAN總線、RS485總線,并配備溫度傳感器和紅外等。該板采用核心板加底板結構,核心板尺寸為5 cm×6 cm,底板13 cm×13 cm,連接器采用4條高質量進口連接器,4×80總共320引腳。TE6410軟件系統支持WinCE6.0和LINUX2.6內核,開發板的結構如圖3所示。

圖3 飛凌TE6410開發板
2.2 操作系統平臺
2.2.1 PC機上搭建LINUX開發環境
在PC機上搭建LINUX開發環境首先要安裝Ubuntu9.10,Ubuntu是一個以桌面應用為主的Linux操作系統,具有圖形界面很人性化和可以通過網絡升級等優點。LINUX程序需要在ARM板上運行,需要進行交叉編譯,所以需要安裝交叉編譯器[9]。除此以外,在編寫程序之前,需要設置好網絡參數,學會使用LINUX的終端,熟悉LINUX的各種命令等[10]。
2.2.2 開發板上燒寫 LINUX系統
在燒寫LINUX之前,需要用Eboot擦寫NandFlash,并且準備好用于燒寫LINUX的SD卡。燒寫時將實現編譯好的LINUX內核和Uboot以及文件系統拷貝到SD卡中,撥碼開關設置為SD卡啟動,用串口轉USB線連接好板子的串口和電腦的USB口,并打開DNW軟件,設置好串口參數,給開發板上電,系統開始安裝[8]。安裝完畢后,將撥碼開關設置成Nand Flash,并用LINUX命令修改屏幕分辨率。完成這些后,在PC機LINUX交叉編譯后的程序就可以在板子上運行了。開發板上的可執行程序,在LINUX環境下用C語言進行編寫,通過GCC交叉編譯后在開發板上運行。
3.1 數據幀結構和通信協議編寫
為了讓浮標和基站能夠明白接收幀中命令和數據的用途,必須編寫通信協議,即收發兩端和中繼站需要對數據幀結構的內容提前進行約定,約定的內容應包括用于識別的幀頭、地址段、該幀的用途和所包含的數據。水下目標定位系統通信模擬系統其通信協議的數據幀結構如表1所示,包含幀頭、目的地址、源地址、中繼地址、幀類型及補碼、數據長度、數據段和檢錯碼,其中幀頭為0xd22d(2d為d2反碼),地址分配為基站:01H;中繼站:02H-05H;浮標:06H-1FH。中繼站根據源地址和目的地址,來判斷命令和數據來自哪里和發往何處,浮標收到從基站發來命令后,根據通信協議中的幀類型和補碼,可以知道這一幀是包含什么命令,并做出相應的應答,回傳相應的數據至基站。

表1 通信協議的數據幀結構
不同的幀類型代表不同的用途,包含的數據也不一樣,而數據方向包含下行和上行,下行是顯控端給浮標端發送的命令和數據,包括設置命令、查詢命令、數據傳輸命令。其中設置命令包括初始化路徑、設置聲學參數,查詢命令包括輪詢、浮標自檢等命令,數據傳輸命令包括回傳原始數據、清除浮標FLASH數據、停止鎖存原始數據并停止內記等命令。上行是浮標端對某一個命令做出的相應的應答和回傳的數據。所有命令采用樹結構,編成通信命令樹,操作者可以很方便選擇各種命令,部分幀類型定義如表2所示。

表2 部分幀類型定義
3.2 ARM板與收發兩端的網口通信
浮標與顯控機采用基于TCP/IP的網口通信,其中ARM板作為服務器、浮標和顯控機作為客戶端,實現服務器和客戶端之間一對多的通信。TCP/IP是面向連接的通信,因此它是一種可靠的通信模式。ARM板作為中繼站和服務器用于等待收發兩端的連接請求,需要建立一個監聽套接口和一個用于收發數據的套接口,接收任意知道其IP地址的客戶端的請求。服務器(ARM板)可以同時接收一個或多個客戶的請求,當客戶發送某個服務請求時,服務器使其在提供該服務器的端口排隊,然后從列隊中提取請求,并為每個請求創建一個子進程。浮標和基站的通信包括上行和下行,所以除了主線程,ARM板的程序采用一個互斥鎖來控制2個子線程,ARM板不間斷地監聽(listen)有沒有浮標和基站的連接請求,建立連接后根據排隊序列來確定收發的順序。
3.3 ARM板接收GPS信號
ARM板和GPS模塊可以通過串口進行通信,接收GPS給的時間以及位置信息,然后再把這些信息發送給顯控機。ARM板和GPS模塊的通信只涉及接收,所以只要做接收部分就可以。LINUX下的串口通信需要通過termios這個結構體來定義串口的屬性,設置波特率、數據位、停止位、奇偶校驗,其定義比在WINDOWS下編程復雜些,需要打開板子上用于串口通信的文件[11]。除此以外,要接收GPS所需要的信息,需要了解GPS的信號格式,提取有用的部分。GPS模塊及GPS天線如圖4所示。

圖4 GPS模塊及GPS天線
浮標端和顯控端界面用C++編寫,ARM板用C語言進行嵌入式編程,主要用作控制和通信,對界面和人機交互無要求,其程序運行結果可以通過DNW軟件在電腦上看見,或者接收ARM板自己的LCD顯示屏幕用LINUX終端可見。顯控端的界面如圖5所示,該界面主要包括IP地址信息、中繼站的經緯度、串口信息、通信誤幀率、通信距離、接收的數據以及各個命令按鈕。圖5的命令按鈕與本文第3部分通信協議的命令相對應,包括初始化路徑、輪詢、浮標自檢、回傳原始數據等命令。圖5此時選擇的命令為“回傳原始數據”,浮標與基站的通信距離為32 634.5 m,浮標經過ARM板中繼(轉發)后,1 000幀水聲數據無誤地被基站接收,其誤幀率為0。測試過程中人為中斷微波信號后重新打開微波,通信快速恢復。上述測試表明基于ARM的水聲定位系統通信模擬平臺是可靠的,可以實現無誤碼的遠距離傳輸。

圖5 顯控端程序界面
圖6是ARM板上程序運行的結果主要包括串口操作和線程控制的一些提示,以及將接收到的部分數據顯示出來,主要是實現通信和控制的功能。ARM板上程序的運行結果除了在ARM板自己接的顯示屏可以顯示外,還可以通過DNW、PUTTY等軟件在電腦上顯示,在調試程序的時候,這會更加方便和高效。

圖6 ARM板顯示屏運行結果
本文基于ARM設計了一種水下目標定位系統的通信模擬系統,可以通過模擬實現水下目標定位系統的中繼通信,完成從浮標到基站的下行和上行通信。顯控端界面簡潔,通過編寫通信協議并以樹形結構顯示通信命令,使得操作簡單明了。浮標和基站之間的通信采用網口進行,規范了通信的接口。經過測試發現,浮標和基站之間的通信可靠性比較高,當信號不好導致通信突然中斷時,通信恢復后不影響正常使用,嵌入式系統應用于水下目標定位系統是可靠的。ARM板作為中繼站可以實現中繼站的無人看守,將嵌入式系統應用于水下目標定位系統可以節省人力。
[1]李廣武.現代通信技術發展與個體生存境遇[D].長春:吉林大學,2012:3?17.
[2]趙晗.現代無線通信技術的發展現狀及未來發展趨勢[J].企業技術開發,2011,30(16):88?90.
[3]王桂云,侯思祖.基于ARM7的以太網接口的設計與實現[J].微計算機信息,2009,25(2):124?126.
[4]葉彩紅.基于IEEE802.11b無線網絡控制系統的建模與控制[D].秦皇島:燕山大學,2010:10?35.
[5]李勇,崔凌.基于IEEE802.11b的無線網絡終端設計[J].煤炭技術,2010,29(8):168?170.
[6]殷冬梅.無線電水聲浮標陣多目標跟蹤定位系統[D].哈爾濱:哈爾濱工程大學,2003:2?7.
[7]李敏.水下高速目標被動定位系統基本原理[D].哈爾濱:哈爾濱工程大學,2007:5?14.
[8]宋進,李建奇.基于嵌入式Linux和Arm的遠程監控模塊的設計[J].電子工業專用設備,2009,2:48?51.
[9]弓雷.ARM嵌入式Linux系統開發詳解[M].北京:清華大學出版社,2005:39?55.
[10]王桐,陳立偉,王紅濱,等.嵌入式Linux編程入門與開發實例[M].北京:機械工業出版社,2005:42?60.
[11]韓超,魏治宇,廖文江,等.嵌入式Linux上的C語言編程實踐[M].北京:電子工業出版社,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.