:從原理到異常定位)
1. 眼圖測試到底在測什么從一次USB識別故障說起1.1 那次讓我意識到眼圖重要的排查經(jīng)歷年初處理過一個客戶退回來的板子現(xiàn)象很典型板子在產(chǎn)線上能通過全部功能測試但到了客戶現(xiàn)場就偶發(fā)“USB設(shè)備無法識別”重插幾次又能恢復(fù)。軟件組查了枚舉流程電源組量了VBUS紋波都說沒異常。最后我把USB差分對引到示波器上切到眼圖模式一看結(jié)論非常直觀——高速信號的眼圖已經(jīng)塌到只剩正常開口的一半而且上下眼皮全是毛刺。問題板子和好板子放在一起對比差分擺幅一個400mV一個380mV靜態(tài)參數(shù)差異很小但眼高眼寬差了一倍。這種問題不做眼圖測試根本發(fā)現(xiàn)不了。這類案子經(jīng)歷得多了我越發(fā)認同一個觀點USB 2.0雖然是個“老協(xié)議”但它的高速模式High Speed480Mbps仍然是很多嵌入式產(chǎn)品里最容易出信號完整性問題的接口之一。USB 2.0有三種速率——Low Speed 1.5Mbps、Full Speed 12Mbps、High Speed 480Mbps。前兩種速率對PCB走線和連接器幾乎不敏感12Mbps時代拿萬用表都能量電平但到了480Mbps一個UIUnit Interval單位間隔只有約2.08ns信號在介質(zhì)里跑一個來回就可能疊加反射、損耗、串擾光量“有沒有電平”完全不夠必須用量化的眼圖來看信號在整個傳輸路徑上“睜眼”的狀態(tài)。這篇文章我根據(jù)自己的實測經(jīng)驗把USB 2.0高速眼圖測試從設(shè)備選型、探頭連接、治具搭建到實測流程、參數(shù)解讀、異常定位完整梳理一遍。無論你是做嵌入式主板、做USB外設(shè)還是做線纜和連接器的這套方法論基本通用。即使你手里沒有昂貴的合規(guī)測試系統(tǒng)只要按文中的思路用一臺還算過得去的示波器也能做出八九不離十的判斷。1.2 眼圖的形成原理把千百萬次跳變疊在一起看眼圖這個名字起得非常形象。把示波器的時基設(shè)到一個UI或幾個UI的寬度范圍內(nèi)讓成千上萬個碼元的波形持續(xù)累加在同一塊屏幕上由于信號有上升時間、有過沖、有抖動所有跳變沿會像“疊膠片”一樣層疊起來最終形成一只只像眼睛一樣的輪廓。接收端在每一個UI的特定位置采樣如果這只“眼睛”張得足夠大、足夠圓潤采樣點就能穩(wěn)定落在高低電平的分離區(qū)域誤碼率就低如果“眼睛”瞇成一條縫哪怕靜態(tài)電壓看起來正常接收端也可能在某個瞬間判錯電平。眼圖實際上是信號完整性的“統(tǒng)計戶口本”它把時域的幅度失真、時間域的抖動、碼間干擾等所有因素全部投影到一張圖上。理解這一點很重要眼圖不是某一個瞬間的真實波形而是一個長期的統(tǒng)計疊加結(jié)果。示波器上顯示的每一個光點都代表成千上萬次跳變中的一個采樣點亮度越高說明信號在這個位置停留的時間越久邊界越模糊說明信號在這里“飄”得越厲害。1.3 眼圖能暴露哪些問題從圖上能讀出的信息大概分三個方向幅度方向、時間方向、邊沿形態(tài)。幅度方向的問題會表現(xiàn)為眼睛上下變小——驅(qū)動擺幅不足、長走線損耗、連接器插損過大都會讓眼高收窄。時間方向的問題會表現(xiàn)為眼睛左右變小——各類抖動源會讓跳變沿在時間軸上“左右搖擺”。邊沿形態(tài)則更多反映反射和阻抗突變——上升沿出現(xiàn)回勾、臺階說明通道里有明顯的反射點。有些工程師習(xí)慣拿普通探頭直接在USB連接器的D/D-上點兩下看看有沒有波形就完了這在Full Speed下面是可行的在High Speed下面基本是在賭運氣。原因后面會專門講。先記住一個結(jié)論USB 2.0高速眼圖測試的核心不是“能不能看到波形”而是“能不能在標準定義的條件下看到可重復(fù)、可判定、可定位問題的量化波形”。2. 測試系統(tǒng)的搭建帶寬怎么選、探頭怎么接、治具怎么搭2.1 示波器帶寬不是“能測到480Mbps信號”就夠很多人第一反應(yīng)是信號才480Mbps找個1GHz示波器足夠了吧這個判斷低估了上升沿對帶寬的需求。數(shù)字信號的頻寬主要由上升時間決定480Mbps的USB 2.0高速信號上升時間典型值在500ps量級。工程上有一個常用的估算公式儀器帶寬 ≥ 0.35 / TrTr是上升時間。按Tr500ps算0.35/500ps≈700MHz這只是一個理論下限。實際測量時為了準確還原上升沿形態(tài)、測量抖動以及進行合規(guī)性掩碼測試業(yè)界普遍建議至少使用2GHz以上的實時示波器USB-IF認證級別的測試更是通常直接上3GHz到4GHz。帶寬不夠會有什么后果上升沿被示波器自身的響應(yīng)拉緩原本500ps的邊沿量出來變成1ns眼圖的邊界會比真實情況更加“圓潤”——對高頻損耗本身很嚴重的通道來說這種假象可能掩蓋真實的高頻塌陷導(dǎo)致你誤判“眼圖還不錯”。我見過有人拿500MHz示波器測USB 2.0高速眼圖測出來還“挺圓”換到2GHz示波器上一測眼睛幾乎全閉上了。所以第一步先確認你示波器的模擬帶寬別被“帶寬1GHz以上”這種宣傳語迷惑。另外提一句采樣方式和帶寬的區(qū)別。臺式實時示波器直接采集連續(xù)波形適合測眼圖有些USB測試用的是采樣示波器等效時間采樣只適合重復(fù)信號不適合真實數(shù)據(jù)碼型。做一般產(chǎn)品調(diào)試一臺2GHz~4GHz帶寬、20GS/s采樣率的實時示波器基本通吃。2.2 差分探頭與連接方式USB 2.0高速信號是差分傳輸規(guī)范里所有眼圖、擺幅、時序參數(shù)都是針對D/D-的差分信號定義的所以正規(guī)做法是用差分有源探頭直接測差分對。差分有源探頭能在探頭前端就做相減對共模噪聲有很強的抑制能力這是普通單端探頭兩端夾線測出來的數(shù)據(jù)無法比擬的。單端探頭還有一個隱藏問題地線夾一長地環(huán)路等效電感會和高頻分量發(fā)生諧振你會在波形上看到原本不存在的振鈴最后查了半天發(fā)現(xiàn)是探頭自己引入的。差分有源探頭接上之后還有一個很多人忽略的關(guān)鍵動作通道去偏斜de-skew。兩根差分探頭內(nèi)部通道的傳輸延時未必完全一致如果不做校準差分信號會出現(xiàn)假的不對稱眼圖上的交叉點位置會偏移甚至把共模成分當成差分信號的一部分。示波器菜單里一般都有de-skew校準功能實測之前一定先做一次。具體的做法是把兩根探頭鉤在同一個方波源上調(diào)節(jié)其中一路的延時直到兩條通道的上升沿完全重合。這個動作花不了兩分鐘但對測量結(jié)果的影響是決定性的。2.3 測試治具與測試點TP1/TP2/TP3分別代表什么USB 2.0的合規(guī)測試并不是讓你拿著手持探頭去點連接器引腳而是通過標準的測試治具夾具把信號引出來。規(guī)范里一般把測量點分為三種TP1是芯片端收發(fā)器引腳附近、TP2是連接器端USB座引腳處、TP3是線纜遠端。對送測的設(shè)備側(cè)Device信號質(zhì)量測試通常要求在TP2點完成對Hub這類需要繼續(xù)向下游傳輸信號的設(shè)備還需要關(guān)注線纜側(cè)TP3的信號質(zhì)量。為什么不能直接拿探頭點連接器第一手持探頭很難保證兩根信號線的探測點完全對稱探測本身就會破壞差分場的對稱性第二探頭前端和地線會給高速網(wǎng)絡(luò)引入附加電容和阻抗不連續(xù)影響被測信號。測試治具一般由夾具PCB、SMA接口和配套測試負載組成對高頻來說是可控的、可重復(fù)的標準接口插損和反射都是校準過的。測試治具上通常還有測試負載選項。規(guī)范規(guī)定在測試點需要端接一顆45.25Ω的差分測試負載它模擬的是USB線纜90Ω的差分特征阻抗。如果你的被測設(shè)備是Host側(cè)有些規(guī)范場景還需要額外加容性負載模擬線纜影響具體看你的測試目的是研發(fā)調(diào)試還是送認證研發(fā)階段先把阻抗匹配和負載接對就行。2.4 觸發(fā)與采集參數(shù)怎么設(shè)眼圖測試的關(guān)鍵是讓波形“對齊”疊加。實際操作中示波器可以設(shè)置在任意數(shù)據(jù)沿上觸發(fā)然后把時基展開到1個UI~2個UI的寬度因為數(shù)據(jù)是持續(xù)高速翻轉(zhuǎn)的所有跳變沿會在屏幕上反復(fù)疊加。打開無限余輝Infinite Persistence模式讓亮度和累積效應(yīng)自然顯示出眼圖的輪廓。采樣率建議至少設(shè)到信號帶寬的5~10倍例如2GHz帶寬示波器配上10GS/s以上的采樣率如果示波器支持最好在眼圖測試菜單里讓軟件自動設(shè)置。采集時間要足夠長至少要累積數(shù)百萬個UI的波形尤其是在做抖動分析時UI數(shù)量太少統(tǒng)計出來的隨機抖動和確定性抖動都不具備代表性。我自己習(xí)慣讓示波器跑幾十秒甚至更久中途切出去看一眼波形穩(wěn)定后再讀數(shù)。很多人怕麻煩盯著屏幕看了三五秒就截圖走了這個習(xí)慣在調(diào)試偶發(fā)問題時特別容易漏掉關(guān)鍵信息。3. 完整實測流程從Test Packet到掩碼判定3.1 讓設(shè)備進入高速測試模式想測出符合USB規(guī)范意義的眼圖DUT不能只在正常通信狀態(tài)下隨機抓取而是要讓收發(fā)器持續(xù)發(fā)送特定的測試碼型。USB 2.0規(guī)范定義了多種測試模式TEST_SE0_NAK讓設(shè)備在高速模式下響應(yīng)NAK、TEST_J持續(xù)發(fā)送J態(tài)、TEST_K持續(xù)發(fā)送K態(tài)、TEST_PACKET發(fā)送特定的數(shù)據(jù)包碼型。其中信號質(zhì)量測試主要用TEST_PACKET它是一段精心設(shè)計的碼型包含長串連續(xù)的1/0序列和快速翻轉(zhuǎn)序列能在統(tǒng)計上覆蓋最壞情況的碼間干擾ISI。設(shè)備怎么進入測試模式取決于你的硬件能力。如果芯片和驅(qū)動支持可以通過芯片供應(yīng)商提供的調(diào)試工具或寄存器寫入讓設(shè)備在枚舉到高速狀態(tài)后進入對應(yīng)的測試模式也可以借助上位機軟件發(fā)USB控制請求。有的示波器供應(yīng)商提供的USB測試應(yīng)用會引導(dǎo)你完成這個過程。需要提醒的是測試時設(shè)備必須處于高速連接狀態(tài)不能跑在Full Speed否則眼圖完全是另一種形態(tài)測出來的結(jié)果沒有意義。我遇到過不止一次DUT聲稱支持高速但實際枚舉后因為握手失敗降級成了Full Speed拿Full Speed的眼圖去套高速掩碼測出來的數(shù)據(jù)當然莫名其妙。3.2 示波器上的眼圖建立與測量搭建好硬件鏈路、DUT進入TEST_PACKET模式后接下來是示波器操作。把通道配置為差分如果是差分探頭自動就是垂直標度調(diào)整到能看到完整差分擺幅通常是±800mV量級時基改到2ns/div左右使一兩個UI能完整顯示。然后打開眼圖模式或者直接觸發(fā)數(shù)據(jù)沿并開啟無限余輝。此時屏幕上應(yīng)該出現(xiàn)一個清晰的“8”字形眼圖輪廓。如果眼圖散亂、無法穩(wěn)定成圖先檢查觸發(fā)設(shè)置如果是示波器自動眼圖功能一般會自行計算時鐘恢復(fù)CDR來對齊數(shù)據(jù)。我這里說一下時鐘恢復(fù)接收端并不是按發(fā)送端的原始時鐘采樣的而是從數(shù)據(jù)流里恢復(fù)出一個跟蹤時鐘所以示波器的眼圖也要模擬這個恢復(fù)過程通常用的是PLL模型或恒定頻率恢復(fù)。不同恢復(fù)模型可能讓眼圖開口略有差異合規(guī)測試軟件里會按規(guī)范指定模型研發(fā)調(diào)試時選默認模型即可。眼圖成型后可以打開眼圖參數(shù)測量。示波器會自動算出眼高、眼寬、上升時間、下降時間、抖動等參數(shù)把光標挪到眼圖中央的菱形開口處讀數(shù)會跳出來。這個讀數(shù)比你肉眼看屏幕估算要靠譜得多因為它是基于幾十萬甚至上百萬個UI做統(tǒng)計算出來的。3.3 掩碼長什么樣怎么理解它的邊界掩碼是規(guī)范畫在眼圖上的一塊禁入?yún)^(qū)域。以USB 2.0高速信號為例掩碼通常是一個位于眼圖中央的菱形/六邊形區(qū)域標出了在某些特定幅度和時序坐標下“不允許信號踩入”的范圍。不同版本的測試規(guī)范、不同的限值文件會讓掩碼的具體尺寸略有差異所以測試時一定要選擇正確的限值文件別拿舊版本的掩碼去下結(jié)論。為什么掩碼是菱形而不是方形因為接收端的判決點是理想化地處于UI正中央但對于一個帶有抖動的信號時間裕量和幅度裕量是互相牽連的你離理想采樣時刻越遠允許的電壓噪聲裕量就越小越接近UI邊界時域上根本不允許電平有偏差。菱形正好反映了這種“時間越靠近邊界幅度裕量越低”的關(guān)系。在實際操作中我習(xí)慣把掩碼測試的結(jié)果連同眼高、眼寬、TJ/RJ等參數(shù)一起記錄因為掩碼只是“過沒過”參數(shù)才是定位問題的線索。比如掩碼FAIL但眼圖只是邊緣擦線和整體崩塌的修復(fù)方向完全是兩碼事。前者可能是裕量偏緊重點看損耗和驅(qū)動能力后者可能是鏈路有嚴重反射或干擾要查的東西就多了。3.4 眼圖怎么看從一張圖上讀出有效信息關(guān)于“眼圖怎么看”我給一個速記套路適合剛接觸的人照著做拿到一張眼圖先看中央開口——開口越大越接近長方形越好然后看上下兩條“眼皮”的厚度——眼皮越厚說明幅度噪聲和對準不良越大接著看跳變沿的交叉點是否聚攏在同一個位置交叉點如果散開成一條粗斑說明共?;驎r序受某種周期性干擾最后看上升沿/下降沿有沒有明顯的“回勾”或臺階有就說明通道有反射。我見過很多剛?cè)胄械墓こ處熌玫揭粡堁蹐D第一反應(yīng)就是“這眼圖好差”但問他差在哪、哪類問題引起的、該往哪個方向查就說不出來了。眼圖測試的價值不只是出結(jié)論更重要的是把模糊的“信號質(zhì)量不好”翻譯成具體的“眼高不夠”或“交叉點偏移”這樣硬件工程師才能對癥下藥。4. 眼圖參數(shù)拆解眼高眼寬抖動每個數(shù)值背后都是一類信號問題4.1 眼高與眼寬裕量的兩個維度眼高指的是眼圖中央垂直方向的開口大小單位一般是mV它代表了接收端區(qū)分高電平和低電平的幅度裕量。USB 2.0高速模式規(guī)范的差分輸出電壓擺幅典型值約400mV不同版本規(guī)范表述有細微差別但眼高一定要考慮通道損耗和反射之后的“凈開口”通常遠小于這個值。眼高偏低先查三個方向DUT驅(qū)動強度/擺幅配置、PCB走線的插損、連接器和線纜是否引入額外損耗。眼寬是眼圖中央水平方向的開口單位是ps或UI百分比它決定接收端在采樣時刻能否獲得足夠的建立保持時間。眼寬被壓縮多半是抖動造成的——包括驅(qū)動端的隨機抖動也包括數(shù)據(jù)相關(guān)抖動比如一長串同樣的碼元造成基線漂移再遇到翻轉(zhuǎn)時邊沿位置發(fā)生變化。有些接收端芯片對眼寬極敏感眼寬不足會導(dǎo)致“丟包-重試-再丟包”這種非常難查的偶發(fā)問題。眼高和眼寬并不是完全獨立的。通道損耗增大時眼高會下降同時由于碼間干擾增強眼睛的橫向開口也會受影響眼圖整體會同時“變扁”和“變窄”。反過來如果是電源紋波耦合進來的周期性抖動通常眼寬先受影響眼高變化不明顯。這兩個指標一起看能幫你把問題分類。4.2 抖動總抖動、確定性抖動與隨機抖動眼寬的數(shù)值背后是抖動的故事。示波器報告里常見的幾個參數(shù)總抖動TJ、確定性抖動DJ、隨機抖動RJ。DJ再細分下去還有數(shù)據(jù)相關(guān)抖動含ISI、占空比失真DCD、周期性抖動PJ等。我簡單列一個對應(yīng)關(guān)系抖動類型典型來源眼圖上的表現(xiàn)隨機抖動(RJ)熱噪聲、晶振相位噪聲眼邊界彌散、呈高斯分布邊界比較“虛”數(shù)據(jù)相關(guān)抖動(ISI)通道頻率響應(yīng)不均、碼型效應(yīng)長碼型和短碼型的邊沿位置不同出現(xiàn)多重邊界占空比失真(DCD)驅(qū)動閾值偏移、上升/下降時間不對稱交叉點偏移、眼圖上下不對稱周期性抖動(PJ)電源紋波、開關(guān)噪聲、時鐘耦合眼邊界出現(xiàn)周期性波動可能看到“鬼影”調(diào)試抖動問題時我通常先看DJ和RJ的占比。如果DJ占大頭多半是鏈路設(shè)計問題比如走線阻抗不連續(xù)、端接不對、連接器質(zhì)量差如果RJ占大頭重點查參考時鐘的相位噪聲、電源的隨機噪聲以及驅(qū)動芯片本身的抖動特性。被動等待時鐘線和數(shù)據(jù)線之間的干擾耦合也會讓RJ異常變大這種情況在布局擁擠的板子上很常見。示波器軟件里一般能給出抖動分解的浴缸曲線Bathtub Curve那條曲線的斜率能很直觀地反映RJ和DJ的比例值得多看幾眼。4.3 上升時間與單調(diào)性容易被忽略的細節(jié)上升時間是USB 2.0高速眼圖測試報告里默認輸出的一項參數(shù)但它常常被忽略。上升時間主要由驅(qū)動器的輸出能力和通道帶寬共同決定。如果上升時間過慢說明通道對高頻分量的衰減過大這會讓眼圖的張開速度變慢眼寬的有效區(qū)域被壓縮。如果上升時間過快伴隨的往往是過沖和振鈴這會抬高信號的低頻分量串擾風(fēng)險也會上升。規(guī)范對高速模式上升時間大約在500ps量級有要求不同芯片會有差異但“過快”和“過慢”都不好理想值是接近芯片數(shù)據(jù)手冊的典型值。單調(diào)性是指信號邊沿是否只朝一個方向變化、沒有回退。上升沿中出現(xiàn)向下的回勾或者下降沿中出現(xiàn)向上的臺階都叫非單調(diào)邊沿。它通常意味著信號在某處遭遇了阻抗突變產(chǎn)生了反射反射波疊加到入射波上就形成了回勾。非單調(diào)邊沿最大的危害在接收端如果回勾的位置正好跨越了接收閾值可能出現(xiàn)“二次觸發(fā)”或誤判導(dǎo)致接收器在同一個UI內(nèi)采樣到多次跳變。在眼圖上你會看到眼圖邊沿附近有向內(nèi)“凹陷”的輪廓這是典型的反射指紋。4.4 交叉點電壓與共模偏移看到這里如果你以為眼圖只看差分信號就夠了那就漏了一個關(guān)鍵點交叉點電壓。差分信號的交叉點是指D和D-波形相交的位置對應(yīng)當?shù)?V差分電平處。在USB 2.0高速模式下交叉點電壓規(guī)范里和共模范圍是有關(guān)系的它體現(xiàn)了驅(qū)動器的差分對稱性和共模電平設(shè)置。交叉點如果明顯偏離理想位置說明差分驅(qū)動存在不對稱。原因可能是驅(qū)動芯片內(nèi)部的上拉/下拉電阻失配也可能是PCB上D/D-的走線長度不等或負載不一致。交叉點偏移還會影響接收端的共模接收范圍嚴重時會讓對端設(shè)備在高速握手階段失敗出現(xiàn)“能枚舉但跑高速不穩(wěn)定”的現(xiàn)象。實際測量時示波器可以直接測交叉點電壓和共模電壓。我習(xí)慣把交叉點電壓和眼高眼寬一起登記在測試記錄表里因為很多“偶發(fā)識別失敗”的案子最后查來查去眼高眼寬都過得去就是交叉點電壓飄得厲害把D/D-的等長誤差和芯片周圍的分壓電阻精度一查問題就水落石出了。5. 實測中的異常眼圖與定位思路5.1 眼寬塌陷抖動到底從哪來有一個客戶的產(chǎn)品眼圖開口寬度只有規(guī)范要求的六成眼高倒還正常。從參數(shù)上看TJ明顯偏大DJ和RJ都有貢獻。先把DJ拆開看發(fā)現(xiàn)數(shù)據(jù)相關(guān)抖動ISI占了大頭——這說明問題出在通道的頻率響應(yīng)上而不是單純的隨機噪聲。查通道D/D-走線換了兩層過孔打了四個走線末端還掛了一小段測試點殘留。雖然單段走線的長度不算夸張但層間過孔阻抗和走線寬度的變化積累起來總插損就能把480Mbps信號的高頻分量吃掉不少。處理方案是優(yōu)化過孔設(shè)計、把測試點殘樁縮短到200mil以內(nèi)、調(diào)整走線寬度使參考層連續(xù)。改板后眼寬恢復(fù)到了規(guī)范值的九成以上。這個案例說明一個原則眼寬塌陷時先做抖動分解DJ占大頭就按通道反射/損耗去查RJ占大頭再查時鐘和電源。這句話說起來簡單但能幫你省掉大量盲目的“這里貼銅箔、那里加電容”的試錯時間。5.2 眼圖出現(xiàn)“重影”阻抗不連續(xù)與連接器虛焊眼圖上如果出現(xiàn)明顯的“雙線”或“重影”也就是同一個位置的邊界有兩三條亮線多半是通道里有明顯的阻抗不連續(xù)點。最常見的位置在連接器——USB座本身是機械結(jié)構(gòu)引腳焊盤、外殼地和差分對之間的間隙都會制造不連續(xù)。其次是連接器虛焊SMT的USB座引腳虛焊時引腳和焊盤之間的寄生電容和接觸電阻會隨溫度變化眼圖重影也會時有時無。遇到重影先用放大鏡或X-ray看連接器和焊點再用萬用表量接觸電阻但更高效的方法是做TDR時域反射計測試。TDR可以告訴你反射點離測試端多遠、阻抗是偏高還是偏低直接對應(yīng)到到底是連接器虛焊還是走線突變。沒有TDR設(shè)備的話用示波器的階躍響應(yīng)也能大概看個七八分但精度遠不如專用TDR。我做信號完整性調(diào)試時TDR基本是和眼圖配套使用的眼圖告訴你“壞了”TDR告訴你“壞在哪一段”。5.3 眼高不足損耗與驅(qū)動配置眼高不足最常見的兩個原因一是通道損耗過大二是驅(qū)動器擺幅本身就不夠。通道損耗方面PCB板材、走線長度、過孔數(shù)量、連接器損耗都會壓縮眼高。FR4板材在480MHz基頻和更高次諧波上的損耗雖然不是特別夸張但如果走線拉長到8英寸以上眼高衰減就會很可觀。這時候要么縮短走線要么改用低損耗板材要么在芯片端調(diào)整預(yù)加重如果芯片支持。驅(qū)動器擺幅方面很多USB 2.0收發(fā)芯片的驅(qū)動強度或擺幅是可以配置的默認配置未必是最優(yōu)的。如果芯片手冊里給了輸出擺幅調(diào)節(jié)寄存器建議在做板前先和FAE確認默認值是否滿足USB-IF的擺幅范圍。我遇到過一批芯片批次差異導(dǎo)致擺幅偏低用寄存器把驅(qū)動強度調(diào)高一檔后眼高直接從臨界值拉回到充足區(qū)間。不過也要小心驅(qū)動強度調(diào)太高會加劇過沖和振鈴調(diào)完一定要重測單調(diào)性和交叉點電壓。5.4 非單調(diào)邊沿反射與Stub效應(yīng)非單調(diào)邊沿沿上有回勾是反射的最直接表現(xiàn)。反射源可能是過孔Stub太長、BGA出線區(qū)域的走線阻抗偏低、也可能是連接器附近的地不完整。我調(diào)試過一塊板子USB差分對從芯片BGA出線后經(jīng)過了一個長達25mil的過孔殘樁上升沿上出現(xiàn)一個明顯的回勾位置大概在過孔之后。把過孔換成背鉆Stub回勾就消失了。另一個典型案例是差分對靠近板邊走了很長一段板邊地平面不完整導(dǎo)致回流路徑繞遠形成了一個小的阻抗突變同樣會產(chǎn)生非單調(diào)邊沿。這類問題在單板調(diào)試階段單測直流阻抗完全看不出來但在眼圖上無處遁形。排查非單調(diào)邊沿時建議把波形放大到單個邊沿來看配合游標量出回勾的寬度和位置再用整個差分網(wǎng)絡(luò)的S參數(shù)或TDR來做對應(yīng)。回勾寬度通常對應(yīng)著反射點到驅(qū)動端的來回時間結(jié)合PCB走線長度可以反推反射點的大致位置。5.5 從一次真實調(diào)試看完整排查鏈路最后用一個完整案例把所有環(huán)節(jié)串起來。某產(chǎn)品USB口在高溫老化后偶發(fā)識別失敗常溫下測試總是通過。我按下面的順序排查第一步先用2GHz示波器配合USB治具做眼圖測試結(jié)果顯示高溫下眼高從420mV掉到300mV眼寬縮水20%掩碼邊緣擦線。第二步查溫度與信號的關(guān)系芯片驅(qū)動在高溫下輸出擺幅下降這是正常的但下降幅度不應(yīng)該這么大于是懷疑通道本身在高溫下?lián)p耗加劇。第三步用TDR量整個USB差分鏈路發(fā)現(xiàn)連接器附近的阻抗從90Ω掉到78Ω懷疑是連接器內(nèi)部彈片或焊點在高溫下接觸壓力下降。第四步顯微鏡檢查發(fā)現(xiàn)USB座D引腳焊盤確實有輕微虛焊痕跡補焊后高溫下眼圖恢復(fù)穩(wěn)定。這條鏈路看著簡單但每一步都依賴前面測試的量化數(shù)據(jù)做指引。如果沒有眼圖測試我可能會一直懷疑電源、懷疑固件繞很多彎路。所以我的經(jīng)驗是遇到USB高速信號相關(guān)的偶發(fā)問題第一件事就是搬出示波器看眼圖讓數(shù)據(jù)說話比憑空猜原因有效率得多。最后再分享一個小技巧眼圖測試不等于合規(guī)測試研發(fā)階段哪怕沒有標準的USB-IF治具也可以用差分探頭直接測在芯片端或連接器端先建立一個自己的“基準眼圖”存檔。等拿到標準治具后再用同一套方法測一遍并把數(shù)據(jù)對齊。這樣出了問題至少能快速判斷是設(shè)計問題還是測試條件差異省下大量重復(fù)調(diào)試時間。