Functional Description
MPC5200B Users Guide, Rev. 1
Freescale Semiconductor 20-35
Once a message byte has been received, the CPU must service the BDLC Data Register before the next byte is received, or the first
byte will be lost. If the BDLC Data Register is not serviced quickly enough, the next byte received will be written over the previous
byte in the BDLC Data Register. No receiver overrun indication is made to the CPU. If the CPU fails to service the BDLC module
during the reception of an entire message, the byte remaining in the BDLC Data Register will be last byte received (usually a CRC
byte).
Once a receiver overrun occurs, there is no way for the CPU to recover the lost byte(s), so the entire message should be discarded.
To prevent receiver overrun, the user should ensure that a BDLC RDRF interrupt will be serviced before the next byte can be
received. When polling the BDLC State Vector Register, the user should select a polling interval which will provide timely
monitoring of the BDLC module.
CRC Error
If a CRC error is detected during a message reception, this will be reflected in the BDLC State Vector Register once an EOD time
is recognized by the BDLC module. Since all bytes of the message will have been received when this error is detected, it is up to
the user to ensure that all the received message bytes are discarded.
Invalid or Out of Range Symbol
If an invalid or out of range symbol, a framing error or a BREAK symbol is detected on the SAE J1850 bus during the reception of
a message, the BDLC module will immediately stop receiving the message and discard any partially received byte. The “Symbol
Invalid or Out of Range” status will immediately be reflected in the BDLC State Vector Register. Following this the BDLC module
will wait until the bus has been idle for a time period equal to an EOF symbol before receiving another message. As with the CRC
error, the user should discard any partially received message if this occurs.
In-Frame Response to a Received Message
As mentioned above, if one or more IFR bytes are received following the reception of a message, the status indicating the reception
of the IFR byte(s) will be indicated in the BDLC State Vector Register before the EOF is indicated. Refer to Section 20.8.7,
Receiving An In-Frame Response (IFR) for a description of how to deal with the reception of IFR bytes.