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.
工具与软件:
我想按如下方式使用 TMS320F280049 MCU 查询 PFC CLA 中的中断优先级。 请查看它。
-。 查询内容:
1.查询在 CLA 中设置中断优先级
2. SDFM 检测中断优先级、如何在没有 PWM 控制中断干扰的情况下执行
ttplpfc_clatask.cla
__attribute__(((interrupt)) void Cla1Task1 (void) // cla_trigger_SDFM1DRINT1、频率1.2MHz、 执行时间417ns
__attribute__(((interrupt) ) void Cla1Task2 (void) // cla_trigger_EPWM3INT、频率100kHz、 执行时间833ns
谢谢。此致、
张
尊敬的 Yiseo:
很抱歉耽误你的时间。 CLA 任务已经具有内置优先级:
"任务1具有最高优先级、任务8具有最低优先级。 2类 CLA 提供设置最低优先级任务(例如任务8)的选项、作为后台任务、该任务一旦触发、就会连续运行、直到用户终止任务或复位 CLA 或器件。 其余任务(1至7)保持优先级并在触发时中断后台任务。"
F28004x 具有2类 CLA、因此您可以选择将任务8配置为可以在其中嵌套其他任务的后台任务。 与 C28x 上的中断相似、任务1-7将运行到完成并且无法嵌套。 CLA 将始终执行已启用和已标记的最高优先级任务。 在你的情况下、即使 EPWM 任务具有较低的优先级、它也会干扰 SDFM 任务的执行。
解决此问题、我能想到的最佳方法是将 EPWM 任务功能拆分为2个(或更多)任务、这些任务的执行时间比 SDFM 触发之间的时间更短。 例如、任务2可由 ePWM 触发、任务3可由任务2触发软件。 您可以让任务2在最初时禁用 MIER 寄存器中的任务3、然后在任务1内重新启用任务3。
这样一来、即使 ePWM 任务在 SDFM 任务之间执行、它也会在延迟下一个 SDFM 任务之前完成执行。 然后、在下一个 SDFM 任务完成执行后、启用并执行任务3以完成所需的 EPWM 功能。
此致、
Delaney
您好、Delaney
谢谢你。
我了解解决方案。
还有一个问题、如果我使用两个 CLA_TRIGGER_SDFM1DRINT1和 CLA_TRIGGER_SDFM1DRINT2进行交错电流感应、我是否可以在没有中断干扰的情况下使用它?
__attribute__(((interrupt)) void Cla1Task1 (void)// cla_trigger_SDFM1DRINT1、频率1.2MHz、执行时间417ns
__attribute__(((interrupt)) void Cla1Task2 (void)// cla_trigger_SDFM1DRINT2、频率1.2MHz、执行时间417ns
此致、
张