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.

AM2634: Running time of CAN ISR() is so long

Part Number: AM2634

Hi, Supporter

I measured CAN ISR() runtime.

  • In case of 1 Can Msg, it takes around 75us to run CAN ISR()
  • in case of 2 Can Msg, it takes around 136us to run.
  • in case of 3 Can Msg, it takes around 200us to run.
  • in case of 4 Can Msg, it takes around 265us to run.

I think it takes much time if there is 10 Can Rx Messages. Maybe it takes 65us * 10 = 650 us.

Is there any reduce the latency of CAN ISR?

We have 1ms, 5ms tasks. I don't want to delay of this tasks due to CAN ISR. It is critical issue at my side.

Is it related to McuClockSetting? My MCAN clock setting is as below.

Please let me know how to enhance the performance of CAN ISR.

Could you check this?

  • Hi,

    Apologies for the delay in the reply. This query was incorrectly routed to a different team. 

    Can I know if the numbers you're seeing are after integrating upper layers like OS and application? May I know what is the OD you're using? Is it veOS?

    I'd recommend using this source code where we made some fixes to CAN driver which Improved the performance.

    Also please check the numbers with standalone MCAL can example.

     https://e2e.ti.com/cfs-file/__key/communityserver-discussions-components-files/908/1070.Can.7z

  • Hi, 

    We are using AUTOSAR OS and this is checked after integrating upper layers.

    I will check your recommendation later.

    Thanks to your support.