本发明涉及通信领域、信息识别和筛选领域,具体涉及到同步数字体系(SDH)的指针解释和调整技术、低阶交叉技术、筛选和重组技术。尤其涉及一种采用FPGA对大容量数据进行低阶交叉的方法。
背景技术:
光纤通信由于传输容量大、损耗小、重量轻、体积小、抗电磁干扰能力强和保密性好等优点,在通信中有着越来越广泛的应用,不但骨干网、城域网全部采用光纤传输,而且接入网也普遍采用光纤实现汇聚。目前,承载于光纤上的数据可谓浩如烟海。
但是,在某些领域中,需要对大量的数据进行筛选和过滤,交叉汇聚,从中提取有用的信息进行处理,而光纤上承载的越来越大的数据量,对信息筛选设备的接入容量以及交叉处理能力提出了新的挑战。
技术实现要素:
鉴于现在技术存在的问题,本发明提供一种采用FPGA对大容量数据进行低阶交叉的方法。本方案实现单片接收80G输入带宽的同步数字体系(SDH)数据,经过帧定位,指针解释和调整,复帧信息绑定,交叉和复帧对齐,实现了对80G输入数据的交叉,筛选,汇聚到20G输出。
本发明采取的技术方案是:一种采用FPGA对大容量数据进行低阶交叉的方法,其特征在于:将FPGA芯片功能划分为七个功能模块,分别是:数据接收模块、指针解释和调整模块、复帧信息绑定模块,低阶交叉模块、复帧对齐模块、处理器接口模块和数据发送模块,对接入的大容量同步数字体系数据通过数据接收模块、指针解释和调整模块以及复帧信息绑定模块处理后,采取先进行交叉,进行收敛后,再进行复帧对齐的方式进行操作,各个模块的功能及操作如下:
(一)、将数据接收模块分为五个子模块:帧同步模块、解扰模块、再生段开销提取模块、复用段开销提取模块和通道开销提取模块;其中帧同步模块使用帧同步检测状态机对接收数据进行帧同步检测;解扰模块按照国际电信联盟电信标准分局建议的G.707的规定,对数据加扰部分进行解扰操作;再生段开销提取模块、复用段开销提取模块和通道开销提取模块分别对各层的开销进行校验和提取,并对校验所得异常情况进行统计和上报;
(二)、将指针解释和调整模块分为五个子模块:接收定时器、指针解释器、双口存储器、指针生成器和发送定时器;其中接收定时器根据伴随数据的地址,判别数据流中高阶指针的位置;指针解释器根据接收定时器生成的高阶指针时隙指示信号截取数据流中的指针值,进行指针的解释,得到当前的指针值,从而找到高阶虚容器的起始位置,并将一个个完整的高阶虚容器存入双口RAM中;发送定时器由线路的8kHz帧同步信号重新生成帧相位,并通知指针生成器;指针生成器接收发送定时器送出的帧相位信息,在净荷区域(帧结构中承载数据的区域以下简称净荷区域,装载的数据简称净荷)装载存在双口RAM中的高阶虚容器净荷,同时生成新的指针值,保证所有的同步数字体系的数据帧列对齐;
(三)、复帧信息绑定模块是在完成低阶交叉之前,先把每个高阶虚容器的通道开销中的复帧类别和净荷的位置指示字节开销提取出来,让复帧信息与数据绑定在一起形成新的数据块;
(四)、低阶交叉模块共有四个模块:写控制器、数据缓存RAM、交叉命令缓存RAM和读控制器;写控制器根据伴随数据的地址生成写控制信号:写使能和写地址,写使能对应同步数字体系帧一行里的低阶虚容器净荷区域,写地址从零开始累加直到净荷的最后一列,控制数据顺序写入数据缓存RAM中;数据缓存RAM对数据进行缓存,数据缓存RAM和交叉命令缓存RAM实现读写倒换,当向数据缓存RAM写入时,交叉命令缓存RAM读取,当向交叉命令缓存RAM写入时,数据缓存RAM读取;
读控制器根据写地址生成读控制信号,使读出和写入的延迟达到一行的时差,读控制信号分为:命令RAM读使能、命令RAM读地址和数据RAM读使能;其中“数据RAM读使能”相对于“命令RAM读使能”有固定的延迟,这个延迟对应于命令RAM的读使能有效后需经过固定延迟才输出相应数据;读控制器在发送净荷时隙中让读命令RAM地址累加,读命令RAM地址相当于当前需要输出的低阶虚容器在帧中列的位置,从命令RAM地址中读出的值作为数据RAM的地址,数据RAM的地址相当于当前需要输出的低阶虚容器的编号;交叉时对新的数据块进行交叉,在完成了低阶交叉之后,再将复帧信息提取出来,指示和它绑定在一起的数据存储到相应的复帧存储区中,从未完成复帧对齐;
(五)、复帧对齐模块从低阶交叉模块输出的数据中提取出复帧信息,由复帧信息引导数据存入相应的RAM区域中,每个RAM按照地址分为四个地址区域,分别对应四个复帧,当输出给后面的处理器接口模块时也是按照地址的区分相应的去读取对应的地址区域;
(六)、处理器接口模块使用并行总线完成外部处理器与FPGA之间的接口通信,接收处理器解析的低阶交叉命令,将交叉命令存入低阶交叉模块中的交叉命令缓存RAM中,同时完成片内性能统计的上报和告警上报;
(七)、数据发送模块包括通道开销插入、复用段开销插入、再生段开销插入和加扰四个模块,该四个模块完成交叉和对齐之后的数据帧再生。
本发明产生的有益效果是:本方法改变了在同步数字体系中进行低阶交叉时需要先进行复帧对齐再进行交叉的传统方式,针对信息筛选领域的输入带宽大,输出带宽小的应用特点,提出了先进行交叉,进行收敛后,再进行复帧对齐的方法,通过这种方法,可以大大减小设计对芯片内部缓存的需求,在相同缓存的条件下,可以实现更大带宽的数据接入,提供了更强大的接入能力,交叉能力,数据处理能力。对比之下,常规方法在单片内只能完成20Gx20G的低阶交叉容量,采用本方法可以完成80Gx20G的低阶交叉容量,不需要附加任何外部缓存,本方法在硬件成本、接入容量、操作性方面具有明显的优势。
附图说明
图1为系统模块功能框图;
图2为数据接收功能框图;
图3为帧同步状态机示意图;
图4为指针解释和调整模块框图;
图5为指针解释状态机示意图;
图6为复帧对齐下的交叉示意图;
图7为未复帧对齐的交叉示意图;
图8为低阶交叉模块功能框图;
图9为数据发送模块功能框图。
具体实施方式
以下结合附图对本发明做进一步说明:
FPGA(现场可编程门阵列)芯片工作原理:参照图1,芯片功能划分为七个功能模块:数据接收模块、指针解释和调整模块、复帧信息绑定模块、低阶交叉模块、复帧对齐模块、处理器接口模块和数据发送模块。其中指针解释和调整、复帧信息绑定、低阶交叉、复帧对齐四个模块为本方案中的核心模块,体现先交叉再进行复帧对齐的思路。数据接收、处理器接口、数据发送三个模块是处理SDH数据的常规模块,上述七个模块完成整个芯片的所用功能。
参照图2,数据接收模块分为五个子模块:帧同步模块、解扰模块、再生段开销(RSOH)提取模块、复用段开销(MSOH)提取模块、通道开销(PON)提取模块。其中帧同步模块对接收数据进行帧同步检测,帧同步检测状态机如图3所示(该图是参照标准协议G.707的描述绘制);解扰模块按照国际电信联盟电信标准分局(ITU-T)建议的G.707的规定,对数据加扰部分进行解扰操作;ROSH、MSOH、PON开销提取模块分别对各层的开销进行校验和提取,包括DCC(数据通信通路)、J0(再生段踪迹字节)、J1(通道踪迹字节)、B1(比特间插8位奇偶校验码字节)、B2(比特间插24位奇偶校验码字节)、B3(通道8位奇偶校验码字节)、S1(同步状态字节)、C2(信号标记字节)、M1(复用段远端误码块指示字节)等等,对校验所得异常情况进行统计和上报。
按照ITU-T建议G.707的规定(VC4是一种高阶虚容器,是帧结构中承载高阶数据的字节位置,后文简称为VC4,而相应的,低阶虚容器是一种更小的承载低阶数据的容器,后文简称为VC12),当VC12间插复用装载进VC4之后,高阶指针AU_PTR与VC4组成AU4,高阶指针指示了VC4中J1的位置,即VC4的起点,由此可以确定各个VC12的位置。当指针变化时,说明VC12在VC4中的位置发生了变换,同时,无论指针如何变化,一个VC12的所有字节在VC4中始终在同样的列,因此可以用列交换实现VC12的交叉,但是实现这种列交换的前提就是不同VC4中相同序号的VC12应在它们各自的VC4中处于相同的列,例如,两个VC4中的第一个VC12进行列交叉,那么这两个VC12在它们各自的VC4中,应该都处于第10列,73列,136列,199列。因为VC12在VC4中的位置是通过指针的值来进行指示的,所以需要先通过指针调整,将所有的VC4的指针调整为522。完成低阶交叉之前的第一步准备功能:基帧对齐。
参照图4,指针解释和调整模块分为五个子模块:接收定时器、指针解释器、双口存储器(RAM)、指针生成器、发送定时器。其中接收定时器根据伴随数据的地址,判别数据流中高阶指针的位置;指针解释器根据接收定时器生成的高阶指针时隙指示信号截取数据流中的指针值,进行指针的解释,得到当前的指针值,如图5所示(该图引自标准协议G.707),从而找到VC4的起始位置,并将一个个完整的VC4存入双口RAM中;发送定时器由线路的8K帧同步信号重新生成帧相位,并通知指针生成器;指针生成器接收发送定时器送出的帧相位信息,在净荷区域装载存在双口RAM中的VC4净荷,同时生成新的指针值(按照习惯,取默认指针值为522),保证所有的同步数字体系(SDH)的数据帧列对齐。
复帧信息绑定模块是在完成低阶交叉之前,先把每个VC4的通道开销中的复帧类别和净负荷的位置指示字节(H4)开销提取出来,让复帧信息与数据绑定在一起形成新的数据块;因为VC12是具有复帧结构的,而指针只能指示一个VC12基帧在VC4中的位置,在通过指针调整完成了VC12基帧在VC4中的列对齐之后,若要求VC12交叉的数据无误,还需要另外的要求:复帧对齐。复帧的信息是由通道开销字节中的H4开销来指示的,而低阶交叉时,通道开销字节信息会被终结掉,所以SDH低阶交叉的常规做法是在交叉之前,使用通道开销字节中的复帧信息先进行复帧对齐,完成之后再进行交叉。复帧对齐需要用到芯片大量的缓存资源,而芯片内能够完成的低阶交叉容量主要取决于芯片缓存的大小,所以这种先复帧对齐再交叉的常规方式所能完成的交叉容量取决于输入带宽,在数据筛选和过滤的应用中,因为输入数据中有大量的是无效数据,最终不会被输出,所以这种方式限制了这种应用的芯片的接入能力。
本方案实现先交叉再复帧对齐是在交叉之前,先把每个VC4的通道开销字节中的H4开销提取出来,让复帧信息与数据绑定在一起形成新的数据块,交叉时对新的数据块进行交叉,这样复帧信息始终跟随原始数据,经过交叉也不会丢失,在完成了低阶交叉之后,再将复帧信息提取出来,指示和它绑定在一起的数据存储到相应的复帧存储区中,从未完成复帧对齐。
图6和图7分别说明了常规方案和本方案进行交叉时的对比,其中在图6中,复帧信息为虚线框,表示复帧信息已经被终结掉。
参照图8,以列交换为低阶交叉的基本思想,低阶交叉模块完成80Gx20G的低阶交叉。低阶交叉模块共有四个模块:写控制器、数据缓存RAM、交叉命令缓存RAM、读控制器;写控制器根据伴随数据的地址生成写控制信号:写使能和写地址,写使能对应同步数字体系(SDH)帧一行里的VC12净荷区域,写地址从零开始累加直到净荷的最后一列,控制数据顺序写入数据缓存RAM中;数据缓存RAM对数据进行缓存,数据缓存RAM和交叉命令缓存RAM实现读写倒换,当向数据缓存RAM写入时,交叉命令缓存RAM读取,当向交叉命令缓存RAM写入时,数据缓存RAM读取。
读控制器根据写地址生成读控制信号,使读出和写入的延迟达到一行的时差,读控制信号分为:命令RAM读使能、命令RAM读地址和数据RAM读使能;其中“数据RAM读使能”相对于“命令RAM读使能”有固定的延迟,这个延迟对应于命令RAM的读使能有效后需经过固定延迟才输出相应数据;读控制器在发送净荷时隙中让读命令RAM地址累加,读命令RAM地址相当于当前需要输出的低阶虚容器(VC12)在帧中列的位置,从命令RAM地址中读出的值作为数据RAM的地址,数据RAM的地址相当于当前需要输出的低阶虚容器(VC12)的编号;交叉时对新的数据块进行交叉,在完成了低阶交叉之后,再将复帧信息提取出来,指示和它绑定在一起的数据存储到相应的复帧存储区中,从未完成复帧对齐。
使用缓存RAM对数据进行存储,因为写入和读出之间的延迟,RAM的容量为SDH一行VC12净荷容量的两倍大小,分为主备两块,实现读写倒换,当向主存储块写入时,从备存储块读取,当向备存储块写入时,从主存储块读取。
图8描述数据的交叉模式,伴随数据的复帧信息当作数据的一部分,进行一样的操作,始终跟随它所标记的数据。按照图8的结构可实现一条通道内的低阶交叉,在多条通道内的交叉时,会涉及到多个上述结构。
复帧对齐模块从低阶交叉模块输出的数据中提取出复帧信息,由复帧信息引导数据存入相应的RAM区域中,每个RAM按照地址分为四个地址区域,分别对应四个复帧,当输出给后面的处理器接口模块时也是按照地址的区分相应的去读取对应的地址区域。
处理器接口模块使用并行总线完成外部处理器与FPGA之间的接口通信,接收处理器解析的低阶交叉命令,将交叉命令存入低阶交叉模块中的交叉命令缓存RAM中,同时完成片内性能统计的上报和告警上报。
数据发送模块包括通道开销插入、复用段开销插入、再生段开销插入、加扰四个模块,该四个模块完成交叉和对齐之后的数据帧再生。