基于DSP的1553B终端设计
器#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。
对各个消息块控制字设置如下:(1)消息块1控制字为0x0194:重试使能、总线通道选择A、使能方式代码格式,使能消息中断。(2)消息块3控制字为0x0190,重试使能、总线通道选择A,使能消息中断。(3)消息块2、4控制字为0x0180,重试使能、总线通道选择A。
对寄存器进行初始化,在初始化消息块时,将消息块控制字、命令字写入相应地址,其中消息块2、消息块4需将其待发送的数据块写入设定地址中。由于消息块1,消息块4为周期性消息,使能帧自动重复,设置帧周期为25ms。启动BC工作后等待消息中断和帧中断。
在中断服务程序中,处理接收到的数据块,重新初始化BC消息块堆栈,具体流程如图3所示。
利用图2所示电路对该例子进行验证,从总线监控仪上可以看到BC工作正常,消息传输无误。
3 结束语
简述了利用BU-61580设计基于DSP的1553B终端的方法。BU-61580功能强大,应用较为复杂,为1553B总线传输接口的设计提供了丰富的资源。
接口芯片 MIL-STD-1553B BU-61580 相关文章:
- 基于单片机和CPLD的PLC背板总线协议接口芯片设计(二)(05-25)
- 基于单片机和CPLD的PLC背板总线协议接口芯片设计(一)(05-25)
- USB2.0接口芯片CY7C68013的固件程序开发(04-23)
- USB接口芯片FT245BM的功能及其应用(04-18)
- 12位串行A/D转换器MAX187的应用(10-06)
- AGC中频放大器设计(下)(10-07)