CN117435538A - 一种PCIe转SRIO的桥接系统 - Google Patents

一种PCIe转SRIO的桥接系统 Download PDF

Info

Publication number
CN117435538A
CN117435538A CN202311536541.1A CN202311536541A CN117435538A CN 117435538 A CN117435538 A CN 117435538A CN 202311536541 A CN202311536541 A CN 202311536541A CN 117435538 A CN117435538 A CN 117435538A
Authority
CN
China
Prior art keywords
pcie
module
srio
data
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.)
Pending
Application number
CN202311536541.1A
Other languages
English (en)
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.)
Tianjin Jinhang Computing Technology Research Institute
Original Assignee
Tianjin Jinhang Computing Technology Research Institute
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 Tianjin Jinhang Computing Technology Research Institute filed Critical Tianjin Jinhang Computing Technology Research Institute
Priority to CN202311536541.1A priority Critical patent/CN117435538A/zh
Publication of CN117435538A publication Critical patent/CN117435538A/zh
Pending legal-status Critical Current

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
    • 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/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0026PCI express

Landscapes

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

Abstract

本申请提供一种PCIe转SRIO的桥接系统,包括:PCIe‑SRIO桥接模块,PCIe‑SRIO桥接模块至少包括:PCIe从端模块,配置用于接收PCIe数据,并将PCIe数据发出;AXI协议转换模块配置用于接收PCIe从端模块发出的PCIe数据,并将PCIe数据转换为SRIO数据,并发出;SRIO主端模块,配置用于接收AXI协议转换模块发出的SRIO数据,并向外部其它设备发出SRIO数据;该桥接系统还包括配置模块,所述配置模块用于执行系统初始化配置以及数据传输的调度工作。该方案作为快速解决PCIe与SRIO之间数据通信的硬件及软件的实现方法,可以适应于对FPGA硬件资源有限、成本控制有要求、开发团队规模较小、测试覆盖能力不足的场合,方便简单、可操作性强。

Description

