硬汉嵌入式论坛

 找回密码
 立即注册
查看: 229|回复: 5
收起左侧

[FMC] 关于定时器输出PWM启动两片AD7606DMA传输

[复制链接]

9

主题

9

回帖

36

积分

新手上路

积分
36
发表于 2024-5-15 16:55:24 | 显示全部楼层 |阅读模式
请问一下:两片7606,分别用了两个片选信号,用的FMC,定时器8的通道1和通道2同时输出PWM来启动7606,想用DMA来传输两片的数据

配置了定时器8的更新事件来触发DMA,但是只有一个DMA,是不是还要在配置一个DMA,配置的是数据流0,一片的话可以正常传输数据,两片
就有问题,是不是因为只配置了一个DMA的原因
2:如果配置两个DMA,开启传输后,因为7606同步启动的,所以数据经过DMA需要有优先级管理还是可以同等优先级,先传输完第一片在传输第二片,串行代码顺序执行
QQ截图20240515165400.png
QQ截图20240515165423.png
QQ截图20240515165437.png
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107778
QQ
发表于 2024-5-16 09:03:05 | 显示全部楼层
两片7606的地址不一样,所以另一片也要单独配的,
回复

使用道具 举报

9

主题

9

回帖

36

积分

新手上路

积分
36
 楼主| 发表于 2024-5-16 17:20:16 | 显示全部楼层
eric2013 发表于 2024-5-16 09:03
两片7606的地址不一样,所以另一片也要单独配的,

两片单独驱动,两个定时器产生两个更新事件触发两路DMA突发传输,得到两个buffer的数据,要是把两个buffer合成一个要用MDMA吗
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107778
QQ
发表于 2024-5-17 08:57:25 | 显示全部楼层
海米阿门 发表于 2024-5-16 17:20
两片单独驱动,两个定时器产生两个更新事件触发两路DMA突发传输,得到两个buffer的数据,要是把两个buffe ...

不用合并,每个都有自己的缓冲区即可。
回复

使用道具 举报

9

主题

9

回帖

36

积分

新手上路

积分
36
 楼主| 发表于 2024-5-17 10:54:24 | 显示全部楼层
eric2013 发表于 2024-5-17 08:57
不用合并,每个都有自己的缓冲区即可。

用CDC_Transmit_FS这个函数发送缓冲区数据,只能发完一个缓冲区在发第二个缓冲区了?那第二个缓冲区在等待第一个缓冲区发送的时间,有可能第二个缓冲区的数据就更新被覆盖了,想着CDC_Transmit_HS一次把两个缓冲区都发送可行吗
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107778
QQ
发表于 2024-5-18 12:16:08 | 显示全部楼层
海米阿门 发表于 2024-5-17 10:54
用CDC_Transmit_FS这个函数发送缓冲区数据,只能发完一个缓冲区在发第二个缓冲区了?那第二个缓冲区在等 ...

可以,这样的话,两个缓冲后的数据也可能会断续。
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-6-13 20:43 , Processed in 0.285274 second(s), 30 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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