《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 可編程邏輯 > 設(shè)計(jì)應(yīng)用 > 基于TLK2711的高速數(shù)據(jù)串行傳輸
基于TLK2711的高速數(shù)據(jù)串行傳輸
來(lái)源:電子技術(shù)應(yīng)用2013年第9期
賈建超1,陳 濤1,李 釗2
1.西安電子科技大學(xué) 電子工程學(xué)院,陜西 西安710071; 2.華北水利水電大學(xué) 信息工程學(xué)院,河南 鄭州450011
摘要: 提出了一種基于多路TLK2711的高速數(shù)據(jù)串行傳輸方案,詳細(xì)介紹了其工作原理和設(shè)計(jì)思想,結(jié)合FPGA和DDR3實(shí)現(xiàn)了單路有效數(shù)據(jù)率最高可達(dá)1.55 Gb/s。在此基礎(chǔ)上設(shè)計(jì)并實(shí)現(xiàn)了6通道TLK2711的數(shù)據(jù)串行傳輸系統(tǒng),有效數(shù)據(jù)率高達(dá)9.67 Gb/s。實(shí)驗(yàn)證明,該系統(tǒng)工作穩(wěn)定可靠,實(shí)時(shí)傳輸效果好,無(wú)誤碼,滿足了高速多通道TLK2711數(shù)據(jù)的傳輸速率要求。
中圖分類號(hào): TN919
文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 0258-7998(2013)09-0047-03
High-speed serial transmission for data based on TLK2711
Jia Jianchao1,Chen Tao1,Li Zhao2
1.School of Electronic Engineering,Xidian University,Xi′an 710071,China; 2.School of Information Engineering,North China University of Water Resources and Electric Power,Zhengzhou 450011,China
Abstract: A high-speed data serial transmission scheme of multi-channel TLK2711 is presenting, operation principle and design idea are introduced in detail, achieving a single-channel effective data rate which is up to 1.55 Gb/s combining FPGA and DDR3.On this basis, a TLK2711 data serial transmission system with six channels is designed,whose effective data rate is up to 9.67 Gb/s. The experimental results indicate that the system works stable with high efficiency and no error code, which can meet the requirements of high-speed in the transmission of multi-channel TLK2711.
Key words : high-speed;serial;TLK2711

    目前空間遙感技術(shù)在農(nóng)業(yè)、地質(zhì)探測(cè)、氣象以及軍事等領(lǐng)域有著廣泛的應(yīng)用[1]。搭載在航天器上的空間遙感儀器將拍攝到的圖像數(shù)據(jù)通過(guò)數(shù)據(jù)傳輸系統(tǒng)發(fā)送到地面[2]??臻g遙感儀器進(jìn)行工作時(shí)會(huì)獲取大量的圖像數(shù)據(jù)信息,為了便于后期數(shù)據(jù)的處理和分析應(yīng)用,需要對(duì)獲取的高速數(shù)據(jù)進(jìn)行采集存儲(chǔ)。由于數(shù)據(jù)量十分龐大,目前通常采用高速串行差分的方式進(jìn)行傳輸,這樣可以大大減少信號(hào)之間的相互串?dāng)_以及外部噪聲的干擾。在進(jìn)行高速數(shù)據(jù)傳輸系統(tǒng)設(shè)計(jì)的過(guò)程中,使用現(xiàn)成的高效高速數(shù)據(jù)傳輸芯片將會(huì)使整個(gè)設(shè)計(jì)工作事半功倍。本文重點(diǎn)介紹了基于TI公司的TLK2711高速數(shù)據(jù)傳輸芯片的串行傳輸系統(tǒng)設(shè)計(jì)。

