基于DSP和FPGA的机载总线接口板

[复制链接]
1199|23
手机看帖
扫描二维码
随时随地手机跟帖
FCCdsp|  楼主 | 2018-8-13 10:51 | 显示全部楼层 |阅读模式
基于DSP和FPGA的机载总线接口板

       机载数据总线 ARINC429在当代的运输机和相当数量的民航客机 (如A310、A300、A600、B757、B767)中有着广泛的应用。目前国内对ARINC429总线接口板的设计一般都是基于HARRIS公司的HS3282芯片完成的,它的缺点是路数有限、非常不灵活。因此对ARINC429总线接口板的研制,实现多通道ARINC429总线数据的接收和发送,成为目前对飞机机载总线接口研究的重点,具有非常重要的现实意义和应用前景。

1 ARINC429总线简介

在现代民用飞机上,系统与系统之间、系统与部件之间需要传输大量信息。ARINC规范就是为了在航空电子设备之间传输数字数据信息而制定的一个航空运输的工业标准。

ARINC429(以下简称429)总线采用双绞屏蔽线传输信息,通过一对双绞线反相传输,具有很强的抗干扰能力。而调制方式则采用双极归零制的三态码方式,即信息由“高”、“零”和“低”状态组成的三电平状态调制。429电缆上的信号及经电平转换后的信号如图1所示。429总线每一个字为32位,它的字同步是以传输周期至少4位的时间间隔也就是4位码字为基准的。


20101125222654300.jpg


图1 429信号及电平转换后的波形

2 系统总体方案

429总线接口板的主要功能是在429信号及相关外设之间起到桥梁作用,它既能接收双极归零制的429信号并将其转换为数字信号送入计算机或其它设备,又可将计算机或其它设备发出的数字信号转换为429信号输出。本文介绍的总线接口板采用FPGADSP实现四路429信号接收通道和四路429信号发送通道,且每路通道之间相互独立。在这个接口板中,每两个数据字之间的时间间隔可调,每一个收发通道能单独定义字间隔长度,每个通道校验方式可单独定义为奇校验或偶校验,数据发送可以选择单帧发送或自动重复发送(重复发送某一帧)。

整个接口板由调制电路、解调电路、FPGA、DSP和双口RAM组成,如图2所示。


20101125222654301.jpg



图2 接口板硬件结构图

3 硬件电路设计

3.1 调制解调电路设计


429信号进入接口板后,首先要把429信号转换为数字电路可以识别的TTL电平。这里采用HI-8482实现信号的解调,将标准的429总线信号转换成5V TTL数字信号。为了降低干扰,在429总线信号的四个输入管脚分别接入39pF的高精度军品电容;采用HOLT公司的HI-8585芯片实现信号的调制,将TTL数字电平转换为标准的429信号。

3.2 FPGA内部逻辑设计

按照429信号的编码格式、特点、传输规则以及协议要求,选用ACEX1K型的FPGA发送和接收四路数据。每一路分为接收部分和发送部分。

接收部分的主要作用是通过串/并转换将串行数据转换为32位并行数据,并对收到的数据自动实行差错控制。对于字间隔、位间隔出错等错误能进行自动检测,若无错误,则将数据分两次送至DSP的16位数据总线上,以供读取。接收模块结构框图如图3所示。



20101125222654302.jpg


图3 接收模块结构框图


发送部分的主要功能是将DSP送入的数据暂存在FPGA内部的FIFO中,等待发送命令。一旦接到发送控制指令,FIFO输出数据并通过并/串转换将并行数据转换为串行数据,同时加入预先设定的间隔。用户可通过写控制寄存器选择发送模式(即单帧发送或自动重复发送)、发送通道延迟设定、发送通道字间隔设定,还可通过读取状态位检查它的工作状态(发送缓冲器空、发送缓冲器满和是否正在发送)。发送模块结构框图如图4所示。


20101125222654303.jpg


图4 发送模块结构框图

以上介绍的只是一路发送通道和接收通道,由于本系统共有四路独立的发送通道和四路独立的接收通道,故在FPGA中需设置四个接收模块和四个发送模块,通过DSP的地址线来选取其中的一路发送通道或接收通道。

FPGA内部结构是基于SRAM的,因此需要一片配置芯片固化内部逻辑。为了便于调试,采用JTAG模式和被动串行模式(PS)两种配置模式,调试时使用JTAG模式直接将逻辑写入FPGA内部,调试好后再用PS模式将程序写入配置芯片。通过对FPGA和配置芯片上的引脚进行跳线,可选择不同的配置方式。跳线电路如图5所示。


20101125222654304.jpg


图5 FPGA配置跳线设置

FPGA作为DSP的一个I/O外设,必然要对它的寄存器地址统一编址。在此将FPGA编址在DSP的I/O空间。由于FPGA的接收通道和发送通道是共用DSP的16位数据线的,故接收通道和发送通道的数据寄存器可以占用一个地址。表1是FPGA各通道寄存器分配的地址。

表1 FPGA内部各通道寄存器地址

20101125222654305.jpg

3.3 DSP与FPGA及外部设备的通信

在整个系统的设计中,DSP主要用于控制FPGA工作、数据中转、与外设主机通信。DSP是整个系统的中枢,控制各个部分协调工作。利用DSP向FPGA写控制字,其中包含帧间隔长度大小等信息,可对FPGA进行控制;另外,根据FPGA的反馈状态,可做出相应的控制调整。考虑到用于控制FPGA的I/O口比较多,选用的DSP是TI公司的TMSLF2407A。TMSLF2407A的复用外围I/O口多达39个,图6是DSP与FPGA之间的具体连接。