一种PCIe转SRIO的桥接系统
技术领域
本申请涉及PCle总线技术领域,具体涉及一种PCIe转SRIO的桥接系统。
背景技术
PCIe总线是目前在各类计算机中大规模应用的一种高速串行局部总线,PCIe在兼容PCI总线的同时,大大提升了数据传输速率与效率,更能有效地保证传输的可靠性。SRIO是一种面向嵌入式系统的高速串行互联总线,总线系统架构灵活,不局限于传统PC的树型架构,各处理单元之间能够对等通信。数据传输速度快,带宽利用效率高,系统的拓补结构更灵活。
在现有计算机系统中,可以通过桥接芯片或者基于现场可编程阵列FPGA实现PCIe与SRIO的桥接,但这些手段都存在如桥接芯片价格昂贵,占用FPGA逻辑资源较多等问题,导致在实现PCIe与SRIO的桥接的过程中具有开发成本较高、测试难度高、硬件成本高等问题。
发明内容
鉴于现有技术中的上述缺陷或不足,本申请旨在提供一种PCIe转SRIO的桥接系统,包括:
PCIe-SRIO桥接模块,所述PCIe-SRIO桥接模块至少包括:
PCIe从端模块,所述PCIe从端模块配置用于接收PCIe数据,并将所述PCIe数据发出;
AXI协议转换模块,所述AXI协议转换模块配置用于接收所述PCIe从端模块发出的所述PCIe数据,并将所述PCIe数据转换为SRIO数据,并发出;
SRIO主端模块,所述SRIO主端模块配置用于接收所述AXI协议转换模块发出的所述SRIO数据,并向外部其它设备发出所述SRIO数据;
该桥接系统还包括配置模块,所述配置模块用于执行系统初始化配置以及数据传输的调度工作。
根据本申请实施例提供的技术方案,所述SRIO主端模块还配置用于接收所述外部其它设备发送的所述SRIO数据,并将所述SRIO数据发送至所述AXI协议转换模块,所述AXI协议转换模块还配置用于将所述SRIO数据转换为所述PCIe数据,并将所述PCIe数据发送至所述PCIe从端模块。
根据本申请实施例提供的技术方案,所述PCIe从端模块至少包括DMA传输控制器模块,所述DMA传输控制器模块用于实现该桥接系统与外部的数据交互。
根据本申请实施例提供的技术方案,所述PCIe-SRIO桥接模块还包括DMA读取控制器模块、以及DMA写入控制器模块;所述DMA读取控制器模块配置用于从DMA传输控制器模块解析并读取所述PCIe数据,所述DMA写入控制器模块配置用于将所述DMA传输控制器模块的所述PCIe数据写入所述PCIe-SRIO桥接模块。
根据本申请实施例提供的技术方案,所述DMA读取控制器模块还配置用于将所述SRIO主端模块接收到的所述SRIO数据写入所述PCIe-SRIO桥接模块。
根据本申请实施例提供的技术方案,所述DMA写入控制器模块还配置用于将所述DMA传输控制器模块写入的所述PCIe数据发送至所述AXI协议转换模块。
根据本申请实施例提供的技术方案,所述DMA读取控制器模块还配置用于将从所述DMA传输控制器模块解析并读取的所述PCIe数据发送至所述AXI协议转换模块,以及将所述SRIO主端模块接收到的所述SRIO数据发送至所述AXI协议转换模块。
根据本申请实施例提供的技术方案,所述PCIe-SRIO桥接模块还包括数据缓存模块,所述数据缓存模块配置用于PCIe与SRIO总线进行数据交互过程中,对中间过程数据进行暂存。
根据本申请实施例提供的技术方案,所述DMA写入控制器模块具有门铃接口;所述数据缓存模块还配置用于向所述DMA写入控制器模块发送门铃信息包。
根据本申请实施例提供的技术方案,所述门铃信息包、与DMA写入控制器模块写入的所述PCIe数据处于同一个发送判定的状态机。
综上所述,本申请提出一种PCIe转SRIO的桥接系统,包括:PCIe-SRIO桥接模块,PCIe-SRIO桥接模块至少包括:PCIe从端模块,配置用于接收PCIe数据,并将PCIe数据发出;AXI协议转换模块配置用于接收PCIe从端模块发出的PCIe数据,并将PCIe数据转换为SRIO数据,并发出;SRIO主端模块,配置用于接收AXI协议转换模块发出的SRIO数据,并向外部其它设备发出SRIO数据;该桥接系统还包括配置模块,所述配置模块用于执行系统初始化配置以及数据传输的调度工作。
本申请与现有技术相比,有益效果在于:本申请通过自主设计的具有PCIe-SRIO桥接模块以及配置模块的桥接系统,将如Microblaze处理器、ddr等非必要模块均删去,去繁就简作为一种快速解决PCIe与SRIO之间数据通信的硬件及软件的实现方法,可以适应于对FPGA硬件资源有限、成本控制有要求、开发团队规模较小、测试覆盖能力不足的场合,方便简单、可操作性强。
附图说明
图1为本申请实施例提供的PCIe转SRIO的桥接系统的结构示意图。
图中所述文字标注表示为:
1、PCIe主端模块;2、PCIe-SRIO桥接模块;3、PCIe从端模块;4、写入数据;5、读取数据;6、AXI协议转换模块;7、SRIO主端模块;8、外部其它设备;9、SRIO从端模块;10、门铃信息包;11、数据缓存模块;12、DMA传输控制器模块。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
诚如背景技术中提到的,针对现有技术中的问题,本申请提出了一种PCIe转SRIO的桥接系统,请参考图1所示,包括:
PCIe-SRIO桥接模块2,所述PCIe-SRIO桥接模块2至少包括:
PCIe从端模块3,所述PCIe从端模块3配置用于接收PCIe数据,并将所述PCIe数据发出;
AXI协议转换模块6,所述AXI协议转换模块6配置用于接收所述PCIe从端模块3发出的所述PCIe数据,并将所述PCIe数据转换为SRIO数据,并发出;
SRIO主端模块7,所述SRIO主端模块7配置用于接收所述AXI协议转换模块6发出的所述SRIO数据,并向外部其它设备8发出所述SRIO数据;
该桥接系统还包括配置模块,所述配置模块用于执行系统初始化配置以及数据传输的调度工作。
具体地,将某块板卡作为板卡基体,在所述板卡基体上,中央处理器(CentralProcessing Unit,简称CPU)是该板卡的处理器核心,该CPU内的PCIe模块为PCIe主端模块1,所述PCIe-SRIO桥接模块2中的PCIe模块即为所述PCIe从端模块3,所述PCIe从端模块3负责与所述PCIe主端模块1进行通讯,所述SRIO主端模块7用于与外部其它设备8进行数据交互,外部其它设备8上也具有CPU,该CPU内的SRIO模块即为SRIO从端模块9,所述SRIO主端模块7向外部其它设备8发出的所述SRIO数据即发送至所述SRIO从端模块9;外部其它设备8指所述板卡基体通过SRIO接口连接的、且同样具有SRIO接口的设备。
具体地,所述AXI协议转换模块6负责将所述PCIe数据转换为可供所述SRIO主端模块7接收的格式(AXI协议),也负责将所述SRIO数据转换为可供所述PCIe从端模块3接收的格式(AXI协议),从而实现数据格式的统一。
具体地,所述配置模块用于配置SRIO ID、以及中断控制等。
使用本申请提出的PCIe转SRIO的桥接系统,在执行发送动作时,具体过程为:所述PCIe主端模块1向所述PCIe从端模块3发送PCIe数据后,所述PCIe从端模块3将接收到的PCIe数据,先转换为AXI格式数据,然后通过DMA写数据(NWRITE)或DMA写数据流(SWRITE)操作,将转换为AXI格式的数据发送至所述AXI协议转换模块6,所述AXI协议转换模块6将数据转换为SRIO数据数据包,通过所述SRIO主端模块7发送出去,然后外部其它设备8的所述SRIO从端模块9接收到该SRIO数据数据包,至此完成了整个发送任务。
进一步地,本申请提出的PCIe转SRIO的桥接系统可以通过简单复制,配置形成多路,实现在节省资源的前提下,配置多样化的技术效果,所述该PCIe转SRIO的桥接系统可以满足大小端设置、也满足32/64位数据位宽的配置。
在一可选的实施例中,所述SRIO主端模块7还配置用于接收所述外部其它设备8发送的所述SRIO数据,并将所述SRIO数据发送至所述AXI协议转换模块6,所述AXI协议转换模块6还配置用于将所述SRIO数据转换为所述PCIe数据,并将所述PCIe数据发送至所述PCIe从端模块3。
使用本申请提出的PCIe转SRIO的桥接系统,在执行接收动作时,具体过程为:所述PCIe主端模块1向所述PCIe从端模块3发送读数据请求(RDMA),所述SRIO从端模块9反方向先转换为AXI格式的数据,再由DMA控制器将数据发送至所述PCIe从端模块3的数据空间,转换为AXI格式的数据包后,经由所述PCIe从端模块3发送至所述PCIe主端模块1。
至此,使用本申请提出的PCIe转SRIO的桥接系统完成了发送数据以及接收数据的任务,即实现了PCIe数据包和SRIO数据包的双向转换,可以看出本申请在实现PCIe与SRIO的桥接方面方法简单,系统简捷,成本低、满足多种应用场景,适应性强、可操作性优良。
在一可选的实施例中,所述PCIe从端模块3至少包括DMA传输控制器模块12,所述DMA传输控制器模块12用于实现该桥接系统与外部的数据交互。
在一可选的实施例中,所述PCIe-SRIO桥接模块2还包括DMA读取控制器模块、以及DMA写入控制器模块;所述DMA读取控制器模块配置用于从DMA传输控制器模块12解析并读取所述PCIe数据,所述DMA写入控制器模块配置用于将所述DMA传输控制器模块12的所述PCIe数据写入所述PCIe-SRIO桥接模块2。
在一可选的实施例中,所述DMA读取控制器模块还配置用于将所述SRIO主端模块7接收到的所述SRIO数据写入所述PCIe-SRIO桥接模块2。
在一可选的实施例中,所述DMA写入控制器模块还配置用于将所述DMA传输控制器模块12写入的所述PCIe数据发送至所述AXI协议转换模块6。
在一可选的实施例中,所述DMA读取控制器模块还配置用于将从所述DMA传输控制器模块12解析并读取的所述PCIe数据发送至所述AXI协议转换模块6,以及将所述SRIO主端模块7接收到的所述SRIO数据发送至所述AXI协议转换模块6。
在一可选的实施例中,所述PCIe-SRIO桥接模块2还包括数据缓存模块11,所述数据缓存模块11配置用于PCIe与SRIO总线进行数据交互过程中,对中间过程数据进行暂存。
在一可选的实施例中,所述DMA写入控制器模块具有门铃接口;所述数据缓存模块11还配置用于向所述DMA写入控制器模块发送门铃信息包10。
在一可选的实施例中,所述门铃信息包10、与DMA写入控制器模块写入的所述PCIe数据处于同一个发送判定的状态机。
具体地,由于DMA指令数据包与门铃信息包10是平等关系,因此有可能出现DMA指令数据包没发送完毕就插入发送门铃信息包10的情况,因此,本申请将门铃接口引入DMA写入控制器模块,发送判定与写入数据(NWRITE、SWRITE)放入同一个状态机,以此来保证发送顺序。
具体地,基于XDMA驱动,实现所述PCIe从端模块3向SRIO主端模块7发送NWRITE、NREAD、门铃信息包10;通过DMA写数据(NWRITE)实现所述PCIe主端模块1向所述SRIO从端模块9的主动数据发送,之后发送一个门铃信息包10,触发所述SRIO从端模块9中断,去进行相应处理;通过DMA读数据(读取数据NREAD)实现所述PCIe主端模块1向所述SRIO从端模块9主动索要数据,当数据传送完成时,所述第一DMA传输控制器模块将发送传输完成中断,通知所述PCIe主端模块1进行后续处理。
本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。以上所述仅是本申请的优选实施方式,应当指出,由于文字表达的有限性,而客观上存在无限的具体结构,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进、润饰或变化,也可以将上述技术特征以适当的方式进行组合;这些改进润饰、变化或组合,或未经改进将发明的构思和技术方案直接应用于其他场合的,均应视为本申请的保护范围。

