新聞中心

EEPW首頁 > 設(shè)計(jì)應(yīng)用 > 基于JESD204協(xié)議的高速串行采集系統(tǒng)

基于JESD204協(xié)議的高速串行采集系統(tǒng)

作者: 時(shí)間:2016-10-10 來源:網(wǎng)絡(luò) 收藏

摘要 在通信設(shè)施、成像設(shè)備、工業(yè)儀器儀表等需要大量數(shù)據(jù)的系統(tǒng)中,要求數(shù)據(jù)轉(zhuǎn)換級(jí)提供越來越寬的分辨率和越來越高的采樣率。并行接口的物理布局和串行LVDS方法的比特率限制,給設(shè)計(jì)人員帶來技術(shù)障礙。文中基于Xilinx Vertx6 FPGA的高速串行接口實(shí)現(xiàn)了協(xié)議,有效地解決了傳統(tǒng)采集數(shù)據(jù)并行傳輸時(shí)的各種問題。

本文引用地址:http://2s4d.com/article/201610/306119.htm

關(guān)鍵詞 高速串行接口;;;

隨著轉(zhuǎn)換器分辨率和速度的提高,對(duì)更高效率接口的需求也隨之增長。JESD204接口可提供這種高效率,較之CMOS和LVDS接口產(chǎn)品在速度、尺寸和成本上更有優(yōu)勢(shì)。采用JESD 204的設(shè)計(jì)具有更高的接口速率,能支持轉(zhuǎn)換器的更高采樣速率。此外,引腳數(shù)量的減少使得封裝尺寸更小且布線數(shù)量更少,這些都讓電路板更容易設(shè)計(jì)并且整體系統(tǒng)成本更低JESD204標(biāo)準(zhǔn)經(jīng)過兩次更新,目前版本為B。由于該標(biāo)準(zhǔn)已為越來越多的轉(zhuǎn)換器供應(yīng)商、用戶以及FPGA制造商所采納,它被細(xì)分并增加了新特性,提高了效率和實(shí)施的便利性。此標(biāo)準(zhǔn)既適用于模數(shù)轉(zhuǎn)換器(ADC)也適用于數(shù)模轉(zhuǎn)換器(DAC),還可以作為FPGA的通用接口。

1 JESD204協(xié)議

協(xié)議體系結(jié)構(gòu)可以分為物理層、鏈路層、傳輸層和應(yīng)用層其結(jié)構(gòu)原理框圖如圖1所示。

a.jpg

物理層實(shí)現(xiàn)高速串行信號(hào)的發(fā)送和接收完成數(shù)據(jù)串并、并串轉(zhuǎn)換以及編解碼處理。接口采用電流模式邏輯(CML)驅(qū)動(dòng)器和接收器的差分對(duì)組成,通信速率定義在 312.5 Mbit ·s-1與3.125Gbit·s-1之間。差分電平定義為標(biāo)稱800 mV峰峰值、共模電平范圍是0.72~1.23 V。該鏈路利用8h/10b編碼采用嵌入式時(shí)鐘。這樣便無須額外的時(shí)鐘線路,避免了高速速率下傳輸數(shù)據(jù)與額外的時(shí)鐘信號(hào)對(duì)齊的復(fù)雜性。鏈路層負(fù)責(zé)編碼幀數(shù)據(jù)。校驗(yàn)數(shù)據(jù),添加幀的邊界和流量控制。鏈路層只發(fā)送和接收幀,并不需要知道幀的內(nèi)容。傳輸層的工作是將A/D采樣信息從數(shù)據(jù)流中提取出來。

2 JESD204B協(xié)議方案

2.1 Xilinx V6 FPGA

Virtex-6 FPGA是Xilinx公司推出的一塊高性能低功耗FPGA。其內(nèi)嵌8~72個(gè)千兆位收發(fā)器。每個(gè)GTX收發(fā)器都集成了發(fā)射器和接收器功能,能以 480 Mbit·s-1~6.6 Gbit·s-1的數(shù)據(jù)速率運(yùn)行。通過采用基于FPGA邏輯的過采樣技術(shù),可支持較低的數(shù)據(jù)速率。每個(gè)GTX收發(fā)器都有大量用戶定義的特性和參數(shù),這些特性和參數(shù)可在器件配置器件定義,也有許多可以在運(yùn)行過程中進(jìn)行修改。GTX發(fā)射器實(shí)質(zhì)上是一款并串轉(zhuǎn)換器,輸出使用單通道差分電流模式邏輯(CML)信號(hào),TXOUTCLK是進(jìn)行適當(dāng)相處的串行數(shù)據(jù)時(shí)鐘,可直接作為來自內(nèi)部邏輯的并行數(shù)據(jù)寄存器。輸入的并行數(shù)據(jù)由一個(gè)小型FIFO提供,可選擇使用 8b/10b、64b/66b算法對(duì)齊進(jìn)行修改,以確保足夠數(shù)量的跳變。輸出信號(hào)擺幅可通以通過程序設(shè)定,其預(yù)加重也可編程從而補(bǔ)償印刷電路板的損耗和其他互聯(lián)特性。將輸入的位差分信號(hào)轉(zhuǎn)換為并行字流位寬可為8、10、16、20、32或40??赏ㄟ^可編程均衡器,并使用FREF輸入對(duì)時(shí)鐘識(shí)別進(jìn)行初始化,無須圖例的時(shí)鐘線路。數(shù)據(jù)模式采用不歸零(NRZ)編碼,可通過選定的編碼方案確保充分的數(shù)據(jù)跳變。隨后使用RXUSRCLK時(shí)鐘將并行數(shù)據(jù)傳輸?shù)? FPGA邏輯中。

