CN112231263B - 一种fpga夹层卡拓展装置 - Google Patents

一种fpga夹层卡拓展装置 Download PDF

Info

Publication number
CN112231263B
CN112231263B CN202011181149.6A CN202011181149A CN112231263B CN 112231263 B CN112231263 B CN 112231263B CN 202011181149 A CN202011181149 A CN 202011181149A CN 112231263 B CN112231263 B CN 112231263B
Authority
CN
China
Prior art keywords
interface
interfaces
module
fmc
data
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.)
Active
Application number
CN202011181149.6A
Other languages
English (en)
Other versions
CN112231263A (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.)
Chaoyue Technology Co Ltd
Original Assignee
Chaoyue Technology 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 Chaoyue Technology Co Ltd filed Critical Chaoyue Technology Co Ltd
Priority to CN202011181149.6A priority Critical patent/CN112231263B/zh
Publication of CN112231263A publication Critical patent/CN112231263A/zh
Application granted granted Critical
Publication of CN112231263B publication Critical patent/CN112231263B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0842Multiuser, multiprocessor or multiprocessing cache systems for multiprocessing or multitasking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • 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/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1642Handling requests for interconnection or transfer for access to memory bus based on arbitration with request queuing

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)
  • Communication Control (AREA)

Abstract

本发明提出了一种FPGA夹层卡拓展装置,包括:主控模块、接口模块、缓存模块以及FMC接口;其中,接口模块配置有多个数据接口;主控模块分别与接口模块、缓存模块以及FMC接口连接;主控模块配置用于同步与接口模块上的多个数据接口进行通信,并将从数据接口获得的数据依次保存在缓存模块中,以根据来自FMC接口的通信请求从缓存模块中提取并返回相应的数据。本发明提出的FMC拓展装置通过同步的与多个外部设备进行通信,并将获得的数据保存在缓存模块,一方面,利用缓存模块的高速读写速度能力,实现对FMC通信能力的充分利用,另一方面,也使得载卡不再受接口单一的限制,可以更灵活的与更多的具有不同接口的外部设备进行通信。

Description

