打印

DMA可以减轻CPU的压力,让 CPU 去 睡觉,欢迎围观

[复制链接]
1071|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
DMA外设和存储器(或存储器和存储器)直接通过总线进行数据交换而不经过CPU的技术。在MCU中,DMA是一项十分重要的技术,它可以降低CPU的处理压力,提高外设数据的处理效率。
通道:DMA的通道表示一组外设对存储器的请求,
数据对齐:源和目的数据源的地址要对齐,传输宽度对齐
仲裁器:协调优先权,多个外设访问同一个存储器时可通过软件设置优先级,优先级相同时由硬件决策
DMA的定义可以看出,这是一种利用总线的技术,降低CPU在数据读取和存储上面的压力,可以执行其他操作。当CPU初始化这个传输动作,传输动作本身是由DMA 控制器来实行和完成。
DMA主要特性
直接存储器访问 (DMA) 用于在外设与存储器之间以及存储器与存储器之间提供高速数据传 输。可以在无需任何 CPU 操作的情况下通过 DMA 快速移动数据。这样节省的 CPU 资源可 供其它操作使用。

使用特权

评论回复

相关帖子

沙发
STCMCUNT018|  楼主 | 2022-5-28 10:39 | 只看该作者
以下系列都有DMA功能:
STC32G12K128系列、STC8H8K64U系列、STC8H4K64TL系列、STC8H4K64TLCD系列

使用特权

评论回复
评论
STCMCUNT018 2022-5-28 10:53 回复TA
DMA传输过程不需要cpu参与,结束后通知cpu 
板凳
ayb_ice| | 2022-5-30 08:52 | 只看该作者
DMA也会占用总线带宽的,只是比用软件效率高很多而已

使用特权

评论回复
地板
STCMCUNT018|  楼主 | 2022-5-30 13:28 | 只看该作者
ayb_ice 发表于 2022-5-30 08:52
DMA也会占用总线带宽的,只是比用软件效率高很多而已

RMB5, 2路CAN, 3路LIN, 3路 SPI, 128k Flash的 STC32G12K128 很好的处理了这一点,CPU 使用 edata/4k, 不够用时才使用 xdata/8k, DMA 使用 xdata/8k, 基本分开并行处理了
3路 SPI=====2路 USART 有 2个完整的 SPI, 再加独立的 SPI

使用特权

评论回复
5
ayb_ice| | 2022-5-30 13:38 | 只看该作者
STCMCUNT018 发表于 2022-5-30 13:28
RMB5, 2路CAN, 3路LIN, 3路 SPI, 128k Flash的 STC32G12K128 很好的处理了这一点,CPU 使用 edata/4k, 不 ...

SFR不能按16位,32位访问是硬伤,希望尽快改进

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:江苏国芯科技 19952583534(微信同号) STC MCU现货优先来 仓中有米,芯不慌

27

主题

205

帖子

25

粉丝