新闻中心

EEPW首页 > 模拟技术 > 设计应用 > 基于DSP的1553B终端设计

基于DSP的1553B终端设计

作者:时间:2016-10-16来源:网络收藏

摘要 介绍了总线的完备的特点和工作原理。以16位缓冲器方式接口为例,叙述了利用设计基于DSP的1553B终端的方法,最后,通过例子具体分析了BC、RT工作模式下软件的初始化过程及工作流程。实验验证了文中方法功能强大、应用较复杂,为1553B总线传输接口的设计提供了丰富的资源。

本文引用地址:http://www.eepw.com.cn/article/201610/308112.htm

总线是美国国防部制定的一种具有可确定性且传输可靠的数据总线,其采用Manchestcr编码,通信介质为两根导线绞合的屏蔽护套电缆,现广泛用于航空电子综合化系统中。DDC的协议芯片为处理器和总线之间提供了一个完善的集成环境。本文选用该芯片,探讨了基于DSP的1553B终端软硬件设计要点。

1 BU-61580芯片的结构和特点

图1为BU-61580芯片的内部结构框图。其内部功能强大、接口灵活,有各种封装和供电电压可供选择,是1553B总线常用的

基于DSP的1553B终端设计

2 基于DSP的1553B终端设计

MIL-STD-1553B总线可以挂接总线控制器(BC)、远程终端(RT)和监控器终端(MT)3种终端设备。BU-61580为DSP和MIL-STD-1553B总线之

间提供一个全面、灵活的接口,分别实现BCRTMT的功能。

2.1 BU-61580硬件接口设计

在设计BU-61580与DSP接口时,应根据DSP是否具有握手应答输入READY信号选择非零等待和等待方式。所谓非零等待指将BU-61580的输入信号ZERO-WAIT置为逻辑1,此时BU-61580可以与具有一个用握手应答形式来调节硬件控制的等待状态的DSP接口。目前大多数DSP具有握手应答输入信号。

所谓零等待方式指将BU-61580的输入信号ZERO-WAIT置为逻辑0,使BU-61580与没有握手应答输入信号的DSP接口。在该系统配置中,DSP完成到BU-61580内部RAM或寄存器的访问之前清除它的选通输出。

BU-61580与DSP以及外部DSP的接口形式灵活,共有6种结构形式:16位缓冲器方式、16位透明方式、使用双口RAM的16位透明方式、16位直接存储存取方式、带扩展逻辑的16位DMA方式、8位缓冲器方式。其中,16位缓冲器方式是最常用的接口形式,在此形式下,BU-61580内部的地址/数据缓冲器为其与DSP的地址数据总线之间提供了一个必要的隔离。1553共享RAM地址空间限制在BU-61580的内部4 kB RAM范围内。在一般应用中,BU-61580内部4 kB RAM足够使用。

BU-61580与1553B总线有两种连接方式:直接耦合和变压器耦合。两种耦合形式都需要一个隔离电阻,串接在1553B总线的每根线上,以便总线不受变压器、短截线或终端元件短路的影响。

图2为以TMS320F2407为例,BU-61580典型的16位缓冲器方式电路应用框图,采用直接耦合方式。

基于DSP的1553B终端设计

作为RT使用时,RTAD0-RTAD4远程终端地址线连接相应设定的地址值,RTADP与RTAD0-RTAD4一起构成奇校验。作为BCMT时,RTAD0-RTAD4、RTADP可不连接。为防止DSP访问冲突,将DSP的地址总线A12~A15通过逻辑控制电路与BU-61580的选通信号、存储器/寄存器选择信号相连。

2.2 BU-61580软件设计

BU-61580芯片通过程序设置区分BC、RT和MT工作模式。其软件设计较为复杂,下面以BC、RT模式为例,说明其软件设计过程。

2.2.1 BU-61580初始化设置

在BC工作模式下,BU-61580初始化的基本步骤如下。

(1)BU-61580内部4 kB的RAM空间清0。

(2)向启动/复位寄存器写入0x05,对BU-61580进行中断、软件复位。

(3)若需使能增强方式,对配置寄存器#3写入0x8000。

(4)根据需要设置中断屏蔽寄存器,一般设为0x0009,使能BC帧结束、消息结束中断。

