1:时钟问题。
ADC12的转换内核的时钟称为ADC12CLK,它可以由ADC12OSC(一般都由它提供),MCLK,SMCLK,ACLK。同时ADC12CLK可以用来作为sample timer计算AD口的采样时间的输入,采样时间为4 * ADC12CLK * N。
触发ADC采样转换的时钟称为SHI,它与ADC12CLK没有关系的。如果选为扩展采样模式,则在ENC置位的前提下,SHI为高就采样,由高转低就进行转换,整个时间为一次采样转换时间,由此决定采样速率,此时SHI与SAMPCON是同步的。如果选为脉冲模式,在ENC置位的前提下,SHI为高只是触发sample timer开始保持SAMPCON为高,持续指定的时间,然后立即开始转换,一次采样转换到此完成,这时候,SHI与SAMPCON是 不同步的。
在ENC置位的前提下,SAMPCON决定是采样还是转换,高即采样,低就保持并转换。SHI有两种模式来控制SAMPCON,即扩展采样模式和脉冲采样模式。
2:采样时间问题。
当设置为扩展采样模式的时候,SHI信号直接控制SAMPCON,从而直接控制采样时间。如果此时SHI信号是由ADC12SC软件控制,即ADC12SC信号不经过sample timer,那么此时ADC12SC不会自动复位,必须人工复位以启动一次转换,如果ADC12SC一直为高,那么它就一直采样。
而脉冲采样模式下的ADC12SC却是复位的。
当AD内核正在采样或转换时,置位ADC12BUSY。
MSP430的datasheet上说采样时间必须达到指定的阀值:它是由AD口信号的输出电阻来决定的,如果电阻R = 10k,则Tsample = 5.13us,即采样时间必须至少大于5.13us。
转换时间是默认的13个ADC12CLK周期。 |