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

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

3天内不再提示

SWM181 ADC通过DMA传输数据的介绍

0xQC_gh_ed4f95b 来源:华芯微特32位MCU 2023-03-03 14:39 次阅读

关于ADC

01功能讲解

SWM181-SARADC简介以及使用

SARADC的分辨率是12-bits,最多8路输入通道,最高1MSPS转换速率,支持单次模式和连续模式,具备深度为8的 FIFO,支持软件、PWM、TIMER启动,且每个通道都有自己独立的转换结果数据寄存器和转换完成、数据溢出状态寄存器,支持DMA传输。

使用TIMER 触发:将SAR ADC 配置寄存器(CTRL)中TRIG(BIT[15:14])设置为2(TIMER2 触发)或3(TIMER3 触发)。TIMER可作为定时器或计数器(支持级联)使用。当对应TIMER 计数值减置0时,将触发ADC 配置寄存器(CTRL)中选中的通道(CHx)进行采样。可以通过ADC采样完成中断进行结果获取。TIMER 触发仅支持单次模式,每次触发选中通道采样一次(支持求平均)。

SWM181-DMA简介以及使用

SWM181的DMA支持FLASH 与 SRAM 间数据搬运,SAR ADC 采集数据至SRAM数据搬运,SIGMA-DELTA 采集数据至SRAM数据搬运,CAN接收数据至SRAM搬运。我们此例程主要是使用SARADC的数据搬运。

DMA控制器有5个通道, 每个通道专门用来管理来自于一个特定外设对存储器(SRAM)访问的请求,我们需要用到通道2将ADC0(SAR-ADC)的转换数据搬入到存储器(SRAM)。如果DMA初始化时如果配置了中断使能寄存器IE,当所配置通道传输完指定数据长度时会产生中断, 此时中断状态寄存器IF对应位自动置1,对该位写1则清除中断,我们可通过读此寄存器来判断是否产生了中断。

353df14c-b98d-11ed-bfe3-dac502259ad0.png

SAR ADC 中 FFDATA 内数据写

02程序编写

ADC初始化

35743482-b98d-11ed-bfe3-dac502259ad0.png

DMA初始化

358f4aba-b98d-11ed-bfe3-dac502259ad0.png

Timer初始化

35a663e4-b98d-11ed-bfe3-dac502259ad0.png

运行

35bb510a-b98d-11ed-bfe3-dac502259ad0.png

观察现象

35cb7b02-b98d-11ed-bfe3-dac502259ad0.png

03实验现象

现象

35dce9be-b98d-11ed-bfe3-dac502259ad0.png

35ffa83c-b98d-11ed-bfe3-dac502259ad0.png

结论

不同电压下,ADC数据直接通过串口打印出来,且数值正确。

审核编辑:汤梓红

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

    关注

    112

    文章

    15132

    浏览量

    170836
  • SAR
    SAR
    +关注

    关注

    3

    文章

    357

    浏览量

    45583
  • adc
    adc
    +关注

    关注

    95

    文章

    5642

    浏览量

    539245
  • 定时器
    +关注

    关注

    23

    文章

    3142

    浏览量

    111986
  • dma
    dma
    +关注

    关注

    3

    文章

    535

    浏览量

    98957

原文标题:SWM181 ADC通过DMA传输数据的介绍

文章出处:【微信号:gh_ed4f95bde4df,微信公众号:华芯微特32位MCU】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    STM32学习之使用DMA传输ADC数据到串口

    :使用DMA传输ADC与USART之间的数据,外设与外设之间不能之间通信,可以讲ADC数据
    发表于 07-02 05:18

    DMA传输ADC转换结果数据不正确

    我用的单片机是STM32F103VC,扫描ADC1的8个通道,用DMA1传输转换结果。DMA接收后的数据与实际
    发表于 08-24 15:21

    28335 ADCDMA传输如何实现?

    ADC在连续采集模式下,通过DMA传输数据,假设SEQ1一次采集4个通道,循环采集10次,在这种情况下,是否只需要1次SEQ1INT触发
    发表于 05-12 08:14

    SWM181-从零开发华芯微特MCU

    。对SWM181CBT6-LQFP48进行简单的性能介绍。(1)内置16KB SRAM 120KB Flash(2)32 位 ARM® Cortex™-M0 内核,可运行在48MHz(3)SPI x ...
    发表于 07-01 07:08

    STM32的ADC外设通过DMA通道来传输数据

    笔者之前用STM32的ADC外设通过DMA通道来传输数据,通常有两种方法,一个是直接通过
    发表于 08-19 09:18

    SWM181内部的定时器情况

    一个单片机控制系统开发应该需要有一个时间基准,我们现在看看定时器怎么使用。通过手册可以看出,SWM181内部的定时器情况应该如下:①1个24位系统滴答定时器②4个通用32位定时器③一个32位计数器--------------------------------------
    发表于 01-07 06:37

    CH32FV2x的ADC2为什么不能单独通过DMA传输数据

    刚刚看了《CH32FV2x_V3xRM.pdf》,发现ADC2不能单独通过DMA传输数据,还是像STM32F103里一样,只有
    发表于 05-25 07:45

    SWM181系列MCU数据手册

    SWM181 系列 32 位 MCU(以下简称 SWM181)内嵌 ARM® CortexTM-M0 内核,凭借其出色的性能以及高可靠性、低功耗、代码密度大等突出特点,可应用于工业控制、电机控制
    发表于 09-14 08:24

    SWM181定制UserBoot执行流程

    地址0x18020处内容: 若内容不是0x0B11FFAC,则执行ISP代码,可通过串口烧录APP。 若内容是0x0B11FFAC,则跳转到UserBoot。 03 工程设置 UserBoot 和 APP startup_SWM181.s中需要如
    的头像 发表于 11-17 16:23 2561次阅读
    <b class='flag-5'>SWM181</b>定制UserBoot执行流程

    STM32F10XXX使用DMA传输ADC转换的数据

    STM32F10XXX使用DMA传输ADC转换的数据教程说明。
    发表于 04-24 10:12 6次下载

    APM32F030C8T6_ADC_ADC连续转换后DMA传输一次

    APM32F030C8T6_ADC_ADC连续转换后DMA传输一次
    发表于 11-09 21:03 6次下载
    APM32F030C8T6_<b class='flag-5'>ADC_ADC</b>连续转换后<b class='flag-5'>DMA</b>只<b class='flag-5'>传输</b>一次

    STM32的DMA数据传输实例

    本文将介绍如何通过DMAADC采集的数据直接存储到存储器中。
    的头像 发表于 04-25 09:50 751次阅读
    STM32的<b class='flag-5'>DMA</b><b class='flag-5'>数据传输</b>实例

    MCU生态联盟首发,合宙通信&amp;amp;华芯微特共推超值SWM181开发板

    开发者一致好评。合宙LuatOS生态联盟全新启动——工程师需要,合宙造!合宙通信&华芯微特,联合首发SWM181超值MCU开发板。硬核出击,未来可期!合宙将联合更多
    的头像 发表于 08-10 09:22 1762次阅读
    MCU生态联盟首发,合宙通信&amp;amp;华芯微特共推超值<b class='flag-5'>SWM181</b>开发板

    SWM341 DMA2D模块介绍

    SWM341 DMA2D模块介绍
    的头像 发表于 11-06 17:11 391次阅读
    <b class='flag-5'>SWM</b>341 <b class='flag-5'>DMA</b>2D模块<b class='flag-5'>介绍</b>

    如何使用MPLAB Harmony v3在PIC32MK上通过DMA数据传输执行ADC转换

    电子发烧友网站提供《如何使用MPLAB Harmony v3在PIC32MK上通过DMA数据传输执行ADC转换.pdf》资料免费下载
    发表于 09-19 16:17 4次下载
    如何使用MPLAB Harmony v3在PIC32MK上<b class='flag-5'>通过</b><b class='flag-5'>DMA</b><b class='flag-5'>数据传输</b>执行<b class='flag-5'>ADC</b>转换