国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Virtex—6的高速數(shù)據(jù)接口轉(zhuǎn)換技術(shù)

2017-06-03 22:01:27李游
物聯(lián)網(wǎng)技術(shù) 2017年5期
關(guān)鍵詞:高速數(shù)據(jù)硬核報(bào)文

李游

摘 要:針對(duì)目前高速數(shù)據(jù)傳輸系統(tǒng)中數(shù)據(jù)轉(zhuǎn)換速率可調(diào)的要求,文中采用Virtex-6為核心主控制器,實(shí)現(xiàn)PCIE總線接口與LVDS總線接口的數(shù)據(jù)傳輸轉(zhuǎn)換,并實(shí)現(xiàn)對(duì)數(shù)據(jù)轉(zhuǎn)換接口中傳輸速率的控制,解決了兩種接口總線在數(shù)據(jù)傳輸中速率不匹配的問(wèn)題。高速數(shù)據(jù)接口轉(zhuǎn)換系統(tǒng)分別從硬件平臺(tái)搭建,模塊設(shè)計(jì)兩方面進(jìn)行了詳細(xì)的研究與分析,采用大緩存,多級(jí)FIFO接口等關(guān)鍵技術(shù)設(shè)計(jì)了系統(tǒng)方案,從而實(shí)現(xiàn)了高速數(shù)據(jù)接口轉(zhuǎn)換的過(guò)程,并在工程應(yīng)用中得到了檢驗(yàn)。

關(guān)鍵詞:可變位寬;LVDS接口;PCIE;數(shù)據(jù)交互;Virtex-6

中圖分類號(hào):TP274 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):2095-1302(2017)05-00-03

0 引 言

隨著科學(xué)技術(shù)的高速發(fā)展,通信系統(tǒng)的復(fù)雜程度不斷提高,因此對(duì)系統(tǒng)的傳輸速率提出了更高的標(biāo)準(zhǔn)。而在電子偵察、視頻圖像處理、衛(wèi)星遙感測(cè)量、現(xiàn)代通信等領(lǐng)域中,高速數(shù)據(jù)的傳輸及存儲(chǔ)處理對(duì)計(jì)算機(jī)處理系統(tǒng)的數(shù)據(jù)傳輸接口也提出了更高的要求。目前計(jì)算機(jī)系統(tǒng)的高速數(shù)據(jù)傳輸主要通過(guò)光纖接口卡、PCIE接口卡、RapidIO接口卡等實(shí)現(xiàn)[1],考慮到設(shè)備通用性和成本,基于PCIE接口的傳輸方案具有較大優(yōu)勢(shì),本文基于此,提出了一種基于FPGA的LVDS與PCIE接口轉(zhuǎn)換的高速數(shù)據(jù)轉(zhuǎn)換設(shè)計(jì)方案,解決了高速LVDS數(shù)據(jù)傳輸?shù)姆€(wěn)定性問(wèn)題。

1 整體方案設(shè)計(jì)

本文設(shè)計(jì)方案主要以Xilinx公司的FPGA Virtex-6作為主控單元,設(shè)計(jì)PCIE控制器控制高速DMA讀寫(xiě),DDR3為高速大容量緩存,實(shí)現(xiàn)可變位寬的LVDS高速數(shù)據(jù)接口與計(jì)算機(jī)之間的數(shù)據(jù)轉(zhuǎn)換平臺(tái)。通過(guò)FPGA邏輯設(shè)計(jì),主要實(shí)現(xiàn)基于PCIE硬核的高速DMA讀寫(xiě)設(shè)計(jì),以DDR3作為大容量FIFO緩存模塊,數(shù)據(jù)傳輸使用LVDS接口邏輯,便于選擇傳輸板與發(fā)送板之間的數(shù)據(jù)傳輸速率。

1.1 系統(tǒng)硬件功能框圖

系統(tǒng)硬件主要圍繞FPGA設(shè)計(jì),主要包括FPGA主控單元模塊、PCIE控制器模塊、DDR3存儲(chǔ)模塊、可選位數(shù)的LVDS接口模塊。系統(tǒng)硬件設(shè)計(jì)框圖如圖1所示。

