Xilinx CAN FD v2.0 Product Manual page 75

Logicore ip
Table of Contents

Advertisement

RX – Host Actions
1. The Host prepares one or more receive buffers for message reception as follows:
a. If a Buffer is Inactive:
-
Write the required ID into the ID field of the Receive Buffer_i element in the
block RAM.
-
Write the corresponding Mask register for the Receive Buffer_i element in the
block RAM.
b. If a Buffer is in Active/Full/Invalid state and the Host wants to change its ID/Mask:
-
Change the buffer state to Inactive.
-
Write the required ID into the ID field of the Receive Buffer_i element in the
block RAM.
-
Write the corresponding Mask register for the Receive Buffer_i element in the
block RAM.
2. Enable interrupt generation as required.
3. Change the buffer status from Inactive to Active. The Host can change Inactive to
Active status for many buffers in one write to the RCS register.
4. Wait for interrupt, or poll the RCS registers to know the buffer status.
5. The Host can read messages from the RX block RAM which has Full status. After the
read, the Host can change the buffer status back to Active (if you wish to continue with
the same ID/Mask) or Inactive (if you wish to reprogram the ID/Mask).
The CAN FD can read the ID field of the Full buffer for the current match process so the
Note:
Host should not change the Buffer ID when status is Full.
6. If required, the Host can discard the message without reading by changing the status
from Full to Active/Inactive.
Whenever a new message is received successfully and written in any of the receive buffers, the
Note:
RXOK bit is set in the ISR register and the RXLRM_BI field captures the mailbox index where the
message was stored. There is a provision to get interrupt for any selective buffer or buffers. In case
of overflow, the RXOFLW bit is set in the ISR. The RXOFLW_BI field in the ISR register captures the
overflow index corresponding to the last overflow event and maintains it until the RXOFLW bit is
cleared.
RX – Core Actions
1. The CAN FD searches Active buffers starting from the lowest index to match the
incoming message ID. When no match is found in Active Empty buffers but a match is
found in a Full buffer, the overflow condition is generated and the matching buffer index
is captured in the ISR. When there is also no match in the full buffers, the message is
discarded without indication.
CAN FD v2.0
PG223 December 5, 2018
www.xilinx.com
Chapter 3: Designing with the Core
Send Feedback
75

Advertisement

Table of Contents
loading

Table of Contents