APP下载

以太无源光网络中光网络单元注册的FPGA实现

2011-03-06殷爱菡刘方仁

华东交通大学学报 2011年2期
关键词:单播程序设计分配

殷爱菡,刘方仁

(华东交通大学信息工程学院,江西南昌 330013)

以太无源光网络EPON(ethernet passive optical network,EPON)是光接入网的重要解决方案之一[1],为了实现EPON系统良好的可扩展性和方便的操作维护管理,在系统开通运行后,新连接的或者掉电的光网络单元ONU(optical network unit,ONU)需要能够自动加入到系统中,而不影响其它正常工作的ONU。以往关于ONU注册的研究,大部分集中在对ONU注册算法的研究,如对ONU注册窗口大小和周期的选择[2],以及对ONU注册流程及其安全性研究[3],很少涉及到ONU注册的硬件实现。本文提出了一种基于FPGA的ONU注册方案,且采用自顶向下的设计方法,通过硬件描述语言Verilog HDL编程实现,该方案具有占用硬件资源少、结构简单、可靠性高和可移植性等优点。

1 ONU注册的过程及原理

ONU的注册是指新连接的或断线的ONU接入网络,能够被光线路终端OLT(optical line terminal,OLT)自动识别,这一过程由OLT来驱动。注册过程中需要的控制帧有:传送注册授权和带宽授权的GATE帧,传送注册请求的REGISTER_REQ帧,传送注册信息的REGISTER帧,传送注册确认信息的REGISTER_ACK帧。具体的注册过程及原理如下.

1)OLT周期性的向系统各个ONU广播发送注册授权GATE帧,让新接入的或者断线的ONU有机会被OLT识别。OLT发送注册授权GATE帧后,启动发现窗口定时器,若定时器超时未收到ONU的应答,则关闭发现窗口,等待下一周期的到来[4]。

2)已注册的ONU忽略注册授权GATE帧,而未注册的ONU接收到注册授权GATE帧后,首先根据时间标签调整本地时钟,然后在授权的时隙内利用REGISTER_REQ帧发送注册请求信息。若ONU在发送注册请求后的指定时间内未收到OLT发来的REGISTER帧,则认为发生了注册冲突。ONU进行随机延时后重新发送注册请求,直至收到OLT发来的REGISTER帧[5]。

3)OLT在发现窗口内收到一个有效地注册请求消息后,首先给新发现的ONU分配逻辑链路标识LLID(logical link identifier),并将LLID与该ONU的MAC地址绑定起来,同时利用REGISTER帧给该ONU发送注册信息;然后OLT再给该ONU发送带宽授权GATE帧以使其向OLT发送注册确认帧[6]。

4)未注册的ONU收到REGISTER帧后,利用该消息中携带的新分配的LLID替换未注册时的LLID,同时等待OLT发送带宽授权GATE帧。收到授权后,ONU利用REGISTER_ACK帧向OLT发送注册确认信息,这样就完成了整个注册过程。具体的注册过程如图1所示。

2 ONU注册的FPGA实现

根据ONU的注册过程以及模块化的FPGA设计思想,将ONU注册作为一个模块来实现,其总体设计框图如图2所示。为了更好地说明ONU注册的FPGA实现过程,设计了一个由OLT和3个ONU组成的简单注册模块。由设计框图可知,注册模块包括:启动注册模块、OLT端控制帧处理模块、单播/广播控制模块和ONU端控制帧处理模块等4个子模块。

2.1 启动注册模块设计

ONU注册过程的第一步是OLT以广播的方式周期发送注册授权GATE帧,由于该帧是周期发送的,且该GATE帧的内容是固定的,因此单独设计一个模块来周期发送注册授权GATE帧。注册授权GATE帧的长度为72个字节,故启动注册模块的设计中将该GATE帧存储在一个长度为18,位宽为32的数组中。clk_gate为发送注册授权GATE帧的标识信号,当clk_gate产生一个高电平时,OLT就立即发送注册授权GATE帧。

2.2 OLT端控制帧处理模块设计

OLT端控制帧处理模块的主要功能是发送REGISTER帧和带宽授权GATE帧,处理ONU发来的REGISTER_REQ帧和REGISTER_ACK帧。控制帧的发送与接收可以利用FIFO来实现[7]。考虑到控制帧的长度为72字节,故FIFO的位宽设定为32,深度设定为18。OLT端控制帧处理模块接收到ONU发来的控制帧后将其保存到64位的移位寄存器中,然后判断移位寄存器的数值是不是帧前导码。若不是帧前导码,则继续检测;若是,则将计数器置0,并开始计数,直到计数器的值为8时,再进行数据检测。此时检测的是操作码字段的值,根据操作码字段的值来进行帧识别,从而对不同的帧作出相应的处理。操作码0x0002代表GATE帧,0x0004代表REGISTER_REQ帧,0x0005代表REGISTER帧,0x0006代表REGISTER_ACK帧,其中0x表示十六进制[8]。该模块程序设计流程图如图3所示。

2.3 单播/广播控制模块设计

在ONU的注册过程中,OLT控制帧的发送方式分为广播发送与单播发送,注册授权GATE帧和REG-ISTER帧为广播发送,带宽授权GATE帧为单播发送。当控制帧进入单播/广播控制模块时,检测该帧的操作码字段,从而识别该帧的类型,选择相应发送方式。单播/广播控制模块程序设计流程图如图4所示。

