介紹:架構
JEDEC Standard No. 204B (JESD204B)—A standardized serial interface between data converters (ADCs and DACs) and logic devices (FPGAs or ASICs)編碼
也就是說這是一個高速模數信號轉換芯片與邏輯器件芯片之間的標準接口。spa
JEDEC是開發微電子行業開放標準的全球領導者,擁有3,000多名志願者,表明近300家成員公司。官網:https://www.jedec.org/3d
優勢:具備全部高速串行接口的優勢(減少芯片封裝大小、引腳數量;減少電路板PCB面積;功率必定時提供更大的吞吐量。);code
速度:每一個Lane/通道高達12.5 Gbps(12.5 * 10 ^ 9 bits per second = 12.5 * 10 ^ 8 Bytes per second(8b/10b編碼) ~= 1192.0929 MBytes per second(除以1024 ^ 2))。blog
JESD204B接口共有三個子類:Subclass 0 Subclass 1 Subclass 2(常見Subclass 1,不一樣子類的區別主要跟信號SYSREF和SYNC~的有無有關):接口
Subclass 0 uses device clock, lanes, and SYNC~(子類0只有SYNC~信號);進程
Subclass 1 uses device clock, lanes, SYNC~, and SYSREF(子類1有SYNC~和SYSREF信號);圖片
Subclass 2 uses device clock, lanes, and SYNC~(子類2只有SYNC~信號)。開發
以上圖片來自:http://www.ti.com/lit/ml/slap161/slap161.pdf
圖中顯示了一個基本的JESD204B(Subclass 1)的架構,時鐘產生器給收發雙方提供Device Clock及SYSREF信號;發送方經過串行接口發送數據至接收方,接收方經過SYNC~信號控制發送進程。
以上圖片來自:http://www.ti.com/lit/ml/slap161/slap161.pdf
從圖中咱們能夠看到:
架構分三層:1 Transport Layer / 傳輸層;2 Link Layer / 鏈路層;3 Physical Layer / 物理層。
比較重要的信號有Device Clock、SYSREF和SYNC~:
Device Clock提供外部統一同步時鐘;
SYSREF由外部時鐘產生器生成;
SYNC~由接收發給發送,用於同步。
deterministic link latency
上圖中各參數:
M=8表示共有8路ADC;S=1表示一幀中包含了1次採樣;N=11表示ADC採樣精度爲11;N'=13表示採樣精度11bits+控制位2bits;CS=2表示控制位爲2bits;L=4表示Lane的數量爲4;F=4表示每一個Lane的每一個幀有4個字節;K=User Defined表示由用戶定義的每一個多幀裏面有幾個幀;Control bits用於表示ADC是否溢出或;Tails Bits用於填充,能夠固定爲0或填充僞隨機序列;
上述參數都是經過寄存器進行設置的。
JESD204B經過三個階段來創建同步鏈路:代碼組同步(code group synchronization, CGS),初始化通道同步(initial lane synchronization, ILAS),數據傳輸階段(data transmission phase)。
1.代碼組同步(CGS)階段
CGS is the process by which the JESD204B receiver finds the boundaries between the 10-bit symbols in the stream of data.
CGS階段:
a 首先由接收端將SYNC信號拉低(表示請求與發送端同步);
b 發送端檢測到SYNC信號拉低後,發送連續的K28.5字符;
c 接收端利用CDR(時鐘數據恢復)技術,提取到四個連續的K28.5字符(表示同步完成)後,將SYNC拉高;
d 發送端檢測到SYNC信號拉高後,即表明CGS階段的完成,代碼組同步階段完成,進入ILAS階段。
換個說法再來一遍:各接收器(FPGA)必須利用時鐘和數據恢復(CDR)技術,在ADC傳來的輸入數據流中找到K28.5字符。一旦在全部鏈路通道上檢測到某一數量的連續K28.5字符,接收器模塊就會解除置位至發送器模塊的SYNC~信號。在JESD204B中,發送模塊捕捉SYNC~信號的變化,並在下一個本地多幀時鐘(LMFC)邊界上啓動ILAS。
2.初始通道同步(ILAS)階段
ILAS的主要做用是對齊鏈路的全部通道,驗證鏈路參數,以及肯定幀和多幀邊界在接收器的輸入數據流中的位置。
The ILAS phase follows the CGS phase and begins on the next LMFC boundary after SYNCINB± deassertion.
The ILAS consists of four mulitframes, with an /R/ character marking the beginning and an /A/ character marking the end.
ILAS包含4個多幀,由一個/R/碼開始,由一個/A/碼結束(/R/碼爲/K28.0/ /A/碼爲/K28.3/);
The ILAS begins by sending an /R/ character followed by 0 to 255 ramp data for one multiframe. On the second multiframe, the link configuration data is sent, starting with the third character. The second character is a /Q/ character to confirm that the link configuration data follows. All undefined data slots are filled with ramp data. The ILAS sequence is never scrambled.
The four multiframes include the following:
Multiframe 1 begins with an /R/ character (/K28.0/) and ends with an /A/ character (/K28.3/).
Multiframe 2 begins with an /R/ character followed by a /Q/ character (/K28.4/), followed by link configuration parameters over 14 configuration octets (see Table 31) and ends with an /A/ character. Many of the parameter valuesare of the value – 1 notation.
Multiframe 3 begins with an /R/ character (/K28.0/) and ends with an /A/ character (/K28.3/).
Multiframe 4 begins with an /R/ character (/K28.0/) and ends with an /A/ character (/K28.3/).
3.用戶數據階段
在這一階段,用戶數據根據發送器(ADC)中定義並轉發到接收器(FPGA)的鏈路參數,以流形式從發送器傳輸到接收器。接收器模塊處理並監視收到的數據有無錯誤,包括運行差別不正確(8B/10B錯誤)、不在表中(8B/10B錯誤)、意外控制字符、 ILAS不正確和通道間偏斜。若是接收器檢測到了錯誤,將會經過SYNC~報告錯誤。
參考:
ADI AD9695;
TI JESD204B;