CN107203484A - 一种基于FPGA的PCIe与SRIO总线桥接系统 - Google Patents

一种基于FPGA的PCIe与SRIO总线桥接系统 Download PDF

Info

Publication number
CN107203484A
CN107203484A CN201710498016.3A CN201710498016A CN107203484A CN 107203484 A CN107203484 A CN 107203484A CN 201710498016 A CN201710498016 A CN 201710498016A CN 107203484 A CN107203484 A CN 107203484A
Authority
CN
China
Prior art keywords
srio
pcie
data
axi4
dma
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201710498016.3A
Other languages
English (en)
Other versions
CN107203484B (zh
Inventor
王啸林
张力
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Institute of Computer Technology and Applications
Original Assignee
Beijing Institute of Computer Technology and Applications
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Institute of Computer Technology and Applications filed Critical Beijing Institute of Computer Technology and Applications
Priority to CN201710498016.3A priority Critical patent/CN107203484B/zh
Publication of CN107203484A publication Critical patent/CN107203484A/zh
Application granted granted Critical
Publication of CN107203484B publication Critical patent/CN107203484B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)

Abstract

本发明公开了一种基于FPGA的PCIe与SRIO总线桥接系统,其中,PCIe IP核用于与上游设备数据交互,将上游设备发来的数据包转换为AXI4总线事务,将内部的AXI4总线事务转换为PCIe数据包,发送给上游设备;SRIO IP核,用于与对端SRIO设备通信;SRIO主模式DMA传输控制器模块用于主动发起数据请求;SRIO从模式DMA传输控制器模块用于响应对端设备的数据请求;Microblaze处理器用于执行系统初始化配置以及数据传输的调度工作;数据缓存模块用于PCIe与SRIO总线进行数据交互过程中,对中间过程数据进行暂存。

Description

