4. 1553B消息传输机制

1553B总线的消息传输机制,是理解整个系统行为的核心。它规定了终端之间如何交换数据、命令如何被解释、以及一次传输在时间上必须满足哪些约束。与普通串行总线不同,1553B采用命令/响应式的集中控制结构:总线控制器(BC)发出命令字,被寻址的远程终端(RT)在规定时间内响应,整个过程的时序由硬件和协议共同保证。

一、三种基本传输类型

1553B定义了三种数据传输方向,它们由命令字中的发送/接收位(T/R位)和地址字段共同决定。

BC到RT(BC→RT):BC先发送接收命令字,指定目标RT接收数据,随后BC立即发送数据字,目标RT在收到数据后回送状态字。这是最典型的“下发”场景,例如BC向某个RT写入控制指令或参数。

RT到BC(RT→BC):BC发送发送命令字,指定源RT发送数据。被寻址的RT先回送状态字,紧接着发送约定数量的数据字,BC接收并校验。这是“上报”场景,例如BC读取某RT的传感器数据。

RT到RT(RT→RT):BC发送接收命令字给目标RT,再发送发送命令字给源RT。源RT先回送状态字并发送数据,目标RT接收数据后回送状态字。注意,数据并不经过BC,BC只负责发起和协调。这种传输方式减少了BC的负担,但要求两个RT的地址和子地址配置正确。

三种传输类型在命令字序列、数据流向和状态字回送顺序上都有明确区别,实际开发中必须根据数据方向选择正确的命令组合。

二、广播传输

广播是1553B中一种特殊的传输方式,其特点是命令字中的地址字段为31(11111),表示所有RT都应接收该消息。广播只能用于BC到RT方向,即BC发送数据,所有RT同时接收。广播传输中,RT不返回状态字,这是与普通BC→RT传输最大的区别。因此,BC无法通过状态字确认哪些RT正确接收了数据,只能依赖应用层的确认机制或周期性重发来保证可靠性。

广播的典型应用包括:时间同步、全局命令下发、系统模式切换等。由于没有状态字回送,广播消息的传输时间比普通消息短,但可靠性保障需要额外设计。

三、模式代码

模式代码是1553B中用于控制RT行为的一类特殊命令。当命令字的子地址字段为00000或11111时,表示该命令为模式命令,此时数据字字段被解释为具体的模式代码。模式代码不传输普通数据,而是执行特定功能,例如:

  • 动态总线控制:将总线控制权临时移交给某个RT;
  • 同步:使RT与外部事件同步;
  • 发送状态字:请求RT回送状态字;
  • 发送自检字:请求RT回送自检结果;
  • 复位:使RT复位到初始状态。

模式代码的传输同样遵循命令/响应结构,但数据字的内容是模式代码而非用户数据。开发中需要特别注意:模式命令的T/R位和子地址组合必须符合协议规定,否则RT可能不响应或返回错误状态。

四、时间间隔要求

1553B对消息传输的时间间隔有严格规定,这些要求直接影响总线效率和实时性。关键时间参数包括:

  • 命令字到状态字的响应时间:RT必须在收到命令字后的4~12微秒内开始回送状态字;
  • 状态字到数据字的间隔:对于RT→BC传输,RT回送状态字后,应在4~12微秒内开始发送数据字;
  • 消息间间隔:两条消息之间应保留至少4微秒的总线空闲时间,用于终端切换和总线稳定;
  • 无响应超时:如果RT在14微秒内没有回送状态字,BC应判定为超时,并执行错误处理。

这些时间参数是硬件设计和软件调试的重要依据。例如,在编写BC调度表时,必须为每条消息预留足够的响应窗口,否则会出现误判超时或总线冲突。实际工程中,常用示波器或总线分析仪观察命令字、状态字和数据字之间的时间关系,验证是否满足协议要求。

1553B消息传输机制与时间间隔 BC → RT 传输 接收命令字 数据字 状态字 BC发命令 → BC发数据 → RT回状态 RT → BC 传输 发送命令字 状态字 数据字 BC发命令 → RT回状态 → RT发数据 RT → RT 传输 接收命令字(目标) 发送命令字(源) 源状态字 数据字 目标状态字 BC协调,数据不经BC 广播传输 接收命令字(地址31) 数据字 所有RT接收,不回状态字 关键时间间隔 命令→状态响应:4~12 μs 状态→数据间隔:4~12 μs 消息间空闲:≥4 μs | 无响应超时:14 μs

五、实际开发中的配置要点

在具体实现时,BC端需要为每条消息定义命令字序列。以RT→RT传输为例,BC需要依次发送两个命令字:第一个是接收命令字,指向目标RT的接收子地址;第二个是发送命令字,指向源RT的发送子地址。两个命令字之间的间隔应满足协议要求,通常由BC硬件自动控制。

对于广播消息,BC只需发送一个接收命令字(地址31)和一个数据字,不需要等待状态字。但BC必须确保广播消息不会与其他消息冲突,因为广播期间所有RT都在接收,总线占用时间需要精确计算。

模式代码的使用需要查阅RT的接口控制文档(ICD),确认哪些模式代码被支持、对应的数据字含义是什么。例如,发送自检字模式命令通常要求RT返回一个固定长度的自检数据字,BC需要根据ICD解析该数据。

调试提示:使用总线分析仪捕获消息时,重点关注命令字与状态字之间的时间差。如果超过14微秒仍无状态字,说明RT未响应,应检查RT地址、子地址配置以及RT是否处于在线状态。
注意:广播消息不返回状态字,因此不能用于需要确认的关键数据传输。如果应用要求可靠传输,应使用点对点传输并检查状态字中的错误位。

总结来说,1553B的消息传输机制围绕命令字、状态字和数据字的三元结构展开。传输类型决定了命令字的组合方式,广播和模式代码是特殊命令形式,而时间间隔要求则是保证总线确定性和实时性的基础。开发者在设计BC调度表和RT响应逻辑时,必须同时考虑传输方向、地址分配、模式代码支持和时间约束,才能构建出稳定可靠的1553B通信系统。