MSP430X1XX系列ADC12和DMA详解(附带程序)(上)--ADC12详解与源码

本文详细介绍了MSP430X1XX系列微控制器的ADC12模块的基本原理,包括参考电压发生器、时钟发生器、转换结果存储、采样保持功能的12位模数转换内核和采样转换时序控制电路。同时,解析了ADC12的多个关键寄存器设置,如ADC12CTL0、ADC12CTL1、ADC12MCTLX等,以及中断相关寄存器。文章还讨论了ADC12的不同转换模式,并提供了中断控制的代码示例。
摘要由CSDN通过智能技术生成

目录

一,ADC12基本原理

1.1,参考电压发生器 

 1.2,时钟发生器

1.3,转换结果存储

1.4,具有采样保持功能的 12 位模数转换内核

1.5,采样转换时续控制电路

二,寄存器设置 

 2.1,ADC12CTL0

 ADC12ON:

REFON:

REF2_5V:

SHT0x:

SHT1x:

MSC:

ADC12SC:(软件触发)

ENC:

ADC12TVIE:

ADC12OVIE:

  2.2,ADC12CTL1

 ADC12SSELx:

ADC12DIVx:

ISSH:

SHP:

SHSx:

CSTARTADD:

COMSEQx:

ADC12BUSY:

2.3,ADC12MCTLX

​ EOS:

SREFx:

INCHx:

 2.4,ADC12MEMX

2.5,有关中断寄存器

ADC12IFG 中断标志寄存器

[6] ADC12IE 中断控制寄存器

 三,代码

 3.1,单通道模式

查询方式

中断

3.2,序列通道模式

 查询方式

中断

3.3,单通道重复模式 

 中断

3.4,多通道循环 

中断


一,ADC12基本原理

 

1.1,参考电压发生器 

所有的 ADC 和 DAC 模块都需要一个基准信号,这个信号就是我们常说的 Vref+,Vref-。 MSP430 的 ADC12 模块内部带有参考电源,通过控制 REFON 信号来启动内部参考电源,并且通过 REF2_5V 控制内部参考电源产生 1.5V 或者 2.5V 的 Vref+。 最后给 ADC 模块转换器的参考电压 Vr+和 Vr-通过 SREF_x 设置 6 种组合方式: Vr+可以在 AVcc(系统模拟电源),Vref+(内部参考电源),Veref+(外部输入的参考电源)之间选择, Vr-可以在 AVss(系统模拟地),Vref-/Veref-(内部或外部参考电源)。

编者按:说白了在以上流程图可以看到,有两组基准电压选择器(SREF2和SREF1,SREF0)分别控制基准电压的“-”和“+”。

 1.2,时钟发生器

这部分浩阔各种时钟信号,ADC12CLK 转换时钟,ADC12SSEL 选择内核时钟,ADC12DIV 时钟分频。 产生的ADC12CLK一方面用于转换(12-bit SAR)一方面用于生成采样时间(Sample Timer)。

1.3,转换结果存储

ADC12 一共有 12 个转换通道,设置了 16 个转换存储器用于暂时存储转换结果,合理设置后,ADC12 硬件会自动将转换的结果保存到相应的存储器里。

1.4,具有采样保持功能的 12 位模数转换内核

转换内核是有一个采样保持器和一个转换器组成。由于 ADC 转换需要一定的时间,对高速变化的信号进行瞬时采样时,不等 ADC 转换完成,外部输入的信号就已经改变。所以在 ADC 转换器前加入了采样保持器,一旦 ADC 开始转换,采样保持器则进行保持,即使现场输入的信号的变化比较快,也不会影响到 ADC 的转换工作。 12位的ADC转换器将Vr+和Vr-之间分割为2^12(4096)等份,然后将输入的模拟信号进行转换,输出0~4095 的数字。如果输入电压 Vin≤ Vr-则结果为 0,Vin≥Vr+结果为 4095。

编者按:说白了,就是上述的流程图采样保持电路(Sample and Hold)通过前面触发延时控制采样时间,而在没有触发采样时,就完成转换(12-bit SAR)。

1.5,采样转换时续控制电路

 这部分浩阔各种时钟信号,ADC12CLK 转换时钟,SAMPCON 采样转换信号,SHT 控制采样周期,SHS 控制采样触发来源。 由图可以看出来 SAMPCON 信号高的时候采样,低的时候转换。而 SAMPCON 有 2 个来源,一来自采样 定时器,另一路由用户自己控制,通过 SHP 选择。

编者按:说白了,就是一个是直接控制(SHP=0)SAMPCON为高电平,转换,中间没有延时,一旦触发立刻采样转换,这样如果是连续采样,可能会导致出错。另个设置触发时间间隔保证采样触发上个电压完成,适合自动采样。

扩展采样(SHP=0)

有时序图可以看到,采样直接与触发源同步,这样如果短期再来个触发源时,不就干扰了转换时间。

 脉冲采样(SHP=1)

由时序图可以看到通过采样定时器(Sample Timer)可以达到触发一次,延时采样。这样不会相互干扰。

二,寄存器设置 

  • 12 位转换精度,1 位非线形误差,1 位非线形积分误差
  •  多种时钟源给 ADC12 模块,切本身自带时钟发生器
  •  内置温度传感器
  •  TimerA/TimerB 硬件触发器
  •  8 路外部通道和 4 路内部通道
  • 内置参考电压源和 6 种参考电压组合
  • 4 种模式的模数转换
  • 16bit 的转换缓存
  • ADC12 关闭支持超低功耗
  •  采用速度快,最高 200Kbps
  •  自动扫描
  •  DMA 使能
<
  • 5
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

梦灵-影

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值