CN108234264A - 一种基于PCIe信号接口扩展的数据包转发方法及装置 - Google Patents

一种基于PCIe信号接口扩展的数据包转发方法及装置 Download PDF

Info

Publication number
CN108234264A
CN108234264A CN201711487439.1A CN201711487439A CN108234264A CN 108234264 A CN108234264 A CN 108234264A CN 201711487439 A CN201711487439 A CN 201711487439A CN 108234264 A CN108234264 A CN 108234264A
Authority
CN
China
Prior art keywords
fpga
cpu
data packet
terminal device
issued
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
CN201711487439.1A
Other languages
English (en)
Other versions
CN108234264B (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.)
Hangzhou DPTech Technologies Co Ltd
Original Assignee
Hangzhou DPTech Technologies Co Ltd
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 Hangzhou DPTech Technologies Co Ltd filed Critical Hangzhou DPTech Technologies Co Ltd
Priority to CN201711487439.1A priority Critical patent/CN108234264B/zh
Publication of CN108234264A publication Critical patent/CN108234264A/zh
Application granted granted Critical
Publication of CN108234264B publication Critical patent/CN108234264B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40006Architecture of a communication node
    • H04L12/40032Details regarding a bus interface enhancer
    • 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/4009Coupling between buses with data restructuring
    • G06F13/4018Coupling between buses with data restructuring with data-width conversion
    • 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/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4221Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
    • 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/4265Bus transfer protocol, e.g. handshake; Synchronisation on a point to point bus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40052High-speed IEEE 1394 serial bus
    • H04L12/40123Interconnection of computers and peripherals

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)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Transfer Systems (AREA)

Abstract

本申请提供一种基于PCIe信号接口扩展的数据包转发方法,所述方法包括:当FPGA所连接的终端设备启动时,CPU对FPGA所连接的终端设备进行扫描;根据扫描结果,向FPGA下发终端设备配置数据包;FPGA对所述终端设备配置数据包进行解析,并根据PCIe协议对解析得到的配置信息进行存储;对CPU下发的数据包进行解析,将对所述CPU下发的数据包的解析结果与所述存储的配置信息进行比较,以选择相应的PCIe信号接口;通过所选择的PCIe信号接口,将所述CPU下发的数据包转发到终端设备。

Description

