0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

瑞萨RA系列MCU中的DMAC和DTC模块简介

瑞萨嵌入式小百科 来源:瑞萨嵌入式小百科 2025-11-21 10:13 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

第19章

DMAC/DTC——直接存储器访问与数据传输

19.1

DMAC和DTC模块简介

DMAC(Direct Memory Access Controller)为直接存储器访问控制器或者直接内存访问控制器,可以在不占用CPU的情况下将数据从一个内存位置传输到另一个内存位置。

DTC(Data Transfer Controller)为数据传输控制器,用于在被中断请求激活时传输数据。DTC也可以在不占用CPU的情况下将数据传输,它的功能与DMAC的功能其实是相似的。

DMAC和DTC它们的主要功能都是用来搬数据,但是却不需要占用CPU,即在传输数据的时候,不需要CPU去读取数据,在此期间CPU完全可以干其他的事情,类似于多线程一样。数据传输支持从外设到存储器或者存储器到存储器,这里的存储器可以是SRAM或者FLASH。实际上,我们前面有讲过,外设寄存器也是一种存储器。

DMAC和DTC实际上还是会有区别的,正因为有所区别,在不同的情况下需要考虑是使用DMAC还是DTC更加合适。下面就让我们来了解一下DMAC和DTC这两个模块的一些特性。

19.1.1

DMAC特性

RA6M5包括一个8通道的直接内存访问控制器(DMAC),可以在不需要CPU干预的情况下传输数据。当产生DMA传输请求时,DMAC将存储在传输源地址的数据传输到传输目标地址。

DMAC外设模块特性如下:

1通道数:8个通道(Channel 0通道的优先级最高)

2传输可寻址空间:4GB(0x00000000~0xFFFFFFFF,不包含保留区域)

3最大传输量:64M数据(块传输模式下的最大传输数:1024×65536个块)

4DMAC激活源(每个通道单独可选):

软件触发

来自外设模块或者外部中断输入引脚的中断请求

5传输数据:

单个数据单元:1字节(8 bits),2字节(16 bits),4字节(32 bits)

单个块的大小(Block size):1~1024个数据单元

6传输模式:

正常传输模式(Normal Transfer Mode)

触发一次DMA传输请求时传输1个数据单元

可选的自由运行功能(Free-running function)

重复传输模式(Repeat Transfer Mode)

触发一次DMA传输请求时传输1个数据单元

当指定重复大小的数据传输完成后,程序重置传输起始地址从而实现重复传输。

最大可设置重复大小:1024个数据单元(同块大小)

可选的自由运行功能(Free-running function)

块传输模式(Block Transfer Mode)

触发一次DMA传输请求时传输1个块数据

最大可设置块大小:1024个数据单元

可选的自由运行功能(Free-running function)

重复-块传输模式(Repeat-block Transfer Mode)

触发一次DMA传输请求时传输1个块数据

最大可设置块大小:1024个数据单元

块传输可以重复

最大可设置重复大小:65536个块

可选的自由运行功能(Free-running function)

7扩展重复区域功能(可选功能):

可以通过重复指定范围内的地址值来传输数据的功能,其中传输地址寄存器中的高位值是固定的

2字节至128M字节的区域可单独设置为传输源和目标的扩展重复区域

8中断(中断频率):

全部传输完成后中断(传输结束中断):

传输计数器指定的传输数据量完成时产生

每次传输完成都产生中断(传输转义结束中断):

当重复大小的数据传输完成时产生

当源地址扩展重复区域溢出时产生

当目标地址扩展重复区域溢出时产生

错误响应检测中断:

DMAC传输发生错误时产生

9事件链接激活:

每次数据传输后都会生成一个事件链接请求(对于块传输,在每个块传输后)

19.1.2

DTC特性

数据传输控制器(DTC)模块用于在被中断请求激活时传输数据。

DTC外设模块特性如下:

1传输模式:

正常传输模式(Normal Transfer Mode)

单次激活时触发单个数据单元的传输

