999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

一種基于PCIE總線的改進分散集聚DMA的設計

2018-01-15 19:48:04陳沛偉邢同鶴董勇偉梁興東
雷達科學與技術 2017年5期
關鍵詞:系統

陳沛偉,邢同鶴,董勇偉,梁興東

(1.中國科學院電子學研究所,北京100190;2.微波成像技術國家重點實驗室,北京100190;3.中國科學院大學,北京100049)

0 引言

雷達技術的飛速發展使得雷達數據采集系統的數據采集速率越來越高,雷達數據記錄回放系統需要更高的傳輸速率[1-2]。PCIE總線作為新一代的傳輸總線,具有很高的傳輸速率,基于PCIE總線的直接內存存儲(DMA)在數據傳輸中可以減少CPU的干預,減輕CPU的負擔,大幅提高系統的性能[3-6],目前主要采用基于PCIE總線的DMA來實現雷達數據記錄回放系統的高速數據傳輸。基于PCIE總線的DMA主要分為BLOCK DMA和分散集聚DMA兩種方式,其中分散集聚DMA由于可以通過描述符鏈表將分散的內存集聚起來,可申請的內存更大,經過一次DMA啟動,便能完成FPGA與各個物理分散內存之間的數據傳輸,能夠減輕CPU的負擔,優勢更為明顯[7-9]。

目前分散集聚DMA中描述符鏈表的傳輸與更新需要DMA控制器與驅動頻繁的握手,每一個描述符對應內存完成數據傳輸以后,DMA控制器都需要向驅動更新此描述符并獲取新的描述符[10],浪費了很多時間。本文提出了一種改進分散集聚DMA的實現方式,一次性將描述符鏈表全部傳輸給DMA控制器,之后便不需要與驅動握手更新描述符以及獲取新的描述符,節省了因描述符切換需要的握手時間,提高了數據傳輸速度。而且,DMA控制器設計了多個數據通道,可以在實際應用中根據需要實現雷達數據的流水傳輸與處理。

1 現有分散集聚DMA原理

因為分散集聚DMA申請的內存是物理不連續的,所以上位機在申請一定大小的內存時,會生成描述符鏈表,描述符鏈表中的每一個描述符都指向了一小塊物理連續的內存,描述符中定義了控制狀態信息和內存信息。其中,描述符最后32 bit是一個指向下一個描述符的指針,這個指針將各個描述符連接成描述符鏈表,由此就可以映射到整個物理不連續的內存[11]。

在傳統分散集聚DMA的傳輸過程中,如圖1所示,首先DMA控制器從驅動讀取描述符鏈表中的一個描述符并存到描述符引擎中,DMA控制器根據描述符引擎中的信息完成對應內存的數據傳輸后,描述符更新引擎將此描述符的更新信息傳到描述符鏈表中,然后描述符引擎通過指向下一個描述符的指針向驅動獲取下一個描述符的信息,由此進行下一個描述符對應內存的數據傳輸。此方式在傳輸完成一個描述符對應內存的數據后,需要等待描述符更新引擎更新描述符信息和描述符引擎讀取下一個描述符的信息,降低了數據傳輸的持續性。

圖1 現有分散集聚DMA示意圖

2 改進分散集聚DMA設計

2.1 DMA控制器設計

針對驅動與DMA控制器頻繁握手的不足,本設計在上位機驅動中對描述符鏈表作了提取處理,由于描述符(32 B)中的保留位以及狀態位等在DMA控制器中是無用信息,因此本設計直接選取了有用的上位機內存地址位(8 B)和數據長度位(4 B)發送至DMA控制器,描述符其他數據不再發送。當DMA控制器初始化以后,驅動直接將所有描述符的系統地址位和數據長度位發送至描述符引擎,如圖2所示,此后,描述符引擎便不需要與驅動握手。

圖2 改進后分散集聚DMA示意圖

