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.

[参考译文] TMS320F2.8377万S:在CLA上实施高速控制环路

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/580112/tms320f28377s-implementing-high-speed-control-loop-on-cla

部件号:TMS320F2.8377万S

我的目标是在 TMS320F2.8377万S微控制器上实施高速控制环路。 控制器的参考输入将是正弦波。 因此,我有四个时间关键任务:

1)计算正弦输入

2)运行控制器

3)将新的控制器输出分配给PWM

4)数据过滤

目前,我正在主CPU ISR中运行任务1,3和4,在CLA中运行任务2。 我有兴趣将任务1和3移至CLA以提高控制环路的速度。 是否可以从CLA写入寄存器值(特别是ePWM外设的CMPA值)。 其中涉及哪些步骤?  

对于参考信号生成,是否可以从CLA运行SGEN模块。 这就是我当前在CPU中使用的内容。 如果不是,SGEN模块和CLAMath库之间有何区别。 它们似乎具有类似的功能,所以我可以简单地使用CLAMath库并编写我自己的信号生成块。

谢谢!
马特  

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

    Matt,您好!

    Matt Bossart 说:
    是否可以从CLA写入寄存器值(特别是ePWM外设的CMPA值)。 其中涉及哪些步骤?  [/引述]

    是的,这是可能的。 您必须包括F2837xD_CLA_typedefs.h,后跟外设头文件(ePWM)。 您可以使用相应ePWM寄存器的位字段写入CMPA,就像在C28x上一样。 如果它是EALLOW (HW写保护)寄存器,您必须将语句包装在 CLA上的MEALLOW/MEDIS (类似于C28x上的EALLOW/EDIS)块中。  

    Matt Bossart 说:
    对于参考信号生成,是否可以从CLA运行SGEN模块。[/QUOT]

    否,SGEN是在C28x组件中编写的,不能在CLA上工作。 SGEN是以定点格式编写的。 CLA是浮点引擎,因此您可以使用CLA数学库来计算正弦,但您必须以浮点格式单独工作。