一种用于时钟恢复的网络数据计数器转让专利

申请号 : CN201410761225.9

文献号 : CN104486021B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 胡强吴援明

申请人 : 成都朗锐芯科技发展有限公司

摘要 :

本发明涉及一种网络通信领域,特别涉及一种用于时钟恢复的网络数据计数器。包括控制模块、计数模块、偏差计算模块;所述控制模块分别与所述计数模块和偏差计算模块连接;所述控制模块用于控制各个模块的运行;所述计数模块用于根据所述时钟调整模块输出的当前恢复时钟频率进行计数;所述偏差计算模块用于计算当前恢复时钟频率的时钟偏差。本发明提供的用于时钟恢复的网络数据计数器采用针对数据序列号采样计数的方式实现对数据当前时钟的快慢分析,为数据的时钟恢复下步操作提供加快或减慢命令,采用本发明提供的计数器进行网络数据时钟恢复所需时间短,恢复精度高,很好满足网络数据收发同步的目的。

权利要求 :

1.一种用于时钟恢复的网络数据计数器,其特征在于,包括控制模块、计数模块、偏差计算模块;所述控制模块分别与所述计数模块和偏差计算模块连接;

所述控制模块用于控制各个模块的运行;所述计数模块用于根据所述时钟调整模块输出的当前恢复时钟频率进行计数;所述偏差计算模块用于计算当前恢复时钟频率的时钟偏差;

所述偏差计算模块包括时钟计数值累加模块,时钟采样次数累加模块、平均时钟计数计算模块和平均时钟计数对比模块;

所述时钟计数值累加模块用于累加单一计算周期内的时钟计数累加值;

所述时钟采样次数模块用于记录单一计算周期内实际采样次数;

平均时钟计数计算模块用于计算并存储单一计算周期内的平均时钟计数,所述单一计算周期内的平均时钟计数=单一计算周期内的时钟计数累加值/单一计算周期内实际采样次数;

所述平均时钟计数对比模块用于对比当前时钟周期内平均时钟计数与上一时钟周期内的平均时钟计数的大小;

所述计数模块中采用递减的方式实现接收数据的计数。

说明书 :

一种用于时钟恢复的网络数据计数器

技术领域

[0001] 本发明涉及一种网络通信领域,特别涉及一种用于时钟恢复的网络数据计数器。

背景技术

[0002] 如图1所示,CES(Circuit Emulation Service)电路仿真提供一种从电路交换网到分组交换网的平稳过渡方案,发送端PE设备将TDM数据通过实时封装,经分组网络传输达接收端,在接收端PE设备接收端数据缓存队列恢复出同步时钟,同步时钟解封装数据帧,重组为TDM数据流;但因为TDM网是一种同步网,分组网为典型的异步网,TDM数据在通过分组网传送到接收端时会造成自身的时钟信息丢失,因此在接收端恢复TDM数据时的时钟恢复技术至关重要,数据时钟信息的恢复直接影响数据传输的质量,目前的时钟恢复技术存在着恢复所需时间长、恢复精度差等问题。

发明内容

