說說硬件調(diào)試中發(fā)現(xiàn)的那些低級錯(cuò)誤
高速先生成員--周偉
最近遇到很多debug相關(guān)的咨詢,曾經(jīng)我們說過,我們做過的板子越多,遇到問題的概率也越多,很多別人沒遇到過的問題,說不定我們早就觸過雷,從而類似的問題形成經(jīng)驗(yàn)總結(jié),就不會(huì)再有同樣的問題發(fā)生。一些問題可能不一定和PCB設(shè)計(jì)相關(guān),但由于找不到原因到底在哪里,最終需要進(jìn)行一一排除,所以兜兜轉(zhuǎn)轉(zhuǎn)又回到PCB設(shè)計(jì)上來,這也是我們經(jīng)常要面對的工作之一。
調(diào)試是一項(xiàng)很辛苦的差事,說起調(diào)試,曾經(jīng)聽過一個(gè)故事。早期某大廠一些硬件人員在調(diào)試前會(huì)去仙湖植物園的弘法寺拜一拜,燒香祈求項(xiàng)目能一次性調(diào)試通過。雖然是傳言甚至戲謔但多少也反應(yīng)出硬件調(diào)試中一些奇怪的問題,有時(shí)甚至不以人的意志為轉(zhuǎn)移。
在我們看來,系統(tǒng)性能能否成功無非就是軟件和硬件的配合,所以很多時(shí)候硬件和軟件大家的工作都是相互配合,相安無事的,但一旦出了問題卻找不出具體原因的時(shí)候,大家可能就會(huì)相互指責(zé),各說各有理,但大多數(shù)時(shí)候往往硬件最后是落於下風(fēng)的,因?yàn)橛布婕暗降囊蛩貢?huì)更多,比如硬件原理、器件選型、物料、PCB設(shè)計(jì)、制板、焊接等,這些最終都和硬件相關(guān),哪一個(gè)環(huán)節(jié)出問題了,都會(huì)影響系統(tǒng)性能。而軟件只需要簡單說一句上次同樣的原理已經(jīng)驗(yàn)證通過了,什么都是一樣為什么這次改了個(gè)PCB版本就不行了呢?接著硬件也補(bǔ)充說對啊,原理、器件和軟件都是一樣,就改了個(gè)PCB設(shè)計(jì),重新打了一板為什么調(diào)試出來就有問題,難道是PCB的問題?最后這個(gè)“鍋”就到了和PCB相關(guān)的身上了。今天不說“鍋”的事,系統(tǒng)需要良好的工作,需要各方面一起協(xié)調(diào)努力,軟件也需要配合硬件的變化進(jìn)行一定的調(diào)整,大家都要做好才能保證系統(tǒng)的穩(wěn)定運(yùn)行,所以每一方面都不能忽略,出了問題當(dāng)然就需要從各個(gè)方面進(jìn)行排查,實(shí)事求是從解決問題的角度出發(fā),不要有背“鍋”俠的心態(tài)。
雖然我們不直接進(jìn)行硬件調(diào)試,但我們遇到調(diào)試的問題也很多,因?yàn)槲覀兪菍?shí)現(xiàn)硬件原理中重要的一環(huán),發(fā)揮著橋梁作用,所以很多問題最終會(huì)排查到PCB設(shè)計(jì)環(huán)節(jié)中來,大家要有這種意識(shí)。最近就遇到一個(gè)HDMI顯示不正常的案例,大致經(jīng)過是這樣的。
客戶在我司設(shè)計(jì)的一個(gè)板卡在調(diào)試時(shí)發(fā)現(xiàn)HDMI接口能正確識(shí)別,但接上顯示器后卻一直閃屏,最后直接就識(shí)別不到了??蛻粲檬静ㄆ鳒y試信號(hào)眼圖也沒有發(fā)現(xiàn)太多問題,這個(gè)問題客戶內(nèi)部已經(jīng)調(diào)了幾個(gè)月還沒有找到原因,最后希望我們從PCB的角度排查一下看能否找到是不是和信號(hào)完整性相關(guān),部分PCB設(shè)計(jì)如下圖所示:
從PCB設(shè)計(jì)來看,4對數(shù)據(jù)走線和換層基本都是一致的,從表層走到內(nèi)層,再從內(nèi)層換層到底層,經(jīng)過底層的電容,電感和ESD器件再到HDMI接口,中間換層過孔做了反焊盤連盤掏空處理,內(nèi)層信號(hào)換層到底層,存在過孔stub比較長的風(fēng)險(xiǎn),但對于6Gbps的信號(hào)來說,這個(gè)50mil的stub正好處于可鉆可不鉆的邊沿,也就是說影響不是致命的,能背鉆當(dāng)然更好。另外電容、電感和ESD器件,這些器件和連接器表貼焊盤等沒有經(jīng)過一定的優(yōu)化,可能存在阻抗不連續(xù)的影響,這塊我們的要求是8Gbps以上是必須要優(yōu)化,8Gbps以下如果有空間可以優(yōu)化,因?yàn)槿绻獌?yōu)化的話,意味著第三層或者倒數(shù)第三層焊盤位置是不能走線的,有可能還要補(bǔ)參考層,尤其是空間很緊張的情況下,實(shí)現(xiàn)起來會(huì)比較麻煩,很多設(shè)計(jì)人員本著多一事不如少一事的原則,很多就不優(yōu)化了,PCB設(shè)計(jì)本來就是權(quán)衡的藝術(shù),這也能理解。
除了器件焊盤的影響,這些器件的選型會(huì)對阻抗帶來更大的影響,之前的文章就寫過,由于ESD選型不當(dāng),導(dǎo)致阻抗偏低很多,沒看過的可以再看看這篇文章:ESD器件對高速信號(hào)有影響嗎(陳雅給鏈接),可以看到加了ESD后的阻抗確實(shí)低了差不多14歐姆,如下圖所示:
但客戶反饋這些器件都去掉了,結(jié)果還是沒有改善,依然顯示不正常。
然后我們只能試一下看降速是否有改善,因?yàn)槿绻荘CB設(shè)計(jì)上stub太長,或者焊盤等阻抗有影響,降速可以降低這些負(fù)面的影響,同時(shí)速率低了系統(tǒng)裕量也會(huì)大很多,反復(fù)修改參數(shù)調(diào)試后,最終結(jié)局卻以非常意想不到的方式結(jié)束了。
幸福來得太突然,我竟無言以對,這個(gè)錯(cuò)誤,真的有點(diǎn)低級,真是“接反一對線,多調(diào)三個(gè)月”。
看到這里,我們的問題來了:
調(diào)試了幾個(gè)月,最終卻非常意外的找到了問題的原因,大家在調(diào)試中有沒有遇到過類似的問題?
大家可以把問題寫出來發(fā)給高速先生投稿,也可以分享相關(guān)的素材我們來整理,一經(jīng)采用會(huì)有相應(yīng)的獎(jiǎng)勵(lì),歡迎大家嘗試并暢所欲言。
*博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請聯(lián)系工作人員刪除。