首页 > 范文大全 > 正文

基于NiosII的SDH性能告警处理平台及实现

开篇:润墨网以专业的文秘视角,为您筛选了一篇基于NiosII的SDH性能告警处理平台及实现范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要:针对系统对于SDH性能告警处理方面的需求,利用Altera低成本的FPGA开发设计了基于niosii嵌入式CPU的处理平台,利用SOPC Builder创建了NiosII SoC硬件系统,开发了嵌入式软件,从而实现对ASIC芯片的配置和性能告警处理算法。

关键词:sdh,FPGA,NiosII

Design and Implementation of SDH Performance

Alarm Platform Based on NiosII

WANG Jiang-yan,TANG Ning,WANG Xiao-gang

(Common Competence Center, Alcatel-Lucent Shanghai Bell Co., Ltd. shanghai 201206,China)

Abstract:To meet the requirement of SDH performance alarm processing,a platform based on NiosII was designed by using low cost Altera FPGA. The hardware system of NiosII SoC was created by using SOPC Builder. The configuration of external ASICs and the processing of performance alarm were implemented in NiosII Embedded software.

Key Words: SDH, FPGA,NiosII

1前言

随着新的数据业务快速涌现,网络IP化是大势所趋,传输网络也开始转型。运营商需要升级传输网络以求更好地服务于终端用户;设备商需要提供SDH和以太网服务共存的解决方案,来满足新的高速数据业务。Alcatel-Lucent 1850TSS设备支持多种业务接口和网络接口,支持灵活汇聚传送任意比例的TDM业务与数据业务,支持以太网、SDH/SONET交换,支持以太网、SDH/SONET OAM等等先进特性。同时,灵活的配置和完备的OAM特性,对实时管理软件的性能提出了很高的要求。

由于SDH协议中所定义的开销、告警很多,如果完全依赖系统软件来完成配置管理,将占用大量的系统CPU处理时间;而如果用FPGA逻辑资源实现的话,对FPGA的逻辑资源提出了较高的要求,从而增加系统成本,而且配置的灵活性受到限制。

以Alcatel-Lucent 1850TSS的PORT盘为例,PORT盘不仅需要处理SDH/SONET高阶和低阶的开销告警;还需要处理最高可配置成4×84路支路单元的性能告警。对于性能告警不仅需要统计一秒内的缺陷数,还需要根据系统配置监控1分钟、15分钟或者1小时内的缺陷数,以产生或者清除系统失败的状态。如果用FPGA的内部逻辑来完成这些功能的话,需要占用FPGA大量的寄存器和Memory资源。

在综合分析系统需求之后,我们在PORT盘上利用一块低成本的FPGA设计了一种基于NiosII的处理方案。将CPU对PORT盘告警的处理转移到NiosII处理器中完成,同时将CPU对PORT盘上ASIC芯片的配置功能也放在NiosII软件完成,极大地提高了PORT盘系统方案的灵活性和系统CPU的处理性能。

2系统描述

PORT盘的硬件结构主要功能模块如图1所示。它主要由一块FPGA和两块ASIC芯片――SDH Mapper、LIU构成。FPGA和SDH Mapper通过MCU接口相连,提供寄存器的读/写信号;和LIU通过SPI接口相连,提供对LIU的配置和告警的提取。ISPB BUS通过背板接收系统命令,两组38M数据总线是SDH数据的收发总线,经过FPGA进行时钟转换后送给SDH Mapper芯片。两块ASIC芯片则完成对SDH数据的解析,并产生相应的告警信息。NiosII 处理器通过FPGA与ASIC芯片的接口采集告警信息。根据性能告警协议,我们开发了基于NiosII的嵌入程序软件对采集到的告警信息进行处理,存储在寄存器中供上层软件调用。

3FPGA设计实现

