基于FPGA的高速通信系統(tǒng)研究
2.3 電路PCB設(shè)計(jì)
在PCB設(shè)計(jì)過(guò)程中,要注意電路板的布局。模擬電路和數(shù)字電路需要分開(kāi),使用單點(diǎn)接地的方式相連。將邊沿速率變化快的VTTL/LVCMOS信號(hào)與LVDS信號(hào)布在不同信號(hào)層上,并用電源和底層隔開(kāi),減小耦合到LVDS線路上的串?dāng)_。LVDS走線要遵循以下規(guī)則:
(1)差分對(duì)兩根信號(hào)從芯片扇出后就盡量靠近(緊耦合),這樣有助于消除反射,確保耦合的噪聲是共模形式。
(2)對(duì)內(nèi)信號(hào)的布線長(zhǎng)度要保持一致,以減小信號(hào)延時(shí),長(zhǎng)度匹配控制在10 mil以內(nèi)。
(3)對(duì)內(nèi)信號(hào)保持固定的線間距,避免因?yàn)榫€間距變化導(dǎo)致差分阻抗不連續(xù)。
(4)差分對(duì)間盡量遠(yuǎn)離,減少線間串?dāng)_,必要時(shí)在差分對(duì)間放置隔離用的接地過(guò)孔。
(5)盡量減少差分信號(hào)線上過(guò)孔的個(gè)數(shù),避免走90°拐角,使用圓弧或者45°折線代替。
(6)LVDS信號(hào)不能跨平面分割,否則會(huì)因?yàn)槿鄙賲⒖计矫娑鴮?dǎo)致阻抗不連續(xù),要給LVDS信號(hào)設(shè)置完整的參考平面。
(7)匹配電阻盡可能靠近接收端。
3 系統(tǒng)的邏輯設(shè)計(jì)
3.1 時(shí)鐘部分設(shè)計(jì)
時(shí)鐘信號(hào)由電路板上40 MHz晶振提供。通過(guò)數(shù)字時(shí)鐘管理單元DCM鐘倍頻得到120 MHz的系統(tǒng)的工作時(shí)鐘。使用DCM模塊時(shí),注意DCM的輸入和輸出需要通過(guò)BUFG單元與全局時(shí)鐘資源相連。全局時(shí)鐘資源使用全銅層工藝實(shí)現(xiàn),并設(shè)計(jì)了專用時(shí)鐘緩沖與驅(qū)動(dòng)結(jié)構(gòu),使全局時(shí)鐘到達(dá)芯片內(nèi)部所有邏輯單元的時(shí)延和抖動(dòng)都為最小。DCM在時(shí)鐘鎖定后使能LOCK信號(hào),表示時(shí)鐘倍頻工作完成,使用這個(gè)信號(hào)作為FPGA內(nèi)部其他邏輯的復(fù)位。
3.2 異步時(shí)鐘域變換
系統(tǒng)輸入信號(hào)工作在不同的異步時(shí)鐘域,需要在FPGA內(nèi)部將信號(hào)變換到同一個(gè)時(shí)鐘域。
串口信號(hào)速度低,可以使用系統(tǒng)時(shí)鐘高速采集的方式。根據(jù)奈奎斯特抽樣定律,抽樣頻率大于2倍信號(hào)最高頻率,就可以從抽樣信號(hào)中無(wú)失真地恢復(fù)原信號(hào)。本系統(tǒng)使用高于5倍串口波特率的時(shí)鐘去采集串口數(shù)據(jù)。經(jīng)過(guò)誤碼儀的大量測(cè)試,串口數(shù)據(jù)能夠被正確接收和恢復(fù)。
視頻信號(hào)是并行信號(hào),采用高速采集的方法會(huì)增加數(shù)據(jù)量,不適合本系統(tǒng)。本系統(tǒng)采用雙口FIFO完成異步時(shí)鐘域轉(zhuǎn)換。S3C500E片內(nèi)的Block RAM資源可以靈活的生成雙口FIFO,與普通邏輯單元生成的雙口FIFO相比,它的穩(wěn)定性高,最高讀寫(xiě)速度快,產(chǎn)生亞穩(wěn)定狀態(tài)的概率小。雙口FIFO的輸入端連接系統(tǒng)輸入信號(hào)的時(shí)鐘和數(shù)據(jù);在輸出端連接系統(tǒng)時(shí)鐘數(shù)據(jù)。雙口FIFO的讀取時(shí)鐘速度必須高于寫(xiě)入速度,以避免FIFO存滿后溢出導(dǎo)致有效數(shù)據(jù)丟失。另一方面,慢時(shí)鐘域向快時(shí)鐘域轉(zhuǎn)換的時(shí)候,F(xiàn)IFO會(huì)出現(xiàn)讀取空的狀態(tài),此時(shí)將取出無(wú)效數(shù)據(jù)(這些數(shù)據(jù)是FIFO中最后一個(gè)數(shù)據(jù)的重復(fù))。無(wú)效數(shù)據(jù)通過(guò)串行數(shù)據(jù)幀傳輸?shù)浇邮斩?,?huì)導(dǎo)致恢復(fù)后輸出信號(hào)出現(xiàn)誤碼。所以系統(tǒng)將FIFO的空標(biāo)志empty信號(hào)添加到數(shù)據(jù)幀,用于識(shí)別無(wú)效數(shù)據(jù)。
3.3 數(shù)據(jù)組幀及編碼
同步傳輸需要將原始數(shù)據(jù)組成數(shù)據(jù)幀再進(jìn)行發(fā)送,即在數(shù)據(jù)間添加起始位、停止位和校驗(yàn)位。數(shù)據(jù)幀的起始位過(guò)長(zhǎng)會(huì)影響傳輸效率,過(guò)短會(huì)增加接收端識(shí)別的難度。本系統(tǒng)選用80 b為一幀,起始位為8 b,停止位為2 b,奇校驗(yàn)位為1 b。接收端邏輯通過(guò)對(duì)多個(gè)數(shù)據(jù)幀分析后,定位數(shù)據(jù)幀的起始位。由于每幀數(shù)據(jù)長(zhǎng)度固定,所以找到某一幀的起始位后可以周期性的計(jì)算出接下來(lái)各幀的起始位置,不再需要反復(fù)做識(shí)別工作。
數(shù)據(jù)組幀后信號(hào)的平均位速率可能低于CLC012的最低工作頻率,不能直接用于傳輸,還需要對(duì)其進(jìn)行8B/10B編碼。8B/10B技術(shù)是將8個(gè)數(shù)據(jù)位經(jīng)過(guò)某種映射的機(jī)制轉(zhuǎn)化為10個(gè)數(shù)據(jù)位的字碼,可使發(fā)送的“O”、“1”數(shù)量保持一致,連續(xù)的“1”或“0”基本不超過(guò)5位。8 B/10 B編碼技術(shù)保證了傳輸?shù)腄C平衡,增加了信息傳輸?shù)目煽啃浴O到y(tǒng)使用Xilinx公司提供的8 B/10 B編碼和解碼IP核,減少了系統(tǒng)的開(kāi)發(fā)周期,增加了系統(tǒng)的穩(wěn)定性。8 B/10 B編碼及解碼IP的模塊原理圖如圖6和圖7所示。本文引用地址:http://www.ex-cimer.com/article/157077.htm
4 結(jié)語(yǔ)
介紹了一種基于FPGA的高速通信系統(tǒng),通過(guò)電纜驅(qū)動(dòng)器和接收均衡器,拓展了LVDS信號(hào)的傳輸距離。經(jīng)過(guò)測(cè)試,使用同軸電纜的傳輸距離達(dá)到200 m,單個(gè)通道傳輸速率達(dá)到120 Mb/s。FPGA的可重構(gòu)性使系統(tǒng)靈活多變,可以適應(yīng)不同的應(yīng)用需求。
評(píng)論