又一电源问题引发的灾难

2019-07-14 01:44发布

data/attach/1907/n3oqcy3ru7y3880ig9lu86xvsoc8eaqk.jpg 电路设计过程中,出现很多莫名其妙的问题,其中因电源设计不当造成广大研发人员困扰的问题占很大比重。 今天,又遇到一起因电源问题引发的灾难。而且结局具有戏剧性。 故事的主角如下,是一块STM32F030的系统,PA0-7,PB0是模拟输入,模拟电源采用TL431电路提供。


笔者在调试ADC部分代码时,一旦启动ADC,系统就无限重启,通过调试发现并未进入任何错误中断,那么问题会出在哪里呢。 为了排除软件问题,笔者将其他系统的代码完整的移植过来,依然是错误如初。 后来测量硬件电压,3.3V正常,2.5V电压偏低,因为笔者使用ST-Link V2 直接给系统供电,认为是否因为其供电能力不足引起的呢。 故在J1接口输入3V左右电源,2.5V电压正常,但仍然是老样子。启动ADC后,系统无限重启。 其他系统代码工作正常,该系统不能工作,那么问题还是该系统硬件问题,继续排查~ 突然发现,TL431电路的330R电阻是标识是“010”,该标识是10k 1%精度电阻标识,我的天啊~ 问题出在这里了,10k电阻过大,为系统供电提供电流不足,导致VDDA电源供电不正常,系统无限重启。 更换330R电阻,系统工作正常。

总结:该设计尽量采用验证过的成熟电路,但是依然因为焊接失误为调试程序带来很多麻烦,电源的设计需要提起足够的重视,焊接方面也需要认真仔细。