《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于PCIe的DMA傳輸在UM-BUS測試系統中的設計與應用
基于PCIe的DMA傳輸在UM-BUS測試系統中的設計與應用
2015年電子技術應用第8期
李昱青1,2,邱柯妮1,2,張偉功1,2,徐遠超1
1.首都師范大學 信息工程學院,北京100048;2.北京市高可靠嵌入式系統技術工程研究中心,北京100048
摘要: 動態可重構高速串行總線(UM-BUS)是一種利用多通道并發冗余的方式來實現總線動態容錯的高速串行總線。它的測試系統可以實現對總線的通信過程進行監測、存儲與分析。由于測試系統需要在數據采集終端與PC之間建立高帶寬的通信通道,設計了UM-BUS總線測試系統的PCIe2.0 x1通道的應用方案,設計并實現了基于FPGA的PCIe總線DMA數據傳輸方案。實驗測試結果表明,實際傳輸速度可以穩定達到200 MB/s以上,完全滿足總線測試系統中對數據傳輸速率的要求。
中圖分類號: TP391
文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.2015.08.036

中文引用格式: 李昱青,邱柯妮,張偉功,等. 基于PCIe的DMA傳輸在UM-BUS測試系統中的設計與應用[J].電子技術應用,2015,41(8):128-130,134.
英文引用格式: Li Yuqing,Qiu Keni,Zhang Weigong,et al. Design and application of DMA transmission based on PCIe for the test system of UM-BUS[J].Application of Electronic Technique,2015,41(8):128-130,134.
Design and application of DMA transmission based on PCIe for the test system of UM-BUS
Li Yuqing1,2,Qiu Keni1,2,Zhang Weigong1,2,Xu Yuanchao1
1.College of Information Engineering,Capital Normal University,Beijing 100048,China; 2.Beijing Engineering Research Center of High Reliable Embedded System,Beijing 100048,China
Abstract: Dynamically reconfigurable high-speed serial bus(UM-BUS) is a novel high-speed serial bus with characteristics of dynamic fault-tolerance and multi-channel concurrency and redundancy. Its test system can provide monitoring, storage and analysis for the communication process of UM-BUS. The test system requires a high-bandwidth communication channel between the data acquisition terminal with the PC. A PCIe2.0 based solution for x1 channel is devised for the test system in this paper. Furthermore, Direct Memory Access (DMA) data transfer has been successfully implemented based on PCIe bus on the FPGA platform. The experimental results show that the actual data transfer speed can reach more than 200 MB/s. This design can fully satisfy the requirements of data transfer rate for the test system.
Key words : PCIe bus;DMA data transfer;dynamically reconfigurable high-speed serial bus;test system

    

0 引言

    動態可重構高速串行總線(UM-BUS)是一種利用多通道冗余方式來實現總線動態容錯功能的新型總線[1]

    為了驗證UM-BUS總線在傳輸速率、帶寬靈活性、動態容錯能力以及故障隔離能力等方面的優勢[2],本文提出UM-BUS總線測試系統。實現測試系統功能的基礎是采集總線上傳輸的數據包,UM-BUS測試系統中的數據采集模塊首先將采集到的總線數據緩存到SDRAM存儲器中,再將數據傳輸到PC進行分析和處理。

    本文采用PCIe總線實現數據采集模塊與PC之間的通信,在研究PCIe總線協議和端點核(PCIe Endpoint Block)的基礎上,使用VIRTEX5系列XC5VLX85T芯片實現了PICe接口硬件電路,設計了基于FPGA的PCIe總線直接內存存取(Direct Memory Access,DMA)數據傳輸方案。該方案不僅實現了數據從PC內存通過PCIe總線傳輸至SDRAM內存芯片中存儲,同時能夠將SDRAM芯片中存儲的數據讀出,并通過PCIe總線接口將數據傳輸回PC內存顯示。

1 研究背景

1.1 UM-BUS總線介紹

    如圖1所示,UM-BUS采用一種多線路并發冗余的總線型拓撲結構,它最多可使用32條通道并發進行數據傳輸,能夠對31個通道的故障進行動態容錯[2]

