OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2669|回复: 6

关于DMA传输的具体细节问题,DMA传输的值是怎么存和使用的

[复制链接]

5

主题

15

帖子

0

精华

新手上路

积分
32
金钱
32
注册时间
2019-11-26
在线时间
7 小时
发表于 2020-3-9 20:38:47 | 显示全部楼层 |阅读模式
5金钱
1.假设DAC使用DMA传输,那么配置好了DMA传输的个数之后,启动DMA传输。传输的值送到DMA的输出寄存器中,可是现在传输的很多个值,每一次传输是不是把前一个覆盖?

2.假如此时使用定时器触发DAC,那么定时器的定时器更新触发的时间长度是不是要和DMA的传输速率相匹配,才能保证每一个传输的值都能被DAC转化?


最佳答案

查看完整内容[请看2#楼]

1,是的;2,保证传输触发时间,不小于DAC的最大输出时间即可。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165516
金钱
165516
注册时间
2010-12-1
在线时间
2116 小时
发表于 2020-3-9 20:38:48 | 显示全部楼层
1,是的;2,保证传输触发时间,不小于DAC的最大输出时间即可。
回复

使用道具 举报

5

主题

15

帖子

0

精华

新手上路

积分
32
金钱
32
注册时间
2019-11-26
在线时间
7 小时
 楼主| 发表于 2020-3-11 10:04:42 | 显示全部楼层
正点原子 发表于 2020-3-9 20:38
1,是的;2,保证传输触发时间,不小于DAC的最大输出时间即可。

可是怎么保证DMA的传输时间啊,DMA传输是一次性传输所有的和数据啊
回复

使用道具 举报

6

主题

211

帖子

0

精华

高级会员

Rank: 4

积分
833
金钱
833
注册时间
2019-12-17
在线时间
157 小时
发表于 2020-3-11 16:28:22 | 显示全部楼层
本帖最后由 y284858 于 2020-3-11 16:35 编辑
cufa爷来了 发表于 2020-3-11 10:04
可是怎么保证DMA的传输时间啊,DMA传输是一次性传输所有的和数据啊

通过挂载DAC的通信设备(IIC,SPI,UART等)波特率计算你要发出的数据最少需要多少时间发出。然后你定时器的触发间隔不能小于这个间隔。
回复

使用道具 举报

5

主题

15

帖子

0

精华

新手上路

积分
32
金钱
32
注册时间
2019-11-26
在线时间
7 小时
 楼主| 发表于 2020-3-12 14:22:01 | 显示全部楼层
y284858 发表于 2020-3-11 16:28
通过挂载DAC的通信设备(IIC,SPI,UART等)波特率计算你要发出的数据最少需要多少时间发出。然后你定时器 ...

我没懂,我说的是32内部的DAC,这个时候应该计算的是DMA传输每个数据的时间吧,但是每个数据的时间怎么计算呢
回复

使用道具 举报

6

主题

211

帖子

0

精华

高级会员

Rank: 4

积分
833
金钱
833
注册时间
2019-12-17
在线时间
157 小时
发表于 2020-3-12 14:32:26 | 显示全部楼层
爷来了 发表于 2020-3-12 14:22
我没懂,我说的是32内部的DAC,这个时候应该计算的是DMA传输每个数据的时间吧,但是每个数据的时间怎么计 ...

如果是内部的DAC你需要查手册看DAC写入寄存器到输出波形需要的最短时间和DMA的总线频率,通过这两个值算出你需要搬运的数据最短需要多久时间处理完成才能进行下一次的搬运。
回复

使用道具 举报

5

主题

15

帖子

0

精华

新手上路

积分
32
金钱
32
注册时间
2019-11-26
在线时间
7 小时
 楼主| 发表于 2020-3-14 07:55:22 | 显示全部楼层
懂了懂了,感谢
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-22 10:58

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表