CN113946526B - 一种高速串行总线的多通道数据绑定系统及方法 - Google Patents
一种高速串行总线的多通道数据绑定系统及方法 Download PDFInfo
- Publication number
- CN113946526B CN113946526B CN202111277505.9A CN202111277505A CN113946526B CN 113946526 B CN113946526 B CN 113946526B CN 202111277505 A CN202111277505 A CN 202111277505A CN 113946526 B CN113946526 B CN 113946526B
- Authority
- CN
- China
- Prior art keywords
- data
- channel
- shift register
- elastic buffer
- module
- 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/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1673—Details of memory controller using buffers
-
- 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
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
- G06F9/3012—Organisation of register space, e.g. banked or distributed register file
- G06F9/30134—Register stacks; shift registers
-
- 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)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
本发明公开了一种高速串行总线的多通道数据绑定系统及方法,采用码元对齐模块、解码模块、弹性缓冲器和通道绑定模块按顺序处理由Serdes接收的数据,通过将弹性缓冲增/删码元的信号和协议定义的同步码元相结合,动态调节移位寄存器移位量和写/读指针的方式,有效消除弹性缓冲器增/删码元造成的多通道数据解绑问题,降低多通道链路出错的概率,提升传输效率,移位寄存器的深度可配置,大于高速总线协议中两个同步码元之间的最小间隔,这样可以保证通道同步模块可以对总线协议定义的通道间最大延迟进行恢复。
Description
技术领域
本发明属于数字电路技术领域,涉及基于RapidIO协议的高速串行总线多通道绑定方法及系统,具体涉及一种高速串行总线的多通道数据绑定系统及方法。
背景技术
新一代的高速总线大都采用串行收发器(SERDES),以串行方式进行数据传输,支持1×至32×的通道连接,具有较高的数据传输率。串行高速总线协议大都采用8B/10B,64/66B,64B/67B,128B/130B等编码方式进行数据编码,这一编码方式保证了数据流中有足够的0-1和1-0的跳变,有利于接收端的时钟恢复电路(CDR)从数据流中恢复出时钟,但由于CDR恢复出来的时钟与接收端本地的时钟来自不同的时钟域,存在细微的频率差,这就需要引入弹性缓冲器(elastic_buffer,EB)对时钟的偏差进行补偿。
弹性缓冲器本质上就是一个异步FIFO(First-In-First-Out),数据以CDR恢复的时钟频率写入,用控制器本地的时钟频率读出。高速总线控制器在接收数据时,会根据需要在FIFO中通过插入或删除数据的方式来“弹性”补偿读写时钟的频率差,因此称为弹性缓冲器,这可以确保在高速环境下,数据收发两端的带宽处于动态的平衡状态,弹性缓冲器技术的应用非常普遍,在InfiniBand,RapidIO,PCIE,千兆以太网,光纤等串行总线中都有应用。
为了满足日益增长的高速传输需求,许多高速串行总线协议均采用多通道并联的方式增加带宽。由于布局布线等原因,这些通道的延迟不尽相同,这样一来在发送端同时发出的数据在接收端就会出现相位偏移,导致数据不同步。目前解决该问题的方式通常是通过在发送端各端口同时发出特定的同步码,在高速串行总线控制器的接收端,一般使用弹性缓冲器增加/删减码元的方式匹配串行链路收发两端的时钟频率差。对于多通道总线协议来说,由于在通道之间亦存在微小的频率差,这会导致通道之间增加/删减码元的操作各不相同,使原本已完成通道绑定的并行接收数据失配。如果失配发生在数据传输过程中,还会导致数据传输失败。
在IC设计中,经常会发生使用单lane的Serdes组合成多lane Serdes的应用场景,由于Serdes接收数据(rx_data)的跨时钟域处理大都交弹性缓冲器完成,这方面的技术相对比较成熟,因此如何正确的在接收端将多个Serdes的rx_data拼接在一起一直是多通道Serdes的PCS层设计重点。现有的一些研究在弹性缓存器上做文章,将弹性缓存器设置为所有通道同时增加/删减码元,即当需要在一个lane上增加/删减码元时,在其余的lane上也进行相同的操作。以此避免多通道数据的解绑。但这种方式存在一个问题,即当lane上出现连续的两个时钟补偿序列时,由于存在lane间延迟,会存在一个lane增/删的是前一个序列,另一个lane增/删的是后一个序列的可能性。如果两个序列中间恰好夹着1个字节的有效数据(例如4×RapidIO中24位的控制符号),这个数据就无法正常被接受。
发明内容
本发明的目的在于提供一种高速串行总线的多通道数据绑定系统及方法,以克服现有技术的不足,本发明可以有效降低链路出错的概率,提升传输效率。
为达到上述目的,本发明采用如下技术方案:
一种高速串行总线的多通道数据绑定系统,包括码元对齐模块、解码模块、弹性缓冲器和通道绑定模块;
码元对齐模块用于将SERDES接收端口接收的数据对齐至正确的码元边界;
解码模块用于将对齐后的进行10B/8B解码并将解码后的数据传输至弹性缓冲器;
弹性缓冲器用于将经过弹性缓冲器增/删码元的信息与解码后的数据进行同步;
通道绑定模块根据同步码元信息完成多通道数据的对齐工作,并将处理后的数据向外输出,完成多通道数据绑定。
进一步的,弹性缓冲器用于检测RapidIO的时钟补偿序列/K//R//R//R/,并且在进行增加/删减码元的操作时,一次增加/删减一个/R/码元。
进一步的,弹性缓冲器在进行增加/删减码元的操作时,会产生一个指示信号,该信号与被增/删码元的时钟补偿序列一起向后传递,用于标示该时钟补偿序列的位置与操作类型。
进一步的,通道绑定模块包括多个移位寄存器,每个移位寄存器对应一个输入通道;采用移位寄存器对输入数据进行缓存,移位寄存器的数据输入来自弹性缓冲器的数据输出。
进一步的,移位寄存器的深度大于高速总线协议中两个同步码元之间的最小间隔。
进一步的,移位寄存器每个时钟周期按从左到右的顺序依次移位,通道绑定过程的输入数据从左侧写入,输出数据从右侧取出。
进一步的,采用读指针寄存器确定各通道上的移位寄存器的读取位置,从移位寄存器读出的数据通过输出端口向外发出。
进一步的,当某一数据通道上发生弹性缓冲器增加/删减码元的操作时,通道绑定模块会根据操作的类型,在发生增/删码元的时钟补偿序列进入移位寄存器时,将时钟补偿序列恢复成进入弹性缓冲前的初始状态。当时钟补偿序列的码元被增加时,将增加的码元删去再写入移位寄存器,同时将移位寄存器当前周期向右的移位值减一,并将读指针寄存器的值减一。
一种高速串行总线的多通道数据绑定方法,包括以下步骤:
S1,将SERDES接收端口接收的数据对齐至正确的码元边界;
S2,然后将对齐后的码元进行10B/8B解码;
S3,将解码后的数据同步至本地时钟域,同时将经过弹性缓冲器增/删码元的信息与解码后的数据进行同步,根据同步码元信息完成多通道数据的对齐工作,并将处理后的数据向外输出,完成多通道数据绑定。
进一步的,通道绑定过程中,在对读指针寄存器进行更新之前会将各通道读指针寄存器之间的大小关系与延迟信息寄存器的大小关系进行比较,若两者相同,则不对读指针寄存器进行更新,若两者不同,则使用延迟信息寄存器对读指针寄存器进行更新。
与现有技术相比,本发明具有以下有益的技术效果:
本发明一种高速串行总线的多通道数据绑定系统,采用码元对齐模块、解码模块、弹性缓冲器和通道绑定模块按顺序处理由Serdes接收的数据,通过将弹性缓冲增/删码元的信号和协议定义的同步码元相结合,动态调节移位寄存器移位量和写/读指针的方式,有效消除弹性缓冲器增/删码元造成的多通道数据解绑问题,降低多通道链路出错的概率,提升传输效率。
进一步的,移位寄存器的深度可配置,大于高速总线协议中两个同步码元之间的最小间隔,这样可以保证通道同步模块可以对总线协议定义的通道间最大延迟进行恢复。
本发明一种高速串行总线的多通道数据绑定方法,通过将弹性缓冲增/删码元的信号和协议定义的同步码元相结合,动态调节移位寄存器移位量和写/读指针的方式,有效消除弹性缓冲器增/删码元造成的多通道数据解绑问题,降低多通道链路出错的概率,提升传输效率。
附图说明
图1为本发明实施例中处理多通道高速串行总线接收数据的流程图。
图2为本发明实施例中通道绑定模块的结构示意图。
图3为本发明实施例中通道绑定模块恢复时钟补偿序列的原理图。
图4为本发明实施例中通道绑定模块移位寄存器读指针的产生流程。
具体实施方式
下面结合附图对本发明做进一步详细描述:
一种高速串行总线的多通道数据绑定方法,包括以下步骤:
S1,码元对齐:将SERDES接收端口接收的数据对齐至正确的码元边界;
S2,10B/8B解码:然后将对齐后的码元进行10B/8B解码;
S3,将解码后的数据同步至本地时钟域,同时将经过弹性缓冲器(Elastic_buffer)增/删码元的信息与解码后的数据进行同步,根据同步码元信息完成多通道数据的对齐工作,并将处理后的数据向外输出,完成多通道数据绑定。
本发明通过码元对齐、10B/8B解码、弹性缓冲和通道绑定的顺序依次处理由Serdes经串并转换得到的接收数据,通道绑定位于弹性缓冲器之后,采用控制器本地时钟,可以有效降低链路出错的概率,提升传输效率。
一种高速串行总线的多通道数据绑定系统,包括码元对齐模块、解码模块、弹性缓冲器和通道绑定模块;
码元对齐模块用于将SERDES接收端口接收的数据对齐至正确的码元边界;
解码模块用于将对齐后的进行10B/8B解码并将解码后的数据传输至弹性缓冲器;
弹性缓冲器用于将经过弹性缓冲器增/删码元的信息与解码后的数据进行同步;
通道绑定模块根据同步码元信息完成多通道数据的对齐工作,并将处理后的数据向外输出,完成多通道数据绑定。
通道绑定功能受系统复位,SERDES接收端口的接收数据有效信号rx_valid和RapidIO初始化状态机的状态控制。当系统复位撤销,SERDES接收端口的rx_valid信号为高(代表SERDES正在接收数据),RapidIO初始化状态机处于discovery或多通道模式(N×模式,N>1)时通道绑定功能开启。
各通道弹性缓冲器用于检测RapidIO的时钟补偿序列/K//R//R//R/,并且在进行增加/删减码元的操作时,一次增加/删减一个/R/码元。
各通道弹性缓冲器在进行增加/删减码元的操作时,会产生一个指示信号,该信号与被增/删码元的时钟补偿序列一起向后传递,用于标示该时钟补偿序列的位置与操作类型。
通道绑定模块包括多个移位寄存器,每个移位寄存器对应一个输入通道;采用移位寄存器对输入数据进行缓存,每个通道(lane)对应一个移位寄存器。移位寄存器的位宽为1字节。移位寄存器的数据输入来自弹性缓冲器的数据输出,移位寄存器的数据输出送往协议控制器进行解包等后续操作。
移位寄存器的深度可配置,大于高速总线协议中两个同步码元之间的最小间隔,这样可以保证通道同步模块可以对总线协议定义的通道间最大延迟进行恢复。移位寄存器每个时钟周期(cycle)按从左到右的顺序依次移位。通道绑定过程的输入数据从左侧写入,输出数据从右侧取出。
在没有发生增/删码元操作时,移位寄存器每个cycle移位的步长=SERDES单lane接收数据(rx_data)经10B8B解码后的位宽除以8;新输入的数据以字节为单位按顺序存入移位后左侧空闲的寄存器中。每个移位寄存器设置有一个延迟信息寄存器。
本发明采用延迟信息寄存器(Delay_info寄存器)来确定通道间的延迟,每一个通道对应一个延迟信息寄存器。通道绑定功能开启时,通道绑定模块使用同步码元计数器对数据通道出现的同步码元进行计数,每一个数据通道对应一个计数器,计数器的最大值与移位寄存器的深度相等。当该通道输入端口检测到同步码元时,将同步码元检测信号FB_valid置1,同时计数器开始进行计数,计数器计到最大值自动清0。FB_valid置1的时间有时间限制,该时限与高速总线协议内两个同步码元的最小间隔有关,需要保证链路中前后两个同步码元所产生的FB_valid有效信号不会连续。当FB_valid置1的时间结束时,计数器会清0。当所有通道的FB_valid信号都置1时,通道绑定模块会将这些计数器的值写进延迟信息寄存器中,并将所有通道的FB_valid信号置0,计数器清0。
本发明使用读指针寄存器确定各通道上的移位寄存器的读取位置,从移位寄存器读出的数据通过输出端口向外发出。在延迟信息寄存器发生更新时,通道绑定模块会将更新的值加上一个偏移值,对读指针寄存器进行更新,偏移值的大小与移位寄存器的深度(shift_register_depth)和通道绑定模块可以补偿的通道间延迟的最大值(maxdelay)有关。偏移值=(shift_register_depth-maxdelay)/2,向下取整。
通道绑定过程中,在对读指针寄存器进行更新之前会将各通道读指针寄存器之间的大小关系与延迟信息寄存器的大小关系进行比较,若两者相同,则不对读指针寄存器进行更新,若两者不同,则使用延迟信息寄存器对读指针寄存器进行更新。
当某一数据通道上发生弹性缓冲器增加/删减码元的操作时,通道绑定模块会根据操作的类型,在发生增/删码元的时钟补偿序列进入移位寄存器时,将时钟补偿序列恢复成进入弹性缓冲前的初始状态。当时钟补偿序列的码元被增加时,将增加的码元删去再写入移位寄存器,同时将移位寄存器当前周期向右的移位值减一,并将读指针寄存器的值减一。当时钟补偿序列的码元被删减时,将删减的码元恢复再写入移位寄存器,同时将移位寄存器当前周期的移位值加一,并将读指针寄存器的值加一。
为了避免由于弹性缓冲连续增加/删除码元导致通道绑定模块移位寄存器读指针发生上溢/下溢,本发明对读指针的取值范围设置了上限和下限,当超出上下限时,会将指针进行回正操作,回正的方式与通道绑定模块调节通道间延迟的流程相同,即检测同步码并根据同步码之间的相位关系调整延迟信息寄存器和移位寄存器读指针的值。在读指针超出上下限时,对移位寄存器读指针的更新属于强制执行,不再对读指针寄存器和延迟信息寄存器的大小关系进行判断。
实施例
实施例基于RapidIO2.2规范进行设计,支持1×/4×模式,通讯速率最大为5Gbps/lane。不进行数据加/解扰;采用码元对齐,10B/8B,弹性缓冲,通道绑定的顺序依次处理由Serdes经串并转换得到的接收数据,跨时钟域处理由弹性缓冲器完成。通道绑定位于弹性缓冲器之后,采用控制器本地时钟,实施例处理多通道高速串行总线接收数据的流程如附图1所示。其中Serdes负责并串转换,单lane的数据位宽为20位。Comma_align负责将并行数据对齐至正确的码元边界,10B/8B负责对接收数据进行10B/8B解码,经10B/8B后的数据位宽为16bit/lane。Elastic_buffer负责将接收数据同步至本地时钟域,并将增/删码元的信息(dup0/1/2/3和del0/1/2/3)与数据(rx_datain0/1/2/3)一并传递给通道绑定模块。通道绑定模块负责根据同步码元等信息完成多通道数据的对齐工作,并将处理后的数据rx_dataout向外输出。
实施例通道绑定模块的结构如附图2所示,由4个移位寄存器和对应的控制逻辑组成,每一个移位寄存器对应一个输入通道,位宽为8bit,深度为16。通道绑定模块中的FB_detect模块用于检测输入数据中的RapidIO协议通道对齐码元/A/,当该通道出现一个/A/字符时,FB_detect模块会产生一个持续7个时钟周期(cycle)的高电平有效信号FB_valid。
当FB_valid有效时,对应的FB_counter开始进行计数,FB_valid无效时,FB_counter的计数值清0。当4个通道的FB_valid的值都有效时,表示在7个cycle内4个通道同时检测到了通道同步码元,通道同步模块会将当前cycle四个通道的FB_counter计数值写入各自对应的Delay_info寄存器,并将计数器清0。
在移位寄存器读指针RP未发生超界时,实施例使用Delay_info寄存器对RP进行更新,在对RP寄存器进行写操作时,通道绑定模块会对Delay_info的值与RP寄存器原有的值进行比较以确定四个通道的相位关系是否发生改变,只有在相位关系发生改变时,向RP寄存器的写操作才会有效。举例来说,假设RP0/1/2/3寄存器原有的值分别为1/3/5/7,显示lane3的通道同步码元最先被检测到,lane2的通道同步码元比lane3晚2个字符,lane1的通道同步码元比lane2晚2个字符,lane0的通道同步码元比lane1晚两个字符。当发生写RP寄存器的操作时,若Delay_info0/1/2/3寄存器的值分别为4/6/8/10,由于Delay_info值与RP值所表示的通道间相位关系相同,此次写操作会被判定为无效,RP寄存器继续维持原值不变。若Delay_info0/1/2/3寄存器的值分别为2/3/4/5时,由于写入的值与当前值所表示的通道间相位关系不同,此次写操作会被判定为有效,RP寄存器按照Delay_info值进行更新。
在移位寄存器读指针RP发生超界时,通道绑定模块会在四个通道全部检测到同步码元后强制使用Delay_info寄存器的值对RP寄存器进行更新,不考虑Delay_info寄存器与RP寄存器的大小关系。
实施例使用comma_recover模块控制移位寄存器的写指针和每个cycle的移位量,对移位寄存器进行数据写入操作,同时对被增/删码元的时钟补偿序列进行恢复。在弹性缓冲器没有对时钟补偿序列进行增/删操作时,移位寄存器每个cycle向右移2位,comma_recover模块将输入的2byte数据按字节的先后顺序依次写入移位后空出的位置中。
当弹性缓冲器发生增加码元的操作时,会将时钟补偿序列/K//R//R//R/扩展为/K//R//R//R//R/。同时产生一个高有效的dup信号,dup信号持续一个周期,用于指示发生码元增加的时钟补偿序列在数据流中的位置。
当comma_recover模块检测到dup为高时,表示当前cycle输入的数据为发生码元增加的时钟补偿序列/K//R//R//R//R/的前两个字节/K//R/,comma_recover模块会将当前cycle将移位寄存器向右移1位,将输入的/K/写入移位后空出的位置中,并将/R/丢弃。
当弹性缓冲器发生删减码元的操作时,会将时钟补偿序列/K//R//R//R/缩减为/K//R//R/。同时产生一个高有效的del信号,del信号持续一个周期,用于指示发生码元增加的时钟补偿序列在数据流中的位置。
当comma_recover模块检测到del为高时,表示当前cycle输入的数据为发生码元删减的时钟补偿序列/K//R//R/的前两个字节/K//R/,comma_recover模块会在当前cycle将移位寄存器向右移3位,在输入的数据/K//R/后补上一个/R/,将/K//R//R/写入移位后空出的位置中。
附图3展示了comma_recover模块恢复时钟补偿序列的原理,其中移位寄存器的深度为8,位宽为1byte。下面按时间的先后对其进行详细说明:
Cycle0:移位寄存器内缓存着从Data0~Data7的数据,此时通道绑定模块接收到新的数据Data8,Data9。dup=0,del=0表示这些数据是正常传输,移位寄存器向右移两位,并将Data8,Data9写入左边空闲出来的移位寄存器中。
Cycle1:通道绑定模块接收到新的数据/K/,/R/。dup=1,del=0表示这是一个时钟补偿序列的起始,且该序列由弹性缓冲从/K//R//R//R/扩展为/K//R//R//R//R/。移位寄存器向右移一位,并将/K/写入左边空闲出来的移位寄存器中,/R/被丢弃。
Cycle2~Cycle4:dup=0,del=0表示通道绑定模块接收的数据是正常传输,移位寄存器向右移两位,并将新的数据写入左边空闲出来的移位寄存器中。
Cycle5:通道绑定模块接收到新的数据/K/,/R/。dup=0,del=1表示这是一个时钟补偿序列的起始,且该序列由弹性缓冲从/K//R//R//R/删减为/K//R//R/。移位寄存器向右移三位,在接收到的数据/K//R/后补充一个/R/,将/K//R//R/写入左边空闲出来的移位寄存器中。
Cycle6~Cycle8:dup=0,del=0表示通道绑定模块接收的数据是正常传输,移位寄存器向右移两位,并将新的数据写入左边空闲出来的移位寄存器中。
实施例使用RP_GEN模块产生移位寄存器的读指针RP,RP_GEN模块产生读指针的流程如附图4所示,下面对其进行详细说明:
(1)通道绑定功能未使能时,RP=0。实施例根据Serdes的状态和RapidIO控制器的初始化状态机状态来控制通道绑定功能的开关,只有在Serdes正常接收数据且RapidIO初始化状态机处于Discovery状态和4X状态时,通道绑定功能才会使能,RP_GEN模块进入/A/码检测分支。
(2)通道绑定功能使能后,RP_GEN模块每个cycle均对输入端口的/A/码进行监控。当在规定时间内4个通道都检测到/A/码,RP_GEN模块进入通道间相位判断分支。若4个通道没有都检测到/A/码,RP_GEN模块进入弹性缓冲器增/删码元判断分支。
(3)RP_GEN模块在通道间相位判断分支根据Delay_info的值判断4个通道间的相位关系是否发生改变,若发生改变,使用当前Delay_info的值对RP进行更新。若未发生改变,进入RP值超界判断分支。
(4)RP_GEN在RP值超界判断分支对全部4个通道的移位寄存器RP值进行判断,确定其是否超出预先设定的上下限。若存在超界问题,使用当前Delay_info的值对RP进行更新。若不存在超界问题,RP值不更新。
(5)RP_GEN在在弹性缓冲器增/删码元判断分支对弹性缓冲器增/删码元的信号进行判断,若码元增加信号dup=1,RP值减1。若码元删减信号del=1,RP值加1。若未发生码元删减/增加,RP值不更新。
Claims (10)
1.一种高速串行总线的多通道数据绑定系统,其特征在于,包括码元对齐模块、解码模块、弹性缓冲器和通道绑定模块;
码元对齐模块用于将SERDES接收端口接收的数据对齐至正确的码元边界;
解码模块用于将对齐后的码元进行10B/8B解码并将解码后的数据传输至弹性缓冲器;
弹性缓冲器用于将经过弹性缓冲器增/删码元的信息与解码后的数据进行同步;
通道绑定模块根据同步码元信息完成多通道数据的对齐工作,并将处理后的数据向外输出,完成多通道数据绑定。
2.根据权利要求1所述的一种高速串行总线的多通道数据绑定系统,其特征在于,弹性缓冲器用于检测RapidIO的时钟补偿序列/K//R//R//R/,并且在进行增加/删减码元的操作时,一次增加/删减一个/R/码元。
3.根据权利要求1所述的一种高速串行总线的多通道数据绑定系统,其特征在于,弹性缓冲器在进行增加/删减码元的操作时,会产生一个指示信号,该信号与被增/删码元的时钟补偿序列一起向后传递,用于标示该时钟补偿序列的位置与操作类型。
4.根据权利要求1所述的一种高速串行总线的多通道数据绑定系统,其特征在于,通道绑定模块包括多个移位寄存器,每个移位寄存器对应一个输入通道;采用移位寄存器对输入数据进行缓存,移位寄存器的数据输入来自弹性缓冲器的数据输出。
5.根据权利要求3所述的一种高速串行总线的多通道数据绑定系统,其特征在于,移位寄存器的深度大于高速总线协议中两个同步码元之间的最小间隔。
6.根据权利要求3所述的一种高速串行总线的多通道数据绑定系统,其特征在于,移位寄存器每个时钟周期按从左到右的顺序依次移位,通道绑定过程的输入数据从左侧写入,输出数据从右侧取出。
7.根据权利要求4所述的一种高速串行总线的多通道数据绑定系统,其特征在于,采用读指针寄存器确定各通道上的移位寄存器的读取位置,从移位寄存器读出的数据通过输出端口向外发出。
8.根据权利要求4所述的一种高速串行总线的多通道数据绑定系统,其特征在于,当某一数据通道上发生弹性缓冲器增加/删减码元的操作时,通道绑定模块会根据操作的类型,在发生增/删码元的时钟补偿序列进入移位寄存器时,将时钟补偿序列恢复成进入弹性缓冲前的初始状态;当时钟补偿序列的码元被增加时,将增加的码元删去再写入移位寄存器,同时将移位寄存器当前周期向右的移位值减一,并将读指针寄存器的值减一。
9.一种高速串行总线的多通道数据绑定方法,其特征在于,包括以下步骤:
S1,将SERDES接收端口接收的数据对齐至正确的码元边界;
S2,然后将对齐后的码元进行10B/8B解码;
S3,将解码后的数据同步至本地时钟域,同时将经过弹性缓冲器增/删码元的信息与解码后的数据进行同步,根据同步码元信息完成多通道数据的对齐工作,并将处理后的数据向外输出,完成多通道数据绑定。
10.根据权利要求9所述的一种高速串行总线的多通道数据绑定方法,其特征在于,通道绑定过程中,在对读指针寄存器进行更新之前会将各通道读指针寄存器之间的大小关系与延迟信息寄存器的大小关系进行比较,若两者相同,则不对读指针寄存器进行更新,若两者不同,则使用延迟信息寄存器对读指针寄存器进行更新。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111277505.9A CN113946526B (zh) | 2021-10-29 | 2021-10-29 | 一种高速串行总线的多通道数据绑定系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111277505.9A CN113946526B (zh) | 2021-10-29 | 2021-10-29 | 一种高速串行总线的多通道数据绑定系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113946526A CN113946526A (zh) | 2022-01-18 |
CN113946526B true CN113946526B (zh) | 2023-06-09 |
Family
ID=79337252
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111277505.9A Active CN113946526B (zh) | 2021-10-29 | 2021-10-29 | 一种高速串行总线的多通道数据绑定系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113946526B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116166588A (zh) * | 2022-12-07 | 2023-05-26 | 深圳市紫光同创电子有限公司 | 多通道数据绑定方法、装置及系统和计算机可读存储介质 |
CN117255222A (zh) * | 2023-11-20 | 2023-12-19 | 上海科江电子信息技术有限公司 | 一种数字电视监测的方法、系统及应用 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103118257A (zh) * | 2013-02-05 | 2013-05-22 | 广东威创视讯科技股份有限公司 | 高清视频格式的数据传输集成接口 |
CN105933089A (zh) * | 2016-04-13 | 2016-09-07 | 中国电子科技集团公司第五十四研究所 | 一种基于扩展型曼彻斯特码的编译码装置及调制解调器 |
CN109089122A (zh) * | 2013-01-18 | 2018-12-25 | 弗劳恩霍夫应用研究促进协会 | 使用有来自至少两个数据流的码元及数据流之间的同步化起始码元标识符的源块的前向纠错 |
CN112600551A (zh) * | 2020-12-17 | 2021-04-02 | 深圳市紫光同创电子有限公司 | Serdes接口电路 |
CN113225279A (zh) * | 2020-02-05 | 2021-08-06 | 默升科技集团有限公司 | SerDes的片上抖动评估 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8913705B2 (en) * | 2012-08-27 | 2014-12-16 | Oracle International Corporation | Dynamic skew correction in a multi-lane communication link |
-
2021
- 2021-10-29 CN CN202111277505.9A patent/CN113946526B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109089122A (zh) * | 2013-01-18 | 2018-12-25 | 弗劳恩霍夫应用研究促进协会 | 使用有来自至少两个数据流的码元及数据流之间的同步化起始码元标识符的源块的前向纠错 |
CN103118257A (zh) * | 2013-02-05 | 2013-05-22 | 广东威创视讯科技股份有限公司 | 高清视频格式的数据传输集成接口 |
CN105933089A (zh) * | 2016-04-13 | 2016-09-07 | 中国电子科技集团公司第五十四研究所 | 一种基于扩展型曼彻斯特码的编译码装置及调制解调器 |
CN113225279A (zh) * | 2020-02-05 | 2021-08-06 | 默升科技集团有限公司 | SerDes的片上抖动评估 |
CN112600551A (zh) * | 2020-12-17 | 2021-04-02 | 深圳市紫光同创电子有限公司 | Serdes接口电路 |
Non-Patent Citations (1)
Title |
---|
DRM接收机中OFDM系统同步算法的研究与实现;王景添;《中国优秀硕士学位论文全文数据库信息科技辑》;I136-284 * |
Also Published As
Publication number | Publication date |
---|---|
CN113946526A (zh) | 2022-01-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113946526B (zh) | 一种高速串行总线的多通道数据绑定系统及方法 | |
US6587525B2 (en) | System and method for high-speed, synchronized data communication | |
US7079528B2 (en) | Data communication method | |
US7979608B2 (en) | Lane to lane deskewing via non-data symbol processing for a serial point to point link | |
EP1958404B1 (en) | Alignment and deskew for multiple lanes of serial interconnect | |
US20060230215A1 (en) | Elastic buffer module for PCI express devices | |
US8165257B2 (en) | Methods and apparatus for interface buffer management and clock compensation in data transfers | |
JP4326939B2 (ja) | スキュー耐性のないデータグループを有するパラレルデータ通信 | |
US20060209735A1 (en) | Auto realignment of multiple serial byte-lanes | |
US20030043434A1 (en) | Method for coupling an electrical device with an optical network for performing optical data transmission based on a high speed transmission rate | |
US20120030438A1 (en) | Method and Apparatus for Performing Skew Removal in the Receiver of a Multi-Lane Communication Link | |
US7751517B2 (en) | Multi-lane elastic buffer cluster for clock tolerance compensation and de-skew among multiple receiving lanes | |
US8401043B1 (en) | Hardware interface utilizing alignment symbols for demultiplexing | |
US11729030B2 (en) | De-skew circuit, de-skew method, and receiver | |
JP2023547185A (ja) | Serdesインタフェース回路 | |
US20040042504A1 (en) | Aligning data bits in frequency synchronous data channels | |
KR20220138245A (ko) | PCIe 인터페이스 및 인터페이스 시스템 | |
JP4336860B2 (ja) | シリアルインタフェース回路、及びシリアル受信器 | |
JP2648752B2 (ja) | データ情報の正確なデコードを保証する装置 | |
CN111970499A (zh) | 一种基于rgif vdma的多路3g-sdi光端机数据解复用方法 | |
US7920596B2 (en) | Method for high speed framing and a device having framing capabilities | |
US7042932B1 (en) | Synchronization detection architecture for serial data communication | |
CN116756073A (zh) | 一种提高SPI slave的读写速度的方法 | |
WO2024086641A1 (en) | Data lane deskew and rate adaptation in a package containing multiple circuit dies | |
KR20000026467A (ko) | 비동기 데이터 통신 장치 |
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 |