1 系統(tǒng)硬件設(shè)計(jì)
    本文研究的是一種基于TLK2711的高速串行傳輸方案,在實(shí)現(xiàn)高速實(shí)時(shí)數(shù)據(jù)傳輸?shù)幕A(chǔ)上進(jìn)行數(shù)據(jù)信號(hào)處理。系統(tǒng)中的關(guān)鍵組成部分包括PCI Express總線接口模塊、FPGA數(shù)據(jù)處理控制模塊、DDR3 SDRAM存儲(chǔ)模塊以及TLK2711高速串/并轉(zhuǎn)換接口模塊,系統(tǒng)框圖如圖1所示。系統(tǒng)的工作原理:發(fā)送端PC通過(guò)PCI Express總線接口與發(fā)送板進(jìn)行數(shù)據(jù)通信,將PC模擬的衛(wèi)星成像數(shù)據(jù)源通過(guò)緩存DDR3 SDRAM由TLK2711高速串/并轉(zhuǎn)接口發(fā)送給數(shù)據(jù)信號(hào)處理器;經(jīng)過(guò)數(shù)據(jù)信號(hào)處理器處理的數(shù)據(jù)再通過(guò)TLK2711高速串/并轉(zhuǎn)接口發(fā)送給接收板,接收板通過(guò)緩存DDR3 SDRAM由PCI Express總線接口上傳給接收端PC,最后在接收端PC中進(jìn)行數(shù)據(jù)校驗(yàn)和相應(yīng)處理。

2 系統(tǒng)邏輯設(shè)計(jì)
2.1 總體邏輯設(shè)計(jì)

    作為系統(tǒng)的控制核心,F(xiàn)PGA起著前端TLK2711發(fā)送/接收控制、數(shù)據(jù)鏈路多路轉(zhuǎn)換控制、DDR3 SDRAM控制器、PCI Express總線DMA傳輸控制的作用。發(fā)送端的PC將數(shù)據(jù)源在發(fā)送板總線主控DMA控制器的控制下,通過(guò)PCIE-8x通道將數(shù)據(jù)傳入FPGA存儲(chǔ)到片外的DDR3 SDRAM,F(xiàn)PGA通過(guò)內(nèi)部邏輯對(duì)DDR3 SDRAM中緩存的數(shù)據(jù)進(jìn)行必要的時(shí)序控制和相關(guān)處理,處理過(guò)后的并行數(shù)據(jù)流在FPGA內(nèi)部進(jìn)行重組,形成滿足TLK2711數(shù)據(jù)格式要求的16 bit數(shù)據(jù)流。這個(gè)過(guò)程主要是同步字符、幀頭、幀尾以及控制信號(hào)的添加等。TLK2711根據(jù)參考時(shí)鐘對(duì)輸入的并行數(shù)據(jù)進(jìn)行8B/10B編碼,然后以20倍的參考時(shí)鐘頻率將數(shù)據(jù)以高速差分串行輸出的方式通過(guò)銅纜傳送給數(shù)據(jù)信號(hào)處理器。
    經(jīng)過(guò)數(shù)據(jù)信號(hào)處理器處理過(guò)的數(shù)據(jù)以串行差分方式通過(guò)銅纜傳送給接收板的TLK2711,TLK2711在參考時(shí)鐘下完成高速串行輸入數(shù)據(jù)的串/并轉(zhuǎn)換,轉(zhuǎn)換后的20 bit并行數(shù)據(jù)經(jīng)過(guò)內(nèi)部同步到恢復(fù)時(shí)鐘,然后利用8B/10B解碼格式將20 bit并行數(shù)據(jù)解碼為原始的16 bit并行數(shù)據(jù)輸出到FPGA進(jìn)行數(shù)據(jù)處理,F(xiàn)PGA通過(guò)內(nèi)部邏輯對(duì)高速數(shù)據(jù)進(jìn)行必要的時(shí)序控制和相關(guān)處理。這個(gè)過(guò)程主要是去除幀頭、幀尾、同步字符,同時(shí)檢測(cè)控制信號(hào)并對(duì)數(shù)據(jù)進(jìn)行處理。處理過(guò)后的數(shù)據(jù)緩存到片外的DDR3 SDRAM,在總線主控DMA控制器的控制下,通過(guò)PCIE-8x通道將緩存的數(shù)據(jù)寫入計(jì)算機(jī)硬盤。FPGA內(nèi)部邏輯示意圖如圖2所示。

