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