F29x Motor Control SDK  1.00.00.00
Digital Control Library (DCL)

Introduction

The Sitara & C2000 Digital Control Library (DCL) provides a suite of robust software functions for developers of digital control applications using the Texas Instruments Sitara™ or C2000™ MCUs.

DCL is a header-only library, and all functions in the library are provided in the form of C source-code.

The DCL contains PI,PID and "Direct Form" controller types. The former are typically used to tune properties of a transient response, while the latter are typically used to shape the open loop frequency response.

In addintion, DCL contains functions to convert controller parameters from one type to the other. As well as functions to parameterize the controller given a transfer function.

Several utility modules are also included as a supporting module, refer below for the list of supported modules.

Getting Started

To use the DCL library, simply include the top-level file dcl.h and make sure the compiler search path includes the source path.

#include "dcl.h"

Features Supported

Supported controller modules: (In 32-bit floating-point, unless specified)

  • Linear PI
    • Serial PI
      • DCL_runPISeries
    • Serial PI with Tustin Integrator
      • DCL_runPISeriesTustin
    • Serial PI with Double Integrator (PI2)
      • DCL_runPI2Series
    • Parallel PI
      • DCL_runPIParallel
    • Parallel PI with Enhanced Anti-windup Logic
      • DCL_runPIParallelEnhanced
      • Note: It incorporates an addintional integrator clamp, which make use of the Imin and Imax attributes.
  • Linear PID
    • Serial PID
      • DCL_runPIDSeries
    • 64bit Serial PID (PIDF64)
      • DCL_runPIDF64Series
    • Parallel PID
      • DCL_runPIDParallel
    • 64bit Parallel PID (PIDF64)
      • DCL_runPIDF64Parallel
  • Non-linear PID (NLPID)
    • Serial PID
      • DCL_runNLPIDSeries
    • Parallel PID
      • DCL_runNLPIDParallel
  • Non-linear Controls
    • Simple non-linear control law
      • DCL_runNLF
  • Direct Form 1 1st order (DF11)
    • w/o saturation
      • DCL_runDF11
  • Direct Form 1 2nd order (DF22)
    • w/o saturation
      • DCL_runDF12
    • w/ saturation
      • DCL_runDF12Clamp
  • Direct Form 1 3rd order (DF13)
    • w/o saturation
      • DCL_runDF13
    • w/ saturation
      • DCL_runDF13Clamp
  • Direct Form 2 2nd order (DF22)
    • w/o saturation
      • DCL_runDF22
    • w/ saturation
      • DCL_runDF22Clamp
  • Direct Form 2 3rd order (DF23)
    • w/o saturation
      • DCL_runDF23
    • w/ saturation
      • DCL_runDF23Clamp

Other utility module includes:

  • Data Logging (FDLOG)
  • Multi-channel data logs (MLOG)
  • Reference Generator (REFGEN)
  • Transient Capture Module and performance index (TCM)
  • Gain Scheduler Module (GSM)

Note: Controller modules include Error Handling and Test Points which are disabled by default, these features could enabled by macros defined in "dcl.h" Note: DCL is also backwards compatible with C2000's C28 (v3) API call. For a proper mapping between the two APIs, refer to "misc/dcl_c28_compatibility.h"

Release Notes

Provided Examples

Additional References

N/A

API

DCL_API_MODULE