<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è) > 嵌入式系統 > 設計應用 > 基于PCIe總線(xiàn)的多路復用DMA高速傳輸系統的設計

基于PCIe總線(xiàn)的多路復用DMA高速傳輸系統的設計

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

摘要:文章針對雙處理器設備問(wèn)的數據通信提出了基于PCIe的高速傳輸系統的設計方法。該方法應用于視頻轉碼設備,實(shí)驗結果表明當轉碼設備作為外設與PC主機進(jìn)行通信時(shí),采用多路虛擬DMA方法的數據傳輸總帶寬可以穩定的達到1100MB/s,為實(shí)現多路實(shí)時(shí)轉碼提供了前提保證。文中還重點(diǎn)介紹了虛擬DMA通道的實(shí)現、雙系統問(wèn)通信模型的設計及傳輸系統性能優(yōu)化分析。

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

關(guān)鍵詞:PCIe總線(xiàn)

0 引言

兩個(gè)處理器系統的數據通信方式可以采用網(wǎng)絡(luò )通信方式或者總線(xiàn)連接通信方式等。網(wǎng)絡(luò )通信的帶寬約為1Gbps~4Gbps即 128MB/s~512MB/s,在不同的工作條件下,網(wǎng)絡(luò )帶寬不同,網(wǎng)絡(luò )信號存在不穩定性,這使得系統問(wèn)建立的通信系統存在影響傳輸速率的不可控因素。 PCI Express作為目前使用最流行的總線(xiàn),廣泛用于主機與外部設備間通信,16bit總線(xiàn)寬度的PCI Express2.0速率達到16GB/s(雙工),遠遠超過(guò)了網(wǎng)絡(luò )通信速率且不需要配置網(wǎng)絡(luò )環(huán)境。

本文設計的傳輸系統應至少提供8路傳輸通道供轉碼設備與主機進(jìn)行通信,然而在以PCIe接口芯片設計傳輸系統時(shí),芯片中有限的DMA通道(一般為4路)難以滿(mǎn)足轉碼設備多路實(shí)時(shí)轉碼的傳輸要求。因此,如何實(shí)現多路虛擬DMA通道、傳輸速率滿(mǎn)足要求且保證各通道傳輸速率均衡是軟件設計的重點(diǎn)。在此之上,文中將進(jìn)一步探討如何降低傳輸系統對處理器系統CPU資源的占用率。

1 系統模型設計及系統通信機制

1.1 系統模型設計

數據傳輸系統軟件模型可分為3個(gè)層次,包括設備驅動(dòng)層、系統應用層和用戶(hù)接口層。系統結構如圖1所示。

a.jpg

薛巨峰,副教授/碩士,主研領(lǐng)域:自動(dòng)化控制技術(shù)和加工工程自動(dòng)化技術(shù)。黃愛(ài)娟,碩士生,研究方向:計算機應用技術(shù)。

由圖1可知傳輸系統由設備驅動(dòng)模塊、DMA管理模塊、系統通信模塊、客戶(hù)端通信模塊和客戶(hù)端API組成。

設備驅動(dòng)程序用于在處理器系統中識別PCIe接口芯片設備;DMA管理模塊(只在主機端存在)用于管理和分配處理器系統需要進(jìn)行數據傳輸時(shí)對DMA通道的使用請求并完成數據傳輸功能;系統通信模塊用于處理器系統間的消息傳遞;客戶(hù)端通信模塊負責響應客戶(hù)端與傳輸系統的鏈接請求和數據傳輸請求;客戶(hù)端 API(Client Register)是提供給用戶(hù)進(jìn)行鏈接和傳輸請求的函數接口。

1.2 系統通信機制

在主從機端分別運行傳輸系統應用程序(Plx_Server)完成傳輸系統的建立,Plx_Server等待客戶(hù)端調用Client Register進(jìn)行鏈接請求。當主從機端的Plx_Server都有可配對的客戶(hù)端鏈接請求,則為可配對客戶(hù)端建立1路虛擬通道??蛻?hù)端使用Plx_Server為其分配的傳輸句柄(Client Socket)即可實(shí)現數據收發(fā)和斷開(kāi)傳輸鏈接。

