一种XGSPON中ONU端上行组帧的方法及系统与流程

文档序号:16315946发布日期:2018-12-19 05:28阅读:1160来源:国知局
一种XGSPON中ONU端上行组帧的方法及系统与流程

本发明涉及计算机通信技术领域,具体涉及一种xgspon中onu上行组帧的方法及系统。

背景技术

10吉比特对称无源光网络(xgspon,10-gigabit-capablesymmetricpassiveopticalnetwork)作为接入网技术具有良好的前向兼容性和后向延续性,与10吉比特无源光网络(xgpon,10-gigabit-capablepassiveopticalnetwork,xgpon对应的是下行速率为10gbps上行速率为2.5gbps的非对称系统)技术相比支持更高的上行带宽,可以支持10gbps和2.5gbps两种速率的上行带宽,可以完成xgpon1技术到xgspon技术的平滑演进,xgpon1和xgspon设备可以和谐共存,为用户提供更多的选择。xgspon接入系统由局端光线路终端设备(olt)和远端光网络单元(onu)设备组成。

国际电信联盟远程通信标准化组织(itu-t)制定的xgspon协议g.9807.1中定义了xgspon的传输汇聚层的功能,传输汇聚层由物理适配子层、成帧子层、业务适配子层组成,对于onu设备,其业务适配子层将业务数据单元封装到10吉比特无源光网络封装模式(xgem),数据传送到olt后,olt解开xgem帧恢复业务数据,从而在上行方向完成业务数据从onu到olt的传送。

onu在注册成功后,olt会根据需要给onu指定分配标示符(alloc-id),onu会将alloc-id映射为传输容器(transmissioncontainer,tcont),olt会基于tcont给onu分配上行带宽,onu会基于tcont来完成上行xgem组帧。

目前运营商要求设备制造商的onu设备支持的tcont个数较多,一般要求支持32个以上,这带来了下面的问题:

onu是基于tcont来完成上行xgem组帧的,一般做法是一个tcont一套xgem组帧电路,如果onu支持32个tcont,那么就需要32套xgem组帧电路,电路规模会比较庞大,由于电路规模庞大导致onu的功耗增大,这会导致onu设备价格较贵和功耗较大的问题,不利于xgspon设备的推广和普及。

有鉴于此,亟需一种减少xgem组帧电路规模的方法,来降低onu设备的电路规模和电路功耗。



技术实现要素:

针对现有技术中存在的缺陷,本发明的目的在于提供一种xgspon中onu端上行组帧的方法及系统,实现多个tcont共用一套组帧电路,有效的降低onu组帧电路的规模。

为达到以上目的,本发明采取的技术方案是:一种xgspon中onu端上行组帧的方法,包括以下步骤:

根据tcont个数分配tcont数据缓存、tcont描述缓存;

收到上行数据帧和tcont号时,将上行数据帧数据写入tcont号对应的tcont数据缓存,将上行数据帧帧长、数据帧的gemport信息写入tcont号对应的tcont描述缓存;

收到olt分配给onu的tcont上行带宽和涉及的tcont号时,获取tcont号对应的xgem组帧中间信息,从tcont描述缓存中读出数据帧描述,从tcont号对应的tcont数据缓存中读出数据帧内容,进行xgem组帧。

在上述技术方案的基础上,所述xgem组帧中间信息包括数据帧的gemport信息、数据帧剩余长度、从tcont数据缓存已读出数据剩余长度、从tcont数据缓存已读出数据剩余数据。

在上述技术方案的基础上,收到olt分配给onu的tcont上行带宽和涉及的tcont号时,获取tcont的xgem组帧中间信息,从tcont描述缓存中读出数据帧描述,从tcont号对应的tcont数据缓存中读出数据帧内容,进行xgem组帧,具体包括以下步骤:

收到olt分配给onu的tcont上行带宽和涉及的tcont号时,获取该tcont的xgem组帧中间信息;

xgem组帧中间信息的数据帧剩余长度等于0,且该tcont对应的tcont数据缓存和tcont描述缓存没有数据时,进行xgem空闲帧组帧;

