<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > EDA/PCB > 設計應用 > 基于FPGA的雙緩沖模式PCI Express總線(xiàn)設計方案

基于FPGA的雙緩沖模式PCI Express總線(xiàn)設計方案

作者: 時(shí)間:2013-01-30 來(lái)源:網(wǎng)絡(luò ) 收藏

本文引用地址:http://dyxdggzs.com/article/189695.htm

PCIE驅動(dòng)中的數據接收

  圖4 E驅動(dòng)中的數據接收

  3.2 E核配置

  Virtex6 E Endpoint Block[4]集成了傳輸層(TL)、數據鏈路層(DLL)和物理層(PL)協(xié)議,它完全符合PCIE基本規范,可配置性增加了設計的靈活性,降低了成本。其功能框圖與接口如圖5所示。其中收發(fā)器通過(guò)PCIE總線(xiàn)與Root Complex實(shí)現數據包的傳遞,PCIE總線(xiàn)由系統接口和PCIE接口組成;系統接口由復位和時(shí)鐘信號組成,PCIE接口由8條差分傳輸和接收對組成(8lane)。TX/RX Block RAM用來(lái)存儲來(lái)自DMA引擎和系統內存的數據,其大小可以通過(guò)Xilinx Core Generator配置。傳輸接口為用戶(hù)提供了產(chǎn)生和接收TLP的機制;物理層接口使用戶(hù)能夠觀(guān)測和控制鏈路的狀態(tài);配置接口使用戶(hù)能夠觀(guān)察和配置PCIE終端的配置空間,即DMA寄存器;中斷接口實(shí)現DMA與PCIE核之間的中斷傳輸。用戶(hù)通過(guò)這些接口設計符合其需要的DMA引擎。

PCIE功能框圖與接口

  圖5 PCIE功能框圖與接口

  本文使用Xilinx CORE Generator生成PCIE核,其主要配置參數如表1所列。

PCIE核主要配置參數

  表1 PCIE核主要配置參數

  3.3 總線(xiàn)主控DMA傳輸

  參考Xilinx應用實(shí)例XAPP1052[5],本文設計的DMA結構框圖如圖6所示,各部分功能介紹如下:

 ?、?發(fā)射引擎。發(fā)射引擎產(chǎn)生傳輸層數據包(TLP)并通過(guò)傳輸接口發(fā)送至PCIE核,數據包的數據來(lái)自TX_FIFO,頭信息來(lái)自DMA控制/狀態(tài)寄存器,也負責驅動(dòng)對DMA寄存器的讀取。

 ?、?接收引擎。接收引擎將來(lái)自上位機的數據包解碼并轉存至RX_FIFO中,也接收來(lái)自驅動(dòng)的配置信息并將寄存器值寫(xiě)入DMA控制/狀態(tài)寄存器中。

 ?、?DMA控制/狀態(tài)寄存器。該模塊是DMA的主控制器,控制著(zhù)DMA復位、讀寫(xiě)等操作;內存緩沖區的地址信息和TLP包長(cháng)度等信息也存儲在該寄存器中。

 ?、?MSI中斷控制器。該模塊產(chǎn)生讀寫(xiě)中斷,然后通過(guò)中斷接口通知PCIE核,進(jìn)而通知驅動(dòng)程序。

 ?、?TX/RX_FIFO.通過(guò)Xilinx Core Generator將FIFO配置為獨立時(shí)鐘異步,實(shí)現不同時(shí)鐘域的數據緩沖和位寬轉換。本文PCIE時(shí)鐘為250 MHz、位寬64位,而DSP核時(shí)鐘為200 MHz、位寬32位。

 ?、?PCIE核。該模塊為例化的PCIE集成塊,框圖和參數詳見(jiàn)圖5和表1.

 ?、?DSP核。該模塊為用戶(hù)設計的算法或者功能模塊,例如通過(guò)Simulink調用Xilinx庫實(shí)現某種功能。

 DMA結構框圖

  圖6 DMA結構框圖

  3.4 雙緩沖PCIE協(xié)議

  以寫(xiě)操作為例,雙緩沖PCIE協(xié)議如圖7所示。初始化時(shí),驅動(dòng)程序在內存中分配兩塊緩沖區Buff 1a/2a,然后將Buff 1a的地址信息寫(xiě)入DMA控制/狀態(tài)寄存器DMA_Reg1(圖1)中并開(kāi)始寫(xiě)操作;DMA引擎將FIFO中的數據以數據包的形式通過(guò)PCIE總線(xiàn)發(fā)送至緩沖區Buff 1a中,期間驅動(dòng)程序將Buff 2a的地址信息發(fā)送至DMA控制/狀態(tài)寄存器DMA_Reg2中;當Buff 1a寫(xiě)操作完成時(shí),MSI中斷控制器產(chǎn)生MSI中斷并通知驅動(dòng),此時(shí)驅動(dòng)和DMA控制器同時(shí)切換緩沖區,即驅動(dòng)將緩沖區切換至Buff 2a,DMA控制器將TLP頭信息切換至DMA_Reg2,如此繼續傳輸數據。

雙緩沖PCIE操作協(xié)議(寫(xiě)操作)

  圖7 雙緩沖PCIE操作協(xié)議(寫(xiě)操作)

  將MSI中斷與新緩沖區配置間的時(shí)間間隔稱(chēng)為中斷延時(shí),如圖2和圖7所示。雙緩沖的引入消除了中斷延時(shí)的影響,使SRSE在中斷延時(shí)期間仍能傳輸數據,節約了硬件資源,驅動(dòng)程序也有更多時(shí)間來(lái)處理緩沖區的數據。

  4 PCIE調試與性能

  提供了Root Port的Test Bench,它可以模擬PC和驅動(dòng)程序,如初始化DMA引擎、產(chǎn)生下行數據流并發(fā)送至PCIE設備,也可以接收來(lái)自PCIE設備的上行數據流等,使整個(gè)系統(PCIE核+DMA引擎+DSP核)可以在Modelsim SE環(huán)境下仿真。這大大縮短了開(kāi)發(fā)周期,提高了開(kāi)發(fā)效率。功能仿真通過(guò)后,使用Xilinx ISE 軟件完成代碼的輸入、綜合、實(shí)現、驗證和下載。

  硬件平臺為DELL T3400型PC和Xilinx ML605開(kāi)發(fā)套件。PC端基于Ubuntu 10.10操作系統運行驅動(dòng)程序,端DSP核(圖6)通過(guò)Matlab Simulink調用Xilinx元件庫實(shí)現。本文DSP核由32位計數器和加法器組成:計數器將值寫(xiě)入TX_FIFO,PC端檢測接收數據以驗證寫(xiě)操作(SRSE→PC);同樣地,PC端產(chǎn)生+1計數值并將數據寫(xiě)入RX_FIFO,DSP核的加法器用來(lái)驗證讀操作(PC→SRSE)。

  結語(yǔ)

  本文設計了基于Xilinx Virtex6 的通用軟件無(wú)線(xiàn)電平臺,利用C語(yǔ)言開(kāi)發(fā)了基于Linux系統的驅動(dòng)程序,利用Verilog語(yǔ)言設計基于Xilinx PCIE硬核的雙緩沖DMA控制器。雙緩沖消除了中斷延時(shí)的影響,節約了硬件資源,提高了數據傳輸速度。


上一頁(yè) 1 2 下一頁(yè)

關(guān)鍵詞: Express FPGA PCI 模式

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>