一种基于FPGA的PCIe与SRIO总线桥接系统技术方案

技术编号:16301277 阅读:153 留言:0更新日期:2017-09-26 19:22
本发明专利技术公开了一种基于FPGA的PCIe与SRIO总线桥接系统,其中,PCIe IP核用于与上游设备数据交互,将上游设备发来的数据包转换为AXI4总线事务,将内部的AXI4总线事务转换为PCIe数据包,发送给上游设备;SRIO IP核,用于与对端SRIO设备通信;SRIO主模式DMA传输控制器模块用于主动发起数据请求;SRIO从模式DMA传输控制器模块用于响应对端设备的数据请求;Microblaze处理器用于执行系统初始化配置以及数据传输的调度工作;数据缓存模块用于PCIe与SRIO总线进行数据交互过程中,对中间过程数据进行暂存。

A PCIe and SRIO bus bridging system based on FPGA

The invention discloses a FPGA PCIe and SRIO bus bridge system, based on PCIe, IP and nuclear for upstream equipment data exchange, the upstream equipment sent packets into AXI4 bus transaction, AXI4 bus internal affairs are converted to PCIe data packets sent to the upstream equipment; SRIO nuclear IP and, for end-to-end SRIO communication equipment; SRIO main mode DMA transmission controller module is used to initiate the request from the SRIO data; transmission mode DMA controller module for response to requests for data terminal equipment; Microblaze processor for performing system initialization allocation and scheduling of data transmission; data cache module for PCIe and SRIO bus data exchange in the process of the intermediate data storage.

【技术实现步骤摘要】
一种基于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空间寄存器;该PCIeIP核用于与上游设备数据交互,将上游设备发来的数据包转换为AXI4总线事务,将内部的AXI4总线事务转换为PCIe数据包,发送给上游设备;SRIOIP核,用于与对端SRIO设备通信;SRIO主模式DMA传输控制器模块用于主动发起数据请求;SRIO从模式DMA传输控制器模块用于响应对端设备的数据请求;Microblaze处理器用于执行系统初始化配置以及数据传输的调度工作;数据缓存模块用于PCIe与SRIO总线进行数据交互过程中,对中间过程数据进行暂存;与对端SRIO设备进行数据交互时,PCIe总线IP核通过向BAR空间寄存器写入配置信息,通知Microblaze处理器模块用配置信息初始化SRIO主模式DMA传输控制器模块和SRIO从模式DMA传输控制器模块的参数,并启动与对端设备进行数据交互;与PCIe上游设备数据交互时,SRIO主模式DMA传输控制器模块和SRIO从模式DMA传输控制器模块对PCIeIP核发起AXI4总线DMA传输事务,PCIeIP核将AXI4总线事务转换为PCIe报文,与上游设备通信。根据本专利技术的基于FPGA的PCIe与SRIO总线桥接系统的一实施例,其中,SRIO主模式传输控制模块包括:第一AXI4DMA写入控制器模块以及第一AXI4DMA读取控制器模块;第一AXI4DMA写入控制器模块,用于向对端设备写数据时,从对端读取数据时,接收到对端设备返回的数据,解析数据包提取数据后,向PCIeIP核发起DMA写入传输,将数据通过PCIeIP核写入内存;第一AXI4DMA读取控制器模块,用于需要向对端发起写数据操作时,向PCIeIP核发起AXI4DMA读操作,通过PCIe从内存中读取写向对端的数据,再组装成SRIO数据包,送入SRIOIP核发向对端设备。根据本专利技术的基于FPGA的PCIe与SRIO总线桥接系统的一实施例,其中,SRIO从模式传输控制模块包括:第二AXI4DMA写入控制器模块以及第二AXI4DMA读取控制器模块;第二AXI4DMA写入控制器模块,用于响应对端设备数据写入请求时,解析对端设备发来的写请求数据包,获取对端设备发来的数据,向PCIeIP核发起AXI4DMA写传输请求,将数据通过PCIe写入上游设备内存;第二AXI4DMA读取控制器模块,用于响应对端设备读取数据请求时,接收到数据请求后,向PCIeIP核发起AXI4DMA读取传输,通过PCIe从内存中读取数据,再拼装成SRIO数据包,返回给对端设备。根据本专利技术的基于FPGA的PCIe与SRIO总线桥接系统的一实施例,其中,Microblaze处理器使用BAR空间寄存器中的配置信息初始化,SRIO传输控制器设置好PCIe上游设备内存中用于数据交互的缓存信息后,开始响应对端设备的读写请求,捕捉到对端设备的写数据请求时,解析出其中的数据,发起AXI4DMA写操作,通过PCIe总线将数据写入内存;接收到对端设备的读请求时,发起AXI4DMA读取操作,从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总线桥接系统的一实施例,其中,还包括:PCIeDMA传输控制器模块,用于系统扩展。本专利技术基于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总线响应对端设备读取数据的工作流程图。附图标记PCIeEndpoint端口IP核1;SRIO端口IP核2;PCIeDMA控制器3;Microblaze嵌入式处理器4;SRIO主模式传输控制5;SRIO从模式传输控制6;PCIeB本文档来自技高网...
一种基于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传输事务,PCIe IP核将AXI4总线事务转换为PCIe报文,与上游设备通信。...

