EasyManua.ls Logo

Freescale Semiconductor MPC5604B - Page 425

Default Icon
934 pages
Print Icon
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Loading...
MPC5604B/C Microcontroller Reference Manual, Rev. 8
414 Freescale Semiconductor
the access to the SRAM locations, the LINFlex controller provides a Filter Match Index. This index value
is the number of the filter that matched the received identifier.
The software can use the index in the IFMI register to directly access the pointer that points to the right
data array in the SRAM area and copy this data from the BDAR to the SRAM (see Figure 21-30).
Using a filter avoids the software reading the ID value in the BIDR, and configuring the direction, the data
field length and the checksum type in the BIDR.
If LINFlex cannot provide enough RX identifier filters to handle all identifiers the software has to receive
the data for, then a filter can be configured in mask mode (see Section 21.8.2.3, Slave mode with identifier
filtering) in order to manage several identifiers with one filter only.
21.8.2.2.3 Data discard
When LINFlex receives the identifier, the LINSR[HRF] bit is set and, if LINIER[HRIE] = 1, an RX
interrupt is generated. If the received identifier does not concern the node, you must program
LINCR2[DDRQ] = 1. LINFlex returns to idle state after bit DDRQ is set.
21.8.2.2.4 Error detection
In Slave mode, the following errors are detected:
Header error: An error occurred during header reception (Break Delimiter error, Inconsistent
Synch Field, Header Timeout).
Bit error: During transmission, the value read back from the bus differs from the transmitted value.
Framing error: A dominant state has been sampled on the stop bit of the currently received
character (synch field, identifier field or data field).
Checksum error: The computed checksum does not match the received one.
21.8.2.2.5 Error handling
In case of Bit Error detection during transmission, LINFlex stops the transmission of the frame after the
corrupted bit. LINFlex returns to idle state and an interrupt is generated if the BEIE bit in the LINIER is set.
During reception, a Framing Error leads LINFlex to discard the current frame. LINFlex returns
immediately to idle state. An interrupt is generated if LINIER[FEIE] = 1.
During reception, a Checksum Error leads LINFlex to discard the received frame. LINFlex returns to idle
state. An interrupt is generated if LINIER[CEIE] = 1.
During header reception, a Break Delimiter error, an Inconsistent Synch Field or a Timeout error leads
LINFlex to discard the header. An interrupt is generated if LINIER[HEIE] = 1. LINFlex returns to idle
state.
21.8.2.2.6 Valid header
A received header is considered as valid when it has been received correctly according to the LIN protocol.
If a valid Break Field and Break Delimiter come before the end of the current header or at any time during
a data field, the current header or data is discarded and the state machine synchronizes on this new break.

Table of Contents

Other manuals for Freescale Semiconductor MPC5604B

Related product manuals