CN116166588A - 多通道数据绑定方法、装置及系统和计算机可读存储介质 - Google Patents
多通道数据绑定方法、装置及系统和计算机可读存储介质 Download PDFInfo
- Publication number
- CN116166588A CN116166588A CN202211567417.7A CN202211567417A CN116166588A CN 116166588 A CN116166588 A CN 116166588A CN 202211567417 A CN202211567417 A CN 202211567417A CN 116166588 A CN116166588 A CN 116166588A
- Authority
- CN
- China
- Prior art keywords
- data
- clock
- sending
- channels
- binding
- 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
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/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/385—Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
-
- 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
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0002—Serial port, e.g. RS232C
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0004—Parallel ports, e.g. centronics
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/38—Universal adapter
- G06F2213/3852—Converter between protocols
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
本申请公开了一种多通道数据绑定方法、装置及系统和计算机可读存储介质。该电路包括:将多个发送通道中的目标发送通道的接收时钟作为所述多个发送通道中的其它发送通道的发送时钟;获取所述多个发送通道各自的接收时钟;分别产生所述多个发送通道各自的鉴定数据;分别根据所述多个发送通道各自的所述发送时钟和所述接收时钟对所述多个发送通道各自的所述鉴定数据进行鉴相处理,得到所述多个发送通道各自的移位数值;接收所述多个发送通道各自的并行数据;以及根据所述多个发送通道各自的所述移位数值分别对所述多个发送通道各自的所述并行数据进行移位处理,得到移位后数据。本申请实施例可以提高数据传输速率,提高芯片性能和可靠性。
Description
技术领域
本申请涉及数据传送技术领域,具体涉及一种多通道数据绑定方法、装置、系统及计算机可读存储介质。
背景技术
在串行器/解串器知识产权核(Serdes IP,SERializer/DESerializerIntellectual Property)中,多通道绑定是需要支持的常见功能。Serdes IP主要由物理编码子层(PCS,Physical Coding Sublayer)和物理媒介适配层(PMA,Physical MediaAttachment)组成。当需要传输的数据超过一条串行链路的承载能力时,需要同时使用多条链路来并行传输数据。当前的多通道绑定技术方案,在PMA中对数据串行数据对齐,需要在PMA的模拟部分进行实现,通过调整接收时钟的时钟相位,来实现数据从主通道时钟切换到接收时钟的时钟域下,并实现多通道同时输出串行数据。但是,该技术方案中,时钟频率不能太高,否则相位调节不精确,因此会影响到数据传输速率。
发明内容
针对现有技术存在的至少部分不足或缺陷,本申请提供一种多通道数据绑定方法、一种多通道数据绑定装置、一种多通道数据绑定系统和一种计算机可读存储介质,提高了数据传输速率,提高了芯片性能和可靠性。
一方面,本申请实施例提供的一种多通道数据绑定方法,例如包括:将多个发送通道中的目标发送通道的接收时钟作为所述多个发送通道中的其它发送通道的发送时钟;获取所述多个发送通道各自的接收时钟;分别产生所述多个发送通道各自的鉴定数据;分别根据所述多个发送通道各自的所述发送时钟和所述接收时钟对所述多个发送通道各自的所述鉴定数据进行鉴相处理,得到所述多个发送通道各自的移位数值;接收所述多个发送通道各自的并行数据;以及根据所述多个发送通道各自的所述移位数值分别对所述多个发送通道各自的所述并行数据进行移位处理,得到移位后数据。
优选地,所述分别根据所述发送时钟和所述接收时钟对所述多个发送通道各自的所述鉴定数据进行鉴相处理,得到所述多个发送通道各自的移位数值,包括:检测所述目标发送通道的所述接收时钟与所述鉴定数据的相差,确定所述目标发送通道的接收时钟绑定脉冲数量;检测所述目标发送通道的所述发送时钟与所述鉴定数据的相差,确定所述目标发送通道的发送时钟绑定脉冲数量;以及根据所述接收时钟绑定脉冲数量和所述发送时钟绑定脉冲数量确定所述目标发送通道的所述移位数值。
优选地,所述检测所述目标发送通道的所述接收时钟与所述鉴定数据的相差,确定所述目标发送通道的接收时钟绑定脉冲数量包括:输出第一绑定脉冲信号并对所述第一绑定脉冲信号进行计数;根据所述第一绑定脉冲信号对所述鉴定数据进行移位;当所述鉴定数据对齐时,记录所述第一绑定脉冲信号的数量得到所述接收时钟绑定脉冲数量。
优选地,所述检测所述目标发送通道的所述发送时钟与所述鉴定数据的相差,确定所述目标发送通道的发送时钟绑定脉冲数量包括:输出第二绑定脉冲信号并对所述第二绑定脉冲信号进行计数;根据所述第二绑定脉冲信号对所述鉴定数据进行移位;当所述鉴定数据对齐时,记录所述第二绑定脉冲信号的数量得到所述接收时钟绑定脉冲数量。
优选地,所述根据所述接收时钟绑定脉冲数量和所述发送时钟绑定脉冲数量确定所述目标发送通道的所述移位数值,包括:对比所述接收时钟绑定脉冲数量和所述发送时钟绑定脉冲数量,得到脉冲数量差值;根据所述脉冲数量差值和预设移位数值范围确定所述移位数值。
优选地,所述根据所述多个发送通道各自的所述移位数值分别对所述多个发送通道各自的所述并行数据进行移位处理,得到移位后数据,包括:根据所述移位数值、当前时钟周期和所述当前时钟周期的前一个时钟周期的并行数据进行组合处理,得到组合后数据;以及将所述组合后数据的时钟从所述发送时钟转换到所述接收时钟。
优选地,所述根据所述移位数值、当前时钟周期和所述当前时钟周期的前一个时钟周期的并行数据进行组合处理,得到组合后数据,包括:获取所述当前时钟周期的前一个时钟周期内的前一周期数据中的多位数据,其中,所述多位数据的位数等于所述移位数值;以及将所述多位数据与所述当前时钟周期的当前周期数据组合得到所述组合后数据。
另一方面,本申请实施例提供的一种多通道数据绑定装置,用于执行如前述任意一项所述的多通道数据绑定方法,其中,所述多通道数据绑定装置包括:通道时钟统一模块,用于将多个发送通道中的目标发送通道的接收时钟作为所述多个发送通道中的其它发送通道的发送时钟;接收时钟获取模块,用于获取所述多个发送通道各自的接收时钟;鉴定数据产生模块,用于分别产生所述多个发送通道各自的鉴定数据;移位数值确定模块,用于分别根据所述多个发送通道各自的所述发送时钟和所述接收时钟对所述多个发送通道各自的所述鉴定数据进行鉴相处理,得到所述多个发送通道各自的移位数值;并行数据接收模块,用于接收所述多个发送通道各自的并行数据;以及并行数据移位模块,用于根据所述多个发送通道各自的所述移位数值分别对所述多个发送通道各自的所述并行数据进行移位处理,得到移位后数据。
又一方面,本申请实施例提供的一种多通道数据绑定系统,包括:处理器和连接所述处理器的存储器,所述存储器上存储有所述处理器执行的指令,且所述指令使得所述处理器执行操作以进行如前述任意一项所述的多通道数据绑定方法。
又一方面,本申请实施例提供的一种计算机可读存储介质,其为非易失性存储器且存储有计算机可执行指令,其中,所述计算机可执行指令用于执行如前述任意一项所述的多通道数据绑定方法。。
本申请实施例通过对多个发送通道的鉴定数据进行鉴相处理得到移位数值,并根据所述移位数值多并行数据进行移位处理,来实现多个发送通道输出的串行数据对齐,减少了调整时钟相位的实现难度,有效降低了逻辑复杂度和内部数字设计的时序要求,同时避免现有技术中多个发送通道绑定方案中时钟频率不能太高这一限制,提高了数据传输速率,提高了芯片性能和可靠性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,而不是全部的实施例。基于本申请实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例及附图,都属于本申请保护的范围。
图1为本申请第一实施例提供的多通道数据绑定方法的流程示意图。
图2为图1中的步骤S40的详细流程示意图。
图3为图2中的步骤S41的详细流程示意图。
图4为图2中的步骤S43的详细流程示意图。
图5为图2中的步骤S45的详细流程示意图。
图6为图1中的步骤S60的详细流程示意图。
图7为图6中的步骤S61的详细流程示意图。
图8为本申请第一实施例中实现多通道数据绑定方法的一种硬件架构的结构示意图。
图9为图8中的PMA的架构示意图。
图10为图9中的一个通道的架构示意图。
图11为本申请第一实施例中的一种PMA的详细架构示意图。
图12为本申请第二实施例提供的一种多通道数据绑定装置的模块示意图。
图13为本申请第三实施例提供的一种多通道数据绑定系统的结构示意图。
图14为本申请第四实施例提供的一种计算机可读存储介质的结构示意图。
具体实施方式
以下结合附图对本申请提供的技术方案进行进一步详细说明。应该理解,此处所描述的具体实施例仅用以解释本申请。
【第一实施例】
如图1所示,本申请第一实施例提供了一种多通道数据绑定方法。具体地,本申请实施例提供的多通道数据绑定方法例如包括步骤:
S10:将多个发送通道中的目标发送通道的接收时钟作为所述多个发送通道中的其它发送通道的发送时钟;
S20:获取所述多个发送通道各自的接收时钟;
S30:分别产生所述多个发送通道各自的鉴定数据;
S40:分别根据所述多个发送通道各自的所述发送时钟和所述接收时钟对所述多个发送通道各自的所述鉴定数据进行鉴相处理,得到所述多个发送通道各自的移位数值;
S50:接收所述多个发送通道各自的并行数据;以及
S60:根据所述多个发送通道各自的所述移位数值分别对所述多个发送通道各自的所述并行数据进行移位处理,得到移位后数据。
这样一来,本申请实施例通过对多个发送通道的鉴定数据进行鉴相处理得到移位数值,并根据所述移位数值对并行数据进行移位处理,来实现多个发送通道输出的串行数据对齐,减少了调整时钟相位的实现难度,有效降低了逻辑复杂度和内部数字设计的时序要求,同时避免现有技术中多个发送通道绑定方案中对于时钟频率的限制,提高了数据传输速率,提高了芯片性能和可靠性。
此外,如图2所示,步骤S40例如可以步骤:
S41:检测所述目标发送通道的所述接收时钟与所述鉴定数据的相差,确定所述目标发送通道的接收时钟绑定脉冲数量;
S43:检测所述目标发送通道的所述发送时钟与所述鉴定数据的相差,确定所述目标发送通道的发送时钟绑定脉冲数量;以及
S45:根据所述接收时钟绑定脉冲数量和所述发送时钟绑定脉冲数量确定所述目标发送通道的所述移位数值。
进一步地,如图3所示,步骤S41例如包括:
S411:输出第一绑定脉冲信号并对所述第一绑定脉冲信号进行计数;以及S413:根据所述第一绑定脉冲信号对所述鉴定数据进行移位;
S415:当所述鉴定数据对齐时,记录所述第一绑定脉冲信号的数量得到所述接收时钟绑定脉冲数量。
同样地,如图4所示,步骤S43例如包括:
S431:输出第二绑定脉冲信号并对所述第二绑定脉冲信号进行计数;以及S433:根据所述第二绑定脉冲信号对所述鉴定数据进行移位;
S435:当所述鉴定数据对齐时,记录所述第二绑定脉冲信号的数量得到所述接收时钟绑定脉冲数量。
此外,如图5所示,步骤S45例如包括:
S451:对比所述接收时钟绑定脉冲数量和所述发送时钟绑定脉冲数量,得到脉冲数量差值;
S453:根据所述脉冲数量差值和预设移位数值范围确定所述移位数值。
再者,如图6所示,步骤S60例如包括:
S61:根据所述移位数值、当前时钟周期和所述当前时钟周期的前一个时钟周期的并行数据进行组合处理,得到组合后数据;以及
S63:将所述组合后数据的时钟从所述发送时钟转换到所述接收时钟。
承上述,如图7所示,步骤S61例如包括:
S611:获取所述当前时钟周期的前一个时钟周期内的前一周期数据中的多位数据,其中,所述多位数据的位数等于所述移位数值;以及
S613:将所述多位数据与所述当前时钟周期的当前周期数据组合得到所述组合后数据。
为便于理解本申请的多通道数据绑定方法,下面将结合图8至图11对所述多通道数据绑定方法的各个步骤进行详细描述。
本申请实施例提供的多通道数据绑定方法应用于可编程逻辑器件内的SerdesIP。典型地,可编程逻辑器件例如为FPGA(Field Programmable Gate Array,现场可编程逻辑门阵列)。FPGA的基本结构包括可编程输入输出单元,可配置逻辑块,数字时钟管理模块,嵌入式块RAM,布线资源,内嵌专用硬核,底层内嵌功能单元等。许多FPGA已经内置了一个或多个MGT(Multi-Gigabit Transceiver)收发器,也叫做SERDES(Multi-GigabitSerializer/Deserializer)IP。MGT收发器内部包括高速串并转换电路、时钟数据恢复电路、数据编解码电路、时钟纠正和通道绑定电路,为各种高速串行数据传输协议提供了物理层基础。如图8所示,MGT收发器的TX发送端和RX接收端功能独立,而且均包括物理媒介适配层(Physical Media Attachment,PMA)和物理编码子层(Physical Coding Sublayer,PCS)两个子层。PMA内部集成了高速串并转换电路、预加重电路、接收均衡电路、时钟发生电路和时钟恢复电路等。其中,串并转换电路的作用是把FPGA内部的并行数据转化为MGT接口的串行数据。预加重电路是对物理连接系统中的高频部分进行补偿,在发送端增加一个高通滤波器来放大信号中的高频分量进而提高信号质量,但预加重电路会导致功耗和电磁兼容(Electro Magnetic Compatibility,EMC)增加,所以如非必要一般情况下都把它屏蔽掉。接收均衡电路主要用来补偿由频率不同引起的阻抗差异。时钟发生电路与时钟恢复电路在发送端把时钟和数据绑定后发送,在接收端再从接收到的数据流中恢复出时钟,这样可以有效地避免在高速串行传输的条件下时钟与数据分开传输带来的时钟抖动问题。PCS内部集成了编/解码电路、弹性缓冲电路、通道绑定电路和时钟修正电路。(1)编/解码电路例如为8B/10B编/解码电路,可以有效的避免数据流中出现连续的‘0’或者‘1’,以保证数据传输的平衡性。通道绑定电路的作用是通过在发送数据流中加入K码字符,把多个物理上独立的MGT通道绑定成一个时序逻辑上同步的并行通道进而提高传输的吞吐率。弹性缓冲电路用来解决恢复的时钟与本地时钟不一致的问题并可以通过对缓冲区中的K码进行匹配对齐来实现通道绑定功能。
当需要传输的数据超过一条串行链路(也称通道)的承载能力时,需要同时使用多条链路来并行传输数据。如图9所示,PMA例如包括多个通道chn0(PMA_tx_ch0),……,chnx(PMA_tx_chx)。
进一步地,如图10和图11所示,TX发送端的每个通道包括Tx_interface_chx电路和TX电路。
具体地,Tx_interface_chx电路位于PCS和TX电路之间。Tx_interface_chx电路包括bonding_pattern_gen模块、tx_data_sel模块、tx_bit_move模块、retimer模块。其中,bonding_pattern_gen模块用于在绑定(tx_bonding)时,生成pattern数据(也称鉴定数据)。pattern数据分为{79’d0,1’b1}和{78’d0,2’b11}两种数据模式。tx_data_sel模块用于对发送通道(tx通道)中的数据进行选择。当正在进行相位调整时,选择数据pattern[79:0]。当进行正常数据传输时,选择data_from_pcs[79:0]。tx_bit_move模块用于根据TX电路反馈回来的脉冲数量(pulse数量),计算移位数值,对当前数据进行移位处理。tx_bit_move模块包括bitslip子模块,bitslip子模块用于进行移位处理。retimer模块用于时钟切换,将数据从主通道时钟(txpclk_w时钟)切换到接收时钟(txpclk_r时钟)下,输出并行数据。
承上述,TX电路包括tx_piso模块和tx_bonding_phdet模块。tx_piso模块用于将并行数据转成串行数据。tx_piso模块包括div模块,div模块用于时钟分频。tx_bonding_phdet模块用于检测时钟和数据的相位差。
其中,在图10和图11中,txpclk_w信号为主发送通道时钟信号。txpclk_r信号为各个发送通道自己的时钟信号。data_from_pcs为从PCS层的pcs_tx传过来的并行数据,并行数据的最大数据位宽例如为80,数据有效位宽可为8/10/16/20/32/40/64/80。reg_tx_bonding_sig_sel用于选择tx_bonding_done信号来源,可以用1位二进制数来表示,比如1表示信号来源用户控制;0表示信号来源TX电路。tx_bonding_done_from_pcs表示tx_bonding(通道绑定)完成信号,高电平有效,由用户控制。txpclk_to_pcs为PMA给到PCS的时钟信号。reg_tx_bonding_en为tx_bonding使能信号。tx_bonding_done_to_pcs来自PMA,表示tx_bonding完成信号。tx_sync_from_pcs来自用户,表示tx_bonding开始信号。tx_bonding_pulse为3个时钟周期的脉冲信号,来自TX电路部分的tx_bonding_phdet模块,控制tx_bit_move模块进行bit移位。tx_bonding_done为tx_bonding完成信号。tx_bonding_clksel用于指示tx_bonding_phdet模块使用哪种时钟对pattern数据进行鉴相(鉴定数据与时钟的相位差),可以用1位二进制数来表示,0表示tpclk_r时钟;1表示txpclk_w时钟。
目前常用的技术是调节时钟相位,使各个通道的数据采样时钟相位保持一致,来实现数据从txpclk_w时钟切换到txpclk_r时钟域下,并实现多通道同时输出串行数据。但是,该技术方案下,时钟频率不能太高,否则相位调节不精确,因此会影响到数据传输速率。本申请实施例提供的多通道数据绑定方法可以解决这个问题。具体地,在进行多通道绑定时,首先bonding_pattern_gen模块产生pattern数据,给到tx_data_sel模块;tx_data_sel模块选择pattern数据供后续的多通道绑定的鉴相操作;然后tx_bit_move模块进行鉴相操作和移位处理,鉴相得到data_bitslip数据(移位数值)给到bitslip子模块进行数据移位处理;最后retimer模块进行数据的时钟域转换,比如根据鉴相得出的txpclk_w和txpclk_r时钟与数据的相位差,来判断是数据用txpclk_w的上升沿转到txpclk_r时钟域,还是用txpclk_w的下降沿转到txpclk_r时钟域。
更具体地,所述多通道数据绑定方法的具体实现过程如下。
步骤一:在tx通道复位信号拉高前选定主通道,通常选择lane0的通道时钟txpclk_r作为主时钟,给到lane0/1/2/3……/x的txpclk_r端口,将多个发送通道中的目标发送通道的接收时钟作为所述多个发送通道中的其它发送通道的发送时钟。另外使能寄存器reg_tx_bonding_en信号,配置寄存器预设移位数值。预设移位数值包括cfg_bitslip_min(数值区间为1到数据有效位宽的一半,默认值为1,可根据实际电路调节)和cfg_bitslip_max(数值区间为1到数据有效位宽,默认值为数据有效位宽的一半,可根据实际电路调节)。鉴相过程使用pattern数据,鉴相完成后,会自动切换回到data_from_pcs数据。
其后的步骤,每个通道都要进行且操作一致,而且各个通道之间互不影响。
步骤二:bonding_pattern_gen模块发送pattern数据(也即鉴定数据),比如pattern({79’d0,1’b1}或者{78’d0,2’b11}),tx_bonding_phdet模块通过对pattern数据进行相差鉴定。
步骤三:为了避免retimer模块带来的错周期问题,需要分别识别出txpclk_r和txpclk_w的具体相位差。如果有相位差,tx_bonding_phdet模块输出脉冲信号tx_bonding_pulse信号控制bitslip模块按UI(一个bit数据传输所需要的时间)移动数据直到数据对齐。数据对齐后,tx_bonding_done信号会拉高表示bonding完成。
具体地,步骤三例如包括:
1、对txpclk_w和txpclk_r时钟进行鉴相,识别出每个txpclk_r和txpclk_w与pattern数据的具体相位差,通过相应计算,得到最终的移位数值。
1)tx_sync_from_pcs信号从低电平跳变到高电平后启动鉴相过程,之后一直维持高电平,同时拉高tx_sync信号,使用txpclk_r鉴相。
2)tx_bonding_phdet模块开始工作并检测txpclk_r时钟与pattern数据的相位差,输出tx_bonding_pulse(第一绑定脉冲信号),同时对tx_bonding_pulse的数量进行累加得到A1,并不断送到bitslip模块,控制鉴定数据按照A1进行bit移位,直到数据对齐,phdet模块停止产生pulse脉冲信号,tx_bonding_done信号拉高,记录此时的pulse值为最终的A1值(接收时钟绑定脉冲数量)。
3)tx_bonding_done拉高一定时间后,拉低tx_sync信号,对累加器进行清零,并拉低tx_bonding_clksel信号,然后再次将tx_sync信号拉高,释放txpclk_r时钟的鉴相过程,进行txpclk_w时钟鉴相。
4)tx_bonding_phdet模块开始工作并检测相差,输出tx_bonding_pulse,同时对tx_bonding_pulse数量进行累加得到A2,并不断送到bitslip子模块,控制鉴定数据按照A2进行移位,直到数据对齐,phdet模块停止产生pulse脉冲信号,tx_bonding_done信号拉高,记录此时的pulse值为最终的A2值(发送时钟绑定脉冲数量)。
5)在txpclk_r和txpclk_w都鉴相完成后,将tx_bonding_done_gen信号拉高,此时tx通道数据会切换回data_from_pcs数据。
6)计算得到最终移位数值(对应移位数值)。对于正常业务数据比如并行数据data_from_pcs,考虑到在retimer模块中txpclk_w和txpclk_r时钟域切换的边界情况(即txpclk_r和txpclk_w时钟相位一致和相位差半个时钟周期的情况),通过进一步计算可以得到最终的移动数据。计算步骤如下面所示:
①若A1=A2,表示txpclk_r和txpclk_w相位对齐,但有正负一个UI的误差,将中间变量numb_a1_a2(脉冲数量差值)赋值0;若A1>A2,表示txpclk_r比txpclk_w晚(A1-A2)个UI,但有正负一个UI的误差,numb_a1_a2=数据有效位宽-(A1-A2);若A1<A2,表示txpclk_r比txpclk_w早(A1-A2)个UI,但有正负一个UI的误差,numb_a1_a2=A2-A1;
②若cfg_bitslip_min<=mumb_a1_a2<=cfg_bitslip_max,data_bitslip(移位数值)=数据有效位宽-1-(cfg_bitslip_max-numb_a1_a2);若mumb_a1_a2<cfg_bitslip_min,data_bitslip=数据有效位宽-1-(cfg_bitslip_max-numb_a1_a2);若mumb_a1_a2>cfg_bitslip_max,data_bitslip=numb_a1_a2-cfg_bitslip_max-1。
之后,将移位数值data_bitslip传输到bitslip子模块进行移位处理,保证多发送通道bonding时串行数据流对齐。以数据有效位宽为32为例,若data_bitslip=2,将上一拍数据命名为data_from_pcs_before,则将上一拍数据data_from_pcs_before[31:30],组合到当前数据中,即组合数据{data_from_pcs[79:2],data_from_pcs_before[31:30]},然后将该组合数据给到时间重构(retimer)模块进行时钟域转换。
接着,retimer模块实现数据时钟域转换,将来自tx_bit_move经过数据bit移位的数据转换至txpclk_r时钟域。
当cfg_bitslip_min<=mumb_a1_a2<=cfg_bitslip_max时,bitslip_out_cfgrance为0;否则为1。该信号会给到retimer模块,在retimer模块内部控制数据进行时钟域转换。该信号为0时,将数据从txpclk_w的上升沿转到txpclk_r时钟域,由txpclk_r上升沿采样;该信号为1时,将数据从txpclk_w的下升沿转到txpclk_r时钟域,经过txpclk_w上升沿打拍后,再用txpclk_w下降沿打拍,最后由txpclk_r上升沿采样。
至此,整个多通道绑定的数据流程结束,完成多通道时输出串行数据对齐功能。
综上所述,本申请实施例通过对多个发送通道的鉴定数据进行鉴相处理得到移位数值,并根据所述移位数值多并行数据进行移位处理,来实现多个发送通道输出的串行数据对齐,减少了调整时钟相位的实现难度,有效降低了逻辑复杂度和内部数字设计的时序要求,同时避免现有技术中多个发送通道绑定方案中时钟频率不能太高这一限制,提供了数据传输速率,提高了芯片性能和可靠性。
【第二实施例】
如图12所示,本申请第二实施例提供了一种多通道数据绑定装置100。多通道数据绑定装置100例如包括:通道时钟统一模块110、接收时钟获取模块120、鉴定数据产生模块130、移位数值确定模块140、并行数据接收模块150以及并行数据移位模块160。
具体地,通道时钟统一模块110用于将多个发送通道中的目标发送通道的接收时钟作为所述多个发送通道中的其它发送通道的发送时钟;接收时钟获取模块120用于获取所述多个发送通道各自的接收时钟;鉴定数据产生模块130用于分别产生所述多个发送通道各自的鉴定数据;移位数值确定模块140用于分别根据所述多个发送通道各自的所述发送时钟和所述接收时钟对所述多个发送通道各自的所述鉴定数据进行鉴相处理,得到所述多个发送通道各自的移位数值;并行数据接收模块150,用于接收所述多个发送通道各自的并行数据;以及并行数据移位模块160,用于根据所述多个发送通道各自的所述移位数值分别对所述多个发送通道各自的所述并行数据进行移位处理,得到移位后数据。
本实施例中的多通道数据绑定装置100用于执行前述第一实施例中的多通道数据绑定方法,多通道数据绑定装置100中的各模块之间的具体工作过程和技术效果参见前述第一实施例的描述,此处不再赘述。
【第三实施例】
如图13所示,本申请第三实施例提供了一种多通道数据绑定系统800。典型地,多通道数据绑定系统800可例如为视频处理器、视频拼接器、视频切换器等具有视频和图像处理功能例如图像和图层移动等的设备。多通道数据绑定系统800例如包括存储器810和与存储器810连接的处理器830。存储器810可例如为非易失性存储器,其上存储有计算机程序811。处理器830可例如为嵌入式处理器。处理器830运行计算机程序811时执行前述第一实施例、第二实施例和第三实施例中的多通道数据绑定方法。
本实施例中的多通道数据绑定系统800的具体工作过程和技术效果参见前述第一实施例的描述,此处不再赘述。
【第四实施例】
如图14所示,本申请第四实施例提供了一种计算机可读存储介质900。计算机可读存储介质900例如为非易失性存储器,其例如为:磁介质(如硬盘、软盘和磁带),光介质(如CDROM盘和DVD),磁光介质(如光盘)以及专门构造为用于存储和执行计算机可执行指令的硬件装置(如只读存储器(ROM)、随机存取存储器(RAM)、闪存等)。计算机可读存储介质900上存储有计算机可执行指令910。计算机可读存储介质900可由一个或多个处理器或处理装置来执行计算机可执行指令910,以实施前述第一实施例、第二实施例和第三实施例中的多通道数据绑定方法。
此外,可以理解的是,前述各个实施例仅为本申请的示例性说明,在技术特征不冲突、结构不矛盾、不违背本申请的申请目的前提下,各个实施例的技术方案可以任意组合、搭配使用。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多路单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多路网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (10)
1.一种多通道数据绑定方法,其特征在于,包括:
将多个发送通道中的目标发送通道的接收时钟作为所述多个发送通道中的其它发送通道的发送时钟;
获取所述多个发送通道各自的接收时钟;
分别产生所述多个发送通道各自的鉴定数据;
分别根据所述多个发送通道各自的所述发送时钟和所述接收时钟对所述多个发送通道各自的所述鉴定数据进行鉴相处理,得到所述多个发送通道各自的移位数值;
接收所述多个发送通道各自的并行数据;以及
根据所述多个发送通道各自的所述移位数值分别对所述多个发送通道各自的所述并行数据进行移位处理,得到移位后数据。
2.如权利要求1所述的多通道数据绑定方法,其特征在于,所述分别根据所述发送时钟和所述接收时钟对所述多个发送通道各自的所述鉴定数据进行鉴相处理,得到所述多个发送通道各自的移位数值,包括:
检测所述目标发送通道的所述接收时钟与所述鉴定数据的相差,确定所述目标发送通道的接收时钟绑定脉冲数量;
检测所述目标发送通道的所述发送时钟与所述鉴定数据的相差,确定所述目标发送通道的发送时钟绑定脉冲数量;以及
根据所述接收时钟绑定脉冲数量和所述发送时钟绑定脉冲数量确定所述目标发送通道的所述移位数值。
3.如权利要求2所述的多通道数据绑定方法,其特征在于,所述检测所述目标发送通道的所述接收时钟与所述鉴定数据的相差,确定所述目标发送通道的接收时钟绑定脉冲数量包括:
输出第一绑定脉冲信号并对所述第一绑定脉冲信号进行计数;以及
根据所述第一绑定脉冲信号对所述鉴定数据进行移位;
当所述鉴定数据对齐时,记录所述第一绑定脉冲信号的数量得到所述接收时钟绑定脉冲数量。
4.如权利要求2所述的多通道数据绑定方法,其特征在于,所述检测所述目标发送通道的所述发送时钟与所述鉴定数据的相差,确定所述目标发送通道的发送时钟绑定脉冲数量包括:
输出第二绑定脉冲信号并对所述第二绑定脉冲信号进行计数;以及
根据所述第二绑定脉冲信号对所述鉴定数据进行移位;
当所述鉴定数据对齐时,记录所述第二绑定脉冲信号的数量得到所述接收时钟绑定脉冲数量。
5.如权利要求2所述的多通道数据绑定方法,其特征在于,所述根据所述接收时钟绑定脉冲数量和所述发送时钟绑定脉冲数量确定所述目标发送通道的所述移位数值,包括:
对比所述接收时钟绑定脉冲数量和所述发送时钟绑定脉冲数量,得到脉冲数量差值;
根据所述脉冲数量差值和预设移位数值范围确定所述移位数值。
6.如权利要求1所述的多通道数据绑定方法,其特征在于,所述根据所述多个发送通道各自的所述移位数值分别对所述多个发送通道各自的所述并行数据进行移位处理,得到移位后数据,包括:
根据所述移位数值、当前时钟周期和所述当前时钟周期的前一个时钟周期的并行数据进行组合处理,得到组合后数据;以及
将所述组合后数据的时钟从所述发送时钟转换到所述接收时钟。
7.如权利要求6所述的多通道数据绑定方法,其特征在于,所述根据所述移位数值、当前时钟周期和所述当前时钟周期的前一个时钟周期的并行数据进行组合处理,得到组合后数据,包括:
获取所述当前时钟周期的前一个时钟周期内的前一周期数据中的多位数据,其中,所述多位数据的位数等于所述移位数值;以及
将所述多位数据与所述当前时钟周期的当前周期数据组合得到所述组合后数据。
8.一种多通道数据绑定装置,其特征在于,所述多通道数据绑定装置包括:
通道时钟统一模块,用于将多个发送通道中的目标发送通道的接收时钟作为所述多个发送通道中的其它发送通道的发送时钟;
接收时钟获取模块,用于获取所述多个发送通道各自的接收时钟;
鉴定数据产生模块,用于分别产生所述多个发送通道各自的鉴定数据;
移位数值确定模块,用于分别根据所述多个发送通道各自的所述发送时钟和所述接收时钟对所述多个发送通道各自的所述鉴定数据进行鉴相处理,得到所述多个发送通道各自的移位数值;
并行数据接收模块,用于接收所述多个发送通道各自的并行数据;以及
并行数据移位模块,用于根据所述多个发送通道各自的所述移位数值分别对所述多个发送通道各自的所述并行数据进行移位处理,得到移位后数据。
9.一种多通道数据绑定系统,其特征在于,包括:处理器和连接所述处理器的存储器,所述存储器上存储有所述处理器执行的指令,且所述指令使得所述处理器执行操作以进行如权利要求1-7任意一项所述的多通道数据绑定方法。
10.一种计算机可读存储介质,其为非易失性存储器且存储有计算机可执行指令,其特征在于,所述计算机可执行指令用于执行如权利要求1至7任意一项所述的多通道数据绑定方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211567417.7A CN116166588A (zh) | 2022-12-07 | 2022-12-07 | 多通道数据绑定方法、装置及系统和计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211567417.7A CN116166588A (zh) | 2022-12-07 | 2022-12-07 | 多通道数据绑定方法、装置及系统和计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116166588A true CN116166588A (zh) | 2023-05-26 |
Family
ID=86415383
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211567417.7A Pending CN116166588A (zh) | 2022-12-07 | 2022-12-07 | 多通道数据绑定方法、装置及系统和计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116166588A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117714022A (zh) * | 2024-02-05 | 2024-03-15 | 苏州联讯仪器股份有限公司 | 一种多通道比特偏移计算方法、装置、设备及介质 |
-
2022
- 2022-12-07 CN CN202211567417.7A patent/CN116166588A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117714022A (zh) * | 2024-02-05 | 2024-03-15 | 苏州联讯仪器股份有限公司 | 一种多通道比特偏移计算方法、装置、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6266799B1 (en) | Multi-phase data/clock recovery circuitry and methods for implementing same | |
US10133301B2 (en) | Method and apparatus for exchanging data between devices operating at different clock rates | |
US6288656B1 (en) | Receive deserializer for regenerating parallel data serially transmitted over multiple channels | |
CN102812448B (zh) | 用于器件的多协议多数据速率自动速度协商架构 | |
US9025964B2 (en) | Receiver, data identifying and reproducing apparatus, pon system, and data identifying and reproducing method | |
US20100232798A1 (en) | Bit identification circuit | |
KR20150030712A (ko) | 통신 채널을 통한 클럭 및 양방향 데이터의 동시 송신 | |
US11509410B2 (en) | Method for a slave device for calibrating its output timing, method for a master device for enabling a slave device to calibrate its output timing, master device and slave device | |
CN101877633A (zh) | 信号同步的方法和系统、及信号接收装置和信号发送装置 | |
US20130064115A1 (en) | Multiplexing transmission system, receiver apparatus and module, transmitter apparatus for multiplexing transmission | |
CN116166588A (zh) | 多通道数据绑定方法、装置及系统和计算机可读存储介质 | |
JP4529714B2 (ja) | Dll回路サンプリングタイミング調整システム及びその方法並びにそれに用いる送受信装置 | |
US11265400B2 (en) | Multimode interconnection interface controller for converged network | |
CN111835497A (zh) | 一种基于fpga的光纤数据传输精确时间同步方法 | |
CN113406993A (zh) | 基于恢复时钟的fpga芯片时钟域同步方法及相关设备 | |
US6385319B1 (en) | Encoding circuit and method of detecting block code boundary and establishing synchronization between scrambler and descrambler | |
JP2006141017A (ja) | 第1のシステムから第2のシステムへデータを受け渡すための同期装置 | |
US20060245527A1 (en) | Method and apparatus for effecting synchronous pulse generation for use in serial communications | |
CN106209292B (zh) | 一种利用过采样方法实现stm-1的sdh光接口的方法与装置 | |
RU2271069C2 (ru) | Способ и схема синхронного приема при высокоскоростной передаче данных от абонента на центральный узел в системе оптической передачи данных | |
US8321715B2 (en) | Communication apparatus having clock interface | |
TWM605565U (zh) | 分散式同步系統 | |
JP5704988B2 (ja) | 通信装置 | |
KR20020081248A (ko) | 클럭신호선을 통해 데이터신호를 송수신하기 위한 시스템및 방법 | |
JPH09153889A (ja) | 高速デジタル信号用のシリアル化−パラレル化回路 |
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 |