CN101478359A - 一种管理ieee1588时戳的方法、装置及*** - Google Patents
一种管理ieee1588时戳的方法、装置及*** Download PDFInfo
- Publication number
- CN101478359A CN101478359A CNA2009100367096A CN200910036709A CN101478359A CN 101478359 A CN101478359 A CN 101478359A CN A2009100367096 A CNA2009100367096 A CN A2009100367096A CN 200910036709 A CN200910036709 A CN 200910036709A CN 101478359 A CN101478359 A CN 101478359A
- Authority
- CN
- China
- Prior art keywords
- time stamp
- module
- frame
- information
- control information
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/10—Active monitoring, e.g. heartbeat, ping or trace-route
- H04L43/106—Active monitoring, e.g. heartbeat, ping or trace-route using time related information in packets, e.g. by adding timestamps
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0685—Clock or time synchronisation in a node; Intranode synchronisation
- H04J3/0697—Synchronisation in a packet node
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Cardiology (AREA)
- General Health & Medical Sciences (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
- Communication Control (AREA)
Abstract
本发明实施例公开了一种管理IEEE1588时戳的方法,包括步骤:接收数据帧以及同步的时戳控制信息的存储位置信息;根据该存储位置信息,获得用于对该数据帧进行时戳控制的时戳控制信息;获得接收该数据帧时的时戳,根据所述时戳获得需要添加的时戳,并根据该时戳控制信息将该需要添加的时戳添加至该数据帧中;将添加有该时戳的数据帧发送出去。本发明实施例还公开了一种下行时戳管理模块、一种上行时戳管理模块以及相应的时戳管理***。利用本发明实施例,可以很方便地并精确地在10G以太网中添加或提取IEEE1588时戳。同时,能节省资源并保证时戳和数据的同步性。
Description
技术领域
本发明涉及以太网技术,尤其涉及一种管理IEEE1588时戳的方法、装置及***。
背景技术
IEEE1588协议最初是用来描述在网络测量和控制***中的精确时钟同步协议。随着以太网技术的发展,IEEE1588协议已经应用到以太网领域中了。
在现有技术中,可以在百兆以太网中实现IEEE1588协议的处理,而且精度很高,其实现的主要方法是,当以太网帧通过PHY层(Physical Layer,物理层)传输时,在IEEE1588协议的相关控制信号的控制下,在下行以太网帧中添加当时的时戳,或者在上行以太网帧接收到的时候标记接收到该帧的时戳。
根据IEEE1588协议描述,在数据帧中添加或者提取时戳的位置,越靠近PHY层就越精确,因为远离物理层的位置可能会由于频差或者数据路径上的FIFO引入很多抖动,而越靠近PHY层的位置就越能精确反映出收发帧的真实时间。
参照图1所示,是现有技术中10G以太网(10Gigabit Ethernet,万兆以太网)中MAC与PCS一种连接示意图;其中,在下行方向上,MAC(Media AccessControl,介质访问控制)子层2将数据传送给PCS子层1(Physical code sublayer,物理编码子层),并经PCS子层1编码后传送给64/16转换器3,其中,在下行方向上,PCS子层1至少包括异步FIFO 12,PCS传送模块(PCS TX)14,该PCS TX 14至少包括64/66B编码模块和扰码模块;在上行方向上,16/64转换器4将数据传送给PCS子层1,并给PCS子层1解码后发送给MAC子层2,其中,在上行方向上,PCS子层1至少包括异步FIFO 16和PCS接收模块(PCSRX)18,该PCS RX18至少包括64/66B解码模块和解扰模块。可以看出,由于以太网技术技术已经发展到了10G以太网,10G以太网与百兆以太网相比较具有很多不同的特点,例如在10G以太网中,其MAC(Media Access Control,介质访问控制)子层存在动态帧间隙调整;其MAC子层和10G以太网的PCS子层(Physical code sublayer,物理编码子层)之间存在消除频差的异步FIFO;以及其PCS(一般为10GBASE-R PCS)时钟具有缺口(如,每隔33个时钟周期1个时钟周期无效)等等,当然10G以太网与百兆以太网的其他的不同也可以从很多公开的文件中得知。本发明人在实施本发明时发现,现有技术尚不能实现在10G以太网中对时戳进行精确管理(添加或提取)。
发明内容
有鉴于此,本发明实施例提供一种在10G以太网中管理IEEE1588时戳的方法、装置及***,可以精确地在10G以太网中添加或提取IEEE1588时戳。
本发明实施例的一种管理IEEE1588时戳的方法,包括步骤:
接收数据帧以及同步的时戳控制信息的存储位置信息;
根据该存储位置信息,获得用于对该数据帧进行时戳控制的时戳控制信息;
获得接收该数据帧时的时戳,根据该时戳获得需要添加的时戳,并根据该时戳控制信息将该需要添加的时戳添加至该数据帧中。
本发明实施例的一种管理IEEE1588时戳的方法,包括:
接收数据帧;
获得接收该数据帧时的时戳信息并进行调整,将该调整后的时戳信息进行存储;
将该数据帧与记录存储所述调整后的时戳信息的存储位置信息同步传送出去。
本发明实施例的一种下行时戳管理模块,用于在10G以太网中管理IEEE1588时戳,该下行时戳管理模块包括:
信息接收模块,用于接收数据帧以及同步的时戳控制信息的存储位置信息;
时戳控制信息存储模块,用于存储对该数据帧进行时戳控制的时戳控制信息;
时戳获取模块,用于获取接收该数据帧时的时戳,并根据该时戳获得需要添加的时戳;
时戳***模块,用于根据该时戳控制信息的存储位置信息所对应的该时戳控制信息存储模块中的时戳控制信息,将该时戳获取模块获取的需要添加的时戳添加至该数据帧中。
本发明实施例的一种时戳管理***,包括异步FIFO,所述***还包括下行时戳管理模块,用于接收来自所述异步FIFO的数据帧以及同步的时戳控制信息的存储位置信息,根据所述存储位置信息获得用于对所述数据帧进行时戳控制的时戳控制信息,获得接收所述数据帧时的时戳,根据所述时戳获得需要添加的时戳,并根据所述时戳控制信息将所述需要添加的时戳添加至所述数据帧中。
本发明实施例的一种上行时戳管理模块,用于在10G以太网中管理IEEE1588时戳,该上行时戳管理模块包括:
信息接收模块,用于接收数据帧;
时戳获取模块,用于获取接收该数据帧时的时戳,并进行相应调整,获得调整后的时戳;
时戳存储模块,存储来自该时戳获取模块的调整后的时戳;
信息发送模块,用于将该数据帧与该时戳存储模块中存储该时戳的存储位置信息同步传送出去。
本发明实施例的一种时戳管理***,包括异步FIFO,所述***还包括上行时戳管理模块,用于接收数据帧,获得接收所述数据帧时的时戳信息并进行调整,存储调整后的时戳,将所述数据帧与记录存储所述调整后的时戳的存储位置信息同步传送出去。
本发明实施例的管理IEEE1588时戳方法、装置及***,利用时戳控制信息,可以很方便地将发送(或接收)数据帧时的时戳很方便并精确地添加到该数据帧中,或从该数据帧中提取出来。在传送数据帧的同时,无需传送时戳控制信息,只需传送时戳控制信息的存储位置信息,减少了同步穿越MAC子层的资源,利用该存储位置信息可以获得时戳控制信息,以利用该数据帧进行IEEE1588时戳管理。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是现有技术中10G以太网中MAC与PCS一种连接示意图;
图2是本发明时戳管理***的一个实施结构示意图;
图3是本发明下行时戳管理模块一个实施例的结构示意图;
图4是图3中时戳调整模块的一个实施例的结构示意图;
图5是本发明上行时戳管理模块一个实施例的结构示意图;
图6是图5中时戳获取模块的一个实施例的结构示意图;
图7是本发明管理IEEE1588时戳的方法的一个实施例的流程示意图;
图8是本发明管理IEEE1588时戳的方法的另一个实施例的流程示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图2所示,是本发明时戳管理***的一个实施结构示意图;从中可以看出,在本发明实施例中,在下行方向上,该时戳调整***包括PCS子层1中的异步FIFO12和PCS传送模块(PCS TX)14,其中,该PCS TX 14至少包括64/66B编码模块。该时戳调整***还包括在PCS子层1中的异步FIFO 12与64/66B编码模块之间设置的下行时戳管理模块10,用于为下行方向的发送数据帧上添加发送时的时戳,具体地,该下行时戳管理模块10可用于接收来自所述异步FIFO的数据帧以及同步的时戳控制信息的存储位置信息,根据所述存储位置信息获得用于对所述数据帧进行时戳控制的时戳控制信息,获得接收所述数据帧时的时戳,根据所述时戳获得需要添加的时戳,并根据所述时戳控制信息将所述需要添加的时戳添加至所述数据帧中;在上行方向上,该时戳调整***包括PCS子层1中的异步FIFO和PCS接收模块(PCS RX)18,该PCS RX 18至少包括64/66B解码模块;该时戳调整***还包括在PCS子层1中的64/66B解码模块与异步FIFO 16之间设置的上行时戳管理模块11,用于为在上行方向的接收数据帧提取接收时的时戳,具体地,该上行时戳管理模块11可用于接收数据帧,获得接收所述数据帧时的时戳信息并进行调整,存储调整后的时戳,将所述数据帧与记录存储所述调整后的时戳的存储位置信息同步传送出去。其中,在一个例子中,MAC子层2的时钟为156.25MHz;下行PCS子层1的时钟为161.133MHz。当然,易于理解的是,MAC子层2和PCS子层1都可以工作在相同的156.25MHz时钟域,只是在PCS子层1和外部高速模块接口的地方进行不同时钟频率的变换,在这种情况下时戳就不需要进行调整了。后面以MAC子层2的时钟与PCS子层1的时钟的频率不相同的情形进行说明。
本发明实施例的时戳调整***,在传送数据帧的同时,无需传送时戳控制信息,只需传送时戳控制信息的存储位置信息,减少了同步穿越MAC子层2的资源,利用该存储位置信息可以获得时戳控制信息,以利用该数据帧进行IEEE1588时戳管理。
下述结合附图,对本发明的实施例中的下行时戳管理模块10和上行时戳管理模块11进行说明。
图3是本发明中下行时戳管理模块10一个实施例的结构示意图;该下行时戳管理模块10用于在10G以太网中为下行的发送数据帧添加IEEE1588时戳,该下行时戳管理模块10具体包括:
信息接收模块100,用于接收数据帧以及同步的时戳控制信息的存储位置信息;进一步的,所述信息接收模块100还用于进行帧起始符的检测,该数据帧为来自MAC的下行发送数据帧,在一个实例中,该下行发送数据帧可为txdata[63:0]和txlane[7:0];而时戳控制信息的存储位置信息可为txtimes_addr[3:0];
时戳控制信息存储模块104,用于存储对数据帧进行时戳控制的时戳控制信息,该时戳控制信息可以是诸如指示是否添加时戳的添加时戳指示信息、用于指示添加位置的添加位置指示信息、用于指示是否需要调整的调整指示信息、用于指示进行调整的调整值的调整值指示信息、用于指示数据帧的类型的数据帧类型指示信息、用于指示是否需要将添加的时戳回传的回传指示信息;在一个实例中,其可以分别为ctrl0、ctrl1、ctrl2、vlan_flag[1:0]、correction_vld、correction[15:0]、tx_back_data_vld等。
时戳获取模块102,用于获取接收该数据帧时的时戳,并根据该时戳获得需要添加的时戳。在本发明的实施例中,时戳可由本地的一个时钟产生,例如,在一个具体的例子中,该时钟为clk_200m,频率为200MHz。根据IEEE1588协议,时戳信号是由80bit的数据组成,采用time_stamp[79:0]及其相应的纳秒信息time_stamp_ns[41:0]来表示该时戳,该时戳获取模块可以从该时钟上获得当前的时戳信息;
时戳***模块105,用于根据该时戳控制信息的存储位置信息所对应的时戳控制信息存储模块104中的时戳控制信息,将该时戳获取模块102获取的需要添加的时戳添加至到该数据帧中。
具体地,该下行时戳管理模块进一步包括:
与该时戳***模块105相连接的CRC添加模块106,用于在添加时戳后,为该数据帧计算生成循环冗余校验码CRC,并添加到数据帧的帧尾。
信息发送模块108,用于将该添加CRC之后的数据帧发送给PCS中64/66B编码器,具体地,可以采用诸如在tx_enc_data[63:0],tx_enc_lane[7:0]接口来发送上述信息。
其中,信息接收模块100进一步包括:
接收模块1000,用于接收数据帧以及同步的时戳控制信息的存储位置信息;
帧起始符检测模块1002,用于检测所接收的数据帧的帧起始符位置。
同时结合图4所示,本实施例中的时戳获取模块102进一步包括:
时戳锁定模块1020,在帧起始符检测模块1002检测到数据帧的帧起始符时,锁定当前的时戳信息;
时戳调整模块1022,用于确定对该当前的时戳信息是否需要进行调整,并在确定为需要时对该当前时戳信息的进行调整,获得需要添加的时戳,具体地,该时戳调整模块1022进一步包括:
判断模块1024,用于判断发送该数据帧的物理编码子层PCS发送的时钟拍数所处位置;例如在一个实施例中,由于PCS内部是33拍中时钟会无效1拍,这样就会引入抖动,为了去除此抖动,在获取时戳的时候,查看PCS发送的时钟拍数处于什么位置(从0到32),再考虑数据流从取时戳之后到送入64/66B模块需要的拍数(例如为21),这样将32个有效时钟周期(从时钟无效的1个时钟周期之后的第1个有效时钟周期开始的连续32个时钟周期)分为32个区间,每个区间里面都要进行调整,调整值呈线性增加,第1个有效时钟周期调整值最小,第32个有效时钟周期最大,为一个161.133MHz时钟周期值。
确定模块1026,用于根据该判断模块1024判断到该时钟拍数所处的位置,确定(获得)与该数据帧对应的调整值;
调整模块1028,用于根据确定模块1026所确定的调整值,对所述锁定的当前时戳信息进行调整,获得需要添加的时戳;例如,在一个实施例中,将该调整值与该锁定的当前时戳信息相加,获得需要添加的时戳。
具体地,在本发明的一个实施例中,本下行时戳管理模块10中的各接口信号的含义可采用如下表1中所示:
表1
信号名称 | 长度(位) | 性质 | 说明 |
time_stamp[79:0] | 80 | 输入(I) | 时戳信号,clk_200m时钟域信号 |
time_stamp_ns[41:0] | 42 | 输入(I) | 校准时戳信号,clk_200m时钟域信号 |
ctrl0 | 1 | 输入(I) | 1表示要取时戳添加到相应的发送帧中,0表示不需要取时戳添加到相应的发送帧中 |
ctrl1 | 1 | 输入(I) | 1表示需要把取的时戳回传回去,回传回去的信号为tx_time_vld,tx_message_type,tx_source_port_id,tx_sequenceid,tx_time_stamp,tx_correct_vld;0表示不需要回传 |
ctrl2[n:0] | 大于或等于2 | 输入(I) | 此信号表示在本帧中***时戳的位置,例如,2’b00保留,2’b01表示***header的correction域,2’b10表示***header后面的10个字节(originTimestamp域),2’b11保留 |
correction[15:0] | 16 | 输入(I) | 表示加时戳时需要加上的值,4拍有效,第1拍为校正值的[63:48],第2拍为校正值的[47:32],第3拍为校正值的[31:16],第4拍为校正值的[15:0]。 |
correction_vld | 1 | 输入(I) | correction有效指示,1表示加时戳时需要加上correction值,0表示不需要加,此信号至少需要4拍有效,以保证和对应的值一致。 |
tx_back_data_vld | 1 | 输出(O) | 发送回传数据有效指示,1有效,有效时会连续5拍。 |
tx_back_data[35:0] | 36 | 输出(O) | 发送回传数据,在tx_back_data_vld有效的期间有效,第1拍为{tx_message_type[3:0],tx_sequenceid[15:0],tx_source_port_id[79:64]},第2拍为{tx_source_port_id[63:28]},第3拍为{tx_source_port_id[27:0],tx_time_stamp[79:72]},第4拍为{tx_time_stamp[71:36]},第5拍为{tx_time_stamp[35:0]}。其中:tx_message_type[3:0]表示发送回传消息类型,tx_source_port_id[79:0]表示发送回传消息的源端口ID,tx_sequenceid[15:0]表示发送回传时消息的序列号,tx_time_stamp[79:0]表示发送回传时戳信号 |
tx_back_correct_vld | 1 | 输出(O) | PCS发送回传是否加入了PCS抖动,1表示有,0表示没有。 |
本发明实施例的下行时戳管理模块10,在接收数据帧的同时,信息接收模块100无需接收时戳控制信息,只需接收同步的时戳控制信息的存储位置信息,减少了同步穿越MAC子层2的资源,利用该存储位置信息可以获得时戳控制信息,以利用该数据帧进行IEEE1588时戳管理。
如图5所示,是本发明中上行时戳管理模块11一个实施例的结构示意图;该上行时戳管理模块11用于在10G以太网中为接收的上行数据帧提取IEEE1588时戳,该上行时戳管理模块11具体包括:
信息接收模块110,用于接收数据帧;在本发明实施例中,所述数据帧可以是来自PCS中64/66B解码器的数据帧;进一步的,所述信息接收模块110还用于进行帧起始符检测,在一个例子中,可以通过rx_raw[71:0]接口接收该数据帧,其中包括64bit数据和8bit控制信息;
时戳获取模块112,用于获取接收该数据帧时的时戳,具体地,该时戳可由一个本地时钟clk_200m所产生,并进行相应调整,获得调整后的时戳;
时戳存储模块116,存储来自该时戳获取模块的调整后的时戳;
信息发送模块114,用于将该数据帧与该时戳存储模块116中存储该时戳的存储位置信息同步传送出去,在本发明实施例中,传送给PCS中异步FIFO。
进一步地,该上行时戳管理模块包括:
时戳读取模块,用于根据该存储位置信息读取存储在时戳存储模块116中的该数据帧对应的时戳。
其中,信息接收模块110进一步包括:
接收模块1100,用于接收数据帧;在本发明式实例中,所述数据帧可以是来自PCS中64/66B解码器的数据帧;
帧起始符检测模块1102,用于检测所接收的数据帧的帧起始符位置。
同时结合图6所示。本发明实施例中,该时戳获取模块112进一步包括:
时戳锁定模块1120,在该帧起始符检测模块1102检测到该上行数据帧的帧起始符时,锁定当前的时戳;
时戳调整模块1122,用于调整时戳锁定模块所锁定的当前时戳,具体地,该时戳调整模块1122可包括:
判断模块1124,用于判断在判断到该数据帧的帧起始符时的时钟拍数所处位置;
确定模块1126,用于根据判断模块1124判断到所述时钟拍数位置,确定该数据帧的调整信息,具体地,可以将32个有效时钟周期(从时钟无效的1个时钟周期之后的第1个有效时钟周期开始的连续32个时钟周期)分为32个区间,每个区间里面都要进行调整,调整值呈线性增加,第1个有效时钟周期调整值最小,第32个有效时钟周期最大,为一个161.133MHz时钟周期值。
调整模块1128,用于根据所述确定模块1126所确定的调整信息对所述锁定的当前时戳进行调整,获得调整后的时戳。
具体地,在本发明的一个实施例中,该上行时戳管理模块11中的各接口信号的含义可采用如下表2中所示:
表2
信号名称 | 长度(位) | 性质 | 说明 |
time_stamp[79:0] | 80 | 输入(I) | 时戳信号,clk_200m时钟域信号 |
rx_time_rd | 1 | 输入(I) | 接收时戳读信号 |
rx_time_rd_addr[2:0] | 3 | 输入(I) | 接收时戳读地址 |
rx_time_stamp[15:0] | 16 | 输出(O) | 接收帧的接收时戳信息,rx_time_rd有效两拍之后有效,连续5拍,第1拍为接收时戳的[79:64],第2拍为接收时戳的[63:48],第3拍为接收时戳的[47:32],第4拍为接收时戳的[31:16],第5拍为接收时戳的[15:0]。 |
本发明实施例的上行时戳管理模块11,在传送数据帧的同时,信息发送模块114无需传送时戳控制信息,只需传送时戳存储模块116中存储该时戳的存储位置信息,减少了同步穿越MAC子层2的资源,利用该存储位置信息可以获得时戳控制信息,以利用该数据帧进行IEEE1588时戳管理。
下述将对本发明在10G以太网中管理IEEE1588时戳的方法的实施例的流程示意图进行描述,可以理解的是,其中的诸如细节可以结合前述对图2至图6中的描述。
如图7所示,是本发明一种管理IEEE1588时戳的方法的一个实施例的流程示意图。通过该流程示意图,可以在10G以太网的下行数据帧中添加IEEE1588时戳,具体地该方法包括如下步骤:
步骤S800,接收数据帧以及同步的时戳控制信息的存储位置信息,在本实施例中,从PCS的异步FIFO中接收数据帧以及同步的时戳控制信息的存储位置信息。其中,时戳控制信息可以被存储在一个时戳控制信息存储模块(如RAM)中,所述时戳控制信息可以是诸如指示是否添加时戳的添加时戳指示信息、用于指示添加位置的添加位置指示信息、用于指示是否需要调整的调整指示信息、用于指示进行调整的调整值的调整值指示信息、用于指示数据帧的类型的数据帧类型指示信息、用于指示是否需要将添加的时戳回传的回传指示信息等。该数据帧是与时戳控制信息的存储位置信息同步进入MAC,并穿越异步FIFO。
步骤S802,根据该存储位置信息,获得用于对数据帧进行时戳控制的时戳控制信息;具体为:在判断到数据帧的帧起始符时,利用一个控制信号(例如帧起始符中的最高位)来决定是否需要读取时戳控制信息;当需要读取时戳控制信息时,根据存储位置信息,读取预先存储于存储位置的数据帧的时戳控制信息。从中可以看出,只需要将时戳控制信息的存储位置信息,而不需要将时戳控制信息穿越MAC子层,可以节省资源。
步骤S804,获得接收该数据帧时的时戳,根据该时戳获得需要添加的时戳,并根据该时戳控制信息将该需要添加的时戳添加至该数据帧中;具体包括:
在判断到所述数据帧的帧起始符时,利用一本地时钟(如,clk_200m时钟)锁定当前的时戳信息;
根据时戳控制信息的值,判断是否需要对该锁定的当前时戳信息进行调整,并获得需要添加的时戳;在一个实施例中,如果需要调整,则进行如下调整:在取所述锁定的当前时戳信息时,判断发送所述数据帧的物理编码子层PCS发送的时钟拍数所处位置;可以将32个有效时钟周期(从时钟无效的1个时钟周期之后的第1个有效时钟周期开始的连续32个时钟周期)分为32个区间,每个区间里面都要进行调整,调整值呈线性增加,第1个有效时钟周期调整值最小,第32个有效时钟周期最大,为一个161.133MHz时钟周期值。
根据该时钟拍数所处区间,获得所述区间所对应的调整值;
将该时戳加上该调整值,获得该添加的时戳;
如果不需要调整,则将该锁定的当前时戳信息作为需要添加的时戳;
在获得需要添加的时戳之后,则根据时戳控制信息中指示的添加位置,将该需要添加的时戳添加到该数据帧相应位置(如头域、头域后的10个字节、帧中的第30个字节开始等)中。
在此步骤之后,进一步包括:为该添加了时戳的数据帧计算生成循环冗余校验码CRC,并添加至数据帧的帧尾。
步骤S806,将添加有该时戳的数据帧发送出去,在本实施例中,该数据帧发送给PCS中64/66B编码器。需要说明,本发明实施例管理IEEE1588时戳的方法中,步骤S806是可选的,本领域普通技术可以理解,在其他式实例中可以不执行步骤S806。
可选地,在时戳控制信息指示需要回传时,则将该数据帧所添加的时戳信息回传给MAC中的控制模块。
本发明实施例的管理IEEE1588时戳的方法,在接收数据帧的同时,无需接收时戳控制信息,只需接收同步的时戳控制信息的存储位置信息,减少了同步穿越MAC子层2的资源,利用该存储位置信息可以获得时戳控制信息,以利用该数据帧进行IEEE1588时戳管理。
如图8所示,是本发明一种管理IEEE1588时戳的方法的另一个实施例的流程示意图。通过该流程示意图,可以在10G以太网的上行数据帧中提取IEEE1588时戳,具体地该方法包括如下步骤:
步骤S900,接收数据帧,在本实施例中,该数据帧可以是来自PCS中64/66B解码器解码后的数据帧,具体地可以通过rxdata[63:0]和rxlane[7:0]接收该数据帧,其中包括64bit数据和8bit控制信息;
步骤S902,获得接收该数据帧时的时戳信息并进行调整,将所述调整后的时戳信息进行存储;具体地,在判断到该数据帧的帧起始符时,pcs_rx_clk(161.133MHz)时钟域发出一个sop指示,异步处理到clk_200m时钟域,之后clk_200m锁定时戳,然后pcs_rx_clk再在时戳稳定的时候产生写信号,把时戳写入存储模块中;
并判断是否需要对该锁定的当前时戳进行调整,为该当前时戳设置调整信息。具体为:
判断在判断到帧起始符时的时钟拍数所处位置;
根据该时钟拍数所处区间,获得该区间所对应的调整值,具体地,可以将32个有效时钟周期(从时钟无效的1个时钟周期之后的第1个有效时钟周期开始的连续32个时钟周期)分为32个区间,每个区间里面都要进行调整,调整值呈线性增加,第1个有效时钟周期调整值最小,第32个有效时钟周期最大,为一个161.133MHz时钟周期值;
将所述时戳减去该调整值,获得调整后的时戳信息,并存储。
步骤S904,将该数据帧与记录存储该调整后的时戳信息的该存储位置信息同步传送出去,在本实施例中,传送给PCS中的异步FIFO,具体地,可通过rxdata[63:0]、rxlane[7:0]和rxtimes_addr[2:0]接口进行传送;
步骤S906,根据该存储位置信息读取存储的时戳。
本发明实施例的管理IEEE1588时戳的方法,在传送数据帧的同时,无需传送时戳控制信息,只需传送存储该时戳的存储位置信息,减少了同步穿越MAC子层2的资源,利用该存储位置信息可以获得时戳控制信息,以利用该数据帧进行IEEE1588时戳管理。
综上,本发明实施例,利用时戳控制信息,可以很方便地将发送(或接收)数据帧时的时戳很方便并精确地添加到该数据帧中,或从该数据帧中提取出来。同时,利用时戳存储模块存储时戳以及时戳控制信息,在传送数据帧的同时,无需传送时戳控制信息,只需传送时戳控制信息的存储位置信息,减少了同步穿越MAC子层的资源,利用该存储位置信息可以获得时戳控制信息,以利用该数据帧进行IEEE1588时戳管理。另外,通过采用对锁定的时戳进行调整,可以提高时戳添加和提取的精度,例如,在一个实施例中,可以将精度控制在clk_200m的一个时钟周期内(如,5ns)。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Radom Access Memory,RAM)等。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (20)
1、一种管理IEEE1588时戳的方法,其特征在于,所述方法包括步骤:
接收数据帧以及同步的时戳控制信息的存储位置信息;
根据所述存储位置信息,获得用于对所述数据帧进行时戳控制的时戳控制信息;
获得接收所述数据帧时的时戳,根据所述时戳获得需要添加的时戳,并根据所述时戳控制信息将所述需要添加的时戳添加至所述数据帧中。
2、如权利要求1所述的方法,其特征在于,所述获得接收所述数据帧时的时戳,根据所述时戳获得需要添加的时戳,并根据所述时戳控制信息将所述需要添加的时戳添加至所述数据帧中的步骤进一步包括:
在判断到所述数据帧的帧起始符时,锁定当前的时戳信息;
判断是否需要对所述锁定的当前时戳信息进行调整,在判断到需要进行调整时,则调整所述当前时戳信息获得需要添加的时戳;否则将所述当前时戳信息作为需要添加的时戳;
根据时戳控制信息中指示的添加位置,将所述需要添加的时戳添加到所述数据帧相应位置中。
3、如权利要求2所述的方法,其特征在于,所述判断是否需要对所述锁定的当前时戳信息进行调整,并获得需要添加的时戳的步骤具体为:
在获取所述锁定的当前时戳信息时,判断发送所述数据帧的物理编码子层PCS发送的时钟拍数所处位置;
根据所述时钟拍数所处位置,获得所述位置所对应的调整值;
将所述时戳加上所述调整值,获得需要添加的时戳。
4、一种管理IEEE1588时戳的方法,其特征在于,包括:
接收数据帧;
获得接收所述数据帧时的时戳信息并进行调整,将所述调整后的时戳进行存储;
将所述数据帧与记录存储所述调整后的时戳的存储位置信息同步传送出去。
5、如权利要求4所述的方法,其特征在于,所述获得接收所述数据帧时的时戳信息的步骤进一步包括:
在判断到所述数据帧的帧起始符时,获得锁定的当前时戳;
判断是否需要对所述锁定的当前时戳进行调整,为所述当前时戳设置调整信息。
6、如权利要求5所述的方法,其特征在于,所述判断是否需要对所述锁定的当前时戳进行调整,为所述当前时戳设置调整信息的步骤具体为:
判断在判断到帧起始符时的时钟拍数所处位置;
根据所述时钟拍数所处位置,获得所述位置所对应的调整值;
将所述时戳减去所述调整值,获得调整后的时戳。
7、一种下行时戳管理模块,用于管理IEEE1588时戳,其特征在于,所述下行时戳管理模块包括:
信息接收模块,用于接收数据帧以及同步的时戳控制信息的存储位置信息;
时戳控制信息存储模块,用于存储对所述数据帧进行时戳控制的时戳控制信息;
时戳获取模块,用于获取接收所述数据帧时的时戳,并根据所述时戳获得需要添加的时戳;
时戳***模块,用于根据所述时戳控制信息的存储位置信息所对应的所述时戳控制信息存储模块中的时戳控制信息,将所述时戳获取模块获取的需要添加的时戳添加至所述数据帧中。
8、如权利要求7所述的模块,其特征在于,所述时戳控制信息至少包括添加时戳指示信息、添加位置指示信息以及调整值指示信息。
9、如权利要求7或8所述的模块,其特征在于,所述信息接收模块进一步包括:
接收模块,用于接收数据帧以及同步的时戳控制信息的存储位置信息;
帧起始符检测模块,用于检测所述接收模块所接收的数据帧的帧起始符位置。
10、如权利要求9所述的模块,其特征在于,所述时戳获取单元进一步包括:
时戳锁定模块,在所述帧起始符检测模块检测到所述数据帧的帧起始符时,锁定当前的时戳信息;
时戳调整模块,用于确定对时戳锁定模块所锁定的当前的时戳信息进行调整,获得需要添加的时戳。
11、如权利要求10所述的模块,其特征在于,所述时戳调整模块进一步包括:
判断模块,用于判断发送所述数据帧的物理编码子层PCS发送的时钟拍数所处位置;
确定模块,用于根据所述判断模块判断到所述时钟拍数位置,确定所述数据帧的调整值;
调整模块,用于根据确定模块所确定的调整值,对所述锁定的当前时戳信息进行调整,获得需要添加的时戳。
12、一种时戳管理***,包括异步FIFO,其特征在于,所述***还包括:
下行时戳管理模块,用于接收来自所述异步FIFO的数据帧以及同步的时戳控制信息的存储位置信息,根据所述存储位置信息获得用于对所述数据帧进行时戳控制的时戳控制信息,获得接收所述数据帧时的时戳,根据所述时戳获得需要添加的时戳,并根据所述时戳控制信息将所述需要添加的时戳添加至所述数据帧中。
13、如权利要求12所述的***,其特征在于,所述下行时戳管理模块进一步包括:
信息接收模块,用于接收来自所述异步FIFO的数据帧以及同步的时戳控制信息的存储位置信息;
时戳控制信息存储模块,用于存储对所述数据帧进行时戳控制的时戳控制信息;
时戳获取模块,用于获取接收所述数据帧时的时戳,并根据所述时戳获得需要添加的时戳;
时戳***模块,用于根据所述时戳控制信息的存储位置信息所对应的所述时戳控制信息存储模块中的时戳控制信息,将所述时戳获取模块获取的需要添加的时戳添加至所述数据帧中。
14、一种上行时戳管理模块,用于管理IEEE1588时戳,其特征在于,所述上行时戳管理模块包括:
信息接收模块,用于接收数据帧;
时戳获取模块,用于获取接收所述数据帧时的时戳,并进行相应调整,获得调整后的时戳;
时戳存储模块,存储来自所述时戳获取模块的调整后的时戳;
信息发送模块,用于将所述数据帧与所述时戳存储模块中存储所述时戳的存储位置信息同步传送出去。
15、如权利要求14所述的模块,其特征在于,所述信息接收模块进一步包括:
接收模块,用于接收数据帧;
帧起始符检测模块,用于检测所述接收模块所接收的数据帧的帧起始符位置。
16、如权利要求15所述的模块,其特征在于,所述时戳获取单元进一步包括:
时戳锁定模块,在所述帧起始符检测模块检测到所述数据帧的帧起始符时,锁定当前的时戳;
时戳调整模块,用于调整所述时戳锁定模块所锁定的当前时戳,获得调整后的时戳。
17、如权利要求16所述的模块,其特征在于,所述时戳调整模块进一步包括:
判断模块,用于判断在判断到所述数据帧的帧起始符时的时钟拍数所处位置;
确定模块,用于根据所述判断模块判断到所述时钟拍数所处位置,确定所述数据帧的调整信息;
调整模块,用于根据所述确定模块所确定的调整信息对所述锁定的当前时戳进行调整,获得调整后的时戳。
18、如权利要求14至17任一项所述的模块,其特征在于,所述上行时戳管理模块进一步包括:
时戳读取模块,用于根据所述存储位置信息读取存储在所述时戳存储模块中的所述数据帧对应的时戳。
19、一种时戳管理***,包括异步FIFO,其特征在于,所述***还包括:
上行时戳管理模块,用于接收数据帧,获得接收所述数据帧时的时戳信息并进行调整,存储调整后的时戳,将所述数据帧与记录存储所述调整后的时戳的存储位置信息同步传送出去。
20、如权利要求19所述的***,其特征在于,所述上行时戳管理模块进一步包括:
信息接收模块,用于接收数据帧;
时戳获取模块,用于获取接收所述数据帧时的时戳,并进行相应调整,获得调整后的时戳;
时戳存储模块,存储来自所述时戳获取模块的调整后的时戳;
信息发送模块,用于将所述数据帧与所述时戳存储模块中存储所述时戳的存储位置信息同步传送给所述异步FIFO。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009100367096A CN101478359B (zh) | 2009-01-16 | 2009-01-16 | 一种管理ieee1588时戳的方法、装置及*** |
US12/638,612 US8320412B2 (en) | 2009-01-16 | 2009-12-15 | Method, device and system for managing timestamp |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009100367096A CN101478359B (zh) | 2009-01-16 | 2009-01-16 | 一种管理ieee1588时戳的方法、装置及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101478359A true CN101478359A (zh) | 2009-07-08 |
CN101478359B CN101478359B (zh) | 2013-01-23 |
Family
ID=40838995
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009100367096A Active CN101478359B (zh) | 2009-01-16 | 2009-01-16 | 一种管理ieee1588时戳的方法、装置及*** |
Country Status (2)
Country | Link |
---|---|
US (1) | US8320412B2 (zh) |
CN (1) | CN101478359B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102783079A (zh) * | 2010-03-02 | 2012-11-14 | 维特赛半导体公司 | 基于包的分布式时间戳引擎 |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8649398B2 (en) * | 2011-03-14 | 2014-02-11 | Xilinx, Inc. | Packet network interface apparatus and method |
US20130311488A1 (en) * | 2012-01-06 | 2013-11-21 | Citus Data Bilgi Islemleri Ticaret A.S. | Time Stamp Bounded Addition of Data to an Append-Only Distributed Database Table |
US9753999B2 (en) | 2012-01-06 | 2017-09-05 | Citus Data Bilgi Islemieri Ticaret A.S. | Distributed database with mappings between append-only files and repartitioned files |
US10860563B2 (en) | 2012-01-06 | 2020-12-08 | Microsoft Technology Licensing, Llc | Distributed database with modular blocks and associated log files |
WO2014127519A1 (en) * | 2013-02-22 | 2014-08-28 | Telefonaktiebolaget L M Ericsson(Publ) | Time synchronous pluggable transceiver |
US9541947B2 (en) | 2013-08-07 | 2017-01-10 | General Electric Company | Time protocol based timing system for time-of-flight instruments |
US10164733B2 (en) * | 2014-06-30 | 2018-12-25 | International Business Machines Corporation | Integrated physical coding sublayer and forward error correction in networking applications |
US9906782B2 (en) * | 2015-01-14 | 2018-02-27 | Cinder LLC | Source agnostic audio/visual analysis framework |
US10541770B2 (en) | 2017-02-06 | 2020-01-21 | Valens Semiconductor Ltd. | Efficient recovery of lost packets using double parity forward error correction |
CN107257277A (zh) * | 2017-05-11 | 2017-10-17 | 杭州航海仪器有限公司 | 串行帧同步多型锁定控制方法 |
CN111460198B (zh) * | 2019-01-18 | 2023-06-20 | 阿里巴巴集团控股有限公司 | 一种图片时间戳的审核方法及装置 |
CN114142959A (zh) * | 2021-12-16 | 2022-03-04 | 深圳市太铭科技有限公司 | 一种基于ptp协议的快速高精度时间同步*** |
CN114446329B (zh) * | 2021-12-29 | 2023-08-22 | 中国船舶重工集团公司第七一五研究所 | 基于异步时间戳的主动声纳数据记录回放方法及装置 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5010560A (en) * | 1989-01-17 | 1991-04-23 | Marconi Instruments, Inc. | Data logging apparatus |
US7080160B2 (en) * | 2000-04-27 | 2006-07-18 | Qosmetrics, Inc. | Method for creating accurate time-stamped frames sent between computers via a network |
JP3748204B2 (ja) * | 2000-11-27 | 2006-02-22 | 三菱電機株式会社 | 周期制御同期システム |
US7139784B2 (en) * | 2003-07-29 | 2006-11-21 | Hewlett-Packard Development Company, L.P. | Dead timestamp identification and elimination |
US7649912B2 (en) * | 2005-04-27 | 2010-01-19 | Rockwell Automation Technologies, Inc. | Time synchronization, deterministic data delivery and redundancy for cascaded nodes on full duplex ethernet networks |
JP4455474B2 (ja) * | 2005-11-04 | 2010-04-21 | 株式会社東芝 | タイムスタンプ更新装置及びタイムスタンプ更新プログラム |
JP2007208615A (ja) * | 2006-02-01 | 2007-08-16 | Konica Minolta Business Technologies Inc | 情報処理装置、動作制御方法及び操作インターフェイス |
JP2007243574A (ja) * | 2006-03-08 | 2007-09-20 | Konica Minolta Business Technologies Inc | タイムスタンプ取得装置、タイムスタンプ取得方法及びタイムスタンプ取得プログラム |
US8036202B2 (en) * | 2006-07-27 | 2011-10-11 | Cisco Technology, Inc. | Physical layer transceiver with integrated time synchronization |
FI119310B (fi) * | 2006-10-02 | 2008-09-30 | Tellabs Oy | Menetelmä ja laitteisto aikaleimainformaation siirtämiseksi |
CN101330342B (zh) * | 2008-07-30 | 2011-11-30 | 中兴通讯股份有限公司 | 一种用端口镜像实现时间同步协议的方法及其装置 |
US20100138588A1 (en) * | 2008-12-02 | 2010-06-03 | Silicon Storage Technology, Inc. | Memory controller and a method of operating an electrically alterable non-volatile memory device |
-
2009
- 2009-01-16 CN CN2009100367096A patent/CN101478359B/zh active Active
- 2009-12-15 US US12/638,612 patent/US8320412B2/en active Active
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102783079A (zh) * | 2010-03-02 | 2012-11-14 | 维特赛半导体公司 | 基于包的分布式时间戳引擎 |
CN102783079B (zh) * | 2010-03-02 | 2015-09-02 | 维特赛半导体公司 | 基于包的分布式时间戳引擎 |
Also Published As
Publication number | Publication date |
---|---|
US20100183035A1 (en) | 2010-07-22 |
US8320412B2 (en) | 2012-11-27 |
CN101478359B (zh) | 2013-01-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101478359A (zh) | 一种管理ieee1588时戳的方法、装置及*** | |
US10887211B2 (en) | Indirect packet classification timestamping system and method | |
CN110224775B (zh) | 一种时间信息确定的方法、装置及设备 | |
US7620075B2 (en) | Serial communication system with baud rate generator | |
RU2603534C2 (ru) | Способ и устройство для последовательной передачи данных с гибким размером сообщений и переменной длительностью бита | |
KR101885935B1 (ko) | 전환 가능한 데이터 전송 속도에서의 직렬 데이터 전송을 위한 방법 및 그 장치 | |
RU2597501C2 (ru) | Способ и устройство для последовательной передачи данных с гибким размером сообщений и переменной длительностью бита | |
US8675742B2 (en) | Method and system for synchronously transmitting asynchronous data | |
WO2016054245A1 (en) | Confirming data accuracy in a distributed control system | |
CN104113517A (zh) | 时间戳生成方法、装置及*** | |
JP2002374231A (ja) | ネットワーク同期方法、lsi、バスブリッジ、ネットワーク機器、およびプログラム | |
US20080279173A1 (en) | Method to Synchronize Receiver's Clock to Transmitter's Clock at Sub-100Nsec | |
CN107148760B (zh) | 将帧经由总线***从发送器串行传输至至少一个接收器的方法和用于总线***的参与站 | |
US11962409B2 (en) | User station for a serial bus system, and method for communicating in a serial bus system | |
CN103973406A (zh) | 一种控制器局域网总线的提速方法 | |
CN107517069B (zh) | 跳频同步的方法、装置、接收机以及发射机 | |
US20130308712A1 (en) | Clock synchronization method, apparatus, and system | |
EP2359538B1 (en) | Method for adjusting time slots in a communication network | |
US11700143B2 (en) | User station for a serial bus system, and method for communicating in a serial bus system | |
US20140307562A1 (en) | Packet loss counter | |
US9094911B2 (en) | Data communication system, method of optimizing preamble length, and communication apparatus | |
CN101626320A (zh) | 一种通道环回检测方法及装置 | |
US7813382B2 (en) | Method and system for time synchronization in communication networks | |
CN102457431B (zh) | 信元传输方法及装置 | |
TW201310246A (zh) | 具有可變通之訊息大小及可變位元長度之串聯資料傳輸的方法與裝置(三) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |