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-F28379D: Issue Using BiSS-C Encoder With F28379D + 3PHGANINV in MotorControlSDK 5.03

Part Number: LAUNCHXL-F28379D
Other Parts Discussed in Thread: TMDXIDDK379D, C2000WARE

Hello TI Team,

I am working with the F28379D LaunchPad and the 3-phase GaN inverter board for a dual-motor control application. I am using MotorControlSDK 5_03 as the base reference.

I have integrated a BiSS-C absolute encoder into the dual-axis motor control code. The BiSS-C interface itself is working correctly, and the angle reading is verified in open-loop and FCL Level-2. However, when I integrate the BiSS-C angle into the FCL closed-loop control (Level-3 to Level-5), the system does not behave correctly.

Issue description:

  • The motor starts normally in closed loop.
  • After a short time, the speed gradually reduces without any command change.
  • Eventually the speed reaches near zero (approximately 0.0001 pu), but the motor never stops completely.
  • Current continues to flow even though the speed reference is unchanged.
  • This behavior is consistent across FCL Level-3, Level-4, and Level-5.

Debug steps already tried:

  • The same hardware works correctly with incremental encoder example and FCL Level-3/4.
  • BiSS-C angle is verified in FCL Level-2, and the motor runs normally there.
  • Added manual angle delay compensation — issue still persists.
  • Tested with speed observer and angle estimator for compensation — no improvement.
  • Verified position data and CRC from BiSS-C — all correct.

Thank you for your support.
Regards,
divyesh patel

  • Hello Divyesh,

    For an example of absolute encoder integration, take a look at the project. It has code for a T-Format encoder which is another protocol from BiSS-C, but manipulation of the position information will be similar.  The project can be found in the following location:

    C:\ti\c2000\C2000Ware_MotorControl_SDK_<version>\solutions\tmdxiddk379d

    The code is marked with:

    #if (POSITION_ENCODER == T_FORMAT_ENCODER)

    Regards

    Lori