这是一篇老文章了,再分享下。
研发的过程就是填坑的过程,硬件工程师的坑太多,两只脚都不够踩,把两只手加上恐怕也不够。
看海采坑小课堂,今天分享下曾经在产线踩的坑,又是和哥们有关,我顺便帮忙填了填。
出差去产线支持是硬件工程师的家常便饭,一次我出差,解决了自己项目组的问题后在客户办公室偷得浮生半日闲,突然刷到产线大群,有兄弟项目组的哥们喊人借用串口线,好像是串口出问题了,恰好我手里有一根,走,过去瞅瞅。
过去后看到哥们愁眉苦脸坐在车间角落小桌子旁,激起他们喜悦的不是我的到来,而是我手里的串口线,看来线比人值钱。
换了我手里的串口线后,问题依然没有改变,哥们又恢复愁眉苦脸的神情。旁边有一软件的兄弟,一脸淡定,我看懂他的意思:和软件无关,是硬件问题。
我了解下经过,是产品modem模块出现异常导致机器无法开机,如果想要分析modem的问题根因,需要通过串口输出的log进行分析,但是破船又遇打头风,偏偏串口出现异常,无法正常吐log,试产首批验证的板子100% failed,没有锁定问题根因,后面几千片试产板子就不能SMT贴片,一直卡在产线,每耽误的一分钟都是白花花的银子。
也难怪哥们愁眉苦脸,我问有确定是硬件问题还是软件问题吗?软件同事先开口:不是软件问题,相同的软件版本在家里的机器就没问题。看他一脸自信,我心想别得意的太早,谁笑道最后还不一定呢。
当前的主要问题是解决串口异常。
哥们是位非常有经验的硬件工程师,我也记得串口线路上的线路非常简单,如下图,串口TX线路上一般只有一个硬件开关,然后直连到type c接口上,这么简单的线路怎么会出问题呢?
哥们把TX线路上所有的东西全拆了,可是UART还是异常,我也纳闷了,交叉验证换了电脑,换了串口线,问题没有任何进展。
你确定线路上所有东西都拆了吗?哥们对自己的电路非常熟悉,他说能拆的都拆了,甚至把开关也拆掉,现在UART是从CPU直连到type c的,我也纳闷了。
多说无益,看图说话。
我看了下示波器UART TX波形,波形有点接近下图,我心里一惊:这充放电有点像有容性负载啊。
软件同事在旁边盯着示波器一脸懵逼,我和哥们交换了个眼色,一切尽在不言中。
让哥们在主板上飞线测UART波形,主板测量波形是异常的。
我不信走线会有这么大容性负载,一定要找到哪里来的电容,我说拆!TX数据链路如下图,主板到连接器到FPC到type c接口。
拆下主板FPC波形一下ok,UART log正常输出,哥们眼睛一亮,我说继续拆!
组装好后,拆掉小板连接器,波形一下就ok,问题锁定在小板上!
为啥小板出问题呢?这可是直连啊!
哥们再打开图纸,经过十二万分仔细检查,在一个隐秘的角落,看到了一个并联在UART TX上的小电容,哥们一下炸了!
靠!谁在我这里并联的电容啊!
(哈哈,我心里已经有数了,不动声色劝下了哥们手里的刀)
拆掉这个电容一切ok,就是这个电容导致的,幸亏开始时我没有怼软件,否则小丑就是我自己。而软件同事此时也不知道转到去哪里玩去了。
为什么会并这个电容呢?原来是UART工作时 TX会影响EMC,兄弟部门的同事就在这里加了个小电容,那最终应该怎么解决这个问题呢?对于这个问题我们和EMC同事都不用纠结,因为UART只在试产时使用,量产时不用,而且硬件上有开关会断开这个通路,皆大欢喜。
硬件的坑很多,前线的坑更多,除了扎实的基础,还需要足够的耐心,要胆大心细,还需要运气。说不准就会踩什么坑呢?
格外多说一句,像这种工作分工界限比较模糊的地带,发生冲突是正常的,我们应该持有包容的心态来对待,说不准下次就轮到我们给他们挖坑呢,而且EMC同事态度也很好,连连抱歉。
看海采坑小课堂,今天就介绍到这里,你都遇到哪些坑呢?