重复传输模式(Repeat Transfer Mode)

单次激活时触发单个数据单元的传输

数据传输次数达到指定的重复大小后,传输地址重置回起始地址

最大重复传输次数为256,最大数据传输大小为256×32位(1024字节)

块传输模式(Block Transfer Mode)

单次激活时触发单个块的传输

最大的块大小为256×32位(1024字节)

2传输通道:

传输通道与中断源相关联(通过来自ICU的DTC激活请求传输)

可以在单个激活源上传输多个数据单元(链式传输)

链传输可以选择在计数器为0时执行,也可以选择始终执行

3传输可寻址空间:

4GB(0x00000000~0xFFFFFFFF,不包含保留区域)

4传输数据:

单个数据单元:1字节(8 bits),1 半字(16 bits),1字(32 bits)

单个块的大小(Block size):1~256个数据单元

5CPU中断源:

可以在触发DTC激活的中断向CPU生成中断请求

可以在单次数据传输之后向CPU生成中断请求

可以在指定量的数据传输之后向CPU生成中断请求

6错误响应检测中断:

发生DTC传输错误时生成

7事件链接激活:

每次数据传输后都会生成一个事件链接请求(对于块传输,在每个块传输后)

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 控制器
    +关注

    关注

    114

    文章

    17638

    浏览量

    190164
  • 存储器
    +关注

    关注

    39

    文章

    7714

    浏览量

    170797
  • 数据传输
    +关注

    关注

    9

    文章

    2075

    浏览量

    67162

原文标题:DMAC/DTC:直接存储器访问与数据传输——瑞萨RA系列FSP库开发实战指南(51)

