C8051F350模拟电源的小问题 后续
0赞对本文感兴趣的朋友,可以先看一下上一篇文章《一个关于C8051F350模拟电源的小问题》
上一次并没有为这个问题找到理论支撑。今天在调试另一块板子的时候,发现了类似的问题,但表现得没有上次那么彻底。
今天的问题是,350采集到的AD值偶尔会不正常。还有就是,刚开机的时候有时候会有不正常的测量值,但过一小会能够返回到零点。(同事认为这是正常的或者说可以接受,估计也没有在意这个问题)。
考虑了许久,看了一下原理图和PCB,发现设计者同样是采用REF5030输出的参考电压作为350的模拟电源(AV+),结合之前的经验,有理由怀疑是350的ADC没有能够正常工作。
所以又翻出来350和REF5030的datasheet,仔细阅读了相关内容,又有了一些发现,实际上更确切地说是上次分析问题时候的遗漏。
关于350的AV+,datasheet上的相关内容有
AV+的定义
AV+电压和电流要求
上次由于不求甚解,忽略了AV+供电电流问题,自以为是的以为10mA是够用的,当然从上面的图看来,10mA好像也是够用了,但是。。。。
关于REF5030能够提供的负载电流
上次只是看REF5030第一页上的介绍,就想当然的以为REF5030输出电流为10mA。
选择性地忽略了电流的符号。这次仔细看DS,发现下面这张图:
上图指示的是REF50xx输出的电流和输出电压的对应关系。
在测量REF5030输出电压时,测量到的电压值并不是3.0V,考虑到上图的对应关系,REF5030输出的电流大小也不得而知(DS内没有5030的电压电流关系图)。所以可以说使用参考电压源进行供电,本身就是不合理的设计。
至此,关于AV+是连接到3.3V还是REF5030产生的3.0V,已经在理论上有了一个说的通的结论。
可惜的是,检测部的同事说以前的仪器从没出现过类似问题,这让cuter的把握小了一些,同时也觉得很蹊跷。最后告诉自己或许是他们忘记了或者忽略了,还是用事实来验证吧。
实验验证
带着这个理论支撑,cuter再次对PCB板进行动刀,割线、飞线。硬件电路修改完毕后,反复开关机40次左右,未发现AD值有不正常的现象。也没有出现过刚开机不正常,过一小会跳变到正常的现象。
发散思考
到这里,针对今天遇到的这个问题,算是有了圆满的解决办法。
仔细回想一下,之前同事为了解决350上电复位不成功的问题。将350的复位引脚飞线到主控MCU上,利用主程序强制对350进行复位。其根本原因,恐怕也是350的模拟供电不合理。参照上一篇博文遇到的问题和最终的解决方法,这个把握还是比较大的。
在接下来新生产的仪器中,可以在修改供电的同时,去掉复位用的代码,测设一下cuter的想法,想必能够得到验证。
结束语
在设计过程中,会有很多想当然,比方说遇到一些偶发的故障,首先想到的是芯片质量不好,而不是想到自己设计的电路不稳定。。。周围人和自己都有的毛病,这是需要改掉的。