面向10G GPON ONT的应用接口设计与实现

时间:2022-05-13 01:29:51

【前言】面向10G GPON ONT的应用接口设计与实现由文秘帮小编整理而成,但愿对你的学习工作带来帮助。2 10G GPON技术 2.110G GPON的体系结构 图1是10G GPON的体系结构,仍然延续了GPON的典型拓扑结构,由支持10G速率OLT、ONT和ODN(光分配网络)组成。OLT一般位于中心机房,向上提供广域网接口,向下对PON可提供10Gb/s的光接口。图1中10G GPON OLT由4个2.5Gb/s的信道组...

面向10G GPON ONT的应用接口设计与实现

摘要 文章介绍了10g gpon标准的体系结构,并比较分析其技术优势,然后提出一种在10G GPON系统ont端通过FPGA来进行10G以太网数据收发的方法,并给出基于FPGA实现的硬件连接方法、软件驱动程序和OMCI通道建立的过程,为未来10G GPON ONT的设计提供参考。

关键词 GPON 10G GPON OMCI OMCC

1 引言

当前GPON的2.5G下行、1.25G上行带宽可以满足运营商现阶段语音、数据、视频业务三重播放的要求,而10G GPON(10吉比特无源光网络)技术可提供更高的接入带宽,可应用在更高密度、更高分光比的场景。2010年6月通过的10G GPON主体标准,定义了上行2.5Gb/s、下行10Gb/s的非对称系统,而现阶段国家政策不断助推“三网融合”,也为多业务融合创造了外部大环境,促进了带宽需求的提升以及宽带网络的持续演进和升级。因此,发展下一代GPON接入网技术是必然的趋势。

延续GPON的优势,10G GPON将继续关注运营商的全业务支持和管理要求。本文研究了1OG GPON的技术优势,针对非对称系统,提出一种基于FPGA在ONT端的实现10G GPON的方案,为未来10G GPON ONT(光网络终端)的设计提供参考。

2 10G GPON技术

2.110G GPON的体系结构

图1是10G GPON的体系结构,仍然延续了GPON的典型拓扑结构,由支持10G速率OLT、ONT和ODN(光分配网络)组成。OLT一般位于中心机房,向上提供广域网接口,向下对PON可提供10Gb/s的光接口。图1中10G GPON OLT由4个2.5Gb/s的信道组成,实现了10Gb/s的带宽,同时可以兼顾与GPON的无缝兼容,与GPON共享一个ODN。ONT放在用户侧,为用户提供光接口速率有10Gb/s。

2.210G GPON技术优势

作为下一代GPON技术,10G GPON具有如下主要优势:

(1)10G GPON系统兼容现有的G/EPON系统。10G GPON沿袭了与GPON完全相同的网络拓扑,10G-GPON的ODN系统完全可以利用现有G/EPON已投放的光纤、分路器和接插件等,而仅替换ONT,大大降低了技术升级的成本。同时,在OLT侧增加支持10G的接口板,可最大限度地发挥ODN设备商业价值,具有成本优势。

(2)10G GPON提供了良好的互通性。OMCI协议处于ITU-T TDM PON协议栈的最高层,受具体底层技术变化的影响最小,可继承性最强。从管理项及其配置方式来看,10G GPON与GPON没有区别,从而使得10GGPON天生就具备了承自GPON的成熟互通性。

(3)10G GPON具有超强的带宽能力,是GPON的4倍和EPON的10倍以上,这使得光纤接入系统能更好地满足未来发展需求。

(4)10G GPON可实现1:512的大分光比下20公里的长距传输,在不改变用户带宽的情况下,可通过增大分光比接入更多的用户。这极大地提高了用户的覆盖率,实现了成本最大化,为运营商带来更多的收益。

(5)10G GPON具有QoS保证的全业务运营能力支持的优势。运营商的三网融合除了数据业务,还包含大量的语音和视频业务,对服务质量保证要求比较高。

