CN101719813B - 一种实现恒定比特率数据的映射装置及方法 - Google Patents
一种实现恒定比特率数据的映射装置及方法 Download PDFInfo
- Publication number
- CN101719813B CN101719813B CN2009102504045A CN200910250404A CN101719813B CN 101719813 B CN101719813 B CN 101719813B CN 2009102504045 A CN2009102504045 A CN 2009102504045A CN 200910250404 A CN200910250404 A CN 200910250404A CN 101719813 B CN101719813 B CN 101719813B
- Authority
- CN
- China
- Prior art keywords
- data
- byte
- opu
- indication
- buffer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Time-Division Multiplex Systems (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
本发明披露了一种实现恒定比特率数据的映射装置及方法,涉及CBR侧配置的第一级缓冲器和OPU侧配置的速率调整控制器和OPU成帧器,包括:第一级缓冲器根据读或写数据的速率差产生快空或快满状态指示;速率调整控制器根据状态指示向OPU成帧器发出OPU速率的正调整或负调整指示,控制将从第一级缓冲器依次并行读取的以位宽为单位的数据通过以字节为单位的操作,按序分别组成OTN帧的正调整或负调整相应的净荷区数据,并依次发送给OPU成帧器。本发明解决了在多字节并行处理中实现单字节调整的难题,故有效地实现了从CBR数据到OPUk数据的异步映射。
Description
技术领域
本发明涉及光传输网络(OTN,Optical Transport Network)的数据映射技术,尤其涉及OTN的恒定比特率(CBR,Constant Bit Rate)数据到光通道净荷单元(OPU,Och Payload Unit)数据的映射装置及方法。
背景技术
OTN是下一代光网络的发展方向,所有类型的客户信号,包括同步数字体系(SDH,Synchronous Digital Hierarchy)信号、异步传输模式(ATM,Asynchronous Transfer Mode)信号、以太网(Ethernet)信号、互联网协议(IP,Internet Protocol)信号和其它信号均能在OTN中传输。
在ITU G.709标准中定义了使用OTN传输帧来传输SDH数据的两种模式:同步模式与异步模式,其中最常使用的是异步模式。根据G.709标准,OTN帧提供了三个调整控制(JC)字节、一个负调整机会(NJO)字节和一个正调整机会(PJO)字节。其中调整控制信号(JC)位于OTN帧结构的第1至3行第16列,它的第7位和第8位用来控制两个调整机会字节NJO和PJO;OTN帧中NJO字节和PJO字节的位置可参见图1。
OTN采用了数字包封技术,其中在光通道(OCh,Optical Channel)层里包含光通道净荷单元(OPU)、光通道数据单元(ODU,OCh Data Unit)和光通道传送单元(OTU,OCh Transfer Unit)三个子层。客户信号首先要同步或异步映射到OPUk(k=1、2、3,表示不同的速率等级),使客户端信号速率适配OPU层,其中包括调整OPU速率使之适配客户端信号速率。在异步映射时,使用的是正、负和零调整方案:当客户信号速率高于OPUk速率的标称值时,需要加快OPUk速率,应做负的调整,即在每一OTN帧通过NJO字节多发送一个字节数据,此时NJO和PJO作为数据字节要载入业务数据,控制信号JC为01;当客户信号速率低于OPUk速率的标称值时,需要减慢OPUk速率,应做正的调整,即在每一OTN帧中通过PJO字节少发送一个字节数据,此时NJO和PJO作为调整字节不能载入业务数据,控制信号JC为11;当客户信号速率等于OPUk速率标称值时,不做调整,即零调整。
通常使用专用芯片或FPGA实现从CBR数据到OPUk数据的映射。比较常用的方法是利用N个字节输入输出的先进先出(FIFO)队列进行数据的缓存,根据该FIFO队列的快空/快满状态来产生正/负调整指示,通过调整字节NJO/PJO分别进行正调整或负调整。由于专用芯片和FPGA内部的信号速率的限制,CBR信号在芯片内部必须是并行操作,位宽通常是大于8bit(即N个字节位宽的输入输出FIFO);而调整字节(NJO/PJO)都是单字节,因此在多字节并行处理的电路中如何实现单字节的调整将是能否保证异步映射效果的一个关键问题,目前尚没有一个好的解决方案。
发明内容
本发明所要解决的技术问题是提供一种实现恒定比特率数据的映射装置及方法,能够在多字节并行处理的电路中实现单字节的调整。
为了解决上述技术问题,本发明提供了一种实现恒定比特率(CBR)数据的映射方法,涉及CBR侧配置的第一级缓冲器和光通道净荷单元(OPU)侧配置的速率调整控制器和OPU成帧器,该方法包括:
第一级缓冲器根据读或写数据的速率差产生快空或快满状态指示;
速率调整控制器根据状态指示向OPU成帧器发出OPU速率的正调整或负调整指示,控制将从第一级缓冲器依次并行读取的以位宽为单位的数据通过以字节为单位的操作,按序分别组成光传输网络(OTN)帧的正调整或负调整相应的净荷区数据,并依次发送给OPU成帧器。
进一步地,速率调整控制器按序分别组成正调整或负调整相应的净荷区数据,具体包括:
速率调整控制器根据快空状态指示向OPU成帧器发出OPU速率的正调整或负调整指示,控制将从第一级缓冲器依次并行读取的位宽为N字节的数据通过以字节为单位的操作,按序分别组成OTN帧正调整的PJO字节位置后的净荷区数据,或者按序分别组成OTN帧负调整的NJO字节数据及其后的净荷区数据。
进一步地,速率调整控制器控制将从第一级缓冲器依次并行读取的数据通过一数据拼接器和一第二级缓冲器进行以字节为单位的操作,具体包括:
速率调整控制器在OTN帧的PJO位置产生第一级缓冲器的正调整读使能信号,并同时向数据拼接器和OPU成帧器发出正调整指示,结合第二级缓冲器配合数据拼接器进行数据拼接过程中缓存字节数据的状态,向数据拼接器发出数据拼接方式指示;
数据拼接器根据正调整读使能信号、正调整指示以及数据拼接方式指示,从第一级缓冲器和/或第二级缓冲器读取数据,进行PJO字节位置后N-1字节数据拼装后传输给OPU成帧器;然后按序进行后续的净荷区多个N字节数据的拼装,并依次将拼装的N字节数据传输给OPU成帧器;
或者,速率调整控制器在OTN帧的NJO位置产生第一级缓冲器负调整读使能信号,并同时向数据拼接器和OPU成帧器发出负调整指示,结合第二级缓冲器配合数据拼接器进行数据拼接过程中缓存字节数据的状态,向数据拼接器发出数据拼接方式指示;
数据拼接器根据负调整读使能信号、负调整指示以及数据拼接方式指示,将从第一级缓冲器或第二级缓冲器读取的数据,作为NJO字节数据传输给OPU成帧器;然后将从第一级缓冲器和/或第二级缓冲器读取的数据,按序进行后续的净荷区多个N字节数据的拼装,并依次将拼装的N字节数据传输给OPU成帧器。
进一步地,第一级缓冲器根据读或写数据的速率差产生快空或快满状态指示,具体包括:
由CBR侧采用CBR域时钟向第一级缓冲器内写入客户的业务数据,由OPU侧的所述速率调整控制器采用OPU域时钟控制从第一级缓冲器中读取数据,第一级缓冲器由此产生快空或快满状态指示。
进一步地,该方法还包括:
OPU成帧器根据正调整指示将依次接收的数据按序放置在PJO字节位置后的净荷区;或者,根据负调整指示将依次接收的数据按序放置在NJO字节及其后的净荷区。
为了解决上述技术问题,本发明提供了一种实现恒定比特率(CBR)数据的映射装置,包括CBR侧配置的第一级缓冲器和光通道净荷单元(OPU)侧配置的速率调整控制器和OPU成帧器,其中:
第一级缓冲器,用于根据读或写数据的速率差产生快空或快满状态指示;
速率调整控制器,用于根据状态指示向OPU成帧器发出OPU速率的正调整或负调整指示,控制将从第一级缓冲器依次并行读取的以位宽为单位的数据通过以字节为单位的操作,按序分别组成光传输网络(OTN)帧的正调整或负调整相应的净荷区数据,并依次发送给OPU成帧器。
进一步地,
速率调整控制器根据快空状态指示向OPU成帧器发出OPU速率的正调整或负调整指示,控制将从第一级缓冲器依次并行读取的位宽为N字节的数据通过以字节为单位的操作,按序分别组成OTN帧正调整的PJO字节位置后的净荷区数据,或者按序分别组成OTN帧负调整的NJO字节数据及其后的净荷区数据。
进一步地,还包括OPU侧配置的一数据拼接器和一第二级缓冲器,用于速率调整控制器控制将从第一级缓冲器依次并行读取的数据进行以字节为单位的操作,其中:
第二级缓冲器,用于缓存数据拼接器进行数据拼接剩余的字节数据,并产生相应于缓存字节数目的状态输出给速率调整控制器;
速率调整控制器在OTN帧的PJO位置产生第一级缓冲器的正调整读使能信号,并同时向数据拼接器和OPU成帧器发出正调整指示,结合第二级缓冲器输出的状态向数据拼接器发出数据拼接方式指示;
数据拼接器根据正调整读使能信号、正调整指示以及数据拼接方式指示,从第一级缓冲器和/或第二级缓冲器读取数据,进行PJO字节位置后N-1字节的净荷数据拼装后传输给OPU成帧器;然后按序进行后续的净荷区多个N字节数据的拼装,并依次将拼装的N字节数据传输给OPU成帧器;
或者,速率调整控制器在OTN帧的NJO位置产生第一级缓冲器的负调整读使能的信号,并同时向数据拼接器和OPU成帧器发出负调整指示,结合第二级缓冲器输出的状态向数据拼接器发出数据拼接方式指示;
数据拼接器根据负调整读使能信号、负调整指示以及数据拼接方式指示,将从第一级缓冲器或第二级缓冲器读取的数据,作为NJO字节数据传输给OPU成帧器;然后将从第一级缓冲器和/或第二级缓冲器读取的数据,按序进行后续的净荷区多个N字节数据的拼装,并依次将拼装的N字节数据传输给OPU成帧器。
进一步地,
第一级缓冲器,由CBR侧采用CBR域时钟向其内写入客户的业务数据,由OPU侧的所述速率调整控制器采用OPU域时钟控制从其中读取数据,由此产生快空或快满状态指示。
进一步地,
OPU成帧器,用于根据正调整指示将依次接收的数据按序放置在PJO字节位置后的净荷区;或者,根据负调整指示将依次接收的数据按序放置在NJO字节及其后的净荷区。
依照本发明提供的实现恒定比特率数据的映射装置及方法,由于解决了在多字节并行处理的电路中实现单字节的调整的难题,故能够有效地实现从CBR数据到OPUk数据的异步映射,从而保证了OTN异步传输的可靠性。
附图说明
图1为ITU G.709标准中定义的OTN传输帧的第四行帧结构示意图;
图2为本发明的实现恒定比特率数据的映射装置实施例的原理框图;
图3为采用图3所示的本发明的装置实施例进行OPU速率正负调整过程示意图;
图4为本发明的实现恒定比特率数据的映射方法实施例的流程图。
具体实施方式
本发明提供的实现恒定比特率数据的映射装置及方法,其发明构思是,在CBR侧配置一级缓冲器,在OPU侧配置速率调整控制器和OPUk成帧器;其中,一级缓冲器根据读写速率差产生快空或快满状态指示;速率调整控制器根据该快空或快满状态分别向OPUk成帧器发出OPUk速率的正负调整指示,将从一级缓冲器并行读取的以位宽为单位的数据通过以字节为单位的操作,分别按序组成正或负调整相应的净荷区数据,依次发送给OPUk成帧器进行成帧操作。
以下结合附图和优选实施例对本发明的技术方案进行详细地阐述。以下例举的实施例仅仅用于说明和解释本发明,而不构成对本发明技术方案的限制。
如图3所示,是提供的实现恒定比特率数据的映射装置的一实施例的结构,该装置包括CBR侧的第一级缓冲器,OPU侧依次连接的数据拼接器、第二级缓冲器、速率调整控制器以及OPUk成帧器;其中:
第一级缓冲器,用于通过数据的读写完成CBR域和OPU域异步时钟的转换,由此产生快空或快满状态指示给速率调整控制器;
数据拼接器,用于在速率调整控制器的控制下,从第一级缓冲器和/或第二级缓冲器读取数据,拼接正调整的PJO位置后的净荷区数据,或拼接负调整的NJO字节数据和净荷区数据,并将拼接的数据发送给OPUk成帧器;或者将从第一级缓冲器读取的数据直接发送给OPUk成帧器;
第二级缓冲器,用于在需要进行OPUk速率调整时,缓存数据拼接器拼接剩下的字节数据,并将在配合数据拼接器进行数据拼接过程中产生的状态指示给速率调整控制器;
速率调整控制器,用于根据第一级缓冲器和/或第二级缓冲器各自的状态,向控制数据拼接器和OPUk成帧器同时发出调整指示,并向数据拼接器发出进行OPUk速率调整的数据拼接方式;
OPUk成帧器,用于根据速率调整控制器的调整指示,依次将数据拼接器输出的数据放入OTN帧的NJO字节和/或数据净荷区,或放入OTN帧PJO字节位置后的数据净荷区,同时插入OPUk必要的开销组成OTN帧。
上述第一级缓冲器,由CBR侧采用CBR域时钟向内写入的客户的业务数据,由OPU侧的数据拼接器采用OPUk域时钟从中读取数据,由此产生快空或快满状态指示。
第一缓冲器的快空或者快满状态将会触发速率调整控制器进行OPUk速率的正调整或负调整,OPUk侧会相应地少读出或者多读出一次数据。第一级缓冲器的处理位宽由CBR侧并行处理的位宽决定,通常会超过8bit(即多字节)。譬如CBR侧按照N个字节并行处理,则OPU侧对该第一级缓冲器在正常速率下每次都读写N个字节;OPU侧在第一级缓冲器出现快满状态时将多读一次,即多读出N个字节;在其出现快空状态时则停止读一次,即少读出N个字节。
在正常OPUk速率(譬如初始未发生OPUk速率调整,或经调整达到OPUk速率正常)时,数据选择拼接器将以N个字节为单位从第一级缓冲器直接读取的数据发送给OPUk成帧器,无需拼接操作。
当出现OPUk速率的负调整时,数据拼接器根据OPUk的速率调整机制需要从第一级数据缓冲器读出的N个字节中最高字节,作为NJO数据发送给OPUk成帧器置入NJO字节进行调整,如图4(a)所示的过程①;然后将剩下的N-1个字节缓存在第二级缓冲器,再将该第二级缓冲器的N-1个字节与从第一级缓冲器又读取的N个字节中最高字节拼接成N个字节后发送,再将剩下的N-1个字节缓存在第二级缓冲器,……如此反复拼接操作,直至拼接完一帧为止,如图4(a)所示的过程②。
当出现OPUk速率的正调整时,数据拼接器需要从第一级数据缓冲器读出的N个字节中最高三字节发送给OPUk成帧器置入PJO字节位置后三个字节净荷单元进行调整,如图4(b)所示的过程①;然后将剩下的1个字节缓存在第二级缓冲器,再将该第二级缓冲器的该1个字节与从第一级缓冲器又读取的N个字节中最高三字节拼接成N个字节后发送,再将剩下的1个字节缓存在第二级缓冲器,……如此反复拼接操作,直至拼接完一帧为止,如图4(b)所示的过程②。
由于OPUk的速率调整机制每次调整只能处理一个字节。因此,通过图4可以看出,OPUk速率负调整,是通过NJO字节使得每一帧多发送一个字节的数据,这样以N字节为位宽并行操作的OPU侧便会在N个帧周期后完成一次负调整循环,亦即将从第一缓冲器多读出的一次的N个字节数据在一次负调整循环中全部发送出。同样类似地,OPUk速率正调整,是通过PJO字节使得每一帧少发送一个字节的数据,这样OPU侧便会在N个帧周期后完成一次正调整循环,即在一次正调整循环中实现少发送N个字节数据(从第一缓冲器少读出的一次的N个字节数据)。
数据拼接器在速率调整控制器的读使能信号控制下从第一级缓冲器读取数据;在速率调整控制器的拼接方式和调整指示的控制下,确定从第一级缓冲器和/或第二级缓冲器读取数据,拼接成相应的调整数据和净荷数据发送给OPUk成帧器成帧。
当负调整完成一帧的拼接后,第一级缓冲器经过此次读操作其快满状态已消失,为了确保下一次第一级缓冲器出现快满状态时,NJO字节的数据仍然是直接从第一级缓冲器读取实现OPUk速率的调整,则本帧周期读取剩下的三个字节数据必须从第二级缓冲器释放掉,也即在下一帧周期开始时,数据拼接器根据速率调整控制器的指示将NJO字节的数据从第二级缓冲器的N-1个字节中读取一个高字节输出,然后将第二级缓冲器的N-2个字节与从第一级缓冲器读取的N个字节数据中的高二字节数据拼接成一个完整的N字节数据作为净荷区数据输出,……直至一个负调整循环周期结束,则第二级缓冲器中的数据全部释放掉。
当正调整完成一帧的拼接后,第一级缓冲器经过此次读操作其快空状态未消失而仍需继续进行调整,为保证在下一帧周期PJO位置后三字节数据拼接的连续性,数据拼接器根据速率调整控制器的指示,从第二级缓冲器里读取拼接剩下的字节数据,与从第一级缓冲器读取的N个字节的高二字节数据拼接成PJO位置后的三字节数据输出,然后将剩下的N-2个字节存入第二级缓冲器,再与从第一级缓冲器读取的N个字节中的高二字节数据拼接成一个完整的N字节数据作为净荷区数据输出,……直至一个正调整循环周期结束,则第二级缓冲器中的数据释放掉。
上述第二级缓冲器缓存数据拼接器拼接剩下的字节数据,在负调整时缓存数据拼接器拼接完NJO字节数据剩下的N-1个字节数据,在正调整时缓存数据拼接器拼接完PJO字节位置后三个字节数据剩下的1个字节数据。该第二级缓冲器每存入一个字节数据都要累计存入数据的字节数目,并将累计的字节数目作为第二级缓冲器的状态指示给速率调整控制器,以此说明第二级缓冲器中有多少个可用的数据。
由于OPUk的速率调整机制每次调整只能处理一个字节。当负调整的时候,第一级数据缓冲器多读一次送过来N个字节,但NJO只能装载1个字节的数据,那么剩下的N-1个字节就需要由第二级缓冲器来存储。通过数据拼接器将第二级缓冲器中的数据与从第一级缓冲器正常读出数据的拼接,第二级缓冲器在后续的OTN帧的NJO位置继续释放数据,直到其内为空。同样,当正调整的时候,PJO字节不能装载数据,以此在每帧少发一个字节数据。数据拼接器数据通过第二级缓冲器将第一级缓冲器少读的N个字节数据分布在N个OPUk帧的PJO位置上,从而在N个帧周期完成少发N个字节数据。
速率调整控制器作为整个电路的核心,根据第一级缓冲器的快空状态向控制数据拼接器和OPUk成帧器同时发出正调整指示,结合第二级缓冲器在配合数据拼接器拼接数据时产生的状态,指示数据拼接器进行拼接数据的方式;亦即根据第二级缓冲器累计的存入数据的字节数目指示数据拼接器从第二级缓冲器读取相应数目的字节数据,与从第一级缓冲器读取的数据拼接成N字节数据(譬如净荷区数据)或小于N的字节数据(譬如PJO位置后N-1个字节数据)。或者速率调整控制器根据第一级缓冲器快满状态或第一级缓冲器未快满状态结合第二级缓冲器的状态向控制数据拼接器和OPUk成帧器同时发出负调整指示,并指示数据拼接器进行拼接数据的方式。
OPUk成帧器根据速率调整控制器零调整的指示,依次将数据拼接器输出的数据放入OTN帧的数据净荷区;或者根据速率调整控制器负调整的指示,依次将数据拼接器输出的数据放入OTN帧的NJO字节和数据净荷区;或者根据速率调整控制器正调整的指示,依次将数据拼接器输出的数据放入OTN帧PJO字节位置后的数据净荷区。
当然,在第一级缓冲器后,速率调整控制器除了采用本实施例的方式分别在正调整或负调整时控制数据拼接器对第一级缓冲器和/或第二级缓冲器的数据进行拼接,来形成正调整或负调整的净荷区数据外,还可以通过其它方式控制形成正调整或负调整的净荷区数据。
譬如,对于N个字节并行处理的电路,使用N个单字节的输入输出的FIFO队列来实现数据缓存,将CBR侧N个字节分别写入到对应的FIFO(一个字节对应一个FIFO),OPU侧速率调整控制器根据N个FIFO各自的状态和OPU的帧结构来维护每个FIFO的读操作,在需要调整的时候多读或少读其中部分的FIFO的数据,同时为了保持原来数据的顺序,需要维护好每个FIFO的读地址,按顺序把数据读出来。这种方法的特点是只使用一级缓冲器即可,但需要正确维护各个FIFO的读地址。
本发明根据上述装置实施例,还相应地提出实现恒定比特率数据的映射方法实施例,其流程如图5所示,包括:
步骤1:速率调整控制器分别读取第一级缓冲器和第二级缓冲器的状态指示;
步骤2:判断第一级缓冲器状态是否为快空,是则执行步骤12,否则继续执行下列步骤;
步骤3:判断第一级缓冲器状态是否为快满,是则执行步骤7,否则继续执行下列步骤;
步骤4:速率调整控制器在OTN帧的净荷位置产生第一级缓冲器读使能的信号,并向OPUk成帧器发出零调整指示;
步骤5:数据拼接器以N字节为位宽单位从第一级缓冲器读取数据直接传输给OPUk成帧器;
步骤6:OPUk成帧器根据零调整指示将接收的数据置于OTN帧的数据净荷区,返回步骤1执行;
步骤7:速率调整控制器在OTN帧的NJO位置产生第一级缓冲器读使能的信号,并同时向数据拼接器和OPUk成帧器发出负调整指示,结合第二级缓冲器的状态向数据拼接器发出数据拼接方式指示;
步骤8:数据拼接器根据数据拼接方式指示,进行NJO拼装后传输给OPUk成帧器,然后进行数据净荷区拼装后传输给OPUk成帧器;
步骤9:第一级缓冲器和第二级缓冲器状态更新;
当负调整数据拼接器完成一帧的拼接后,第一级缓冲器经过此次读操作其快满状态已消失,故将状态更新为快满无效状态并输出。第二级缓冲器内随着累计的存入的数据字节数目也作为更新的状态输出。
步骤10:OPUk成帧器根据负调整指示将接收的数据依次置于NJO字节和数据净荷区;
步骤11:速率调整控制器判断负调整周期是否结束,是则返回步骤1执行,否则返回步骤7执行;
步骤12:速率调整控制器在OTN帧的PJO位置产生第一级缓冲器的读使能信号,并同时向数据拼接器和OPUk成帧器发出正调整指示,结合第二级缓冲器的状态向数据拼接器发出数据拼接方式指示;
步骤13:数据拼接器根据数据拼接方式指示,进行PJO字节位置后N-1字节数据拼装后传输给OPUk成帧器,然后进行数据净荷区拼装后传输给OPUk成帧器;
步骤14:第二级缓冲器状态更新;
第二级缓冲器内随着累计的存入的数据字节数目也作为更新的状态输出。
步骤15:速率调整控制器判断正调整周期是否结束,是则执行步骤16,否则返回步骤12执行;
步骤16:第一级缓冲器状态更新,返回步骤1执行。
当正调整循环周期完成后,第一级缓冲器快空状态已消失,故更新为快空无效状态并输出。
本发明用verilog语言编写了一个32位的并行CBR数据到OPUk数据的映射装置,一共分五个模块:
第一部分,第一级数据缓冲模块
定义一个32bit宽度的双端口ram双端口ram的读写使用不同的时钟,写方向无条件往ram里面写数据,读方向根据OPU 2的帧结构的净荷位置往外读数据。
另外根据ram的读写地址差产生ram快空(almost_empty)信号、快满(almost_full)信号、上溢(fifo_overfow)信号和下溢(fifo_underflow)信号,指示ram的状态。
在正常情况下ram不会出现上溢或下溢,只有在CBR信号速率偏离OPUk的比特容差时才会出现,这时电路会对ram做一个复位操作。
第二部分,第二级数据缓冲模块
定义3个字节的寄存器组fifo_rd_data_temp[23:0]。寄存器组的长度与并行处理的位宽有关,譬如并行处理的位宽为N个字节,则需定义N-1个字节的寄存器组。
同时,定义一个2比特的计数器byte_cnt,用于记录寄存器组中可用字节的个数,在同步映射的过程中byte_cnt的值保持为0,发生调整时byte_cnt发生变化。初始时byte_cnt为0,当有1个字节数据写入寄存器组时,byte_cnt加1,写入的数据放在fifo_rd_data_temp[23:16]。假如byte_cnt为1时再往寄存器组中写1个字节数据,那么byte_cnt加1,写入的数据就要放在fifo_rd_data_temp[15:8],依此类推。
从寄存器组里读数据时,先判断byte_cnt的值是否为0,不为0时把数据读出去的同时byte_cnt减去相应的字节数(读出去的字节数不能大于byte_cnt的值)。byte_cnt为0则不读寄存器组。
第三部分,速率调整控制模块
速率调整控制模块根据第一级缓冲模块与第二级缓冲模块的状态指示产生各种控制信号。
速率调整控制模块当第一级缓冲模块输出快空信号(almost_empty)有效时,产生正调整指示信号(pjo_ind);当第一级缓冲模块输出快满信号(almost_full)有效时,产生负调整指示信号(njo_ind),或者当almost_empty为无效且二级缓冲器状态byte_cnt不为0时,也产生负调整指示信号(njo_ind)。以此用来控制数据拼接模块对正调整或负调整的数据拼接操作。
控制模块根据OPUk帧结构的净荷位置指示信号和第一、第二级缓冲模块的状态产生第一级缓冲模块的读使能信号。在正常情况下,在OPUk的净荷位置产生该读使能信号。
当发生正调整时,说明一级数据缓冲器快空,需要调整,PJO字节不能装载业务数据,但由于电路是4个字节并行处理,PJO字节位置后还有三个字节需要装载数据,是否要从第一级缓冲模块读取数据,要根据第二级缓冲模块的状态决定,如果第二级缓冲模块的状态byte_cnt=3时,则不需要读取第一级缓冲模块的数据,直接读取第二级缓冲模块的数据发送,否则需要读取第一级缓冲模块的数据。
当发生负调整时,NJO字节的数据同样要根据第二级缓冲模块的状态来决定是否从第一级缓冲模块读取,第二级缓冲模块的状态byte_cnt=0时,需要读取第一级缓冲模块的数据,否则从第二级缓冲模块中取数据发送。
第四部分,数据选择拼接模块
数据选择拼接模块的数据拼接分三种情况:净荷区的数据(不含PJO位置的数据)拼接、PJO字节位置后字节数据的拼接和NJO字节数据的拼接。且这三种情况都是速率调整控制模块通过判断第二级数据缓冲模块的状态(byte_cnt)来确定拼接的方式。在无调整时byte_cnt=0,在发生调整时byte_cnt发生变化,调整完毕后恢复成byte_cnt=0
净荷区的数据拼接遵循以下调整方法:
当byte_cnt=0,输出的净荷区数据选择从第一级缓冲模块读取的数据fifo_rd_data;当byte_cnt=1,输出的净荷区数据选择读取第二级数据缓冲模块的数据fifo_rd_data_temp[23:16]与第一级缓冲模块读取的数据4个字节中的高三个字节fifo_rd_data[31:8]拼接成4字节输出,剩下的一个低字节fifo_rd_data[7:0]写入第二级数据缓冲模块fifo_rd_data_temp[23:16],等待下次拼接;当byte=2,输出的净荷区数据选择读取第二级缓冲模块的数据fifo_rd_data_temp[23:8]与从第一级缓冲模块读取的数据4个字节中的高二个字节fifo_rd_data[31:16]拼接成4字节输出,剩下的低二个字节fifo_rd_data[15:0]写入第二级缓冲模块fifo_rd_data_temp[23:8],等待下次拼接;当byte=3时,输出的净荷区数据选择读取第二级缓冲模块的数据fifo_rd_data_temp[23:0]与从第一级缓冲模块读取的数据4个字节中的高一个字节fifo_rd_data[31:24]拼接成4字节输出,剩下的低三个字节fifo_rd_data[23:0]写入第二级缓冲模块fifo_rd_data_temp[23:0],等待下次拼接。
PJO位置的数据拼接遵循以下调整方法:
无正调整指示时,PJO位置后字节数据拼接方法与净荷区的数据拼接方法相同。
当第一级缓冲模块出现快空状态(almost_empty)有效时,产生第一次正调整指示,此时byte_cnt=0;PJO位置后的低三个字节输出的数据选择从第一级缓冲模块读取数据的高三个字节fifo_rd_data[31:8],剩下的一个字节fifo_rd_data[7:0]写入第二级缓冲模块fifo_rd_data_temp[23:16]。由于出现第一次正调整指示时仍然从一级缓冲器读取数据,一级缓冲器仍处于快空状态(almost_empty),所以在第二帧周期会继续产生第二次正调整指示,此时byte_cnt=1,拼接的组合为fifo_rd_data_temp[23:16]和fifo_rd_data[31:16],剩下的两个字节fifo_rd_data[15:0]写入二级缓冲器fifo_rd_data_temp[23:8];同理出现第二次正调整指示时仍然需要从第一级缓冲模块读取数据,同样会在第三帧周期继续产生第三次正调整指示,此时byte_cnt=2,拼接的组合为fifo_rd_data_temp[23:8]和fifo_rd_data[31:24],剩下的三个字节fifo_rd_data[23:0]写入第二级缓冲模块fifo_rd_data_temp[23:0]。同理会在第四帧周期继续出现第四次正调整指示,此时byte_cnt=3,直接读取第二级缓冲模块的3个字节输出为PJO后三个字节数据即可,无需再从第一级缓冲模块读取数据,byte_cnt恢复到0,至此一个正调整循环结束实现了一次速率调整。每次一级缓冲器再出现将空状态时,都是重复上述操作。
NJO位置的数据拼接遵循以下调整方法:
无负调整指示时,NJO位置不装载业务数据。
当第一级缓冲模块出现快满状态(almost_full)时,产生第一次负调整指示,此时byte_cnt=0,NJO字节输出的数据选择从第一级缓冲模块读取数据的最高位的一个字节fifo_rd_data[31:24],剩下的三个字节fifo_rd_data[23:0]写入第二级缓冲模块fifo_rd_data_temp[23:0];第一级缓冲模块经过这次读操作快满的状态(almost_full)已经消失,为了确保下一次第一级缓冲模块出现快满状态(almost_full)时,NJO字节输出的数据仍然是直接从第一级缓冲模块读取实现OPUk速率的调整,则本帧周期读取剩下的三个字节数据必须从第二级缓冲模块释放掉。剩下的三个字节数据存放在第二级缓冲模块里面,此时byte_cnt=3,因此速率调整控制模块会在下一帧周期根据第二级缓冲模块的状态(byte_cnt不为0)继续产生负调整指示信号。第二次负调整指示时,byte_cnt=3,NJO字节输出的数据选择第二级缓冲模块里的fifo_rd_data_temp[23:16],同时把第二级缓冲模块的数据fifo_rd_data_temp[23:0]左移一个字节,byte_cnt减1。第三次负调整指示时,byte_cnt=2,执行和第二次负调整指示相同的操作。同理,第四次负调整指示时也是同样的操作。经过四次帧周期负调整后,byte_cnt=0,读取的四个字节全部释放完毕,通过一次读取多次释放的方法完成了一次负调整循环。以后每次出现一级缓冲器快满状态时,都重复上述的操作。
第五部分,OPUk成帧模块
设计一个行列计数器,通过行列计数器的值去构建一个OTN中OPUk帧结构,同时给出JC和其它开销位置的指示、调整位置指示和净荷位置指示。OPUk成帧模块通过这些指示把数据拼接选择模块发送过来的数据填入净荷区或调整位置,并根据调整指示正确地插入JC开销和其它开销。
该方案已经应用于中兴10G速率和2.5G速率的光传输产品上。各项功能和性能指标符合要求。
Claims (10)
1.一种实现恒定比特率CBR数据的映射方法,涉及CBR侧配置的第一级缓冲器和光通道净荷单元OPU侧配置的速率调整控制器和OPU成帧器,该方法包括:
所述第一级缓冲器根据读或写数据的速率差产生快空或快满状态指示;
所述速率调整控制器根据所述状态指示向所述OPU成帧器发出OPU速率的正调整或负调整指示,控制将从所述第一级缓冲器依次并行读取的以位宽为单位的数据通过以字节为单位的操作,按序分别组成光传输网络OTN帧的正调整或负调整相应的净荷区数据,并依次发送给所述OPU成帧器。
2.按照权利要求1所述的方法,其特征在于,所述速率调整控制器按序分别组成光传输网络OTN帧的正调整或所述负调整相应的净荷区数据,具体包括:
所述速率调整控制器根据所述快空状态指示向所述OPU成帧器发出OPU速率的正调整或负调整指示,控制将从所述第一级缓冲器依次并行读取的所述位宽为N字节的数据通过所述以字节为单位的操作,按序分别组成所述OTN帧正调整的PJO字节位置后的净荷区数据,或者按序分别组成所述OTN帧负调整的NJO字节数据及其后的净荷区数据。
3.按照权利要求2所述的方法,其特征在于,所述速率调整控制器控制将从所述第一级缓冲器依次并行读取的数据通过一数据拼接器和一第二级缓冲器进行以字节为单位的操作,具体包括:
所述速率调整控制器在所述OTN帧的PJO字节位置产生所述第一级缓冲器的正调整读使能信号,并同时向所述数据拼接器和所述OPU成帧器发出正调整指示,结合所述第二级缓冲器配合所述数据拼接器进行数据拼接过程中缓存字节数据的状态,向所述数据拼接器发出数据拼接方式指示;
所述数据拼接器根据所述正调整读使能信号、所述正调整指示以及所述数据拼接方式指示,从所述第一级缓冲器和/或所述第二级缓冲器读取数据,进行所述PJO字节位置后N-1字节数据拼装后传输给所述OPU成帧器;然后按序进行后续的净荷区多个N字节数据的拼装,并依次将拼装的N字节数据传输给所述OPU成帧器;
或者,所述速率调整控制器在所述OTN帧的NJO字节位置产生所述第一级缓冲器负调整读使能信号,并同时向所述数据拼接器和所述OPU成帧器发出负调整指示,结合所述第二级缓冲器配合所述数据拼接器进行数据拼接过程中缓存字节数据的状态,向所述数据拼接器发出数据拼接方式指示;
所述数据拼接器根据所述负调整读使能信号、所述负调整指示以及所述数据拼接方式指示,将从所述第一级缓冲器或所述第二级缓冲器读取的数据,作为所述NJO字节数据传输给OPU成帧器;然后将从所述第一级缓冲器和/或所述第二级缓冲器读取的数据,按序进行后续的净荷区多个N字节数据的拼装,并依次将拼装的N字节数据传输给所述OPU成帧器。
4.按照权利要求1至3任一项所述的方法,其特征在于,所述第一级缓冲器根据读或写数据的速率差产生快空或快满状态指示,具体包括:
由所述CBR侧采用CBR域时钟向所述第一级缓冲器内写入客户的业务数据,由所述OPU侧的所述速率调整控制器采用OPU域时钟控制从所述第一级缓冲器中读取数据,所述第一级缓冲器由此产生所述快空或快满状态指示。
5.按照权利要求2或3所述的方法,其特征在于,还包括:
所述OPU成帧器根据所述正调整指示将依次接收的数据按序放置在所述PJO字节位置后的净荷区;或者,根据所述负调整指示将依次接收的数据按序放置在所述NJO字节及其后的净荷区。
6.一种实现恒定比特率CBR数据的映射装置,包括CBR侧配置的第一级缓冲器和光通道净荷单元OPU侧配置的速率调整控制器和OPU成帧器,其中:
所述第一级缓冲器,用于根据读或写数据的速率差产生快空或快满状态指示;
所述速率调整控制器,用于根据所述状态指示向所述OPU成帧器发出OPU速率的正调整或负调整指示,控制将从所述第一级缓冲器依次并行读取的以位宽为单位的数据通过以字节为单位的操作,按序分别组成光传输网络OTN帧的正调整或负调整相应的净荷区数据,并依次发送给所述OPU成帧器。
7.按照权利要求6所述的装置,其特征在于,
所述速率调整控制器根据所述快空状态指示向所述OPU成帧器发出OPU速率的正调整或负调整指示,控制将从所述第一级缓冲器依次并行读取的所述位宽为N字节的数据通过所述以字节为单位的操作,按序分别组成所述OTN帧正调整的PJO字节位置后的净荷区数据,或者按序分别组成所述OTN帧负调整的NJO字节数据及其后的净荷区数据。
8.按照权利要求7所述的装置,其特征在于,还包括所述OPU侧配置的一数据拼接器和一第二级缓冲器,用于所述速率调整控制器控制将从所述第一级缓冲器依次并行读取的数据进行以字节为单位的操作,其中:
所述第二级缓冲器,用于缓存所述数据拼接器进行数据拼接剩余的字节数据,并产生相应于缓存字节数目的状态输出给所述速率调整控制器;
所述速率调整控制器在所述OTN帧的PJO字节位置产生所述第一级缓冲器的正调整读使能信号,并同时向所述数据拼接器和所述OPU成帧器发出正调整指示,结合所述第二级缓冲器输出的状态向所述数据拼接器发出数据拼接方式指示;
所述数据拼接器根据所述正调整读使能信号、所述正调整指示以及所述数据拼接方式指示,从所述第一级缓冲器和/或所述第二级缓冲器读取数据,进行所述PJO字节位置后N-1字节的净荷数据拼装后传输给所述OPU成帧器;然后按序进行后续的净荷区多个N字节数据的拼装,并依次将拼装的N字节数据传输给所述OPU成帧器;
或者,所述速率调整控制器在所述OTN帧的NJO字节位置产生所述第一级缓冲器的负调整读使能的信号,并同时向所述数据拼接器和所述OPU成帧器发出负调整指示,结合所述第二级缓冲器输出的状态向所述数据拼接器发出数据拼接方式指示;
所述数据拼接器根据所述负调整读使能信号、所述负调整指示以及所述数据拼接方式指示,将从所述第一级缓冲器或所述第二级缓冲器读取的数据,作为所述NJO字节数据传输给OPU成帧器;然后将从所述第一级缓冲器和/或所述第二级缓冲器读取的数据,按序进行后续的净荷区多个N字节数据的拼装,并依次将拼装的N字节数据传输给所述OPU成帧器。
9.按照权利要求6至8任一项所述的装置,其特征在于,
所述第一级缓冲器,由所述CBR侧采用CBR域时钟向其内写入客户的业务数据,由所述OPU侧的所述速率调整控制器采用OPU域时钟控制从所述其中读取数据,由此产生所述快空或快满状态指示。
10.按照权利要求7或8所述的装置,其特征在于,
所述OPU成帧器,用于根据所述正调整指示将依次接收的数据按序放置在所述PJO字节位置后的净荷区;或者,根据所述负调整指示将依次接收的数据按序放置在所述NJO字节及其后的净荷区。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009102504045A CN101719813B (zh) | 2009-11-27 | 2009-11-27 | 一种实现恒定比特率数据的映射装置及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009102504045A CN101719813B (zh) | 2009-11-27 | 2009-11-27 | 一种实现恒定比特率数据的映射装置及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101719813A CN101719813A (zh) | 2010-06-02 |
CN101719813B true CN101719813B (zh) | 2013-05-08 |
Family
ID=42434335
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009102504045A Active CN101719813B (zh) | 2009-11-27 | 2009-11-27 | 一种实现恒定比特率数据的映射装置及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101719813B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012028185A1 (en) * | 2010-09-02 | 2012-03-08 | Telefonaktiebolaget L M Ericsson (Publ) | Method of transmitting traffic in a communications network and communications network apparatus |
CN101986621A (zh) * | 2010-11-08 | 2011-03-16 | 中兴通讯股份有限公司 | 数据映射方法及装置 |
CN102316391B (zh) * | 2011-09-08 | 2018-02-09 | 中兴通讯股份有限公司 | 一种数据映射、解映射方法及系统 |
CN103595515B (zh) * | 2012-08-13 | 2018-08-31 | 中兴通讯股份有限公司 | 光传送网的数据映射方法及装置 |
CN105680991B (zh) * | 2016-01-14 | 2019-03-12 | 烽火通信科技股份有限公司 | Otn系统中基于odu帧的多通道串行化定帧方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1866810A (zh) * | 2006-03-28 | 2006-11-22 | 华为技术有限公司 | 实现高速下行链路分组调度的方法和装置 |
CN101242347A (zh) * | 2007-02-06 | 2008-08-13 | 中兴通讯股份有限公司 | 将逻辑信道数据映射到高速物理下行共享信道发送的方法 |
-
2009
- 2009-11-27 CN CN2009102504045A patent/CN101719813B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1866810A (zh) * | 2006-03-28 | 2006-11-22 | 华为技术有限公司 | 实现高速下行链路分组调度的方法和装置 |
CN101242347A (zh) * | 2007-02-06 | 2008-08-13 | 中兴通讯股份有限公司 | 将逻辑信道数据映射到高速物理下行共享信道发送的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101719813A (zh) | 2010-06-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101719813B (zh) | 一种实现恒定比特率数据的映射装置及方法 | |
US5680425A (en) | Self-queuing serial output port | |
EP0559649B1 (en) | Method and means for transferring a data payload from a first sonet signal to a sonet signal of different frequency | |
EP1865632B1 (en) | A method and apparatus for signal splitting and synthesizing | |
JP3231774B2 (ja) | Sts−1信号のsts−3型信号へのリタイミング及びリアライメント方法及び装置 | |
AU772296B2 (en) | Method and device for converting virtually concatenated data streams into contiguously concatenated data streams | |
JPH06237236A (ja) | 2つの信号のビットレートを適合調整するための回路装置 | |
US5666390A (en) | High speed programmable counter | |
CN104219015A (zh) | 一种sdh中支路信号的时钟数据恢复方法及装置 | |
JPH04220829A (ja) | セル位相乗換回路 | |
CN101986621A (zh) | 数据映射方法及装置 | |
EP1491995B1 (en) | Dual-port functionality for a single-port cell memory device | |
US6140946A (en) | Asynchronous serialization/deserialization system and method | |
CN109274697A (zh) | 数据帧转义方法、数据帧解转义方法、系统及相关装置 | |
US10680963B2 (en) | Circuit and method for credit-based flow control | |
US20040037182A1 (en) | Phase adjusting apparatus, phase adjusting method for use therein, and program for phase adjusting method | |
CN213069802U (zh) | 非同源时钟数据传输系统 | |
EP2045937B1 (en) | System and method for real time synchronization through a communication system | |
CN109412732A (zh) | 一种接收端延时抖动的控制方法及装置 | |
US7016344B1 (en) | Time slot interchanging of time slots from multiple SONET signals without first passing the signals through pointer processors to synchronize them to a common clock | |
ITMI940768A1 (it) | Metodo e dispositivo per la temporizzazione della trasmissione di segnali digitali in un sistema tdma pon | |
CN102437991B (zh) | 一种gfp码流的同步方法及装置 | |
JP2008035318A (ja) | 非同期信号の同期化多重方法および装置 | |
EP0592842B1 (en) | Serial rate conversion circuit with jitter tolerate payload | |
JP3188563B2 (ja) | マルチプレクサ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |