TCAN1146-Q1: About CANFD and selective wakeup

Part Number: TCAN1146-Q1

Hi, team:

    I am using the tcan1146 to test the selective wakeup with CANFD 2Mbps as WUF, the selective wakeup register config data as below:

image.png

My testing process: 

(1)Send CAN2.0 data with ID 0x123 to the CAN bus,the tcan1146 cann't generate an CANINT interrupt;

(2)Send CAN2.0 data with ID 0x133 to the CAN bus,the tcan1146 can generate an CANINT interrupt(Read INT_1 register is 0x40);

The above phenomenon should be correct!

(3) If send CANFD data(2Mbps data rate) with ID 0x123 to CAN bus, the tcan1146 also can generate an CANINT interrupt(Read INT_1 register is 0x48);  I don't understand the reason that  CANFD data generate CANINT interrupt, please help me to explain it, thanks!

 

Best regards,

Fed

 

  • Hi Fed,

    Thanks for reaching out on E2E!

    Are you sending the ID at 2mbps, or is that the speed of the rest of the CAN frame?

    The typical arbitration rate for CAN transceivers is 500kbps, which is what this CAN transceiver is looking for (the rest of the CAN frame can be at higher data rates of course). So if the arbitration ID is being sent at 2Mbps, TCAN1146 won't be able to see it.

    We actually can interpret this from the INT_1 register. Based on the output, we have the CANINT and FRAME_OVF flags present. Essentially, after a certain number of CAN error frames (aka frame overflow), this transceiver will wake up causing the CANINT flag to be raised. In this case, CAN frames with 2Mbps arbitration IDs are considered "error" frames, causing the transceiver to wake up in an error state.

    Section 10.4.5.7 in the datasheet explain in more detail about the frame error counter (FRAME_OVF).

    Let me know if that makes sense or if you see any other unusual results,

    -Ethan

  • Thanks, Ethan.

    Yes, the speed of the arbitration phase  and data phase of the CANFD wake-up frame I sent yesterday was both 2Mbps.

    Today I read some forum posts, some of which mentioned that CANFD cannot be used as WUF, Is that right?

    In other words, the WUF must be Classical CAN data frame and the speed cannot exceed 500kbps, is this understanding correct?

    Regarding the "The typical arbitration rate for CAN transceivers is 500kbps" you mentioned, which document can find the description?

    Thanks again!

    Best regards,

    Fed

  • Hi Fed,

    Happy to help. 

    Yep, your understanding is correct. The WUF needs to be 500kbps for this transceiver to read the ID properly. However, once the transceiver is in Normal mode, you can operate at 2Mbps like normal. 

    I can't seem to find a particular document for the 500kbps data rate while in the arbitration phase, but the ISO 11898-1 standard that defines CAN likely explains it best. What I do know is that a slower speed is general chosen for CAN compatibility reasons. That way all older CAN nodes can read and interpret the arbitration phase where the ID is stored. 

    Below is a screenshot from ISO 11898-1. The nominal bit time is up to the designer, where the FD data phase is based off of the nominal time (2x for example).

    Best,

    Ethan

  • Thank you very much, Ethan.

    I understand, and I will continue my research.

    Best regards,

    Fed