[STM32F4] 做ADC+DMA时遇到问题

[复制链接]
1383|22
 楼主| yszong 发表于 2022-2-1 23:49 | 显示全部楼层 |阅读模式
硬件平台为STM32F405.
     ADC时钟配置为21Mhz,软件选择采样时间周期为84个周期,那么Tconv = 84 + 12 = 96个周期,即96/21 = 4.571微秒。在软件中有配置了ADC_TwoSamplingDelay为9个周期时间。那是不是就是说我连续采样,采集一次需要花费 (96 + 9) / 21M = 5微秒的时间呢?
 楼主| yszong 发表于 2022-2-1 23:51 | 显示全部楼层
还有什么现象?能再详细描述下吗?
 楼主| yszong 发表于 2022-2-1 23:53 | 显示全部楼层
     我想将这5微秒的时间固定,是否配置好DMA之后,DMA的搬移就不会占用时间呢?也就是说我ADC一直以5微秒/点来采集数据,DMA搬移并不会在5微秒之后占用时间。请问群里大大,我的理解正确么?
juventus9554 发表于 2022-2-1 23:54 | 显示全部楼层
ADC 连续采样, 那么这个时间间隔就是固定的.
renyaq 发表于 2022-2-1 23:57 | 显示全部楼层
DMA 会消耗几个周期的 CPU 时钟 (由实际运行中的总线空闲状态所影响) 但这个时间不会影响 ADC 转换周期
 楼主| yszong 发表于 2022-2-2 09:00 | 显示全部楼层
那么AD采样的时间需要加上软件配置的9个周期的延时时间么?
 楼主| yszong 发表于 2022-2-2 09:03 | 显示全部楼层
也就是上面说的(84+12+9)/21M.
xxrs 发表于 2022-2-2 09:07 | 显示全部楼层

后面的问题:
DMA是单独硬件,与AD并行运行,
而且DMA肯定更快。
 楼主| yszong 发表于 2022-2-2 09:10 | 显示全部楼层

这样DMA与AD并行,我就明白了。谢谢大大~~~
 楼主| yszong 发表于 2022-2-2 09:12 | 显示全部楼层

看了下ADC的双重或三重模式,发现DELAY这个位只使用在ADC的双重或三重模式。单通道AD采集并不需要设置这个位。
jlyuan 发表于 2022-2-2 09:14 | 显示全部楼层
呵呵,解决了就好啊,很有效率的嘛
dingy 发表于 2022-2-2 09:16 | 显示全部楼层
DMA 会消耗几个周期的 CPU 时钟
jiajs 发表于 2022-2-2 09:17 | 显示全部楼层
DMA占用的时钟有多少
juventus9554 发表于 2022-2-2 09:20 | 显示全部楼层
DMA是单独硬件,直接内存访问,比较快
xxrs 发表于 2022-2-2 09:52 | 显示全部楼层
不太会用dma啊
wyjie 发表于 2022-2-2 09:54 | 显示全部楼层
被采样的信号的频率是多少啊
dingy 发表于 2022-2-2 09:56 | 显示全部楼层
如果没有别的代码干扰 应该可以这么算
 楼主| yszong 发表于 2022-2-2 09:58 | 显示全部楼层
唉,还是没有什么结果,算了,多谢大家啦
tfqi 发表于 2022-3-1 15:50 | 显示全部楼层
这个时间不正常吗
gwsan 发表于 2022-3-1 15:57 | 显示全部楼层
DMA是单独硬件吗
您需要登录后才可以回帖 登录 | 注册

本版积分规则

830

主题

11379

帖子

4

粉丝
快速回复 在线客服 返回列表 返回顶部