由于改進后分散集聚DMA是應用在雷達數據記錄回放系統中,雷達數據量非常大,遠大于一個描述符對應的內存(通常4 KB),不會出現實際傳輸數據小于描述符內存的情況,因此不需要更新描述符中實際傳輸數據大小。現有描述符更新引擎的一個重要作用是當一個描述符對應內存完成數據傳輸以后,通知驅動此內存可進行數據讀取或寫入,可是在分散集聚DMA實際傳輸過程中都是所有描述符對應內存完成數據傳輸以后,上位機才會對內存進行數據讀取或寫入工作,不會對單個描述符內存進行操作,而且若數據傳輸中出現錯誤,由DMA控制器直接向驅動發送錯誤中斷,因此本次設計中取消了描述符更新引擎,不會增加數據傳輸的錯誤率,而且節省了每次更新描述符DMA控制器與驅動的握手時間。

改進后的DMA控制器在進行DMA數據傳輸的工作過程如圖3所示。

1)驅動初始化DMA控制器,配置DMA寄存器;

2)驅動將描述符鏈表中每個描述符的數據傳輸長度和上位機內存地址提取出來,發送至DMA控制器并存入描述符引擎中;

3)啟動DMA操作,DMA控制器根據第一個描述符中的內存起始地址和數據長度信息控制數據通道與上位機內存進行DMA數據傳輸;

4)當數據通道與第一個描述符對應內存完成數據傳輸時,直接通過描述符引擎連接到下一個描述符所對應的內存地址,而不需要通過描述符指針去獲取下一個描述符,當所有的描述符對應的內存完成數據傳輸操作以后,DMA引擎停止工作,DMA控制器發出中斷請求信號,結束此次DMA的傳輸。

圖3 DMA數據傳輸工作過程

其中,描述符的切換是通過實時數據傳輸長度與描述符引擎中存儲的描述符內存數據的長度進行比較判斷的,當兩者相同時,連接到下一個描述符繼續進行DMA傳輸。

當然,驅動與DMA控制器是相對應的,驅動通過對DMA控制器的讀寫操作完成DMA初始化,初始化完成以后,驅動提取出各個描述符中內存起始地址和數據長度信息發送給DMA控制器,然后啟動DMA開始進行DMA數據傳輸,當接收到DMA控制器發送的中斷以后,清除中斷并結束DMA操作[12-13]。

在此設計中,一次性將描述符鏈表中各個描述符中的內存起始地址和數據長度信息傳輸至描述符引擎,并通過已傳輸數據長度判斷是否切換描述符鏈表中的地址,減少了DMA控制器與驅動的握手次數,能夠使DMA控制器連續不斷地傳輸數據,保持了數據傳輸的持續性,節省了每次描述符對應內存傳輸完成后更新、切換描述符的等待時間,提高了數據傳輸速度。

2.2 多通道設計

針對雷達數據記錄回放系統多任務數據傳輸的需求,DMA控制器至多可提供8個數據通道,每個通道都有獨立的寄存器組,包括控制狀態寄存器、地址寄存器、傳輸長度寄存器等[14-15]。

現有雷達信號處理系統在處理雷達數據時均有一定的時延,雷達數據通過DMA控制器發送至某一雷達信號處理系統后,雷達信號處理系統需要一定的時間處理雷達數據,因此會浪費DMA傳輸帶寬。對此,可以通過數據通道連接多個雷達信號處理系統,雷達數據依次通過各個通道傳輸到不同的處理系統中,能夠實現雷達數據的流水處理。

例如,當8個雷達信號處理系統通過8個數據通道連接DMA控制器時,如圖4所示,第一幅雷達圖像原始數據可以通過通道0傳輸至雷達信號處理系統0,第二幅圖像數據切換至通道1傳輸至處理系統1,以此類推,可以實現雷達數據在8個處理系統中流水處理,雷達數據處理速度提高了8倍。

圖4 多通道傳輸

