一种利用fpga实现sbi接口时隙按配置分流的方法和装置的制作方法

文档序号:7806959阅读:401来源:国知局
专利名称:一种利用fpga实现sbi接口时隙按配置分流的方法和装置的制作方法
技术领域
本发明涉及通信网络互连技术和基于FPGA(可编程逻辑器件)的开发设计领域, 并具体设计了利用FPGA实现SBI (带宽可变的芯片互联协议接口)接口数据解析、时隙的按配置分流和链路数据的HDLC处理的装置。
背景技术
SBI (Scaleable Bandwidth Interconnect即可变带宽的芯片互联)协议是是 PMC公司专为SDH(Synchronous Digital Hierarchy即同步数字体系)协议定制的用于芯片间互联的接口协议;它将SDH接口的帧结构数据分解成简单的,用ClFP(帧定位脉冲)、 I^ayloacLValid (净荷有效)、Data(8bit 净荷数据)、I^ayloadJndicator (净荷指示,又称 V5指示)和Data_Parity (总线校验)这五类信号指示的易于芯片间数据传输的结构类型。 由PMC公司的SDH专用处理芯片完成SDH的并串转换、时钟恢复、告警和链路维护信息的提取和统计等操作,同时将净荷数据通过SBI接口与下级处理芯片互联。子时隙分流(时隙的按配置分流)是将El中的时隙数据(64Kbps)根据相应的配置信息进一步分解成带宽更小(如32Kbps、16Kbps、8Kbps)的数据流的操作。因为通信部分链路维护、信令信息数据的总流量不大、需求带宽小,所以基于节约总带宽和提高链路量的考虑,子时隙已成为目前通信领域比较常用的OAM数据、信令数据的传输方式,并且有更加细化的趋势。现有的技术解决方案是利用PMC套片(PMC的SDH专用处理芯片+HDLC专用处理芯片)来完成SDH数据的提取和多链路数据的HDLC处理,模式如图1所示。该方案优点是结构简单、易于实现。FPGA部分只需要根据Utopia接口时序提取出多路HDLC处理芯片处理完成的HDLC分片数据,然后分链路进行分片HDLC数据的合成并将合成完成的完整HDLC数据包传送至主机即可。但该方案完全使用PMC套片完成前端SBI接口数据解析和链路数据提取,无法满足按配置分流(子时隙)、高密度采集等通信行业趋势性的设计需求。其主要使用了 PMC的套片,定制能力不强,而且结构功能单一,主要缺点如下(1)单芯片最多只能支持672条数据链路的处理。这大大制约了采集卡对提高的采集密度和采集数据流量的需求。( 链路类型单一,不能采集子时隙链路的数据。该方案只能对El、n*64K、64K颗粒度的链路数据进行采集处理。由于目前通信运营商的线网中包含大量子时隙链路,而且运营商已强制要求采集设备支持对子时隙链路数据的采集和处理,这样这种老旧的方案就凸显出了其固有的弱点。( 成本高、可控性差。现有技术方案主要成本和制约因素在PMC的HDLC专用处理芯片部分,而且可扩展余地小、不能灵活定制。为了克服现有技术中的上述缺陷,本发明提出了一种使用FPGA实现SBI接口数据的解析和时隙的按配置分流(子时隙分流)装置;这样既增加了链路处理能力和处理的链路类型,又能提高公司对产品的保密性和可控性的要求。

发明内容
为了解决上述技术问题,本发明提出了ー种利用FPGA实现SBI接ロ时隙的按配置分流的方法,其中该方法包括接收外部SBI格式的帧数据,并对所述帧数据进行解析;对解析后的数据按照通道进行拼接;将拼接后的数据按照驱动下发的配置信息分割成不同颗粒度的数据流。进一歩,当接收多个SBI接ロ输入的SBI格式的数据流时,将该多路数据流解析后合成为一路数据然后再按照通道进行拼接。进一歩,对所述帧数据进行解析进ー步包括对按照SBI帧格式传入的帧数据加上行号、列号、帧号、复帧号;根据先前确定的每个时隙通道的状态和数据的行号、列号、帧号以及复帧号信息分解出时隙数据、El编号、TS编号信息;按照由驱动配置的绑定信息为时隙数据分配相应的绑定通道号和使能信号,然后与El编号、TS编号一起输出。进一歩,其中在对解析后的数据按照通道进行拼接进ー步包括从前级数据缓存 FIFO中提取数据和通道信息,然后根据通道信息从状态数据缓存RAM中提取相应通道的状态数据并判断其状态,然后根据拼接结果做出判断,即如果RAM中的状态显示拼接未完成, 则将从前级FIFO中读取的数据与RAM中的状态数据拼接并存入状态数据缓存RAM中,如果 RAM中的状态显示拼接已完成,则将拼接完成的数据送至下级模块,同时将状态数据缓存 RAM中的内容清空。进一歩,其中所述将拼接后的数据按照驱动下发的配置信息分割成不同颗粒度的数据流进一歩包括将送入的64Kbps颗粒度的数据分割为32Kbps、16Kbps或8Kbps颗粒度。进一歩,其中所述所述将拼接后的数据按照驱动下发的配置信息分割成不同颗粒度的数据流进ー步还支持混合子时隙的分割。此外,本发明还提出了ー种利用FPGA实现SBI接ロ时隙的按配置分流的装置, 其中该装置包括SBI接ロ,用于接收外部SBI格式的帧数据,并对所述帧数据进行解析并发送;位宽转换模块,用于对其接收的数据按照通道进行拼接,并传送至分流模块;分流模块,用于将位宽转换模块送入的数据按照驱动下发的配置信息分割成不同颗粒度的数据流。进一歩,该装置具有多个SBI接ロ,并且进ー步还包括复制通道,用于根据配置信息,复制SBI接口中指定链路的数据,供后端实时监测指定链路的情况;仲裁模块,用于接收多个SBI接ロ输入的数据流,并将该多路数据流合成为一路数据输出到所述位宽转换模块。进一歩,所述SBI接ロ包括以下子模块行列编号子模块,用于对按照SBI帧格式传入的帧数据加上行号、列号、帧号、复帧号;解帧子模块,用于接收所述行列编号子模块传输的信息,并根据先前确定的每个时隙通道的状态和数据的行号、列号、帧号以及复帧号信息分解出时隙数据、El编号、TS编号信息;通道号绑定子模块,用于按照由驱动配置的绑定信息为时隙数据分配相应的绑定通道号和使能信号,然后与El编号、TS编号一起输出。进一歩,所述SBI接ロ的对外接ロ有SBI接ロ,数据、El信号、时隙号、被绑定的通道号和使能信号的接ロ,配置接ロ以及控制和状态接ロ。进一歩,所述仲裁模块还包括ー个仲裁状态机和三个数据缓存FIFO。进一歩,所述仲裁状态机是采用令牌环(Toking ring)的方式循环轮询三个数据
5缓存FIFO。进一步,其中所述位宽转换模块还包括一个状态数据缓存RAM和一个状态机,其中状态机从前级数据缓存FIFO中提取数据和通道信息,然后根据通道信息从状态数据缓存RAM中提取相应通道的状态数据并判断其状态,然后根据拼接结果做出判断,即如果RAM 中的状态显示拼接未完成,则将从前级FIFO中读取的数据与RAM中的状态数据拼接并存入状态数据缓存RAM中,如果RAM中的状态显示拼接已完成,则将拼接完成的数据送至下级模块,同时将状态数据缓存RAM中的内容清空。进一步,其中所述分流模块将送入的64Kbps颗粒度的数据分割为32Kbps、16Kbps 或8Kbps颗粒度。进一步,其中所述分流模块还支持混合子时隙的分割。进一步,其中所述分流模块的接口包括前级数据输入接口,向后级模块的数据输出接口,用于驱动下发配置信息和子时隙的使能开关的配置接口。进一步,该装置还进一步包括PCI_l0Cal模块,用于完成FPGA与PCI桥芯片的连接和数据通信。ITU对照表,用于将FPGA内部使用的E1、TS编号信息转换为ITU标准的3_7_3信息,供后级模块和上层软件使用;HDLC处理单元,用于采用并行HDLC处理。该部分将数据流按通道进行HDLC解析和合成,生成相应的错误、告警报告并上传;各级数据缓存模块,用于连接各个模块,暂存数据以消除各模块处理带宽的差异,保持数据完整性,同时各级数据缓存还用于各模块间工作时钟域的切换。本发明利用FPGA(可编程逻辑器件)实现SBI (带宽可变的芯片互联协议接口) 帧格式解析和时隙的按配置分流(子时隙分流)属于对接口协议和数据流的深度解析和处理,技术含量高、保密性强,不容易被模仿和套用;对于现今高密度、多链路的通信数据采集和处理具有更大的优势。


图1为现有技术中的SDH数据的提取和多链路数据的HDLC处理的示例;图2为利用FPGA实现SBI接口时隙按配置分流装置的方框图;图3为SBI接口的内部模块框图;图4为SBI数据的帧格式示例;图5为仲裁状态机的示例;图6为位宽转换模块进行按照通道进行拼接处理的流程图;图7为分流模块将32位宽的64Kbps数据流分割成四路16Kbps数据流的示意图;图8为为利用FPGA实现SBI接口时隙按配置分流装置的流程图。
具体实施例方式参见图2,利用FPGA实现SBI接口和时隙的按配置分流装置主要由SBI接口、仲裁模块、位宽转换模块、分流模块、PCI_local模块、ITU对照表、HDLC处理单元以及各级数据缓存模块组成,各级模块流水完成相应的处理。下面对该利用FPGA实现SBI接口时隙按配置分流装置的各个模块进行详细介绍。
DSBI接ロ,用于接收外部SBI格式的帧数据,并对所述帧数据进行解析并发送, 其中图3为SBI接ロ的内部模块框图。外部SBI格式的帧数据通过SBI硬件信号连接送入FPGA,然后经过“行列编号子模块”对按照SBI帧格式(SBI帧格式如图4)传入的帧数据加上行号、列号、帧号、复帧号等信息后送入“解帧子模块”;在“解帧子模块”模块中根据先前确定的每个时隙通道的状态和数据的行号、列号、帧号以及复帧号信息分解出时隙数据、El编号、TS编号信息送入“通道号绑定子模块”;“通道号绑定子模块”按照由驱动配置的绑定信息为时隙数据分配相应的绑定通道号和使能信号,然后与El编号、TS编号一起输出。“通道号绑定子模块”还有ー个功能就是完成数据流的裁剪,因为SBI接ロ传入的数据量非常大(77. 76MHz*8bit);我们可以通过将ー些不需要采集或者不关心的链路数据配置成‘不使能’来减少大数据量带来的对后端模块的冲击。SBI接ロ的对外接ロ主要有1.SBI接ロ(硬件连接线)2.数据、El号、TS(时隙)号、被绑定的通道号和使能信号3.配置接ロ(通道绑定和使能配置的下发接ロ)4.控制和状态接ロ,主要有总使能开关、奇偶校验指示、V5缺失指示等这里可以采用ー个SBI接ロ来接收SBI帧数据,或设置多个SBI接ロ来接收多路 SBI帧数据。复制通道部分是ー个附加功能模块;它根据配置信息,复制(不影响正常数据流) SBI接口中指定链路的数据,供后端或者用户实时监测指定链路的情況。2)仲裁模块,用于接收多个SBI接ロ输入的数据流,并将该多路数据流合成为ー 路数据输出。该模块包含ー个仲裁状态机和三个数据缓存FIFO (分别缓存A路、B路和复制通道部分的数据)。仲裁状态机采用Toking_Ring (令牌环)的方式循环轮询三个数据缓存FIFO,如图 5所示。这样可以防止出现其中ー个FIFO因数据流量较大而阻塞了另外两个FIFO的数据传输的情况发生。当只有ー个SBI接ロ吋,可以不需要该仲裁模块,SBI接ロ的输出数据直接传输到位宽转换模块,但当存在多个SBI接ロ吋,该仲裁模块对多个数据进行合并后并传输到位宽转换模块。3)位宽转换模块,用于提取前级数据缓存FIFO中的数据按照通道进行拼接,并传送至分流模块。该模块由一个状态数据缓存RAM和一个状态机組成。參见图7,状态机从前级数据缓存FIFO中提取数据和通道信息,然后根据通道信息从状态数据缓存RAM中提取相应通道的状态数据并判断其状态,然后根据拼接结果做出判断,即如果RAM中的状态显示拼接未完成,则将从前级FIFO中读取的数据与RAM中的状态数据拼接并存入状态数据缓存RAM 中,如果RAM中的状态显示拼接已完成,则将拼接完成的数据送至下级模块,同时将状态数据缓存RAM中的内容清空。该模块将数据按照通道进行拼接,由输入的Sbit位宽数据拼接成32bit位宽数据输出。如果需要支持8Kbps颗粒度的分流,数据需要拼接成64bit位宽。4)分流模块參见图2,分流模块是与上级的位宽转换模块紧密衔接的,它将上级模块送入的数据按照驱动下发的配置信息分割成不同颗粒度的数据流,例如将送入的64Kbps颗粒度的数据分割为32Kbps、16Kbps或8Kbps颗粒度然后送至后ー级模块。图6示出了前级模块送入的32位宽的64Kbps数据流分割成四路16Kbps数据流的过程,其他各种分流方式与此类似。同时该模块还支持混合子时隙的分割,例如将ー个64Kbps的链路数据分割为两路 16Kbps+ 一路 32Kbps 链路。该模块的主要接ロ有前级数据输入接ロ(FIFO接ロ),向后级模块的数据输出接 ロ,配置接ロ,用于驱动下发配置信息和子时隙的使能开关。5)PCI_local 模块该模块主要用于完成FPGA与PCI桥芯片的连接和数据通信,是驱动控制各模块エ 作、为各个模块下发配置信息和读取工作状态的数据通道。该模块与各级模块的控制接ロ、 配置接口和状态接ロ相连接。它同时内嵌了一个用于实时监控链路数据的RAM(按照配置抽取相应链路),以便观察指定链路的数据和工作状态。6) ITU(3-7-3)对照表、HDLC处理单元以及各级数据缓存模块ITU(3-7-3)对照表主要用于将FPGA内部使用的E1、TS编号信息转换为ITU标准的3-7-3信息,供后级模块和上层软件使用。HDLC处理单元采用并行HDLC处理。该部分将数据流按通道进行HDLC解析和合成,生成相应的错误、告警报告并上传。各级数据缓存模块(主要組成部分为FIFO)的主要功能是桥接各个模块,暂存数据以消除各模块处理带宽的差异,保持数据完整性,同时各级数据缓存还用于各模块间エ 作时钟域的切換(SBI接ロ工作在77. 76MHz时钟频率下,PCI_local、HDLC处理单元以及 ITU对照表模块工作在50MHz时钟频率下,其他部分工作在155. 52MHz时钟频率下)。參见图8,本发明还提出了一种ー种利用FPGA实现SBI接ロ时隙的按配置分流的方法,其中该方法包括接收外部SBI格式的帧数据,并对所述帧数据进行解析;对解析后的数据按照通道进行拼接;将拼接后的数据按照驱动下发的配置信息分割成不同颗粒度的数据流。本发明利用FPGA(现场可编程逻辑器件)实现了 SBI帧数据的解析,极大的增强了设计的灵活性和保密性;同时处理的链路数量有了显著的提高(单芯片支持至少4千个链路,为专用芯片的8倍),降低了单链路的采集成本;而且时隙的按配置分流部分又实现了对子时隙的支持(包括对混合子时隙的支持),市场应用空间大幅提高。基于FPGA的灵活性的特点,在模块实现时更多的拟合了现场应用场景和采集的需求,极大的増加了采集卡的应用范围。另外利用FPGA实现该功能减少了对PMC处理芯片的依赖,在增加采集能力的同时降低了成本(FPGA的芯片成本约为HDLC专用处理芯片的四分之一);同时该方案为以后产品升级、扩容提供了灵活的平台。以上所述,本领域技术人员可以理解,仅为本发明的最佳实施方式,其并不限制本发明的保护范围。
权利要求
1.一种利用FPGA实现SBI接口时隙的按配置分流的方法,其中,该方法包括接收外部SBI格式的帧数据,并对所述帧数据进行解析;对解析后的数据按照通道进行拼接;将拼接后的数据按照驱动下发的配置信息分割成不同颗粒度的数据流。
2.如权利要求1所述的方法,其中当接收多个SBI接口输入的SBI格式的数据流时,将该多路数据流解析后合成为一路数据然后再按照通道进行拼接。
3.如权利要求1或2所述的方法,其中对所述帧数据进行解析进一步包括对按照SBI帧格式传入的帧数据加上行号、列号、帧号、复帧号;根据先前确定的每个时隙通道的状态和数据的行号、列号、帧号以及复帧号信息分解出时隙数据、El编号、TS编号信息;按照由驱动配置的绑定信息为时隙数据分配相应的绑定通道号和使能信号,然后与El 编号、TS编号一起输出。
4.如权利要求1或2所述的方法,其中在对解析后的数据按照通道进行拼接进一步包括从前级数据缓存FIFO中提取数据和通道信息,然后根据通道信息从状态数据缓存RAM 中提取相应通道的状态数据并判断其状态,然后根据拼接结果做出判断,即如果RAM中的状态显示拼接未完成,则将从前级FIFO中读取的数据与RAM中的状态数据拼接并存入状态数据缓存RAM中,如果RAM中的状态显示拼接已完成,则将拼接完成的数据送至下级模块, 同时将状态数据缓存RAM中的内容清空。
5.如权利要求1或2所述的方法,其中所述将拼接后的数据按照驱动下发的配置信息分割成不同颗粒度的数据流进一步包括将送入的64Kbps颗粒度的数据分割为32Kbps、 16Kbps或8Kbps颗粒度。
6.如权利要求1或2所述的方法,其中所述所述将拼接后的数据按照驱动下发的配置信息分割成不同颗粒度的数据流进一步还支持混合子时隙的分割。
7.一种利用FPGA实现SBI接口时隙的按配置分流的装置,其中该装置包括SBI接口,用于接收外部SBI格式的帧数据,并对所述帧数据进行解析并发送位宽转换模块;位宽转换模块,用于接收SBI传输的解析数据,并对其接收的解析数据按照通道进行拼接,并传送至分流模块;分流模块,用于将位宽转换模块送入的数据按照驱动下发的配置信息分割成不同颗粒度的数据流。
8.如权利要求7所述的装置,其特征在于该装置具有多个SBI接口时,并且进一步还包括复制通道,用于根据配置信息,复制SBI接口中指定链路的数据,供后端实时监测指定链路的情况;仲裁模块,用于接收多个SBI接口输入的数据流,并将该多路数据流合成为一路数据输出到所述位宽转换模块。
9.如权利要求7或8所述的装置,其特征在于所述SBI接口包括以下子模块行列编号子模块,用于对按照SBI帧格式传入的帧数据加上行号、列号、帧号、复帧号;解帧子模块,用于接收所述行列编号子模块传输的信息,并根据先前确定的每个时隙通道的状态和数据的行号、列号、帧号以及复帧号信息分解出时隙数据、El编号、TS编号信息;通道号绑定子模块,用于按照由驱动配置的绑定信息为时隙数据分配相应的绑定通道号和使能信号,然后与El编号、TS编号一起输出。
10.如权利要求7或8所述的装置,其中所述位宽转换模块还包括一个状态数据缓存 RAM和一个状态机,其中状态机从前级数据缓存FIFO中提取数据和通道信息,然后根据通道信息从状态数据缓存RAM中提取相应通道的状态数据并判断其状态,然后根据拼接结果做出判断,即如果RAM中的状态显示拼接未完成,则将从前级FIFO中读取的数据与RAM中的状态数据拼接并存入状态数据缓存RAM中,如果RAM中的状态显示拼接已完成,则将拼接完成的数据送至下级模块,同时将状态数据缓存RAM中的内容清空。
11.如权利要求7或8所述的装置,其中所述分流模块将送入的64Kbps颗粒度的数据分割为32Kbps、16Kbps或8Kbps颗粒度。
12.如权利要求7或8所述的装置,其中所述分流模块的接ロ包括前级数据输入接 ロ,向后级模块的数据输出接ロ,用于驱动下发配置信息和子时隙的使能开关的配置接ロ。
13.如权利要求7或8所述的装置,该装置还进一歩包括PCI.local模块,用于完成FPGA与PCI桥芯片的连接和数据通信。ITU对照表,用于将FPGA内部使用的El、TS编号信息转换为ITU标准的3_7_3信息, 供后级模块和上层软件使用;HDLC处理单元,用于采用并行HDLC处理。该部分将数据流按通道进行HDLC解析和合成,生成相应的错误、告警报告并上传;各级数据缓存模块,用于连接各个模块,暂存数据以消除各模块处理带宽的差异,保持数据完整性,同时各级数据缓存还用于各模块间工作时钟域的切換。
全文摘要
本发明公开了一种利用FPGA实现SBI接口时隙的按配置分流(子时隙分流)的方法和装置,其中该装置包括SBI接口,用于接收外部SBI格式的帧数据,并对所述帧数据进行解析并发送至位宽转换模块;位宽转换模块,用于接收SBI接口发送的数据并按照通道进行拼接,然后传送至分流模块;分流模块,用于将位宽转换模块送入的数据按照驱动下发的配置信息分割成不同颗粒度的数据流。本发明实现了实现了SBI帧数据的解析,极大的增强了设计的灵活性和保密性,同时处理的链路数量有了显著的提高,降低了单链路的采集成本又实现了对子时隙的支持(包括对混合子时隙的支持),市场应用空间大幅提高。
文档编号H04L12/26GK102571577SQ20111045217
公开日2012年7月11日 申请日期2011年12月29日 优先权日2011年12月29日
发明者于恒信, 曹志强, 贾林 申请人:北京中创信测科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1