Claims (10)

1.一种PCIe转SRIO的桥接系统,其特征在于,包括:
PCIe-SRIO桥接模块(2),所述PCIe-SRIO桥接模块(2)至少包括:
PCIe从端模块(3),所述PCIe从端模块(3)配置用于接收PCIe数据,并将所述PCIe数据发出;
AXI协议转换模块(6),所述AXI协议转换模块(6)配置用于接收所述PCIe从端模块(3)发出的所述PCIe数据,并将所述PCIe数据转换为SRIO数据,并发出;
SRIO主端模块(7),所述SRIO主端模块(7)配置用于接收所述AXI协议转换模块(6)发出的所述SRIO数据,并向外部其它设备(8)发出所述SRIO数据;
该桥接系统还包括配置模块,所述配置模块用于执行系统初始化配置以及数据传输的调度工作。
2.根据权利要求1所述的PCIe转SRIO的桥接系统,其特征在于:所述SRIO主端模块(7)还配置用于接收所述外部其它设备(8)发送的所述SRIO数据,并将所述SRIO数据发送至所述AXI协议转换模块(6),所述AXI协议转换模块(6)还配置用于将所述SRIO数据转换为所述PCIe数据,并将所述PCIe数据发送至所述PCIe从端模块(3)。
3.根据权利要求2所述的PCIe转SRIO的桥接系统,其特征在于:所述PCIe从端模块(3)至少包括DMA传输控制器模块(12),所述DMA传输控制器模块(12)用于实现该桥接系统与外部的数据交互。
4.根据权利要求3所述的PCIe转SRIO的桥接系统,其特征在于:所述PCIe-SRIO桥接模块(2)还包括DMA读取控制器模块、以及DMA写入控制器模块;所述DMA读取控制器模块配置用于从DMA传输控制器模块(12)解析并读取所述PCIe数据,所述DMA写入控制器模块配置用于将所述DMA传输控制器模块(12)的所述PCIe数据写入所述PCIe-SRIO桥接模块(2)。
5.根据权利要求4所述的PCIe转SRIO的桥接系统,其特征在于:所述DMA读取控制器模块还配置用于将所述SRIO主端模块(7)接收到的所述SRIO数据写入所述PCIe-SRIO桥接模块(2)。
6.根据权利要求4所述的PCIe转SRIO的桥接系统,其特征在于:所述DMA写入控制器模块还配置用于将所述DMA传输控制器模块(12)写入的所述PCIe数据发送至所述AXI协议转换模块(6)。
7.根据权利要求5所述的PCIe转SRIO的桥接系统,其特征在于:所述DMA读取控制器模块还配置用于将从所述DMA传输控制器模块(12)解析并读取的所述PCIe数据发送至所述AXI协议转换模块(6),以及将所述SRIO主端模块(7)接收到的所述SRIO数据发送至所述AXI协议转换模块(6)。
8.根据权利要求6所述的PCIe转SRIO的桥接系统,其特征在于:所述PCIe-SRIO桥接模块(2)还包括数据缓存模块(11),所述数据缓存模块(11)配置用于PCIe与SRIO总线进行数据交互过程中,对中间过程数据进行暂存。
9.根据权利要求8所述的PCIe转SRIO的桥接系统,其特征在于:所述DMA写入控制器模块具有门铃接口;所述数据缓存模块(11)还配置用于向所述DMA写入控制器模块发送门铃信息包(10)。
10.根据权利要求9所述的PCIe转SRIO的桥接系统,其特征在于:所述门铃信息包(10)、与所述DMA写入控制器模块写入的所述PCIe数据处于同一个发送判定的状态机。
CN202311536541.1A 2023-11-17 2023-11-17 一种PCIe转SRIO的桥接系统 Pending CN117435538A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311536541.1A CN117435538A (zh) 2023-11-17 2023-11-17 一种PCIe转SRIO的桥接系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311536541.1A CN117435538A (zh) 2023-11-17 2023-11-17 一种PCIe转SRIO的桥接系统

