1、可以作为时钟源的有SMCLK,MCLK,ACLK和一个内部振荡器ADC10OSC。ADC10OSC是由内部产生的,频率的变化范围可达5MHz,但是随个别设备,供电电压和温度不同而变化。详细的信息可以参考ADC10OSC的数据表。用户必须保证在信号转化期间ADC10CLK不能中断。如果在转化时时钟停止,那么操作就会中止而且产生的结果也是无效的。27.2.2 ADC10 输入和多路复用器在该模块中,利用“模拟输入多路复用器”可以选择ADC10的8路外部和4路内部模拟信号中的一路作为模拟输入信号。该输入多路复用器采用“先断后合”(BBM)方式,来减小输入端之间产生的干扰输入。这种干扰往往是在转换通道
2、时产生的,可以参看图27-2。不仅如此,该输入多路复用器还作为T开关将通道之间的耦合降至最低。当某一通道未被选定时,它与A/D是隔离的,而且中间的节点要连接模拟地(AVss),以此来将内部的分布电容接地,从而达到消除干扰的目的。ADC10模块运用了指令重分配方式。当输入通道在内部切换时,该动作会引起输入信号的电压瞬间变化。这种分配方式会使这个瞬变的电压会在转化之前被消除并稳定下来,保证不会转化错误的信号。模拟端口选择ADC10模块的外部输入Ax,VeREF+和VeREF-与是数字CMOS门的通用I/O端口复合使用的。当模拟信号加在了数字CMOS门时,寄生电流会直接从Vcc流到GND。而且,当模
3、拟电压的大小与数字通道的门限电压接近时,就会产生这种寄生电流。只有禁止数字通道才能消除寄生电流进而降低系统的电流损耗。针对于此,控制位ADC10AEx位可以用来将数字通道的输入输出缓冲器禁用。; P7.5 on MSP430x41x2 device configured for analog inputBIS.B #01h,&ADC10AE0 ; P7.5 ADC10 function and enable27.2.3电压基准发生器ADC10模块包含内部电压基准,有两个可供选择的电压等级。REFON位置一则内部电压基准使能。当REF2_5V位置一时内部电压基准为2.5V,当REF2_5V位清零
4、时内部电压基准为1.5V。内被参考电压可以用在内部,当REFOUT位清零时可以通过VREF+管脚用在外部。这两个电压基准可以用作内部和外部电压源,对应的端口是VREF+。外部基准电压可以分别通过A3和A4管脚由VR+和VR-提供。当使用外部基准电压或者使用Vcc当做基准电压,内部基准应该关掉以省电。外部正基准电压VeREF+可以通过SREF0和SREF1位置一来缓冲。就是用一个大的内部电阻来消耗使用外部基准电压的缓冲电流。当REFBURST位置一时,增加的电流被限制在采样和转换周期上。ADC10基准电压源是不需要外部存储电容的。内部基准电压的低功耗特性ADC10模块内部基准电压发生器采用低功耗
5、设计。该基准电压发生器包括一个带状能隙(band-gap)电压源和一个独立的缓冲器。两者的电流消耗分别在设备的数据表中可以找到。当REFON = 1时,两者都工作。当REFON = 0时,两者都停止工作。设定控制位REFON 置一的总时间不超过30us。当REFON = 1,如果此时没有信号转化,那么缓冲器将自动关闭。一旦需要时就会自动开启。缓冲器关闭时不消耗电流。在这种情况下,带状能隙电压源始终保持开启状态。当REFON = 1,控制位REFBURST控制内部基准电压缓冲器的运行。当REFBURST=0时,缓冲器将一直开启,同时将允许基准电压持续的向外输出。当REFBURST=1时,在ADC
6、10没有进行转化时,缓冲器自动关闭,一旦转化开始它有自动开启。内部的缓冲器还可以针对不同的功率消耗来设定转化速度。例如,当最大的转化速度小于50ksps时,将ADC10SR设为1时可以降低接近50%的电流消耗。27.2.4自动掉电ADC10模块是为低功耗应用而设计的。当ADC10没有进行转化活动时,ADC10内核是自动关闭的,一旦需要工作时会自动回复。同样,ADC10OSC也是自动调节的。当内核和振荡器关闭时没有电流消耗。27.2.5取样和转化定时采样输入信号SHI的上升沿触发对模数转化的初始化。SHI的来源是由控制位SHSx决定的,对于MSP430F41x2:包括如下的信号源:控制位ADC1
7、2SC Timer_A0输出单元1 Timer_A1输出单元0 Timer_A1输出单元1 SHI信号的极性可以被lSSH位置反。采样周期tsample通过设定SHTx位来选择为4/8/16/64倍的ADC10CLK周期。在同步ADC10CLK之后采样定时器设置SANCON=1来选择采样周期。当SAMPCON为1时,开始取样。总的采样时间为t_sample+ t_sync。当SAMPCON由高相低发生跳变时,开始模数转化,转化需要11个ADC10CLK周期(如图27-4所示)。取样定时器注意事项当控制位SAMPCON=0时,所有的Ax输入端口为高阻抗。当SAMPCON=1时,所选用的Ax输入端
8、口在采样期间可以等效为一个RC低通滤波器,如图27-5所示。从源端观测,存在一个内部复用器输入阻抗Rl(最大值为2千欧姆)和一个相应的电容Cl(最大值为27pF)。为保证能够精确的进行10位转化,则必须使电容Cl上的电压Vc小于所测电压Vs的最低位(LSB)的1/2倍。27.2.6转换模式ADC10有四种运行模式可供选择,由控制位CONSEQx决定,其对应关系参考下表:ADCCONSEQx模式操作00单通道信号转换一个信号通道只转换一次01序列通道模式一序列信号通道只转换一次10重复单通道模式一个信号通道反复转换11重复序列通道模式一个序列信号通道反复转换单通道信号转化模式一个通道只能采样和转
9、化一次,通过INCHx位选择通道。ADC的转化结果存储至ADC10MEM如图27-5所示,为单通道转化模式的流程图。当ADC10SC启动了一次转化后,它会连续的启动下面的转化。当其它的触发源发生时,ENC位在转化时必须跳变。一个序列的通道转化和采样各一次。序列开始的通道通过INCHx位选择,一直到通道A0。每一个ADC转化的结果存储到了ADC10MEM寄存器中。当通道A0转换完后序列停止。图27-6显示了序列通道模式的流程。当ADC10SC启动了一个序列后,它会启动相继的序列。当其它的触发源发生时,ENC位在序列期间必须跳变。一个通道可以连续的采样和转化,通过INCHx位选择通道。每一个ADC
10、转化结果存储在ADC10MEM寄存器中。图27-7显示了重复单通道模式的流程。一个序列的通道持续的采样和转化。当通道A0转换完后,下一个触发信号重新启动序列。图27-8显示了重复序列通道模式的流程MSC位的使用为了能是转化过程自动,快速和持续的进行,我们需要启用多重采样和转化功能。当MSC=1,CONSEQx0时,SHI信号的第一个上升沿就会启动第一次转化。紧接着,一旦前一次转化结束,后面的转化就开始了,且为持续进行。之后的SHI上升沿会被忽略,直到在单一序列模式下该序列结束,或是在重复单通道模式/重复序列模式下ENC位发生跳变为止。当使用控制位MSC时,控制位ENC的功能是不变的。停止转化停
11、止ADC10的转化取决于运行的方式。以下是推荐的停止转化(序列转化)的的方法: 在单通道采样模式下,通过复位ENC来立即结束转化,但其结果是不准确的。想得到正确的结果,要在清除ENC之前切断ADC10BUSY位,直到复位。在重复单通道模式下,在当前转化结束时通过复位ENC来结束转化。在序列或重复序列模式下,在序列结束时通过复位ENC来结束转化。任何模式下都可以通过设置CONSEQx为0或者复位ENC来停止转化。但其结果是不可靠的。27.2.7 ADC10 数据传输控制器(DTC)ADC10模块包括一个DTC可以自动的将转换结果从ADC10MEM寄存器传输到片内存储器的任意位置。通过将ADC10
12、DTC1寄存器设置为一个非零值来将DTC使能。当DTC使能时,每一次ADC转换完成并将结果装入ADC10MEM后,一个数据传输被触发。并不需要软件介入管理ADC10,直到预先确定数量的转换数据都传输完毕。每一个DTC传输需要一个CPU MCLK。为了避免任何的总线冲突,在DTC传输过程中,CPU应该是停顿的。当ADC10忙时,DTC传输不能启动。软件必要保证当DTC配置时,没有转换或序列是工作的。 ADC10 activity testBIC.W #ENC,&ADC10CTL0 ;busy_test BIT.W #BUSY,&ADC10CTL1;JNZ busy_test ;MOV.W #xx
13、x,&ADC10SA ; SafeMOV.B #xx,&ADC10DTC1 ; continue setup27.2.8 启用内部温度传感器要使用芯片内部的温度传感器,用户需要选择模拟输入通道INCHx=1010。所以相应的配置包括基准电压,转化存储等等都已经设置好,用户可以像一个外部输入通道一样。温度传感器的典型应用如图27-13所示。当我们使用它时,取样的周期必须大于30us。温度传感器的补偿误差较大,在大多数应用中需要矫正。这点可以参考设备数据表,查看相应的参数。选择温度传感器后就会自动打开芯片内部的基准电压发生器,产生供电电压源。但是,这时不允许VREF+向外供电,也不会影响转化的基准
14、选择。温度传感器转化时的基准电压的选择和其他通道一样。27.2.9 ADC10接地和干扰注意事项对于高分辨率的ADC,应采用适当的印制电路板布局和接地技术来抑制接地回路,寄生效应,和干扰。地回路是A/D的回流经过与模拟或数字的回路相同的通道时产生的。如果不注意,这个回路会产生一个小的但是有害的补偿电压,它会增大或减小基准电压或者是输入模拟信号。如图27-14的连线可以避免上面情况发生。除了接地以外,由于数字转化和改变电源供应所造成的供电电源上的纹波和干扰尖峰也会导致转化结果的错误。一种推荐使用的连接为,将模拟地和数字地的连接分离为单点连接,这样可以消除干扰,提高精度。27.2.10 ADC10
15、中断一个中断和一个中断向量与ADC10有关,如图27-16所示。若DTC不用(ADC10DTC1 = 0),当ADC10MEM存储寄存器装入转化结果时,ADC10IFG位置为1。若DTC使用(ADC10DTC1 = 1),当快传输完成且内部传输计数器“n=0”时,ADC10IFG位置为1。若控制位ADC10IE和GIE置位时,则ADC10IFG表示中断请求产生。ADC10IFG位在中断请求被响应后会自动清除或者通过软件清除。27.3 ADC10 的寄存器寄存器缩写寄存器类型地址初始状态ADC10 Input enable register 0 ADC10AE0 Read/write04AhRe
16、set with PORADC10 Input enable register 1 ADC10AE1 Read/write04Bh ADC10 control register 0ADC10CTL001B0hADC10 control register 1ADC10CTL1 01B2hDC10 memory ADC10MEMRead01B4hUnchangedADC10 data transfer control register 0ADC10DTC0 048hADC10 data transfer control register 1 ADC10DTC1049hADC10 data tran
17、sfer start addressADC10SA01BCh0200h with PORADC10CTL0, ADC10 Control Register 01514131298SREFxADC10SHTxADC10SRREFOUT REFBURSTrw(0)7654321MSC REF2_5V REFONADC10ONADC10IEADC10IFGENCADC10SC当ENC=0时可以修改。SREFx Bits 选择基准电压15-13 000 VR+ = VCC and VR = VSS001 VR+ = VREF+ and VR = VSS010 VR+ = VeREF+ and VR =
18、 VSS011 VR+ = Buffered VeREF+ and VR = VSS100 VR+ = VCC and VR = VREF/ VeREF101 VR+ = VREF+ and VR = VREF/ VeREF110 VR+ = VeREF+ and VR = VREF/ VeREF111 VR+ = Buffered VeREF+ and VR = VREF/ VeREFADC10SHTx Bits ADC10采样保持时间12-11 00 4 x ADC10CLKs01 8 x ADC10CLKs10 16 x ADC10CLKs11 64 x ADC10CLKsADC10SR
19、 Bit ADC10采样率,本位选择最大采样率的基准缓冲器的驱动能 10 力。ADC10SR位置一将降低基准缓冲器的电流消耗。0 基准缓冲器达到 200 ksps1 基准缓冲器达到 50 kspsREFOUT Bit 基准电压输出9 0 基准电压输出关1 基准电压输出开REFBURST Bit 基准电压脉冲8 0 基准缓冲是连续的1 基准缓冲只在采样转换过程中开启MSC Bit ADC10多重采样转化控制位。只对序列和重复序列模式有效7 0 需要SHI信号的上升沿启动采样定时器,进行采样转化。1 第一个SHI信号的上升沿启动取样定时器,下面的采样转化过程会自动的紧接着前一次的结束开始转化REF
20、2_5V Bit 基准电压发生器,REFON位必须同时置位6 0 1.5 V1 2.5 VREFON Bit ADC10基准电压发生器的开启位5 0 基准电压关闭1 基准电压开启ADC10ON Bit ADC10 开启位4 0 ADC10 关闭1 ADC10 开启ADC10IE Bit ADC10 中断使能3 0 中断禁止1 中断允许ADC10IFG Bit ADC10中断标志位。当ADC10MEM装入一个转化结果,本位2 置位。 ADC10IFG位在中断请求被响应后会自动清除或者通过软件清除。 当使用DTC,一个块传输完成时本标志位置位。0 没有中断产生1 中断产生ENC Bit 转化使能1
21、 0 ADC10 禁止1 ADC10 允许ADC10SC Bit ADC10转化开始控制位。软件控制采样转化开始。ADC10SC 0 和ENC可以由指令控制同时置位。ADC10SC自动复位。0 采样转化关闭1 采样转化开始ADC10CTL1, ADC10 Control Register 1INCHxSHSx ADC10DFISSHADC10DIVxADC10SSELxCONSEQx r(0)INCHx Bits 输入通道选择。本位用来选择单通道转化或者序列转化的最15-12 高通道。0000 A00001 A10010 A20011 A30100 A40101 A50110 A60111 A
22、71000 VeREF+1001 VREF/VeREF1010 温度传感器1011 (VCC VSS) / 21100 (VCC VSS) / 2, A12 on MSP430x22xx devices1101 (VCC VSS) / 2, A13 on MSP430x22xx devices1110 (VCC VSS) / 2, A14 on MSP430x22xx devices1111 (VCC VSS) / 2, A15 on MSP430x22xx devicesSHSx Bits 采样保持源选择11-10 00 ADC10SC bit01 Timer_A0.OUT110 Timer
23、_A1.OUT011 Timer_A1.OUT1ADC10DF Bit ADC10数据格式9 0 二进制1 二进制补码ISSH Bit 取反信号的采样保持8 0 采样输入信号没有取反1 采样输入信号取反ADC10DIVx Bits ADC10的时钟分频7-5 000 /1001 /2010 /3011 /4100 /5101 /6110 /7111 /8ADC10SSELx Bits ADC10时钟源选择4-3 00 ADC10OSC01 ACLK10 MCLK11 SMCLKCONSEQx Bits 转化模式选择2-1 00 单通道转化模式 01 序列通道模式10 重复单通道模式11 重复序
24、列模式 ADC10BUSY Bit ADC10 忙标志位。该位表示正在取样或转化。0 0 没有操作 1 正在运行序列,取样或是转化动作 ADC10AE0, Analog (Input) Enable Control Register 0ADC10AE0xADC10AE0x Bits ADC10模拟使能。这些位使能相应管脚的模拟输入。BIT0对应7-0 A0,BIT1对应A1等等。0 模拟输入禁止1 模拟输入允许ADC10AE1, Analog (Input) Enable Control Register 1ADC10AE1xReservedADC10AE1x Bits ADC10模拟使能。BIT4对应7-4 A12,BIT15对应A13,BIT16对应A14,BIT17对应A15。ADC10MEM, Conversion-Memory Register, Binary FormatConversion Resultsr0r
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1