2.4 ONU端控制帧处理模块设计

ONU端控制帧处理模块的主要功能是接收注册授权GATE帧、带宽授权GATE帧,发送REGISTER_REQ帧和REGISTER_ACK帧。ONU端控制帧处理模块也采用FIFO来进行数据处理的,将接收到的数据存储到64位的移位寄存器中,检测其操作码字段的值,从而确定帧的类型。当ONU连续收到REGISTER帧和带宽授权GATE帧后,ONU向OLT发送一个REGISTER_ACK帧,报告注册结果。ONU端控制帧处理模块程序设计流程图如图5所示。

3 实现结果的验证与分析

ONU注册的FPGA实现和功能验证是在Modelsim SE 6.5和QuartusⅡ7.1环境下完成的。验证所采用的芯片是CycloneⅡ系列芯片EP2C8Q208C7。为了对ONU注册过程进行仿真,特设定如下参数:OLT的MAC地址为0x201010011030,LLID为0x1fff;ONU1的MAC地址为0x201010011001,ONU2的MAC地址为0x201010011002,ONU3的MAC地址为0x201010011003;注册成功后OLT分配给ONU1,ONU2,ONU3的LLID分别为0x1111,0x2222,0x3333。

ONU注册的仿真过程如图6所示,图6(a)是OLT发送的注册授权GATE帧,图6(b)是OLT接收到ONU1发送的REGISTER_REQ帧,图6(c)和图6(d)分别是OLT向ONU1发送的REGISTER帧和带宽授权GATE帧。ONU注册成功的确认结果如图7所示,图中的数据是OLT接收到ONU发送的REGISTER_ACK确认帧。该帧的第1,2组数据是帧前导码,第3,4,5组数据是目的地址和源地址,第6组数据是帧类型标识和操作码,第7组数据是时戳,第8组数据是数据域,其前2位数字表示注册成功与否,若为0x01则表示注册成功;中间4位数字表示注册完成后OLT分配给某个ONU的LLID,后面2位数字则是对同步时间值作的回应。

图7(a)(b)(c)分别是OLT接收到ONU1,ONU2,ONU3发送的REGISTER_ACK帧。从图7中的结果可以看出,图7(a)中的第3组数据和第4组数据的前4位为0x201010011030,为OLT的MAC地址,表示该帧是发送给OLT的;第4组数据的后4位和第5组数据为0x201010011001,为ONU1的MAC地址,表示该帧是从ONU1发出的;第6组数据的前4位为0x8808,表示该帧的类型为控制帧,其后4位为0x0006,表示该帧为注册确认帧;第7组数据表示ONU1发送该确认帧时的本地时间值;第8组数据的前2位数字为0x01,且中间4位数字为1111,这说明ONU1注册成功,且分配的LLID与前面预期设定的分配值相同。同理,图7(b)中的第8组数据的前6位数字为0x012222,图7(c)中的第8组数据的前6位数字为0x013333。综上所述,仿真结果验证了该ONU注册方案的有效性和可行性。

4 结束语

通过对ONU注册的各个模块的程序设计,在Altera的平台上实现了FPGA硬件电路,成功实现了提出的ONU注册方案,仿真结果与预期的理论值完全相符。该方案设计灵活,具有可移植性,能很容易地扩展为16个或者32个ONU的网络拓扑结构,可广泛地应用于新一代无源光接入网中。

[1]SÍLVIAPATO,HENRIQUE SILVA,PAULO MONTEIRO.Forward error correction in 10 Gbits/s Ethernet passive optical networks[J].Journal of Optical Networking,2009,8(1):84-94

[2]戚世杰,李迎春,林如俭.EPON系统注册过程[J].上海大学学报:自然科学版,2005(11):346-349.

[3]简化,李庆山,秦前清.EPON中ONU的自动加入技术及实现[J].光通信技术,2004(9):18-19.

[4]朱华伟,侯晓荣,何峥.10 G EPON系统ONU注册技术研究[J].光通信技术,2010(2):1-4.

[5]张多英,李学易,刘伟平,等.EPON系统中的MPCP协议研究[J].应用光学,2004,25(4):21-25.

[6]李霞,黄俊,朱雁程.EPON中LLID配置方式[J].光通信技术,2009(5):8-10.

[7]陈军,张远见,杨俊.一种节能型可升级异步FIFO的FPGA实现[J].电子技术应用,2009(4):66-69.

[8]LAN/MAN Standards Committee of the IEEE Computer Society.IEE Std 802.3ah-2004[S].New York:The Institue of Electrical and Electronics Engineers:2004.

猜你喜欢

单播程序设计分配
高空通信平台非正交广播与单播复用容量研究
基于Visual Studio Code的C语言程序设计实践教学探索
应答器THR和TFFR分配及SIL等级探讨
遗产的分配
从细节入手,谈PLC程序设计技巧
一种分配十分不均的财富
高职高专院校C语言程序设计教学改革探索
PLC梯形图程序设计技巧及应用
城市车辆网络单播路由协议:审查、分类和开放问题研究
IP互动电视快速频道切换的解决方案与实现