GTX接口眾多特性使其能夠方便地實(shí)現(xiàn)PCI—E、SATA、SAS等高速串行接口的物理層與鏈路層橋接??梢钥紤]使用GTX接口實(shí)現(xiàn)JESD204B協(xié)議,以正確解析JESD204B接口ADC轉(zhuǎn)化器發(fā)出的數(shù)據(jù)。

2.2 JESD204接口ADC轉(zhuǎn)換器

使用的ADC為TI公司生產(chǎn)的ADS42JB69,它是一款高線性、雙通道,16位,250 MSample·s-1的模數(shù)轉(zhuǎn)換器。該器件支持JESD204B串口,數(shù)據(jù)速率高達(dá)3.125 Gbit·s-1。經(jīng)緩沖的模擬輸入在大幅降低采樣保持毛刺脈沖能量的同時(shí),在寬頻率范圍內(nèi)提供統(tǒng)一的輸入阻抗,這使得它可以輕松地將模擬輸入驅(qū)動(dòng)至極高輸入頻率。采樣時(shí)鐘分頻器可實(shí)現(xiàn)更靈活的系統(tǒng)時(shí)鐘架構(gòu)設(shè)計(jì)。此期間采用內(nèi)部抖動(dòng)算法以在寬輸入頻率范圍內(nèi)提供出色的無雜散動(dòng)態(tài)范圍(SFDR)。

2.3 協(xié)議的實(shí)現(xiàn)

協(xié)議的實(shí)現(xiàn)是完成對(duì)AD42JB69的A/D采樣數(shù)據(jù)進(jìn)行讀取。物理層完成了數(shù)據(jù)在線路上的傳輸,可以直接使用GTX與A/D相連實(shí)現(xiàn)。 A/D作為發(fā)送端FPGA作為接收端,鏈路層完成的主要功能是線路編碼和對(duì)控制字符的檢查。GTX接口內(nèi)嵌了8b/10b編解碼模塊和控制字符檢測(cè)模塊,可以方便地實(shí)現(xiàn)與JESD204B標(biāo)準(zhǔn)設(shè)備的對(duì)接。在FPGA中基于GTX實(shí)現(xiàn)JESD204B協(xié)議,其難點(diǎn)主要有時(shí)鐘的配置,以及對(duì)協(xié)議據(jù)幀的解析。

b.jpg

從時(shí)序圖可以看出,由A/D的采樣時(shí)刻到該時(shí)刻的采樣數(shù)據(jù)被FPGA接收到存在一個(gè)延時(shí)。

工程中需要滿足A/D采樣率200 MSample·s-1。AD42JB69的JESD204接口可以配置為四線模式和兩線模式。根據(jù)項(xiàng)目需求,應(yīng)該使用四線模式才能達(dá)到200 MSample·s-1的采樣要求。在四線模式下A/D的數(shù)據(jù)映射關(guān)系如表2所示。其中DA0、DA1、DB0、DB1分別接4個(gè)GTX接口。傳輸兩個(gè) A/D轉(zhuǎn)換器采樣數(shù)據(jù)的高8位和低8位。因?yàn)椴蓸訒r(shí)鐘與傳輸時(shí)鐘一致,JESD204設(shè)備先將A/D采樣的數(shù)據(jù)進(jìn)行8b/10b編碼然后用與采樣頻率相同的時(shí)鐘將編碼后的數(shù)據(jù)進(jìn)行并串轉(zhuǎn)換并發(fā)送給接收端。計(jì)算可得到發(fā)送線速度為2.0 Gbit·s-1。因此FPGA需要正確配置RXPLL_DIVSEL_REF、RXPLL_DIVSEL45_FB、TXPLL_DIVSEL_FB、 TXPLL_DIVSEL_OUT的值使GTX接收線速度能穩(wěn)定工作在2.0 Gbit·s-1。

c.jpg

2.4 數(shù)據(jù)幀解析的實(shí)現(xiàn)