数据帧剩余长度等于0,但该tcont对应的tcont数据缓存和tcont描述缓存中有数据时,从该tcont对应的描述缓存读出一条数据帧描述,从该tcont对应的tcont数据缓存中读出对应的数据帧数据,根据数据帧描述的上行数据帧帧长和tcont剩余带宽中的较小值确定xgem帧的payload长度,进行xgem组帧;

数据帧剩余长度不等于0时,根据数据帧剩余长度和tcont剩余带宽中的较小值确定xgem帧的payload长度;若xgem组帧中间信息的从tcont数据缓存已读出数据剩余长度大于等于xgem帧的payload长度,采用从tcont数据缓存已读出数据剩余数据,进行xgem组帧;若从tcont数据缓存已读出数据剩余长度小于xgem帧的payload长度,采用从tcont数据缓存已读出数据剩余数据作为xgem帧的payload一部分,从tcont对应的tcont数据缓存读出数据帧内容,作为xgem帧的payload剩余部分,进行xgem组帧;

完成一次xgem组帧后,更新xgem组帧中间信息和tcont剩余带宽,进行下一次xgem组帧,直至tcont上行剩余带宽为零。

在上述技术方案的基础上,进行xgem组帧时,采用所述xgem帧的payload长度和xgem组帧中间信息中的数据帧的gemport信息组建xgem帧头,采用从tcont数据缓存读出的数据帧内容组建xgem帧的payload部分。

在上述技术方案的基础上,所述更新tcont剩余带宽,具体包括以下过程,tcont剩余带宽默认为olt分配给onu的tcont上行带宽,完成xgem组帧后,tcont剩余带宽=组帧前的tcont剩余带宽-xgem帧长度。

本发明还公开了一种xgspon中onu端上行组帧的系统,包括:

缓存分配单元,其用于:根据tcont个数分配tcont数据缓存、tcont描述缓存;

写控制单元,其用于:收到上行数据帧和tcont号时,将上行数据帧数据写入tcont号对应的tcont数据缓存,将上行数据帧帧长、数据帧的gemport信息写入tcont号对应的tcont描述缓存;

组帧单元,其用于:收到olt分配给onu的tcont上行带宽和涉及的tcont号时,获取tcont号对应的xgem组帧中间信息,从tcont描述缓存中读出数据帧描述,从tcont号对应的tcont数据缓存中读出数据帧内容,进行xgem组帧。

在上述技术方案的基础上,所述缓存分配单元包括tcont数据缓存电路和tcont描述缓存电路;所述tcont数据缓存电路用于根据tcont个数分配tcont数据缓存,分别存储每个tcont对应的上行数据帧数据;所述tcont描述缓存电路用于根据tcont个数分配tcont描述缓存,分别存储每个tcont对应的上行数据帧的数据帧描述;

所述写控制单元包括缓存写控制电路,缓存写控制电路用于收到上行数据帧数据、上行数据帧帧长、数据帧的gemport信息和tcont信息,将上行数据帧数据写入tcont信息对应的tcont数据缓存,将上行数据帧帧长、数据帧的gemport信息写入tcont信息对应的tcont描述缓存;

所述组帧单元包括缓存读控制电路、xgem组帧电路、xgem组帧中间信息存储电路,其中:

缓存读控制电路用于:根据xgem组帧电路提供的tcont号,从tcont描述缓存读取对应的数据帧描述,从tcont数据缓存读取对应的数据帧内容,并将读出的数据帧描述和数据帧内容发送至xgem组帧电路;

xgem组帧电路用于:收到olt分配给tcont的上行带宽和tcont号时,获取tcont号对应的xgem组帧中间信息,通过缓存读控制电路读取tcont号对应的数据帧描述和数据帧内容,进行xgem组帧;

xgem组帧中间信息存储电路用于:存储xgem组帧中间信息。

在上述技术方案的基础上,所述xgem组帧中间信息包括数据帧剩余长度、数据帧的gemport信息、从tcont数据缓存已读出数据剩余长度、从tcont数据缓存已读出数据剩余数据。

在上述技术方案的基础上,所述组帧单元具体用于:

收到olt分配给onu的tcont上行带宽和涉及的tcont号时,获取该tcont的xgem组帧中间信息;

