CN112286853B - 一种支持多协议的fpga系统及数据处理方法 - Google Patents
一种支持多协议的fpga系统及数据处理方法 Download PDFInfo
- Publication number
- CN112286853B CN112286853B CN201910678399.1A CN201910678399A CN112286853B CN 112286853 B CN112286853 B CN 112286853B CN 201910678399 A CN201910678399 A CN 201910678399A CN 112286853 B CN112286853 B CN 112286853B
- Authority
- CN
- China
- Prior art keywords
- data
- module
- clock
- original data
- compensation
- 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
Links
Images
Classifications
-
- 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
- G06F13/4291—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a clocked protocol
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Communication Control (AREA)
Abstract
本申请公开了一种支持多协议的FPGA系统及数据处理方法,应用于FPGA电子技术领域。本申请提供的FPGA支持多协议的系统包括数据发送端和数据接收端,该数据接收端包括:预处理组件,用于将接收到的串行数据转换成本地可识别的并行的原始数据;通道绑定模块,用于对原始数据进行通道绑定;时钟误差补偿模块,用于通过在通道绑定后的原始数据中加入或删除跳码对原始数据进行时钟补偿得到补偿数据;数据处理组件,用于对补偿数据的接收恢复时钟和本地时钟进行隔离。本申请将接收到的串行数据转换成本地可识别的并行原始数据,并根据传输该原始数据所用协议的传输通道对该原始数据进行通道绑定,使得该FPGA可以适用通过不同协议传输的数据,提高该FPGA的通用性。
Description
技术领域
本申请涉及FPGA电子技术领域,尤其涉及一种支持多协议的FPGA系统及数据处理方法。
背景技术
当今高速串行接口serdes已经成为通信传输的主流之一,拥有传输速率高、距离远、抗干扰强等优点。而不同的高速串行接口serdes除了速率不同外,主要集中在编解码差异、通道个数、时钟校准方案、协议握手以及mac层协议等。由于FPGA(Field-ProgrammableGate Array,现场可编程门阵列)通用性很强,所以FPGA内部的高速串行接口serdes需要支持多种协议的配置。
传统的FPGA支持多种协议的处理流程一般是先对数据进行跳码处理,再通过通道绑定模块channel bounding进行通道绑定,并且对数据各个处理模块的配置不完善,使得FPGA收发器在对收到的数据进行处理或将原始数据进行发送时,无法支持多种协议,降低了FPGA收发器的通用性。
发明内容
本申请实施例提供一种支持多协议的FPGA系统及数据处理方法,以解决现有FPGA收发器无法支持多种协议、通用性差的技术问题。
本发明提供了一种支持多协议的FPGA系统,该系统包括用于发送数据的数据发送端和用于接收数据的数据接收端,该数据接收端包括预处理组件、通道绑定模块、时钟误差补偿模块及数据处理组件,其中:
该预处理组件,用于将接收到的串行数据转换成本地可识别的并行的原始数据;
该通道绑定模块,用于根据传输该原始数据所用协议的传输通道,对该原始数据进行通道绑定;
该时钟误差补偿模块,用于当本地时钟与发送该原始数据的发送端时钟不同源时,通过在通道绑定后的原始数据中加入或删除跳码对该原始数据进行时钟补偿,以得到补偿数据;
数据处理组件,用于对所述补偿数据的接收恢复时钟和本地时钟进行隔离,使读取所述补偿数据的时钟频率与写所述补偿数据的时钟频率工作在不同的时钟频率下。
本发明另提供了一种数据处理方法,该方法应用于FPGA收发器,应用于该FPGA收发器的接收端的方法包括:
将接收到的串行数据转换成本地可识别的并行原始的数据;
根据传输该原始数据所用协议的传输通道,对该原始数据进行通道绑定;
当本地时钟与发送该原始数据的发送端时钟不同源时,通过在通道绑定后的原始数据中加入或删除跳码对该原始数据进行时钟补偿,以得到补偿数据;
对所述补偿数据的接收恢复时钟和本地时钟进行隔离,使读取所述补偿数据的时钟与写所述补偿数据的时钟工作在不同的时钟频率下。
本申请提供的FPGA支持多协议的系统及数据处理方法,通过预处理组件将接收到的串行数据转换成本地可识别的并行原始数据,并在通道绑定模块中根据传输该原始数据所用协议的传输通道对该原始数据进行通道绑定,使得该FPGA可以适用通过不同协议传输的数据,并在时钟误差补偿模块中,根据本地时钟与发送该原始数据的发送端时钟是否同源时,对原始数据做对应的跳码操作,进一步提高该FPGA的通用性。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一实施例中支持多协议的FPGA系统中各模块的结构框图;
图2是本申请一实施例中FPGA接收端支持多协议的数据处理方法的流程图;
图3是本申请另一实施例中FPGA接收端支持多协议的数据处理方法的流程图;
图4是本申请一实施例中FPGA发送端支持多协议的数据处理方法的流程图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
以下结合具体附图对本申请的实现进行详细的描述:
一种支持多协议的FPGA系统,图1是本申请一实施例中支持多协议的FPGA系统100中各模块的结构框图,如图1所示,该系统包括用于发送数据的数据发送端10和用于接收数据的数据接收端20,该系统的接收端20包括依次连接的预处理组件01、通道绑定模块Channel bounding 24、时钟误差补偿模块CTC 23及数据处理组件02。
其中,该预处理组件01的输出端连接该通道绑定模块Channel bounding 24的输入端,该通道绑定模块Channel bounding 24的输出端连接该时钟误差补偿模块CTC 23的输入端,该时钟误差补偿模块CTC 23的输出端连接该数据处理组件02的输入端,其中:
该预处理组件01,用于将接收到的串行数据转换成本地可识别的并行的原始数据。
该通道绑定模块Channel bounding 24,用于根据传输该原始数据所用协议的传输通道,对该原始数据进行通道绑定。
由于某些协议需要多个通道同时发送,在接收端由于路径延时和弹性缓冲buffer的原因,每条通道lane上接收到的数据,在时间上产生了偏差,这就需要通过协议字将各个通道的数据重新对齐,解码后的数据发送给通道绑定模块(channel_bounding),此通道绑定模块选取需要绑定的通道中某一个时钟,利用协议字将多个通道的数据做不同的延时操作,最终补偿路径延时和前面电路弹性缓冲buffer的延时差。
该时钟误差补偿模块CTC 23,用于当本地时钟与发送该原始数据的发送端时钟不同源时,通过在通道绑定后的原始数据中加入或删除跳码对该原始数据进行时钟补偿,以得到补偿数据。
由于serdes系统中,发送端和接收端可能使用不同的参考时钟,所以会存在微小的频率偏差,这时候就需要对频率偏差做出补偿,协议通常使用冗余的skip跳码加载在每条lane的正常数据中,如果接收端发现接收时钟与本地时钟比较,频率快了,就删除某个skip跳码,如果比本地时钟慢了,就在某个位置加入skip跳码。这样保证了补偿后的数据流,与本地时钟下的数据流的流量相同,通道绑定模块channel_bounding得到的数据发送给时钟误差补偿模块CTC 23模块,在本地时钟下完成加入或删除跳码(skip码)的操作。
数据处理组件02,用于对所述补偿数据的接收恢复时钟和本地时钟进行隔离,使读取所述补偿数据的时钟频率与写所述补偿数据的时钟频率工作在不同的时钟频率下。
在其中一个实施例中,该预处理组件01包括串并转换模块PMA_RX 27、字节对齐模块及解码模块;
该串并转换模块PMA_RX 27的输出端连接该字节对齐模块Word align 26的输入端,该字节对齐模块Word align 26的输出端连接该解码模块decoder 25的输入端,该解码模块decoder 25的输出端连接该通道绑定模块Channel bounding 24的输入端;
该串并转换模块PMA_RX 27,用于接收到待读写的串行数据时,将该串行数据转换成第一并行数据;
该字节对齐模块Word align 26,用于将该第一并行数据的字节边界与该第一并行数据在原发送端中原始数据的字节边界对齐;
该解码模块decoder 25,用于根据封装该原始数据所用协议编码的比特值,选用预先配置的对应比特值对对齐后的该第一并行数据进行解码,得到该并行的原始数据。
在其中一个实施例中,该解码模块decoder 25具体用于何种比特进行解码则根据预先配置而定,系统预先针对不同协议适用的编码/解码,对应配置有对应比特值。
其中,串并转换模块PMA_RX完成高速串行数据到并行数据的转换后,将并行数据和对应的低速并行时钟(pma_rx_clk)发送给PCS接收电路,并行数据先经过该PCS接收电路中的字节对齐模块(word_align)将字节边界与原发送端对齐,对齐后的并行数据发送给解码模块,得到编码前的原始数据。
在其中一个实施例中,该解码模块decoder 25配置包括四种比特解码,分别为8b/10b解码、64b/66b解码、66b/67b解码、128b/130b编码。
在其中一个实施例中,该数据处理组件02包括依次连接的第一接口处理模块Rx_if 22及第三通讯接口模块MAC RX 21,该第一接口处理模块Rx_if 22的输入端连接该时钟误差补偿模块CTC 23的输出端,该第一接口处理模块Rx_if 22的输出端连接该第三通讯接口模块MAC RX 21;
该第一接口处理模块Rx_if 22内设有第一异步FIFO存储器,该第一接口处理模块Rx_if 22用于通过该第一异步FIFO存储器对该补偿数据的接收恢复时钟和本地时钟进行隔离;
该第三通讯接口模块MAC RX 21,用于根据隔离后的所述接收恢复时钟及本地时钟,对所述补偿数据的读配置在所述接收恢复时钟下,对所述补偿数据的写配置在所述本地时钟下。
对于第一异步FIFO存储器中存储的补偿数据,可以供用户读取,也可供用户进行写入等编辑。在其中一个实施例中,所述接收恢复时钟的频率大于或等于所述本地时钟的频率,从而使得读取该补偿数据的速度大于或等于对该补偿数据进行编辑的速度。
由于寄存器存储空间有限,读取寄存器中数据的速度大于或等于写入数据的速度可以避免FIFO寄存器中数据溢出。
时钟误差补偿模块CTC 23处理后的数据,发送给fabric第一接口处理模块Rx_if22,此第一接口处理模块Rx_if 22能够完成gearbox变速功能,对fabric接口中的数据做降频增位宽操作,同时通过第一异步FIFO存储器对接收恢复时钟fabric clock和本地时钟c2i_clk进行隔离。
在其中一个实施例中,该数据发送端10包括第二通信接口模块MAC TX 11、第二接口处理模块Tx_if 12,编码模块encoder 24及并串转换模块PMA_TX 14;
该第二通信接口模块MAC TX 11的输出端连接该第二接口处理模块Tx_if 12的输入端,该第二接口处理模块Tx_if 12的输出端连接该编码模块encoder 24的输入端,该编码模块encoder 24的输出端连接该并串转换模块PMA_TX 14的输入端;
该第二通信接口模块MAC TX 11,用于将用户输入的原始数据发送至该第二接口处理模块Tx_if 12;
该第二接口处理模块Tx_if 12,用于对该原始数据的接收恢复时钟和本地时钟进行隔离;
该编码模块encoder 24,用于根据封装该原始数据所需协议编码的比特值,选用预先配置的对应比特值对该原始数据进行编码;
并串转换模块PMA_TX 14,用于将编码后的该原始数据转换成串行数据并根据所述协议中封装的接收端地址发送至对应的接收端。
在其中一个实施例中,该编码模块encoder 24配置包括四种比特编码,分别为8b/10b编码、64b/66b编码、66b/67b编码、128b/130b编码。
在其中一个实施例中,该第二接口处理模块Tx_if 12内设有第二异步FIFO存储器,该第二接口处理模块Tx_if 12通过该第二异步FIFO存储器对该原始数据的接收恢复时钟和本地时钟进行隔离。
该第二接口处理模块Tx_if例如fabric接口处理模块,此接口模块能够完成gearbox功能,对fabric接口做降频增位宽操作。
本实施例通过第一异步FIFO对接收恢复时钟fabric clock和接收端本地时钟C2i_clk进行隔离,由于用户逻辑通常希望有自己单独的时钟,不希望被绑定在某个serdes子系统上,通过该异步FIFO允许用户使用与serdes硬件不同的时钟频率。
在其中一个实施例中,所述本地时钟选用发送所述原始数据的发送端的硬件时钟(Pcs_tx_clk)或用户提供的硬件时钟(Local clock)。
本实施例所涉及的接收端处理,如图1所示,包括4个时钟域:
(1)本通道恢复时钟域(local ln(x)pma_rx_clk);
(2)通道bounding恢复时钟域(b2c_clk),该通道bounding恢复时钟域b2c_clk选用第一通道时钟域Ln(0)_pma_rx_clk至第(n+1)通道时钟域Ln(n)_pma_rx_clk中的其中一个;
(3)频率校准时钟域(c2i_clk),该频率校准时钟域(c2i_clk)选用发送端本地时钟(Pcs_tx_clk)或用户提供的本地时钟(Local clock);
(4)接收恢复时钟域(Fabric clock)。
以上四个时钟域用于完成serdes的众多协议和串并转换的基本功能,完成该基本功能时需要在多个时钟源之间传递信号,比如信号从电路板进入serdes时,数据就是与自己通道的接收恢复时钟对齐的,为了做不同通道间的数据对齐,又转换到四个通道的某一个接收时钟上,然后再把数据转移到本地稳定时钟上,最后再转换到用户逻辑使用的时钟,用户逻辑才能使用这些数据。
本实施例可以完成serdes(SERializer串行器/DESerializer解串器的简称)通用协议中常用的通道绑定模块channel bounding 24、CTC(clock tolerance compensation时钟误差补偿)模块、解码模块decoder 25、编码模块encoder 24等功能;这些可配置的PCS(Process Control System,过程控制系统)功能组合,覆盖了PCIE(peripheral componentinterconnect express)协议、CPRI(Common Public Radio Interface)接口协议、XAUI(Ethernet Attachment Unit Interface)以太网接口协议、RXAUI(Reduced AttachmentUnit Interface)协议、GE(Gigabit Ethernet)协议、Interlaken协议以及用户自定义的多种serdes协议。
图2是本申请一实施例中FPGA接收端支持多协议的数据处理方法的流程图,该方法应用于FPGA收发器,如图2所示,该应用于该FPGA收发器的接收端的方法包括以下步骤S101至S104:
S101、预处理组件将接收到的串行数据转换成本地可识别的并行的原始数据。
在其中一个实施例中,该步骤S101中预处理组件将接收到的串行数据转换成本地可识别的并行的原始数据的步骤包括:
接收到待读写的串行数据时,通过串并转换模块将该串行数据转换成第一并行数据;
通过字节对齐模块将该第一并行数据的字节边界与该第一并行数据在原发送端中原始数据的字节边界对齐;
通过解码模块根据封装该原始数据所用协议编码的比特值,选用预先配置的对应比特值对对齐后的该第一并行数据进行解码,得到该并行的原始数据。
作为可选地,解码模块预先至少配置四种比特解码,分别为8b/10b解码、64b/66b解码、66b/67b解码、128b/130b编码。
S102、通道绑定模块根据传输该原始数据所用协议的传输通道,对该原始数据进行通道绑定。
S103、当本地时钟与发送该原始数据的发送端时钟不同源时,时钟误差补偿模块通过在通道绑定后的原始数据中加入或删除跳码对该原始数据进行时钟补偿,以得到补偿数据。
其中,上述步骤S102的执行顺序在所述步骤S103的步骤之前,以确保进行通道绑定的原始数据没有冗余。
在其中一个实施例中,该步骤S103通过在通道绑定后的原始数据中加入或删除跳码对该原始数据进行时钟补偿,以得到补偿数据的步骤包括:
所述时钟误差补偿模块对该原始数据添加接收恢复时钟和本地时钟;
根据预先配置,所述时钟误差补偿模块控制对所述补偿数据的读使能工作在所述本地时钟下,并控制所述补偿数据的写使能工作在所述接收恢复时钟下。
在其中一个实施例中,该本地时钟选用发送该原始数据的发送端的硬件时钟或用户提供的硬件时钟。
S104、通过数据处理组件对所述补偿数据的接收恢复时钟和本地时钟进行隔离,使读取所述补偿数据的时钟与写所述补偿数据的时钟工作在不同的时钟频率下。
作为可选地,根据预先配置,所述时钟误差补偿模块通过第一异步FIFO存储器控制对所述补偿数据的读使能工作在所述接收恢复时钟下,并控制所述补偿数据的写使能工作在所述本地时钟下。
在其中一个实施例中,所述方法还包括:将时钟隔离后的原始数据发送至第三通讯接口模块MAC RX 21,供用户读/写。
本实施例通过预处理组件将接收到的串行数据转换成本地可识别的并行原始数据,并在通道绑定模块中根据传输该原始数据所用协议的传输通道对该原始数据进行通道绑定,使得该FPGA可以适用通过不同协议传输的数据,并在时钟误差补偿模块中,根据本地时钟与发送该原始数据的发送端时钟是否同源时,对原始数据做对应的跳码操作,进一步提高该FPGA的通用性。
在其中一个实施例中,图3是本申请另一实施例中FPGA接收端支持多协议的数据处理方法的流程图,如图3所示,该S102根据传输该原始数据所用协议的传输通道,对该原始数据进行通道绑定的步骤包括:
S1021、根据预先配置,当封装该原始数据所用协议的传输通道数为一时,通过低电平信号控制该通道绑定模块的使能端无效;
S1022、根据预先配置,当封装该原始数据所用协议的传输通道数大于或等于二时,通过高电平信号控制该通道绑定模块的使能端有效。
根据本实施例的一个使用场景,当数据传输协议需要一个通道时,如PCIE协议时,将与PCIE协议对应的通道绑定模块的使能端配置为无效;当数据传输协议需要四个通道时,如RXAUI协议时,将与PCIE协议对应的通道绑定模块的使能端配置为有效。
本实施例通过根据传输原始数据所用的协议通道的不同,配置道绑定模块的使能端的有效性,使得该数据处理方法可以适用多种协议的需求。
在其中一个实施例中,图4是本申请一实施例中FPGA发送端支持多协议的数据处理方法的流程图,如图4所示,应用于该FPGA收发器的发送端的方法包括一下步骤S201至S203:
S201、第二接口处理模块接收到待发送的原始数据时,对该原始数据的接收恢复时钟和本地时钟进行隔离。
作为可选地,该步骤S201进一步包括:
第二接口处理模块通过第二异步FIFO存储器对接收的该原始数据的接收恢复时钟和本地时钟进行隔离。
本实施例通过第二异步FIFO对接收恢复时钟fabric clock和发送端本地时钟pcs_tx_clk进行隔离,由于用户逻辑通常希望有自己单独的时钟,不希望被绑定在某个serdes子系统上,通过该异步FIFO允许用户使用与serdes硬件不同的时钟频率。
S202、编码模块根据封装该原始数据所需协议编码的比特值,选用预先配置的对应比特值对该原始数据进行编码;
S203、并串转换模块将编码后的该原始数据转换成串行数据并根据所述协议中封装的接收端地址发送至对应的接收端。
作为可选地,编码模块预先至少配置四种比特编码,分别为8b/10b编码、64b/66b编码、66b/67b编码、128b/130b编码。
在其中一个实施例中,该方法还包括:
接收到待发送的原始数据时,通过并串转换模块对该原始数据进行升频降位宽操作;
接收到待读写的串行数据时,通过串并转换模块对所述串行数据进行降频升位宽操作。
其中,该将编码后的该原始数据转换成串行数据并根据所述协议中封装的接收端地址发送至对应的接收端的步骤具体为:
该并串转换模块将编码后的该第二并行数据转换成串行数据,并根据所述协议中封装的接收端地址发送至对应的接收端。
第二接口处理模块tx_if 12处理后的数据,发送给后续的编码模块13,完成对数据的编码操作,然后发送给后续的并串转换模块PMA_TX 14,并串转换模块PMA_TX 14将并行数据转换成高速的串行数据,根据所述协议中封装的接收端地址发送至对应的接收端。
本实施例通过预处理组件将接收到的串行数据转换成本地可识别的并行原始数据,并在通道绑定模块中根据传输该原始数据所用协议的传输通道对该原始数据进行通道绑定,使得该FPGA可以适用通过不同协议传输的数据,并在时钟误差补偿模块中,根据本地时钟与发送该原始数据的发送端时钟是否同源时,对原始数据做对应的跳码操作,进一步提高该FPGA的通用性。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (17)
1.一种支持多协议的FPGA系统,所述系统包括用于发送数据的数据发送端和用于接收数据的数据接收端,所述数据接收端包括预处理组件、通道绑定模块、时钟误差补偿模块及数据处理组件,其特征在于:
所述预处理组件,用于将接收到的串行数据转换成本地可识别的并行的原始数据;
所述通道绑定模块,用于根据传输所述原始数据所用协议的传输通道,对所述原始数据进行通道绑定;
所述时钟误差补偿模块,用于当本地时钟与发送所述原始数据的发送端时钟不同源时,通过在通道绑定后的所述原始数据中加入或删除跳码对所述原始数据进行时钟补偿,以得到补偿数据;
数据处理组件,用于对所述补偿数据的接收恢复时钟和本地时钟进行隔离,使读取所述补偿数据的时钟频率与写所述补偿数据的时钟频率工作在不同的时钟频率下;
所述预处理组件包括串并转换模块、字节对齐模块及解码模块;
所述串并转换模块的输出端连接所述字节对齐模块的输入端,所述字节对齐模块的输出端连接所述解码模块的输入端,所述解码模块的输出端连接所述通道绑定模块的输入端;
所述串并转换模块,用于接收到待读写的串行数据时,将所述串行数据转换成第一并行数据;
所述字节对齐模块,用于将所述第一并行数据的字节边界与所述第一并行数据在原发送端中原始数据的字节边界对齐;
所述解码模块,用于根据封装所述原始数据所用协议编码的比特值,选用预先配置的对应比特值对对齐后的所述第一并行数据进行解码,得到所述并行的原始数据。
2.根据权利要求1所述的系统,其特征在于,所述解码模块配置包括四种比特解码,分别为8b/10b解码、64b/66b解码、66b/67b解码、128b/130b编码。
3.根据权利要求1所述的系统,其特征在于,所述数据处理组件包括依次连接的第一接口处理模块及第三通讯接口模块,所述第一接口处理模块的输入端连接所述时钟误差补偿模块的输出端,所述第一接口处理模块的输出端连接所述第三通讯接口模块;
所述第一接口处理模块内设有第一异步FIFO存储器,所述第一接口处理模块用于通过所述第一异步FIFO存储器对所述补偿数据的接收恢复时钟和本地时钟进行隔离;
所述第三通讯接口模块,用于根据隔离后的所述接收恢复时钟及本地时钟,对所述补偿数据的读配置在所述接收恢复时钟下,对所述补偿数据的写配置在所述本地时钟下。
4.根据权利要求1至3任一项所述的系统,其特征在于,所述数据发送端包括第二通信接口模块、第二接口处理模块,编码模块及并串转换模块;
所述第二通信接口模块的输出端连接所述第二接口处理模块的输入端,所述第二接口处理模块的输出端连接所述编码模块的输入端,所述编码模块的输出端连接所述并串转换模块的输入端;
所述第二通信接口模块,用于将用户输入的原始数据发送至所述第二接口处理模块;
所述第二接口处理模块,用于对所述原始数据的接收恢复时钟和本地时钟进行隔离;
所述编码模块,用于根据封装所述原始数据所需协议编码的比特值,选用预先配置的对应比特值对所述原始数据进行编码;
并串转换模块,用于将编码后的所述原始数据转换成串行数据并根据所述协议中封装的接收端地址发送至对应的接收端。
5.根据权利要求4所述的系统,其特征在于,所述编码模块配置包括四种比特编码,分别为8b/10b编码、64b/66b编码、66b/67b编码、128b/130b编码。
6.根据权利要求4所述的系统,其特征在于,所述第二接口处理模块内设有第二异步FIFO存储器,所述第二接口处理模块通过所述第二异步FIFO存储器对所述原始数据的接收恢复时钟和本地时钟进行隔离。
7.一种数据处理方法,所述方法应用于FPGA收发器,其特征在于,应用于所述FPGA收发器的接收端的方法包括:
预处理组件将接收到的串行数据转换成本地可识别的并行的原始数据;
通道绑定模块根据传输所述原始数据所用协议的传输通道,对所述原始数据进行通道绑定;
当本地时钟与发送所述原始数据的发送端时钟不同源时,时钟误差补偿模块通过在通道绑定后的所述原始数据中加入或删除跳码对所述原始数据进行时钟补偿,以得到补偿数据;
通过数据处理组件对所述补偿数据的接收恢复时钟和本地时钟进行隔离,使读取所述补偿数据的时钟与写所述补偿数据的时钟工作在不同的时钟频率下;
所述预处理组件将接收到的串行数据转换成本地可识别的并行的原始数据的步骤包括:
接收到待读写的串行数据时,通过串并转换模块将所述串行数据转换成第一并行数据;
通过字节对齐模块将所述第一并行数据的字节边界与所述第一并行数据在原发送端中原始数据的字节边界对齐;
通过解码模块根据封装所述原始数据所用协议编码的比特值,选用预先配置的对应比特值对对齐后的所述第一并行数据进行解码,得到所述并行的原始数据。
8.根据权利要求7所述的方法,其特征在于,所述根据传输所述原始数据所用协议的传输通道,对所述原始数据进行通道绑定的步骤包括:
根据预先配置,当封装所述原始数据所用协议的传输通道数为一时,通过低电平信号控制所述通道绑定模块的使能端无效;
根据预先配置,当封装所述原始数据所用协议的传输通道数大于或等于二时,通过高电平信号控制所述通道绑定模块的使能端有效。
9.根据权利要求7所述的方法,其特征在于,所述通过在通道绑定后的所述原始数据中加入或删除跳码对所述原始数据进行时钟补偿,以得到补偿数据的步骤包括:
所述时钟误差补偿模块对所述原始数据添加接收恢复时钟和本地时钟;
根据预先配置,所述时钟误差补偿模块控制对所述补偿数据的读使能工作在所述本地时钟下,并控制所述补偿数据的写使能工作在所述接收恢复时钟下。
10.根据权利要求9所述的方法,其特征在于,所述方法包括:
根据预先配置,所述时钟误差补偿模块通过第一异步FIFO存储器控制对所述补偿数据的读使能工作在所述接收恢复时钟下,并控制所述补偿数据的写使能工作在所述本地时钟下。
11.根据权利要求9所述的方法,其特征在于,所述本地时钟选用发送所述原始数据的发送端的硬件时钟或用户提供的硬件时钟。
12.根据权利要求7所述的方法,其特征在于,应用于所述FPGA收发器的发送端的方法包括:
第二接口处理模块接收到待发送的原始数据时,对所述原始数据的接收恢复时钟和本地时钟进行隔离;
编码模块根据封装所述原始数据所需协议编码的比特值,选用预先配置的对应比特值对所述原始数据进行编码;
并串转换模块将编码后的所述原始数据转换成串行数据并根据所述协议中封装的接收端地址发送至对应的接收端。
13.根据权利要求12所述的方法,其特征在于,所述对所述原始数据的接收恢复时钟和本地时钟进行隔离的步骤包括:
第二接口处理模块通过第二异步FIFO存储器对接收的所述原始数据的接收恢复时钟和本地时钟进行隔离。
14.根据权利要求12所述的方法,其特征在于,所述方法还包括:
接收到待发送的原始数据时,通过并串转换模块对所述原始数据进行升频降位宽操作;
接收到待读写的串行数据时,通过串并转换模块对所述串行数据进行降频升位宽操作。
15.根据权利要求12所述的方法,其特征在于,所述将编码后的所述原始数据转换成串行数据并根据所述协议中封装的接收端地址发送至对应的接收端的步骤具体为:
所述并串转换模块将编码后的所述原始数据转换成串行数据,并根据所述协议中封装的接收端地址发送至对应的接收端。
16.根据权利要求7所述的方法,其特征在于,所述方法还包括:
解码模块预先至少配置四种比特解码,分别为8b/10b解码、64b/66b解码、66b/67b解码、128b/130b编码。
17.根据权利要求12所述的方法,其特征在于,所述方法还包括:
编码模块预先至少配置四种比特编码,分别为8b/10b编码、64b/66b编码、66b/67b编码、128b/130b编码。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910678399.1A CN112286853B (zh) | 2019-07-25 | 2019-07-25 | 一种支持多协议的fpga系统及数据处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910678399.1A CN112286853B (zh) | 2019-07-25 | 2019-07-25 | 一种支持多协议的fpga系统及数据处理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112286853A CN112286853A (zh) | 2021-01-29 |
CN112286853B true CN112286853B (zh) | 2022-09-20 |
Family
ID=74419321
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910678399.1A Active CN112286853B (zh) | 2019-07-25 | 2019-07-25 | 一种支持多协议的fpga系统及数据处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112286853B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113676310B (zh) * | 2021-07-29 | 2023-09-12 | 北京无线电测量研究所 | 一种用于雷达系统的数据传输装置 |
CN113806268B (zh) * | 2021-08-04 | 2024-03-19 | 方一信息科技(上海)有限公司 | 基于aurora接口的多通道数据同步接收方法及系统 |
CN116166588A (zh) * | 2022-12-07 | 2023-05-26 | 深圳市紫光同创电子有限公司 | 多通道数据绑定方法、装置及系统和计算机可读存储介质 |
CN118277317B (zh) * | 2024-03-27 | 2024-09-27 | 青芯科技(无锡)有限公司 | 一种重定时器结构及其时钟偏差补偿方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101482856A (zh) * | 2009-01-05 | 2009-07-15 | 东南大学 | 基于现场可编程门阵列的串并行协议转换装置 |
CN105701055A (zh) * | 2014-11-26 | 2016-06-22 | 英业达科技有限公司 | 电子装置及其数据传输方法 |
CN106354686A (zh) * | 2016-08-22 | 2017-01-25 | 广州慧睿思通信息科技有限公司 | 一种基于fpga的sata接口数据流控制器及控制方法 |
CN107451087A (zh) * | 2017-07-31 | 2017-12-08 | 郑州云海信息技术有限公司 | 一种基于fpga的异同步可切换串口及使用方法 |
CN108415870A (zh) * | 2018-05-10 | 2018-08-17 | 安徽雷索信息科技有限公司 | 一种多通道高速数据分发装置 |
CN108574695A (zh) * | 2018-04-24 | 2018-09-25 | 天津芯海创科技有限公司 | 协议复用芯片和协议复用方法 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102681971B (zh) * | 2012-04-28 | 2016-03-23 | 浪潮电子信息产业股份有限公司 | 一种基于aurora协议进行FPGA板间高速互连的方法 |
US9582440B2 (en) * | 2013-02-10 | 2017-02-28 | Mellanox Technologies Ltd. | Credit based low-latency arbitration with data transfer |
CN103825696B (zh) * | 2014-03-11 | 2017-08-01 | 华中科技大学 | 一种基于fpga实现光纤高速实时通信的装置 |
CN104022828B (zh) * | 2014-05-16 | 2016-07-06 | 天津大学 | 一种基于异步通信模式的光纤数据传输方法 |
CN104991878B (zh) * | 2015-06-18 | 2018-05-22 | 北京亚科鸿禹电子有限公司 | 一种fpga虚拟io片间互连电路 |
CN105208647B (zh) * | 2015-10-09 | 2018-10-30 | 天津市英贝特航天科技有限公司 | 基于fpga的无线传输延时控制系统及控制方法 |
CN106385256B (zh) * | 2016-09-22 | 2019-01-25 | 电子科技大学 | 具有存储同步识别功能的多通道并行采集系统 |
CN108090015B (zh) * | 2017-12-22 | 2021-06-29 | 西安烽火电子科技有限责任公司 | 一种用于多类型接口异构互联的高速串口通信方法 |
CN108988991B (zh) * | 2018-07-26 | 2020-12-01 | 电子科技大学 | 带宽自适应的串行数据传输系统 |
-
2019
- 2019-07-25 CN CN201910678399.1A patent/CN112286853B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101482856A (zh) * | 2009-01-05 | 2009-07-15 | 东南大学 | 基于现场可编程门阵列的串并行协议转换装置 |
CN105701055A (zh) * | 2014-11-26 | 2016-06-22 | 英业达科技有限公司 | 电子装置及其数据传输方法 |
CN106354686A (zh) * | 2016-08-22 | 2017-01-25 | 广州慧睿思通信息科技有限公司 | 一种基于fpga的sata接口数据流控制器及控制方法 |
CN107451087A (zh) * | 2017-07-31 | 2017-12-08 | 郑州云海信息技术有限公司 | 一种基于fpga的异同步可切换串口及使用方法 |
CN108574695A (zh) * | 2018-04-24 | 2018-09-25 | 天津芯海创科技有限公司 | 协议复用芯片和协议复用方法 |
CN108415870A (zh) * | 2018-05-10 | 2018-08-17 | 安徽雷索信息科技有限公司 | 一种多通道高速数据分发装置 |
Also Published As
Publication number | Publication date |
---|---|
CN112286853A (zh) | 2021-01-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112286853B (zh) | 一种支持多协议的fpga系统及数据处理方法 | |
EP1397895B1 (en) | Parallel data communication with multiple synchronisation codes | |
US7013359B1 (en) | High speed memory interface system and method | |
CN103141066B (zh) | 发送电路、接收电路、发送方法、接收方法、通信系统及其通信方法 | |
US11907140B2 (en) | Serial interface for semiconductor package | |
JP4279672B2 (ja) | データ有効インジケータ及びスキュー不耐性データグループを有するパラレルデータ通信 | |
CN102089992A (zh) | 用于高速串行通信的数字均衡器 | |
US6311239B1 (en) | Architecture, circuitry and method for transmitting n-bit wide data over m-bit wide media | |
WO2002097646A2 (en) | Parallel data communication having skew intolerant data groups | |
EP3114792B1 (en) | Clock recovery circuit for multiple wire data signals | |
CN101217468A (zh) | 路由查表系统、三态内容寻址存储器和网络处理器 | |
US7020728B1 (en) | Programmable serial interface | |
CN112543158A (zh) | 64B/66B转换的serdes架构 | |
CN104380273A (zh) | 基于环形缓冲器的数据的自适应偏移同步 | |
US11169952B2 (en) | Data transmission code and interface | |
CN103034610B (zh) | 在分体模块间进行axi总线信号发送接收的方法及装置 | |
US7515613B2 (en) | Data transmission apparatus and data transmission method | |
US9170952B1 (en) | Configurable multi-standard device interface | |
US20100316068A1 (en) | Transport Over an Asynchronous XAUI-like Interface | |
WO2021249260A1 (zh) | 数据的传输方法及装置、电路板、存储介质、电子装置 | |
CN113890553B (zh) | 用于高速数据和低速指令信号传输的接收器 | |
CN210804154U (zh) | 双通道大带宽波形产生系统 | |
US11663157B1 (en) | Joint electron devices engineering council (JESD)204-to-peripheral component interconnect express (PCIe) interface | |
CN118277317B (zh) | 一种重定时器结构及其时钟偏差补偿方法 | |
US8780962B2 (en) | Method for emulating low frequency serial clock data recovery RF control bus operation using high frequency data |
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 |