Publications (1)

Publication Number Publication Date
CN117435538A true CN117435538A (zh) 2024-01-23

Family

ID=89547999

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311536541.1A Pending CN117435538A (zh) 2023-11-17 2023-11-17 一种PCIe转SRIO的桥接系统

Country Status (1)

Country Link
CN (1) CN117435538A (zh)

Similar Documents

Publication Publication Date Title
KR101181150B1 (ko) PCIe 인터페이스 상에서 SATA 대량 저장 장치 에뮬레이션
CN114168520B (zh) 光纤通信总线装置、设备和系统
US9430432B2 (en) Optimized multi-root input output virtualization aware switch
CN108107827B (zh) 一种基于zynq平台软核的srio控制方法
CN101317364A (zh) 一种实现业务板和主控板通信的装置和方法
CN110297797B (zh) 异构协议转换装置和方法
CN109165178B (zh) 一种基于RapidIO的弹上系统SoC芯片间高速通信方法
CN116069711B (zh) 直接内存访问控制器、异构设备、内存访问方法及介质
CN110837486A (zh) 一种基于FPGA的FlexRay-CPCIe通信模块
CN101452430B (zh) 多处理器之间的通信方法与包括多处理器的通信装置
WO2024113704A1 (zh) 一种pcie数据传输方法及相关装置
CN110971621B (zh) 基于sdio接口的嵌入式多cpu互联电路、互联方法及驱动方法
US8090893B2 (en) Input output control apparatus with a plurality of ports and single protocol processing circuit
CN116414758A (zh) 面向高速可扩展互联裸芯与PCIe主设备的并行式转换接口
CN117435538A (zh) 一种PCIe转SRIO的桥接系统
CN115982071A (zh) 一种面向ddr3控制器的片上网络转换接口
CN114281499A (zh) 一种总线互连时的中断传递处理方法及系统
CN117938574B (zh) 一种用于星载设备间通信的SpaceWire总线节点控制器IP核
CN113609067B (zh) 一种32路rs485接口卡的实现系统
CN115543908B (zh) 基于FPGA的Aurora总线数据交互系统
CN113472964B (zh) 一种图像处理装置和系统
CN218996035U (zh) 一种配合xmda使用的rdma高速数据传输系统
JP4930554B2 (ja) 入出力制御装置
CN101710310A (zh) 一种amba接口电路
CN117251396A (zh) 一种多路慢速总线桥接装置及方法

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