在微波系统中传输1588v2报文的方法
技术领域
本发明涉及微波传输领域,特别是涉及一种利用数字微波传输系统替代光纤,串接在PTN(Package Transport Network,分组传输网)设备之间传输1588v2报文时,使系统传送过程中含有1588v2报文的以太网帧透传时延保持固定的方法。
背景技术
数字微波传输系统是移动通信系统接入网中的重要补充设备。可以在光纤不方便铺设的场景下,替代光纤进行传输,主要起到了延拓PTN设备覆盖范围和消除盲区的作用,目前运营商已经大量部署及应用。
IEEE 1588v2规定了业界主流的精准时钟同步协议,其利用网络通信、本地计算、分布式对象等技术在计量和控制系统中实现精准同步时钟的协议。它能够应用于支持多播的局域网的通信,包括但并不局限于以太网,可以利用最小的网络和本地计算资源来达到亚微秒级精度的系统级同步。
由于PTN设备支持1588v2同步技术,1588v2同步技术实现的前提要求就是含有1588v2报文的以太网帧在来回链路之中传递的时延需要是对等的,而含有1588v2报文的以太网帧混合在PTN设备传输的其他相关以太网帧之中,因此利用微波传输设备替代光纤传输PTN相关信号时也应该满足含有1588v2报文的以太网帧在微波设备中的来回链路时延固定并且对称,才能在应用过程中不影响PTN设备之间的1588v2协议的实现。而在传统数字微波设备中,在接收数据包后本端重新组帧通过调制等过程,数字信号由基带转变到中频,再到射频,最后由无线微波链路传输到对端微波接收,反向恢复成射频,中频到基带等过程,然后解帧分帧,将以太网帧传到对端以太网盘的FPGA(现场可编程门阵列),信号经过多级处理后时延很难做到在纳秒级范围内抖动,无法满足1588v2协议对于时延的要求。因此,需要一种方法来控制时延,使其时延抖动达到标准。
发明内容
为了克服上述技术的不足,本发明提出了一种在微波系统中固定延时传输1588v2报文的方法,通过本方法,可以使微波收发两条链路的时延差控制在50ns以内,并保证该数据包在设备中的处理延时是固定的。
本发明的技术方案为提出一种在微波系统中传输1588v2报文的方法,所述微波系统包括在传输的两端分别设置数字微波设备,各端的数字微波设备包括室内单元和室外单元,室内单元包括以太网盘、主控盘和调制解调盘,以太网盘中设有接口芯片和FPGA,各端的数字微波设备中接口芯片、FPGA、主控盘、调制解调盘和室外单元依次连接,两端的室外单元之间建立无线微波信号传输,其特征在于:所述FPGA包括MII接口模块、1588v2帧解析缓存模块、上行1588V2帧缓存模块、上行一般帧流控缓存模块、收端计数器模块、发端计数器模块、下行1588v2帧缓存模块、下行一般帧流控缓存模块及业务组帧/分帧模块;从本端传输1588v2报文到对端时,在室内单元中传输过程如下,
在本端的室内单元中,
第一步,以太网帧通过接口芯片输出到MII接口模块;
第二步,测试一个含有1588v2报文的以太网帧经过本端的数字微波设备的最大时延值作为传输的参考固定时延,记为T;
第三步,MII接口将以太网帧发送到588v2帧解析缓存模块后,1588v2帧解析缓存模块缓存帧头并判断出帧类型,如果是普通帧则将此帧数据输出给上行一般帧流控缓存单元,如果是1588v2帧则将此帧数据传送给上行1588v2帧缓存单元;
第四步,当1588v2帧解析缓存模块判断出一帧1588v2帧时,收端计数器模块记录一个计数器值T0,收端计数器模块所得T0经1588v2帧解析缓存模块输出到上行1588v2帧缓存单元,插入到上行1588v2帧缓存单元所存储相应1588v2帧中,插入T0后的1588v2帧发送到业务组帧/分帧模块,由业务组帧/分帧模块进行组帧并传送到对端;
在对端的室内单元中,
第一步,由业务组帧/分帧模块进行分帧,将1588 v2帧缓存到下行1588v2帧缓存单元,一般帧缓存到下行一般帧流控缓存单元;
第二步,在下行 1588v2帧缓存单元中,判断接收到的1588v2帧是否为有效帧,是则解析出1588v2帧附带的计数器值T0;同时当这帧1588v2帧完整存入下行1588v2缓存单元时,记发端计数器模块的计数器值为T1,发端计数器模块所得T1送入下行1588v2缓存单元,下行1588v2缓存单元把此1588v2帧存入MII接口模块;
第三步,对存入MII接口模块的1588v2帧,在MII接口模块中时延等待T3时间,然后通过MII接口模块发送该含有1588v2报文的以太网帧到接口芯片;时延等待时间计算方式为,由下行1588v2缓存单元计算T2=T1-T0、T3=T-T2并将计算所得T3发送到MII接口模块。
而且,在本端的室内单元中第四步业务组帧/分帧模块进行组帧时,1588v2帧和一般帧根据预设的通道号放在相应通道;在对端的室内单元中第一步由业务组帧/分帧模块进行分帧时,以太网帧的相应通道号是1588 v2帧通道号则缓存到下行1588v2帧缓存单元,相应通道号是其他以太网帧通道号则缓存到下行一般帧流控缓存单元。
与现有方法相比,用数字微波设备替代光纤传输PTN设备之间的以太网信号,在峡谷、岛礁等不方便铺设光纤的场景具有可以节省人工及物质成本,缩短工程时间等优点,而此本发明提供的方法可以解决在传统数字微波设备来回链路时延不对等,影响PTN设备之间1588v2协议实现的问题。
附图说明
图1是本发明实施例所提供一种替代部分光纤传输PTN设备之间数据的数字微波系统的结构。
图2是本发明实施例的FPGA内部数据流程图。
图3是本发明实施例中不带VLAN的含有1588v2报文的以太网封装方式。
图4是本发明实施例中带VLAN的含有1588v2报文的以太网封装方式。
图5是本发明实施例中FPGA内部发端链路数据流程图。
图6是本发明实施例中FPGA内部收端链路数据流程图。
具体实施方式
以下参考附图和实施例,对本发明进一步详细说明。
本发明所述的微波传输系统,包括在传输的两端各设置一个IDU(Indoor Unit,室内单元)和一个ODU(Outdoor Unit,室外单元)两部分。IDU包括以太网盘,主控盘,调制解调盘,其中以太网盘包括接口芯片和FPGA。接口芯片、FPGA、主控盘、调制解调盘、ODU依次连接。各部件具体实施时可采用现有技术,例如市场上售卖的产品。具体数据流走向为:正向链路中,IDU的以太网盘光口接收待传输的数据(以太网帧),经过以太网盘的接口芯片及FPGA重新组帧,发送到主控盘,主控盘按照上层指示把接收的帧数据传给调制解调盘,帧数据通过调制解调盘调制(基带信号转为中频信号)后发送给ODU,最后通过无线微波链路发送,整个过程数字信号由基带转变到中频,再到射频,最后由无线微波链路传输到对端微波接收的过程。反向链路中,无线微波信号首先被ODU接收,恢复成中频信号传送给IDU的调制解调盘,调制解调盘通过解调过程将信号恢复成基带信号,然后传给主控盘分接给相应位置的以太网盘,最后将以太网帧传到以太网盘的FPGA,然后发送到接口芯片。
以下为此算法的一种应用场景,但不局限于此结构,其它需要传送1588v2帧的应用均可采用类似实现方式。如图1所示,从左边传输1588v2报文到右边时,左边为本端,提供1588v2报文从PTN设备输出,到经过微波设备的IDU和ODU传输的整个过程流程,右边为对端,传输过程与本端相应。从右边传输1588v2报文到左边时,右边为本端,左边为对端。本端和对端的结构相同,分别采用PTN设备、接口芯片、FPGA、主控盘、调制解调盘、ODU依次连接。从本端传输到对端时,在本端中进行正向链路的数据流传输,PTN设备由光纤连接到IDU的以太网盘的光口,IDU的以太网盘光口接收PTN设备的数据,经过以太网盘的接口芯片处理,然后传给FPGA芯片,再依次经过主控盘、调制解调盘、ODU,ODU发出的无线信号传给对端ODU;在对端中进行反向链路的数据流传输,ODU接受到的数据依次传送给调制解调盘、主控盘,再依次经过以太网盘的FPGA芯片、接口芯片,最后通过光口传给PTN设备。
微波设备关于1588v2报文透传功能主要需要完成的工作是首先解析出传送所有数据包中的1588v2报文的数据包,本发明实施例提供的方法保证该数据包在设备中从输入到输出的时延固定,并且收发两条链路时延差在50ns以内,即保证1588v2报文能每次进入本端IDU到从对端IDU输出的时延差小于50ns。本发明主要在以太网盘的FPGA内部实现含有1588v2报文的以太网帧固定时延传输。在FPGA内部的模块框图如图2所示,包括MII接口模块、1588v2帧解析缓存模块、上行1588V2帧缓存模块、上行一般帧流控缓存模块、收端计数器模块、发端计数器模块、下行1588v2帧缓存模块、下行一般帧流控缓存模块及业务组帧/分帧模块,其中发端计数器模块、下行1588v2帧缓存模块、下行一般帧流控缓存模块构成处理下行数据的下行缓存及时延处理模块。MII接口模块连接1588v2帧解析缓存模块,1588v2帧解析缓存模块连接上行1588V2帧缓存模块、上行一般帧流控缓存模块和收端计数器模块,上行1588V2帧缓存模块和上行一般帧流控缓存模块分别连接业务组帧/分帧模块,业务组帧/分帧模块连接下行1588v2帧缓存模块和下行一般帧流控缓存模块,发端计数器模块连接下行1588v2帧缓存模块,下行一般帧流控缓存模块和下行1588v2帧缓存模块都连接到MII接口模块上。数字微波系统中,FPGA提供的收端计数器和发端计数器,根据一个同源时钟计算时间参考值的大小。具体实施时可由本领域技术人员根据FPGA技术采用相应代码编程实现各模块。
具体实施时,可选用现有技术中已有的相关接口芯片,根据具体接口芯片的使用说明通过相关设置使含有1588v2报文的以太网帧在接口芯片中能固定时延透传。具体实现为现有技术,本发明不予赘述。
然后需要完成的是控制由本端以太网盘FPGA输入到对端以太网盘FPGA输出的时延差满足要求。只要这部分时延也满足要求,即可以保证整个微波设备系统的传送时延能满足要求。相应处理在FPGA内实现,基本原理是记录含有1588v2帧的以太网帧进入本端微波设备的以太网盘FPGA的时间值,并将时间值标注在此以太网帧中的指定位置,将该以太网帧传到对端微波设备,记录出进入对端以太网盘FPGA的时间值,计算两个时间值的时间差值,即该1588v2帧从进本端以太网盘的FPGA到出对端以太网盘的FPGA的整个过程的时延。对比参考时延,补偿实际时延与参考值一致,来达到每次1588v2报文在整个链路中传输的时延固定的效果。
含有1588v2报文的以太网帧含在其他以太网帧数据流中传送,MII(Media Independent Interface,介质无关接口)接口时钟为125M,系统能够通过检测帧头和帧类型的方式自动识别1588v2以太网帧和常规以太网帧。如图3所示,普通传送1588v2报文的以太网帧除了帧头部分,由DA(目的地址)、SA(源地址)、帧类型88F7、1588v2报文部分及CRC(循环冗余校验码)校验部分组成。如图4所示为带有vlan(虚拟局域网)标识的传送1588v2报文的以太网帧的结构。与图3中以太网帧不同的是在SA与帧类型88F7之间插有4个字节的vlan标识信息,即8100及VLAN id(虚拟局域网地址)。因此查找帧类型时需要向后4个字节。实施例在其他帧缓存传输部分用7E7E代替帧头部分的555555555555555D、在帧尾处加7E,此种方法可以用3个字节代替帧头的8个字节,以此来提高链路的传输速率,达到提高带宽利用率的效果。为了便于判断含有1588v2报文的以太网帧和其他一般帧,本发明进一步提出可以将含有1588v2报文的以太网帧放在数字微波系统与主控盘交互的自定义的固定帧(SSC帧)的固定位置传送,到对端再在固定位置还原出来。例如,固定格式的帧速率为97.2M,每秒固定8000帧,每一帧5760个时隙,含有1588v2报文的以太网帧在该帧固定的第三到第六个时隙传送,相应通道号为3~6,一般帧可以采用5760个时隙帧中第三到第六个时隙以外的其他指定位置。实施例将发送链路以太网盘记录的时间T0标记在对应的含有1588v2报文的以太网帧内。例如,在帧头555555555555555D后空余两个字节位置标记T0的值。实施例将来回链路的时延固定为一个参考值,两条链路均以此时延值为标准进行时延调整,此值为1588帧在此链路中传送的一个无限靠近最大值的值。具体实施时,本领域技术人员可以自行设计格式。
具体实现细节如下所述。
如图5所示,在本端IDU中:
第一步,以太网帧通过以太网盘的接口芯片输出到FPGA入口处,该指定链路通过MII接口模块接收数据。MII接口是以太网的通用接口,其中设有接收单元以接收数据,本发明不予赘述。
第二步,测试一个含有1588v2报文的以太网帧经过本端数字微波设备的最大时延值作为传输的参考固定时延,记为T。
第三步,由于含有1588v2报文的以太网帧是混在其他以太网数据流里一起传送过来的,所以首先要判断出数据流中哪些是需要处理的含有1588v2报文的以太网帧。在1588v2帧解析缓存模块中解析以太网帧的类型是否为88F7,以此来判断接收到的帧是否为1588v2帧。由于判断需要一定的过程,因此在未确定此帧为1588v2帧还是普通帧之前要将该帧缓存到帧头缓存单元(此单元包含在1588v2帧解析缓存模块中),以便判断此帧应该存入相应存储FIFO(先入先出队列),FPGA中芯片内部自带FIFO,上行1588v2帧缓存单元和上行一般帧流控缓存单元各采用一个FIFO进行缓存。MII接口将以太网帧发送到588v2帧解析缓存模块后,1588v2帧解析缓存模块缓存帧头并判断出帧类型,如果是普通帧则将此帧数据输出给上行一般帧流控缓存单元,如果是1588v2帧则将此帧数据传送给上行1588v2帧缓存单元。由于其他以太网帧不涉及到本方法的内容,所以处理方法在此不予描述。
第四步,当1588v2帧解析缓存模块判断出一帧1588v2帧时,收端计数器模块记录一个计数器的值(即以太网盘记录的时间)T0,收端计数器模块输出的T0经1588v2帧解析缓存模块输出到上行1588v2帧缓存单元,插入到上行1588v2帧缓存单元所存储相应1588v2帧的固定位置中,然后上行1588v2帧缓存单元将插入T0后的1588v2帧发送到业务组帧/分帧模块(SC)进行组帧,并通过SCC帧的固定通道传送到对端。具体实施时,1588v2帧和一般帧分别根据对应的预设通道号将数据放到相应通道传送到主控盘。数据帧通过主控盘,调制解调盘,然后经过无线链路传送到对端ODU。
如图6所示,在对端,ODU接收无线信号,再经过调制解调盘,主控盘传送回以太网盘。在以太网盘中,从FPGA的下行链路传送到接口芯片。
第一步,对应链路接收端接收从主控盘传来的与主控盘交互的自定义的固定帧格式的帧,由业务组帧/分帧模块(SC)进行分帧,即在相应通道将存有1588v2帧的数据解析出,并存入到相应下行1588v2帧缓存单元中。实施时可根据SCC帧的格式,先判断相应通道号是否为1588 v2帧通道号,是则缓存到相应下行1588v2帧缓存单元,否则循环判断相应通道号是否为其他以太网帧通道号,是则缓存到下行一般帧流控缓存单元,完成后继操作(存满一整帧后发送),否则继续等待,直到其他以太网帧通道号出现。由于其他以太网帧不涉及到本方法的内容,所以后续处理方法在此不予描述。
第二步,在下行 1588v2帧缓存单元中,判断接收到的1588v2帧是否为有效帧,是则解析出其附带的计数器值T0,同时当这帧1588v2帧完整存入下行1588v2缓存单元时,记此时发端计数器模块的计数器值为T1,发端计数器模块所得T1送入下行1588v2缓存单元,下行1588v2缓存单元把此1588v2帧存入MII接口模块。具体判断接收到的1588v2帧是否为有效帧为现有技术,根据以太网帧帧尾的CRC校验进行即可。
第三步,对第二步存入MII接口模块的1588v2帧,在MII接口模块中进行时延等待。具体实施时MII接口模块中可采用一个FIFO进行缓存。由下行1588v2缓存单元计算T1-T0的时延差值T2,然后计算等待相应的时延值时间为T3=T-T2,下行1588v2缓存单元将计算所得T3发送到MII接口模块,在MII接口模块发端的时延等待T3时间,然后通过MII接口模块发送该含有1588v2报文的以太网帧。实施时可通过判断是否到达需要发送1588v2帧的时间点进行等待,达到后可以进行发送。通常优先发送1588 v2帧,没有1588 v2帧需要发送且其他一般帧有发送请求时发送一般帧。
至此,可以完成一帧含有1588v2报文的帧在整个数字微波链路中时延固定为T的传送过程。在两个PTN设备A、B之间,从A到B的传输过程与从B到A的传输过程一致。
另外,为了保证收发链路计数器时钟同源,本端IDU中以太网盘的计数器时钟用连接在交换芯片上的MII接口恢复的时钟,对端IDU中以太网盘的计数器时钟用从无线链路恢复的125M时钟,以此来达到作为参考的计数器时钟同源的目的。因此在应用过程中要分别设定两端微波设备计数器的时钟参考。
上述实例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其它的任何未违背本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化均应为等效的置换方式,都包含在本发明的保护范围之内。