[0003] 本发明的目的在于克服现有技术中所存在的上述不足,提供一种恢复精度高、恢复所需时间短的基于TDM的网络时钟恢复系统;包括数据时钟分径模块、数据缓存模块、时钟恢复模块、并串处理模块;所述数据时钟分径模块分别与所述数据缓存模块、时钟恢复模块连接;所述数据缓存模块、所述时钟恢复模块均与所述并串处理模块连接。
[0004] 所述数据时钟分径模块用于将从分组网络接收到的网络数据中的控制字部分送入时钟恢复模块。
[0005] 所述数据缓存模块用于对所述网络数据进行排序、丢包处理。
[0006] 所述时钟恢复模块用于接收所述网络数据的控制字部分,并计算、调整所述网络数据的恢复时钟。
[0007] 所述并串处理模块用于将所述经过排序、丢包处理的网络数据和计算调整出的恢复时钟频率进行并串处理。
[0008] 进一步的,所述时钟恢复模块包括网络数据计数模块和时钟调整模块,所述网络数据计数模块包括控制模块、计数模块、偏差计算模块;所述控制模块分别与所述计数模块和偏差计算模块连接;所述偏差计算模块与所述时钟调整模块连接;所述时钟调整模块的输出端与所述计数模块连接。
[0009] 所述控制模块用于控制各个模块的运行;所述计数模块用于根据所述时钟调整模块输出的当前恢复时钟频率对接收到的数据进行计数;所述偏差计算模块用于计算当前恢复时钟频率的时钟偏差;所述时钟调整模块用于根据所述偏差计算模块的计算结果调整数据的恢复时钟,并将当前恢复时钟输出。
[0010] 进一步的,所述偏差计算模块包括时钟计数值累加模块,时钟采样次数累加模块、平均时钟计数计算模块和平均时钟计数对比模块。
[0011] 所述时钟计数值累加模块用于累加单一计算周期内的时钟计数累加值。
[0012] 所述时钟采样次数模块用于记录单一计算周期内实际采样次数。
[0013] 平均时钟计数计算模块用于计算并存储单一计算周期内的平均时钟计数,计算周期内的平均时钟计数=计算周期内的时钟计数累加值/计算周期内实际采样次数。
[0014] 所述平均时钟计数对比模块用于对比当前时钟周期内平均时钟计数与上一时钟周期内的平均时钟计数的大小。
[0015] 进一步的,所述时钟调整模块中包括基准脉冲产生模块、恢复时钟产生模块和脉冲增减模块。
[0016] 所述基准脉冲产生模块用于产生基准脉冲。
[0017] 所述恢复时钟产生模块用于根据所述基准脉冲产生当前恢复时钟。
[0018] 所述脉冲增减模块用于根据所述偏差计算模块的计算结果对当前恢复时钟包含的基准脉冲进行增减操作。
[0019] 优选的,所述基准脉冲频率为327.68MHz。
[0020] 优选的,所述计数模块中采用递减的方式实现接收数据的计数。
[0021] 进一步的,所述数据缓存模块包括写入控制模块、读出控制模块、抖动缓存模块,所述写入控制模块的输入端与数据接收端口连接,所述写入控制模块的输出端与所述抖动缓存模块连接,所述抖动缓存模块还与所述读出控制模块连接;所述写入控制模块用于控制网络数据的写入;所述抖动缓存模块用于存储所述网络数据;所述读出控制模块用于控制所述抖动缓存模块中网络数据的读出。
[0022] 进一步的,所述抖动缓存模块包括标志存储模块和数据存储模块,所述标志存储模块包括写读标志存储模块和序列号存储模块;所述数据存储模块用于存储所述网络数据的净荷部分;所述读写标志存储模块用于存储与净荷部分一一对应的写读标志;所述序列号存储模块用于存储网络数据的序列号部分。
[0023] 进一步的,所述写入控制模块还连接有写基准时钟产生模块,所述读出控制模块还连接有读恢复时钟产生模块,所述写基准时钟产生模块用于产生控制所述写入控制模块的基准时钟;所述读恢复时钟产生模块用于产生控制所述读出控制模块的恢复时钟。
[0024] 优选的,所述写入数据步骤在81.92MHz基准时钟下工作,所述读出数据步骤在81.92MHz恢复时钟下工作。
[0025] 进一步的,所述数据缓存模块还包括数据包计数模块,所述数据包计数模块同时与所述写入控制模块和所述读出控制模块连接,其用于记录系统接收到的正常包、重复包、延时包、丢包数量。
[0026] 本发明同时提供一种恢复精度高、恢复所需时间短的基于TDM的网络时钟恢复方法,包含以下步骤:
[0027] 包含将待传送网络数据按照指定帧数进行封装的步骤。
[0028] 包含将接收到的网络数据中控制字部分分出,并计算、调整恢复时钟的步骤。
[0029] 包含将接收到的网络数据进行排序、丢包处理的步骤。
[0030] 包含将所述经过排序、丢包处理的网络数据和计算调整出的恢复时钟频率进行并串处理的步骤。
[0031] 进一步的,所述从控制字部分提取时序序列号依照当前恢复时钟进行计数的步骤中:
[0032] 包含在单个计算周期内,按照指定采样周期tsam针对控制字部分进行采样,并根据采样结果进行时钟计数的步骤;所述单个计算周期内包含有1个以上的采样周期tsam。
[0033] 包含计算单个计算周期内平均时钟计数的步骤,所述计算周期内平均时钟计数Sn=计算周期内时钟计数累加值/计算周期内采样次数。
[0034] 包含将当前计算周期内平均时钟计数Sn与上个计算周期内平均时钟计数Sn-1进行比较的步骤。
[0035] 包含将下个计算周期平均分为N个调整段的步骤,N为1以上的自然数。
[0036] 包含根据比较结果对下个计算周期内当前恢复时钟每个调整段包含的基准脉冲数进行增减调整的步骤,每次增加或者减少的脉冲数量均为额定脉冲数量IMPnum; IMPnum为根据需要预设的1以上的自然数。
[0037] 进一步的,根据比较结果对下个计算周期内当前恢复时钟每个调整段包含的基准脉冲数进行增减调整的步骤中,如Sn> Sn-1,则所述下个计算周期内当前恢复时钟每个调整段的基准脉冲数减少IMPnum个,否则所述下个计算周期内当前恢复时钟每个调整段的基准脉冲数增加IMPnum个。
[0038] 进一步的,在对当前恢复时钟包含的基准脉冲进行增减调整的步骤中,每次增加的IMPnum个脉冲为离散的插入到原脉冲序列中;或,每次减少的IMPnum个脉冲为离散的从原脉冲序列中去除。
[0039] 进一步的,所述网络时钟恢复方法按照时间先后和时钟收敛速度分为快速收敛阶段、慢速收敛阶段和锁定收敛阶段三个阶段。
[0040] 所述快速收敛阶段、慢速收敛阶段、锁定收敛阶段均包含有一个以上的计算周期。
[0041] 其中,所述快速收敛阶段的计算周期小于所述慢速收敛阶段的计算周期,所述慢速收敛阶段的计算周期小于所述锁定收敛阶段的计算周期。
[0042] 所述离散补偿调整方法还包含根据预设条件判断是否进入下一阶段的步骤。
[0043] 进一步的,所述预设条件为本阶段中增加时钟脉冲次数的计算周期数>1,同时,减少时钟脉冲次数的计算周期数>1;如满足所述预设条件,则进入下一阶段。
[0044] 进一步的,所述额定脉冲数量IMPnum随着所述计算周期的延长而不断减小;其中,所述锁定收敛阶段的计算周期中,所述额定脉冲数量IMPnum为1。
[0045] 进一步的,任意收敛阶段中,Sn与Sn-1进行比较时,如果|Sn- Sn-1 | >收敛失败标识值Fail,则本次时钟恢复终止,返回快速收敛阶段初始状态,重新开始进行时钟恢复计算;所述收敛失败标识值Fail为根据需要设定的大于1的自然数。
[0046] 进一步的,在快速收敛阶段中,Sn与Sn-1进行比较时,如果|Sn- Sn-1 | >本阶段最大额定脉冲数量IMPnum*m,则本次时钟恢复终止,返回快速收敛阶段初始状态,重新开始进行时钟恢复计算。
[0047] 在慢速收敛阶段或锁定收敛阶段中,Sn与Sn-1进行比较时,如果|Sn- Sn-1 | >本阶段最大额定脉冲数量IMPnum*m,则本阶段时钟恢复终止,返回上一阶段初始状态,重新开始进行时钟恢复计算。
[0048] 其中,m为根据需要设定的大于2的自然数。
[0049] 进一步的,所述将接收到的网络数据进行排序、丢包处理的步骤中包含如下写入数据步骤:
[0050] (1)系统上电,抖动缓存模块清零。
[0051] (2)根据接收到的第一个数据包的序列号SEQ值初始化序列号存储模块以及读指针;即,将该序列号SEQ写入序列号存储模块的第一位置,并根据所述序列号存储模块的容量,以该序列号SEQ为起始值将所述序列号存储模块向后填满;将第一数据包净荷数据写入数据存储模块对应位置,对应写读标志设为已写标志。
[0052] (3)接收新数据,遍历所述序列号存储模块,查找是否含有新接收数据序列号SEQ,如有,进入步骤(5),否则,进入步骤(4)。
[0053] (4)该数据包为无效包,无效包计数加1,该无效包丢弃,返回步骤3。
[0054] (5)判断与该序列号SEQ对应的写读标志是否为已写标志,如是,进入步骤(6);如否,进入步骤(7)。
[0055] (6)该数据包为重复包,重复包计数加1;返回步骤(3)。
[0056] (7)在数据存储模块中该序列号对应位置写入净荷数据,将与该序列号对应的写读标志设为已写标志;返回步骤(3)。
[0057] 进一步的,所述将接收到的网络数据进行排序、丢包处理的步骤中还包括如下读出数据步骤:
[0058] (1)从所述读指针指向的序列号SEQ开始顺序读取数。
[0059] (2)判断读指针指向的序列号SEQ对应的写读标志是否为已写标志,如是,进入步骤(3);如否进入步骤(4)。
[0060] (3)从数据存储模块对应位置读出净荷数据;将对应写读标志清零;数据存储模块对应位置清零;正常包计数加1,进入步骤(7)。
[0061] (4)判断写读标志存储模块是否为延时标志,如是进入步骤(5);如不是进入步骤(6)。
[0062] (5)将该序列号SEQ对应的数据以补空包方式读出;丢包计数加1,进入步骤(7)。
[0063] (6)将对应读写标志设置延时标志;将该序列号SEQ对应的数据以补空包方式读出;延时包计数加1,进入步骤(7)。
[0064] (7)将序列存储模块中该SEQ值加所述序列号存储模块容量值后重新覆盖该位置,读写指针加1并返回步骤(2)。
[0065] 进一步的,所述将接收到的网络数据进行排序、丢包处理的步骤中,所述已写标志为0X1232,所述延时标志为0X5678。
[0066] 进一步的,所述将接收到的网络数据进行排序、丢包处理的步骤中,所述写入数据步骤在81.92MHz基准时钟下工作,所述读出数据步骤在81.92MHz恢复时钟下工作。
[0067] 进一步的,所述将接收到的网络数据进行排序、丢包处理的步骤中,以补空包方式读出是指将数据设置为0读出,即将该数据包对应数据位设置为0x00,并将该数据按照数据位大小补充到读出序列中,以避免读出数据出现时延。
[0068] 与现有技术相比,本发明的有益效果:本发明提供的用于时钟恢复的网络数据计数器采用针对数据序列号采样计数的方式实现对数据当前时钟的快慢分析,为数据的时钟恢复下步操作提供加快或减慢命令,采用本发明提供的计数器进行网络数据时钟恢复所需时间短,恢复精度高,很好满足网络数据收发同步的目的。
[0069] 附图说明:
[0070] 图1为背景技术中TDM数据分组传送示意图。
[0071] 图2为本发明网络时钟恢复系统结构示意图。
[0072] 图3为本发明时钟恢复模块结构示意图。
[0073] 图4为本发明数据缓存模块结构示意图。
[0074] 图5为本发明网络数据时钟恢复方法的流程图。
[0075] 图6为本发明计算、调整时钟频率流程图。
[0076] 图7为本发明网络数据计数流程图。
[0077] 图8为本发明实施例2中分阶段恢复时钟频率流程图。
[0078] 图9为本发明实施例3中分阶段恢复时钟频率流程图。
[0079] 图10为本发明实施例中抖动缓存模块写入数据流程图。
[0080] 图11为本发明实施例中抖动缓慢模块读出数据流程图。
[0081] 图12为本发明网络数据计数器结构示意图。
[0082] 图中标记:1-数据时钟分径模块,2-数据缓存模块,21-写入控制模块,22-抖动缓存模块,23-读出控制模块,24-写基准时钟产生模块,25-读恢复时钟产生模块,26-数据包计数模块,3-时钟恢复模块,31-网络数据计数器,311-控制模块,312-计数模块,313-偏差计算模块,32-时钟调整模块,4-并串处理模块。