jsj2-t1.gif

1.2 UM-BUS測試系統簡介

    UM-BUS總線的測試系統主要實現3個功能:無過濾監聽總線通信過程、故障注入以及總線狀態分析[3]。實現PC對UM-BUS總線上傳輸數據包的接收和處理功能是實現總線測試功能的基礎。

    為了讓PC及時分析和處理測試系統采集到總線數據,本文采用PCIe2.0技術完成UM-BUS測試系統中數據與PC之間的傳輸。

2 基于PCIe的DMA傳輸方案設計

    本方案設計中,FPGA是最關鍵部分。它主要包括測試系統中數據的采集模塊、SDRAM控制時序模塊、用于在硬核的用戶接口和傳輸接口實現PCIe時序邏輯的PCIe的控制模塊。圖2是基于PCIe的數據傳輸系統結構圖,其中寬箭頭指向的模塊是本文設計的數據傳輸系統中重點設計的模塊。

jsj2-t2.gif

    UM-BUS測試系統將采集到的總線數據緩存在SDRAM存儲器中。PCIe控制模塊根據PC發出的數據傳輸請求,將SDRAM中存儲的總線數據傳輸到PC上;PCIe控制模塊也可以根據PC發出的數據傳輸請求,將數據從PC內存通過PCIe接口向下傳輸到FPGA內部,并通過FPGA內部的SDRAM控制邏輯將數據傳輸到的SDRAM內存芯片中存儲。

    本文利用Xilinx官網提供的IP核來實現基于PCIe總線的DMA數據傳輸方式設計。圖3是IP核的功能框圖及各個接口[4]。

jsj2-t3.gif

    各個接口的功能:用戶邏輯接口用于與 PCIe的IP 核通信;配置接口實現主機對IP 核的配置;物理層接口用于與根復合體或橋連接;系統接口含有時鐘信號和系統復位信號。

    本文應用PCIe2.0技術,實現UM-BUS總線測試系統與PC之間的通信,通過編寫PCIe用戶邏輯接口程序實現PCIe的數據傳輸功能。

3 硬件設計方案

    本文在FPGA中設計了PCIe的控制模塊和SDRAM控制模塊。PCIe 的控制模塊有PCIe讀寫時序控制、對SDRAM控制器的控制。SDRAM控制模塊是一個雙口SDRAM控制器,它的左口邏輯作為PCIe總線的DMA寫傳輸時數據的讀出口,右口邏輯作為PCIe總線的DMA讀傳輸時數據的寫入口。本設計的硬件部分主要有PCIe 的控制模塊和SDRAM控制模塊。下面主要介紹這兩個模塊的設計。

3.1 PCIe的控制模塊設計

    本設計中的PCIe總線接口卡含有一片XC5VLX85T芯片,使用該FPGA實現PCIe總線數據傳輸的時序邏輯,圖4為總線接口卡FPGA的程序結構框圖及用戶邏輯結構圖[5]。

jsj2-t4.gif

    XC5VLX85T芯片內嵌的PCIe IP核為Endpoint Block plus for PCI Express,實現了PCIe總線的基本協議功能。

    為了實現PCIe的數據傳輸功能,主要是要進行用戶邏輯的設計。用戶邏輯與PCIe的事務層接口直接連接,可發送或接收事務層數據包,用以實現BAR0空間的訪問功能和DMA讀寫功能[6]。下面將分存儲器讀寫兩個操作以及DMA數據傳輸方式的實現來說明PCIe用戶邏輯的設計。

3.1.1 Burst存儲器寫操作的設計與實現

    對于存儲器寫請求,實現的主要方法是數據接收控制器EP_RX將接收到的TLP包頭中各個字段進行正確解析,并區分是單字寫還是Burst寫請求,以及確定寫操作的數據長度。如果是單字寫請求,就將TLP包中的64 bit數據存入寄存器中;如果是Burst寫請求,就將TLP包中的有效數據載荷區的數據按照64 bit寫入雙口緩沖區,每過一個時鐘周期地址自動增加,直到數據全部存入到雙口緩沖區,一次Burst寫操作完成。

