BACnet MS/TP

From BACnet Wiki
Jump to: navigation, search

BACnet "Multidrop Serial Bus/Token-Passing" is the optional, RS-485 based physical layer for BACnet. It is based on cheap, relatively slow, serial communications.

Note that in addendum 135-2020ce the culturally offensive "Master-Slave/Token-Passing" has been replaced with the new "Multidrop Serial bus/Token Passing"

Starting with Addendum 135-2008ab, 9600 and 38400 are the required baud rates and all of the others (19200, 57600, 76800, and 115200) are optional


MS/TP Frame Format
Octet Function Comment
0x55 Framing 1
0xFF Framing 2
Frame Type
Dest MAC
Src MAC
Len MSByte
Len LSByte
Header CRC
Data This is the NPDU, if len non-zero
Data CRC MSByte if len non-zero
Data CRC LSByte if len non-zero
Optional EOF (0xFF) if USART cannot indicate outgoing shift register clear)


NSDUmax = max ( APDUms/tp, RPDU ), and Prior to Revision ** (prior to 135-2006), was 480 bytes.

NPCImax = 9 + 6 byte MAC + 6 byte MAC = 21

So NPDUmax = NSDUmax + NPCImax = 480 + 21 = 501

And so MPDUmax = NPDUmax + 11 (above) = 512




Keyword List
APDU BBMD BVLC BVLL DADR DNET Encoding I-Am LSAP MAC NPCI NPDU NSAP NSDU SA SADR SNET

Device Profiles

Edit this box.

Glossary