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

电子说

1.3w人已加入

描述

关于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则清除中断,我们可通过读此寄存器来判断是否产生了中断。

SAR

SAR ADC 中 FFDATA 内数据写

02程序编写

ADC初始化

SAR

DMA初始化

SAR

Timer初始化

SAR

运行

SAR

观察现象

SAR

03实验现象

现象

SAR

 

SAR

结论

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

审核编辑:汤梓红

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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分