美文网首页
MSP430 ADC

MSP430 ADC

作者: nino天 | 来源:发表于2014-07-31 20:05 被阅读497次
    • 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

    2.png
    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结束采样时由采样定时器控制的。


    3.png

    SHP=0:SAMPCON直接由采样输入信号控制。


    4.png

    ISSH:输入信号是否为同向输入。
    ADC12DIV:ADC12时钟源分频因子选择位。
    ADC12SSEL:内核时钟源选择。0(ADC12内部时钟源ADC12OSC).
    CONSEQ:转换模式选择位。单通道/序列通道,单次/多次。
    ADC12BUSY:0(没有活动的操作),1(正处於采样期间转换期间)

    ADC12CTL0

    1.png

    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


    6.png

    控制寄存器ADC12MCTLx:EOS表示序列有没有结束。SREF表示参考电源选择。INCH表示模拟输入通道的选择。


    7.png
    • 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上,用于实现自动进入相应中断服务程序。

    8.png
    • ADC12转换模式:

    单通道单次转换模式:

    每次转换必须回到ENC=0---->ENC=1这个WAIT FOR ENABLE过程。


    9.png

    SHS:选择触发源。如果用ADC12SC直接控制就直接进入采样保持状态。否则进入等待触发状态,只有触发到来进入采样保持状态。
    SHP:选择采样结束方式。是由采样触发信号SHI直接控制结束,还是由采样定时器控制结束。
    采样保持状态结束后进入CONVERSION转换状态。
    转换完成后进入存储数据,并把IFG置位。

    单通道多次转换

    转换完成后可以回到WAIT FOR TRIGGER或SAMPLEING状态。


    10.png

    MCS: SHP=1才有意义。MCS=1,就是采样转换将在上一次转换结束之后马上进行。MCS=0,就是采样转换要等待下一次SHI触发采样定时器。

    序列通道单词转换

    序列通道多次转换之间的区别跟以上相同。

    序列通道的意思是:EOS标识了序列是否结束。在单次转换时只有结束才回到WAIT FOR ENABLE 状态。但是如果没有设置EOS=1的序列。即使复位ENC也不能停止转换。

    • 电路上要注意的PS

    ADC的电压VCC,VSS,VRER等需要并联两个电容。详见USER'S GUIDE。

    相关文章

      网友评论

          本文标题:MSP430 ADC

          本文链接:https://www.haomeiwen.com/subject/pizstttx.html