2.2 TLK2711傳輸協(xié)議
    TLK2711高速串行協(xié)議是一種基于點(diǎn)對(duì)點(diǎn)的單工協(xié)議,它以16 bit為一個(gè)基本的傳輸單位,數(shù)據(jù)被分成了高8位和低8位,因此每個(gè)控制字符都定義成了2 B(分別由D碼和K碼組成),編碼方式由2個(gè)控制信號(hào)TKMSB/RKMSB和TKLSB/RKLSB決定。協(xié)議的工作過(guò)程如圖3所示。

    系統(tǒng)上電或復(fù)位后,收發(fā)雙方處于失步狀態(tài)(在發(fā)送端復(fù)位后要保證接收端已處于接收狀態(tài)),發(fā)送端首先發(fā)送同步字符且時(shí)間長(zhǎng)度不小于1 ms,1 ms結(jié)束后認(rèn)為系統(tǒng)完成同步過(guò)程,發(fā)送端開(kāi)始數(shù)據(jù)幀的發(fā)送。在每一幀數(shù)據(jù)發(fā)送結(jié)束后和下一幀數(shù)據(jù)開(kāi)始發(fā)送前,發(fā)送端要發(fā)送同步字符來(lái)保持?jǐn)?shù)據(jù)傳輸鏈路的同步狀態(tài)。在同步狀態(tài)建立后,接收端不斷檢測(cè)輸出控制信號(hào)RKLSB和 RKMSB,根據(jù)RKLSB和 RKMSB的狀態(tài)判斷數(shù)據(jù)類型,舍去幀頭、幀尾和同步字符,鎖存真正需要的數(shù)據(jù)。接收端在數(shù)據(jù)幀傳輸過(guò)程中如果失步,則依靠數(shù)據(jù)幀間的同步字符重新建立起收發(fā)間的同步關(guān)系,同步關(guān)系建立后立刻轉(zhuǎn)入正常數(shù)據(jù)接收狀態(tài)。根據(jù)協(xié)議工作過(guò)程,定義TLK2711芯片用作發(fā)送通路時(shí)的6個(gè)狀態(tài)分別是:空閑、建立同步、發(fā)送幀頭、發(fā)送數(shù)據(jù)、發(fā)送幀尾、發(fā)送同步字符,其發(fā)送通路的狀態(tài)轉(zhuǎn)換如圖4所示。

