MIL-STD-1553B Avionic Data Bus

Introduction:

Originally an avionics data bus for use by the United States military, MIL-STD-1553 was first adopted in 1973 by the US Air Force and first used on the F-16 fighter jets. Subsequent revisions later (the latest at time of writing being revision C in 2018), and the data bus has been adopted in civil aerospace application, and in spacecraft, including on the James Webb space telescope and International Space Station.


It is now maintained by both the U.S. Department of Defence and the Society of Automotive Engineers. Outside of the US, and adopted by NATO, MIL-STD-1553 has been re-packaged with tweaks as STANAG 3838 and by the UK MoD as Def-Stan 00-18 part 2 where it has been used together with STANAG 3910 on the Eurofighter Typhoon.

Topology:

A MIL-STD-1553 network begins with a Bus Controller (BC) connected to wire pair of 70 Ω to 85 Ω impedance at 1 MHz. A shielded twisted pair, twinaxial, coaxial, and triaxial cable can all be used. The Bus Controller initiates all communications, sending commands at predetermined intervals.

Fig. 1 - MIL-STD-1553 Bus Topology Part 1

Fig. 1 - MIL-STD-1553 Bus Topology Part 1

 

To the bus cable up to 31 compatible devices can be attached via coupling ‘stubs’, and isolation transformers either external or built into the device. The first of the devices we will connect are Remote Terminals (RT). Each Remote Terminal is assigned a unique 5 bit address, ranging from 0 to 30. Address 31 (binary 11111) is reserved for a special purpose, a broadcast mode which we shall come to later. The Remote Terminal receives and decodes the commands from the Bus Controller, and responds accordingly.

Fig. 2 - MIL-STD-1553 Bus Topology Part 2

Fig. 2 - MIL-STD-1553 Bus Topology Part 2

 

A Remote Terminal might be either an interface between the MIL-STD-1553 and a subsystem, or built into the subsystem itself, for example an Air Data Inertial Reference Unit (ADIRU), a switch on the landing gear or lighting. It may also be a device bridging two MIL-STD-1553 buses.

Some installation will also include a Bus Monitor (BM) to passively record the traffic for later analysis. It may record all or a filtered subset of the bus messages including errors.

Fig. 3 - MIL-STD-1553 Bus Topology Part 3

Fig. 3 - MIL-STD-1553 Bus Topology Part 3

 

The resilience of the bus is enhanced by the addition of a second wire pair to which the Bus Controller and Remote Terminals are be coupled. A fallback or backup Bus Controller is also be installed. N.B. Only one bus controller and one bus wire pair can be active at any one time.

Fig. 4 - MIL-STD-1553 Bus Topology Part 4

Fig. 4 - MIL-STD-1553 Bus Topology Part 4

 

The bus cables must be terminated with a resistance equal to the cable’s nominal impedance, typically 78Ω, this helps to prevent disruption and intermittent communication failures.

Bit Representation and Bus Protocol:

Messages on a MIL-STD-1553 bus comprise of one or more 16 bit words. Words come in three types; Command, Data, and Status. Each bit is represented by a 1 µs Manchester Coded bi-phase pulse which conveys both data and clock. To aid synchronisation, each word is preceded by a 3 µs sync pulse and followed by an odd parity bit. Thus a word could be seen as 20 bits long. A longer 4 µs gap is introduced between messages with the expectation that all devices will broadcast a reply to a command within 4 to 12 µs. If after 14 µs a device has not responded, it is judged not to have received the command.

Manchester Code:

Also known as phase encoding (PE), Manchester Code merges data and clock pulse in an XOR gate, producing bits that either rise from low-to-high, or fall from high-to-low, midway through their duration.

There are two conventions as to how these rises and falls should be interpreted.

MIL-STD-1553 follows the original convention, published by G. E. Thomas in 1949. Here a 0 is represented with a low-to-high transition, whilst a 1 is represented by a high-to-low transition.

Manchester Code XOR Gate
Data Clock Output
0 0 0
1 1
1 0 1
1 0

 

