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.

RM42L432 adc

Other Parts Discussed in Thread: RM42L432, HALCOGEN

各位好我在使用RM42L432时,配置如下。Totaltime配置为0.95us。按道理来说这时的采样率应该超过1M。但是实际测试只有500k。这个是怎么回事? 谢谢

  • 如之前帖子中给出的计算方法,周期时间为33.33 ns(这是最大的ADC时钟频率)时,采样时间约为233ns,转换时间为433ns。如果将它们相加,则一个通道转换约为666ns。这就是用1.5MSPS得出的结果。

    但如上图所示,这是理论值,实际上您的时钟设置无法达到该速度。注意,ADCLK是从VCLK预分频的。为了达到ADCLK = 30MHz,您需要相应地缩放VCLK,HCLK和GCLK。  

  • 非常感谢,
    1、是这样的,我们现在的项目是要确切知道,我当前配置的AD的采样率是多少。但是配置完HALcogen后,对其中的totaltime取倒数好像不正确。除了每次配置完实测下。有什么办法可以通过配置计算出当前的采样率吗?谢谢,项目比较急。麻烦了。
    2、关于生成的adcIsFifoFull(adcREG1,adcGROUP1);函数和 adcIsConversionComplete(adcREG1, adcGROUP1);函数有什么区别。在连续转换时转换完成和fifo满是一回事吗?
  • 1 很抱歉,目前没有这种方式来计算

    2 adcIsFifoFull这个只是用来检测FIFO是否full

    关于转换完成,在下面的文档内也有说明

    16.3.7 How to Know When the Group Conversion is Completed

    Each conversion group has a status flag to indicate when its conversion has ended. See ADEVSR, ADG1SR, and ADG2SR. This bit is set when a conversion sequence for a group ends. This bit does is always set if a group is configured for continuous conversions.

    我认为FIFO满了,就可以进行读取,也就表示转换完成

    关于ADC的基本流程可以参考 www.ti.com.cn/.../spnu516c.pdf

    16.3.11 Example Sequence for Basic Configuration of ADC Module