一种FPGA夹层卡拓展装置
技术领域
本发明涉及数据通信技术领域,尤其涉及一种FPGA夹层卡拓展装置。
背景技术
FMC(FPGA Mezzanine Card,FPGA夹层卡),用于分离FPGA的I/O端口和与其连接的通讯部件,以简化FPGA的I/O接口设计。FMC的上游连接有FPGA母板,FPGA母板上载有一个或多个载卡,FMC的下游连接有多个通讯部件,多个通信部件通过FMC实现与载卡的通信。
现有的FMC支持高达10Gb/s的信号传输速率,FMC与载卡之间的潜在总带宽达40Gb/s。然而,现有的FMC大多仅配置有一个数据接口,其难以完全发挥FMC的通信能力,且使得载卡的应用受限。
发明内容
为了解决背景技术中所提到的技术问题,本发明提出了一种FPGA夹层卡拓展装置,包括:主控模块、接口模块、缓存模块以及FMC接口;其中,所述接口模块配置有多个数据接口;所述主控模块分别与所述接口模块、所述缓存模块以及所述FMC接口连接;所述主控模块配置用于同步与所述接口模块上的多个数据接口进行通信,并将从数据接口获得的数据依次保存在所述缓存模块中,以及根据来自所述FMC接口的通信请求从缓存模块中提取并返回相应的数据。
在一个或多个实施例中,所述缓存模块中预设有例化的FIFO算法。
在一个或多个实施例中,所述多个数据接口的组成包括:由同种接口组成;或者由不同种接口组成;或者由一部分同种接口和一部分不同种接口组成;其中,所述同种接口为具有相同物理结构且预置有相同的通信协议的接口,所述不同种接口为具有不同物理结构或预置有不同通信协议的接口。
在一个或多个实施例中,所述主控模块还配置用于当所述多种接口中具有同种接口时,为所述同种接口分配编号。
在一个或多个实施例中,所述主控模块还配置用于当所述多个数据接口连接有外部设备时,获取所述外部设备的设备名称及设备编号并与对应的数据接口进行绑定。
在一个或多个实施例中,所述主控模块还配置用于当所述多个数据接口与对应的外部设备的断开时长超过预设阈值时,解除对应数据接口与对应外部设备的设备名称及设备编号的绑定。
在一个或多个实施例中,所述通信请求中包含所要请求通信的设备的设备名称或设备编号。
在一个或多个实施例中,所述多个数据接口包括:UART接口、CAN接口、IIC接口、SPI接口和SFP接口。
在一个或多个实施例中,所述主控模块包括:FPGA模块。
在一个或多个实施例中,所述缓存模块包括:DDR4存储模块。
本发明的有益效果包括:本发明提出的FMC拓展装置通过同步的与多个外部设备进行通信,并将获得的数据保存在缓存模块中,一方面,利用缓存模块的高速读写速度能力,实现对FMC通信能力的充分利用,另一方面,也使得载卡不再受接口单一的限制而使得载卡的应用范围更广,可以灵活的与更多的具有不同接口的外部设备进行通信。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
图1为本发明的FMC拓展装置的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。
需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定,后续实施例对此不再一一说明。
本发明提出了一种FPGA夹层卡(FPGAMezzanine Card FMC)拓展装置(后续简称FMC拓展装置)。其中,FPGA即Field Programmable Gate Array现场可编程逻辑门阵列。本发明提出的FMC拓展装置通过同步的与多个外部设备进行通信,并将获得的数据保存在缓存模块中,一方面,利用缓存模块的高速读写速度能力,实现对FMC通信能力的充分利用,另一方面,也使得载卡不再受接口单一的限制而使得载卡的应用范围更广(可以与更多的具有不同接口的外部设备进行通信)。本发明的FMC拓展装置如下图所示。
图1为本发明的FMC拓展装置的结构示意图。图1示出的FMC拓展装置包括:主控模块100、接口模块200、缓存模块300以及FMC接口400;其中,接口模块400配置有多个数据接口;主控模块100分别与接口模块200、缓存模块300以及FMC接口400连接;主控模块100配置用于同步与所述接口模块200上的多个数据接口进行通信,并将从数据接口获得的数据依次保存在缓存模块300中,以及根据来自所述FMC接口400的通信请求从缓存模块中提取并返回相应的数据。
具体的,缓存模块中预设有例化的FIFO(First Input First Output)先入先出队列算法,用于根据FPGA母板上多个载卡的通信请求顺序,将获得的来自外部通信设备的数据依次保存在缓存模块中。其中,载卡的通信请求由FMC接口获取。本发明的FMC接口并不是一种特定类型的接口,所谓的FMC接口即是用于与FMC进行通信的接口,具体的接口类型由其将要拓展的FMC上的接口类型决定。在一个可选的实施例中,FMC接口为接口模块中配置的多种数据接口中的一个,具体实现方式容后说明。
接口模块采用模块化方式配置有多个数据接口。多个数据接口的组成包括由同种接口组成;或者由不同种接口组成;或者由一部分同种接口和一部分不同种接口组成;其中,同种接口为具有相同物理结构且预置有相同的通信协议的接口,不同种接口为具有不同物理结构或预置有不同通信协议的接口。通过将接口模块的配置模块化使得本发明的FMC拓展装置可以更加灵活的配置数据接口,以灵活的实现与外部设备的通信,并简化I/O端口的设计。
在一个优选的实施例中,主控模块还配置用于当所述多种接口中具有同种接口时,为所述同种接口分配编号;当所述多个数据接口连接有外部设备时,获取所述外部设备的设备名称及设备编号并与对应的数据接口进行绑定。
在上述实施例的基础上,FMC接口可以为接口模块中配置的多种数据接口中的一个,其具体实现方式包括:当主控模块识别到获得的设备名称及设备编号为FMC时,以该数据接口作为与上游设备(包括FMC、FPGA母板及其上的载卡)通信的FMC接口。
在进一步的实施例中,当FPGA母板上的载卡与其对应的外部设备的通信难以充分利用一块FMC的通信能力时,可以采用两块FPGA母板共用一个FMC的方式,此时,由于本发明的FMC拓展装置具有缓存模块,可以根据通信请求的顺序返回响应的数据,因此,可以确保上述使用情况的发生。
在进一步的实施例中,主控模块还配置用于当多个数据接口与对应的外部设备的断开时长超过预设阈值时,解除对应数据接口与对应外部设备的设备名称及设备编号的绑定。通过本实施的方案,使得临时的断开连接并不会影响上下游设备的正常通信,并且在需要更换上下游设备时更加方便和快捷。
为了保证上述实施例的正常实施,本发明的提及的通信请求应包含所要请求通信的设备的设备名称或设备编号。例如,当采用报文的形式进行通信时,上述设备名称或编号配置在该报文的报文头中。
更具体的,上述各实施例中的多个数据接口包括UART接口、CAN接口、IIC接口、SPI接口和SFP接口。其中,上述各接口并不具体限定接口的物理结构,而是指其所配置的通信协议。
本发明的主控模块具体为FPGA模块,其具有较强的并行处理能力,适合同步处理多线程任务,如与多个外部设备同步通信以获取数据,以及同步接收来自多个载卡的通信请求等。
存储模块具体可采用目前最新的DDR4存储模块,以利用其高速读写能力实现对FMC通信能力的充分利用,并提升载卡的使用效率(可以与更多的具有不同接口的外部设备进行通信)。
需说明的是,本发明中所谓的上游设备和下游设指的是以FMC进行通信枢纽的通信设备,上游和下游的概念并不构成对设备具体设置方式的限定。
以上是本发明公开的示例性实施例,但是应当注意,在不背离权利要求限定的本发明实施例公开的范围的前提下,可以进行多种改变和修改。根据这里描述的公开实施例的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。此外,尽管本发明实施例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。
应当理解的是,在本文中使用的,除非上下文清楚地支持例外情况,单数形式“一个”旨在也包括复数形式。还应当理解的是,在本文中使用的“和/或”是指包括一个或者一个以上相关联地列出的项目的任意和所有可能组合。
上述本发明实施例公开实施例序号仅仅为了描述,不代表实施例的优劣。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本发明实施例公开的范围(包括权利要求)被限于这些例子;在本发明实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上的本发明实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。

