This is probably not interesting to anyone other than me and Andy Kragick.
There are two MIL-STD-1553 specifications. MIL-STD-1553A was published in 1975 and MIL-STD-1553B was published in 1978. I have been trying to figure out an exhaustive list of the differences and I think I finally have it.
There is a very useful document at http://www.utmc.com/ProductFiles/AppNotes/MILhbk1553a.pdf which is the military’s handbook for 1553.
There are some electrical tolerance differences, but from the software perspective the differences are:
In 1553A mode codes must use subaddress 0, but in 1553B mode codes can use either subaddress 0 or 31.
1553B uses RT address 31 as the broadcast address, 1553A does not permit broadcast, so address 31 is a normal RT.
In 1553A only mode code 0 was defined, the others were implementation defined. But in 1553B, all mode codes 0-31 were specifically defined, or prohibited as reserved. Mode codes 0-15 do not have an associated data word, but codes 16-31 do have a single associated data word. The T/R bit determines whether the BC or the RT sends the single data word.
In 1553A only the message error and terminal flag bits are defined in the status word, all other status bits are implementation defined. In 1553B all 11 status bits are either defined or reserved.
