- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
基于Z85C30的自动目标识别系统的串行通信设计
0 引言
自动目标识别系统(MIS)是一种能自动识别运动目标并能获取目标各种信息的系统,同时,MIS还可以帮助移动目标将自身信息发射给别的目标。MIS使用的是一种开放式通信网络,而且任何使用 MIS的移动目标均无需授权,可以随时接入网络。现在,这种系统已经应用于海事管理中的船舶识别和通讯。今后,动目标识别系统(MIS)的应用领域会变得越来越广阔。
利用动目标识别系统(MIS)的动态信息(本目标的方向、位置、速度等信息)及静态信息(如本目标编号和目标名称等信息),再配合全球定位系统(GPS),然后通过甚高频(VHF)信道向附近的一定范围及管理中心进行广播,使邻近的动目标及管理中心能及时掌握目标的动静态信息,同时,目标也可以获取这一区域内其它动目标的动静态信息。这种系统可使多个动目标之间及时获取对方信息并可立刻互相通讯,以便在必要的时候采取必要行动,避免各种事故的发生。
1动目标识别系统(MIS)的关键技术
1.1高级数据链路控制规程(HDLC)
MIS 的数据控制采用高级数据链路控制规程(HDLC)。HDLC是面向比特的协议,使用位填充来保证数据的透明性。HDLC规程具有透明传输、控制简单、可靠性高、传输效率高的特点,因而具有极大的灵活性。图1所示是MIS系统的HDLC数据结构。
数据分组中,分组应从左向右发送。除训练序列以外,这一结构应该同普通的HDLC 结构完全一样。采用训练序列的目的是为了VHF接收机进行同步调整。开始和结束标志采用7Eh来标志一帧信息的开始和结束。数据部分的长度为 168bit,信息ID为6 bit,范围为0~63,主要用于信息类型的标识,也就是标识发送台的模式。该结构的通信状态包括同步类型及子信息等。帧校验序列FCS一般采用循环冗余校验(CRC)。
1.2 TDMA协议
MIS访问数据链的控制采用时分多址(TDMA)技术。根据不同的应用和操作模式,可采用不同的四种TDMA协议,包括SOTDMA(Self-or-gaNIzed TDMA自组织时分多址)、ITDMA (Incre-ment TDMA增量时分多址)、RATDMA(RandomAccess TDMA随机接入时分多址)、FATDMA(Fixed Access TDMA固定接人时分多址)。这四种协议可以适用不同的应用环境,但它们的操作是连续的、平行的。
2 串行通信控制器Z85C30简介
Z85C30 芯片内部有两个完全分离的信道(信道A和信道B),每个信道都有15个控制寄存器(包括发射缓存器、2个同步字寄存器和2个波特率定时常数寄存器),两个信道的内部结构基本相同。
对寄存器的读写操作一般需要一次写操作和一次读(写)操作。其中第1次写操作是给寄存器WRO赋值,以使其指向需要读写的寄存器。第2次(读)写操作才是对需要读写的寄存器进行的操作。Z85C30芯片复杂的功能就是建立在对这些寄存器的不同初始化的基础上的。
Z85C30 芯片与MCU的数据交换能以许多方式实现,包括查询、等待、中断驱动或DMA驱动方式。具体采用什么方式,应当根据不同的使用场合来进行选择。
Z85C30 芯片可以设置为4种工作模式,包括同步方式、异步方式、HDLC方式以及面向字节同步方式。每一种工作方式的设定都应当按相应的步骤来实现。
3 MIS中串行通信部分的硬件结构
动目标识别系统(MIS)中的串行通信主要是MIS协议帧的实现。图2所示是其硬件模块的主要结构。
图2所示是STC89C58RD+单片机为处理器,以串行通信控制器Z85C30 和GMSK调制解调器CMX589为外部电路组成的一个嵌入式系统,可用于完成HDLC数据的打包和拆包,以及将数字信号调制成GMSK信号。
4 MIS系统串行通信的软件实现
程序运行的开始,都要初始化单片机,并设置中断和初始化串口。Z85C30的各种状态都使用中断处理程序来处理才能使程序的执行效率达到最高。
将Z85C30发射通道设置成双字节同步模式,同步字节为55H,并且向发射缓冲寄存器写入 55H,便可实现MIS系统要求的训练序列。在这种模式下,在使能发射后,先发射同步字节,同步字节发射完成后再发射数据。当发射缓冲寄存器为空时,Z85C30会设置发射缓冲寄存器空标志位,如果Z85C30允许发射中断,这时就可产生中断。在中断处理程序中可以判断训练序列是否发射完毕。
要发射的数据必须符合HDLC协议中规定的帧格式,所以,在发射完训练序列后,还必须将Z85C30设置成HDLC模式。然后将要发射的数据写入发射缓冲寄存器。在使能发射后,数据就会紧接着训练序列从发射引脚送出。由于Z85C30是以字节发射数据,所以,在中断处理程序中必须判断是否还需发射数据。如果需要发射数据,就应向发射缓冲寄存器中继续写入数据:如果不需要,那么,当Z85C30检测到发射移位寄存器为空时,就会自动在数据后面增加CRC值和结束标志。
Z85C30接收通道的初始化和发射通道不一样,它不需要考虑接收训练序列,因为训练序列用于接收机同步。Z85C30的接收通道可以直接设置成HDLC 模式,在其接收到起始标志后,就意味着后面紧接着接收的就是数据。如果Z85C30设置了接收中断,那么,当数据接收寄存器中数据写满时,就会产生接收中断,中断处理程序就应将数据读出,以消除中断状态。接收完数据后,紧接着应该接收CRC值。Z85C30可将16位CRC值以接收数据的方式接收,但 Z85C30会自动对比接收的CRC值和计算的CRC值,如果两值不一致,就会设置CRC错误位。当Z85C30在数据流中接收到结束标志时,它会产生帧结束中断。因此,在软件设计时,程序应该在帧结束中断中判断CRC是否正确,以便确定是否应当保留刚接收的一帧数据。
Z85C30有两个通道,每个通道可以发送,也可以接收数据。由于数据的拆包只是数据打包的逆过程,并且Z85C30也支持HDLC帧数据的拆包,所以,在此只介绍如何进行数据打包。将打包的数据发给GMSK调制解调器CMX589,就可以得到很好的GMSK信号,这样,GMSK信号就可以由高频板调制发射出去,以便和其他台站实现通信。本系统的软件流程如图3所示。
5实验结果
在对本文所介绍的设计进行实验时,可以发送具有21个字节数据的数据包。图4所示是其部分实验结果波形。
6结束语
目前,笔者在特定的硬件平台基础上,已经基本上实现了自动目标识别系统的通信功能。可以相信,在不远的将来,随着海上移动目标的越来越多,今后的动目标识别应用也将变得越来越重要.