发明内容
本发明的目的是为了克服上述背景技术的不足,提供自动捕获10G EPON报文的定时装置及方法,能够实现精确地定时自动捕获和分析10G EPON报文,通过设计精确的定时及滤除条件减少捕获报文存储的空间,为提升远程调度器的性能和使用效率,充分挖掘EPON***的潜力,增强不同设备厂家之间的互通能力创造一定条件。
本发明提供的自动捕获10G EPON报文的定时装置,包括本地时间及开始捕获使能产生电路、分别与本地时间及开始捕获使能产生电路相连的时戳提取电路、数据预分析模块和触发点生成模块,触发点生成模块还与定时装置外部的CPU相连,时戳提取电路和数据预分析模块均与定时装置外部包括前导码的PON MAC总线数据的bit位调整电路相连,本地时间及开始捕获使能产生电路还与定时装置外部的触发点生成模块相连,定时装置外部的bit位调整电路通过定时装置内部的数据预分析模块与定时装置内部的触发点生成模块相连,本地时间及开始捕获使能产生电路内部还包括绝对时间校正电路;所述时戳提取电路,用于从bit位调整电路调整过的数据中提取MPCP时间发送到本地时间及开始捕获使能产生电路;本地时间及开始捕获使能产生电路用于产生本地时间和开始捕获使能,并将开始捕获使能传递给定时装置外部的触发点生成模块。
在上述技术方案中,所述定时装置内部和外部的数据预分析模块是并行独立的,均包括:分别与bit位调整电路相连的帧头内容匹配触发标志生成电路、帧长计算电路和CRC校验和本帧错误检测电路,用于对经过比特位调整电路后的数据帧进行帧长统计、CRC校验、本帧错误检测和帧头匹配;帧头内容匹配触发标志生成电路,用于生成帧头内容匹配触发标志;帧长计算电路,用于从帧头开始对当前帧长度进行计算,在帧尾得到帧长,并保存在帧长信息寄存器;CRC校验和本帧错误检测电路,用于检测本帧错误,及在帧尾得到CRC校验结果,作为随帧携带的CRC校验错误指示信息,写入PON报文储存缓存描述格式内。
在上述技术方案中,所述定时装置内部和外部的触发点生成模块是并行独立的,均包括:与帧头内容匹配触发标志生成电路相连的触发点标志产生电路、分别与帧长计算电路和触发点标志产生电路相连的帧长匹配电路、分别与CRC校验和本帧错误检测电路和触发点标志产生电路相连的帧错匹配电路;帧长匹配电路,用于将帧长计算电路得到的帧长保存在帧长信息寄存器内,在帧长匹配使能配置为高的情况下,与帧长匹配规则比对,得到帧长匹配标签;帧错匹配电路,用于将CRC校验和本帧错误检测电路得到的帧错指示与帧错匹配使能相与得到帧错匹配标签。
在上述技术方案中,所述定时装置内部的触发点标志产生电路,用于将帧头匹配标签、帧长匹配标签、帧错匹配标签以及开始标志请求相与,得到此帧的开始标志,进一步得到相对时钟定时器计数的起点;定时装置外部的触发点标志产生电路,用于将帧头匹配标签、帧长匹配标签、帧错匹配标签以及来自于定时装置的开始捕获使能相与,得到此帧的触发点标志,表明此帧是否为捕获的开始点。
在上述定时装置的基础上,本发明还提供一种自动捕获10GEPON报文的定时方法,包括以下步骤:判定自动捕获开启后,绝对定时捕获模式下,经用户定义时间、OLT时间或ONU时间校正后的捕获电路绝对时钟计数到用户设定的时间值,启动10G EPON报文捕获,按照筛选条件写入捕获缓存;相对定时捕获模式下,检查帧序列中用户定义的特定帧,发现设定启动捕获的帧内容及帧状态时,若相对定时设定为0,则按照筛选条件写入捕获缓存;若相对定时设定不为0,则启动相对定时时钟计数,定时时钟计数到用户设定的时刻,启动用户自定义的抓包过程,按照筛选条件写入捕获缓存。
在上述技术方案中,所述判定自动捕获开启的过程如下:非定时模式下的开始标志请求由CPU微机口手动输入指令产生,当微机口配置自动捕获/手动捕获比特为1,判定为自动捕获开启;为0,则判定为常规手动捕获开启。
在上述技术方案中,所述绝对时钟的产生过程如下:所述定时装置先识别出带时间戳的MPCP帧,上行方向选择ONU的MPCP帧的时间戳,下行方向使用OLT MPCP帧的时间戳,经用户通过微机接口配置补偿校正后,作为捕获电路的绝对时钟;绝对时钟定时器由大于等于49比特的计数器构成,该计数器工作在10G EPON 64比特位宽的156.25MHz时钟下,绝对时钟定时器工作的时钟域由10GEPON的下行数据中恢复得到;绝对时钟定时器通过微机接口电路配置复位/置位之后,在微机接口设定精确到6.4纳秒的捕获设定时间,当绝对时钟定时器计数到设定时间,即刻启动捕获。
在上述技术方案中,所述绝对时钟复位/置位的流程如下:在光分上接入10G EPON***,上电复位初始化后,绝对时间为0,SERDES提取156.25MHz时钟,获得OLT/ONU的时间戳,强制bit写1时,若判定是复位,复位后,初值取0,绝对时钟计数器递增加1,绝对时钟复位结束;判定是置位,置位后,若配置为来自OLT/ONU的时间戳,MPCP时戳加上4字节用户校正寄存器,参考线路延迟和RTT值,逼近OLT/ONU的当前时间;若配置不是来自OLT/ONU的时间戳,配置用户自定义时间:{2字节用户定义时间寄存器值,4字节时间校正寄存器值},绝对时钟计数器递增加1,绝对时钟置位结束。
在上述技术方案中,复位信号有效时本地时间置为0,其后在每个时钟上升沿自加1递增;当CPU有时间设置请求时,进入时间设置选择状态,通过检查CPU配置的时间设置类型寄存器的值,判断进行何种时间设置:时间设置类型寄存器为2’b00或2’b11时,本地时间进入复位状态,并复位为0;时间设置类型寄存器为2’b10时,本地时间进入用户定义时间状态,将配置的寄存器并位后{2字节用户定义时间寄存器值,4字节校正寄存器值}的值置为本地时间的值;时间设置类型寄存器为2’b01时,本地时间进入OLT/ONU校时状态;定时装置即刻进入等待MPCP帧检查电路传送的MPCP时戳状态,在此等待状态中,如果CPU有时间设置请求,将从本状态重新进入时间设置选择状态;否则当检查到MPCP时戳时,将MPCP时戳加上4字节的校正寄存器值作为本地时间的新值;从以上三种情况中的任一种情况得到新的本地时间后,本地时间重新进入自加1递增状态,并等待下一次的时间设置请求。
在上述技术方案中,获得OLT/ONU的时间戳后,用4字节的时间微调电路进行校正,在156.25MHz时钟下,校正方法由下式表达:报文捕获电路的绝对时间低35比特=MPCP时戳x2.5+用户配置4字节校正值;如果选择来自用户自定义的时间,则取时间微调寄存器作为绝对时钟低四字节,再加两个字节用户自定义时间字段,作为高两字节,完成初始化置位。
在上述技术方案中,所述校正值的产生过程如下:将测量得到的线路延迟或RTT值当常数配置到捕获电路微机接口,作为用捕获的MPCP帧的时戳逼近模拟ONU、OLT时间的校正值。
在上述技术方案中,所述时间戳的捕获完成后,将时戳寄存器赋值给一个35比特计数器,使该计数器在156.25MHz时钟下加一翻转,并通过该计数器检查后续来自OLT或者ONU的时间戳是否和当前计数值匹配,如果不匹配,且超过一定阈值,则给出时戳偏移告警;如果发现有时戳漂移告警,将时戳寄存器内新的时戳送至绝对时间校正电路,再进行一次绝对时间校正。
在上述技术方案中,所述相对定时捕获模式下,根据特定帧内容或者帧状态触发相对时钟计数,在帧序列中找到产生相对定时的开始标志,得到定时的起点,启动相对时钟定时器计数;相对时钟定时器计数到用户设定的时刻,自动启动10G EPON报文的捕获。
在上述技术方案中,用来作为相对定时自动开启捕获的条件,或者作为相对定时时钟的计数起始条件的帧相关信息有:大于等于4个T字节可变长度滑动窗提取出来的包括EPON前导码的帧内容,T=1、2、3或4;帧描述中的CRC校验错误、帧长范围或任意位置出现的本帧错误;或者以上帧内容及帧描述的组合。
在上述技术方案中,所述相对定时自动启动捕获的过程如下:若用户设定的特定帧为去注册帧,发现去注册帧后,相对时钟定时器开始启动计数,计数到用户设定时刻,检查帧序列中是否有需要写入10G EPON报文存储缓存内的帧;若发现授权帧为用户筛选帧,将每一个筛选帧及后面紧跟的由用户配置数目的其它帧作为筛选窗口,发现授权帧及其后面紧跟的背景帧与普通授权帧,是由筛选窗口配置的待捕获报文,将每一个筛选窗口内的帧都写入10G EPON报文捕获缓存。
与现有技术相比,本发明的优点如下:
(1)本发明能够在6.4纳秒的时间精度上,自动捕捉PON(PassiveOptical Network,无源光网络)侧10G EPON OLT和ONU(OpticalNetwork Unit,光网络单元)之间交互的EPON报文,将捕捉到的帧的时间与以OLT为核心的EPON***关联,使分析帧的时间精确到6.4纳秒,使用户更精准地理解OLT和ONU的电路行为。本发明通过硬件定时方法自动捕获,能够节省较多缓存空间。如果捕获电路严格与10G EPON***时间同步,充分利用10G EPON报文交互有周期性规律的特点,可在较少存储空间的条件下,实现在6.4纳秒的时间精度上对需要捕获时间段EPON报文的捕获。
(2)本发明中电路定时自动抓包的改进对于10G以上的高速应用,使捕获并分析帧序列的效率有着相当提高。由于10G EPON***的带宽非常高,1G的这样高容量的存储空间也只能存储0.1秒的数据。在10G EPON报文储存空间有限的条件下,通过设计精确的定时及滤除条件,能够减少捕获报文存储的空间。
(3)本发明通过自动捕获的EPON协议帧,包括DBA(Dynamically Bandwidth Assignment,动态带宽分配)上行动态带宽分配时OAM(Operation Administration and Maintenance,操作、管理、维护)帧、OLT普通授权帧、ONU的队列报告帧,在不同的带宽分配模式下,如固定带宽、保证带宽、尽力而为带宽模式、全力而为带宽模式等,分析上行动态带宽的性能,能够提升远程调度器的性能和使用效率,提升优化OLT的DBA调度器的性能,充分挖掘EPON***的潜力。
(4)本发明通过捕获分析的10G EPON协议帧,使有如加解密交互等私有协议的不同厂家EPON***设备的能够完成互通,增强不同设备厂家之间的互通能力。
具体实施方式
下面结合附图及具体实施例对本发明作进一步的详细描述。
参见图2所示,上/下行光接收光模块和10G上下行SERDES(SERializer/DESerializer,串并化器)等***物理器件,即802.3AV标准规定的PHY(Physical Layer,物理层芯片)上游接收物理器件的10G SERDES及光模块,作为外部接口,主要用于接收PON侧的上下行光。802.3 FEC/PCS/RS/PON MAC,即802.3AV标准规定的PHY、PON MAC及相应捕获接口电路,与10G上下行SERDES相连,用于将接收到的PON侧的上下行光经过10G上下行SERDES到802.3 FEC/PCS/RS/PON MAC中的OLT PCS模块完成FEC解码、带前导码的PON报文恢复。捕获电路通过总线与802.3 FEC/PCS/RS/PON MAC相连,用于捕获电路将PON报文按照本文规定的格式和原始帧序列的顺序采集到存储器内。
本发明实施例中10G EPON报文的捕获电路分为上行光捕获电路和下行光捕获电路两种,对10G EPON***的OLT/ONU PON口的EPON帧进行捕获和分析,可以独立于PHY或者MAC(Media AccessControl,媒体访问控制层),或用于其它10G高速接入网***。10GEPON报文的捕获电路的应用分为用户ONU侧和局端OLT侧两类场景。用户ONU侧的应用场景参见图3所示,在被测10G EPON***中,捕获电路的下行光接收光模块,连接无源光分路器(splitter)的与ONU平行的其它下联口,捕获电路收到来自OLT的10G下行PON报文后,先通过10G下行SERDES,再到OLT PCS模块完成FEC解码,和带前导码的PON报文恢复。局端OLT侧的应用场景参见图4所示,在被测10G EPON***中,捕获电路的上行光接收光模块连接无源光分路器(splitter)的与OLT平行的其它上联口,收到来自ONU的10G上行突发光,再经过10G上行SERDES到OLT PCS(PhysicalCoding Sublayer,以太网物理编码子层)模块完成FEC(Forward ErrorCorrection,前向纠错)解码、带前导码的PON报文恢复。
参见图5所示,本发明实施例中的自动捕获10G EPON报文的定时装置包括:本地时间及开始捕获使能产生电路、分别与本地时间及开始捕获使能产生电路相连的时戳提取电路、数据预分析模块和触发点生成模块,触发点生成模块还与定时装置外部的CPU(CentralProcessing Unit,中央处理器)相连,时戳提取电路和数据预分析模块均与定时装置外部包括前导码的PON MAC总线数据的bit位调整电路相连,本地时间及开始捕获使能产生电路还与定时装置外部的触发点生成模块相连,定时装置外部的bit位调整电路通过定时装置内部的数据预分析模块与定时装置内外部的触发点生成模块相连,本地时间及开始捕获使能产生电路内部还包括绝对时间校正电路。
本定时装置可以采用FPGA(Field Programmable Gate Array,现场可编程门阵列)实现,也可采用ASIC(Application Specific IntegratedCircuit,专用集成电路)方式在10G EPON芯片内部嵌入。本发明实施例中用到了含virtex5 330t FPGA和MT47H64M16HR-25E(DDR2-800内存)的FPGA测试板,virtex5 330t FPGA内部可以装两个缓存深度是32768,宽度是128比特的片内RAM(Random AccessMemory,随机存储器),实现了10G高速EPON报文的抓取,工作频率可以达到156兆赫兹以上。
时戳提取电路,用于从bit位调整电路调整过的数据中提取MPCP(Multiple Point Control Protocol,多点控制协议)时间发送到本地时间及开始捕获使能产生电路;本地时间及开始捕获使能产生电路用于产生本地时间和开始捕获使能,并将开始捕获使能传递给定时装置外部的触发点生成模块。这两个电路的实现原理完全一样,但配置信息独立。
定时装置内部和外部的数据预分析模块是并行独立的,均包括:分别与bit位调整电路相连的帧头内容匹配触发标志生成电路、帧长计算电路和CRC(Cyclic Redundancy Check,循环冗余校验)校验电路,用于对经过比特位调整电路后的数据帧进行帧长统计、CRC校验和帧头匹配。帧头内容匹配触发标志生成电路,用于生成帧头内容匹配触发标志。帧长计算电路,用于从帧头开始对当前帧长度进行计算,在帧尾得到帧长,并保存在帧长信息寄存器。CRC校验和本帧错误检测电路,用于检测本帧错误,及在帧尾得到CRC校验结果,作为随帧携带的CRC校验错误指示信息,写入PON报文储存缓存描述格式内。
定时装置内部和外部的触发点生成模块是并行独立的,均包括:与帧头内容匹配触发标志生成电路相连的触发点标志产生电路、分别与帧长计算电路和触发点标志产生电路相连的帧长匹配电路、分别与CRC校验和本帧错误检测电路和触发点标志产生电路相连的帧错匹配电路。帧长匹配电路,用于将帧长计算电路得到的帧长保存在帧长信息寄存器内,在帧长匹配使能配置为高的情况下,与帧长匹配规则比对,得到帧长匹配标签。帧错匹配电路,用于将CRC校验和本帧错误检测电路得到的帧错指示与帧错匹配使能相与得到帧错匹配标签,CRC校验另外用一个比特。
定时装置内部的触发点标志产生电路,用于将帧头匹配标签、帧长匹配标签、帧错匹配标签以及开始标志请求相与,得到此帧的开始标志,进一步得到相对时钟定时器计数的起点;定时装置外部的触发点标志产生电路,用于将帧头匹配标签、帧长匹配标签、帧错匹配标签以及开始捕获使能相与,得到此帧的触发点标志,表明此帧是否为捕获的开始点。
捕获电路内部时钟工作在156.25M的10G PCS接收时钟频率。由于采用10G SERDES的恢复时钟,能严格与EPON OLT的时钟同步,所以写入内部PON报文存储器速率,可以满足最大净荷速率为10G的EPON***要求,用来捕获10G满速率EPON报文不会有丢包,并且捕获电路时钟从SERDES恢复出来,因此只和EPON OLT时钟存在固定时差。
为了增强帧内容匹配功能,帧头内容匹配触发标志生成电路通过n≥4个滑动窗口选取特征字段,每个滑动窗口长度为T字节,T=1、2、3或4,大小可设置,根据配置的偏移量(每个滑动窗口起点)每个滑动窗口可以选取帧头(≥64字节)以内的任意T个连续字节作为特征字段,这样可以对帧头4T的字段进行匹配校验。当四个滑动窗口获取的特征字段与设置的四个匹配窗分别一样,且四个滑动窗口匹配使能均有效(匹配使能无效的滑动窗口认为其匹配正确),则当前帧帧头匹配正确。如果帧长计算电路、CRC校验和本帧错误检测电路和帧头内容匹配触发标志生成电路都满足激活相对定时的要求,则相对定时时钟开始加一翻转,直到计数到用户设定时刻,自动开始启动捕获,“开始标志”翻转为高电平。触发点标志是定时捕获触发条件标志,为1则此帧需要写入捕获缓存。触发点标志,表明对应的帧是捕获的开始点。49bit到达时间:帧到达捕获电路时间信息,由定时***给出,在帧描述先进先出缓存写使能有效时,引入此到达时间。
参见图6所示,定时装置包括绝对定时模式和相对定时模式,绝对定时模式需要MPCP时间,由***绝对时间定时,自动启动捕获由绝对时钟决定,当绝对时间定时器计数到用户设定时间后,立刻启动捕获。相对定时模式需要帧头内容匹配、帧描述信息匹配一整套的帧特征提取电路,根据特定帧内容或者帧状态触发计数的相对时钟,在帧序列中找到产生相对定时开始标志,相对定时的开始标志是从帧序列中找到特征帧开始,相对定时计数到用户设定时间,产生开始捕获使能。相对定时根据解析帧,得到帧内部信号状态,启动激活相对时钟,定时到用户设定相对时间,再触发捕获。
非定时模式下的开始标志请求由CPU微机口手动输入指令产生。当微机口配置自动捕获/手动捕获比特为1,选择为自动捕获;为0,则为常规手动捕获。配置自动捕获后,再根据相对定时、绝对定时捕获配置比特,决定定时捕获的方式。如果选择绝对定时捕获,则经用户定义时间、OLT时间或ONU时间校正后的捕获电路绝对时钟,运行到了用户设定时刻,便启动10G EPON报文捕获;如果选择相对定时捕获,则帧内容和描述特征提取电路工作,开始检查帧序列中由用户定义的特定帧。发现此帧,便启动相对定时时钟计数。定时时钟计数到用户设定的时刻,便开始启动由用户自定义的抓包过程。如果用户定义的相对定时时钟为0,则立刻启动由用户设定条件的抓包过程。抓包缓存满或者用户自行停止抓包,则抓包过程结束,缓存内部10G EPON报文开始被PC机读出。
参见图7所示,本发明实施例提供的硬件自动捕获的10G EPON报文的定时方法,包括以下步骤:
步骤101:等待捕获开启。
步骤102:判断捕获是否开启,若是,则转到步骤103;否则返回步骤101。
步骤103:判断为手动捕获还是自动捕获,若是手动捕获,则转到步骤104;若是自动捕获,则转到步骤105。
步骤104:用户微机口写1,启动手动捕获。
步骤105:判断是绝对定时启动捕获还是相对定时启动捕获,若是绝对定时启动捕获,则转到步骤106;若是相对定时启动捕获,则转到步骤108。
步骤106:若是绝对定时启动捕获,检查帧进入的时间,转到步骤107。
步骤107:判断是否计数到用户定时的设定值,若是,则转到步骤112;否则返回步骤106。
步骤108:若是相对定时启动捕获,判断是否发现设定启动捕获的帧内容及帧状态,若是,则转到步骤109;否则继续判断,直至发现设定启动捕获的帧内容及帧状态,再转到步骤109。
步骤109:判断相对定时是否设定为0,若是,则转到步骤112;否则转到步骤110。
步骤110:相对定时时钟启动计数,转到步骤111。
步骤111:判断是否到达相对定时,若相对定时已到,则转到步骤112;否则继续判断,直至相对定时已到,再转到步骤112。
步骤112:按照筛选条件写入捕获缓存,转到步骤113。
步骤113:判断是否缓存已满或用户中止,若是,则结束,否则返回步骤112。
绝对时钟的产生过程如下:捕获电路通过无源光分路器连接EPON***,上电复位后从MPCP帧提取出时戳,并通过校正电路,参考OLT/ONU的时戳,修正自身的绝对时间。本定时装置先识别出带时间戳的MPCP帧,上行方向选择某个ONU的MPCP帧的时间戳,下行方向使用OLT MPCP帧的时间戳,MPCP帧和MPCP时间戳的结构参见图8所示。经过用户通过微机接口配置补偿校正后,作为捕获电路的绝对时钟。
绝对定时时钟由一个大于等于49比特的计数器构成。绝对时钟定时器工作在10G EPON 64比特位宽的156.25MHz时钟下,此时钟由10G EPON的下行数据中恢复出来。绝对时钟定时器可以通过微机接口电路灵活配置复位/置位。绝对时间计数器复位/置位之后的时间,可以是获得光线路终端OLT的EPON***的统一时间,由用户经过误差校对后,再通过合理配置得到的修正值;也可以是用户自行在微机接口设定的初值或零。绝对时钟定时器计数到了用户设定的值,便启动10G EPON报文的捕获。10G EPON报文捕获电路通过带FEC功能的PCS电路,对OLT或者ONU的报文进行解码,并在总线数据上发现并解析MPCP帧,获得OLT/ONU时间。捕获电路绝对时钟复位/置位完成之后,先在微机口设定精确到6.4纳秒的捕获设定时间。当绝对时钟定时器计数到设定时间,即刻启动捕获。
捕获电路内部有一个独立工作的***时钟,这个时钟表示测试***的绝对时间。每一个待捕获的10G EPON报文,在帧尾处都加上这个帧到达时的49比特的***绝对时间。本时钟可以通过用户强制进行复位/置位。如果需要用绝对时钟逼近真实的OLT/ONU时间,在捕获到EPON***的MPCP帧后,捕获核心电路解析出MPCP电路的timestamp(时间戳),并将时戳存入时戳寄存器,再用测量得到的校正值对绝对时间进行置位赋值。
绝对时间在156.25m的时钟域下递增加1,并在5:2的比例上,同OLT/ONU的时钟保持同步。如果继续收到OLT的MPCP帧,仅在两者时差过大超过一定阈值时,给出时戳漂移告警。这个阈值可以通过寄存器配置设定。如果再有需要,可用强制置位命令,将新的时戳寄存器值读出,对当前绝对时间进行纠正。
10G EPON报文捕获电路的本地时间定义为绝对时间,本地时间由一个49比特的计数器表示;MPCP帧检查电路通过识别MPCP帧的特征,检查比特对齐电路输出的数据流,将发现并截取到的MPCP帧,提取出相应的MPCP时戳,转换为报文捕获电路6.4纳秒的时间单位后,再传给本地时间产生电路。根据用户的需要,将49比特的捕获电路的绝对时间赋一个初值,此初值可以是0,也可以通过修正MPCP帧得到的ONU/OLT的当前时间,或者用户自定义的初值,然后开始计数,计数到了规定时刻,便开始报文捕获。由捕获电路的绝对时间决定什么时间自动开启捕获,这种定时过程称之为绝对定时。
OLT/ONU MPCP时戳捕获电路的绝对时间同OLT时间相逼近的流程如下:首先,由微机接口配置决定是置位还是复位;如果不要对时间进行置位,则捕获电路的绝对时间还是从上电复位后从0开始的计数值;如果需要对捕获电路的时间进行置位,再判断置位选择来自于10G EPON***的时间,还是用户自定义时间。10G EPON***中OLT/ONU的MPCP时间用4个字节的时间戳表示,每个比特的时间单位是TQ,1TQ=16纳秒,转化成6.4纳秒时钟周期的捕获电路的时间,需要乘以2.5。截获到OLT/ONU的timestamp(时间戳)后,还需要用4字节的时间微调电路进行校正。在156.25MHz时钟下,校正方法由下式表达:报文捕获电路的绝对时间低35比特=MPCP时戳x2.5+用户配置4字节校正值。如果选择来自用户自定义的时间,则取时间微调寄存器作为绝对时钟低四字节,再加两个字节用户自定义时间字段,作为高两字节,完成初始化置位,参见表1所示。
表1、用户定义的时间寄存器
用户自定义时间字段 |
用户时间校正寄存器 |
2字节 |
4字节 |
绝对时间置位定义比特参见表2所示,如果对表2的定义的“强制位”写1,则根据“置位/复位、OLT时间/用户定义”这两个比特的当前值决定是将捕获电路的绝对时间复位为0,还是再一次重复上面的置位过程。
表2、绝对时间置位定义比特
上行光捕获电路识别并解析来自于ONU的MPCP帧的特殊字段,下行光捕获电路识别并解析来自OLT的MPCP帧的特殊字段。先判断当前数据总线上是否到达MPCP帧,如果是MPCP帧到达,则将前导码之后的第16个字节的4个字节的时间戳timestamp提取出来,写入时戳寄存器。时间戳的获得分为两种。一是来自OLT的下行光的时间戳,它可以通过ONU还未注册时,OLT的discoveryGATE帧(发现帧)或普通授权帧获得。二是来自ONU上行光的时间戳,来自于不同ONU的timestamp。每个MPCP帧的帧尾都要进行效验,如果没有CRC校验错误或者其他本帧错误,并且是64字节的帧,才将时戳寄存器内的值传递至绝对时钟置位电路。时戳寄存器的值,不需要经过等待,一般在强制置位命令后,成功截获到第一个MPCP时间戳后,就立即送给绝对时钟置位电路。后续截获到MPCP帧的时间戳,只用来检查是否有时戳漂移。如果绝对时钟选择来自OLT/ONU待侧设备,置位后在156.25MHz时钟下加一递增翻转,和OLT时间同步在保持5:2的比例。
参考OLT/ONU MPCP时间的绝对时间校正电路的工作原理如下:如果时间戳来自OLT的下行光的MPCP帧,则校正本定时装置的绝对时间,逼近当前OLT时间,仅需要考虑OLT到本定时装置捕获的时间延迟;如果时间戳来自ONU的上行光的MPCP帧,则校正本定时装置的绝对时间,逼近当前OLT时间,除了考虑ONU和本定时装置的延迟之外,还需要考虑OLT和ONU之间的时延以及ONU的处理时间,这些延时的总和可以用RTT(Round-Trip Time,往返时延)值表示,可以根据不同的测试需要,选择通过校正值逼近OLT或ONU的MPCP时间。
校正值的产生过程如下:由于从OLT或者ONU的MPCP帧解析出来的时间戳,考虑到线路延迟和RTT值等其它因素,不一定是严格的OLT时间。用户需要根据从MPCP帧得到的时间,加上从实际测量中得到需要考虑的延迟值,才能得到和逼近OLT当前时间的置位初值。校正值的配置需要考虑来自于OLT与ONU之间的线路延迟,或者RTT值。这些值通常比较固定,可以通过测量手段获得实际值。测量得到线路延迟或者RTT值后,就可以当常数配置到报文捕获电路微机接口,作为用捕获的MPCP帧的时戳逼近模拟ONU、OLT时间的校正值。
上行方向每一个llid的MPCP帧的时间戳,加上其对应ONU的RTT值,等于该帧到达OLT的当前OLT时间。每轮MPCP时间戳的周期是232x16TQ=68.7195秒。同样四字节转换到156.25m***时钟,就是0xFFFFFFFFx6.4纳秒=27,487,790,688纳秒=27.4878s。截获的时间戳,上行方向还区分来自于那一个ONU;下行方向仅来自于OLT。一个MPCP周期相当于232x16/6.4=10737418240个156.25MHz时钟。在156.25MHz时钟内,如果计数到了0x2_80_00_00_00,就表示一个68.7195秒的MPCP时钟周期。绝对定时时钟计数器的49比特,0x1_ff_ff_ff_ff_ff_ff_ff的32比特以上的高位,如果是5的倍数,就表示翻转了偶数个MPCP周期。
由于光纤主要成份为SiO2,折射率在1.5左右,激光在光纤中传播的速度约为20万公里/秒。设ONU和OLT的距离在40公里的范围内,则不同ONU之间的时间戳范围在40/(20x10000)=200微秒=200x1000/16 TQ=12500TQ。假设每个ONU光器件、SERDES收发时延、MPCP帧处理时延相等,则不同ONU的时间戳差值小于304dTQ。上行光报文捕获电路到光分上联口的物理距离,同OLT与光分上联口的距离,在实际测试应用中可以让两者近似等长。RTT时间刚好等于ONU的MPCP帧到达OLT的时间减去携带的时间戳得到的差值。测量时,用户可以根据OLT从register_req算出的RTT值,得到修正值。上行方向选择OLT的时间来自128个ONU,校正电路需要考虑RTT值和线路延迟得到同步OLT的校正时间。用户通过网管界面或其它微机接口方式获得OLT的存储不同ONU的RTT值。这些RTT值用校正寄存器配置,来修正置位后逼近OLT的绝对时间。修正值可以通过微机接口寄存器配置,用四个字节表示,每个比特表示6.4纳秒,最大可以表示到27.49秒。
时间戳的捕获完成以后,还会将时戳寄存器赋值给一个35比特计数器,让这个计数器在156.25MHz时钟下加一翻转,并通过这个计数器继续检查后续来自OLT或者ONU的时间戳,是否和当前计数值匹配,如果不匹配,且超过一定阈值,就给出时戳偏移告警。如果发现有时戳漂移告警,用户可以根据需要通过对表2的“强制、置位/复位”比特写1,将时戳寄存器内新的时戳送至捕获电路绝对时间校正电路,再做一次绝对时间校正。
参见图9所示,绝对时钟复位/置位的详细流程说明如下:
步骤201:在光分上接入10G EPON***,上电复位初始化后,绝对时间为0。
步骤202:SERDES提取156.25MHz时钟,获得OLT/ONU的时间戳。
步骤203:判断强制bit是否写1,若是,则转到步骤204;否则转到步骤209。
步骤204:判断是复位还是置位,若是复位,则转到步骤205;否则转到步骤206。
步骤205:复位后,初值取0,再转到步骤209。
步骤206:置位后,判断配置是否为来自OLT/ONU的时间戳,若是,则转到步骤207;否则转到步骤208。
步骤207:MPCP时戳加上4字节用户校正寄存器,参考线路延迟和RTT值,逼近OLT/ONU的当前时间。
步骤208:配置用户自定义时间:{2字节用户定义时间寄存器值,4字节时间校正寄存器值}。
步骤209:绝对时钟定时器递增加1。
步骤210:绝对时钟置位结束。
复位信号有效时本地时间置为0,其后在每个时钟上升沿自加1递增;当CPU有时间设置请求时(写1翻转寄存器实现),进入时间设置选择状态,通过检查CPU配置的时间设置类型寄存器的值,判断进行何种时间设置:时间设置类型寄存器为2’b00或2’b11时,本地时间进入复位状态,并复位为0;时间设置类型寄存器为2’b10时,本地时间进入用户定义时间状态,将配置的寄存器并位后{2字节用户定义时间寄存器值,4字节校正寄存器值}的值置为本地时间的值;时间设置类型寄存器为2’b01时,本地时间进入OLT/ONU校时状态。电路即刻进入等待MPCP帧检查电路传送的MPCP时戳状态,在此等待状态中,如果CPU有时间设置请求,将从本状态重新进入时间设置选择状态;否则当检查到了MPCP时戳,即将MPCP时戳加上4字节的校正寄存器值作为本地时间的新值。从以上三种的任一中情况得到新的本地时间后,本地时间重新进入自加1递增状态,并等待下一次的时间设置请求。
相对定时捕获模式下,本地时间及开始捕获使能产生电路向定时装置内的数据预分析模块发开始标志请求,定时装置内的触发点生成模块再产生开始标志。开始标志翻转后,相对时钟定时器计数到了用户设定时刻,产生开始捕获使能。
相对定时启动捕获模式下,根据特定帧内容或者帧状态触发计数的相对时钟,在帧序列中找到产生相对定时开始标志,通过解析EPON帧内容或者帧状态信息,得到帧内部信号状态,发现加密开启帧或注册成功帧作为用户定时的起点,启动相对时钟定时器计数,计数到用户设定的时刻,自动启动10G EPON报文的捕获。
相对定时设定为0是一种特殊情况,就是发现特定帧后,立刻启动后续筛选捕获过程。定时的启动,及定时完成后的帧捕获筛选可以根据帧内容滑动窗筛选的方法,也可以通过分析帧状态的方法。例如发现CRC校验错误帧,帧长异常、码字错误等,则在帧尾给出一个标志,作为相对定时启动或者捕获筛选触发的条件之一。如果满足启动捕获的帧与需要分析的帧序列相隔比较长,例如10毫秒以上,为了保证抓包缓存不溢出,发现这个帧以后,可能不允许立刻捕获后续10G报文,而要等待一段时间,才能开始捕获报文。这段等待时间就由相对时钟计数来确定,待相对时钟计数到用户估计的定时值,则自动开启捕获。
用来作为相对定时自动开启捕获的条件,或者作为相对定时时钟的计数起始条件的帧相关信息有:大于等于4个T字节可变长度滑动窗提取出来的包括EPON前导码的帧内容,T=1、2、3或4;CRC校验错误、帧长范围、任意位置出现的本帧错误等帧描述,或者以上帧描述及帧内容的组合。对于从10G速率EPON报文序列内部筛选用户要求的帧,例如MPCP帧、OAM帧,OAM帧的结构参见图10所示,可用4个字节可变长度滑动窗提取出来的包括EPON前导码的帧内容作为相对定时自动开启捕获的条件,或者作为相对定时时钟的计数起始条件。
发现符合用户要求的帧后,启动相对时钟定时器,定时器计数到用户设定的时刻,自动开启捕获。相对定时以发现某种条件的帧作为起点,开始定时计数器的工作,所以称之为相对定时。相对定时和10G EPON的***时间无关,其要点在于解析帧内容,提取帧特征,激活定时器的起点,定时起点可由图11表示。
相对定时自动启动捕获帧的过程参见图11所示,图11中长度为64字节的某个llid的去注册帧为用户设定的特定帧。发现这个去注册帧后,开始标志翻转为1,相对定时时钟才开始启动计数,定时到了用户设定时刻,开始标志请求翻转,并开始检查帧序列中是否有需要写入10G EPON报文存储缓存内的帧。图11中定义的用户筛选帧为发现授权帧,每一个筛选帧及后面紧跟的由用户配置数目的其它帧,称为筛选窗口。发现授权帧及其后面紧跟的背景帧与普通授权帧,就是由筛选窗口配置的需要捕获报文,将每一个筛选窗口内的帧都写入10G EPON报文捕获缓存。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明包含这些改动和变型在内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。