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

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

3天内不再提示

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

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

2.4 触发源

●软件触发

●来自事件链接控制器(ELC)的同步触发器

●由外部触发引脚ADTRG0(单元0)和ADTRG1(单元1)异步触发

2.5 ADC转换时间

ADC时钟

ADC输入时钟ADCLK由PCLKC经过分频产生,最大值是四分频50MHz,PCLKA和PCLKC (ADCLK) 的分频比可以设置为 1:1, 2:1, 4:1, 8:1, 1:2, 1:4。

ADC转换时间

ADC允许的最大值频率值是50MHz,使用50 MHz的时候12-bit转换时间为0.4 μs。

2.6 数据寄存器

ADDRn寄存器是16位只读寄存器,用于存储AD转换结果。

以下条件决定了AD数据寄存器中的数据格式:

● AD数据寄存器格式选择位(ADCER.ADRFMT)的设置(左对齐或右对齐);

● AD转换精度 选择位(ADCER.ADPRC[1:0])中的设置(可选择12位、10位、8位。);

●加法平均计数选择位(ADADC.ADC[2:0])的设置(1、2、3、4或16次);

●设置平均模式启用位(ADADC.AVEE)(加法或平均)。

未选择AD转换值加法平均模式时:

表40.5显示了12位精度的位分配示例。

08bd3686-8e6d-11ee-939d-92fbcf53809c.png

点击可查看大图

选择AD转换值平均模式时:

当A/ D转换值加法指定2次或4次时,可选择A/D转换值平均模式。这样可以提高A/D转换的有效位。

选择AD转换值相加模式时:

对于12位、10位、8位精度,可以在A/D转换值相加模式中选择1、2、3或4次。在该转换精度下A/D转换结果以2bit扩展值存储在A/D数据寄存器中。对于12位精度,在A/D转换值相加模式中也可以选择16次。在AD转换值相加模式中,这些寄存器指示值,通过在特定通道上添加A/D转换值获得。A/D转换结果以4bit扩展值存储在A/D数据寄存器中。

2.7 电压转换

模拟电压经过ADC转换后,是一个12位的数字值,如果通过串口以16进制打印出来的话,可读性比较差,那么有时候我们就需要把数字电压转换成模拟电压,也可以跟实际的模拟电压(用万用表测)对比,看看转换是否准确。

设计原理图的时候会把ADC的输入电压范围设定在:0~3.3v,这时需要将采样的参考电压硬件VREFH0/VREFL0引脚分别接到VCC和VSS上,因为ADC是12位的,那么12位满量程对应的就是3.3V,12位满量程对应的数字值是:2^12。数值0对应的就是0V。如果转换后的数值为 X对应的模拟电压为Y,那么会有这么一个等式成立:2^12 / 3.3 = X / Y , Y = (3.3 * X ) / 2^12。这样便可以计算出对应采样的电压值了。

实现程序设计

3.1 硬件设计

如下图DEMO板上的ADC采样原理图P000端口连接在一个可调电位器

08d0c5e8-8e6d-11ee-939d-92fbcf53809c.png

3.2 软件设计

1

新建工程

08f0c0f0-8e6d-11ee-939d-92fbcf53809c.png09103386-8e6d-11ee-939d-92fbcf53809c.png

如上图,1选择板上对应MCU型号,2处选择工程类型:e2 studio / IAR / Keil,然后默认下一步直到完成。

2

FSP配置

第一步选择并配置时钟,请确认板子上的外部时钟,当板子上的外部时钟为8M时,进行选择并按要求分配好对应的时钟。

092999f2-8e6d-11ee-939d-92fbcf53809c.png

依次点击 “Stacks” -> “Pins”-> “Peripherals” ->“ADC0” 来配置通道AN000对应的引脚为P000。如下图所示:

094f3306-8e6d-11ee-939d-92fbcf53809c.png

然后依次点击 “Stacks” ->“New Stack” -> Analog ->ADC-DMAC Integration(r_adc)” 来配置ADC模块。如下图所示:

097b693a-8e6d-11ee-939d-92fbcf53809c.png

ADC的属性配置:

勾选“Input” -> “Channel Scan Mask” -> “Channel 0” 通道0,并设置中断函数名及优先级。“Interrupts” -> “Callback” & “Scan End interrupt Priority”

099886b4-8e6d-11ee-939d-92fbcf53809c.png

DMAC的属性设置:

设置中断函数名及优先级。

“Callback” & “Transfer End Interrupt Priority”

09d05daa-8e6d-11ee-939d-92fbcf53809c.png

3

程序实现

外设初始化:

●ADC初始化

09f7d416-8e6d-11ee-939d-92fbcf53809c.png

R_ADC_Open()为整个外设设置操作模式、触发源、中断优先级和配置。如果启用了中断,该函数将注册一个回调函数指针,以便在扫描完成时通知用户。

R_ADC_ScanCfg()配置ADC扫描参数,通道特定设置是在这个函数中设置的。

●DMA初始化

0a0a3610-8e6d-11ee-939d-92fbcf53809c.png

R_DMAC_Open()初始化DMAC函数。

R_DMAC_Enable()使能DMAC中断。

