-
ADC12功能模块
参考电压发生器
ADC需要一个基准信号,ADC的数字输出表示模拟输入相对于它的基准的比率。MSP430内置参考电源,有6种可编程选择,分别为VR+和VR-的组合。
VR+: AVCC(模拟电源正端),VREF+(AD转换内部参考电源的输出正端),VEREF+(外部参考源的正输入端)
VR-: AVSS(模拟电源负端),VREF-/VEFER-(AD参考电源负端)。
模拟多路器
ADC12用一个转换内核,分时的接通多个模拟信号。其中8路外部模拟信号输入,4路内部通道可以将VEREF+,VREF-/VEREF-, (AVCC-AVSS)/2, 片内温度传感器的输出。
转换器内核
具有采样和保持功能,把结果存放在转换存储器中。
输入的模拟电压最终转换结果
N_ADC = 4095 * (V_IN-(VR-)) / ((VR+)-(VR-))
VR+和VR-限定了输入的范围,凡是大于VR+的都输出满量程值0FFFH,小于VR-则输出0.
通常通过ADC12ON 在不需要ADC时关闭转换内核。
采样机转换所需的时序控制电路:各种时钟。
转换结果缓存:ADC12共有12个转换通道设置了16个转换存储器ADC12MEMx。
-
ADC的转换寄存器
ADC12CTL1
CSSTARTADD:转换存储器地址位,共四位表示二进制数015分别对应ADC12MEM015.
SHS:采样触发输入源。0(ADC12SC),1(Timer_A.OUT1),2(Timer_B.OUT0),3(Timer_B.OUT1).
如图所示,在打开ADC12ON之后怎样进入采样保持阶段,要看SHS的设置。如果SHS=0,那么软件修改ADC12SC就可以使得ADC开始采样START SAMPLING。而如果SHS不是1,那么就需要WAIT FOR TRIGGER,当收到别的采样触发信号之后SAMPCON才跳变,开始采样保持。
SHP:采样信号(SAMPCON)选择控制位。0(SAMPCON来自采样触发输入信号),1(SAMPCON来自采样定时器).
SHP=1:采样触发输入信号只作为一个trigger,上升沿通知SAMPCON开始采样。SAMPCON结束采样时由采样定时器控制的。
SHP=0:SAMPCON直接由采样输入信号控制。
ISSH:输入信号是否为同向输入。
ADC12DIV:ADC12时钟源分频因子选择位。
ADC12SSEL:内核时钟源选择。0(ADC12内部时钟源ADC12OSC).
CONSEQ:转换模式选择位。单通道/序列通道,单次/多次。
ADC12BUSY:0(没有活动的操作),1(正处於采样期间转换期间)
ADC12CTL0
SHT1,SHT0:采样保持定时器1,采样保持定时器0:定义了结果寄存器ADC12MEM8-15及ADC12MEM0-7中的转换采样时序与采样时钟ADC12CLK的关系。采样周期是ADC12CLK周期乘以4的整数倍。SHTx的值(0-15)决定了n(1-256)的大小。
MSC:当CONSEQ设为多次转换模式时,SHP=1即SAMPCON来自采样定时器时,MSC决定了采样定时器的触发条件。
2.5V:内部参考电压选择:0(1.5v),1(2.5v)
REFON:参考电压打开或关闭
ADC12ON:内核打开或关闭
ADC12OVIE:溢出中断允许位:ADC12MEMx原有数据没有读出就有新的转换结果需要写入时。
ADC12TVIE:转换时间溢出中断允许位:当前转换还没有完成又发生一次采样请求。
ENC:转换允许位。只有ENC=0时才能修改ADC12CTLx的高位。只有当BUSY标志为0时才能清零ENC,否则会使ADC立马停止,转换结果不可靠。
0: ADC为初始状态,不能启动AD转换。
1: 首次转换由SAMPCON上升沿启动。
ADC12SC:SHP=0保持高电平采样,SHP=1保持由0变1时启动转换。
存储及其控制寄存器
ADC12MEM0-15,ADC12MCTL0-15
控制寄存器ADC12MCTLx:EOS表示序列有没有结束。SREF表示参考电源选择。INCH表示模拟输入通道的选择。
-
ADC和中断
因为ADC转换时间比较长,在转换期间,MSP430可以去处理其他事情提高效率。所以ADC用转换结束信号作为中断请求,CPU就会来读取结果。
ADC12IFG:0-15.对应着ADC12MEM0-15.作为中断标志寄存器置位表示转换结束,并且结果已经装入转换存储寄存器。IFG复位表示ADC12MEM被访问。
ADC12IE0-15:中断使能允许相应的IFG在置位时发生中断请求服务。
ADC12IV:由于ADC12是一个多源中断,有18个中断标志(ADC12IFG0-15,ADC12TOV,ADC12OV),但只有一个中断向量。因此需要设置这18个标志的优先级顺序,按照优先级来安排中断标志的响应。各中断标志会产生一个0-36的偶数。位于ADC12IV中的数字将加在PC上,用于实现自动进入相应中断服务程序。
-
ADC12转换模式:
单通道单次转换模式:
每次转换必须回到ENC=0---->ENC=1这个WAIT FOR ENABLE过程。
SHS:选择触发源。如果用ADC12SC直接控制就直接进入采样保持状态。否则进入等待触发状态,只有触发到来进入采样保持状态。
SHP:选择采样结束方式。是由采样触发信号SHI直接控制结束,还是由采样定时器控制结束。
采样保持状态结束后进入CONVERSION转换状态。
转换完成后进入存储数据,并把IFG置位。
单通道多次转换
转换完成后可以回到WAIT FOR TRIGGER或SAMPLEING状态。
MCS: SHP=1才有意义。MCS=1,就是采样转换将在上一次转换结束之后马上进行。MCS=0,就是采样转换要等待下一次SHI触发采样定时器。
序列通道单词转换
序列通道多次转换之间的区别跟以上相同。
序列通道的意思是:EOS标识了序列是否结束。在单次转换时只有结束才回到WAIT FOR ENABLE 状态。但是如果没有设置EOS=1的序列。即使复位ENC也不能停止转换。
-
电路上要注意的PS
ADC的电压VCC,VSS,VRER等需要并联两个电容。详见USER'S GUIDE。