一种基于PCIe信号接口扩展的数据包转发方法及装置
技术领域
本申请涉及通信领域,尤其涉及一种基于PCIe信号接口扩展的数据包转发方法及装置。
背景技术
PCIe(peripheral component interconnect express,高速串行计算机扩展总线标准)总线作为处理器系统的局部总线,其主要目的是用来连接处理器系统中的终端设备。一般设备的芯片组会提供几个PCIe信号接口,这些接口可以用来外接网卡、显卡、视频音频采集卡、3G卡等终端设备。随着设备的系统性能和功能的日益增长,需要设备能够同时提供对多种功能的支持,即需要更多的终端设备与芯片组相连。但是对于PCIe信号接口来说,一个PCIe信号接口只能连接一台发送设备和一台接收设备,现有的芯片组提供的PCIe信号接口数量有限,因此需要对PCIe信号接口进行扩展,来满足现阶段设备对多种功能的支持。
现有的技术方案是采用PCIe Switch芯片对PCIe信号接口进行扩展,将一组PCIe信号接口扩展成多组PCIe信号接口,以此来连接多个终端设备。但是现有的PCIe Switch芯片是按照规定的功能与性能要求,对电路的布局与布线进行专门的优化,其接口数量是固定的,能够连接的终端设备也是固定的,PCIe Switch芯片的功能比较单一,灵活性较差。
发明内容
有鉴于此,本申请提供一种基于PCIe信号接口扩展的数据包转发方法及装置。
具体地,本申请是通过如下技术方案实现的:
一种基于PCIe信号接口扩展的数据包转发方法,所述方法包括:
当FPGA所连接的终端设备启动时,CPU对FPGA所连接的终端设备进行扫描;
根据扫描结果,向FPGA下发终端设备配置数据包;
FPGA对所述终端设备配置数据包进行解析,并根据PCIe协议对解析得到的配置信息进行存储;
对CPU下发的数据包进行解析,将对所述CPU下发的数据包的解析结果与所述存储的配置信息进行比较,以选择相应的PCIe信号接口,所述PCIe信号接口为通过FPGA内置的接口与CPU的PCIe信号接口相连,将CPU提供的一个PCIe信号接口扩展为M个PCIe信号接口中的任意PCIe信号接口,其中M≥2;
通过所选择的PCIe信号接口,将所述CPU下发的数据包转发到终端设备。
一种基于PCIe信号接口扩展的数据包转发装置,所述装置包括:
设备扫描单元,用于当FPGA所连接的终端设备启动时,CPU对FPGA所连接的终端设备进行扫描;
下发单元,用于根据扫描结果,向FPGA下发终端设备配置数据包;
解析单元,用于FPGA对所述终端设备配置数据包进行解析;
存储单元,用于根据PCIe协议对解析得到的配置信息进行存储;
接口选择单元,用于对CPU下发的数据包进行解析,将对所述CPU下发的数据包的解析结果与所述存储的配置信息进行比较,以选择相应的PCIe信号接口,所述PCIe信号接口为通过FPGA内置的接口与CPU的PCIe信号接口相连,将CPU提供的一个PCIe信号接口扩展为M个PCIe信号接口中的任意PCIe信号接口,其中M≥2;
数据包转发单元,用于通过所选择的PCIe信号接口,将所述CPU下发的数据包转发到终端设备。
通过本申请的技术方案,通过使用FPGA代替了PCIe Switch,避免了PCIe Switch功能单一的缺点,可以根据用户的需求定制PCIe信号接口的数量。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例描述中所需要的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1是本申请一示例性实施例示出的一种应用场景示意图;
图2是本申请一示例性实施例示出的一种实现PCI协议的示意图;
图3是本申请一示例性实施例示出的基于PCIe信号接口扩展的数据包转发方法的一种实施流程图;
图4是本申请一示例性实施例示出的一种PCIe信号接口扩展的结构图;
图5是本申请一示例性实施例示出的基于PCIe信号接口扩展的数据包转发的一种结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
首先对本申请实施例提供的一种基于PCIe信号接口扩展的数据包转发方法进行说明,该方法可以包括以下步骤:
当FPGA所连接的终端设备启动时,CPU对FPGA所连接的终端设备进行扫描;
根据扫描结果,向FPGA下发终端设备配置数据包;
FPGA对所述终端设备配置数据包进行解析,并根据PCIe协议对解析得到的配置信息进行存储;
对CPU下发的数据包进行解析,将对所述CPU下发的数据包的解析结果与所述存储的配置信息进行比较,以选择相应的PCIe信号接口,所述PCIe信号接口为通过FPGA内置的接口与CPU的PCIe信号接口相连,将CPU提供的一个PCIe信号接口扩展为M个PCIe信号接口中的任意PCIe信号接口,其中M≥2;
通过所选择的PCIe信号接口,将所述CPU下发的数据包转发到终端设备。
在背景技术中提到,PCIe总线主要目的是用来连接处理器系统中的终端设备,一般的芯片组会提供几个PCIe信号接口,这些信号接口可以用来外接网卡、显卡、视频音频采集卡、3G卡等终端设备。但是随着设备的系统性能和功能的日益增长,需要设备能够同时提供对多种功能的支持,即需要外接更多的终端设备。对于PCIe信号接口来说,一个PCIe信号接口只能连接一台发送设备和一台接收设备,现有的芯片组提供的PCIe信号接口数量有限,需要对PCIe信号接口进行扩展,来满足现阶段设备对多种功能的支持。但是采用PCIeSwitch芯片对PCIe信号接口进行扩展,其接口数量是固定的,能够连接的终端设备也是固定的,功能比较单一,灵活性差。基于上述问题,本申请采用FPGA替代了PCIe Switch芯片,如图1所示,避免了PCIe Switch芯片功能单一的缺点,而且还可以灵活的根据用户的需求,对PCIe信号接口数量进行定制。
具体的在基于PCIe信号接口扩展的数据包转发的过程中,FPGA通过内置的SerDes接口与CPU的PCIe信号接口相连,将CPU提供的一个PCIe信号接口扩展成M个PCIe信号接口,其中M≥2,其中所说扩展后的任意一个PCIe信号接口都可以连接终端设备。当FPGA所连接的终端设备启功时,CPU对FPGA内部的总线拓扑结构以及所连接的终端设备进行扫描;根据扫描得到的FPGA内部的总线拓扑结构以及终端设备逻辑号,向FPGA下发终端设备配置数据包;FPGA对所述终端设备配置数据包进行解析,并根据PCIe协议对解析得到的配置信息进行存储;对CPU下发的数据包进行解析,根据解析得到的终端设备逻辑号与所述存储的配置信息进行比较,以选择相应的PCIe信号接口,所述PCIe信号接口为通过FPGA内置的接口与CPU的PCIe信号接口相连,将CPU提供的一个PCIe信号接口扩展为M个PCIe信号接口中的任意PCIe信号接口;通过所选择的PCIe信号接口,将所述CPU下发的数据包转发到终端设备。为了对本申请进一步说明,提供下列实施例对本申请进行说明:
其中在进行数据包转发前,需要使用FPGA内部的SerDes接口与CPU提供的一个PCIe信号接口相连,使用FPGA实现PCIe协议中物理层、数据链路层、事务层的功能,以实现对PCIe协议的支持。如图2所示,从FPGA的角度来看,在接收方向,CPU下发的PCIe数据包,经过物理层接口、物理层、数据链路层和事务层,最终达到用户层;从FPGA的角度来看,在发送方向,用户层发出的数据,经过事务层、数据链路层、物理层和物理层接口,最终到达FPGA内部的SerDes接口,由FPGA内部的SerDes接口与CPU之间的通道发送给CPU。
如图3所示,为本申请基于PCIe信号接口扩展的数据包转发方法的一种实施流程图,其具体可以包括以下步骤:
S101,当FPGA所连接的终端设备启动时,CPU对FPGA所连接的终端设备进行扫描;
在一实施例中,如图1所示,当与FPGA所连接的任意一台终端设备启动时,例如网卡、显卡、视频音频采集卡、3G卡等终端设备启动时,CPU对FPGA内部的总线拓扑结构以及所连接的终端设备进行扫描。例如其中对于CPU提供的一个PCIe信号接口,其对应的总线在CPU中有一个总线号,假设CPU中主总线的总线号为0,所提供的一个PCIe信号接口对应的总线的总线号为1。在对FPGA内部的总线拓扑结构进行扫描时,通过P2P桥可以连接到另一条PCI总线,通过使用P2P桥,就构筑起了一个层次的、树状的总线拓扑结构,对于上层的总线而言,连接在这条总线上的PCI桥也是一个设备。但是这是一种特殊的设备,它既是上层总线上的一个设备,实际上又是上层总线的延伸。所谓枚举就是从PCI桥开始进行探测和扫描,逐个枚举连接在第一条PCI总线上的所有设备并记录在案,如果其中的某个设备是P2P桥,则又进一步再探测和扫描连接在这个桥上的次级PCI总线。就这样递归下去,直到穷尽系统中的所有PCI设备,即终端设备,最终在内存中建立起代表着这些PCI总线和设备的总线拓扑结构。例如如图4所示,上游接口连接CPU,下游接口连接终端设备,其中对于与上游接口连接的P2P桥,其上级总线的总线号记为1,则其下级总线的总线号记为1-1、1-2,分别对应下游接口连接的P2P桥,在下游端口分别连接终端设备1和终端设备2。当终端设备1启动时,对FPGA内部的总线拓扑结构以及所连接的终端设备进行扫描,其中所述终端设备的设备信息存储在FPGA内存中。当CPU向FPGA下发扫描包时,FPGA在接收到扫描包时,返回所存储的终端设备的设备信息。这样CPU可以得到当前FPGA内部的总线拓扑结构,各节点上的设备,所述设备可以是P2P桥,也可以是终端设备。
S102,根据扫描结果,向FPGA下发终端设备配置数据包;
在一实施例中,根据扫描得到的FPGA内部的总线拓扑结构以及终端设备逻辑号,向FPGA下发终端设备配置数据包。所述终端设备逻辑号包括设备号和功能号。例如上述图4所描述的,在扫描到当前FPGA内部的总线拓扑结构,各节点上的设备时,根据上述信息发送终端设备配置数据包,以便在对数据包转发时,可以查找到相应的PCIe信号接口,转发给相应的终端设备,如终端设备1,其中配置数据包包括总线号、设备号、功能号等路由信息。
S103,FPGA对所述终端设备配置数据包进行解析,并根据PCIe协议对解析得到的配置信息进行存储;
在一实施例中,FPGA对所述终端设备配置数据包进行解析,并根据PCIe协议对解析得到的配置信息进行存储。如上述图4所示,FPGA对终端设备配置数据包进行解析,并在相应的设备上存储解析的结果,存储自身对应的总线号、设备号、功能号等路由信息。例如对于上游接口连接的P2P桥,其会存储总线号1、1-1、1-2,并且存储终端设备1以及终端设备2的相关的设备号和功能号。
S104,对CPU下发的数据包进行解析,将对所述CPU下发的数据包的解析结果与所述存储的配置信息进行比较,以选择相应的PCIe信号接口,所述PCIe信号接口为通过FPGA内置的接口与CPU的PCIe信号接口相连,将CPU提供的一个PCIe信号接口扩展为M个PCIe信号接口中的任意PCIe信号接口,其中M≥2;
在一实施例中,对CPU下发的数据包进行解析,根据解析得到的终端设备逻辑号与所述存储的配置信息进行比较,以选择相应的PCIe信号接口。例如如图4所描述的,上游接口1在接收到CPU下发的数据包时,解析所述下发的数据包,根据解析得到的终端设备逻辑号与存储的路由信息进行比较,例如所述解析得到的终端设备逻辑号与终端设备1相对应,则需要选择相应的PCIe信号接口1-1,所选择的PCIe信号接口1-1连接着终端设备1。根据在与上游接口1连接的P2P桥所存储的总线号1-1,可以知道先发往与下游接口1-1连接的P2P桥,经过与所述P2P桥连接的PCIe信号接口1-1,将下发的数据包转发给终端设备1,其中下游接口1-1即为PCIe信号接口1-1
S105,通过所选择的PCIe信号接口,将所述CPU下发的数据包转发到终端设备。
在一实施例中,经过比较选定PCIe信号接口,例如上述的PCIe信号接口1-1,通过所选择的PCIe信号接口1-1,将所述CPU下发的数据包转发到终端设备1。
通过上述步骤,使用FPGA代替了PCIe Switch,避免了PCIe Switch功能单一的缺点,可以根据用户的需求定制PCIe信号接口的数量。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
与前述基于PCIe信号接口扩展的数据包转发方法的实施例相对应,本申请还提供了基于PCIe信号接口扩展的数据包转发装置的实施例,如图5所示,包括设备扫描单元200、下发单元210、解析单元220、存储单元230、接口选择单元240、数据包转发单元250。
所述设备扫描单元200,用于当FPGA所连接的终端设备启动时,CPU对FPGA所连接的终端设备进行扫描;
所述下发单元210,用于根据扫描结果,向FPGA下发终端设备配置数据包;
所述解析单元220,用于FPGA对所述终端设备配置数据包进行解析;
所述存储单元230,用于根据PCIe协议对解析得到的配置信息进行存储;
所述接口选择单元240,用于对CPU下发的数据包进行解析,将对所述CPU下发的数据包的解析结果与所述存储的配置信息进行比较,以选择相应的PCIe信号接口,所述PCIe信号接口为通过FPGA内置的接口与CPU的PCIe信号接口相连,将CPU提供的一个PCIe信号接口扩展为M个PCIe信号接口中的任意PCIe信号接口,其中M≥2;
所述数据包转发单元250,用于通过所选择的PCIe信号接口,将所述CPU下发的数据包转发到终端设备。
在本申请的一种具体实施方式中,所述扫描单元200具体用于:当FPGA所连接的终端设备启动时,CPU对FPGA内部的总线拓扑结构以及所连接的终端设备进行扫描。
在本申请的一种具体实施方式中,所述下发单元210具体用于:
根据扫描得到的FPGA内部的总线拓扑结构以及终端设备逻辑号,向FPGA下发终端设备配置数据包。
在本申请的一种具体实施方式中,所述接口选择单元240具体用于:
对CPU下发的数据包进行解析,根据解析得到的终端设备逻辑号与所述存储的配置信息进行比较,以选择相应的PCIe信号接口。
上述系统中各个单元的作用实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于系统实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
本发明可以在由计算机执行的计算值可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本发明,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
以上所述仅是本发明的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (8)

