配色: 字号:
基于AIS的船舶避碰数据采集系统设计
2012-11-01 | 阅:  转:  |  分享 
  
基于AIS的船舶避碰数据采集系统设计



摘要

AIS(AutomaticIdentificationSystem)是工作在VHF海上频段的船舶和岸基广播数据传输系统。它是一种可在船与船之间以及船与岸之间交换数字信息的工具。本文首先对AIS及基于AIS船舶避碰系统进行简介,对AIS的基本组成、基本功能,AIS的工作过程、通信协议、技术标准、本课题国内外研究动态等进行综述。研究了基于AIS的船舶数据采集系统,从静态信息:船长及宽度、船舶类别及AIS定位仪天线在船舶所处位置等;动态信息:精确及完整的船舶位置对地航线、对地速度、船首向和转向速度等;航行相关信息:船舶吃水、目的地、计划航行路线等;安全相关的短信息:重要的航行警告或重要的气象警告等进行整体的研究及分析。

本文先对数据结构进行分析,从本船传感器提取的信息数据主要有DGPS数据、Gyro数据、Log数据等。由DGPS数据可以得到船舶对地航向、对地航速、GPS位置信息。由Gyro数据还可以得到转向率,由Log数据可以得到航速。对这些数据进行滤波处理,可进一步得到更准确、可靠的数据。针对接收到的数据,设计了模块电路:鉴频电路的设计,采用了互感耦合鉴频器。解码电路的设计,用FSK调制解调电路进行说明,并对其相关的原理进行了介绍。采用了C5402DSP芯片,并对它的功能,模块流程图进行了详细的介绍。本文还采用了RS-485接口电路和LCD显示电路的设计。最后还进行软件流程的设计,并编译部分相关的程序。

关键词:船舶避碰;AIS;数据采集



Abstract

AIS(AutomaticIdentificationSystem)isaworkinVHFmarinebandradiotoshipsandshore-baseddatatransmissionsystem.Itisinbetweenvesselsandbetweenvesselsandshoreexchangeofdigitalinformationtools.ThisarticlefirstAISandAIS-basedcollisionavoidancesystemprofile,thebasiccomponentsoftheAIS,thebasicfunction,AISoftheworkprocess,communicationprotocols,technicalstandards,applicationresearchofthistopicaresummarized.OfAISship-baseddataacquisitionsystem,fromstaticinformation:thecaptainandthewidthoftheAISshiptypeandshiplocatorantennalocation,etc.;dynamicinformation:accurateandcompletelocationofthelandroutesofships,andgroundspeed,thebowtospeedandsteering;navigationinformation:draft,ships,destination,plannednavigationroutes;security-relatedshortmessage:importantnavigationalwarningsorimportantmeteorologicalwarningstotheoverallresearchandanalysis.

ThisarticlefirstanalyzesthestructureofthedatafromtheshipsensorinformationdataextractedmainlyDGPSdata,GyroData,Logdata.DGPSdatacanbeobtainedbytheship-to-groundcourse,groundspeed,GPSlocationinformation.DatafromtheGyrocanbeturnedtotherateofspeedbytheLogdatacanbeobtained.Filteringofthesedata,furthermoreaccurateandreliabledata.Forthereceiveddata,thedesignofthemodulecircuit:Kam-frequencycircuitdesign,usingamutualinductancecouplingfrequencydiscriminator.Decodingcircuit,withFSKmodulationanddemodulationcircuitsareexplained,anditsrelatedprincipleswereintroduced.UsedC5402DSPchip,anditsfunction,moduleflowchartforadetaileddescription.ThisarticlealsousesRS-485interfacecircuitandtheLCDdisplaycircuitdesign.Finally,thesoftwaredesignprocess,andcompilesomeoftherelevantprocedures.

Keywords:Collisionavoidance;AIS;DataAcquisition

目录



第1章绪论 5

1.1课题的目的和意义 5

1.2课题的提出 5

1.3国内外发展现状 5

1.4论文的构架 6

第2章AIS简介 7

2.1AIS的由来 7

2.2AIS的功能 7

2.3AIS的工作过程 7

2.4AIS的技术标准及特点 8

2.5AIS工作模式 9

2.6AIS协议数据格式与内容 10

第3章数据采集系统方案设计 13

3.1基于AIS船舶避碰系统的提出 13

3.2基于AIS船舶避碰系统的功能与结构 13

3.2.1基于AIS船舶避碰系统的功能 13

3.2.2基于AIS船舶避碰系统的结构 14

3.3数据采集系统方案的设计 15

3.4DSP芯片模块的设计 16

3.4.1AIS的关键技术研究 16

3.4.2船舶避碰系统整体结构设计 16

3.4.3主要模块划分 17

3.4.4AIS信息的采集 17

3.4.5DSP和FPGA的接口设计 18

3.4.6DSP和FPGA与其他外围电路的接口设计 19

第4章模块电路的设计 20

4.1鉴频电路的设计 20

4.2FSK调制解调电路的设计 21

4.2.1基本原理 21

4.2.2FSK信号调制方式的实现 22

4.2.3FSK信号解调方法的实现 23

4.3FSK和DSP接口电路的设计 24

4.4RS-485接口电路的设计 24

4.4.1RS-485接口标准概述 24

4.4.2RS-485的特性及原理 24

4.4.3RS-485系统调试期间出现的问题 25

4.5RS485与DSP接口电路设计 26

第5章基于AIS船舶避碰系统软件设计 27

5.1.引导程序流程设计 27

5.2初始化程序设计 31

5.3DSP运算主程序 32

5.3.1DSP中断服务子程序 32

5.3.2接受数据中断服务子程序 35

5.3.3发送数据中断服务子程序 35

小结 37

致谢 38





第1章绪论



1.1课题的目的和意义



船舶自动识别系统(AutomaticIdentificationSystem,简称AIS)是一种以自组织时分多址为核心技术的船与船,船与岸台之间通信导航系统。船舶自动识别系统工作在海上VHF频段,运用SOTDMA方式发射船舶数据,将本船的信息:海上移动识别码,船名,静态信息及动态信息等,经接口电路转换后送信息处理器,经处理后的信息通过接口电路通过VHF发信机发送到VHF信道,在此信道守听的目标船就可以接受。设置AIS的目的是为了自动船舶识别、避免船舶碰撞、协助目标跟踪、减少话音报告、简化信息交换并提供附加信息以帮助了解船舶交通状况。AIS具有补充现有船舶导航存在的缺陷,减少船舶碰撞事故;提高搜救遇险船舶的速度;增强雷达,船舶交通管理系统的功能。AIS能自动与目标船舶/岸台建立通信,并保证通信的可靠性,帮助船舶有效导航,改善航行安全,增对覆盖区域船舶的识别和监控;为船舶航行提供新的观测手段。

1.4论文的构架

本论文主要分四个部分,分别为二、三、四、五章。第一部分从AIS的由来、工作过程、技术标准及特点、工作模式及协议数据格式切入介绍。第二部分对数据采集系统进行整体的方案设计,包括总体框图的设计,DSP芯片框图的设计和FSK调制解调电路框图的设计。第三部分提出了各个模块电路的设计,鉴频电路采用互感耦合鉴频器进行设计,解码电路的设计,显示电路LCD的设计以及RS-485接口电路的设计,并对测试过程可能出现的问题进行了分析。第五部分提出整个软件的流程及各个部分的模块设计,最后编写相关的程序。