2.3 帶寬動(dòng)態(tài)分配
    系統(tǒng)采用6片TLK2711并行工作,接收端要根據(jù)發(fā)送端的速率適時(shí)調(diào)整接收端TLK2711的工作數(shù)量,以實(shí)現(xiàn)帶寬的動(dòng)態(tài)分配。當(dāng)接收端的6片TLK2711同時(shí)接收數(shù)據(jù)時(shí),F(xiàn)PGA需要在一個(gè)時(shí)鐘周期內(nèi)將96 bit并行數(shù)據(jù)轉(zhuǎn)換為與PCI Express總線位寬匹配的64 bit并行數(shù)據(jù),然后才能進(jìn)行相應(yīng)處理??紤]到調(diào)用FPGA內(nèi)部的RAM IP核或者FIFO IP核無(wú)法實(shí)現(xiàn)該位寬轉(zhuǎn)換,因此設(shè)計(jì)了一個(gè)輸入位寬可變的RAM來(lái)處理數(shù)據(jù)位寬,從而實(shí)現(xiàn)接收端TLK2711工作數(shù)量可調(diào)。
      首先FPGA在接收板TLK2711的恢復(fù)時(shí)鐘下將重構(gòu)的并行數(shù)據(jù)鎖存一個(gè)周期,然后根據(jù)伴隨著數(shù)據(jù)流的輸入控制信號(hào)判斷是否有有效數(shù)據(jù)到來(lái),當(dāng)接收到有效數(shù)據(jù)后,將數(shù)據(jù)寫入異步FIFO進(jìn)行不同時(shí)鐘域的數(shù)據(jù)處理。當(dāng)一個(gè)信號(hào)從一個(gè)時(shí)鐘域傳遞到另外一個(gè)時(shí)鐘域時(shí)經(jīng)常會(huì)出現(xiàn)亞穩(wěn)態(tài)問(wèn)題,解決這一問(wèn)題可以使用一個(gè)異步FIFO使得另外一個(gè)時(shí)鐘域的信號(hào)足夠穩(wěn)定。將接收端TLK2711從串行數(shù)據(jù)流中提取的恢復(fù)時(shí)鐘作為FIFO的寫時(shí)鐘,將PCIE總線250 MHz分頻產(chǎn)生一個(gè)同相的125 MHz時(shí)鐘作為FIFO的讀時(shí)鐘。當(dāng)FIFO半滿信號(hào)有效時(shí),讀寫控制邏輯開(kāi)始將FIFO中的數(shù)據(jù)讀出來(lái)作為位寬可調(diào)的RAM的輸入,從而實(shí)現(xiàn)位寬轉(zhuǎn)換。該RAM的接口如圖5所示,其中adjust為通道選擇信號(hào),wr為異步FIFO的讀使能。

    考慮到RAM的讀寫時(shí)鐘以及輸入/輸出數(shù)據(jù)位寬,可以發(fā)現(xiàn)RAM的寫數(shù)據(jù)速度遠(yuǎn)小于其讀取數(shù)據(jù)的速度,故系統(tǒng)采用乒乓操作對(duì)接收板TLK2711的數(shù)據(jù)進(jìn)行處理。FIFO讀出的數(shù)據(jù)首先寫進(jìn)ram0,ram0寫滿之后開(kāi)始向ram1寫數(shù)據(jù),同時(shí)將ram0寫入的數(shù)據(jù)讀取出來(lái)。由于ram的寫數(shù)據(jù)速度遠(yuǎn)小于其讀取數(shù)據(jù)的速度,所以當(dāng)ram0中的數(shù)據(jù)讀取完時(shí)ram1還未寫滿,此時(shí)ram0停止讀取數(shù)據(jù)并且處于等待狀態(tài)直至ram1中寫滿數(shù)據(jù)。當(dāng)ram1中寫滿數(shù)據(jù)時(shí)開(kāi)始寫ram0,同時(shí)緊接著讀取ram1中的數(shù)據(jù)。同理,當(dāng)ram1中的數(shù)據(jù)讀取完時(shí)ram0還未寫滿,所以此時(shí)ram1同樣停止讀取數(shù)據(jù)并且處于等待狀態(tài),直至ram0中滿數(shù)據(jù)。當(dāng)ram0寫滿數(shù)據(jù)時(shí),立即開(kāi)始寫ram1讀取ram0中的數(shù)據(jù),如此循環(huán)。該乒乓操作示意圖如圖6所示。

    按照設(shè)計(jì)思路將模塊功能在Xilinx公司的FPGA設(shè)計(jì)平臺(tái)ISE 14.2上進(jìn)行代碼編譯綜合、功能仿真和時(shí)序仿真等,通過(guò)JTAG口將程序下載到FPGA中進(jìn)行實(shí)際運(yùn)行,然后利用ISE 14.2自帶的邏輯分析儀采集所要觀察的數(shù)據(jù)信號(hào)并進(jìn)行在線調(diào)試。圖7為使用ISE 14.2中Chipscope采集的對(duì)單通道TLK2711接收到的數(shù)據(jù)進(jìn)行不同時(shí)鐘域處理和乒乓操作的時(shí)序圖。從圖中可以看出整個(gè)工作情況與以上描述一致,證明該模塊從代碼設(shè)計(jì)和時(shí)序約束到功能實(shí)現(xiàn)全部通過(guò),數(shù)據(jù)傳輸速率在TLK2711芯片內(nèi)可以達(dá)到194.74 MB/s。
