一种通道对齐去偏斜的装置和方法

文档序号:10572601阅读:289来源:国知局
一种通道对齐去偏斜的装置和方法
【专利摘要】本发明提供了一种通道对齐去偏斜的装置和方法,该装置包括:至少两条通道、每一条通道对应的数据存储单元、设置单元和通道偏移校准单元,通过每一条通道接收数据报文,并将数据报文中的有效数据发送给对应的数据存储单元,通过设置单元为数据存储单元设置缓存深度;数据存储单元据缓存深度,接收并缓存对应的通道发送的有效数据,根据读取指针,读取缓存的有效数据,并发送读取的有效数据;通道偏移校准单元累计通道间有效数据使能上升沿的最大时间差,判断最大时间差是否小于等于缓存深度,如果是,则确定参考通道,确定每一条通道对应的数据存储单元的读取指针。本发明提供的方案能够有效地提高有效数据报文传输效率。
【专利说明】
_种通道对齐去偏斜的装置和方法
技术领域
[0001] 本发明涉及通信技术领域,特别涉及一种通道对齐去偏斜的装置和方法。
【背景技术】
[0002] 随着通信技术的不断发展,为了满足高速业务如40G/100G业务的带宽需求,需要 多个SERDES(SERializer(串行器)/DESerializer(解串器))通道同时传递高速业务,如 200G业务可以使用8个25G的SERDES或者20个10G的SERDES实现业务的传输等等。但是,不同 通道间传输路径的复杂性及线路间的差异,常常使通道之间的数据存在偏移。那么,对通道 间数据去偏斜是保证数据准确传输的条件之一。目前,现有去偏斜的方式主要是通过复杂 的逻辑电路在数据报文中加入各个标记块,通过对齐各个通道数据报文中的标记块实现去 偏斜,而这种标记块位数较高,占用通道中的数据位数较高,导致有效数据报文传输效率较 低。

【发明内容】