第2章AIS简介

2.1AIS的由来

目前,航运事业发展迅速。各个国家的船舶正朝着大型化、高速化方向发展,船舶数量和水域交通密度及危险货物装载量不断增加,海损事故时有发生,严重威胁船舶航行安全和海洋生态环境。为了改变这种状况,瑞典提出了AIS系统。国际海事组织(IMO)、国际航标协会(IALA)和国际电信联盟(rru)等国际组织经过多次研究和讨论,基本确定了船舶自动识别系统(AIS—AutomaticIdentificationsystem)的概念、工作频率、系统构成、信息交换方式和系统性能标准。

2.2AIS的功能

(1)系统可在无人介入的情况下,主动连续地向合适配备的岸台、其他船舶或航空器提供信息,包括船舶识别、类型、位置、航向、航速、航行状态和其他与安全有关的信息;

(2)系统能自动接受处理来自他船的操纵和船位信息;

(3)系统内设测试设备(BITE);

(4)能与AIS岸台交换数据;

(5)能识别船只、检测和跟踪船舶;

(6)大大简化了信息的交流量和交流次数;

(7)提供其他辅助信息以避免碰撞发生。



2.3AIS的工作过程

AIS是依靠岸基的VHF岸台和移动的船舶安装无线应答器系统来工作的。基于一个可由控制站操作员调整的时间表,基站对所有的船在70信道上发出一个电信号。这个信号可以是广域的,也可以是局域的。只有安装了AIS系统的船对呼叫产生应答(不是己经登录到系统的船)。基站在船的移动中自动获得信息。AIS电脑将决定在工作信道上进入船舶的系统或者是在70信道上监视船舶。在70信道上的监视要遵守国际电信联盟无线电分委会的最新规定,而且只能在船台没有容量工作在AIS信道上或者AIS信道无法操作的时候。

AIS基站将一组数字和信道按顺序分配给船台。船台就会切换到AIS信道。在适当的时间,基站会将其他所有的船在系统中的数据通知给船台。通过登录到系统,所有的船台都会得到新船的信息。随着船沿着自己的航线距离传送塔的远近不同,船台的高低功率也可以自动或者手动切换。AIS基站可以控制121组用户,每组用户可以达到121艘船。AIS操作者能把船舶在组和组之间调换,并可以改变每组的时间间隔。

AIS电脑与所有组的所有船在信道70上保持联系。系统确认70信道必须和国际电信联盟无线电分委会推荐的载入信道相一致。AIS基站将在适当的时间编排船舶报告的顺序。在船舶工作的双工信道向基站报告信息的同时,基站处于重复模式并同时将收到的传播信息,如位置、航线、航速等像发送船一样广播出去。在这种方式下,所有的轮船包括只能在70信道上广播的船(70信道不能接收工作信道的信息)在工作信道上都能收到控制区域内其他船舶的相关信息。如果配备了电子海图显示和信息系统(ECDIS)的话,就不但能够看见控制区域内自己的位置,而且能看到所有其它的船。这就使系统成为了一套避免灾难发生的工具。

船与岸,船与船,岸与船的信息传递已经实现了。操作员以特定的目的输入一个空的表格文本信息。AIS电脑从自己的操作员或者船台得到发送指令后会将信息打包成合适的尺寸和次数并发送出去。随后的信息传递都要用到AIS岸塔。在这种方式下,如果船舶在控制区域内,他们能够互相收发信息。AIS电脑所决定的打包时间,对于船舶报告位置的过程来说,有一个极小的时间间隔。然而,如果船舶离开了基站的跟踪区域,它就会自动利用一个船一船调制解调器来直接实现与其他船的通信,而不用通过岸塔。在这种情况下,信息的传送不是通过岸塔来实现的,而是直接广播给其他船,并从其他船接收。

AIS控制台建立的位置是为了让经过授权的岸台用户来观察,而不是控制整个的或任何部分的控制区域。经过授权的用户可以通过“镜像”位置看到控制台操作员所看到的一切,并能放大或者缩小控制地带中的任何区域。被选择的船舶的所有可能信息都会在屏幕上显示出来。电脑屏幕可以将所有航船的电子海图信息和图标再发送出去。操作者自己的信息,跟所有被选择的船一样,包括航程、航线的数据,在任何时间都可以提供。

如果航线信息已经被系统加载,那么系统就会基于航线和一定的旋转半径显示出用户的位置。这就给船长或者领航员提供了诸如航线背离信息之类的重要指导数据。航线背离信息指的是船在航行中偏离中心航线或左或右的距离(屏幕中的在本船偏离中心航道左/右的图标颜色不同),并作为航行操作比如跨越或者旋转中的倒计时标准。航线背离信息以英尺或者分米做最小单位来表示。

如果系统接到任何船舶的数字选择呼叫(DSC)的求救信号,它马上发出一个可以听到或者可以看到的警报。如果船舶不在系统内,它会自动登录并在信道70上追踪。一个灾难响应信号就这样产生了。如果AIS系统在经过1O次循环呼叫后没有收到船舶的回应位置报告,这艘船在屏幕上将显示成黑色。如果再收到位置报告,那船的颜色再返回正常的颜色。如果船舶超出了行程或者离开了控制区域,系统将把它们清除。它们的图标将从屏幕上移走,它们的数据也从数据显示区域消失。清除的船舶如果重新回到行程或者控制区域,将会在系统下一次轮询的时候自动登录到系统。另外,船站所接收的信息在需要的时候可以被其他媒体转载、保存和重新播放。

2.4AIS的技术标准及特点

《在VHF海上移动频段采用时分多址(TDMA)技术的通用船载自动识别系统(AIS)的技术特性》(简称“AIS技术标准”),是ITUR.M1371-1决议案。标准规定了通用船载自动识别系统的技术细节。它根据开放系统互联模型(OSI)利用物理层、链路层、网络层和传输层说明了系统的网络协议。ITU编制建议案充分考虑了如下的要点:IMO对船用AIS的要求是船舶与船舶之间和船舶与陆岸之间的航行数据交换,其目的是提高航行安全性能;使用STDMA的系统将适应全体用户并能满足对无线电频谱有效利用的要求;AIS主要用于船舶之间的安全监督、船舶报告、船舶交通管理等,其次也可用于通信,但不得影响主要功能;AIS是独立的航行设备,要求具有自动的和连续的工作方式,可用于广播传播信息的模式,但也可使用TDMA技术,工作在设定模式和询问模式;AIS应具有足够的扩容能力,能适应用户数量增加及应用多样化的需要。标准规定了AIS的收发器特性、调制解调方案、数据格式、通信和数据分组、时分多址接入和信道管理。

标准规定了AIS的全球公海运行信道:AIS1(161.975MHz)和AIS2(162.075MHz)。该信道是由1997年10月ITU世界无线电大会(WRC)分配,并记入《无线电规则》的附录S18。新规范的AIS技术特点有:

(1)系统工作特点:

在所有区域内自主和连续工作;由海事管理部门的交管监视中心指配工作信道和模式,以便主管部门控制数据传输的间隔和时隙;数据的传输响应来自于船舶或主管部门的问询,有轮询和受控两种模式。

(2)系统传输的静态信息:IMO编码(如有)、呼号和船名、船的长度和宽度、船的类型、定位天线在船上的位置。

