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.

AWR1642: MCAN/DCAN driver difference on the message RAM initialize

Part Number: AWR1642

Hi team,

in the driver code, customer have the question on the message ram initialize for MCAN and DCAN driver.

Why the DCAN driver need to initial the message RAM, but MCAN didnot need this? As the TRM descript, both driver had use the message ram.

What's the difference here?

Thanks,

Wesley

  • Hi,

    Please give us some time to review this question

    thank you

    Cesar

  • Hi Cesar,

    Please let me know if you have any update on this question.

    Thanks.

    Wesley

  • Hi Wesley,

    I don't have an answer yet. Checking again

    thank you

    Cesar

  • Hi Cesar,

    Please let me know if you have any update on this question.

    Thanks.

    Wesley

  • Hi Wesley,

    I have not received a response yet.

    I will set up a call with the team next week

    thank you

    Cesar

  • Hi Wesley,

    Unfortunately the original team that developed these drivers is no longer available for support. So, we will have to check this information with design team.

    Can you please let me know following information

    • What is the section in the TRM that mentions the information related to this question?
      • I checked the TRM but could not find mention that Message RAM must be init.
    • In the DCAN driver, where is the DCAN driver initialization of the message RAM referred to?
      • Is it the section below in "C:\ti\mmwave_sdk_02_01_00_04\packages\ti\drivers\can\test\common\main.c"?

        /*Intialize DCAN Tx transfer Params*/
        dcanTxData->dataLength = DCAN_MAX_MSG_LENGTH;
        dcanTxData->msgData[0] = 0xA5;
        dcanTxData->msgData[1] = 0x5A;
        dcanTxData->msgData[2] = 0xFF;
        dcanTxData->msgData[3] = 0xFF;
        dcanTxData->msgData[4] = 0xC3;
        dcanTxData->msgData[5] = 0x3C;
        dcanTxData->msgData[6] = 0xB4;
        dcanTxData->msgData[7] = 0x4B;

    Thank you

    Cesar

    Hi team,

    in the driver code, customer have the question on the message ram initialize for MCAN and DCAN driver.

    Why the DCAN driver need to initial the message RAM, but MCAN didnot need this? As the TRM descript, both driver had use the message ram.

    What's the difference here?

  • Hi Cesar,

    Customer said that they only call below for DCAN, but no need to do it for MCAN in SDK.

    /* Initialize peripheral memory */
    SOC_initPeripheralRam(socHandle, SOC_MODULE_DCAN, &errCode);

    But in app note(Adding CAN-FD Tx and Rx to an Existing mmWave Project): https://www.ti.com/lit/an/spracf7/spracf7.pdf

    In Page 2, The code had initialize the MCAN RAM.

    /* Initialize peripheral memory */

    SOC_initPeripheralRam(gMmwMssMCB.socHandle, SOC_MODULE_MCAN, &errCode);

    So, customer want to understand what's the different here? And which one is correct? Thanks.

    Regards,

    Wesley

  • Thank you

    Let me review this

    Cesar

  • Thank you Wesley for this additional information.

    I have reviewed the information and this is an error in the canfd unit test example

    The canfd lab we provide in the Automotive Toolbox also initializes the peripheral RAM

    \labs\lab0005_object_data_over_can\odoc-target\mss

    thank you

    Cesar