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.
工具/软件:Code Composer Studio
尊敬的 TI 专家:
我有一个具有50kHz PWM 和25kHz ADC 采样频率的程序。 它运行良好。 逻辑流程很简单。 ePWM 模块被编程为具有50kHz 的频率、并且当 ePWM 计数器达到零时、它会每隔一段时间触发 ADC SOC。 然后、由 ADC EOC 以25kHz 的频率触发的 ADCISC 用作主 ISR。
现在、我需要将 PWM 频率提高到100kHz。 但是、主 ISR 将无法在20us (50kHz)内完成。 那么、我的问题是如何在保持主 ISR 频率不变的同时获得100kHz PWM?
似乎可以每隔一秒触发一次 ADC SOC、每隔三次 EPWM 计数器到达零、而不是每隔四次触发一次 ADC SOC。 是否有任何快速、简单的方法来解决它、而不会像中断嵌套那样遇到太多麻烦?
感谢您的提前帮助。
伊万
如果主 ISR 需要20us、则不使用嵌套、则会延迟 PWM ISR 运行下一个周期。 即使您可以在事件触发器子模块中筛选到每四个事件、我也看不到解决此问题的方法。
您能否缩短主 ISR 的长度? 也许您可以将一些计算从主 ISR 中移出并移入主代码或另一个 ISR。
您是否在使用 CLA? 您可以使用 CLA 更新 PWM、这将为 C28x 内核提供更多时间来运行主 ISR。
此致、
Cody