(5)通过配置寄存器#1设置当前工作区B/A,是否帧自动重复,触发使能模式,是否重试,重试次数等。

(6)通过配置寄存器件2设置中断触发方式,时间标志分辨率。

(7)通过配置寄存器烘设置消息重试方式。

(8)时间标志寄存器清0。

(9)若使用帧自动重复方式,则需设置帧时间寄存器,用于确定BC帧间隔时间。

(10)初始化消息块。对于BC到RT传输的消息,将其控制字、命令字及待发送的数据块写入事先设定好的消息块地址,对于RT到BC传输的消息,将其控制字、命令字写入事先设定好的消息块地址。

(11)初始化堆栈指针和消息计数器,消息计数器中所设置为0xffff-将要传输消息个数。若使用帧自动重复方式,还需设置初始堆栈指针和初始消息计数器。

(12)启动BC工作,若配置寄存器#1外部触发使能有效,则在EXT-TGIG输入管脚输送一个上升沿启动BC帧传输,若配置寄存器#1内部触发使能有效,则向启动/复位寄存器写入0x02,启动传输。

在RT工作模式下,BU-61580初始化的基本步骤如下。

(1)BU-61580内部4 kB的RAM空间清0。

(2)向启动/复位寄存器写入0x01,进行软件复位。

(3)若需使能增强方式,对配置寄存器#3写入0x8000。

(4)根据需要设置中断屏蔽寄存器,例如使能RT发送器超时、RT地址奇偶校验错、消息结束中断。

(5)通过配置寄存器#1设置当前工作区B/A,子系统标志等。

(6)通过配置寄存器#2设置中断触发方式,使能中断状态自动清除。

(7)设置配置寄存器件4使能用配置寄存器#5锁存RT地址。

(8)设置堆栈指针。

(9)根据须接收和发送消息块的子地址设置RT查询表,分配相应消息块的存储地址。

(10)初始化消息块,将待发送的数据块写入事先设定好的消息块地址。

2.2.2 中断处理

在BC工作模式下,中断通常使能消息中断和帧中断。在中断服务程序中,首先读取中断状态寄存器,若为消息中断,根据当前消息块命令字判断为何消息,对相应消息块数据进行处理,若为帧中断,则根据下一帧待发送消息重新初始化BC消息块堆栈,设置BC堆栈指针与消息计数器。

在RT工作模式下,中断通常为消息中断,在中断服务程序中,读当前块状态字,若消息结束,读取消息块,对数据进行处理。

2.3 软件设计实例

现举例说明BU-61580作为BC的软件设计过程。

假设BC需要传输4个消息快,其在BU-61580内部RAM中基址分别为:0x0200、0x0260、0x0290、0x02c0,映射到DSP系统中地址为:0x820 0、0x8260、0x8290、0x82c0,映射地址由DSP高地址位A12~A15与控制信号译码决定,设定消息传输的远程终端地址为0x6,其中消息块1为矢量字,其数据值为1时,在下一帧消息中传输消息块3。消息块1,消息块4为周期性消息,周期为25 ms,消息块具体属性见表1。

基于DSP的1553B终端设计

对各个消息块控制字设置如下:(1)消息块1控制字为0x0194:重试使能、总线通道选择A、使能方式代码格式,使能消息中断。(2)消息块3控制字为0x0190,重试使能、总线通道选择A,使能消息中断。(3)消息块2、4控制字为0x0180,重试使能、总线通道选择A。

对寄存器进行初始化,在初始化消息块时,将消息块控制字、命令字写入相应地址,其中消息块2、消息块4需将其待发送的数据块写入设定地址中。由于消息块1,消息块4为周期性消息,使能帧自动重复,设置帧周期为25ms。启动BC工作后等待消息中断和帧中断。

在中断服务程序中,处理接收到的数据块,重新初始化BC消息块堆栈,具体流程如图3所示。

基于DSP的1553B终端设计

利用图2所示电路对该例子进行验证,从总线监控仪上可以看到BC工作正常,消息传输无误。

3 结束语

简述了利用BU-61580设计基于DSP的1553B终端的方法。BU-61580功能强大,应用较为复杂,为1553B总线传输接口的设计提供了丰富的资源。



评论


相关推荐

技术专区

关闭