(3)系统传输的动态信息:船位、国际协调时、对地航向、对地航速、航迹向、航行状态、转向率、横倾角(选用项)、纵倾和横摆(选用项)。

(4)系统传输的航行相关信息:船舶吃水、危险货物类型、目的港和预计到达时间、航行计划(选用项)、简明的安全信息。

(5)技术特点:AIS采用OSI(OpenSystemsInterconnection)工作模型,无线传输的带宽为25kHz或12.SkHz(见ITU-RM.1084),调制采用GMSK方案,数据编码为NRZI方式,数据传输的比特率为9600b/s。

(6)AIS的功能特性:与DSC兼容允许访问GMDSSA1海区的海岸站台;允许提供简单的GMDSSA1海区的雷达目标确认;提供了一种AIS信道管理的方法。与12.SKHz窄带信道兼容提供了一种引入新的AIS信道的方法;符合窄频带前向纠错的发射需要;与当前的25KHz宽带系统相兼容。与双工信道兼容协助双工的海岸基站的信号转发;可提供一个半径为100海里的广域覆盖:在广域网覆盖的区域,允许船载的自组织的无错的AIS无线应答器发射信号;

协助访问岸站的服务中心和数据库:NOAAPORTS数据(潮汐、洋流、天气等);国家气象服务中心(图像和文本信息);港口管理服务中心(引水机构,港口代理,港务局,海上运输的中转机构等等)。

2.5AIS工作模式

AIS可以工作在3种不同的通信模式上:自主连续模式,指配模式和轮询或受控模式。默认模式是自主模式,可根据主管部门的需要与其他模式相互转换。

(1)自主连续工作模式(AutonomousMode)

该模式可以在任何区域工作,不需要船上人员操作。当船舶在海上航行时,AIS将在这种模式上发送静态和动态数据。船载AIS应答器监控两个专用AIS频道,寻找空闲时隙发送这些数据。VHF电波覆盖范围内的船载AIS可以接收到这些数据。广播和数据的更新率取决于船舶的航速和航向改变的快慢。通过外界的控制,该工作模式可以与下述两种模式相互转换。

(2)指配模式(AssignedMode)

指配模式适用于交通主管部门管辖的海区,数据发送间隔与时隙由主管部门遥控:当船舶航行于沿岸的船舶密集区域时,主管部门可以根据通信链路的负载情况或其他特殊情况,通过基站控制该区域船舶运行于指配模式,使这些台站使用主管部门的基站所指配的发送时间表。指配模式适用于两个频道之间的交替工作,它只对台站发射位置报告起作用,对台站的其他工作没有影响。

(3)轮询或受控模式(PolledMode)

工作在轮询模式的台站应自动响应来自船舶或主管部门的询问电文,响应应当在接收到询问电文的频道上发送;轮询工作模式与其他两种工作模式不发生冲突。

2.6AIS协议数据格式与内容



AIS中的航行信息是通过数据包来传输的,一帧相当于一分钟,分为2250个时隙,其中每个时隙包含256比特(约26.67ms)。数据打包格式采用简化的HDLC(高级数据链路控制)协议。数据包即一帧的组成结构如图2.1所示。



















图2.1单个时隙的数据组成

下面将根据图2.1对一个时隙的各部分数据作简要的说明:上升沿为8bit,这段时间是用于射频模块进行功率建立的时间,大约为800ms。对准序列称为位同步码(或比特同步码)占24bit,其作用是把收发两端时钟对准,使码位对齐,以给出每个码元的判决时刻。对准序列应为交替的0和1组合的位模式,采用NRZI(反向不归零)编码,并以0作为对准序列的结束码。对于船舶自动识别系统来说,当传输速率为9600bps,对准序列的信息量为24bits时,对准序列信息长度L如式2-1:

L=24÷9600×1000=2.5ms(2-1)

即对准序列将持续2.5ms。若按照IMO规定的性能要求,通报容量为2250个报告/分钟时,一个时隙的时间宽度为26.67ms。对准序列的时间宽度与每个时隙的时间宽度相比,对准序列所占用时隙的时间资源仅为一个时隙的9.4%。这为一个时隙内后面的航行信息编码留有余地,并且对准序列的信息量为24bits,其时间宽度对于码同步硬件设备的时间相应也留有余地。因此当船舶自动识别系统通过VHF接收机检测出0、1交替的序列时,将很快建立码位同步。

开始标志称字同步,占8bit,它表示信息的开始位,由一个标准HDLC标记组成。为了能在接收端正确的区分码字、码句、码帧,需要在信息传输中设置帧同步。AIS的帧同步码为8比特长,由标准的HDLC标志01111110(7Eh)组成,用于检测一个发射数据包的开始,作为信息起始的时间标准。在预设传输分组中,数据部分长度为168比特,信息数据是真正所需要传输的信息内容。它分为两个部分:信息标志和信息内容。信息标志是用来表示信息类别、信息数量、优先级和路径的;信息内容是通信双方所需求的数据,对于AIS而言,主要指航行信息。帧校验序列采用循环冗余校验(CRC)16比特多项式来计算中所定义的校验和,用于检测传输的数据是否有错误。在CRC计算开始时应将CRC码元预设为1,CRC计算中应该只包括数据部分。CRC码常用于串行传送的辅助存储器与主机的数据通信和计算机网络中,是目前通讯系统中被广泛采用的一种编码方法,主要用在同步通讯上。结束标志为8bit,结束标志表示信息传输结束,它与开始标志相同,也是由标准的HDLC标志组成。缓冲码的长度一般为24bit,其用途如下所示:位填充:Obit,是指在输出比特流中有超过5个连续的“1”时,则需要插入一个“0”。对固定长度信息的数据区所有可能的位组合的数据分析表明,其中76%的组合将用3比特或更少比特用于比特填充,加上逻辑上可能的位组合,对这些信息4比特就足够了。距离延迟:12bit,为不同距离的电台发送的数据提供保护时间。转发器延迟:2bit,为双工转发器提供转向时间。同步抖动:6bit,允许每个时隙有一次抖动的时间,相当于3bit,从而保证了TDMA数据链的完整性。

AIS信息传输的信息数据块中的信息内容是最为关键的信息码,它可以帮助船舶了解本船周围的其它船舶动、静态信息。根据前面所叙述的信息数据块中的信息标志情况,可以了解到信息数据块中的信息内容分为四种类型,这四种类型的信息内容分别是:静态信息、动态信息、与航行有关的信息和简明的安全信息。每次船载AIS设备只传送一种类型的信息内容。

①静态信息

IMO编号、船名(呼号)、船长及宽度、船舶类别及AIS定位仪天线在船舶所处位置等;

②动态信息

精确及完整的船舶位置、UTC时间、对地航线、对地速度、船首向、航行状态和转向速度等;

③与航行相关信息

船舶吃水、危险货物、目的地、计划航行路线等;

④与安全相关的短信息

重要的航行警告或重要的气象警告等。

