目录
一,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 使能