1.2 系統(tǒng)實(shí)現(xiàn)功能

本文設(shè)計(jì)方案主要實(shí)現(xiàn)可變位寬LVDS接口與PCIE總線接口的高速數(shù)據(jù)轉(zhuǎn)換功能。為驗(yàn)證本文設(shè)計(jì)方案,采用兩塊本方案板卡,分別設(shè)置為發(fā)送端和接收端,在兩臺(tái)計(jì)算機(jī)之間實(shí)現(xiàn)高速數(shù)據(jù)傳輸。計(jì)算機(jī)端與板卡之間通過(guò)PCIE接口傳輸數(shù)據(jù),發(fā)送端與接收端通過(guò)LVDS接口直接連接。計(jì)算機(jī)上需要安裝相應(yīng)的PCIE驅(qū)動(dòng)程序和控制應(yīng)用程序,發(fā)送端的應(yīng)用程序主要負(fù)責(zé)發(fā)送文件的選擇,LVDS接口的數(shù)據(jù)位數(shù)等參數(shù)的設(shè)置,接收端的應(yīng)用程序主要負(fù)責(zé)接收文件的存儲(chǔ),同時(shí)應(yīng)用程序還有檢測(cè)PCIE鏈路是否正常的功能。

2 系統(tǒng)功能模塊設(shè)計(jì)

2.1 FPGA主控芯片單元

根據(jù)系統(tǒng)的性能要求,本文采用Xilinx Virtex-6 XC6VLX240T-1FF1156C芯片,而非性能更好的Virtex-7系列芯片,因?yàn)椴粌H要便于設(shè)計(jì),更要考慮成本問(wèn)題。Virtex-6系列FPGA擁有Xilinx公司推出的完善功能的評(píng)估板ML605,對(duì)于設(shè)計(jì)外設(shè)接口豐富的系統(tǒng)有很大的參考價(jià)值。

在數(shù)據(jù)接口轉(zhuǎn)換系統(tǒng)中,圍繞主控單元的外設(shè)模塊主要包括供電模塊,時(shí)鐘模塊,復(fù)位模塊,DDR3儲(chǔ)存器接口模塊[2],PCIE接口模塊[3],LVDS邏輯接口模塊[4],配置Flash模塊等。主控模塊相關(guān)單元框圖如圖2所示。

2.2 PCIE硬核模塊設(shè)計(jì)

在數(shù)據(jù)傳輸系統(tǒng)設(shè)計(jì)中,Virtex-6 FPGA芯片自帶的PCIE硬核可以很大程度降低開(kāi)發(fā)難度。系統(tǒng)設(shè)計(jì)過(guò)程中,只需在CORE Generator GUI圖形界面中進(jìn)行相關(guān)設(shè)置,包括基本參數(shù)設(shè)置(組件名稱、通道數(shù)、接口、頻率和ID號(hào)等參數(shù))、BAR空間設(shè)置(類型、大小、地址等)、配置寄存器設(shè)置和高級(jí)設(shè)置,所有參數(shù)設(shè)置完成后即可生成PCIE硬核。生成的硬核只是底層控制邏輯,這些邏輯并非PCIE總線協(xié)議的全部,生成的核中包含源設(shè)計(jì)文件(HDL 代碼)、核約束文件(UCF)和用于仿真驗(yàn)證的測(cè)試平臺(tái)。

生成的硬核中使用默認(rèn)的PCIE報(bào)文順序,對(duì)于兼容AMD的計(jì)算機(jī)主板來(lái)說(shuō),在傳輸過(guò)程中不存在報(bào)文亂序問(wèn)題。但如果板卡連接兼容Intel的計(jì)算機(jī)主板,則存在報(bào)文亂序問(wèn)題,上層邏輯需要重新對(duì)報(bào)文進(jìn)行包排序。在報(bào)文亂序問(wèn)題中,PCIE的存儲(chǔ)器讀事務(wù)中使用Split傳送方式,且讀報(bào)文中支持最大的數(shù)據(jù)負(fù)載長(zhǎng)度為128 B,實(shí)際發(fā)送存儲(chǔ)器讀請(qǐng)求報(bào)文的請(qǐng)求長(zhǎng)度為512 B,所以一個(gè)存儲(chǔ)器讀請(qǐng)求報(bào)文將對(duì)應(yīng)4個(gè)存儲(chǔ)器讀完成報(bào)文,他們之間根據(jù)Tag標(biāo)號(hào)唯一對(duì)應(yīng),上層邏輯需要根據(jù)Tag標(biāo)號(hào)恢復(fù)出原報(bào)文順序。報(bào)文發(fā)送時(shí)序如圖3所示,報(bào)文接收時(shí)序如圖4所示。