1.一种基于PCIe信号接口扩展的数据包转发方法,其特征在于,所述方法包括:
当FPGA所连接的终端设备启动时,CPU对FPGA所连接的终端设备进行扫描;
根据扫描结果,向FPGA下发终端设备配置数据包;
FPGA对所述终端设备配置数据包进行解析,并根据PCIe协议对解析得到的配置信息进行存储;
对CPU下发的数据包进行解析,将对所述CPU下发的数据包的解析结果与所述存储的配置信息进行比较,以选择相应的PCIe信号接口,所述PCIe信号接口为通过FPGA内置的接口与CPU的PCIe信号接口相连,将CPU提供的一个PCIe信号接口扩展为M个PCIe信号接口中的任意PCIe信号接口,其中M≥2;
通过所选择的PCIe信号接口,将所述CPU下发的数据包转发到终端设备。
2.根据权利要求1所述的方法,其特征在于,所述当FPGA所连接的终端设备启动时,CPU对FPGA所连接的终端设备进行扫描,包括:
当FPGA所连接的终端设备启动时,CPU对FPGA内部的总线拓扑结构以及所连接的终端设备进行扫描。
3.根据权利要求2所述的方法,其特征在于,所述根据扫描结果,向FPGA下发终端设备配置数据包,包括:
根据扫描得到的FPGA内部的总线拓扑结构以及终端设备逻辑号,向FPGA下发终端设备配置数据包。
4.根据权利要求3所述的方法,其特征在于,所述对CPU下发的数据包进行解析,将对所述CPU下发的数据包的解析结果与所述存储的配置信息进行比较,以选择相应的PCIe信号接口,包括:
对CPU下发的数据包进行解析,根据解析得到的终端设备逻辑号与所述存储的配置信息进行比较,以选择相应的PCIe信号接口。
5.一种基于PCIe信号接口扩展的数据包转发装置,其特征在于,所述装置包括:
设备扫描单元,用于当FPGA所连接的终端设备启动时,CPU对FPGA所连接的终端设备进行扫描;
下发单元,用于根据扫描结果,向FPGA下发终端设备配置数据包;
解析单元,用于FPGA对所述终端设备配置数据包进行解析;
存储单元,用于根据PCIe协议对解析得到的配置信息进行存储;
接口选择单元,用于对CPU下发的数据包进行解析,将对所述CPU下发的数据包的解析结果与所述存储的配置信息进行比较,以选择相应的PCIe信号接口,所述PCIe信号接口为通过FPGA内置的接口与CPU的PCIe信号接口相连,将CPU提供的一个PCIe信号接口扩展为M个PCIe信号接口中的任意PCIe信号接口,其中M≥2;
数据包转发单元,用于通过所选择的PCIe信号接口,将所述CPU下发的数据包转发到终端设备。
6.根据权利要求5所述的装置,其特征在于,所述扫描单元具体用于:
当FPGA所连接的终端设备启动时,CPU对FPGA内部的总线拓扑结构以及所连接的终端设备进行扫描。
7.根据权利要求6所述的装置,其特征在于,所述下发单元具体用于:
根据扫描得到的FPGA内部的总线拓扑结构以及终端设备逻辑号,向FPGA下发终端设备配置数据包。
8.根据权利要求7所述的装置,其特征在于,所述接口选择单元具体用于:
对CPU下发的数据包进行解析,根据解析得到的终端设备逻辑号与所述存储的配置信息进行比较,以选择相应的PCIe信号接口。
CN201711487439.1A 2017-12-29 2017-12-29 一种基于PCIe信号接口扩展的数据包转发方法及装置 Active CN108234264B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711487439.1A CN108234264B (zh) 2017-12-29 2017-12-29 一种基于PCIe信号接口扩展的数据包转发方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711487439.1A CN108234264B (zh) 2017-12-29 2017-12-29 一种基于PCIe信号接口扩展的数据包转发方法及装置

