模擬世界和數字世界之間的聯(lián)系離不開ADC和DAC,隨著人們數據需求的增加、頻譜資源緊缺,高速ADC/DAC以及適合處理大數據的FPGA平臺逐漸被開發(fā)出來,隨之用于高速數據傳輸的協(xié)議與之誕生,即JESD204協(xié)議,相比傳統(tǒng)的LVDS傳輸方式,其鏈路速率更高,同時也節(jié)約IO數量。協(xié)議發(fā)展為幾個不同版本,其主要區(qū)別如下所示:
當前應用最普遍的為JESD204B,204B又分為子類0、子類1、子類2 ,這是根據同步方式劃分的,比如子類1通過SYSREF進行同步,子類2根據SYNC來同步,目前采用較多的為子類1,并且只有子類1和子類2才支持確定性延時。 如上圖所示,JESD204B分為四層介紹,分別是物理層、數據鏈路層,傳輸層和應用層。 1、物理層用于以特定速率發(fā)送和接收數據; 2、數據鏈路層用于8B/10B編解碼和幀、lane數據對齊; 3、傳輸層用于數據組幀或解幀; 4、應用層用于鏈路配置和數據映射。 在使用轉換器和FPGA進行JESD204B數據傳輸時,必須對轉換器和FPGA采用相同的鏈路配置,才能正確的接受數據。如ADC何FPGA之間的數據連接,首先通過SPI配置ADC實現(xiàn)鏈路參數設置。ADC采集到的數字信號會在JESD204B傳輸層根據給定器件已定義的鏈路配置參數,決定如何包裝ADC的數據。這些參數在初始通道對齊序列(ILAS)期間從ADC傳輸到FPGA,以便校驗通信雙方鏈路參數是否相同 ,若FPGA檢測到錯誤就會通過SYNC信號向ADC匯報錯誤,數據映射如下圖所示。數據鏈路層接受并行成幀數據,并輸出8B/10B字。8B/10B方案會增加一些開銷,但能提供直流平衡的輸出數據和內置差錯校驗。鏈路建立包括三個不同階段:
1) 代碼組同步(CGS): 在代碼組同步(CGS)期間,一旦在所有鏈路通道上檢測到某一數量的連續(xù)K28.5字符,F(xiàn)PGA就會送至ADC的SYNC信號。在JESD204B中,ADC捕捉到SYNC信號的變化,就會在下一個本地多幀時鐘(LMFC)邊界上啟動ILAS。 2) 初始通道對齊序列(ILAS) ILAS的主要作用是對齊鏈路的所有通道,驗證鏈路參數,以及確定幀和多幀邊界在接收器的輸入數據流中的位置。ILAS由4個或更多多幀組成。各多幀的最后一個字符是多幀對齊字符/A/。第一、第三和第四個多幀以/R/字符開始,以/A/字符結束。第二個多幀包含/R/和/Q/字符,隨后是鏈路參數。/Q/字符表示之后的數據是鏈路配置參數。 3) 用戶數據 CGS和ILAS階段完成后,發(fā)送器開始送出ADC數據。在這一階段,用戶數據根據ADC中定義并轉發(fā)到接收器(FPGA)的鏈路參數,以流形式從發(fā)送器傳輸到接收器。;并且如果需要,通過數據鏈路中的字符替換可以監(jiān)視并糾正幀和通道對齊,字符替換在幀和多幀邊界處進行。 在物理層中,數據進行串行化,8B/10B編碼數據以線路速率發(fā)送和接收。物理層包括串行/解串器(SERDES)模塊、驅動器、接收器和CDR,JESD204B規(guī)范支持三種可能的速度等級,如下圖所示。JESD204B參數理解如上圖,首先要了解LINK和lane的概念,link即一個轉換器設備和邏輯設備(FPGA)之間的數據連接;lane是指link中每一路數據通道。轉換器如ADC,在進行采樣、下變頻等操作之后,根據預先設定的204B參數,在204B傳輸層將數據組幀,到數據鏈路層進行編碼,最后通過物理層將數據傳輸到邏輯設備(FPGA),這些參數決定了數據傳輸的模式,在邏輯設備端采用相同的參數進行解碼和解幀才能得到正確的采樣數據。我們關心的參數如下:
以TI的AD9689為例子解釋參數,AD9689是雙通道16位,最大采樣速率2.56GHz的模數轉換器,其全帶寬模式如下圖所示,有兩個ADC CORE即M=2;8條lane即L=8;N=14即3.5nibble,補全nibble即N’=4nibble=16,每幀只有一個字節(jié)(8bit)即F=1;每個轉換器每幀時間的采樣點數為2即S=2;這些參數決定了lane rate。①lane rate=(MxSxN’x10/8xFc)/L;幀時鐘:Fc=Fs/S,乘以N’即補齊nibble部分用控制字填充。 乘以10/8即編碼部分。 lane rate計算對選擇FPGA具有重要意義,JESD204B支持速率高達12.5Gbps,但最終工作在何種速率取決于使用哪種FPGA,F(xiàn)PGA GTH/GTX收發(fā)速率有上限,不同F(xiàn)PGA支持速率不同。因此參數決定的lane rate和FPGA選擇需要進行權衡對比哦。 在JESD204B協(xié)議中,各個時鐘之間的關系如下圖所示: 然而在實際應用中,硬件上需要外部提供給ADC和FPGA的時鐘如下所示: 1、SYSREF:參考時鐘,同SYSREF TO ADC; 2、GLBCLK:204B核時鐘,F(xiàn)glbclk=lane rate/40; 3、REFCLK:GTH參考時鐘,時鐘頻率可選; 4、DEVICE CLK:ADC設備時鐘; 5、SYSREF:ADC參考時鐘; 通常實現(xiàn)在ADC和FPGA的連接,硬件上根據設計需求選擇合適的ADC和FPGA,這設計到對ADC工作模式和FPGA邏輯資源和高速收發(fā)器速率的綜合考慮。然后提供分別電源、時鐘和硬件連接,在ADC端通過SPI總線配置其工作模式和參數配置等,在FPGA端一般是通過調用IP CORE,配置對應參數然后打開相應的example design進行接收端數據處理的。
|