【技术特征摘要】
1.一种基于FPGA的PCIe与SRIO总线桥接系统,其特征在于,包括:PCIe总线IP核、SRIO总线IP核、Microblaze处理器模块、SRIO主模式DMA传输控制器模块、SRIO从模式DMA传输控制器模块、数据缓存模块以及BAR空间寄存器;该PCIeIP核用于与上游设备数据交互,将上游设备发来的数据包转换为AXI4总线事务,将内部的AXI4总线事务转换为PCIe数据包,发送给上游设备;SRIOIP核,用于与对端SRIO设备通信;SRIO主模式DMA传输控制器模块用于主动发起数据请求;SRIO从模式DMA传输控制器模块用于响应对端设备的数据请求;Microblaze处理器用于执行系统初始化配置以及数据传输的调度工作;数据缓存模块用于PCIe与SRIO总线进行数据交互过程中,对中间过程数据进行暂存;与对端SRIO设备进行数据交互时,PCIe总线IP核通过向BAR空间寄存器写入配置信息,通知Microblaze处理器模块用配置信息初始化SRIO主模式DMA传输控制器模块和SRIO从模式DMA传输控制器模块的参数,并启动与对端设备进行数据交互;与PCIe上游设备数据交互时,SRIO主模式DMA传输控制器模块和SRIO从模式DMA传输控制器模块对PCIeIP核发起AXI4总线DMA传输事务,PCIeIP核将AXI4总线事务转换为PCIe报文,与上游设备通信。2.如权利要求1所述的基于FPGA的PCIe与SRIO总线桥接系统,其特征在于,SRIO主模式传输控制模块包括:第一AXI4DMA写入控制器模块以及第一AXI4DMA读取控制器模块;第一AXI4DMA写入控制器模块,用于向对端设备写数据时,从对端读取数据时,接收到对端设备返回的数据,解析数据包提取数据后,向PCIeIP核发起DMA写入传输,将数据通过PCIeIP核写入内存;第一AXI4DMA读取控制器模块,用于需要向对端发起写数据操作时,向PCIeIP核发起AXI4DMA读操作,通过PCIe从内存中读取写向对端的数据,再组装成SRIO数据包,送入SRIOIP核发向对端设备。3.如权利要求1所述的基于FPGA的PCIe与SRIO总线桥接系统,其特征在于,其特征在于,SRIO从模式传输控制模块包括:第二AXI4DMA写入控制...

【专利技术属性】
技术研发人员:王啸林张力
申请(专利权)人:北京计算机技术及应用研究所
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1