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-F28P65X: DRV8316REVM Integration with F28P65x – Compatibility and Setup Queries

Part Number: LAUNCHXL-F28P65X
Other Parts Discussed in Thread: DRV8316REVM, LVBLDCMTR, C2000WARE-MOTORCONTROL-SDK, C2000WARE, SYSCONFIG, DRV8316

I am trying to integrate the DRV8316REVM with the F28P65x controller and have a few questions regarding this setup.

I am using the LVBLDCMTR motor.

  1. Is the DRV8316REVM compatible with the F28P65x device?

  2. How can I download and install the C2000WARE-MOTORCONTROL-SDK on a Linux system?

  3. Are there any ready-to-use examples available for this combination, along with reference documentation to flash and run them?

  4. What is the recommended way to connect the DRV8316REVM to the F28P65x board (hardware connections and configuration)?

  • Is the DRV8316REVM compatible with the F28P65x device?

    Yes. 

    How can I download and install the C2000WARE-MOTORCONTROL-SDK on a Linux system?

    There is not Linux version. But you can install it on a Windows PC and copy the files to Linux PC for using the example codes.

    Are there any ready-to-use examples available for this combination, along with reference documentation to flash and run them?
    What is the recommended way to connect the DRV8316REVM to the F28P65x board (hardware connections and configuration)?

    You can refer to the current example and follow the lab user's guide to make a few changes for the kits you used.

    You may refer to the Universal Motor Control Lab for the newer C2000 device in motor control SDK. The universal motor control lab is available in the current MCSDK, which can support a set of hardware kits and control algorithms for BLDC/PMSM drive. The kits include LAUNCHXL-F280025C, LAUNCHXL-F280039CLAUNCHXL-F2800137 with BOOSTXL-DRV8323RS, BOOSTXL-DRV8323RH, DRV8353Rx-EVMBOOSTXL-3PHGANINV, DRV8316REVM, or  DRV8329AEVM (single shunt) inverter board for low voltage motor (max: 100Vdc) with 3-shunt or single-shunt current sensing. TMDSCNCD280025C, TMDSCNCD2800137 , TMDSCNCD2800157 , or TMDSCNCD280039C with TMDSHVMTRINSPIN inverter board and TMDSADAP180TO100 for high voltage motor (max 350Vdc). And The control algorithms include sensorless InstaSPIN-FOC with FAST, Sensorless-FOC with eSMO, Sensored-FOC with incremental encoder, Sensored-FOC with hall sensor.

    C2000WARE-MOTORCONTROL-SDK: https://www.ti.com/tool/C2000WARE-MOTORCONTROL-SDK

    Universal Project and Lab User’s Guide: https://www.ti.com/lit/spruj26

    Example lab project at the folder: C:\ti\c2000\C2000Ware_MotorControl_SDK_<version>\solutions\universal_motorcontrol_lab\f28002x

    or                                                         C:\ti\c2000\C2000Ware_MotorControl_SDK_<version>\solutions\universal_motorcontrol_lab\f28003x

    or                                                         C:\ti\c2000\C2000Ware_MotorControl_SDK_<version>\solutions\universal_motorcontrol_lab\f280013x

    or                                                         C:\ti\c2000\C2000Ware_MotorControl_SDK_<version>\solutions\universal_motorcontrol_lab\f280015x

  • Hello Yanming Luo,

    I went through your inputs and explored the examples available in the C2000Ware_MotorControl_SDK. I found an example for the F28P65x, imported the project, and was able to flash the code successfully. However, the motor is not rotating.

    While reviewing the source, I noticed that the available example is configured for the BSXL8323RS_REVA board. My requirement is to use DRV8316R, but this device is not listed in motor_common.h under the supported board types.

    Currently, the enum is defined as:

    typedef enum
    {
        BOARD_BSXL8323RS_REVA = 0, //!< the board is BOOSTXL_8323RS, OK, in MCSDK
        BOARD_BSXL8323RH_REVB = 1, //!< the board is BOOSTXL_8323RH, OK, in MCSDK
        BOARD_BSXL8353RS_REVA = 2, //!< the board is BOOSTXL_8353RS, OK, in MCSDK
        BOARD_BSXL3PHGAN_REVA = 3, //!< the board is BOOSTXL_3PHGAN, OK, in MCSDK
        BOARD_HVMTRPFC_REV1P1 = 4, //!< the board is HVMTRPFC_REV1P1, OK, in MCSDK
        BOARD_BSXL8316RT_REVA = 5, //!< the board is BOOSTXL_8316RT, OK, in MCSDK
        BOARD_DRV8329AEVM_REVA = 6, //!< the board is DRV8312KIT_REVD, OK
        BOARD_BSXL8300RT_REVA = 7, //!< the board is BOOSTXL_8300RT, NA
        BOARD_BSXL8320RS_REVA = 8, //!< the board is BOOSTXL_8320RS, NA
        BOARD_DRV8312KIT_REVD = 9, //!< the board is DRV8312KIT_REVD, OK, Not Release
        BOARD_APP01SBRD_REVA = 10, //!< the board is APP01SBRD_REVA, OK, Not Release
        BOARD_ECOMPBRD_REV1P1 = 11, //!< the board is ECOMPBRD_REV1P1, OK, Not Release
        BOARD_HWHC02SBRD_REVA = 12 //!< the board is HWHC02SBRD_REVA, OK, Not Release
    } Board_Kit_e;
    

    Since DRV8316R is not available in this list, could you please advise:

    • Can I add DRV8316R to this enum?

    • Is there a defined process or reference for adding a new board/driver like DRV8316R into the MCSDK framework?

    • Are there any existing patches, examples, or recommended base boards that DRV8316R should be derived from?

    Thank you,
    Sai Kumar

  • Yes. Sorry, we can't provide the examples for all of the DRV kits. You can add any kits, and follow the lab user's guide to change the configuration codes to support the kit you added. The lab user's can be used for the DRV kit and the launchpad as well. 

    Universal Project and Lab User’s Guide: https://www.ti.com/lit/spruj26

  • Hello Luo,

    MCU : F28P65x 

    Booster Board : DRV8316R

    Motor :  LVBLDC MTR ( dn4240S24 026 24v)

    We are able to configure or include the library required to run the drv8316R with the bldc motor , As there is no sysconfig or ui available for this project, we manually configured and updated the GPIO pins of ADC,PWM,nfault and nsleep,SPI pins as required. But we are unable to see the motor running after the flash.We are getting the pwm signals and spi signals at calibration part after that pwm is not generating, we analyzed this with data analyzer.

    Can you confirm what might be the reason that motor is not running.

  • As mentioned above, you can refer to the example lab using the same DRV kit to change the device configuration code in hal.h and hal.c. Run the example lab from build level 1 to 4, step by step, to find the issue. That could be the best way to run the motor with the kits you have.

  • Hello Luo 

    As you mentioned i have gone though the example lab using the same DRV kit chaged the hal.c and hal.h.then run the example lab from build leavel 1 to 4,step by step i am not able to figureout the issue i am geeting the same signal on the logical analyser.So help me to reslove the issue.

    The channel 4,5,67 are the PWM lines, The pwm is stop generating after some time.

    So tell me that i have to check to reslove the my issue.If arrange a call with technical team It will help us alot or share me any video links which help me to understand how to configure the hal.c and hal.h 

      

  • The Motor Control SDK Universal Project and Lab  (https://www.ti.com/lit/ug/spruj26a/spruj26a.pdf?ts=1770905521924) provides a very detailed description of the migration steps in section "4 Building a Custom Board". Ccan you take a look and follow the steps to change the configuration codes and test the board?

    And then tell us which issues you encountered at different levels?

  • changes_made_for_code.pdf

    Hi Luo,

    We followed Section “4 Building a Custom Board” in the Motor Control SDK Universal Project and Lab guide and implemented the changes accordingly. After making the required modifications, we tested the system across different levels (Level 1 to Level 4).

    However, we observed the same behavior at all four levels — the PWM generation stops after some time.

    Please find the attached PDF document, which includes the detailed steps we followed and the changes we made.

    In the provided Excel file (../C2000Ware_MotorControl_SDK_5_04_00_00/solutions/universal_motorcontrol_lab/doc/Motor_Control_Parameters_Calculation.xlsx) for hardware parameter calculation, the specifications for DRV8316 are not available.

  • The ADC offset calibration is enabled by default. All 6-ch PWMs are set to 50% duty during calibration, which may take several seconds. Please follow the lab user's guide to check the output and the related measured values.