Functional Description
MPC5200B Users Guide, Rev. 1
Freescale Semiconductor 20-41
byte when TEOD is set, the BDLC module will continue the transmission until it is successful or it loses arbitration to another
transmitter. At this point it will then discard the byte and make no more transmit attempts.
NOTE
When transmitting a Type 2 IFR, the user should monitor the number of IFR bytes received to ensure
that the overall message length does not exceed the 12-byte limit for the length of SAE J1850
messages. The user should set the TEOD bit when the 11th byte is received, which will prevent the
12-byte limit from being exceeded.
Figure 20-16. Transmitting A Type 2 IFR
Transmitting a Type 3 IFR
Transmitting a Type 3 IFR, with or without a CRC byte, is done in a fashion similar to transmitting a message frame. The user loads
the first byte to be transmitted into the BDLC Data Register and then sets the appropriate TMIFR bit, depending upon whether a
CRC byte is desired. When the last byte is written to the BDLC Data Register, the TEOD bit is set, and a CRC byte (if desired) and
an EOD are then transmitted. Because the two versions of the Type 3 IFR are transmitted identically, the description which follows
will discuss both. For an illustration of the Type 3 IFR transmit sequence, refer to Figure20-17.
Step 1: Load the First IFR Byte into the BDLC Data Register
Enter Type 2 IFR
Transmit Routine
Is DLCBSVR = $1C? No
Yes
Load IFR byte
into DLCBDR
(Error Detected)
Set TSIFR in DLCBCR2
Once BDLC module detects,
or EOF, IFR transmit
attempt is complete
Is DLCBSVR = $14?
No
Yes
(LOA)
Exit Type 1 IFR
Transmit Routine
Jump to Receive IFR
Handling Routine
IFR byte is discarded IFR byte is discarded
Was this the last No
Yes
transmit attempt?
Was the 11th No
Yes
msg byte received?
Set TEOD in DLCBCR2
Jump to Receive IFR
Handling Routine