类ODU帧的映射方法及装置与流程

文档序号:11545524阅读:678来源:国知局
类ODU帧的映射方法及装置与流程
本发明涉及通信领域,尤其涉及一种类ODU(光数据单元)(ODUa)帧的映射方法及装置。

背景技术:
现有的GMP(通用映射)技术均是由某种客户数据包映射到ODUk或者某种低阶ODU映射到高阶ODU。在ODUk中,ODU直译为光数据单元,专业上称为光信道数据单元,k是ODU的级别,k取值0,1,2,3,2e,1f,3e1,3e2,4等。ODU1是2.5G客户信号加入OPU1开销和ODU1开销后的信息结构;ODU2是10G客户信号加入OPU2开销和ODU2开销后的信息结构(当然,也可以是4个ODU1复用+ODU2开销的信息结构);ODU3是40G客户信号加入OPU3开销和ODU3开销后的信息结构(当然,也可以是16个ODU1复用+ODU3开销或4个ODU2复用+ODU3开销的信息结构),具体可参照G.709协议。目前还没有方案能适合所有的客户数据包或帧映射到ODUk,或者所有低阶ODU映射到高阶ODU的技术。

技术实现要素:
本发明的目的是,提供一种ODUa帧的映射方法及装置,以使多种数据业务都能统一映射到ODUa帧中进行传递。本发明提供了一种ODUa帧的映射方法,上述方法包括以下步骤:令输入数据在进入映射通路后,在低频时钟下传输,而输入数据数量信号在进入映射通路后,在高频时钟下传输;缓存上述输入数据;在上述高频时钟下采样上述输入数据数量信号,生成通用映射GMP所需的Cm及Cnd开销;读取缓存的输入数据,根据通用映射GMP法则及上述Cm及Cnd开销,将读取的输入数据映射到ODUa帧的时隙(ODUa.ts)中;对上述ODUa.ts进行时隙交叉/交织,之后为其插入开销,得到ODUa帧并输出。优选地,上述ODUa帧包括帧头、净荷字段,大小为N×M,其中,N、M均为自然数。优选地,上述ODUa帧还包括固定填充和/或校验字段。优选地,上述ODUa帧各字段在帧内的位置可互换。优选地,上述ODUa帧各字段的长度不固定。优选地,上述ODUa帧包括高阶ODU帧。本发明进一步提供了一种ODUa帧的映射装置,上述装置包括FIFO模块、Cm/Cnd生成模块、ODUMAP模块、CROSSBAR模块以及OH_Insert模块,其中,上述FIFO模块、Cm/Cnd生成模块及ODUMAP模块组成一条映射通路;上述FIFO模块,用于在低频时钟下缓存映射通路上的输入数据;上述Cm/Cnd生成模块,用于在高频时钟下采样上述映射通路上的输入数据数量信号,生成GMP所需的Cm及Cnd开销,并传递给上述ODUMAP模块;上述ODUMAP模块,用于从上述FIFO模块中读取输入数据,并根据GMP法则及上述Cm及Cnd开销,将读取的数据映射到ODUa.ts中,将上述ODUa.ts发送给上述CROSSBAR模块;上述CROSSBAR模块,用于对收到的ODUa.ts进行时隙交叉/交织处理,并将处理后的ODUa.ts发送给上述OH_Insert模块;上述OH_Inert模块,用于为收到的ODUa.ts插入开销,得到ODUa帧并输出。优选地,上述装置包括一条以上的映射通路。优选地,上述ODUMAP模块与上述FIFO模块共用一个工作时钟。优选地,上述ODUMAP模块,用于从上述FIFO模块中读取输入数据前,生成读使能信号。本发明使输入数据的时钟信息与输入数据数量信号的时钟信息分离,实现了现有的光网络信号(如ODUk、ODUflex、clientsignal等)的统一映射,并使映射与交织一体化,提高了调度效率。附图说明此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:图1是本发明中ODUa帧结构的优选实施例示意图;图2是本发明ODUa帧的映射装置的优选实施例原理框图;图3是本发明ODUa帧的映射方法的优选实施例流程图。具体实施方式为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚、明白,以下结合附图和实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。如图1所示,是本发明中ODUa帧结构的优选实施例示意图;本实施例中,ODUa帧包括上述ODUa帧包括帧头、净荷、固定填充以及校验字段,大小为N×M,其中,帧头字段指示帧内的净荷信息;净荷字段为帧所传递的有用数据;固定填充字段为无用数据,可以是0或其他定值,该字段在解帧或解映射时剔除;校验字段为帧的校验字段,可根据CRC、FEC等校验或纠错算法获得;N、M均为自然数,也就是,ODUa帧的大小可根据需要选取,只要N、M的值大于0即可。ODUa帧各字段在帧内的位置可互换,且各字段的长度不固定,另外,固定填充以及校验字段为可选字段,也就是说,在其他实施例中,ODUa帧结构中可以没有固定填充字段或校验字段,也可以二者都没有,并且剩余字段的顺序也与本实施例不同。例如,N=4,M=4080,1-8列为ODUa开销字段;9-3992列为净荷字段;3993-4080列为固定填充。本发明中,ODU帧包括高阶ODU帧。如图2所示,是本发明ODUa帧的映射装置的优选实施例原理框图,本实施例包括N条映射通路,分别为:映射通路1、映射通路2、......映射通路N,每条映射通路都包括FIFO模块01、Cm/Cnd生成模块02以及ODUMAP模块03,CROSSBAR模块04以及OH-_Insert模块05为所有映射通路所共用,其中FIFO模块01,用于在低频时钟CLK_low下缓存映射通路上的输入数据ODU_data;Cm/Cnd生成模块02,用于在高频时钟CLK_high下采样上述映射通路上的输入数据数量信号ODU_valid,生成GMP所需的Cm及Cnd开销,并传递给ODUMAP模块03;ODUMAP模块03,与FIFO模块01共用一个工作时钟,即都是用低频时钟,用于生成读使能信号rd_en,从FIFO模块01中读取输入数据ODU_data,并根据GMP法则及上述Cm及Cnd开销,将读取的数据ODU_data_out映射到ODUa.ts中,将上述ODUa.ts发送给CROSSBAR模块04;CROSSBAR模块04,用于对收到的ODUa.ts进行时隙交叉/交织处理,并将处理后的ODUa.ts’发送给OH_Insert模块05;OH_Inert模块05,用于为收到的ODUa.ts’插入开销,得到ODUa帧并输出。如图所示,本实施例中,每条映射通路的FIFO模块01、Cm/Cnd生成模块02以及ODUMAP模块03按照通路序号编号,比如映射通路1中的FIFO模块01命名为FIFO_1模块、Cm/Cnd_1生成模块02以及ODUMAP_1模块03;映射通路1中的FIFO模块01命名为FIFO_2模块、Cm/Cnd_2生成模块02以及ODUMAP_2模块03;依次类推。每条映射通路的FIFO模块01、Cm/Cnd生成模块02以及ODUMAP模块03,负责自身映射通路收到的输入数据ODU_data及输入数据数量信号ODU_valid的处理及映射。本发明中,输入数据ODU_data在进入映射通路后,即在低频时钟CLK_low域下传输;而输入数据数量信号ODU_valid在进入映射通路后,则在高频时钟CLK_high域下传输;ODU_valid为外部输入的按位指示ODU_data数量的高低电平均匀的信号,它能反映映射业务的时钟频偏信息;由于输入数据ODU_data在CLK_low域下传输。ODU_valid在CLK_high域下传输,固某段时间内ODU_valid所指示的ODU_data的数量就更为精确和准确,从而更准确的指示这段时间内ODU_data原始发出端速率的变化情况,进而指示ODU_data原始发出端时钟的频偏,例如,假设ODUa_data位宽是256位,在每个CLK_high周期内ODU_valid高电平代表1位,那么在同一段时间内ODU_valid所指示的输入数据的数量或速度就比ODU_data精度更高,更准确。如图3所示,是本发明ODUa帧的映射方法的优选实施例流程图,本实施例包括以下步骤:步骤S001:FIFO模块01在低频时钟CLK_low下缓存收到的输入数据ODU_data;步骤S002:Cm/Cnd生成模块02在高频时钟CLK_high下采样收到的输入数据数量信号ODU_valid,生成GMP所需的Cm及Cnd开销,并发送给ODUMAP模块03;根据G.709协议ANNEXD可知,Cn为一帧时间内到来的n位数据块数,Cm指这一帧内要映射进帧内的m位数据块数,Cnd=Cn-(Cm*m)/n;若CLK_high频率为200M,CLK_low频率为100M,ODU_data位宽为8位,那么ODU_valid每个高电平可代表的ODU_data位宽为4-8位,这样Cnd值可精确到4位,并且在保证芯片面积的前提下可以进一步降低数据通路的时钟频率。步骤S003:ODUMAP模块03生成读使能信号rd_en,从FIFO模块01读取缓存的输入数据ODU_data,得到读取的数据FIFO_data_out;步骤S004:根据GMP法则及收到的Cm及Cnd开销,将读取的数据ODU_data_out映射到ODUa.ts中,并发送给CROSSBAR模块04;步骤S001-S004是在映射通路中执行的。步骤S005:CROSSBAR模块04对收到的ODUa.ts进行时隙交叉/交织,得到ODUa.ts’,发送给OH_Inert模块05;本步骤中,对于有2条以上映射通路的情况,CROSSBAR模块04会首选将收到的各映射通路发送来的ODUa.ts中的有效时隙选出,然后进行时隙交叉/交织,得到ODUa.ts’。步骤S006:OH_Inert模块05为收到的ODUa.ts’插入开销,得到完整的ODUa帧并输出。本发明能够实现ODUk、ODUflex、clientsignal到ODUa的映射。下面以通信系统具有2条映射通路,且分别为传输ODU1、ODU2为例,对映射过程做进一步描述。假设2条映射通路分别为映射通路1和映射通路2,每条通路都可以兼容ODUk、ODUflex以及clientsignal向ODUa的映射,映射通路1中的模块分别为FIFO_1模块、Cm/Cnd_1生成模块、ODUMAP_1模块;映射通路2中的模块分别为FIFO_2模块、Cm/Cnd_2生成模块、ODUMAP_2模块;映射通路1为ODU1数据的映射通路;映射通路2为OUD2数据的映射通路;令ODU1与ODU2的速率分别为2.5G与10G。假设1.25G的速率为一个时隙,一个时隙8位宽,一个ODUa帧可以分为16个时隙,每个时隙速率1.25Gbps,ODUa的两个时隙可以容纳一路ODU1,8个时隙可以容纳一路ODU2,则具体的映射过程为:1、ODU1数据在低频时钟CLK_low下经映射通路1到达FIFO_1模块,FIFO_1模块缓存收到的ODU1数据;ODU2数据在低频时钟CLK_low下经映射通路2到达FIFO_2模块,FIFO_2模块缓存收到的ODU2数据;2、Cm/Cnd_1生成模块在高频时钟CLK_high下采样收到的ODU1_valid,生成GMIP所需的Cm、Cnd开销,传递给ODUMAP_1模块;Cm/Cnd_2生成模块在高频时钟CLK_high下采样收到的ODU2_valid,生成GMIP所需的Cm、Cnd开销,传递给ODUMAP_2模块;3、ODUMAP_1模块根据ODUa的帧结构,读出FIFO_1模块中的ODU1数据,令读出的数据为FIFO_data_out_1;ODUMAP_2模块根据ODUa的帧结构,读出FIFO_2模块中的ODU2数据,令读出的数据为FIFO_data_out_2;4、ODUMAP_1模块根据GMP法则及收到的Cm、Cnd开销,对FIFO_data_out_1进行映射,将其将插入ODUa.ts中,得到ODUa.ts1;ODUMAP_2模块根据GMP法则及收到的Cm、Cnd开销,对FIFO_data_out_1、FIFO_data_out_2进行映射,将其插入到ODUa.ts中,得到ODU.ts2;假设ODUa的净荷数量Psever为3976,根据GMP法则,若(j*Cm)modPserver<Cm,位置j映射为客户数据块;若(j*Cm)modPserver>=Cm,位置j映射为填充块;若FIFO模块01的位宽为256,则对于ODU1,占ODUa2个时隙,ODUa的2个时隙内装入1个16位宽的ODU1数据,因为每次插入ODUa时隙的ODU1数据是16位,而FIFO_data_out_1的位宽是256位,所以可以分16次插入ODUa.ts中,固第16次在ODUa.ts中插入数据后,当前映射完毕,得到ODUa.ts1;下一个帧映射时,需要从FIFO_1模块中读出一个新的256位的数据,接下来此数据再分16次插入ODUa.ts1中,依此类推。同理,对于ODU2,占ODUa8个时隙,ODUa的8个时隙内装入1个64位宽的ODU2数据,每256/(10*8)=3.2个ODUa的有效数据块从FIFO_2模块内读出一个ODU2数据,若需要在ODUa内插入ODU2数据,则从FIFO_data_out_2内取出其中64位插入ODUa的8个时隙,当FIFO_data_out_2剩余的未插入ODUa.ts的数据小于64位时,ODUMAP_2模块则需要从FIFO_2模块中继续读取一个新的256的数据,与之前剩余的数据拼接起来,组成一个64位的数据,插入ODUa.ts中,得到ODUa.ts2。5、CROSSBAR模块04模块根据本地配置,对收到ODUa.ts1、ODUa.ts2进行时隙交叉/交织,得到经时隙交叉/交织的ODUa.ts’,发送给OH_Inert模块05;6、OH_Inert模块05为ODUa.ts’插入开销,得到完整的ODUa帧并输出。上述说明示出并描述了本发明的优选实施例,但如前所述,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述发明构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1