J1939 Interface 6-8
© 2012 HMS Industrial Networks AB
Doc.Id. HMSI-168-25
Transport Protocol for Large Messages
The previous sections discussed message handling generically, ignoring message
sizes. Messages with buffer sizes of 8 bytes or less can be directly sent and
received on J1939. However, messages with buffer sizes greater than 8 bytes must
be fragmented, transmitted, and reassembled using the J1939 transport protocol.
This section will not discuss the details of the transport protocol, readers should
reference the J1939-21 specification; this document will provide a description of
when and how the transport protocol is used by the JMI.
Transmission of Large Messages
Messages larger than 8 bytes in length will be sent using transport protocol. If the
destination address is 255, the message will be broadcast using BAM (Broadcast
Announce Message) mechanisms. If the message is destination specific, a connec-
tion will be opened with the destination node and the message sent using RTS/
CTS (Request To Send/Clear To Send) mechanisms. For a complete discussion of
BAM and RTS/CTS refer to the J1939-21 specification.
Reception of Large Messages
The JMI will receive large messages that are broadcast using BAM or sent to the
module using RTS/CTS. Once a complete message is received and reassembled, it
is processed generically as described in the previous sections.
Limitations
The current implementation of the transport protocol in the JMI is limited as
described below.
•
Only a single outgoing transport protocol session is active at a time,
regardless of whether the message is transmitted using BAM or RTS/
CTS. Large messages are queued for transmission and transmitted in the
order in which they are queued.
•
The module supports up to 35 concurrent incoming transport protocol ses-
sions. The concurrent sessions may be any mixture of BAM and RTS/
CTS sessions. Additional BAM sessions will be ignored and RTS connec-
tion requests will be denied once the limit is reached.