PCIE報(bào)文的字節(jié)對(duì)界也是數(shù)據(jù)傳輸正確的關(guān)鍵所在,在發(fā)送存儲(chǔ)器讀寫(xiě)事物報(bào)文時(shí),若目的地址的起始地址非雙字對(duì)齊,則需使用DW BE字段進(jìn)行字節(jié)對(duì)界操作。若在單次發(fā)送存儲(chǔ)器讀寫(xiě)事務(wù)報(bào)文時(shí),讀寫(xiě)地址范圍跨越4 KB邊界,需要將讀寫(xiě)報(bào)文拆分為兩個(gè)讀寫(xiě)報(bào)文,進(jìn)行兩次讀寫(xiě)事務(wù)[5]。

2.3 DDR3緩存模塊設(shè)計(jì)

DDR3存儲(chǔ)器是與FPGA主控芯片連接的重要外設(shè)之一,本系統(tǒng)采用鎂光1 GB大容量DDR3內(nèi)存條。DDR3存儲(chǔ)接口主要由上下行異步 FIFO 、DDR3控制器和 DDR3 控制狀態(tài)機(jī)組成。DDR3存儲(chǔ)器接口總體邏輯框圖如5所示。

在這三個(gè)部分中,上下行異步FIFO是整個(gè)數(shù)據(jù)接口轉(zhuǎn)換的基礎(chǔ),至關(guān)重要。首先來(lái)自PCIE上行64 bit位寬數(shù)據(jù)寫(xiě)入DDR3上行FIFO中,從上行FIFO中將以256 bit位寬數(shù)據(jù)傳輸?shù)紻DR3控制器中存儲(chǔ)。PCIE下行數(shù)據(jù)將讀取下行FIFO中的數(shù)據(jù),下行FIFO則實(shí)現(xiàn)與上行FIFO相反的操作,實(shí)現(xiàn)整個(gè)數(shù)據(jù)接口的轉(zhuǎn)換過(guò)程。其次,DDR3控制器設(shè)計(jì)采用Virtex-6 FPGA提供的IP核來(lái)設(shè)計(jì),在通過(guò)MIG定制DDR3控制器的過(guò)程中,需要設(shè)置芯片型號(hào)、總線寬度、接口時(shí)鐘類型、CAS延遲、突發(fā)長(zhǎng)度等參數(shù),同時(shí)還需設(shè)置數(shù)據(jù)、地址、時(shí)鐘和控制信號(hào)在FPGA內(nèi)部不同Bank的位置分布[6]。當(dāng)所有設(shè)置完成后就可以生成DDR3控制器,生成的控制器包含源文件(HDL代碼)、約束文件(UCF)和用于仿真驗(yàn)證的測(cè)試平臺(tái)。

2.4 LVDS接口模塊設(shè)計(jì)

板間數(shù)據(jù)傳送使用LVDS接口,LVDS為同步差分信號(hào)傳輸,在高速傳輸系統(tǒng)上得到了廣泛應(yīng)用[7]。LVDS接口根據(jù)傳輸?shù)臄?shù)據(jù)位數(shù)選擇對(duì)應(yīng)的異步FIFO,異步FIFO的上行時(shí)鐘為250 MHz差分時(shí)鐘,下行時(shí)鐘使用FPGA主控模塊中的125 MHz時(shí)鐘。在接口轉(zhuǎn)換的過(guò)程中,要求本系統(tǒng)中最多使用32位LVDS接口,數(shù)據(jù)傳輸?shù)奈粩?shù)可以根據(jù)上位機(jī)進(jìn)行選擇,不同的位數(shù)決定不同的傳輸速率,數(shù)據(jù)位數(shù)可以選擇2位、8位、16位或者32位。數(shù)據(jù)傳輸?shù)奈粩?shù)在發(fā)送之前需要發(fā)送板與接收板約定好,不允許在傳輸過(guò)程中動(dòng)態(tài)改變傳輸位數(shù)。接口數(shù)據(jù)轉(zhuǎn)換接口框圖如圖6所示。

