问题描述
客户在使用 STM32G0B1 进行产品开发的时候,使用到了 ADC 模块通道 0 进行电压检测,在产品生产过程中,测试发现某些样机 ADC 采样到的数据与实际不符合,误差比较大,样品除了 ADC 采样数据误差较大,其它功能都正常,客户进行了交叉测试,发现问题是随着 MCU 走,因此排除了板子的问题,同时我方对客户的原理图以及软件部分代码进行了复查,也没有发现问题。
因此客户怀疑这些样片有缺陷,申请了 FA 检测,最终的测试报告表示样片正常,但是客户需要一个解释,为什么某些样片会存在 ADC 采样数据偏差较大。
问题分析
通过客户反馈信息来看,排除了软件代码的问题,同时也排除了电路原理图的问题,而 FA 测试也排除了芯片本身的问题,Division 在客户返回的样品上进行应用测试,得出的结论是,ADC 在参考电压 3.3V 的情况下,ADC 转换得到的数据是符合要求的。而客户的板子,ADC 参考电压为 1.8V,重新进行测试,最终发现 ADC 转换的数据偏差在 20mV 左右。
问题解决
STM32G0B1 ADC 的局限性,导致了这个问题,如果使用 STM32G0 系列 ADC,需要得到精确的采样数据,注意 ADC 的参考电压不得小于 3.0V。
总结
在设计之前,强烈建议客户除了阅读参考手册,数据手册等资料外,阅读芯片勘误表也是极为重要的,这样可以规避芯片本身已知的一些局限。
529