硬汉嵌入式论坛

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

V6 F429 使用 SPI+DMA 驱动 ads1256疑问?

[复制链接]

35

主题

116

回帖

221

积分

高级会员

程序小白

积分
221
QQ
发表于 2020-12-30 10:56:45 | 显示全部楼层 |阅读模式
小白 ,总感觉DMA很神秘

1、F429能否实现? 我看教程上说F4的,用SPI+DMA驱动这类 外置的DAC芯片 ADC芯片,没实用价值,该如何理解?
2、如果能实现, F4用 SPI+DMA方式 驱动这类 外置的DAC芯片 ADC芯片 ,大概的思路是怎么样的呢?

2、串口DMA方式 比起 串口中断+FIFO 并没有太大优势, 所以教程上  都是 串口中断+FIFO 方式。完全满足日常需要?


万分感谢!!


回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117530
QQ
发表于 2020-12-30 13:30:20 | 显示全部楼层
1、ADS1256的DMA方式控制还没有研究过。

教程里面说的是控制DAC8563,DAC8501这种DAC外设,这种外设使用H7控制很方便,因为H7有个DMAMUX可以方便的使用定时器触发DMA做传输控制,而F4没有,所以不方便。

2、同上。

3、串口中断+FIFO简单易用,经过长时间的项目验证,而DMA方式的话,也有案例,此贴:
基于V6的CMSIS-Driver串口应用,支持8串口DMA不定长收发,比CubeMX还要省事
https://forum.anfulai.cn/forum.p ... 3714&fromuid=58
(出处: 硬汉嵌入式论坛)
回复

使用道具 举报

35

主题

116

回帖

221

积分

高级会员

程序小白

积分
221
QQ
 楼主| 发表于 2020-12-30 14:15:03 | 显示全部楼层
eric2013 发表于 2020-12-30 13:30
1、ADS1256的DMA方式控制还没有研究过。

教程里面说的是控制DAC8563,DAC8501这种DAC外设,这种外设使用 ...

谢谢老大。第一点,学习了下手册,下面我的理解,不知道有没有问题?   

F4 要实现 spi + dma  驱动DAC8563 定时更新,由于没有DMAMUX , 所以必须要使用定时器中断实现, 这样导致 CPU还是要定时参与了,没发挥 DMA的优势,所以F4直接使用硬件SPI就行了;

而 H7由于有了DMAMUX ,这样DMA就支持了事件触发(硬件直接激发另外一个硬件),此时 spi + dma  驱动DAC8563 定时更新,CPU就不需要参与,发挥了DMA的特点;
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117530
QQ
发表于 2020-12-30 15:03:49 | 显示全部楼层
清风徐来 发表于 2020-12-30 14:15
谢谢老大。第一点,学习了下手册,下面我的理解,不知道有没有问题?   

F4 要实现 spi + dma  驱动DA ...

对,可以这么理解。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-8-12 21:20 , Processed in 0.038201 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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