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.

TMDXIDDK379D: Fast Current Loop Library Source Code

Part Number: TMDXIDDK379D
Other Parts Discussed in Thread: CONTROLSUITE, DESIGNDRIVE

I imported the example "IDDKv2_PM_Servo_F2837x_FCL_Example01" and am trying to evaluate it for my application.  I was going through the documentation, and on page 6 of  SPRAC55–March 2017, it says:

NOTE: The library is written in a modular format and is able to port over to user platforms using
F2837x devices so long as the following conditions are met:
....
....

When going through the code included with the example I noticed it includes a file "Fast_Current_Loop.lib".  However when I checked the FCL subdirectory under where the library lives it only has some header files.  Where are the source files so I can tell what is going on inside of this library?

  • Look at the folder
    C:\ti\controlSUITE\libs\app_libs\motor_control\libs\FCL\v02_00_00_00\lib
    You should see 3 header files and one LIB file.
  • I think you misread my question.  If you read it, I was already referencing the directory you were pointing me to and said I found the header files you were pointing me to.  My question was where are the source files for fast_current_loop.lib (not the header files).  

    When I run nm2000 on the library there are a number of subroutines in the library that are not in the header file.  I am assuming they are in some other .c or .asm file and archived into the library.  For example it appears there are four tasks Cla1Task1, ... Cla1Task4 and don't see source code for any of them.

  • My bad, well it is released as a .lib file only and the header files are given so that one could use the library.

    It the source could be released, then there is no need to release its .lib .

  • I was told the TMDXIDDK379D-MTR-BNDL with DesignDrive was supposed to be the C2000 prototyping kit to use industrial drive, motor control and servo topologies and is supposed to support a wide variety of motor types, sensing technologies and encoder standards.  I don't expect example programs to be able to support every conceivable configuration but how can it be a platform for experimenting and developing our next generation motor drives when the only high speed current sensing configuration is a PMSM motor? 

  • One more question for you. Supposedly I am supposed to be able to use the other tasks on the CLA as long as I don't use task1-4. How is someone expected to do that and manage the timing so that it doesn't interfere with the current loop operation? If you can't read the code how can you know you have optimized the performance of your motor controller (or over optimized it to the point that it periodically crashes).
  • The example project is given for PMSM motor, but not that the only high speed current sensing config is limited to PMSM. There are various example projects available under HVMotorKit+pfc folder. Each of these could technically be ported over to this hardware platform and we have not provided that. Those projects under HVMotorKit use shunt based current measurement as that platform supports only that. However, in IDDK, there are various current sensing topologies. One could port the code over to their choice of current sensing based on those examples. The PMSM project under IDDK is a model example. Hope it clarifies.
  • FCL library is a demonstrator for fast current loop. The control performance is decided by the bandwidth chosen. Just for evaluation, one does not need access to the source code. If it is indeed needed, then reach out to your regional TI sales contact or distributor and make a request.