船舶自动识别系统(Automatic Identification System,AIS)诞生于20世纪90年代。它是集通信、网络和信息技术于一体的多学科高科技的新型航海助航设备和安全信息系统。
1 AIS的关键技术研究
AIS配合全球定位系统(GPS)将船舶对地速度、位置、目的地、对地航向及航向改变率等船舶动态参数,和船舶名称、船舶类型、呼号、吃水及危险货物等船舶静态数据由甚高频(VHF)频道向附近水域的船舶及岸台广播,使邻近船舶及岸台能及时掌握附近海面所有船舶的动静态信息,以迅速互相通话协调,采取必要避让行动。
AIS系统的硬件主要由四部分组成:
通信模块 利用VHF数字通信通道转发和接收广播的GPS等船位信息;
信号采集部分 将接收到的信息经过解码,转换位数字信号;
信息处理部分 采用一个嵌入式微处理器系统,构成整机的控制中心,存储、更新本船的动静态信息,将必要的信息送去发射,将部分信息送显示器;
显示部分 显示重要的参数和信息,便于监视。
2船舶避碰系统整体结构设计
本文是在AIS提供信息的基础上,采用DSP和FPGA设计船舶避碰系统。其中高速浮点DSP作为AIS数据接收、船舶避碰算法和系统控制的微处理器。一块容量合适的FPGA集成船舶避碰系统所需其他的I/O功能,实现外围输入输出接口如其他串行口、ADC数据采集缓存等硬件电路,使部分数据采集和数据通信的I/O任务由DSP和FPGA协同承担,从而使DSP减轻负担,可以更专注于避碰的复杂算法。FPGA还可以实现液晶显示接口和键盘接口。通常液晶显示器带有液晶显示控制器,可以方便地与微处理器接口连接。液晶显示接口减少了DSP的外设访问时间。
根据船舶避碰系统的任务设计了系统整体结构如图1所示:AIS信息经解码、电平转换进入DSP串口,由于DSP芯片计算量大,需要存储扩展。其他传感器的输出信号经调理及补偿之后,经A/D转换进入FPGA;GPS、雷达等输出的串行数据由DSP通过FPGA内串行口采集;系统输出数据则由FPGA内的液晶显示接口送到液晶显示控制器;为方便系统调试,在FPGA内实现4×4小键盘接口;另外DSP和FPGA内各模块需要进行通信。
3主要模块设计
本方案中DSP主要用于AIS信号接收、船舶避碰参数运算和系统控制。所以选择C5402作为CPU,它可以根据需求工作在不同的模式下,主要用MP/MC的电平来决定,当MP/MC为高电平时,DSP工作在微处理器模式,此时接收来自AIS的数据,当MP/MC为低电平时,DSP工作在微计算机方式,用于避碰参数运算和系统控制。
3.1 AIS信息的采集
AIS信息经过鉴频、解调电路、RS 232电平转换以后进入微处理器。此处主要由软件实现。系统程序包括系统初始化程序、串口中断程序、数据处理程序、数据显示程序等。系统的初始化包括串口初始化、变量定义、文件设置、数据库的生成及处理等;串口中断程序主要完成AIS数据的采集;数据处理程序主要完成将AIS输出的数据格式转换为其他基于AIS信息的系统所需的格式,在数据处理过程中必须进行AIS数据的校验判断,以确保采集数据的可靠性;数据显示程序主要完成AIS数据的显示。其中信息解码的程序流程图如图2所示。
3.2 DSP和FPGA的接口设计
比较Altera公司的多个系列的FPGA产品,本设计选取CycloneⅡ系列的芯片EP2C35F672。它主要具有以下特性:嵌入式存储资源支持各种存储器应用和数字信号处理(DSP)实施的要求,引脚数量充裕有160个,可提供100个I/O用户引脚,且I/O具有三态缓冲、总线状态保持等功能,该芯片由128 MB FLASH内存和8 MB SSRAM存储区和两个串口。它可以满足本系统所需的数据采集控制和串行口复用等功能。接口电路如图3所示。
在上述设计中AIS信息的串口直接接到DSP芯片上,是为了避免直接应用多串行口中断共享方式可能会不可靠。原因是假如在服务串行口A时上一次检测过的串行口B发生了中断,此时中断服务程序如果直接退出,则中断B就未被服务。这种情况下,CPU可能会再次进入中断服务程序,多次进出中断必然造成处理器资源的浪费。更糟糕的是退出中断服务程序时,由于DSP中断标志位已经被清除且DSP中断引脚保持高电平,此时中断就不会再被标志,造成中断死锁导致外部中断根本无法继续工作。为确保DSP芯片及时接收到AIS信息,为AIS单独留下专用串口。
3.3 DSP和FPGA与其他外围电路的接口设计
船舶避碰系统中设计了基于同一片FPGA上的液晶显示接口和键盘接口,使避碰系统具有更强的功能。键盘接口利用FPGA内的硬件资源设计,在不影响DSP进行船舶避碰算法运算的条件下,用于船舶避碰系统的调试和控制。
同时完成了A/D、D/A模块的接口设计。模拟信号经过前置滤波、放大,再通过多路模拟开关和A/D转换器转换成数字信号进入FPGA,A/D、D/A模块与DSP的接口电路如图4所示。
4 结 语
本文研究的内容为基于AIS的船舶避碰系统,涉及到信息的解码过程,利用DSP作为系统的微处理器和FPGA作为接口的扩展与协调,根据接收的信息,进行船舶避碰算法的运算。