研發的過程就是填坑的過程,硬體工程師的坑太多,兩隻腳都不夠踩,把兩隻手加上恐怕也不夠。
今天分享下曾經在產線踩的坑,又是和哥們有關,我順便幫忙填了填。
出差去產線支援是硬體工程師的家常便飯,一次我出差,解決了自己專案組的問題後在客戶辦公室偷得浮生半日閒,突然刷到產線大群,有兄弟專案組的哥們喊人借用串列埠線,好像是串口出問題了,恰好我手裡有一根,走,過去瞅瞅。
過去後看到哥們愁眉苦臉坐在車間角落小桌子旁,激起他們喜悅的不是我的到來,而是我手裡的串列埠線,看來線比人值錢。
換了我手裡的串列埠線後,問題依然沒有改變,哥們又恢復愁眉苦臉的神情。旁邊有一軟體的兄弟,一臉淡定,我看懂他的意思:和軟體無關,是硬體問題。
我瞭解下經過,是
產品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同事態度也很好,連連抱歉。