This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TMDSCNCD2800157: Range filter for MCAN Rx buffer Configuration not working

Part Number: TMDSCNCD2800157

Hello Team,

Iam trying to implement the range filter (Extended ID's) for MCAN Rx buffer configuration, Following is my configuration, but it does not seem to work and the examples provided for range filters are FIFO based and was not very helpful.Could you please let me know if i have missed any configuration to get it working?

extFiltelem.efid2 = 0x00001408; // Extended ID2
extFiltelem.efid1 = 0x00001400; // Extended ID1
extFiltelem.efec = 0x7U; //Store into Rx Buffer
extFiltelem.eft = 0x3U; // Range filter from EFID1 to EFID2//(EFID2 >= EFID1)

MCAN_addExtMsgIDFilter(MCANA_DRIVER_BASE, 0, &extFiltelem);

Interrupt register status for MCAN_getIntrStatus is 0x00000008 instead of 0x00080000(basically checking for MCAN_IR_DRX_MASK)

  • Shubha, 

    While storing in Rx Buffer (efec = 0x7), the filter type field is irrelevant. That is because, EFID2 corresponds to the Rx Buffer Element in which a matching frame is to be stored. As a result, it is not possible to implement a Range Filter from EFID1 to EFID2. 

    To reiterate, while receiving in Rx Buffer, ONLY exact matching ID frames (equal to EFID1) can be stored and other filtering options are UNAVAILABLE. 

    All the filtering options are available while receiving in Rx FIFO. 

    Thanks.