打印
[STM32F4]

做ADC+DMA时遇到问题

[复制链接]
433|19
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
yszong|  楼主 | 2020-1-18 10:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式


     硬件平台为STM32F405.
     ADC时钟配置为21Mhz,软件选择采样时间周期为84个周期,那么Tconv = 84 + 12 = 96个周期,即96/21 = 4.571微秒。在软件中有配置了ADC_TwoSamplingDelay为9个周期时间。那是不是就是说我连续采样,采集一次需要花费 (96 + 9) / 21M = 5微秒的时间呢?

使用特权

评论回复
沙发
jiaxw| | 2020-1-18 10:32 | 只看该作者
还有什么现象?能再详细描述下吗?

使用特权

评论回复
板凳
yszong|  楼主 | 2020-1-18 10:36 | 只看该作者
     我想将这5微秒的时间固定,是否配置好DMA之后,DMA的搬移就不会占用时间呢?也就是说我ADC一直以5微秒/点来采集数据,DMA搬移并不会在5微秒之后占用时间。请问群里大大,我的理解正确么?

使用特权

评论回复
地板
zhaoxqi| | 2020-1-18 10:48 | 只看该作者
ADC 连续采样, 那么这个时间间隔就是固定的.

使用特权

评论回复
5
huangchui| | 2020-1-18 10:51 | 只看该作者

DMA 会消耗几个周期的 CPU 时钟 (由实际运行中的总线空闲状态所影响) 但这个时间不会影响 ADC 转换周期

使用特权

评论回复
6
yszong|  楼主 | 2020-1-18 10:54 | 只看该作者
那么AD采样的时间需要加上软件配置的9个周期的延时时间么?

使用特权

评论回复
7
yszong|  楼主 | 2020-1-18 10:58 | 只看该作者

也就是上面说的(84+12+9)/21M.

使用特权

评论回复
8
zhanghqi| | 2020-1-18 11:01 | 只看该作者

后面的问题:
DMA是单独硬件,与AD并行运行,
而且DMA肯定更快。

使用特权

评论回复
9
yszong|  楼主 | 2020-1-18 11:04 | 只看该作者
这样DMA与AD并行,我就明白了。谢谢大大~~~

使用特权

评论回复
10
yszong|  楼主 | 2020-1-18 11:10 | 只看该作者
看了下ADC的双重或三重模式,发现DELAY这个位只使用在ADC的双重或三重模式。单通道AD采集并不需要设置这个位。

使用特权

评论回复
11
jlyuan| | 2020-1-18 11:12 | 只看该作者
呵呵,解决了就好啊,很有效率的嘛

使用特权

评论回复
12
wyjie| | 2020-1-18 11:16 | 只看该作者
DMA 会消耗几个周期的 CPU 时钟

使用特权

评论回复
13
yszong|  楼主 | 2020-1-18 11:18 | 只看该作者
好的,我明天去单位试一下,多谢各位大侠了哈,结贴了先        

使用特权

评论回复
14
wangzsa| | 2020-1-18 11:21 | 只看该作者
DMA占用的时钟有多少

使用特权

评论回复
15
huanghuac| | 2020-1-18 11:25 | 只看该作者
DMA是单独硬件,直接内存访问,比较快

使用特权

评论回复
16
yszong|  楼主 | 2020-1-18 11:31 | 只看该作者

唉,还是没有什么结果,算了,多谢大家啦

使用特权

评论回复
17
zwll| | 2020-1-18 11:34 | 只看该作者
硬件上测得是高电平,但MCU为什么测得是低电平呢?

使用特权

评论回复
18
wowu| | 2020-2-5 11:07 | 只看该作者
不太会用dma啊

使用特权

评论回复
19
xiaoqizi| | 2020-2-5 11:10 | 只看该作者
被采样的信号的频率是多少啊

使用特权

评论回复
20
木木guainv| | 2020-2-5 11:14 | 只看该作者
如果没有别的代码干扰 应该可以这么算

使用特权

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

本版积分规则

830

主题

11379

帖子

4

粉丝