xgem组帧中间信息的数据帧剩余长度等于0,且该tcont对应的tcont数据缓存和tcont描述缓存没有数据时,进行xgem空闲帧组帧发送;

数据帧剩余长度等于0,但该tcont对应的tcont数据缓存和tcont描述缓存中有数据时,从该tcont对应的描述缓存读出一条数据帧描述,从该tcont对应的tcont数据缓存中读出对应的数据帧数据,根据数据帧描述的上行数据帧帧长和tcont剩余带宽中的较小值确定xgem帧的payload长度,进行xgem组帧;

数据帧剩余长度不等于0时,根据数据帧剩余长度和tcont剩余带宽中的较小值确定xgem帧的payload长度;若xgem组帧中间信息的从tcont数据缓存已读出数据剩余长度大于等于xgem帧的payload长度,采用从tcont数据缓存已读出数据剩余数据,进行xgem组帧;若从tcont数据缓存已读出数据剩余长度小于xgem帧的payload长度,采用从tcont数据缓存已读出数据剩余数据作为xgem帧的payload一部分,从tcont对应的tcont数据缓存读出数据帧内容作为xgem帧的payload剩余部分,进行xgem组帧;

完成一次xgem组帧后,更新xgem组帧中间信息和tcont剩余带宽,进行下一次xgem组帧,直至tcont上行带宽为零。

在上述技术方案的基础上,所述组帧单元进行xgem组帧时,采用所述xgem帧的payload长度和xgem组帧中间信息中的数据帧的gemport信息组建xgem帧头,采用从tcont数据缓存读出的数据帧内容组建xgem帧的payload部分。

与现有技术相比,本发明的优点在于:

本发明根据tcont个数分配tcont数据缓存、tcont描述缓存;收到上行数据帧和tcont号时,将上行数据帧数据写入tcont号对应的tcont数据缓存,将上行数据帧帧长、数据帧的gemport信息写入tcont号对应的tcont描述缓存;收到olt分配给onu的tcont上行带宽和涉及的tcont号时,获取tcont号对应的xgem组帧中间信息,从tcont描述缓存中读出数据帧描述,从tcont号对应的tcont数据缓存中读出数据帧内容,进行xgem组帧,实现多个tcont共用一套xgem组帧电路,有效的降低onu组帧电路的规模。

附图说明

图1为本发明实施例中xgspon中onu端上行组帧的方法的流程示意图;

图2为本发明实施例中xgspon中onu端上行组帧的方法的s3的流程示意图;

图3为本发明实施例中xgspon中onu端上行组帧的系统的结构示意图;

图4为本发明实施例中xgspon中onu端上行组帧的系统的xgem组帧中间信息的数据结构示意图。

具体实施方式

术语解释:

上行数据帧:从onu的业务端口输入的上行数据,该数据需通过封装在xgem帧的payload(净荷)部分传送给olt。

上行数据帧长:上行业务数据帧携带的数据帧长度信息。

上行数据帧gemport:上行数据帧携带的gemport信息。

上行数据帧的tcont号:指示该上行数据帧通过该tcont承载传送到olt。

数据帧输入:上行数据帧中正准备写入到数据缓存的部分。

数据缓存写使能:该信号有效时,数据帧内容被写入到数据缓存中。

数据帧描述输入:正准备写入到帧描述缓存的上行数据帧描述信息。

帧描述缓存写使能:该信号有效时,数据帧描述被写入到帧描述缓存中。

数据帧输出:从数据缓存中读出的上行数据帧的部分。

数据缓存读使能:该信号有效时,数据帧内容被从到数据缓存中读出。

数据帧描述输出:从帧描述缓存中读出的一条上行数据帧描述,包括该数据帧的帧长和gemport信息。

帧描述缓存读使能:该信号有效时,数据帧描述被从到帧描述缓存读出。

tcont带宽分配:该信号为olt分配给onutcont的上行带宽,该带宽用于承载上行业务。

tcont数据帧内容:tcont读控制电路读出的数据帧内容,该数据帧内容送往xgem组帧电路,该数据帧内容与送往tcont读控制电路的tcont号信号对应。

tcont数据帧描述:tcont读控制电路读出的数据帧描述,该数据帧描述送往xgem组帧电路,该数据帧描述与送往tcont读控制电路的tcont号信号对应。。

