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.

[参考译文] TMS320F280049C:如何在 SCIA_Rx ISR 中实施嵌套中断以确保 EPWM1_TZ ISR 仍可执行

Guru**** 2563760 points
Other Parts Discussed in Thread: C2000WARE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1067892/tms320f280049c-how-to-implement-nested-interrupts-in-the-scia_rx-isr-to-ensure-the-epwm1_tz-isr-can-still-execute

部件号:TMS320F280049C
“线程:C2000WARE”中讨论的其它部件

我正在使用 EPWM1,EPWM2和 EPWM3实施基于 SVPWM 的三相逆变器,以生成6个门信号。

EPWM1计数器为零时,我使用 EPWM1 ISR 更新期间并比较 EPWM1,EPWM2和 EPWM3的寄存器值。

我还使用 SCIA_RX ISR 分析和处理命令,并检索一些逆变器值。

我注意到,当执行 SCIA_RX ISR 时,似乎没有收到任何 SVPWM 值的更新(表明 EPWM1 ISR 在 SCIA_RX ISR 结束之前不会执行)

成为 C2000在中断方面的工作方式。

我想在 SCIA_RX ISR 中实施嵌套中断,以允许我所需的更高优先级  EPWM1 ISR 执行。

我已经在“C2000Ware_4_00_00”的驱动程序库示例中查看了 f28004x 的中断示例,但我仍然不清楚如何确保 EPWM1 ISR  

即使 SCIA_RX ISR 正在执行,也始终执行。

谢谢

戴维·尼亚尔科

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

    大卫,你好。

    感谢您的提问! 这是一个很好的项目,也是关于中断的好问题。 首先,我将为您提供有关如何在 C2000器件上实施嵌套的资源:

    https://software-dl.ti.com/C2000/docs/c28x_interrupt_nesting/html/index.html

    有关如何启用嵌套的详细信息,请参阅“添加简单软件优先级(嵌套)”部分。

    请注意,您需要更新 IER 位以匹配 F28004x 的饼图通道映射,因为该链接中的设备示例具有不同的 ePWM 位置映射。 由于所有 ePWM 都在不同的组中,因此可以跳过该页中的步骤2和6。

    基本上,您需要做的是在 SCIA ISR 内添加嵌套。 要进一步总结上述链接:

    1.通过设置 IER =1 <<(group_number-1)启用 ePWM 中断组(F28004x 的组3,如 TRM 的 PIE 通道映射表中所示)。 请注意,IER 寄存器组是按位位置设置的,因此对于组#3,您可以设置第三位。 这意味着 IER = 0x4设置组3。

    *现在只能在步骤1中使用 IER 启用的中断的整个中断期间进行嵌套。 因此,现在只有第3组可以嵌套。

    3.通过清除 PIEACK,等待1个周期,然后清除 INTM (使用 EINT)来启用中断

    4.将其余的 SCIA ISR 代码放入其中

    5.在 ISR 结束时,必须使用 DINT 在退出例程期间禁用中断(在返回期间防止中断)。

    *现在中断可以正常返回,这将恢复 INTM 和 IER。

    所以你基本上可以仿效这个例子,同时把与 PIEIER 有关的项目都排除在外。

    如果您有任何疑问,请告诉我!

    此致,

    文斯

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

    你好,Vince,

    感谢您的详细解释。 这很奏效。