Publications (2)

Publication Number Publication Date
CN108234264A true CN108234264A (zh) 2018-06-29
CN108234264B CN108234264B (zh) 2021-05-28

Family

ID=62646523

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711487439.1A Active CN108234264B (zh) 2017-12-29 2017-12-29 一种基于PCIe信号接口扩展的数据包转发方法及装置

Country Status (1)

Country Link
CN (1) CN108234264B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109388597A (zh) * 2018-09-30 2019-02-26 杭州迪普科技股份有限公司 一种基于fpga的数据交互方法及装置
CN109783407A (zh) * 2019-01-14 2019-05-21 武汉精立电子技术有限公司 一种基于fpga实现pc与显卡桥接的装置及方法
CN110413471A (zh) * 2019-07-29 2019-11-05 杭州迪普科技股份有限公司 一种fpga内部信号数据获取方法、系统
CN112988631A (zh) * 2019-12-16 2021-06-18 西安西电电力系统有限公司 一种基于现场可编程门阵列的数据处理方法及装置
CN114567569A (zh) * 2022-02-25 2022-05-31 西安微电子技术研究所 一种PCIe仿真数据可视化方法、系统、设备及介质
CN115277407A (zh) * 2022-07-25 2022-11-01 北京天融信网络安全技术有限公司 网口配置处理方法、装置、电子设备和存储介质
CN116701275A (zh) * 2023-08-01 2023-09-05 浪潮电子信息产业股份有限公司 终端设备扩展设备、方法、装置及总线标准设备

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110182300A1 (en) * 2010-01-27 2011-07-28 Sundeep Chandhoke Network Traffic Shaping for Reducing Bus Jitter on a Real Time Controller
CN102739490A (zh) * 2012-06-26 2012-10-17 国电南瑞科技股份有限公司 一种基于PCIe总线的多路同步以太网扩展系统
CN202535384U (zh) * 2012-03-12 2012-11-14 杭州海莱电子科技有限公司 基于PCIe总线的网络设备扩展连接和虚拟机互连优化系统
CN203149556U (zh) * 2013-02-06 2013-08-21 杭州海莱电子科技有限公司 可编程刀片服务器结构
CN203191892U (zh) * 2013-04-08 2013-09-11 浪潮电子信息产业股份有限公司 一种基于fpga多端口可配的板卡
CN103324596A (zh) * 2013-03-19 2013-09-25 中国科学院声学研究所 一种基于x86体系结构处理器的VME单板计算机装置
CN103778095A (zh) * 2014-01-08 2014-05-07 无锡众志和达数据计算股份有限公司 一种基于FPGA芯片的sata扩展架构
CN103792854A (zh) * 2014-03-03 2014-05-14 上海科梁信息工程有限公司 基于模块化多电平换流器的柔性直流输电半实物仿真系统
CN104252435A (zh) * 2014-08-29 2014-12-31 北京航天自动控制研究所 基于动态可重构fpga的可变结构智能接口及其配置方法
CN104460858A (zh) * 2014-11-04 2015-03-25 中国电子科技集团公司第三十二研究所 多接口io扩展刀片及刀片服务器
CN105335326A (zh) * 2015-10-10 2016-02-17 广州慧睿思通信息科技有限公司 一种基于fpga的pcie转sata接口阵列的装置
CN205827184U (zh) * 2016-07-18 2016-12-21 南京悠阔电气科技有限公司 一种基于fpga外扩设备的通信管理机

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110182300A1 (en) * 2010-01-27 2011-07-28 Sundeep Chandhoke Network Traffic Shaping for Reducing Bus Jitter on a Real Time Controller
CN202535384U (zh) * 2012-03-12 2012-11-14 杭州海莱电子科技有限公司 基于PCIe总线的网络设备扩展连接和虚拟机互连优化系统
CN102739490A (zh) * 2012-06-26 2012-10-17 国电南瑞科技股份有限公司 一种基于PCIe总线的多路同步以太网扩展系统
CN203149556U (zh) * 2013-02-06 2013-08-21 杭州海莱电子科技有限公司 可编程刀片服务器结构
CN103324596A (zh) * 2013-03-19 2013-09-25 中国科学院声学研究所 一种基于x86体系结构处理器的VME单板计算机装置
CN203191892U (zh) * 2013-04-08 2013-09-11 浪潮电子信息产业股份有限公司 一种基于fpga多端口可配的板卡
CN103778095A (zh) * 2014-01-08 2014-05-07 无锡众志和达数据计算股份有限公司 一种基于FPGA芯片的sata扩展架构
CN103792854A (zh) * 2014-03-03 2014-05-14 上海科梁信息工程有限公司 基于模块化多电平换流器的柔性直流输电半实物仿真系统
CN104252435A (zh) * 2014-08-29 2014-12-31 北京航天自动控制研究所 基于动态可重构fpga的可变结构智能接口及其配置方法
CN104460858A (zh) * 2014-11-04 2015-03-25 中国电子科技集团公司第三十二研究所 多接口io扩展刀片及刀片服务器
CN105335326A (zh) * 2015-10-10 2016-02-17 广州慧睿思通信息科技有限公司 一种基于fpga的pcie转sata接口阵列的装置
CN205827184U (zh) * 2016-07-18 2016-12-21 南京悠阔电气科技有限公司 一种基于fpga外扩设备的通信管理机

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109388597A (zh) * 2018-09-30 2019-02-26 杭州迪普科技股份有限公司 一种基于fpga的数据交互方法及装置
CN109388597B (zh) * 2018-09-30 2020-06-09 杭州迪普科技股份有限公司 一种基于fpga的数据交互方法及装置
CN109783407A (zh) * 2019-01-14 2019-05-21 武汉精立电子技术有限公司 一种基于fpga实现pc与显卡桥接的装置及方法
CN110413471A (zh) * 2019-07-29 2019-11-05 杭州迪普科技股份有限公司 一种fpga内部信号数据获取方法、系统
CN112988631A (zh) * 2019-12-16 2021-06-18 西安西电电力系统有限公司 一种基于现场可编程门阵列的数据处理方法及装置
CN114567569A (zh) * 2022-02-25 2022-05-31 西安微电子技术研究所 一种PCIe仿真数据可视化方法、系统、设备及介质
CN114567569B (zh) * 2022-02-25 2023-10-20 西安微电子技术研究所 一种PCIe仿真数据可视化方法、系统、设备及介质
CN115277407A (zh) * 2022-07-25 2022-11-01 北京天融信网络安全技术有限公司 网口配置处理方法、装置、电子设备和存储介质
CN115277407B (zh) * 2022-07-25 2024-01-23 北京天融信网络安全技术有限公司 网口配置处理方法、装置、电子设备和存储介质
CN116701275A (zh) * 2023-08-01 2023-09-05 浪潮电子信息产业股份有限公司 终端设备扩展设备、方法、装置及总线标准设备
CN116701275B (zh) * 2023-08-01 2023-11-07 浪潮电子信息产业股份有限公司 终端设备扩展设备、方法、装置及总线标准设备

