报文发送方法和装置制造方法

文档序号:7771130阅读:124来源:国知局
报文发送方法和装置制造方法
【专利摘要】本发明实施例提供一种报文发送方法和装置。本发明的报文发送方法包括:从物理层接收的业务报文,若业务报文包括数据报文,则将数据报文发送给物理层芯片;若业务报文中包括同步报文,则在物理层芯片的唤醒周期内将同步报文发送给所述物理层芯片。本发明实施例通过识别业务报文中的同步报文,通过时间戳模块将同步报文在物理层芯片唤醒周期发送,从而使普通物理层芯片也可以实现对同步报文的识别和发送。
【专利说明】报文发送方法和装置
【技术领域】
[0001 ] 本发明实施例涉及信息【技术领域】,尤其涉及一种报文发送方法和装置。
【背景技术】
[0002]在通信网络中,时间同步网是必不可少的一个组成部分,不同的业务对同步有着不同的要求。IEEE1588是一种精确时间同步协议,其基本思想是通过设备软硬件配合,利用网络的对称性和延时测量技术,记录同步时钟信息的发出时间和接收时间,并且给每一条信息加上时间标签。有了时间记录,接收方就可以计算出自己在网络中的时间误差和延时,从而实现网络上从设备的内时钟和主控机的主时钟同步。
[0003]节能以太网(EEE,Energy Efficient Ethernet)是随着人们对节能的需要而发展起来的,其特点是在网络空闲的时间内关闭以太网物理层(PHY)芯片的某些功能,不进行包括空闲报文在内的报文传输。当有非空闲报文传输时,唤醒PHY芯片,由于唤醒需要一定的时间,PHY芯片需要一个大的缓冲区来缓存唤醒期间的报文。如果IEEE1588同步报文在PHY芯片唤醒期间发送,则会被缓存到PHY芯片内部的大的缓冲区内,如果IEEE1588同步报文在PHY芯片正常工作模式下发送,则不会累积到大的缓冲区内。由此会产生不确定的路径延时。对于普通的PHY芯片,IEEE1588同步报文的发送是在PHY芯片满负荷工作的状态还是较空闲的状态,也会使同步报文产生不同的路径延时。为了解决PHY芯片内部缓冲区对路径延时的影响,特别是支持节能以太网功能的PHY芯片对IEEE1588协议的影响,许多芯片厂商推出了同时支持IEEE1588协议和节能以太网功能的PHY芯片,其实现的主要方式是在PHY芯片内部增加了时间戳模块,当同步报文从缓冲区读出后重新定义时间戳信息。
[0004]这种方法解决了 IEEE1588协议和节能以太网的兼容性问题,但按照这种方法,如果要支持这两种功能就必须选用同时支持这两种协议的PHY芯片,如果PHY芯片不支持IEEE1588协议,则导致PHY芯片无法识别和发送IEEE1588协议的同步报文。

【发明内容】

[0005]本发明实施例提供一种报文发送方法和装置,通过时间戳模块将IEEE1588同步报文在物理层芯片唤醒状态下发送,解决了普通物理层芯片对IEEE1588协议的同步报文的兼容问题。
[0006]本发明第一方面提供一种报文发送方法,包括:
[0007]从物理层接收的业务报文;
[0008]若所述业务报文包括数据报文,则将所述数据报文发送给物理层芯片;若所述业务报文中包括同步报文,则在所述物理层芯片的唤醒周期内将所述同步报文发送给所述物理层芯片。
[0009]本发明第二方面提供一种报文发送装置,包括:
[0010]报文缓存模块,用于从物理层接收的业务报文;
[0011]时间戳模块,用于若所述业务报文包括数据报文,则将所述数据报文发送给物理层芯片;若所述业务报文中包括同步报文,则在所述物理层芯片的唤醒周期内将所述同步报文发送给所述物理层芯片。
[0012]本发明实施例报文发送方法和装置,通过判断业务报文中是否有同步报文,则唤醒物理层芯片,将同步报文在物理层芯片唤醒状态下发送,从而使普通物理层芯片也可以实现对同步报文的识别。
【专利附图】

