四、C12模数转换模块
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-(内部或外部参考电源)。
2、DC12主要特点:
n 12位转换精度,1位非线形误差,1位非线形积分误差
n 多种时钟源给ADC12模块,切本身自带时钟发生器
n 内置温度传感器
n TimerA/TimerB硬件触发器
n 8路外部通道和4路内部通道
n 内置参考电压源和6种参考电压组合
n 4种模式的模数转换
n 16bit 的转换缓存
n ADC12关闭支持超低功耗
n 采用速度快,最高200Kbps
n 自动扫描
n DMA使能
3、DC12寄存器
4、ADC12CTL0 转换控制寄存器0
ADC12SC:采样转换控制位(和SHP,ISSH,ENC有关)
在ENC=1,ISSH=0的情况下:
SHP=1时:ADC12SC由0变1时,启动A/D 转换,转换完成后ADC12SC自动复位
SHP=0时:ADC12SC高电平时采样,ADC12SC复位围启动一次转换
其中ENC=1表示转换允许,ISSH表示输入信号为同相输入信号,
SHP=1表示采 样信号SAMPCON来自于采样定时器,
SHP=0表示SAMPCON采样有ADC12SC直接控制。
注意:当软件启动一次A/D 转换时,ADC12SC和ENC要在一条语句内完成设置。
ENC:转换允许位
0 ADC12为初始状态,不能启动A/D 转换
1 首次转换由SAMPCON的上升沿启动
注意:
[1]在CONSEQ=0(单通道单次转换)的情况下,当ADC12BUSY=1时,
ENC=0则会结束转换进程,并且得到错误结果。
[2]在CONSEQ≠0(非单通道单次转换)的情况下,当ADC12BUSY=1时,
ENC=0则转换正常结束,得到正确结果
ADC12TVIE:转换时间溢出中断允许(多次采样请求)
当前转换还没有完成时,又得到一次采样请求,如果ADC12TVIE 允许的话,会产生中断。
0 允许发生转换时间溢出产生中断
1 禁止发生转换时间溢出产生中断
ADC12OVIE:溢出中断允许(ADC12MEMx多次写入)
当ADC12MEMx还没有被读出的时候,而又有新的数据要求写入ADC12MEMx时,
如果允许则会产生中断
0 允许溢出中断
1 禁止溢出中断
ADC12ON:ADC12内核控制
0 关闭ADC12内核实现低功耗
1 开启ADC12内核
REFON:内部基准电压发生器控制
0 关闭内部基准电压发生器
1 开启内部基准电压发生器
REF2_5V:内部基准电压选择1.5V/2.5V
0 选择1.5V内部参考电压
1 选择2.5V内部参考电压
MSC:多次采样/转换控制位
当SHP=1,CONSEQ≠0时,MSC位才能生效
0 每次转换需要SHI信号的上升沿出发采样定时器
1 首次转换需要SHI信号的上升沿出发采样定时器,
以后每次转换在前一次转换结束后立即进行
SHT0x:0~7通道的采样保持器时间控制
定义了ADC12MEM0~7中转换采样时序与采样时钟的关系
保持时间越短,采样速度越快,反映电压波动明显
Tsample= 4×TADC12CLK×N(N<13时N = 2n,n>13时,N=256)
SHT1x:8~15通道的采样保持器时间控制
定义了ADC12MEM8~15中转换采样时序与采样时钟的关系
保持时间越短,采样速度越快,反映电压波动明显
Tsample= 4×TADC12CLK×N(N<13时N = 2n,n>13时,N=256)
5、ADC12CTL1 转换控制寄存器1
CSTARTADD:单通道模式转换通道/多通道模式守通道
定义单次转换的启始地址或者序列通道转换的首地址。
SHSx:采样触发源选择
0 ADC12SC
1 TimerA.OUT1
2 TimerB.OUT1
3 TimerB.OUT2
SHP:采样信号SAMPCON选择
0 SAMPCON信号来自采样触发输入信号
1 SAMPCON信号来自采样定时器,由采样输入信号的上升沿触发
ISSH:采样输入信号同向/反向
0 采样信号为同相输入
1 采样信号为反相输入
ADC12DIVx:ADC12时钟分频控制
ADC12时钟源的分频因子选择位,分频因子为(x+1)
ADC12SSELx:ADC12时钟选择
0 ADC12OSC(ADC12内部时钟源)
1 ACLK
2 MCLK
3 SMCLK
COMSEQx:转换模式
0 单通道单次转换
1 序列通道单次转换
2 单通道多次转换
3 序列通道多次转换
ADC12BUSY:忙标志(转换中...)
0 表示ADC12没有活动的操作
1 ADC12正在采样/转换期间,忙~~
6、ADC12MCTLx 通道储存控制寄存器
EOS:多通道转换末通道标志
0 序列没有结束
1 该序列中最后一次转换
SREFx:基准源选择
0 Vr+=AVcc, Vr-=AVss
1 Vr+=Vref+, Vr-=AVss
2,3 Vr+=Veref+, Vr-=AVss
4 Vr+=AVcc, Vr-=Vref-/Veref-
5 Vr+=AVcc, Vr-=Vref-/Veref-
6,7 Vr+=AVcc, Vr-=Vref-/Veref-
INCHx:所对应的模拟电压输入通道
0~7 A0~A7
8 Veref+
9 Veref-/Vref-
10 片内温度传感器
11~15 (AVcc-AVss)/2
7、ADC12IFG 中断标志寄存器
ADC12IFGx:中断标志位
对应于ADC12MEMx,当A/D 转换完成后,数据被存入ADC12MEMx,此时ADC12IFGx标志置位
ADC12IEx:中断允许位
对应于ADC12IFGx,如果ADC12IEx允许,则当ADC12IFGx置位时会进入ADC12的中断服务程序。
8、C12转换模式
ADC12模块一共提供了4钟转换模式
n 单通道单次转换
n 序列通道单次转换
n 单通道多次转换
n 序列通道多次转换