- 背景
- APM32F407的一个应用项目,发现ADC端口输入方波时,基准电压会随着输入方波信号跳变而上下跳变。
- 如下图,黄色波形是监测到的基准电压Vref,绿色波形是ADC端口输入的方波信号,方波信号在0~4.5V跳变。2.5V的基准电压,会跳到2.75V。
- 最终排查发现ADC端的输入阻抗过小导致的Vref不稳,直接影响了ADC的采样精度。
- 改动ADC部分原理图
ADC端口输入阻抗为200Ω,VREF电压是3.3V转2.5V。
- 猜测导致此问题可能的原因
针对这个问题,做了以下方案的排查,测试反馈的结果还是差强人意。
-
- 把MCU固件刷掉,单独给ADC管脚输入一个方波,再监测vref管脚是否还会受到影响(排查跟硬件、芯片、代码相关性)
1、发现问题仍然存在,这说明跟软件配置相关性不大。
2、下载代码到开发板对比,是否是代码问题。(开发板端正常,验证了跟软件无关)
-
- 排查基准芯片的影响--断开2.5V VREF基准,把MCU VREF+换到MCU3.3V供电端,看是否还会受到AD输入电压影响。
1、测试结果还是有影响,问题仍然存在。
- 检查板子电源,外围电路的影响。
- 查看MCU手册,ADC部分对输入阻抗是由要求的。根据软件配置的Ts选择适配的输入阻抗。
- 图中RAIN为输入阻抗(芯片外的电路)
- Radc是采样电阻,Cadc是采样电容(芯片内部电路)
- ADC采集时,会有电流流入,输入阻抗会产生一个压降。
- ADC充电常数:Tc=(Radc+Rain)xCadc,可见,Tc时间过长或者过短都会影响ADC采样精度。
- 结合另一个知识点,当ADC输入电压超过基准电压,不管时间长短,都会向基准电压源注入电流,因此基准电压源一定会吸收一定量的电流,在此输入阻抗RAIN吸收了部分电流。如果输入阻抗过小,就导致能量溢出,当ADC输入电压从0V跳变到4.5V时(超过2.5V基准电压),导致基准电压源吸收电流,电压变大,产生基准电压跟随跳变。
- 因此基准电压源可集成具有足够的驱动电流的缓冲器,也可以采用运算放大器作为缓冲器(客户电路直接是通过LDO3.3V转2.5V的基准电压,没有缓冲器)。
所以,将输入阻抗改大到10K,或者在基准电压源增加缓冲器,使用稳压源作基准电压。这样问题就解决了。
---------------------
作者:Fordhs168
链接:https://bbs.21ic.com/icview-3262280-1-1.html
来源:21ic.com
此文章已获得原创/原创奖标签,著作权归21ic所有,任何人未经允许禁止转载。