[0003] 本发明实施例提供了一种通道对齐去偏斜的装置和方法,能够有效地提高有效数 据报文传输效率。
[0004] -种通道对齐去偏斜的装置,包括:至少两条通道、每一条通道对应的数据存储单 元、设置单元和通道偏移校准单元,其中,
[0005] 所述至少两条通道中,每一条通道,用于接收外设的串行通道发送的数据报文,并 将所述数据报文中的有效数据发送给对应的数据存储单元;
[0006] 所述设置单元,用于为所述数据存储单元设置缓存深度,并将所述缓存深度发送 给所述数据存储单元和所述通道偏移校准单元;
[0007] 所述每一条通道对应的数据存储单元,用于接收所述设置单元发送的所述缓存深 度,并根据所述缓存深度,接收并缓存对应的通道发送的有效数据,根据所述通道偏移校准 单元确定的读取指针,读取缓存的所述有效数据,并发送所述读取的有效数据;
[0008]所述通道偏移校准单元,用于接收所述设置单元发送的所述缓存深度,累计通道 间有效数据使能上升沿的最大时间差,判断所述最大时间差是否小于等于所述缓存深度, 如果是,则在所有通道中确定参考通道,当所述最大时间差累计达到所述缓存深度时,确定 所述每一条通道对应的数据存储单元的读取指针。
[0009] 优选地,所述设置单元,包括:偏移计算子单元和确定子单元,其中,
[0010] 所述偏移计算子单元,用于确定通道数,并确定相邻通道间的最大数据偏移及最 小解串数据位宽,根据下述公式,计算各个通道间最大数据偏移;
[0011]
[0012]其中,所述0表征各个通道间最大数据偏移;所述N表征通道数;所述K表征最小解 串数据位宽;所述α表征相邻通道间的最大数据偏移;
[0013]所述确定子单元,用于根据所述偏移计算子单元计算的各个通道间最大数据偏 移,确定所述数据存储单元的缓存深度。
[0014]优选地,上述通道对齐去偏斜的装置,进一步包括:检测单元,其中,
[0015] 所述设置单元,进一步用于设置特征序列,并将所述特征序列挂载到每个通道接 收的第一笔数据报文的首端;
[0016] 所述每一条通道,用于当接收到所述特征序列时,接收外设的串行通道发送的数 据报文;
[0017] 所述检测单元,用于检测每一条通道是否均收到所述特征序列,如果是,则检测每 一个通道中有效数据的使能上升沿,将所述每一个通道中有效数据的使能上升沿发送给所 述通道偏移校准单元,否则,确定各个通道间对齐失步,并触发所述数据存储单元;
[0018] 所述通道偏移校准单元,进一步用于接收所述检测单元发送的每一个通道中有效 数据的使能上升沿,并根据所述每一个通道中有效数据的使能上升沿,执行所述累计通道 间有效数据使能上升沿的最大时间差;
[0019] 所述数据存储单元,进一步用于在接收到所述检测单元的触发时,清空缓存的有 效数据。
[0020] 优选地,所述设置单元,进一步用于设置特征码字COM,并设置有效数据长度,在每 一个有效数据长度中加载所述特征码字COM;
[0021] 所述检测单元,进一步用于检测每一条通道是否均收到所述具有所述特征码字 COM的数据报文,如果是,则触发所述通道偏移校准单元,否则,确定各个通道间对齐失步, 并触发所述数据存储单元;
[0022] 所述通道偏移校准单元,进一步用于接收所述检测单元的触发时,为所述每一条 数据通道中的数据报文去除特征码字COM;
[0023] 所述每一条通道,用于接收具有特征码字的数据报文,并将去除特征码字COM的数 据报文中的有效数据发送给所述数据存储单元;
[0024] 所述数据存储单元,用于在接收到所述检测单元的触发时,清空缓存的有效数据。
[0025] 优选地,所述通道偏移校准单元,包括:计数器、对齐判断子单元和移位寄存器;
[0026] 所述计数器,用于在所述检测单元检测到的第一个通道中有效数据的使能上升沿 和最后一个通道中有效数据的使能上升沿之间启动,当一个通道中有效数据的使能上升沿 到来时,执行加1运算;
[0027] 所述对齐判断子单元,用于根据所述设置单元设置的所述缓存深度,设置缓存阈 值,在所述最后一个通道中有效数据的使能上升沿到来之后,判断所述计数器的计数是否 小于等于所述缓存阈值,如果是,则在所有通道中确定参考通道;
[0028] 所述移位寄存器,用于当所述参考通道中有效数据的使能上升沿到来时,获取所 述计数器中的值,并将所述计数器中的值设为自身的初始信号,将所述参考通道中的有效 数据向下移位,进行计数器加1运算,直至计数器的值等于所述缓存阈值时,确定输出信号, 并将所述输出信号作为读指针,发送给所述每一条通道对应的数据存储单元;
[0029] 所述每一条通道对应的数据存储单元,用于接收所述移位寄存器发送的所述读指 针,根据所述读指针读取缓存的所述有效数据,并发送所述读取的有效数据。
[0030] 优选地,上述通道对齐去偏斜的装置,进一步包括:移位处理单元,其中,
[0031] 所述设置单元,进一步用于设置每一条通道接口带宽为MXSbit,并将接口带宽Μ X 8b it发送给移位处理单元;
[0032] 所述移位处理单元,用于接收设置单元103发送的接口带宽MX8bit,当所述外设 的串行通道带宽不是MXSbit时,对所述外设的串行通道发送的数据报文进行移位处理,形 成MXSbit的解串数据报文,并将所述MXSbit的解串数据报文发送给对应的通道;
[0033]所述每一条通道,用于接收所述移位处理单元发送的所述MXSbit的解串数据报 文。
[0034] -种通道对齐去偏斜的方法,设置至少两条通道,并为每一条通道设置对应的数 据存储单元,并为所述数据存储单元设置缓存深度,还包括:
[0035] 利用所述至少两条通道接收外设的串行通道发送的数据报文;
[0036] 根据所述缓存深度,将所述数据报文中的有效数据发送并缓存到所述数据存储单 元;
[0037]累计通道间有效数据使能上升沿的最大时间差;
[0038] 判断所述最大时间差是否小于等于所述缓存深度,如果是,则:
[0039] 在所有通道中确定参考通道,当所述最大时间差累计达到所述缓存深度时,确定 所述每一条通道对应的数据存储单元的读取指针;
[0040] 根据所述读取指针,读取缓存的所述有效数据,并发送所述读取的有效数据。
[0041 ]优选地,所述为所述数据存储单元设置缓存深度,包括:
[0042] 确定通道数,并确定相邻通道间的最大数据偏移及最小解串数据位宽,根据下述 公式,计算各个通道间最大数据偏移;
[0043]
[0044] 其中,所述0表征各个通道间最大数据偏移;N表征通道数;K表征最小解串数据位 宽;α表征相邻通道间的最大数据偏移;
[0045] 根据所述各个通道间最大数据偏移,确定所述数据存储单元的缓存深度。
[0046] 优选地,上述方法进一步包括:设置特征序列,并将所述特征序列挂载到每个通道 接收的第一笔数据报文的首端;
[0047] 所述接收外设的串行通道发送的数据报文,包括:当接收到所述特征序列时,接收 外设的串行通道发送的数据报文;
[0048] 在所述接收外设的串行通道发送的数据报文之后,进一步包括:检测每一条通道 是否均收到所述特征序列,如果是,则检测每一个通道中有效数据的使能上升沿,否则,确 定各个通道间对齐失步,并清空所述数据存储单元中缓存的有效数据。
[0049] 优选地,上述方法进一步包括:设置特征码字COM,并设置有效数据长度,在每一个 有效数据长度中加载所述特征码字COM;
[0050] 所述接收外设的串行通道发送的数据报文,包括:接收具有特征码字COM的数据报 文;
[0051 ]所述将所述数据报文中的有效数据发送并缓存到所述数据存储单元,包括:为所 述具有特征码字COM的数据报文去除特征码字C0M,并将去除特征码字COM的数据报文中的 有效数据缓存到对应的数据存储单元中;
[0052] 在所述检测每一条通道是否均收到所述特征序列之后,在所述检测每一个通道中 有效数据的使能上升沿之前,进一步包括:检测每一条通道是否均收到所述具有所述特征 码字COM的数据报文,如果是,则执行所述检测每一个通道中有效数据的使能上升沿;否则, 确定各个通道间对齐失步,并清空所述数据存储单元中的有效数据;
[0053] 所述将所述数据报文中的有效数据发送给所述数据存储单元包括:将去除特征码 字COM的数据报文中的有效数据缓存到所述数据存储单元中。
[0054]优选地,上述方法进一步包括:设置计数器、移位寄存器及缓存阈值;
[0055] 相应地,累计通道间有效数据使能上升沿的最大时间差,包括:在检测到的第一个 通道中有效数据的使能上升沿和最后一个通道中有效数据的使能上升沿之间启动所述计 数器,当一个通道中有效数据的使能上升沿到来时,所述计数器执行加1运算;
[0056] 相应地,所述判断所述最大时间差是否小于等于所述缓存深度,包括:在所述最后 一个通道中有效数据的使能上升沿到来之后,判断所述计数器的计数是否小于等于所述缓 存阈值;
[0057] 相应地,所述当所述最大时间差累计达到所述缓存深度时,确定所述每一条通道 对应的数据存储单元的读取指针,包括:当所述参考通道中有效数据的使能上升沿到来时, 获取所述计数器中的值,并将所述计数器中的值设为所述移位寄存器的初始信号;当所述 计数器执行加1运算时,将所述参考通道中的有效数据向下移位,直至计数器的值等于所述 缓存阈值时,确定所述移位寄存器的输出信号;将所述移位寄存器的输出信号作为所述每 一条通道对应的数据存储单元的读取指针。
[0058]优选地,上述方法进一步包括:设置每一条通道接口带宽为Μ X 8bit;
[0059] 当所述外设的串行通道带宽不是MXSbit时,对所述外设的串行通道发送的数据 报文进行移位处理,形成Μ X 8bit的解串数据报文;
[0060] 所述接收外设的串行通道发送的数据报文,包括:接收所述MXSbit的解串数据报 文。
[0061] 本发明实施例提供了一种通道对齐去偏斜的装置和方法,通过至少两条通道中, 每一条通道接收外设的串行通道发送的数据报文,并将数据报文中的有效数据发送给数据 存储单元;通过多条通道传输数据报文,可以有效地加快数据的传输效率,另外,通过设置 单元为数据存储单元设置缓存深度,并将缓存深度发送给数据存储单元和通道偏移校准单 元;通过每一条通道对应的数据存储单元接收设置单元发送的缓存深度,并根据缓存深度, 接收并缓存对应的通道发送的有效数据,根据通道偏移校准单元确定的读取指针,读取缓 存的有效数据,并发送读取的有效数据;通过通道偏移校准单元接收设置单元发送的缓存 深度,累计通道间有效数据使能上升沿的最大时间差,判断最大时间差是否小于等于缓存 深度,如果是,则在所有通道中确定参考通道,当最大时间差累计达到缓存深度时,确定每 一条通道对应的数据存储单元的读取指针,而通过将数据报文缓存到数据存储单元中,并 通道偏移校准单元确定参考通道和校准后的数据存储单元的读取指针,数据存储单元根据 读取指针读取缓存的数据报文,在整个过程中通过确定参考通道对读指针进行校准,避免 了在数据报文中加入多个位数较高的标记块,在本发明提供的方案中,只需要对有效数据 报文进行传输,从而有效地提高有效数据报文传输效率。
【附图说明】
[0062] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明 的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据 这些附图获得其他的附图。
[0063] 图1是本发明一个实施例提供的通道对齐去偏斜的装置的结构示意图;
[0064] 图2是本发明另一个实施例提供的通道对齐去偏斜的装置的结构示意图;
[0065] 图3是本发明又一个实施例提供的通道对齐去偏斜的装置的结构示意图;
[0066] 图4是本发明另一个实施例提供的通道对齐去偏斜的装置的结构示意图;
[0067] 图5是本发明又一个实施例提供的通道对齐去偏斜的装置的结构示意图;
[0068] 图6是本发明一个实施例提供的通道对齐去偏斜的方法的流程图;
[0069] 图7是本发明另一个实施例提供的通道对齐去偏斜的方法的流程图;
[0070] 图8是本发明一个实施例提供的数据报文偏斜情况示意图;
[0071] 图9是本发明一个实施例提供的各通道去COM码字的流程示意图;
[0072] 图10是本发明一个实施例提供的各通道去COM码字后数据报文示意图;
[0073] 图11是本发明一个实施例提供的计数器和移位寄存器工作流程示意图;
[0074] 图12是本发明一个实施例提供的通道对齐去偏斜后数据报文的示意图;
[0075] 图13是本发明一个实施例提供的检测特征序列和解扰过程示意图。
【具体实施方式】
[0076] 为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例 中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是 本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员 在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。 [0077]如图1所示,本发明实施例提供一种通道对齐去偏斜的装置,该装置包括:至少两 条通道101、每一条通道对应的数据存储单元102、设置单元103和通道偏移校准单元104,其 中,
[0078] 至少两条通道中,每一条通道101,用于接收外设的串行通道发送的数据报文,并 将数据报文中的有效数据发送给对应的数据存储单元102;
[0079] 设置单元103,用于为数据存储单元设置缓存深度,并将缓存深度发送给数据存储 单元102和通道偏移校准单元104;
[0080] 每一条通道对应的数据存储单元102,用于接收设置单元103发送的缓存深度,并 根据缓存深度,接收并缓存对应的通道101发送的有效数据,根据通道偏移校准单元104确 定的读取指针,读取缓存的有效数据,并发送读取的有效数据;
[0081] 通道偏移校准单元104,用于接收设置单元103发送的缓存深度,累计通道间有效 数据使能上升沿的最大时间差,判断最大时间差是否小于等于缓存深度,如果是,则在所有 通道中确定参考通道,当最大时间差累计达到缓存深度时,确定每一条通道对应的数据存 储单元102的读取指针。
[0082] 在图1所示的实施例中,通过至少两条通道中,每一条通道接收外设的串行通道发 送的数据报文,并将数据报文中的有效数据发送给数据存储单元;通过多条通道传输数据 报文,可以有效地加快数据的传输效率,另外,通过设置单元为数据存储单元设置缓存深 度,并将缓存深度发送给数据存储单元和通道偏移校准单元;通过每一条通道对应的数据 存储单元接收设置单元发送的缓存深度,并根据缓存深度,接收并缓存对应的通道发送的 有效数据,根据通道偏移校准单元确定的读取指针,读取缓存的有效数据,并发送读取的有 效数据;通过通道偏移校准单元接收设置单元发送的缓存深度,累计通道间有效数据使能 上升沿的最大时间差,判断最大时间差是否小于等于缓存深度,如果是,则在所有通道中确 定参考通道,当最大时间差累计达到缓存深度时,确定每一条通道对应的数据存储单元的 读取指针,而通过将数据报文缓存到数据存储单元中,并通道偏移校准单元确定参考通道 和校准后的数据存储单元的读取指针,数据存储单元根据读取指针读取缓存的数据报文, 在整个过程中通过确定参考通道对读指针进行校准,避免了在数据报文中加入多个位数较 高的标记块,在本发明提供的方案中,只需要对有效数据报文进行传输,从而有效地提高有 效数据报文传输效率。
[0083] 如图2所示,在本发明另一实施例中,设置单元103,包括:偏移计算子单元201和确 定子单元202,其中,
[0084]偏移计算子单元201,用于确定通道数,并确定相邻通道间的最大数据偏移及最小 解串数据位宽,根据下述公式,计算各个通道间最大数据偏移;
[0085]
[0086] 其中,0.表征各个通道间最大数据偏移;N表征通道数;K表征最小解串数据位宽;α 表征相邻通道间的最大数据偏移;
[0087]确定子单元202,用于根据偏移计算子单元201计算的各个通道间最大数据偏移, 确定数据存储单元102的缓存深度。
[0088]如图3所示,在本发明另一实施例中,上述装置进一步包括:检测单元301,其中,
[0089] 设置单元103,进一步用于设置特征序列,并将特征序列挂载到每个通道101接收 的第一笔数据报文的首端,并设置有效数据长度;
[0090] 每一条通道101,用于当接收到特征序列时,接收外设的串行通道发送的数据报 文;
[0091 ]检测单元301,用于检测每一条通道101是否均收到特征序列,如果是,则检测每一 个通道101中有效数据的使能上升沿,将每一个通道中有效数据的使能上升沿发送给通道 偏移校准单元104,否则,确定各个通道间对齐失步,并触发数据存储单元102;
[0092]通道偏移校准单元104,用于接收检测单元301发送的每一个通道中有效数据的使 能上升沿,并根据每一个通道101中有效数据的使能上升沿,累计通道间有效数据使能上升 沿的最大时间差;
[0093]数据存储单元102,用于在接收到检测单元301的触发时,清空缓存的有效数据。 [0094]在本发明又一实施例中,设置单元103,进一步用于设置特征码字C0M,在每一个有 效数据长度中加载特征码字COM;
[0095]检测单元301,用于检测每一条通道101是否均收到具有特征码字COM的数据报文, 如果是,则触发通道偏移校准单元104,否则,确定各个通道间对齐失步,并触发数据存储单 元 102;
[0096] 通道偏移校准单元104,用于接收检测单元103的触发时,为每一条数据通道中的 数据报文去除特征码字COM;
[0097] 每一条通道101,用于接收具有特征码字的数据报文,并将去除特征码字COM的数 据报文中的有效数据发送给数据存储单元102;
[0098]数据存储单元102,用于在接收到检测单元301的触发时,清空缓存的有效数据。 [0099]如图4所示,在本发明又一实施例中,通道偏移校准单元104,包括:计数器401、对 齐判断子单元402和移位寄存器403;
[0100] 计数器401,用于在检测单元301检测到的第一个通道中有效数据的使能上升沿和 最后一个通道中有效数据的使能上升沿之间启动,当一个通道中有效数据的使能上升沿到 来时,执行加1运算;
[0101] 对齐判断子单元402,用于根据设置单元103设置的缓存深度,设置缓存阈值,在最 后一个通道中有效数据的使能上升沿到来之后,判断计数器401的计数是否小于等于缓存 阈值,如果是,则在所有通道中确定参考通道;
[0102] 移位寄存器403,用于当参考通道中有效数据的使能上升沿到来时,获取计数器 401中的值,并将计数器401中的值设为自身的初始信号,当计数器401执行加1运算时,将参 考通道中的有效数据向下移位,直至计数器的值等于缓存阈值时,确定输出信号,并将输出 信号作为读指针,发送给每一条通道对应的数据存储单元102;
[0103] 每一条通道对应的数据存储单元102,用于接收移位寄存器403发送的读指针,根 据读指针读取缓存的有效数据,并发送读取的有效数据。
[0104] 如图5所示,在本发明另一实施例中,上述通道对齐去偏斜的装置,进一步包括:移 位处理单元501,其中,
[0105] 设置单元103,进一步用于设置每一条通道101接口带宽为MX8bit,并将接口带宽 MX8bit发送给移位处理单元501;
[0106] 移位处理单元501,用于接收设置单元103发送的接口带宽MX8bit,当外设的串行 通道带宽不是MXSbit时,对外设的串行通道发送的数据报文进行移位处理,形成MXSbit 的解串数据报文,并将MXSbit的解串数据报文发送给对应的通道101;
[0107] 每一条通道101,用于接收移位处理单元501发送的MXSbit的解串数据报文。
[0108] 上述装置内的各单元之间的信息交互、执行过程等内容,由于与本发明方法实施 例基于同一构思,具体内容可参见下述本发明方法实施例中的叙述,此处不再赘述。
[0109] 如图6所示,本发明实施例提供了一种通道对齐去偏斜的方法,该方法可以包括以 下步骤:
[011 0]步骤601:设置至少两条通道,并为每一条通道设置对应的数据存储单元,并为数 据存储单元设置缓存深度;
[0111] 步骤602:利用至少两条通道接收外设的串行通道发送的数据报文;
[0112] 步骤603:根据缓存深度,将数据报文中的有效数据发送并缓存到数据存储单元;
[0113] 步骤604:累计通道间有效数据使能上升沿的最大时间差;
[0114] 步骤605:判断最大时间差是否小于等于缓存深度,如果是,则执行步骤606;否则, 执行步骤608;
[0115]步骤606:在所有通道中确定参考通道,当最大时间差累计达到缓存深度时,确定 每一条通道对应的数据存储单元的读取指针;
[0116] 步骤607:根据读取指针,读取缓存的有效数据,并发送读取的有效数据,结束当前 流程;
[0117] 步骤608:确定各个通道间对齐失步,并清空数据存储单元中缓存的有效数据。
[0118] 在本发明一个实施例中,上述方法进一步包括:设置特征序列,并将特征序列挂载 到每个通道接收的第一笔数据报文的首端,并设置有效数据长度;步骤602的具体实施方 式,包括:当接收到特征序列时,接收外设的串行通道发送的数据报文;在接收外设的串行 通道发送的数据报文之后,进一步包括:检测每一条通道是否均收到特征序列,如果是,则 检测每一个通道中有效数据的使能上升沿;否则,确定各个通道间对齐失步,并清空数据存 储单元中缓存的有效数据。通过设置特征序列,能够准确获知通道接收第一笔数据报文,从 而能够根据通道接收第一笔数据报文的情况快捷的测定出通道是否对齐。
[0119]在本发明一个实施例中,为了对数据长度进行标记,上述方法进一步包括:设置特 征码字C0M,并设置有效数据长度,在每一个有效数据长度中加载特征码字COM;步骤602的
【具体实施方式】,包括:接收具有特征码字的数据报文;步骤603的【具体实施方式】,包括:为具 有特征码字COM的数据报文去除特征码字C0M,并将去除特征码字COM的数据报文中的有效 数据缓存到对应的数据存储单元中;在检测每一条通道是否均收到特征序列之后,在检测 每一个通道中有效数据的使能上升沿之前,进一步包括:检测每一条通道是否均收到具有 特征码字COM的数据报文,如果是,则为每一条数据通道中的数据报文去除特征码字COM;否 贝1J,确定各个通道间对齐失步,并清空数据存储单元中的有效数据。
[0120]在本发明一个实施例中,上述方法进一步包括:设置计数器、移位寄存器及缓存阈 值;步骤604的【具体实施方式】,包括:在检测到的第一个通道中有效数据的使能上升沿和最 后一个通道中有效数据的使能上升沿之间启动计数器,当一个通道中有效数据的使能上升 沿到来时,计数器执行加1运算;步骤605的【具体实施方式】,包括:在最后一个通道中有效数 据的使能上升沿到来之后,判断计数器的计数是否小于等于缓存阈值;步骤606的具体实施 方式,包括:当参考通道中有效数据的使能上升沿到来时,获取计数器中的值,并将计数器 中的值设为移位寄存器的初始信号;当计数器执行加1运算时,将参考通道中的有效数据向 下移位,直至计数器的值等于缓存阈值时,确定移位寄存器的输出信号;将移位寄存器的输 出信号作为每一条通道对应的数据存储单元的读取指针;通过该过程有效的实现了去偏 斜,同时,在整个过程中通道可以持续的向数据存储单元发送数据报文,数据存储单元根据 移位寄存器的输出信号,输出数据报文,此过程无需任何中断的过程,进一步提高了数据报 文的传输效率。
[0121 ]在本发明一个实施例中,上述方法进一步包括:设置每一条通道接口带宽为Μ X 8bit;当外设的串行通道带宽不是MXSbit时,对外设的串行通道发送的数据报文进行移位 处理,形成Μ X 8b i t的解串数据报文;步骤602的【具体实施方式】,包括:接收Μ X 8bi t的解串数 据报文,通过该过程实现了对不同位宽数据的移位和传输。
[0122]为使本发明的目的、技术方案和优点更加清楚,下面以有效通道数为lOlane,每一 条通道接口带宽为4x8为例,展开说明,通道对齐去偏斜的方法。如图7所示,该方法可以包 括如下步骤:
[0123] 步骤700:设置计数器、移位寄存器及至少两条通道,并为每一条通道设置对应的 数据存储单元,并为数据存储单元设置缓存深度;
[0124] 在该步骤中,数据存储单元可以为FIFO之类的缓存队列,另外,在该步骤中数据存 储单元的缓存深度的设置可以通过如下过程实现:
[0125] 自适应确定通道数,并确定相邻通道间的最大数据偏移及最小解串数据位宽,根 据下述公式,计算各个通道间最大数据偏移;
[0126]
(1)
[0127] 其中,所述啟表征各个通道间最大数据偏移;N表征通道数;K表征最小解串数据位 宽;α表征相邻通道间的最大数据偏移;
[0128] 根据各个通道间最大数据偏移,确定数据存储单元的缓存深度。
[0129] 例如:上述的有效通道数为lOlane,相邻通道间的最大数据偏移为4个时间间隔, 最小解串数据位宽为8bit,则通过上述公式(1)计算出的最大数据偏移为30个时间间隔,在 这一过程中将设备间走线的差异也一并考虑进去。该各个通道间最大数据偏移等于数据存 储单元的缓存深度,即数据存储单元的缓存深度为30个时间间隔。
[0130] 步骤701:根据缓存深度,设置缓存阈值;
[0131] 在上一步骤中,得到缓存深度为30个时间间隔,将实际运行中走线等问题综合考 虑,避免数据存储单元溢出,设置缓存阈值为29个时间间隔以下简称缓存阈值为29。
[0132] 步骤702:设置特征序列,并将特征序列挂载到每个通道接收的第一笔数据报文的 首端;
[0133] 在该步骤中,特征序列表征为SDS,其长度为128bit,当通道接收到该SDS时,则表 明开始有数据报文发送给该通道。
[0134] 步骤703:设置特征码字COM,并设置有效数据长度,在每一个有效数据长度中加载 特征码字COM;
[0135] 在该步骤中,设置的特征码字COM的长度为8bit,该特征码字COM可以为一些数据 处理请求,另外,该步骤设置的有效数据报文长度为Txl28x3bit,其中,T是用户可以根据自 己需求在通道对齐去偏斜的装置中设置的,该T的默认值为11,那么以T = 11为例,带COM特 征码字后的数据报文长度为(Ilxl28x3+8)bit。
[0136] 步骤704:当至少两条通道中当前通道接收到特征序列时,当前通道接收具有特征 码字COM的数据报文;
[0137] 在该步骤中,上述已提及每一条通道接口带宽为4X8bit;那么,当外设的串行通 道带宽为SXIObit,而不是4X8bit时,需要对外设的串行通道发送的数据报文进行移位处 理,形成4X8bit的解串数据报文;并且当接收到特征序列时,需要对序列进行解扰,在解扰 后,上述的lOlane中数据报文间的偏斜如图8所示,从图8中可以看出在每一个通道中,每一 个数据长度(Ilxl28x3)bit间具有一个COM特殊码字,从laneO至lane9依次滞后。值得说明 的是,COM特征码字的出现顺序是并行数据节接口的最高位开始8bit递减形式,故通过计数 器跟随,可以确定通道数据的使能信号。
[0138] 步骤705:为当前通道中的具有特征码字COM的数据报文去除特征码字COM;
[0139] 如图9所不,各个通道中具有特征码字03]\1:口代_(1681^¥_1&116乂_(1&七&_[(16¥;[1:11-1: 0 ]和有效数据pre_deskew_laneX_data_en,其中,X为0至9中任意一个整数,如对于laneO来 说,从图中可以看出,其特征码字COM为pre_deskew_laneO_data_[dewith_l :0],有效数据 pre_deskew_laneO_data_en,每个通道通过各对应的LaneX deskew logic去除pre_ deskew_laneX_data_[dewith-l:0]〇
[0140] 如图10所示,去除特征码字COM后,剩余一个空位,这一过程中,通道无需传输特征 码字C0M,进一步减少了通道传输数据的总长度,从而有效地提高了数据的传输效率。
[0141]步骤706:将去除特征码字COM的数据报文中的有效数据缓存到对应的数据存储单 元中;
[0142] 在该步骤中,如果数据存储单元为FIFO,则将去除特征码字COM的数据报文存储到 对应的FIFO中,例如:laneO接收到COM+datal之后,将COM去除,将datal缓存到laneO对应的 FIFO 中。
[0143] 步骤707:检测至少两条通道中每一条通道是否均收到特征序列,如果是,则执行 步骤708;否则,执行步骤718;
[0144] 该步骤主要是为了预先确定通道间是否能够实现对齐,例如:lane9在整个过程中 一直未收到特征序列,说明lane9-直未收到数据报文,而lane9作为有效通道,解串后的数 据报文是需要通过laneO至lane9这10个有效通道进行传输的,而lane9-直未收到数据报 文,说明其他通道中接收到的数据是缺失的,则通道间是不能实现对齐的,即通道对齐失 步。
[0145] 步骤708:检测每一条通道是否均收到具有特征码字COM的数据报文,如果是,则执 行步骤709;否则,执行步骤718;
[0146] 由于每一段数据长度(Ilxl28x3)bit的数据报文包含特征码字C0M,则通过检测特 征码字COM进一步确定了每一条通道中均收到数据报文,从而保证通道间的对齐。
[0147] 步骤709:检测每一个通道中有效数据的使能上升沿;
[0148] 如图10所示,每一个通道中数据的使能上升沿为箭头向上的部分,数据的使能下 降沿为箭头向下的部分,从图中可以看出,箭头向上的部分为有效数据的始端,箭头向下的 部分为有效数据的末端。
[0149] 步骤710:在检测到的第一个通道中有效数据的使能上升沿和最后一个通道中有 效数据的使能上升沿之间启动计数器;
[0150] 例如:laneO至lane9中的数据报文依次滞后,贝ijlaneO中有效数据的使能上升沿与 lane9中有效数据的使能上升沿差距最大,贝ljlaneO为第一个通道,lane9为最后一个通道, 在这两个通道中的使能上升沿之间启动计数器。
[0151] 步骤711:当一个通道中有效数据的使能上升沿到来时,计数器执行加1运算;
[0152] 如图11所不,当laneO接收到第一笔Pre_deskew_laneO_data_en时,计数器由0变 为1,接下来仍然为laneO接收到第二笔Pre_deskew_laneO_data_en,计数器由1变为2,下面 为lanel接收到第一笔Pre_deskew_laneO_data_en,则计数器由2变为3,依次类推,各个通 道每接收到一笔数据,计数器进行加1操作。
[0153] 步骤712:在最后一个通道中有效数据的使能上升沿到来之后,判断计数器的计数 是否小于等于缓存阈值,如果是,则执行步骤713;否则,执行步骤718;
[0154] 步骤713:在所有通道中确定参考通道,当参考通道中有效数据的使能上升沿到来 时,获取计数器中的值;
[0155] 步骤714:将计数器中的值设为移位寄存器的初始信号;
[0156] 步骤715:将参考通道中的有效数据向下移位,计数器执行加1运算,直至计数器的 值等于缓存阈值时,确定移位寄存器的输出信号;
[0157] 步骤716:根据参考通道的最新使能信号,确定每一条通道对应的数据存储单元的 读取指针;
[0158] 步骤717:根据读取指针,读取缓存的有效数据,并发送读取的有效数据,结束当前 流程;
[0159] 上述步骤712至步骤717的具体过程如图11所示,从图中可以看出,laneO至lane9 依次滞后,存储到各自对应的FIF01101中,在laneO与lane9之间设置计数器1102,当lane9 中有效数据的使能上升沿到来之后,在图中N为有效通道数10,c 〇unt = N*3-l = 29,即判断 计数器1102中计数是否小于等于29,如果是,则确定lanel为参考通道,将lanel的中有效数 据的使能上升沿到来时的计数器1102中的值如3作为移位寄存器1103的初始信号,并将 lanel中的有效数据向下移位,计数器执行加1运算,直至计数器的值等于缓存阈值时,计数 器的值移位寄存器的输出信号,此时,各个FIFO以这一输出信号作为读取指针,保证各个 FIFO根据读取指针输出数据,实现了去偏斜。对齐去偏斜后数据报文如图12所示。
[0160] 步骤718:确定各个通道间对齐失步,并清空数据存储单元中缓存的有效数据。 [0161]值得说明的是,如图13所示,在进入到本发明实施例提供的通道对齐去偏斜的装 置之前要确定有效数据的开始位置,各通道需要先捕捉到达的特征序列SDS,检测到特征序 列SDS后,对通道中数据进行解扰,需要注意的是,解串后的数据和解串前的数据仍然会保 持时序上的一致性,进入到通道对齐去偏斜的装置。
[0162] 根据上述方案,本发明的各实施例,至少具有如下有益效果:
[0163] 1.通过至少两条通道中,每一条通道接收外设的串行通道发送的数据报文,并将 数据报文中的有效数据发送给数据存储单元;通过多条通道传输数据报文,可以有效地加 快数据的传输效率,另外,通过设置单元为数据存储单元设置缓存深度,并将缓存深度发送 给数据存储单元和通道偏移校准单元;通过每一条通道对应的数据存储单元接收设置单元 发送的缓存深度,并根据缓存深度,接收并缓存对应的通道发送的有效数据,根据通道偏移 校准单元确定的读取指针,读取缓存的有效数据,并发送读取的有效数据;通过通道偏移校 准单元接收设置单元发送的缓存深度,累计通道间有效数据使能上升沿的最大时间差,判 断最大时间差是否小于等于缓存深度,如果是,则在所有通道中确定参考通道,当最大时间 差累计达到缓存深度时,确定每一条通道对应的数据存储单元的读取指针,而通过将数据 报文缓存到数据存储单元中,并通道偏移校准单元确定参考通道和校准后的数据存储单元 的读取指针,数据存储单元根据读取指针读取缓存的数据报文,在整个过程中通过确定参 考通道对读指针进行校准,避免了在数据报文中加入多个位数较高的标记块,在本发明提 供的方案中,只需要对有效数据报文进行传输,从而有效地提高有效数据报文传输效率。
[0164] 2.通过设置单元设置特征序列,并将特征序列挂载到每个通道接收的第一笔数据 报文的首端;每一条通道当接收到特征序列时,接收外设的串行通道发送的数据报文;通过 该特征序列能够清楚检测出每个通道是否收到数据报文,从而快速的确定出通道对齐是否 失步。
[0165] 3.通过设置单元设置特征码字COM,并设置有效数据长度,在每一个有效数据长度 中加载特征码字COM;通过检测单元检测每一条通道是否均收到具有特征码字COM的数据报 文,从而进一步保证每个通道均收到数据报文。
[0166] 4.通过在检测单元检测到的第一个通道中有效数据的使能上升沿和最后一个通 道中有效数据的使能上升沿之间启动计数器,当一个通道中有效数据的使能上升沿到来 时,执行加1运算;根据缓存深度,设置缓存阈值,在最后一个通道中有效数据的使能上升沿 到来之后,判断计数器的计数是否小于等于缓存阈值,如果是,则在所有通道中确定参考通 道;当参考通道中有效数据的使能上升沿到来时,移位寄存器获取计数器中的值,并将计数 器中的值设为自身的初始信号,将参考通道中的有效数据向下移位,计数器执行加1运算 时,直至计数器的值等于缓存阈值时,确定输出信号,并将输出信号作为读指针,发送给每 一条通道对应的数据存储单元,数据存储单元按照读指针读取数据报文,在这一过程可以 根据用户需求确定参考通道,有效地增加了本发明实施例提供的通道对齐去偏斜的装置的 实用性,另外,在读指针读取数据报文的过程中,通道对齐去偏斜的装置仍然可以进行对其 去偏斜操作,无需中断,进一步提高了有效数据报文传输效率。
[0167] 需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体 或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在 任何这种实际的关系或者顺序。而且,术语"包括"、"包含"或者其任何其他变体意在涵盖非 排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素, 而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固 有的要素。在没有更多限制的情况下,由语句"包括一个......"限定的要素,并不排 除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。
[0168] 本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过 程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序 在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光 盘等各种可以存储程序代码的介质中。
[0169] 最后需要说明的是:以上所述仅为本发明的较佳实施例,仅用于说明本发明的技 术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、 等同替换、改进等,均包含在本发明的保护范围内。
【主权项】
1. 一种通道对齐去偏斜的装置,其特征在于,包括:至少两条通道、每一条通道对应的 数据存储单元、设置单元和通道偏移校准单元,其中, 所述至少两条通道中,每一条通道,用于接收外设的串行通道发送的数据报文,并将所 述数据报文中的有效数据发送给对应的数据存储单元; 所述设置单元,用于为所述数据存储单元设置缓存深度,并将所述缓存深度发送给所 述数据存储单元和所述通道偏移校准单元; 所述每一条通道对应的数据存储单元,用于接收所述设置单元发送的所述缓存深度, 并根据所述缓存深度,接收并缓存对应的通道发送的有效数据,根据所述通道偏移校准单 元确定的读取指针,读取缓存的所述有效数据,并发送所述读取的有效数据; 所述通道偏移校准单元,用于接收所述设置单元发送的所述缓存深度,累计通道间有 效数据使能上升沿的最大时间差,判断所述最大时间差是否小于等于所述缓存深度,如果 是,则在所有通道中确定参考通道,当所述最大时间差累计达到所述缓存深度时,根据所述 参考通道,确定所述每一条通道对应的数据存储单元的读取指针。2. 根据权利要求1所述的通道对齐去偏斜的装置,其特征在于,所述设置单元,包括:偏 移计算子单元和确定子单元,其中, 所述偏移计算子单元,用于确定通道数,并确定相邻通道间的最大数据偏移及最小解 串数据位宽,根据下述公式,计算各个通道间最大数据偏移;其中,所述0表征各个通道间最大数据偏移;所述N表征通道数;所述K表征最小解串数 据位宽;所述α表征相邻通道间的最大数据偏移; 所述确定子单元,用于根据所述偏移计算子单元计算的各个通道间最大数据偏移,确 定所述数据存储单元的缓存深度。3. 根据权利要求1或2所述的通道对齐去偏斜的装置,其特征在于,进一步包括:检测单 元,其中, 所述设置单元,进一步用于设置特征序列,并将所述特征序列挂载到每个通道接收的 第一笔数据报文的首端; 所述每一条通道,用于当接收到所述特征序列时,接收外设的串行通道发送的数据报 文; 所述检测单元,用于检测每一条通道是否均收到所述特征序列,如果是,则检测每一个 通道中有效数据的使能上升沿,将所述每一个通道中有效数据的使能上升沿发送给所述通 道偏移校准单元,否则,确定各个通道间对齐失步,并触发所述数据存储单元; 所述通道偏移校准单元,进一步用于接收所述检测单元发送的每一个通道中有效数据 的使能上升沿,并根据所述每一个通道中有效数据的使能上升沿,执行所述累计通道间有 效数据使能上升沿的最大时间差; 所述数据存储单元,进一步用于在接收到所述检测单元的触发时,清空缓存的有效数 据。4. 根据权利要求3所述的通道对齐去偏斜的装置,其特征在于, 所述设置单元,进一步用于设置特征码字COM,并设置有效数据长度,在每一个有效数 据长度中加载所述特征码字COM; 所述检测单元,进一步用于检测每一条通道是否均收到所述具有所述特征码字COM的 数据报文,如果是,则触发所述通道偏移校准单元,否则,确定各个通道间对齐失步,并触发 所述数据存储单元; 所述通道偏移校准单元,进一步用于接收所述检测单元的触发时,为所述每一条数据 通道中的数据报文去除特征码字COM; 所述每一条通道,用于接收具有特征码字的数据报文,并将去除特征码字COM的数据报 文中的有效数据发送给所述数据存储单元; 所述数据存储单元,用于在接收到所述检测单元的触发时,清空缓存的有效数据。5. 根据权利要求3所述的通道对齐去偏斜的装置,其特征在于, 所述通道偏移校准单元,包括:计数器、对齐判断子单元和移位寄存器; 所述计数器,用于在所述检测单元检测到的第一个通道中有效数据的使能上升沿和最 后一个通道中有效数据的使能上升沿之间启动,当一个通道中有效数据的使能上升沿到来 时,执行加1运算; 所述对齐判断子单元,用于根据所述设置单元设置的所述缓存深度,设置缓存阈值,在 所述最后一个通道中有效数据的使能上升沿到来之后,判断所述计数器的计数是否小于等 于所述缓存阈值,如果是,则在所有通道中确定参考通道; 所述移位寄存器,用于当所述参考通道中有效数据的使能上升沿到来时,获取所述计 数器中的值,并将所述计数器中的值设为自身的初始信号,将所述参考通道中的有效数据 向下移位,进行计数器加1运算,直至计数器的值等于所述缓存阈值时,确定输出信号,并将 所述输出信号作为读指针,发送给所述每一条通道对应的数据存储单元; 所述每一条通道对应的数据存储单元,用于接收所述移位寄存器发送的所述读指针, 根据所述读指针读取缓存的所述有效数据,并发送所述读取的有效数据; 和/或, 进一步包括:移位处理单元,其中, 所述设置单元,进一步用于设置每一条通道接口带宽为MX Sbit,并将接口带宽MX 8b it发送给移位处理单元; 所述移位处理单元,用于接收设置单元103发送的接口带宽M X Sbit,当所述外设的串 行通道带宽不是MXSbit时,对所述外设的串行通道发送的数据报文进行移位处理,形成M XSbit的解串数据报文,并将所述MXSbit的解串数据报文发送给对应的通道; 所述每一条通道,用于接收所述移位处理单元发送的所述MXSbit的解串数据报文。6. -种通道对齐去偏斜的方法,其特征在于,设置至少两条通道,并为每一条通道设置 对应的数据存储单元,并为所述数据存储单元设置缓存深度,还包括: 利用所述至少两条通道接收外设的串行通道发送的数据报文; 根据所述缓存深度,将所述数据报文中的有效数据发送并缓存到所述数据存储单元; 累计通道间有效数据使能上升沿的最大时间差; 判断所述最大时间差是否小于等于所述缓存深度,如果是,则: 在所有通道中确定参考通道,当所述最大时间差累计达到所述缓存深度时,确定所述 每一条通道对应的数据存储单元的读取指针; 根据所述读取指针,读取缓存的所述有效数据,并发送所述读取的有效数据。7. 根据权利要求6所述的方法,其特征在于,所述为所述数据存储单元设置缓存深度, 包括: 确定通道数,并确定相邻通道间的最大数据偏移及最小解串数据位宽,根据下述公式, 计算各个通道间最大数据偏移;其中,所述0:表征各个通道间最大数据偏移;N表征通道数;K表征最小解串数据位宽;α 表征相邻通道间的最大数据偏移; 根据所述各个通道间最大数据偏移,确定所述数据存储单元的缓存深度。8. 根据权利要求6或7所述的方法,其特征在于, 进一步包括:设置特征序列,并将所述特征序列挂载到每个通道接收的第一笔数据报 文的首端; 所述接收外设的串行通道发送的数据报文,包括:当接收到所述特征序列时,接收外设 的串行通道发送的数据报文; 在所述接收外设的串行通道发送的数据报文之后,进一步包括:检测每一条通道是否 均收到所述特征序列,如果是,则检测每一个通道中有效数据的使能上升沿,否则,确定各 个通道间对齐失步,并清空所述数据存储单元中缓存的有效数据。9. 根据权利要求8所述的方法,其特征在于, 进一步包括:设置特征码字COM,并设置有效数据长度,在每一个有效数据长度中加载 所述特征码字COM; 所述接收外设的串行通道发送的数据报文,包括:接收具有特征码字COM的数据报文; 所述将所述数据报文中的有效数据发送并缓存到所述数据存储单元,包括:为所述具 有特征码字COM的数据报文去除特征码字COM,并将去除特征码字COM的数据报文中的有效 数据缓存到对应的数据存储单元中; 在所述检测每一条通道是否均收到所述特征序列之后,在所述检测每一个通道中有效 数据的使能上升沿之前,进一步包括:检测每一条通道是否均收到所述具有所述特征码字 COM的数据报文,如果是,则执行所述检测每一个通道中有效数据的使能上升沿;否则,确定 各个通道间对齐失步,并清空所述数据存储单元中的有效数据; 所述将所述数据报文中的有效数据发送给所述数据存储单元包括:将去除特征码字 COM的数据报文中的有效数据缓存到所述数据存储单元中。10. 根据权利要求8所述的方法,其特征在于, 进一步包括:设置计数器、移位寄存器及缓存阈值; 相应地,累计通道间有效数据使能上升沿的最大时间差,包括:在检测到的第一个通道 中有效数据的使能上升沿和最后一个通道中有效数据的使能上升沿之间启动所述计数器, 当一个通道中有效数据的使能上升沿到来时,所述计数器执行加1运算; 相应地,所述判断所述最大时间差是否小于等于所述缓存深度,包括:在所述最后一个 通道中有效数据的使能上升沿到来之后,判断所述计数器的计数是否小于等于所述缓存阈 值; 相应地,所述当所述最大时间差累计达到所述缓存深度时,确定所述每一条通道对应 的数据存储单元的读取指针,包括:当所述参考通道中有效数据的使能上升沿到来时,获取 所述计数器中的值,并将所述计数器中的值设为所述移位寄存器的初始信号;当所述计数 器执行加1运算时,将所述参考通道中的有效数据向下移位,直至计数器的值等于所述缓存 阈值时,确定所述移位寄存器的输出信号;将所述移位寄存器的输出信号作为所述每一条 通道对应的数据存储单元的读取指针; 和/或, 进一步包括:设置每一条通道接口带宽为M X 8bit; 当所述外设的串行通道带宽不是MXSbit时,对所述外设的串行通道发送的数据报文 进行移位处理,形成M X Sbit的解串数据报文; 所述接收外设的串行通道发送的数据报文,包括:接收所述M X 8bi t的解串数据报文。
【文档编号】H04L12/879GK105933244SQ201610230894
【公开日】2016年9月7日
【申请日】2016年4月14日
【发明人】李国川
【申请人】浪潮电子信息产业股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1