社区
驱动开发/核心开发
帖子详情
DMA 传输
夕阳孤影
2011-11-25 05:21:21
最近在看DMA时对DMA的一种传输方式不是很理解,希望高手解答。
1.当从内存到外设传输数据时,是如何进行的?需要在DMA控制器的内部进行数据缓存吗?
2.进行DMA传输时不是要设置源地址和目的地址吗?那如果是内存到外设,外设的地址该怎样设到DMA的控制器里,这又是一个怎样的地址呢?
3.从网上看到说,DMA可以通过UART或SPI传递数据,一直搞不明白这是什么意思。
期望高手的回答
...全文
87
7
打赏
收藏
DMA 传输
最近在看DMA时对DMA的一种传输方式不是很理解,希望高手解答。 1.当从内存到外设传输数据时,是如何进行的?需要在DMA控制器的内部进行数据缓存吗? 2.进行DMA传输时不是要设置源地址和目的地址吗?那如果是内存到外设,外设的地址该怎样设到DMA的控制器里,这又是一个怎样的地址呢? 3.从网上看到说,DMA可以通过UART或SPI传递数据,一直搞不明白这是什么意思。 期望高手的回答
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
vans88
2011-11-27
打赏
举报
回复
DMA对应的中文意思是直接内存访问,由硬件DMAC从CPU那里获得总线的控制权,实现外设和内存之间高速度大批量地进行数据传输。
外设和系统内存之间传输数据时可以使用UART和spi接口,它们分别对应着系统的串行数据和并行数据的传输!
夕阳孤影
2011-11-26
打赏
举报
回复
[Quote=引用 1 楼 leuzz 的回复:]
DMA相当于处理器的一个助手,只负责搬运数据,把源地址和目的地址告诉他就可以了,不需要在DMA里进行数据缓存,从内存到外设,比如你说的UART SPI,在arm处理器里本身就集成了uart和spi,有相对应的寄存器作为他们的数据缓存,这些寄存器的地址就是DMA的目的地址或源地址,DMA从内存源地址copy数据过来放到uart的UTX寄存器里,数据通过硬件自动发送出去
[/Quote]用到SPI或者UART的时候,确定是将它们对应的寄存器设为DMA的源地址或目的地址吗?
ezword
2011-11-26
打赏
举报
回复
使用方法和平常内存对内存是一样的,源地址,目的地址,大小。
ezword
2011-11-26
打赏
举报
回复
pcie 与DMA关系并不是多大,不过多数走PCIE的数据都通过DMA,当然也可以使用处理器进行数据传输。
每种PCIE都可能有最大的DMA单元。
leuzz
2011-11-26
打赏
举报
回复
百度了一下pcie,才大概弄懂它是什么,从没接触过,所以我也不知道
夕阳孤影
2011-11-25
打赏
举报
回复
[Quote=引用 1 楼 leuzz 的回复:]
DMA相当于处理器的一个助手,只负责搬运数据,把源地址和目的地址告诉他就可以了,不需要在DMA里进行数据缓存,从内存到外设,比如你说的UART SPI,在arm处理器里本身就集成了uart和spi,有相对应的寄存器作为他们的数据缓存,这些寄存器的地址就是DMA的目的地址或源地址,DMA从内存源地址copy数据过来放到uart的UTX寄存器里,数据通过硬件自动发送出去
[/Quote]那楼主知道pcie与DMA的关系吗?pcie要用DMA吗?如果用的话是怎么用的呢?谢谢
leuzz
2011-11-25
打赏
举报
回复
DMA相当于处理器的一个助手,只负责搬运数据,把源地址和目的地址告诉他就可以了,不需要在DMA里进行数据缓存,从内存到外设,比如你说的UART SPI,在arm处理器里本身就集成了uart和spi,有相对应的寄存器作为他们的数据缓存,这些寄存器的地址就是DMA的目的地址或源地址,DMA从内存源地址copy数据过来放到uart的UTX寄存器里,数据通过硬件自动发送出去
DMA
传输
过程的简述
DMA
传输
过程的简述
DMA
请求: CPU初始化
DMA
控制器,外设(10接口)发出
DMA
请求。
DMA
响应:
DMA
控制器判断
DMA
请求的优先级及屏蔽,向总线仲裁器提出总线请求。当CPU执行完当前总线周期时,可释放总线控制权。此时总线仲载器输出总线应答,表示
DMA
已经响应,
DMA
控制器从CPU接管对总线的控制,并通知外设(V0接口)开始
DMA
传输
。
DMA
传输
:
DMA
数据以规定的
传输
单位(通...
串口
DMA
传输
模式
DMA
传输
模式前言一、
DMA
简介(一)
DMA
系统框图(二)
DMA
传输
通道(三)
DMA
传输
模式1.外设与存储器之间2.存储器与存储器之间3.小结二、使用
DMA
配置1.打开USART1及
DMA
模式2.读入数据总结 前言
DMA
(Direct Memory Access)—直接存储器存取,是单片机的一个外设,它的主要功能是用来搬移数据,但是不需要占用 CPU,即在
传输
数据的时候, CPU 可以干其他的事情,好像是多线程一样。 一、
DMA
简介 (一)
DMA
系统框图 上方的框图,我们可以看到STM32内核.
STM32 F429
DMA
传输
2-ADC多通道采集
DMA
传输
STM32 F429
DMA
传输
2-ADC多通道采集
DMA
传输
前言配置 前言 这篇主要是和上一篇做对比学习,上一篇是储存器到串口
DMA
传输
,这篇是adc采集到存储器的
DMA
传输
,两个对比学习,方便理解。和上篇一样,我们在配置中学习参数以及函数原理。 配置 1)使能
DMA
、ADC 时钟。 2) 初始化
DMA
、ADC参数。 3)将DAM与ADC联系起来(这个上篇忘着重提了) 4)使能 ADC、
DMA
,启动
传输
。 以下是具有配置代码
DMA
相关配置 void my
DMA
_init(
DMA
_Stream_T
STM32
DMA
传输
原理与配置方法详解
在`main`函数中,我们启动了
DMA
传输
,并在`
DMA
1_Stream5_IRQHandler`中处理了
DMA
传输
完成的中断事件。通过
DMA
传输
,可以实现高速的、可靠的数据
传输
,适用于大容量数据的高效处理,例如音频数据
传输
、图像处理等领域。
DMA
传输
可用于高速的数据采集、
传输
、处理,例如音频数据
传输
、图像处理、传感器数据采集等。通过
DMA
传输
可以实现高效的外设数据收发,例如串口、SPI、I2C等外设数据的高速
传输
。在本文中,我们将详细介绍STM32
DMA
传输
的原理和配置方法,并提供相应的代码示例。
STM32的UART
DMA
传输
总结
使用
DMA
传输
可以连续获取或发送一段信息而不占用中断或延时,在通信频繁或有大段信息要
传输
时非常有用。 由上表可知,要使用USART1TX/RX我们选择通道4和5 1、
DMA
传输
方式: (1)
DMA
_Mode_Normal,当通道配置为非循环模式时,
传输
结束后(即
传输
计数变为0)将不再产生
DMA
操作。要开始新的
DMA
传输
,需要3个步骤:在关闭
DMA
通道的情况下,在
DMA
_CNDTRx寄
驱动开发/核心开发
21,600
社区成员
21,708
社区内容
发帖
与我相关
我的任务
驱动开发/核心开发
硬件/嵌入开发 驱动开发/核心开发
复制链接
扫一扫
分享
社区描述
硬件/嵌入开发 驱动开发/核心开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章