新闻中心

EEPW首页>嵌入式系统>设计应用> 基于DSP的1553B总线接口电路设计

基于DSP的1553B总线接口电路设计

作者: 时间:2016-09-12 来源:网络 收藏
基于DSP的1553B总线接口电路设计

4 软件驱动设计

接口的软件驱动设计主要应用C语言与汇编语言混合编程方式,这样有着较好的升级性和高效性。软件程序目的就是通过上位机的命令来控制接口卡完成系统启动、自检、自检返回、系统停止等工作。在系统启动后,完成对的读取和采集。软件驱动的主要功能是要完成C6713和的初始化和中断服务程序,控制RAM空间的自检、与上位机的通信、中断响应、总线数据的读取发送。驱动程序的结构框图如图5所示。

基于DSP的1553B总线接口电路设计

4.1 芯片的初始化

本文最终将用于的采集工作,总线接口卡主要是工作在MT模式下,记录来自机载火控系统的飞行数据,为后期的数据记录、数据分析做好准备。

1)对的初始化

在MT模式下,要完成对的初始化设置包括初始化相应寄存器,设置中断屏蔽,使其能正确实现MT功能。对BU-61864的初始化有非常严格的顺序,顺序不对可能引起芯片初始化失败,有关寄存器的配置顺序如下:

①首先进行软件复位,即将开始/复位寄存器设置为0X0001,使BU-61864进入复位。

②配置寄存器3,使其为0X8000,进入增强模式。

③中断屏蔽寄存器设置成0X0001,使能消息完成中断。

④初始化地址查找表、非法指令表、子地址寄存器等。

⑤配置寄存器1设置为0X5000,BU-61864进入消息监测模式。

⑥配置寄存器2设置成0X0008,使中断方式为低电平中断。

⑦将开始/复位寄存器配置成0X0002,来启动BU-61864的MT模式。

BU-61864初始化流程图如图6所示。

基于DSP的1553B总线接口电路设计

2)对C6713的初始化

对C6713的初始化也是设置相关寄存器,但是它的主要是有关寄存器的中断和串口设置。包括:中断屏蔽寄存器(IMR)、中断使能寄存器(IER)、中断标志寄存器(IFR)、中断控制寄存器(ICR),波特率设置寄存器(SCIBAUD)等。同时,C6713还要根据选择来决定通过C语言程序还是EMDA搬移数据,据此初始化相应寄存器。若用C语言编写,需要使能EINT4中断。若用EMDA,可以不需要CPU参与,减轻工作压力,那么初始化内容有:使能全局中断、使能EMDA完成中断、对读通道事件寄存器清零、对读写通道的CIPR清零、使能读写通道的通道中断使能寄存器。

4.2 自检任务描述

自检模块的主要任务就是完成对BU-61864的4kbRAM空间的检查,检测RAM空间是否出现错误。具体的操作方法可以向RAM内存空间写入连续的数据,然后读出来,与原数据进行比较看是否相等,如果是不相等的,那么表示有错。最后将记录下的所有的错误数通过串行口发送给上位机。

4.3 查询任务描述

在数据查询模块中,通过查询“读总线数据标志位”来进行总线数据的接收、转发和上位机命令的读取。若“读总线数据标志位”的查询结果有效,C6713就从BU-61864命令堆栈相应的地址处对4个地址单元的内容进行依次读取。4个地址单元的内容分别为数据块状态字、时间标志字、数据块指针和接收到的命令字。然后根据命令字和数据块指针到数据堆栈读取总线数据,最后将接收到的总线上的数据转发出去。通过查询“读串口数据命令标志位”是否有效来进行接收上位机的命令,根据命令实现相应功能。

为了确保与上位机握手的可靠性,在查询程序中设置一个数据缓冲区。并且在查询程序中判断缓冲区中的数据,看收到的命令是否是一帧完整的命令。若是,则根据不同的命令设置系统的启动、停止、自检等相应标志,并将缓冲区中的数据依次向前移动一帧,数据指针也向前移动一帧。

5 结束语

采集记录逐渐向高速、高效、大容量存储的方向发展。芯片的出现和发展以其出色的运算能力、高效的指令集、智能外设、大容量的片内存储器和大范围的寻址能力使得机载火控数据采集向着更好的方向发展。

本文对数据总线协议进行了详细介绍,结合C6713的性能特点,通过与协议芯片BU-61864的硬件接口和软件设计,实现了与1553B数据总线接口的MT设计。本文用途明确,将为机载火控数据的采集记录有着实用价值。


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