一种基于FPGA的PCIe与SRIO总线桥接系统
技术领域
本发明涉及一种的PCIe总线与SRIO总线之间的桥接技术,特别设计一种基于现场可编程门阵列FPGA的PCIe与SRIO总线桥接系统。
背景技术
PCIe总线是目前在各类计算机中大规模应用的一种高速串行局部总线。作为连接Cache和主存储器的系统总线的延伸,其主要功能是连接外部设备。作为传统PCI总线的升级,PCIe在兼容PCI总线的同时,大大提升了数据传输速率与效率,更能有效地保证传输的可靠性。SRIO是一种面向嵌入式系统的高速串行互联总线,总线系统架构灵活,不局限于传统PC的树型架构,各处理单元之间能够对等通信。数据传输速度快,带宽利用效率高,系统的拓补结构更灵活。
在现有计算机系统中,可以通过桥接芯片,在其局部总线上挂接SRIO控制器,扩展出SRIO总线接口。现有的SRIO桥接芯片,TI公司的Tsi721PCIe-SRIO桥接芯片,价格昂贵,只能实现PCIe与SRIO的桥接,想扩展PC中其他接口功能还需要使用其他的芯片与板卡,这无疑增加了成本。
FPGA是一种可编程器件,接口极为灵活,通过编程可以在芯片上实现PCIe总线接口及SRIO总线接口与外界通信。相比于专用的协议芯片,其功能可以按照需求进行裁剪或扩展。可以用于实现两种总线之间的桥接功能,在满足性能要求的前提下,能够提高系统集成度,控制成本。
发明内容
本发明的目的在于提供一种基于FPGA实现的PCIe总线与SRIO总线之间的桥接系统,以解决上述现有技术的问题。
本发明一种基于FPGA的PCIe与SRIO总线桥接系统,其中,包括:PCIe总线IP核、SRIO总线IP核、Microblaze处理器模块、SRIO主模式DMA传输控制器模块、SRIO从模式DMA传输控制器模块、数据缓存模块以及BAR空间寄存器;该PCIe IP核用于与上游设备数据交互,将上游设备发来的数据包转换为AXI4总线事务,将内部的AXI4总线事务转换为PCIe数据包,发送给上游设备;SRIO IP核,用于与对端SRIO设备通信;SRIO主模式DMA传输控制器模块用于主动发起数据请求;SRIO从模式DMA传输控制器模块用于响应对端设备的数据请求;Microblaze处理器用于执行系统初始化配置以及数据传输的调度工作;数据缓存模块用于PCIe与SRIO总线进行数据交互过程中,对中间过程数据进行暂存;与对端SRIO设备进行数据交互时,PCIe总线IP核通过向BAR空间寄存器写入配置信息,通知Microblaze处理器模块用配置信息初始化SRIO主模式DMA传输控制器模块和SRIO从模式DMA传输控制器模块的参数,并启动与对端设备进行数据交互;与PCIe上游设备数据交互时,SRIO主模式DMA传输控制器模块和SRIO从模式DMA传输控制器模块对PCIe IP核发起AXI4总线DMA传输事务,PCIeIP核将AXI4总线事务转换为PCIe报文,与上游设备通信。
根据本发明的基于FPGA的PCIe与SRIO总线桥接系统的一实施例,其中,SRIO主模式传输控制模块包括:第一AXI4 DMA写入控制器模块以及第一AXI4 DMA读取控制器模块;第一AXI4 DMA写入控制器模块,用于向对端设备写数据时,从对端读取数据时,接收到对端设备返回的数据,解析数据包提取数据后,向PCIe IP核发起DMA写入传输,将数据通过PCIeIP核写入内存;第一AXI4 DMA读取控制器模块,用于需要向对端发起写数据操作时,向PCIeIP核发起AXI4 DMA读操作,通过PCIe从内存中读取写向对端的数据,再组装成SRIO数据包,送入SRIO IP核发向对端设备。
根据本发明的基于FPGA的PCIe与SRIO总线桥接系统的一实施例,其中,SRIO从模式传输控制模块包括:第二AXI4 DMA写入控制器模块以及第二AXI4 DMA读取控制器模块;第二AXI4 DMA写入控制器模块,用于响应对端设备数据写入请求时,解析对端设备发来的写请求数据包,获取对端设备发来的数据,向PCIe IP核发起AXI4 DMA写传输请求,将数据通过PCIe写入上游设备内存;第二AXI4 DMA读取控制器模块,用于响应对端设备读取数据请求时,接收到数据请求后,向PCIe IP核发起AXI4 DMA读取传输,通过PCIe从内存中读取数据,再拼装成SRIO数据包,返回给对端设备。
根据本发明的基于FPGA的PCIe与SRIO总线桥接系统的一实施例,其中,Microblaze处理器使用BAR空间寄存器中的配置信息初始化,SRIO传输控制器设置好PCIe上游设备内存中用于数据交互的缓存信息后,开始响应对端设备的读写请求,捕捉到对端设备的写数据请求时,解析出其中的数据,发起AXI4 DMA写操作,通过PCIe总线将数据写入内存;接收到对端设备的读请求时,发起AXI4 DMA读取操作,从PCIe上游设备内存中指定位置读取数据,打包送回。
根据本发明的基于FPGA的PCIe与SRIO总线桥接系统的一实施例,其中,PCIe上游设备通过PCIe总线向BAR空间寄存器写入初始化信息,Microblaze处理器读取初始化信息对系统内部各个模块进行设置,响应PCIe上游设备或SRIO对端设备的请求,发起主模式或从模式的SRIO传输。
根据本发明的基于FPGA的PCIe与SRIO总线桥接系统的一实施例,其中,Microblaze处理器包括:Microblaze中断控制器,用于收集系统内各个模块产生的中断事件,报送给Microblaze处理器进行相应的处理;辅助Microblaze处理器,用于对系统工作进行调度;Microblaze断点调试模块,用于与用户进行交互,对系统进行监测与调试。
根据本发明的基于FPGA的PCIe与SRIO总线桥接系统的一实施例,其中,还包括:AXI4互联模块,用于对传输过程中的AXI4总线事务进行路由转发,进行系统内模块之间的通信。
根据本发明的基于FPGA的PCIe与SRIO总线桥接系统的一实施例,其中,还包括:PCIe DMA传输控制器模块,用于系统扩展。
本发明基于FPGA的PCIe与SRIO总线桥接系统,采用FPGA厂家提供的PCIe总线与SRIO总线IP核来实现对外数据收发,自主设计逻辑来实现两种总线之间的桥接。能够提高系统设计的灵活性并降低产品的成本。
附图说明
图1是本发明基于FPGA的PCIe与SRIO总线桥接系统的示意图;
图2所示为本发明基于FPGA的PCIe与SRIO总线桥接系统在PCIe上游设备的控制下通过SRIO向对端设备写入数据的流程图;
图3所示为本发明基于FPGA的PCIe与SRIO总线桥接系统在PCIe上游设备的控制下通过SRIO从对端设备内存中读取数据的流程图;
图4所示为本发明基于FPGA的PCIe与SRIO总线桥接系统在PCIe上游设备通过SRIO总线接收对端设备向本地内存写入数据的工作流程图;
图5所示为本发明基于FPGA的PCIe与SRIO总线桥接系统在PCIe上游设备通过SRIO总线响应对端设备读取数据的工作流程图。
附图标记
PCIe Endpoint端口IP核1; SRIO端口IP核2;
PCIe DMA控制器3; Microblaze嵌入式处理器4;
SRIO主模式传输控制5; SRIO从模式传输控制6;
PCIe BAR空间寄存器7; Microblaze中断控制器8;
内部数据缓存9; 串口10;
Microblaze断点调试控制模块11; AXI写入DMA控制器12;
AXI读取DMA控制器13; SRIO传输启动控制与主模式传输配置14;
AXI写入DMA控制器15; AXI读取DMA控制器16;
SRIO请求捕捉与从模式传输配置17; AXI4总线互联模块18;
AXI4总线互联模块19。
具体实施方式
为使本发明的目的、内容、和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。
图1是本发明基于FPGA的PCIe与SRIO总线桥接系统的示意图,如图1所示,基于FPGA的PCIe与SRIO总线桥接系统主要包括:PCIe总线IP核1、SRIO总线IP核2、Microblaze处理器模块4、PCIe DMA传输控制器模块3、SRIO主模式DMA传输控制器模块5、SRIO从模式DMA传输控制器模块6、数据缓存模块9、Microblaze断点调试模块11、传输启动与配置模块14,请求捕捉与从模式传输配置17、AXI4总线互联模块18以及AXI4总线互联模块19。
如图1所示,PCIe IP核1配置成Endpoint模式,负责与上游设备数据交互,将上游设备发来的数据包转换为AXI4总线事务,同时将系统内部其他模块发起的AXI4总线事务转换为PCIe数据包,发送给上游设备。SRIO IP核2负责系统与对端SRIO设备通信,SRIO IP核2既可以通过SRIO主模式DMA传输控制器模块5主动发起数据请求(主模式),也可以通过SRIO从模式DMA传输控制器模块6响应对端设备的数据请求(从模式)。PCIe DMA传输控制器模块3可用于系统扩展,用来根据应用需求扩展其他数据吞吐量较大的模块,使其可以通过PCIe总线向上游设备发起DMA传输。系统内部基于AXI4总线搭建。AXI4总线上的器件靠AXI4总线互联模块18和19连接起来,实现数据传输从发起传输的主设备到指定的从设备之间的路由。AXI4总线互联模块18用于对和PCIe IP核1与SRIO总线IP核2相关的AXI4总线数据传输进行路由;AXI4总线互联模块19用于为Microblaze处理器模块4对其他模块的访问进行路由控制。传输启动与配置模块14以及请求捕捉与从模式传输配置17,包含了主\从模式SRIO传输控制器中的配置寄存器,由Microblaze处理器模块4使用BAR空间的信息进行设置,进而控制SRIO主/从模式传输控制器5和6的行为(包括启动传输,设置传输地址与数据块长度等参数等功能)以及实施状态监控。
如图1所示,本系统与PCIe上游设备和SRIO对端设备之间的通信由SRIO主模式DMA传输控制器模块5和SRIO从模式DMA传输控制器模块6来管理:与对端SRIO设备进行数据交互时,PCIe总线IP核1通过向BAR空间寄存器写入配置信息,通知Microblaze处理器模块4用配置信息初始化SRIO主模式DMA传输控制器模块5和SRIO从模式DMA传输控制器模块6的参数,并启动与对端设备进行数据交互;与PCIe上游设备数据交互时,SRIO主模式DMA传输控制器模块5和SRIO从模式DMA传输控制器模块6对PCIe IP核1发起AXI4总线DMA传输事务,PCIe IP核1将AXI4总线事务转换为PCIe报文,与上游设备通信。
如图1所示,SRIO主模式传输控制模块5中AXI4 DMA写入控制器模块12以及AXI4DMA读取控制器模块13分别负责:向对端设备写数据时,按照初始化时设置的数据缓存信息,发起AXI4 DMA读取,通过PCIe总线从上游设备内存中获取数据并按照SRIO IP核2的要求进行打包,通过与SRIO IP核2之间的AXI Stream总线送入SRIO IP核2,进而发送给对端设备;从对端设备读取数据时,发起读请求以及接受SRIO IP核2通过AXI Stream总线传来的响应数据包,解析出其中的数据,并发起AXI4 DMA写操作,通过PCIe总线写入到上游设备的内存中。
如图1所示,SRIO从模式传输控制模块6的架构与SRIO主模式传输控制模块5类似。Microblaze处理器4使用PCIe BAR空间中的配置信息对其初始化,设置好PCIe上游设备内存中用于数据交互的缓存信息后就可以开始响应对端设备的读写请求。捕捉到对端设备的写数据请求时,解析出其中的数据,发起AXI4 DMA写操作,通过PCIe总线将数据写入内存;接收到对端设备的读请求时,发起AXI4 DMA读取操作,从PCIe上游设备内存中指定位置读取数据,打包送回。
SRIO从模式DMA写入控制器模块16用于接收到对端设备写入的数据时,接收SRIO总线IP核2通过AXI Stream总线传来的写入数据包,解析出其中的数据,按照初始化时设置的数据缓存信息,发起AXI4 DMA写操作,通过PCIe总线向上游设备内存中写入数据;SRIO从模式AXI4 DMA读取控制器模块15用于接收到对端的读取请求时,发起AXI4 DMA读取,通过PCIe总线从上游设备内存中获取数据并打包组成SRIO响应数据包,送入SRIO总线IP核2,返回给对端设备。
如图1所示,Microblaze处理器4负责系统初始化配置的执行以及数据传输的调度工作。系统工作时,PCIe上游设备要通过PCIe总线向BAR空间寄存器写入初始化信息,Microblaze处理器4读取这些初始化信息对系统内部各个模块进行设置。之后,响应PCIe上游设备或SRIO对端设备的请求,发起主模式或从模式的SRIO传输。Microblaze处理器4有三个附属模块:Microblaze中断控制器8负责收集系统内各个模块产生的中断事件,报送给Microblaze处理器4进行相应的处理,辅助Microblaze处理器4对系统工作进行调度;串口10与Microblaze断点调试模块11负责与用户进行交互,对系统进行监测与调试。数据缓存模块9则用于PCIe与SRIO总线进行数据交互过程中,对中间过程数据进行暂存,以便于工作流程的协调。
如图1所示,两个AXI4互联模块18和19负责对传输过程中的AXI4总线事务进行路由转发,实现系统中各模块之间的通信。
如图1所示,本系统作为请求发起者,向对端设备发出数据读写请求时,SRIO工作于主模式。向对端设备写数据时,数据随着请求包发送至对端设备,对端设备返回一个响应包,表示请求包成功被对端设备接收;从对端设备读取数据时,发送不带数据的请求包到对端设备,对端设备将数据放在响应包中返回,请求发起者提取响应包中的数据并送入内存,请求完成。
如图1所示,考虑到SRIO协议中对每个数据包携带的最大数据负载字节数的限制以及传输地址对齐等限制,应用中一个待传输的数据块通常会被拆分成多个SRIO包进行传送。将一个待传输数据块拆分成多个请求的工作由Microblaze处理器4进行控制。SRIO主模式DMA传输控制器模块5和SRIO从模式DMA传输控制器模块6所面对的仅仅是每一次请求的传输参数,如缓存区地址、传输长度等。
如图1所示,一个数据块对应的所有请求完成后,由Microblaze处理器4控制向对端发送一个SRIO门铃包,并接受验证对端返回的门铃包,实现双方握手,确保通信可靠完成。最后向PCIe上游设备发送PCIe中断,通知上游设备数据块传输完成。
如图1所示,向对端设备写入数据前,首先要获取对端设备缓存区地址。这里事先要与对端设备进行约定,让对端设备准备好地址与长度固定的缓存区,或者让对端设备准备好固定地址的寄存器存储在内存中动态开辟的缓存区的信息。该寄存器位于设备指定的地址处,访问该寄存器不涉及链路两端设备内存数据交互,在本系统中亦不涉及到PCIe总线读写操作。
图2所示为本发明基于FPGA的PCIe与SRIO总线桥接系统在PCIe上游设备的控制下通过SRIO向对端设备写入数据的流程图,如图1以及图2所示,SRIO主模式传输控制器模块5中,AXI4 DMA读取控制器发起AXI4 DMA传输,通过PCIe总线从上游设备内存中读取待发送的数据,在SRIO主模式传输控制器模块5中组装成规定格式的数据包,再通过AXI Stream端口送给SRIO IP核2发送出去。接收到对端处理单元的响应包后,一次SRIO写请求操作完成。Microblaze处理器4检测到所有请求操作均完成后,进行门铃握手操作,发送PCIe中断,结束传输。
图3所示为本发明基于FPGA的PCIe与SRIO总线桥接系统在PCIe上游设备的控制下通过SRIO从对端设备内存中读取数据的流程图,如图3所示,与写入数据的工作过程类似,对端设备应通过事先约定,准备好一个固定地址的缓存区或者动态分配数据缓存区然后将缓存区信息写入固定地址的寄存器,供请求方读取,此过程同样仅涉及操作SRIO从固定地址请求数据,不涉及PCIe及内存的数据交互。系统收到上游设备欲从SRIO对端设备读取数据的请求后,本系统中的SRIO主模式传输控制器模块5通过SRIO IP核2向对端设备发送读请求,接收到对端设备的响应包后,解析响应包,AXI4 DMA写入控制器12发起AXI4 DMA传输,按照包头所指示的信息将解析出的数据通过PCIe总线写入到上游设备的内存中,完成一次SRIO请求。所有请求均完成后,进行门铃握手操作并发送PCIe中断,结束传输。
如图1所示,本系统响应对端设备读写请求时,SRIO工作于从模式。接收对端设备写入的数据时,数据随请求包一起通过SRIO传送至系统中的SRIO IP核2,SRIO从模式传输控制器模块6随后对数据包进行解析,将数据送入PCIe上游设备内存,并根据请求类型返回响应包;对端设备读取数据时,先发送请求包,SRIO IP核2接收并由SRIO从模式传输控制器模块6解析请求包后,根据请求包的要求从PCIe上游设备内存中读取数据,加上包头合成响应包返回对端设备,完成请求。
如图1所示,工作于从模式时,SRIO数据包的拆分由对端请求发起者控制。此时,本系统所做的工作仅仅是解析每一次请求,然后传输处理请求响应的数据。请求完成后,等待设备发起者发来的SRIO门铃包,返回一个门铃包作为握手应答,并向上游设备发送PCIe中断,完成传输。
图4所示为本发明基于FPGA的PCIe与SRIO总线桥接系统在PCIe上游设备通过SRIO总线接收对端设备向本地内存写入数据的工作流程图,如图1以及图4所示,对端设备写入数据前,要先获取可供写入的目标地址。这个地址应为事先约定好的固定地址或由PCIe上游设备动态开辟的地址,但存放于一个地址固定的寄存器中。寄存器位于指定的地址处,对端设备通过寄存器获取缓存区信息的过程不涉及对PCIe传输及内存的访问。
如图1以及图4所示,SRIO从模式传输控制器模块6接收到SRIO IP核2捕捉到的对端设备发来的写入请求包后,解析出数据,AXI4 DMA写入控制器16发起AXI4 DMA传输,通过PCIe总线将数据写入上游设备的内存中。传输结束,系统会收到对端设备发来的SRIO门铃包通知传输结束。返回一个门铃包进行握手确认后,再向上游设备发送PCIe中断,结束传输。
图5所示为本发明基于FPGA的PCIe与SRIO总线桥接系统在PCIe上游设备通过SRIO总线响应对端设备读取数据的工作流程图,如图1以及图5所示,与响应对端设备数据写入请求的过程类似,对端设备发起读请求之前,首先要读取在SRIO主模式DMA传输控制器模块5和SRIO从模式DMA传输控制器模块6中实现约定好的固定地址寄存器,获取PCIe上游设备内存中数据缓存的位置、长度以及是否就绪等信息,然后根据缓存区的信息发送请求包。
如图5所示,SRIO从模式传输控制器模块6通过SRIO IP核2接收到对端设备的读请求后,AXI4 DMA读取传输控制器模块发起AXI4 DMA传输,通过PCIe总线从上游设备的数据缓存中读取数据,加上包头组装成数据包,返回给对端设备。DMA传输由Microblaze处理器4通过设置SRIO从模式传输控制器模块6中的寄存器进行参数配置和控制。所有请求完成后,以门铃握手和PCIe中断结束传输。
本发明基于FPGA的PCIe与SRIO总线桥接系统,采用Xilinx提供的PCIe总线IP核与SRIO总线IP核实现对外的数据交互,内部架构中的核心部分为SRIO主(从)模式传输控制器模块。SRIO传输控制器的一端与SRIO IP核通过AXI Stream总线进行数据包的传递,包括向对端发送读或写请求包,与从对端接收读写请求包;另一端为AXI4总线,用于对PCIe IP核发起DMA传输,并经PCIe IP核转换为PCIe数据包,实现对PCIe上游设备内存的读写。SRIO传输控制器按照SRIO IP核通信格式的要求,进行数据包的解析及拼装,实现对其两端AXI4总线与AXI Stream总线的桥接,进而实现PCIe总线与SRIO总线的桥接。
在一个计算机系统中,其对外接口通常除了SRIO之外还存在多种总线接口,如以太网、视频、数据加解密等。可以在FPGA中按照需求灵活配置PCIe与SRIO的通信带宽,并集成所需的功能模块。若采用专用芯片进行桥接的方案,通过SRIO收发的数据必须经过CPU内存后才能被计算机系统中其他功能模块所使用的。而采用本方案,可以将AXI总线上挂接的存储器Memory Buffer模块映射为SRIO的数据缓存,这样通过SRIO收发的数据即可通过PCIe与CPU内存进行交互、也可以供集成于FPGA内部的其他功能模块通过AXI总线访问,比如对数据进行硬件加解密,进行安全验证,或者实现与其他通信接口进行桥接等功能,增加了系统设计的灵活性。
本发明基于FPGA的PCIe与SRIO总线桥接系统,相比于采用专用芯片进行桥接并搭建系统的方案,采用FPGA进行桥接无疑省去了专用芯片的开销,提高了系统集成度,减小了电路板面积、电路板数量和元器件数目,节约了产品的成本。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。

