打印
[STM32G4]

ADC由定时器触发,但是ADC的频率跟定时器频率不一样

[复制链接]
840|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
定时器CH1-3输出了互补PWM,CH4触发ADC1的采集
定时器PWM是17K


ADC设置了由定时器1的触发输出1,上升沿来触发


实际在adc转换完成回调内,通过拉高GPIO再置低,看到ADC的采样频率只有3.4K
按理说ADC的频率是170MHZ/4分频,然后4通道只是2.5+12.5个周期,就算ADC启动转换有等待,也不至于来不及转换

如果设置成上升下降触发,可以提升频率到7K,说明不是转换来不及,就是ADC的启动跟定时器没有完全同步,这是为什么呢

26005661259c9b6ef1.png (18.42 KB )

26005661259c9b6ef1.png

使用特权

评论回复
沙发
djz1992|  楼主 | 2024-4-9 16:12 | 只看该作者
原因找到了,DMA多通道我配置的buffer是通道数的n倍,所以n次才触发一次搬运完成

使用特权

评论回复
板凳
大鹏2365| | 2024-7-28 23:22 | 只看该作者
尽管ADC是由定时器触发的,但ADC可能在接收到触发信号后需要一定的时间来准备好进行转换。如果这个准备时间过长,可能会导致实际的采样频率低于预期。特别是如果ADC转换速率没有正确设置,可能会导致转换跟不上触发的频率。

使用特权

评论回复
地板
范德萨发额| | 2024-8-16 16:21 | 只看该作者
根据你的应用需求调整DMA缓冲区的大小,可以更快地触发传输完成中断。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:人生苦短,冬日苦长,正是青葱,却无骄阳

115

主题

620

帖子

5

粉丝