你测的已经比较接近手册数值了,其实还可以提高的,只不过速度高了可能转换后的数值不准确。ADC12OSC是随温度变化的,你要再提高采样频率的话,可以尝试SMCLK,用更高的频率。 采样定时器是控制采样保持单元的,用于控制采样保持的时间。 Henjay724 发表于 2012-12-4 12:34 static/image/common/back.gif
我把convClk改成了MCLK(8MHz),但是测试下来采样率几乎没有提升,为何?看帖子新增的测试2 ...
能把你整个测试的代码给我吗? 我是菜鸟,想问一下为什么加时钟分频之后结果就一直为0 呢
WDTCTL = WDTPW+WDTHOLD; // Stop watchdog timer
P6SEL |= 0x01; // Enable A/D channel A0
ADC12CTL0 = ADC12ON+SHT0_8+MSC ; // Turn on ADC12, set sampling time
delay(100);
ADC12CTL1 = SHP+CONSEQ_2+ADC12SSEL_1+ADC12DIV_2;// Use sampling timer, set mode
ADC12IE = 0x01; // Enable ADC12IFG.0
ADC12CTL0 |= ENC; // Enable conversions
_EINT();
// Enable interrupts
ADC12CTL0 |= ADC12SC; convClk,sampClk应该是由同一个时钟源产生的 楼主的分析很深入,但是看芯片手册及内部电路图确实有这样的疑问,对应ADCCLK在不分频的情况下确实要高于200ksp的采样率但是实验的结果又是低于200的, 利用楼主的程序测试G2553芯片内部的ADC10得到的实际最大采样率只有131ksps 但是注意到芯片手册上great than 200ksps convert rate 翻译过来是比200ksps大的转换率还是最大200ksps转换率,另外芯片手册上说ADC10CLK的最大时钟6.3M,但实际达到2.6M的时候转化率已经不变了, 学习了顶一个 并不是说你用的时钟频率越大,采样率就会越高了。对于芯片的AD的采样时钟,是有极限值的。 具体请仔细看看芯片的数据手册里的“ 12-Bit ADC, Timing Parameters” 本帖最后由 guxingganyue 于 2014-5-8 10:57 编辑
楼主问题解决了吗
我对430的这个AD也有疑问。
当div=1时时间最短,即13/5=2.6us或13/6.3=2.06us
再加上采样、保持时间,估计采样率会大于200Ksps
但是实际上一般使用外部8M晶振,这里肯定要分频,这样一来采样率就达不到200K了??? 我怎么感觉采样时钟与转换时钟是一个。。。。。。。晕了
页:
[1]