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.

AWR1843AOPEVM: How to get the packet data on the CANFD

Part Number: AWR1843AOPEVM

Tool/software:

Hello TI Team,

I am currently working with the AWR1843AOPEVM and have successfully flashed the xwr1843_mrr_demo.bin.

I would like to know the procedure to obtain the data packet over CAN FD.

Could you please provide documentation detailing the configuration steps? Specifically, I am looking for information such as:

  • Message ID
  • Baud Rate
  • Packet Data Format on the CAN_H and CAN_L pins

Thank you for your assistance.

Best regards,
Mitesh

  • Hello Mitesh,

    You can refer the SDK driver: C:\ti\mmwave_sdk_03_06_02_00-LTS\packages\ti\drivers\canfd

    Wherever the UART messages you are sending, you can modify and rebuild application for the CANFD support.
    The application on the above-mentioned path can be used as reference for the same.

    Regards,
    Saswat Kumar

  • Thank you, Saswat, for your quick response.

    I was able to receive the CAN messages after making the changes you suggested.

    Could you guide me on how to adjust the periodicity of the CAN messages? I’d like to understand where in the code this periodicity is defined.

    Thank you.

  • Hello Mitesh,

    By periodicity if you mean how frequently you want the messages that will be based on how you send the packages.
    Or do you mean you want to understand the bitrate?

    Regards,
    Saswat Kumar

  • Currently, CAN messages are being transmitted every 0.6ms. I want to modify the transmission interval to 10ms. How can I achieve this?



  • Hello Mitesh,

    Again that you need to control in the application how frequently you are writing the CAN data.

    regards,
    Saswat Kumar

  • Hello Saswat Kumar ,

    I am trying to send the packet data on the classic frame with 10ms periodicty.

    I modified the code to achieve a periodicity of 10ms by adding the instruction Task_sleep(10); after the function call:


    "retVal = CANFD_transmitData(txMsgObjHandle, msg_id, CANFD_MCANFrameType_CLASSIC, 8U, can_frame, &errCode);"

    After making this change i got 10ms periodicity between two can msg.

    but I observed that the CAN tool receives only two packets of data upon powering on, instead of the expected periodic transmission.

    please provide the solution for the continuous transmission of packet data .


  • Hello Mitesh,

    You will have to analyze how the task sleep is affecting your current task flow.
    You need to analyze how fast your data is generated and how to streamline it to transfer over 10 ms.
    You told CAN write is happening every 0.6ms initially which means that data is being generated at the same rate almost.
    But now you are putting the whole task to sleep. So what task is getting executed? Are you losing the data generated in the meantime as the CAN task is in sleep.
    These analysis need to be done on your end, before modifying code.

    Regards,
    Saswat Kumar

  • Thank you for your prompt response.

    I need additional support regarding the CAN packet data. I have identified that the message 0xC1 serves as the packet header, while 0xD1 contains object details such as Doppler speed and X, Y, Z coordinates.

    However, there are two more messages, 0xD3 and 0xD4. Could you please help determine the type of information these messages contain and their byte structure?

    Looking forward to your insights.

    Thank you 

    Mitesh 

  • Hello Mitesh,

    When you are sending the messages, can you identify on trigger of which can transfer are these packets going out?
    You can single step over the code and identify, with that you will get to know which packet is the one with the header.

    Regards,
    Saswat Kumar