使用并行輸出的解串器分解SerDes系統中的各類信號
作者:Frank Qin
本文引用地址:http://www.ex-cimer.com/article/202312/454139.htm問題背景:
在IVI系統中,SoC-串行器-解串器-屏幕的鏈路中存在很多的干擾及未知因素。尤其是當下各類芯片基本都沒有提供各類信號的并行輸出,導致難以在串行鏈路中的各個點位分別抓取我們希望得到的數字信號,從而導致在整個系統出現不穩定或者時鐘及脈沖信號不匹配時,我們無從下手去找到不匹配的點。
解決思路:
如果可以把串行信號或者“黑盒子”中的有意義的信號單獨抓取出來,找到其中的“可變量”和“定量”,就可以比較簡單的判斷出鏈路中是否有哪個信號出現的偏差或抖動。
LVDS 可在并行和串行數據傳輸中工作。 在并行傳輸中,多個數據差分對同時承載多個信號,其中包括用于同步數據的時鐘信號。 在串行通信中,多個單端信號被串行化為單個差分對,數據速率等于所有組合單端通道的數據速率。
因此,當我們需要分別分析各個數據的時候,并行數據傳輸的優勢就比較明顯了。
可做參考的四個信號:
PCLK(時鐘信號)、DE(data enable數據使能信號)、Hsync(行同步信號)和Vsync(場同步信號)。
PCLK:在FPD-Link鏈路中,PCLK由SoC生成并發出,途徑的FPD-Link SerDes芯片都參考此時鐘信號。但目前的SoC和SerDes芯片都因為串行數據的傳輸格式而無法實際測量PCLK的數值。因此也無法確定SoC實際發出的PCLK是否和設置的理論值一致。因為鏈路上的SerDes芯片都是根據理論設置的PCLK值保持一致,所以一旦鏈路中的實際PCLK值有偏差,鏈路上的視頻信號將會產生時鐘偏差。
DE:顧名思義,DE信號是用于使能有效信號的,它用來區分有效視頻數據(active data)和消隱信號(blanking)。由圖1可以看出,DE信號僅在有效信號的區間內是高電平,其余均為低電平。因此,DE信號會由有效視頻信號和消隱(包括Sync pulse、front porch和back porch)。
Hsync和Vsync:對于視頻信號來說,每行圖像信號掃描完之后都需要跳轉至下一行,而Hsync也就是行同步信號就是每完成一行時候出現的一個用作提示的高電平。Hsync的周期可以直接理解為視頻信號一行有效區加上消隱區的總脈沖周期。換句話說,Hsync就是每行的數據總和,不會受到時鐘信號以及有效信號設置的影響,在整個鏈路中會保持一致。同理,Vsync是縱向的脈沖總和。
在TI的FPD-Link III代編解串器中,DS90UB926Q-Q1就是這樣的一個輸出模式。通過UB926的框圖,可以看到輸出的信號是分解出了上文提到的HS、VS、DE和PCLK數據。只需要在輸出端用示波器或者分析儀抓取對應的信號即可。因此如果希望了解video source或者Sereializer在進入display之前的信號是否有異?;蚨秳?,使用一個DS90UB926QEVM是最簡單最直觀的辦法。
但有時無法替換掉deserializer或者我們需要把deserializer包含在被測試的鏈路中,下面會介紹一種原理一樣的方式來分離出想要觀察的HS、VS、DE或PCLK信號。
工具介紹:
DS90CF386的EVM板(官網名稱FLINK3V8BT-85)。
DS90CF386是FPD-Link的解串器,可以接收高達85MHz的LVDS信號輸入。它的特點是可以做到并行的LVCMOS輸出,如圖所示,DS90CF386可以分別輸出DE、RGB data、Clock、Hsync和Vsync數據給到接收端。這樣的特性剛好可以解決我們新一代FPD-Link產品無法分別識別出這幾個信號的問題。
DS90CF386共有ROUT[27:0]共計28個并行信號輸出接口和一個專門的Clock output接口,其中24個作為24bits RGB信號輸出,分為3組,每組8個。這24個輸出接口應用于RGB666的信號格式,分別是模式下的24 color bits (R[8:0], G[8:0], B[8:0]),另外4個是對我們這個應用最關鍵的3 個控制信號(VS, HS and DE)以及一個CNTL信號。如上文提到的,VS, HS和DE是我們可以組為參考的重要標準。而在DS90CF386EVM板上,RXCLKOUT 作為了RCLK的輸出引腳,可以直接作為引出CLK信號以作參考。
實際應用舉例:
此系統為SA8155作為DP source,DS90UB983和DS90UB948作為FPD-Link編解串器的一個汽車中控屏架構。從8155主芯片發出的DP視頻信號經過983和948最后到屏幕的過程中,我們都沒有方便的測試點可以抓取這條視頻信號的PCLK。因此當屏幕圖像出現抖動的時候,我們無法得知何處的CLK時鐘信號有偏差,即使知道8155發出的PCLK時鐘信號和設置的理論值有偏差,我們也無法知曉具體偏差了多少以及調整的方向。此時,可以在948的LVDS輸出后面接上一個DS90CF386 的EVM板,通過它把這個視頻鏈路中的PCLK時鐘信號抓取出來,通過和Hsync的對比確認PCLK是否有偏差并確定調整方向。
DS90CF386EVM板在使用時很簡單,給VCC接上3.3V電源并接地后即可啟動。因為作為LVDS輸入的J2是micro USB接口,因此可能需要一些轉接工具把948輸出的信號連接至DS90CF386。以上連接完成后即可通過J1的輸出抓取到這個視頻信號通路里面的PCLK等數值。
通過這種方法獲取的PCLK是鏈路中實際的像素時鐘,可以通過和SoC以及串行器中設置的PCLK值進行對比,確認實際鏈路中的像素時鐘是否和設置值有偏差以及偏差了多少。其中可以作為參考的一個重要指標就是Hsync值。如前文提到的,Hsync是不會受到時鐘的影響,因此將Hsync作為周期性的參考基準是最為合適的。如果SoC或者整個系統會導致PCLK有不規律的抖動,此時單純靠示波器顯示出來的頻率時難以判斷的,因為不規律的抖動無法通過示波器的暫?;蛘哂|發等功能抓到。此時最有效的方法是使用示波器的無限余暉模式讓PCLK波形不斷疊加,如果沒有不規則抖動,PCLK波形應當不斷重疊在一起。
總結
隨著汽車應用中需要傳輸的視頻信號速率越來越高,DP/MIPI等協議逐漸成為主流,在這樣一個完全由串行信號組成的系統中逐步拆解并定位可疑的異常點就需要一些可以破局的方法。本文即介紹了一種使用并行信號輸出的解串器來分離各個信號以便分析的方法。
評論