CN114362910B - 以太网时钟的调整方法及装置 - Google Patents
以太网时钟的调整方法及装置 Download PDFInfo
- Publication number
- CN114362910B CN114362910B CN202111554774.5A CN202111554774A CN114362910B CN 114362910 B CN114362910 B CN 114362910B CN 202111554774 A CN202111554774 A CN 202111554774A CN 114362910 B CN114362910 B CN 114362910B
- Authority
- CN
- China
- Prior art keywords
- data
- cache
- target
- current
- target operation
- 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
- 238000000034 method Methods 0.000 title claims abstract description 59
- 238000012544 monitoring process Methods 0.000 claims abstract description 55
- 238000012545 processing Methods 0.000 claims abstract description 26
- 238000013500 data storage Methods 0.000 claims description 25
- 239000013078 crystal Substances 0.000 claims description 16
- 238000004891 communication Methods 0.000 claims description 9
- 238000003780 insertion Methods 0.000 claims description 6
- 230000037431 insertion Effects 0.000 claims description 6
- 230000009286 beneficial effect Effects 0.000 description 10
- 101100283411 Arabidopsis thaliana GMII gene Proteins 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 238000012217 deletion Methods 0.000 description 4
- 230000037430 deletion Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 4
- 230000001360 synchronised effect Effects 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004886 process control Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000026676 system process Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Landscapes
- Synchronisation In Digital Transmission Systems (AREA)
- Communication Control (AREA)
Abstract
本发明公开了一种以太网时钟的调整方法及装置,该方法包括:确定需要对缓存执行的目标操作,在执行目标操作的过程中监测缓存中所存放数据的数据量是否满足与目标操作相匹配的数据量条件;当监测到数据量满足与目标操作相匹配的数据量条件时,判断目标操作所操作的目标数据对应的周期是否满足预先确定出的周期条件;当判断出目标数据对应的周期满足周期条件时,对目标操作所操作的目标数据执行空闲周期插入操作或空闲周期删除操作。可见,本发明能够在实现以太网MAC层接收时钟和发送时钟同频的同时,简化时钟网络,降低数据处理复杂度,且适用于不同的以太网协议。
Description
技术领域
本发明涉及以太网通信技术领域,尤其涉及一种以太网时钟的调整方法及装置。
背景技术
在以太网通信中,发送时钟与本地晶振同频、接收时钟与对端设备同频,也即:每个以太网设备的MAC层均存在两个独立的时钟在运行。由于不同的以太网设备所使用的晶振存在±100ppm的频偏,因此,不同的以太网设备之间的本地时钟存在最大200ppm的频偏,这会导致以太网MAC层发送时钟和接收时钟不同频的情况。由于以太网数据以包为最小传输单位,这就导致系统在处理以太网数据时会先使用大量资源将所有以太网数据进行缓存并统一到系统时钟下,而后再对以太网数据进行处理,这样做既会造成资源浪费,又会导致数据时延。
为了解决当前时钟同步所存在的上述问题,IEEE标准在1000BASE-X协议中规定:可以在两端设备自协商完成后,插入或删除/I2/字符来达到将接收数据统一到发送时钟的目的。然而,在正常进行数据收发之前,会存在一段自协商过程,该自协商过程仅仅接收和发送/C/字符,无法插入和删除/I2/字符,且这种方法仅仅适用于1000BASE-X标准,无法适用于其它以太网协议。因此,提供一种新的以太网时钟调整方法显得尤为重要。
发明内容
本发明提供了一种以太网时钟的调整方法及装置,能够在实现以太网MAC层接收时钟和发送时钟同频的同时,简化时钟网络,降低数据处理复杂度,且适用性强。
本发明第一方面公开了一种以太网时钟的调整方法,所述方法包括:
确定需要对预先确定出的缓存执行的目标操作,在执行所述目标操作的过程中,监测所述缓存中所存放数据的第一当前数据量是否满足与所述目标操作相匹配的数据量条件,所述缓存用于暂存以太网数据;
当监测出所述第一当前数据量满足与所述目标操作相匹配的数据量条件时,判断所述目标操作所操作的目标数据对应的周期是否满足预先确定出的周期条件;当判断出所述目标数据对应的周期满足所述周期条件时,对所述目标数据执行空闲周期调整操作;
其中,当所述目标操作为读数据操作时,所述目标操作对应的时钟为发送时钟,且所述空闲周期调整操作包括空闲周期插入操作;当所述目标操作为写数据操作时,所述目标操作对应的时钟为接收时钟,且所述空闲周期调整操作为空闲周期删除操作。
作为一种可选的实施方式,在执行所述目标操作的过程中,所述监测所述缓存中所存放数据的第一当前数据量是否满足与所述目标操作相匹配的数据量条件之前,所述方法还包括:
确定所述缓存对应的当前读指针以及当前写指针,并根据所述当前读指针以及所述当前写指针确定所述缓存中所存放数据的第一当前数据量;
其中,所述根据所述当前读指针以及所述当前写指针确定所述缓存中所存放数据的第一当前数据量,包括:
将所述当前写指针转换至读时钟域,得到第一格雷码,以及将所述当前读指针转换至写时钟域,得到第二格雷码;
根据所述第一格雷码以及所述第二格雷码计算所述缓存中所存放数据的第一当前数据量。
作为一种可选的实施方式,在本发明第一方面中,所述判断所述目标操作所操作的目标数据对应的周期是否满足预先确定出的周期条件,包括:
判断所述目标操作所操作的目标数据对应的周期是否为空闲周期,当判断出所述目标数据对应的周期为空闲周期时,确定所述目标数据对应的周期满足预先确定出的周期条件。
作为一种可选的实施方式,在本发明第一方面中,所述监测所述缓存中所存放数据的第一当前数据量是否满足与所述目标操作相匹配的数据量条件,包括:
当所述目标操作为所述读数据操作时,监测所述缓存中所存放数据的第一当前数据量是否小于等于预先确定出的最小数据量阈值,当判断出所述第一当前数据量小于等于所述最小数据量阈值时,确定所述第一当前数据量满足与所述目标操作相匹配的数据量条件;
当所述目标操作为所述写数据操作时,监测所述缓存中所存放数据的第一当前数据量是否大于等于预先确定出的最大数据量阈值,当判断出所述第一当前数据量大于等于所述最大数据量阈值时,确定所述第一当前数据量满足与所述目标操作相匹配的数据量条件;
其中,所述最大数据量阈值大于所述最小数据量阈值,且所述最大数据量阈值小于所述缓存的最大数据存储量。
作为一种可选的实施方式,在本发明第一方面中,所述对所述目标数据执行空闲周期调整操作之后,所述方法还包括:
暂停执行所述目标操作;
监测在暂停执行所述目标操作之后所述缓存中所存放数据的第二当前数据量是否满足所述数据量条件,当监测出所述第二当前数据量不满足所述数据量条件时,继续执行所述目标操作。
作为一种可选的实施方式,在本发明第一方面中,所述判断所述目标操作所操作的目标数据对应的周期是否为空闲周期,包括:
根据所述目标操作所操作的目标数据对应的数据有效标识以及数据错误标识,判断所述目标数据对应的周期是否为空闲周期。
作为一种可选的实施方式,在本发明第一方面中,所述缓存的最大数据存储量、所述最小数据量阈值以及所述最大数据量阈值是根据进行以太网数据通信的两个以太网设备的本地晶振之间的频偏确定出的;
其中,两个所述以太网设备的本地晶振之间的频偏越大,所述缓存的最大数据存储量越大、所述最小数据量阈值越大且所述缓存的最大数据存储量与所述最大数据量阈值的差值越大。
本发明实施例第二方面公开了一种以太网时钟的调整装置,所述装置包括:
操作确定模块,用于确定需要对预先确定出的缓存执行的目标操作,所述缓存用于暂存以太网数据;
数据处理模块,用于对所述缓存执行所述目标操作;
数据监测模块,用于在所述数据处理模块对所述缓存执行所述目标操作的过程中,监测所述缓存中所存放数据的第一当前数据量是否满足与所述目标操作相匹配的数据量条件;
周期判断模块,用于当所述数据监测模块监测出所述第一当前数据量满足与所述目标操作相匹配的数据量条件时,判断所述目标操作所操作的目标数据对应的周期是否满足预先确定出的周期条件;
周期调整模块,用于当所述周期判断模块判断出所述目标数据对应的周期满足所述周期条件时,对所述目标数据执行空闲周期调整操作;
其中,当所述目标操作为读数据操作时,所述目标操作对应的时钟为发送时钟,且所述空闲周期调整操作包括空闲周期插入操作;当所述目标操作为写数据操作时,所述目标操作对应的时钟为接收时钟,且所述空闲周期调整操作为空闲周期删除操作。
作为一种可选的实施方式,在本发明第二方面中,所述数据监测模块,还用于在所述数据处理模块对所述缓存执行所述目标操作的过程中,确定所述缓存对应的当前读指针以及当前写指针,并根据所述当前读指针以及所述当前写指针确定所述缓存中所存放数据的第一当前数据量;
其中,所述数据监测模块根据所述当前读指针以及所述当前写指针确定所述缓存中所存放数据的第一当前数据量的具体方式包括:
将所述当前写指针转换至读时钟域,得到第一格雷码,以及将所述当前读指针转换至写时钟域,得到第二格雷码;
根据所述第一格雷码以及所述第二格雷码计算所述缓存中所存放数据的第一当前数据量。
作为一种可选的实施方式,在本发明第二方面中,所述周期判断模块,具体用于:
当所述数据监测模块监测出所述第一当前数据量满足与所述目标操作相匹配的数据量条件时,判断所述目标操作所操作的目标数据对应的周期是否为空闲周期,当判断出所述目标数据对应的周期为空闲周期时,确定所述目标数据对应的周期满足预先确定出的周期条件。
作为一种可选的实施方式,在本发明第二方面中,所述数据监测模块监测所述缓存中所存放数据的第一当前数据量是否满足与所述目标操作相匹配的数据量条件的具体方式包括:
当所述目标操作为所述读数据操作时,监测所述缓存中所存放数据的第一当前数据量是否小于等于预先确定出的最小数据量阈值,当判断出所述第一当前数据量小于等于所述最小数据量阈值时,确定所述第一当前数据量满足与所述目标操作相匹配的数据量条件;
当所述目标操作为所述写数据操作时,监测所述缓存中所存放数据的第一当前数据量是否大于等于预先确定出的最大数据量阈值,当判断出所述第一当前数据量大于等于所述最大数据量阈值时,确定所述第一当前数据量满足与所述目标操作相匹配的数据量条件;
其中,所述最大数据量阈值大于所述最小数据量阈值,且所述最大数据量阈值小于所述缓存的最大数据存储量。
作为一种可选的实施方式,在本发明第二方面中,所述装置还包括:
处理控制模块,用于在所述周期调整模块对所述目标数据执行空闲周期调整操作之后,暂停执行所述目标操作;
所述数据监测模块,还用于监测在所述处理控制模块暂停执行所述目标操作之后所述缓存中所存放数据的第二当前数据量是否满足所述数据量条件;
所述处理控制模块,还用于当所述数据监测模块监测出所述第二当前数据量不满足所述数据量条件时,继续执行所述目标操作。
作为一种可选的实施方式,在本发明第二方面中,所述周期判断模块判断所述目标操作所操作的目标数据对应的周期是否为空闲周期的具体方式包括:
根据所述目标操作所操作的目标数据对应的数据有效标识以及数据错误标识,判断所述目标数据对应的周期是否为空闲周期。
作为一种可选的实施方式,在本发明第二方面中,所述缓存的最大数据存储量、所述最小数据量阈值以及所述最大数据量阈值是根据进行以太网数据通信的两个以太网设备的本地晶振之间的频偏确定出的;
其中,两个所述以太网设备的本地晶振之间的频偏越大,所述缓存的最大数据存储量越大、所述最小数据量阈值越大且所述缓存的最大数据存储量与所述最大数据量阈值的差值越大。
本发明第三方面公开另一种以太网时钟的调整装置,所述装置包括:
存储有可执行程序代码的存储器;
与所述存储器耦合的处理器;
所述处理器调用所述存储器中存储的所述可执行程序代码,执行本发明第一方面所描述的任意一种以太网时钟的调整方法中的部分或全部步骤。
本发明第四方面公开了一种计算机存储介质,所述计算机存储介质存储有计算机指令,所述计算机指令被调用时,用于执行本发明第一方面所描述的任意一种以太网时钟的调整方法中的部分或全部步骤。
与现有技术相比,本发明实施例具有以下有益效果:
本发明实施例中,确定需要对缓存执行的目标操作,在执行目标操作的过程中监测缓存中所存放数据的数据量是否满足与目标操作相匹配的数据量条件;当监测到数据量满足与目标操作相匹配的数据量条件时,判断目标操作所操作的目标数据对应的周期是否满足预先确定出的周期条件;当判断出目标数据对应的周期满足周期条件时,对目标操作所操作的目标数据执行空闲周期插入操作或空闲周期删除操作,其中,当目标操作为读数据操作时,执行空闲周期插入操作,当目标操作为写数据操作时,执行空闲周期删除操作。可见,本发明能够对以太网数据执行空闲周期删除操作或者空闲周期插入操作,实现了以太网MAC层接收时钟和发送时钟的同频,能够在同一个时钟下对以太网数据进行处理,这样还能够简化时钟网络,降低数据处理复杂度,且适用于不同的以太网协议,提高其适用性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例公开的一种以太网时钟的调整方法的流程示意图;
图2是本发明实施例公开的另一种以太网时钟的调整方法的流程示意图;
图3是本发明实施例公开的一种用于实现以太网时钟调整的FPGA设计结构的结构示意图;
图4是本发明实施例公开的一种以太网时钟的调整装置的结构示意图;
图5是本发明实施例公开的另一种以太网时钟的调整装置的结构示意图;
图6是本发明实施例公开的又一种以太网时钟的调整装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、装置、产品或端没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或端固有的其他步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本发明的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
本发明公开了一种以太网时钟的调整方法及装置,能够对以太网数据执行空闲周期删除操作或者空闲周期插入操作,实现了以太网MAC层接收时钟和发送时钟的同频,能够在同一个时钟下对以太网数据进行处理,这样还能够简化时钟网络,降低数据处理复杂度,且适用于不同的以太网协议,提高其适用性。以下分别进行详细说明。
实施例一
请参阅图1,图1是本发明实施例公开的一种以太网时钟的调整方法的流程示意图。其中,图1所描述的方法可以应用于以太网设备中,具体可以应用于以太网设备的接口电路中,且以太网设备的接口电路主要包括MAC(Media Access Control)控制器和物理层接口PHY,且MAC控制器与PHY之间通过以太网MAC接口进行连接,可选的,该以太网MAC接口可以包括MII接口、GMII接口或者RGMII接口,本发明实施例不做限定。如图1所示,该方法可以包括以下操作:
101、确定需要对预先确定出的缓存执行的目标操作,该缓存用于暂存以太网数据。
本发明实施例中,该缓存是预先例化出的一个缓存,其用于暂存以太网数据,且其暂存的以太网数据包括接收到的以太网数据以及需要发送出去的以太网数据,其中,该缓存的深度为m,且其宽度为n。可选的,当以太网MAC接口为MII接口时,n可以为6;当以太网MAC接口为GMII接口或者RGMII接口时,n可以为10,也即缓存的宽度是根据以太网MAC接口的类型确定的。
本发明实施例中,目标操作可以为写数据操作,也可以为读数据操作。
102、在执行目标操作的过程中,监测缓存中所存放数据的第一当前数据量是否满足与目标操作相匹配的数据量条件,当步骤102的监测结果为是时,触发执行步骤103;当步骤102的监测结果为否时,继续执行目标操作。
本发明实施例中,当目标操作为写数据操作时,写数据同步于MAC接收时钟,具体用于将MAC接口接收到的信号rx_dv、rxd和rx_er作为以太网数据写入缓存,同时不断监测缓存中的数据量是否满足相匹配的数据量条件,可选的,监测缓存中的数据量是否大于等于预先设定的最大数据量阈值H;当目标操作为读数据操作时,读数据同步于MAC发送时钟,具体用于将从缓存中读出的以太网数据以rx_dv、rxd和rx_er信号的方式发送给下游模块,同时不断监测缓存中的数据量是否满足相匹配的数据量条件,可选的,监测缓存中的数据量是否小于等于预先设定的最小数据量阈值L。
103、当监测出第一当前数据量满足与目标操作相匹配的数据量条件时,判断目标操作所操作的目标数据对应的周期是否满足预先确定出的周期条件,当步骤103的判断结果为是时,触发执行步骤104;当步骤103的判断结果为否时,可以结束本次流程。
104、当判断出目标数据对应的周期满足上述周期条件时,对上述目标数据执行空闲周期调整操作。
其中,当目标操作为读数据操作时,目标操作对应的时钟为发送时钟(也即同步于MAC发送时钟),且空闲周期调整操作包括空闲周期插入操作;当目标操作为写数据操作时,目标操作对应的时钟为接收时钟(也即同步于MAC接收时钟),且空闲周期调整操作为空闲周期删除操作。
进一步的,当目标操作为读数据操作时,可以根据具体需要插入不定数量的空闲周期;当目标操作为写数据操作时,可以根据具体需要删除一定数量的空闲周期,又进一步的,由于每个有效以太网数据之间是通过若干个空闲周期来隔离的,如果无限制的删除空闲周期,可能会导致后续无法区分两个有效以太网数据的情况,为了避免或者减少无法区分两个有效以太网数据的情况的发生,在删除空闲周期时可以在每p个空闲周期中删除一个空闲周期,其中,p为大于等于2的整数。
可见,实施图1所描述的方法能够对以太网数据执行空闲周期删除操作或者空闲周期插入操作,实现了以太网MAC层接收时钟和发送时钟的同频,还能够简化时钟网络,降低数据处理复杂度,且适用于不同的以太网协议。此外,还能够在写数据时避免或者减少无法区分两个有效以太网数据的情况的发生,有利于保证以太网通信的可靠性。
实施例二
请参阅图2,图2是本发明实施例公开的另一种以太网时钟的调整方法的流程示意图。其中,图2所描述的方法可以应用于以太网设备中,具体可以应用于以太网设备的接口电路中,且以太网设备的接口电路主要包括MAC(Media Access Control)控制器和物理层接口PHY,且MAC控制器与PHY之间通过以太网MAC接口进行连接,可选的,该以太网MAC接口可以包括MII接口、GMII接口或者RGMII接口,本发明实施例不做限定。如图2所示,该方法可以包括以下操作:
201、确定需要对预先确定出的缓存执行的目标操作,该缓存用于暂存以太网数据。
202、执行目标操作,在执行目标操作的过程中确定缓存对应的当前读指针以及当前写指针,并将当前写指针转换至读时钟域得到第一格雷码,以及将当前读指针转换至写时钟域得到第二格雷码。
203、根据第一格雷码以及第二格雷码计算缓存中所存放数据的第一当前数据量。
本发明实施例中,当上述目标操作为读数据操作时,触发执行步骤204-206;当上述目标操作为写数据操作时,触发执行步骤207-209。
204、监测缓存中所存放数据的第一当前数据量是否小于等于预先确定出的最小数据量阈值,当步骤204的监测结果为是时,触发执行步骤205;当步骤204的监测结果为否时,继续触发执行步骤202。
205、判断读数据操作所操作的目标数据对应的周期是否为空闲周期,当步骤205的判断结果为是时,触发执行步骤206;当步骤205的判断结果为否时,可以结束本次流程。
206、对上述读数据操作所操作的目标数据执行空闲周期插入操作。
207、监测缓存中所存放数据的第一当前数据量是否大于等于预先确定出的最大数据量阈值,当步骤207的判断结果为是时,触发执行步骤208;当步骤207的判断结果为否时,继续触发执行步骤202。
208、判断写数据操作所操作的目标数据对应的周期是否为空闲周期,当步骤208的判断结果为是时,触发执行步骤209;当步骤208的判断结果为否时,可以结束本次流程。
209、对上述写数据操作所操作的目标数据执行空闲周期删除操作。
在一个可选的实施例中,在执行完毕步骤206或者步骤209之后,该方法还可以包括以下操作:
暂停执行上述目标操作;
监测在暂停执行上述目标操作之后缓存中所存放数据的第二当前数据量是否满足对应的数据量条件,当监测出第二当前数据量不满足数据量条件时,继续触发执行步骤202直至上述目标操作被执行完毕。
其中,当上述目标操作为写数据操作时,在执行空闲周期删除操作之后,停止执行写数据操作,以减少缓存中的数据量,当缓存中的数据量小于上述最大数据量阈值(也即不满足对应的数据量条件)时,再在开始执行写数据操作;当上述目标操作为读数据操作时,在执行空闲周期插入操作之后,停止执行读数据操作,以增加缓存中的数据量,当缓存中的数据量大于最小数据量阈值(也即不满足对应的数据量条件)时,再开始执行读数据操作。
可见,实施图2所描述的方法能够对以太网数据执行空闲周期删除操作或者空闲周期插入操作,实现了以太网MAC层接收时钟和发送时钟的同频,还能够简化时钟网络,降低数据处理复杂度,且适用于不同的以太网协议。此外,在对操作数据执行相应的空闲周期调整操作之后还能够暂停执行相应操作并实时监控缓存中的数据量,在数据量不满足预设数据量条件的情况下继续启动执行相应的操作,在实现以太网MAC层接收时钟和发送时钟的同频的同时保证了以太网数据的处理效率。此外,还能够在根据读写指针计算实时数据量时先通过格雷码完成读写指针的时钟域转换,进而完成实时数据量的计算,有利于降低亚稳态发生的概率,还能够提高计算出实时数据量的效率及准确率,且还能够降低功耗。
在另一个可选的实施例中,判断目标操作所操作的目标数据对应的周期是否为空闲周期,可以包括:
根据目标操作所操作的目标数据所对应的数据有效标识以及数据错误标识,判断目标数据对应的周期是否为空闲周期。
具体的,当上述目标操作为读数据操作时,当数据有效标识以及数据错误标识的标志位为0时,表示目标数据对应的周期为空闲周期,此时可以插入空闲周期rx_dv=0、rx_er=0且rxd=0;当上述目标操作为写数据操作时,当数据有效标识以及数据错误标识的标志位为0时,表示目标数据对应的周期为空闲周期。
可见,该可选的实施例能够通过数据相关的状态标识实现空闲周期的判断,不仅能够有利于提高判断效率,还能够提高判断准确率,进而有利于提高后续执行空闲周期调整操作的可靠性。
可选的,上述缓存的最大数据存储量、上述最小数据量阈值以及上述最大数据量阈值是可以根据进行以太网数据通信的两个以太网设备的本地晶振之间的频偏确定出的,且两个以太网设备的本地晶振之间的频偏越大,上述缓存的最大数据存储量越大、上述最小数据量阈值越大且上述缓存的最大数据存储量与上述最大数据量阈值的差值越大。
可见,在例化用于暂存以太网数据的缓存实现数据时钟调整时,能够根据两个以太网设备的本地晶振之间的频偏确定例化出的缓存的最大数据存储量以及确定出用于进行数据量大小判断的阈值,这样能够保证有足够的存储空间对数据进行调整,有利于提高以太网时钟调整的可靠性。
在另一个实施例中,用于实现本发明实施例所描述的以太网时钟调整方法的FPGA设计结构可以如图3所示,图3是本发明实施例公开的一种用于实现以太网时钟调整的FPGA设计结构的结构示意图。如图3所示,该FPGA涉及结构可以包括:
一个深度为m、宽度为n的缓存(buffer),其用来临时存储存储MII/GMII/RGMII接口接收的以太网数据;
Gray&Compare模块,其作用有两个:1.读写指针的时钟域转换,通过格雷码将写指针转换到读时钟域以及将读指针转换到写时钟域;2.通过对buffer中的实时数据量与设定的最大数据量阈值H、最小数据量阈值L比较,分别输出high level信号、low level信号给delete idle模块和insert idle模块;
Delete idle模块,用于接收以太网数据并写入到buffer,同时当其接收到highlevel信号时,根据high level信号判断是否删除空闲周期;
Insert idle模块,用于读取buffer中的以太网数据并发送,同时当其接收lowlevel信号时根据low level信号判断是否插入空闲周期。
可见,上述FPGA设计结构通过对MII/GMII/RGMII接口数据的插入/删除空闲周期的操作,实现接收时钟和发送时钟的调整,还能够实现对物理层进行无差别对待,适用性强。
实施例三
请参阅图4,图4是本发明实施例公开的一种以太网时钟的调整装置的结构示意图。其中,图4所描述的装置可以应用于以太网设备中,具体可以应用于以太网设备的接口电路中,且以太网设备的接口电路主要包括MAC(Media Access Control)控制器和物理层接口PHY,且MAC控制器与PHY之间通过以太网MAC接口进行连接,可选的,该以太网MAC接口可以包括MII接口、GMII接口或者RGMII接口,本发明实施例不做限定。如图4所示,该装置可以包括:
操作确定模块301,用于确定需要对预先确定出的缓存执行的目标操作,缓存用于暂存以太网数据;
数据处理模块302,用于对上述缓存执行目标操作;
数据监测模块303,用于在数据处理模块302对上述缓存执行目标操作的过程中,监测上述缓存中所存放数据的第一当前数据量是否满足与目标操作相匹配的数据量条件;
周期判断模块304,用于当数据监测模块303监测出第一当前数据量满足与目标操作相匹配的数据量条件时,判断目标操作所操作的目标数据对应的周期是否满足预先确定出的周期条件;
周期调整模块305,用于当周期判断模块304判断出目标数据对应的周期满足周期条件时,对目标数据执行空闲周期调整操作。
其中,当目标操作为读数据操作时,目标操作对应的时钟为发送时钟,且空闲周期调整操作包括空闲周期插入操作;当目标操作为写数据操作时,目标操作对应的时钟为接收时钟,且空闲周期调整操作为空闲周期删除操作。
可见,实施图4所描述的装置能够对以太网数据执行空闲周期删除操作或者空闲周期插入操作,实现了以太网MAC层接收时钟和发送时钟的同频,还能够简化时钟网络,降低数据处理复杂度,且适用于不同的以太网协议。,
在一个可选的实施例中,数据监测模块303,还用于在数据处理模块302对缓存执行目标操作的过程中,确定缓存对应的当前读指针以及当前写指针,并根据当前读指针以及当前写指针确定缓存中所存放数据的第一当前数据量。
其中,数据监测模块303根据当前读指针以及当前写指针确定缓存中所存放数据的第一当前数据量的具体方式包括:
将当前写指针转换至读时钟域,得到第一格雷码,以及将当前读指针转换至写时钟域,得到第二格雷码;
根据第一格雷码以及第二格雷码计算缓存中所存放数据的第一当前数据量。
可见,该可选的实施例还能够在根据读写指针计算实时数据量时先通过格雷码完成读写指针的时钟域转换,进而完成实时数据量的计算,有利于降低亚稳态发生的概率,还能够提高计算出实时数据量的效率及准确率,且还能够降低功耗。
在另一个可选的实施例中,周期判断模块304,具体用于:
当数据监测模块303监测出第一当前数据量满足与目标操作相匹配的数据量条件时,判断目标操作所操作的目标数据对应的周期是否为空闲周期,当判断出目标数据对应的周期为空闲周期时,确定目标数据对应的周期满足预先确定出的周期条件。
可见,该可选的实施例还能够在对应的周期为空闲周期时再进行空闲周期删除操作或者空闲周期插入操作,有利于提高空闲周期删除操作或者空闲周期插入操作的准确性,进而有利于提高时钟调整的准确性。
在又一个可选的实施例中,数据监测模块303监测缓存中所存放数据的第一当前数据量是否满足与目标操作相匹配的数据量条件的具体方式包括:
当目标操作为读数据操作时,监测缓存中所存放数据的第一当前数据量是否小于等于预先确定出的最小数据量阈值,当判断出第一当前数据量小于等于最小数据量阈值时,确定第一当前数据量满足与目标操作相匹配的数据量条件;
当目标操作为写数据操作时,监测缓存中所存放数据的第一当前数据量是否大于等于预先确定出的最大数据量阈值,当判断出第一当前数据量大于等于最大数据量阈值时,确定第一当前数据量满足与目标操作相匹配的数据量条件。
其中,最大数据量阈值大于最小数据量阈值,且最大数据量阈值小于缓存的最大数据存储量。
可见,该可选的实施例还能够通过设定的数据量阈值实现对缓存中数据量的判断,且不同的操作对应不同的数据量阈值,有利于通过空闲周期插入或删除操作实现时钟同步。
在又一个可选的实施例中,如图5所示,该装置还可以包括:
处理控制模块306,用于在周期调整模块305对目标数据执行空闲周期调整操作之后,暂停执行上述目标操作;
数据监测模块303,还用于监测在处理控制模块306暂停执行上述目标操作之后缓存中所存放数据的第二当前数据量是否满足数据量条件;
处理控制模块306,还用于当数据监测模块303监测出第二当前数据量不满足数据量条件时,继续执行上述目标操作。
可见,该可选的实施例还能够在对操作数据执行相应的空闲周期调整操作之后还能够暂停执行相应操作并实时监控缓存中的数据量,在数据量不满足预设数据量条件的情况下继续启动执行相应的操作,在实现以太网MAC层接收时钟和发送时钟的同频的同时保证了以太网数据的处理效率。
在又一个可选的实施例中,周期判断模块304判断目标操作所操作的目标数据对应的周期是否为空闲周期的具体方式包括:
根据目标操作所操作的目标数据对应的数据有效标识以及数据错误标识,判断目标数据对应的周期是否为空闲周期。
可见,该可选的实施例还能够通过数据相关的状态标识实现空闲周期的判断,不仅能够有利于提高判断效率,还能够提高判断准确率,进而有利于提高后续执行空闲周期调整操作的可靠性。
在又一个可选的实施例中,上述缓存的最大数据存储量、上述最小数据量阈值以及上述最大数据量阈值是可以根据进行以太网数据通信的两个以太网设备的本地晶振之间的频偏确定出的,且两个以太网设备的本地晶振之间的频偏越大,上述缓存的最大数据存储量越大、上述最小数据量阈值越大且上述缓存的最大数据存储量与上述最大数据量阈值的差值越大。可见,在例化用于暂存以太网数据的缓存实现数据时钟调整时,能够根据两个以太网设备的本地晶振之间的频偏确定例化出的缓存的最大数据存储量以及确定出用于进行数据量大小判断的阈值,这样能够保证有足够的存储空间对数据进行调整,有利于提高以太网时钟调整的可靠性。
实施例四
请参阅图6,图6是本发明实施例公开的又一种以太网时钟的调整装置的结构示意图。其中,图6所描述的装置可以应用于以太网设备中,具体可以应用于以太网设备的接口电路中,且以太网设备的接口电路主要包括MAC(Media Access Control)控制器和物理层接口PHY,且MAC控制器与PHY之间通过以太网MAC接口进行连接,可选的,该以太网MAC接口可以包括MII接口、GMII接口或者RGMII接口,本发明实施例不做限定。如图6所示,该装置可以包括:
存储有可执行程序代码的存储器401;
与存储器401耦合的处理器402;
处理器402调用存储器402中存储的可执行程序代码,执行本发明实施例一或实施例二公开的以太网时钟的调整方法中的步骤。
实施例五
本发明实施例公开了一种计算机存储介质,该计算机存储介质存储有计算机指令,该计算机指令被调用时,用于执行本发明实施例一或实施例二公开的以太网时钟的调整方法中的步骤。
实施例六
本发明实施例公开了一种以太网设备,该以太网设备用于执行实施例一或实施例二所描述的以太网时钟的调整方法,或者,该以太网设备可以包括实施例三及实施例四所描述的任意一种以太网时钟的调整装置。
以上所描述的装置实施例仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施例的具体描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,存储介质包括只读存储器(Read-Only Memory,ROM)、随机存储器(Random Access Memory,RAM)、可编程只读存储器(Programmable Read-only Memory,PROM)、可擦除可编程只读存储器(ErasableProgrammable Read Only Memory,EPROM)、一次可编程只读存储器(One-timeProgrammable Read-Only Memory,OTPROM)、电子抹除式可复写只读存储器(Electrically-Erasable Programmable Read-Only Memory,EEPROM)、只读光盘(CompactDisc Read-Only Memory,CD-ROM)或其他光盘存储器、磁盘存储器、磁带存储器、或者能够用于携带或存储数据的计算机可读的任何其他介质。
最后应说明的是:本发明实施例公开的一种以太网时钟的调整方法及装置所揭露的仅为本发明较佳实施例而已,仅用于说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解;其依然可以对前述各项实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或替换,并不使相应的技术方案的本质脱离本发明各项实施例技术方案的精神和范围。
Claims (10)
1.一种以太网时钟的调整方法,其特征在于,所述方法包括:
确定需要对预先确定出的缓存执行的目标操作,在执行所述目标操作的过程中,监测所述缓存中所存放数据的第一当前数据量是否满足与所述目标操作相匹配的数据量条件,所述缓存用于暂存以太网数据;
当监测出所述第一当前数据量满足与所述目标操作相匹配的数据量条件时,根据所述目标操作所操作的目标数据对应的数据有效标识以及数据错误标识,判断所述目标数据对应的周期是否为空闲周期,当判断出所述目标数据对应的周期为空闲周期时,确定所述目标数据对应的周期满足预先确定出的周期条件;当判断出所述目标数据对应的周期满足所述周期条件时,对所述目标数据执行空闲周期调整操作;
其中,当所述目标操作为读数据操作时,所述目标操作对应的时钟为发送时钟,且所述空闲周期调整操作包括空闲周期插入操作;当所述目标操作为写数据操作时,所述目标操作对应的时钟为接收时钟,且所述空闲周期调整操作为空闲周期删除操作,以及在需要删除空闲周期时,在每P个空闲周期中删除一个空闲周期,p为大于或等于2的整数。
2.根据权利要求1所述的以太网时钟的调整方法,其特征在于,在执行所述目标操作的过程中,所述监测所述缓存中所存放数据的第一当前数据量是否满足与所述目标操作相匹配的数据量条件之前,所述方法还包括:
确定所述缓存对应的当前读指针以及当前写指针,并根据所述当前读指针以及所述当前写指针确定所述缓存中所存放数据的第一当前数据量;
其中,所述根据所述当前读指针以及所述当前写指针确定所述缓存中所存放数据的第一当前数据量,包括:
将所述当前写指针转换至读时钟域,得到第一格雷码,以及将所述当前读指针转换至写时钟域,得到第二格雷码;
根据所述第一格雷码以及所述第二格雷码计算所述缓存中所存放数据的第一当前数据量。
3.根据权利要求1所述的以太网时钟的调整方法,其特征在于,所述监测所述缓存中所存放数据的第一当前数据量是否满足与所述目标操作相匹配的数据量条件,包括:
当所述目标操作为所述读数据操作时,监测所述缓存中所存放数据的第一当前数据量是否小于或等于预先确定出的最小数据量阈值,当判断出所述第一当前数据量小于或等于所述最小数据量阈值时,确定所述第一当前数据量满足与所述目标操作相匹配的数据量条件;
当所述目标操作为所述写数据操作时,监测所述缓存中所存放数据的第一当前数据量是否大于或等于预先确定出的最大数据量阈值,当判断出所述第一当前数据量大于或等于所述最大数据量阈值时,确定所述第一当前数据量满足与所述目标操作相匹配的数据量条件;
其中,所述最大数据量阈值大于所述最小数据量阈值,且所述最大数据量阈值小于所述缓存的最大数据存储量。
4.根据权利要求3所述的以太网时钟的调整方法,其特征在于,所述对所述目标数据执行空闲周期调整操作之后,所述方法还包括:
暂停执行所述目标操作;
监测在暂停执行所述目标操作之后所述缓存中所存放数据的第二当前数据量是否满足所述数据量条件,当监测出所述第二当前数据量不满足所述数据量条件时,继续执行所述目标操作。
5.根据权利要求3所述的以太网时钟的调整方法,其特征在于,所述缓存的最大数据存储量、所述最小数据量阈值以及所述最大数据量阈值是根据进行以太网数据通信的两个以太网设备的本地晶振之间的频偏确定出的;
其中,两个所述以太网设备的本地晶振之间的频偏越大,所述缓存的最大数据存储量越大、所述最小数据量阈值越大且所述缓存的最大数据存储量与所述最大数据量阈值的差值越大。
6.一种以太网时钟的调整装置,其特征在于,所述装置包括:
操作确定模块,用于确定需要对预先确定出的缓存执行的目标操作,所述缓存用于暂存以太网数据;
数据处理模块,用于对所述缓存执行所述目标操作;
数据监测模块,用于在所述数据处理模块对所述缓存执行所述目标操作的过程中,监测所述缓存中所存放数据的第一当前数据量是否满足与所述目标操作相匹配的数据量条件;
周期判断模块,用于当所述数据监测模块监测出所述第一当前数据量满足与所述目标操作相匹配的数据量条件时,根据所述目标操作所操作的目标数据对应的数据有效标识以及数据错误标识,判断所述目标数据对应的周期是否为空闲周期,当判断出所述目标数据对应的周期为空闲周期时,确定所述目标数据对应的周期满足预先确定出的周期条件;
周期调整模块,用于当所述周期判断模块判断出所述目标数据对应的周期满足所述周期条件时,对所述目标数据执行空闲周期调整操作;
其中,当所述目标操作为读数据操作时,所述目标操作对应的时钟为发送时钟,且所述空闲周期调整操作包括空闲周期插入操作;当所述目标操作为写数据操作时,所述目标操作对应的时钟为接收时钟,且所述空闲周期调整操作为空闲周期删除操作,以及在需要删除空闲周期时,在每P个空闲周期中删除一个空闲周期,p为大于或等于2的整数。
7.根据权利要求6所述的以太网时钟的调整装置,其特征在于,所述数据监测模块,还用于在所述数据处理模块对所述缓存执行所述目标操作的过程中,确定所述缓存对应的当前读指针以及当前写指针,并根据所述当前读指针以及所述当前写指针确定所述缓存中所存放数据的第一当前数据量;
其中,所述数据监测模块根据所述当前读指针以及所述当前写指针确定所述缓存中所存放数据的第一当前数据量的具体方式包括:
将所述当前写指针转换至读时钟域,得到第一格雷码,以及将所述当前读指针转换至写时钟域,得到第二格雷码;
根据所述第一格雷码以及所述第二格雷码计算所述缓存中所存放数据的第一当前数据量。
8.根据权利要求6所述的以太网时钟的调整装置,其特征在于,所述数据监测模块监测所述缓存中所存放数据的第一当前数据量是否满足与所述目标操作相匹配的数据量条件的具体方式包括:
当所述目标操作为所述读数据操作时,监测所述缓存中所存放数据的第一当前数据量是否小于或等于预先确定出的最小数据量阈值,当判断出所述第一当前数据量小于或等于所述最小数据量阈值时,确定所述第一当前数据量满足与所述目标操作相匹配的数据量条件;
当所述目标操作为所述写数据操作时,监测所述缓存中所存放数据的第一当前数据量是否大于或等于预先确定出的最大数据量阈值,当判断出所述第一当前数据量大于或等于所述最大数据量阈值时,确定所述第一当前数据量满足与所述目标操作相匹配的数据量条件;
其中,所述最大数据量阈值大于所述最小数据量阈值,且所述最大数据量阈值小于所述缓存的最大数据存储量。
9.根据权利要求8所述的以太网时钟的调整装置,其特征在于,所述装置还包括:
处理控制模块,用于在所述周期调整模块对所述目标数据执行空闲周期调整操作之后,暂停执行所述目标操作;
所述数据监测模块,还用于监测在所述处理控制模块暂停执行所述目标操作之后所述缓存中所存放数据的第二当前数据量是否满足所述数据量条件;
所述处理控制模块,还用于当所述数据监测模块监测出所述第二当前数据量不满足所述数据量条件时,继续执行所述目标操作。
10.根据权利要求8所述的以太网时钟的调整装置,其特征在于,所述缓存的最大数据存储量、所述最小数据量阈值以及所述最大数据量阈值是根据进行以太网数据通信的两个以太网设备的本地晶振之间的频偏确定出的;
其中,两个所述以太网设备的本地晶振之间的频偏越大,所述缓存的最大数据存储量越大、所述最小数据量阈值越大且所述缓存的最大数据存储量与所述最大数据量阈值的差值越大。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111554774.5A CN114362910B (zh) | 2021-12-17 | 2021-12-17 | 以太网时钟的调整方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111554774.5A CN114362910B (zh) | 2021-12-17 | 2021-12-17 | 以太网时钟的调整方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114362910A CN114362910A (zh) | 2022-04-15 |
CN114362910B true CN114362910B (zh) | 2024-05-03 |
Family
ID=81099942
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111554774.5A Active CN114362910B (zh) | 2021-12-17 | 2021-12-17 | 以太网时钟的调整方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114362910B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102708086A (zh) * | 2012-05-10 | 2012-10-03 | 无锡华大国奇科技有限公司 | 一种应用于usb3.0的弹性缓冲结构及方法 |
CN103885527A (zh) * | 2014-04-15 | 2014-06-25 | 东南大学 | 一种基于rrc编码的时钟偏差补偿装置 |
-
2021
- 2021-12-17 CN CN202111554774.5A patent/CN114362910B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102708086A (zh) * | 2012-05-10 | 2012-10-03 | 无锡华大国奇科技有限公司 | 一种应用于usb3.0的弹性缓冲结构及方法 |
CN103885527A (zh) * | 2014-04-15 | 2014-06-25 | 东南大学 | 一种基于rrc编码的时钟偏差补偿装置 |
Non-Patent Citations (2)
Title |
---|
10GBASE-X物理层并行光传输研究;苗澎等;《高技术通讯》(第7期);正文第2.1.2节 * |
苗澎等.10GBASE-X物理层并行光传输研究.《高技术通讯》.2007,(第7期),正文第2.1.2节. * |
Also Published As
Publication number | Publication date |
---|---|
CN114362910A (zh) | 2022-04-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8274886B2 (en) | Inferring TCP initial congestion window | |
CN109525458B (zh) | 数据传输方法、装置、介质及电子设备 | |
EP3675398A1 (en) | Check code processing method, electronic device, and storage medium | |
US20130227690A1 (en) | Program analysis system and method thereof | |
US8589586B2 (en) | Method and apparatus for managing transmission of TCP data segments | |
CN112667527A (zh) | 一种确保客户端数据采集准确性的方法及客户端 | |
CN111818632B (zh) | 一种设备同步的方法、装置、设备及存储介质 | |
US11995436B2 (en) | Out-of-band updating method and system of expander | |
CN114449563B (zh) | 一种提高蓝牙mesh网络设备工作稳定性的方法及蓝牙设备 | |
CN114866250B (zh) | 车内can网络新鲜值构建方法、装置、车辆及存储介质 | |
CN112261142B (zh) | 一种rdma网络的数据重传方法、装置及fpga | |
CN109728879B (zh) | 串口突发接入应用层slip协议报文同步纠错方法 | |
CN114362910B (zh) | 以太网时钟的调整方法及装置 | |
CN116760508B (zh) | 一种波特率设置方法及系统 | |
CN110635854B (zh) | 一种传输协议自适应解码系统及方法 | |
CN117033277A (zh) | 一种单线通讯控制装置和数据处理方法 | |
CN115904888A (zh) | 一种告警方法、计算设备及存储介质 | |
CN114116632A (zh) | 交易日志收集方法、装置及系统 | |
CN108990137B (zh) | 一种ntp服务器的访问控制方法及可穿戴设备 | |
TW202022627A (zh) | 通用序列匯流排裝置及其操作方法 | |
US20230379052A1 (en) | Switching device and switching method | |
CN112149439B (zh) | Swp物理层s2解码自对准方法、装置及设备 | |
CN108093002B (zh) | 基于数据状态确定的待同步信息的同步方法及装置 | |
CN117119525A (zh) | 数据处理方法、装置、存储介质及电子设备 | |
CN116996140A (zh) | Hplc和rf双模无线信号的捕获检测方法及通讯设备 |
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 |