CH579M ADC采样 漏电流 漏电压问题

①开发板在PA5 PA0 PA4 外部未接任何东西,禁止了数字功能的的情况下,ADC选择了某个通道,那个通道的漏电压直接万用表测试会变成3.6~3.9V,用下载器供3.3V电压,ADC选择了引脚也有3.6V的电压,外部接10K 下拉电阻率降到1.8V左右, 外接接1K下拉电阻率降到200mV, 实际使用时这个漏电压对测试会有影响,外接多大的电阻合适?

② 官网例子开了温度采样并输出输出,   ADC_InterTSSampInit() 后 ADC_DataCalib_Rough();才不会卡死?

③ 实际调试程序的时候发现是 选择了通道以后该通道电压才会变高,运行  ADC_ChannelCfg( 9 );  或  ADC_ChannelCfg( 0 ); 后对应通道漏电压变高,漏电压问题有没有什么其他解决办法?

前10通道加校准,后10通道不加校准,增益设置为0,10K接PA4 采样如下: 


2.Single channel sampling..PA0.AIN9 //


RoughCalib=-183 

4045 Vol=2073.852539 mV

4045 Vol=2073.852539 mV

4045 Vol=2073.852539 mV

4045 Vol=2073.852539 mV

4045 Vol=2073.852539 mV

4045 Vol=2073.852539 mV

4045 Vol=2073.852539 mV

4045 Vol=2073.852539 mV

4045 Vol=2073.852539 mV

4045 Vol=2073.852539 mV

4045 Vol=2073.852539 mV

3866 Vol=1982.080078 mV

3866 Vol=1982.080078 mV

3866 Vol=1982.080078 mV

3866 Vol=1982.080078 mV

3866 Vol=1982.080078 mV

3866 Vol=1982.080078 mV

3866 Vol=1982.080078 mV

3866 Vol=1982.080078 mV

3866 Vol=1982.080078 mV



3.Single channel sampling..PA4.AIN0  //实测约1.75V

2691 Vol=1379.663086 mV

3129 Vol=1604.223633 mV

3141 Vol=1610.375977 mV

3148 Vol=1613.964844 mV

3124 Vol=1601.660156 mV

3131 Vol=1605.249023 mV

3138 Vol=1608.837891 mV

3116 Vol=1597.558594 mV

3136 Vol=1607.812500 mV

3135 Vol=1607.299805 mV

3165 Vol=1622.680664 mV

3001 Vol=1538.598633 mV

3006 Vol=1541.162109 mV

3001 Vol=1538.598633 mV

2988 Vol=1531.933594 mV

3014 Vol=1545.263672 mV

3018 Vol=1547.314453 mV

3011 Vol=1543.725586 mV

3001 Vol=1538.598633 mV

3016 Vol=1546.289063 mV


前10通道加校准,后10通道不加校准,增益设置为0,10K接PA0 采样如下: 

2.Single channel sampling..PA0.AIN9  //实测约1.80V


RoughCalib=-183 

2967 Vol=1521.166992 mV

3562 Vol=1826.220703 mV

3572 Vol=1831.347656 mV

3569 Vol=1829.809570 mV

3581 Vol=1835.961914 mV

3582 Vol=1836.474609 mV

3573 Vol=1831.860352 mV

3595 Vol=1843.139648 mV

3597 Vol=1844.165039 mV

3585 Vol=1838.012695 mV

3586 Vol=1838.525391 mV

3392 Vol=1739.062500 mV

3389 Vol=1737.524414 mV

3380 Vol=1732.910156 mV

3398 Vol=1742.138672 mV

3389 Vol=1737.524414 mV

3391 Vol=1738.549805 mV

3388 Vol=1737.011719 mV

3380 Vol=1732.910156 mV

3380 Vol=1732.910156 mV



3.Single channel sampling..PA4.AIN0

4045 Vol=2073.852539 mV

4045 Vol=2073.852539 mV

4045 Vol=2073.852539 mV

4045 Vol=2073.852539 mV

4045 Vol=2073.852539 mV

4045 Vol=2073.852539 mV

4045 Vol=2073.852539 mV

4045 Vol=2073.852539 mV

4045 Vol=2073.852539 mV

4045 Vol=2073.852539 mV

4045 Vol=2073.852539 mV

3866 Vol=1982.080078 mV

3866 Vol=1982.080078 mV

3866 Vol=1982.080078 mV

3866 Vol=1982.080078 mV

3866 Vol=1982.080078 mV

3866 Vol=1982.080078 mV

3866 Vol=1982.080078 mV

3866 Vol=1982.080078 mV

3866 Vol=1982.080078 mV

代码如下:ADC.png


使用ADC采集电压,外部不需要上下拉。确保芯片的ADC引脚处于floating状态即可,采集完成之后可以将该引脚通过程序将引脚配置固定电平,防止漏电。

ADC_DataCalib_Rough函数是用于计算内部误差,会使得ADC采集结果更加准确,是否校准不会对运行产生影响。

采集是floating状态,采集完成后给引脚固定电平即可。



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