摘 要:介紹了以FPGA為核心基于LVDS接口的高速通信系統。系統通過FPGA將并行輸入的信號組成特定的串行幀格式,并用LVDS接口發送。電纜驅動器及接收均衡器芯片用于加強系統遠距離數據傳送的能力,以保證200 m同軸電纜的數據傳輸。系統使用串行同步方式傳輸,接收端首先通過時鐘恢復芯片從串行數據幀中提取同步時鐘,然后接收串行數據幀并恢復原信號。系統靈活性強、穩定性高,單路傳輸速度高達120 Mb/s。
關鍵詞:低壓差分信號; 現場可編程邏輯陣列; 同軸電纜; 同步通信
中圖分類號:TP274 文獻標識碼:A
文章編號:1004-373X(2010)13-0057-03
Study of High Speed Communication System Based on FPGA
WU Qiang, LI Tao
(College of Electronic and Control Engineering, Beijing University of Technology, Beijing 100124, China)
Abstract: A high-speed communication system based on LVDS technology by FPGA is introduced. A specific serial frame format composed of the parallel input signal through FPGA, is sent with LVDS interface. The ability of system′s long-distance transmission is enhanced by the chip of cable driver and cable equalizer, which ensure the data transmission at 200 meters coaxial cable. The System uses serial synchronous transfer mode, the receiver extracts synchronous clock signal from serial data frame by clock recovery chip, then it receives serial frames and recovers original signals. This System has high flexibility and stability, and the data rate of one channel is up to 120Mbps.
Keywords: LVDS; FPGA; coaxial cable; synchronous communication
0 引 言
遠程通信系統和遠程監控系統對信號傳輸有兩方面的要求:一方面要求接口靈活且有較高的數據傳輸帶寬;另一方面要求系統的傳輸距離遠。傳統接口如UART,USB,以太網等在傳輸帶寬和傳輸距離上均無法滿足要求[1]。
低壓差分信號(LVDS)是一種低擺幅的差分信號技術。LVDS的恒流源模式及低擺幅輸出使傳輸速度可以從數百Mb/s到2 Gb/s以上。差分傳輸方式使LVDS信號對共模輸入噪聲有更強的抵抗能力。LVDS技術功耗低,100 Ω的負載電阻功耗僅有12 mW[2]。這些特點使得LVDS技術廣泛應用在許多要求高速度與低功耗的領域。
隨著半導體工藝進步,現場可編程邏輯陣列(FPGA)的性能和集成度在不斷提高,同時成本在下降。FPGA片內資源豐富且靈活性強[3]。通過配置邏輯資源和I/O,可以生成支持各種標準的接口,適合完成接口間的通信工作。FPGA的可重構性使相同的硬件環境可以實現不同的功能,節約了系統升級和更改的成本。
1 系統構成及原理
高速數據傳輸系統的原理框圖如圖1所示。整個系統由發送板、接收板和傳輸線三部分組成。
圖1 系統原理框圖
發送板主要由接口電路、FPGA和電纜驅動電路組成,完成的功能是將輸入的各種信號轉換為串行數據幀通過傳輸鏈路進行傳輸。 接收板主要由接收均衡電路、時鐘恢復電路、FPGA和接口電路組成,實現將串行數據幀接收并恢復成原始信號的功能。傳輸線選用同軸電纜。與雙絞線相比同軸電纜的抗干擾能力強、傳輸距離遠,與光纜相比同軸電纜的成本低。同軸電纜適合本系統這種傳輸速率低于200 Mb/s,傳輸距離小于300 m的應用場合。
系統的輸入信號包括串口信號、網絡信號和并行視頻信號等。分別選用MAX232,RTL8201,SN74LVC4245等芯片組成接口電路,將輸入信號轉換為FPGA支持的LVTTL/LVCMOS電平信號,起到保護器件和增加信號驅動能力的作用。
接收板FPGA首先完成系統輸入信號的接收工作,再將異步時鐘域的信號轉換到統一的系統時鐘下,接下來將信號并串轉換并添加起始位、停止位和校驗位組成特定的幀格式,然后對其進行8 B/10 B編碼[4],最后通過差分I/O以LVDS電平輸出。接收板FPGA接收到串行信號后將信號解碼、解幀,抽取出原始數據進行恢復,最后通過相應的I/O將恢復后的信號輸出給各接口。
從FPGA直接輸出的LVDS信號在100 Mb/s傳輸速率下傳輸距離不足10 m[5],需要使用電纜驅動電路增加LVDS信號的驅動能力,同時使用接收均衡電路補償通過電纜傳輸后衰減的信號,達到加強系統長距離傳送能力的目的。
如果使用1根同軸電纜傳輸時鐘,其余傳輸數據,會因為無法保證這些電纜嚴格等長導致接收數據的建立時間和保持時間無法滿足后級電路的要求。另一方面,經過傳輸后時鐘信號的Jitter會增加,使FPGA內部的PLL無法鎖定時鐘。本系統電纜上傳輸的都是數據信號,接收端同步時鐘通過時鐘恢復電路從串行數據中還原。
2 系統的硬件設計
2.1 FPGA部分電路設計
系統選用Xilinx公司Spartan3系列的FPGA:S3C500E。它有10 476個邏輯單元,232個I/O,4個時鐘管理模塊(DCM),存儲器包括360 Kb的塊RAM和73 Kb的離散RAM。所有I/O可以組成92組LVDS差分對,最高輸入輸出速率高到622 Mb/s,所以系統不需要額外的電路實現LVDS接口。DCM模塊可以將輸入時鐘靈活的倍頻或降頻,最高工作頻率達到311 MHz。以上參數和性能不僅滿足當前的設計需求,而且為系統的升級保留了充足的設計余量。FPGA外圍電路包括時鐘部分和配置部分。時鐘使用電路板上的晶振提供,通過GCLK腳與FPGA相連[6]。GCLK是專用時鐘引腳,這個腳的驅動能力強,到所有邏輯單元的延時基本相同。配置電路采用主動SPI模式。相比其他模式,主動SPI模式的外圍電路簡單、體積小、成本低。而且SPI FLASH的容量大,除了存儲配置文件,還可以存儲其他用戶數據。S3C500E的配置文件大小為2 Mb,本系統采用存儲量為16 Mb的M25P16作為配置存儲器。
2.2 傳輸部分電路設計
傳輸部分設計包括選擇同軸電纜和設計相應的發送接收電路。本系統選用的同軸電纜型號為SVY-50-3,成本低、性能好。這款電纜的特征阻抗為50 Ω,速率150 MHz時信號傳輸100 m的最大衰減為18.01 dB。它具有良好的屏蔽特性,可以在復雜的電磁環境中正常工作。電纜驅動電路和接收均衡電路分別選用National Semiconductor公司的芯片CLC005和CLC012。CLC005支持LVDS電平輸入,最高傳輸速率達到622 Mb/s,輸出信號峰-峰值從0.7~2 V。CLC012可以自動均衡頻率在50~650 MHz的信號。時鐘恢復器件選用CLC016,它的輸入信號來自CLC012,輸出時鐘和數據接FPGA,恢復的時鐘在數據上升沿有效。CLC005和CLC012用于特征阻抗為75 Ω的傳輸系統,針對本系50 Ω特征阻抗的同軸電纜,需要改動外圍電阻配置,否則會因為阻抗不匹配引起信號反射,最終導致信號傳輸質量下降。相應的配置方式如圖2所示。
圖2 50 Ω特征阻抗電纜對應的電路配置
通過測試,此組傳輸器件可以驅動LVDS信號通過SVY-50-3型號電纜傳輸至少200 m。信號經過傳輸后,在電纜末端衰減嚴重,噪聲和抖動也較嚴重。此時信號眼圖如圖3所示,可以看出信號質量差。直接接收此信號,會產生信號電平誤判,而且信號的抖動將導致后級電路無法正常工作。接收均衡器CLC012自動為信號損耗提供補償后,信號上的噪聲和抖動均得到了改善,信號的眼圖如圖4所示。
圖3 電纜末端信號的眼圖
圖4 均衡器補償后信號的眼圖
LVDS驅動器由恒流源構成,因此需要做終端匹配。通常情況下在輸入端并聯100 Ω電阻從而滿足互聯系統要求的差分阻抗。在強噪聲環境下,交流耦合連接時可以采用戴維南終端匹配方式[7]提供1.2 V的偏置電壓,同時滿足100 Ω差分阻抗的設計要求。具體方法是將LVDS的+/-端通過130 Ω電阻上拉至VCC,同時下拉82 Ω電阻到地,如圖5所示,電阻精度要求在1%。
圖5 戴維南終端匹配方式電路
2.3 電路PCB設計
在PCB設計過程中,要注意電路板的布局。模擬電路和數字電路需要分開,使用單點接地的方式相連。將邊沿速率變化快的LVTTL/LVCMOS信號與LVDS信號布在不同信號層上,并用電源和底層隔開,減小耦合到LVDS線路上的串擾。LVDS走線要遵循以下規則[8]:
(1) 差分對兩根信號從芯片扇出后就盡量靠近(緊耦合),這樣有助于消除反射,確保耦合的噪聲是共模形式。
(2) 對內信號的布線長度要保持一致,以減小信號延時,長度匹配控制在10 mil以內。
(3) 對內信號保持固定的線間距,避免因為線間距變化導致差分阻抗不連續。
(4) 差分對間盡量遠離,減少線間串擾,必要時在差分對間放置隔離用的接地過孔。
(5) 盡量減少差分信號線上過孔的個數,避免走90°拐角,使用圓弧或者45°折線代替。
(6) LVDS信號不能跨平面分割,否則會因為缺少參考平面而導致阻抗不連續,要給LVDS信號設置完整的參考平面。
(7) 匹配電阻盡可能靠近接收端。
3 系統的邏輯設計
3.1 時鐘部分設計
時鐘信號由電路板上40 MHz晶振提供。通過數字時鐘管理單元DCM鐘倍頻得到120 MHz的系統的工作時鐘。使用DCM模塊時,注意DCM的輸入和輸出需要通過BUFG單元與全局時鐘資源相連。全局時鐘資源使用全銅層工藝實現,并設計了專用時鐘緩沖與驅動結構,使全局時鐘到達芯片內部所有邏輯單元的時延和抖動都為最小。DCM在時鐘鎖定后使能LOCK信號,表示時鐘倍頻工作完成,使用這個信號作為FPGA內部其他邏輯的復位。
3.2 異步時鐘域變換
系統輸入信號工作在不同的異步時鐘域,需要在FPGA內部將信號變換到同一個時鐘域。
串口信號速度低,可以使用系統時鐘高速采集的方式。根據奈奎斯特抽樣定律,抽樣頻率大于2倍信號最高頻率,就可以從抽樣信號中無失真地恢復原信號。本系統使用高于5倍串口波特率的時鐘去采集串口數據。經過誤碼儀的大量測試,串口數據能夠被正確接收和恢復。
視頻信號是并行信號,采用高速采集的方法會增加數據量,不適合本系統。本系統采用雙口FIFO完成異步時鐘域轉換[9]。S3C500E片內的Block RAM資源可以靈活的生成雙口FIFO,與普通邏輯單元生成的雙口FIFO相比,它的穩定性高,最高讀寫速度快,產生亞穩定狀態的概率小。雙口FIFO的輸入端連接系統輸入信號的時鐘和數據;在輸出端連接系統時鐘數據。雙口FIFO的讀取時鐘速度必須高于寫入速度,以避免FIFO存滿后溢出導致有效數據丟失。另一方面,慢時鐘域向快時鐘域轉換的時候,FIFO會出現讀取空的狀態,此時將取出無效數據(這些數據是FIFO中最后一個數據的重復)。無效數據通過串行數據幀傳輸到接收端,會導致恢復后輸出信號出現誤碼。所以系統將FIFO的空標志empty信號添加到數據幀,用于識別無效數據。
3.3 數據組幀及編碼
同步傳輸需要將原始數據組成數據幀再進行發送,即在數據間添加起始位、停止位和校驗位。數據幀的起始位過長會影響傳輸效率,過短會增加接收端識別的難度。本系統選用80 b為一幀,起始位為8 b,停止位為2 b,奇校驗位為1 b。接收端邏輯通過對多個數據幀分析后,定位數據幀的起始位。由于每幀數據長度固定,所以找到某一幀的起始位后可以周期性的計算出接下來各幀的起始位置,不再需要反復做識別工作。
數據組幀后信號的平均位速率可能低于CLC012的最低工作頻率,不能直接用于傳輸,還需要對其進行8 B/10 B編碼[10]。8 B/10 B技術是將8個數據位經過某種映射的機制轉化為10個數據位的字碼,可使發送的“0”、“1”數量保持一致,連續的“1”或“0”基本不超過5位。8 B/10 B編碼技術保證了傳輸的DC平衡,增加了信息傳輸的可靠性。系統使用Xilinx公司提供的8 B/10 B編碼和解碼IP核,減少了系統的開發周期,增加了系統的穩定性。8 B/10 B編碼及解碼IP的模塊原理圖如圖6和圖7所示。
圖6 8 B/10 B編碼IP的模塊原理圖
圖7 8 B/10 B解碼IP的模塊原理圖
圖6 8 B/10 B編碼 IP的模塊原理圖
圖7 8 B/10 B解碼 IP的模塊原理圖
4 結 語
介紹了一種基于FPGA的高速通信系統,通過電纜驅動器和接收均衡器,拓展了LVDS信號的傳輸距離。經過測試,使用同軸電纜的傳輸距離達到200 m,單個通道傳輸速率達到120 Mb/s。FPGA的可重構性使系統靈活多變,可以適應不同的應用需求。
參考文獻
[1]祝依龍,范紅旗,張軍.一種基于LVDS的高速串行數據傳輸系統設計[J].電子設計應用,2007(1):94-96.
[2]彭勇,黃秋元.LVDS的接口電路設計[J].武漢理工大學學報,2005(5):34-37.
[3]皮代軍,張海勇,葉顯陽,等.基于FPGA的高速實時數據采集系統設計[J].現代電子技術,2009,32(6):12-14.
[4]杜旭,于洋,黃建.基于FPGA的高速串行傳輸接口的設計與實現[J].計算機工程與應用,2007,43(12):94-96.
[5]張時華,任勇峰,李圣昆,等.基于FPGA和LVDS技術的光纜傳輸技術[J].電子設計工程,2009(3):69-70.
[6]甘翼,李祥榮,余偉.基于FPGA的高速電路設計與仿真[J].電視技術,2008,48(7):90-93.
[7]黃進,郭立紅,李巖,等.LVDS接口終端匹配技術研究[J].光電與控制,2005(1):65-68.
[8]BOGATIN Eric.Signal Integrity Simplified[M].北京:電子工業出版社,2005.
[9]CILETTI Michael D.Advanced digital design with the Verilog HDL[M].北京:電子工業出版社,2005.
[10]杜慧敏.基于Verilog的FPGA設計基礎[M].西安:西安電子科技大學出版社,2006.