提出了一種通過FPGA實現(xiàn)PCI-Express(簡稱PCIE)接口卡的方法,對LVDS信號以及PCIE接口技術(shù)進行了充分的研究,設(shè)計未采用FPGA自帶的PCIE硬核,而是根據(jù)PCIE總線橋接芯片對接口時序直接控制,最大程度優(yōu)化接口邏輯,提高接口傳輸速率和穩(wěn)定性;試驗中LVDS器件接收LVDS總線上大小為513(列)*512(行)*8(位)的漸變圖像,像素時鐘為15MHz,幀頻率為10幀/s,并傳輸?shù)紽PGA控制部分,F(xiàn)PGA控制部分向PCIE接口發(fā)送中斷并完成圖像數(shù)據(jù)上傳;文中詳細討論了不同模塊的實現(xiàn)原理,完成了實際測試和分析,測試結(jié)果表明該設(shè)計性能穩(wěn)定,可以實現(xiàn)PCIE接口卡高速數(shù)據(jù)通信。
隨著電子技術(shù)的飛速發(fā)展,微處理器、存儲器技術(shù)的不斷革新,傳統(tǒng)的并行總線PCI逐漸成為系統(tǒng)整體性能的瓶頸。新一代的PCIE總線是最新的總線接口標準,它變革了PCI總線并行傳輸?shù)膫鬏斈J?,采用高速串行雙通道傳輸,克服了PCI總線傳輸速率以及傳輸帶寬的固有缺陷,從本質(zhì)上把接口的傳輸速率、穩(wěn)定性提升到了一個新的臺階。本文提出了一種基于LVDS傳輸模式的PCIE接口卡設(shè)計,主控單元采用現(xiàn)場可編程門陣列FPGA完成,F(xiàn)PGA內(nèi)部豐富靈活的設(shè)計資源和高效快速的設(shè)計流程足以完成接口設(shè)計工作,最大程度地提升了系統(tǒng)的可靠性。
1 、LVDS傳輸和PCIE總線
LVDS傳輸是一種低壓差分的傳輸模式,是一種串行傳輸,可以點對點傳輸,也可以一點對多點傳輸,具有傳輸速率快、抗干擾能力強和傳輸距離遠等優(yōu)點,廣泛應(yīng)用于高速數(shù)據(jù)的長距離傳輸。傳輸線多采用雙絞線,由于信號路徑的對稱性,使其對共模噪聲具有良好的抗干擾性能。
PCIE總線是取代PCI總線的新一代I/O標準,無論是傳輸速率、傳輸帶寬還是穩(wěn)定性都是PCI總線無法比擬的。與PCI總線的并行傳輸模式不同,PCIE是一種基于SERDES技術(shù)的串行通信技術(shù),數(shù)據(jù)傳輸由兩對LVDS線對組成,一對負責接收,一對負責發(fā)送,采用點對點雙通道高帶寬傳輸,接口可以為每個設(shè)備分配獨享的通道資源,充分保障所有連接設(shè)備的通道帶寬,提高每個設(shè)備的通道傳輸率。最新的PCIE3.0其比特率可達8GT/s,同時包含發(fā)射器和接收器均衡、時鐘數(shù)據(jù)恢復等一系列重要的新功能,用以改善數(shù)據(jù)傳輸和數(shù)據(jù)保護性能。
2 、系統(tǒng)總體框架
構(gòu)成PCIE接口卡設(shè)計方案主要包括LVDS差分傳輸技術(shù)、FPGA硬件邏輯設(shè)計和PCIE接口技術(shù)。本設(shè)計是基于FPGA的PCIE接口卡設(shè)計,系統(tǒng)結(jié)構(gòu)如圖1所示,主要包含三部分:LVDS接口部分、以FPGA為核心的邏輯設(shè)計部分和橋接器件構(gòu)成的PCIE接口控制部分。系統(tǒng)以FPGA為核心,通過LVDS接收器和發(fā)送器與LVDS總線相連,構(gòu)成一個LVDS雙向傳輸通道,同時利用PCIE橋接芯片PXE8112與PICE總線通信,實現(xiàn)LVDS總線與PCIE總線間的數(shù)據(jù)通信。本設(shè)計的主要功能是通過LVDS接收器接收LVDS總線上的圖像數(shù)據(jù),圖像數(shù)據(jù)經(jīng)過數(shù)據(jù)緩存后進行幀編碼,然后以整幀的形式存儲到FPGA內(nèi)部的RAM1中,并向PCIE總線發(fā)送中斷請求,要求上傳數(shù)據(jù);或者根據(jù)上位機的下傳操作,F(xiàn)P-GA系統(tǒng)接收PCIE總線下傳的圖像數(shù)據(jù)或命令,進行幀解碼后以整幀的形式存儲到RAM2中,再經(jīng)過數(shù)據(jù)緩存通過LVDS發(fā)送器輸出到LVDS總線,實現(xiàn)LVDS總線與PCIE總線的雙向通信。
3 、FPGA邏輯設(shè)計部分
可編程邏輯器件FPGA是一種方便快捷、高效穩(wěn)定的嵌入式系統(tǒng)解決方案,以硬件描述語言完成電路設(shè)計,經(jīng)過簡單的綜合與布局,快速燒制硬件電路,即可進行測試或開發(fā),是現(xiàn)行電子設(shè)計的主流技術(shù),其豐富的邏輯資源足以完成任何接口時序的邏輯控制。本設(shè)計所用的FPGA為Altera公司生產(chǎn)的Cyclone II系列的EP2C20F484I8N,采用硬件描述語言直接與PCIE橋接器件進行接口設(shè)計,代碼設(shè)計精簡,省去了不必要的中轉(zhuǎn)等待周期,最大程度優(yōu)化了接口卡的性能。FPGA邏輯設(shè)計部分包括主控單元、幀編/解碼控制器、內(nèi)部RAM和PCIE控制器。數(shù)據(jù)緩存部分用來緩存LVDS與FPGA間的數(shù)據(jù)傳輸,采用FPGA的IP核FIFO實現(xiàn),兩個內(nèi)部RAM分別用來存儲上傳和下傳的編/解碼后的整幀圖像,幀編碼控制器用來給每幀圖像添加特定的幀信息量,幀解碼控制器則根據(jù)幀信息量解出原始圖像,PCIE控制器用來控制PEX8112接口時序,進行PCIE總線與LVDS總線間圖像和命令的通信。
當LVDS總線上傳圖像時,首先會向FPGA主控單元發(fā)送傳輸請求信號,主控單元會根據(jù)FPGA運行狀態(tài)返回一個接收或者拒絕的命令,發(fā)送接收命令后,F(xiàn)PGA開始準備接收圖像數(shù)據(jù),直到滿一幀后進行編幀存儲,并向PCIE接口發(fā)送中斷信號請求上傳,上傳完成后結(jié)束該流程,流程圖如圖2所示。
4、 高速通信接口
LVDS差分接口采用MAX9247作為發(fā)送器,采用MAX9218作為接收器,完成圖像數(shù)據(jù)的雙向傳輸。MAX9247和MAX9218均為3.3V供電的LVDS接口芯片,芯片包含一路18位的圖像數(shù)據(jù)傳輸通道和一路9位的命令傳輸通道,通過DE_IN管腳切換,圖像通道最大轉(zhuǎn)換速率630 Mbps。PCIE接口芯片采用PLX公司生產(chǎn)的PEX8112,PEX8112是一款PCIE接口的橋接芯片,利用PEX8112可以方便的將FP-GA、DSP等邏輯電路升級為PCIE接口,簡化復雜的PCIE接口設(shè)計。PEX8112內(nèi)部集成了單通道、全雙工2.5 Gbps的PCIE端口,并提供完整的本地總線到PCIE接口,包括地址轉(zhuǎn)換、包生產(chǎn)與解碼、信號中斷支持及并串轉(zhuǎn)換等。
5 橋接電路通信
PCIE橋接器件PEX8112是FPGA系統(tǒng)與PCIE接口通信的橋梁,它負責圖像數(shù)據(jù)和命令的雙向通信。為提高PCIE接口傳輸速度和穩(wěn)定性,可編程邏輯器件程序設(shè)計避免了不必要的等待周期,消除了因干擾等因素引起的接口沖突響應(yīng)。當主設(shè)備(上位機)進行讀操作時,F(xiàn)RAME#為低表示讀操作開始進行,同時主設(shè)備下發(fā)讀操作命令和地址,第二個周期為轉(zhuǎn)換周期,主設(shè)備將總線的控制權(quán)交給從設(shè)備(FPGA系統(tǒng)),同時IRDY#(主設(shè)備準備好信號)信號置為有效,從第三個周期開始進行數(shù)據(jù)上傳,從設(shè)備將DEVSEL#(從設(shè)備被選擇信號)置為有效,每當TRDY#(從設(shè)備準備好信號)和IRDY#同時有效都意味著數(shù)據(jù)總線上存在著一個有效數(shù)據(jù),TRDY#和IRDY#不同時有效視為等待周期,當FRAME#無效表示正在傳輸最后一個有效數(shù)據(jù),讀操作接口時序示意圖如圖3所示。
在寫操作過程中,由于主設(shè)備無需對總線控制權(quán)進行轉(zhuǎn)讓,所以沒有轉(zhuǎn)換周期,當FRAME#有效后數(shù)據(jù)總線傳完地址后直接傳輸有效數(shù)據(jù),IRDY#或TRDY#無效視為插入等待周期,F(xiàn)RAME#無效表示正在傳輸最后一個有效數(shù)據(jù),寫操作接口時序示意圖如圖4所示。
6 、系統(tǒng)調(diào)試結(jié)果
圖5為在讀操作過程中SignalTapII邏輯分析儀對LVDS總線的波形采集圖,輸入圖像為513(列)*512(行)*8(位)的漸變圖像,像素時鐘為15MHz,vsyn為幀同步,高電平有效,data為8位圖像數(shù)據(jù),每兩個像素點數(shù)值遞增1。圖6為上位機接收到的漸變圖像,如圖可見,圖像大小為513(列)*512(行),每行圖像由左及右逐漸變亮(漸變圖像),與LVDS總線上的圖像數(shù)據(jù)相符。上位機共接收到24幀漸變圖像,每幀漸變圖像均無異常。
7 、結(jié)論
本文提出了一種基于FPGA可編程邏輯器件的PCIE接口卡設(shè)計方案,在圖像傳輸中采用LVDS高速差分傳輸接口作為圖像數(shù)據(jù)通道,通過PCIE橋接器件保證了圖像數(shù)據(jù)與PCIE總線的無縫傳輸,程序在設(shè)計過程中優(yōu)化了時序邏輯,刪除了不必要的等待周期,使整個系統(tǒng)的性能和穩(wěn)定性得到了最大的提升,系統(tǒng)在數(shù)據(jù)采集、圖像傳輸中有著廣泛的應(yīng)用前景。
責任編輯:gt
-
FPGA
+關(guān)注
關(guān)注
1645文章
22033瀏覽量
617731 -
PCIe
+關(guān)注
關(guān)注
16文章
1338瀏覽量
85033 -
可編程邏輯
+關(guān)注
關(guān)注
7文章
526瀏覽量
44724
發(fā)布評論請先 登錄
PCI接口卡中的DMA傳輸模塊軟硬件設(shè)計.pdf
采用FPGA實現(xiàn)PCIe接口設(shè)計
如何去實現(xiàn)一種LonWorks接口卡的設(shè)計?求解
基于FPGA 的IDE硬盤接口卡的實現(xiàn)
基于FPGA的IDE硬盤接口卡的實現(xiàn)
基于LVDS 技術(shù)的傳輸接口設(shè)計
模塊接口卡
廣域網(wǎng)接口卡/WIC
網(wǎng)絡(luò)接口卡,什么是網(wǎng)絡(luò)接口卡
基于PowerPCA40的光纖通道接口卡設(shè)計

基于USB的多通道串行總線接口卡實現(xiàn)

基于FPGA的LVDS接口應(yīng)用

基于PCI總線的ARINC429接口卡設(shè)計

基于DSP與FPGA的ARINC429總線接口卡設(shè)計

評論