▼關注公衆号:工程師看海▼
研發的過程就是填坑的過程,硬體工程師的坑太多,兩隻腳都不夠踩,把兩隻手加上恐怕也不夠。
看海采坑小課堂,今天分享下曾經在産線踩的坑,又是和哥們有關,我順便幫忙填了填。
出差去産線支援是硬體工程師的家常便飯,一次我出差,解決了自己項目組的問題後在客戶辦公室偷得浮生半日閑,突然刷到産線大群,有兄弟項目組的哥們喊人借用序列槽線,好像是序列槽出問題了,恰好我手裡有一根,走,過去瞅瞅。
過去後看到哥們愁眉苦臉坐在工廠中的房間角落小桌子旁,激起他們喜悅的不是我的到來,而是我手裡的序列槽線,看來線比人值錢。
換了我手裡的序列槽線後,問題依然沒有改變,哥們又恢複愁眉苦臉的神情。旁邊有一軟體的兄弟,一臉淡定,我看懂他的意思:和軟體無關,是硬體問題。
我了解下經過,是産品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隻在試産時使用,量産時不用,而且硬體上有開關會斷開這個通路,皆大歡喜。
硬體的坑很多,前線的坑更多,除了紮實的基礎,還需要足夠的耐心,要膽大心細,還需要運氣。說不準就會踩什麼坑呢?