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

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

3天内不再提示

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

瑞萨MCU小百科 来源:瑞萨MCU小百科 2023-11-29 12:14 次阅读

概述

ADC产品设计中是非常常用的MCU外设模块,当在某些复杂的应用下需要非常快的采样速度时,使用DMA进行数据搬运,可以更便捷的来实现对数据的高效搬运,结合本例在FSP上轻松配置您的所需,同时也让我们了解一下瑞萨RA6M4系列DMAC和ADC的详细介绍。

DMAC简介

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

1.1 DMAC特性

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

03ce3486-8e6d-11ee-939d-92fbcf53809c.png

点击可查看大图

1.2 DMAC框图

03ee2070-8e6d-11ee-939d-92fbcf53809c.png

点击可查看大图

1.3 DMAC激活源

● 软件触发

●外设模块的中断请求

●外部中断请求

DMAC激活源需在DMTMD寄存器DCTG[1:0] 位进行设置。

1.3.1 软件触发DMAC

可以通过软件启动DMA传输

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

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

1.3.3 DMAC中断优先级

程序执行中存在多个DMA传输请求时,DMAC来决定每个具有DMA传输请求的通道的优先级。通道优先级固定如下:

通道 0 > 通道 1 > 通道 2 > 通道 3… > 通道 7

其中通道 0: 优先级最高

如在数据传输期间产生DMA传输请求时,在数据已传输之后再进行通道仲裁,优先级较高的通道的DMA优先传输。

1.3.4 事件链接

每个DMAC通道在每次完成数据传输或块数据传输时,都会输出一个事件链接请求信号(DMACn_INT)。

当传输目的地是外部总线时:在写入缓冲区操作被接受时会产生一个事件链接请求信号。

如果写入传输的最后数据时发生总线错误,则会发生传输结束事件和错误响应检测中断(DMA_TRANSERR)。

1.4 DMAC传输模式

正常模式 (Normal Mode):

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

重复模式 (Repeat Mode):

重复模式的工作方式与普通模式相同,但长度限制为范围[1,1024] 内的整数。当传输计数器达到0时,计数器将重置为其配置的值,重复区域(源或目标地址)将重置为其起始地址,剩余的块计数将减少1。当块计数达到0时,ELC事件将不再触发传输,并且CPU可能会中断以指示所有传输已完成。

块模式 (Block Mode):

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

重复-块模式 (Repeat-Block Mode):

1个DMA传输请求的1个块数据传输,最大可设置块大小:1024,块传输可以重复,最大可设置重复大小:64K,可选择的自由运行功能。

支持三种位长:8、16、32位

如果是8位时块大小为0xFFFF

如果是16位时块大小为0x7FFF

如果是32位时块大小为0x3FFF

ADC简介

ADC即模拟数字转换器,ADC英文全称(Analog-to-digital converter),用于将模拟电压的连续信号转换为离散的数字信号。可以将我们生活中的温度、压力、声音这样的模拟信号通过ADC转化为可以通过单片机处理的数字信号,方便检测。

2.1 ADC特性

12、14或16位最大分辨率,具体取决于MCU

配置扫描包括:

多个模拟通道

温度传感器通道

电压传感器通道

可配置的扫描启动触发器:

软件扫描触发器

硬件扫描触发器(例如定时器溢出)

来自ADTRGn端口引脚的外部扫描触发器

可配置扫描模式:

单次扫描模式,其中每个触发器启动一次扫描

连续扫描模式,连续扫描所有通道

组扫描模式,其中通道分为组A和组B。可以为组分配不同的启动触发器,并且可以将组A优先于组B。当组A优先于组B时,组A触发器将挂起正在进行的组B扫描。

支持添加加法/平均转换后的样本

扫描完成时的可选回调

支持采样保持

双触发

带中断和事件输出的硬件比较器

2.2 ADC框图

0411b5bc-8e6d-11ee-939d-92fbcf53809c.png

点击可查看大图

0443762e-8e6d-11ee-939d-92fbcf53809c.png

点击可查看大图

2.3 工作模式

驱动程序支持三种操作模式:单次扫描、连续扫描和组扫描模式。在每种模式下,模拟通道按通道号的升序进行转换,然后扫描温度传感器和电压传感器(如果它们包含在要扫描的通道模板中)。

单次扫描模式

在单次扫描模式下,每个触发器扫描一次一个或多个指定通道。

连续扫描模式

在连续扫描模式下,需要单个触发器才能启动扫描。扫描将继续,直到调用 R_ADC_ScanStop()。

组扫描模式

组扫描模式允许应用程序将通道分配给两个组(A和B)之一。当收到该组的指定ELC启动触发器时,转换开始。

使用优先级配置参数,您可以选择将组A置于组B之上。如果组A优先于组B,则当发生组A扫描触发时,组B扫描将中断。当组A具有优先级时,组B存在以下选项:

在组A扫描完成后重新启动中断的组B扫描。

