【MIL-STD-1553】
MIL-STD-1553是美国国防部发布的一个军用标准，定义了机械、电气和串行数据总线的功能特征。它最初是设计来作为军用航空电子的航空数据总线，但现在已普遍用于军用和民用航天器的On-board data handling（OBDH）子系统。它具有多个（通常为双重）冗余的Balanced line物理层、一个差分网络接口、时分多路复用、半双工命令/响应协议，并可处理多达30个远程终端（设备）。使用光缆代替电缆的MIL-STD-1553版本称为MIL-STD-1773。
MIL-STD-1553最早在1973年作为一项美国空军标准发布，并首次用于F-16战隼战斗机战斗机。其他飞机的设计也迅速跟进，包括F/A-18黄蜂式战斗攻击机、AH-64阿帕契直升机、P-3猎户座海上巡逻机、F-15鹰式战斗机以及F-20虎鲨战斗机。它现在在美军所有军种广泛使用，北大西洋公约组织（NATO）亦已将之作为STANAG 3838 AVS采用。STANAG 3838在英国为UK MoD Def-Stan 00-18 Part 2，使用于龙卷风战斗轰炸机、鹰式教练机（Mk 100及之后），以及广泛配合STANAG 3910 -“EFABus”，用于台风战斗机。JAS 39狮鹫战斗机使用MIL-STD-1553B。俄罗斯制造的米格-35战斗机也使用MIL-STD-1553。印度的烈火系列飞弹据称也使用了该总线系统，并还有不少军事装备应用该总线作为电子通信接口。MIL-STD-1553正在由一些更新的美国技术取代，如IEEE 1394。
== 修订 ==
MIL-STD-1553B发布于1978年，取代了早先1975年发布的MIL-STD-1553A规范。1553A与1553B修订版本的基本区别在于，后者定义选项，而不是让用户自行按需定义。标准制定者发现，当标准没有定义某一规范时，它的使用就没有协调，硬件和软件必须为每个新的应用程序重新设计。1553B的主要目标是提供灵活性，而无需为每个新用户创建新的设计。这通过明确指定电气接口来实现，从而确保不同制造商的设计之间的电气兼容性。
自1978年以来，已经对该标准发布了六项变更通知。例如，1986年的第二号变更通知将文档标题“飞机内部时分命令/响应多路复用数据总线”改为“数字时分命令/响应多路复用数据总线”。
MIL-STD-1553标准目前由美国国防部和Society of Automotive Engineers航天部门维护。
== 物理层 ==
单个总线由在1MHz时具有70-85Ω阻抗的线对组成。在使用圆形连接器的情况下，其中心引脚用于高（正）曼彻斯特双相信号。发射器和接收器经由隔离变压器耦合到总线，并使用一对隔离电阻器和可选的耦合变压器分支出短截线连接。这减少了短路的影响，并确保总线不通过飞机传导电流。曼彻斯特编码用于在同一线对上同时传输时钟和数据，并消除信号中的直流分量（其不能通过变压器）。比特率为1.0兆比特每秒（每微秒1比特）。比特率的准确度和长期稳定性综合在一起，仅规定在±0.1％之内；短期时钟稳定度必须在±0.01％以内。发射器的峰值输出电压为18-27V。
通过使用几个独立的线对，总线可以成为双重或三重冗余，然后所有设备连接到所有总线。在当前主控制器发生故障的情况下，指定新的总线控制计算机。通常，辅助飞行控制计算机通过主数据总线监视主计算机和飞行器传感器。使用光纤的不同版本总线重量较轻，并具有更好的电磁干扰抗性，包括电磁脉冲（EMP）。这也称为MIL-STD-1773。“AS 1773”实现具有1Mbit/s与20Mbit/s的双速率。
== 总线协议 ==
一个MIL-STD-1553多路数据总线系统由控制多个远程终端（RT）的总线控制器（BC）组成，它们通过数据总线连接在一起，在总线控制器与所有相关的远程终端之间提供单个数据路径。这也可以有一个或多个总线监视器（BM）；但是，总线监视器尤为不允许参与数据传输，仅用于捕获和记录数据用于分析等。在冗余总线实现中，使用若干数据总线来提供多于一个数据路径，即为双冗余数据总线、三冗余数据总线等。到数据总线的所有传输都可以借由总线控制器和所有连接的远程终端取得。消息是由一个或多个16位字（命令、数据或状态）组成。包含每个字的16位元使用曼彻斯特编码发送，其中每个位元传输为0.5微秒高与0.5微秒低表示一个逻辑1，而低-高序列表示一个逻辑0。每个字前面有一个3微秒同步脉冲（数据字为1.5微秒低+1.5微秒高，对于命令和状态字则相反，不能在曼彻斯特码中出现）及尾随的奇偶校验位。实际上每个字可以视同一个20位元字：3位元用于同步，16位元用于有效负载，1位元用于奇偶校验控制。消息内的字连续传输，并且消息之间必须至少有4微秒的间隙。不过，这种消息间间隙可以并且通常远大于4微秒，甚至一些旧的总线控制器将达到1毫秒。设备必须在4-12微秒内开始将其响应发送到一个有效命令，并且如果在14微秒内没有开始响应，则认为没有接收到命令或消息。
总线上的所有通信都在总线控制器的控制下，包括从总线控制器到远程终端的接收与发送命令。用于将数据从总线控制器传输到终端的字序列（符号形式为.，类似通信顺序进程的符号）为：
主动方.命令(终端) → 终端.状态(主动方) → 主动方.数据(终端) → 主动方.命令(终端) → 终端.状态(主动方)
而终端到终端的通信为：
主动方.命令(终端_1) → 终端_1.状态(主动方) → 主动方.命令(终端_2) → 终端_2.状态(主动方) → 主动方.命令(终端_1) → 终端_1.数据(终端_2) → 主动方.命令(终端_2) → 终端_2.状态(主动方)
这意味着在传输期间，所有通信由总线控制器启动，并且终端设备不能自己开始数据传输。在远程终端到远程终端传输的情况下，序列如下：在远程终端接口（例如RT1）后面的子系统中的应用或功能将要发送的数据写入特定（发送）子地址（数据缓冲器）中。该数据写入子地址的时间不一定与事务的时间相关联，尽管接口确保不发送部分更新的数据。总线控制器命令作为数据目的地的远程终端（例如RT2）在指定（接收）数据子地址接收数据，然后命令RT1从命令中指定的发送子地址发送。RT1发送状态字，指示其当前状态和数据。总线控制器接收RT1的状态字，并且看到发送命令已经接收，并且操作无误。RT2接收共享数据总线上的数据，并将其写入指定的接收子地址，并发送其状态字。接收RT接口后面的子系统上的应用或功能然后可以访问数据。同样，该读取的时间不一定与传送的时间相关。总线控制器接收RT2的状态字，并且看到接收命令和数据已经无误接收和操作。
然而，如果远程终端无法通过设置状态字中的错误位来发送其状态或期望的数据或指示问题，则总线控制器可以重试该传输。这样的重试有几种选择，包括立即重试（在冗余数据总线对的另一数据总线上）和在传输序列中稍后重试（在同一总线上）。
序列确保终端正在工作并且能够接收数据。在序列的数据传输结束时的状态字确保数据已接收、且可接受数据传输的结果。正是这个序列使MIL-STD-1553具有高的完整性。
然而，该标准没有规定任何特定传输的特定时间——这取决于系统设计师。通常（大多数军用飞机上的做法），总线控制器具有覆盖大多数传送的传送调度，通常组织成主帧或主周期，再细分为小周期。在这种循环执行调度结构中，在每个小周期（速率组1）中发生的传送以最高速率（通常为50Hz）发生，在每隔一个小周期发生的传送中，其中有两个组（速率组2.1和2.2）以下一个最高速率发生，例如25Hz。类似地，有四组（3.1、3.2、3.3和3.4）则例如12.5Hz等。因此，在使用该调度结构的情况下，传输全部在谐波相关的频率上，例如50、25、12.5、6.25、3.125及1.5625Hz（对于在50Hz下包括32个次循环的主帧）。虽然远程终端不能直接自己开始传送，但该标准包括远程终端需要传送、而未经总线控制器自动调度时的方法。这些传送通常称为非循环传送，因为它们在循环执行程序使用的结构之外。在此序列中，远程终端通过状态字中的一个位（“服务请求”位）请求传送。通常来说，这使总线控制器发送“传送向量字模式代码”命令。然而，当远程终端仅具有一个可能的非循环传输时，总线控制器可以跳过该部分。向量字由远程终端作为单个16位数据字发送。此向量字的格式未在标准中定义，因此系统设计人员必须指定什么值、来自什么远程终端、意味着总线控制器将采取什么操作。这可以是立即或在当前次循环结束时安排非循环传送。这意味着总线控制器必须轮询连接到数据总线的所有远程终端，通常在主要周期中至少轮询一次。具有较高优先级功能的远程终端（例如，操作飞行器控制表面的远程终端）轮询地更为频繁。低优先级功能的轮询频率较低。
在总线控制器与特定远程终端之间，或者在总线控制器与一对远程终端之间，允许六种类型的事务：
图6：信息传输格式
# 控制器到远程终端传输。总线控制器发送一个16位接收命令字，紧随1到32个16位数据字。然后，所选的远程终端发送一个16位状态字。
# 远程终端到控制器传输。总线控制器向远程终端发送一个发送命令字。远程终端然后发送一个状态字，紧随1到32个字。
# 远程终端到远程终端传输。总线控制器发出一个接收命令字，紧随一个发送命令字。发送远程终端发送一个状态字，j紧随1到32个数据字。接收终端然后发送其状态字。
# 无数据字的模式命令。总线控制器发送一个命令字，子地址为0或31，表示“模式代码”类型命令。远程终端用一个状态字响应。
# 有数据字的模式命令（发送）。总线控制器发送一个命令字，子地址为0或31，表示“模式代码”类型命令。远程终端以一个状态字作为响应，紧随一个数据字。
# 有数据字的模式命令（接收）。总线控制器发送一个具有子地址0或31的命令字，表示“模式代码”类型命令，紧随一个数据字。远程终端用一个状态字响应。
MIL-STD-1553B还引入了可选的广播传输的概念，其中数据会发送到实现该选项的所有远程终端，但是没有远程终端响应，因为这将导致总线上的冲突。这可以用在将相同的数据发送到多个远程终端的地方，以减少事务的数量，从而减少数据总线上的负载。然而，接收这些广播的远程终端缺乏显式响应意味着，在事务有错误的情况下不能自动地重新尝试这些传输。
在总线控制器和所有有能力的远程终端之间允许四种类型的广播事务：
图7：广播信息传输格式
# 控制器到远程终端传输。总线控制器发送一个接收命令字，终端地址为31，表示广播类型命令，后面紧随0到32个数据字。所有实现广播的远程终端将接受数据，但不会有远程终端响应。
# 远程终端到远程终端传输。总线控制器发出一个接收命令字，终端地址为31，表示广播类型命令，紧随一个发送命令。发送远程终端发送一个状态字，紧随1到32个数据字。所有实现广播的远程终端将接受该数据，但不会有远程终端响应。
# 无数据字的模式命令（广播）。总线控制器发送一个命令字，终端地址为31，表示广播类型命令，子地址为0或31，表示“模式代码”类型命令。不会有远程终端响应。
# 有数据字的模式命令（广播）。总线控制器发送一个命令字，终端地址为31，表示广播类型命令，子地址为0或31，表示“模式代码”类型命令，之后紧随一个数据字。不会有远程终端响应。
命令字的构造如下。前5位是远程终端地址（0-31）。第六位对于接收为0，对于发送为1。接下来的5位表示在终端（1-30）上保持或获取数据的位置（子地址）。注意，子地址0和31保留用于模式代码。最后5位表示期望的字数（1-32），全部为零表示32个字。在模式代码情况下，这些位指示模式代码数字（例如，发起“自我测试”与“发送位元字”）。
状态字解码如下。前5位元是正在响应的远程终端的地址。该字的其余部分是单位元条件码。保留一些位元。状态“1”表示条件为真；“消息错误”和“服务请求”为示例。多个条件可能同时为真。
下面的图像例示了上面解释的许多协议和物理层概念。例如，命令字中包含的远程终端地址值0x3（范围为0到31）。第六位元为1，表示从远程终端发送。子地址为0x01。最后5位元表示期望取得的给1的字数量，其与状态字之后的单个数据字（值为0x2）相匹配。
同样如上所述，设备必须在4-12微秒内开始将其响应发送到有效命令。在如下示例中，响应时间为8.97微秒，因此在规格范围内。这意味着远程终端3在总线控制器查询的8.97微秒后响应。查询的振幅比响应的振幅低，是因为信号探测位置更靠近远程终端。
在状态字中，前5位元是正在响应的远程终端的地址，在这种情况下为0x3。正确的传输在命令字中显示与状态字中相同的远程终端地址。
一个远程终端到总线控制器的传输，带有1个数据字
== 概念描述 ==
图1：MIL-STD-1553B多路复用数据总线架构示例
图1显示了一个样例MIL-STD-1553B系统，包括：
* 冗余MIL-STD-1553B总线
* 一个总线控制器
* 一个备用总线控制器
* 一个总线监控器
* 一个独立的远程终端，其具有与其通信的一个或多个子系统
* 一个具有嵌入式远程终端的子系统
=== 总线控制器 ===
在任何MIL-STD-1553总线上同时只能有一个总线控制器。它通过总线发起所有消息通信。
图1显示了1553数据总线的细节：
* 根据存储在其本地存储器中的命令列表进行操作
* 命令各种远程终端发送或接收消息
* 服务从远程终端接收的任何请求
* 检测和从错误中恢复
* 保留错误历史
1553B规范规定系统中的所有器件都连接到冗余总线对，以在主总线损坏或故障的情况下提供备用数据路径。总线消息一次只在一条总线上传输，由总线控制器决定。
=== 备用总线控制器 ===
尽管在任何时间，总线上只有一个总线控制器（BC），但是该标准提供了使用状态字和模式代码中的标志切换到备用总线控制器（BBC）或（BUBC）的机制。这也可以在正常操作中由于特定功能切换而使用，例如切换到切换或自在飞机外部但连接到总线的总线控制器。在故障和故障条件下切换的过程通常涉及主用和备用总线控制器之间的离散连接，并且该备用监视在操作期间主总线控制器的动作。例如，如果总线上存在过长的静止，则指示活动的总线控制器已失效，则由离散连接指示下一个最高优先级的备用总线控制器接管并开始作为活动的总线控制器操作。
=== 总线监控器 ===
总线监控器（Bus Monitor，BM）不能通过数据总线传递信息。它的主要作用是监视和记录总线事务，而不会干扰总线控制器或RT的操作。然后可以存储这些记录下来的总线事务，用于以后的离线分析。
理想情况下，总线监控器捕获并记录通过1553数据总线发送的所有消息。然而，记录繁忙数据总线上的所有事务可能是不切实际的，因此总线监控器经常会配置为事务纪录子集，根基于应用程序提供的一些标准。
或者，总线监控器可以与备用总线控制器结合使用。这使得备用总线控制器调用成为活动总线控制时，能够“调到正常运行”。
=== 远程终端 ===
一个远程终端可用于提供：
* MIL-STD-1553B数据总线与一个附加子系统之间的接口
* 一个MIL-STD-1553B总线与另一个MIL-STD-1553B总线之间的桥接。
例如，在履带式车辆中，一个远程终端可以从惯性导航子系统获取数据，并通过1553数据总线将该数据发送到另一个远程终端，以显示在机组仪表上。远程终端的更简单的示例可以是接通飞行器的前灯、着陆灯或信号器的接口。
远程终端测试计划：
远程终端验证测试计划（RT Validation Test Plan）是用于远程终端设计的设计验证，以满足AS 15531和MIL-STD-1553B（含通知2）的要求。这个测试计划最初定义在MIL-HDBK-1553附录A。它在MIL-HDBK-1553A第100章中更新。该测试计划现在由SAE AS-1A航空电子网络小组委员会维护为AS4111。
远程终端生产测试计划（RT Production Test Plan）是验证测试计划的简化子集，用于远程终端的生产测试。该测试计划由SAE AS-1A航空网络小组委员会维护为AS4112。
== 总线硬件特征 ==
总线硬件包括：（1）电缆、（2）总线耦合器、（3）终端器、（4）连接器。
=== 线缆 ===
尽管MIL-STD-1553B规定数据总线应具有70至85欧姆之间的特性阻抗，但业界标准化为78欧姆。同样，业界已普遍标准化双芯电缆的特性阻抗为78欧姆。
MIL-STD-1553B没有指定总线的长度。但是，总线的最大长度直接与电缆导体的规格和发送信号的时间延迟有关。较小的导体比较大的导体更易衰减信号。1553B电缆的典型传播延迟为每英尺1.6纳秒。因而，m总线的两端之间存在160纳秒的传播延迟，其等于1553B信号的平均上升时间。根据MIL-HDBK-1553A，当信号的传播延迟时间大于上升或下降时间的50%时，需要考虑传输线效应。该延迟时间与传播的距离成比例。此外，必须考虑发射机和接收机之间的实际距离以及发射机和接收机的各个波形特性。
MIL-STD-1553B指定对于变压器耦合的短截线（stub），最长为m，但可以超过。当没有连接短截线，主母线看起来像一条无限长的传输线，没有干扰的反射。短截线添加后，便会加载总线，造成阻抗失配并产生信号反射。反射引起的失配和信号失真的程度，是短截线呈现的阻抗和端子输入阻抗的函数。为使信号失真最小化，期望短截线保持高阻抗，该阻抗反射回总线。但与此同时，阻抗必须保持较低，方能将足够的信号功率传送到接收端。因此，为了达到指定的信噪比和系统误码率性能，需要在这些冲突要求之间进行权衡。（有关更多信息，参阅MIL-HDBK-1553A）。
=== 短截线 ===
图9：使用变压器耦合的数据总线接口
每个终端、远程终端、总线控制器、总线监控器都是通过短截线连接到总线，短截线由与该总线本身相同类型的一段电缆形成。MIL-STD-1553B定义了将这些短截线耦合到总线的两种方式：变压器耦合的短截线和直接耦合的短截线。变压器耦合的短截线对于它们的容错和更好地匹配总线阻抗以及随之而来的减少反射等是优选的。MIL-STD-1553B的附录（10.5节，Stubbing）说明“优选的短截线方法是使用变压器耦合短截线...这种方法提供了直流隔离，增加共模抑制，有效短截线加倍阻抗和整个短截线与终端的故障隔离好处。直接耦合的短截线...如果可能的话应该避免。直接耦合短截线不为其子系统外部的终端提供直流隔离或共模抑制。此外，子系统内部隔离电阻（通常在电路板上）和主总线结之间的任何短路故障将导致整个总线的故障。可以预期，当直接耦合短截线长度超过1.6英尺0.5米时，它将开始使主总线波形失真。”
使用变压器耦合的短截线还可以为1553终端提供更好的防雷击保护。在新的复合材料飞机中，隔离是更加关键的，其飞机外皮不再提供铝蒙皮飞机那样固有的法拉第屏蔽。
在变压器耦合的短截线中，短截线电缆的长度不应超过 m，但如果安装要求决定，这可能会超过。耦合变压器的匝数比必须为1：1.41±3.0%。电阻R都必须具有0.75Zo±2.0%的值，其中Zo是1MHz处总线的特性阻抗。
图10：使用直接耦合的数据总线接口
在直接耦合短截线中，短截线电缆的长度不应超过1英尺，但如果安装要求，也可能超过这个长度。隔离电阻R必须具有55欧姆±2.0%的固定值。
=== 总线耦合器 ===
远程终端、总线控制器、总线监控器的短截线通常通过耦合盒连接到总线，其可以提供单个或多个短截线连接。它们提供所需的屏蔽（≥75%），对于变压器耦合的短截线，包含耦合变压器和隔离电阻。它们具有两个通过总线馈电的外部连接器，以及一个或多个短截线连接的外部连接器。这些短截线连接器不应使用匹配的电阻端接，但在不使用时保留开路，必要时带有遮盖帽。总线连接器中的一个可以端接在总线耦合器物理地位于总线电缆的端部处，即通常认为在最后的总线耦合器和终端电阻器之间具有一定长度的总线电缆通常不是必须的。
=== 电缆端接 ===
总线的两端，无论是包括一个耦合器还是一系列连接在一起的耦合器，都必须端接（根据MIL-STD-1553B）“一个电阻，等于所选电缆标称特性阻抗（Zo）±2.0％”。这通常为78欧姆。电气端接的目的是最小化可能导致波形失真的信号反射的影响。如果没有端接，则可能损害通信信号，导致通信中断或间歇性故障。
=== 连接器 ===
该标准未指定连接器类型及它们应如何连接，除了屏蔽要求等。在实验室环境中通常使用同心双插针卡口连接器。这些连接器有标准（BNC尺寸）、微型和亚微型尺寸。在军用飞机实现中，MIL-DTL-5015和MIL-DTL-38999通常使用圆形连接器。
== 类似系统 ==
DIGIBUS（或Digibus）是法国与MIL-STD-1553类似的标准，它在总线控制器、远程终端、监控器、相同传输速度的概念上类似MIL-STD-1553，不同之处是DIGIBUS对数据与命令使用独立的链接。
GOST R 52070-2003是俄罗斯与MIL-STD-1553等效的标准，其苏联时期的版本称GOST 26765.52-87。这两套GOST标准的编码结构、数据率、控制指令都与1553B标准一致。GJB289A是中国与MIL-STD-1553等效的标准。这一标准的文字无法找到，但已知直-10可借助此总线可以使用苏联和西方的武器。
== 开发工具 ==
在开发和故障排除MIL-STD-1553时，检查硬件信号对找到问题可能非常重要。具有解码能力的逻辑分析仪、总线分析器或协议分析器对收集、分析、解码和存储信号是很有用的工具，可以使工程师在之后查看高速波形。