在上述各类信息内容中,有些信息内容不仅包含数据信息,还包含文字或字母与数字的组合。计算机在处理这些含有文字或字母与数字的组合的信息时将不是以二进制形式而是以字符码形式传输的,这就需要在计算机中有一套每个字符都有固定长度比特的数据代码,每个字符需要由一串比特来代表。现代计算机处理字符最为广泛的是使用美国国家信息交换标准码(ASCII)。标准ASCII码是7个比特长,标准ASCII码最多可以代替128个不同字符。由于标准ASCII码被广泛用于各种通信设备、计算机和终端中,因此在AIS传输的信息数据块中,以字符码形式传输的信息将采用标准ASCII码形式。在静态信息、与航行有关的信息和简明的安全信息中,都存在以字符码形式传输的信息,因此这些信息内容要采用标准的ASCII码形式。如果在一次传输中信息量过大,如静态信息和航行安全信息占用416比特,可采用两个或更多连续时隙传输(最多为5个连续时隙)。动态信息是AIS传送的主要信息,它更新速度快,要求信息传输简洁、明了。由于动态信息,均是数字或状态信息,可采用二进制形式传输。在AIS传输的信息中,一般来说动态信息是通常所需要的,其它信息用于实现可靠稳定的传输。动态信息量为168比特,一个数据包占用256比特。故AIS的信息传输效率见公式2-2。

(168/256)×100%=65.6(2-2)



数据采集系统方案设计

3.1基于AIS船舶避碰系统的提出

船舶的海上航行安全的一个主要任务是对危险目标的识别和对危险信息的判断,目前主要靠船载雷达作为掌握其他船舶动态、静态信息的手段。但雷达信号是属于模拟信号,易受天气、海况、地形及周围噪声的影响。雷达的覆盖范围小,目前雷达的量程只能达到几十海里。雷达的精度也不高,并且雷达不可能识别出目标船的船名、国籍等信息。虽然使用雷达能够获得目标的存在和动、静态数据,但由于其存在抗外界干扰能力差、精度不高等这些主缺点,使得雷达在日益繁忙的海上交通,特别是在港口、沿海水域航行方面的应用有很大的局限性。

另外,为了沟通和了解对方船舶的信息和操船意图,岸船、船舶之间的通信现在仍然依靠高频无线电话(VHF)进行通信联系。这种通信方式由人工来完成,效率不高,有时还会因为设备操作及语言交流上存在的问题而不能及时沟通和了解对方船舶的信息和操船意图,造成行动不协调,甚至导致海事的发生。在船舶日益大型化、高速化的今天,海上交通特别是港口水域交通状况也日益繁忙和复杂。基于雷达及VHF的船舶识别和通讯已日益显示其局限性,难以满足未来船舶航行安全的需要,例如:

(1)当遇到雨雪、大风浪等恶劣天气时,雷达的反馈信号可能会受到干扰而出现杂波或丢失目标等问题。AIS尽管在强雷、暴风雨的天气也可能会受到干扰,但由于其工作原理的不同,受恶劣天气的影响较雷达来说还是小的多,并且在AIS的覆盖区,不会因为目标距离的远近、大小、形状而产生信号差异。加之AIS传输的信息量较大,因而有助于船舶在实施避让行动前,对目标的识别和对避碰局面的判断。

(2)当船舶行驶于多岛礁、航道的弯头等遮蔽水域时,雷达将肯定无法探测到这些目标,而AIS在这些障碍物的高度不影响无线电波传输的情况下,仍能发现目标,这可以使航行于遮蔽水域的船舶及早发现目标,避免突然出现目标使船舶一下子陷入十分窘迫的局面中,进而提高在该水域中船舶的航行安全。

(3)为了提高海上航行安全,避免船舶碰撞,长期以来人们对船舶自动避碰系统进行了大量的研究,但一直没有完全解决这个问题。AIS能自动、连续地提供船舶静态的和动态的信息,这可以解决采集目标信息的问题,同时可以快速、准确的建立通信链路,加之AIS具有发送短信息的功能,因而又可将避让意图发给具有碰撞危险的船舶及周围其他船只,以了解避让意图,提高避让动向的有效性,进而提高船舶的海上航行安全。

船舶自动识别系统AIS的出现,为上述问题的解决带来了新的希望。AIS不仅能够解决原来雷达所提供的数据信息,而且能够另外提供许多与船舶有关的静态信息和转向率、航迹向等目标动向意图信息。与自动标绘雷达—ARPA利用雷达作为信息源一样,可以直接利用AIS信息来完成类似ARPA的功能,且响应时间短精度高。这就是基于AIS的船舶避碰系统。

3.2基于AIS船舶避碰系统的功能与结构

3.2.1基于AIS船舶避碰系统的功能

利用本船传感器提供的信息以及由AIS接收机接收到的他船信息,基于AIS的船舶避碰系统可以完成以下主要功能:

(1)本船的船位、航向、航速等船舶动态信息是由安装在本船的GPS、罗经、计程仪等传感器收集的。为了提高这些信息的可靠性和准确度,可以根据实际情况,对它们进行滤波处理后,作为本船动态数据进行显示和传输。

(2)接受、存储并显示他船的静态、动态信息。

(3)利用本船的动态数据,再结合AIS接收机接收到的他船的动态信息,,计算出本船与目标之间的相对航向、相对航速等数据,进而解算出TCPA、CPA等重要的避碰参数。

(4)计算出的TCPA、CPA等参数与设定的安全值相比较,若超出设定的数值,则优先显示危险目标的船名、呼号等信息,并发出碰撞危险警告,同时了,往危险目标发送危险告警,即把危险目标的船名、呼号等静态信息和危险类型按一定的格式编码,通过AIS发送通道广播发送。



3.2.2基于AIS船舶避碰系统的结构

基于AIS的船舶避碰系统的结构如图3.1所示。

从图上可以看出,基于AIS的船舶避碰系统主要由通讯模块、接口电路、控制电路及信息处理模块等部分组成。







































图3.1基于AIS的船舶避碰系统的框图



(1)通信模块:针对AIS采用的STDMA技术的特点,通讯模块包含一个TDMA接收信道和一个TDMA发送信道。接收信道负责接收其他船舶播发的动态、静态信息和附加的一些危险告警信息等;发送信道负责探测存在的空闲时隙,在本船需要播发信息的时候,选出空闲时隙进行播发。每个信道的时隙与外部严格同步,参考时间是协调世界时(UTC)。主要时间来源是GPS时间,但其他来源只要与UTC相关也可使用。另外,通讯模块还包含了一个VHFDSC接收信道。

(2)接口电路:主要是完成信息处理器与外围设备的连接,包括DGPS、罗经、计程仪等传感器接口以及收发信道的接口,所有数据接口为符合美国国家航海电气协会NMEA-0183标准的船用导航设备通用接口。传感器接口将本船的动态信息转化成数字信号输入信息处理器。本船的动态信息主要包括对地航向、对地航速及船位等,可分别由GPS/DGPS、罗经、计程仪来提供。为了便于信息处理器的处理,信息收发信道的接口还具有一定的数据缓冲功能,可以缓冲锁存一桢的数据。

(3)控制电路:根据外围设备的状态及信息处理器的指令,控制电路可以控制外围设备的工作,并把一定的信息反馈到信息处理器。

(4)信息处理器:信息处理器是整个系统的核心,配合控制电路,它主要完成以下操作:存储本船的静态信息(如:船名、船长、船型等)和与航行安全有关的信息(如:船舶吃水、危险货物类型、选用的航线计划等);接收接口电路送来的本船动态信息并进行滤波处理,进一步提高精度和可靠性,然后存储;将存储起来的最新的本船动态信息、必要的静态信息和与航行安全有关的信息按标准格式进行编码送发射机;对接收到的其它船舶信息进行解码,并将解码后的数据存储起来;利用接收到的他船信息和本船信息,解算出TCPA、CPA等避碰参数,并判断是否存在碰撞危险;若存在碰撞危险,则判别危险目标,将危险信息集成到发送的信息中去(危险目标的船名、呼号等),并在本船发出危险警告;将本船和其它船的航行信息以及危险目标信息送监视器显示出来。

