[信息] 【实战经验】ADC 对小信号的转换结果为零

[复制链接]
 楼主| 香水城 发表于 2015-7-21 09:38 | 显示全部楼层 |阅读模式
本帖最后由 香水城 于 2017-8-17 14:31 编辑

ADC 对小信号的转换结果为零

问题:
该问题由某客户提出,发生在 STM32F103VBT6 器件上。据其工程师讲述:在其产品设计中,使用了 STM32 的 ADC 扫描按键。在软件调试时,发现对于小于 200mV 的输入信号,ADC 转换出的结果匀为 零。ADC 的参考电压为 3.3V,根据公式计算:
1.PNG

不应该是零。

调研:
检查 STM32 的各路电源,包括 VDD、VDDA、VBAT,匀为 3.3V,未见异常。检查各路接地,包括 VSS、VSSA,与电源地接通良好。检查 Vref+,发现该信号与 VDDA 之间有电阻。检查 Vref-,发现该 信号与地之间有电阻。检查原理图,确认,Vref+与 VDDA 之间有一 10K 电阻,Vref-与地之间有一 10K 电阻。修改 PCB,将两个 10K 电阻换成零欧电阻,重新运行软件测试,转换结果正确。
结论:
ADC 的参考信号设计错误。Vref+与参考电源之间有较高的阴抗,Vref-与 VSSA 之间有较高的阻抗, 导致 ADC 的参考值产生偏移。
处理:
Vref+与 VDDA 之间改用零欧电阻连接,Vref-与 VSSA 之间改用零欧电阻连接。
建议:
数据手册中给出的 Vref 输入电流的典型值为 160uA。这一电流在 50Ω 电阻上的压降为 。当参考电压为 3.3V 时,1 个 LSB 的转换值对应的输入电压值为
2.PNG
按以上计算结果,这种情况下,电阻带来的参考电压的偏移,相当于 10 个 LSB 的转换值,已经和数据手册中给出的 ADC 的最大误差相差无几。所以,当需要在 Vref 前设置滤波器的设计中,由滤波器产生的参考电压的偏移是要加以考虑的。 通常,LC 滤波器较 RC 滤波器更适合这方面的应用。

对应的PDF: ADC 对小信号的转换结果为零
更多实战经验请看: 【ST MCU实战经验汇总贴】


fanxsd 发表于 2015-7-21 09:46 | 显示全部楼层
好实战的帖子,吸引21IC的人气。
奔牛滚滚 发表于 2015-7-21 10:29 来自手机 | 显示全部楼层
很好,多谢提醒
mmuuss586 发表于 2015-7-21 11:40 | 显示全部楼层

不错,不过我一般差分采样
wolfhui 发表于 2015-7-21 12:27 | 显示全部楼层
学习了,一直没注意这块
您需要登录后才可以回帖 登录 | 注册

本版积分规则

认证:意法半导体(中国)投资有限公司
简介:STM32技术专家

596

主题

17195

帖子

291

粉丝
快速回复 在线客服 返回列表 返回顶部