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.

LAUNCHXL-F2800137: SPI between LAUNCHXL-F2800137 and DRV8353RS-EVM

Part Number: LAUNCHXL-F2800137
Other Parts Discussed in Thread: DRV8353RS-EVM

Dear all,

I'm doing some test using LAUNCHXL-F2800137 and DRV8353RS-EVM.

Universal_motorcontrol_lab is used, SDK 5.

The set up of the control board was copy on LAUNCHXL-F280025 (switch, pin to unconnect between control and power, etc...).

DAC128 is not used (predefined symbol DAC128S_ENABLE_N).

My problem is that I can not change the gain of the DRV8353RS, the default value (20) is applied even if I change the configuration in the software..

If a read command is performed, all the data are set to logical bit 1.

 In the past using LAUNCHXL-F280025 it was functionnal. Can you let me know if a change on the HW setting is necessary?

Can you please also confirm DAC128 evaluation board is functionnal because if I'm right, same SPI will be shared.

With best regards.

  • I can confirm that it is functionnal using the LAUNCHXL-F280025 using the same DRV8353RS-EVM board so any HW issue on the power board is excluded.

    Regards.

  • Hi Manu,

    I believe the SPI_STE pin used for LAUNCHXL-F2800137 and DRV8353RS-EVM is slightly different. I believe you need to connect J2-12 to J2-13 instead of J2-12 to J2-19 like for F28002x device. You can confirm by checking the SPI related GPIO config in the software.

    We plan to have an updated User's Guide that'll explain this in the future.

    Best,

    Kevin

  • I believe the SPI_STE pin used for LAUNCHXL-F2800137 and DRV8353RS-EVM is slightly different. I believe you need to connect J2-12 to J2-13 instead of J2-12 to J2-19 like for F28002x device. You can confirm by checking the SPI related GPIO config in the software.

    You are right.

    Writing to DRV8353RS is now functionnal. Reading give strange results and does'nt seem fully functionnal but perhaps it was the same for LAUNCHXL-F280025.

    Regards.

  • Hi Manu,

    What behavior do you see when trying to read? You could scope the SPI signals to try and debug it further if you have the time.

    I haven't tested with DRV8353RS recently, but reading from other DRVs (like 8316) have worked OK in the past.

    Best,

    Kevin

  • Hi,

    From what I can see, the behavior is the same with LAUNCHXL-F280025 and LAUNCHXL-F2800137:

    -Writing to DRV seems OK but it seems that there is no automatic write at startup, it is necessary to perform a manual write.

    -If I perform 2 successive read, all bits of CSA control register are read back to 0 at the second read (I did'nt check other registers).

    Regards.

  • Hi Manu,

    -Writing to DRV seems OK but it seems that there is no automatic write at startup, it is necessary to perform a manual write.

    I had thought there was an initial write to configure the registers based on some #defines (CSA gains at least), but I'd need to re-check the code.

    -If I perform 2 successive read, all bits of CSA control register are read back to 0 at the second read (I did'nt check other registers).

    The 1st read is correct however? I'm not sure why this would be the case, unless the registers were written to 0 somehow.

    Best,

    Kevin

  • Hi Manu,

    Sorry for my delay.

    I checked the code and do see there's a DRV8353RS register writing / initialization in the HAL_MTR_setParams() function in hal.c file.

        // initialize the DRV8353RS interface
        HAL_setupDRVSPI(handle, &drvicVars_M1);
    
        drvicVars_M1.ctrlReg03.bit.IDRIVEP_HS = DRV8353_ISOUR_HS_0P820_A;
        drvicVars_M1.ctrlReg03.bit.IDRIVEN_HS = DRV8353_ISINK_HS_1P640_A;
    
        drvicVars_M1.ctrlReg04.bit.IDRIVEP_LS = DRV8353_ISOUR_LS_0P820_A;
        drvicVars_M1.ctrlReg04.bit.IDRIVEN_LS = DRV8353_ISINK_LS_1P640_A;
    
        drvicVars_M1.ctrlReg05.bit.VDS_LVL = DRV8353_VDS_LEVEL_1P500_V;
        drvicVars_M1.ctrlReg05.bit.OCP_MODE = DRV8353_LATCHED_SHUTDOWN;
        drvicVars_M1.ctrlReg05.bit.DEAD_TIME = DRV8353_DEADTIME_100_NS;
        drvicVars_M1.ctrlReg06.bit.CSA_GAIN = DRV8353_Gain_10VpV;
    
        drvicVars_M1.ctrlReg06.bit.LS_REF = false;
        drvicVars_M1.ctrlReg06.bit.VREF_DIV = true;
        drvicVars_M1.ctrlReg06.bit.CSA_FET = false;
    
        // write DRV8353RS control registers
        drvicVars_M1.writeCmd = 1;
        HAL_writeDRVData(handle, &drvicVars_M1);

    Best,

    Kevin