FR801xH怎么实现多通道ADC采集



  • demo中的例程只是一个ADC采集,想同时采集多个ADC无法实现



  • @abcFR801xH怎么实现多通道ADC采集 中说:

    demo中的例程只是一个ADC采集,想同时采集多个ADC无法实现

    IO 复用 adc 采集外部电压, 参考例程 2: sample voltage form PAD, 也是可以直接 copy 配置使用, 注意通道配置, 外部 ADC 有四路, 对应 PD4~PD7,初始化时将对应 IO 配置成对应 ADC 功能, 然后 cfg.channels 做通道配置, 一个 bit 表示一个通道: PD4=BIT0=通道 0、 PD5=BIT1=通道 1、 PD6=BIT2=通道 2、 PD7=BIT3=通道 3; 可以四个通道同时使能, 即 chl=0x0f;Get result 时也注意下通道参数配置。
    通过获取的 adc 值得到电压值方式:
    ref_vol = adc_get_ref_voltage(ADC_REFERENCE_AVDD);
    vbat_vol = (result * ref_vol) / 1024;



  • 单个ADC采集数据正常稳定,同时打开4个ADC通道采集到的数据变化大,并且ADC通道间互相影响



  • 多通道采集时,一般在adc_enable之后做个delay,保证采样完成; 比如分频配置0x01,
    clk = 56k/2/15 = 1.86k = 540us左右,两个通道转换完需要1ms以上。

    多通道采集需要降低采样率 否则会相互影响