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.

关于CC2640R2F ADC参数配置

Other Parts Discussed in Thread: CC2640

ADCBuf_Params.returnMode = ADCBuf_RETURN_MODE_BLOCKING,
ADCBuf_Params.blockingTimeout = 25000,
ADCBuf_Params.callbackFxn = NULL,
ADCBuf_Params.recurrenceMode = ADCBuf_RECURRENCE_MODE_ONE_SHOT,
ADCBuf_Params.samplingFrequency = 10000,
ADCBuf_Params.custom = NULL

customParams.samplingDuration    = ADCBufCC26XX_SAMPLING_DURATION_2P7_US;
customParams.refSource           = ADCBufCC26XX_FIXED_REFERENCE;
customParams.samplingMode        = ADCBufCC26XX_SAMPING_MODE_SYNCHRONOUS;
customParams.inputScalingEnabled = true;

项目中的需求是要规定在一定时间内连续采样,在上述的参数配置、当中,ADCBuf_Params.samplingFrequency代表的是一秒内采样10000次吗?如果以及确定了频率,customParams.samplingDuration又是做什么的呢?这两者一起用会造成冲突吗?如果有人能解答,我很非常感谢!

  • ADCBuf_Params.samplingFrequency=10000是一秒内采样10000次,customParams.samplingDuration是采样时间,二者没有冲突。
    持续采样看下SDK中的adcBufContinuousSampling例程
  • 谢谢你的回复,你可以将adcBufContinuousSampling例程的连接发给我吗?
  • ADCBufCC26XX_SAMPLING_DURATION_2P7_US中的2P7表示2.7个周期,单位是微秒,另一个也是一样的
  • 安装目录C:\ti\simplelink_cc2640r2_sdk_4_10_00_10\examples\rtos\CC2640R2_LAUNCHXL\drivers
  • 好的我注意到了,谢谢你,我还看到了ADC的触发方式可以通过上升沿电平和下降沿电平触发,但我并未看到相关的例子,文档中也只是一句话带过,我想通过上升沿触发ADC采样我该如何配置呢?
  • 例程中需要在200HZ状态下采50个ADC数据,我注意到他的samplingDuration是ADCBufCC26XX_SAMPLING_DURATION_2P7_U,这个参数在程序中起什么作用呢?
  • /*!
     *  @brief  Amount of time the ADC spends sampling the analogue input.
     *
     *  The analogue to digital conversion process consists of two phases in the CC26XX ADC,
     *  the sampling and conversion phases. During the sampling phase, the ADC samples the
     *  analogue input signal. Larger input loads require longer sample times for the most accurate
     *  results. In ADCBufCC26XX_SAMPING_MODE_SYNCHRONOUS mode, this enum specifies the sampling times available.
     */
    typedef enum ADCBufCC26XX_Sampling_Duration {
        ADCBufCC26XX_SAMPLING_DURATION_2P7_US    = AUXADC_SAMPLE_TIME_2P7_US,
        ADCBufCC26XX_SAMPLING_DURATION_5P3_US    = AUXADC_SAMPLE_TIME_5P3_US,
        ADCBufCC26XX_SAMPLING_DURATION_10P6_US   = AUXADC_SAMPLE_TIME_10P6_US,
        ADCBufCC26XX_SAMPLING_DURATION_21P3_US   = AUXADC_SAMPLE_TIME_21P3_US,
        ADCBufCC26XX_SAMPLING_DURATION_42P6_US   = AUXADC_SAMPLE_TIME_42P6_US,
        ADCBufCC26XX_SAMPLING_DURATION_85P3_US   = AUXADC_SAMPLE_TIME_85P3_US,
        ADCBufCC26XX_SAMPLING_DURATION_170_US    = AUXADC_SAMPLE_TIME_170_US,
        ADCBufCC26XX_SAMPLING_DURATION_341_US    = AUXADC_SAMPLE_TIME_341_US,
        ADCBufCC26XX_SAMPLING_DURATION_682_US    = AUXADC_SAMPLE_TIME_682_US,
        ADCBufCC26XX_SAMPLING_DURATION_1P37_MS   = AUXADC_SAMPLE_TIME_1P37_MS,
        ADCBufCC26XX_SAMPLING_DURATION_2P73_MS   = AUXADC_SAMPLE_TIME_2P73_MS,
        ADCBufCC26XX_SAMPLING_DURATION_5P46_MS   = AUXADC_SAMPLE_TIME_5P46_MS,
        ADCBufCC26XX_SAMPLING_DURATION_10P9_MS   = AUXADC_SAMPLE_TIME_10P9_MS
    } ADCBufCC26XX_Sampling_Duration;
    

  • 我还是不太明白,这是一轮采样占用的时间吗?还是采一次的时间?比如我要采200次,我是在2.7us把200次采完(达不到这么快吧)?还是说我每采一次需要花费2.7us
  • 通道采样时间是2.7个周期,不是2.7us。

    通道配置的采样时间是采样一次的时间

  • 谢谢你的解答,采样一次是2.7个周期,默认的采样频率为10000hz(0.1ms),意思是采样一次需要0.27ms的时间吗对吗?如果我说的正确,AUXADC_SAMPLE_TIME_10P9_MS 这个参数代表着采样一次是10.9个周期 默认采样频率为10000hz(0.1ms),是采样一次需要1.9ms对吗?
  • 采样一次所需时间=转换时间+读取时间,CC2640文档中对ADC的介绍比较少,参考下这里430的:www.ti.com.cn/.../slau208q.pdf
  • 好的,谢谢你,我现在已经通过终端显示ADC的数据,但由于我的频率很快,我的终端无法显示全部数据,我看到文档中说我无法读取FIFO的数据,有其他的办法来验证ADC的数据准确性吗?
  • 用函数信号发生器给个信号,然后进行ADC采集,对比一下