戰(zhàn)指南)
做硬件調(diào)試這些年MIPI信號算是我測過最多的接口之一。從手機(jī)屏、車載屏到工控顯示方案MIPI DSI和CSI幾乎是無處不在。很多剛接觸這個接口的工程師拿到示波器第一反應(yīng)是“波形亂七八糟”不知道看哪里、測什么、算多少算正常。這篇文章我結(jié)合自己實(shí)際用示波器抓MIPI波形的經(jīng)驗(yàn)把從探頭選擇、參數(shù)設(shè)置到波形判讀、問題排查的完整思路捋一遍希望對做顯示驅(qū)動、攝像頭調(diào)試以及FPGA接口開發(fā)的同行都有點(diǎn)參考價值。MIPI調(diào)試的難點(diǎn)在于它不像UART、I2C那樣可以直接看高低電平數(shù)據(jù)lane上的信號幅度小、速率高還分HS高速模式和LP低功耗模式兩種模式的物理特性完全不同。示波器抓下來如果不做區(qū)分看到的是一片“糊”的波形根本分不清哪段是有效數(shù)據(jù)、哪段是協(xié)議狀態(tài)。所以這篇文章的核心思路是先看懂MIPI物理層的波形特征再學(xué)會用示波器正確抓取和分析最后通過波形反推問題根因。1. MIPI信號到底長什么樣測之前先把波形特征搞清楚1.1 HS高速模式和LP低功耗模式一張波形里其實(shí)是兩個世界MIPI D-PHY物理層的迷人之處在于它用同一對線傳兩種截然不同的信號。HS模式是差分高速小信號鏈路兩端各有一個100歐姆差分端接信號幅度只有200mV左右規(guī)范范圍是100到300mV共模電壓約200mV速率從幾百M(fèi)bps到2.5Gbps不等。而LP模式是單端大擺幅信號電壓幅度是0到1.2V速率只有10Mbps級別。這兩者出現(xiàn)在同一條D0、D1等數(shù)據(jù)lane上實(shí)際抓出來的波形是一段大振幅、一段小振幅交替出現(xiàn)。大振幅那段是LP狀態(tài)傳輸小振幅那段是HS突發(fā)數(shù)據(jù)包。用示波器直接看單端波形時很多人會被LP的大擺幅“帶偏”自動檔一按HS小信號直接被壓縮成一條細(xì)線什么都看不清。所以測MIPI最關(guān)鍵的一個心理建設(shè)就是不要指望單端探頭一接就看到漂亮波形必須明確當(dāng)前想觀測的是HS還是LP。HS模式下DP和DN兩條線的電平是互補(bǔ)的差分電壓是兩者相減。如果示波器只接了DP到地看到的單端信號會疊加共模噪聲再加上探頭本身的接地回路電感波形很容易出現(xiàn)振鈴和過沖讓你誤判信號質(zhì)量。正確做法是用差分探頭直接測DP-DN或者示波器上做通道數(shù)學(xué)運(yùn)算A-B這樣才得到真正的差分信號眼圖。LP模式下則正好相反差分探頭的輸出反而會把兩個單端信號抵消測不到東西。此時必須看單端波形也就是DP對地或者DN對地的電壓。這也導(dǎo)致一個實(shí)際的調(diào)試習(xí)慣先用示波器兩個通道分別接DP和DN再通過Math功能算差分這樣一組探頭連接就能同時觀察LP單端和HS差分不用反復(fù)拆線。1.2 示波器測量關(guān)注的幾個關(guān)鍵時序參數(shù)MIPI D-PHY的時序參數(shù)在規(guī)范里有一大堆但實(shí)際用示波器排查問題時不需要全都測抓住幾個關(guān)鍵指標(biāo)就夠用。首先是HS差分?jǐn)[幅。這個參數(shù)直接關(guān)系信號能否被接收端識別。擺幅太低接收端的差分接收器可能判不出0和1擺幅太大EMI和功耗都會惡化還可能造成過沖。規(guī)范要求是100到300mV很多平臺實(shí)際設(shè)計(jì)目標(biāo)是200mV左右。用示波器測HS突發(fā)段內(nèi)的差分幅度平均值落在150到270mV之間基本算健康。其次是上升時間和下降時間。高速信號的上升沿決定了信號帶寬也直接影響眼圖張開的程度。D-PHY規(guī)范里對上升時間有明確限制與速率有關(guān)。比如1Gbps速率下上升時間過緩會導(dǎo)致碼間干擾ISI眼睛閉合接收端采樣出錯。測量時用差分波形光標(biāo)放在10%到90%幅度處讀數(shù)。如果上升沿出現(xiàn)明顯的臺階或非單調(diào)往往是阻抗不連續(xù)或者探頭的負(fù)載效應(yīng)造成的。第三是HS-Zero和HS-Trail這類協(xié)議時序。HS-Zero是進(jìn)入HS模式后至少保持100ns的LP-00狀態(tài)再開始數(shù)據(jù)。如果這個時間不足接收端可能還沒切換到高速模式數(shù)據(jù)就來了直接導(dǎo)致丟包或者花屏。這些時序測量需要示波器有MIPI解碼選件或者手動用光標(biāo)測量LP到HS切換的間隔。手動測量比較費(fèi)力但確實(shí)能救急。第四個是共模電壓。HS模式下DP和DN的電平圍繞共模電壓上下擺動共模電壓一般在100到300mV之間。如果共模偏了說明驅(qū)動端的共模反饋或者端接電阻有問題。共模異常常常表現(xiàn)為單端波形幅度不對稱一路高點(diǎn)、一路低點(diǎn)但差分波形看起來卻很正常這種坑不測單端根本發(fā)現(xiàn)不了。參數(shù)典型值/范圍測什么波形異常表現(xiàn)HS差分?jǐn)[幅100-300mVHS差分屏閃、雪花、誤碼HS共模電壓100-300mVHS單端DP/DN射頻耦合噪聲大、接收端識別異常上升/下降時間與速率相關(guān)約0.15-0.3UIHS差分眼圖閉合、碼間干擾HS-Zero時間100nsLP到HS切換接收端未進(jìn)入高速模式數(shù)據(jù)錯誤EoT結(jié)束時間規(guī)范內(nèi)HS到LP切換尾串過長進(jìn)入LP模式異常2. 示波器和探頭的那些坑選錯工具等于沒測2.1 帶寬、采樣率、存儲深度怎么算才夠測MIPI信號示波器帶寬是第一個硬門檻。很多人拿一臺100MHz、500MHz的示波器去測MIPI測出來上升沿全都是斜的以為是板子有問題其實(shí)是示波器帶寬不夠把信號本身的快速沿濾掉了。這里有個經(jīng)驗(yàn)算法信號的有效基頻大約是速率的一半。比如1Gbps的D-PHY數(shù)據(jù)率1Gbps基頻500MHz。要準(zhǔn)確測量該信號的上升沿示波器帶寬至少要是基頻的3到5倍也就是1.5GHz以上。如果要做一致性測試或者眼圖分析2.5GHz帶寬才比較從容。采樣率方面示波器采樣率至少是信號速率的兩倍以上才能滿足奈奎斯特采樣定律但實(shí)際測高速串行信號4倍甚至5倍更穩(wěn)妥。還是以1Gbps為例采樣率至少要5GSa/s否則波形重建會出現(xiàn)明顯的臺階失真。更關(guān)鍵的是很多中低端示波器標(biāo)注的最大采樣率只在短時基下能達(dá)到一旦存儲深度用滿或者打開高分辨率模式采樣率會掉下來這點(diǎn)要特別注意。存儲深度也是MIPI調(diào)試?yán)锍1缓鲆暤膮?shù)。MIPI數(shù)據(jù)是突發(fā)傳輸?shù)囊粋€HS burst可能持續(xù)幾十微秒甚至幾百微秒但狀態(tài)切換信號如幀同步、行同步夾雜在長時空閑段里。你要抓的是整個burst的完整過程而不是其中一兩個比特。示波器存儲深度不夠抓長波形時采樣率自動下降HS小信號細(xì)節(jié)全丟了。我自己的經(jīng)驗(yàn)是最少要25Mpts100Mpts以上更穩(wěn)。2.2 差分探頭怎么選單端探頭什么時候用探頭選型直接影響測量結(jié)果的真實(shí)性。測MIPI HS差分信號首選帶寬足夠的差分有源探頭。差分探頭帶寬至少要等于示波器帶寬否則整個測量鏈路就被探頭拖累了。低端差分探頭可能只有幾百M(fèi)Hz帶寬測1Gbps以上的MIPI信號會嚴(yán)重低估性能。差分探頭的連接方式也講究。探針尖端要直接接觸被測焊盤或測試點(diǎn)地線要盡量短。差分探頭一般標(biāo)配兩個小探針和一根地彈簧地彈簧直接搭在最近的接地點(diǎn)上不要用長地鱷魚夾否則地回路電感會引入上百毫伏的噪聲完全淹沒了200mV的MIPI差分信號。單端探頭什么時候用測LP模式波形的時候用。LP信號是0到1.2V的單端信號用普通無源探頭就能測但要注意探頭帶寬和輸入電容。普通無源探頭輸入電容一般在10到15pF對高速信號有負(fù)載效應(yīng)測LP狀態(tài)問題不大測HS狀態(tài)則完全不適用。如果只有單端探頭且必須看HS差分可以用兩個通道分別測DP和DN然后用Math功能做減法但這種方法的共模噪聲抑制能力比真正的差分探頭差不少結(jié)果要打折看待。還有個小技巧如果板上預(yù)留了MIPI測試座或者采用了探測點(diǎn)焊盤盡量用SMA線纜連接探頭而不是直接用探頭刺針。SMA連接穩(wěn)定、阻抗可控波形重復(fù)性好。對于量產(chǎn)板卡很多硬件工程師會預(yù)留這種測試焊盤調(diào)試階段一定要用起來。2.3 觸發(fā)設(shè)置怎樣穩(wěn)定抓到HS突發(fā)MIPI信號是突發(fā)性的不像時鐘那樣周期性出現(xiàn)要穩(wěn)定抓取并不容易。最簡單的觸發(fā)方式是觸及時鐘lane的HS模式但大多數(shù)示波器不支持MIPI物理層直接觸發(fā)這時可以用邊沿觸發(fā)等待修正的方式。具體操作把觸發(fā)通道設(shè)置在時鐘lane對應(yīng)的差分通道上觸發(fā)類型選“上升沿”觸發(fā)電平調(diào)到HS共模電壓附近約200mV時基設(shè)置成能覆蓋一個完整burst的檔位。因?yàn)長P狀態(tài)的電平是0到1.2V而HS狀態(tài)只有200mV左右邊沿觸發(fā)在兩種模式交界處會觸發(fā)一次正好能穩(wěn)定抓到HS entry的瞬間。如果示波器支持MIPI D-PHY物理層觸發(fā)或者DSI/CSI協(xié)議觸發(fā)那就更省事直接選擇相應(yīng)的協(xié)議觸發(fā)條件示波器會自動識別HS burst起點(diǎn)。觸發(fā)之后要解決的是“看到歷史波形”的問題。用單次觸發(fā)模式配合深存儲記錄下從復(fù)位到出圖的整個過程再回放查找問題位置的波形這個方法是調(diào)試上電時序和初始化流程時的利器。實(shí)際工作中通過電源觸發(fā)抓整段上電波形再用示波器的縮放功能定位到MIPI信號的起始位置能快速判斷主控是否輸出了初始化命令、屏幕是否有響應(yīng)。3. 實(shí)測MIPI信號的完整操作流程照著做就行3.1 從開機(jī)到拿到穩(wěn)定波形的三個步驟我調(diào)試MIPI顯示信號時有一套固定的操作流程不管什么平臺都適用。第一步是接線和檢查。確認(rèn)示波器和探頭帶寬是否滿足要求差分探頭校準(zhǔn)之后把探針接在時鐘lane和D0數(shù)據(jù)lane的測試點(diǎn)上。接好之后先觀察靜態(tài)波形上電之前不應(yīng)該有信號上電后如果有持續(xù)的小幅度雜散波形可能是主控端的高阻狀態(tài)干擾也可能是探頭的輻射耦合記錄下來再做分析。第二步是設(shè)定示波器。把時鐘lane的差分波形放到通道1D0 lane放到通道2。時基先調(diào)到比較寬的檔比如200us/div到1ms/div這樣能看到整個初始化的HS burst序列。垂直刻度先按LP電平1.2V來設(shè)置這樣不會因?yàn)镠S小信號觸發(fā)而看不到上下文。第三步是觸發(fā)和采集。使用前面說的邊沿觸發(fā)觸發(fā)電平約200mV觸發(fā)模式選Normal逐步縮小觸發(fā)電平范圍直到穩(wěn)定觸頭在HS entry附近。然后切換到Single模式重啟或者觸發(fā)一次設(shè)備上電流程記錄完整波形。之后就是回放、縮放、定位每個HS burst分別測量HS差分參數(shù)和LP時序。這個流程看起來不復(fù)雜但很多人忽略了一個細(xì)節(jié)測量HS參數(shù)時務(wù)必把波形水平放大到能看清單個UI的程度也就是一個比特周期在屏幕上至少占據(jù)5到10格。否則測出來的上升沿、擺幅都是多個周期平均后的“混合值”無法反映真實(shí)信號質(zhì)量。3.2 關(guān)鍵參數(shù)測量擺幅、共模、上升沿怎么讀數(shù)把波形放大到HS burst內(nèi)部之后開始做具體測量。以我常用的示波器型號為例操作路徑大概是這樣的。測量差分?jǐn)[幅調(diào)用Math功能設(shè)置通道1減通道2假設(shè)通道1接DP、通道2接DNMath波形就是DP-DN的差分信號。在Math波形上打開測量項(xiàng)選擇幅度Amplitude、峰峰值Pk-Pk、最大值、最小值。在HS burst內(nèi)幅度測量值就是差分?jǐn)[幅。如果測量項(xiàng)統(tǒng)計(jì)的是一整段包含LP部分的波形數(shù)值會被LP大信號污染所以一定先用水平光標(biāo)圈出HS burst區(qū)域或者測量時打開Gating功能只統(tǒng)計(jì)顯示區(qū)域內(nèi)數(shù)據(jù)。測量共模電壓用Math做加法公式是(DPDN)/2出來的波形就是共模電平。HS突發(fā)段的共模電壓平均值就是我們需要關(guān)注的。如果示波器沒有共模運(yùn)算功能也可以分別測DP對地、DN對地的波形兩路測量平均值相減除以2來估算。不過這種估算誤差較大不如直接做Math來得準(zhǔn)確。測量上升時間在差分Math波形上打開上升時間測量項(xiàng)設(shè)置10%到90%閾值。測出來的數(shù)值要和信號速率對應(yīng)。比如1Gbps速率一個UI是1ns上升時間如果超過0.3UI300ps眼圖大概率會很差。有些示波器還支持在測量項(xiàng)里設(shè)置參考電平為幅度的百分比這個要提前設(shè)好默認(rèn)值可能是10%到90%但也可能是20%到80%。測量抖動和眼圖如果示波器帶寬足夠可以直接在HS突發(fā)上做眼圖分析。先設(shè)置測量門限選取HS數(shù)據(jù)段然后示波器會自動做時鐘恢復(fù)并疊加出眼圖。沒有眼圖功能的示波器就用余輝模式Persistence看波形疊加把時基調(diào)到2ns/div左右將HS訓(xùn)練序列或者測試圖案持續(xù)發(fā)送屏幕上會自然糊出一個眼圖的輪廓。雖然不如專業(yè)眼圖準(zhǔn)確但足夠判斷“眼睛張開程度”和過沖振鈴情況了。3.3 用示波器的余輝模式和測量統(tǒng)計(jì)功能做快速判斷實(shí)際調(diào)試中并不是每一次都要接電腦做完整的一致性測試很多問題用示波器的余輝模式就能發(fā)現(xiàn)。把示波器顯示模式切到無限余輝讓波形持續(xù)累積顯示。一段時間后屏幕上會形成波形分布輪廓。MIPI HS波形如果質(zhì)量好余輝圖像應(yīng)該是邊界清晰、上下沿陡峭、沒有明顯分叉。如果余輝圖像出現(xiàn)毛邊、雙線、階梯狀上升沿說明有阻抗不連續(xù)、地彈或通道間偏移。用余輝模式檢查LP到HS切換的過渡區(qū)也很有用切換瞬間如果出現(xiàn)了超過500mV的過沖多半是端接電阻不匹配或驅(qū)動能力過強(qiáng)。示波器的測量統(tǒng)計(jì)功能也能幫忙做快速判斷。把光標(biāo)放在HS burst上切到測量統(tǒng)計(jì)模式讓示波器連續(xù)運(yùn)行一段時間觀察幅度、上升時間、周期等參數(shù)的統(tǒng)計(jì)值平均值、最小值、最大值、標(biāo)準(zhǔn)偏差。如果幅度最大最小值差異超過50mV說明不同burst之間信號幅度不穩(wěn)定可能的原因?yàn)殡娫醇y波太大、驅(qū)動IC的共模調(diào)整不穩(wěn)甚至是探頭接觸點(diǎn)氧化導(dǎo)致接觸電阻漂移。這種不穩(wěn)定性在靜態(tài)單次測量里看不出來要靠統(tǒng)計(jì)功能才能暴露。4. 常見波形異常與排查思路我踩過的坑都在這里4.1 擺幅偏低和頂部圓潤多半不是芯片的鍋有次調(diào)試一款車載顯示屏MIPI信號測出來差分?jǐn)[幅只有90mV低于規(guī)范最低值屏偶發(fā)閃橫線。最初懷疑是主控端驅(qū)動能力弱但換主控也一樣。后來用單端探頭分別測DP和DN發(fā)現(xiàn)兩路共模電平不對稱一路比另一路高了近60mV。排查到最后根子出在PCB上這對差分線的阻抗嚴(yán)重不對稱有一路走線過長、參考平面被割裂導(dǎo)致單端阻抗偏高共模電流轉(zhuǎn)換為差模噪聲。換了一版PCB布線之后擺幅恢復(fù)到200mV附近問題解決。這個案例想說明的是MIPI擺幅不足未必是芯片問題更多時候是鏈路阻抗失配。示波器測出來擺幅偏小先別急著調(diào)IC寄存器或者加驅(qū)動強(qiáng)度先用TDR功能或者分析單端波形確認(rèn)PCB走線阻抗是否正常。如果示波器沒有TDR功能可以用端口反射法做個粗略判斷發(fā)送端不做端接只有接收端有100歐差分端接時測到的反射波形幅度約為入射波的1/3如果反射更大說明發(fā)送端附近有不連續(xù)點(diǎn)。頂部圓潤的波形通常說明高頻分量損耗過大。常見原因有三個走線過長、過孔過多、介質(zhì)損耗高的板材。GHz級別的信號在FR4上每百毫米就有明顯損耗如果MIPI走線從SoC到連接器超過100mm又沒有做阻抗補(bǔ)償波形頂部就會圓潤。另一種可能是探頭的帶寬不足導(dǎo)致的假象換更高帶寬探頭之前不要急著給PCB下結(jié)論。4.2 LP狀態(tài)出了毛刺和窄脈沖先查地回路LP模式下的毛刺是另一個常見的疑難雜癥。MIPI的LP信號雖然是低速單端信號但對毛刺同樣敏感因?yàn)閰f(xié)議里的狀態(tài)機(jī)依賴LP信號的電平組合來判斷進(jìn)入和退出HS模式的時機(jī)。如果LP線上出現(xiàn)超過閾值的毛刺接收端可能誤判狀態(tài)切換導(dǎo)致數(shù)據(jù)包丟失或者屏幕顯示異常。排查LP毛刺時第一步要看示波器探頭接地是否可靠。地線過長時探頭地線電感與探頭輸入電容會形成一個諧振回路在信號跳變時產(chǎn)生振鈴這種振鈴是測量系統(tǒng)自己產(chǎn)生的不是被測信號的真實(shí)問題。把地線改短或者用地彈簧接地通常能消掉一半以上的“毛刺”。排除測量系統(tǒng)之后真正的LP毛刺多半來自串?dāng)_。MIPI lane之間距離過近或者與上方的時鐘線、電源線交叉時高速HS信號的切換會耦合到LP信號線上。這種情況下毛刺出現(xiàn)的位置往往與HS burst同步用雙通道同時觀察時鐘lane的HS段和D0 lane的LP段如果毛刺恰好出現(xiàn)在突發(fā)切換時刻基本可以確定是串?dāng)_。解決思路是調(diào)整布線間距或者加串聯(lián)電阻減小HS信號的邊沿速率。還有一類窄脈沖出現(xiàn)在HS到LP切換的瞬間這是協(xié)議中的EoTEnd of Transmission信號本身是一個正常存在的最短LP狀態(tài)脈沖。但EoT脈沖寬度的規(guī)范有要求太窄會導(dǎo)致接收端狀態(tài)機(jī)來不及切換而誤判太寬則會在高阻鏈路上產(chǎn)生反射。實(shí)際測量中我曾經(jīng)見過EoT脈沖寬度不到20ns的情況接收端把下一個HS entry提前解析出來整個屏幕就花了。這種問題示波器上看起來只是一個“細(xì)小的凹槽”很容易被忽略但危害極大。發(fā)現(xiàn)這類波形異常的EoT脈沖需要在驅(qū)動端調(diào)整HS-Trail參數(shù)或者檢查接收端的端接電阻是否完好。4.3 高速數(shù)據(jù)lane和時鐘lane的通道間偏移MIPI DSI規(guī)范里數(shù)據(jù)lane和時鐘lane之間要保持一定的skew偏斜范圍。如果時鐘到數(shù)據(jù)的setup/hold不滿足接收端采到的數(shù)據(jù)就是錯的表現(xiàn)可能是“極低概率的閃點(diǎn)”或者“特定圖案下的花屏”。這種問題最難排查因?yàn)椴ㄐ慰雌饋砻恳宦范颊5喜⑵饋砭褪浅鲥e。示波器排查通道間偏斜的方法是同時連接時鐘lane和D0 lane把時基放小到能看清每個UI用同一組測量光標(biāo)分別測量時鐘邊沿和數(shù)據(jù)切換點(diǎn)的絕對時間計(jì)算差值。多次測量的平均值差異如果超過0.2個UI就要警惕。通道間偏斜的來源很多PCB走線長度不匹配、連接器引腳延遲差異、隔離器件如ESD保護(hù)芯片的響應(yīng)時間不同等。常見做法是在PCB Layout時保證時鐘lane比數(shù)據(jù)lane略短或等長并等長補(bǔ)償走線。測量通道間偏斜時探頭的傳輸延遲差異也要考慮。同一型號的兩根差分探頭延遲通常匹配做得很不錯但不同通道的MATH運(yùn)算本身可能引入微小延遲。建議把兩根探頭的信號交換接入再測一次偏斜值如果兩次測量結(jié)果符號相反且幅度相同說明偏斜來自探頭通道而不是DUT。這是A/B驗(yàn)證的基本思路在做高速信號分析時非常實(shí)用。4.4 FPGA實(shí)現(xiàn)MIPI時的波形檢查要點(diǎn)用FPGA做MIPI接口的開發(fā)這幾年越來越多特別是基于Xilinx 7系列和Intel Cyclone V的平臺。FPGA的IO接口電平標(biāo)準(zhǔn)如LVDS、LVCMOS和MIPI D-PHY的電氣特性并不完全兼容波形質(zhì)量往往需要額外調(diào)整。實(shí)測中FPGA輸出MIPI信號最常見的三個問題是上升沿過緩、共模電壓偏高、各個lane之間的延遲不一致。上升沿過緩的原因是FPGA的IO驅(qū)動強(qiáng)度有限而MIPI要求高速翻轉(zhuǎn)能力。解決思路是在邏輯里盡量把OSERDES放在靠近IO的位置減小內(nèi)部走線延遲同時把IO輸出電流檔位調(diào)到最高。如果板卡允許用專用的MIPI PHY芯片如D-PHY發(fā)送橋會省心得多。波形上如果看到上升時間大于0.3UI就要考慮換PHY方案。共模電壓偏高在FPGA直連場景很常見因?yàn)镕PGA的IO不能直接輸出200mV左右的低共模差分信號。很多方案用串聯(lián)電阻分壓的方式來壓低共模但這就要求非常精確的電阻分壓比和良好的電源紋波控制。測共模波形時用Math做(DPDN)/2運(yùn)算如果共模電平高于300mV接收端可能會飽和或者靈敏度下降。FPGA開發(fā)中還會遇到仿真波形和實(shí)測對不上的問題。很多人用Modelsim做仿真看到MIPI輸出波形在仿真里正常上板之后一塌糊涂。仿真里波形是“紅線”狀態(tài)往往說明邏輯里有未初始化的寄存器X態(tài)這種問題在真機(jī)上表現(xiàn)是不確定的電平反映在示波器上就是MIPI波形時有時無、抖動劇烈。排查時先確認(rèn)上板后的復(fù)位邏輯是否正確釋放再檢查ODDR/OSERDES的時鐘相位關(guān)系是否滿足要求。另外在仿真里能否還原出和示波器實(shí)測一致的HS burst突發(fā)模式也是驗(yàn)證RTL邏輯是否正確的重要手段。5. 把MIPI波形分析和BIOS VBT、驅(qū)動參數(shù)關(guān)聯(lián)起來調(diào)試MIPI顯示的時候示波器測到的波形最終要和軟件配置對應(yīng)起來才有意義。很多人修屏幕閃屏問題調(diào)了很多驅(qū)動代碼卻收效甚微原因就是沒有把軟件參數(shù)和硬件波形結(jié)合起來看。以Intel平臺的MIPI顯示為例BIOS VBTVideo BIOS Table中定義了MIPI DSI的時序參數(shù)包括分頻比率、lane數(shù)量、波特率、HS-Zero時間、HS-Trail時間等。這些參數(shù)寫入硬件寄存器后會直接影響主控輸出的物理波形。如果VBT里的波特率配錯波形大概率是HS burst間隔異常或者CLK頻率偏離預(yù)期。調(diào)試時先用示波器測量時鐘lane的HS頻率與VBT配置的目標(biāo)頻率做對比如果偏差超過1%說明分頻鏈路配置有問題。驅(qū)動端也有幾個和示波器測量強(qiáng)關(guān)聯(lián)的參數(shù)。比如HS-Trail時間參數(shù)它控制HS到LP切換時尾綴的長短直接影響EoT狀態(tài)能否被接收端正確解析。示波器上看到EoT脈沖過窄或者過寬回到驅(qū)動代碼里調(diào)整HS-Trail寄存器值就可以觀察波形變化。這套“波形發(fā)現(xiàn)問題–代碼改參數(shù)–再抓波形驗(yàn)證”的回路是解決MIPI顯示兼容性問題的基本方法。另外如果屏幕上存在特定行、特定畫面的花屏可以用示波器鎖定在D0 lane上抓取對應(yīng)的HS burst對比正常畫面和異常畫面的波形差異。能拍到差異問題就排查了一半。比如畫面橫向撕裂往往表現(xiàn)為VSYNC附近的一兩個HS burst波形異常這時候瞄準(zhǔn)刷新邊界去抓波形比盲目換屏、換主控高效得多。寫在最后的實(shí)操體會做了這么多年的MIPI調(diào)試我最大的體會是示波器測MIPI七分在準(zhǔn)備三分在測量。帶寬不足的探頭、過長的地線、不合理的觸發(fā)設(shè)置都會讓你得出完全錯誤的結(jié)論。遇到MIPI波形“異?!毕葢岩蓽y量系統(tǒng)再用示波器確認(rèn)信號特征最后回到PCB布線和驅(qū)動參數(shù)上找根因這條路徑基本能解決90%的問題。最后再分享一個小技巧測量MIPI波形時第一次抓波形不要追求完美先確保整段初始化流程被記錄下來再逐步放大分析。一條好的HS burst波形可能只需要幾秒就能抓到但為了這幾秒之前的探頭校準(zhǔn)、觸發(fā)設(shè)置、參數(shù)評估往往要花半小時。調(diào)試高速信號耐心和系統(tǒng)化分析永遠(yuǎn)是比工具本身更值錢的能力。