在實際應用中,可以根據雷達圖像數據大小和數據傳輸速率適當選擇信號處理系統的數量,不需要浪費信號處理系統處理數據的時間,從而充分利用DMA傳輸帶寬,可以實現雷達數據的高速傳輸,提高雷達數據處理速度。在本文DMA設計中,將數據通道的選擇權直接通過接口交給用戶程序,用戶可在上位機直接決定選擇某個通道進行數據傳輸,也可隨時切換通道。

3 改進分散集聚DMA數據傳輸性能分析

由于分散集聚DMA在數據傳輸過程中,DMA初始化、中斷處理、寄存器讀寫等需要驅動與DMA控制器握手的時間受硬件、驅動等客觀因素影響,甚至相同條件下連續兩次測試花費的時間也是不一樣的,因此不存在一個精確的傳輸速度。本節僅從傳輸數據包中有效數據的比例分析傳輸速度。

基于PCIE總線的分散集聚DMA傳輸速度理論分析基于以下假設:

1)每一個描述符對應4 KB內存;

2)每個TLP包最大有效載荷128 B;

3)最大讀請求128 B;

4)TLP包頭3個雙字12 B;

5)一個應答信號開銷8 B;

6)暫時不考慮DMA初始化、中斷處理等其他影響因素。

基于上述假設,現有分散集聚DMA寫一個描述符對應內存的數據需要傳輸非有效數據的損耗如表1所示。

表1 現有DMA寫一個描述符進行DMA數據傳輸損耗

由表1可知,現有分散集聚DMA數據上行(DMA寫)過程中,每傳輸一個描述符內存數據(4 096 B),讀取描述符、接收完成包、更新描述符以及各自應答信號損耗的字節數為12+8+12+32+8+12+12+8=104,傳輸4 096 B有效數據,需要傳輸的TLP包個數為4 096/128=32,每傳輸一個TLP包的字節損耗是12+8=20,傳輸4 096 B有效數據損耗共計

104+32×20=744 B

所以,現有分散集聚DMA數據上行損耗為

744/(4 096+744)=15.37%

我們知道,PCIE Gen2×4鏈路理論傳輸速度為2 GB/s,現有DMA有效數據上行傳輸速度極限為

2×(1-15.37%)=1.69 GB/s

改進分散集聚DMA寫一個描述符對應內存數據需要傳輸非有效數據的損耗如表2所示。

表2 改進DMA寫一個描述符對應內存數據傳輸損耗

由表2可知,分散集聚DMA數據上行過程中,對于每一個描述符中內存地址以及數據長度的發送,需要損耗的字節數為8+4+3×8=36,每傳輸一個描述符內存數據(4 096 B),需要傳輸的TLP包個數為4 096/128=32,每傳輸一個TLP包的字節損耗是12+8=20,傳輸4 096 B有效數據損耗共計

32×20+36=676 B

所以,分散集聚DMA數據上行的損耗為

676/(4 096+676)=14.17%

改進DMA有效數據上行傳輸速度極限為

2×(1-14.17%)=1.72 GB/s

所以,改進DMA有效數據上行極限傳輸速度較現有分散集聚DMA提升為

(1.72-1.69)/1.69=1.78%

同樣的方法可以計算出數據下行(DMA讀)的有效數據極限傳輸速度提升為

(1.52-1.50)/1.50=1.33%

由計算可知,從傳輸數據包中有效數據比例的角度分析,改進后的分散集聚DMA數據上行、下行的有效數據極限傳輸速度均有提升。

4 性能測試

分散集聚DMA性能測試的結構設計如圖5所示,主要分為上位機和FPGA兩個模塊。上位機的用戶程序通過基于WDF的驅動實現內存與FPGA之間的數據傳輸,并能夠計算出數據傳輸速率;FPGA中的DMA控制器通過Xilinx封裝的IP硬核實現與上位機之間控制信號以及數據的傳輸,DMA控制器還可以根據上位機的設定實現通道選擇。

圖5 性能測試結構