tcont号:该信号由xgem帧模块产生,用于指示需要读取数据帧内容和数据帧描述的tcont编号。

tcont数据读使能:该信号由xgem组帧电路产生,用于读取tcont号对应的数据缓存的一块数据,与tcont号一起使用。

tcont帧描述读使能:该信号由xgem组帧电路产生,用于读取tcont号对应的数据帧描述缓存的一条数帧描述,与tcont号一起使用。

中间信息tcont号:tcont编号,用于读取和写入该xgem组帧中间信息。

中间信息写使能:使能信号,该信号有效时,将中间信息写数据写入到对应的tcont中间信息缓存中。

中间信息写数据:被写入到tcont中间信息缓存中的数据。

中间信息读使能:使能信号,该信号有效时,从对应的tcont中间信息缓存中读出该tcont的组帧中间信息。

中间信息读数据:从tcont中间信息缓存中读出的tcont组帧中间信息。

上行xgem数据帧:组好的上行xgem帧,该数据帧会送往olt。

以下结合附图及实施例对本发明作进一步详细说明。

实施例1:

参见图1所示,本发明实施例提供一种xgspon中onu端上行组帧的方法,包括以下步骤:

s1,根据tcont个数分配tcont数据缓存,分别存储每个tcont对应的上行数据帧数据;根据tcont个数分配tcont描述缓存,分别存储每个tcont对应的上行数据帧的帧描述;

s2,收到上行数据帧和tcont号时,将上行数据帧数据写入tcont号对应的tcont数据缓存,将上行数据帧帧长、数据帧的gemport信息写入tcont号对应的tcont描述缓存;

s3,收到olt分配给onu的tcont上行带宽和涉及的tcont号时,获取tcont号对应的xgem组帧中间信息,从tcont号对应的tcont描述缓存中读出数据帧描述,从tcont号对应的tcont数据缓存中读出数据帧内容,进行xgem组帧。

xgem组帧中间信息包括数据帧对应的gemport信息、数据帧剩余长度、从tcont数据缓存已读出数据剩余长度、从tcont数据缓存已读出数据剩余数据。

例如:若tcont数据缓存的当前帧长度为128b,xgem组帧中间信息从tcont数据缓存中读取了32b,但这32b仅有8b成功组帧发出。那么:

数据帧剩余长度为:(128b-32b)+已读出数据剩余长度=128b-32b+24b=120b

已读出数据剩余长度为:32b-8b=24b。对应的数据内容为已读出数据剩余数据。

即组帧先用xgem组帧中间信息缓存电路中的已读出数据的剩余数据组帧,若payload有多的空间,可以加上部分或全部的tcont数据缓存中读出的数据帧。从tcont数据缓存中读出的数据帧中间未组完帧发出的,叫做从tcont数据缓存已读出数据剩余数据。

步骤s3具体包括以下步骤:

获取该tcont的xgem组帧中间信息,根据xgem组帧中间信息进行xgem组帧:

xgem组帧中间信息的数据帧剩余长度等于0,且该tcont对应的tcont数据缓存和tcont描述缓存没有数据时,进行xgem空闲帧组帧;

xgem组帧中间信息的数据帧剩余长度等于0,但该tcont对应的tcont数据缓存和tcont描述缓存中有数据时,从该tcont对应的描述缓存读出一条数据帧描述,从该tcont对应的tcont数据缓存中读出对应的数据帧数据,根据数据帧描述的上行数据帧帧长和tcont剩余带宽中的较小值确定xgem帧的payload长度,进行xgem组帧;

xgem组帧中间信息的数据帧剩余长度不等于0时,根据数据帧剩余长度和tcont剩余带宽中的较小值确定xgem帧的payload长度;若xgem组帧中间信息的从tcont数据缓存已读出数据剩余长度大于等于xgem帧的payload长度,采用从tcont数据缓存已读出数据剩余数据,进行xgem组帧;若从tcont数据缓存已读出数据剩余长度小于xgem帧的payload长度,采用从tcont数据缓存已读出数据剩余数据作为xgem帧的payload一部分,从tcont对应的tcont数据缓存读出数据帧内容作为xgem帧的payload剩余部分,进行xgem组帧;