(5)信息显示模块:监视系统运行状况,显示各种数据和状态信息。信息显示模块包括一个信息显示器和IBS、ECDIS等接口,即可以在本系统显示,又可以通过IBS、ECDIS等接口送往ECDIS、雷达显示屏等按规定格式显示。





3.3数据采集系统方案的设计

基于AIS船舶避碰系统的数据处理流程大致可以分为数据接收、数据处理、数据发送三个阶段,其数据采集流程图如图3.2所示。

本船数据主要包括GPS接收机接收的位置数据和时间数据、经数字化后的Gyro航向数据、数字化的Log航速数据等。为了便于有效的利用硬件资源,提高数据传输的效率,基于AIS船舶避碰系统先对外部的AIS数据和内部的各传感器数据进行组合,组成标准格式的数据包。从接收到的AIS数据包中提取的主要信息有:

静态信息:IMO编码、呼号和船名;

动态信息:具有精度显示和完整状态的船位、协调世界时间(UTC)、对地航向、对地航速、航行状态、转向率;

基于AIS船舶避碰系统对接收到的数据首先进行分类整理,将接收到的AIS数据和本船的数据分别提取出来。再对相关数据进行滤波处理,提高数据的精度和可靠性。利用这些处理后的数据进行目标距离、相对航向、相对航速、CPA、TCPA等的解算,并进行遇险判断。最后把这些数据按照通用AIS的标准格式发送。

从本船传感器提取的信息数据主要有DGPS数据(包括UTC、经纬度等)、Gyro数据、Log数据等。由DGPS数据可以得到船舶对地航向、对地航速、GPS位置信息。由Gyro数据还可以得到转向率,由Log数据可以得到航速。对这些数据进行滤波处理,可进一步得到更准确、可靠的数据。

数据采集系统总框图如图3.2所示。









图3.2数据采集系统总框图



3.4DSP芯片模块的设计

3.4.1AIS的关键技术研究本文是在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.3船舶避碰系统整体结构



3.4.3主要模块划分

本方案中DSP主要用于AIS信号接收、船舶避碰参数运算和系统控制。所以选择C5402作为CPU,它可以根据需求工作在不同的模式下,主要用MP/MC的电平来决定,当MP/MC为高电平时,DSP工作在微处理器模式,此时接收来自AIS的数据,当MP/MC为低电平时,DSP工作在微计算机方式,用于避碰参数运算和系统控制。AIS信息的采集AIS信息经过鉴频、解调电路、RS电平转换以后进入微处理器。此处主要由软件实现。系统程序包括系统初始化程序、串口中断程序、数据处理程序、数据显示程序等。系统的初始化包括串口初始化、变量定义、文件设置、数据库的生成及处理等;串口中断程序主要完成AIS数据的采集;数据处理程序主要完成将AIS输出的数据格式转换为其他基于AIS信息的系统所需的格式,在数据处理过程中必须进行AIS数据的校验判断,以确保采集数据的可靠性;数据显示程序主要完成AIS数据的显示。其中信息解码的程序流程图如图所示。



DSP和FPGA的接口设计比较Altera公司的多个系列的FPGA产品,本设计选取CycloneⅡ系列的芯片EP2C35F672。它主要具有以下特性:嵌入式存储资源支持各种存储器应用和数字信号处理(DSP)实施的要求,引脚数量充裕有160个,可提供100个I/O用户引脚,且I/O具有三态缓冲、总线状态保持等功能,该芯片由128MBFLASH内存和8MBSSRAM存储区和两个串口。它可以满足本系统所需的数据采集控制和串行口复用等功能。接口电路如图所示。























图3.5DSP与FPGA的接口设计

在上述设计中AIS信息的串口直接接到DSP芯片上,是为了避免直接应用多串行口中断共享方式可能会不可靠。原因是假如在服务串行口A时上一次检测过的串行口B发生了中断,此时中断服务程序如果直接退出,则中断B就未被服务。这种情况下,CPU可能会再次进入中断服务程序,多次进出中断必然造成处理器资源的浪费。更糟糕的是退出中断服务程序时,由于DSP中断标志位已经被清除且DSP中断引脚保持高电平,此时中断就不会再被标志,造成中断死锁导致外部中断根本无法继续工作。为确保DSP芯片及时接收到AIS信息,为AIS单独留下专用串口。

3DSP和FPGA与其他外围电路的接口设计船舶避碰系统中设计了基于同一片FPGA上的液晶显示接口和键盘接口,使避碰系统具有更强的功能。键盘接口利用FPGA内的硬件资源设计,在不影响DSP进行船舶避碰算法运算的条件下,用于船舶避碰系统的调试和控制。同时完成了A/D、D/A模块的接口设计。模拟信号经过前置滤波、放大,再通过多路模拟开关和A/D转换器转换成数字信号进入FPGA,A/D、D/A模块与DSP的接口电路如图所示。









第4章模块电路的设计

4.1鉴频电路的设计

合相位鉴频器又称福斯特-西利鉴频器,如图4.1为其典型电路。相移网络为耦合回路。图中,初、次级回路参数相同,即==,==,==,k=,中心频率均为=(为调频信号的中频载波频率)。是经过限幅放大后的调频信号,它一方面经隔直电容加在后面的两个包络检波器上,另一方面经互感M耦合在次级回路两端产生电压。为高频扼流圈,它除了保证使输入电压经全部加在次级回路的中心抽头外,还要为后面两个包络检波器提供直流通路。二极管、和两个、组成平衡的包络检波器,差分输出。在实际中,鉴频器电路还可以有其他形式,如接地点改接在下端(图中虚线所示),检波负载电容用一个电容代替并可省去高频扼流圈。







图4.1互感耦合相位鉴频电路



互感耦合相位鉴频器的工作原理可分为移动相网络的频率-相位变换、加法器的相位-幅度变换和包络检波器的差分检波三个过程。

(1)频率-相位变换

频率-相位变换是由图4.2所示的互感耦合回路完成的。



图4.2互感耦合回路



(2)相位-幅度变换

根据图4.1中规定的与的极性,图4.1可简化为图4.3。







图4.3图4.1的简化电路

(3)检波输出

在理想情况下,鉴频特性不受耦合回路的幅频特性的影响,调频信号通过耦合回路移相后得到的是等幅电压,鉴频特性形状与耦合回路这一移相网络的相频特性相似,但实际上,鉴频特性受耦合回路的幅频特性和相频特性的共同作用,可以认为是两者相乘的结果。在频偏不大的情况下,随着频率的变化,和幅度变化不大而相位变化明显,鉴频特性近似线性;当频偏较大时,相位变化趋于缓慢,而和幅度明显下降,从而引起合成电压下降。鉴频器对DGPS数据(包括UTC、经纬度等)、Gyro数据、Log数据等进行鉴频,检波然后进行解调。

4.2FSK调制解调电路的设计

4.2.1基本原理

