您好,
代表我的客户发布:
我发现,如果我从DCO运行ADC12,校准频率为12 MHz,然后将其除以3 (您有寄存器设置来执行此操作),以4 MHz运行,则噪声和线性性能就超出了规范。 我可以从其他时钟设置(包括8 MHz/2)正常运行。 如果可能的话,我想了解一下它的底部。
这是预期行为吗?如果是,原因是什么?
谢谢!
Keith N.
AFA OH/WPA
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
您好,
代表我的客户发布:
我发现,如果我从DCO运行ADC12,校准频率为12 MHz,然后将其除以3 (您有寄存器设置来执行此操作),以4 MHz运行,则噪声和线性性能就超出了规范。 我可以从其他时钟设置(包括8 MHz/2)正常运行。 如果可能的话,我想了解一下它的底部。
这是预期行为吗?如果是,原因是什么?
谢谢!
Keith N.
AFA OH/WPA
这里是设置,我复制粘贴的相关代码片段,希望这就足够了。
MSP430F2410TPMR的1K/1000pF RC引脚59低通,由200-300 mV区域的静音源驱动。 2.5V外部参考REF5025IDGK,带有推荐的降噪盖。 TPS7.1533万稳压器驱动整个过程。
DCO运行频率为12 MHz,软件大约每50毫秒触发一次。 如果ADC时钟源是内部的,或DCO/2或DCO/4,或者如果我将DCO设置为8 MHz并除以2,则会得到预期的结果。 但12 MHz/3会产生可怕的结果。 附加的数据示例。
BCSCTL1 = CALC1_12MHz;
DCOCTL = CALDCO_12MHz;
ADC12CTL0 = SHT1_1 + SHT0_1 + ADC12ON; // 8时钟周期SH时间
// vvvv更改此行中的时钟源和分频
ADC12CTL1 = SHP | ADC12DIV_3 | ADC12SSEL_2; //使用12-MHz MCLK /4作为时钟源和采样计时器
ADC12MCTL0 = SREF_7 + CURRENT_DAC; //通道0中的外部参考
//要从软件触发读数:
{
ADC12CTL0 || ENC + ADC12SC; //开始采样和转换
while (ADC12CTL1和ADC12BUSY);//无论DCO是否用于ADC时钟源,都保持DCO打开
ADC12CTL0 &=~ENC; //禁用ADC转换
返回ADC12MEM0;
}