完成一次xgem组帧后,更新xgem组帧中间信息和tcont剩余带宽,进行下一次xgem组帧,直至tcont上行带宽为零。

进行xgem组帧时,采用payload长度和xgem组帧中间信息中的数据帧的gemport信息组建xgem帧头,采用从tcont数据缓存读出的数据帧内容组建xgem帧的payload部分。

更新tcont剩余带宽,具体包括以下过程:tcont剩余带宽默认为olt分配给onu的tcont上行带宽,完成xgem组帧后,tcont剩余带宽=组帧前的tcont剩余带宽-xgem帧长度。

实施例2:

参见图2所示,在实施例1的基础上,步骤s3具体包括以下步骤:

s301、收到olt分配给onu的tcont上行带宽和涉及的tcont号时,读取该tcont的xgem组帧中间信息,跳转到s302;

s302、判断xgem组帧中间信息的数据帧剩余长度是否为0,若否,则转s303;若是,转到s307;

s303、根据数据帧剩余长度和tcont剩余带宽中的较小值确定xgem帧的payload长度,转到s304;

s304、判断xgem组帧中间信息的已读出数据剩余长度是否为0,若否,则转s305;若是,转到s310;

s305、判断xgem组帧中间信息的已读出数据剩余长度是否大于等于xgem帧的payload长度,若是,转到s306,若否,转到s310;

s306、利用xgem组帧中间信息的已读出剩余数据组建xgem帧的payload,转到s312;

s307、判断该tcont对应的tcont描述缓存是否为空,若否,转到s308,若是,转s313;

s308、读取tcont描述缓存中的数据帧描述,转到s309;

s309、根据数据帧描述中的数据帧长度和tcont剩余带宽的较小值确定xgem帧的payload长度,转到s310;

s310、读出tcont数据缓存中的数据帧数据,转到s311;

s311、利用读出的数据帧数据组建xgem帧的payload,转到s312;

s312、更新xgem组帧中间信息,写入xgem组帧中间信息缓存中,转到s314;

s313、组建xgem空闲帧,转到s314;

s314、更新tcont剩余带宽,在组帧前tcont剩余带宽基础上减去xgem帧长,转到s315;

s315、判断tcont剩余带宽是否为0,若否,转到s302,若是,转到s301。

实施例3:

在实施例1的基础上,一种xgspon中onu端上行组帧的方法的工作原理如下:

当tcontxgem组帧电路收到olt下发的tcont上行带宽分配时,触发流程开始,将tcont上行带宽分配值赋予tcont上行剩余带宽,同时读取该tcont的xgem组帧中间信息。

判断tcontxgem组帧中间信息的数据帧剩余长度是否等于0,如果等于0,检查该tcont数据帧描述缓存中是否有数据,如果没有数据,进行xgem空闲帧组帧发送。如果tcont数据帧描述缓存中有数据,读取一条数据帧描述,根据数据帧描述中的数据帧长和tcont上行带宽的长度中的较小值得到xgem帧的payload长度,同时利用payload长度和数据帧描述中的gemport就可以组建xgem帧头,然后读取该数据帧的内容,组建xgem帧的payload部分,组建了一个完整的xgem帧发往olt。

如果tcont中间信息中的数据帧剩余长度不为0,根据tcont中间信息中的数据帧剩余长度和tcont上行带宽的长度中的较小值得到xgem帧的payload长度,利用payload长度和tcont中间信息中的gemport就可以组建xgem帧头,然后判断tcont中间信息中的已读出数据剩余长度是否为0,如果为0,读取该数据帧的内容,组建xgem帧的payload部分,组建了一个完整的xgem帧发往olt。

如果tcont中间信息中的已读出数据剩余长度是不为0,表明从tcont数据缓存中读出的数据在上一个xgem组帧用没有用完,判断tcont中间信息中的已读出数据剩余长度是否大于等于xgem帧payload长度,如果大于,则直接利用tcont中间信息中的已读出剩余数据组建xgem帧的payload,组建了一个完整的xgem帧发往olt。

