本帖最后由 gaochy1126 于 2012-5-8 12:26 编辑
下图是ADC12模块结构图
在还有没讲述ADC12模块中组成之前,我想着重讲述ADC12的采样与转换这部分。后面在再作其它部分讲述。
【采样与转换】
ADC12完成对一个模拟信号模数转换过程由两部分组成:采样保持和转换.
完成采样转换周期时间= 采样保持时间 +转换时间
完成采样转换周期时间:
ADC12完成对一个模拟信号模数转换所需要时间,这部分由采样保持时间和转换时间组成。
采样保持时间:
由产生SAMPCON信号开始到结束所需时间,这期间ADC进行对模拟信号采样保持。在脉冲采样模式时(SHP=1),采样时间: Tsample = 4 x ADC12CLK x N
式中,Tsample为采样保持时间,ADC12CLK为ADC12内核时钟周期,N则由SHT1(SHT0)的4位二进制码决定。采样保持时间与ADC12模块的等效输入电路有关。从ADC12模块输入看ADC内部等效为一个电阻(2K)与一个电容(30pf)相串联.这个内部RC常数直接影响着最小的采样保持时间参数.所以,在采样转换中有一个最小采样保持时间值概念.这个最小采样保持时间值从上式中可以看出是由ADC12CLK时间周期决定(N=1时),也就是说ADC12CLK的最高频率;这个频率不能超出MSP430芯片手册中所指定的最高频率(最小采样保持时间值)。关于脉冲采样模式(SHP=1)这个最小采样保持时间值因芯片不同,详情可以查看相应的芯片手册。
转换时间:ADC12核将采样保持的模拟信号转换成数字所需要的时间,这个转换时间在脉冲采样模式和扩展采样模式都是相同的。
转换时间=13 x (ADC12CLK/Fadc12clk)
在脉冲采样模式时完成一个模拟信号采样转换周期时间计数公式为:
= (4 x ADC12CLK x N) + ( 13 x (ADC12CLK/Fadc12clk))
【采样保持触发信号】
采样保持触发信号有4信号源:ADC12SC、Timer_A、Timer_B.OUT0、Timer_B.OUT1。这4种信号源由ADC12CTL1控制寄存器的SHSx两位二进制码设置。ISSH设置信号源的相位。ENC是采样转换允许位,某一时刻当使ENC=1时,此时ENC可能不能同步与触发信号源,所以SHI信号并未马上产生。但硬件逻辑可以在ENC置位后的第一个触发信号的上升沿实现SHI信号的产生。
ENC 采样转换允许位:
0 ADC12为初始状态,不能启动AD转换。
1 首次转换由SAMPCON上升沿启动。
只有在该位为高电平时,用户可以用软件或外部触发信号启动采样转换。在ADC12CTLx控制寄存器中大部分的位只有在ENC复位才能对这些位进行设置操作。用软件启动一次AD转换,要用一条指令来完成ADC12SC与ENC的设置。
在“单通路单次采样模式 CONSEQ等于0”中:且ADC12还处于采样或转换工作中BUSY=1),若此时使ENC位从高电平变为低电平。则当前ADC12采样转换马上结束,且得不到正确的转换值。
在“单通路单次采样模式 CONSEQ不等于0”中:若此时使ENC位从高电平变为低电平。则当前转换正常结束,且转换结果是正确的。在当前转换结束时停止操作。
【脉冲采样模式】
脉冲采样模式(SHP=1),触发信号SHI直接触发采样定时器生产采样转换信号SAMPCON。其转换时序可参考下图。在脉冲采样模式中,且ENC=1(表示采样转换允许)。ADC12SC由0变为1启动一次AD采样转换,要用一条指令来完成ADC12SC与ENC的设置。当AD采样转换完成(BUSY=0)后ADC12SC标志自动复位。
在编写脉冲采样模式程序中,ADC12SC、ENC应按以上的时序方式使用。
【扩展采样模式】
扩展采样模式(SHP=0),采样转换直接由SHI信号(或者说ADC12SC或其它外部采样转换触发信号)控制。ADC12SC由0变为1启动一次AD采样转换,要用一条指令来完成ADC12SC与ENC的设置。此时ADC12SC保持为高电平时采样,在采样后下降沿时开始进行转换。当转换完成后ADC12SC标志自动复位,此后又可以进行新一次转换操作。其转换时序可参考下图。
ADC12扩展采样模式时序图 |