AM263x Digital Power SDK  09.01.00

Introduction

Contains direct form 2 3rd order DF23 compensator with its related structures and functions.

Go to the source code of this file.

Data Structures

struct  DCL_DF23_SPS
 Defines DCL_DF23 shadow parameter set used for updating compensator parameter. More...
 
struct  dcl_df23
 DCL_DF23 object for storing df23 specific parameters. More...
 

Macros

#define DF23_SPS_DEFAULTS   { 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f }
 
#define DF23_DEFAULTS
 Defines default values to initialize DCL_DF23. More...
 
#define DF23_INT_DEFAULTS
 Macro for internal default values to initialize DCL_DF23 Example: DCL_DF23 df23_ctrl = { .b0 = 1.0f, .b1 = 0.0f, ... .a3 = 0.0f, DF23_INT_DEFAULTS };. More...
 
#define DCL_initDF23()   &(DCL_DF23)DF23_DEFAULTS
 Initialize DCL_DF23 struct with default parameters Example: DCL_DF23* df23_ctrl = DCL_initDF23();. More...
 
#define DCL_initDF23asParam(_b0, _b1, _b2, _b3, _a1, _a2, _a3)
 Initialize DCL_DF23 struct with input compensator parameters Example: DCL_DF23* DF23_ctrl = DCL_initDF23asParam(1.0f,0.0f,0.0f,0.0f,0.0f,0.0f,0.0f); Note: input parameter needs to be in the same order as listed in DF23_SPS struct. More...
 
#define DCL_initDF23asSPS(df_ptr, sps_ptr)
 Initialize DCL_DF23 struct with sps parameters Example: DCL_DF23_SPS df_sps = { .b0 = , .b1 = , ...}; //initial parameter DCL_DF23 df_ctrl; DCL_initDF23asSPS(&df_ctrl,&df_sps);. More...
 

Typedefs

typedef _DCL_VOLATILE struct dcl_df23 DCL_DF23
 
typedef _DCL_VOLATILE struct dcl_df23DF23_Handle
 

Functions

_DCL_CODE_ACCESS void DCL_resetDF23 (DCL_DF23 *df)
 Resets DF23 internal storage data with interrupt protection. More...
 
_DCL_CODE_ACCESS void DCL_forceUpdateDF23 (DCL_DF23 *df)
 Loads DF23 tuning parameter from its SPS parameter without interrupt protection. More...
 
_DCL_CODE_ACCESS _DCL_CODE_SECTION void DCL_updateDF23NoCheck (DCL_DF23 *df)
 Updates DF23 parameter from its SPS parameter with interrupt protection. More...
 
_DCL_CODE_ACCESS _DCL_CODE_SECTION bool DCL_updateDF23 (DCL_DF23 *df)
 A conditional update based on the update flag. If the update status is set, the function will update DF23 parameter from its SPS parameter and clear the status flag on completion. Note: Use DCL_setUpdateStatus(df) to set the update status. More...
 
_DCL_CODE_ACCESS bool DCL_isStableDF23 (DCL_DF23 *df)
 Determines stability of the shadow compensator. More...
 
_DCL_CODE_ACCESS void DCL_loadDF23asZPK (DCL_DF23 *df, DCL_ZPK3 *zpk)
 Loads the DF23 shadow coefficients from a ZPK3 description Note: Sampling period df->css->T are used in the calculation. New settings take effect after DCL_updateDF23(). More...
 
_DCL_CODE_ACCESS _DCL_CODE_SECTION float32_t DCL_runDF23 (DCL_DF23 *df, float32_t ek)
 Executes a 3rd order Direct Form 2 controller. More...
 
_DCL_CODE_ACCESS float32_t DCL_runDF23PartialCompute (DCL_DF23 *df, float32_t ek)
 Immediate computation to obtain DF23 servo error without updating the controller. More...
 
_DCL_CODE_ACCESS void DCL_runDF23PartialUpdate (DCL_DF23 *df, float32_t ek, float32_t uk)
 Update DF22 controller based on pre-computed control effort. More...
 
_DCL_CODE_ACCESS _DCL_CODE_SECTION float32_t DCL_runDF23Clamp (DCL_DF23 *df, float32_t ek, float32_t Umax, float32_t Umin)
 Executes a 3rd order Direct Form 2 controller with clamp. More...