maomao190190 发表于 2023-7-27 16:49:08

求助STM32H7 ADC连续转换实测速率只有计算值的1/2

请假一下,用STM32H7 ADC 做17通道单通道连续转换,时钟用的是PLL2速率是120MHz,异步时钟分频12倍,所以应该是10MHz,用1.5Cycles 采样时间+8.5Cycles (16bit)转换时间,计算出来应该转换速率是1Msps,用DMA 循环模式读取数据,分别在完成中断读取一半的数据,在半完成中断读取一半的数据,发现实际只有500Ksps的速度,比计算值小了一半,求教一下是哪里做错了,感谢

zzsczz 发表于 2023-7-28 02:37:14

中断执行的时候,DMA是卡住的

maomao190190 发表于 2023-7-28 10:19:14

zzsczz 发表于 2023-7-28 02:37
中断执行的时候,DMA是卡住的
(引用自2楼)

现在是速率正好差了一倍,应该不是这个问题,后来我把分频改为6了,也就是ADC的时钟是20MHz了,这样ADC正好可以实现1MSPS,所以应该是哪里有个默认的2分频在,不过没找到相关的说明

Himem 发表于 2023-7-28 11:33:54

本帖最后由 Himem 于 2023-7-28 11:37 编辑

是不是开了2x过采样
ADCx_CFGR2

yuyu87 发表于 2023-7-28 11:42:39

我的STM32H7采样率是对的,你是不是开了2个通道轮询采集?这样速度就慢一半了。

maomao190190 发表于 2023-7-28 17:58:03

yuyu87 发表于 2023-7-28 11:42
我的STM32H7采样率是对的,你是不是开了2个通道轮询采集?这样速度就慢一半了。 ...
(引用自5楼)

没有,是2个通道,但是分别用的ADC1和ADC2,所以应该没有影响

maomao190190 发表于 2023-7-28 18:07:00

Himem 发表于 2023-7-28 11:33
是不是开了2x过采样
ADCx_CFGR2
(引用自4楼)

没有开过采样

maomao190190 发表于 2023-7-28 18:07:58

感觉像整个系统的时钟都慢了一半,timer也慢了一半,但系统配置的时钟是400MHz,不知道哪里出了问题

zzsczz 发表于 2023-7-28 23:36:35

可以测量采集 开始 和 采集结束 的时刻,比如用2个gpio 的上升沿 分别代表 采集 开始 和结束时刻,然后用示波器 单次触发,测量 两个 上升沿 的 间隔; 同事数缓冲区数据的个数。

你是怎么发现采样率不够的(采样点数 和 采样时间 怎么记录的)?   单次采集数据格式是啥(这个要翻手册)?
页: [1]
查看完整版本: 求助STM32H7 ADC连续转换实测速率只有计算值的1/2