发 帖  
原厂入驻New
张飞60小时讲透半桥串联谐振软开关电源设计,立即学习!

[经验] 采用DSP实现1553B总线接口电路设计

2019-6-13 05:00:04  85 寄存器 DSP 上位机 接口
分享
0
机载火控数据采集技术需要满足实时采集、实时传输、实时存储以及方便下载的需求,以便于地面人员对获取信息的处理。这样可以更好的动态掌握飞机的作战状态,提高飞行训练效果和作战能力。1553B数据总线作为航空电子综合系统中信息交流的主干道,使机载数据能在复杂的环境中得以保存、交换。DSP作为高速性能的数据处理芯片,可以实现较高速率的数据采集。FPGA作为高速、复杂的组合逻辑和时序逻辑控制器件,更适合外围电路的连接,将两者组合使用,满足了数据的高速传输与存储。同时,随着1553B数据总线协议标准的颁布,许多电器件公司开发了能将1553B数据总线与CPU相连接的相应接口芯片。这样,使得数据在传输过程中更加稳定、高速、可靠。本文旨在探讨采用DSP与相应接口芯片BU-61864,设计相关电路来实现机载火控数据的采集。1 1553B数据总线
MIL_STD_1553B是军工定义的数字时分制命令/响应式多路传输数据总线,采用曼彻斯特Ⅱ编码,半双工工作方式,数据传输的速率为1Mbps,能挂接31个远置终端,支持3种终端类型。该标准作为美国国防部武器系统集成和标准化管理的基础之一,被广泛应用于飞机综合航电系统、外挂物管理与集成系统,并逐步扩展到飞行控制等系统及坦克、舰船、航天等领域。我国参照MIL_STD_1553B标准,于1987年颁布了相应的军用标准,即GJB-289A。
MIL_STD_1553B定义了连接在总线上的3种类型终端,即总线控制器(BC)、远程终端(RT)和总线监视器(BM)。
1)总线控制器(Bus Controller简称BC):总线控制器的功能就是控制总线上的数据流收发,数据总线上有很多BC,但是每次只能一个BC工作。而且一些RT也能担任BC的工作。BC发送命令给RT,接收并确认命令之后,RT给出响应。
2)远程终端(Remote Terminal简称RT):RT是一个采用1553B数据总线连接各式各样子系统的设备,RT接收BC传送的命令、检测错误并且反馈错误,即要对BC作出响应。
RT特征如下:
①一条数据总线可以连接多达31个RT。
②每一个RT可以有多达31个子RT。
③RT只有当接收并确认BC的命令之后,才会作出响应,属于被动式。
3)总线监控(Bus Monitor简称BM):BM监听总线上的所有数据传输并且记录指定的消息。他们的连接如图1所示。
1553总线上的数据是以串行数字脉冲编码调制的格式进行传输,采用的是曼彻斯特Ⅱ双相电平码作为数据的编码格式。逻辑1电平由I/O编码组成(即一个正脉冲后面紧跟着一个负脉冲),逻辑0由0/1编码组成(即一个负脉冲后面紧跟着一个正脉冲)。
1553B总线上的信息是以字的形式传输的。包括一个3位的同步位、16位信息位以及一位奇偶校验位。总线上的字共有3种类型:命令字、数据字、状态字。他们的具体格式如图2所示。
2 硬件选择
2.1 TMS320C6713芯片介绍
DSP芯片选用ti公司生产的TMS320C6713,该芯片为TMS320C6000系列DSP平台上产生的新的浮点型芯片。其有225 MHz的高速运行速度,提供13.5亿次/秒浮点运算,18亿/秒的指令操作。而且,C6713使用2级缓存的架构以及强大多样化的外设集:1级程序缓存是一个4 kB的直接映射高速缓存,1级数据高速缓存是一个4 kB的2路组相联高速缓存。2级内存和缓存有一个256 kB的存储空间,在程序和数据之间共享。这个256 kB存储器中64 kB可以配置为寄存器、高速缓存或者两个的组合,192 kB作为对应的SRAM。可见,C6713应用非常灵活。外设集包括2个多通道缓冲串行端口(McBSPs),2个内部集成电路(I2C)总线,一个专用通用输出/输出(GPIO)模块。2个通用定时器,主机接口(HPI),以及1个能够与SDRAM、SBSRAM、异步外设无缝连接的外部存储器接口(EMIF),增强型直接内存访问(EDMA)控制器(16个独立通道)。
C6713有着非常好的运算能力、高效的指令集、智能外设、大容量的片内存储器和大范围的寻址能力。因此,更适合用于对运算能力和存储量有较高要求的场合。
2.2 BU-61864芯片介绍
由于本文选用的DSP芯片C6713的I/O电平为3.3 V,为简化硬件电路设计,选用DDC公司的全3.3 V的1553B协议芯片BU-61864,这样无需电平转换,大大提高设计效率和减少相关工作器件。BU-61864芯片内部集成了双收发器、编/解码器、协议逻辑、内存管理和中断控制逻辑,支持BC/RT/MT模式,还提供了一个4kB的内部共享静态RAM和与处理器总线之间的缓冲接口,并且有可扩展的4K*17bitRAM,两个1553B收发器芯片。
BU-61864有灵活的接收/存储器接口,能完全实现1553B协议所规定的消息传输外,还具有较强的消息管理能力,能全面兼容1553B协议。其功能结构框图如图3所示。
3 硬件接口电路设计
本系统由DSP主导,1553B协议部分由BU-61864协议芯片完成,外接逻辑电路由FPGA器件完成。其中DSP控制BU-61864的初始化以及消息的读取和处理。FPGA实现信号的控制和译码。而在DSP对BU-61864相关寄存器的控制和配置后,它可以工作在BC、RT或BM等模式下。在本次操作中,因为只需要记录来自机载火控系统的所有数据,因此只工作在总线监视器模式下即可。
当BU-61864接收到一个消息后,产生一个中断信号,该中断信号就会向C6713发送一次中断申请,C6713响应中断,并向相关寄存器做出配置。在BU-61864和C6713之间的控制逻辑电路由可编程d690b322d0534d8f248891f21be1bFFCFPGA实现。控制逻辑电路包括地址译码电路和逻辑控制电路。其中地址译码电路功能是对接口芯片所使用的C6713存储器和BU-61864存储器进行地址选择和译码;而逻辑控制电路功能是产生BU-61864所需要的控制信号以及提供给C6713中断信号、握手信号、插入等待信号。所有的数据总线和地址总线,以及控制信号、中断信号都是由C6713和BU-61864提供给控制逻辑电路。它们的具体电路连接如图4所示。
4 软件驱动设计
接口的软件驱动设计主要应用C语言与汇编语言混合编程方式,这样有着较好的升级性和高效性。软件程序目的就是通过上位机的命令来控制接口卡完成系统启动、自检、自检返回、系统停止等工作。在系统启动后,完成对机载火控数据的读取和采集。软件驱动的主要功能是要完成C6713和BU-61864的初始化和中断服务程序,控制RAM空间的自检、与上位机的通信、中断响应、总线数据的读取发送。驱动程序的结构框图如图5所示。
4.1 芯片的初始化
本文最终将用于机载火控数据的采集工作,1553B总线接口卡主要是工作在MT模式下,记录来自机载火控系统的飞行数据,为后期的数据记录、数据分析做好准备。
1)对BU-61864的初始化
在MT模式下,要完成对BU-61864的初始化设置包括初始化相应寄存器,设置中断屏蔽,使其能正确实现MT功能。对BU-61864的初始化有非常严格的顺序,顺序不对可能引起芯片初始化失败,有关寄存器的配置顺序如下:
①首先进行软件复位,即将开始/复位寄存器设置为0X0001,使BU-61864进入复位。
②配置寄存器3,使其为0X8000,进入增强模式。
③中断屏蔽寄存器设置成0X0001,使能消息完成中断。
④初始化地址查找表、非法指令表、子地址寄存器等。
⑤配置寄存器1设置为0X5000,BU-61864进入消息监测模式。
⑥配置寄存器2设置成0X0008,使中断方式为低电平中断。
⑦将开始/复位寄存器配置成0X0002,来启动BU-61864的MT模式。
BU-61864初始化流程图如图6所示。
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 查询任务描述
在数据查询模块中,通过查询“读总线数据标志位”来进行1553B总线数据的接收、转发和上位机命令的读取。若“读总线数据标志位”的查询结果有效,C6713就从BU-61864命令堆栈相应的地址处对4个地址单元的内容进行依次读取。4个地址单元的内容分别为数据块状态字、时间标志字、数据块指针和接收到的命令字。然后根据命令字和数据块指针到数据堆栈读取总线数据,最后将接收到的总线上的数据转发出去。通过查询“读串口数据命令标志位”是否有效来进行接收上位机的命令,根据命令实现相应功能。
为了确保与上位机握手的可靠性,在查询程序中设置一个数据缓冲区。并且在查询程序中判断缓冲区中的数据,看收到的命令是否是一帧完整的命令。若是,则根据不同的命令设置系统的启动、停止、自检等相应标志,并将缓冲区中的数据依次向前移动一帧,数据指针也向前移动一帧。
5 结束语
机载火控数据采集记录逐渐向高速、高效、大容量存储的方向发展。DSP芯片的出现和发展以其出色的运算能力、高效的指令集、智能外设、大容量的片内存储器和大范围的寻址能力使得机载火控数据采集向着更好的方向发展。
本文对1553B数据总线协议进行了详细介绍,结合C6713的性能特点,通过与协议芯片BU-61864的硬件接口和软件设计,实现了与1553B数据总线接口的MT设计。本文用途明确,将为机载火控数据的采集记录有着实用价值。

评论

高级模式
您需要登录后才可以回帖 登录 | 注册

发经验
课程
    关闭

    站长推荐 上一条 /10 下一条

    快速回复 返回顶部 返回列表