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.

[参考译文] MSP430F2410:在4MHz时使用DCO的ADC12噪声

Guru**** 2389610 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/635180/msp430f2410-adc12-noise-using-dco-at-4mhz

部件号:MSP430F2410

您好,

代表我的客户发布:

我发现,如果我从DCO运行ADC12,校准频率为12 MHz,然后将其除以3 (您有寄存器设置来执行此操作),以4 MHz运行,则噪声和线性性能就超出了规范。 我可以从其他时钟设置(包括8 MHz/2)正常运行。 如果可能的话,我想了解一下它的底部。

这是预期行为吗?如果是,原因是什么?

谢谢!

Keith N.
AFA OH/WPA

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好Keith:

    这当然不是预期的行为,但我还有一些问题。
    ADC触发器的来源是什么?
    触发器多久启动一次ADC,又称采样频率是多少?
    ADC的采样和保持时间是多少?
    在设置或更改DCO/MCLK/SMLCK后多久ADC会采集样本?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    这里是设置,我复制粘贴的相关代码片段,希望这就足够了。

    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;
    }

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Dan,您好!

    对于您获得不良结果(12MHz/3)的情况,您是否可以延长您的样品保持时间以查看结果是否得到改善?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我将SH时间增加到64个时钟周期,性能没有任何差异。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Dan,

    我和一位同事一起查看您的代码,我们注意到,您的部门设置方式不是ADC的4MHz。 ADC12DIV_x,其中x是0-7之间的数字。 此参数实际上是将二进制数x设置到寄存器的正确部分。 例如,ADC12DIV_3,在寄存器ADC12CTL1中将二进制数011设置为位位置7,6,5。 二进制3对应时钟除以系数4,而不是3。 如果要除以3,并获得一个4MHz ADC时钟,形成一个12MHz DCO,则需要使用ADC12DIV_2。这可能解释了不同时钟设置和结果之间的一些差异。 我不知道3MHz会如何提供您所看到的结果,除非它只是撞击到您的传入信号的谐波或其他东西。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    感谢您的意见-我想我一直在更改分隔符,但没有更改评论。 但是ADC12DIV_3应该除以4以产生3 MHz,该解决方案运行良好。 我宁愿跑得更快,但不知道这里发生了什么,我希望能安全地保持在3 MHz。

    输入为直流。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    贾斯,丹,

    此行为是否仍然存在? 如果是,是否从外部对时钟进行了双重检查,以确保ADC确实获得了我们期望的时钟?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    据我所能判断,+/- 40 LSB的噪声是我们在为ADC12计时时所期望的性能,方法是将MCLK中的12MHz DCO除以3。 除以2或4,它按规定执行。 我的解决方法和解决方案是除以4,然后从3 MHz运行ADC。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Dan,

    如果您使用奇数分隔器,这种情况是否属实?它是否始终与相同的分隔器一起工作?
    该行为是出现在所有装置上还是仅出现在某些装置上?
    这是已经在TI参考板上验证过,还是只能在您自己的PCB上看到?

    此致,
    Dietmar
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Dietmar你好,我没有尝试用5或更多的分法。 ADC内部时钟也在指定的性能范围内工作,但我希望时间更确定,并且ADC内部时钟没有非常严格的频率规格。 我没有评估版,尽管我们使用'F2410'的两种不同设计确实有评估版。 我们不会大量制作这些,它仅用于夹具,因此现在它工作了,我对结果很满意。 感谢你的帮助。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    全部,

    此问题是否已解决?