主题中讨论的其他器件:TIDM-02002
在设计中、TIDM-02002:
- ECAP1用于在100kHz 时触发 ISR2。
- EPWM5用于以100kHz 的频率触发 SOC、供 ISR2使用。
尽管它们都以100kHz 的频率运行、但问题在于 EOC 时间与 ISR2对 ADC 的读取之间的关系是任意的。
我的问题是为什么使用 ECAP? 为什么不单独从 EPWM5触发 SOC 和 ISR2? 至少 ISR2的 ADC 转换与 ISR2执行有固定且可能可控的关系。
谢谢你。
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.
在设计中、TIDM-02002:
- ECAP1用于在100kHz 时触发 ISR2。
- EPWM5用于以100kHz 的频率触发 SOC、供 ISR2使用。
尽管它们都以100kHz 的频率运行、但问题在于 EOC 时间与 ISR2对 ADC 的读取之间的关系是任意的。
我的问题是为什么使用 ECAP? 为什么不单独从 EPWM5触发 SOC 和 ISR2? 至少 ISR2的 ADC 转换与 ISR2执行有固定且可能可控的关系。
谢谢你。
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