Claims (8)

1.一种基于FPGA的PCIe与SRIO总线桥接系统,其特征在于,包括:PCIe总线IP核、SRIO总线IP核、Microblaze处理器模块、SRIO主模式DMA传输控制器模块、SRIO从模式DMA传输控制器模块、数据缓存模块以及BAR空间寄存器;
该PCIe IP核用于与上游设备数据交互,将上游设备发来的数据包转换为AXI4总线事务,将内部的AXI4总线事务转换为PCIe数据包,发送给上游设备;
SRIO IP核,用于与对端SRIO设备通信;
SRIO主模式DMA传输控制器模块用于主动发起数据请求;
SRIO从模式DMA传输控制器模块用于响应对端设备的数据请求;
Microblaze处理器用于执行系统初始化配置以及数据传输的调度工作;
数据缓存模块用于PCIe与SRIO总线进行数据交互过程中,对中间过程数据进行暂存;
与对端SRIO设备进行数据交互时,PCIe总线IP核通过向BAR空间寄存器写入配置信息,通知Microblaze处理器模块用配置信息初始化SRIO主模式DMA传输控制器模块和SRIO从模式DMA传输控制器模块的参数,并启动与对端设备进行数据交互;与PCIe上游设备数据交互时,SRIO主模式DMA传输控制器模块和SRIO从模式DMA传输控制器模块对PCIe IP核发起AXI4总线DMA传输事务,PCIe IP核将AXI4总线事务转换为PCIe报文,与上游设备通信。
2.如权利要求1所述的基于FPGA的PCIe与SRIO总线桥接系统,其特征在于,SRIO主模式传输控制模块包括:第一AXI4 DMA写入控制器模块以及第一AXI4 DMA读取控制器模块;
第一AXI4 DMA写入控制器模块,用于向对端设备写数据时,从对端读取数据时,接收到对端设备返回的数据,解析数据包提取数据后,向PCIe IP核发起DMA写入传输,将数据通过PCIe IP核写入内存;
第一AXI4 DMA读取控制器模块,用于需要向对端发起写数据操作时,向PCIe IP核发起AXI4 DMA读操作,通过PCIe从内存中读取写向对端的数据,再组装成SRIO数据包,送入SRIOIP核发向对端设备。
3.如权利要求1所述的基于FPGA的PCIe与SRIO总线桥接系统,其特征在于,其特征在于,SRIO从模式传输控制模块包括:第二AXI4 DMA写入控制器模块以及第二AXI4 DMA读取控制器模块;
第二AXI4 DMA写入控制器模块,用于响应对端设备数据写入请求时,解析对端设备发来的写请求数据包,获取对端设备发来的数据,向PCIe IP核发起AXI4 DMA写传输请求,将数据通过PCIe写入上游设备内存;
第二AXI4 DMA读取控制器模块,用于响应对端设备读取数据请求时,接收到数据请求后,向PCIe IP核发起AXI4 DMA读取传输,通过PCIe从内存中读取数据,再拼装成SRIO数据包,返回给对端设备。
4.如权利要求1所述的基于FPGA的PCIe与SRIO总线桥接系统,其特征在于,其特征在于,Microblaze处理器使用BAR空间寄存器中的配置信息初始化,SRIO传输控制器设置好PCIe上游设备内存中用于数据交互的缓存信息后,开始响应对端设备的读写请求,捕捉到对端设备的写数据请求时,解析出其中的数据,发起AXI4 DMA写操作,通过PCIe总线将数据写入内存;接收到对端设备的读请求时,发起AXI4 DMA读取操作,从PCIe上游设备内存中指定位置读取数据,打包送回。
5.如权利要求1所述的基于FPGA的PCIe与SRIO总线桥接系统,其特征在于,PCIe上游设备通过PCIe总线向BAR空间寄存器写入初始化信息,Microblaze处理器读取初始化信息对系统内部各个模块进行设置,响应PCIe上游设备或SRIO对端设备的请求,发起主模式或从模式的SRIO传输。
6.如权利要求4所述的基于FPGA的PCIe与SRIO总线桥接系统,其特征在于,
Microblaze处理器包括:
Microblaze中断控制器,用于收集系统内各个模块产生的中断事件,报送给Microblaze处理器进行相应的处理;
辅助Microblaze处理器,用于对系统工作进行调度;
Microblaze断点调试模块,用于与用户进行交互,对系统进行监测与调试。
7.如权利要求4所述的基于FPGA的PCIe与SRIO总线桥接系统,其特征在于,其特征在于,还包括:
AXI4互联模块,用于对传输过程中的AXI4总线事务进行路由转发,进行系统内模块之间的通信。
8.如权利要求4所述的基于FPGA的PCIe与SRIO总线桥接系统,其特征在于,其特征在于,还包括:PCIe DMA传输控制器模块,用于系统扩展。
CN201710498016.3A 2017-06-27 2017-06-27 一种基于FPGA的PCIe与SRIO总线桥接系统 Active CN107203484B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710498016.3A CN107203484B (zh) 2017-06-27 2017-06-27 一种基于FPGA的PCIe与SRIO总线桥接系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710498016.3A CN107203484B (zh) 2017-06-27 2017-06-27 一种基于FPGA的PCIe与SRIO总线桥接系统

