微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 一种新型1553B备份总线控制器设计与实现

一种新型1553B备份总线控制器设计与实现

时间:10-29 来源:互联网 点击:
0 引言
1553B总线是在20世纪70年代末由美国提出的飞机内部电子系统互联的标准,具有灵活性和高可靠性,广泛应用于三代机中。经过多年的发展和型号应用,1553B软硬件设计技术已经相当成熟,但随着系统性能的提升,系统对1553B总线的性能要求也越来越高,应用模式也发生较大的变化,如何让1553B总线适应新的系统性能要求及新的应用模式是当前研究的热点。
BC是1553B总线消息传输的组织者和发起者,即总线上所有的消息传输都由BC通过发送1553B命令来实现,RT响应BC发送的命令并执行操作。1553B总线是双冗余的传输线,具有A、B两个互为备份的通道,增强了系统的可靠性。但是,由于总线上只能存在一个BC,一旦BC出现故障,则整个总线将瘫痪。工程实践中通过增加BBC的方法来提升系统的可靠性,殷杰波等人提出了利用RT模式作为BBC的设计方法,该RT只接收一条BC的特定消息,通过查询该消息的时间标志寄存器判断在周期内是否收到了该消息,以此判断BC是否工作正常。此设计方法简单有效,一旦BC故障,BBC可以切换为BC模式,进行总线管理与维护。杨卫军等人提出了利用MT模式作为BBC的设计方法;以上设计中,BBC仅用于监控BC的工作状态,功能单一。新的应用需求中,BBC需要具备三个功能:监控BC的工作状态、与其他子系统通信、同步获取BC与其他子系统之间的应用数据传输,完成系统应用的同步解算,传统RT或者MT模式作为BBC的设计方法无法满足系统的要求,本文依据某1553B协议芯片,针对新的应用模式,给出了一种BBC工作于RTMT模式的设计方法。

1 1553B应用模式
1553B采用总线型拓扑结构,节点按照功能可以划分为3类:BC、RT及MT,新的应用模式下,接口控制文件定义了应用相关的所有RT-BC及BC-RT的消息,如图1所示,A系统为主,B系统为备份,A系统主机通过BC负责消息的组织与发送,B系统主机作为备份具有三个功能:


(1)通过BBC监控A系统的运行状态,一旦A系统故障,B系统复位BBC并将其切换为BC,控制整个网络的正常运行;
(2)BBC要能够完成与BC及其他RT的数据通信;
(3)B系统主机需要实时获取ICD文件中定义的所有应用相关的消息,用于同步解算。例如,ICD文件中MSG1为一条RT-BC的消息,当BC组织此消息时,A系统主机通过BC获取到该消息,与此同时,B系统也要通过BBC获取到该消息。
在以往设计模式中,如果BBC工作在RT模式,要满足功能(3),必须根据原ICD文件中定义的RT-BC及BC-RT的消息增加相同数量的RT-BBC及BC-BBC的消息,会导致消息量倍增,无法保证系统的实时性,甚至超出1553B协议可承载的消息数量;如果BBC工作于MT模式,则无法满足功能(2)。针对新的应用模式,RT功能可以满足条件(1),(2),MT功能则可以满足条件(1),(3),若BBC工作于RTMT模式,某一时刻仅能工作于其中一种工作模式,即作RT时,完成RT功能,MT功能停止,作MT时,有选择的监控总线上的通信数据,RT功能停止,RTMT功能根据总线上消息的类型完成自动切换,如果总线上的消息是与BBC的RT地址相关,则工作于RT模式,如果总线上的消息和BBC的RT地址无关,则工作于MT模式,则可以在不增加消息通信量的条件下满足新的应用模式。依据备份总线控制器工作于RTMT模式的思想,本文基于1553B协议芯片给出了BBC工作于RTMT模式的设计与实现方法,其应用模式如图1所示。

2 设计与实现
1553B协议芯片内部功能强大,接口灵活、便于控制,可设置为BC、RT、MT及RTMT模式,在需要主机较小干预的情况下,基于RT地址、T/R位及子地址进行选择性消息监控。MT模式包含一个命令栈和一个数据栈,位于共享RAM的固定位置,且与BC或RT的命令栈独立,选择消息监控模式下,协议芯片接收到一个有效命令,根据“选择监控表”(RAM中固定位置)决定是否使能该消息,如果指定的BIT位在“选择监控表”内是0,命令将不被使能,忽略该消息,如果BIT位为1,命令被使能,进入监控命令栈并将数据内容存放到相应的监控数据栈中。
RTMT模式使得协议芯片除了处理和自己RT地址相关的消息外,其余时间用来有选择的监控总线上的数据,其通过一个中断状态队列实现RT模式与MT模式的判断,如图2所示。


该队列按中断产生的次序记录中断条件和中断事件。中断状态队列为64 B长度,可存储32条监控消息中断。中断状态队列的指针存储在中断向量队列指针寄存器(寄存器地址0x1F)中,该寄存器必须由主机初始化,并由主机累加,中断向量队列指针寄存器始终指向下一个中断的存储地址。每个中断事件产生,协议芯片将2 B写入中断队列,第一个字为中断向量,表明哪一类事件导致了中断。中断事件被分为2类:消息中断事件和非消息中断事件,第二个字为消息描述块指针,指向消息描述块的首地址。
基于以上1553B协议芯片的特点,RTMT功能实现主要包括两部分:相关资源初始化及中断服务处理程序的设计。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top