2 系統硬件設計

開(kāi)發(fā)PCIe接口可以采用FPGA設計PCIe接口,但由于PCIe總線(xiàn)規范較復雜,這種開(kāi)發(fā)方法難度很大;而采用專(zhuān)用PCIe接口芯片,可以免除繁瑣的時(shí)序分析,縮短開(kāi)發(fā)周期,降低開(kāi)發(fā)成本。本系統選擇后者,PCIe接口芯片選擇為PLX公司開(kāi)發(fā)的PEX8619接口芯片。

PCIe橋連接方式有2種:透明橋(Transparent Bridge)和(Non-Transparent Bridge)??傁到y中存在兩個(gè)獨立的處理器,此時(shí)使用透明橋方式不利于整個(gè)系統的配置與管理,可能出現PCIe總線(xiàn)地址的映射沖突,此外不能使用PCIe透明橋連接兩個(gè)PCIe Agent設備,如x86處理器。采用非透明橋可有效的解決這些問(wèn)題,提高PCIe傳輸系統的可移植性。非透明橋不是PCIe總線(xiàn)定義的標準橋片,但是這類(lèi)橋片在連接兩個(gè)處理器系統中得到了廣泛的應用。

PEX8619支持NT橋功能,芯片在智能配置器模式下的軟件模型如圖2所示。

b.jpg

在圖2中有兩個(gè)用于設備識別的配置空間寄存器(CSR),離內部虛擬PCIe總線(xiàn)較近的稱(chēng)之為虛擬接口(Virtual Interface),離得較遠的稱(chēng)之為鏈路接口(Link Interface)。

在智能配置器模式中,NT橋鏈路端口連接的是從機的地址域,從機系統只管理NT橋鏈路接口Type 0功能(NT設備功能)。NT橋虛擬端口連接的是主機的地址域,主機管理所有NT橋虛擬接口Type 0功能和Type 1功能(DMA引擎功能)??缬騻鬏斒峭ㄟ^(guò)地址轉換機制的路由來(lái)完成的。

3 系統軟件設計

3.1 設備驅動(dòng)程序

主從機端分別安裝PLX公司提供的PLX_SDK_v7_11_Final設備驅動(dòng)程序,從機端識別出NT橋的NT設備,主機端識別出NT橋的NT設備和DMA引擎。

3.2 系統應用程序

PCIe傳輸系統Plx_Server與客戶(hù)端API(Client_Register)是一對多的關(guān)系,傳輸系統最多允許128對客戶(hù)端進(jìn)行鏈接和數據傳輸,傳輸系統的函數關(guān)聯(lián)圖如圖3所示。

c.jpg

3.2.1 系統初始化

系統初始化主要是對PCIe設備進(jìn)行初始化配置 和地址映射等工作。調用系統庫函數PlxPci_Device Find找到NT設備和DMA設備(只在主機端有),并獲得設備描述符。使用PlxPci_PciBarMap函數將NTBar0、DMA Bar0(只在主機端有)和NT Bar2~NT Bar5映射到用戶(hù)虛地址空間。使用PlxPci_PhysicalMap函數申請128個(gè)大小為4MB的物理內存并將其映射到用戶(hù)虛地址空間作為DMA數據緩沖區使用。這些寄存器的作用如表1所示。

d.jpg

3.2.2 DMA管理模塊

使用規定傳輸系統最多允許建立128對傳輸通道,而PEX8619芯片上只有4個(gè)DMA通道。面對128路虛擬傳輸通道和4路DMA物理通道的不匹配,系統中使用分時(shí)復用DMA通道的方法解決這一矛盾。

首先,分時(shí)復用要解決共享內存資源的分配,DMA數據緩沖區大小為128x4MB。為達到資源利用最大化及公平性,每一次虛擬傳輸通道的建立與斷開(kāi)都要為現存的每一路傳輸通道重新計算和分配DMA數據緩沖區。每一路傳輸通道可用于接收或發(fā)送數據的緩沖區大小計算公式為:128×4/channel total×1/2,其中channel_total為總通道數。


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

關(guān)鍵詞: DMA傳輸 非透明橋 虛擬通道

評論


技術(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>