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 addition, 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 supporting modules. Refer below for the list of supported modules.
To use the DCL library, simply include the top-level file dcl.h and make sure the compiler search path includes the source path.
Supported controller modules: (In 32-bit floating-point, unless specified)
Other utility modules include:
Note: Controller modules include error handling and test points which are disabled by default. These features could be 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"
A benchmark on Arm® Cortex®-R5F core has been conducted to observe the following results when running controller arithmetic:
Controller Function | CPU Cycles |
---|---|
PI Controller | |
DCL_runPISeries | 49 |
DCL_runPIParallel | 50 |
DCL_runPISeriesTustin | 56 |
DCL_runPIParallelEnhanced | 62 |
PI2 Controller | |
DCL_runPI2Series | 74 |
PID Controller | |
DCL_runPIDSeries | 65 |
DCL_runPIDParallel | 65 |
DF11 Controller | |
DCL_runDF11 | 24 |
DF13 Controller | |
DCL_runDF13 | 43 |
DCL_runDF13Clamp | 53 |
DF22 Controller | |
DCL_runDF22 | 27 |
DCL_runDF22Clamp | 41 |
DF23 Controller | |
DCL_runDF23 | 29 |
DCL_runDF23Clamp | 45 |
PID 64bit Controller | |
DCL_runPIDF64Series | 185 |
DCL_runPIDF64Parallel | 174 |
Shown below lists all the past software revision history for this software:
Software Revision | Changelog |
---|---|
v4.03.00 | Changes:
|
v4.02.00 | More ported modules:
|
v4.01.00 | Initial release version as the continuation of C2000™ DCL. The porting includes (Backwards compatible with C2000™ DCL API):
|
The following examples have been provided to demonstrate the DCL library:
APIs for Digital Control Library