STM32/STM8技术论坛
直播中

李泽坚

7年用户 1273经验值
私信 关注
[问答]

STM32G4 ADC收到触发信号后,需要一段等待时间是什么原因?

使用STM32G4C驱动一个三相BLDC电机,定时器tiM1时钟170MHz,更新频率20KHz,配置OC4为trigo信号触发ADC1,ADC时钟频率为 170/4 MHz进行三相电压采样,采样顺序为CH1,CH2,CH3,并通过DMA读取ADC数据。当三个通道的采样时间小于247.5周期时,ADC不能完好地跟踪BLDC的相电压,表现为采样数据波形与相电压波形不一致。但当设置第一顺位的通道的采样时间为247.5,其他两个通道设置为较小的采样时间,例如6.5周期,三个通道均可以完好的跟踪BLDC的相电压,更换通道采样顺序也会得到同样的结果。感觉就像ADC收到触发信号后,需要一段等待时间的样子,请问是什么原因?


回帖(1)

刘埃生

2024-3-7 16:35:33
在使用STM32G4 ADC时,当收到触发信号后需要一段等待时间的原因是为了允许ADC电路在开始采样之前达到稳定的工作状态。

具体而言,当ADC收到触发信号后,需要一定的时间来完成以下步骤:
1. 复位ADC电路,使其回到初始状态。
2. 配置ADC的时钟源和分频器,确保ADC时钟频率正确设置。
3. 配置ADC的采样通道和采样时间,包括设置通道顺序和每个通道的采样时间。在这个过程中,ADC需要一定的时间来调整内部MUX和采样保持电路,以确保准确的采样。
4. 启动ADC的DMA传输,以便将采样数据传送到目标存储器(如RAM)。

等待时间的长度取决于ADC电路和系统时钟的性能。在您的情况下,当采样时间小于247.5个时钟周期时,ADC无法完全跟踪BLDC的相电压,这可能是因为ADC电路需要更长的时间来达到稳定的工作状态。通过设置第一顺位的采样时间为247.5个周期,并将其他两个通道的采样时间设置为较小的值,可以确保ADC有足够的时间来完成稳定的采样。

此外,更换通道采样顺序可能会得到相同的结果,这是因为在每次采样之间,ADC电路有更长的时间来达到稳定的工作状态。

因此,为了确保ADC能够准确跟踪BLDC电机的相电压,您可以尝试增加等待时间,或者调整采样时间和顺序,以确保ADC有足够的时间来完成稳定的采样操作。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分