基于Virtex-6 FPGA的雙緩沖模式PCIe總線設(shè)計(jì)方案和實(shí)現(xiàn)_第1頁
基于Virtex-6 FPGA的雙緩沖模式PCIe總線設(shè)計(jì)方案和實(shí)現(xiàn)_第2頁
基于Virtex-6 FPGA的雙緩沖模式PCIe總線設(shè)計(jì)方案和實(shí)現(xiàn)_第3頁
全文預(yù)覽已結(jié)束

付費(fèi)下載

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

基于Virtex-6FPGA的雙緩沖模式PCIe總線設(shè)計(jì)方案和實(shí)現(xiàn)近年來軟件無線電(SDR)得到了飛速的發(fā)展,在很多領(lǐng)域已顯示出其優(yōu)越性。本文的項(xiàng)目背景是通過軟件無線電方式實(shí)現(xiàn)數(shù)字音頻廣播(DAB)的基帶信號處理,這要求軟件無線電平臺具有高速實(shí)時(shí)數(shù)字信號處理與傳輸能力。高速可編程邏輯器件(FPGA)和豐富的IP核提供了能高效實(shí)現(xiàn)軟件無線電技術(shù)的理想平臺。1PCIE總線方案論證PCIE是第3代I/O總線互聯(lián)技術(shù),如今已成為個(gè)人電腦和工業(yè)設(shè)備中主要的標(biāo)準(zhǔn)互聯(lián)總線。與傳統(tǒng)的并行PCI總線相比,PCIE采用串行總線點(diǎn)對點(diǎn)連接,具有更高的傳輸速率和可擴(kuò)展性。例如本文采用的8通道1代PCIE2.0硬核的理論傳輸速率是4GB/s,其總線位寬亦可根據(jù)需求選擇×1、×2、×4和×8通道。與其他的串行接口(如RapidIO和Hypertransport)相比,PCIE具有更好的性能和更高的靈活性。1.1PCIE總線實(shí)現(xiàn)方式目前,PCIExpress總線的實(shí)現(xiàn)方式主要有兩種:基于專用接口芯片ASIC和基于IP核的可編程邏輯器件FPGA方案。前者通常采用ASIC+FPGA/DSP的組合方式,專用PCIE接口芯片(如PEX8311)避免用戶過多地接觸PCIE協(xié)議,降低了開發(fā)難度;但其硬件電路設(shè)計(jì)復(fù)雜,功能固定,靈活性和可擴(kuò)展性較差。后者使用IP核實(shí)現(xiàn)PCIE協(xié)議,用戶可以開發(fā)其所需的功能和驅(qū)動,具有可編程性和可重配置能力;另外,單片F(xiàn)PGA降低了成本和電路復(fù)雜程度,更符合片上系統(tǒng)(SoC)的設(shè)計(jì)思想。本文采用Xilinx公司Virtex6FPGA和PCIE集成塊,實(shí)現(xiàn)雙緩沖模式的高速PCIE接口設(shè)計(jì)。1.2雙緩沖與單緩沖比較以寫操作(數(shù)據(jù)從FPGA到內(nèi)存)為例,雙緩沖PCIE系統(tǒng)框圖如圖1所示。為描述方便,將該FPGA片上系統(tǒng)命名為SRSE(SoftwareRadioSystemwithPCIExpress)。圖1雙緩沖PCIE系統(tǒng)框圖PC端的驅(qū)動程序在系統(tǒng)內(nèi)存上為SRSE分配了兩個(gè)緩沖區(qū)(WR_BUF1/2)用于數(shù)據(jù)存儲,這兩個(gè)緩沖區(qū)的地址信息分別存儲在FPGA端的DMA寄存器(DAM_Reg1/2)中。RootComplex連接CPU、內(nèi)存和PCIE器件,它代表CPU產(chǎn)生傳輸請求;PCIE核是Xilinx公司提供的集成塊程序,實(shí)現(xiàn)PCIE協(xié)議的處理;DMA(直接存儲器訪問)引擎用于實(shí)現(xiàn)DSP核和PCIE器件間的高速數(shù)據(jù)存儲與交換;DSP(數(shù)字信號處理)核是用戶設(shè)計(jì)的算法或應(yīng)用程序。以圖1為例,DSP核將產(chǎn)生的數(shù)據(jù)寫入TX_FIFO,DMA引擎將數(shù)據(jù)以傳輸層數(shù)據(jù)包(TLP)的形式發(fā)送至PCIE核,其中數(shù)據(jù)包的頭信息來自寄存器DMA_Reg1.當(dāng)SRSE將數(shù)據(jù)寫入緩沖區(qū)WR_BUF1時(shí),驅(qū)動分配另外一塊緩沖區(qū)WR_BUF2并將該緩沖區(qū)的地址信息寫入寄存器DMA_Reg2中;當(dāng)DMA引擎發(fā)出WR_BUF1的寫操作消息中斷(MSI)后,DMA控制器將數(shù)據(jù)包的頭信息切換至DMA_Reg2,驅(qū)動將緩沖區(qū)切換至WR_BUF2,繼續(xù)傳輸數(shù)據(jù)。圖2PCIE總線中斷延遲測量與雙緩沖相對應(yīng)的是單緩沖模式。以寫操作為例,驅(qū)動程序每次在內(nèi)存上分配一個(gè)緩沖區(qū)WR_BUF,該緩沖區(qū)的地址信息存儲在DMA寄存器DMA_Reg中。當(dāng)寫滿緩沖區(qū)WR_BUF時(shí),DMA引擎會產(chǎn)生MSI中斷,并通過PCIE核通知驅(qū)動程序。驅(qū)動分配新的緩沖區(qū),并將該緩沖區(qū)地址通過PCIE總線寫入DMA寄存器DMA_Reg中。中斷的傳輸和DMA寄存器的更新會產(chǎn)生一定延時(shí),這需要較大的TX_FIFO來存取延時(shí)期間DSP核產(chǎn)生的數(shù)據(jù)。為精確測量中斷延時(shí)時(shí)間,搭建了基于DELLT3400型PC和ML605開發(fā)套件的平臺,通過ChipScope觀察的波形結(jié)果如圖2所示。DMA中斷發(fā)生在時(shí)刻0(mwr_done:0?﹥1);然后PCIE核向驅(qū)動發(fā)出MSI中斷,驅(qū)動程序查詢中斷寄存器發(fā)生在時(shí)刻2241(irq_wr_accessed:1?﹥0);驅(qū)動程序分配新的內(nèi)存緩沖區(qū),然后更新DMA寄存器發(fā)生在時(shí)刻2802(wr_dma_buff0_rdy:0?﹥1)。在這2802個(gè)時(shí)鐘周期內(nèi),PCIE器件無法將數(shù)據(jù)寫入內(nèi)存。PCIE的時(shí)鐘頻率為250MHz,所以中斷延時(shí)T=2802×(1/250MHz)=11.2μs.假定DSP核產(chǎn)生數(shù)據(jù)的速率為200MB/s,中斷延時(shí)期間將產(chǎn)生11.2μs×200MB/s=2241B大小的數(shù)據(jù)??紤]到其他不可預(yù)測因素,如中斷堵塞等,為了不丟失數(shù)據(jù),TX_FIFO至少需要幾KB的空間。這對于FPGA內(nèi)寶貴的硬件資源(如BlockRAM)來說是嚴(yán)峻的挑戰(zhàn)。與單緩沖模式相比,雙緩沖模式優(yōu)點(diǎn)歸納如下:①更新緩沖區(qū)不會引入中斷延時(shí),這意味著較小的FIFO即可滿足需求,節(jié)約了硬件資源。②雙緩沖模式延長了驅(qū)動程序處理中斷的時(shí)間,也

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論