3.1.2 Burst存儲器讀操作的設計與實現

    對于存儲器讀請求,實現的主要方法是數據接收控制器EP_RX將接收到的TLP包頭中各個字段進行正確解析,并將請求數據的起始地址和數據長度發送給數據發送控制器EP_TX,然后啟動EP_TX發送完成數據。

3.1.3 DMA功能的實現

    本文采用DMA的方式用于FPGA外部存儲器SDRAM與系統內存之間的數據傳輸。采用DMA方式訪問外部存儲器的最大優勢是CPU配置完DMA狀態機后可繼續執行其他指令操作。DMA狀態機通過請求PCIe 總線中斷完成數據傳輸。

    本設計中DMA寫傳輸的數據包格式是存儲器寫請求TLP,DMA讀傳輸的數據包格式是存儲器讀請求TLP與存儲器讀完成TLP[7]。

    下面以DMA寫為例說明DMA的設計。PCIe的DMA寫數據傳輸方式主要是將TLP包頭中的各個字段進行正確填充,并將數據按照64 bit并行放在TLP的包頭,然后傳輸給PCIe IP硬核,最后硬核以PCIe總線協議串行傳輸給PC。DMA寫數據傳輸的狀態機轉換圖如圖5所示。

jsj2-t5.gif

    DMA在進行數據傳輸時,傳輸一次TLP包的最大載荷為128 B,圖5中當M=128時,表明包的一次傳輸結束。此時判斷當前傳輸的字節數與DMA所要傳輸的字節數是否相等,如果不相等則繼續傳輸,直至所有數據傳輸完畢,DMA傳輸結束。

3.2 高速緩存SDRAM控制模塊設計

    高速緩存SDRAM控制模塊主要實現SDRAM控制器的功能,進而實現對系統中的高速數據進行緩存的功能。SDRAM控制器直接控制SDRAM存儲器進行數據的讀取。為了提高整個測試系統的可靠性和高速性,本文使用的SDRAM控制器采用猝發式數據讀寫模式,可以高速實時地向SDRAM讀寫數據。

    由于PCIe IP核傳輸的數據是64 bit,而測試系統中SDRAM存儲器對數據位寬要求是32 bit,因此要完成對數據位寬的匹配。在進行數據位寬匹配時,一定要兼顧到PCIe數據傳輸的時序邏輯。本文采用異步FIFO來實現數據位寬的匹配。由于數據傳輸時采用DMA的方式,所以在進行DMA讀寫操作時都需要異步FIFO來完成數據匹配功能。圖6為在進行DMA寫操作時PCIe和SDRAM存儲器進行數據位寬匹配的狀態機,圖7為在進行DMA讀操作時PCIe和SDRAM存儲器進行數據位寬匹配的狀態機。

jsj2-t6.gif

jsj2-t7.gif

4 結果與驗證

    本文設置使用PCIe的x1通道,經過測試軟件多次測試,從PC經過PCIe總線存儲到SDRAM存儲器的數據正確,滿足PCIe總線傳輸數據的時序要求,同時滿足SDRAM存儲器的數據讀寫時序要求。DMA數據傳輸操作正確,且速度可穩定達到200 MB/s以上,滿足UM-BUS總線對測試系統數據傳輸速率的要求。

    經過多次測試,發現傳輸速率與傳輸數據包的大?。╯ize)以及包的個數(tlp)有關。設定數據包的大小為32個雙字,當數據包的大小和包的個數越多時,數據的傳輸速率呈現下降趨勢。圖8為DMA寫操作傳輸數據包的大?。╯ize)為固定值32個雙字的傳輸速率圖。

jsj2-t8.gif

5 結束語

    本文實現的基于PCIe總線DMA方式的數據傳輸系統可以完成上位機與SDRAM存儲器通過PCIe總線以DMA的方式進行數據傳輸的功能。

    本文的設計方法釆用內嵌在FPGA的PCIe IP核,降低了硬件設計復雜度。實際工程應用表明該PCIe接口達到了較高的數據傳輸速率,滿足UM-BUS總線測試系統對高速數據傳輸的需求。