Thus an example of Manchester encoded data for MIL-STD-1553 might be represented thus.

MIL-STD-1553 Bit Manchester Bit Encoding
Clock
  0.5 µs                        
                               
 
NRZ Data
1 µs          
               
1 0 1 0 1 1 0 0
MIL-STD-1553
Manchester
 
                               
 

Now let us look at the three word formats (Command, Data, and Status) a little more closely.

The Command Word:

Each MIL-STD-1553 command word is a 16-bit value that contains four fields; Remote Terminal Address, Transmit / Receive, Subaddress / Mode, and Data Word Count / Mode Code. This 16-bit value is sandwiched between a 3-bit long sync pulse at the front and a single parity bit at the end.

The diagram below shows the first transmitted bit on the left, the last on the right.

Command Word Format
Sync. Remote Terminal Address T/R Subaddress / Mode Data Word Count / Mode Code Parity
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

 

We can rotate this table through 90° and expand it to include a full description.

Command Word Format, Expanded
Section Bit Count Description
Sync 1 To aid synchronisation, each word is preceded by a 3 µs sync pulse.
The sync pulse is positive for the first half and negative for the second half.
The sync pulse is invalid as a Manchester Code.
2
3
Source
Remote
Terminal
Address
4 This is the 5 bit address of the Remote Terminal designated to action the command.

All but binary address 11111 (decimal 31) identify a unique Remote Terminal. Instead decimal 31 addresses all devices on a “Broadcast Mode”, if supported by the bus hardware.
5
6
7
8
Transmit /
Receive
9
 
Transmit / Receive
Value Interpretation
0 The RT is to receive data following the command.
1 The RT is to transmit data following the command.
 
Subaddress
/ Mode
10
 
Subaddress / Mode
Value Interpretation
00000 The Data Word Count should be decoded as Mode Commands.
00001 A subaddress that identifies a specific function of the RT, selecting particular data set to be transmitted, or written.
.....
11110
11111 The Data Word Count should be decoded as Mode Commands.
 
11
12
13
14
Data Word Count / Mode Code 15 The Subaddress / Mode value (above) determines how these 5 bits are to be read, this will be either:

a) The number of data words to be transmitted or received, where binary 00001 through to 11111 are 1 to 31 decimal, and binary 00000 is actually 32.

b) The Optional Mode Code, expanded below.
16
17
18
19
Parity 20 Used for error detection, this bit is used to ensure that the total number of 1 bits in the previous 16 bits is an odd number.

For example the command word 10100 1 00101 01010 has 7 1 bits. This is already an odd number, so the parity bit will be set to 0.

The Optional Mode Control Code:

When multiplexed bus related hardware is used, and to assist with information flow management, the Data Word Count value on the Command Word may contain an Mode Code instead. As we shown above, this is determined by using a value of 00000 or 11111 in the Subaddress / Mode section.

The use of an Mode Code also affects the interpretation of the transmit / receive bit as described below.

Mode Codes 00000 to 01111 reference modes that do not require the transfer of a data word. In these cases the T/R bit should be set to 1.

Mode Codes 10000 to 11111 reference modes that expect the transfer of a single 16 bit data word. In these cases the T/R bit indicates the direction of the transfer along the lines prescribed above.

Here’s a table of the Mode Codes and their functionality.

