CN108988991B - 带宽自适应的串行数据传输系统 - Google Patents
带宽自适应的串行数据传输系统 Download PDFInfo
- Publication number
- CN108988991B CN108988991B CN201810834053.1A CN201810834053A CN108988991B CN 108988991 B CN108988991 B CN 108988991B CN 201810834053 A CN201810834053 A CN 201810834053A CN 108988991 B CN108988991 B CN 108988991B
- Authority
- CN
- China
- Prior art keywords
- data
- clock
- gtx
- clock signal
- receiving
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
- H04L1/0033—Systems modifying transmission characteristics according to link quality, e.g. power backoff arrangements specific to the transmitter
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
- H04L1/0036—Systems modifying transmission characteristics according to link quality, e.g. power backoff arrangements specific to the receiver
Landscapes
- Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Communication Control (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种带宽自适应的串行数据传输系统,在数据发送FPGA中对待传输数据采用发送端数据缓存模块进行缓存转换,再由发送端数据编码模块按照自定义的格式进行编码,编码后的数据由采用IP核实现的GTX发送器通过传输介质进行发送;数据接收FPGA接收数据后先通过采用IP核实现的GTX接收器进行接收,再由接收端数据解码模块进行解码,最后由接收端数据缓存模块进行缓存转换,将原始数据恢复出来。本发明通过对数据发送FPGA和数据接收FPGA中数据编码方式和相关参数的设置,实现对动态传输带宽的自适应。
Description
技术领域
本发明属于高速串行数据传输技术领域,更为具体地讲,涉及一种带宽自适应的串行数据传输系统。
背景技术
随着现代电子技术和信息处理的飞速发展,测试仪器进行数据采集时的带宽、采样率和通道数急剧增长,从而使得数据量越来越大,除了对数据采集的速度要求越来越高之外,数据采集后的传输速度和可靠性要求也随之增高,同样,图像视频等领域也对传输速度和质量提出来更高的要求。通常高速数据传输系统只能根据既定的传输条件而设计,无法在不改变设计的条件下应对多变的传输条件,而且测试仪器对一个未知信号进行测量时,不能因测试设备的接入而导致输入量共地,改变了设备原有的工作状态,因而必须在数据采集进来进行隔离。就目前数据传输系统而言尚存在以下不足:
(1)无法对动态带宽达到自适应:
现有方法中通常使用现场可编程门阵列(FPGA)搭载高速传输协议,实现数据的串行发送和接收,此方法一般预先计算好待传输数据的带宽,比如2Gbps,再根据数据打包的格式以及链路编码的带宽损耗,计算出搭载协议后的物理层传输速率,比如带宽损耗为20%,那么要求最大带宽为2Gbps/80%=2.5Gbps。这样的方法是在进行传输速率匹配的条件进行设计的,其缺陷在于此设计只能适用于某一固定的传输带宽,比如上述仅能匹配2Gbps,若待传输带宽变为其他值,则需要重新计算来匹配传输过程的速率,那么设计也要修改,无法对动态的传输速率达到自适应。
(2)隔离器件传输速率低:
为解决被测系统与测试仪器互相干扰的问题,常用的隔离方法为磁隔离,即采用高速数字隔离器,这种隔离方法虽然稳定且抗干扰能力强,但其传输速度也只能达到一定值,并且为并行传输方式,其劣势在于当数据位宽很大时,则需要多个隔离器件实现,从而使得采集板卡功耗增大,器件面积增大。
综上所述,传统高速传输技术无法达到自适应带宽的要求,以及传统隔离技术无法突破高速率的瓶颈,那么如何在满足隔离、高速、传输带宽变化条件下将数据传输至后端处理,成了现代测试仪器的重要研究内容。
发明内容
本发明的目的在于克服现有技术的不足,提供一种带宽自适应的串行数据传输系统,通过对数据发送FPGA和数据接收FPGA中数据编码方式和相关参数的设置,实现对动态传输带宽的自适应。
为了实现以上发明目的,本发明带宽自适应的串行数据传输系统包括包括数据发送FPGA和数据接收FPGA,其特征在于:
数据发送FPGA包括发送端时钟网络配置模块、M个发送端缓存模块、M个发送端编码模块、GTX发送器,其中:
发送端时钟网络配置模块用于接收外部时钟source_clk1并根据其生成时钟信号sys_clk1,发送给GTX发送器;
M个发送端缓存模块用于分别接收1路待传输数据DATAi进行缓存,i=1,2,…,M,记第i路待传输数据DATAi对应的同步时钟DATA_clki的频率为fTXi、数据位宽为bTXi,其数据带宽BWTXi=fTXi·bTXi需要满足BWTXi≤BWTXmax,BWTXmax表示预设的数据带宽上限;发送端缓存模块采用FIFO实现,FIFO的写数据位宽δ≥bTXmax,读数据位宽ε≤χ-1,bTXmax为M路待传输数据DATAi对应数据位宽bTXi中的最大数据位宽,χ表示用于实现GTX发送器的IP核的用户逻辑层位宽,将每路待传输数据DATAi对应的同步时钟DATA_clki作为对应FIFO的写端口时钟,将从GTX发送器接收的时钟信号user_clk1作为FIFO的读端口时钟;
M个发送端数据编码模块用于从对应的发送端缓存模块中读取待传输数据并进行编码,根据接收的时钟信号user_clk1对读取数据进行编码后得到编码数据Tx_Di,将编码数据Tx_Di送入GTX发送器,编码方法如下:
记第i个发送端数据编码模块从第i个发送端缓存模块读取待传输数据DATAi时的读取数据为Tx_rd_datai,对应的数据有效信号为Validi,进行拼接得到数据Tx_rd_data′i,拼接格式为Tx_rd_data′i={validi,x′h0,Tx_rd_datai},其中x′h0表示填充x位二进制0,x=χ-ε-1;对于数据Tx_rd_data′i,以时钟信号user_clk1为计数标准,按照每φ个Tx_rd_data′i插入1个数据对齐编码的格式进行数据重构,得到编码数据Tx_Di;
GTX发送器采用IP核实现,接收外部参考时钟信号ref_clk_N1/P1和时钟信号sys_clk1,生成时钟信号user_clk1发送给M个发送端缓存模块和M个发送端数据编码模块,时钟信号user_clk1的频率fuser_clk采用以下公式计算:
fuser_clk*α=BWline_rate
其中,α表示线路编码的内部数据位宽,BWline_rate表示设置的GTX发送器的发送端链路线速率,需要满足以下条件:
其中,φ表示从M个发送端缓存模块中读出的数据Tx_rd_datai与数据对齐编码的比值,η%表示GTX发送器中线路编码模式造成的带宽损耗;
GTX发送器接收M个编码数据Tx_Di,转换为串行数据后通过传输介质进行发送;
数据接收FPGA包括接收端时钟网络配置模块、M个接收端缓存模块、M个接收端编码模块、GTX接收器,其中:
接收端时钟网络配置模块用于接收外部时钟source_clk2并根据其生成时钟信号sys_clk2,发送给GTX接收器;根据各个待传输数据的时钟参数生成对应的数据源同步时钟DATA_clk′i,分别发送给对应的接收端缓存模块;
GTX接收器采用IP核实现,接收外部参考时钟信号ref_clk_N2/P2和时钟信号sys_clk2,生成时钟信号user_clk2发送给M个接收端数据解码模块,时钟信号user_clk2的频率为fuser_clk;从传输介质接收串行数据,处理得到M路接收数据Rx_Di以及同步控制信号Rx_data_ctrli后分别发送给对应的接收端译码模块;
M个接收端译码模块用于分别从GTX接收器接收1路接收数据Rx_Di和同步控制信号Rx_data_ctrli,对接收数据Rx_Di进行解码,将解码后的数据Rx_wr_datai发送给对应的接收端缓存模块,解码方法如下:
首先根据同步控制信号Rx_data_ctrli从接收数据Rx_Di中去除数据对齐编码,提取得到数据Rx_D′i,规则如下:
1)如果Rx_data_ctrli=(χ/8)′b11...1且Rx_Di=K_value,则Rx_Di为数据对齐编码,将该数据丢弃,K_value表示数据对齐编码的值;
2)如果Rx_data_ctrli=(χ/8)′b00...0且Rx_Di≠K_value,则Rx_Di为有效数据,则对该数据进行提取;
3)如果Rx_data_ctrli为其它值,则Rx_Di为无效数据,将该数据丢弃;
根据发送端数据编码模块中的拼接格式从数据Rx_D′i分离出数据Rx_wr_data′i和数据有效信号valid′i,根据数据有效信号valid′i从数据Rx_wr_data′i中提取出有效数据Rx_wr_datai;
M个接收端缓存模块用于分别接收1路解码数据并进行缓存,发送端缓存模块采用FIFO实现,FIFO的写数据位宽为δ,读数据位宽为ε,将从GTX发送器接收的时钟信号user_clk2作为FIFO的写端口时钟,将从接收端时钟配置模块接收的对应数据源同步时钟DATA_clk′i作为FIFO的读端口时钟。
本发明带宽自适应的串行数据传输系统,在数据发送FPGA中对待传输数据采用发送端数据缓存模块进行缓存转换,再由发送端数据编码模块按照自定义的格式进行编码,编码后的数据由采用IP核实现的GTX发送器通过传输介质进行发送;数据接收FPGA接收数据后先通过采用IP核实现的GTX接收器进行接收,再由接收端数据解码模块进行解码,最后由接收端数据缓存模块进行缓存转换,将原始数据恢复出来。
本发明具有以下有益效果:
1)本发明中数据发送FPGA和数据接收FPGA采用镜像对称格式,并自定义了数据编码格式,只要保证待传输数据源的带宽在0~BWTXmax范围以内、时钟频率fTXi∈[0,fTXmax]、数据位宽bTXi∈[0,bTXmax],从而在不改变硬件电路的前提下,可以应对不同的传输带宽,并且可保证数据实时连续传输,对动态的时钟频率、数据位宽均能达到自适应。
2)本发明采用“FPGA+传输介质+FPGA”的架构,相比于传统方法,有利于降低功耗,以及降低隔离的复杂度。
附图说明
图1是本发明带宽自适应的串行数据传输系统的具体实施方式结构图。
具体实施方式
下面结合附图对本发明的具体实施方式进行描述,以便本领域的技术人员更好地理解本发明。需要特别提醒注意的是,在以下的描述中,当已知功能和设计的详细描述也许会淡化本发明的主要内容时,这些描述在这里将被忽略。
实施例
图1是本发明带宽自适应的串行数据传输系统的具体实施方式结构图。如图1所示,本发明带宽自适应的串行数据传输系统包括数据发送FPGA1和数据接收FPGA2。接下来分别对这两个FPGA进行详细说明。
·数据发送FGPA
如图1所示,数据发送FPGA1包括发送端时钟网络配置模块11、M个发送端缓存模块12、M个发送端编码模块13、GTX(Gigabit Transceiver,吉比特收发器)发送器14。下面分别对各个模块进行详细说明。
发送端时钟网络配置模块11用于接收外部时钟source_clk1并根据其生成时钟信号sys_clk1,发送给GTX发送器14。外部时钟source_clk1和时钟信号sys_clk1的具体参数根据实际系统的需要设置即可。
M个发送端缓存模块12用于分别接收M路待传输数据DATAi并进行缓存,i=1,2,…,M,记第i路待传输数据DATAi对应的同步时钟DATA_clki的频率为fTXi、数据位宽为bTXi,其数据带宽BWTXi=fTXi·bTXi需要满足BWTXi≤BWTXmax,BWTXmax表示预设的数据带宽上限。发送端缓存模块12采用FIFO实现,FIFO的写数据位宽δ≥bTXmax,读数据位宽ε≤χ-1,bTXmax为M路待传输数据DATAi对应数据位宽bTXi中的最大数据位宽,χ表示用于实现GTX发送器的IP核的用户逻辑层位宽,将每路待传输数据DATAi对应的同步时钟DATA_clki作为对应FIFO的写端口时钟,将从GTX发送器14接收的时钟信号user_clk1作为FIFO的读端口时钟。本发明适应于多领域的数据源,例如高速ADC采集的数据流、视频图像采集的高速数据流均可以作为本传输系统的数据源,只需将这些数据流量化为一连串的“0”、“1”并行数字信号。本实施例中FIFO的类型为Independent Clock Block RAM,并以占用最少Block RAM资源为规则设置FIFO的存储深度。
本实施例中,设置数据带宽上限BWTXmax=1.5Gbps,设置两路高速ADC采集到的数据流作为待传输数据,其中DATA1是100Mhz*12bit=1.2Gbps的数据流,DATA2是125Mhz*12bit=1.5Gbps的数据流。因此可以设置发送端缓存模块12中FIFO的写数据位宽δ=15bit,本实施例中用于实现GTX发送器的IP核的用户逻辑层位宽χ=16bit,因此设置FIFO的读数据位宽ε=15bit。
M个发送端数据编码模块12用于分别从对应的发送端缓存模块12中读取待传输数据,根据接收的时钟信号user_clk1对读取数据进行编码后得到编码数据Tx_Di,将编码数据Tx_Di送入GTX发送器14,编码方法如下:
记第i个发送端数据编码模块13从第i个发送端缓存模块12读取待传输数据DATAi时的读取数据为Tx_rd_datai,对应的数据有效信号为Validi,进行拼接得到数据Tx_rd_data′i,拼接格式为Tx_rd_data′i={validi,x′h0,Tx_rd_datai},其中x′h0表示填充x位二进制0,x=χ-ε-1。数据有效信号中有效数据和无效数据的标识可以根据需要确定,本实施例中validi=1′b1时,表示当前的Tx_rd_datai为有效数据,validi=1′b0时,表示当前的Tx_rd_datai为无效数据。根据之前的数据可知,本实施例中填充二进制0的位数x=0,即不填充二进制0。
对于数据Tx_rd_data′i,以时钟信号user_clk1为计数标准,按照每φ个Tx_rd_data′i插入1个数据对齐编码(即无效数据)的格式进行数据重构,得到编码数据Tx_Di。φ的具体取值可以根据需要进行设置,一般来说1≤φ<16时,可以取得较好的同步效果。本实施例中设置φ=15,即每15个数据插入1个无效数据,数据对齐编码的值为16′hbcbc。该数据对齐编码可以称之为K码,数据接收FPGA中的GTX接收器24在将接收的串行数据流转换为并行数据流时利用K码进行数据字符与字节对齐,K码的值可以根据需要自行确定。相应地,可以称Tx_rd_data′i中的数据为D码。
GTX发送器14采用IP核实现,GTX发送器14主要完成两个功能:生成时钟信号user_clk1供其他模块使用,发送编码数据Tx_Di,下面分别对两个功能进行详细说明。
GTX发送器14接收外部参考时钟信号ref_clk_N1/P1和时钟信号sys_clk1,生成时钟信号user_clk1发送给M个发送端缓存模块12和M个发送端数据编码模块13,时钟信号user_clk1的频率fuser_clk采用以下公式计算:
fuser_clk*α=BWline_rate
其中,α表示GTX发送器14中线路编码的内部数据位宽,BWline_rate表示设置的GTX发送器14的发送端链路线速率,需要满足以下条件:
其中,φ表示从M个发送端缓存模块12中读出的数据Tx_rd_datai与数据对齐编码的比值,η%表示GTX发送器14中线路编码模式造成的带宽损耗。一般来说,当第i路的待传输数据DATAi不存在,即配置的M个通道未全部使用时,即将未使用的第i路对应的同步时钟Data_clki和数据位宽bTXi记为0即可。现有技术中的用户逻辑层位宽α包括16、20、32、40、64、80等,线路编码的可选方式包括8b/10b、64b/66b、64b/67b或不编码等,对应的带宽损耗各有不同。
本实施例中设置编码方式为8b/10b,编码后内部数据位宽为20bit,可以计算得到发送端链路线速率故设置线速率BWline_rate为3.2Gbps,进而可以计算得到时钟信号user_clk1的频率fuser_clk=3.2Gbps/20bit=160Mhz。
GTX发送器14接收M个编码数据Tx_Di,转换为串行数据后通过传输介质进行发送。本实施例中GTX发送器14采用7series FPGAs transceivers IP核,编码数据Tx_Di会经过GTX物理层的PCS子层的编码、弹性缓冲区等模块,再进入PMA子层通过高速并串转换、预加重等模块处理后,最后通过FPGA中专用IO口进行数据发送。
·数据接收FPGA
如图1所示,数据接收FPGA2包括接收端时钟网络配置模块21、M个接收端缓存模块22、M个接收端译码模块23、GTX接收器24。下面分别对各个模块进行详细说明。
接收端时钟网络配置模块21用于接收外部时钟source_clk2并根据其生成时钟信号sys_clk2,发送给GTX接收器24;根据各个待传输数据的时钟参数生成对应的数据源同步时钟DATA_clk′i,分别发送给对应的接收端缓存模块22。
GTX接收器24采用IP核实现,相应地,GTX接收器24也主要完成两个功能:生成时钟信号user_clk2供其他模块使用,接收数据发送FPGA1发送的数据后转发至其他模块,下面分别对两个功能进行详细说明。
GTX接收器24接收外部参考时钟信号ref_clk_N2/P2和时钟信号sys_clk2,生成频率为fuser_clk的时钟信号user_clk2发送给M个接收端缓存模块12和M个接收端数据解码模块13。也就是说,GTX接收器24生成的时钟信号user_clk2与数据发送FPGA1中的时钟信号user_clk1的频率相同,本实施例中为160Mhz。根据GTX收发器的规范,GTX接收器24中的参数需要与GTX发送器24对应,例如线路译码的内部数据位宽也应为α,线路译码方式需与线路编码方式对应,用户逻辑层位宽也需要保持一致。以上要求为GTX收发器的规范要求,在此不再赘述。
GTX接收器24从传输介质接收串行数据,处理得到M路接收数据Rx_Di以及同步控制信号Rx_data_ctrli后发送给对应的接收端译码模块23。本实施例中GTX接收器24同样采用7series FPGAs transceivers IP核,GTX接收器24对接收数据的处理过程包括PMA子层的高速串并转换、接收均衡、时钟恢复等,PCS子层的弹性缓冲区、线路解码,其具体过程在此不再赘述。
M个接收端解码模块23用于分别从GTX接收器24接收1路接收数据Rx_Di和同步控制信号Rx_data_ctrli,对接收数据Rx_Di进行解码,将解码后的数据Rx_wr_datai发送给对应的接收端缓存模块22,解码方法如下:
首先根据同步控制信号Rx_data_ctrli从接收数据Rx_Di中去除数据对齐编码,提取得到数据Rx_D′i,规则如下:
1)如果Rx_data_ctrli=(χ/8)′b11...1且Rx_Di=K_value,则Rx_Di为数据对齐编码,将该数据丢弃,K_value表示数据对齐编码的值,(χ/8)′b11...1表示连续χ/8位均为1。
2)如果Rx_data_ctrli=(χ/8)′b00...0且Rx_Di≠K_value,则Rx_Di为有效数据,则对该数据进行提取。
3)如果Rx_data_ctrli为其它值,则Rx_Di为无效数据,将该数据丢弃。
以上方法提取出的数据Rx_D′i中仍然可能包含无效数据,因此还需要解码出实际的有效数据,判断依据为数据有效信号validi。因此,需要先根据发送端数据编码模块12中的拼接格式从数据Rx_D′i分离出数据Rx_wr_data′i和数据有效信号valid′i,根据数据有效信号valid′i从数据Rx_wr_data′i中提取出有效数据Rx_wr_datai。根据本实施例中发送端数据编码模块12中的数据有效信号的格式可知,当valid′i=1′b1时即为有效数据,当validi=1′b0时即为无效数据。
M个接收端缓存模块22用于分别接收1路解码数据Rx_wr_datai并进行缓存,发送端缓存模块22采用FIFO实现,FIFO的写数据位宽为δ,读数据位宽为ε,将从GTX发送器24接收的时钟信号user_clk2作为FIFO的写端口时钟,将从接收端时钟配置模块21接收的对应数据源同步时钟DATA_clk′i作为FIFO的读端口时钟。与发送端缓存模块12类似,本实施例中接收端缓存模块22的FIFO的写数据位宽为15bit,读数据位宽为15bit,FIFO的类型为Independent Clock Block RAM,并以占用最少Block RAM资源为规则设置FIFO的存储深度。后续模块从M个接收端缓存模块22中读取得到数据Data_outi进行后续处理。
以上所述数据发送FPGA1和数据接收FPGA2可以同时例化以实现全双工通信,也可以单独例化以实现半双工通信,根据需要实施即可。
尽管上面对本发明说明性的具体实施方式进行了描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。
Claims (1)
1.一种带宽自适应的串行数据传输系统,包括数据发送FPGA和数据接收FPGA,其特征在于:
数据发送FPGA包括发送端时钟网络配置模块、M个发送端缓存模块、M个发送端编码模块、GTX发送器,其中:
发送端时钟网络配置模块用于接收外部时钟source_clk1并根据其生成时钟信号sys_clk1,发送给GTX发送器;
M个发送端缓存模块用于分别接收1路待传输数据DATAi进行缓存,i=1,2,…,M,记第i路待传输数据DATAi对应的同步时钟DATA_clki的频率为fTXi、数据位宽为bTXi,其数据带宽BWTXi=fTXi·bTXi需要满足BWTXi≤BWTXmax,BWTXmax表示预设的数据带宽上限;发送端缓存模块采用FIFO实现,FIFO的写数据位宽δ≥bTXmax,读数据位宽ε≤χ-1,bTXmax为M路待传输数据DATAi对应数据位宽bTXi中的最大数据位宽,χ表示用于实现GTX发送器的IP核的用户逻辑层位宽,将每路待传输数据DATAi对应的同步时钟DATA_clki作为对应FIFO的写端口时钟,将从GTX发送器接收的时钟信号user_clk1作为FIFO的读端口时钟;
M个发送端数据编码模块用于从对应的发送端缓存模块中读取待传输数据并进行编码,根据接收的时钟信号user_clk1对读取数据进行编码后得到编码数据Tx_Di,将编码数据Tx_Di送入GTX发送器,编码方法如下:
记第i个发送端数据编码模块从第i个发送端缓存模块读取待传输数据DATAi时的读取数据为Tx_rd_datai,对应的数据有效信号为Validi,进行拼接得到数据Tx_rd_data′i,拼接格式为Tx_rd_data′i={validi,x'h0,Tx_rd_datai},其中x'h0表示填充x位二进制0,x=χ-ε-1;对于数据Tx_rd_data′i,以时钟信号user_clk1为计数标准,按照每φ个Tx_rd_data′i插入1个数据对齐编码的格式进行数据重构,得到编码数据Tx_Di;
GTX发送器采用IP核实现,接收外部参考时钟信号ref_clk_N1/P1和时钟信号sys_clk1,生成时钟信号user_clk1发送给M个发送端缓存模块和M个发送端数据编码模块,时钟信号user_clk1的频率fuser_clk采用以下公式计算:
fuser_clk*α=BWline_rate
其中,α表示线路编码的内部数据位宽,BWline_rate表示设置的GTX发送器的发送端链路线速率,需要满足以下条件:
其中,φ表示从M个发送端缓存模块中读出的数据Tx_rd_datai与数据对齐编码的比值,η%表示GTX发送器中线路编码模式造成的带宽损耗;
GTX发送器接收M个编码数据Tx_Di,转换为串行数据后通过传输介质进行发送;
数据接收FPGA包括接收端时钟网络配置模块、M个接收端缓存模块、M个接收端编码模块、GTX接收器,其中:
接收端时钟网络配置模块用于接收外部时钟source_clk2并根据其生成时钟信号sys_clk2,发送给GTX接收器;根据各个待传输数据的时钟参数生成对应的数据源同步时钟DATA_clk′i,分别发送给对应的接收端缓存模块;
GTX接收器采用IP核实现,接收外部参考时钟信号ref_clk_N2/P2和时钟信号sys_clk2,生成时钟信号user_clk2发送给M个接收端数据解码模块,时钟信号user_clk2的频率为fuser_clk;从传输介质接收串行数据,处理得到M路接收数据Rx_Di以及同步控制信号Rx_data_ctrli后分别发送给对应的接收端译码模块;
M个接收端译码模块用于分别从GTX接收器接收1路接收数据Rx_Di和同步控制信号Rx_data_ctrli,对接收数据Rx_Di进行解码,将解码后的数据Rx_wr_datai发送给对应的接收端缓存模块,解码方法如下:
首先根据同步控制信号Rx_data_ctrli从接收数据Rx_Di中去除数据对齐编码,提取得到数据Rx_D′i,规则如下:
1)如果Rx_data_ctrli=(χ/8)'b11...1且Rx_Di=K_value,则Rx_Di为数据对齐编码,将该数据丢弃,K_value表示数据对齐编码的值,(χ/8)'b11...1表示连续χ/8位均为1;
2)如果Rx_data_ctrli=(χ/8)'b00...0且Rx_Di≠K_value,则Rx_Di为有效数据,则对该数据进行提取;
3)如果Rx_data_ctrli为其它值,则Rx_Di为无效数据,将该数据丢弃;
根据发送端数据编码模块中的拼接格式从数据Rx_D′i分离出数据Rx_wr_data′i和数据有效信号validi′,根据数据有效信号validi′从数据Rx_wr_data′i中提取出有效数据Rx_wr_datai;
M个接收端缓存模块用于分别接收1路解码数据并进行缓存,发送端缓存模块采用FIFO实现,FIFO的写数据位宽为δ,读数据位宽为ε,将从GTX发送器接收的时钟信号user_clk2作为FIFO的写端口时钟,将从接收端时钟配置模块接收的对应数据源同步时钟DATA_clk′i作为FIFO的读端口时钟。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810834053.1A CN108988991B (zh) | 2018-07-26 | 2018-07-26 | 带宽自适应的串行数据传输系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810834053.1A CN108988991B (zh) | 2018-07-26 | 2018-07-26 | 带宽自适应的串行数据传输系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108988991A CN108988991A (zh) | 2018-12-11 |
CN108988991B true CN108988991B (zh) | 2020-12-01 |
Family
ID=64551371
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810834053.1A Active CN108988991B (zh) | 2018-07-26 | 2018-07-26 | 带宽自适应的串行数据传输系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108988991B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109962754B (zh) * | 2019-02-15 | 2022-01-18 | 深圳市紫光同创电子有限公司 | 适配64b/66b编码的pcs发送装置、接收装置 |
CN112286853B (zh) * | 2019-07-25 | 2022-09-20 | 广东高云半导体科技股份有限公司 | 一种支持多协议的fpga系统及数据处理方法 |
CN110444148A (zh) * | 2019-07-30 | 2019-11-12 | 广州健飞通信有限公司 | 基于256级灰度led显示屏幕的fpga实现方法、装置及计算机可读存储介质 |
CN111245563B (zh) * | 2019-12-30 | 2022-02-18 | 湖南迈克森伟电子科技有限公司 | 一种gtx无编码传输方法与装置 |
CN112203314A (zh) * | 2020-09-02 | 2021-01-08 | 广东省新一代通信与网络创新研究院 | 一种基于ip核的cpri接口iq数据适配及测试方法 |
CN112600551B (zh) * | 2020-12-17 | 2022-11-01 | 深圳市紫光同创电子有限公司 | Serdes接口电路 |
CN114297121A (zh) * | 2021-12-10 | 2022-04-08 | 北京遥测技术研究所 | 一种基于fpga片间双向高速数据传输的实现方法 |
CN115550589B (zh) * | 2022-08-12 | 2024-05-24 | 哈尔滨工业大学 | 一种基于FPGA的CoaXPress接口数据到CameraLink接口数据的高速实时转换装置及方法 |
CN116701271B (zh) * | 2023-06-13 | 2023-11-17 | 上海奎芯集成电路设计有限公司 | Ucie适配层的兼容多种批长度的数据传输模块和方法 |
CN118631410A (zh) * | 2024-08-15 | 2024-09-10 | 北京融为科技有限公司 | 用于不良信道下gtx高速数据的传输方法、装置及设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102761396A (zh) * | 2012-07-30 | 2012-10-31 | 哈尔滨工业大学 | 基于fpga的高速串行接口 |
CN106776422A (zh) * | 2016-11-21 | 2017-05-31 | 深圳市科楠科技开发有限公司 | 一种基于8b/10b编解码的串行传输方法及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9386193B2 (en) * | 2014-10-31 | 2016-07-05 | Panasonic Intellectual Property Management Co., Ltd. | Signal transmitting device, signal transmitting/receiving device, and image display device |
-
2018
- 2018-07-26 CN CN201810834053.1A patent/CN108988991B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102761396A (zh) * | 2012-07-30 | 2012-10-31 | 哈尔滨工业大学 | 基于fpga的高速串行接口 |
CN106776422A (zh) * | 2016-11-21 | 2017-05-31 | 深圳市科楠科技开发有限公司 | 一种基于8b/10b编解码的串行传输方法及系统 |
Non-Patent Citations (2)
Title |
---|
FPGA Based High-speed Parallel Transmission System;Zhou Zhou;《2010 International Conference on Intelligent System Design and Engineering Application》;20110407;全文 * |
基于FPGA的IRIG-B解码模块设计;许波;《电子测量技术》;20180228;第41卷(第3期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN108988991A (zh) | 2018-12-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108988991B (zh) | 带宽自适应的串行数据传输系统 | |
US7840709B1 (en) | Multi-speed serial interface for media access control and physical layer devices | |
CN108989708B (zh) | 通用多媒体接口的低速控制信号光电转换模块 | |
US8375276B2 (en) | Method and apparatus for encoding and decoding data | |
CN102291398B (zh) | 无线通讯系统中数据压缩与解压缩方法、装置及系统 | |
CN108631908B (zh) | 使用FlexE承载信号帧的方法、FlexE信号帧还原的方法及装置 | |
CN102710240B (zh) | 信号处理装置、方法、serdes和处理器 | |
US12063106B2 (en) | Overhead monitoring method and apparatus, and computer-readable storage medium | |
WO2016106584A1 (zh) | 无线前传无源光网络pon系统、光网络设备及方法 | |
JP2016539582A (ja) | 信号サンプル点データの処理方法及び装置 | |
WO2021047228A1 (zh) | 一种通信方法、设备及存储介质 | |
US20230394006A1 (en) | Fpga-based usb 3.0/3.1 control system | |
CN104393958A (zh) | 基于流水线的数据帧发送方法、接收方法 | |
CN106304190A (zh) | 一种cpri接口数据压缩传输方法及系统 | |
CN110474692B (zh) | 一种光通信设备、光通信系统、数据传输方法及存储介质 | |
CN109257513A (zh) | 一种基于SerDes的遥感图像传输系统和方法 | |
CN113904756B (zh) | 基于10Gbase-R协议的以太网系统 | |
WO2016145606A1 (zh) | 处理数据的方法和通信设备 | |
CN114143119A (zh) | 一种基于fpga的行情低延时接口装置 | |
KR101603674B1 (ko) | 긴급 데이터 전송 방법 및 장치 | |
CN112313891A (zh) | 用于在以太网电缆上发送边信道比特的装置和方法 | |
WO2020048508A1 (zh) | 一种码块生成方法、接收方法和装置 | |
US10827040B2 (en) | System and method for enabling lossless interpacket gaps for lossy protocols | |
TW200527854A (en) | System architecture and related method for communication between network layers serially | |
WO2023151452A1 (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 |