工具与软件:
我将使用 CPU2 CLA 触发 ADC 转换、方法是使用 EPWM_FORCEADCTrigger (EPWM1_BASE、EPWM_SOC_A);
EPWM1 SOCA 用于触发四个 ADC 转换(SOC7、SOC8、SOC9、SOC10)。
ADC 中断由转换的最后一个 SOC (SOC10)触发。
ADC 中断会触发 CPU1 CLA 任务。 这是配置的唯一 CPU1 CLA 任务。
我在 CPU2 CLA 中设置了一个 GPIO、以便查看 ADC 转换的初始触发器何时开始
我在 CPU1 CLA 中设置了一个 GPIO 以查看 ISR 何时发生
...我用逻辑分析仪测量 GPIO 之间的间隔
我看到 ADC 触发和 ISR 之间的间隔/延迟有很多变化。 在低端、该值为~2.4us、接近于我针对转换4个通道的最短时间进行的计算。 在更高端、我看到延迟高达40us
这种延迟变化是否合理?
... CPU1 CLA 没有其他任务,所以不应该是 CPU1 CLA 繁忙,不能运行 ISR 的情况
...可能有多达两个其他 ADC 通道正在被转换。 (SOC0、SOC1)。 虽然这可能会延迟 SOC7/SOC8/SOC9/SOC10、但我希望这不会使转换时间增加1us 或2us 以上、并且不会导致40us 延迟。
谢谢!