實際的測試過程是在上位機申請兩塊相同大小的內存A,B,在用戶程序中先將內存A寫入數據,啟動DMA讀操作,將數據寫入通道0,完成DMA讀操作后,啟動DMA寫操作,將數據寫入內存B中,然后比較內存A,B中的數據,若兩者數據一致,表示DMA讀寫操作成功。性能測試如圖6所示。

圖6 性能測試

由于各個通道間寄存器完全一致,性能一樣,本次測試選擇通道0,DMA數據傳輸測試結果如表3所示。

表3 測試結果

改進后的分散集聚DMA有效數據極限傳輸速度已經在第3節詳細描述,由表3可知,DMA讀(數據下行)速度最高可達到1 400 MB/s,達到理論極限帶寬的92.11%,DMA寫(數據上行)速度最高可達到1 500 MB/s,達到理論極限帶寬的87.21%。

由于實際數據傳輸過程中,DMA控制器初始化、PCIE鏈路與CPU之間的傳輸延遲以及中斷處理等客觀原因,使得實際測試的速度不能達到理論極限速度,但本次測試的實際傳輸速度已很接近理論極限帶寬。

在此基礎上,本文實現了雷達數據記錄回放系統的設計,如圖7所示。以PCIE總線實現上位機與FPGA的數據傳輸,以光纖RapidIO接口實現FPGA與數據記錄系統或信號處理系統的數據傳輸,以DDR3實現數據在板卡上的緩存。最終雷達數據傳輸能夠達到光纖RapidIO接口的極限速度1 GB/s。

圖7 雷達數據記錄回放系統

5 結束語

基于PCIE總線的多通道分散集聚DMA作為一種高速的數據傳輸方式,在雷達數據記錄回放系統中得到了廣泛的應用。文中對現有分散集聚DMA提出了改進的方法,DMA讀寫極限傳輸速度較現有DMA均有提升,經過實際測試,單通道DMA寫速度最高能達到1 500 MB/s,DMA讀速度最高能達到1 400 MB/s。改進后的分散集聚DMA至多支持8個數據通道進行數據傳輸,可在實際應用中配合雷達信號處理系統實現雷達數據的流水傳輸與處理,能夠滿足雷達數據記錄回放系統對數據傳輸的要求。

[1]徐國平.雷達視頻回波信號記錄與回放系統設計[J].電子設計工程,2015,23(9):135-137,141.

[2]孫高俊,劉志英.基于FPGA的雷達IQ光纖數據采集及傳輸系統[J].電子科技,2016,29(4):169-172.

[3]ROTA L,CASELLE M,CHILINGARYAN S,et al.A PCIe DMA Architecture for Multi-Gigabyte Per Second Data Transmission[J].IEEE Trans on Nuclear Science,2016,62(3):972-976.

[4]KAVIANIPOUR H,MUSCHTER S,BOHM C.High Performance FPGA-Based DMA Interface for PCIe[J].IEEE Trans on Nuclear Science,2014,61(2):745-749.

[5]張輝.DMA技術在煤礦高速數據采集系統中的應用[J].工礦自動化,2016,42(4):74-77.

[6]KIM D,MANAGULI R,KIM Y.Data Cache and Direct Memory Access in Programming Mediaprocessors[J].IEEE Micro,2001,21(4):33-42.

[7]李軍偉,戴紫彬,南龍梅.密碼SoC中嵌入式鏈式DMA的研究與設計[J].電子技術應用,2014,40(1):56-59.

[8]劉林海,張勇,常迎輝.光纖通道SOPC系統性能優化設計技術研究[J].無線電通信技術,2015,41(3):43-45.

[9]ZDENEK J.Distributed Control Computer Backbone Communication Channel of Electric Locomotive with Effective DMA Support[C]∥14th International Power Electronics and Motion Control Conference,Ohrid,Macedonia:IEEE,2010:27-34.

[10]王府北,王佳華,吳瓊水.基于PCIe總線的顯微鏡圖像采集系統設計[J].電子技術應用,2015,41(2):42-44.