本设计采用Altera Cyclone II 2C20F484 FPGA实现。Cyclone II系列FPGA采用TSMC 90nm低k绝缘工艺,具有完备的性能和极低的功耗,支持NiosII系列32位RISC嵌入式处理器,成本也比较低。利用Quartus II软件提供的SOPC Builder工具,可以方便快速地创建基于NiosII的SoC系统。FPGA功能模块示意图如图2所示。

其中ISPB Interface的功能是解释ISPB总线的命令,并读取NiosII软件处理后的数据送到ISPB BUS。

利用Quartus II提供的MegaCore例化了一个PLL模块,产生NiosII所需要的50 MHz时钟信号。

SDH Data Path模块则负责处理38 M数据到SDH Mapper 芯片的 Telecom 总线的转换。

NiosII SoC是FPGA设计的核心。NiosII处理器是Altera公司推出的第二代IP软核处理器,具有超过200 DMIP的性能,并与其他IP核构成SOPC系统的主要部分。用户可以通过自定义逻辑的方法在SOPC设计中添加自己开发的IP核,充分体现了SOPC设计灵活、高效的优越性。Ouartus II集成的SOPC Builder工具生成NiosII CPU并进行相应的设置,主要是时钟频率的选择、地址的分配和各个部件与NiosII的连接。利用Quartus II软件集成的SOPC Builder工具,本设计最终生成的NiosII SoC系统组件如图3所示。

本系统中所需的多数组件,都可以在SOPC Builder的IP库中找到对应的IP模块,例如JTAG、UART、SPI、Timer、PIO和标准的SRAM等等。对于系统殊的器件接口则需要创建自己的组件,挂接到NiosII 的Avalon总线上。在本系统中,我们为ISPB接口和Mapper的local MCU接口建立了新组件。

4NiosII软件设计

本系统的软件设计采用Quartus II集成的NiosII IDE综合开发环境,开发了性能告警处理的程序模块和ASIC芯片的配置模块。NiosII嵌入软件的架构如下:在while循环之前的代码主要完成对ASIC芯片的配置功能,while循环内部则根据Board Type寄存器的设置,处理性能告警。具体细节本文不予以详述了。

Int main{

board_type = IORD(MCU_BASE, BOARD_TYPE_ADDR);

if( board_type & DS1_BOARD_MASK)

{//将ASIC配成DS1工作模式;

IOWR(ONCHIP_ALARM_RAM_BASE,ADDR,DS1);

}

else if( board_type & DS3_BOARD_MASK)

{ //将ASIC配成DS1工作模式;

IOWR(ONCHIP_ALARM_RAM_BASE,ADDR,DS3);

}

else

{//Bypass 模式

IOWR(ONCHIP_ALARM_RAM_BASE,ADDR,BYPASS);

}

while(1)

{

//读取ASIC芯片的告警,并进行处理

IORD(ONCHIP_ALARM_RAM_BASE,ADDR);

....

}

目前的PORT盘只需要支持DS1和DS3两种模式,如果需要支持其他业务模式,根据FPGA中设置的Board Type寄存器,进行软件升级即可,可以避免因为重新设计PCB和硬件升级所带来的生产和硬件测试任务,这也充分体现了应用NiosII处理器核进行设计的灵活性和优越性。

5结论

由于采用了NiosII的设计,将原来需要系统CPU完成的告警统计和芯片配置放在FPGA中处理,在告警处理方面上层CPU只需要读取统计后的结果即可,极大地减少了性能告警处理对上层CPU运行时间的占用。同时由于采用软件统计告警,可以方便地调整统计策略,在整个硬件架构不变的基础上通过软件升级来满足不同市场的需求。该设计已通过了系统测试,目前已经稳定地运行在系统产品中。

参考资料

[1] ITU-T G.7832000.10

[2] NiosII Hardware Development Tutorial. Altera

[3] NiosII Software Developer’s Handbook. Altera

[4] ISPB-R2 Intra Shelf Parallel BUS spec2004.10

[5] CycloneII device handbook. 2006.6

本文为全文原貌 未安装PDF浏览器用户请先下载安装 原版全文