在中、低速异步传输用调制解调器常用FSK信号调制方式,其原理如图4.4所示:FSK信号调制又称数字调频,它是用两种不同的载频,来代表脉冲调制信号1和0,而载波的振幅和相位不变。如果载波信号采用正弦型波,则可表示为:=,图4.4中为1时FSK信号的频率为;为0时FSK信号的频率为将信号分解为(t)和(t)之和,则有:=(t)+(t)根据相关的公式可求得FSK信号的带宽为:=-+式中为对应脉冲调制信号1的载波频率;为对应脉冲调制信号1的载波频率;为数字基带信号的带宽。

















图4.4FSK调制原理

解调是调试的相反过程。由于移频键控调制是将脉冲调制信号1用FSK信号(t),0用(t)表示,那么在接收端可从FSK信号中恢复出其基带信号。本设计采用互感耦合鉴频器进行解调,将(t)恢复成码元1,把(t)恢复成码元0。图4.5为互感耦合鉴频器的原理框图。















图4.5互感耦合鉴频器的原理框图

在接收端FSK信号进入带通滤波器抑制掉干扰,经限幅器消除接收的信号在幅变上的畸变。解调部的关键是鉴频器,它把两种不同的信号变成不同的电压信号,然后送低通滤波器滤除高频分量,从而得到基波的包路线,最后经判决器恢复出其基带数字信号。

4.2.2FSK信号调制方式的实现

采用锁相环芯片CD4046来实现FSK信号的调制,CD4046采用RC型VCO工作方式,9引脚和4引脚分别为压控振频器的输入和输出信号和,输入信号控制对的充放电电流,以改变的振荡频率,引脚11和12分别为和,分别控制的最高振荡频率和最低振荡频率;6引脚和7引脚之间接一个电容,控制的振荡频率;CD4046输出的波形是方波,这样就完成了FSK信号调制,CD4046的接线图如图4.6所示。

































图4.6CD4046接线图

4.2.3FSK信号解调方法的实现

调制信号经过结合设备进行高低压隔离和信号耦合后送往力线信道进行传输。在接收端,先由耦合电容和结合滤波器滤掉50的交流正弦信号,得到高频调制信号,再经过解调电路从接收到的调制信号中恢复出原来的基带信号FSK信号的解调电路如图4.7所示,它主要由调谐电路、检波电路及滤波电路组成。







图4.7FSK信号解调电路



4.3FSK和DSP接口电路的设计

FSK解调电路用CD4046实现从而通过CD4046连接C5402这块DSP芯片,其框图如图4.8所示。































图4.8FSK与DSP接口框图



4.4RS-485接口电路的设计



4.4.1RS-485接口标准概述

RS-485采用平衡发送和差分接收方式实现通信:发送端将串行口的TTL电平信号转换成差分信号输出。经过线缆传输之后在接收端将差分信号还原成TTL电平信号。鱿鱼传输线通常使用双绞线,又是差分传输,所以有极强的抗共模干扰能力,总线收发器灵敏度很高,可以检测到低至200mv的电压。故传输信号在千米之外都是可以恢复的。RS-485采用半双工工作方式,支持多点数据通信。RS-485总线网络拓扑一般采用终端匹配的总线型结构,即采用一条总线将各个节点串接起来,不支持环形或星型网络。如果需要使用星型结构就必须使用4885中继器或者485计程器才可以。RS-485总线一般最大支持32个节点,如果使用特制的485芯片,可以达到128个或者256个节点最大可以支持到400个节点。

4.4.2RS-485的特性及原理

RS-485总线,具有高噪声抑制、宽共模范围、长传输距离、冲突保护等特性。其应用原则:RS-485支持半双工或全双工模式。网络拓扑一般采用终端匹配的总线型结构,不支持环形或星型网络,最好采用一条总线将各个节点串接起来。从总线到每个节点的引出线长度应尽量短,以便使引出线中的反射信号对总线信号的影响最低。RS-485总线上每个收发器通过一段引出线接入总线。引出线过长时由于信号在引出线中的反射也会影响总线上的信号质量,系统所能允许的引线长度也和信号的转换时间、数据速率有关,公式4-1可以用来估算引出线的最大长度

(4-1)

其原理图如4.9所示。



图4.9RS-485接口电路原理图



4.4.3RS-485系统调试期间出现的问题

(1)网络布局不合理

由于总线的不同区段采用了不同电缆,某一段总线上有过多收发器紧靠在一起安装,或者是由过长的分支线引出总线,都会出现阻抗不连续点,所以应该提供一条单一连续的信号通道作为总线,表4.1是整改前后数据接收比较。

表4.1整改前后数据接收比较



能接收的数据量 网络结构 波特率(bps) 整改前 121 树形 14000 整改后 164 单一总线 14400

(2)波特率过高,致使传输数据受限

当前的波特率14400是为了减小传输时间而设置的。但是由于传输线的欧姆阻抗、集肤效应等损耗引起信号畸变,从而通信距离受到限制。又由于损耗与频率有关,故随着数据率的增加通信距离减小。表4.2是实地数据的比较。





表4.2传输距离和传输速率的关系

波特率(bps) 能接收到的最大信号 总线长度(距离采集) 能否全部接收 14400 164 810 否 9600 172 860 否 4800 189 950 否 2400 200 1010 否 1200 208 1050 能 110 208 1050 能

4.5RS485与DSP接口电路设计























图4.10RS485与DSP接口框图







第5章基于AIS船舶避碰系统软件设计

本系统采用TMS320VC5402作为信息采集处理器,需要编写的程序有:DSP程序、CPLD硬件逻辑程序和系统接口软件。DSP程序在CCS下编写,由TI提供的CCS支持C语言,能够对DSP程序进行模拟。为了提高开发效率,DSP程序的框架由C语言编写,核心程序利用DSP汇编语言编写,这样可以兼顾开发时间和程序效率。DSP程序主要包括引导程序、初始化程序、主程序以及多个功能子程序。

5.1.引导程序流程设计

C5402作为微计算机模式(MP/MC=0),在系统启动的时候即运行C5402片内ROM中的引导程序(Bootloader),它可以把主机或外部非易失性存储器中的应用程序引导到片内高速RAM或其他高速存储器中,以保证应用程序能够全速运行。在引导之前,引导程序要先设置CPU的状态寄存器:INTM置“1”,以关掉全部中断,OVLY置“1”,使片内的DARAM映射到程序/数据区,以便让引导程序使用片内存储器:设置软件等待状态寄存器(SWWSR),把全部的程序、数据区的等待时间初始化为7个等待状态。

C5402的引导流程图如下图5.1所示:





















图5.1C5402的引导流程图

当上电启动C5402检测其MP/MC引脚为低后(即DSP设置为微计算机方式),则C5402进入片内Bootloader程序。进入Bootloader后,首先由Bootloader进行引导模式选择。如有INT2请求中断,则进入HPI引导方式,否则,再检测如有INT3请求中断,则进入串行EEPROM引导方式。接下来依次检测并行引导、标准串口引导、I/O引导,最后再第二次检测HPI引导。VC5402的引导模式选择流程如图5.2所示。根据本系统的实际情况,在本系统的设计中采用16位EEPROM并行引导方式,即从Flash内加载应用程序。

Bootioade在检测到串行EEPROM引导无效后,即执行并行引导模式检测。并行引导模式是通过16位的外部数据总线(即外部存储器接口)从外都存储器读取引导表,并将程序代码传输到系统定义的程序区,即片内RAM中。引导程序支持8位或16位的并行引导模式。在这两种模式下都可以配置SWWSR寄存器和BSCR寄存器,以便支持不同速度的EEPROM或Flash,其默认的设置是等待7个时钟周期。