Also Published As

Publication number Publication date
CN108234264B (zh) 2021-05-28

Similar Documents

Publication Publication Date Title
CN108234264A (zh) 一种基于PCIe信号接口扩展的数据包转发方法及装置
CN105703883B (zh) 在统一协议通信中交换错误信息的装置、方法和系统
CN100568211C (zh) 用可编程器件实现访问多个i2c从器件的方法及装置
CN104298579B (zh) 一种逻辑芯片以及包含该逻辑芯片的板卡装置
KR20210033996A (ko) 전용 저 레이턴시 링크를 사용한 다수의 하드웨어 가속기에 대한 통합된 어드레스 공간
US11398981B2 (en) Path creation method and device for network on chip and electronic apparatus
CN105549847B (zh) 一种歌曲播放界面的图片显示方法及用户终端
CN110380992A (zh) 报文处理方法、装置及网络流量采集设备
US20200260277A1 (en) Method for wireless access authentication
CN111144402A (zh) Ocr识别准确率的计算方法、装置、设备以及存储介质
CN112416824B (zh) efuse读写控制器、芯片、电子设备及控制方法
KR20210000648A (ko) 복수의 칩 사이의 통신 지원 방법, 장치, 전자 기기 및 컴퓨터 저장 매체
CN109165185B (zh) 一种基于FPGA的PCIe信号的转换方法及装置
CN110209605A (zh) Pcie总线网卡的寄存器读写方法和计算设备
CN101369191B (zh) 一种多计算机切换装置以及实现方法
KR20110134465A (ko) 데이터 전송 시스템 및 그 데이터 판독 방법
CN103106177B (zh) 多核网络处理器的片上互联结构及其方法
CN106789440B (zh) 一种ip包包头检测方法及装置
CN106855846A (zh) 一种基于PCIE Switch的PCIE信号扩展系统及方法
CN106610913A (zh) 卡池的处理方法及装置、卡池系统
CN108038069A (zh) 一种针对rssd开发的硬盘背板及其设计方法
CN105551500B (zh) 一种音频信号处理方法及装置
JP5244362B2 (ja) 高速ネットワークシステム及び関連装置
CN103368959A (zh) RapidIO报文和InfiniBand报文之间的转换方法及装置
CN207037638U (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
GR01 Patent grant
GR01 Patent grant