如果tcont中间信息中的已读出数据剩余长度小于xgem帧payload长度,则利用tcont中间信息中的已读出剩余数据填充到xgem帧的payload前面部分,payload剩余的数据从tcont数据缓存电路中读取,组建xgem帧的payload剩余部分,组建了一个完整的xgem帧发往olt。

组建一个完成的xgem帧发往olt后,需要更新tcontxgem组帧中间信息和tcont的剩余上行带宽信息,判断tcont剩余带宽是否为0,如果为0,则跳转到xgem组帧流程的起始,等待olt给tcont的带宽分配,如果不为0,则继续进行xgem组帧流程。

实施例4:

本实施例公开了一种xgspon中onu端上行组帧的系统,包括:

缓存分配单元,其用于:根据tcont个数分配tcont数据缓存、tcont描述缓存;

写控制单元,其用于:收到上行数据帧和tcont号时,将上行数据帧数据写入tcont号对应的tcont数据缓存,将上行数据帧帧长、数据帧的gemport信息写入tcont号对应的tcont描述缓存;

组帧单元,其用于:收到olt分配给onu的tcont上行带宽和涉及的tcont号时,获取tcont号对应的xgem组帧中间信息,从tcont号对应的tcont描述缓存中读出数据帧描述,从tcont号对应的tcont数据缓存中读出数据帧内容,进行xgem组帧。

作为优选的技术方案,参见图3所示:

1、缓存分配单元包括tcont数据缓存电路和tcont描述缓存电路;tcont数据缓存电路用于根据tcont个数分配tcont数据缓存,分别存储每个tcont对应的上行数据帧数据;tcont描述缓存电路用于根据tcont个数分配tcont描述缓存,分别存储每个tcont对应的上行数据帧的数据帧描述;

2、写控制单元包括tcont缓存写控制电路,tcont缓存写控制电路用于收到上行数据帧数据、上行数据帧帧长、数据帧的gemport信息和tcont信息,将上行数据帧数据写入tcont信息对应的tcont数据缓存,将上行数据帧帧长、数据帧的gemport信息写入tcont信息对应的tcont描述缓存;

3、组帧单元包括tcont缓存读控制电路、xgem组帧电路、xgem组帧中间信息缓存电路,其中:

tcont缓存读控制电路用于:根据xgem组帧电路提供的tcont号,从tcont描述缓存读取对应的数据帧描述,从tcont数据缓存读取对应的数据帧内容,并将读出的数据帧描述和数据帧内容发送至xgem组帧电路;

xgem组帧电路用于:收到olt分配给tcont的上行带宽和tcont号时,获取tcont号对应的xgem组帧中间信息,通过缓存读控制电路读取tcont号对应的数据帧描述和数据帧内容,进行xgem组帧;

xgem组帧中间信息缓存电路用于:存储xgem组帧中间信息。xgem组帧中间信息包括数据帧剩余长度、数据帧对应的gemport信息、从tcont数据缓存已读出数据剩余长度、从tcont数据缓存已读出数据剩余数据。

实施例5:

在实施例4的基础上,图3中各传输信号的意义及各电路的工作原理如下:

tcont缓存写控制电路完成两个功能:一是根据上行数据帧的tcont号,将上行数据帧数据写入到对应的tcont数据缓存电路,并完成tcont数据缓存的写地址的维护。二是根据上行数据帧的tcont号,将上行数据帧的帧长和gemport信息写入到对应的tcont描述缓存电路,并完成tcont描述缓存的写地址的维护。如果tcont数据缓存或tcont描述缓存已满,丢弃后续输入的上行帧数据和数据帧描述。

tcont数据缓存电路完成对上行数据帧的存储,根据onu支持的tcont个数n,将tcont数据缓存划分为n份,每个tcont得到一份缓存空间。上行数据帧依据其携带的tcont号,存储到tcont对应的缓存空间。

tcont描述缓存电路完成对上行数据帧描述的存储,根据onu支持的tcont个数n,将tcont描述缓存划分为n份,每个tcont得到一份缓存空间。上行数据帧描述依据其携带的tcont号,存储到tcont对应的缓存空间。每个上行数据帧有一条数据帧描述,数据帧描述的内容是数据帧的长度和gemport信息。

