维普资讯 http://www.cqvip.com
2007年第1期 总第70期 文章编号:1000—4653(2007)01—0047—04 中 国 航海 No.t Mar.20o7 NAVIGA n0N OF CHINA Serial No.70 基于Z85 C30芯片的AIS协议帧结构实现 胡越黎,孙斌 (上海大学,上海200072) 摘要:介绍了船舶自动识别系统AIS(Automatic Identiifcation System)通信协议的帧结构和Z85C30串行通信控制器 的内部结构和基本功能。然后给出了所设计的AIS终端的结构图,着重对基于Z85C30实现AIS链路层帧结构的方 法作了详细的论述,给出了实现AIS帧结构的软件流程图以及系统实验中所得到的AIS帧结构波形,实验效果明 显。该研究对开发AIS设备和设计基于Z85C30系列芯片的硬件系统都有借鉴价值。 关键词:水路运输;船舶自动识别系统;数据链路层;芯片 中图分类号:U675.79 文献标识码:A AIS Protocol Frame Realization Based on Z85 C3O 日U Yue-li. S ⅣB (Shanghai University,Shanghm 200072,China) Abstract:The frame of AIS communication system and the configuration of Z85C30 serial communication controller are introduced in the paper.The structure of designed AIS terminal is given.The Method of applying Z85C30 chip to realize AIS link layer is described in the respects of working modes and hardware design.The so,ware flow chart and AIS frame wavefornls are also given, obvious effectiveness of experiment has been obtained.This research can be a reference for designing AIS equipment and the hardware system based on Z85C30 serial chips. Key words:Waterway transportation;AIS;Data link layer;Chip AIS协议是新一代海上通信协议,是运行在 VHF波段采用TDMA技术交换数据的一种导航系 统…。国际海事组织(IMO)规定2002年起300 gt及 以上的新船和客船都必须安装AIS设备 。因此研 究和开发新的AIS国产设备对于满足国内日益发展 的船舶运输有重要的价值 。AIS的数据链路层, 采用了以HDLC协议为基础改进的链路层帧结构。 I 堡 型l望塑堡望l::::::塑塑::::::l 堕 型I竺塞堡望l堡、冲l 图1 AIS数据包帧结构 Fig.1 AIS data package frame configuration 1.1训练序列 训练序列由交替的0和1组成,长度为24 bit, 见图2(a)。其应在开始标记之前发射。同时,AIS 而Z85C30是Zilog公司推出的一款串行通信控制芯 片,可以实现同步、异步以及SDLC(HDLC)等 串行 协议要求采用不归零倒置(NRZI)模式(也就是差分 码) ,所以物理层数据的比特波形如图2(b)所示: 通信协议,一般用于计算机网络通信。我们对 Z85C30芯片的功能经过深入研究,将它用于实现 AIS协议链路层帧结构,并且完美地得到了AIS的 r]厂_1 r_1 r_]厂_1 r]r_1 r-1 r_1 r_1『_1 r_1 (a)未经NRZI编码变换的比特波形 帧结构波形。 厂]厂]厂]厂]厂]厂] (b)经NRZI编码变换的比特波形 1 AIS协议帧结构简介 AIS采用的数据包帧结构是基于HDLC数据包 改进的结构,它的基本构造如图1所示。 图2训练序列和NRZI处理 Fig.2 Training sequence&NRZI process 后面数据包中的其他部分的数据,在经过通信 之后,都要经过类似的NRZI处理。 收稿日期:2006.12.14 作者简介:胡越黎(1959.),男,上海人,副教授,博士,主要研究图象处理、机器视觉及Ic设计。E-mail:huyuli@shu.edu.an 维普资讯 http://www.cqvip.com
48 中 国航海 2007年第1期 1.2开始标记和结束标志 A//B选择A信道还是B信道,通过/INT向MCU提 出中断请求。 Z85C30(HDLC规程控制添加 删除数据头,捕获数据头) DO--D7 开始标记和结束标志完全一致,它们的长度都 为8bit,与标准的HDLC标记一致,用于标识数据包 的开端。HDLC标记由8bit长的比特波形组成: 01111110。该标记尽管包含6个连续“1”,但不需要 进行位填充。 1.3 数据段 A路通道 发送数据 接收时钟 MODEM C//D 接收数据 (A) MCU 在一个标准数据包中数据部分的长度应为168 bit。但是在AIS中也存在长度少于5个时隙的非标 准数据包。 1.4帧校验序列(FCS) A//B /INT B路通道 发送时钟 发送数据 接收时钟 接收数据 MODEM 哥(B) 图3系统硬件结构图 Fig.3 System hardware module 在AIS中,FCS采用循环冗余校验(CRC)16 bit 多项式来计算校验和 ]。在‘CRC计算开始时应将 CRC码元预设为1。CRC计算中应该只包含包括位 填充的数据部分。 1.5缓冲 Z85C30能够将从MCU中送出的数据按照 HDLC的格式进行打包,包括能够自动完成添加起 始标志(0x7E)、结束标志(0x7E),自动进行FCS和自 动进行比特填充。但是为了园满地完成AIS帧结构 的组帧,还需要为这个HDLC方式添加训练序列。 Z85C30的接收和发送时钟由外部MODEM提 缓冲部分通常为24 bit长,包括4部分内容:位 填充、距离延迟、转发器延迟、同步晃动。 缓冲码一般是为了满足实际应用中的各种可能 情况对电文长度或者其他对接收方接收数据所产生 的影响,比如:位填充,就是为了满足位填充所引起 供,数据传送速率为9 600 bit/s(根据AIS规定)。 MODEM能够完成GMSK调制解调和FM调制解 调随 。双工器可以完成双信道分离和接收发送信道 分离的工作。以便减少天线数量并提高接收发射效 果 。 的电文长度的增加。其他缓冲类似。 1.6比特填充 以上所述各部分字段中,数据部分和FCS比特 流应受位填充控制。也就是说一旦发现输出位流中 连续出现5个以上“1”时,应在该5个“1”后插入1 3 Z85C30特点和功能 Z85C30芯片内部有两个完全分离的信道(信道 个“0”_7]。这种方法适用于除HDLC标记(开始标记 与结束标记)以外的所有比特。 1.7与HDLC协议比较 A和信道B),每个信道都有15个控制寄存器(包括 发射缓存器、2个同步字寄存器和2个波特率定时 常数寄存器),两个信道的内部结构基本相同(A信 道如图4所示) 。。。 与高级链路控制协议(HDLC)的帧结构相比, AIS的帧结构多了训练序列和缓冲码。其中训练序 列则是为了在无线通信中,接收机进行解凋时进行 相位同步所添加的。 对寄存器的读写操作一般需要一次写操作和一 次读(写)操作。其中第1次写操作是给寄存器 WRO赋值,使其指向需要进行读写的寄存器,第2 次(读)写操作才是对需要读写的寄存器进行的操 作。Z85C30芯片复杂的功能就是建立在对这些寄 存器的不同初始化基础上的。 Z85C30芯片与MCU的数据交换能够以许多灵 2 系统硬件结构 为了完成所要求的AIS数据格式发送,如何实 现对数据包的打包和解包,如何将组织好的数据变 成满足AIS要求的数据流结构是AIS系统实现中一 个需要考虑的问题。 在设计的设备中,硬件模块结构如图3所示: 活的方式实现,包括:查询、等待、中断驱动或者是 DMA驱动方式。而具体采用什么方式,实际上是根 据不同的使用场合来进行选择的。 Z85C30芯片可以设置为实现4种工作模式:同 步方式、异步方式、HDLC方式以及面向字节同步方 式。每一种工作方式的设定都按相应的步骤来实现 (见图5)。 其中,MCU主要负责协议处理和其他辅助功能 的协调,而Z85C30则主要用于完成链路层帧结构的 处理,包括链路层编码和解码。Z85C30与MCU之 间通过C//D线选择传送的是数据还是控制字,通过 维普资讯 http://www.cqvip.com
胡越黎,等:基于Z85C30芯片的AIS协议帧结构实现A通道内部结构 t 49 在本研究中,为了实现AIS的链路层帧结构,同时考 发送逻辑 发送FIFO NMOS,CMOS 1 byte ESCC:4 byte 虑到AIS网络终端的发送时间并不是很多(最快1 min发送3次),因此,在发送过程中,为了保证帧结 构的完整,我们采用了查询方式(见图7)。 发送移位寄存器 (数据编码及CRC -一 校验码生成逻辑) 接收和发送时钟逻辑 相环 喜i f f + /A 调制解调器控制逻辑 接收逻辑 接收状态 接收数据 FIF0 FIF0 接收移位寄存器 CRC校验数据 解码器 — 图6 Z85C30中断处理过程 Fig.6 Z85C30 interrupt process SDLC帧状态FIFO l初始化为同步 开始卜.1方式(同步 等待发送l 图4 A通道内部结构图 Fig.4 Channel A configuration 一I字符为0x55) 1...-—-— ......................一-__●__--。。_。。。。。。。。。。●。●--一结束至最后卜_———1 二尘兰堇萱I厂 ; ————] 等I HDLC方式 发送l’ l等待cRc校验 结束,_卜1码发送以及 一 J结束标志发送 标志待起始L 二]~ 协议设置(如异步、校验、 波特率、字符长度等) 图7 Z85C30实现AIS帧结构 g.7 AIS frame realization using Z85C30 l 功能设置(包括波特率发生器、 接收中断、发送中断) 一 为了能够将训练序列添加到HDLC数据包前, 我们首先需要将Z85C30初始化为同步方式,在传送 两组0x55的数据后,再将Z85C30初始化为HDLC 方式,以便发送完整的数据包。由于对Z85C30的初 始化过程需要对该芯片进行大约50次读写操作,因 此,为了能够在同步方式发送的最后一个字节(大约 0.83 ms)期间完成对Z85C30的HDLC初始化过程, 对MCU的读写操作速度有一定要求,经过实验, MCU的晶振频率在36 MHz时,能够得到令人满意 图5 Z85C30模式初始化流程图 Fig.5 Z85C30 initialization 4 Z85C30实现AIS链路层帧结构 由于AIS数据终端在绝大多数时候处于接收状 的帧结构波形(如图8所示)。否则,在训练序列和 HDLC序列起始标志之间会出现明显的8 bit低电 平。 态,为了提高MCU的利用率,接收采用了中断方式。 中断驱动方式是通过一个Z85C30内部的中断控制 器来实现的。当Z85C30产生中断之后,其通过INT 5 实验波形说明 图8是一组发送数据的波形,为了能够完整纪 录波形,所以数据量并不大,发送的数据为{0x30, 0x46,0xA3,0xff,0x56},最后还有2个字节的CRC校 验码。 线,向MCU申请中断,然后MCU查询Z85C30的 RR2中断寄存器状态,对产生的中断作出反应。基 本处理过程如图6所示。 为了能够很好地形成AIS数据包结构,在发送 时使用了查询方式。也就是不断查询RR2的状态 位,然后根据该状态位的情况作出判定,进行动作。 这种方式使MCU大量的运行时问用于等待上,但是 图8中,(A)图:训练波形,采用Z85C30的同步 模式得到;(B)图:HDLC波形起始标志(0x7E),(B) 一(G)图数据段(注意数据都是从高位首先发送,最 维普资讯 http://www.cqvip.com
50 中 国 航海 2007年第1期 后发送低位数据的),(G)图:HDLC波形结束标志 (Ox7E)。 (A) (B) (C) (D) (E) (F) (G) 图8实验结果波形图 Fig.8 experiment oscillogram 6 结 语 本文介绍了AIS的链路层帧结构,简述了在AIS 数据终端开发过程中所采用的硬件结构。简要介绍 了Z85C30的特点和功能,并重点论述了Z85C30在 HDLC Data Processor[C]//Communications,Circuits and Systems and West Sino Expositions, IEEE 2002 Intemational Conference,U.S.:IEEE,2002,2:1471—1475. [5] Rec.ITU—R M.1371-1.Technical characteristics for a umve ̄al shipborne automatic identification system using time division multiple access in the VHF maritime mobile AIS协议帧结构中的应用方式。实验表明,该方法 效果明显,对于开发AIS终端设备和设计基于 Z85C30系列芯片的硬件系统都有借鉴价值。 参 考 文 献 Shwu—Jing Chang.Vessel identification and monitoring band[S]. [6]Caro,A.L.,Jr.;Amer,P.D.;Stewart,R.R. Transmissions Layer Muhihoming for Fault Tolerance in FCS Networks[C]//Military Communications Conference,2003. MILCOM 2003.IEEE,2003,2:949—953. [7] JOONG S.MA.0n the Impact of HDLC Zero Insertion and Deletion on Link Utilization and Reliability[J J. Communications,IEEE Transactions on[1egacy,pre一 1988],1982.30(2):375.381. systems for maritime secuirty[C J//IEEE. Security Technology,2003.Proceedings,IEEE 37 Annual 2003 International Carnahan Conference,U.S.:IEEE,2003.66— 70. [8]Gee L.Lui and Kuang Tsai Zhong Ye,Sam Dolinar and Kenneth Andrews.Coded Performance of a Quatenarry reanh,B.J.Use of the Automatic Identiifcation System [2] Tet(AIS)for mairtime domain awareness(MDA)[C]IIMTSI IEEE.OCEANS,2005,Proceedings of MTS/IEEE,U.S.: IEEE,2005,4:1590—1594. GMSK Communication System[C]//Military Communications Conference,2003,MILCOM 2003,U.S.:IEEE,2003.36. 40. and analysis of AIS applications as [3] Chang,S,J.Development[9] E1一Asmar,M.Design and realization of a RF Transceiver ofr mairne identiifcation system[C]//IEEE.Electircal and Computer Engineering,2004.Canadian Conference,U.S.: IEEE,2004.535—538. an eicifent tool for vessel trafifc service[C]//MTSIlEEE. OCEANS’04.MTS/IEEE TECHNO OCEAN’04.U.S.: IEEE,2004,4:2249—2253. [4] Yuanlin Lu,Zhigong Wang,Lufeng Qiao,Bin Huang. Design and Implementation of Multi—channel High Speed [10]Zilog.SCC/ESCC User’s Manual[M].Canada:Zilog.Inc, 2O0】.