我正在学习 STM32 F4 微控制器。我正在尝试找出使用 DMA 的限制。
根据我的理解和研究,我知道如果数据量较小(即设备使用DMA生成或消耗少量数据),则开销会增加,因为DMA传输需要DMA控制器执行操作,从而不必要地增加系统成本。
我做了一些研究并发现了以下内容:
DMA 的限制
CPU 将其所有线路置于高阻抗状态,以便 DMA 控制器可以直接在设备和内存之间传输数据,而无需 CPU 干预。显然,它更适合磁盘等数据传输速率较高的设备。
通过串行接口,数据一次传输一位,这使得 DMA 的使用速度变慢。
那是对的吗?我还需要知道什么?
DMA -CPU 将其所有线路置于高阻状态
我不知道你从哪里得到它 - 但你不应该再使用这个来源。
除非达到总线吞吐量,否则 DMA 传输的频率并不重要。你可以每周、每月、每年、十年......传输一个字节,这绝对没问题。
在 STM32 微控制器中,这是一个非常重要的功能,因为即使 uC 处于低功耗模式并且核心 (CPU) 处于睡眠状态,我们也可以从外部设备传输数据或向外部设备传输数据。当满足某些条件时,DMA 控制器甚至可以唤醒内核。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)