今天我們要分享的這個案例是關于eMMC啟動不正常的問題,感謝熱心網友“曬不”提供的案例素材,也謝謝他的分享。
上篇文章我們提到希望大家一起來分享硬件調試中發(fā)現的一些低級錯誤,果然就有我們的鐵桿粉絲之一“曬不”發(fā)來了他初步整理的案例素材,大家一起來學習一下吧,也謝謝他的分享!
這個項目的主芯片是瑞芯微的RV1126(位號U10),分別拖了一個金士頓的eMMC芯片(位號U40)和鎂光的NAND Flash芯片(位號U41),在Layout的時候做了兼容設計,也就是通過選焊電阻的方式,讓主芯片來選通其中一個芯片,使用的時候二選一,eMMC和NAND Flash芯片不會一起工作,大致的拓撲圖如下所示。
從Layout設計文件可以看到,幾個芯片都是放在Top面,eMMC和NAND Flash基本是放在同一個中心位置,所以貼片的時候只能選擇貼其中的一個,兩個芯片是沒法同時貼上的,所以需要做兼容設計。兩個分支電阻在垂直空間上重疊放置在Top面和Bottom面,這樣如果只焊接其中一個電阻的時候,確實是可以做選通操作,看起來Layout設計沒什么問題,對應的走線如下圖所示。
設計上沒發(fā)現什么問題,然后就制板貼片開始調試。硬件在調試板子時發(fā)現,有時候上電,系統(tǒng)會有卡死的情況,同樣的固件在開發(fā)板上是OK的,軟件做了幾輪修改都會有類似軟件報錯的情況,顯示出跑到eMMC操作時就卡住了,最后只能懷疑是硬件或者PCB Layout的問題。
但硬件有排除不是自己問題的理由:“最小系統(tǒng)模塊(包含eMMC)的原理是直接復制開發(fā)板的,所有的器件貼裝也和開發(fā)板一樣,同樣的代碼在之前開發(fā)板上沒有問題,而現在新設計的板子有問題,那肯定是PCB Layout出了問題”。
不可否認,硬件的話確實有一定的道理,硬件原理之前是驗證過的,這樣壓力一下子就給到了PCB設計工程師。無奈,PCB工程師只能想辦法自證清白,在沒有專職SI工程師的情況下,PCB設計工程師只能通過再次查板,進行粗略的估算和評估一些影響,檢查的方向如下:
1、阻抗不匹配方向:所有信號走線沒有跨分割平面,走線線寬和阻抗計算也沒有錯誤,同時也不存在較長的走線Stub,所以這一條不會影響。
2、時序方向:因為需要跑200MHz的信號,等長也是比較關鍵的,但因為沒有做仿真,只能按照芯片的手冊要求來做好等長約束,檢查了等長表,每根信號走線長度也是都可以滿足芯片要求,所以時序這塊的影響也是可以初步排除。
3、電源方向:按照經驗簡單算了電源平面載流能力是可以滿足需求的,相應的電源Pin腳也有足夠的濾波電容,硬件測試電壓和電源噪聲都是可以滿足要求,所以電源的影響也可以排除。
同時也和開發(fā)版本的設計進行了對比,硬件人員覺得是因為時鐘信號走線和開發(fā)板不一致導致的。如下圖是開發(fā)板的走線情況。
開發(fā)板上eMMC和NAND Flash也是同面同中心放置,原理是一樣的,也是通過兩個電阻做了選通,只是走線上的分支更短,而新改板后的分支相對來說長了很多。所以硬件人員有理由覺得是PCB改版帶來的問題,所有的原理和貼片器件都是一樣,PCB設計改了就出問題了,這個大概率是PCB設計不一樣而帶來的問題。
而PCB設計工程師也有自己的主張:“CLK信號是由RV1126源端發(fā)出的,開發(fā)板的串聯阻抗匹配電阻放在了終端,靠近eMMC和NAND Flash是不對的,應該把串聯匹配電阻靠近源端,所以本次改版設計的電阻就往源端放了,這樣確實會導致分支變長,但由于是選焊的,如果一次只焊接其中一路的情況下,另一路是沒有導通的,這樣相當于沒有分支的影響,原理上來說信號質量會更好。如果連串聯匹配電阻放在源端也被懷疑有問題的話,那就是懷疑信號完整性的理論有問題了。”PCB設計工程師的話也是說得在理,無可挑剔,由于沒有SI人員支持,于是雙方各執(zhí)一詞,誰也說服不了誰。
經過幾天的“溝通”,壓力還是在PCB工程師這。就在PCB工程師拿著PCBA研究的時候,無意中發(fā)現雖然U41沒有焊接,但是R41卻焊接了器件。這個發(fā)現仿佛一道佛光,拯救了“背鍋俠”。在PCB工程師的反饋下,硬件拆除了R41,系統(tǒng)終于可以正常啟動了。
這個時候硬件人員就有疑問了,為什么開發(fā)板上的R41沒有拆除可以正常工作,改版后的R41焊上就有問題了呢?大家可以幫忙回答一下哈!
同時也歡迎大家繼續(xù)提供類似這種調試過程中的低級錯誤案例素材,謝謝!
審核編輯 黃宇
-
NAND
+關注
關注
16文章
1682瀏覽量
136163 -
Nand flash
+關注
關注
6文章
241瀏覽量
39826 -
emmc
+關注
關注
7文章
216瀏覽量
52746
發(fā)布評論請先 登錄
相關推薦
評論