具体实施方式

[0083] 下面结合具体实施例对本发明作进一步的详细描述。但不应将此理解为本发明上述主题的范围仅限于以下的实施例,凡基于本发明内容所实现的技术均属于本发明的范围。
[0084] 实施例1:如图2所示,本实施例提供一种恢复精度高、恢复所需时间短的基于TDM的网络时钟恢复系统;包括数据时钟分径模块1、数据缓存模块2、时钟恢复模块3、并串处理模块4;所述数据时钟分径模块1分别与所述数据缓存模块2、时钟恢复模块连接3;所述数据缓存模块2、所述时钟恢复模块3均与所述并串处理模块4连接。
[0085] 所述数据时钟分径模块1用于将从分组网络接收到的网络数据中的控制字部分送入时钟恢复模块3。
[0086] 所述数据缓存模块2用于对所述网络数据进行排序、丢包处理。
[0087] 所述时钟恢复模块3用用于接收所述网络数据的控制字部分,并计算、调整所述网络数据的恢复时钟。
[0088] 所述并串处理模块4用于将所述经过排序、丢包处理的网络数据和计算调整出的恢复时钟频率进行并串处理,从而实现所述网络数据时钟恢复。
[0089] 进一步的,如图3,图12所示,所述时钟恢复模块3包括网络数据计数器31和时钟调整模块32;所述网络数据计数器31包括控制模块311、计数模块312、偏差计算模块313;所述控制模块311分别与所述计数模块312和偏差计算模块连接313;所述偏差计算模块313与所述时钟调整模块32连接;所述时钟调整模块32的输出端与所述计数模块312连接,所述时钟调整模块32的输出端与所述计数模块312连接。
[0090] 所述控制模块311用于控制各个模块的运行;所述计数模块312用于根据所述时钟调整模块32输出的当前恢复时钟频率对接收到的数据进行计数;所述偏差计算模块313用于计算当前恢复时钟频率的时钟偏差;所述时钟调整模块32用于根据所述偏差计算模块的计算结果调整数据的恢复时钟,并将当前恢复时钟输出。
[0091] 进一步的,所述偏差计算模块313包括时钟计数值累加模块,时钟采样次数累加模块、平均时钟计数计算模块和平均时钟计数对比模块。
[0092] 所述时钟计数值累加模块用于累加单一计算周期内的时钟计数累加值。
[0093] 所述时钟采样次数模块用于记录单一计算周期内实际采样次数。
[0094] 平均时钟计数计算模块用于计算并存储单一计算周期内的平均时钟计数,所述单一计算周期内的平均时钟计数=单一计算周期内的时钟计数累加值/单一计算周期内实际采样次数。
[0095] 所述平均时钟计数对比模块用于对比当前时钟周期内平均时钟计数与上一时钟周期内的平均时钟计数的大小。
[0096] 进一步的,所述时钟调整模块32中包括基准脉冲产生模块、恢复时钟产生模块和脉冲增减模块;所述基准脉冲产生模块用于产生基准脉冲;所述恢复时钟产生模块用于根据所述基准脉冲产生当前恢复时钟;所述脉冲增减模块用于根据所述偏差计算模块的计算结果对当前恢复时钟包含的基准脉冲进行增减操作。
[0097] 本实施例中,所述基准脉冲产生模块用于产生327.68MHz基准脉冲,并用以恢复2.048MHz时钟频率。
[0098] 优选的,所述计数模块312中采用递减的方式实现接收数据的计数。
[0099] 进一步的,如图4所示,本实施例中数据缓存模块2包括写入控制模块21、读出控制模块23、抖动缓存模块22,所述写入控制模块21的输入端与数据接收端口(所述数据分径模块1的输出端)连接,所述写入控制模块21的输出端与所述抖动缓存模块22连接,所述抖动缓存模块22还与所述读出控制模块23连接;所述写入控制模块21用于控制网络数据的写入;所述抖动缓存模块22用于存储所述网络数据;所述读出控制模块23用于控制所述抖动缓存模块中网络数据的读出,所述读出控制模块23中设置有读指针,所述读指针由系统第一次收到的网络数据序列号SEQ初始化,开始读取操作后,每读完一个数据包,所述读指针会加1操作指向下一数据包。
[0100] 进一步的,所述抖动缓存模块22包括标志存储模块和数据存储模块,所述标志存储模块包括写读标志存储模块和序列号存储模块;所述数据存储模块用于存储所述网络数据的净荷部分;所述读写标志存储模块用于存储与净荷部分一一对应的写读标志;所述序列号存储模块用于存储网络数据的序列号部分。本实施例中,抖动缓存模块按512ms计算,当传输2.048MHz网络数据按1帧封装时(1帧时长为125 us),则所述抖动缓存模块的深度=512*1000/125=4096,即所述抖动缓存模块可同时缓存4096帧数据。
[0101] 进一步的,所述写入控制模块21还连接有写基准时钟产生模块24,所述读出控制模块23还连接有读恢复时钟产生模块25,所述写基准时钟产生模块24用于产生控制所述写入控制模块21的基准时钟;所述读恢复时钟产生模块25用于产生控制所述读出控制模块23的恢复时钟。
[0102] 进一步的,为了防止抖动缓存模块中存储的数据逸出,在所述抖动缓存模块存储一半时开始读出数据操作,即从接收第一帧数据包开始后156ms开始读出数据操作。
[0103] 优选的,写基准时钟产生模块24产生81.92MHz的基准时钟,其由327.68MHz基准脉冲分频生成,读恢复时钟产生模块25产生81.9281.92MHz的恢复时钟,其由2.048MHz恢复时钟倍频生成。
[0104] 进一步的,所述读出控制模块还连接有数据包计数模块26,所述数据包计数模块25用于记录收到的正常包、重复包、延时包、丢包的数量。
[0105] 实施例2:本实施例同时提供一种恢复精度高、恢复所需时间短的基于TDM的网络时钟恢复方法,如图5所示,包含以下步骤:包含步骤S100:将待传送网络数据按照指定帧数进行封装。
[0106] 包含步骤S200:将接收到的网络数据中控制字部分分出,并计算、调整恢复时钟。
[0107] 包含步骤S300:将接收到的网络数据进行排序、丢包处理。
[0108] 包含步骤S400:将所述经过排序、丢包处理的网络数据和计算调整出的恢复时钟频率进行并串处理,从而实现所述网络数据时钟恢复的步骤。
[0109] 进一步的,如图6所示,所述从控制字部分提取时序序列号依照当前恢复时钟进行计数的步骤S200中:包含步骤S210:在单个计算周期内,按照指定采样周期tsam针对控制字部分进行采样,并根据采样结果进行时钟计数;所述单个计算周期内包含有1个以上的采样周期tsam;如本实施例中,采样周期tsam=4ms,计算周期根据需要设定为4096ms、16384ms、32768ms、65536ms、131072ms;实际应用中,计算周期越长,计算精度越高、误差越小,但在时钟恢复领域,花费总时间越少,说明时钟恢复效率越高,所以应在保证恢复精度高和误差小的前提下,应追求最短的总花费时间。
[0110] 包含步骤S220:计算单个计算周期内平均时钟计数,所述计算周期内平均时钟计数Sn=计算周期内时钟计数累加值/计算周期内采样次数。
[0111] 包含步骤S230:将当前计算周期内平均时钟计数Sn与上个计算周期内平均时钟计数Sn-1进行比较。
[0112] 包含步骤S240将下个计算周期平均分为N个调整段的步骤,N为1以上的自然数,本实施例中,N取值为4、8、16、32,即每个计算周期均分为4个、8个、16个或32个调整段,使得脉冲的增加或减少更加均匀,从而减少脉冲抖动现象。
[0113] 包含步骤S250:根据比较结果对下个计算周期内当前恢复时钟每个调整段包含的基准脉冲数进行增减调整的步骤,每次增加或者减少的脉冲数量均为额定脉冲数量IMPnum; IMPnum为根据需要预设的1以上的自然数。如本实施例中IMPnum的取值可为2048、1024、512、256、128、64、32、16、8、4、2、1。
[0114] 本实施例中,时钟恢复脉冲由327.68MHz基准脉冲经过160分频产生,用以恢复网络数据2.048MHz时钟频率;步骤S350中,根据计算周期取值的不同(可为4096ms、16384ms、32768ms、65536ms、131072ms),将额定脉冲数量IMPnum个基准脉冲脉冲增加或减少到下一计算周期的各个调整段中。
[0115] 进一步的,如图7所示,步骤S210中,包含步骤S211:在采样开始前设定时钟计数初始值。
[0116] 包含步骤S212:依照当前系统提供的时钟频率,按照指定采样周期tsam对接收到的网络数据进行采样。
[0117] 包含步骤S213:根据采样结果,对时钟计数初始值进行增或减,从而实现计数。
[0118] 包含步骤S214:在采样周期结束后将所述时钟计数值累加保存。
[0119] 包含步骤S215:记录采样次数并重置时钟计数初始值。
[0120] 进一步的,步骤S210中,采用对时钟计数初始值递减的方式实现计数,所述时钟计数初始值>采样周期tsam内理论传输数据值*(计算周期/采样周期tsam);所述计算周期为根据需要设定的采样周期tsam的整数倍,本实施例中,采样周期为tsam=4ms,计算周期根据需要设定为4096ms、16384ms、32768ms、65536ms、131072ms;当采用2.048MHz时钟发送数据时,4ms内理论传输数据值应为8192bit由于本发明采用设定初始值后递减方式实现计数,并保存采样周期后的计数剩余值,这种情况下,如初始值设置过小,则可能造成初始值不够用,反之,如初始值过大,则可能造成计数剩余值累加值溢出,因此应根据需要设定初始值,本实施例中,所述时钟计数初始值设定为100000000000000000000000(二进制)。
[0121] 进一步的,步骤S210中,采样周期tsam结束后,重置时钟计数初始值的步骤中,包含将本采样周期时钟计数剩余值与上一采样周期时钟计数剩余值进行比较的步骤;如|本采样周期时钟计数剩余值-上一采样周期时钟计数剩余值|>采样周期tsam内理论传输数据值,则,下一采样周期时钟计数初始值设定为ceil(|本采样周期时钟计数剩余值-上一采样周期时钟计数剩余值|/采样周期tsam内理论传输数据值)*采样周期tsam内理论传输数据值+本采样周期时钟计数剩余值;否则下一采样周期时钟计数初始值设定为本采样周期时钟计数剩余值+采样周期tsam内理论传输数据值。当采用2.048MHz时钟发送数据时,4ms内理论传输数据值应为8192bit,即如|本采样周期时钟计数剩余值-上一采样周期时钟计数剩余值|>8192,则,下一采样周期时钟计数初始值设定为ceil(|本采样周期时钟计数剩余值-上一采样周期时钟计数剩余值|/8192)*8192+本采样周期时钟计数剩余值;否则下一采样周期时钟计数初始值设定为本采样周期时钟计数剩余值+8192。其中ceil()为上取整函数(其返回大于或者等于指定表达式的最小整数)。
[0122] 进一步的,步骤S210中,单一采样周期结束后,还包括判断所述计算周期是否结束的步骤:如所述计算周期没有结束,则进入下一采样周期。
[0123] 如所述计算周期结束,则计算本计算周期内平均时钟计数Sn;计算公式为:所述计算周期内平均时钟计数Sn=本计算周期内时钟计数累加值/本计算周期内采样次数;时钟计数累加值清零,采样次数清零。
[0124] 进一步的,步骤S210中,在单一计算周期结束后,还包括将本计算周期平均时钟计数Sn与上一计算周期平均时钟计数Sn-1进行比较的步骤。
[0125] 如Sn> Sn-1,则发出调快时钟频率指令;否则发出调慢时钟频率指令。
[0126] 进一步的,步骤S210中,在单一计算周期结束后,还包括将本计算周期平均时钟计数Sn与上一计算周期平均时钟计数Sn-1进行比较的步骤:如|Sn- Sn-1 | >收敛失败标识值Fail,则发出本次时钟恢复失败的信号;所述收敛失败标识值Fail为根据需要设定的大于1的自然数,如本实施例中收敛失败标识值Fail可为1024或2048或4096。
[0127] 进一步的,步骤250中,如Sn> Sn-1, 则下个计算周期内当前恢复时钟每个调整段的基准脉冲数减少IMPnum个(IMPnum根据阶段需要可设定为2048、1024、512、256、128、64、32、16、8、4、2、1),否则所述下个计算周期内当前恢复时钟每个调整段的基准脉冲数增加IMPnum个;本实施例中,所述基准脉冲为327.68MHz基准脉冲,并通过160分频以恢复2.048MHz时钟频率;即所述增、减IMPnum个时钟脉冲的操作均针对327.68MHz基准脉冲进行。
[0128] 进一步的,步骤250中,每次增加的IMPnum个脉冲为离散的插入到原脉冲序列中;或,每次减少的IMPnum个脉冲为离散的从原脉冲序列中去除,这样可以进一步的减少因脉冲增加或减少而造成的抖动现象。
[0129] 进一步的,如图8所示,所述计算、调整时钟频率的步骤S200中,所述网络时钟恢复方法按照时间先后和时钟收敛速度分为快速收敛阶段、慢速收敛阶段和锁定收敛阶段三个阶段。
[0130] 所述快速收敛阶段、慢速收敛阶段、锁定收敛阶段均包含有一个以上的计算周期。
[0131] 本实施例中,所述快速收敛阶段包含STEP0、STEP1、STEP2、STEP3、STEP4、STEP5六个STEP段;每个STEP段均包含有1个以上的计算周期。
[0132] 慢速收敛阶段包含STEP6、STEP7、STEP8、STEP9、STEP10五个STEP段;每个STEP段均包含有1个以上的计算周期。
[0133] 锁定收敛阶段包含STEP11一个STEP段(STEP0至STEP11按时间先后依次进行,图8中未显出各STEP段,仅显示包含各STEP段的快速收敛阶段、慢速收敛阶段、锁定收敛阶段三个收敛阶段)。
[0134] 其中,所述快速收敛阶段的计算周期小于所述慢速收敛阶段的计算周期,所述慢速收敛阶段的计算周期小于所述锁定收敛阶段的计算周期。
[0135] 所述离散补偿调整方法还包含根据预设条件判断是否进入下一收敛阶段或下一STEP段的步骤。
[0136] 如,本实施例中,所述预设条件为本阶段中增加时钟脉冲次数的计算周期数>1,同时,减少时钟脉冲次数的计算周期数>1;如满足所述预设条件,则进入下一收敛阶段或下一STEP段,需要指出的是,在进入下一收敛阶段或下一STEP段或下一计算周期时,基准脉冲产生的恢复时钟脉冲均为上一计算周期调整过的当前恢复时钟脉冲,而非原始未经调整的恢复时钟脉冲。
[0137] 进一步的,所述额定脉冲数量IMPnum随着所述计算周期的延长而不断减小;其中,所述锁定收敛阶段的计算周期中,所述额定脉冲数量IMPnum为1。
[0138] 各个收敛阶段中各个STEP段计算周期、调整周期、调整段、额定脉冲数量IMPnum的对照表如表1:
[0139] 表1
[0140]
[0141] 即,在快速收敛阶段,拥有更短的计算周期,更大的额定脉冲数量IMPnu(m IMPnum表示系统产生的时钟脉冲向目标时钟脉冲收敛的快慢,IMPnum越大,单计算周期内系统产生的时钟脉冲向目标时钟脉冲收敛的速度越快,但精度越差,相反,IMPnum越小,单计算周期内系统产生的时钟脉冲向目标时钟脉冲收敛的速度越慢,但精度越高);在慢速收敛阶段拥有较长的计算周期和较小的额定脉冲数量IMPnum;在锁定收敛阶段拥有最长的计算周期和最小的额定脉冲数量IMPnum;本实施例采用先快速收敛后慢速收敛,同时不断缩小收敛速度,提高收敛精度的方式实现总体计算时间少、但收敛精度高的时钟恢复方式。
[0142] 进一步的,任意收敛阶段中或任意STEP段中,Sn与Sn-1进行比较时,如果|Sn- Sn-1 | >收敛失败标识值Fail,则本次时钟恢复终止,返回快速收敛阶段初始状态,重新开始进行时钟恢复计算;所述收敛失败标识值Fail为根据需要设定的大于1的自然数;如本实施例中收敛失败标识值Fail可为1024或2048或4096,一旦|Sn- Sn-1 | 大于设定的收敛失败标识值Fail,则表示在相当长的时间内,不可能通过当前的收敛速度(即通过向当前基准脉冲产生的时钟恢复脉冲增加或减少当前IMPnum个脉冲,从而向目标时钟恢复脉冲靠近的速度)达到目的;如在STEP8段时,IMPnum=8,当|Sn- Sn-1 |>1024或2048或4096时,在至少128个计算周期内,不能实现收敛目的,因此应判定此次时钟恢复失败。
[0143] 进一步的,所述将接收到的网络数据进行排序、丢包处理的步骤S300中包含如图10所述的如下写入数据步骤:
[0144] 步骤S311:系统上电,抖动缓存模块清零。
[0145] 步骤S312:根据接收到的第一个数据包的序列号SEQ值初始化序列号存储模块以及读指针;即,将该序列号SEQ写入序列号存储模块的第一位置,并根据所述序列号存储模块的容量,以该序列号SEQ为起始值将所述序列号存储模块向后填满;将第一数据包净荷数据写入数据存储模块对应位置,对应写读标志设为已写标志。
[0146] 步骤S313:接收新数据,遍历所述序列号存储模块,查找是否含有新接收数据序列号SEQ,如有,进入步骤S315,否则,进入步骤S314。
[0147] 步骤S314:该数据包为无效包,无效包计数加1,该无效包丢弃,返回步骤S313。
[0148] 步骤S315:判断与该序列号SEQ对应的写读标志是否为已写标志,如是,进入步骤S316;如否,进入步骤S317。
[0149] 步骤S316:该数据包为重复包,重复包计数加1;返回步骤S313。
[0150] 步骤S317:在数据存储模块中该序列号对应位置写入净荷数据,将与该序列号对应的写读标志设为已写标志;返回步骤S313。
[0151] 进一步的,所述步骤300中还包括如图11所述的如下读出数据步骤:
[0152] 步骤S321:从所述读指针指向的序列号SEQ开始顺序读取数。
[0153] 步骤S322:判断读指针指向的序列号SEQ对应的写读标志是否为已写标志,如是,进入步骤S323;如否进入步骤S324.
[0154] 步骤S323:从数据存储模块对应位置读出净荷数据;将对应写读标志清零;数据存储模块对应位置清零;正常包计数加1,进入步骤S327。
[0155] 步骤S324:判断写读标志存储模块是否为延时标志,如是进入步骤S325;如不是进入步骤S326。
[0156] 步骤S325:将该序列号SEQ对应的数据以补空包方式读出;丢包计数加1,进入步骤S327。
[0157] 步骤S326:将对应读写标志设置延时标志;将该序列号SEQ对应的数据以补空包方式读出;延时包计数加1,进入步骤S327。
[0158] 步骤S327:将序列存储模块中该SEQ值加所述序列号存储模块容量值后重新覆盖该位置,读写指针加1并返回步骤S322。
[0159] 进一步的,所述步骤S300中,所述已写标志为0X1232,所述延时标志为0X5678。
[0160] 进一步的,所述步骤S300中,所述写入数据步骤在81.92MHz基准时钟下工作,其由327.68MHz基准脉冲分频生成;所述读出数据步骤在81.92MHz恢复时钟下工作,其由
2.048MHz恢复时钟倍频生成。
[0161] 本实施例中,抖动缓存模块按512ms计算,当传输2.048MHz网络数据按1帧封装时(1帧时长为125 us),则所述抖动缓存模块的深度=512*1000/125=4096,即所述抖动缓存模块可同时缓存4096帧数据。
[0162] 进一步的,为了防止抖动缓存模块中存储的数据逸出,在所述抖动缓存模块存储一半时开始读出数据操作,即从接收第一帧数据包开始后156ms开始读出数据操作。
[0163] 进一步的,所述步骤S300中,以补空包方式读出是指将数据设置为0读出,即将该数据包对应数据位设置为0x0000,并将该数据按照数据位大小补充到读出序列中,以避免读出数据出现时延。
[0164] 实施例3:本实施例同时提供一种恢复精度高、恢复所需时间短的基于TDM的网络时钟恢复方法,如图5所示,包含以下步骤:包含步骤S100:将待传送网络数据按照指定帧数进行封装。
[0165] 包含步骤S200:将接收到的网络数据中控制字部分分出,并计算、调整恢复时钟。
[0166] 包含步骤S300:将接收到的网络数据进行排序、丢包处理。
[0167] 包含步骤S400:将所述经过排序、丢包处理的网络数据和计算调整出的恢复时钟频率进行并串处理,从而实现所述网络数据时钟恢复的步骤。
[0168] 进一步的,如图6所示,所述从控制字部分提取时序序列号依照当前恢复时钟进行计数的步骤S200中:包含步骤S210:在单个计算周期内,按照指定采样周期tsam针对控制字部分进行采样,并根据采样结果进行时钟计数;所述单个计算周期内包含有1个以上的采样周期tsam;如本实施例中,采样周期tsam=4ms,计算周期根据需要设定为4096ms、16384ms、32768ms、65536ms、131072ms;实际应用中,计算周期越长,计算精度越高、误差越小,但在时钟恢复领域,花费总时间越少,说明时钟恢复效率越高,所以应在保证恢复精度高和误差小的前提下,应追求最短的总花费时间。
[0169] 包含步骤S220:计算单个计算周期内平均时钟计数,所述计算周期内平均时钟计数Sn=计算周期内时钟计数累加值/计算周期内采样次数。
[0170] 包含步骤S230:将当前计算周期内平均时钟计数Sn与上个计算周期内平均时钟计数Sn-1进行比较。
[0171] 包含步骤S240将下个计算周期平均分为N个调整段的步骤,N为1以上的自然数,本实施例中,N取值为4、8、16、32,即每个计算周期均分为4个、8个、16个或32个调整段,使得脉冲的增加或减少更加均匀,从而减少脉冲抖动现象。
[0172] 包含步骤S250:根据比较结果对下个计算周期内当前恢复时钟每个调整段包含的基准脉冲数进行增减调整的步骤,每次增加或者减少的脉冲数量均为额定脉冲数量IMPnum; IMPnum为根据需要预设的1以上的自然数。如本实施例中IMPnum的取值可为2048、1024、512、256、128、64、32、16、8、4、2、1。
[0173] 本实施例中,时钟恢复脉冲由327.68MHz基准脉冲经过160分频产生,用以恢复网络数据2.048MHz时钟频率;步骤S350中,根据计算周期取值的不同(可为4096ms、16384ms、32768ms、65536ms、131072ms),将额定脉冲数量IMPnum个基准脉冲脉冲增加或减少到下一计算周期的各个调整段中。
[0174] 进一步的,如图7所示,步骤S210中,包含步骤S211:在采样开始前设定时钟计数初始值。
[0175] 包含步骤S212:依照当前系统提供的恢复时钟频率,按照指定采样周期tsam对接收到的网络数据进行采样。
[0176] 包含步骤S213:根据采样结果,对时钟计数初始值进行增或减,从而实现计数。
[0177] 包含步骤S214:在采样周期结束后将所述时钟计数值累加保存。
[0178] 包含步骤S215:记录采样次数并重置时钟计数初始值。
[0179] 进一步的,步骤S210中,采用对时钟计数初始值递减的方式实现计数,所述时钟计数初始值>采样周期tsam内理论传输数据值*(计算周期/采样周期tsam);所述计算周期为根据需要设定的采样周期tsam的整数倍,本实施例中,采样周期为tsam=4ms,计算周期根据需要设定为4096ms、16384ms、32768ms、65536ms、131072ms;当采用2.048MHz时钟发送数据时,4ms内理论传输数据值应为8192bit,由于本发明采用设定初始值后递减方式实现计数,并保存采样周期后的计数剩余值,这种情况下,如初始值设置过小,则可能造成初始值不够用,反之,如初始值过大,则可能造成计数剩余值累加值溢出,因此应根据需要设定初始值,本实施例中,所述时钟计数初始值设定为100000000000000000000000(二进制)。
[0180] 进一步的,步骤S210中,采样周期tsam结束后,将所述时钟计数初始值恢复为原始初始值100000000000000000000000(二进制)。
[0181] 进一步的,步骤S210中,单一采样周期结束后,还包括判断所述计算周期是否结束的步骤:如所述计算周期没有结束,则进入下一采样周期。
[0182] 如所述计算周期结束,则计算本计算周期内平均时钟计数Sn;计算公式为:所述计算周期内平均时钟计数Sn=本计算周期内时钟计数累加值/本计算周期内采样次数;时钟计数累加值清零,采样次数清零。
[0183] 进一步的,步骤S210中,在单一计算周期结束后,还包括将本计算周期平均时钟计数Sn与上一计算周期平均时钟计数Sn-1进行比较的步骤。
[0184] 如Sn> Sn-1,则发出调快时钟频率指令,即下个计算周期内的当前恢复时钟每个调整段的基准脉冲减少IMPnum个;否则发出调慢时钟频率指令,即下个计算周期内的当前恢复时钟每个调整段的基准脉冲增加IMPnum个。
[0185] 进一步的,步骤S210中,在单一计算周期结束后,还包括将本计算周期平均时钟计数Sn与上一计算周期平均时钟计数Sn-1进行比较的步骤:如|Sn- Sn-1 | >收敛失败标识值Fail,则发出本次时钟恢复失败的信号;所述收敛失败标识值Fail为根据需要设定的大于1的自然数,如本实施例中收敛失败标识值Fail可为1024或2048或4096。
[0186] 进一步的,步骤250中,如Sn> Sn-1, 则下个计算周期内当前恢复时钟每个调整段的基准脉冲数减少IMPnum个(IMPnum根据阶段需要可设定为2048、1024、512、256、128、64、32、16、8、4、2、1),否则所述下个计算周期内当前恢复时钟每个调整段的基准脉冲数增加IMPnum个;本实施例中,所述基准脉冲为327.68MHz基准脉冲,并通过160分频以恢复2.048MHz时钟频率;即所述增、减IMPnum个时钟脉冲的操作均针对327.68MHz基准脉冲进行。
[0187] 进一步的,步骤250中,每次增加的IMPnum个脉冲为离散的插入到原脉冲序列中;或,每次减少的IMPnum个脉冲为离散的从原脉冲序列中去除,这样可以进一步的减少因脉冲增加或减少而造成的抖动现象。
[0188] 进一步的,如图8所示,所述计算、调整时钟频率的步骤S200中,所述网络时钟恢复方法按照时间先后和时钟收敛速度分为快速收敛阶段、慢速收敛阶段和锁定收敛阶段三个阶段。
[0189] 所述快速收敛阶段、慢速收敛阶段、锁定收敛阶段均包含有一个以上的计算周期。
[0190] 其中,所述快速收敛阶段的计算周期小于所述慢速收敛阶段的计算周期,所述慢速收敛阶段的计算周期小于所述锁定收敛阶段的计算周期。
[0191] 所述离散补偿调整方法还包含根据预设条件判断是否进入下一收敛阶段的步骤。
[0192] 如,本实施例中,所述预设条件为本阶段中增加时钟脉冲次数的计算周期数>1,同时,减少时钟脉冲次数的计算周期数>1;如满足所述预设条件,则进入下一收敛阶段,需要指出的是,在进入下一收敛阶段或下一计算周期时,基准脉冲产生的恢复时钟脉冲均为上一计算周期调整过的当前恢复时钟脉冲,而非原始未经调整的恢复时钟脉冲。
[0193] 进一步的,所述额定脉冲数量IMPnum随着所述计算周期的延长而不断减小;其中,所述锁定收敛阶段的计算周期中,所述额定脉冲数量IMPnum为1。
[0194] 各个收敛阶段中各个STEP段计算周期、调整周期、调整段、额定脉冲数量IMPnum的对照表如表1:
[0195] 表1
[0196]
[0197] 即,在快速收敛阶段,拥有更短的计算周期,更大的额定脉冲数量IMPnu(m IMPnum表示系统产生的时钟脉冲向目标时钟脉冲收敛的快慢,IMPnum越大,单计算周期内系统产生的时钟脉冲向目标时钟脉冲收敛的速度越快,但精度越差,相反,IMPnum越小,单计算周期内系统产生的时钟脉冲向目标时钟脉冲收敛的速度越慢,但精度越高);在慢速收敛阶段拥有较长的计算周期和较小的额定脉冲数量IMPnum;在锁定收敛阶段拥有最长的计算周期和最小的额定脉冲数量IMPnum;本实施例采用先快速收敛后慢速收敛,同时不断缩小收敛速度,提高收敛精度的方式实现总体计算时间少、但收敛精度高的时钟恢复方式。
[0198] 如图9所示,在步骤S200中的快速收敛阶段中,Sn与Sn-1进行比较时,如果|Sn- Sn-1 | >本阶段最大额定脉冲数量IMPnum*m,则本次时钟恢复终止,返回快速收敛阶段初始状态,重新开始进行时钟恢复计算。
[0199] 在慢速收敛阶段或锁定收敛阶段中,Sn与Sn-1进行比较时,如果|Sn- Sn-1 | >本阶段最大额定脉冲数量IMPnum*m,则本阶段时钟恢复终止,返回上一阶段初始状态,重新开始进行时钟恢复计算。
[0200] 其中,m为根据需要设定的大于2的自然数,本实施例中m为50,则在快速收敛阶段中,如果|Sn- Sn-1 | >2048*100=102400,则本次时钟恢复终止,返回快速收敛阶段初始状态,重新开始进行时钟恢复计算。
[0201] 在慢速收敛阶段中,如|Sn- Sn-1 | >32*50=1600,则本次时钟恢复终止,返回快速收敛阶段初始状态,重新开始进行时钟恢复计算。
[0202] 锁定收敛阶段中,如|Sn- Sn-1 | >1*50=50,则本次时钟恢复返回慢速收敛阶段初始状态,重新开始进行时钟恢复计算。
[0203] 一旦|Sn- Sn-1 | 大于设定的收敛失败标识值Fail,则表示在相当长的时间内,不可能通过当前的收敛速度(即通过向当前基准脉冲产生的时钟恢复脉冲增加或减少当前IMPnum个脉冲,从而向目标时钟恢复脉冲靠近的速度)达到目的;如在STEP8段时,IMPnum=8,当|Sn- Sn-1 |>1600时,在至少200个计算周期内,不能实现收敛目的,因此应判定此次时钟恢复失败。进一步的,所述将接收到的网络数据进行排序、丢包处理的步骤S300中包含如图10所述的如下写入数据步骤:
[0204] 步骤S311:系统上电,抖动缓存模块清零。
[0205] 步骤S312:根据接收到的第一个数据包的序列号SEQ值初始化序列号存储模块以及读指针;即,将该序列号SEQ写入序列号存储模块的第一位置,并根据所述序列号存储模块的容量,以该序列号SEQ为起始值将所述序列号存储模块向后填满;将第一数据包净荷数据写入数据存储模块对应位置,对应写读标志设为已写标志。
[0206] 步骤S313:接收新数据,遍历所述序列号存储模块,查找是否含有新接收数据序列号SEQ,如有,进入步骤S315,否则,进入步骤S314。
[0207] 步骤S314:该数据包为无效包,无效包计数加1,该无效包丢弃,返回步骤S313。
[0208] 步骤S315:判断与该序列号SEQ对应的写读标志是否为已写标志,如是,进入步骤S316;如否,进入步骤S317。
[0209] 步骤S316:该数据包为重复包,重复包计数加1;返回步骤S313。
[0210] 步骤S317:在数据存储模块中该序列号对应位置写入净荷数据,将与该序列号对应的写读标志设为已写标志;返回步骤S313。
[0211] 进一步的,所述步骤300中还包括如图11所述的如下读出数据步骤:
[0212] 步骤S321:从所述读指针指向的序列号SEQ开始顺序读取数。
[0213] 步骤S322:判断读指针指向的序列号SEQ对应的写读标志是否为已写标志,如是,进入步骤S323;如否进入步骤S324。
[0214] 步骤S323:从数据存储模块对应位置读出净荷数据;将对应写读标志清零;数据存储模块对应位置清零;正常包计数加1,进入步骤S327。
[0215] 步骤S324:判断写读标志存储模块是否为延时标志,如是进入步骤S325;如不是进入步骤S326。
[0216] 步骤S325:将该序列号SEQ对应的数据以补空包方式读出;丢包计数加1,进入步骤S327。
[0217] 步骤S326:将对应读写标志设置延时标志;将该序列号SEQ对应的数据以补空包方式读出;延时包计数加1,进入步骤S327。
[0218] 步骤S327:将序列存储模块中该SEQ值加所述序列号存储模块容量值后重新覆盖该位置,读写指针加1并返回步骤S322。
[0219] 进一步的,所述步骤S300中,所述已写标志为0X1232,所述延时标志为0X5678。
[0220] 进一步的,所述步骤S300中,所述写入数据步骤在81.92MHz基准时钟下工作,其由327.68MHz基准脉冲分频生成;所述读出数据步骤在81.92MHz恢复时钟下工作,其由
2.048MHz恢复时钟倍频生成。
[0221] 本实施例中,抖动缓存模块按512ms计算,当传输2.048MHz网络数据按1帧封装时(1帧时长为125 us),则所述抖动缓存模块的深度=512*1000/125=4096,即所述抖动缓存模块可同时缓存4096帧数据。
[0222] 进一步的,为了防止抖动缓存模块中存储的数据逸出,在所述抖动缓存模块存储一半时开始读出数据操作,即从接收第一帧数据包开始后156ms开始读出数据操作。
[0223] 进一步的,所述步骤S300中,以补空包方式读出是指将数据设置为0读出,即将该数据包对应数据位设置为0x0000,并将该数据按照数据位大小补充到读出序列中,以避免读出数据出现时延。