中断处理函数:

0a21b9fc-8e6d-11ee-939d-92fbcf53809c.png

设置传输目的地址到DMA0_ADC0数据输入寄存器,然后开始数据传输。

0a3b691a-8e6d-11ee-939d-92fbcf53809c.png

DMA传输完成,记录传输次数。

hal_entry入口函数:

0a5e4494-8e6d-11ee-939d-92fbcf53809c.png

点击可查看大图

达到设定次数ADC_count再求平均值,当然DEMO也可以通过定时器进行更为精准的控制采样的间隔。

总结

当然DEMO还有更多要优化的地方,这里只学习FSP配置基础的功能样例,若有陈述不严谨之处,欢迎大家指正。谢谢!

审核编辑:汤梓红

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

    关注

    31

    文章

    5336

    浏览量

    120230
  • adc
    adc
    +关注

    关注

    98

    文章

    6495

    浏览量

    544466
  • 瑞萨
    +关注

    关注

    35

    文章

    22308

    浏览量

    86240
  • 触发器
    +关注

    关注

    14

    文章

    2000

    浏览量

    61132

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

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

收藏 人收藏

    评论

    相关推荐

    RA6M4系列DMACADC详细介绍(1)

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

    电子推出9款全新RA6M4 MCU产品,基于高效的40nm制程工艺

    2020 年 10 月 9 日,日本东京讯 - 全球半导体解决方案供应商电子集团(TSE:6723)今日宣布推出9款全新RA6M4 MCU产品,以扩展其RA6
    发表于 10-09 14:40 2420次阅读

    电子推出9款全新RA6M4 MCU产品 RA产品家族的MCU增至42款

    电子物联网及基础设施事业本部高级副总裁Roger Wendelken表示:“我非常高兴地宣布RA6M4 MCU产品群扩充了RA产品线,兑现了我们在去年10月发布
    发表于 10-09 15:52 1804次阅读

    电子推出基于Arm Cortex-M33的RA6M4 MCU产品群

    ® Cortex®-M33内核并支持TrustZone®,运行性能提升至200 MHz。RA6M4 MCU通过易用的灵活配置软件包(FSP)提供了优化的性能以及领先的安全性和连接性。此外,
    的头像 发表于 10-19 18:55 2736次阅读

    电子Arm Cortex-M33的RA6M4 MCU产品特点介绍

    全球半导体解决方案供应商电子集团推出的 RA6M4 MCU 产品,以扩展其 RA6 系列微控制器(MCU),使
    的头像 发表于 01-11 17:15 1801次阅读

    RA6M4驱动5寸屏显示PC运行状态并进行监控源码

    RA6M4驱动5寸屏显示PC运行状态并进行监控源码。基于 CPK-RA6M4 开发板。
    发表于 09-26 14:53 0次下载

    RA6M4硬件用户手册(英)

    RA6M4硬件用户手册(英)
    发表于 11-07 19:49 0次下载
    <b class='flag-5'>RA6M4</b>硬件用户手册(英)

    RA6M4数据手册(中英)

    RA6M4数据手册(中英)
    发表于 11-07 19:49 1次下载
    <b class='flag-5'>RA6M4</b>数据手册(中英)

    【干货分享】从零学习使用RA6M4开发板

    干货分享 点击下方小程序卡片查看从零开始学习使用RA6M4开发板的演示视频。 更多内容欢迎扫描下方二维码查看: 1 END 1 往期推荐 1 RA产品家族初学者指南-第9章(1)
    的头像 发表于 11-25 12:30 1002次阅读

    RA6M4 组 数据表

    RA6M4 组 数据表
    发表于 01-09 19:02 0次下载
    <b class='flag-5'>RA6M4</b> 组 数据表

    RA6M4 组 User’s 手册: 硬件

    RA6M4 组 User’s 手册: 硬件
    发表于 01-09 19:02 2次下载
    <b class='flag-5'>RA6M4</b> 组 User’s 手册: 硬件

    使用SystemView工具分析RA6M4芯片上RT-Thread的运行情况

    RA6M4系列MCU简介 电子RA6M4微控
    的头像 发表于 05-15 14:20 1555次阅读
    使用SystemView工具分析<b class='flag-5'>瑞</b><b class='flag-5'>萨</b><b class='flag-5'>RA6M4</b>芯片上RT-Thread的运行情况

    RA6M4 组 数据表

    RA6M4 组 数据表
    发表于 06-30 18:42 0次下载
    <b class='flag-5'>RA6M4</b> 组 数据表

    RA6M4 组 User’s 手册: 硬件

    RA6M4 组 User’s 手册: 硬件
    发表于 06-30 18:42 2次下载
    <b class='flag-5'>RA6M4</b> 组 User’s 手册: 硬件

    使用SystemView工具分析RA6M4芯片上RT-Thread的运行情况

    使用SystemView工具分析RA6M4芯片上RT-Thread的运行情况
    的头像 发表于 12-11 17:23 589次阅读
    使用SystemView工具分析<b class='flag-5'>瑞</b><b class='flag-5'>萨</b><b class='flag-5'>RA6M4</b>芯片上RT-Thread的运行情况