[11]XILINX INC.Bus Master DMA Performance Demonstration Reference Design for the Xilinx Endpoint PCI Express Solutions[EB/OL].[2016-11-06].https:∥china.xilinx.com/support/documentation/application_notes/xapp1052.pdf

[12]肖文君,劉萬松,劉伍豐,等.基于WDF的PCIe總線驅動程序設計與實現[J].測控技術,2015,34(7):101-104.

[13]賈玉姣,劉亞斌,張秀磊.基于高速多通道采集模塊的數字化儀軟件設計[J].電子設計工程,2016,24(12):77-80.

[14]SUN G,HE Z.A Real-Time Multi-Channel Signal Acquisition Card Based on PCI Express Interface[C]∥2009 International Conference on Communication Software and Networks,Macau:IEEE,2009:20-24.

[15]LI Y,CHANG T,BAI F,et al.Design of Multi-Channel Image Superimposition System Based on FPGA[C]∥2010 International Conference on Optoelectronics and Image Processing,Haiko:IEEE,2010:417-420.

猜你喜歡
系統
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
基于PowerPC+FPGA顯示系統
基于UG的發射箱自動化虛擬裝配系統開發
半沸制皂系統(下)
FAO系統特有功能分析及互聯互通探討
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
一德系統 德行天下
PLC在多段調速系統中的應用
主站蜘蛛池模板: 国产福利观看| 尤物视频一区| 国产又粗又猛又爽视频| 亚洲swag精品自拍一区| 男女猛烈无遮挡午夜视频| 毛片三级在线观看| 亚洲乱码在线播放| 成人午夜免费视频| 午夜免费视频网站| 99精品免费在线| 99re在线视频观看| 中文字幕无码制服中字| 超清无码一区二区三区| 香蕉蕉亚亚洲aav综合| 免费日韩在线视频| 日韩av资源在线| 国产精品久线在线观看| 亚洲91精品视频| 亚洲国产在一区二区三区| 亚洲天堂2014| 成人毛片在线播放| 九九热视频在线免费观看| 找国产毛片看| 久久香蕉国产线看观看亚洲片| 在线国产你懂的| 欧美区国产区| 欧美精品亚洲日韩a| 日韩毛片基地| 国产成人欧美| 成人午夜视频网站| 福利片91| 日韩视频精品在线| 日韩精品无码免费专网站| 亚洲啪啪网| 激情六月丁香婷婷| 99在线观看国产| 免费欧美一级| 久久精品国产电影| 亚洲成人在线网| 国产亚洲现在一区二区中文| 国产制服丝袜91在线| 亚洲无码37.| 最新国产高清在线| 亚洲天堂精品视频| 日韩视频福利| 美女扒开下面流白浆在线试听| 国产亚洲高清在线精品99| 国产91在线|中文| 国产成人精品视频一区视频二区| 亚洲区第一页| 91成人试看福利体验区| 国产精品第| 欧美区国产区| 91探花在线观看国产最新| 青青青草国产| 国产91熟女高潮一区二区| 国产在线观看99| 午夜国产理论| 在线国产综合一区二区三区| 成人免费黄色小视频| 国产亚洲精久久久久久久91| 久久久受www免费人成| 丁香婷婷综合激情| 777午夜精品电影免费看| 精品欧美一区二区三区在线| 国产嫖妓91东北老熟女久久一| 国产人成网线在线播放va| 天天躁狠狠躁| 在线日韩日本国产亚洲| 免费观看国产小粉嫩喷水| 国产精品午夜福利麻豆| 青青草国产一区二区三区| 国产日韩精品欧美一区灰| 99久久性生片| 无码免费试看| 动漫精品啪啪一区二区三区| 一级在线毛片| 国产欧美网站| 在线永久免费观看的毛片| 在线观看免费人成视频色快速| 欧美精品啪啪| 国产91丝袜在线播放动漫 |