掌握JESD204B介面功能的關鍵問題

作者: ADI自動化、能源與感測器部門應用工程師Anthony DeSimone及FPGA系統應用工程師 Michael Giancioppo


JESD204B是最近核准的JEDEC標準,用於轉換器與數文書處理元件之間的串列資料介面。它是第三代標準,進一步解決了先前版本的一些缺陷。這個介面的優勢包括:資料介面路由所需電路板空間更少,建立與保持時序要求更低,以及轉換器和邏輯元件的封裝更小。多家供應商的新型類比/數位轉換器採用此介面,例如ADI的 AD9250

與現有介面格式和協定相比,JESD204B介面更複雜、更微妙,必須克服一些困難才能實現其優勢。如同任何其他標準,要使該介面比單倍數據速率或雙倍數據速率CMOS/LVDS等常用介面更受歡迎,它必須能無縫地工作。雖然JESD204B標準是由JEDEC 所制定,但某些特定資訊仍需要闡明,或者可能散佈於多個參考文獻中。另外,如果有一個簡單明瞭的指南能概要說明該標準、工作原理以及如何排除故障,無疑對於使用者而言將會相當有幫助。

本文闡釋了JESD204B標準的ADC與FPGA的介面,如何判斷其是否正常工作,以及可能更重要的是,如何在有問題時排除故障。文中討論的故障排除技術可以採用常用的測試與測量設備,包括示波器和邏輯分析儀,以及 Xilinx®的ChipScope或 Altera®的 SignalTap等軟體工具。同時說明了介面訊號傳輸,以便能夠利用一種或多種方法實現訊號傳輸的視覺化。

JESD204B概述

JESD204B標準提供一種將一個或多個資料轉換器與數位訊號處理元件介面的方法(通常是ADC或DAC與FPGA介面),相較於通常的並行資料傳輸,這是一種更高速度的序列介面。該介面速度高達12.5 Gbps/通道,使用幀串列資料連結及嵌入式時脈和對齊字元。它減少了元件之間的佈線數量,降低了佈線匹配要求,並消除了建立與保持時序約束問題,從而簡化了高速轉換器資料介面的實施。由於鏈路需要在資料傳輸之前建立,因此存在新的挑戰,必須採用新的技術來確定介面是否正常工作,以及在介面故障時如何解決。

JESD204B介面透過三個階段來建立同步鏈路:代碼組同步(CGS)、初始通道同步(ILAS)和資料傳輸階段。鏈路需要以下訊號:共用參考時脈(元件時脈),至少一個差分CML物理資料電連接(稱為"通道"),以及至少一個其他同步訊號(SYNC~和可能的SYSREF)。使用哪些訊號取決於子類:

  • 子類0使用元件時脈、通道和SYNC~。
  • 子類1使用元件時脈、通道、SYNC~和SYSREF。
  • 子類2使用元件時脈、通道和SYNC~。

子類0在許多情況下足以滿足需求,因而是本文的重點。子類1和子類2提供了建立確定性延遲的方法,這在需要同步多個元件或需要系統同步或固定延遲的應用中非常重要,例如一個系統的某個事件需要已知的採樣邊緣,或者某個事件必須在規定時間內回應輸入訊號。

圖1顯示了從發射元件(ADC)到接收元件(FPGA)的簡化JESD204B鏈路,資料從一個ADC經由一個通道傳輸。

圖1. JESD204B鏈路圖:一個ADC透過一個通道與FPGA介面。

雖然JESD204B規範有許多變數,但某些變數對於鏈路的建立特別重要。這些關鍵變數如下所示(注:這些值通常表示為"X − 1"):

  • M:轉換器數。
  • L: 物理通道數。
  • F: 每幀的8位元組數。
  • K: 每個多幀的幀數。
  • N和N':分別表示轉換器解析度和每個樣本使用的位元數(4的倍數)。N'的值等於N值加上控制和填充資料位元數。

子類0:同步步驟

如上所述,許多應用可以採用相對簡單的子類0工作模式,這也是建立和驗證鏈路的最簡單模式。子類0透過三個階段來建立和監控同步:CGS階段、ILAS階段和資料階段。各階段相關的圖表以不同格式顯示資料,可以在示波器、邏輯分析儀或FPGA虛擬I/O分析儀(如Xilinx ChipScope或Altera SignalTap)上觀察到這些資料。

