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