Transmitting a type 2 ifr -41 – Freescale Semiconductor MPC5200B User Manual

Page 720

Advertising
background image

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

Figure 20-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

Advertising