2.4 設(shè)計(jì)中應(yīng)注意的問(wèn)題

 


    高速數(shù)據(jù)傳輸系統(tǒng)要求有高穩(wěn)定性和高精度的時(shí)鐘源,抖動(dòng)和頻偏是衡量時(shí)鐘源的兩個(gè)重要指標(biāo)。TLK2711內(nèi)部對(duì)輸入?yún)⒖紩r(shí)鐘進(jìn)行20倍頻,同時(shí)TLK2711的時(shí)鐘穩(wěn)定度要求小于±10 ppm,在設(shè)計(jì)時(shí)不能使用FPGA內(nèi)部的MMCM模塊倍頻生成參考時(shí)鐘。因?yàn)榻?jīng)過(guò)MMCM模塊倍頻的時(shí)鐘容易引起比較大的抖動(dòng),導(dǎo)致TLK2711接收鎖相環(huán)無(wú)法穩(wěn)定地鎖定發(fā)送時(shí)鐘從而產(chǎn)生誤碼??紤]到時(shí)序的設(shè)計(jì)要求,系統(tǒng)選用125 MHz的有源晶振作為TLK2711的時(shí)鐘源,并將其輸出時(shí)鐘接至FPGA的全局時(shí)鐘引腳,同時(shí)使用IBUFG+BUFG對(duì)該全局時(shí)鐘進(jìn)行處理后作為6路TLK2711的輸入?yún)⒖紩r(shí)鐘。為了保證高速差分信號(hào)的傳輸質(zhì)量,差分線對(duì)的兩根線應(yīng)盡可能靠近并且遠(yuǎn)離其他信號(hào),在進(jìn)行PCB布線時(shí),TLK2711的16 bit并行總線與伴隨時(shí)鐘也要進(jìn)行等長(zhǎng)處理,以保證輸入數(shù)據(jù)的同步和一致性[3-5]。
      對(duì)于高速串化解串器TLK2711,當(dāng)它只用作發(fā)送通路時(shí),應(yīng)將LCKREFN引腳置低,這樣接收通道的RXD[0:15]、RXCLK、RKLSB、RKMSB等引腳都會(huì)處于高阻抗?fàn)顟B(tài);當(dāng)只用作接收通路時(shí),發(fā)送端不用的TXD[0:15]、TKLSB、TKMSB等引腳應(yīng)當(dāng)拉高或拉低使其處于一個(gè)穩(wěn)定的狀態(tài)。
      基于TLK2711的高速串行傳輸系統(tǒng)的設(shè)計(jì)大大降低了高速數(shù)據(jù)傳輸過(guò)程中的互聯(lián)復(fù)雜程度,同時(shí)保證了信號(hào)傳輸?shù)膶?shí)時(shí)性和準(zhǔn)確性?;诖嗽O(shè)計(jì)的6通道串行傳輸系統(tǒng)工作穩(wěn)定可靠,各項(xiàng)指標(biāo)達(dá)到設(shè)計(jì)要求。本系統(tǒng)創(chuàng)新點(diǎn)在于采用輸入位寬可調(diào)的RAM對(duì)接收端進(jìn)行帶寬動(dòng)態(tài)分配,對(duì)于解決高速多通道TLK2711的串行傳輸系統(tǒng)設(shè)計(jì)有較高的參考價(jià)值。
參考文獻(xiàn)
[1] 任建岳.空間光學(xué)遙感器專題文章導(dǎo)讀[J].光學(xué)精密工程,2008,16(10):1852-1852.
[2] 曹小濤,徐抒巖,趙運(yùn)隆.空間相機(jī)連續(xù)調(diào)焦地面仿真測(cè)試系統(tǒng)設(shè)計(jì)[J].液晶與顯示,2011,26(3):409-412.
[3] 張達(dá),徐抒巖.高速CCD圖像數(shù)據(jù)光纖傳輸系統(tǒng)[J].光學(xué)精密工程,2009,17(3):670-675.
[4] Texas Instruments.TLK2711 1.6 to 2.7 Gb/s transceiver  datasheet[Z].2001.
[5] 張達(dá),徐抒巖.基于TLK2711的高速圖像數(shù)據(jù)串行傳輸系統(tǒng)[J].微計(jì)算機(jī)信息,2009,25(1-2):284-286.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。