3 系統(tǒng)仿真與測(cè)試

3.1 PCIE 整體性能測(cè)試驗(yàn)證

在PCIE整體性能測(cè)試過(guò)程中,對(duì)DMA讀寫(xiě)請(qǐng)求過(guò)程中的不同DMA塊大小分別進(jìn)行了測(cè)試。當(dāng)DMA讀寫(xiě)長(zhǎng)度由32 KB向4 096 KB變化時(shí),其數(shù)據(jù)傳輸?shù)挠行捯搽S之變化,即從800 MB/s向15 00 MB/s遞增。因?yàn)槊看蜠MA讀寫(xiě)長(zhǎng)度越大,PCIE板卡就會(huì)減小對(duì)BAR0空間的讀寫(xiě),同時(shí)減小中斷處理的次數(shù),因此數(shù)據(jù)傳輸?shù)挠行捯矔?huì)提高。

系統(tǒng)采用Gen1 PCIE硬核,支持V2.0總線協(xié)議,總線頻率為2.5 GHz,使用X8鏈路。PCIE硬核在FPGA內(nèi)部時(shí)鐘為250 MHz,數(shù)據(jù)寬度為64位,理論帶寬為2 GB/s。雖然X8鏈路的PCIE理論帶寬非常高,但對(duì)于實(shí)際系統(tǒng)來(lái)說(shuō),受DMA讀寫(xiě)請(qǐng)求延時(shí)、TLP傳送開(kāi)銷(xiāo)、協(xié)議開(kāi)銷(xiāo)、流量控制等因素影響,因此PCIE實(shí)際帶寬遠(yuǎn)低于其理論帶寬。當(dāng)DMA讀寫(xiě)傳輸均為4 096 KB時(shí),DMA讀數(shù)據(jù)有效帶寬最大為1368 MB/s,DMA寫(xiě)數(shù)據(jù)有效帶寬最大為1 543 MB/s。DMA讀寫(xiě)數(shù)據(jù)最大有效帶寬之所以差異較大,原因在于DMA讀請(qǐng)求過(guò)程中的延時(shí)遠(yuǎn)大于DMA寫(xiě)請(qǐng)求過(guò)程,此外,DMA讀請(qǐng)求在事務(wù)層上的開(kāi)銷(xiāo)也大于DMA寫(xiě)請(qǐng)求。

3.2 系統(tǒng)整體性能測(cè)試驗(yàn)證

在兩臺(tái)計(jì)算機(jī)上的PCIE插槽中分別插入發(fā)送板和接收板,安裝好上位機(jī)軟件后,可以通過(guò)上位機(jī)進(jìn)行讀寫(xiě)測(cè)試。發(fā)送板與接收板的連接實(shí)物圖如圖7所示。

在連接好發(fā)送板和接收板后,插入計(jì)算機(jī)中的PCIE X8插槽中,并啟動(dòng)計(jì)算機(jī),通過(guò)ISE軟件自帶的chipscope采集分析LVDS接口數(shù)據(jù)。chipscope采集LVDS接口數(shù)據(jù)如圖8所示。

通過(guò)分析,LVDS接口數(shù)據(jù)在LVDS差分時(shí)鐘的上升沿讀取,所以提高LVDS接口的速率除增加LVDS接口位數(shù)外,還可增加LVDS傳輸時(shí)鐘,但由于傳導(dǎo)線長(zhǎng)會(huì)引起誤差,因此要求傳輸?shù)臅r(shí)鐘不能太高,實(shí)際過(guò)程中使用250 MHz差分時(shí)鐘進(jìn)行傳輸。數(shù)據(jù)位數(shù)可通過(guò)上位機(jī)選擇16位LVDS接口和32位接口,傳輸速率分別為302 MB/s和607 MB/s。16位LVDS接口數(shù)據(jù)測(cè)試速率如圖9所示,32位LVDS接口數(shù)據(jù)測(cè)試速率如圖10所示。

