亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于FPGA的PCI Express應(yīng)用平臺設(shè)計

        2014-12-18 13:17:10李小龍孟李林邵瑞瑞張小磊
        電子科技 2014年12期
        關(guān)鍵詞:核心層硬核上位

        李小龍,孟李林,邵瑞瑞,張小磊

        (1.西安郵電大學計算機學院,陜西西安 710061;2.西安郵電大學電子工程學院,陜西西安 710061)

        傳統(tǒng)的數(shù)據(jù)傳輸應(yīng)用平臺是基于PCI總線設(shè)計實現(xiàn)的。PCI總線是并行共享總線,具有數(shù)據(jù)傳輸速率慢等缺點。隨著點對點高速串行PCI Express(Peripheral Component Interconnect Express,PCI- E)總線的發(fā)展,基于PCI-E總線的新型數(shù)據(jù)傳輸應(yīng)用平臺已逐漸取代了傳統(tǒng)的基于PCI總線數(shù)據(jù)傳輸應(yīng)用平臺。PCI-E總線不僅在系統(tǒng)軟件級與PCI總線兼容,且與PCI等傳統(tǒng)總線相比具有更高的帶寬和靈活的可配置通道數(shù)。

        以FPGA為核心設(shè)計數(shù)據(jù)傳輸應(yīng)用平臺,具有硬件電路設(shè)計簡單、可重構(gòu)性、提供片上PCI-E IP硬核、并可實現(xiàn)SOPC功能等特點。所以在計算機、通信等領(lǐng)域獲得了廣泛應(yīng)用,更使得高速系統(tǒng)設(shè)計不必過多地關(guān)注PCI-E總線的復(fù)雜設(shè)計,大幅提高了設(shè)計的可靠性,縮短了設(shè)計的研發(fā)周期[1]。本文設(shè)計實現(xiàn)了基于FPGA的PCI Express應(yīng)用平臺。

        1 方案實施基礎(chǔ)

        1.1 PCI-E協(xié)議規(guī)范

        PCI-E作為第三代I/O技術(shù)由Intel公布,并隨后被PCI-SIG(Peripheral Component Interconne-ct Special Interest Group)正式命名為“PCI Expres- s[2]”。作為串行連接方式的總線,PCI-E協(xié)議規(guī)范定義了一種分層的設(shè)備體系結(jié)構(gòu),包括事務(wù)層(Transaction Layer)、數(shù)據(jù)鏈路層(Data Link Layer)和物理層(Physical Layer),所有數(shù)據(jù)的接收和發(fā)送過程中均以包的形式在各層之間傳輸[3]。PCI-E總線的層次結(jié)構(gòu)如圖1所示。

        (1)事務(wù)層是PCI-E中的最上層,負責事務(wù)層包(Transaction Layer Packet,TLP)的封裝與分解,并進行流速控制管理、數(shù)據(jù)包隊列管理以及利用多虛擬通道提供服務(wù)質(zhì)量(Quality of Service)。

        (2)數(shù)據(jù)鏈路層是PCI-E的中間層,主要負責完成數(shù)據(jù)完整性檢查、錯誤檢測與糾正。數(shù)據(jù)鏈路層實現(xiàn)了包的應(yīng)答和重傳機制,每個包用一個唯一的標識來確保應(yīng)答可正確地定位請求,若出錯則重傳出錯標識的所有后續(xù)包,以此保證數(shù)據(jù)的可靠性。

        (3)物理層分為邏輯物理子層和電氣物理子層。邏輯物理子層完成與數(shù)據(jù)鏈路層的數(shù)據(jù)交換、8b/10b編解碼、并串和串并轉(zhuǎn)換。電氣物理子層負責對每路串行數(shù)據(jù)進行差分驅(qū)動傳輸。

        (4)設(shè)備核心層并不屬于PCI-E協(xié)議規(guī)范。其主要向事務(wù)層提供封裝TLP所需的數(shù)據(jù),或接收事務(wù)層拆包后的數(shù)據(jù)。

        圖1 PCI-E總線分層結(jié)構(gòu)

        1.2 FPGA器件選型

        選用Altera公司的Cyclone IV GX系列FPGA為核心實現(xiàn)PCI-E數(shù)據(jù)傳輸應(yīng)用平臺。該系列FPGA器件包含多達8個3.125 Gbit·s-1速率的全雙工高速收發(fā)器,并支持物理編碼子層(PCS)、物理介質(zhì)附加子層(PMA)和PCI-E IP硬核,可完全實現(xiàn)PCI-E基本規(guī)范所需的 2.5 Gbit·s-1速率、8b/10b編解碼和PCI-E分層協(xié)議棧,并可減少應(yīng)用平臺設(shè)計的難度,且加快了研發(fā)周期[4]。

        2 應(yīng)用平臺設(shè)計

        基于PCI-E總線設(shè)計了一種Windows XP操作系統(tǒng)下的數(shù)據(jù)傳輸及處理應(yīng)用平臺,滿足PCI-E基本規(guī)范所需的總線傳輸速率和分層體系結(jié)構(gòu),并可通過多種數(shù)據(jù)傳輸模式來適用于不同的應(yīng)用場合,如數(shù)據(jù)采集、數(shù)據(jù)下發(fā)和數(shù)據(jù)處理等。應(yīng)用平臺設(shè)計包括軟件和硬件兩部分組成,硬件部分包括FPGA內(nèi)部邏輯電路,PCI-E IP硬核等;軟件部分包括上位機控制程序和應(yīng)用平臺在Windows操作系統(tǒng)下的驅(qū)動程序。

        2.1 硬件設(shè)計

        硬件設(shè)計主要包括PCI-E IP硬核接口、控制模塊、DMA模塊和數(shù)據(jù)處理/接口電路,應(yīng)用平臺的硬件結(jié)構(gòu)如圖2所示。

        圖2 應(yīng)用平臺的硬件結(jié)構(gòu)框圖

        (1)PCI-E IP硬核接口完成PCI-E IP硬核與設(shè)備核心層之間的數(shù)據(jù)橋接功能。PCI-E IP硬核實現(xiàn)了PCI-E的協(xié)議規(guī)范,還提供了與設(shè)備核心層的接口。Cyclone IV GX系列器件提供的PCI-E IP硬核與設(shè)備核心層的接口為一組內(nèi)存映射(Avalon Memory Map)接口,其中包括 TX接口、RX接口和 CRA接口[5]。

        TX接口是指由設(shè)備核心層發(fā)起的數(shù)據(jù)傳輸接口,映射了事務(wù)層存儲器的讀和寫請求事務(wù)。TX接口支持突發(fā)數(shù)據(jù)傳輸,實現(xiàn)設(shè)備核心層與PCI-E硬核接口的高速數(shù)據(jù)傳輸。

        RX接口是指由上位機發(fā)起的數(shù)據(jù)傳輸接口,是對事務(wù)層存儲器讀和寫事務(wù)的映射。用作上位機發(fā)送控制命令的接口。

        CRA接口是PCI-E IP硬核配置空間訪問接口,通過此接口可訪問PCI-E IP硬核的配置寄存器,并完成對PCI-E IP硬核的初始化和配置。此接口可由設(shè)備核心層直接訪問或上位機通過RX接口訪問。

        (2)控制模塊主要完成設(shè)備核心層數(shù)據(jù)傳輸和數(shù)據(jù)處理控制。上位機通過RX接口向控制寄存器寫入命令字,控制模塊則通過解析命令字,啟動相應(yīng)的模塊完成命令。根據(jù)應(yīng)用的不同,控制模塊可由CPU或電路實現(xiàn)。CPU可通過編寫不同的應(yīng)用軟件來完成相對復(fù)雜的控制,但運行速率有限。雖然電路的運行速率較高,但復(fù)雜的控制命令將使電路的設(shè)計變得復(fù)雜。

        (3)DMA模塊實現(xiàn)上位機與應(yīng)用平臺之間高速數(shù)據(jù)傳輸。該模塊包含兩個獨立的DMA通道,通道1控制數(shù)據(jù)從上位機到應(yīng)用平臺的數(shù)據(jù)下發(fā)傳輸;通道2控制數(shù)據(jù)從應(yīng)用平臺到上位機的數(shù)據(jù)上傳。上位機通過RX接口控制應(yīng)用平臺上的DMA模塊實現(xiàn)數(shù)據(jù)下發(fā)和上傳操作。應(yīng)用平臺上包含下發(fā)和上傳緩存,分別緩存來自上位機的下發(fā)數(shù)據(jù)和來自外設(shè)輸入的上傳數(shù)據(jù)。每個緩存均由兩塊獨立的8 kB RAM組成,兩塊8 kB RAM采用乒乓工作方式,實現(xiàn)不間斷的高速數(shù)據(jù)傳輸[6]。

        (4)數(shù)據(jù)處理/接口電路是PCI-E設(shè)備的功能模塊,實現(xiàn)PCI-E應(yīng)用平臺的數(shù)據(jù)處理或接口電路功能,如數(shù)據(jù)采集中實現(xiàn)采集設(shè)備的接口電路,或在圖像處理中完成對圖像信號的處理算法等。

        2.2 傳輸模式一

        適用于高速數(shù)據(jù)上傳,這種模式主要是將外設(shè)采集到的數(shù)據(jù)通過PCI-E總線數(shù)據(jù)傳輸應(yīng)用平臺高速上傳至上位機[7]。其工作流程如下:

        (1)將平臺配置為上傳模式。

        (2)由上位機通過RX接口向控制模塊寫入數(shù)據(jù)上傳命令,而控制模塊在接到命令后啟動外設(shè)開始采集數(shù)據(jù),外設(shè)將采集的數(shù)據(jù)通過數(shù)據(jù)處理/接口電路送入FPGA內(nèi)部兩塊8 kB的緩存RAM中。

        (3)控制模塊同時啟動DMA模塊,將FPGA內(nèi)部兩塊8 kB RAM緩存的輸入數(shù)據(jù)采用乒乓工作方式上傳到上位機。

        (4)當DMA數(shù)據(jù)傳輸完成時,通過RX接口通知上位機數(shù)據(jù)傳輸完成,上位機采用查詢方式進行數(shù)據(jù)提取等項操作,至此一次傳輸任務(wù)完成。

        2.3 傳輸模式二

        傳輸模式二適用于高速數(shù)據(jù)下發(fā),這種模式主要是將上位機數(shù)據(jù)通過PCI-E總線數(shù)據(jù)傳輸應(yīng)用平臺高速下發(fā)至外設(shè)。其工作流程如下:

        (1)將平臺配置為下發(fā)模式。

        (2)由上位機通過RX接口向控制模塊寫入數(shù)據(jù)下發(fā)命令,控制模塊在接到命令后啟動DMA模塊從上位機中讀出數(shù)據(jù),并寫入到8 kB RAM中。

        (3)同時數(shù)據(jù)處理/接口電路采用乒乓工作方式從8 kB RAM中讀出數(shù)據(jù),并輸出到外設(shè)。

        (4)當DMA數(shù)據(jù)傳輸完成時,通過RX接口通知上位機數(shù)據(jù)傳輸完成,上位機采用查詢方式獲取DMA數(shù)據(jù)傳輸狀態(tài),至此一次傳輸任務(wù)完成。

        2.4 傳輸模式三

        傳輸模式三適用于高速數(shù)據(jù)上傳或下發(fā),這種模式中PCI-E應(yīng)用平臺先完成對上位機中待處理數(shù)據(jù)的下發(fā),然后將FPGA處理后的數(shù)據(jù)再上傳到上位機。傳輸模式三可看作模式一與模式二的混合應(yīng)用。其不同之處在于,模式三執(zhí)行模式一操作,或執(zhí)行模式二操作,不能兩種同時執(zhí)行。模式三適用于高速數(shù)據(jù)靈活收發(fā)的工作方式。相對于模式一或模式二來說,模式三收發(fā)速率較低。

        2.5 軟件設(shè)計

        軟件設(shè)計包括應(yīng)用平臺的設(shè)備驅(qū)動和不同傳輸模式下的控制軟件設(shè)計。傳輸模式一的控制軟件流程如圖3所示。

        圖3 傳輸模式一控制軟件流程圖

        傳輸模式二的控制軟件流程如圖4所示。

        圖4 傳輸模式二控制軟件流程圖

        傳輸模式三的控制軟件流程如圖5所示。

        圖5 傳輸模式三控制軟件流程圖

        設(shè)備驅(qū)動是計算機系統(tǒng)中軟硬件的交互接口,此應(yīng)用平臺的設(shè)備驅(qū)動基于Windows下的WDF(Windows Driver Foundation)框架完成。為提高驅(qū)動效率及通用性,此設(shè)計的設(shè)備驅(qū)動將內(nèi)核態(tài)的硬件資源全部映射到了應(yīng)用空間,具體控制由各模式控制軟件完成[8-9]。

        3 驗證與實現(xiàn)

        應(yīng)用平臺采用Altera公司型號為EP4CGX50C F23C6的FPGA器件為核心,研發(fā)設(shè)計出PCI-E X4通道PCB板卡,使用Verilog HDL語言設(shè)計FPGA內(nèi)部硬件電路,并在Quartus II 12.0開發(fā)環(huán)境下進行設(shè)計實現(xiàn)?;赪indows XP操作系統(tǒng)編寫PCI-E應(yīng)用平臺驅(qū)動,進行驗證測試。受所選FPGA器件的PCI-E IP硬核限制,僅以PCI-E基礎(chǔ)規(guī)范1.1版本進行驗證。在傳輸模式一中,由應(yīng)用平臺上的FPGA電路模擬外設(shè)生成的隨機數(shù)作為測試數(shù)據(jù)包;在傳輸模式二中,由上位機軟件產(chǎn)生隨機數(shù)作為測試數(shù)據(jù)包。測試數(shù)據(jù)包采用連續(xù)生成方式,生成速率>8 Gbit·s-1。測試結(jié)果采用統(tǒng)計平均方式,即從一次連續(xù)10 s的數(shù)據(jù)傳輸量中,計算出數(shù)據(jù)的傳輸速率。

        傳輸模式三下Signal Tap II邏輯分析儀捕獲的作業(yè)包長為2 kB時的TX接口寫和讀操作時序圖如圖6和圖7所示。

        圖6 TX接口寫操作時序圖

        圖6中txs_addr表示輸出緩沖區(qū)地址,0x800表示輸出緩沖區(qū)起始地址;txs_wdata表示寫數(shù)據(jù);txs_wen為高電平有效寫使能;txs_byteen表示字節(jié)使能;burstcont表示TX接口一次寫突發(fā)的數(shù)據(jù)長度,0x40表示此次突發(fā)長度為512字節(jié);txs_waitreq表示TX接口等待請求,為低電平時方可進行TX接口寫操作。對于2 kB的包,TX接口需進行4次寫操作,每次寫512字節(jié)才可將FPGA內(nèi)的上傳緩存RAM中的數(shù)據(jù)包寫到上位機內(nèi)存中。

        圖7 TX接口讀操作時序圖

        圖7中txs_addr表示輸入緩沖區(qū)地址,0x000表示輸入緩沖區(qū)起始地址。txs_rdvalid為高電平時txs_rdata讀數(shù)據(jù)才為有效數(shù)據(jù)。對于2 kB的包,TX接口讀操作需進行4次,每次讀512 Byte才能將上位機內(nèi)存中的數(shù)據(jù)包讀到FPGA內(nèi)的下發(fā)緩存RAM中。

        驗證測試結(jié)果如表1~表3所示。傳輸模式一和傳輸模式二的測試速率低于PCI-E理論速率。因?qū)嶋H進行DMA傳輸時,需耗費一定時間,同時數(shù)據(jù)在PCI-E IP硬核傳輸過程中也不可避免的會產(chǎn)生一定的時間損耗,這些降低了數(shù)據(jù)的傳輸速率。傳輸模式三包括有上傳和下發(fā)兩種工作方式,此模式下上傳和下發(fā)不能同時工作,實際傳輸速率明顯降低,此外還包含傳輸模式一和二所提及的原因。

        表1 傳輸模式一測試結(jié)果

        表2 傳輸模式二測試結(jié)果

        表3 傳輸模式三測試結(jié)果

        4 結(jié)束語

        介紹了一種基于FPGA的PCI-E應(yīng)用平臺設(shè)計,且描述了3種不同的數(shù)據(jù)傳輸模式,以Windows XP操作系統(tǒng)為驗證平臺,分別對3種傳輸模式進行了實現(xiàn)及驗證,系統(tǒng)工作穩(wěn)定,資源利用率較高,最高傳輸速率可達7.12 Gbit·s-1。此應(yīng)用平臺的設(shè)計與實現(xiàn),為需要構(gòu)建各種高速數(shù)據(jù)傳輸系統(tǒng)的設(shè)計師提供了參考。

        [1] 陳雪,李佩玥,章明朝,等.基于PCI Express總線的高速光纖接口卡的設(shè)計與實現(xiàn)[J].電子技術(shù)應(yīng)用,2011,37(5):64-67.

        [2] 林錦棠,敖發(fā)良.PCI Express研究及基于FPGA的實現(xiàn)[J].微計算機信息,2008,24(29):185 -187.

        [3] PCI- SIG.PCI express base specification revision 1.1[S].USA:PCI-SIG,2005.

        [4] Altera Corporation.Cyclone IV device handbook[EB/OL].(2013-05-09)[2014-03-21]http://www.a(chǎn)ltera.com.cn/literatur-e/hb/cyclone-iv/cyclone4 -h(huán)andbook.pdf.

        [5] Altera Corporation.IP compiler for PCI express user guide[EB/OL].(2011-05-09)[2014-3-21]http://www.a(chǎn)ltera.co - m.cn/literature/ug/ug_pci_express.pdf.

        [6] 王偉,傅其祥.基于PCIe總線的超高速信號采集卡的設(shè)計[J].電子設(shè)計工程,2010,18(5):43 -45.

        [7] 李木國,黃影,劉于之.基于PCIe總線的高速數(shù)據(jù)采集卡設(shè)計與實現(xiàn)[J].測控技術(shù),2013,32(7):19-22.

        [8] 李正平,徐超,陳軍寧,等.WDF設(shè)備驅(qū)動程序的設(shè)計與實現(xiàn)[J].計算機技術(shù)與發(fā)展,2007,17(5):228 -230.

        [9] 王曉慶,周曉波,趙強.PCIE高速數(shù)據(jù)采集系統(tǒng)的驅(qū)動及上位機軟件開發(fā)[J].計算機應(yīng)用與軟件,2013,30(9):331-333.

        猜你喜歡
        核心層硬核上位
        職業(yè)教育教師核心能力結(jié)構(gòu)模型構(gòu)建、特征分析及實踐價值
        硬核爺爺煉成記
        學生天地(2020年17期)2020-08-25 09:28:38
        “硬核”舉措下的暖心舉動
        用“三個最嚴”彰顯“硬核”擔當
        公民與法治(2020年6期)2020-05-30 12:44:00
        陜西制造需要“硬核”
        當代陜西(2019年14期)2019-08-26 09:42:14
        特斯拉 風云之老阿姨上位
        車迷(2018年12期)2018-07-26 00:42:22
        淺談寬帶IP城域網(wǎng)結(jié)構(gòu)規(guī)劃和建設(shè)
        “三扶”齊上位 決戰(zhàn)必打贏
        基于ZigBee和VC上位機的教室智能監(jiān)測管理系統(tǒng)
        校園網(wǎng)核心層設(shè)計探究
        东京热加勒比国产精品| 久久久国产精品ⅤA麻豆| 国产精品久久久久孕妇| 精品中文字幕久久久人妻| 日本亚洲国产精品久久| 黑人巨大精品欧美一区二区 | 日韩人妻av不卡一区二区三区| 国产精品国三级国产a| 国产福利视频一区二区| 国内少妇人妻丰满av| 久久综合一本中文字幕| 麻豆国产精品一区二区三区| 国产七十六+老熟妇| 永久免费观看的毛片手机视频| 国产亚洲精品性爱视频| 国产免费人成视频在线观看| 成人午夜福利视频| 色两性网欧美| 亚洲国产一区二区三区视频在线| 亚洲av综合av一区| 无码av天堂一区二区三区| 91久久国产精品视频| 后入少妇免费在线观看| 久久99亚洲精品久久久久 | 国内精品久久久久影院优| 人成午夜免费大片| 亚洲熟妇av日韩熟妇av| 亚洲av高清一区二区在线观看 | 激情五月天伊人久久| 午夜一区二区三区在线观看| 级毛片内射视频| 欧产日产国产精品精品| 无码国产精品色午夜| av在线天堂国产一区| 鲁一鲁一鲁一鲁一曰综合网| 一级二级中文字幕在线视频| 91九色国产在线观看| 黑人巨大精品欧美| 亚洲巨乳自拍在线视频| 美女精品国产一区二区三区| 国产91精品高潮白浆喷水|