參考文獻

[1] 王嘉佳.動態可重構總線控制器的設計與實現[D].北京:首都師范大學,2012.

[2] 鄧哲,張偉功,朱曉燕,等.動態可重構總線數據傳輸管理方法設計與實現[J].計算機工程,2013,39(1):264-269.

[3] 陜天龍,周繼芹,王春亮,等.USB在動態可重構總線測試系統中的設計[J].計算機工程與設計,2015,36(2):514-519.

[4] Xilinx DS551.LogiCORE IP Endpoint Block Plus v1.15 for PCI Express[Z].2011.

[5] Xilinx.LogiCORE1M IP Endpoint Block Plus vl.14 for PCI Express user guide[Z].USA:Xilinx,2010.

[6] 牛少平,田澤,廖寅龍.PCI Express專用DMA控制器設計與實現[J].計算機技術與發展,2012,22(7):174-176.

[7] 王齊.PCI Express體系結構導讀[M].北京:機械工業出版社,2010.

此內容為AET網站原創,未經授權禁止轉載。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          欧美成人69| 国产精品久久久久久久久免费桃花| 欧美电影在线观看完整版| 久久免费国产精品| 韩国视频理论视频久久| 一区二区三区在线观看欧美| 欧美日韩一区二区欧美激情| 蜜桃av综合| 国产精品久久久久一区二区三区共| 久久欧美肥婆一二区| 久久一二三四| 嫩草国产精品入口| 欧美性事免费在线观看| 99精品99久久久久久宅男| 精品69视频一区二区三区| 亚洲国产女人aaa毛片在线| 另类图片国产| 国产精品日日摸夜夜摸av| 伊大人香蕉综合8在线视| 日韩亚洲欧美综合| 欧美人与禽猛交乱配| 亚洲国产天堂久久国产91| 影视先锋久久| 久久精品视频免费观看| 久久精品国产精品亚洲| 国产情侣一区| 国产亚洲精品久久久久动| 欧美在线观看视频一区二区三区| 在线看视频不卡| 亚洲男同1069视频| 免费成人黄色av| 在线观看成人小视频| 国产精品久久999| 亚洲欧美大片| 久久综合电影| 蜜桃av一区二区在线观看| 国产精品女人久久久久久| 国产噜噜噜噜噜久久久久久久久| 在线观看中文字幕亚洲| 亚洲狼人精品一区二区三区| 免费日韩一区二区| 国产亚洲一二三区| 中日韩在线视频| 久久超碰97中文字幕| 毛片av中文字幕一区二区| 欧美xart系列在线观看| 亚洲午夜电影网| 老司机精品视频一区二区三区| 欧美色欧美亚洲另类二区| 欧美中在线观看| 欧美精品久久久久久久久久| 欧美在线国产精品| 亚洲国产精品久久久久婷婷老年| 黄色成人在线网址| 国产区精品在线观看| 国产日产精品一区二区三区四区的观看方式| 亚洲欧美国产精品va在线观看| 国产在线不卡视频| 国产精品日韩一区二区三区| 国产亚洲一区二区精品| 麻豆精品精品国产自在97香蕉| 一区二区三区成人| 久久久五月天| 黄网动漫久久久| 亚洲精品一区二区三区av| 亚洲欧美日韩一区二区在线| 亚洲影视九九影院在线观看| 欧美午夜免费影院| 亚洲综合日韩在线| 久久午夜精品一区二区| 亚洲一区在线直播| 欧美日本视频在线| 国产精品久在线观看| 99香蕉国产精品偷在线观看| 亚洲精品自在在线观看| 国产欧美视频一区二区| 日韩亚洲一区二区| 在线播放豆国产99亚洲| 欧美成人伊人久久综合网| 午夜亚洲福利| 欧美色中文字幕| 午夜欧美不卡精品aaaaa| 免费成年人欧美视频| 亚洲精品一区在线| 欧美在线观看视频一区二区三区| 国产午夜亚洲精品羞羞网站| 亚洲欧美激情诱惑| 欧美午夜宅男影院在线观看| 国产精品视频免费观看www| 国产精品盗摄久久久| 国产视频精品xxxx| 红杏aⅴ成人免费视频| 免费观看成人鲁鲁鲁鲁鲁视频| 暖暖成人免费视频| 91久久黄色| 欧美美女bbbb| 在线国产精品一区| 最新日韩在线视频| 欧美精品亚洲一区二区在线播放| 国产精品久久久久久久一区探花| 久久精品国产99国产精品| 亚洲一区二区精品| 久热爱精品视频线路一| 99re成人精品视频| 国产精品美女www爽爽爽视频| 国产精品卡一卡二卡三| 99亚洲一区二区| 亚洲午夜电影在线观看| 亚洲欧美日韩系列| 亚洲精品日韩在线观看| 精品99一区二区三区| 中文日韩在线视频| 一级成人国产| 亚洲天堂av在线免费| 亚洲欧美日韩国产中文在线| 欧美性事免费在线观看| 日韩亚洲一区二区| 国产精自产拍久久久久久蜜| 国际精品欧美精品| 国产精品国产三级欧美二区| 久久嫩草精品久久久久| 国产深夜精品| 夜夜嗨av一区二区三区免费区| 日韩天堂在线视频| 亚洲精品人人| 亚洲精品国精品久久99热| 一区二区三区高清在线| 久久夜色精品一区| 欧美午夜电影一区| 国产日韩欧美在线播放| 久久国产欧美| 亚洲国产一区二区三区青草影视| 久久这里有精品15一区二区三区| 激情久久中文字幕| 亚洲午夜视频在线观看| 乱中年女人伦av一区二区| 久久国产手机看片| 国产日韩久久| 欧美视频一区在线| 国产精品女主播在线观看| 亚洲美女性视频| 久久久久久久网| 国产一级精品aaaaa看| 国产永久精品大片wwwapp| 国产精品久久久久久久久免费| 在线亚洲免费视频| 欲色影视综合吧| 亚洲三级免费观看| 国产裸体写真av一区二区| 美女999久久久精品视频| 女人香蕉久久**毛片精品| 精品电影在线观看| 国产精品久久二区二区| 欧美三级视频在线观看| 欧美伦理影院| 一区二区三区视频观看| 亚洲国产成人午夜在线一区| 亚洲欧美日韩在线高清直播| 午夜精品久久久久久久99樱桃| 亚洲成人在线视频播放| 羞羞视频在线观看欧美| 国产真实久久| 99热免费精品在线观看| 欧美日韩一区在线| 国产精品久久久久久久久搜平片| 欧美亚洲在线视频| 欧美韩日亚洲| 免费成人在线观看视频| 欧美亚洲动漫精品| 性色av一区二区怡红| 久久精品视频网| 一区二区激情小说| 久久成人精品一区二区三区| 国产日韩精品一区| 国产一区二区三区四区在线观看| 国产亚洲aⅴaaaaaa毛片| 国产精品videossex久久发布| 性欧美video另类hd性玩具| 国内揄拍国内精品久久| 一区二区三区国产精品| 国产精品久久久久久久7电影| 亚洲精品欧美激情| 午夜欧美视频| 欧美日韩一区二区精品| 亚洲美女在线看| 麻豆国产va免费精品高清在线| 欧美一级久久久| 欧美高潮视频| 亚洲一区成人| 国产日韩精品视频一区| 免费观看成人鲁鲁鲁鲁鲁视频| 欧美日韩久久| 亚洲国产日韩欧美在线图片| 欧美日韩国产精品一区二区亚洲| 国产九区一区在线| 亚洲国产专区校园欧美| 羞羞答答国产精品www一本| 国产亚洲欧美一区在线观看| 国产日韩精品在线播放| 一本久道久久综合狠狠爱| 久久亚洲美女| 国产精品日韩一区| 中文日韩在线| 欧美精品一区二区三区蜜臀| 亚洲欧美网站| 国产午夜精品一区二区三区欧美| 国产自产在线视频一区| 国产一区二区成人久久免费影院| 国产精品美腿一区在线看| 国产精品一卡| 国产精品xxxxx| 国产一区香蕉久久| 欧美视频中文在线看| 在线观看视频免费一区二区三区| 美女免费视频一区| 国产精品成av人在线视午夜片| 欧美三级韩国三级日本三斤| 在线日韩欧美视频| 国产视频一区在线观看| 亚洲一区欧美二区| 国产精品自在在线| 国产午夜精品美女视频明星a级| 久久九九热re6这里有精品| 国产专区综合网| 欧美一级二区| 国产日韩欧美精品综合| 亚洲品质自拍| 欧美精品97| 欧美午夜电影完整版| 男人的天堂亚洲| 一本综合久久| 欧美一区三区二区在线观看| 老司机久久99久久精品播放免费| 午夜精品亚洲| 亚洲成色777777女色窝| 一区二区日韩精品| 亚洲三级色网| 国产欧美一区二区三区国产幕精品| 国产情侣一区| 久久一区二区三区国产精品| 嫩模写真一区二区三区三州| 亚洲欧美日韩一区二区三区在线观看| 性欧美办公室18xxxxhd| 午夜欧美电影在线观看| 亚洲视频欧美视频| 国内精品嫩模av私拍在线观看| 国产精品女主播一区二区三区| 久久精品二区三区| 欧美.日韩.国产.一区.二区| 国产乱子伦一区二区三区国色天香| 亚洲综合欧美日韩| 国产一区二区三区黄视频| 久久国产主播| 亚洲国产天堂久久综合| 性色av一区二区三区红粉影视| 亚洲另类自拍| 日韩午夜三级在线| 老司机久久99久久精品播放免费| 亚洲午夜激情在线| 欧美精品在线看| 久久综合久久美利坚合众国| 国产精品久久久久久久久久免费| 国产精品一区免费观看| 夜夜爽夜夜爽精品视频| 国产精品久久久久久久久久久久久| 欧美区在线播放| 国产亚洲欧美一级| 国产乱子伦一区二区三区国色天香| 国产一区二区精品丝袜| 欧美在线看片a免费观看| 国产专区精品视频| 亚洲国产日韩在线| 亚洲第一级黄色片| 亚洲人成人一区二区在线观看| 亚洲影院高清在线| 欧美日韩国产一区二区| 久久久久久久久蜜桃| 亚洲欧美日韩第一区| 欧美性理论片在线观看片免费| 欧美一区二区视频在线观看| 欧美日韩免费在线| 国产精品天天看| 国产精品一卡| 一区二区日韩| 99在线观看免费视频精品观看| 欧美丰满高潮xxxx喷水动漫| 在线成人免费观看| 亚洲欧洲综合另类| 亚洲人成在线观看| 在线综合亚洲| 性色av一区二区三区在线观看| 国产精品久久国产三级国电话系列| 国产精品理论片在线观看| 亚洲裸体俱乐部裸体舞表演av| 国产综合视频| 欧美激情无毛| 欧美精品久久久久久久久老牛影院| 精品69视频一区二区三区| 亚洲欧美日韩国产成人精品影院| 在线播放一区| 久久久久久9| 欧美日本三级| 亚洲人成网站精品片在线观看| 这里只有视频精品| 亚洲精品在线视频| 在线电影院国产精品| 国产欧美日韩亚洲精品| 国产日韩1区| 国产日韩欧美精品一区| 久久久久久久一区二区三区| 亚洲综合欧美日韩| 一区二区三区日韩欧美| 久久激情中文| 欧美激情精品久久久久久大尺度| 欧美高清在线精品一区| 亚洲国产精品一区二区第一页| 激情欧美一区二区三区| 亚洲视频福利| 国产欧美日韩一区二区三区在线| 亚洲国产精品久久久久婷婷老年| 欧美久久久久久久久| 一本色道久久综合亚洲精品不卡| 在线看片日韩| 国产精品亚洲欧美| 欧美色中文字幕| 野花国产精品入口| 久久精品日韩欧美| 亚洲毛片播放|