CH582单片机的ADC无法测量0-3.3V范围电压

你好,CH582单片机的ADC无法测量0-3.3V范围电压,只能测量0-2v的电压。 在0-2v的输入时,ADC的转换值为0-4080,超过2v后一直为4080.

ADC的PGA增益无论是配置成ADC_PGA_1_4 (-12db)或者ADC_PGA_0 (0db),结果都一样。不知哪里出了问题。

我的应用场景为测量电位器旋钮的位置,不需要精确,能粗略达到0-3.3v对应ADC值为0-4095转换值即可。下面为我的代码


//PA5 AIN1 - 光

#define GPIO_Pin_Light                              GPIO_Pin_5

#define ADC_Channel_Light                           1

//PA0 AIN9 - 旋钮

#define GPIO_Pin_Knob                               GPIO_Pin_0

#define ADC_Channel_Knob                            9

//PA4 AIN0 - 火焰离子

#define GPIO_Pin_Ion                                GPIO_Pin_4

#define ADC_Channel_Ion                             0


void adc_init(void)

{

    uint8_t pga = ADC_PGA_1_4;

    GPIOA_ModeCfg(GPIO_Pin_Knob, GPIO_ModeIN_Floating);

    GPIOA_ModeCfg(GPIO_Pin_Light, GPIO_ModeIN_Floating);

    GPIOA_ModeCfg(GPIO_Pin_Ion, GPIO_ModeIN_Floating);


    DelayMs(20);

    ADC_ExtSingleChSampInit(SampleFreq_3_2, pga); //

    ADC_PGACfg(pga);

    RoughCalib_Value = ADC_DataCalib_Rough(); // 用于计算ADC内部偏差,记录到全局变量 RoughCalib_Value中

    PRINT("#adcInit, ADC_PGA:%d, Calib_Value = %d \n", pga,RoughCalib_Value);

}


// 执行ADC转换 - 旋钮,每隔100ms调用一次

void excuteAdcConver_knob(void)

{

    ADC_ChannelCfg(ADC_Channel_Knob);

    adcRaw_knob = ADC_ExcutSingleConver() + RoughCalib_Value;

    if(adcRaw_knob < 0){

        adcRaw_knob = 0;

    }

}


//获取未做滤波处理的ADC值

uint16_t getAdcRaw_knob(void)

{

    return adcRaw_knob;

}


//下面为函数片段,每隔100ms调用一次

// 100ms周期,ADC转换,光和旋钮

    if(events & SENSOR_TASK_EVT_PERIOD_100MS){

        //adc检测

        excuteAdcConver_knob();

        excuteAdcConver_light();

        return (events ^ SENSOR_TASK_EVT_PERIOD_100MS);

    }


电路情况:

电位器旋钮为50k欧,三个管脚分别接GND,GPIO_Pin_Knob,3.3V。电位器中间抽头经过一个RC滤波(1k欧电阻+0.1u电容)接入单片机ADC引脚。

万用表实测在旋钮最小和最大之间旋转时,单片机的ADC管脚的电压为0-3.3V变化。VINTA管脚的电压为1.06V。单片机 不 启用内部DC-DC


项目被卡在这里,麻烦大神请帮忙分析下,万分感激!!!!!!

使用0dbm增益的时候,实际测量范围是0-2V,但使用-12dbm理论上是可以测到0-VIO33的电压的,但是不同增益的计算公式是不同的,所以需要注意,相同的模拟值,不同的增益对应着不同的电压值,这个可以参考手册的公式。也可使用我们adc例程做个简单测试,确保代码无误。

emobile_2022-07-05_19-18-03.png



只有登录才能回复,可以选择微信账号登录