MIL-STD-1553 Mode Control Code:
T/R Mode Control Function Description Data
Word
Broadcast
1 00000 Dynamic Bus Control Hands control of the bus to a RT. If the RT declines, the existing bus controller retains control. No No
1 00001 Sync. Reset the internal timer of an RT, initiate a sequence, etc.. No Yes
1 00010 Transmit Status Word Causes an RT to transmit the status word associated with the previous valid command so that the BC can confirm receipt. No No
1 00011 Initiate Self-Test Causes an RT to begin a self-test and the transmit it’s status. No Yes
1 00100 TX Shutdown Disables the TXassociated with the current redundant / backup bus. No Yes
1 00101 Override TX Enables the TX associated with a previously disabled redundant bus. No Yes
1 00110 Inhibit Terminal Flag Bit Sets the T/F bit in the status word to logical zero unless otherwise commanded. No Yes
1 00111 Override Inhibit Terminal Flag Bit Resets the Inhibit Terminal Flag bit. No Yes
1 01000 Reset Remote Terminal Resets an RT to the default power up initialised state. No Yes
1 01001 Reserved Not currently used. No TBD
1 ..... Reserved Not currently used. No TBD
1 01111 Reserved Not currently used. No TBD
1 10000 Transmit Vector Word Cause the RT to transmit a status word and a data word containing service request information. Yes No
0 10001 Sync. The RT shall receive a Command Word followed by a Data Word containing sync. information for the RT. Yes Yes
1 10010 Transmit Last Command Causes an RT to transmit its Status Word. Yes No
1 10011 Transmit Built-In-Test Word Causes an RT to transmit its Status Word followed by a single Data Word containing the Built-In-Test (BIT) data. Yes No
0 10100 Selected TX Shutdown Causes an RT to disable the TX associated with a specific redundant bus. Yes Yes
0 10101 Override Selected TX Enables a TX previously disables by the Selected TX Shutdown command. Yes Yes
0 or 1 10110 Reserved Not currently used. Yes TBD
0 or 1 ..... Reserved Not currently used. Yes TBD
0 or 1 11111 Reserved Not currently used. Yes TBD


where TX = Transmitter

The Data Word:

Each MIL-STD-1553 data word is a 16-bit value sandwiched between a 3-bit long sync pulse at the front and a single parity bit at the end. These contain the information being sent to or from a Bus Controller or Remote Terminal. A maximum of 32 Data Words may follow a Command Word.

The diagram below shows the first transmitted bit on the left, the last on the right.

Data Word Format
Sync. Data Parity
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

The Status Word:

Each MIL-STD-1553 status word is a 16-bit value containing ten values / flags, sandwiched between a 3-bit long sync pulse at the front and a single parity bit at the end.

The diagram below shows the first transmitted bit on the left, the last on the right.

Status Word Format
Sync. Remote Terminal Address ME I SR Reserved BC B SF DBC TF Parity
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

 

We can rotate this table through 90° and expand it to include a full description.

Status Word Format, Expanded
Section Bit Co­unt Description
Sync 1 To aid synchronisation, each word is preceded by a 3 µs sync pulse.
The sync pulse is positive for the first half and negative for the second half.
The sync pulse is invalid as a Manchester Code.
2
3
Source
Remote
Terminal
Address
4 This is the 5 bit address of the Remote Terminal transmitting the Status Word.

All but binary address 11111 (decimal 31) identify a unique Remote Terminal. Decimal 31 addresses all devices on a “Broadcast Mode”, if supported by the bus hardware.
5
6
7
8
Message Error 9
 
Message Error Bit
Value Interpretation
0 No error.
1 One of the following error conditions may have occurred.
  • A received Data Word contains an error.
  • Incorrect number of Data Words received.
  • Unrecognised Command Word received.
 
Instru­men­tation 10 Used to aid the distinction between Command and Status Word. Usually set to logical zero.
Service Request 11 Optional bit used to request the Bus Controller to carry out a predefined action.
Reserved 12  
13
14
Broadcast Command 15
 
Broadcast Command Bit
Value Interpretation
0 Previous command was not a broadcast command.
1 Previous command was a broadcast command.
 
Busy 16
 
Busy Bit
Value Interpretation
0 Not busy, or not implemented.
1  
 
Subsystem Flag 17
 
Subsystem Flag Bit
Value Interpretation
0 No error, or not implemented.
1 There is a fault on the RT’s subsystem.
 
Dynamic Bus Control Acceptance 18
 
Dynamic Bus Control Acceptance Bit
Value Interpretation
0 RT has rejected hand over of bus control.
1 RT has accepted hand over of bus control.
 
Terminal Flag 19
 
Terminal Flag Bit
Value Interpretation
0 No fault, or not implemented.
1 RT has a fault.
 
