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

概述
adc在产品设计中是非常常用的mcu外设模块,当在某些复杂的应用下需要非常快的采样速度时,使用dma进行数据搬运,可以更便捷的来实现对数据的高效搬运,结合本例在fsp上轻松配置您的所需,同时也让我们了解一下瑞萨ra6m4系列dmac和adc的详细介绍。
dmac简介
dmac (direct memory access controller)称为直接存储访问控制器/直接内存访问控制器, 可以在不占用 cpu 总线资源的情况下,将数据从一个内存位置传输到另一个内存位置。
1.1 dmac特性
ra6m4包括一个8通道直接内存访问控制器(dmac),无需cpu干预即可传输数据。当产生dma传输请求时,dmac将存储在传输源地址的数据传输到目标地址。
点击可查看大图
1.2 dmac框图
点击可查看大图
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框图
点击可查看大图
点击可查看大图
2.3 工作模式
驱动程序支持三种操作模式:单次扫描、连续扫描和组扫描模式。在每种模式下,模拟通道按通道号的升序进行转换,然后扫描温度传感器和电压传感器(如果它们包含在要扫描的通道模板中)。
单次扫描模式
在单次扫描模式下,每个触发器扫描一次一个或多个指定通道。
连续扫描模式
在连续扫描模式下,需要单个触发器才能启动扫描。扫描将继续,直到调用 r_adc_scanstop()。
组扫描模式
组扫描模式允许应用程序将通道分配给两个组(a和b)之一。当收到该组的指定elc启动触发器时,转换开始。
使用优先级配置参数,您可以选择将组a置于组b之上。如果组a优先于组b,则当发生组a扫描触发时,组b扫描将中断。当组a具有优先级时,组b存在以下选项:
在组a扫描完成后重新启动中断的组b扫描。
等待另一个组b触发器和放弃被中断的扫描。
持续扫描组b并仅在收到组a触发器时暂停扫描组b。


三星电子将在德州奥斯汀建立晶圆厂
热浪来袭,除了空调和WiFi,你还需要一台三星Neo QLED 8K电视
如何实现电梯控制器系统的设计
暴风AI电视7亮相 可以完全不通过遥控器实现与电视互动
基于DSP6713的音频信号的采集系统设计
瑞萨RA6M4系列DMAC和ADC的详细介绍(1)
新版Win10拒绝本地exe安装:必须使用官方商店
IPQ板典型维修实例
金龙项目BMS_SOX算法模块主要功能信息
有史以来最快的半导体“超原子”能将芯片速度提升千倍
关于从逆变器售后看光伏系统的系统安装类问题的介绍
常见的PCB封装类型有哪些
设计:小型超宽带共面波导(CPW)馈电的MEMS单极子柔性天线
唯一亏损的拟科创板上市企业,它何时才能够实现盈利?
洲光源产品在血氧仪上的应用
关于PID的一些理解与调节经验!
选用液晶拼接屏的注意事项
步入式高低温湿热环境舱:打造汽车整车环境试验的先锋利器
感烟探测器电路图大全(两款模拟电路设计原理图详解)
生活无趣,不如来diy一个电子玩具~