(1)FPGA部分的软件。

(2)DSP部分的软件。

(3)上位机操作系统驱动软件。

5.1 FPGA程序控制功能

该部分采用VHDL语言编写,实现1553B总线数据的接收、发送、曼彻斯特II码、错误检出、奇偶检验、与DSP的接口和译码电路等功能。其中发送单元与接收单元是并行工作的,由逻辑门电路实现。这里从软件角度画出流程图如图5所示。

5.2 DSP程序控制功能

DSP控制部分程序实现的功能如下:

(1)对总线接口板的初始化(包括初始化DSP本身内部电路和寄存器FPGA及上位机通讯寄存器)。

(2)实现RT地址识别

由于是多RT总线接口板,所以收到数据后,应该判别该RT地址是否属于该接口板;

(3)与上位机消息传输控制功能

消息传输控制程序完成总线应传输的数据在总线接口 板和上位机之间的数据交换。包括数据的读写过程和自检测过程,所要完成的操作如下:

①向FPGA写入发送数据(到总线)。

②从FPGA内读出数据(该数据由DSP处理)。

③向双口RAM写入数据(到上位机)。

④自检测过程。自检测过程是在收到上位机的自检命令后,实现接口板的数据发送 和接收性能测试。

(4)中断控制程序

在DSP芯片TMS320F206接口的设计中,使用3个硬件中断,INT1,INT2由FPGA来产生,INT3 则由上位机来产生。INT1表明FPGA的接收单元已收到一个数据,通知F206读数,INT2表明FPGA的接收单元已收到一个错误数据,通知F206读取错误状态信息,INT3是上位机和接口板数据传输 控制的一种手段,通过INT3中断,上位机告诉接口板进行数据接收还是数据发送操作,发送多少数据,采用的消息格式以及总线控制等信息。

DSP部分的软件采用C++和汇编语言混合编程,关键路径如中断服务程序,数据发送和接收程序都采用汇编语言以达到最大的执行效率,主程序采用C++编写。

DSP部分软件的流程图,如图6所示。

5.3 上位机控制程序

主要实现上位机在特定的操作系统下对接口板的软件驱动、数据通讯和传输控制。主要使用C++在Windows环境下进行软件开发。

6、结语

本文介绍了一种基于FPGA和DSP对某型飞机总线系统通讯软件设计与实现的方法。在实际的运用中,较好的实现了总线系统通讯功能,对1553B总线研究具有一定的使用和参考价值。

责任编辑:gt