今天周六,来公司调试自己画的线路板。
本部已经有工程师调试过了其中的大部分功能,但是还有两个问题找不到原因。
原本非常抗拒,因为有太多不可控的因素,比如:
1、对于没解决的问题是因何导致,还没有思路,有可能到了我的手里也还是解决不了。
2、芯片的编程。板子上使用的芯片是最新的系列,还完全没接触过,要在上面跑程序验证会遇到很多问题。
3、办公室的烙铁很难用,也没有常用的器件可以替换。
但是因为本部的工程师很忙(昨天甚至以为弹窗只能home office),没办法,只能硬着头皮上。
昨天(周五)下午线路板寄到了手里。
早晨十点多到了办公室,开始调试。
准备先把已知的问题解决,一个电阻电容因为丝印的关系焊反了,小心地把电阻取下,0402的电阻太小了,在清除上面的焊锡时不小心飞了出去,不知去向……
果然是怕什么来什么,索性另外一个电容也丢掉了,反正不影响关键功能。
烧写板子上芯片A的代码很顺利,还调整了LED输出,但是烧写芯片B遇到了大麻烦。
仿真器识别不到芯片,使用其他板子上的仿真器连接芯片B,芯片B有两路电源,芯片A有一路电源,光是找该怎么供电就找了半天,还问了本部的工程师,他给了关键的提示,终于在下午两点多烧进了程序。
但是程序却没办法正常工作,第一次写芯片B的代码,基于Linux的实时系统,想点个灯都做不到。
查资料查论坛,忙了半天总算把灯点亮。
然后就剩下找没解决的问题的原因。
发现了一个异常的现象,推理可能是之前假设的电容问题,线路板上有三颗铝电解,拆掉了两颗,问题现象变了,顺着思路验证下去,竟然真的找到了原因。
应该是因为使用充电芯片,却没有挂电池,过多的电解电容相当于一个大号电池,上电时因为某些时序问题,被识别成电量低的电池,进行涓流充电,直到电压达到一定程度才开始快速充电,电压快速上升,达到芯片的启动阈值,芯片开始正常工作。
到了下午五点多,不仅摸清了整个电路板的工作机制,还找到了问题的原因,异常顺利。
回顾整个过程,最开始心里非常虚,因为有太多的不了解不可控因素,如果不是迫不得已,不会接这个任务。
真正接了之后,随着不可控因素一个个被确定,待解决的问题越来越少,也越来越有信心。
再加上一点运气,竟然就顺利解决了。
看来遇到困难,不要虚啊,条分细缕把问题归类,一个个攻坚,终究会解决,不要让问题搅成一团。
能力就是在解决一个个问题的过程中获得提高的。
有困难多硬着头皮上,可能就真得变得头铁了。
左边是自己画的线路板,考虑到可能需要保密,还是模糊一下吧
网友评论