Publications (2)

Publication Number Publication Date
CN107203484A true CN107203484A (zh) 2017-09-26
CN107203484B CN107203484B (zh) 2020-06-16

Family

ID=59908081

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710498016.3A Active CN107203484B (zh) 2017-06-27 2017-06-27 一种基于FPGA的PCIe与SRIO总线桥接系统

Country Status (1)

Country Link
CN (1) CN107203484B (zh)

Cited By (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108107827A (zh) * 2017-12-13 2018-06-01 天津津航计算技术研究所 一种基于zynq平台软核的srio控制方法
CN108132897A (zh) * 2017-12-13 2018-06-08 天津津航计算技术研究所 一种基于zynq平台软核的srio控制器
CN108255755A (zh) * 2017-12-08 2018-07-06 天津津航计算技术研究所 基于fpga的pcie通用多功能通信接口模块
CN108710597A (zh) * 2018-05-17 2018-10-26 福建升腾资讯有限公司 一种利用gpio优化mcu通信的方法及系统
CN108874702A (zh) * 2018-06-15 2018-11-23 中国电子科技集团公司第五十二研究所 基于axi总线的多路对称加解密ip核并行处理装置和方法
CN109005070A (zh) * 2018-08-31 2018-12-14 北京计算机技术及应用研究所 一种基于共享内存的双机冗余热备设备
CN109344097A (zh) * 2018-09-13 2019-02-15 北京腾凌科技有限公司 数据传输方法及装置
CN109558348A (zh) * 2018-12-19 2019-04-02 深圳开立生物医疗科技股份有限公司 数据搬移方法、装置及系统
CN109597785A (zh) * 2018-12-04 2019-04-09 中国航空工业集团公司西安航空计算技术研究所 一种基于AXI4接口的PCI Express总线适配多接口的设计方法
CN109614359A (zh) * 2018-12-28 2019-04-12 中科院计算技术研究所南京移动通信与计算创新研究院 一种基于axi总线的数据发送方法、装置和存储介质
CN109697310A (zh) * 2018-12-07 2019-04-30 天津津航计算技术研究所 一种应用于ahb总线矩阵设计的功能验证方法与系统
CN109783407A (zh) * 2019-01-14 2019-05-21 武汉精立电子技术有限公司 一种基于fpga实现pc与显卡桥接的装置及方法
CN109815073A (zh) * 2019-01-21 2019-05-28 成都能通科技有限公司 一种基于pxi平台的高速串口srio的测试方法
CN109902038A (zh) * 2019-02-21 2019-06-18 杭州迪普科技股份有限公司 一种PCIe总线地址空间分配方法及装置
CN110417762A (zh) * 2019-07-18 2019-11-05 广州健飞通信有限公司 一种具有报文打包技术的模块集成系统
CN110445767A (zh) * 2019-07-18 2019-11-12 广州健飞通信有限公司 一种可支持多种处理器的整体模块集成系统
CN110708185A (zh) * 2019-09-03 2020-01-17 中国科学院计算技术研究所 用于人工智能处理器的数据互联方法、系统、芯片和装置
CN110996031A (zh) * 2019-11-22 2020-04-10 天津津航计算技术研究所 基于以太网和srio的数据记录与回放装置
CN110996032A (zh) * 2019-11-22 2020-04-10 天津津航计算技术研究所 基于以太网和srio的数据记录与回放方法
CN111190852A (zh) * 2019-12-06 2020-05-22 中国航空工业集团公司洛阳电光设备研究所 基于双口的PowerPC与Microblaze交互系统及交互方法
CN112181878A (zh) * 2020-08-28 2021-01-05 珠海欧比特宇航科技股份有限公司 RapidIO接口架构和数据处理方法
CN112540949A (zh) * 2020-12-17 2021-03-23 北京航天测控技术有限公司 一种数据传输系统
CN113177012A (zh) * 2021-05-12 2021-07-27 成都实时技术股份有限公司 Pcie-srio数据交互处理方法
CN113472964A (zh) * 2021-06-05 2021-10-01 山东英信计算机技术有限公司 一种图像处理装置和系统
CN113946527A (zh) * 2021-09-30 2022-01-18 中国船舶重工集团公司第七二四研究所 一种基于PCIe总线的多通道DMA交互设计方法
CN114297124A (zh) * 2021-12-29 2022-04-08 苏州长风航空电子有限公司 一种基于fpga的srio高速总线的通讯系统
CN115328827A (zh) * 2022-10-14 2022-11-11 北京航天驭星科技有限公司 基于pcie的存储系统、方法及电子设备
CN115396527A (zh) * 2022-10-27 2022-11-25 成都智明达电子股份有限公司 一种基于fpga的pcie和srio协议转换系统及方法
CN115658574A (zh) * 2022-10-26 2023-01-31 杭州芯正微电子有限公司 一种基于fpga实现pcie与srio相互转换方法及现场可编程门阵列
CN116701275A (zh) * 2023-08-01 2023-09-05 浪潮电子信息产业股份有限公司 终端设备扩展设备、方法、装置及总线标准设备
CN116939052A (zh) * 2023-09-19 2023-10-24 中国电子科技集团公司第五十八研究所 一种基于pcie转srio的高通量可信数据通信系统及方法
CN117369906A (zh) * 2023-12-07 2024-01-09 成都市楠菲微电子有限公司 Pcie验证平台、方法、装置、存储介质及电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8949501B1 (en) * 2010-10-31 2015-02-03 Integrated Device Technology, Inc. Method and apparatus for a configurable packet routing, buffering and scheduling scheme to optimize throughput with deadlock prevention in SRIO-to-PCIe bridges
CN105279133A (zh) * 2015-10-20 2016-01-27 电子科技大学 基于SoC在线重构的VPX并行DSP信号处理板卡
CN105549916A (zh) * 2015-12-31 2016-05-04 湖南国科微电子股份有限公司 PCIe固态硬盘控制器、基于PCIe的存储系统及其数据读写方法
CN105955899A (zh) * 2016-04-22 2016-09-21 西安电子科技大学 基于全固态半导体存储器阵列的雷达数字信号处理装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8949501B1 (en) * 2010-10-31 2015-02-03 Integrated Device Technology, Inc. Method and apparatus for a configurable packet routing, buffering and scheduling scheme to optimize throughput with deadlock prevention in SRIO-to-PCIe bridges
CN105279133A (zh) * 2015-10-20 2016-01-27 电子科技大学 基于SoC在线重构的VPX并行DSP信号处理板卡
CN105549916A (zh) * 2015-12-31 2016-05-04 湖南国科微电子股份有限公司 PCIe固态硬盘控制器、基于PCIe的存储系统及其数据读写方法
CN105955899A (zh) * 2016-04-22 2016-09-21 西安电子科技大学 基于全固态半导体存储器阵列的雷达数字信号处理装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
MIGUEL CORREIA; JORGE SOUSA ; ANTÔNIO J. N. BATISTA等: "Development of high-availability ATCA/PCIe data acquisition instrumentation", 《2015 4TH INTERNATIONAL CONFERENCE ON ADVANCEMENTS IN NUCLEAR INSTRUMENTATION MEASUREMENT METHODS AND THEIR APPLICATIONS (ANIMMA) ON IEEE》 *
母其勇、王永良、高飞等: "基于SRapidIO及PCIe协议的雷达多通道数据光纤高速记录系统", 《计算机应用》 *

Cited By (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108255755B (zh) * 2017-12-08 2020-03-27 天津津航计算技术研究所 基于fpga的pcie通用多功能通信接口模块
CN108255755A (zh) * 2017-12-08 2018-07-06 天津津航计算技术研究所 基于fpga的pcie通用多功能通信接口模块
CN108132897A (zh) * 2017-12-13 2018-06-08 天津津航计算技术研究所 一种基于zynq平台软核的srio控制器
CN108107827A (zh) * 2017-12-13 2018-06-01 天津津航计算技术研究所 一种基于zynq平台软核的srio控制方法
CN108132897B (zh) * 2017-12-13 2021-09-10 天津津航计算技术研究所 一种基于zynq平台软核的srio控制器
CN108710597A (zh) * 2018-05-17 2018-10-26 福建升腾资讯有限公司 一种利用gpio优化mcu通信的方法及系统
CN108874702A (zh) * 2018-06-15 2018-11-23 中国电子科技集团公司第五十二研究所 基于axi总线的多路对称加解密ip核并行处理装置和方法
CN108874702B (zh) * 2018-06-15 2020-11-17 中国电子科技集团公司第五十二研究所 基于axi总线的多路对称加解密ip核并行处理装置和方法
CN109005070B (zh) * 2018-08-31 2021-09-10 北京计算机技术及应用研究所 一种基于共享内存的双机冗余热备设备
CN109005070A (zh) * 2018-08-31 2018-12-14 北京计算机技术及应用研究所 一种基于共享内存的双机冗余热备设备
CN109344097A (zh) * 2018-09-13 2019-02-15 北京腾凌科技有限公司 数据传输方法及装置
CN109597785A (zh) * 2018-12-04 2019-04-09 中国航空工业集团公司西安航空计算技术研究所 一种基于AXI4接口的PCI Express总线适配多接口的设计方法
CN109697310A (zh) * 2018-12-07 2019-04-30 天津津航计算技术研究所 一种应用于ahb总线矩阵设计的功能验证方法与系统
CN109697310B (zh) * 2018-12-07 2020-07-21 天津津航计算技术研究所 一种应用于ahb总线矩阵设计的功能验证方法与系统
CN109558348A (zh) * 2018-12-19 2019-04-02 深圳开立生物医疗科技股份有限公司 数据搬移方法、装置及系统
CN109614359B (zh) * 2018-12-28 2020-09-18 中科院计算技术研究所南京移动通信与计算创新研究院 一种基于axi总线的数据发送方法、装置和存储介质
CN109614359A (zh) * 2018-12-28 2019-04-12 中科院计算技术研究所南京移动通信与计算创新研究院 一种基于axi总线的数据发送方法、装置和存储介质
CN109783407A (zh) * 2019-01-14 2019-05-21 武汉精立电子技术有限公司 一种基于fpga实现pc与显卡桥接的装置及方法
CN109815073A (zh) * 2019-01-21 2019-05-28 成都能通科技有限公司 一种基于pxi平台的高速串口srio的测试方法
CN109815073B (zh) * 2019-01-21 2022-04-15 成都能通科技股份有限公司 一种基于pxi平台的高速串口srio的测试方法
CN109902038A (zh) * 2019-02-21 2019-06-18 杭州迪普科技股份有限公司 一种PCIe总线地址空间分配方法及装置
CN110445767A (zh) * 2019-07-18 2019-11-12 广州健飞通信有限公司 一种可支持多种处理器的整体模块集成系统
CN110417762A (zh) * 2019-07-18 2019-11-05 广州健飞通信有限公司 一种具有报文打包技术的模块集成系统
CN110445767B (zh) * 2019-07-18 2022-01-28 广州健飞通信有限公司 一种可支持多种处理器的整体模块集成系统
CN110417762B (zh) * 2019-07-18 2022-01-28 广州健飞通信有限公司 一种具有报文打包技术的模块集成系统
CN110708185A (zh) * 2019-09-03 2020-01-17 中国科学院计算技术研究所 用于人工智能处理器的数据互联方法、系统、芯片和装置
CN110996032A (zh) * 2019-11-22 2020-04-10 天津津航计算技术研究所 基于以太网和srio的数据记录与回放方法
CN110996031A (zh) * 2019-11-22 2020-04-10 天津津航计算技术研究所 基于以太网和srio的数据记录与回放装置
CN110996031B (zh) * 2019-11-22 2021-11-16 天津津航计算技术研究所 基于以太网和srio的数据记录与回放装置
CN110996032B (zh) * 2019-11-22 2021-11-16 天津津航计算技术研究所 基于以太网和srio的数据记录与回放方法
CN111190852A (zh) * 2019-12-06 2020-05-22 中国航空工业集团公司洛阳电光设备研究所 基于双口的PowerPC与Microblaze交互系统及交互方法
CN112181878A (zh) * 2020-08-28 2021-01-05 珠海欧比特宇航科技股份有限公司 RapidIO接口架构和数据处理方法
CN112181878B (zh) * 2020-08-28 2022-04-08 珠海欧比特宇航科技股份有限公司 RapidIO接口架构和数据处理方法
CN112540949A (zh) * 2020-12-17 2021-03-23 北京航天测控技术有限公司 一种数据传输系统
CN113177012A (zh) * 2021-05-12 2021-07-27 成都实时技术股份有限公司 Pcie-srio数据交互处理方法
CN113472964A (zh) * 2021-06-05 2021-10-01 山东英信计算机技术有限公司 一种图像处理装置和系统
CN113472964B (zh) * 2021-06-05 2024-04-16 山东英信计算机技术有限公司 一种图像处理装置和系统
CN113946527B (zh) * 2021-09-30 2023-06-20 中国船舶集团有限公司第七二四研究所 一种基于PCIe总线的多通道DMA交互设计方法
CN113946527A (zh) * 2021-09-30 2022-01-18 中国船舶重工集团公司第七二四研究所 一种基于PCIe总线的多通道DMA交互设计方法
CN114297124A (zh) * 2021-12-29 2022-04-08 苏州长风航空电子有限公司 一种基于fpga的srio高速总线的通讯系统
CN114297124B (zh) * 2021-12-29 2024-03-29 苏州长风航空电子有限公司 一种基于fpga的srio高速总线的通讯系统
CN115328827A (zh) * 2022-10-14 2022-11-11 北京航天驭星科技有限公司 基于pcie的存储系统、方法及电子设备
CN115658574A (zh) * 2022-10-26 2023-01-31 杭州芯正微电子有限公司 一种基于fpga实现pcie与srio相互转换方法及现场可编程门阵列
CN115396527B (zh) * 2022-10-27 2023-02-10 成都智明达电子股份有限公司 一种基于fpga的pcie和srio协议转换系统及方法
CN115396527A (zh) * 2022-10-27 2022-11-25 成都智明达电子股份有限公司 一种基于fpga的pcie和srio协议转换系统及方法
CN116701275A (zh) * 2023-08-01 2023-09-05 浪潮电子信息产业股份有限公司 终端设备扩展设备、方法、装置及总线标准设备
CN116701275B (zh) * 2023-08-01 2023-11-07 浪潮电子信息产业股份有限公司 终端设备扩展设备、方法、装置及总线标准设备
CN116939052A (zh) * 2023-09-19 2023-10-24 中国电子科技集团公司第五十八研究所 一种基于pcie转srio的高通量可信数据通信系统及方法
CN117369906A (zh) * 2023-12-07 2024-01-09 成都市楠菲微电子有限公司 Pcie验证平台、方法、装置、存储介质及电子设备
CN117369906B (zh) * 2023-12-07 2024-02-09 成都市楠菲微电子有限公司 Pcie验证平台、方法、装置、存储介质及电子设备

Also Published As

Publication number Publication date
CN107203484B (zh) 2020-06-16

Similar Documents

Publication Publication Date Title
CN107203484A (zh) 一种基于FPGA的PCIe与SRIO总线桥接系统
CN106612141B (zh) 一种光纤通道协议通用仿真测试卡及其数据交互方法
CN109033004B (zh) 一种基于Aurora总线的双机内存数据共享系统
CN106257434B (zh) 一种基于增强型外设互连协议总线的数据传输方法及装置
CN101488878B (zh) 一种智能平台接口管理装置及服务器
CN105357147B (zh) 一种高速高可靠的片上网络适配单元
CN108107827A (zh) 一种基于zynq平台软核的srio控制方法
CN109710548A (zh) 一种dma控制数据传输方法、系统及设备
CN100583819C (zh) 用于分组交换控制的集成电路和方法
CN108132897A (zh) 一种基于zynq平台软核的srio控制器
CN106603420B (zh) 一种具有实时和容错特性的片上网络路由器
US20230080588A1 (en) Mqtt protocol simulation method and simulation device
US20200218215A1 (en) Circuit for coupling a field bus and a local bus
CN1964285A (zh) 具有双cpu的主控设备及实现方法
CN109634901A (zh) 一种基于uart的数据传输系统及其控制方法
CN105579952B (zh) 利用伪停顿的高速通道上的emi抑制
CN104601490B (zh) 网络设备的流控方法和流控装置以及网络设备
WO2014092551A1 (en) System and method for optimal memory management between cpu and fpga unit
CN110069429B (zh) 基于zynq的实时高性能srio控制器及控制方法
CN110287141B (zh) 一种基于多种接口的fpga重构方法和系统
CN113285839A (zh) 基于dpdk的可编程数据平面软件交换机的设计方法
CN1964286B (zh) 具有双cpu的主控设备
CN205263807U (zh) 一种PCIe接口的双路FC电路结构
JP2003050788A (ja) 高レベル・データ・リンク・コントローラから多数個のディジタル信号プロセッサ・コアに信号を分配するための装置と方法
RU2486581C1 (ru) Параллельная вычислительная система с программируемой архитектурой

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant