BACnet MS/TP
From BACnet Wiki
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
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
APDU BBMD BVLC BVLL DADR DNET Encoding I-Am LSAP MAC NPCI NPDU NSAP NSDU SA SADR SNET |
Edit this box. |