发明内容:
针对LCAS动态无损切换数据带宽的时延补偿方法所存在的问题和不足,本
发明的目的是提供一种可保证数据次序完整的LCAS动态无损切换数据带宽的
时延补偿方法。
本发明是这样实现的:一种LCAS动态无损切换数据带宽的时延补偿方法,
其特征在于,该方法包括以下步骤:
a.每组VCG的数据按照VC的顺序存储在存储单元中;
b.将每组VCG的MFI队列独立进行调整,调整步骤如下:
在有效的SQ的MFI队列的首位上寻找最大的MFI值,将小于该最大MFI
值的队列内容从首位上删除,直至所有有效的SQ的MFI队列的首位的MFI值
均相同;
若系统中复帧定义为16个单帧,比较对齐的MFI队列的首位MFI值的低4
位,若不为0000,则依次丢弃所有的SQ的MFI队列的内容,直到首位MFI值
的低4bit均等于0000;
c.处理调整后的MFI队列,并判断所有的有效SQ对应的VC下次出现的
MFI值是否与当前的MFI值连续,如果不连续,则跳出该步骤,进入步骤b。
进一步地,所述无损切换数据带宽即带宽调整后在复帧的边界处执行切换动
作。
进一步地,所述时延补偿是基于数据存储的方式进行的。
进一步地,所述存储单元具体为DDRSDRAM。
进一步地,所述VCG包含有16个MEMBER(成员),每个MEMBER由
16个VC串行连接而成。
进一步地,所述存储单元按照VC在STM中的顺序号VC_NUM对
DDRSDRAM的地址进行块分配,每个块内又以支持的VC数划分小块。
进一步地,所述小块存储容量大于VC容量。
本发明可采用FPGA实现之,再结合LCAS协议的要求,实现了一种可避
免人工参与的自动消除组网时延差同时又支持LCAS动态切换数据带宽的时延
补偿方法。该方法根据存储单元的容量大小可支持多组VCG,同时补偿的时延
范围随着存储容量的大小而可调。
具体实施方式:
本发明用FPGA结合LCAS协议的要求而实现的,本发明的虚容组(VCG)
包含有16个成员(MEMBER),每个成员由16个虚容器(VC)串行连接而成。
本发明的FPGA包括有STM数据流、存储单元、MFI队列、LCAS协议解析、
下游解映射模块,(请樊工详细描述)
本发明的步骤如下:
a.每组VCG的数据按照VC的顺序存储在存储单元中;
b.将每组VCG的MFI队列独立进行调整,调整步骤如下:
在有效的SQ的MFI队列的首位上寻找最大的MFI值,将小于该最大MFI
值的队列内容从首位上删除,直至所有有效的SQ的MFI队列的首位的MFI值
均相同;
若系统中复帧定义为16个单帧,则比较对齐的MFI队列的首位MFI值的低
4位,若不为0000,则依次丢弃所有的SQ的MFI队列的内容,直到首位MFI
值的低4bit均等于0000;
c.处理调整后的MFI队列,并判断所有的有效SQ对应的VC下次出现的
MFI值是否与当前的MFI值连续,如果不连续,则跳出该步骤,进入步骤b。
本发明在复帧操作中,若带宽调整,仅在复帧的边界处执行切换动作,并且
是基于数据存储的方式进行的,按照VC在STM中的顺序号VC_NUM的地址
对存储单元进行块分配,每个块内又以支持的VC数划分小块,其小块存储容量
大于VC容量。
使用数据存储的方式消除网络延时是通信系统中最常使用的方法,在支持
LCAS协议的SDH传输系统中,用于承载数据的单元均以VC为单位,VC虚容
器的容量随映射类型不同而不同,本发明中以VC-4为例介绍使用DDRSDRAM
作为存储单元的时延补偿方法。其他的VC或其他RAM的同样可应用于本发明。
VC-4虚容器的容量为261×9Bytes,一般传送一个包括开销字节的VC-4需要耗
时125us,本发明支持2.5G带宽的16个VC-4,如果要消除8ms网络时延差,
需要存储器容量至少应该为:
(8ms/125us)×(261×9Bytes)×16≈2.4MB
上述计算方法同样适合于其他类型的VC,消除不同类型VC虚容器时延与
存储器容量的计算方法为:
(T/t)×B×N
其中上式中T为待消除时延,t为对应虚容器的单位时延,B为虚容器的单
位容量,N为当前支持的数据带宽对应的虚容器数。
本发明为了便于对存储器的读写访问,仍以VC-4为例,需按照VC-4在STM
中的顺序号VC_NUM对DDRSDRAM的地址进行块分配,每个块内又以支持的
虚容器数划分小块,为了便于地址管理,将每个小块容量划分为212字节,即4096
字节,只要保证由于VC的容量小于该存储块的容量即可,即为261×9<4096,
故剩余的部分空闲,如图1中的小方框部分所示。
MFI队列是在同一组VCG中具有相同SQ号的VC在LCAS定义的复帧中
的位置标志,同一组VCG中的各个SQ对应的VC的MFI值在发送端相同且每
发送一个VC自动加一,而在接收端由于网络延时的差异,各个VC对应的MFI
值可能不同,为了使同一VCG的所有SQ中的VC的MFI对齐,首先要对VC
与其对应的MFI值由LCAS协议处理模块作映射,并将映射后的MFI对应的VC
的存储信息及有关的LCAS信息存入队列中,称该队列即为MFI队列,如图2
所示,每个VCG组中每个SQ都对应一个MFI队列,VCG组中的VC具体是
VC-4。
本发明中,存储器的功能仅仅是机械的按照VC-4的顺序存储数据,而所有
的与LCAS有关的协议处理和MFI对齐调整及动态带宽调整功能均基于MFI队
列完成。如图2所示,由于接收的有效SQ的MFI队列的首位MFI值不同,即
SQ=0的MFI值为0,SQ=1的MFI值为4,SQ=2的MFI值为4,SQ=3的MFI
值为1。如果直接发送该数据,就会造成下游数据的错乱,因此,必须对MFI
队列进行调整才可发送之。
本发明的MFI对齐的调整算法具体如下:
a.对MFI队列调整的范围仅限于一个VCG内部,不同的VCG之间不作调
整;
b.在同一个VCG内有效的SQ的MFI队列首位内寻找最大的MFI值(即
对应延时最小的路径),如图2所示,接收到的MFI队列的首位MFI值最大为4,
将首位MFI值小于最大的MFI值的队列的首位MFI值丢弃,直到所有有效的
SQ的MFI队列首位的MFI值皆相同(即等到通过最长的路径的VC-4到达),
如图2所示,对齐的MFI队列的首位MFI值均为4;
c.若系统中复帧定义为16个单帧,则比较对齐的MFI队列的MFI值的低
4bit值,若不等于0000,则依次丢弃所有有效的SQ对应的MFI队列首位MFI
值,直到首位MFI值的低4bit等于0000,即对齐是从复帧边界处开始。如图2
所示,对齐并定界的MFI队列的首位MFI值均为0`;
d.当每个VCG中所有有效的SQ的MFI队列中的首位MFI值都相同且低
4bit值都为0000,则报告对齐且定界状态,并通知下游模块。
e.在MFI对齐且定界状态下,每处理完同一VCG所有的有效SQ对应的
VC-4后判断下次出现的MFI值是否与当前的MFI值连续,如果不连续,则说明
出现丢帧或其他故障,则马上跳出对齐且定界状态,重新进行对齐定界调整,即
跳出该步骤,进入步骤b;并继续调整。
经过调整,本发明已经消除了网络路径带来的时延差,下面介绍如何在消除
了网络延时后根据LCAS协议的控制无损的切换数据带宽的技术。
本发明的LCAS协议下的数据带宽即为在本发明中为同一VCG内有效的SQ
的个数,有效的SQ被解释为当前正在使用的,承载着有效数据的VC通道。数
据带宽的切换在本发明中意味着调整同一VCG内有效的SQ的个数。为了保证
无损的切换数据带宽,本发明仅在LCAS处理模块在复帧的边界处执行切换动
作,即在复帧的边界处改变SQ的有效状态。这样在每个复帧结束的边界,都重
新向下游设备报告接下来的有效SQ的个数,以便下游模块作对应的调整。这样
就保证了其无损切换。
如图5所示,本发明以FPGA作为验证平台,内部结构由STM数据流D、
存储单元C、MFI队列M、LCAS协议解析L、下游解映射模块N构成。STM
数据流D模块的数据以VC的顺序号为物理地址将每个VC承载的数据存入存储
器,同时根据LCAS协议解析模块L提供的信息将每个VC的MFI值存入其所
在的VCG的SQ中,下游解映射模块N在MFI队列已对齐且定界的状态下将数
据从存储器中读出并完成后续的解映射功能。