APP下载

GPS船用导航仪的研制与应用

2010-07-19楼然苗李光飞陈庭勋

关键词:海图船用字节

楼然苗,李光飞,陈庭勋

(浙江海洋学院公共实验中心、网络中心,浙江舟山 316000)

当前,电子海图、GPS、声纳等导航器在船舶航行中得到了广泛的应用,大大提高了船舶导航技术及航船的安全性[1]。常用的导航系统主要分PC机系统和嵌入式系统2种。PC机船舶导航系统采用基于Windows的GIS软件(如MapInfo、MapGIS)设计,具有系统功能丰富、响应速度快、人机交互界面友好等特点,但成本较高,系统集成度差,不适合作为专业系统使用;嵌入式导航系统分为8位机和32位机,其中8位单片机应用系统由于处理器运算能力较弱,资源有限,而且在图形用户界面中实现较为困难,近年来已被淘汰,而32位处理器组成的嵌入式系统,由于系统集成度高、硬件成本较低并且运算性能优异,目前得到较多应用[2]。国产GPS船用导航系统综合了GPS和电子海图等功能,使用了32位嵌入式处理器,系统从GPS系统实时获取船舶位置(包括经纬度与时间等)和航行信息(包括船速与航向等),在电子海图上显示相关导航信息,用户通过遥控器或键盘操作,提供海图漫游、海图查询等航行信息的查询及管理。

1 GPS船用导航系统硬件体系结构

图1为GPS船用导航系统硬件体系构成框架。它主要包括以下模块:处理器、存储器(RAM、ROM)、扩展存储设备(Nand Flash)、I/O 设备(键盘及显示设备)、标准通信接口(UART)等。

本系统使用华邦(winbond)公司的32位嵌入式处理器,该处理器采用嵌入式ARM9处理核,采用RISC技术,主频为75 MHz,具有强大的处理能力,可外接键盘和鼠标,可直接驱动VGA显示器。处理器中有2个标准UART通讯口,一个串口用作调试接口与PC机超级终端通讯,另一个用作与GPS接收板通讯;遥控(或声纳)采用中断实现;使用2片HY57V641620HGT-H组成4 M×32 Bit的内存空间,用于程序运行;系统外扩16 MB Nand Flash存储器,用于存放海图数据;512 KB Flash外扩空间,用于存储操作系统应用程序。

图1 GPS船用导航系统硬件构成框架Fig.1 Hardware frameword of GPS navigation system in ship

2 GPS船用导航系统软件体系结构

GPS船用导航系统,采用自主知识产权的控制软件,控制功能强,不易移植,产品保密性能好。电子海图先进行格式转换,删除冗余数据,进行数据压缩、建立网络索引后存入存储器,在专用控制软件上使得系统响应速度大大加快。GPS船用导航系统的软件体系结构如图2。自底而上包括以下三个层次:(1)硬件驱动层程序:显示器驱动程序、遥控指令码功能程序、Nand flash读写程序、MPU的初始化配置程序、串口等其它设备驱动程序;(2)文件管理系统层程序;(3)应用程序/用户层程序。

2.1 硬件驱动层程序

硬件驱动层程序主要解决与对应的硬件设备操作时的控制及数据、地址传送问题。在嵌入式电子海图仪中主要有:Nand flash的读写驱动程序、ROM芯片的操作驱动程序、VGA设备的驱动程序、MPU初始化复位程序等。

2.2 文件管理层程序

文件管理层主要是建立嵌入式文件系统,以对Flash存储器中的数据进行基于文件编号的存储管理,同时对Flash本身的坏损单元提供有效的坏损管理机制。由于没有通用的操作系统可移植,这里使用了DOS的FAT进行文件管理,因Nandflash的容量不大,系统用FAT16来对海图仪中需使用的文件进行管理。

在FAT16文件管理系统程序的编制中,需要有扫描存储器并标记坏存储页的程序,使能对Nand Flash存储器进行格式化。在建立FAT16文件系统后,嵌入式应用平台上就可使用文件来对数据进行管理,并可以调用fopen()、fwrite()、fread()、fclose()等文件管理功能函数对数据进行访问,大大地提高了嵌入式系统的数据管理能力及数据访问速度。

