一种基于FPGA高速串行总线实现高效数据收发功能的装置的制作方法

文档序号:33662702发布日期:2023-03-29 11:06阅读:154来源:国知局
一种基于FPGA高速串行总线实现高效数据收发功能的装置的制作方法
一种基于fpga高速串行总线实现高效数据收发功能的装置
技术领域
1.本实用新型属于数据传输设备领域,具体涉及一种基于fpga高速串行总线实现高效数据收发功能的装置。


背景技术:

2.随着adc、dac采样率提高以及图像传感器像素增大,实时产生的数据量达到几十gbyte/s以上,如何将其安全高效地分发和传输成为业界必须解决的问题。fpga(field-programmable gatearray,现场可编程门阵列)依靠其丰富的逻辑资源以及灵活可编程的高速串行总线收发器gt(gigabit transceiver),成为定制化收发电路的最佳实现方式,近年来在工业、军事、航空航天等领域得到越来越广泛的应用。
3.现有技术如图1所示,主要由发送器、fpga模块、接收器以及时钟源组成,其中fpga模块进一步划分为数据接收单元、数据管理与处理单元、数据发送单元以及若干gt。接收数据时,fpga模块首先通过jesd204b总线从发送器获取采样数据,然后数据接收单元对其进行协议解析和处理,最后由数据管理与处理单元进行数据处理和管理。发送数据时,数据管理与处理单元首先将已处理的数据、存储的数据或者外部输入的数据传送到数据发送单元,数据发送单元按照aurora总线协议对数据组包并使用若干gt将数据传输到接收器,接收器再进一步通过天线等将信号向空间辐射。为了表达方便且不失一般性,数据发送与接收均使用了8组gt。因接收jesd204b协议与发送aurora协议不同,接收gt与发送gt未能共用。
4.该数据收发方案可以满足绝大部分数据收发应用场景,但对于超高速、低功耗、多通道、严同步的阵列信号采集回放场景则意味着巨大资源浪费甚至影响方案的可行性,存在如下不足:1)fpga的高速串行总线收发器gt高速硬件资源基本上仅使用了50%:接收数据过程中主要使用了gt的接收资源,而发送资源绝大部分时间处于闲置状态;发送数据过程中,主要使用了gt的发送资源,而接收资源绝大部分时间处于闲置状态。2)fpga的gt带宽未充分使用,数据传输效率难以达到95%,而总线的冗余使得数据同步性变差。


技术实现要素:

