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

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

3天内不再提示

瑞萨RA系列MCU中的DMAC模块框图分析

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

扫码添加小助手

加入工程师交流群

19.2

DMAC模块框图分析

fa97d574-c4fd-11f0-8c8f-92fbcf53809c.png

19.2.1

DMAC激活源

软件触发、来自外设模块的中断请求和外部中断请求都可以指定为DMAC激活源。DMAC激活源是在DMTMD寄存器DCTG[1:0]位进行设置。

19.2.1.1

通过软件激活DMAC

我们可以选择通过软件启动DMA进行传输,也就是不使用片上外设模块和外部中断的中断请求进行激活DMAC,而是手动地激活DMA进行传输。

19.2.1.2

通过来自片上外设模块或外部中断的中断请求激活DMAC

除了通过软件手动激活DMAC,还可以通过片上外设模块的中断请求或外部中断请求激活DMAC。

我们可以将片上外设模块的中断请求和外部中断请求设置为DMAC的激活源。可以通过ICU的DELSRn寄存器的DELS[8:0]位(n=0~7)为每个通道单独选择激活源。

19.2.2

中断优先级

当存在多个DMA传输请求时,DMAC确定具有DMA传输请求的通道的优先级。通道优先级固定如下:通道0>通道1>通道2>通道3…>通道7(通道0:优先级最高)

当在数据传输期间产生DMA传输请求时,在最终数据已传输之后开始通道仲裁,并且开始优先级较高的通道的DMA传输。

19.2.3

事件链接

每个DMAC通道在每次完成数据传输或块传输模式下的块传输时,都会输出一个事件链接请求信号 (DMACn_INT)。当传输目的地是外部总线时,在写入缓冲区操作被接受时会产生一个事件链接请求信号。有关详细信息,可以查看事件链接控制器 (ELC)章节。如果写入传输的最后数据时发生总线错误,则会发生传输结束事件和错误响应检测中断(DMA_TRANSERR)。

19.3

DMAC传输模式

DMAC有4种传输模式:

正常模式(Normal Mode):在正常模式下,DMAC通道每次接收到配置的激活源时都会传输单个数据单元。数据单元可以是1字节、2字节或4字节。在每次传输之后,源地址和目的地址可以是固定、递增、递减,或者向下一个数据单元添加偏移量。16位计数器在每次传输后递减。当计数器达到0时,传输将不再由激活源触发,并且可以发出所有传输已完成的信号以中断CPU

重复模式(Repeat Mode):重复模式的工作方式与正常模式相同,但长度限制为范围[1,1024]内的整数。当传输计数器达到0时,计数器被重置为其配置值,重复区域(源或目的地址)被重置到其起始地址,剩余的块计数将递减1。当块计数达到0时,传输将不再由激活源触发,并且可配置传输完成中断。

块模式(Block Mode):在块模式下,每个中断传输的数据单元量可以设置为范围[1,1024]内的整数。还可以将要传输的块数配置为16位数字。每次块传输后,重复区域(源或目的地址)将重置为原始地址,而另一个地址将递增或递减到下一个块。

重复-块模式(Repeat-Block Mode):在重复-块模式下,每个中断传输的数据单元量可以设置为范围[1,1024]内的整数。可以将要传输的块的数量配置为16位数字(最大可设置重复大小为 64K,即65536)。

如果目标地址模式为偏移模式,则数据传输大小为字节的块大小(长度)的最大可配置块数为 0xFFFF,数据传输大小为半字的块大小为 0x7FFF,数据大小为字的块大小为0x3FFF。在每个块传输之后,源地址和目的地址将递增或递减到下一个块地址。

对于源地址的偏移地址模式,源地址大小是源缓冲区的总大小,之后源区域被翻转,块大小可以小于源缓冲区大小。对于源地址模式作为偏移模式,最大可配置的源缓冲区大小为0xFFFF用于一个字节的传输数据大小,0x7FFF用于半字的传输数据大小和0x3FFF用于字的传输数据大小。

采用重复-块模式可以实现单环形缓冲区到多环形缓冲区的传输类型设计。

19.3.1

正常传输模式

在正常传输模式(Normal Transfer Mode)下,一个传输请求传输一个数据。使用DMCRAL寄存器可以将最大65535设置为传输操作数。当这些位设置为0x0000时,不设置特定数量的传输操作;在传输计数器停止的情况下执行数据传输(自由运行功能)。在正常传输模式下,设置DMCRB寄存器无效。除自由运行功能外,在完成指定数量的传输操作后,可以生成传输结束中断请求。

表1:正常传输模式下的寄存器更新操作

fb02e83c-c4fd-11f0-8c8f-92fbcf53809c.pngfb75a854-c4fd-11f0-8c8f-92fbcf53809c.png

19.3.2

重复传输模式

在重复传输模式(Repeat Transfer Mode)下,发起一次传输请求,传输一个数据。

通过设置DMCRA寄存器,最多可以将1K数据设置为总重复传输大小;通过设置DMCRB寄存器可以将最大64K设置为重复传输操作次数。

所以,我们可以将最大64M数据(1K数据×64K重复传输操作计数)设置为总数据传输大小。

