38.8.2 Receive State Diagram
Figure 38-15
illustrates how messages are received. It illustrates how the most important receive
flags are set and cleared.
- The CAN Protocol module remains Idle until a SOF is detected.
- After a SOF is detected, the module will receive the arbitration and control fields.
- Based on the DNCNTx bits and the received DLC, acceptance filtering will start. See Figure 38-12 for more details.
- If none of the filters match, the message will still be received, but it will not be stored.
- If a filter matches, the device checks whether the receive object the filter points to is full.
- If the receive object is not full, the rest of the data bytes are received and stored to the receive object.
- If the receive object is full, the RXOVIF bit will be set.
- If a complete message is received, the message will be stored, a timestamp will be attached and the receive flags will be set; the FIFO status flags will be updated and the FIFO head will be incremented.
- In case an error is detected during the reception of a message, an error frame will be transmitted and the appropriate error flags will be set.