微控设计网版本:1.3日期:2007.3.原文:TIMSP430x2xxfamily.pdf翻译:陈军长春工业大学编辑:DC微控技术论坛总版主注:以下文章是翻译TIMSP430x2xxfamily.pdf文件中的部分内容。由于我们翻译水平有限,有整理过程中难免有所不足或错误;所以以下内容只供参考.一切以原文为准。详情请密切留意微控技术论坛。微控设计网位模数转换器。本章描述了ADC10。在MSP430X20X2系列中配置了ADC10。11.1ADC10简介图11-1:ADC10模块图ADC10模块支持快速10位模数转换。ADC10模块具有一个10位逐次逼近(SAR)内核,采样选择控制,参考电压产生器和数据传递控制器(DTC)。DTC允许ADC10采样被转换和存储在任何其它寄存器单元而不需要CPU的干预。模块可以经过用户设置后支持不同的应用.ADC10模块特征如下:最大转换速率200ksps;固定的10位转换;具有采样保持功能,并可选采样周期;通过软件或Timer_A初始化转换;软件选择片内参考电压(1.5V或2.5V);微控设计网软件选择内部或外部参考电压;8个外部输入通道;内部转换通道:温度检测,VCC,外部参考(+,—);可选转换时钟源;单通道单次,单通道多次,序列通道单次和序列通道多次转换模式;ADC内核和参考电压都可以单独关闭;自动存储转换结果的数据转换控制器;ADC10模块的结构框图如上图11-1:11.2ADC10的使用ADC10模块由用户通过软件设定。在下面的章节中讨论了ADC10的设置和使用;11.2.110位ADC内核ADC内核将一个模拟量的输入转化成10位数字形式,结果保存在ADC10MEM寄存器中。内核利用两个可编程/可选择的参考电平(VR+和VR-)来定义转换范围的最大值和最小值。当输入信号等于或大于VR+时,数字量输出为满范围(03FF);当输入信号等于或小于VR-时,数字量输出为0。转换控制寄存器定义了输入通道和参考电平(VR+和VR-)。转换的结果为直接的二进制形式或二的补码形式。在使用直接二进制形式时,转换公式为:ADC10模块由ADC10CTL0和ADC10CTL1两个控制寄存器完成设置。ADC内核使能由ADC10ON位控制。大多数情况下,只有在ENC=0时,ADC10的控制位可以被修改。在进行转换前ENC位必须设为1。转换时钟选择:ADC10CLK可以作为转换时钟和产生采样周期。ADC10时钟源可以用ADC10SSELX位来选择,也可以由ADC10DIVX位进行1-8分频。可选的时钟源有SMCLK,MCLK,ACLK和一个内部的振荡器ADC10OSC。ADC10OSC由内部产生,在5M范围内。但会随着芯片本身,供电电压和温度而不同。请参考详细介绍ADC10OSC说明的数据手册。用户必须保证在转换结束前所选择的ADC10CLK都保持在活动状态。如果在转换期间,时钟丢失(或关闭),转换将无法完成,结果无效。11.2.2ADC10输入和多路器通过模拟输入多路器可以选择8个外部和4个内部模拟信号作为转换信号。输入模拟多路器是一个先关后开型开关,可减少因通道切换而引入的噪声。见下图11-2。它也是一个T型开关,可以减少通道间的耦合。未选择的通道应该与A/D和连接到模拟地(VSS)的中间接点隔离。这样寄生电容与地相接,可以减少噪声。ADC10利用电荷再分配(chargeredistribution)原理。当输入在内部切换时,切换动作可能在输入信号上产生漏电流。在造成问题前,漏电流已经过衰减并稳定下来。图11-2模拟多路器微控设计网与P2口(数字CMOS门电路)复用。在有些芯片里可选输入A5-A7与P3口复用(见具体芯片手册)。当模拟信号施加在数字CMOS门电路上时,寄生电流会从VCC流向GND。如果输入电压接近门电路的转换(transition)电平时,就产生寄生电流。禁止端口引脚缓冲,可以消除寄生电流,从而减少总电流消耗。ADC10AEx位可以禁止端口的输入和输出缓冲。;P2.3设置为模拟量输入BIS.B#08h,&ADC10AE;P2.3ADC10functionandenable11.2.3参考电压产生器ADC10模块包含一个内置的电压参考,有两个可选的电平。设置REFON使能内部参考。当REF2_5V=1时,内部参考电压为2.5V;当REF2_5V=0时,内部参考电压为1.5V。内部参考电压可供内部使用,并且REFOUT=0时,引脚VREF+上的电压可供外部使用。外部参考电压可以分别通过引脚A4和A3提供VR+和VR-。当使用外部电压参考时,或者当VCC被用作参考电平时,内部参考电平关闭,以减少功耗。与ADC12一样,ADC10的参考电源可以用外部存储电容。内部参考电压低功耗特点ADC10的内部参考电压产生器是为低功耗应用而设计的。参考电压产生器包括一个band-gapvoltage和一个独立的缓冲器。每个系列芯片的电流消耗在具体芯片手册中分别有详细说明。当REFON=1,两者都使能;REFON=0使,两者都禁止。当REFON变为1时的总设定时间小于30μs。当REFON=1,所有转换禁止,缓冲器自动禁止,在需要进行转换时,重新使能。当REFBURST=0时,缓冲器持续打开,允许参考电压持续输出到芯片外部。当REFBURST=1,ADC10模块没有进行转换时缓冲器自动关闭。当需要时,自动重新打开。内部参考缓冲器也可以对转换速度和功耗设置进行选择。当最大转换速率低于50ksps时,设置ADC10SR=1可以减少缓冲器大约50%的电流消耗。11.2.4自动关断ADC10模块为低功耗应用而设计。当ADC10没有进行转换时,内核自动关闭,需要时自动重新使能。ADC10OSC在需要时也会自动打开,不需要时自动关闭。当内核或振荡器关闭时,它们无电流消耗。11.2.5采样和转换时间选择在采样输入信号SHI的上升沿,模数转换开始。SHI信号源可以通过SHSx位来选择,包括如下:ADC10SC位微控设计网位来转换。SHTx位可以选择采样周期tsample为4,8,16或64个ADC10CLK周期。在选择的采样周期与ADC10CLK同步后,采样定时器设置SAMPCON为高。采样总时间为tsample加上tsync。SAMPCON由高到低变化时开始模数转换。模数转换需要13个模数转换。如下图11-3。采样时间注意事项当SAMPCON=0时,所有的Ax输入为高阻态。当SAMPCON=1时,在采样时间tsample期间,被选择的Ax输入相当于一个RC低通滤波器,如下图11-4。内部多路选择导通输入电阻R1(最大2kΩ)与电容C1(最大20PF)串联。为达到10位的转换精度,电容C1的电压必须得充到源电压VS的1/2LSB范围内。图11-4模拟输入等效电路VI=Ax引脚输入电压VS=外部驱动源电压RS=外部源内阻RI=内部多路选择导通输入电阻CI=输入电容VC=电容充电电压微控设计网。下列等式可用于计算10位转换精度下的最小采样时间tsample。ADC10SR=0:ADC10SR=1:用上面给出的R1C1的值代入,等式变为:例如,如果RS为10kΩ,在ADC10SR=0时,tsample必须大于2.63μs;在ADC10SR=0时,tsample必须大于4.33μs。11.2.6转换模式ADC10有四种模式,由CONSEQx选择,见表11-1。CONSEQx模式工作00单路转换单通路单次转换01序列转换多通路单次转换10重复单路转换单通路重复转换11重复序列转换多通路重复转换微控设计网选择的单通道进行一次采样和转换。ADC结果写入到ADC10MEM。图11-5表示了单通道单次转换模式的流程。当ADC10SC触发一次转换时,连续的转换也可通过设置ADC10SC位来触发。当使用任何其它触发源来启动转换时,ENC必须在每次转换间隔离,在ENC复位并再次置位前的输入采样信号将被忽略(betoggled,固定)。微控设计网序列通道转换模式该模式对一个序列的通道进行一次采样和转换。序列通道为从INCHx选择的通道到A0。每个ADC结果都存放到ADC10MEM。通道A0转换完成后序列转换结束。图11-6表示了序列通道转换模式。当ADC10SC启动一次序列转换时,连续的序列转换也可通过设置ADC10SC位来启动。当任何其它触发源用来启动转换时,ENC必须在每次序列转换间隔离,在ENC复位并再次置位前的输入采样信号将被忽略(betoggled,固定)微控设计网选定的单通道进行连续采样和转换。每次ADC转换结果都存放到ADC10MEM。图11-7表示了单通道多次转换模式。微控设计网序列通道多次转换模式该模式对序列通道进行重复采样和转换。序列通道为从INCHx选择的通道到A0。每次ADC转换结果都存放到ADC10MEM。通道A0转换完成后序列转换结束,下一个启动信号重新启动序列转换。图11-8表示了序列通道多次转换模式。使用MSC位为使转换器能自动并尽可能快地进行连续转换,ADC需具备多次采样和转换功能。当MSC=1和CONSEQx0时,SHI的第一个上升沿启动第一次转换。前一次转换一旦转换完成,连续的转换将自动启动。SHI上其它的上升沿将被忽略直到序列通道单次转换模式中的序列转换完成或直到单通道多次转换模式或序列通道多次转换模式中ENC位被隔离(toggled,固定)。在使用MSC位过程中ENC位的功能不改变。停止转换停止ADC10工作取决于转换模式。停止正在工作的一个转换或转换序列,建议方法如下:在单通道单次转换模式下复位ENC可以立即停止转换,结果不定。为得到准确结果,在清除ENC前查询ADC10BUSY位直到复位。在单通道多次转换模式期间复位ENC,可以在当前转换结束时停止转换器。在序列通道单次转换模式或序列通道多次转换模式期间复位ENC,可以在当前转换结束时微控设计网停止转换器。通过设置CONSEQx=0和复位ENC,可以停止任何转换模式下的转换。此时转