代碼組同步(CGS)階段

可以在鏈路上觀察到的CGS階段最重要部分如圖2所示,圖中5個突出顯示的點說明如下。

  • 接收器透過拉低SYNC~針腳,發出一個同步請求。
  • 收發器從下一個符號開始,發送未加擾的/K28.5/符號(每個符號10位元)。
  • 當接收器收到至少4個無錯誤的連續/K28.5/符號時同步,然後將SYNC~針腳拉高。
  • 接收器必須接收到至少4個無錯誤8B/10B字元,否則同步將失敗,鏈路留在CGS階段。
  • CGS階段結束,ILAS階段開始。

圖2. JESD204B子類0鏈路訊號在CGS階段的邏輯輸出(假設有兩個通道,一個元件含兩個ADC)。

/K28.5/字元在JESD204B標準中也稱為/K/,如圖3所示。標準要求直流平衡。利用8B/10B編碼,可以實現平均而言包含等量1和0 的平衡序列。每個8B10B字元可能具有正(1較多)或負(0較多)偏差,當前字元的奇偶性由先前發送的字元的極性偏差決定,這通常是透過交替發送正奇偶性字與負奇偶性字來實現。圖中顯示了/K28.5/符號的兩種極性。

圖3. K28.5字元的邏輯輸出以及它如何透過JESD204B Tx訊號路徑傳播。

重點注意以下幾點:

  • 串列值表示透過通道傳輸的10位元的邏輯位準,可透過測量物理介面的示波器看到。
  • 8B/10B 值表示透過通道傳輸的邏輯值(10位元),可透過測量物理介面的邏輯分析儀看到。
  • 資料值和資料邏輯表示8B/10B編碼前JESD204B收發器模組內符號的邏輯位準,可透過Xilinx ChipScope或Altera SignalTap等FPGA邏輯分析工具看到。
  • 符號 表示要發送的字元的十六進位值,注意PHY層的奇偶性。
  • 字元 表示JEDEC規範中所指的JESD204B字元。

ILAS階段

ILAS階段有4個多幀,允許接收器對齊來自所有鏈路的通道,以及驗證鏈路參數。為了調和不同長度的佈線以及接收器導致的字元偏斜,通道必須對齊。4個多幀緊緊相連(圖4)。無論啟用加擾鏈路參數與否,ILAS始終是無加擾傳輸。

圖4. JESD204B 子類0鏈路訊號在ILAS階段的邏輯輸出。

SYNC訊號從低位準變為高位準後,便進入ILAS階段。發送模組內部追蹤到(ADC內部)一個完整多幀後,便開始發送4個多幀。在所需的字元中插入填充資料,以便傳送完整的多幀(圖4)。4個多幀包括:

  • 多幀1:以/R/字元[K28.0]開始,以/A/字元[K28.3]結束。
  • 多幀2:以/R/字元開始,後接/Q/ [K28.4]字元,然後是14個配置8位元字的鏈路配置參數(表1),最後以/A/字元結束。
  • 多幀3:與多幀1相同。
  • 多幀4:與多幀1相同。

圖5. /K/字元[K28.5]、/R/字元[K28.0]、/A/字元[K28.3]和/Q/字元[K28.4]圖。

表1. ILAS多幀2的CONFIG表(14個JESD204B配置參數 8位元字)
8位元 字數 位元 7 (MSB) 位元 6 位元 5 位元 4 位元 3 位元 2 位元 1 位元0 (LSB)
0 DID[7:0]
1 ADJCNT[3:0]
BID[3:0]
2 ADJDIR PHADJ LID[4:0]
3 SCR
L[4:0]
4 F[7:0]
5
K[4:0]
6 M[7:0]
7 CS[1:0]
N[4:0]
8 SUBCLASS[2:0]
N[4:0]
9 JESDV[2:0]
S[4:0]
10 HD
CF[4:0]
11 RESERVED 1
12 RESERVED 2
13 FCHK[7:0]

幀長度可以利用JESD204B參數計算:

含義:

(樣本數/轉換器/幀)×(1/樣本速率)

示例:

採樣速率為250 MSPS、每幀每轉換器一個樣本的轉換器(注:在本例中"S"為0,因為它被編碼為二進位值-1),其幀長度為4 ns。

equation1

