直接内存访问(Direct Memory Access,DMA):在计算机体系结构中,DMA 是一种数据传输方式,允许外部设备直接访问计算机的内存,而无需通过中央处理单元(CPU)的干预。这有助于提高数据传输速度和系统效率。
那么,DMA究竟有多快呢?
实践出真知
恰好,最近有个多通道数据采集的项目,受限于通道数多、分辨率高,而系统带宽有限,为了尽可能充分利用有限带宽,就得想办法优化时序,把时间都留给数据采集和传输。
优化方向就是DMA。
硬件链路是ADC通过SPI接口将数据发送给STM32单片机,单片机再将数据发送到上位机。
咱们的目标就是优化SPI这边,先看普通采集模式。
下图是普通采集模式,SPI每传输1个字节后,就有一段时间的空闲,这段时间就白白浪费了。
再看下,开启DMA之后的效果。SPI可以连续工作,时钟速率稳定在20MHz,高效工作。
这就是DMA的强大之处!
问题来了,为什么上图中的波形,有这么大的震荡呢?
答案可以参考我的原创书籍《硬件设计指南》
如果看到这里,请点赞、收藏、分享三连!
限时免费扫码进群,交流更多行业技术
审核编辑 黄宇
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
相关推荐
DMA简介DMA控制器的作用不仅在增强系统性能并减少处理器的中断生成,而且还针对32位MCU应用程序专门优化设计。DMA控制器为存储器到存储器,存储器到外设和外设到存储器的传输提供了7个通道。每个
发表于 11-20 01:03
•230次阅读
DMA(Direct Memory Access)是一种允许某些硬件子系统直接访问系统内存的技术,而无需中央处理单元(CPU)的介入。这种技术可以显著提高数据传输速率,减轻CPU的负担,并提高整体
发表于 11-11 10:49
•4917次阅读
电子发烧友网站提供《使用TMS320C6000增强型DMA的应用.pdf》资料免费下载
发表于 10-23 09:48
•0次下载
电子发烧友网站提供《将DMA与C64x的框架组件结合使用.pdf》资料免费下载
发表于 10-16 10:29
•0次下载
电子发烧友网站提供《用于ADC的DMA乒乓.pdf》资料免费下载
发表于 09-07 11:27
•1次下载
直接存储器访问(DMA,DirectMemoryAccess)的优点·提高系统效率:通过绕过CPU,DMA显著减少了数据传输对CPU资源的占用,使得CPU能够专注于其他计算任务,提升了系统整体
发表于 07-18 08:18
•795次阅读
对于RL78系列的MCU,为了提高运行效率,减少CPU的占用,建议UART数据收发使用DMA功能。DMA(Direct Memory Access)是RL78 MCU内置的一个控制器,能在支持DMA外围硬件的SFR和内部RAM之
发表于 07-17 14:24
•633次阅读
电子发烧友网站提供《共模电感选型依据究竟有哪些.docx》资料免费下载
发表于 05-06 10:26
•1次下载
Streaming DMA在访问内存地址时经过cache,是non-coherence设备,通常采用streaming mapping的API进行内存申请,在单次DMA传输时进行map,在传输完成后进行unmap;
发表于 04-07 14:38
•881次阅读
直接存储器访问 ( DMA )控制器,可以在内存和/或外设之间传输数据,而不需要 CPU 参与每次传输。合理利用 DMA 控制器,可以减轻CPU的负担。
发表于 03-28 09:41
•709次阅读
基于PCI Express Integrated Block,Multi-Channel PCIe QDMA Subsystem实现了使用DMA地址队列的独立多通道、高性能Continous或
发表于 02-22 11:11
•1442次阅读
DMA简介DMA控制器的作用不仅在增强系统性能并减少处理器的中断生成,而且还针对32位MCU应用程序专门优化设计。DMA控制器为存储器到存储器,存储器到外设和外设到存储器的传输提供了7个通道。每个
发表于 02-22 08:13
•703次阅读
有人使用STM32U575芯片的DAC功能。他希望使用TIMER事件触发DMA,并通过DMA传输内存数据到DAC输出寄存器,进而产生相应的DAC输出波形。可他不知如何配置DMA并实现期望的DAC输出,在ST公司提供的HAL库里也
发表于 01-24 09:10
•1805次阅读
DMA(Direct Memory Access)和串口直接发送是两种不同的数据传输方式,它们在实现上有着明显的区别和优劣势。本文将详细介绍DMA和串口直接发送的原理、优缺点以及适用场景。 首先
发表于 01-07 17:43
•2884次阅读
DMA(Direct Memory Access)和通道技术是计算机系统中用来优化数据传输和处理的重要技术。尽管它们都与数据传输相关,但它们在实现方法、特点和应用场景等方面存在一些重要的区别
发表于 01-04 14:31
•2580次阅读
评论