等待另一个组B触发器和放弃被中断的扫描。

持续扫描组B并仅在收到组A触发器时暂停扫描组B。

审核编辑:汤梓红

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

    关注

    2526

    文章

    48093

    浏览量

    740061
  • mcu
    mcu
    +关注

    关注

    146

    文章

    16016

    浏览量

    343620
  • adc
    adc
    +关注

    关注

    95

    文章

    5651

    浏览量

    539460
  • 瑞萨
    +关注

    关注

    32

    文章

    22214

    浏览量

    84915

原文标题:基于RA6M4开发板在FSP上配置DMAC传输ADC采样的方法(上)

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

收藏 人收藏

    评论

    相关推荐

    EK-RA6M5与RA6M4使用I2S通讯问题

    佬,我使用EK-RA6M5作为主机,另一个RA6M4作为从机。作为主机的可以正常通讯,但作为从机的板子无法接受到信息。从机的板子在仿真的时候状态是正常的,但就是无法触发接受中断。图片是从机的状态,有哪位大佬能够解答一下,不胜感激
    发表于 04-19 11:41

    基于RT-Thread Studio的CPK-RA6M4开发板环境搭建方案推荐

    1、基于RT-Thread Studio的CPK-RA6M4开发板环境搭建CPK-RA6M4 开发板特点基于
    发表于 07-14 17:45

    基于RT-Thread和RA6M4的网络天气时钟设计资料推荐

    时钟显示4、实时天气显示(包括天气,温度,湿度,风力等)整体框架硬件框架本设计以开发板RA6M4为主控,使用wifi模块esp8266作为client连接网络与服务器进行数据的收发
    发表于 08-17 14:56

    基于RT-thread与RA6M4的温度检测设备设计方案

    1、基于RT-thread与RA6M4的温度检测设备设计产品需求设计本次设计的主要产品主要要求如下几点:发热管中的温度大概在200-300摄氏度之间,需要设备可以检测的范围在150-330摄氏度
    发表于 08-19 14:59

    RA2E1ADC读取

    RA2E1ADC配置内部参考电压读取外部ADC值进行校准,采集不到内部参考电压的值。同时外部的值也时有时无,这是什么原因。在电路板上通过万用表可以测到
    发表于 11-07 21:07

    【精品聚合】RA-Eco-RA4M2-100PIN开发板试用报告作品汇总

    体验】1.外界SHT20传感器【RA4系列开发板体验】2.RA4M2串口打印数据试用者:秦天
    发表于 12-02 16:43

    RA4系列开发板体验】6. ADC测量摇杆模块偏移量

    之前发帖:【RA4系列开发板体验】1. 新建工程+按键控制LED【
    发表于 12-09 21:37

    RA4系列开发板体验】10. 我的试用总结

    KEIL下UART实现printf与scanf重定向【RA4系列开发板体验】4. PWM驱动LED【
    发表于 12-10 22:34

    RA4系列开发板体验】开发板硬件展示(多图)

    的硬件真容展示,从多角度无死角的对开发板进行展示吧。 再展示前,先对开发板的MUC家族进行介绍一下,RA(中文:)是 2019 年 10 月推出,包括:
    发表于 12-11 15:46

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

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

    基于RT-Thread+RA6M4的信号采集器设计方案推荐

    1、基于RT-Thread+RA6M4的信号采集器设计  背景:基于RA6M4的高主频MCU,可以设计一个简洁的信号采集模块。  期望实
    发表于 12-15 16:02

    RA6M4使用segger_rtt作为console接口的步骤

    一、前言在项目开发中我们最常使用的一种功能就是串口调试,但是由于传统的串口调试会占用到我们开发板的硬件资源,同时可能还需要jlink之类的串口外接工具,使用起来并不是很方便。最近在使用RA6M4
    发表于 02-10 16:35

    RA4M2设计挑战赛】1. RASC配置FreeRTOS

    RA4系列开发板体验】6. ADC测量摇杆模块偏移量【R
    发表于 02-11 19:17

    基于RA4M2的表盘设计

    RA4M2单片机系列功能强大领先性能的100 MHz Arm Cortex-M33内核,高达512 KB的代码闪存,可后台操作,8 KB数据闪存和128 KB带奇偶校验/ECC的SRAM。与USB
    发表于 03-22 19:31

    瑞萨RA6M4系列DMACADC详细介绍(2)

    ADC输入时钟ADCLK由PCLKC经过分频产生,最大值是四分频50MHz,PCLKA和PCLKC (ADCLK) 的分频比可以设置为 1:1, 2:1, 4:1, 8:1, 1:2, 1:4。
    的头像 发表于 11-29 12:14 561次阅读
    瑞萨<b class='flag-5'>RA6M4</b><b class='flag-5'>系列</b><b class='flag-5'>DMAC</b>和<b class='flag-5'>ADC</b>的<b class='flag-5'>详细</b><b class='flag-5'>介绍</b>(2)