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.

[参考译文] TMS320F28035:CLA 管理和控制器复位

Guru**** 2001285 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/570846/tms320f28035-cla-management-and-controller-reset

器件型号:TMS320F28035

您好!

由于 Piccolo F28035上的 DPlib、我正在开发电源应用。 我很难正确管理 CLA。

我在几个任务中使用来自 DPLib 的2P2Z 控制器宏来实现多种控制模式。 为每个控制环路保留一个内存空间(内部缓冲区:_CNTL_2P2Z_CLA_DBUFF:n:位于 CLA 数据 RAM 中)。 应用程序不能同时运行2个控制循环、但可以在停止/启动序列后更改其控制循环。

内部缓冲器中包含的数据应该在第一次启动任务前被复位(以及在一个停止序列后重新启动任务时)以确保2P2Z 输出为0 (这是 PWM 模块的占空比)。

我的问题是:是否有办法轻松地重置内部缓冲器,或者我是否应该使用特定的任务来重置2P2Z 内存?

提前感谢

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Pablo、
    没有比手动将变量结构中的元素归零更好的方法。 头文件中有一个 C 语言宏、您可以使用它(CNTL_2P2Z_CLA_C_VAR_init)。 您可以使用单独的任务来执行此操作、很显然、在重新启动控制器之前、必须重新加载 Ref 和 Fdbk 元素。
    您可以执行一些操作、例如将所有变量结构定位在连续存储器中、然后编写例程将所有变量一起清除、但该结构太小、不会比单独清除元素快得多。
    此致、
    Richard
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    谢谢 Richard、这就是我的想法!