文章出处:【微信号:瑞萨嵌入式小百科,微信公众号:瑞萨嵌入式小百科】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    RA系列MCUDMAC模块框图分析

    软件触发、来自外设模块的中断请求和外部中断请求都可以指定为DMAC激活源。DMAC激活源是在DMTMD寄存器的DCTG[1:0]位进行设置。
    的头像 发表于 11-21 10:19 4032次阅读
    <b class='flag-5'>瑞</b><b class='flag-5'>萨</b><b class='flag-5'>RA</b><b class='flag-5'>系列</b><b class='flag-5'>MCU</b><b class='flag-5'>中</b>的<b class='flag-5'>DMAC</b><b class='flag-5'>模块</b>框图分析

    RA系列MCUDTC模块框图分析

    MRA、MRB、SAR、DAR、CRA和CRB这些都是属于DTC内部的寄存器,它们是无法通过CPU直接访问的。这些DTC内部寄存器设置的值作为传输信息放置在SRAM区域中。当生成激活请求时,
    的头像 发表于 11-28 15:50 4083次阅读
    <b class='flag-5'>瑞</b><b class='flag-5'>萨</b><b class='flag-5'>RA</b><b class='flag-5'>系列</b><b class='flag-5'>MCU</b><b class='flag-5'>中</b>的<b class='flag-5'>DTC</b><b class='flag-5'>模块</b>框图分析

    RA6M4系列DMAC和ADC的详细介绍(1)

    ADC在产品设计是非常常用的MCU外设模块,当在某些复杂的应用下需要非常快的采样速度时,使用DMA进行数据搬运,可以更便捷的来实现对数据的高效搬运,结合本例在FSP上轻松配置您的所需,同时也让我们了解一下
    的头像 发表于 11-29 12:14 3225次阅读
    <b class='flag-5'>瑞</b><b class='flag-5'>萨</b><b class='flag-5'>RA</b>6M4<b class='flag-5'>系列</b><b class='flag-5'>DMAC</b>和ADC的详细介绍(1)

    RA8系列高性能MCU开发上手体验

    大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家介绍的是RA8系列高性能MCU开发上手体验。
    的头像 发表于 08-08 15:21 2474次阅读
    <b class='flag-5'>瑞</b><b class='flag-5'>萨</b><b class='flag-5'>RA</b>8<b class='flag-5'>系列</b>高性能<b class='flag-5'>MCU</b>开发上手体验

    电子RA系列MCU解决智能物联网系统开发痛点

    电子株式会社今日宣布推出采用32位ARM®Cortex®-M核的RA(高端)系列MCU
    发表于 10-08 08:06 2446次阅读
    <b class='flag-5'>瑞</b><b class='flag-5'>萨</b>电子<b class='flag-5'>RA</b><b class='flag-5'>系列</b><b class='flag-5'>MCU</b>解决智能物联网系统开发痛点

    RA系列MCUDMACDTC关键特性对比

    FSP库里边的传输API可以由DMAC或者DTC实现,因此理论上来说我们可以在DMACDTC之间切换使用。但是DMAC
    的头像 发表于 12-02 13:56 5577次阅读
    <b class='flag-5'>瑞</b><b class='flag-5'>萨</b><b class='flag-5'>RA</b><b class='flag-5'>系列</b><b class='flag-5'>MCU</b><b class='flag-5'>中</b>的<b class='flag-5'>DMAC</b>和<b class='flag-5'>DTC</b>关键特性对比

    关于DTC问题,求解释

    DTC的触发源(activation request )怎么理解,在Block模式下,是来一个触发信号,然后开始传输一系列的数据吗?还是只传出一个数据(假如设置为16位数据类型
    发表于 07-30 22:25

    【野火启明6M5开发板体验】野火启明开发板和RA MCU介绍

    首先感谢电子发烧友和野火,已经收到野火启明6M5开发板。野火启明6M5开发板包装野火启明6M5开发板开发板简介:野火启明6M5开发板是野火科技基于RA
    发表于 12-14 22:31

    RA系列MCU选型指南

    RA系列MCU产品基于Arm Cortex-M内核,与自有内核RL78和RX系列一起,成为
    发表于 11-08 13:51 3067次阅读

    RA2系列MCU IIC通信速率分析

    一、RA系列MCU简介 RA(Renesas Advanced)系列
    的头像 发表于 11-11 12:15 4105次阅读

    线下培训 | 电子RA MCU应用开发培训课程报名开启![野火电子]

    TRAINING RA应用开发培训课程来了! 电子RA系列MCU产品基于Arm  Corte
    的头像 发表于 03-21 10:30 1869次阅读

    RA MCU串口通信空闲中断

    RA MCU串口通信空闲中断
    的头像 发表于 09-26 16:59 1738次阅读
    <b class='flag-5'>瑞</b><b class='flag-5'>萨</b><b class='flag-5'>RA</b> <b class='flag-5'>MCU</b>串口通信空闲中断

    MCU在新能源的应用

    接下来我们介绍在新能源应用重点主推的3个MCU型号,首先是RA6T2。顾名思义,来自ARM内核的R
    的头像 发表于 12-15 12:25 1897次阅读
    <b class='flag-5'>瑞</b><b class='flag-5'>萨</b><b class='flag-5'>MCU</b>在新能源<b class='flag-5'>中</b>的应用

    电子RA家族推出RA8系列高算力通用MCU

    电子RA家族推出RA8系列高算力通用MCU,是业界首款基于Arm® Cortex®-M85(
    的头像 发表于 04-02 14:14 2933次阅读
    <b class='flag-5'>瑞</b><b class='flag-5'>萨</b>电子<b class='flag-5'>RA</b>家族推出<b class='flag-5'>RA</b>8<b class='flag-5'>系列</b>高算力通用<b class='flag-5'>MCU</b>

    RA MCU家族推出集成Arm® Cortex®-M23内核的全新RA0系列

    RA MCU家族推出全新的RA0系列RA0E1
    的头像 发表于 04-10 14:32 2374次阅读
    <b class='flag-5'>瑞</b><b class='flag-5'>萨</b><b class='flag-5'>RA</b> <b class='flag-5'>MCU</b>家族推出集成Arm® Cortex®-M23内核的全新<b class='flag-5'>RA</b>0<b class='flag-5'>系列</b>