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:TIDM-02002为何使用 ECAP1执行 ISR2?

Guru**** 2524460 points
Other Parts Discussed in Thread: TIDM-02002

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1136410/tms320f280049c-tidm-02002-why-use-ecap1-for-isr2-execution

器件型号:TMS320F280049C
主题中讨论的其他器件:TIDM-02002

在设计中、TIDM-02002:

- ECAP1用于在100kHz 时触发 ISR2。

- EPWM5用于以100kHz 的频率触发 SOC、供 ISR2使用。

尽管它们都以100kHz 的频率运行、但问题在于 EOC 时间与 ISR2对 ADC 的读取之间的关系是任意的。

我的问题是为什么使用 ECAP? 为什么不单独从 EPWM5触发 SOC 和 ISR2? 至少 ISR2的 ADC 转换与 ISR2执行有固定且可能可控的关系。

谢谢你。

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

    这是由于中断的硬件优先级。 PWM>eCAP>CPU 定时器。 这可以确保抢占由硬件而不是软件来保证。  

    此致、
    Cody  

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

    感谢 Cody、但我不知道为什么这样回答了这个问题。 CPU 定时器不在问题范围内、并且没有为 EPWM5配置中断、所以为什么需要解释中断优先级?

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

    Kier、

    要尽可能直接回答您的问题:

    [引用 userid="479799" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1136410/tms320f280049c-tidm-02002-why-use-ecap1-for-isr2-execution ]]我的问题是为什么使用 ECAP?

    这是因为使用 eCAP 通过硬件提供中断优先级。

    [引用 userid="479799" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1136410/tms320f280049c-tidm-02002-why-use-ecap1-for-isr2-execution "]为什么不单独从 EPWM5触发 SOC 和 ISR2?[/quot]

    因为这不会通过硬件正确地确定中断的优先级、并且需要软件干预来控制 ISR 的抢占。

    进一步说明:我相信大家都知道、现在这个代码库中使用了三个中断、下面我突出显示了每个中断的触发器。 该结构确保 ISR1的优先级高于 ISR2、ISR2的优先级高于 ISR3。 这使得中断机制的功能由硬件保证。 我相信这涵盖了您以上的问题、如果我错过了一些东西、请告诉我。

    #define CLLLC_ISR1_TRIG INT_EPWM1
    #define CLLLC_ISR2_TRIG INT_ECAP1
    #define CLLLC_ISR3_TRIG INT_ADCC2

    此外,如果你的问题的目的实际上也是为了暗示消极的问题。 含义;若要进一步查询 eCAP1为何不同时触发 ADC、可通过查看 ADCSOCxCTL.TRIGSEL 来解释这一点。 SOC 的 TrigSEL 选项不包括 eCAP1、因此无法用于 SOC 生成。

    此致、
    Cody

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

    您好、Cody、

    非常感谢、我现在明白了。 我缺少的是需要比 ISR2更高优先级的 ISR1的相关性。

    虽然无意暗示 ECAP 可用于 SOC 触发、但我仍想知道 ADC EOC 和 ISR2执行之间为何没有协调、这似乎是一个偶然的机会。