多幀長度可以利用JESD204B參數計算:

equation2

含義:

(樣本數/轉換器/幀)×(幀數/多幀)×(1/採樣速率)

示例:

採樣速率為250 MSPS、每幀每轉換器一個樣本、每多幀有32幀的轉換器,其多幀長度為128 ns。

equation3

資料階段(致能字元替換)

在資料傳輸階段,透過控制字元監控幀對齊。在幀的結尾處執行字元替換。在資料階段,資料或幀對齊不會造成額外開銷。 字元替換允許在幀邊界處發送對齊字元,條件是當前幀的最後一個字元可以替換為上一幀的最後一個字元。這有利於(間或)確認自ILAS序列後,對齊未改變。

出現下列情況時,會對發送器執行字元替換:

  • 若禁用了加擾,幀或多幀的最後一個8位元字等於上一幀的8位元字。
  • 若使能了加擾,多幀的最後一個8位元字等於0x7C,或幀的最後一個8位元字等於0xFC。

發射器和接收器各自保持一個本地多幀計數器(LMFC),它持續計數到(F × K) − 1,然後繞回到"0"重新開始計數(忽略內部 字寬)。向所有發送器和接收器發送一個公共(源)SYSREF,這些元件利用SYSREF復位其LMFC,這樣所有LMFC應互相同步(在一個時脈週期內)。

釋放SYNC(所有元件都會看到)後,發送器在下一次(Tx) LMFC繞回0時開始ILAS。如果F × K設定適當,大於(發送器編碼時間)+(線路傳播時間)+(接收器解碼時間),則接收資料將在下一個LMFC之前從接收器的SERDES傳播出去。接收器將把資料送入FIFO,然後 在下一個(Rx) LMFC邊界開始輸出資料。發射器的SERDES輸入和接收器FIFO輸出之間的這種已知關係稱為確定性延遲 。

可能是甚麼地方出了問題?

JESD204B可以說是一個複雜的介面標準,操作上有許多微妙之處。要找出不能正常工作的原因,需要對可能的情形有良好的瞭解:

陷入CGS模式:如果SYNC保持邏輯低位準;或者脈衝高位準持續時間少於4個多幀:

檢查電路板,不上電:

  • SYSREF和SYNC~訊號應直流耦合。
  • 在電路板未上電的情況下,檢查從SYNC~源(通常來自FPGA或DAC)到SYNC~輸入(通常是ADC或FPGA)的電路板SYNC~連接是否良好且具有低阻抗。
  • 確保下拉或上拉電阻不是訊號傳輸的主導因素,例如:值太小或短路就會導致無法正確驅動。
  • 確認JESD204B鏈路的差分對佈線(及電纜,若使用)匹配。
  • 確認佈線的差分阻抗為100 Ω。

檢查電路板,上電:

  • 如果SYNC路徑中有一個緩衝器/轉換器,確保其能正常工作。
  • 確認SYNC~源和板上電路(SYNC+和SYNC-,若為差分)配置正確,產生符合SYNC~接收元件要求的邏輯位準。如果邏輯位準不相容,應檢查源和接收配置以找出問題,否則,請諮詢元件製造商。
  • 確認JESD204B串列發送器和板電路配置正確,產生符合JESD204B串列資料接收器要求的正確邏輯位準。如果邏輯位準不相容,應檢查電路的來源和接收配置以找出問題。否則,請諮詢元件製造商。

檢查SYNC~訊號:

  • 如果SYNC~為靜態邏輯位準,鏈路將停留在CGS階段。可能是所發送的資料有問題,或者JESD204B接收器未對樣本進行 正確解碼。確認發送的是/K/字元,確認接收配置設置,確認SYNC~源,檢查板電路,考慮過驅SYNC~訊號並強迫鏈路進入ILAS模式,從而找出鏈路接收器和收發器問題。否則,請諮詢元件製造商。
  • 如果SYNC~為靜態邏輯高位準,確認源元件是否正確配置了SYNC~邏輯位準。檢查上拉和下拉電阻。
  • 如果SYNC~脈衝變為高位準,然後返回邏輯低位準狀態且持續時間少於6個多幀週期,則JESD204B鏈路會從CGS階段前進 到ILAS階段,但會停留在後一階段。這可能意味著/K/字元正確,CDR的基本功能正常。請參閱"ILAS故障排除"部分。
  • 如果SYNC~變為高位準且持續時間大於6個多幀週期,則鏈路 會從ILAS階段前進到資料階段,但會在後一階段發生故障;相關故障排除提示請參閱"資料階段"部分。