Parity 20 Used for error detection, this bit is used to ensure that the total number of 1 bits in the previous 16 bits is an odd number.

For example the command word 10100 1 00101 01010 has 7 1 bits. This is already an odd number, so the parity bit will be set to 0.

Message Formats:

Ten types of message format are defined by MIL-STD-1553B.

The first six are information transfer formats and are shown below where ...

# Indicates an inter-message gap.
** Indicates the response time.
RX Receive.
TX Transmit.

 

Bus Controller to Remote Terminal Transfers  
RX Co­m­m­and Data Word Data Word ••••• Data Word ٭  ٭ Status Word # Next Co­m­m­and  
 
Remote Terminal to Bus Controller Transfers  
TX Co­m­m­and ٭  ٭ Status Word Data Word Data Word ••••• Data Word # Next Co­m­m­and  
 
Remote Terminal to Remote Terminal Transfers
RX Co­m­m­and TX Co­m­m­and ٭  ٭ Status Word Data Word ••••• Data Word ٭  ٭ Status Word # Next Co­m­m­and
 
Mode Command without Data Word  
Mode Co­m­m­and ٭  ٭ Status Word # Next Co­m­m­and  
 
Mode Command with Data Word (TX)  
Mode Co­m­m­and ٭  ٭ Status Word Data Word # Next Co­m­m­and  
 
Mode Command with Data Word (RX)  
Mode Co­m­m­and Data Word ٭  ٭ Status Word # Next Co­m­m­and  
 
Four message types are broadcast information formats.
 
Bus Controller to Remote Terminal Broadcast  
RX Co­m­m­and Data Word Data Word ٭  ٭ Data Word # Next Co­m­m­and  
 
Remote Terminal to Remote Terminal Broadcast  
RX Co­m­m­and TX Co­m­m­and ٭  ٭ Status Word Data Word ••••• Data Word # Next Co­m­m­and  
 
Mode Command without Data Word  
Mode Co­m­m­and # Next Co­m­m­and  
 
Mode Command with Data Word (RX)  
Mode Co­m­m­and Data Word # Next Co­m­m­and  

MIL-STD-1553B in Data Acquisition:

Heim / Safran Data Systems flight test recorders and data acquisition units can accept multiple MIL-STD-1553B data channels on separate physical inputs. Depending upon configuration and bit rate, they are able to record all the messages on the bus, or strip out only those messages defined as of interest

Input Modules for the MDR Data Recorder

The MUAR6T and MUAR6TA are 6 channel ASCB / MIL-STD-1553 input modules with transformer coupling.

MUAR6T, MUAR6TA

The MUAR6T and MUAR6TA are 6 channel ASCB / MIL-STD-1553 input modules with transformer coupling. 

The MUAR6D module accepts 6 independent, direct coupled, dual-redundant MIL-STD-1553B busses.

MUAR6D

The module accepts 6 independent, direct coupled, dual-redundant MIL-STD-1553B busses.

The MAMU module supports 2 dual –redundant MIL-STD-1553B input channels, 2 PCM input channels and 8 ARINC 429 input channels

MAMU

The MAMU module supports 2 dual –redundant MIL-STD-1553B input channels, 2 PCM input channels and 8 ARINC 429 input channels.

Input Module for the XMA Data Acquisition Unit

XMA MIL - 4 MIL-STD-1553 Channels

XMA MIL - 4 MIL-STD-1553 Channels

  • 4 independent (or 2 redundant) MIL-STD-1553B bus monitoring with native 1553 electrical level or 2 independent (or 1 redundant) MIL-STD-1553B bus monitoring with RS422 electrical level.

  • Short (direct coupling) or long (transformer coupling) stub.

  • Parsing on all 1553 message types.

  • Message time stamping on parity bit of the first word of the message (with 1μs resolution). 

  • Lightning protection (DO-160G)

Disclaimer: The information in this guide is designed to help you understand our products. It is correct to the best of our knowledge and at the time of writing. However Photo-Sonics International Limited does not accept any liability for its use. Instead the latest documentation from the relevant authority should be consulted.