20101125222654306.jpg


图6 DSP与FPGA的连接示意图

DSP提供I/O操作信号/IS、读写选定信号R/W、读使能信号/RD、写使能信号/WE以及地址线低四位A0、A1、A2、A3。通过这些控制逻辑信号可区分四路通道及每路通道的高低字。

DSP和FPGA提供的其它辅助的控制和状态信号还包括:四路发送使能信号/ENTX[0..3],低电平有效;四路发送停止信号/TXT[0..3],低电平有效;四路接收通道清零信号/CHACLRN[0..3],低电平有效;接收数据到达信号/RER[0..3],用于告知DSP准备接收某一路通道已经到达的数据;发送数据准备好信号/TXR[0..3]信号,用于告知各个发送通道中是否还有未发出的数据暂存在FIFO里,低电平表示没有数据;发送通道FIFO满信号FUL[0..3],高电平有效;GLOBCLRN信号,用于FPGA初始化时对其内部进行全局清零;TESTREQ信号,用于对整个系统的自检。

整个电路板是通过双口RAM与外设主机进行通信的,双口RAM负责暂存外设要发送的数据和暂存FPGA处理过的数据。可把它大致分为8个区,每一个区负责存放四路接收通道和四路发送通道中的一路数据及控制字。利用双口RAM左右两中断的信箱可指挥接口板进行相应的操作。

4 软件设计

软件的设计主要是DSP编程,DSP程序的主要任务就是初始化、管理DSP外围电路、控制FPGA的收发数据以及与外设交互。DSP的主程序流程图如图7所示。

整个接口电路板调试通过后,经过测试可以同时接收和发送四路ARINC429信号。这就解决了以往接口电路板通道数太少的瓶颈。利用FPGA密度高、结构灵活、设计时间短和可编程的优点,实现了对某路ARINC429信号的独立处理,再加上TI公司2000系列DSP丰富的I/O接口和较普通单片机更快的速度,实现了对FPGA的控制管理及与外设的通信。因此本系统对当今民用飞机机载数据通信总线互联提供了一种新型、先进的方法,具有相当普遍的实用意义。


20101125222654307.jpg


图7 DSP主程序流程图




相关帖子

FCCdsp|  楼主 | 2018-8-13 10:52 | 显示全部楼层
基于DSP和FPGA的机载总线接口板

文档1.pdf

193.02 KB

使用特权

评论回复
zhangmangui| | 2018-8-13 22:58 | 显示全部楼层
ARINC429目前还是用的很多    航空领域

使用特权

评论回复
kkzz| | 2018-8-15 22:35 | 显示全部楼层
板卡都是DSP+FPGA架构的

使用特权

评论回复
hudi008| | 2018-8-15 22:35 | 显示全部楼层
与通用微处理器相比,DSP芯片的其他通用功能相对较弱些。

使用特权

评论回复
lzmm| | 2018-8-15 22:35 | 显示全部楼层
用FPGA来实现一些功能的时候,如果出现了大量的数据处理就用DSP芯片来处理

使用特权

评论回复
minzisc| | 2018-8-15 22:36 | 显示全部楼层
扩展资料

使用特权

评论回复
selongli| | 2018-8-15 22:36 | 显示全部楼层
DSP,专用电路(内部结构已经固定)通过对RAM内部的指令和数据工作(这个是CPU和ARM等等的工作方式)所以开发遵循嵌入式软件的设计原则。调试应更注重于算法的实现。

使用特权

评论回复
fentianyou| | 2018-8-15 22:36 | 显示全部楼层
一般可以在板子上同时利用DSP和FPGA。

使用特权

评论回复
xiaoyaodz| | 2018-8-15 22:37 | 显示全部楼层
dsp作算法主处理器。fpga做接口

使用特权

评论回复
febgxu| | 2018-8-15 22:37 | 显示全部楼层
跟着学习了。

使用特权

评论回复
sdlls| | 2018-8-15 22:37 | 显示全部楼层
FPGA与DSP之间的是怎么传输的?

使用特权

评论回复
pixhw| | 2018-8-15 22:38 | 显示全部楼层
DSP的数据和地址总线接到FPGA中,FPGA可以实现FIFO,RAM等外设功能

使用特权

评论回复
sdlls| | 2018-8-15 22:38 | 显示全部楼层
问应该怎么去学习啊?

使用特权

评论回复
kkzz| | 2018-8-15 22:38 | 显示全部楼层
FPGA是并行的,用来处理速度要求高

使用特权

评论回复
febgxu| | 2018-8-15 22:38 | 显示全部楼层
后期可能用到楼主的相关产品的。

使用特权

评论回复
hudi008| | 2018-8-15 22:38 | 显示全部楼层
既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。

使用特权

评论回复
xiaoyaodz| | 2018-8-15 22:38 | 显示全部楼层
具体用什么型号芯片。资源多少,时钟频率上限。

使用特权

评论回复
lzmm| | 2018-8-15 22:38 | 显示全部楼层
这样速度更快,其余的,及数据处理之外的就用FPGA来实现。

使用特权

评论回复
fentianyou| | 2018-8-15 22:38 | 显示全部楼层
DSP芯片用c语言编程,容易进行复杂的信号处理算法;FPGA有hdl语言编程,复杂算法难以实现,多进行数据通信接口及简单快速的算法。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

967

主题

1447

帖子

9

粉丝