(6)相比于GPON,10G GPON的TC(传输汇聚层)技术不断改进,在安全性和节能方面都有明显扩充和提高,符合倡导绿色节能技术的未来趋势,并且提升了用户体验。

3 10G GPON ONT应用程序解决方案

3.1总体设计方案

10G GPON ONT作为一种下挂业务终端设备,通过XAUI接口与MDU的背板相连,实现与背板间的通讯带宽达到10G的带宽。设计中采用武汉电信器件有限公司(WTD)生产的XG-PON1光模块,作为10G GPON的网络接口接入ODN网络,通过支持10G速率的FPGA,实现上行2.5G、下行10G的传输带宽。所以,应用软件的总体设计主要包括驱动FPGA和打通OMCI通道的程序设计,使OLT和FPGA之间能够通讯。FPGA的驱动程序为应用层业务模块的实现提供了基础,因此成为应用程序和硬件的通信纽带。而OMCI通道主要是为了与10GGPON OLT实现通讯,使OLT可以通过模型化方式对ONT进行管理和配置。

3.2硬件连接方法

系统选用Altera公司Stratix IV系列的FPGA,提供一系列硬件成熟的万兆MAC内核,内置支持XG MII、XAUI。如图2所示,BCM6818和FPGA之间通过Localbus直接相连,CPU与FPGA通过GMII接口相连,构成OMCI通道。背板和FPGA之间通过XAUI口连接,实现了10G以太网数据的传输。XAUI拥有通过4条串行通道,XAUI接口所支持的数据吞吐量是千兆以太网的10倍。

3.3驱动程序的实现

设备驱动程序是操作系统内核和机器硬件之间的接口,它为应用程序屏蔽了硬件的细节,这样在应用程序看来,硬件设备只是一个设备文件,应用程序可以像操作普通文件一样对硬件设备进行操作。在linux系统中,驱动程序完成对字符设备的操作,能够配置设备寄存器。

(1)设备驱动程序的结构及运行流程

如图3所示的用户空间,在通过insmod命令加载设备驱动程序时,设备驱动将通过使用动态模块加载的方式并指向设备初始化函数fpga_drv_init(),在初始化函数中使用register_chrdev_region()进行字符型设备的注册,并可以通过静态方法来申请注册到系统中的设备号。随后调用cdev_init()完成对设备树的初始化,并使用kmalloc()开辟1K的内存空间,作为对寄存器数据读取的缓冲区,最后再调用cdev_add()把FPGA加到系统设备树上面去。

通过rmmod命令对设备驱动进行卸载时,在卸载函数fpga_drv_exit()中,将使用kfree释放由设备所占的缓冲区,随后调用cdev_del()在设备树上删除该设备节点,另外卸载函数fpga_drv_exit()中还将使用unregister_chrdev_region()对字符型设备进行注销。

(2)设备驱动用户应用层接口分析

在注册字符型设备时,设备驱动中初始化了一个struct file_operations文件操作结构体变量,用于连接字符设备驱动程序和用户应用程序,在该结构中定义了一组函数指针。系统就是通过这组函数指针对FPGA进行具体操作的,系统首先通过设备文件的主设备号找到相应的设备驱动程序,然后读取这个数据结构相应的函数指针,找到相关的功能函数,接着把控制权交给该函 数,从而就在上层屏蔽了设备驱动的具体实现细节,提供给用户一个方便快捷的接口。该结构中的fpga_drv_open(),对应于用户应用层的open()接口函数,其通过mknod创建的设备节点对设备文件进行打开操作。而对应用户层close()接口函数的fpga_drv_close(),则负责设备文件的释放操作。file_operations中的fpga_drv_ioctl()则主要是为用户提供一些控制该FPGA的命令,比如中断操作等,fgpa_drv_llseek()主要是为设备提供偏移地址offset。对一块具体设备进行读写操作是编写驱动要达到的目的,file_operations结构体中所指向的读写函数fpga_drv_read(),fpga_drv_write()完成了对FPGA的读出和写入操作。这样驱动程序就作为纽带连接了设备驱动和总线驱动,并完成了两者之间的通信,其运行流程如图3的内核空间所示。