可以将传输源地址或传输目的地址设置为重复区域。当指定重复大小数据的传输完成时,DMAC将会把重复区域的地址重新设置为传输开始地址,也就是一个循环的过程。

当完成指定的重复传输次数后,可以产生传输完成中断;当每完成一次循环的过程都可以产生一次中断。

通过将DMCNT寄存器的DTE位置1,可以恢复DMA传输。

在完成指定数量的重复传输操作后,可以生成传输结束中断请求。

fbdcdf38-c4fd-11f0-8c8f-92fbcf53809c.png

19.3.3

块传输模式

在块传输模式下(Block Transfer Mode),单个块数据通过一个传输请求传输。

使用DMCRA寄存器,最多可以将1K数据设置为总块传输大小。

使用DMCRB寄存器可以将最大64K设置为块传输操作数;因此,可以将最大64M数据(1K数据×64K 块传输操作计数)设置为总数据传输大小。

可以将传送源或传送目的地指定为块区域。当单个块数据的传输完成时,指定块区域(DMSAR或 DMDAR)的地址返回到传输开始地址。当单块数据在块传输模式下全部传输完毕时,可停止DMA传输,并可请求重复大小结束中断。通过将1写入重复大小结束中断处理中的DMCNT.DTE位,可以恢复DMA传输。

传输结束中断请求可以在完成指定数量的块传输操作后生成。

fc461db8-c4fd-11f0-8c8f-92fbcf53809c.png

19.3.4

重复-块传输模式

重复-块传输模式(Repeat-Block Transfer Mode),主要在块模式基础上增加了一些功能:

重复功能:添加功能(环形缓冲区)以重复指定的地址区域。

偏移功能:可以在一个块传输中指定具有偏移的多个区域。

重复功能和偏移功能可用于重复块传输的传输源和传输目的地。

在重复块传输模式下,单个块数据通过一个传输请求传输。

使用DMACn的DMCRA可以将最多1K数据设置为总的块传输大小。使用DMACn的DMCRB的块传输操作的数量可以设置为最大64K;因此,可以将最大64M数据(1K数据×64K块传输操作计数)设置为总数据传输大小。

下图是在重复-块传输模式下的示例

fcafcf9c-c4fd-11f0-8c8f-92fbcf53809c.png

下图是在重复-块传输模式下,带偏移增加的示例

fd198784-c4fd-11f0-8c8f-92fbcf53809c.png

fd81806e-c4fd-11f0-8c8f-92fbcf53809c.png

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

    关注

    31

    文章

    5619

    浏览量

    130409
  • 瑞萨
    +关注

    关注

    38

    文章

    22518

    浏览量

    91180
  • 中断
    +关注

    关注

    5

    文章

    920

    浏览量

    43870
  • 传输模式
    +关注

    关注

    0

    文章

    10

    浏览量

    7143

原文标题:DMAC模块框图分析——瑞萨RA系列FSP库开发实战指南(52)

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

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

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

    ADC在产品设计是非常常用的MCU外设模块,当在某些复杂的应用下需要非常快的采样速度时,使用DMA进行数据搬运,可以更便捷的来实现对数据的高效搬运,结合本例在FSP上轻松配置您的所需,同时也让我们了解一下
    的头像 发表于 11-29 12:14 3737次阅读
    <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 2927次阅读
    <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系列MCUDMAC和DTC模块简介

    DMAC(Direct Memory Access Controller)为直接存储器访问控制器或者直接内存访问控制器,可以在不占用CPU的情况下将数据从一个内存位置传输到另一个内存位置。
    的头像 发表于 11-21 10:13 4630次阅读
    <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>和DTC<b class='flag-5'>模块</b>简介

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

    电子株式会社今日宣布推出采用32位ARM®Cortex®-M核的RA(高端)系列MCU
    发表于 10-08 08:06 2579次阅读
    <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>解决智能物联网系统开发痛点

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

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

    关于RA系列MCU

    电子灵活配置软件包 (FSP) 是一款增强型软件包,旨在为使用电子 RA 产品家族 ARM 内核-微控制器的嵌入式系统设计提供简单易
    的头像 发表于 10-26 10:28 1971次阅读

    RA系列MCU选型指南

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

    RA2系列MCU IIC通信速率分析

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

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

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

    基于RA系列R7FA2E1A52DFJ MCU的无叶风扇控制方案

    基于RA系列R7FA2E1A52DFJ MCU的无叶风扇控制方案
    的头像 发表于 09-26 16:55 2188次阅读
    基于<b class='flag-5'>瑞</b><b class='flag-5'>萨</b><b class='flag-5'>RA</b><b class='flag-5'>系列</b>R7FA2E1A52DFJ <b class='flag-5'>MCU</b>的无叶风扇控制方案

    RA MCU串口通信空闲中断

    RA MCU串口通信空闲中断
    的头像 发表于 09-26 16:59 2089次阅读
    <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 2289次阅读
    <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 3546次阅读
    <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 3034次阅读
    <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>

    电子RA系列MCU 2025年新品回顾

    2025年RA系列推出10个新产品,覆盖了从入门级低功耗(RA0E2)、端低功耗(
    的头像 发表于 01-27 09:57 1686次阅读
    <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> 2025年新品回顾