tcont缓存读控制电路完成两个功能:一是根据xgem组帧电路送入的tcont号和tcont帧描述读使能,从tcont描述缓存读出上行数据帧描述送往xgem组帧电路,并完成tcont描述缓存的读地址的维护。二是根据xgem组帧电路送入的tcont号和tcont数据读使能,从tcont数据缓存读出上行数据帧数据送往xgem组帧电路,并完成tcont数据缓存的读地址的维护。

xgem组帧电路完成三个功能:一是依据olt分配给tcont的上行带宽进行上行xgem组帧,当该tcont没有数据时,发送xgem空闲帧。对应的tcont有数据时,进行xgem组帧组成xgem帧送往上行方向,xgem帧由xgem帧头和xgem帧payload两部分组成,其中xgem帧的payload内容就是上行数据帧数据。二是根据xgem组帧时要求,读取对应tcont的数据帧描述和数据帧内容,其中数据帧描述用于生成xgem帧头,数据帧内容用于填充xgem帧的payload部分。三是维护tcontxgem组帧的中间信息,当得到tcont带宽分配时,读取对应的xgem组帧中间信息用于xgem组帧,当tcont带宽分配用完时,将数据帧对应的gemport信息、数据帧剩余长度、从tcont数据缓存已读出数据剩余长度、从tcont数据缓存已读出数据剩余数据更新为tcont带宽分配用完后的数据,这些数据组成对应的tcont组帧中间信息,然后写入到对应的tcont中间信息缓存中。

xgem组帧中间信息缓存电路存储xgem组帧中间信息,每个tcont都有一个中间信息存储空间,中间信息包括数据帧的剩余长长度、数据帧对应的gemport、从tcont数据缓存已读出数据剩余长度、从tcont数据缓存已读出数据剩余数据。

实施例6:

在实施例4的基础上,如图4所示的是xgem组帧中间信息缓存电路中的数据结构,包括tcont0~tcontn共n个tcont的xgem组帧中间信息,例如tcont0的xgem组帧中间信息的数据结构包括tcont0数据帧剩余长度、tcont0数据帧对应的gemport、tcont0从tcont数据缓存已读出数据剩余长度、tcont0从tcont数据缓存已读出数据剩余数据。

本发明xgspon系统onu端上行组帧系统的工作原理如下:

tcont缓存写控制电路收到xgspononu业务端口送入的上行数据帧和上行数据帧描述时,如果该tcont的数据缓存和描述缓存有空间可以存放该数据帧内容和帧描述信息,就根据数据帧携带的tcont号,依据tcont号将上行数据帧数据写入到对应的tcont数据缓存中,将上行数据帧描述写入到对应的tcont描述缓存中,如果该tcont的数据缓存或者描述缓存已满,就丢弃该上行数据帧数据和上行数据帧描述。这样通过tcont缓存写控制电路就将上行数据帧数据和数据帧描述存放到了tcont数据缓存和tcont描述缓存中。

当xgem组帧电路收到olt下发的tcont上行带宽分配时,首先从xgem组帧中间信息缓存电路中读取该tcont的xgem组帧中间信息,判断数据帧剩余长度是否等于0,如果等于0,检查该tcont描述缓存中是否有数据,如果没有数据,进行xgem空闲帧组帧发送。如果tcont描述缓存中有数据,向tcont缓存读控制电路发出tcont描述缓存读使能信号,通过tcont缓存读控制电路从tcont描述缓存电路中读取一条数据帧描述,根据数据帧描述中的数据帧长和tcont上行带宽的长度中的较小值得到xgem帧的payload长度,利用payload长度和数据帧描述中的gemport就可以组建xgem帧头,然后向tcont缓存读控制电路发出tcont数据读使能信号,通过tcont缓存读控制电路从tcont数据缓存电路中读取该数据帧的内容,组建xgem帧的payload部分,这样就组建了一个完整的xgem帧发送出去(此时若从数据缓存电路中读取的帧内容大于payload长度,那么多出来的未完成组帧的数据存放在xgem组帧中间信息缓存电路中),同时更新xgem组帧中间信息和tcont的剩余上行带宽信息,重新开始xgem组帧的过程。

本发明不局限于上述实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1