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.
各位专家:
我有一个以40kHz 运行的 ADC ISR。
最后、我启用 EPWM1.interrupt、在其中计算 EPWM1和 EPWM2参数的值。
EPWM2在计数器= CMPB 时与 EPWM1相位、两个 EPWM 都使用递增计数、使用死区模块。
EPWM1.int 由事件计数器=零触发、两个 EPWM 都将影子加载设置为计数器=零。
此芯片控制 LLC 电源模块、此模块运行的开关频率(FSW)范围为(56kHz-170kHz)。
ADC ISR 与 FSW 不同步。
对于临界情况、尤其是当 Fsw 为 ADC ISR 频率(80kHz、120kHz、160kHz)的倍数时、
当 ADC ISR 恰好以 COUNTER = 0或至少接近 COUNTER = 0结束时、是否会出现问题?
哪个具有更高优先级、影子加载或处理内部中断触发器?
我担心的是、影子加载可能无法完成将影子寄存器的内容传输到活动寄存器、并且 EPWM1.int 将得到处理。
如果发生这种情况、并非所有 ePWM 参数都可以同时捕获、并且会固定 PWM 信号。
谢谢、
本
Dom、
我认为了解这一优先级对我们没有帮助。 假设在最坏的情况下、影子加载确实发生在 ISR 触发后:在这种情况下、处理器仍然必须在 ISR 触发后执行上下文存储。 此存储将需要大约12个周期、影子加载应仅在一个时钟边沿发生、因此应在执行任何 ISR 代码之前完成。
我可能会帮助知道内核不需要移动这些值、它通过 PWM 模块中的嵌入式逻辑自动发生。
此致、
Cody
您好、Cody、
感谢您的回应、这是我需要的信息。
是否有一个文档指明了这12个周期? 或者我可能错过了它。
我找到了几个源(如下所示)、但它们都没有直接引用 F28031器件。
还是 C28x 器件的这些信息相同?
因此、内部中断延迟范围(包括上下文保存)为8-14个周期、我的理解是否正确?
F2803x TRM 第1.6.1.1节。 中断操作序列表示 SPRU430为基准。
SPRU430在示例3-1中指示完全上下文保存/恢复= 8-16个周期
F28004x_Microcontroller_1-0.pdf (TMS320F28004x 微控制器技术讲座)指示内部中断的中断延迟=最小14个周期
CLA 实践技术讲座-第1部分简介(教程视频)给出了8-14个周期内的上下文保存示例。
谢谢、
本
Dom、我没有查询号码、只是在我的脑海中看到了号码... 因此、强调"大约" 12个周期。
您处于正确的范围内、但有许多因素可能会导致所需的周期数、请参阅此页面了解更详细的说明。 https://software-dl.ti.com/C2000/docs/c28x_interrupt_faq/html/index.html#interrupt-faq-for-c2000
此致、
Cody