檢查串列資料

  • 確認收發器的資料速度和接收器的預期速率是否相同。
  • 用高阻抗探頭(如果可能,使用差分探頭)測量通道;如果字元看起來錯誤,確保通道差分佈線匹配,PCB上的返回路徑未中斷,並且元件正確焊接到PCA上。與ILAS和資料階段的(看似)隨機字元不同,CGS字元很容易在示波器上識別(如果使用速度足夠高的示波器)。
  • 用高阻抗探頭驗證/K/字元。
    • 如果/K/字元正確,則表示鏈路的收發器端工作正常。
    • 如果/K/字元不正確,則表示收發器元件或電路板通道訊號有問題。
  • 若是直流耦合,確認發送器和接收器共模電壓在元件的要求範圍內。
    • 根據建置情況,發射器共模電壓範圍可能為490 mV至1135 mV。
    • 根據建置情況,接收器共模電壓範圍可能為490 mV至1300 mV。
  • 確認資料通道上的發射器CML差分電壓(注意,CML差分電壓等於訊號各側電壓擺幅的兩倍)。
    • 對於3.125 Gbps及以下的速度,發射器CML差分電壓範圍為 0.5 V p-p至1.0 V p-p。
    • 對於6.374 Gbps及以下的速度,發射器CML差分電壓範圍為 0.4 V p-p至0.75 V p-p。
    • 對於12.5 Gbps及以下的速度,發射器CML差分電壓範圍為 0.360 V p-p至0.770 V p-p。
  • 確認資料通道上的接收器CML差分電壓(注意,CML差分電壓等於訊號各側電壓擺幅的兩倍)。
    • 對於3.125 Gbps及以下的速度,接收器CML差分電壓範圍為 0.175 V p-p至1.0 V p-p。
    • 對於6.374 Gbps及以下的速度,接收器CML差分電壓範圍為 0.125 V p-p至0.75 V p-p。
    • 對於12.5 Gbps及以下的速度,接收器CML差分電壓範圍為 0.110 V p-p至1.05 V p-p。
  • 如果存在預加重選項,應啟用該選項並觀察資料路徑上的資料訊號。
  • 確認發射器與接收器的M和L值一致,否則資料速率可能不匹配。例如,M = 2且L = 2這種情況的預期序列介面資料速率是 M = 2且L = 1這種情況的一半。
  • 確保進入發射器和接收器的元件時脈已鎖相且頻率正確。

如果SYNC變為高位準且持續約4個多幀,則停留在ILAS模式:

  • 鏈路參數衝突
    • 確認鏈路參數未偏移1(許多參數規定為值減1)。
    • 確認ILAS多幀傳送正確,確認收發元件、接收元件和ILAS第二多幀傳送的鏈路參數正確。
    • 計算預期ILAS長度 (tframe, tmultiframe, 4 × tmultiframe)確認ILAS已 嘗試大約4個多幀。
  • 確認所有通道工作正常。確保不存在多通道/多鏈路衝突。

進入資料階段但鏈路偶爾會復位(先返回CGS和ILAS階段,再進入資料階段):

  • 週期性或頻隙週期性SYSREF或SYNC~訊號的建立和保持時間無效。
  • 鏈路參數衝突。
  • 字元替換衝突。
  • 加擾問題(如果啟用)。
  • 通道資料損壞、雜訊或抖動可能迫使眼圖閉合。
  • 雜散時脈或元件時脈的抖動過大。

關於排除鏈路故障的其他一般提示:

  • 以允許的最低速度運行轉換器和鏈路,如此就可使用較容易獲得的低頻寬測量儀器。
  • 設定允許的最少M、L、K、S組合。
  • 可能時使用測試模式。
  • 使用子類0來排除故障。
  • 排除故障時禁用加擾。

本故障排除指南並未窮盡所有可能,但可為使用JESD204B鏈路以及希望瞭解更多資訊的工程師提供一個很好的基本框架。

以上是JESD204B規範的概述,並提供了鏈路相關的實用資訊。希望與此最新高性能介面標準的工程師能從中獲益,並對排除故障有所説明。