图2 GPS船用导航系统的软件体系结构Fig.2 Software structure of GPS navigation system in ship

2.3 应用层程序

嵌入式电子海图仪中应用层程序大大小小很多,主要用以实现不同的操作及设置功能(如系统在线下载程序、GPS信息的处理与显示程序、电子海图的显示刷新程序及各种功能按键的操作程序等)。由于采用非实时操作系统,也不太分得清应用程序与接口函数的界线,通常把嵌入式程序分成两部分,即前台程序和后台程序。前台程序通过中断来处理事件,其结构一般为无限循环;后台程序则掌管整个嵌入式系统软、硬件资源的分配、管理以及任务的调度,是一个系统管理调度程序。这就是通常所说的前后台系统。一般情况下,后台程序也叫任务级程序,前台程序也叫事件处理级程序。在程序运行时,后台程序检查每个任务是否具备运行条件,通过一定的调度算法来完成相应的操作。

3 电子海图数据的组织结构

国产化嵌入GPS电子海图仪中海图的数据使用自定义的数字矢量格式,按属性不同分为以下三类数据:(1)点数据(标注)。表示海图上的一个点位置,具有经纬度参数或用来说明的中文字符或英文字符、数字等,象助航标志、锚地设施、海上物标、碍航物等。(2)线数据。表示海图上的一开放线段,有直线、折线、任意弧线。由最小点分辨率的点构成,象航道航线、等深线等。(3)面数据。表示海图上的由一封闭线条构成的面,代表某一区域面积,像陆地、码头、不同水深区、滩地,都是由不同的普染(颜色)区域显示出来。

3.1 电子海图数据的格式

嵌入式电子海图仪中,电子海图数据的格式需按点、线、面类型分类,并且按一定的规律连续存储[3]。从第一个起始地址开始,首先要指明是点、线还是面,另外还需指明点、线或面的类型,如果是线或面数据还应指明有多少个点数据,紧接着是表示点特性的数据。不同的点因属性不同,后面的数据结构也不尽相同。如一条表示线的组成点数据,在存储器中的数据结构如图3所示。

在线数据的存储结构中,第一字节是用来区别是点还是线或面,如0表示点,1表示线,2表示面。第二个字节是标明线类型的,如0表示电缆线,1表示等深线,一共可表示256种线的类型。第3到6个字节(共32位四字节)表示组成线的点的个数,最大点个数可达232个。从第七个字节开始是连续的点的经纬度数据,每个点的经度及纬度各占四个字节,数据是按度分秒的十进制数排列得到的,如124°13′58″的经度值,在存储器中的值是1241358(H)。

图4是面数据的存储结构图,它的特征意义与线数据的结构相似。

点数据的存储结构在嵌入式海图系统中有几种不同的结构,因为标征不同类别的点内容不同,因此结构也有差别。图5是地名数据的存储结构。前2个字节的意义与线或面一样,因是点数据,所以第三个字节开始就是该点的经纬度数据。接着为了显示地名时的分级控制,有一个表示显示级别的字节,就是控制海图显示在不同的放大倍数下该点地名是否显示,接着的字节是说明地名的标注。当显示点是灯标时,第11个字节是用来表示灯标属性,因不同的灯标图符不同。

图6是嵌入式电子海图文件中的点线面数据格式例子。

3.2 电子海图显示数据的块计算

在嵌入式电子海图显示系统中,为了提高显示的速度,使用了显示区域缓存技术,要显示的数据都是以块为单位组织的。数据块的大小与显示的屏幕尺寸有对应关系,如显示器采用分辨率为800×600点,则显示缓存块数据的大小也必须为4:3,这样电子海图显示数据的块单位可定为经度方向120′,纬度方向为90′。当显示一屏海图数据时,按每点一个字节(256色显示)计算需要的显示缓存为480 000字节。图7为海图显示缓存数据块中的经纬度比例范围图。

图3 线数据的存储结构Fig.3 Storage sturcture of line data

图4 面数据的存储结构Fig.4 Storage structure of surface data

4 电子海图显示程序的处理

