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.

[TDA4M] the related issue to CAN comm.

Hi,

I'd like to ask you about CAN operation example.

I am trying to make each task for transmiting and receiving the CAN data in TI-RTOS(MCU R5 mcu1_0)

And, simulating this RX and TX CAN communication between EVM board and external tool, "CANoe".

It is not easy to implement the complete function due to semaphore(time out, position), inter-task timing, and so forth.

And then, a few packet data in CANoe tool isn't not transmitted to EVM board in the middle of this communication(this error  is displayed as "Not Acknowledge error" in CANoe).

Could you provide the CAN Rx and Tx communication example ? 

Please reply for like below explanation for my development env.

The SW package TDA4_PSDKRA_RTOS(PSDK ver 1.0) for TDA4 is released by TI.

(PSDK ver 1.0, the Processor SDK  Automotive 06.01.00 release for the J721E platform)

We was checking the basic functions in J721EXCP01EVM(Board).

Best Regards,

Alex.

 

  • Hi Alex,

    can you check if the example in "mcusw/mcal_drv/mcal/examples/Can" meets your requirements?

    You can check "mcusw/mcal_drv/docs/drv_docs/ug_can_top.html" document for CAN driver and example app description.

    Regards,

    Yordan

  • hi, Alex

    how do you know the mCAN device id ?  To enable the mCAN device, it needs to enable its clock first, but the clocks are controlled by the firmware,  we need to tell the firmware the mCAN's device id if we want to enable mCAN device.

    I check the DTS files in linux source code, there is no mCAN node for j721e.

  • Hi,

    Only CAN transmission as a task on TI-RTOS is operated very well.

    Only CAN recession as a task is also good.

    Like above, If each function is operated separately, it works fine.   

    However,

    As I mentioned above, I am trying to make each task for transmiting and receiving the CAN data in TI-RTOS(MCU R5 mcu1_0)

    What I am wondering that you have ever seen transmitting and receiving the CAN data as 2 tasks between TDA4 EVM and CANoe(external tool) ? 

    First task : TX fucntion

    Second task : RX function

    It doesn't often receive and transmit each CAN data. It can be checked by CANoe PC SW.

    I am not sure if that is because of semaphore ... some timing ... against often not receiving and transmitting.

    I tried to do a lot of various things for resolving this issue.

    However, there're not available.

    I'd like to get good reply from you.

    Best Regards,

    Alex.

  • Hi Alex,

    Can you please elaborate the expected flow of your application:

    • Do you expect to receive a CAN message, process, and the transmit back to CANoe?  Or are the Rx and Tx data paths independent of each other?
    • Regarding the issue "due to semaphore(time out, position), inter-task timing, and so forth".  Do you have one task blocked and waiting on another task to signal?  Or do you have some time deadline you are trying to meet?

    If you provide these details, we may be able to better understand what the issue is you are facing and how best to help unblock you.

    Thanks,
    Stephen

  • Hi Alex,

    I haven't heard back from you, I'm assuming you were able to resolve your issue.

    If not, just post a reply below (or create a new thread if the thread has locked due to time-out).

    Thanks,
    Stephen

  • Hi, GuishanQin

    I am so sorry that i am late.... because I was so busy.

    I don't know that CAN module is operated in linux source code.

    I tried to operate CAN module in MCU island(based on TI-RTOS).

    That is, how about trying to operate the CAN communcation in MCUSW, based on RTOS.

    Regards,

    Alex.  

  • Hi, Stephen.

    I was so busy time.

    Thank you for your considration and help.

    I had a little bit mistake.

    I checked that CAN communication is operated as two task(tx task and rx task).

    I needed to check the operation flow.

    Thanks.

    Stephen.

    Best Regards,

    Alex.