愛伊米

乾貨|EMC?串列埠的坑你踩過嗎?

研發的過程就是填坑的過程,硬體工程師的坑太多,兩隻腳都不夠踩,把兩隻手加上恐怕也不夠。

今天分享下曾經在產線踩的坑,又是和哥們有關,我順便幫忙填了填。

出差去產線支援是硬體工程師的家常便飯,一次我出差,解決了自己專案組的問題後在客戶辦公室偷得浮生半日閒,突然刷到產線大群,有兄弟專案組的哥們喊人借用串列埠線,好像是串口出問題了,恰好我手裡有一根,走,過去瞅瞅。

過去後看到哥們愁眉苦臉坐在車間角落小桌子旁,激起他們喜悅的不是我的到來,而是我手裡的串列埠線,看來線比人值錢。

換了我手裡的串列埠線後,問題依然沒有改變,哥們又恢復愁眉苦臉的神情。旁邊有一軟體的兄弟,一臉淡定,我看懂他的意思:和軟體無關,是硬體問題。

我瞭解下經過,是

產品modem模組出現異常導致機器無法開機,如果想要分析modem的問題根因,需要透過串列埠輸出的log進行分析,但是破船又遇打頭風,偏偏串口出現異常,無法正常吐log,

試產首批驗證的板子100% failed,沒有鎖定問題根因,後面幾千片試產板子就不能SMT貼片,一直卡在產線,每耽誤的一分鐘都是白花花的銀子。

也難怪哥們愁眉苦臉,我問有確定是硬體問題還是軟體問題嗎?軟體同事先開口:不是軟體問題,相同的軟體版本在家裡的機器就沒問題。看他一臉自信,我心想別得意的太早,

誰笑道最後還不一定呢。

當前的主要問題是解決串列埠異常。

哥們是位非常有經驗的硬體工程師,我也記得串列埠線路上的線路非常簡單,如下圖,串列埠TX線路上一般只有一個硬體開關,然後直連到type c介面上,這麼簡單的線路怎麼會出問題呢?

乾貨|EMC?串列埠的坑你踩過嗎?

哥們把TX線路上所有的東西全拆了,可是UART還是異常,我也納悶了,交叉驗證換了電腦,換了串列埠線,問題沒有任何進展。

你確定線路上所有東西都拆了嗎?哥們對自己的電路非常熟悉,他說能拆的都拆了,甚至把開關也拆掉,現在UART是從CPU直連到type c的,我也納悶了。

乾貨|EMC?串列埠的坑你踩過嗎?

多說無益,看圖說話。

我看了下示波器UART TX波形,波形有點接近下圖,我心裡一驚:

這充放電有點像有容性負載啊。

乾貨|EMC?串列埠的坑你踩過嗎?

軟體同事在旁邊盯著示波器一臉懵逼,我和哥們交換了個眼色,一切盡在不言中。

讓哥們在主機板上飛線測UART波形,主機板測量波形是異常的。

我不信走線會有這麼大容性負載,一定要找到哪裡來的電容,我說拆!TX資料鏈路如下圖,主機板到聯結器到FPC到type c介面。

拆下主機板FPC波形一下ok,UART log正常輸出,哥們眼睛一亮,我說繼續拆!

組裝好後,拆掉小板聯結器,波形一下就ok,

問題鎖定在小板上!

乾貨|EMC?串列埠的坑你踩過嗎?

為啥小板出問題呢?這可是直連啊!

乾貨|EMC?串列埠的坑你踩過嗎?

哥們再開啟圖紙,經過十二萬分仔細檢查,在一個隱秘的角落,看到了一個並聯在UART TX上的小電容,哥們一下炸了!

靠!誰在我這裡並聯的電容啊!

(哈哈,我心裡已經有數了,不動聲色勸下了哥們手裡的刀)

乾貨|EMC?串列埠的坑你踩過嗎?

拆掉這個電容一切ok,就是這個電容導致的,幸虧開始時我沒有懟軟體,否則小丑就是我自己。而軟體同事此時也不知道轉到去哪裡玩去了。

為什麼會並這個電容呢?原來是

UART工作時 TX會影響EMC

,兄弟部門的同事就在這裡加了個小電容,

那最終應該怎麼解決這個問題呢?

對於這個問題我們和EMC同事都不用糾結,因為UART只在試產時使用,量產時不用,而且硬體上有開關會斷開這個通路,皆大歡喜。

硬體的坑很多,前線的坑更多,除了紮實的基礎,還需要足夠的耐心,要

膽大心細,還需要運氣

。說不準就會踩什麼坑呢?

格外多說一句,像這種工作分工界限比較模糊的地帶,發生衝突是正常的,我們應該持有包容的心態來對待,說不準下次就輪到我們給他們挖坑呢,而且EMC同事態度也很好,連連抱歉。