CN117130973A - 一种基于FPGA Serdes接口的高速数据传输架构 - Google Patents
一种基于FPGA Serdes接口的高速数据传输架构 Download PDFInfo
- Publication number
- CN117130973A CN117130973A CN202311298517.9A CN202311298517A CN117130973A CN 117130973 A CN117130973 A CN 117130973A CN 202311298517 A CN202311298517 A CN 202311298517A CN 117130973 A CN117130973 A CN 117130973A
- Authority
- CN
- China
- Prior art keywords
- module
- data
- link
- transmission
- user
- 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
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 110
- 238000001914 filtration Methods 0.000 claims abstract description 11
- 238000006243 chemical reaction Methods 0.000 claims abstract description 7
- 238000009432 framing Methods 0.000 claims abstract description 5
- 238000000034 method Methods 0.000 claims description 12
- 230000001360 synchronised effect Effects 0.000 claims description 9
- 230000003139 buffering effect Effects 0.000 claims description 3
- 238000012544 monitoring process Methods 0.000 claims description 3
- 230000003111 delayed effect Effects 0.000 claims description 2
- 108091006146 Channels Proteins 0.000 description 33
- 238000010586 diagram Methods 0.000 description 5
- 238000013461 design Methods 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000006798 recombination Effects 0.000 description 1
- 238000005215 recombination Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/17—Interprocessor communication using an input/output type connection, e.g. channel, I/O port
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4063—Device-to-bus coupling
- G06F13/4068—Electrical coupling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4221—Bus 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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)
- Software Systems (AREA)
- Communication Control (AREA)
Abstract
本发明公开了一种基于FPGA Serdes接口的高速数据传输架构,架构包括用户接口模块、FPGA Serdes接口模块、接收链路模块和发送链路模块,其中发送链路模块用于控制发送链路状态,读取用户接口模块数据,然后将用户数据进行组帧和编码,最后通过FPGA Serdes接口模块并串转化后发送,接收链路模块用于控制接收链路状态,接收FPGA Serdes接口模块串并转换后数据,然后对接收数据进行边界锁定和解码,最后把解码后数据传输至用户接口模块进行过滤缓存;本发明通过自定义的高速链路传输协议实现,不对用户数据增加额外的比特位,架构除了由FPGA Serdes接口提供底层硬件外,均由FPGA逻辑实现,用户接口逻辑为自定义的类FIFO接口,具有使用灵活、传输效率高、适配性强的特点。
Description
技术领域
本发明设计数据传输技术领域,具体地指一种基于FPGA Serdes接口的高速数据传输架构。
背景技术
Serdes是英文单词串行器(Serializer)和解串行器(De-Serializer)的合成词,可以称之为串行解串器。根据其功能来讲,Serdes就是在发送端将并行数据转换为串行数据,在接收端将串行数据恢复为并行数据的电路。Serdes主要包括高速串并转换电略、时钟数据恢复电路、数据编解码电路、时钟纠正和通道绑定等电路,为各种高速串行数据传输协议提供了物理层基础。
随着Serdes接口的广泛应用,许多高端的FPGA都内嵌有Serdes接口硬核。在FPGA中内嵌的Serdes的硬核,可以大大地扩张FPGA的数据吞吐量,节约功耗,提高性能,使FPGA在高速传输设计中扮演着日益重要的角色,目前Serdes接口支持多种主流的高速通信标准,比如SRIO、PCIe、SATA等,这些高速传输协议都是分层协议,比如PCIe具有事务层、数据链路层和物理层,物理层又可分为逻辑和电气子层,整体结构比较复杂,在FPGA上实现时会占用较多的逻辑资源,并且其应用层除了传输用户数据外,还需要发送控制消息、中断等,这导致用户逻辑设计往往比较复杂,增大了开发的难度,以上协议往往需要借助FPGASerdes的PCS层完成数据流的编码,而不同系列FPGA Serdes的PCS层所支持的编码具有一定的区别,比如8B/10B、64B/66B、128B/130B编解码,以上因素就导致现有的高速串行传输协议在FPGA的应用中具有一定的局限性。
所以本发明提供一种基于FPGA Serdes接口的高速数据传输架构,本发明通过自定义的高速链路传输协议实现,没有复杂的分层协议和用户层控制消息,不使用传统的8B/10B、64B/66B、128/130B编码,不增加额外的比特位,而是通过使用控制码型同步,边界锁定的方法恢复数据,架构除了由FPGA Serdes接口提供底层硬件实现外,不依赖IP核中的编码模块,整个架构均由FPGA逻辑实现,用户接口逻辑简单易开发,具有使用灵活、传输效率高、适配性强、易移植性好的特点。
发明内容
本发明的目的在于提供了一种基于FPGA Serdes接口的高速数据传输架构,克服现有高速串行数据传输协议架构复杂、开发难度大问题。
为了实现上述目的,本发明所设计的一种基于FPGA Serdes接口的高速数据传输架构,其包括用户接口模块、FPGA Serdes接口模块、接收链路模块、发送链路模块,所述FPGA Serdes接口模块分别与所述接收链路模块的数据输入端口和所述发送链路模块的数据输出端口相连;所述用户接口模块分别与所述接收链路模块的用户数据输出端口和所述发送链路模块的用户数据输入端口相连。
优选地,所述用户接口模块包括发送链路FIFO缓存、用户数据组包模块、用户数据过滤模块、接收链路FIFO缓存,其中所述发送链路FIFO缓存用于缓存用户发送数据,然后所述用户数据组包模块用于读取缓存中用户数据,在用户数据不足时,通过插入空字节0的方式维持链路传输状态,并按照自定义协议组包后发送至所述发送链路模块,所述用户数据过滤模块用于过滤所述接收链路模块输出的用户数据,去除掉用户数据包中的用于维持链路状态的空字节0,然后将有效数据存储至所述接收链路FIFO缓存。
所述用户接口模块对外的用户接口逻辑为自定义的类同步FIFO接口,除了读写数据接口RX_Data[239:0]和TX_Data[239:0]、读写使能接口RX_En和TX_En、FIFO空标志接口RX_Empty和FIFO满标志TX_Full外,只添加了2个读写有效接口RX_Rready和TX_Rready,当收发链路进入业务传输状态后拉高有效,RX_Empty和TX_Full为低电平时,即可进行数据传输,极大的简化了高速传输协议中用户应用层部分的设计逻辑,降低了开发难度。
所述发送链路模块包括发送链路控制模块、控制码生成模块、通道分发模块、链路编码模块;根据自定义协议,所述发送链路控制模块用于控制发送链路的链路状态与用户数据传输,具体为:控制所述控制码生成模块在多个传输通道中生成并发送自定义控制码,完成发送链路建立到业务传输的过程,所述通道分发模块用于分发用户数据到多个传输通道后传输至所述链路编码模块,所述链路编码模块对用户数据进行扰码编码,使用户数据变成01均衡的伪随机码型,然后通过所述FPGA Serdes接口模块完成发送。
所述接收链路模块包括数据锁定模块、链路解码模块、通道同步模块、接收链路控制模块;根据自定义协议,所述接收链路控制模块用于控制接收链路的链路状态和用户数据传输,具体为:所述数据锁定模块接收所述FPGA Serdes接口数据,使用边界定位算法,通过监测控制码型对前后两个周期的数据进行边界重定位,然后锁定边界后将正确数据传输至所述链路解码模块,所述链路解码模块对伪随机的用户数据进行解扰编码后发送至所述多通道同步模块,所述多通道同步模块对多个通道的有延迟数据进行同步对齐与组合,所述接收链路控制模块根据控制码型控制接收链路状态,进入业务传输状态后将接收到的用户数据包传输至所述用户接口模块。
本发明中放弃常规8B/10B、64B/66B、128B/130B编解码,不依赖FPGA Serdes接口的PCS层实现,而是使用自定义协议方式,通过数据的同步通过检测控制码型进行边界锁定的方法实现同步,即使是不同系列的Serdes接口均适用本架构,适配性与可移植性强。
所述FPGA Serdes接口模块用于为高速串行数据传输提供硬件实现基础,将所述发送链路模块的多通道数据进行并串转化,然后通过多条高速串行差分线进行传输,在接收端口,则完成高速串行数据的时钟锁定和数据的串并转化,然后发送至所述接收链路模块。
本发明的传输速率可以通过调整传输通道数的方法进行调整,只需增加所述通道分发模块和所述多通道同步模块中的数据位宽以及同步FIFO的数量,以及修改FPAGSerdes接口的数据位宽配置来动态调整架构带宽,架构的传输速率灵活可调。
本发明所设计的一种基于FPGA Serdes接口的高速数据传输架构,以4通道传输为例,其发送链路与接收链路的传输步骤为:
S1,发送链路先后发送时钟锁定和同步控制码型完成时钟锁定和链路建立,然后启动业务传输;
S2,启动业务传输后,先发送数据锁定码型,然后再发送编码后的用户数据至所述FPGA Serdes接口模块;
S3,当用户数据发送达到一定数量后,重复步骤S2;
S4,接收链路通过锁定检测控制码型,进而控制接收链路启动业务传输;
S5,接收链路根据数据锁定码型锁定接收数据边界,将4通道数据分别进行解码,然后将4通道数据对齐组合为数据包;
S6,将数据包发送至接收缓存进行过滤后存储。
优选地,步骤S1发送链路进入链路建立状态,4个通道发送1000个时钟锁定码AAAAAAAAAA,该码型不仅10均衡,而且时钟信息丰富,有利于接收端Serdes接口锁定链路时钟,接着再发送1000个同步控制码型55DCD955B4,然后发送链路进入业务传输状态;
优选地,步骤S2和S3中,进入业务传输状态后将用户数据平均分发到多个链路通道上,与数据锁定码型AADCD955B4组帧后发送,之后每发送500个用户数据包后各链路插入一个数据锁定码型使接收端重新锁定;
优选地,步骤S4中,采用边界搜索,对接收序列重新定界的方法锁定正确的数据。在数据接收过程中,通过移位寄存器存储前后两周期共80位数据,然后遍历搜索的方式,锁定控制码型,然后将该位置锁定为数据输出位;
优选地,步骤S5中,接收数据多通道同步方法为:由于各通道数据接收延迟不同,所以将各通道锁定数据,分别存放到各通道FIFO缓存中,当所有FIFO均存有数据后统一读出FIFO数据并按照下行链路分发规则组合成数据帧;
优选地,用户数据包原则为:数据包大小为200Bytes,第一字节为有效数据长度,后续为用户数据,当用户数据不足或无时,则用空字节填充,空字节不计入数据长度统计;
优选地,对FPGA Serdes接口使用以Xilinx FPGA为例,其配置如下:发送链路速率与发送链路速率和通道数量保持一致;编码与解码选择无编码:Raw(no encoding)模式;用户数据位宽(User data width)与内部总线数据位宽(Internal datawidth)保持一致,均设置为40bit;TxOUTCLK source和RxOUTCLK source分别选择TxOUTCLKPCS和RxOUTCLKPCS。
与现有技术相比,本发明的有益效果是:本发明提供一种基于FPGA Serdes接口的高速数据传输架构,本发明通过自定义的高速链路传输协议实现,没有复杂的分层协议和用户层控制消息,不使用传统的8B/10B、64B/66B、128/130B编码,不增加额外的比特位,而是通过使用控制码型同步,边界锁定的方法恢复数据,架构除了由FPGA Serdes接口提供底层硬件实现外,不依赖IP核中的编码模块,整个架构均由FPGA逻辑实现,用户接口逻辑简单易开发,具有使用灵活、传输效率高、适配性强、易移植性好的特点。
附图说明
图1是本发明基于FPGA Serdes接口的高速数据传输架构整体框架图;
图2是本发明基于FPGA Serdes接口的高速数据传输架构详细结构图;
图3是数据边界锁定方法原理图;
图4是多通道数据组合方法原理图;
图5是用户接口模块用户逻辑接口示意图。
具体实施方式
下面结合附图和具体实施例对本发明进一步详细说明,但本发明的实施方式不限于此。
如图1所示,以4通道传输为例,本发明提出的一种基于FPGA Serdes接口的高速数据传输架构,其包括用户接口模块、FPGA Serdes接口模块、接收链路模块、发送链路模块,其中所述FPGA Serdes接口模块分别与所述接收链路模块的数据输入端口和所述发送链路模块的数据输出端口相连;所述用户接口模块分别与所述接收链路模块的用户数据输出端口和所述发送链路模块的用户数据输入端口相连。
所述发送链路模块用于控制发送链路的状态,实现读取所述用户接口模块缓存数据,对用户数据进行组帧编码,并将其传输至所述FPGA Serdes接口模块;所述接收链路模块用于控制接收链路的状态,实现接收所述FPGA Serdes接口模块数据,根据链路规则重新锁定数据边界,恢复出正确发送数据后进行解码,并把用户数据写入所述用户接口模块缓存中。
具体地,如图2所示,所述用户接口模块包括发送链路FIFO缓存、用户数据组包模块、用户数据过滤模块、接收链路FIFO缓存;所述用户接口模块对外的用户接口逻辑为自定义的类FIFO接口,其中所述发送链路FIFO缓存用于缓存用户发送数据,然后所述用户数据组包模块用于读取缓存中用户数据并组帧发送至所述发送链路模块;所述用户数据过滤模块用于过滤接收链路模块输出的用户数据,去除掉用户数据包中的空字节,然后将有效数据存储至所述接收链路FIFO缓存。
具体地,如图2所示,所述发送链路模块包括发送链路控制模块、控制码生成模块、通道分发模块、链路编码模块;其中所述发送链路控制模块用于控制发送链路的链路状态与用户数据传输,具体为:根据自定义协议,控制所述控制码生成模块在4个传输通道中生成并发送自定义控制码,完成发送链路建立到业务传输的过程,所述通道分发模块用于分发用户数据到4个传输通道后传输至所述链路编码模块,所述链路编码模块对用户数据进行扰码编码,使用户数据变成01均衡的伪随机码型,然后通过所述FPGA Serdes接口模块完成发送。
具体地,如图2所示,所述接收链路模块包括数据锁定模块、链路解码模块、通道同步模块、接收链路控制模块;其中所述接收链路控制模块用于控制接收链路的链路状态和用户数据传输,具体为:根据自定义协议,所述数据锁定模块接收FPGA Serdes接口数据,然后使用边界定位算法,通过监测控制码型对前后两个周期的数据进行边界重定位,然后锁定边界后将正确数据传输至所述链路解码模块,所述链路解码模块对伪随机的用户数据进行解扰编码后发送至所述多通道同步模块,所述多通道同步模块对4个通道的有延迟数据进行同步对齐与组合,所述接收链路控制模块根据控制码型控制接收链路状态,进入业务传输状态后将接收到的用户数据包传输至所述用户接口模块。
更具体地,如表1所述控制码生成模块共包括3种自定义控制码型,分别为时钟锁定码型(该码型01均衡变化,携带了丰富的时钟信息,非常利于接收端Serdes模块锁定时钟频率)、同步控制码型和数据锁定码型(该类码型01均衡,是伪随机码型,利于接收端锁定恢复数据)。
表1自定义控制码型表
码型名称 | 码型内容 |
时钟锁定码型 | AAAAAAAAAA(40bit) |
同步控制码型 | AADCD955B4(40bit) |
数据锁定码型 | 55DCD955B4(40bit) |
更具体地,根据自定义协议,在本架构中所述通道同步模块包含有4组FIFO,位宽为40bit,深度为16,另外本架构只需对所述通道同步模块和所述通道分发模块的FIFO数,以及所述FPGA Serdes模块的Lane配置进行调整即可完成对传输通道数量的改变,进而改变总传输带宽。
具体地,所述FPGA Serdes模块为FPGA内部资源,通过调用Serdes模块IP核实现:发送端把4路40位并行数据转换为4路串行数据发送,接收端把4路串行数据转换为4路40bit并行数据接收,其IP核配置如下:RX链路与TX链路速率保持一致;编码与解码选择Raw(no encoding)模式;用户数据位宽(User data width)与内部总线数据位宽(Internaldatawidth)保持一致,均设置为40位。
在本实施例中,本发明提供的一种基于FPGA Serdes接口的高速数据传输架构包括:发送链路数据传输和接收链路数据传输,其中,所述发送链路数据传输的步骤为:
a1)所述发送链路控制模块控制链路进入链路建立状态,所述控制码生成模块向4个通道分别发送1000个时钟锁定码型AAAAAAAAAA;该码型10均衡变化,利于接收端Serdes模块锁定链路时钟;
a2)所述控制码生成模块接着向4个通道发送1000个同步控制码型55DCD955B4,使接收链路进入接收同步状态,然后所述发送链路控制模块进入业务传输状态;
a3)所述控制码生成模块接着向4个通道发送1个数据锁定码AADCD955B4,然后所述发送链路控制模块读取用户数据发送到所述通道分发模块进行分发;
a4)所述链路编码模块对4通道数据分别独立进行扰码编码,使接收端更利于提取位数据中的定时分量,再将4通道数据拼接后发送至所述FPGA Serdes模块对外发送;
a5)之后每发送500组用户数据包就重复步骤A3,重新发送数据锁定码。
接收链路数据传输的步骤为:
b1)通过所述FPGA Serdes模块数据接收口接收数据,将接收数据按照数据排布分发到4通道所述数据锁定模块;
b2)将4路40位并行数据通过所述数据锁定模块进行边界搜索锁定;
b3)接收链路建立阶段:锁定数据直接传输给所述接收链路控制模块进行状态识别,当连续3次检测到同步控制码型55DCD955B4后进入业务传输状态;
b4)业务传输状态:所述链路解码模块对锁定数据进行识别,当检测到AADCD955B4锁定码型后开启解码;
b5)将解码后数据传输到所述通道同步模块进行4通道数据同步与重组;
b6)将同步后数据发送到所述链路解码模块进行统计,然后转发给所述用户数据过滤模块进行接收缓存;
b7)当统计数据包达到500组后所述接收链路控制模块控制接收链路重复步骤b4-b6。
如图3所示,在本实施例中,由于所述FPGA Serdes模块在串并转换时会存在比特漂移的现象,需要对接收序列重新定界才能得到正确的数据,所以所述数据锁定模块通过边界搜索的方法锁定正确的数据边界,具体操作如下:
c1)将接收到的40位并行数据D1存放在一个80位宽的寄存器data_reg[79:40]处;
c2)当每个时钟周期来一个新的数据时,先将寄存器向低移动40位,再将新的并行数据D2存放在D1处,如此形成一个80bit数据序列;
c3)检测寄存器data_reg[39+n:n](n=0,1,2,……,40)的所有值,当该值等于锁定码型时即锁定此时位置x,然后data_reg[39+x:x]即为正确接收数据。
如图4所示,在本实施例中,当所述接收链路控制模块进入业务传输状态后,所述通道同步模块可以将4通道数据分别缓存进对应的4通道FIFO中,检测所有FIFO,当FIFO的空信号全部无效后开始读出数据,并按照自定义的所述通道分发模块顺序进行拼接,直到所有FIFO的空信号均拉高后一次用户数据传输读取完成。
当发送链路启动业务传输后,所述用户数据组包模块根据自定义协议,会读取发送链路缓存FIFO数据并进行组包:第一字节为数据长度,后面为数据载荷,数据包字节大小为200Bytes,因为根据高速传输特性,链路需要保持数据持续传输以维持高速链路时钟的锁定状态,所以当FIFO中用户数据不足或没有时数据包就用空字节0做填充进行组包,空字节不计入数据包长度。
当接收链路启动业务传输后,用户数据会读取所述接收链路模块数据,然后根据包头数据长度信息过滤掉空字节0,并将有效数据缓存进FIFO中。
如图5所示,在本实施例中,所述用户接口模块对外的用户接口逻辑为自定义的类同步FIFO接口,除了读写数据接口RX_Data[239:0]和TX_Data[239:0]、读写使能接口RX_En和TX_En、FIFO空标志接口RX_Empty和FIFO满标志TX_Full外,只添加了2个读写有效接口RX_Rready和TX_Rready,当收发链路进入业务传输状态后拉高有效,RX_Empty和TX_Full为低电平时,即可进行数据传输。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
Claims (4)
1.一种基于FPGA Serdes接口的高速数据传输架构,其特征在于,
包括用户接口模块、FPGA Serdes接口模块、接收链路模块、发送链路模块,所述FPGASerdes接口模块分别与所述接收链路模块的数据输入端口和所述发送链路模块的数据输出端口相连,所述用户接口模块分别与所述接收链路模块的用户数据输出端口和所述发送链路模块的用户数据输入端口相连;
所述用户接口模块包括:发送链路FIFO缓存模块、用户数据组包模块、用户数据过滤模块、接收链路FIFO缓存模块,所述用户接口模块用于用户数据的收发缓存,根据自定义协议将发送缓存数据组包后传输至所述发送链路模块,以及将所述接收链路模块接收数据过滤后进行缓存,并对用户接口部分提供一种类FIFO的用户接口;
所述发送链路模块包括:发送链路控制模块、控制码生成模块、通道分发模块、链路编码模块,所述发送链路模块用于控制发送链路的状态,根据自定义协议实现读取所述用户接口模块发送缓存数据,对用户数据进行组帧编码,并将其传输至所述FPGA Serdes接口模块进行并串转换后发送;
所述接收链路模块包括:数据锁定模块、链路解码模块、通道同步模块、接收链路控制模块,所述接收链路模块用于控制接收链路的状态,接收所述FPGA Serdes接口模块串并转换后的数据,根据自定义协议重新锁定接收数据边界,恢复出正确接收数据后进行解码,并把解码后用户数据传输至所述用户接口模块进行接收缓存。
2.根据权利要求1所述的一种基于FPGA Serdes接口的高速数据传输架构,其特征在于,
所述发送链路FIFO缓存用于缓存用户发送数据,然后所述用户数据组包模块用于读取缓存中用户数据,在用户数据不足时,通过插入空字节0的方式维持链路传输状态,并按照自定义协议组包后发送至所述发送链路模块,所述用户数据过滤模块用于过滤接收链路模块输出的用户数据,去除掉用户数据包中的用于维持链路状态的空字节0,然后将有效数据存储至所述接收链路FIFO缓存;
所述用户接口模块对外的用户接口逻辑为类同步FIFO接口,除了读写数据接口RX_Data[239:0]和TX_Data[239:0]、读写使能接口RX_En和TX_En、FIFO空标志接口RX_Empty和FIFO满标志TX_Full外,只添加了2个读写有效接口RX_Rready和TX_Rready,当收发链路进入业务传输状态后拉高有效,RX_Empty和TX_Full为低电平时,即可进行数据传输。
3.根据权利要求1所述的一种基于FPGA Serdes接口的高速数据传输架构,其特征在于,
所述发送链路控制模块用于控制发送链路的链路状态与用户数据传输;其中,
根据自定义协议,控制所述控制码生成模块在多个传输通道中生成并发送自定义控制码,完成发送链路建立到业务传输的过程,所述通道分发模块用于分发用户数据到多个传输通道后传输至所述链路编码模块,所述链路编码模块对用户数据进行扰码编码,使用户数据变成01均衡的伪随机码型,然后通过所述FPGA Serdes接口模块完成发送。
4.根据权利要求1所述的一种基于FPGA Serdes接口的高速数据传输架构,其特征在于,
接收链路控制模块用于控制接收链路的链路状态和用户数据传输,其中,
根据自定义协议,所述数据锁定模块接收FPGA Serdes接口数据,然后使用边界定位算法,通过监测控制码型对前后两个周期的数据进行边界重定位,然后锁定边界后将正确数据传输至所述链路解码模块,所述链路解码模块对伪随机的用户数据进行解扰编码后发送至所述多通道同步模块,所述多通道同步模块对多个通道的有延迟数据进行同步对齐与组合,所述接收链路控制模块根据控制码型控制接收链路状态,进入业务传输状态后将接收到的用户数据包传输至所述用户接口模块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311298517.9A CN117130973A (zh) | 2023-10-09 | 2023-10-09 | 一种基于FPGA Serdes接口的高速数据传输架构 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311298517.9A CN117130973A (zh) | 2023-10-09 | 2023-10-09 | 一种基于FPGA Serdes接口的高速数据传输架构 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117130973A true CN117130973A (zh) | 2023-11-28 |
Family
ID=88852889
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311298517.9A Pending CN117130973A (zh) | 2023-10-09 | 2023-10-09 | 一种基于FPGA Serdes接口的高速数据传输架构 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117130973A (zh) |
-
2023
- 2023-10-09 CN CN202311298517.9A patent/CN117130973A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6738935B1 (en) | Coding sublayer for multi-channel media with error correction | |
US6496540B1 (en) | Transformation of parallel interface into coded format with preservation of baud-rate | |
CN109947681B (zh) | 串化/解串器及高速接口协议交换芯片 | |
KR100940959B1 (ko) | 광 전송 시스템 내에 내장된 파이버 채널 거리 연장을 위한장치 및 방법 | |
CN111131091B (zh) | 一种面向片上网络的片间互连方法和系统 | |
EP1388975B1 (en) | System and method for data transition control in a multirate communication system | |
US5559796A (en) | Delay control for frame-based transmission of data | |
US8340005B1 (en) | High speed packet interface and method | |
WO2009067899A1 (fr) | Procédé et dispositif de codage de données et de décodage de données | |
CN102710240B (zh) | 信号处理装置、方法、serdes和处理器 | |
US7050468B2 (en) | Multiplexed signal transmitter/receiver, communication system, and multiplexing transmission method | |
WO2014106319A1 (zh) | 以太网中处理数据的方法、物理层芯片和以太网设备 | |
US11082539B2 (en) | System and method for performing interpacket gap repair for lossy protocols | |
CN101035143B (zh) | 一种物理层芯片、传输信号的方法及交换机 | |
US7362779B1 (en) | Transmission of data frames as a plurality of subframes over a plurality of channels | |
WO2011060669A1 (zh) | 一种串行和解串行的方法及装置 | |
US6934301B2 (en) | Method and apparatus for converting data packets between a higher bandwidth network and a lower bandwidth network | |
CN109951750B (zh) | 基于FlexE一层交叉架构的数据处理方法及系统 | |
WO2016101682A1 (zh) | 一种处理信号的方法及通信设备 | |
US20210360093A1 (en) | Multimode interconnection interface controller for converged network | |
CN101170484B (zh) | 一种基于非压缩传输协议的交换芯片及交换设备 | |
CN100568841C (zh) | 一种以太网业务的汇聚装置及方法 | |
JP3707537B2 (ja) | 通信システムおよび関連デスキュー方法 | |
CN109257513A (zh) | 一种基于SerDes的遥感图像传输系统和方法 | |
US7535844B1 (en) | Method and apparatus for digital signal communication |
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 |