并行引导模式下,引导程序先从I/O口的OFFFFH处读取16位数据作为引导表的地址,然后以此地址在数据区定位引导表。引导表的第一个字是引导方式关键字(BootRoutineKey-word-BRK)。接着读取BRK,当BRK=10AAH时,进入16位并行EPROM引导方式;当BRK=XX08H时,再读引导表的第二个字。当第二个字为XXAAH时,则进入8位并行EPROM引导方式。

若上面的检测都没有成功,则引导程序再从数据存储器的OFFFFH处读取16位数作为引导表的地址,然后再以此地址在数据区定位引导表。同样,引导表的第一个字为10AAH时,进入16位并行EPROM引导方式;否则,进行8位并行EPROM引导方式检测。

读取引导表的第一个字之前,引导程序并不知道存储器的数据位宽度是8位还是16位。而地址肯定是16位的,所以在8位并行EPROM引导方式检测时,引导程序一定要读取数据存储器的OFFFFH和OFFFEH这两个地址的内容才能得到正确的引导表地址。先读引导表的第一个字节,其值为XX08H时,再读引导表的第二个字节。当第二个字节为XXAAH时,则进入8位并行EPROM引导方式。图5-3为并行引导的流程图。

由TMS320VC402的地址是16位的,因此引导表可以有放在C5402外部存储器任何地址。设系统DSP的外部存储器地址空间确定为04000H-OFFFFH。在Bootload的过程中,当引导程序在引导表的开始读到有效的关键字10AAH确定了引导模式后,接下来读的两个字就是SWWSR寄存器和BSCR寄存器的设置值。在引导时,一旦读取到这两个字,C5402的SWWSR寄存器和BSCR寄存器的设置立即生效,并影响后面的引导过程。

外部存储器使用的是AT49LV1025-70JC,速度为70ns,DSP的读周期为10ns,因此软件插入等待状态为8,根据SWWSR中位的定义,SWWSR的值为1000001001000100B,即为8244H。为了更有效的利用存储器,在本系统中存储器块大小设定为32K(BSCR/BNKCMP=1000B);在引导过程中关闭DSP的I/0接口(BSCR/EXIO=0B)、挂起总线(BSCR/BH-1B)、禁用HPI口(BSCR/HBH=1B)。程序区与数据区之间互柏访问要插入一个等待时钟周期(BSCR/PS-DS=1B)。所以BSCR的值为1000100000000000B,即为8800H。最后确定了程序代码的入口地址后,利用HEX500工具,选择井行16位引导模式,编译、连接,就可以自动生成引导表,并烧录在FLASH中。













































































图5.2VC5402的引导模式选择流程

















































































图5.3并行引导流程图





5.2初始化程序设计

为了能够使系统正常工作,在系统上电或重新启动后,还要运行初始化程序,以对系统硬件进行配置,主要使对TMS320VC5402和EPF10K10A进行配置。在C5402引导完成后,即转入应用程序。在运行应用程序时,必须首先运行初始化程序以确定C5402以及其外围接口的运行状态,使C5402能够正常的下作。

C5402的初始化主要有以下几步:

(1)对PLL编程,设置DSP内部时钟,(CLKMD寄存器);

(2)重新设置软件等待状态(SWWSR寄存器)和存储器边界切换控制(BSCR寄存器),使DSP能够正确快速的访问外部存储器;

(3)设置McBSP口的工作状态(SPCR10,SPCR20,RCR10,RCR20,XCR10,XCR20,SRGR10,SRGR20,PCRO等寄存器);

