ZHCU083I January 2013 – October 2021 TMS320F2802-Q1 , TMS320F28026-Q1 , TMS320F28026F , TMS320F28027-Q1 , TMS320F28027F , TMS320F28027F-Q1 , TMS320F28052-Q1 , TMS320F28052F , TMS320F28052F-Q1 , TMS320F28052M , TMS320F28052M-Q1 , TMS320F28054-Q1 , TMS320F28054F , TMS320F28054F-Q1 , TMS320F28054M , TMS320F28054M-Q1 , TMS320F2806-Q1 , TMS320F28062-Q1 , TMS320F28062F , TMS320F28062F-Q1 , TMS320F28068F , TMS320F28068M , TMS320F28069-Q1 , TMS320F28069F , TMS320F28069F-Q1 , TMS320F28069M , TMS320F28069M-Q1
主函数为 STPOSCTL_run(ST_POSCTL_Handle handle),其中 handle 是具体 ST_PosCtl_t 对象的指针,该句柄需要由初始化函数 STPOSCTL_init 建立。
void STPOSCTL_run(ST_POSCTL_Handle handle)
参数:
编号 | 类型 | 参数 | 说明 |
---|---|---|---|
1 | ST_POSCTL_Handle | Handle | ST_PosCtl_t 对象的指针 |
SpinTAC 位置控制状态转换图如图 4-16 所示。请注意,在图 4-16 中,IDLE 到 INIT、INIT 到 CONF 以及 CONF 到 BUSY 的状态转换在一个采样时间内发生。因此,控制器启用后会直接在该采样时间内工作。
表 4-17 说明了 SpinTAC 位置控制的状态转换。
起始状态 | 结束状态 | 转换条件 | 操作 |
---|---|---|---|
IDLE |
| ||
INIT | RES == false 并且 ENB 在上升沿并且 ERR_ID == 0 | ||
INIT | 参数验证
| ||
IDLE | ERR_ID != 0 | 设置 ENB = false | |
CONF | ERR_ID == 0 | ||
CONF | BUSY | Inertia 和 BwScale 饱和至指定界限。如果发生饱和,ERR_ID 将为 1012、1013、1014 或 1015。 | |
BUSY |
| ||
IDLE | RES == true 或 ENB == false 或 ERR_ID == 2002 | 设置 ENB = false | |
CONF | RES == false AND ENB == true AND changes in BwScale or Inertia AND ERR_ID != 2002 |