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.
亲爱的香榭丽舍大街,
我是为我们的客户提出这个问题的。
用户使用 EPWM8计数器= 0生成 EPWMxSOCA 来触发 ADC、使用 GPIO33输出 EPWM8.ADCSOCAO、如下所示。
我们对 ADCSOCAO 的波形感到困惑、需要您进一步澄清。
如下图所示、通道 D2 (红色)为 ADCSOCAO、Chaneel D1 (棕色)为 EPWM8A。
Question:
1.用户注意到 ADCSOCAO 的脉冲宽度有时可能变化很大,即使用户使用一个恒定周期 EPWM8计数器=0来触发它。
为什么它有时会变化? 它有什么意义吗? 它的宽度与触发的 ADC SOC 的 ADC 采样时间(ACQPS)是否相关?
2.如果我们查看数据表的下图、在 本例中这个 ADCTRIG 应该为 ADCSOCAO。 对吗?
是标志 ADCSOCFLG。 SOCx 被 ADCSOCAO 的"下降边沿"设定(触发)为高电平 、然后开始采样/保持?
也就是说、 触发标志 ADCSOCFLG.SOCx 的是 ADCTRIG/ADCSOCAO 的"下降沿"、而不是 ADCTRIG/ADCSOCAO 的"宽度" ?
您好、Wayne、
SOCA 信号完全由 PWM 控制、与 ADC 内部发生的情况无关。 如果一个 SOCA 信号到达时另一个 ADC SOC 正在转换或具有更高的优先级、则 ADCSOCFLG。 所请求 SOC 的 SOCx 信号会变为高电平、但直到该 SOC 到达优先级队列的顶部并开始采样才会变为低电平。 如果另一个 SOCA 触发信号到达同一 SOC、而另一个已挂起(等待开始转换)、则丢弃新触发信号、并将 SOC 溢出标志设置为高电平。
无论如何、ADC 触发信号完全由发送它的外设(ePWM 或 CPUTIMER)控制。 ADCTRIG 在 ADC 外部;ADCSOCFLG。 SOCx 位于 ADC 内部。 因此、如果 SOCA 信号的周期不规则、则原因必须是 ePWM。
尊敬的 Ibukun:
我了解。
您能否确认下降沿而不是 ADCTRIG 的宽度是否触发 ADCSOCFLG.SOCx?
如果是、 ADCTRIG 的宽度无关紧要。
您好、Wayne、
SOC 标志 在触发信号到达后的下一个周期变为高电平。 所以、这是 上升沿+ 1周期。 然而、采集窗口会在 SOC 标志信号的下降沿开始。 如果没有待处理的 SOC、这应该在触发信号到达后2个周期。
此致、
伊袋
尊敬的 Ibukun:
从上面的图或者这篇文章的放大图可以看到 ADCSOCAO 的下降沿总是在 EPWM8计数器=0。 如果 使用 ADCSOCAO 的上升沿+ 1触发 SOC 标志、则意味着始终存在长达一半的 EPWM8周期的延迟来触发 ADC SOC。 我们的理解是否正确? 如果是、很奇怪用这么长的延迟来触发 ADC。
注意 EPWM8A 在计数器=0时被切换。
即、我们想 澄清一下是否几乎在 ePWM 计数器=0时触发了 ADC SOC?
如果 ADC SOC 标志由上升沿+1触发、那么 EPWM8计数器=0是怎么由下降沿而不是上升沿触发的?
您好、Wayne、
我已就此向我们的设计团队进行了核实;他们向我确认、标志会在传入触发信号的上升沿后1个周期设置。 我们能否仔细检查 EPWM8配置代码、了解为什么 ADC SOCA 信号会 在周期中间而不是开始时发出?
谢谢。
伊袋
尊敬的 Ibukun:
请参阅 SysConfig 的代码配置。
EPWM8事件设置
EPWM8所有设置
ADCSOCAO 至 GPIO33
如果需要、我可以发送代码供您查看。
您好、Wayne、
请发送代码以供审核。 谢谢。
伊袋
尊敬的 Ibukun:
我已经将它发送给您离线。
谢谢 Wayne。 我将在收到更多信息后立即恢复。
请忽略我之前的帖子。
我想我有这样的答案:
这解释了您在 GPIO33引脚上看到的波形。 代码配置正确、正如预期的那样、SOCA 触发器在周期开始时到达。
此致、
伊袋