基于Xilinx Spartan-6的高速接口設(shè)計(jì)
隨著網(wǎng)絡(luò)帶寬的不斷增加和數(shù)據(jù)率的不斷提高,單端互聯(lián)的方式由于噪聲等的影響已經(jīng)不能滿足設(shè)計(jì)的要求。在高速數(shù)據(jù)通信系統(tǒng)中,由于LVDS(低壓差分信號(hào))有著良好的抗干擾能力而被廣泛使用。然而由于許多MCU和DSP不支持LVDS標(biāo)準(zhǔn)的信號(hào)而使得接口設(shè)計(jì)復(fù)雜且難于調(diào)試。本設(shè)計(jì)模塊采用Xilinx FPGA進(jìn)行高速接口設(shè)計(jì),電路簡(jiǎn)單,調(diào)試方便,且在某醫(yī)療器械中得到了應(yīng)用。
本文引用地址:http://2s4d.com/article/142403.htmLVDS是美國(guó)國(guó)家半導(dǎo)體公司(編者注:2011年被TI收購)為了克服傳統(tǒng)數(shù)據(jù)傳送模式功耗大、抗干擾能力差而提出的一種新的接口標(biāo)準(zhǔn),LVDS又由于參考電壓的不同可分為: LVDS_25, LVDS_18, LVDS_33。且為了保證信號(hào)的完整性,LVDS信號(hào)通常需要在傳輸線上添加100歐姆的匹配電阻。
在同步設(shè)計(jì)的過程中,我們通??梢詫r(shí)鐘同步的方式分為三種:系統(tǒng)同步方式,源同步方式和嵌入式時(shí)鐘同步方式。系統(tǒng)同步方式通常是指由一個(gè)時(shí)鐘源產(chǎn)生時(shí)鐘并連接到多個(gè)需要同步的元件。在高速通信的過程中,系統(tǒng)同步方式會(huì)由于時(shí)鐘的抖動(dòng)和偏斜,時(shí)鐘傳送的延遲等的影響而導(dǎo)致系統(tǒng)的時(shí)間裕留量的減少,從而導(dǎo)致系統(tǒng)無法工作。在高速通信過程中,我們通常采用源同步方式和嵌入式同步方式,嵌入式同步方式是通過特殊的編碼將系統(tǒng)的時(shí)鐘嵌入到需要傳送的數(shù)據(jù)當(dāng)中,系統(tǒng)接收到該組數(shù)據(jù)以后再通過相應(yīng)的解碼方式將時(shí)鐘提取出來用于系統(tǒng)的同步。嵌入式同步方式目前在高速數(shù)據(jù)通信中得到了廣泛的應(yīng)用,如:ROCKET IO,PCIE等。
源同步方式是指系統(tǒng)的同步時(shí)鐘是隨需要接收的數(shù)據(jù)一起發(fā)送過來,而不是系統(tǒng)自身產(chǎn)生。所以源同步方式的信號(hào)通常有兩對(duì)數(shù)據(jù)線:一對(duì)用于傳送數(shù)據(jù),一對(duì)用于傳送時(shí)鐘。源同步的方式通常能達(dá)到1Gbit以上的數(shù)據(jù)傳送,因此源同步方式在高速數(shù)據(jù)通信中得到了較廣泛的應(yīng)用。
本模塊采用Xilinx Spartan-6 LX45T接收以源同步方式發(fā)送過來的多路數(shù)據(jù)率為600Mbit/s、隨路時(shí)鐘為60MHz的信號(hào),并與之通信。
由Xilinx SerDes高速收發(fā)的原理可知,在此模塊中我們應(yīng)當(dāng)對(duì)高速的數(shù)據(jù)進(jìn)行1:10的串并轉(zhuǎn)換,Xilinx提供SerDes原語進(jìn)行串并轉(zhuǎn)換,并提供了一系列的參考設(shè)計(jì),具體可從官網(wǎng)下載文檔XAPP1064。其中SerDes 原理可以大致概括如下:I/O從外部接收到兩對(duì)數(shù)據(jù)以后(分別為時(shí)鐘信號(hào)和數(shù)據(jù)信號(hào)):其中一對(duì)源同步時(shí)鐘信號(hào)(在此我將它稱之為 :TXCLK)通過IBUFGDS差分緩沖,變成單端時(shí)鐘信號(hào),將該時(shí)鐘反相以后輸入到 IODELAY原語進(jìn)行時(shí)鐘的延遲,其中時(shí)鐘的延遲由bitslib和一個(gè)狀態(tài)機(jī)進(jìn)行控制,延遲的目的是使數(shù)據(jù)恰好能在時(shí)鐘的正中間進(jìn)行采集,經(jīng)過延遲控制以后的時(shí)鐘通過PLL和BUFPLL等進(jìn)行處理,通過BUFG和BUFPLL以后有3或4個(gè)時(shí)鐘信號(hào)提供給數(shù)據(jù)部分,1.提供給I/O的高速時(shí)鐘(IOCLK);2.內(nèi)部的并行的慢時(shí)鐘(X1和X2);3.用于同步的脈沖(SerDes STROB)。 其中的一對(duì)數(shù)據(jù)信號(hào)(我們稱其為TX),TX接收到發(fā)送端發(fā)送的數(shù)據(jù)以后,同樣經(jīng)過IODELAY和SerDes等的一系列處理,并由BITSLIP控制每個(gè)數(shù)據(jù)鏈的延遲,使得數(shù)據(jù)最終能和時(shí)鐘的邊沿對(duì)齊,TX進(jìn)行數(shù)據(jù)轉(zhuǎn)換的時(shí)鐘都是由TXCLK經(jīng)過處理后得到的。
數(shù)據(jù)的流程大致是這樣的(注:筆者只是將它進(jìn)行了一些簡(jiǎn)單的概括,更詳細(xì)的介紹可以參考官網(wǎng)的一些資料):圖1是我從官方下載的一個(gè)圖片,可以較清晰的概括SerDes接收原理:
評(píng)論