Claims (10)

1.一种FPGA夹层卡拓展装置,其特征在于,包括:
主控模块、接口模块、缓存模块以及FMC接口;
其中,所述接口模块配置有多个数据接口;
所述主控模块分别与所述接口模块、所述缓存模块以及所述FMC接口连接;所述主控模块配置用于同步与所述接口模块上的多个数据接口进行通信,并将从所述数据接口获得的数据依次保存在所述缓存模块中,以及根据来自所述FMC接口的通信请求从所述缓存模块中提取并返回相应的数据;
其中,所述缓存模块中预设有先入先出队列算法,用于根据所述通信请求顺序将所述数据依次保存在所述缓存模块中。
2.如权利要求1所述的FPGA夹层卡拓展装置,其特征在于,所述缓存模块中预设有例化的FIFO算法。
3.如权利要求2所述的FPGA夹层卡拓展装置,其特征在于,所述多个数据接口的组成包括:
由同种接口组成;或者
由不同种接口组成;或者
由一部分同种接口和一部分不同种接口组成;
其中,所述同种接口为具有相同物理结构且预置有相同的通信协议的接口,所述不同种接口为具有不同物理结构或预置有不同通信协议的接口。
4.如权利要求3所述的FPGA夹层卡拓展装置,其特征在于,所述主控模块还配置用于当所述多种接口中具有同种接口时,为所述同种接口分配编号。
5.如权利要求1所述的FPGA夹层卡拓展装置,其特征在于,所述主控模块还配置用于当所述多个数据接口连接有外部设备时,获取所述外部设备的设备名称及设备编号并与对应的数据接口进行绑定。
6.如权利要求5所述的FPGA夹层卡拓展装置,其特征在于,所述主控模块还配置用于当所述多个数据接口与对应的外部设备的断开时长超过预设阈值时,解除对应数据接口与对应外部设备的设备名称及设备编号的绑定。
7.如权利要求1所述的FPGA夹层卡拓展装置,其特征在于,所述通信请求中包含所要请求通信的设备的设备名称或设备编号。
8.如权利要求1或3所述的FPGA夹层卡拓展装置,其特征在于,所述多个数据接口包括:UART接口、CAN接口、IIC接口、SPI接口和SFP接口。
9.如权利要求1所述的FPGA夹层卡拓展装置,其特征在于,所述主控模块包括:FPGA模块。
10.如权利要求1所述的FPGA夹层卡拓展装置,其特征在于,所述缓存模块包括:DDR4存储模块。
CN202011181149.6A 2020-10-29 2020-10-29 一种fpga夹层卡拓展装置 Active CN112231263B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011181149.6A CN112231263B (zh) 2020-10-29 2020-10-29 一种fpga夹层卡拓展装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011181149.6A CN112231263B (zh) 2020-10-29 2020-10-29 一种fpga夹层卡拓展装置

Publications (2)

Publication Number Publication Date
CN112231263A CN112231263A (zh) 2021-01-15
CN112231263B true CN112231263B (zh) 2022-12-09

Family

