APP下载

基于ARM的水下目标定位系统的通信模拟系统设计

2014-05-15林开泉徐国贵黄玉林李帅

应用科技 2014年1期
关键词:中继站模拟系统通信协议

林开泉,徐国贵,黄玉林,李帅

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模块信号,编写显控界面等。

1 系统组成及数据命令流

水下目标定位系统主要由水声浮标阵、中继站和基站等构成。其中水声浮标阵由4个以上浮标组成[6]。浮标下接水听器,水听器以被动或者主动的形式接收探测目标的水声信号,然后浮标把这些水声信号通过微波发送给中继站,中继站将这些信号转发给基站,基站根据球面定位原理解算出水下目标的轨迹,实现对水下目标的定位和跟踪[7]。基于ARM的水下目标定位系统通信模拟系统用来模拟实现水下目标定位系统整个通信过程,该模拟系统采用一台电脑作为基站显控机,一台电脑模拟浮标,ARM板作为中继站,模拟基站和浮标之间的中继通信。水下目标定位系统通信模拟系统组成如图1所示。

图1 水下目标定位系统通信模拟系统

图2 水下目标定位系统通信模拟系统数据命令流

该通信模拟系统的数据命令流如图2所示,其数据命令流分为下行和上行,其中显控端至浮标端的命令和数据为下行,浮标端至显控端的数据为上行。该模拟系统采用ARM板作为中继站,中继站用来转发浮标和显控机之间的命令或者数据,并接收GPS信号,将中继站所在的GPS信息发送给显控端。ARM板和GPS模块的通信采用串口通信,显控机、浮标与ARM板之间的通信基于TCP/IP的网络通信实现,其中ARM板为通信的服务器。显控端和浮标端的程序采用C++进行编程,中继站的程序基于LINUX进行嵌入式编程。

2 基于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 编程实现

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天线

4 程序界面及运行结果

浮标端和显控端界面用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板显示屏运行结果

5 结束语

本文基于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.

猜你喜欢

中继站模拟系统通信协议
基于VR技术的变电站三维场景设计模拟系统研究
中继站自动闭塞区段继电式区间逻辑检查电路及应急处置
基于Wireshark的列控中心以太网通信协议解析器的研究与实现
杭州湾跨海大桥信号中继站设置方案研究
无人值守中继站室内采用智能巡检设备可行性分析
高速铁路区间无人值守中继站智能巡检系统实现方案
基于STM32单片机的微电网模拟系统设计
基于ARM和Zigbee 的变压器试验培训模拟系统
关于电力物联网信息模型及通信协议的设计要点分析
房颤导管消融模拟系统在研究生教学中的应用