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.

Compiler/TDA4VM: CANFD message error frame isssue

Part Number: TDA4VM


Tool/software: TI C/C++ Compiler

hello expert:

I use TDA4 R5F MCU0 on the board to develop the CANFD function in psdk_rtos_auto_j7_07_00_00_11/vision_apps,

the configuration of the arbitration phase:Baud rate 500k,sample point 80%,

the configuration of the data phase:Baud rate 2000k,sample point 75%.

In our development environment,only connect the CANoe to our ECU,use CANoe communicate to the ECU,the CANFD is well.

when I test our ECU on the custom vehicle bench,there are many error frames on the CAN bus please see the picture below:

but remove our ECU from the custom vechicle bench,the error frames dissappear,The error frame is analyzed in detail,most

error are Stuff Error and sent by our ECU(0x156,0x157,0x1e6.0x1e7),andThe location of the error occurs in the data segment

(for example Bit position 34,24),please see the picture below:

Have you ever had a problem like this?Is there any solution for this?

Please let me know if there is any unclear description,thans o lot.

  • Hi,

    chenxuebin chen said:

    Have you ever had a problem like this?Is there any solution for this?

    In the SDK we do not have CAN integrated with vision_apps so we haven't seen a problem like this.

    chenxuebin chen said:

    In our development environment,only connect the CANoe to our ECU,use CANoe communicate to the ECU,the CANFD is well.

    when I test our ECU on the custom vehicle bench,there are many error frames on the CAN bus please see the picture below:

    but remove our ECU from the custom vechicle bench,the error frames dissappear,The error frame is analyzed in detail,most

    Now when you say the error is only seen in the vehicle bench, what exactly is the difference between these scenarios?

    Regards,

    Karan

  • Hi,

    Also in the SDK we have some suggestions on how to debug the errors - http://downloads.ti.com/jacinto7/esd/processor-sdk-rtos-jacinto7/latest/exports/docs/pdk_jacinto_07_00_00/docs/userguide/faq/faq_can.html#can-communication-failed-where-to-start-debug 

    When the errors are stuff errors: can you check if all the nodes on the bus have the same bit-rate?

    Regards,

    Karan

  • hello Karan,

    I think the difference between these scenarios are two points:

    1.In the vehicle bench,there are many other ECUs which connect to the network send CANFD messages,in my development environment, i only use

      CANoe to simulate message sending.

    2.In the vehicle bench, the network wiring harness of the whole vehicle is very complex,In our development environment the wiring harness is sample.

  • hello ,

    how to understand :"In case of CAN FD, make sure Transceiver Delay Compensation value is correctly programmed",

    about the Delay Compensation,there are two register value: TDCO and TDCF in the MCAN_TDCR,could you give me a 

    example to show how to caculate the value ?

    for example,

        if

        bitTimes.dataRatePrescalar  = 3U;

        bitTimes.dataTimeSeg1       = 5U;
        bitTimes.dataTimeSeg2       = 2U;
        bitTimes.dataSynchJumpWidth = 2U;

       what TDCO and TDCF value should be?

     

  • Hi,

    Can you try to just do only Reception (disable Tx) on the TDA4? In that case see if the CANoe is still getting error messages.

    If you still get error messages then it could be because of some other CAN node on the bus and then the TDA4 detects the errors and starts transmitting error frames.

    If you get errors check the TDA4 MCAN registers in case there is any error on TDA4. Look at PSR register for any protocol errors.

    In case of Tx too the registers on the TDA4 side will give you a lot more idea.

    Regards,

    Karan