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.

[参考译文] MSP430FR2433:ADC 采样频率问题

Guru**** 2533050 points


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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1202559/msp430fr2433-problem-with-adc-sampling-frequency

器件型号:MSP430FR2433

我正在处理一个使用 PWM 波作为 ADC 触发器的项目、我可以通过改变 PWM 波的脉冲宽度来调整采样频率。 转换结果将存储在电路板中的寄存器 ADCMEM0中、在中断服务路由(ISR)期间、ADCMEM0中的数据将提供给名为 ADC_Result 的变量。 不过、无论我如何更改脉冲宽度、在一个周期内只能获得几个样本(我尝试了高频波和低频波)、这意味着确切的采样频率极低。 有人知道如何解决这个问题吗?

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

    执行转换所需的时间取决于 ADC 配置。 时钟源、时钟分频器和采样时间等。 您必须展示您的 ADC 配置和计时器、因为您说它是触发器。

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

    David、您好、谢谢您的回答、我的 ADC 配置和定时器如下所示、您可以来看一下吗?

    //配置 ADC;

      ADCCTL0 = ADCSHT_2 | ADCON;             // ADCON

      ADCCTL1 = ADCSHP | ADCSHS_2 | ADCSSEL_1 | ADCCONSEQ_2;      // Rpt通道;针对 ADCCLK 的 ACLK;TA1.1触发

      ADCCTL2 = ADCRES;                  // 10位转换结果

      ADCMCTL0 = ADCINCH_1 | ADCSREF_1;          // Vref 1.5v,a1.

      ADCHI = High_Threshold;               //窗口比较器高阈值

      ADCLO = Low_Threshold;                //窗口比较器低阈值

      ADCIE |= ADCHIIE | ADCLOIE | ADCINIE;        //启用 ADC 转换完成中断

     //配置 ADC 计时器触发器 TA1.1

      TA1CCR0 = 16384-1;                  // PWM 周期

      TA1CCR1 = 8192-1;                  //占空比 TA1.1

      TA1CCTL1 = OUTMOD_3;                 // TA1CCR1设置/复位模式

      TA1CTL = TASSEL_1 | MC_1 | TACLR;          // ACLK,向上计数模式

      ADCCTL0 |= ADCENC;                  //启用转换

    触发器被设定为每0.5s 采样一次

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

    使用 ACLK 作为 ADC 几乎可以肯定会导致问题、因为为满足 ADC 规范而需要的最低频率为450KHz。 请参阅数据表。

    这看起来是为了设置每个触发器执行一个转换。 计时器周期(CCR0)控制它。

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

    您无法使用占空比控制采样率、因为无论占空比如何、每个周期只有一个边沿。 您可以使用 PWM 频率(CCR0)控制它。