(4)设置DMA的工作状态(DMSCR#,DMDST#,DMCTR#,DMSFC#,DMMCR#,DMGSA,DMGDA,DMGCR、DMGFR等寄存器);

(5)对HPI口编程以确定其工作状态(HPIA,HPID,HPIC寄存器)。DSP的初始化程序见附1,其流程图如下;





































图5.4TMS320VC5402初始化流程图



5.3DSP运算主程序

C5402的程序采用模块化设计。需要实现的各种功能由各种中断服务子程序来实现,主程序通过检测实际工作状态,来分别调用不同的服务子程序。DSP的主程序流程图如5.5所示。

在系统启动进入正常工作状态后,C5402首先检测是否有键盘指令输入,即进入键盘控制程序和键值处理程序。接着检测是否有主机的控制命令或数据输入,若有主机中断,则表明主机需要建立通信,C5402就进入与主机通信子程序。在接收到本船信息后,立即对他们作滤波处理,并把结果存储在本船信息的地址里。若接收的是它船信息,即结合本船信息进行碰撞危险参数计算并判断。如果存在碰撞危险,立即用各种途径发出警告,达到船舶避碰的目的。



5.3.1DSP中断服务子程序

C5402具有5个外部中断源(NMI、INT0、INT1、INT2、INT3),NMI为非屏蔽中断,具有最高优先级,用于系统的重新启动等紧急情况;INT2用于HPI口,用以建立与PC等上位机的通信;在本系统中需要用到的两个McBSP口、TIMER0(0号定时器)及DMA通道都由他们自己专用的中断源。另外,C5402还拥有大量的软件中断资源,因为C5402具有足够的中断资源,为了提高其运行效率,所以在本设计中,数据收发、消息处理都采用中断的方式来处理。C5402的软件中断是由INTRn指令、TRAP指令、RESET指令产生,最常用的是INTRn指令,其中,n位相应的软件中断号。若对应的软件中断没有被屏蔽,则CPU可以根据中断号n确定中断矢量,并进入相应的中断服务程序。C5402的中断响应流程图如图5.6所示。











































































图5.5C5402主程序流程图













































































图5.6C5402的中断响应流程图



5.3.2接受数据中断服务子程序

为了模拟实际中AIS信息数据的接收,这里让主机产生HPINT中断来通知系统进入接收数据中断服务子程序。进入中断程序后,首先在IMR的相应位置“1”,以屏敝HPINT。利用EHPI收发数据,要先对EHPI进行培植。所以接下由主机改写EHPI的HPIC,HPIA,HPID寄存器,以控制数据传输的方式和传输的地址,然后通过EHPI的专用DMA通道传输数据。在本系统中,从主机接收到的数据存放在C5402内部DARAM中专门划分出来的DATAO数据区内。接着,由C5402到DATAO数据区取出数据,进行下一步的处理。这样C5402就完成了数据的接收。

在中断子程序的最后是开HPINT中断,并返回主程序。接受数据的中断服务子程序。流程图如图5.7所示。

5.3.3发送数据中断服务子程序

EHPI支持双向中断。当C5402准备好要发送的数据后,它在EHPI的HPIC寄存器中HINT位置“1”,HINT引脚变低,中断主机(同时,DSP接收到INT2中断),进入发送数据中断服务子程序。

与接收数据类似,接下来由C5402改写EHPI的HPIC、HPIA、HPID寄存器,以控制数据传输的方式和传输的地址。要发送的数据也存放在C5402内部DARAM中的DATAO数据区内。EHPI完成数据传输后,即可返回主程序。发送数据中断服务子程序流程图如图5.8所示。





























图5.7接收数据中断服务子程序流程图























































图5.8发送数据中断服务子程序流程图



[参考文献]



[1]余永权等.单片机在控制系统中的应用.北京:电子工业出版社,2003

[2]公茂法等.单片机人机接口实例集.北京:航空航天大学出版社,1998.

[3]李丽娜、任勤生、邵哲平.AIS在船舶自动避碰中的应用.船舶工程,2002(3):

[4]杨秉曦.船舶自动识别系统国际标准及其制定.交通标准化,2002(1):42-44.

[5]陈平、毛奇林、吴宝吕.船舶自动识别系统及其关键技术探讨.中国航海,2002(3):35-40.

[6]徐海荣.船舶自动识别系统(AIS)

小结

目前无论是在国内还是国外AIS设备都得到了越来越多的应用。AIS的正确使用有助于加强海上生命安全、提高航行的安全性和效率,以及对海洋环境的保护。本课题研究的内容处于AIS通信系统的最底层的物理层,相关的技术实际上都已经比较成熟FSK是一种现在很流行很通用的数字调制方式,主要应用在移动通信领域。

本论文研究的主要问题是AIS船舶避碰数据采集系统通信物理层的设计实现。因此,论文的主要工作集中在以下几个方面:

1.介绍AIS的应用与工作原理。本文要做的主要是设计一套用于船舶避碰的AIS数据采集系统。所以我们首先介绍了AIS的技术原理与工作过程,为后文进行做好准备。

2.FSK数字调制方式的原理。本文阐述了该调制方式基本原理、以及实现方法。着重介绍了本论文选用的FSK调制解调器的芯片CD4046的功能结构,性能特点以及实际应用电路等。

3.串行数据通信。包括AIS信息处理器(PC机)和单片机的串行通信以及单片机和DSP的串行通信。对于PC机和单片机的通信,选择了接口芯片RS-485进行电平转换,画出了硬件连接图。并设计了通信程序流程及部分程序代码;对于单片机和RS-485之间的串行通信,采用了RS-232芯片扩展了RS-485的一对串行口。同时也设计了这部分的通信程序流程及程序代码。

本课题在研究与撰写过程中遇到了很多从未遇上过的困难。本课题涉及到通信方面的知识比较多,由于笔者专业知识方面的欠缺,文中难免有些错误或是不足,期待在以后的学习中不断完善。笔者先前对AIS系统不是很熟悉,通过本次课题撰写,了解了很多关于AIS系统专业知识,也熟悉了对AIS设备的应用。本课题研究范围是AIS系统中关于船舶避碰数据采集部分,由于条件知识等各方面限制没有把完整的系统做出来。相信经过我们对相关知识的不断了解,一定会有更完善的结果出来。也希望后续者做的更好。



致谢

时光荏苒,岁月如梭。不知不觉间宝贵的大学四年转眼间就将成为过去。挥洒过汗水也滴落过泪花这里有我熟悉的一切有我热爱的一切恍惚中,在美丽的校园中蜕变需要经历过磨练磨练可以让我们更为坚强勇敢面对生活中所遇到的困难与磨难。

















东海科学技术学院本科生毕业论文



1







26.67ms



上升沿



对准序列



开始标志



数据



CRC校验



结束标志



缓冲



8bit



24bit



8bit



168bit



16bit



8bit



24bit



26.67ms





线

切换电路



TDMA发送信道



TDMA接收信道



VHFDSC接收信道



GPS接收信道



陀螺罗经



计程仪









接口电路





信息处理器



控制电路



信息显示器



VTS等系统接口



人机接口



PC处理中心



RS-485



微处理器



解调电路



信号输入入



键盘LED模块



其他串行通信模块



FPGA



DSP



AIS信息



D/A模块



A/D模块



解码



显示模块



PC串口



开始



系统初始化



采完一帧



数据正确



8位ASC‖转为6进制码



识别消息ID



分配bit



二进制转十进制



数据计算



信息显示









DSP







INT1

INT0









EP2C35F672







其他串口

键盘中断口



数据总线



地址总线



控制总线









DSP



A/D模块



D/A模块









RS-485



DAD[7..0]



DDA[7...0]











反相器









控制门2



相加器



控制门1







FSK信号



带通滤波器



限幅器



鉴频器



低通滤波器



判决器



FSK信号



















14



3



9



5



6



7



11



12



1



2



13



10



15



4



AINPCP

BIN



VCIN

INH

CA

CBVCOUT

SF

ZEN







U















CD4046











3



9



5



6



7



11



12



2



13



10



15



4



AINPCP

BIN



VCIN

INH

CA

CBVCOUT

SF

GND









XF





INT0





BI0









GND



1



14



CD4046



C5402



XF



BIO



INT0



GND





RXD



TXD







GND



RS485接口



C5402



系统上电启动



检测引导模式



加载程序



进入程序的入口地址



启动



重启



重启



把XF置低



有效入口地址?



INT标志位有效?



有效串口引导?



INT标志位有效?



加载程序代码



从I/O口FFFFh处读源地址



有效的并行引导?



从数据空间FFFFh出读源地址





加载程序代码



有效的并行引导?



初始化串口



进行串口引导、I/O引导的检



Y



Y



Y



Y



Y



N



N



N



N



N



N



并行引导



从I/O空间的0FFFFH读取引导表的地址



读取位于数据空间的引导表的第一个字



10AAH?



从数据空间进行16位并行引导



XX08H?



读取引导表的第二个字



XXAAH



从数据空间进行8位并行引导



从数据空间的0FFFFH读取引导表的地址



读取位于数据空间的引导表的第一个字





10AAH?



从数据空间进行16位并行引导



从数据空间的0FFFFH读取引导表的地址的低字节

从数据空间的0FFFFH读取引导表的地址的高字节







XX08H?



读取引导表的第二个字



XXAAH



从数据空间进行8位并行引导



串行引导模式检测



DSP启动



设置系统时钟(CLKMD寄存器)



设置软件等待时间(SWWSR寄存器)和存储器边界切换控制(BSCR寄存器)



设置MCBSP(SPCR、PCR、RCR、XCR、SRGR等寄存器)



设置DMA(DMSRC、DMDST、DMCTR、DMSFC等寄存器)



设置HPT(HPIC、HPIA、HPID等寄存器)



转入DSP主程序



设置软件中等待时间



是否有TINT0中断



是否有HPINT中断



接收数据子程序



提取目标船AIS数据信息存到DATA2



TCPA计算子程序



CPA计算子程序



是否超出设置的安全值



判断目标船的船名、呼叫



发出告警信息



键盘控制子程序



是否是ENTER键?



把键值储存Keyboard数据区



把取本船的传感器数据存放在DATA1数据区



本船GPS信息转换子程序(转换为以米为单位)





Kalman滤波子程序(结束存放DATA1数据区)





本船静态信息DATA1





打包要发送的AIS信息





发送数据子程序





LCD显示控制子程序





键盘处理子程序



Y



N



Y



N



N



Y



接收中断请求



N



Y



可屏蔽中断



Y



N



INTM=0



Y



相应INTM位=1?



N



Y



响应中断并使IACK有效



硬件中断或INTR指令中断



Y



INTM显“1”



N



PC推入软件堆栈



进入中断服务程序



从软件堆栈中弹出PC



继续主程序



关中断HPINT



通过DMA通道7把数据从PC传输到DATA0数据区



开中断HPINT



RET



DSP在HPIC中的HINT位置“1”



通过DMA通道传输到DATA0数据区



开中断INT2



RET







献花(0)
+1
(本文系朽木轩首藏)