此次發(fā)送的文件為隨機(jī)生成的2.4 GB大小的隨機(jī)碼,傳輸完成后使用WINHEX軟件進(jìn)行比對(duì),比對(duì)結(jié)果100%正確,實(shí)現(xiàn)了預(yù)期的功能。

4 結(jié) 語(yǔ)

本文設(shè)計(jì)的基于Virtex-6的高速接口轉(zhuǎn)換方法可以實(shí)現(xiàn)多位數(shù)LVDS總線與PCIE總線的數(shù)據(jù)交互,拓展了計(jì)算機(jī)與外設(shè)的高速接口通道,具有一定的工程實(shí)踐意義。

參考文獻(xiàn)

[1]溫宇辰,李明偉,陳玉龍.PCI-E總線光纖接口卡的設(shè)計(jì)[J].電子技術(shù)應(yīng)用,2014, 40(4):126-129.

[2]張剛,賈建超,趙龍.基于FPGA的DDR3 SDRAM控制器設(shè)計(jì)及實(shí)現(xiàn)[J].電子科技,2014, 27(1):70-73.

[3]信侃.基于Xilinx FPGA的PCIe總線接口設(shè)計(jì)與實(shí)現(xiàn)[J].無(wú)線電通信技術(shù), 2014(4):94-96.

[4]楊翠虹,文豐,姚宗.基于LVDS的高速數(shù)據(jù)傳輸系統(tǒng)的設(shè)計(jì)[J].通信技術(shù),2010, 43(9):59-61.

[5]王聰,王彬,薛潔,等.基于PCIe總線協(xié)議的設(shè)備驅(qū)動(dòng)開(kāi)發(fā)[J].信息技術(shù), 2013(3):32-35.

[6]殷曄,李麗斯,常路,等.基于FPGA的DDR3存儲(chǔ)控制的設(shè)計(jì)與驗(yàn)證[J].計(jì)算機(jī)測(cè)量與控制, 2015,23(3):969-971.

[7]李大鵬,李雯,王曉華.基于FPGA的高速LVDS接口的實(shí)現(xiàn)[J].航空計(jì)算技術(shù),2012, 42(5):115-118.

[8]許峰.基于Virtex-6的PCI Express告訴采集卡設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2012,35(16):79-81.

猜你喜歡
高速數(shù)據(jù)硬核報(bào)文
基于J1939 協(xié)議多包報(bào)文的時(shí)序研究及應(yīng)用
CTCS-2級(jí)報(bào)文數(shù)據(jù)管理需求分析和實(shí)現(xiàn)
硬核爺爺煉成記
“硬核”舉措下的暖心舉動(dòng)
用“三個(gè)最嚴(yán)”彰顯“硬核”擔(dān)當(dāng)
公民與法治(2020年6期)2020-05-30 12:44:00
淺析反駁類報(bào)文要點(diǎn)
陜西制造需要“硬核”
基于AD9250的高速數(shù)據(jù)接口設(shè)計(jì)
電子制作(2018年2期)2018-04-18 07:13:24
ATS與列車(chē)通信報(bào)文分析
PCI-e高速數(shù)據(jù)采集卡的驅(qū)動(dòng)與上位機(jī)軟件設(shè)計(jì)
電子器件(2015年5期)2015-12-29 08:43:12
怀安县| 田东县| 纳雍县| 犍为县| 雷州市| 涟源市| 游戏| 宁化县| 丹棱县| 拉萨市| 安国市| 荣成市| 资兴市| 汶川县| 庄浪县| 肥乡县| 清原| 亚东县| 额敏县| 麻江县| 永顺县| 犍为县| 高唐县| 神农架林区| 上饶县| 平顺县| 远安县| 五台县| 平罗县| 平昌县| 夏邑县| 府谷县| 阿尔山市| 玉溪市| 常山县| 利辛县| 安福县| 丹棱县| 固始县| 正阳县| 淮安市|