5.本实用新型的目的在于针对解决背景技术中提出的问题,提出一种基于fpga高速串行总线实现高效数据收发功能的装置。
6.为实现上述目的,本实用新型所采取的技术方案为:
7.本实用新型提出的一种基于fpga高速串行总线实现高效数据收发功能的装置,包括依次连接的发送器、fpga模块和接收器。
8.fpga模块,包括若干个高速串行总线收发器、数据接收单元、数据发送单元,以及将数据接收单元的数据进行处理后发送至数据发送单元的数据管理与处理单元。
9.各高速串行总线收发器包括用于接收发送器发送的数据并转发至数据接收单元的第一通道,以及用于接收数据发送单元提供的数据并发送至接收器的第二通道。
10.优选地,基于fpga高速串行总线实现高效数据收发功能的装置还包括时钟源,时钟源分别与发送器、fpga模块和接收器电连接,提供同源时钟。
11.优选地,高速串行总线收发器的接口为gtp、gtx、gth、gty或gtz高速串行总线接口。
12.优选地,发送器和第一通道之间,以及第二通道和接收器之间均通过高速串行总线连接。
13.优选地,发送器、第一通道和数据接收单元均设有jesd204b协议接口,数据发送单元、第二通道和接收器均设有aurora协议接口。
14.与现有技术相比,本实用新型的有益效果为:
15.1、本装置通过优化改进数据接收和发送逻辑,即使接收与发送使用不同的技术协议,依然可以同时使用gt的接收资源与发送资源,gt资源利用率接近100%,大幅提升数据传输能力,降低了硬件资源需求;
16.2、本装置中的fpga模块与发送器以及fpga模块与接收器之间共享同源时钟,高速串行总线两端的相位关系稳定,消除了因高速串行总线两端相位不稳定导致的时钟恢复冗余逻辑开销,使得数据传输效率能够长时间保持100%,解决高速串行总线长时间满带宽传输问题,消除了冗余时序带来时序不确定隐患,使得高速串行总线两端时序保持高度一致实现了多通道之间数据严格同步。
附图说明
17.图1为现有技术的数据收发装置;
18.图2为本实用新型基于fpga高速串行总线实现高效数据收发功能的装置的模块框图。
具体实施方式
19.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
20.需要说明的是,当组件被称为与另一个组件“连接”时,它可以直接与另一个组件连接或者也可以存在居中的组件。除非另有定义,本文所使用的所有的技术和科学术语与属于本技术的技术领域的技术人员通常理解的含义相同。本文中在本技术的说明书中所使用的术语只是为了描述具体的实施例的目的,不是在于限制本技术。
21.如图2所示,一种基于fpga高速串行总线实现高效数据收发功能的装置,包括基于fpga高速串行总线实现高效数据收发功能的装置包括依次连接的发送器、fpga模块和接收器。
22.fpga模块,包括若干个高速串行总线收发器、数据接收单元、数据发送单元,以及将数据接收单元的数据进行处理后发送至数据发送单元的数据管理与处理单元。
23.各高速串行总线收发器包括用于接收发送器发送的数据并转发至数据接收单元的第一通道,以及用于接收数据发送单元提供的数据并发送至接收器的第二通道。
24.具体为,发送器用于从外部采集、接收数据,具体表现形式可以为adc、相机、接口板等。接收器用于辐射、发送、传递数据,具体表现形式可以为dac、显示终端、接口板等。高速串行总线收发器(gt,gigabit transceiver),包括两个相互独立的接收通道(即第一通道)和发送通道(即第二通道)。图2中的gt_1到gt_8分别表示一个单独的gt。发送器从外部采集或者接收数据,按照jesd204b协议将数据发送至高速串行总线收发器的第一通道,第一通道再将数据以jesd204b协议发送至数据接收单元,数据接收单元通过fpga模块的内部接口发送至数据管理与处理单元进行处理;然后数据管理与处理单元将需要发送的数据通过fpga模块的内部接口将处理后的数据发送至数据发送单元,数据发送单元将数据以单向aurora协议传输到高速串行总线收发器的第二通道,第二通道进一步以单向aurora协议将数据传输到接收器,最后接收器将数据辐射或者发射出去。通过同时利用gt的接收通道和发送通道,实现数据的收发功能,提高gt的资源利用率,提高了传输能力,降低了资源消耗。本文jesd204b协议以及aurora协议仅为描述方便的示例,还可以为其他支持单向传输的高速串行总线传输协议。
25.fpga模块可以使用xilinx芯片,但不局限于该芯片。
26.在一个实施例中,基于fpga高速串行总线实现高效数据收发功能的装置还包括时钟源,时钟源分别与发送器、fpga模块和接收器电连接,提供同源时钟。
27.具体为,时钟源用于为发送器、fpga模块、接收器提供基准参考时钟或者采样时钟,实现同步,具体实现形式可以是独立时钟板也可以是整合到其他模块中的时钟模块,其核心是时钟生成芯片。
28.在一个实施例中,高速串行总线收发器的接口为gtp、gtx、gth、gty或gtz高速串行总线接口。
29.具体为,高速串行总线收发器的接口为gtp、gtx、gth、gty或gtz高速串行总线接口,但不限于以上高速串行总线接口。
30.在一个实施例中,发送器和第一通道之间,以及第二通道和接收器之间均通过高速串行总线连接。
31.在一个实施例中,发送器、第一通道和数据接收单元均设有jesd204b协议接口,数据发送单元、第二通道和接收器均设有aurora协议接口。
32.具体为,本实施例中,jesd204b协议以及aurora协议作为方便表述的示例,不作限制,还可以采用自定义rocketio等单向数据传输接口协议。
33.jesd204b-aurora的详细设计如下:
34.a)准备阶段:
35.jesd204b demo生成
36.使用vivado套件生成发送器到fpga模块的8lane@10gbps jesd204b协议接口,其中gt配置为mgthrx_118[7:4]与mgthrx_117[3:0],时钟源提供的参考时钟传送到fpga模块,fpga模块内部衍生出全局时钟、drp时钟等,且参考时钟配置为mgtrefclk0_117(250mhz),fpga模块内时钟pll类型选用qpll(quad锁相环)。
[0037]
aurora demo生成
[0038]
使用vivado套件产生fpga到接收器的8lane@10gbaudaurora协议接口,其接口协议参数配置:
[0039]
物理层
‑‑
线速率=10gbps,参考时钟=250mhz;
[0040]
链路层
‑‑
数据流模式=tx-only,接口=streaming,流控制=none。
[0041]
b)设计阶段:
[0042]
生成空项目:
[0043]
vivado套件生成空的项目,作为jesd204b-aurora的项目基础。
[0044]
逻辑资源设计:
[0045]
基于“jesd204b demo”中高速串行总线接收逻辑以及数据接收单元逻辑进行设计改进,设计成为jesd204b-aurora项目的jesd204b接收逻辑;基于“aurora demo”中高速串行总线发送逻辑以及数据发送单元逻辑进行设计改进,设计成为jesd204b-aurora项目的aurora发送逻辑。过程中特别关注底层如gthe2_channel等接收接口设计与发送接口设计,核心思路是将第二通道与第一通道整合进gthe2_channel。
[0046]
时钟资源设计:
[0047]
研究明确“jesd204b demo”和“aurora demo”中时钟关系以及时钟约束,在“jesd204b-aurora”使用qpll以及mmcm(fpga模块的时钟资源)等时钟资源生成前述demo中时序关系。
[0048]
复位资源设计:
[0049]
研究明确“jesd204b demo”和“aurora demo”中复位信号层级及其时序关系,在“jesd204b-aurora”中生成前述demo中信号复位时序关系。
[0050]
约束硬件资源和时序关系:
[0051]
使用项目jesd204b-aurora.xdc约束文件,将jesd204b与aurora硬件约束在同一个gt(mgt_bank_118、mgt_bank_117),同步约束全局时钟、参考时钟、drp等时钟频率。
[0052]
上述jesd204b-aurora详细设计能够将gt资源利用率从50%提高到近100%,大幅降低了成本和功耗。
[0053]
针对高速串行总线传输效率难以达到95%以上问题,本实施例中发送器、fpga模块、接收器共享同一时钟源,高速串行总线两端的相位关系稳定,消除了因高速串行总线两端相位不稳定导致的时钟恢复冗余逻辑开销,使得数据传输效率能够长时间保持100%。高速串行总线满带宽传输,消除了冗余逻辑带来时序不确定隐患,使得高速串行总线两端时序保持高度一致。
[0054]
本装置通过优化改进数据接收和发送逻辑,即使接收与发送使用不同的技术协议,依然可以同时使用gt的接收资源与发送资源,gt资源利用率接近100%,大幅提升数据传输能力,降低了硬件资源需求;本装置中的fpga模块与发送器以及fpga模块与接收器之间共享同源时钟,高速串行总线两端的相位关系稳定,消除了因高速串行总线两端相位不稳定导致的时钟恢复冗余逻辑开销,使得数据传输效率能够长时间保持100%,解决高速串行总线长时间满带宽传输问题,消除了冗余时序带来时序不确定隐患,使得高速串行总线两端时序保持高度一致实现了多通道之间数据严格同步。
[0055]
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0056]
以上所述实施例仅表达了本技术描述较为具体和详细的实施例,但并不能因此而
理解为对申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术专利的保护范围应以所附权利要求为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1