在串行數(shù)據(jù)收發(fā)過程中如何判斷數(shù)據(jù)的邊界尤為關(guān)鍵,JESD204協(xié)議采用字同步和幀同步解決數(shù)據(jù)邊界問題。通過在數(shù)據(jù)流中插入控制字符完成字同步和幀同步。以下列出JESD204B中使用的控制字符以及他們的功能。FPGA通過對(duì)控制字符的正確解析可以完成時(shí)鐘恢復(fù)、數(shù)據(jù)邊界認(rèn)定,對(duì)齊等。

/K/=/K28.5/控制字符用來完成字同步。接收端可以通過拉低

d.jpg

使發(fā)送端持續(xù)發(fā)送/K28.5/控制字。當(dāng)接收端接收到連續(xù)的4個(gè)/K28.5/字符后字同步建立。此時(shí)FPGA作為接收端已經(jīng)完成了時(shí)鐘恢復(fù),Comma字符檢測(cè)。字同步建立以后進(jìn)行幀邊界確定。接收端拉高

d.jpg

后發(fā)送端停止發(fā)送/K/28.5/控制字,開始發(fā)送ILA幀。ILA幀的結(jié)構(gòu)如圖4所示,每個(gè)ILA幀包含4個(gè)多幀(Multi—Frame)。

e.jpg

/R/=/K28.0/做為每個(gè)多幀(Multi—Frame)的開始標(biāo)志。

/A/=/K28.3/用于串行數(shù)據(jù)流中的多幀(Multi—Frame)同步。作為多幀(Multi—Frame)的結(jié)束標(biāo)志。

/F/=/K28.7/用于串行數(shù)據(jù)流中的幀(Frame)同步,當(dāng)當(dāng)前幀的最后一個(gè)8位字節(jié)(Octet)等于前一幀的最后一個(gè)8位字節(jié)(Octet)時(shí)用/F/=/K28.7/控制字替換當(dāng)前幀的最后一個(gè)字節(jié)。

通過上述規(guī)則檢測(cè)K字符并將A/D采樣數(shù)據(jù)存入FIFO。當(dāng)完成了控制字符檢測(cè)后需要將A/D的采樣數(shù)據(jù)進(jìn)行拼接,因?yàn)槊柯稟/D轉(zhuǎn)換器都是以高低字節(jié)分開的方式傳輸數(shù)據(jù)的,因此要嚴(yán)格保證采樣時(shí)鐘的同步。系統(tǒng)使用兩級(jí)FIFO來對(duì)A/D采樣數(shù)據(jù)進(jìn)行緩存。第一級(jí)4個(gè)FIFO完成采樣數(shù)據(jù)高低字節(jié)的同步,其存儲(chǔ)深度為16 Byte,4個(gè)FIFO的時(shí)鐘分別接4個(gè)GTX的RXUSRCLK,當(dāng)FIFO存儲(chǔ)數(shù)據(jù)達(dá)到10時(shí)開始讀出數(shù)據(jù),這樣就能保證4個(gè)FIFO的輸出由一個(gè)時(shí)鐘同步。第二級(jí)FIFO作為數(shù)據(jù)緩存,為用戶邏輯提供簡單接口,深度為4 kByte。用戶邏輯接口有RD_CLK,RD_READY。當(dāng)FIFO存儲(chǔ)深度達(dá)到4 000時(shí)RD_READY信號(hào)拉高??梢酝ㄟ^判斷該信號(hào)開始讀取數(shù)據(jù)。RD_CLK需要>200 MHz,每次讀取4 kByte數(shù)據(jù)后再等待RD_READY信號(hào)有效,這樣循環(huán)就可以將A/D采樣數(shù)據(jù)連續(xù)地讀入到用戶邏輯。

f.jpg

3 實(shí)驗(yàn)分析

AD42JB69中包含了22個(gè)8位控制寄存器可以使用SPI接口對(duì)芯片的工作方式進(jìn)行靈活的配置??梢耘渲眯酒敵鲞f增碼、隨機(jī)碼、零 -交錯(cuò)碼、正弦信號(hào)等多種測(cè)試碼源。這些測(cè)試碼源可以用于驗(yàn)證接口傳輸數(shù)據(jù)的正確性,實(shí)驗(yàn)選用遞增碼作為測(cè)試碼源方便發(fā)現(xiàn)錯(cuò)誤,圖6所示為使用 Chipscope觀察FPGA接收到的遞增碼波形。

g.jpg

4 結(jié)束語

隨著傳送速率的不斷提高,并行傳輸技術(shù)中的同步碼串?dāng)_等問題越來越嚴(yán)重,已不能滿足高速數(shù)據(jù)傳輸?shù)囊螅蔀楣こ虘?yīng)用瓶頸。筆者在分析FPGA中高速串行收發(fā)器CTX功能和JESD204協(xié)議后。實(shí)現(xiàn)了一種A/D采集數(shù)據(jù)的串行傳輸方式,解決了并行傳輸中遇到的問題。用Verilog語言編寫了 JESD204協(xié)議控制核,節(jié)省了工程成本。



關(guān)鍵詞: GTX Xilinx VertX6 JESD204B

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