【附图说明】
[0013]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0014]图1为本发明报文发送方法实施例一的流程图;
[0015]图2为本发明报文发送方法实施例二的流程图;
[0016]图3为本发明报文发送装置实施例一的结构示意图;
[0017]图4为本发明报文发送装置实施例二的结构示意图;
【具体实施方式】
[0018]为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0019]图1为本发明报文发送方法实施例一的流程图,本发明所涉及的同步报文,可以是IEEE1588同步报文。同步报文在物理层(PHY)芯片休眠周期发送,同步报文会被缓存到PHY芯片内部的容量较大的缓冲区内,会产生不确定的路径延时,而同步报文在PHY芯片唤醒周期发送,则不会累积到容量大大的缓冲区内,从而避免产生路径延时。如图1所示,本实施例的方法包括:
[0020]步骤101、从物理层接收业务报文;
[0021]其中,物理层可以是物理层芯片,也可以是其他设备,缓存区域从物理层接收到的待发送的报文,也就是业务报文,可能来源于本端的物理层芯片的其他端口,也可以是对端设备发送的业务报文,也可以是从其他连接的端口得到的业务报文。
[0022]步骤102、若业务报文包括数据报文,将数据报文发送给物理层芯片;若业务报文中包括同步报文,在物理层芯片的唤醒周期内将同步报文发送给物理层芯片。
[0023]对上一步所接收到的待发送的业务报文,通过报文关键字匹配来确定该报文中是否包括数据报文,或者包括同步报文。可以分别对数据报文和同步报文进行缓存。例如:可以将数据报文,缓存在数据报文缓冲区Buf内;可以将同步报文缓冲在同步报文缓冲区Syn_buf内;数据报文在物理层芯片休眠周期或者唤醒周期都可以发送,同步报文需要通过时间戳模块择机发送,即检测物理层芯片是否在休眠周期,如果在休眠周期,需要发送正常的数据报文或者冗余报文来唤醒物理层(PHY)芯片,然后进行同步报文的发送。
[0024]本发明报文发送方法实施例通过判断业务报文中是否有同步报文,则唤醒物理层芯片,将同步报文在物理层芯片唤醒状态下发送,从而使普通物理层芯片也可以实现对同步报文的识别。
[0025]图2为本发明报文发送方法实施例二的流程图。本实施例方法适用于一端设备为普通物理层(PHY)芯片,也适用于两端设备中都为普通PHY芯片的报文发送中,具体的包括如下步骤:
[0026]步骤201、业务报文中是否有同步报文;
[0027]缓存区从物理设备端口接收到待发送的业务报文,通过报文关键字匹配,将数据报文,缓存在数据报文缓冲区Buf内,如果业务报文中有同步报文,将同步报文缓冲在同步报文缓冲区Syn_buf内。
[0028]步骤202、暂停数据报文的发送;
[0029]因为普通数据报文可以在PHY芯片休眠周期或者唤醒周期发送,若在同步报文缓冲区Syn_buf中检测到业务报文中有同步报文,需要暂停将数据报文发送给PHY芯片。
[0030]步骤203、将数据报文发送给物理层芯片;
[0031]若没有检测到有同步报文,则将数据报文发送给PHY芯片,具体的还包括如下两个步骤来实现:
[0032]步骤21、对数据报文进行循环冗余CRC校验;可选的,对于数据报文,也可以不进行CRC校验。
[0033]步骤22、将校验后的数据报文通过FIFO缓冲区发送给物理层芯片。
[0034]媒介访问控制MAC主要实现数据链路层的功能,MAC模块中在接收侧和发送侧都存在先入先出阵列(FIFO)缓冲区,FIFO空满状态或即将空/即将满的状态可以由用户通过寄存器的方式进行设定,而这些状态信息可以通过一些信号线实时的获取。
[0035]步骤204、物理层芯片是否为休眠状态;
[0036]串行数据总线MDIO接口,MDIO接口由管理数据时钟的MDC和MDIO两个信号线组成,MDC为时钟信号线,MDIO为数据总线。802.3标准中对MDC信号最小周期要求为400ns,因此本发明定义MDC时钟频率为2.5MHz。MDIO控制逻辑连接PHY芯片中的MDIO接口,通过MDIO标准定义的串行码流可以读写PHY芯片的内部寄存器,对PHY工作模式进行配置或获取PHY的工作状态等。检测到有同步报文,暂停了数据报文的发送,在发送数据报文之前,需要通过MDIO接口检测PHY芯片是否处于休眠周期。
[0037]步骤205、将同步报文发送给物理芯片;
[0038]若检测到PHY芯片没有在休眠周期,则在物理层芯片的唤醒周期内将同步报文发送给PHY芯片。通过下述两个步骤来完成。
[0039]步骤23、对同步报文生成CRC校验码;
[0040]步骤24、将同步报文通过FIFO缓冲区发送给物理层芯片。
[0041]步骤206、数据报文是否发送完成;
[0042]若检测到PHY在休眠周期是,需要检测Buf中存在普通数据报文,在暂停数据报文发送的时候,有可能数据报文已经发送完,有可能还没有发送完。
[0043]步骤25、发送一帧数据报文;若检测Buf中还有数据报文未发送完,则逐帧发送普通数据报文直至PHY的工作状态更改为正常模式,然后再检测MAC中FIFO的空满状态,当MAC发送FIFO为空,并且等待一个固定时间(可计算,可配置),待PHY中的缓冲区也被读空时,再发送Sync_buf中的同步报文。
[0044]步骤26、发送一帧冗余报文。若检测出Buf中没有普通的数据报文发送时,则需要逐帧发送CRC模块产生的冗余报文,以唤醒PHY芯片的工作状态至唤醒周期,而且不增加链路的传输负担。
[0045]执行完上述两个步骤25、26之后,PHY芯片被唤醒,然后重复执行步骤205,将Sync_buf中缓存的同步报文发送至PHY芯片。
[0046]本实施例通过判断业务报文中是否有同步报文,唤醒物理层芯片,将同步报文在物理层芯片唤醒状态下发送,使得只支持节能以太网的普通PHY芯片也可以实现对同步报文的识别和发送。
[0047]图3为本发明报文发送装置实施例一的结构示意图,该装置包括:
[0048]报文缓存模块31,用于从物理层接收业务报文;
[0049]时间戳模块32,用于若业务报文包括数据报文,则将数据报文发送给物理层芯片;若业务报文中包括同步报文,则在物理层芯片的唤醒周期内将同步报文发送给物理层芯片。
[0050]可选的,时间戳模块32具体用于:
[0051]若业务报文包括数据报文,则在物理层芯片的休眠周期和/或唤醒周期内将数据报文发送给物理层芯片。
[0052]可选的,若业务报文中包括同步报文和数据报文,则在物理层芯片的唤醒周期内将同步报文发送给物理层芯片之前,时间戳模块32还用于:
[0053]暂停将普通报文发送给物理层芯片;
[0054]若物理层芯片为休眠周期,则唤醒物理层芯片。
[0055]可选的,本发明报文发送装置还包括:
[0056]冗余校验模块33,用于将数据报文发送给物理层芯片之前,还包括:对数据报文进行循环冗余CRC校验;
[0057]在物理层芯片的唤醒周期内将同步报文发送给物理层芯片之前,还包括:对同步报文生成CRC校验码。
[0058]可选的,时间戳模块32还用于:
[0059]若所述数据报文未完全发送给所述物理层芯片,则发送所述数据报文,唤醒物理层芯片;
[0060]否则,则发送CRC生成的冗余报文,唤醒物理层芯片。
[0061]可选的,本发明报文发送装置还包括:
[0062]MAC模块34,用于将通过CRC校验的数据报文通过FIFO缓冲区发送给物理层芯片;
[0063]将生成CRC校验码的同步报文通过FIFO缓冲区发送给物理层芯片。
[0064]本实施例提供的报文发送装置,与本发明图1、图2提供的方法实施例相对应,为方法的执行主体,因此该装置执行报文发送过程可参见方法实施例,在此不再赘述。
[0065]图4为本发明报文发送装置实施例二的结构示意图。本实施例中详细描述了本发明报文发送装置的实体结构。具体的包括:
[0066]其中,图4中的缓存区对应图3所示实施例中的报文缓存模块,时间戳模块TSU对应图3中时间戳模块,冗余校验模块CRC对应图3冗余校验模块,媒介访问控制模块对应图3中MAC模块。
[0067]监控模块通过数据总线MDIO接口实时的读取物理层(PHY)芯片的工作模式,确定其工作在唤醒周期,还是工作在低功耗的休眠周期,并将结果反馈给时间戳TSU模块。时钟总线MDC时钟信号的频率为2.5MHz,以确保监控模块能快速确定PHY芯片的工作状态。
[0068]MAC模块通过中央处理器CPU接口信号配置内部的寄存器,使TSU模块能实时的通过信号线获取MAC模块中先入先出阵列FIFO缓冲区的空满状态。
[0069]同步报文检测是由Sync_parse模块实现的,其记录同步报文发送或到达的时间,上报给CPU模块,或是计算主从设备时钟偏移,或是送给TSU模块做驻留时间的计算使用。
[0070]时间解析模块TPU解析接收的同步报文,提取报文中包含的对端设备的发送此报文的时间,送给CPU模块,用来计算主从设备的时钟偏移。
[0071]TSU模块之前设有两个缓冲区,分别为Buf和Sync_buf,分别缓存普通数据报文和IEEE1588同步报文。
[0072]TSU模块识别Sync_buf中同步报文的类型,对于端对端(peer)延时机制的同步报文(用于计算端对端的路径延时),TSU模块不更改报文内容,选择时机进行发送,同时CRC模块旁路,不进行冗余校验码的重新计算。对于具有correctfield域的同步报文,TSU模块会根据报文的到达时间,和即将发送的时间,以及固定的MAC模块FIFO的延时,修正到correctfield域,表明了此同步报文在本设备内部的驻留时间,此报文的的发送也是择机发送,同时CRC模块会重新计算冗余校验码。
[0073]TSU模块会根据Detect模块获取的PHY状态信息,以及Buf和Sync_buf中的状态发送冗余报文,目的是更改PHY芯片的状态,使其由低功耗的空闲状态进入正常的数据发送状态,TSU模块发送的冗余报文在经过CRC模块时会插入一个错误的校验码,目的是让其在交换设备中被丢弃,不增加线路的负担。
[0074]TSU模块的择机发送同步报文的流程如图2所示,具体的:当同步报文缓冲区Sync_buf中有同步报文待发送时,检测Buf缓冲区是否要溢出,如果要溢出,且Sync_buf也将要溢出,那么先发送Sync_buf中的同步报文,普通报文则丢弃;如果Buf没有即将溢出,那么暂停Buf中普通报文的发送,准备发送Sync_buf中的同步报文。发送同步报文时先检测PHY的工作状态,如果PHY处于低功耗的休眠周期时,而且Buf中存在普通数据报文,则发送普通数据报文直至PHY的工作状态更改为唤醒周期,然后再检测MAC模块中FIFO的空满状态,当MAC发送FIFO为空,并且等待一个固定时间(可计算,可配置),待PHY中的缓冲区也被读空时,再发送Sync_buf中的同步报文;上述如果Buf中没有普通的数据报文发送时,TSU模块制造出CRC校验错误的冗余报文,以激活PHY芯片的工作状态至唤醒周期,而且不增加链路的传输负担。
[0075]本实施例提供的报文发送装置,与本发明图1、图2提供的方法实施例相对应,为方法的执行主体,因此该装置执行报文发送过程可参见方法实施例,在此不再赘述。
[0076]本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:R0M、RAM、磁碟或者光盘等各种可以存储程序代码的介质。[0077]最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
【权利要求】
1.一种报文的发送方法,其特征在于,包括: 从物理层接收业务报文; 若所述业务报文包括数据报文,则将所述数据报文发送给物理层芯片;若所述业务报文中包括同步报文,则在所述物理层芯片的唤醒周期内将所述同步报文发送给所述物理层芯片
2.根据权利要求1所述的方法,其特征在于,若所述业务报文包括数据报文,则将所述数据报文发送给所述物理层芯片,具体包括: 若所述业务报文包括数据报文,则在所述物理层芯片的休眠周期和/或唤醒周期内将所述数据报文发送给所述物理层芯片。
3.根据权利要求1或2所述的方法,其特征在于,若所述业务报文中包括同步报文和数据报文,则在所述物理层芯片的唤醒周期内将所述同步报文发送给所述物理层芯片之前,还包括: 暂停将所述数据报文发送给所述物理层芯片; 若物理层芯片为休眠周期,则唤醒所述物理层芯片。
4.根据权利要求3所述的方法,其特征在于,所述将所述数据报文发送给所述物理层芯片之前,还包括:对所述数据报文进行循环冗余CRC校验; 所述在所述物理层芯片的唤醒周期内将所述同步报文发送给所述物理层芯片之前,还包括:对所述同步报文生成CRC校验码。
5.根据权利要求4所述的方法,其特征在于,所述唤醒所述物理层芯片包括: 若所述数据报文未完全发送给所述物理层芯片,则发送所述数据报文,唤醒物理层芯片; 否则,则发送生成的CRC冗余报文,唤醒物理层芯片。
6.根据权利要求4所述的方法,其特征在于,所述对所述数据报文进行循环冗余CRC校验之后,还包括:将通过CRC校验的所述数据报文通过FIFO缓冲区发送给所述物理层芯片; 所述对所述同步报文生成CRC校验码之后,还包括:将所述生成CRC校验码的所述同步报文通过FIFO缓冲区发送给所述物理层芯片。
7.一种报文的发送装置,其特征在于,包括: 报文缓存模块,用于从物理层接收业务报文; 时间戳模块,用于若所述业务报文包括数据报文,则将所述数据报文发送给物理层芯片;若所述业务报文中包括同步报文,则在所述物理层芯片的唤醒周期内将所述同步报文发送给所述物理层芯片。
8.根据权利要求7所述的装置,其特征在于,所述时间戳模块具体用于: 若所述业务报文包括数据报文,则在所述物理层芯片的休眠周期和/或唤醒周期内将所述数据报文发送给所述物理层芯片。
9.根据权利要求7或8所述的装置,其特征在于,若所述业务报文中包括同步报文和数据报文,则在所述物理层芯片的唤醒周期内将所述同步报文发送给所述物理层芯片之前,所述时间戳模块还用于: 暂停将所述普通报文发送给所述物理层芯片;若物理层芯片为休眠周期,则唤醒所述物理层芯片。
10.根据权利要求9所述的装置,其特征在于,还包括: 冗余校验模块,用于将所述数据报文发送给所述物理层芯片之前,还包括:对所述数据报文进行循环冗余CRC校验; 所述在所述物理层芯片的唤醒周期内将所述同步报文发送给所述物理层芯片之前,还包括:对所述同步报文生成CRC校验码。
11.根据权利要求9所述的装置,其特征在于,所述时间戳模块还用于: 若所述数据报文未完全发送给所述物理层芯片,则发送所述数据报文,唤醒物理层芯片; 否则,则发送生成的CRC冗余报文,唤醒物理层芯片。
12.根据权利要求10所述的装置,其特征在于,还包括: MAC模块,用于将通过CRC校验的所述数据报文通过FIFO缓冲区发送给所述物理层芯片; 将所述生成CRC校`验码的所述同步报文通过FIFO缓冲区发送给所述物理层芯片。
【文档编号】H04L7/00GK103490995SQ201310432294
【公开日】2014年1月1日 申请日期:2013年9月22日 优先权日:2013年9月22日
【发明者】齐洪钢 申请人:中国科学院大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1