3.4OMCI通道

(1)QMCI介绍

OMCI是ITU-T TDM PON系统中设备和业务的管理和配置协议,是一种带外管理协议(即协议报文承载在有别于普通数据的特定GEM连接中),经由专门的OMCI通道(OMCC)。OLT通过模型化方式对ONU进行管理和配置。OMCI的管理配置内容包括对ONu设备的版本控制、配置管理、故障管理、性能管理和安全管理。因此,OMCC的设计对10G GPON ONT的实现至关重要。

(2)OMCI通道的设计与实现

OMCC用于管理XGTC之上的业务层。在XGTC层中提供一条基于XGEM的传送通道用于传递管理信息,实现OMCI消息的收发。在基于linux的系统内,采用了socket收发机制来实现这一功能。如图4所示,首先OMCI消息从FPGA通过GMII接口上来,然后通过BCM6818芯片的转发模块CMF,设定源端口和目的端口的规则,所有符合条件的报文将被过滤到CPUBCM6818去处理。从CPU发送回FPGA的OMCI消息也使用同一通道进行传输。封装的OMCI报文如图5所示,填充长度为33个字节,以太类型为0x8887,标识符OUI(Organizationally Unique Identifier)为0x0019A7和子类型为0x0002,其中OMCI净荷长度为48byte。

在设计中,OMCI通道主要完成从FPGA出来的OMCI消息头部的剥离,和对从CPU出来的OMCI消息添加对调了源MAC和目的MAC的头部,从而能够被OMCI管理进程识别,进一步分发处理。该过程完成了对OMCI消息发送和接收的解码和编码(如图4所示),并最终发送回OLT处理。

4 测试与分析

4.1FPGA驱动测试

为了测试FPGA是否能够被驱动起来,我们设计通过应用层的系统调用读写FPGA里面寄存器的内容。在ONT的命令行中,用kill方式向业务进程来发送信号。如果在业务进程里面能够收到并匹配对应的信号值,则fork出子进程来处理调试工作。在子进程中使用open、read、write等系统调用,对设备文件执行打开、读写、关闭等操作,然后调用应用层的print函数把数值打印出来。同时,查找FPGA寄存器手册找到对应的偏移地址,在CFE(即bootloader)中读取对应的寄存器,对比得到的数值,如相同,则验证了FPGA驱动能够正常读写设备文件。

4.2OMCC测试

对于OMCC的测试,通过TestCenter根据OMCI的格式组报文(见图5),模拟报文从OLT经过CMF到CPU,然后从CPU发送出来到FPGA,最后发送回OLT的整个过程。在发流口发送的报文,如图6所示,随后也能在发流口抓到从CPU返回的OMCI报文,如图7所示,比较两种报文发现,除了源MAC和目的MAC对换,报文其他格式相同。这个过程证明了OMCC能够实现OMCI报文的收发,为管理面和数据通道的实现做好了铺垫。

5 结束语

作为下一代PON技术,10G GPON既能满足不断出现的高带宽网络多媒体应用业务的需求,又能以较少的成本实现10Gb/s带宽的接入,是对现有PON技术的一种补充,是下一代接入网技术的发展趋势。从现在的GPON到10G GPON是一个平滑演进的过程,以其独特的经济高效方式满足了10Gb/s传输、向后兼容和接入带宽扩展等需求。本文提出的基于FPGA对10G GPON的支持,提出了一种新的上下行非对称10G GPON ONT的实现方案,在大规模流片出来之前,相信可为10G GPON终端设备的研发提供一定的参考价值。

上一篇:PTN与IP城域网融合组网的探讨 下一篇:3G PDP激活成功率优化