一种1553B消息传输时的通道切换策略
2023-08-28武瑞欢范祥辉
武瑞欢,范祥辉,史 岩
(中国航空工业集团公司西安航空计算技术研究所,陕西 西安710068)
0 引言
1553B是美军方为机载设备间数据交互而制定的一种数据传输总线标准,1553B总线具有实时性、确定性等特点,因此该标准现在广泛用于军机、航天卫星等领域。1553B总线接口模块基本使用余度通道设计增加通信时的可靠性,当数据在某一通道发送失败可以切换到另一个备份通道进行发送。某些情况下通信线缆存在短时间的故障导致通信失败,为避免短时间通信故障设计一种通道切换策略,可有效提升通信的稳定性。
1 1553B总线介绍
1553B总线上的节点类型有三种:总线控制器BC,终端设备RT,监控终端MT。其中,总线控制器是总线上命令的发出者,总线上只能有一个总线控制器,负责总线上所有消息的调度和设备的维护。终端设备被动接收总线控制器的指令,依据指令完成数据的接收或者发送功能。1553B协议支持最多30个RT,每个RT具备收发各30条消息,每条消息最长32个字,实际应用中,RT个数一般不超过18个,每个RT收发消息不超过29条。
在总线上传输的消息类型有单播(BC-RT,RT-BC,RT-RT),广播(BC-RTs,RT-RTs),方式命令。总线传输速率支持1 Mbps、2 Mbps。总线采用余度容错,单总线采用A、B通道互为备份。传输介质为双绞屏蔽铜缆,干线长不超过80 m(经验值),变压器耦合方式短截线长不超过6 m,100 m长线重4 kg。传输误码率小于10-7。
1553B为命令响应型总线,总线控制器控制总线上所有消息的传输,通过在运行静态总线控制协议对全网消息调度进行管理,保证消息在规定的最大延迟时间内完成传输。图1为1553B网络拓扑结构。
图1 1553B网络拓扑结构
2 系统设计
机载数据总线通信协议可分为五层,这五层分别为:应用层,驱动层,传输层,数据链路层和物理层,协议层划分如图2所示。其中应用层是通信协议的最高层次,这一层实现通信的管理功能和定义功能,其中管理功能中包括对系统的初始化、维护、复位等,定义功能包括了对需要交换数据的格式、有效范围、实际使用中的数据意义等。驱动层为应用层与低层进行交互提供标准的软件接口,用于实现应用层对各部分硬件和外围资源的管理。在总线体统中,驱动层需要实现对1553B模块的控制功能,包括对硬件的初始化、打开、终止、连接、断开、启动自测试、监控模块的状态、控制模块和主机进行数据交换等。传输层在整个总线网络总负责对1553B总线上的传输数据的直接控制,传输层的功能包括对各种类型消息的处理、传输消息的通道切换、同步、异步消息控制、错误检测等。数据链路层在链路层实现控制各条消息的传输序列。最底层的物理层处理物理传输介质上的位流传输。最上层的应用层、驱动层一般在子系统主机上实现,传输层、数据链路层和物理层在1553B硬件上实现。总线通信协议是多种规范的集合,主要包括总线控制规则、数据传输规则、故障处理与报告规则和周期性处理过程等,应满足GJB289A-97标准,符合ISBC协议。
图2 机载数据总线通信协议
根据通信协议分层和硬件设计架构,整个通信软件分为两个部分,分别为驱动软件和传输软件。传输软件固化在1553B硬件模块的FLASH中,驱动软件是用C语言编写的标准驱动函数,支持所有C语言编译器,子系统主机通过调用驱动函数为主机提供1553B网络数据传输功能。传输软件负责主机命令的执行、总线消息的收发处理等。
2.1 硬件设计
1553B 总线接口模块是机载子系统主机与其他设备进行数据传输的接口,设计采用SoC芯片实现接口板的功能。1553B协议芯片采用HKS289ABRM芯片,该SoC芯片是一款集合高性能、智能化、通用化和小型化优点的通信处理芯片。芯片内嵌高性能PPC460处理器,集成1553B BC/RT/MT协议处理器,对外提供PCI主/从接口和异步总线接口。芯片提供10/100Mbps以太网接口、大容量片上存储器、串口、定时器(Timer)、实时时钟(RTC)、看门狗(WDT)、时间间隔计时器(DT)等丰富的片上资源,实现1553B中规定的RT/BC/MT功能。
芯片作为BCRT协议处理模块特性有:独立完备的总线控制器(BC)和远程终端(RT);BC和RT方式多消息处理能力;可编程的中断机制和内部产生中断机制;64KB寻址的DMA或双口存储器接口能力;支持内部环绕自测试。
MT协议处理模块特性有:MT命令链表结构,根据MT命令链表可自动地将监控到消息存放于DPRAM;用户可编程的内存空间分配,支持对32 KB的DPRAM寻址;可配置的监控BC→RT、RT→BC、RT→RT及方式命令监控;可编程中断选择;MT命令块包含48位的时标。硬件架构设计见图3。
图3 1553B硬件架构设计图
2.2 软件设计
1553B总线冗余设计采用双通道备份机制,即消息在原通道传输错误时可以切换到备份通道进行传输,这种机制提高了总线的容错能力,增加了数据传输时的可靠性。总线控制器负责消息的调度和管理维护,是命令的发出者。在总线余度机制中,总线控制器会在指定通道发送某RT的命令,该RT收到相应通道的命令后会原路回复对于该命令的响应字和要求的数据字。在总线控制器判定该回复不符合GJB289A规范,认定该消息错,总线控制器会重新组织该命令在备份通道发送一次,如果终端设备响应正常,则总线控制器会将关于该设备的所有消息的发送通道都设为备份通道,否则进行消息错处理[1]。
在实际的使用环境中,存在传输线缆短时间故障又恢复的情况,在以上通道切换策略中,瞬时线缆故障可能导致总线控制器判定设备下网,终端设备通信中断。为了提高对这种瞬时线缆故障导致的传输失败的问题的容错性,增加总线传输消息时的稳定性,设计一种优化的通道切换策略。
总线控制器在指定通道发出某一终端设备需要执行的命令,该设备在收到命令后原路回复关于对该命令的响应,如果该回复不符合GJB289A规范,总线控制器会组织该命令在原通道重试发送一次,若终端设备响应正常,则总线控制器中对于该设备的消息通道都设置为指定通道,该设备所有消息都在指定的通道发送;若终端设备响应失败,则总线控制器对于该设备的消息通道都设置为备份通道,总线控制器组织该设备的消息在备份通道发送,如果设备响应正常,以后总线控制器组织该设备的消息都统一在备份通道发送,如果设备响应失败,总线控制器会组织该命令在备份通道重试发送一次,重试消息正确响应,以后总线控制器组织该设备的消息都统一在备份通道发送,如果在备份通道的重试失败,则进行消息异常处理。新的通道切换策略通过对每个通道的重试发送来排除总线线缆短时间的故障,以增加整个通信网络的容错性。
3 结束
本文基于1553B总线使用双余度通道互为备份的原理,针对线缆短时间故障设计了一种通道切换策略,可以对总线上数据的发送进行有效管理,提升数据传输时的可靠性。经测试验证,该设计满足实际需求。