1、系统简介
EPON采用单纤双向通信方式,为了观测EPON的内部运行情况,我们在OLT与光分配网络(ODN)主干光纤之间接入X型光耦合器,分出部分上行和下行光信号至EPON测试仪,以实现对上下行链路的监视,如图1所示。
EPON测试仪由硬件平台和配套的软件控制台两大部分组成,其中硬件平台负责EPON协议帧和相关数据的采集处理以及与软件控制台的通信,软件控制台负责EPON相关协议分析、提供用户界面和对硬件平台的配置管理等。本文着重阐述EPON测试仪硬件平台的设计与实现。
2、硬件平台功能需求分析
EPON测试仪主要关注影响EPON互通和运维的EPON调和(RS)子层、多点MAC控制(MPCP)子层和运行管理维护(OAM)子层。其中RS子层定义了EPON的前导码格式,它在原以太网前导码的基础上引入了逻辑链路标识(LLID)区分OLT与各个ONU的逻辑连接,并增加了对前导码的8位循环冗余校验(CRC8);MPCP子层负责ONU到OLT的注册、上行方向TDMA机制的运行等;OAM子层则负责有关EPON网络运维的功能。EPON参考模型如图2所示。
EPON测试仪的主要功能有两个:帮助发现影响互通的原因和方便EPON网络的管理维护。前一个功能主要是指它可以帮助分析ONU的注册过程是否符合标准、注册成功后上层OAM消息的交互和业务的互通是否存在问题等;后一个功能主要是指它可为网络维护人员提供在线ONU的基本信息和链路参数的统计数据,以方便运营者对网络的管理和故障定位。
根据EPON测试仪的功能要求和我们对EPON测试仪硬件平台和软件控制台的功能分割,确定EPON测试仪硬件平台功能需求如下:
(1)提取ONU注册过程所涉及的帧。
(2)按配置的过滤条件采集非注册过程MPCP帧和OAM帧。针对EPON的特点,过滤条件可为LLID、帧的前64字节内用户自定义的6字节长关键字,或二者的“与/或”组合。考虑到协议帧流量、送往软件控制台前的封装开销、与控制台接口的速率限制和实现复杂度等因素,支持最多64个LLID过滤条件,和两组用户自定义关键字,关键字支持精确到比特的掩码配置。
(3)对采集到的EPON协议帧(MPCP/OAM帧)打上本地时钟标签,并标明是来自EPON上行还是下行链路。
(4)EPON前导码校验的差错率统计,支持统计使能和统计数据上报周期的配置。
(5)基于最多256个LLID,对前导码正确的EPON帧的业务流量和帧校验序列(FCS)校验结果进行统计,支持统计使能和统计数据上报周期的配置。
(6)采集到的EPON协议帧和统计信息被封装到以太网帧后通过百兆以太网接口送软件控制台分析。
(7)硬件平台的配置内容由软件控制台通过百兆接口下达,配置内容包括EPON协议帧的过滤条件、链路统计项的使能和上报周期、EPON协议帧和统计信息被封装到以太网帧时的源地址/目的地址/类型(DA/SA/type)字段等,硬件平台应支持向软件控制台返回配置确认帧。
3、硬件平台的设计实现
3.1 硬件总体结构
EPON测试仪硬件平台的组成如图3所示:
光接收模块采用符合IEEE 802.3ah规范中1000Base-PX光接口要求的EPON光收发模块,但只使用光接收部分。千兆以太网收发器芯片则采用商用芯片,它完成比特同步和串/并变换功能,然后将并行数据通过10比特接口(TBI)输出给EPON测试仪核心功能现场可编程门阵列(FPGA)来处理。
核心功能FPGA完成底层硬件平台的核心处理功能,包括EPON协议帧的采集、EPON链路参数统计和用户配置等,综合考虑这些功能对FPGA的资源需求、可扩展性和低成本要求,我们选择的是Altera公司的stratix系列芯片。
百兆物理层(PHY)芯片采用的是VT6108S,它实现核心功能FPGA与软件控制台的接口功能。由于核心功能FPGA采集数据的峰值速率可达千兆速率,而输出给控制台时仅为百兆速率,故使用一个外部静态存储器(SRAM)实现输出数据的缓存。
3.2 核心功能的FPGA设计
3.2.1 EPON协议帧的采集
图4是上/下行协议帧采集框图。千兆收发器芯片通过TBI接口将EPON上/下行链路的数据送给核心功能FPGA,FPGA以异步先入先出(FIFO)方式将接收到的数据同步到FPGA内部的125 MHz时钟,然后进行8B/10B解码,转换为千兆比特媒质无关接口(GMII)格式的数据并恢复出各帧。
经过EPON前导码校验和FCS校验后,错误的帧将被丢弃。由于MPCP帧的type域为0x8808,OAM帧的type域为Ox8809,帧分类模块据此筛选出MPCP/OAM帧送过滤模块。
过滤模块包括一个注册过程提取模块和一个用户自定义过滤模块。注册过程提取模块能够根据LLID和帧内type/opcode字段筛选出所有的注册过程帧,其余的帧送用户自定义过滤模块。用户自定义过滤模块支持按LLID过滤,或按用户自定义帧内字段过滤,或按两种过滤条件的“与/或”组合过滤,具体参数见硬件平台功能需求分析。
由于硬件平台与软件控制台的接口为百兆以太网口,故采集到的EPON协议帧(含EPON前导码)需要先封装到以太网帧再输出给软件控制台,封装时应尽量反映EPON协议帧的原始信息,如采集时间、来自EPON上行方向还是下行方向等,这些分别在timestamp域和flag域中标识,另外考虑到EPON帧封装到以太网帧后的长度可能会超过以太网的最大传输单元(MTU),长度大于1 490字节的EPON协议帧将被分为2段封装,有关分段的信息也包含在flag域。封装格式见图5。其中在subtype域标明以太网帧的净荷部分为EPON协议帧。
图5 EPON协议帧的封装
3.2.2 EPON链路参数统计
我们对反映EPON链路性能最为关键的3类信息:EPON前导码CRC8校验的差错率、各LLID对应帧的FCS校验差错率和各LLID对应的业务流量信息,进行了统计上报。
基于用户对几类统计数据的关注程度不同,底层支持对各类统计的使能和上报周期控制,在上报周期到达时刻,统计信息将被打包输出。为了在数据输出时仍能进行统计,我们使用了两套统计模块,当一套需要输出统计信息时,则切换到另一套进行参数统计。
在EPON中,OAM消息均以TLV(Type Length Value)的格式承载,然后再被封装到OAM帧中的data域,这种格式使得OAM消息具有很好的扩展性。在此我们借鉴了EPON OAM帧的封装方式,统计数据将先被封装到一个TLV中,在TLV头部的type字段标明该TLV承载了哪类统计信息,通过length域标明该TLV的长度。在将TLV封装到以太网帧时,仍使用了subtype字段来标识该以太网帧的净荷部分为统计信息,flag域预留,封装格式见图6。
3.2.3 配置解析
来自软件控制台的各种配置消息由配置解析模块处理后,被送往相应模块。用户可配内容包括EPON协议帧的过滤条件、各链路统计项的使能和上报周期以及数据封装到以太网帧时的DA/SA/type字段等。
考虑到与软件控制台的通信线路可靠性,当配置解析模块收到一个没有误码的配置消息后,它将产生一个包含该配置消息号和配置生效时间的确认帧告知控制台,格式与统计帧类似。
3.2.4 输出控制
它将采集到的上下行EPON协议帧、统计信息帧和配置确认帧等几路数据调度到外部的SRAM,然后控制它们输出到百兆口,这通过对外部SRAM的读写来实现。
外部存储器我们采用的是pipelined类型的零总线变换(ZBT)SRAM,其读写操作的切换不需要任何等待周期,因而总线利用率可达100%。SRAM的数据接口位宽为36 bit,而待写入SRAM的各路数据位宽为9 bit(8 bit数据+1 bit帧包络信息),这样各路数据每4个时钟分别往SRAM写一次36 bit位宽数据即可实现线速存储。为此将SRAM划分为3个独立的存储区,并将读写时隙分配如下:第1个时钟周期可往SRAM的存储1区写EPON上行协议帧,第2个时钟周期可往SRAM的存储2区写EPON下行协议帧,第3个时钟周期可往SRAM的存储3区写统计信息帧和配置确认帧,第4个时钟周期可从SRAM读出数据,从某一块存储区读出完整一帧后即切换到读另一块存储区。
3.3 测试结果
我们在北京格林威尔科技发展有限公司的EPON系统上进行了实际测试。所研发的EPON测试仪能够提取ONU注册过程中涉及到的所有帧;当收到控制台配置的过滤条件时,它将向控制台返回一个确认消息,然后按照配置的过滤条件提取特定MPCP/OAM帧;可对几类链路参数中的某一类或全部进行统计,并可独立配置各类统计数据的上报周期;所有送往控制台的数据均按设定格式封装到以太网帧。此外我们还对EPON测试仪硬件平台支持的参数进行了测试,测试结果表明,各项功能和性能指标均与设计要求相符。
4、结束语
本文说明了研究开发EPON测试仪的意义,简要描述了其功能结构,并着重阐述了其硬件平台的FPGA设计与实现。EPON测试仪可以有效地帮助网络运营商进行设备互通测试、工程验收和网络运维等。