ID=74109881

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011181149.6A Active CN112231263B (zh) 2020-10-29 2020-10-29 一种fpga夹层卡拓展装置

Country Status (1)

Country Link
CN (1) CN112231263B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103856761A (zh) * 2014-03-14 2014-06-11 山东大学 基于Zynq-7000的图像监控系统
CN110362433A (zh) * 2018-04-11 2019-10-22 徐伟 能够进行多接口测试的系统

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101127785B (zh) * 2007-09-14 2010-09-29 福建星网锐捷网络有限公司 Pf接口和spi3接口之间的接口转换发送、接收方法及装置
CN103927276B (zh) * 2014-03-14 2017-03-22 山东大学 基于Zynq‑7000的PCM FMC扩展板及其工作方法
CN204925710U (zh) * 2015-07-29 2015-12-30 上海电气集团股份有限公司 一种用于多路驱动器并行控制的fmc子卡
CN107733546B (zh) * 2017-11-07 2023-11-10 武汉华讯国蓉科技有限公司 一种时间信息同步系统及方法
CN110362058A (zh) * 2018-04-11 2019-10-22 徐伟 用于多个接口进行测试的系统
CN108563607A (zh) * 2018-04-13 2018-09-21 成都赫尔墨斯科技股份有限公司 一种用于在航电系统中提高通信与处理速度的装置和方法
CN108710596A (zh) * 2018-05-10 2018-10-26 中国人民解放军空军工程大学 一种基于dsp和fpga多协处理卡的桌面超算硬件平台
CN109799810A (zh) * 2019-01-31 2019-05-24 北京无线电测量研究所 一种单板控制板的监测装置及系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103856761A (zh) * 2014-03-14 2014-06-11 山东大学 基于Zynq-7000的图像监控系统
CN110362433A (zh) * 2018-04-11 2019-10-22 徐伟 能够进行多接口测试的系统

Also Published As

Publication number Publication date
CN112231263A (zh) 2021-01-15

Similar Documents

Publication Publication Date Title
US20220066976A1 (en) PCI Express to PCI Express based low latency interconnect scheme for clustering systems
CN105516191B (zh) 基于fpga实现的万兆网tcp协议卸载引擎toe的系统
WO2021207919A1 (zh) 控制器、存储器件访问系统、电子设备和数据传输方法
CN105335327A (zh) 基于Soc的可重构/双冗余VPX3U信号处理载板
US20030026287A1 (en) Method and system for managing time division multiplexing (TDM) timeslots in a network switch
WO2006029273A1 (en) Apparatus and method for fibre channel distance extension embedded within an optical transport system
US11671522B2 (en) System and method for memory access in server communications
WO2006090408A2 (en) Input/output tracing in a protocol offload system
CN103441937A (zh) 组播数据的发送方法和接收方法
CN104022775A (zh) 一种面向SerDes技术中基于FIFO协议的数字接口电路
CN105426329A (zh) 基于嵌入式万兆网硬协议栈的信号高速采集转发实现方法
CN103136163A (zh) 可配置实现fc-ae-asm和fc-av协议的协议处理器芯片
CN107247631B (zh) 通用的gpon-olt系统板间通信中间件系统
CN103117962B (zh) 一种星载共享存储交换装置
CN112231263B (zh) 一种fpga夹层卡拓展装置
CN101094176A (zh) 多通道数据处理方法及装置
CN117009276B (zh) 一种基于axi总线的信号压缩传输的方法、装置及系统
US20150026397A1 (en) Method and system for providing memory module intercommunication
CN112468162B (zh) 双发万兆网中频信号处理机和双路径系统及数据传输方法
CN212484353U (zh) 一种基于Open VPX的雷达信号处理装置
EP2060979A1 (de) Paralleles Computersystem, Verfahren zum parallelen Verarbeiten von Daten
CN102089750B (zh) 将串行scsi阵列控制器连接至存储区域网络的系统
CN108073541A (zh) 一种实现网卡多路节点复用的方法及系统
CN213028113U (zh) 网络安全数据采集存储系统
CN113918498B (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
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 250104 No. 2877 Kehang Road, Sun Village Town, Jinan High-tech Zone, Shandong Province

Applicant after: Chaoyue Technology Co.,Ltd.

Address before: 250104 No. 2877 Kehang Road, Sun Village Town, Jinan High-tech Zone, Shandong Province

Applicant before: SHANDONG CHAOYUE DATA CONTROL ELECTRONICS Co.,Ltd.

GR01 Patent grant
GR01 Patent grant