基于DSP和FPGA的机载总线接口板研究
扫描二维码
随时随地手机看文章
目前国内对民用飞机机载数据总线ARINC429接口板的设计一般都是基于HARRIS公司的HS3282芯片完成的,它的缺点是路数有限、非常不灵活。因此对ARINC429总线接口板的研制,实现多通道ARINC429总线数据的接收和发送,成为目前对飞机机载总线接口研究的重点,具有非常重要的现实意义和应用前景。
1 ARINC429总线简介
在现代民用飞机上,系统与系统之间、系统与部件之间需要传输大量信息。ARINC规范就是为了在航空电子设备之间传输数字数据信息而制定的一个航空运输的工业标准。
ARINC429(以下简称429)总线协议是美国航空电子工程委员会(Airlines Engineering Committee)于1977年7月提出的,并于同年发表并获得批准使用。它的全称是数字式信息传输系统DITS。协议标准规定了航空电子设备及有关系统间的数字信息传输要求。ARINC429广泛应用在先进的民航客机中,如B-737、B-757、B-767,俄制军用飞机也选用了类似的技术。我们与之对应的标准是HB6096-SZ-01。ARINC429总线结构简单、性能稳定,抗干扰性强。最大的优势在于可靠性高,这是由于非集中控制、传输可靠、错误隔离性好。
429总线采用双绞屏蔽线传输信息,通过一对双绞线反相传输,具有很强的抗干扰能力。而调制方式则采用双极归零制的三态码方式,即信息由“高”、“零”和“低”状态组成的三电平状态调制。429电缆上的信号及经电平转换后的信号如图1所示。429总线每一个字为32位,它的字同步是以传输周期至少4位的时间间隔也就是4位码字为基准的。
图1 429信号及电平转换后的波形
2 系统总体方案
429总线接口板的主要功能是在429信号及相关外设之间起到桥梁作用,它既能接收双极归零制的429信号并将其转换为数字信号送入计算机或其它设备,又可将计算机或其它设备发出的数字信号转换为429信号输出。本文介绍的总线接口板采用FPGA和DSP实现四路429信号接收通道和四路429信号发送通道,且每路通道之间相互独立。在这个接口板中,每两个数据字之间的时间间隔可调,每一个收发通道能单独定义字间隔长度,每个通道校验方式可单独定义为奇校验或偶校验,数据发送可以选择单帧发送或自动重复发送(重复发送某一帧)。
整个接口板由调制电路、解调电路、FPGA、DSP和双口RAM组成,如图2所示。
图2 接口板硬件结构图
3 硬件电路设计
3.1 调制解调电路设计
429信号进入接口板后,首先要把429信号转换为数字电路可以识别的TTL电平。这里采用HOLT公司的HI-8482实现信号的解调,将标准的429总线信号转换成5V TTL数字信号。为了降低干扰,在429总线信号的四个输入管脚分别接入39pF的高精度军品电容;采用HOLT公司的HI-8585芯片实现信号的调制,将TTL数字电平转换为标准的429信号。
3.2 FPGA内部逻辑设计
按照429信号的编码格式、特点、传输规则以及协议要求,选用一片ALTERA公司的ACEX1K型的FPGA发送和接收四路数据。每一路分为接收部分和发送部分。
接收部分的主要作用是通过串/并转换将串行数据转换为32位并行数据,并对收到的数据自动实行差错控制。对于字间隔、位间隔出错等错误能进行自动检测,若无错误,则将数据分两次送至DSP的16位数据总线上,以供读取。接收模块结构框图如图3所示。
图3 接收模块结构框图
发送部分的主要功能是将DSP送入的数据暂存在FPGA内部的FIFO中,等待发送命令。一旦接到发送控制指令,FIFO输出数据并通过并/串转换将并行数据转换为串行数据,同时加入预先设定的间隔。用户可通过写控制寄存器选择发送模式(即单帧发送或自动重复发送)、发送通道延迟设定、发送通道字间隔设定,还可通过读取状态位检查它的工作状态(发送缓冲器空、发送缓冲器满和是否正在发送)。发送模块结构框图如图4所示。
图4 发送模块结构框图
FPGA内部结构是基于SRAM的,因此需要一片配置芯片固化内部逻辑。为了便于调试,采用JTAG模式和被动串行模式(PS)两种配置模式,调试时使用JTAG模式直接将逻辑写入FPGA内部,调试好后再用PS模式将程序写入配置芯片。通过对FPGA和配置芯片上的引脚进行跳线,可选择不同的配置方式。跳线电路如图5所示。
图5 FPGA配置跳线设置
FPGA作为DSP的一个I/O外设,必然要对它的寄存器地址统一编址。在此将FPGA编址在DSP的I/O空间。由于FPGA的接收通道和发送通道是共用DSP的16位数据线的,故接收通道和发送通道的数据寄存器可以占用一个地址。表1是FPGA各通道寄存器分配的地址。
表1 FPGA内部各通道寄存器地址
3.3 DSP与FPGA及外部设备的通信
DSP(digital signal processor)是一种独特的微处理器,是以数字信号来处理大量信息的器件。其工作原理是接收模拟信号,转换为0或1的数字信号。再对数字信号进行修改、删除、强化,并在其他系统芯片中把数字数据解译回模拟数据或实际环境格式。它不仅具有可编程性,而且其实时运行速度可达每秒数以千万条复杂指令程序,远远超过通用微处理器,是数字化电子世界中日益重要的电脑芯片。它的强大数据处理能力和高运行速度,是最值得称道的两大特色。
在整个系统的设计中,DSP主要用于控制FPGA工作、数据中转、与外设主机通信。利用DSP向FPGA写控制字,其中包含帧间隔长度大小等信息,可对FPGA进行控制;另外,根据FPGA的反馈状态,可做出相应的控制调整。考虑到用于控制FPGA的I/O口比较多,选用的DSP是TI公司的TMSLF2407A。TMSLF2407A的复用外围I/O口多达39个[2],图6是DSP与FPGA之间的具体连接。
图6 DSP与FPGA的连接示意图
DSP提供I/O操作信号/IS、读写选定信号R/W、读使能信号/RD、写使能信号/WE以及地址线低四位A0、A1、A2、A3。通过这些控制逻辑信号可区分四路通道及每路通道的高低字。
DSP和FPGA提供的其它辅助的控制和状态信号还包括:四路发送使能信号/ENTX[03],低电平有效;四路发送停止信号/TXT[03],低电平有效;接收数据到达信号/RER[03],用于告知DSP准备接收某一路通道已经到达的数据;发送数据准备好信号/TXR[03]信号,用于告知各个发送通道中是否还有未发出的数据暂存在FIFO里,低电平表示没有数据;发送通道FIFO满信号FUL[03],高电平有效;GLOBCLRN信号,用于FPGA初始化时对其内部进行全局清零;TESTREQ信号,用于对整个系统的自检。
整个电路板是通过双口RAM与外设主机进行通信的,双口RAM负责暂存外设要发送的数据和暂存FPGA处理过的数据。可把它大致分为8个区,每一个区负责存放四路接收通道和四路发送通道中的一路数据及控制字。利用双口RAM左右两中断的信箱可指挥接口板进行相应的操作。
4 软件设计
软件的设计主要是DSP编程,DSP程序的主要任务就是初始化、管理DSP外围电路、控制FPGA的收发数据以及与外设交互。DSP的主程序流程图如图7所示。
图7 DSP主程序流程图
整个接口电路板调试通过后,经过测试可以同时接收和发送四路ARINC429信号。这就解决了以往接口电路板通道数太少的瓶颈。
本系统利用FPGA密度高、结构灵活、设计时间短和可编程的优点,实现了对某路ARINC429信号的独立处理,再加上TI公司2000系列DSP丰富的I/O接口和较普通单片机更快的速度,实现了对FPGA的控制管理及与外设的通信。因此本系统对当今民用飞机机载数据通信总线互联提供了一种新型、先进的方法,具有相当普遍的实用意义。