打印
[MM32硬件]

MM32F031 ADC 学习笔记

[复制链接]
113|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
慢醇|  楼主 | 2023-6-29 20:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
datasheet中描述最高12 位可编程分辨率的SAR ADC,多达10 路外部输入通道。 这句话怎么理解呢?也就是说有10个IO可以设置为ADC口线了。内部两路是属于内部通道了。

1.  首先ADC转换要明确目标,我要转换谁?

          这个由通道转换选择寄存器(ADC_ADCHS)来选择要转换的通道,将相关的bit置位就使能,将相关的位复位就失能。

     例如将bit0  和bit1 置位 就等于告诉ADC模块,喂 ADC 听好了哦 我接下来要转换通道0 和通道1 。 当然了也可以设置每个通       道的转换周期。

2.  怎么转换啊?

          转换目标明确了,该怎么转换? 有3种模式:

     1. 单次转换模式

             用户设置ADST=1 开始转换“序号最小”的通道, 你可以在第1步使能 转换通道0 和通道1。但是抱歉只对通道0做转换

      ,通道1 我可不转换。转换完成后 ADST=0 ,需要用户设置 ADST=1来启动第2次转换!你不启动我就不转换了。

     2.  单周期扫描模式

            用户设置ADST=1  开始转换ADC_ADCHS寄存器中使能的通道(第一步我们设置了通道0 和通道1),简单的说就是将            通道0和1都做转换,转换完成后会自动设置ADST=0,并将结果保存到对应通道的数据保存寄存器 ADDR0 和 ADDR1。              DMA搬运时就是从ADDR0和ADDR1中取出数据搬走!

        总结单周期扫描模式:  就是转换你选择的N个通道转换,转换完N个通道后进入ADC空闲状态。需要需要用户设置                      ADST=1 来启动第2次转换!你不启动我就不转换了。

      3. 连续扫描模式

              连续扫描模式,也是转换你所选择的N个通道。和单周期扫描唯一不同的是,转换完N个通道后不会复位ADST

         需要用户手动清除ADST才能停止! 换句话说就是只要用户没有清除ADST,那么ADC就会一直  转换通道0 --> 转换

         通道1,继续 转换通道0 --> 转换 通道1 。。。  周而复始的扫描转换选择的通道。

      4. 切换选择通道

               我们经常在运行中需要重新选择转换通道, 只要修改ADC_ADCHS中的值即可。 值得注意的是修改选择通道需要在                ADC空闲状态下才能修改,也就是ADST=0时才能修改。 除了连续扫描模式其他两种模式都会在转换完成后,硬件自动设            置ADST=0。

最后来个总结: 3种模式可以混搭,例如只在ADC_ADCHS中只使能一个通道(例如通道5)。 当采用连续扫描模式时,             ADC将不停的(对通道5)进行转换。加入DMA和TIMER后,就可以实现定时对某路信号采集N次后再处理。典型应用是

对某路信号采集2n个点做FFT处理,例如对信号采集512个点后做FFT。ADST=1 的动作可以由用户代码设置,也可以由外部引脚信号触发来设置,当然了还可以由定时器事件设置。

使用特权

评论回复
沙发
yangxiaor520| | 2023-7-1 21:35 | 只看该作者
灵动的ADC精度和稳定性咋样?

使用特权

评论回复
板凳
chenqianqian| | 2023-7-3 08:07 | 只看该作者
支持多路同步采样转换吗?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

115

主题

1183

帖子

4

粉丝