电子海图数据的实时显示是系统的核心程序。该程序根据给出的中心点位置(通常为GPS给出的船位点坐标)及显示比例范围参数,确定需要显示的空间数据范围,并从海图文件中找出符合显示范围的数据,从海图文件中读出图层分层控制信息以实现电子海图的分层显示控制,最后按各类实体对应的符号要素代码绘制相应的图形符号在内存中快速完成海图的绘制[4-6]。电子海图显示流程如图8所示。

嵌入式电子海图显示系统中使用了16 M字节的内存空间,电子海图数据一般在10 MB左右,剩下4 MB中用于显示缓存作图的为480 KB,这是按800×600点显示屏幕计算的。剩下的空间用于程序计算及汉字库、文本等数据的存放。由于显示缓存只有一块,因此在每次显示范围发生变化时,都要从内存中将海图数据重新读算一遍,再重新进行画图。这在海图移动操作中会影响刷新的速度,使用大容量位图缓冲内存技术可提高海图在移动或漫游时的刷新速度。图9为GPS船用导航系统信息显示窗口图。

图5 点(地名)数据的存储结构Fig.5 Storage structure of the data

图6 电子海图文件中的点线面数据格式例子Fig.6 Sample of dot,line and surface data structure in electronic chat files

5 GPS船用导航器主要技术指标

中央处理器:ARM RISC CPU 100M

存储器:16M SDRAM 16M FLASH MEMORY

显示:SVGA 800X600 256 COLOR

接收器:十二通道C/A码单频GPS接收板

定位精度:±20 m(2DRMS)

测速精度:0.02 M/S

捕获时间:10S(典型值)

跟踪动态:速度850节、加速度4 G

输入输出:NMEA-0183

工作温度:-10℃ ~+50℃

存储温度:-40℃ ~+80℃

相对湿度:40℃时为95%

电源:DC10V ~40V

功率:3.5W

航路点:1000

标记:1000

即时船位:1000

航线:20条 每条50点

图7 海图显示数据块中的经纬度比例范围Fig.7 The scale range of coordinates in chat display data block

图8 嵌入式电子海图显示流程图Fig.8 Embedded electronic chat display flow chat

6 小结

国产化GPS电子海图导航系统,使用嵌入式32位处理器及文件管理系统,具有海图漫游、海图查询和航行信息管理等功能,具有价格低、操作方便、使用可靠等优点,已经生产应用2年多。电子海图仪中海图数据使用自定义数据格式,方便实现分级显示、放大缩小等海图操作功能,而且有利于知识产权的保护,也可大大减小文件数据的容量。有待改进的地方有:VGA分辨率不够高(目前为800×600点)、海图不能连续旋转(现可作 90°旋转)。

图9 GPS船用导航系统信息显示图Fig.9 GPS navigation system in ship information display chat

[1]吴广华,张杏谷.卫星导航[M].北京人民交通出版社,1998:1-10.

[2]贾银山,贾传荧,魏海平,等.基于GPS和电子海图的船舶导航系统设计与实现[J].计算机工程,2003,29(1):194-195.

[3]葛志明,赵学俊,李 峰.长江电子航道图显示与信息系统[J].海洋测绘,2005,25(2):64-66.

[4]关 劲,张勇刚,李 宁,等.电子海图快速显示方法研究[J].中国航海,2004,61(4):57-59.

[5]王瑞华,许兆新,蒋岳志.电子海图实时平滑旋转实现方法研究[J].船舶工程,2004,26(6):71-74.

[6]吴 青.电子海图系统中雷达图象与海图图形叠加技术研究[J].江苏船舶,2004,21(5):32-34.

猜你喜欢

海图船用字节
山钢拿下船用9Ni钢订单
No.8 字节跳动将推出独立出口电商APP
纸海图AI小改正制作模式探讨
船用冷藏装置控制系统的重新设计及应用
船用灭火器维护保养经验与建议
No.10 “字节跳动手机”要来了?
基于MSP430的四旋翼飞行器的S-BUS通信协议的设计与实现
少林功夫拳(三)
点亮兵书——《筹海图编》《海防图论》
关于电子海图单元叠盖拼接问题的探讨