J1939 Interface 6-7
© 2005 HMS Industrial Networks
AB7665 User manual
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; it 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 1 incoming BAM and 1 incoming RTS/CTS ses-
sion. The BAM and RTS/CTS sessions may be active concurrently. Addi-
tional BAM sessions will be ignored as long as the BAM session is active.
Additional RTS connection requests will be denied until the current RTS/
CTS session is completed.