一种协助处理动态带宽分配算法的硬件装置及方法

文档序号:7917929阅读:1144来源:国知局
专利名称:一种协助处理动态带宽分配算法的硬件装置及方法
技术领域
本发明涉及网络接入数据通讯领域,尤其涉及一种协助处理动态带
宽分配(DBA)算法的硬件装置及方法。
背景技术
在千兆无源光网络(GPON)系统中,DBA是为了解决如何最大限度的有效利用GPON系统的带宽而提出的。目前多业务的GPON以及EPON (Ethernet Passive Optical Networks ,以太网无源光网络),要求保证各种业务的QoS (Quality of Service,服务质量),因此就需要具有非常灵敏的带宽分配机制。在多长的调度周期上完成一次带宽分配以及带宽分配算法,将直接影响GPON系统的上行带宽利用率和各类业务的服务质量。
现有的,乂人架构来说,实现DBA算法主要有以下两种方式一DBA算法全部用硬件来实现,DBA用硬件来实现的好处是性能比较高,能够满足系统的带宽需求,但也有一个致命的缺点,就是如果用FPGA ( Field Programmable Gate Array,可编程逻辑阵列)来实现DBA算法将会占用大量的逻辑资源,增加实现成本;如果用ASIC来实现DBA算法, 一旦DBA算法部分有更新,将无法进行改变。
二 DBA算法全部用软件来实现,由于DBA算法比较复杂,用软件来实现也很庞大,而且CPU计算的工作量也很大。并且在实际的GPON系统中,往往采用多PON (无源光网络)口方式,这样也就需要多路DBA算法(考虑一个PON 口对应一路DBA算法),对于这样复杂的多路DBA算法,CPU系统往往很难处理得过来。由于要处理DBA的核心软件,硬件装置中应含有CPU,对于早期的PON的芯片来说,一般采用片外CPU+协议芯片来实现,由于是采用片外CPU,必然存在许多CPU的周边外设,不但占用很多PCB板的面积,而且CPU系统的性能也很难提高,并且GPON MAC要求的性能更高,下行要求达到2.5Gbits/s,上行要求达到1.25Gbits/s,从而降低了上下行消息处理效率。

发明内容
本发明所要解决的技术问题是提供一种协助处理DBA算法的硬件装置及方法,通过采用在FPGA内嵌PPC (PowerPC )的CPU子系统来处理DBA的核心算法。
为解决上述技术问题,本发明是通过以下技术方案实现的
一种协助处理动态带宽分配算法的硬件装置,包括硬件逻辑模块,寄存器接口控制模块、同步动态RAM控制器模块、FLASH控制器模块、中断处理器模块、通用异步收/发器控制器模块和依次相连的主从通讯模块、主从通讯接口模块、PowerPC CPU模块、处理器总线模块、处理器总线到片上外设总线桥模块、片上外设总线模块;
PowerPC CPU模块用于处理和控制硬件逻辑模块采集的数据,同时,PowerPC CPU才莫块通过主从通讯-接口才莫块连接到主从通讯才莫块与硬件逻辑模块中的主CPU接口相连,完成内嵌CPU和可编程逻辑阵列外部的主CPU之间的通讯;并通过处理器总线模块连接寄存器接口模块来控制和配置硬件逻辑模块中的寄存器以及动态带宽分配算法的上报和下配;
5中断处理器模块与片上外设总线模块相连,用于读取系统产生的中
断,并处理和响应中断事件;
通用异步收/发器控制器模块与片上外设总线模块相连,用于完成 PowerPC CPU模块与外部串口的异步通讯;
同步动态RAM控制器模块与处理器总线模块相连,用于完成系统 数据和程序在片外同步动态RAM存储器中的存取;
FLASH控制器模块与处理器总线模块相连,用于控制可编程逻辑 阵列片外的启动ROM供PPC模块的启动。
其中,还包括与片上外设总线模块相连的定时器模块,用于为 PowerPC CPU模块提供中断定时服务。
其中,还包括与片上外设总线模块相连的通用并行输入/输出控制器 模块,用于完成PowerPC CPU模块与可编程逻辑阵列外部的并口的并行
通讯o
其中,还包括与处理器总线模块相连的以太网控制器模块,用于控
制PowerPC CPU和片外以太网通讯。
一种协助处理动态带宽分配算法的方法,包括以下步骤
a:构建嵌入式PowerPC CPU子系统,当PowerPC CPU子系统上电 启动之后,对PowerPC CPU子系统进行初始化;
b: PowerPC CPU子系统和片外的主CPU进行主从通讯;
c:协助硬件逻辑模块对光网络单元进行注册和激活,以及光网络 单元的测距;
d:监控光终端侧硬件逻辑模块和光网络单元的工作状态,统计告 警和错误,及时的上报或者通过串口打印出来,同时协助光终端侧硬件 逻辑模块处理上/下行的物理层操作、维护、管理消息以及动态带宽分配 算法。
6其中,步骤b还包括PowerPC CPU子系统将当前的工作状态和系 统中光终端侧硬件逻辑模块和光网络单元的状况上报给主CPU。 本发明具有以下有益效果
本发明通过采用FPGA内嵌高性能的PPC处理器所构成的PPC系 统,为处理对性能有较高要求的软件DBA找到了 一条灵活的实现途径, 整个系统的性能有很大提高,内嵌处理器的速度达到350Mhz, PPC总 线和各个接口的工作时钟频率均在lOOMz以上,完全满足了处理DBA 核心算法的需求。同时,由于釆用CPU内置,减少了CPU和相关元器 件占用PCB板的面积,节约了成本,具有较高的灵活性和实用性。


图l是本发明装置结构图; 图2是本发明方法流程图。
具体实施例方式
本发明基于XILINX V4 FX100 FPGA中内嵌的PowerPc405 (简称 PPC )石更核为核心,构建一个嵌入式的PowerPC CPU子系统。该子系统 在上电完成启动(boot)之后,在操作系统和软件的支持下首先对系统 进行初始化,完成对GPON OLT MAC进行配置和i殳置,完成通过光终 端侧硬件逻辑模块(OLT)对光网络单元(ONU)进行相关的配置和初 始化(包括协助测距,协助获取ONU的S/N,以及ONU的功率设置等)。 在系统进入正常工作之后,监控OLT和ONU的工作状态,协助处理 OLT和ONU的报警和错误,协助硬件进行ONU中的TCONT (Transmission Container)的DBA算法的带宽分配。除此之外,PPC系统还协助OLT完成与ONU的密匙交换,GPON上/下行Ploam消息的 处理等。
下面结合附图及具体实施例对本发明作进一步详细的描述 请参阅图l所示,包4舌依次相连的主/人通讯才莫块C、主乂人通讯才妻 口模块B、 PPC模块A、 PLB总线模块E、 PLB20PB桥模块I、 OPB总 线模块L,寄存器接口控制模块D、 SDRAM控制器模块F、以太网控 制器模块G、 FLASH控制器模块H、定时器模块J、中断处理器模块K、 UART控制器模块M、 GPIO控制器模块N、 OLT—MAC硬件逻辑模块; PPC模块A是FPGA内嵌的CPU处理器,用来处理和控制 OLT—MAC硬件逻辑模块采集的数据,同时,PPC模块A通过主从通讯 接口模块B连接到主从通讯模块C与OLT一MAC硬件逻辑模块中的 HOST CPU接口相连,完成内嵌CPU和FPGA外部的HOST CPU之间 的通讯。PPC模块A还要通过PLB总线模块E连接寄存器接口模块块 D来控制和配置OLT—MAC硬件逻辑模块中的寄存器以及DBA算法的 上报和下配。
PPC模块A通过PLB总线模块E以及PLB20PB桥模块I来配置和 控制挂在OPB总线模块L上的定时器模块J,来为CPU系统提供中断 定时服务。
PPC模块A通过PLB总线模块E以及PLB20PB桥模块I来配置和 控制挂在OPB总线模块L上的中断处理器模块K,来读取系统产生的 中断,并处理和响应中断事件。
PPC模块A通过PLB总线模块E以及PLB20PB桥模块I来配置和控制挂在OPB总线模块L上的UART控制器模块M,来完成与外部串 口的异步通讯。
PPC模块A通过PLB总线模块E以及PLB20PB桥模块I来配置和 控制挂在OPB总线模块L上的GPIO控制器模块N,来完成与FPGA 外部的并口的并4亍通ifl。
PPC模块A通过PLB总线模块E配置和控制SDRAM控制器模块 F,来完成系统数据和程序在片外SDRAM存储器中的存取。
PPC模块A通过PLB总线模块E配置和控制以太网控制器模块G, 来完成10M/100M的以太网通讯。
PPC模块A通过PLB总线模块E配置和控制FLASH控制器模块H, 片外的BOOTROM与FLASH控制器模块相连接,PPC405通过读取 BOOTROM中的数据完成CPU的BOOT。
其中,各;^莫块的实现如下
PPC模块A的硬件实现描述
PPC405模块主要是采用FPGA内部内嵌的PowerPc405 CPU石更核, 它在FPGA内部已经实现,硬件设计要估文的工作是用EDK (Enbedded Development Kit)工具软件将PPC405 CPU核和其它才莫块连4妄起来。
主从通讯接口模块B的硬件实现描述
主从通讯接口模块主要用于连接PPC405模块和主从通讯模块,主 从通讯接口模块挂在PPC405的OCM (On-Chip Memory )总线上,其 实就是一个片上BRAM存储器接口 ,在实现方式上主要是将OCM总线 时序转换为BRAM的接口时序,片外的HOST CPU可以通过这个4妻口对DBA的一些参数进行设置和修改,操作和使用非常方^_。 主从通讯模块C的硬件实现描述
主从通讯才莫块用于GPON MAC嵌入式CPU和片外的HOST CPU 通讯,它由mailbox和DPRAM及其控制逻辑构成,可以被HOST CPU 用来传递一些简单的指令给内嵌CPU,如通过软件对DBA的启动和 停止等,以及查询DBA的状态,让操作者可以通过主从通讯模块了解 DBA的实时工作状态。
DPRAM是16Kbytes的双口 RAM (容量为暂定,最终以岸欠件需求 来定),用来作为内嵌CPU和host CPU交换数据的主要通道。
Mailbox是一个DPRAM, Mailboxes同样也是内嵌CPU和host CPU 交换信息的通道,但主要用来交换握手信号和传送在Shared DPRAM中 大量交换的数据的首地址和长度信息的。因此部分Mailboxes地址被访 问时,会产生中断。Mailboxes有两组,分别称为Outgoing Mailboxes 和Ingcoing Mailboxes,均为128Bytes。前者是内嵌CPU子系统可读写, Host CPU只读的,用于内嵌CPU向Host CPU发送信息,同时产生中 断通知Host CPU;后者是Host CPU可读写,内嵌CPU子系统只读的, 用于Host CPU向内嵌CPU子系统发送信息,同时产生中断通知内嵌 CPU。
寄存器接口模块D的硬件实现描述
寄存器接口模块主要为PPC405 CPU访问GPON OLT MAC硬件逻 辑模块内部的寄存器提供通道,这个模块挂在PPC405的PLB总线上, 这个模块要将PLB总线读/写时序转化为操作片内寄存器读/写时序,同时,CPU通过这个模块获取相关数据,执行软件DBA算发,再将DBA 算发执行的结果通过这个模块给相关的硬件去执行。在这个模块中有两 块RAM,用来存放与DBA算法相关的数据,其中 一块用于TCONT需 求带宽的上报CPU处理,另外一块用于存放PPC处理之后分配给 TCONT的需求带宽。需求带宽的上报可以采用中断方式或者状态位查 询方式,带宽的下配,PPC可以采用置状态位的方式通知硬件逻辑。 PLB总线模块E的硬件实现描述
PLB总线模块是连接PPC405和具有PLB总线接口模块的桥梁,它 可以实现PPC405 CPU对这些具有PLB接口的模块的访问。在这里采用 FPGA提供的PLB总线IP core石更件,4吏用EDK工具将PPC405核和PLB 总线,以及PLB总线的外设连接起来。
SDRAM控制器模块F的硬件实现描述
SDRAM控制器模块主要用来控制对片外SDRAM存储器的操作, PPC405 CPU通过对SDRAM控制器的操作可以从片外的SDRAM存储 器中存取程序和数据,SDRAM控制器的实现采用FPGA提供的IP core 硬件,同时也是使用EDK工具将SDRAM控制器的总线接口和PLB总 线互连,并将SDRAM控制器的memory接口信号连接到FPGA外部。
以太网控制器模块G的硬件实现描述
以太网控制器模块主要用来内嵌CPU和片外进行10M/100M以太 网通讯。在片内以太网控制器有PLB总线接口 ,方i"更地挂在PLB总线 上,同时提供MII接口和片外的以太网Phy相连接,以太网控制器采用 FPGA中的temac硬核来实现,Mil接口时钟25Mhz, PLB总线接口时
li钟100Mhz,以太网控制器内部有两个接收/发送FIFO, FIFO宽度为64, 深度根据需要进行配置。
FLASH控制器模块H的硬件实现描述
FLASH控制器模块主要用来控制器FPGA片外的bootrom,bootrom 用来供PPC405 CPU启动,当系统上电复位后,PPC405通过FLASH控 制器访问bootrom的OxFFFFFFFC为首地址存力欠的启动程序,来完成系 统的启动。FLASH控制器具有PLB总线接口,可以方便地挂在PLB总 线上,FLASH控制器同时也提供外部存储器控制EMC( External Memory Controller)接口来和FPGA外部的bootrom相连接,PLB总线,EMC 接口 ,以及片外的bootrom均工作在1 OOMhz的时钟。
PLB20PB桥模块I的硬件实现描述
PLB20PB桥模块是连接PLB总线和OPB总线的桥梁,PPC405 CPU 通过PLB总线和PLB20PB桥可以方便地访问挂在OPB总线上的速度 相对较低的外设,PLB20PB桥模块采用FPGA提供的IP core硬件来实 现,使用EDK工具将PLB20PB桥模块与PLB, OPB总线相连接, PLB20PB桥模块的工作时钟频率为100Mhz。
定时器模块J的硬件实现描述
定时器模块主要为PPC小系统提供定时中断服务,模块内有多个向 上和向下的定时计数器,通过OPB总线来启动和配置这些计数器,当 计数器到达设定值时,向中断处理器引发中断,PPC405通过中断去处 理相应的时间,该定时器挂在OPB总线上,PPC405可以访问到。
中断处理器模块K的硬件实现描述中断处理器;f莫块主要用来管理PPC小系统的所有中断源,并将这些 中断源按照中断源的优先级经过初步地处理之后向PPC405 CPU发出中 断请求。它能够根据控制向PPC报告32个中断源的情况,能够对中断 源进行屏蔽和允许,支持上升沿触发。它具有OPB总线接口,可以方 ^使地挂在OPB总线上供PPC访问中断处理器内部的寄存器。
OPB总线模块L的硬件实现描述
OPB总线模块用于互连具有OPB接口外设,PLB20PB桥是它的主 设备。OPB总线模块采用FPGA提供的IPcore硬件来实现,使用EDK 将OPB总线和其外设相连4妻,OPB总线的工作时钟频率是100Mhz。
UART控制器模块M的硬件实现描述
UART控制器主要用来PPC405和外部进行异步通讯,它挂在OPB 总线上,PPC405可以通过OPB总线对UART控制器内部的寄存器进行 配置和控制。UART控制器内部有两个接收和发送FIFO, UART通过 这两个FIFO进行数据的接收和发送,同时可以通过引发中断,让CPU 来处理相关的事件。UART控制器采用FPGA提供的IP core硬件来实 现,其工作时钟频率和波特率可以通过寄存器来设置。
GPIO控制器模块N的硬件实现描述
GPIO控制器主要用于PPC和外部进行并行通讯(访问并行I/O ), 它挂在OPB总线上,它内部主要由三个32位寄存器构成,即GPIO 输入寄存器,GPIO输出寄存器,GPIO输入/输出方向控制寄存器,PPC 可以通过OPB总线控制和配置这些寄存器,该模块的工作时钟频率为 100Mhz。
13请参阅图2所示,本发明方法流程图,包括以下步骤 第一步PPC405 CPU的启动(BOOT)
当系统上电复位之后,PPC405就要去访问BOOTROM的OXffff—fffc 地址,从这个地址开始执行BOOT程序,完成整个CPU的启动(BOOT )。 第二步系统初始化
当CPU启动之后,就要将软件程序通过网口或者串口下载到 SDRAM存储器中,同时,也要将FPGA硬件逻辑下载到FPGA中,然 后软复位,从SDRAM的0地址开始执行程序,完成对硬件寄存器的配 置和设置,并对一些其它4妄口 (如主/人通讯)进4亍初始化。
第三步与HOST CPU通讯
当系统初始化完成之后,要和片外的HOST CPU进行主从通讯,通 过主从通讯,内嵌PPC可以接受HOST CPU的命令和指令,完成相应 的工作。另一方面,内嵌CPU也可以将自己的工作状态和系统中 OLT/ONU的状况上报HOST CPU,让管理人员了解GPON系统的工作 状况。
第四步协助OLT MAC对ONU进行注册和激活,以及ONU测距 当OLT检测到新ONU时,PPC要协助OLT要进行OUN的注册和 测距,当有OUN发生deactive时,PPC也要协助OLT对deactive的ONU
进行激活。
第五步监控OLT和ONU的工作状态,协助OLT处理处理PLOAM 消息以及DBA算法
PPC小系统的一项重要的工作是,监控OLT/ONU的工作状态,统 14计告警和错误,及时的上报或者通过串口打印出来,同时协助OLT处
理MAC上/下行的PLOAM消息以及DBA算法。
以上实施例仅用以说明本发明的技术方案而非限制,仅仅参照较佳 实施例对本发明进行了详细说明。本领域的普通技术人员应当理解,可 以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方 案的精神和范围,均应涵盖在本发明的权利要求范围当中。
权利要求
1、一种协助处理动态带宽分配算法的硬件装置,包括硬件逻辑模块,其特征在于,还包括寄存器接口控制模块、同步动态RAM控制器模块、FLASH控制器模块、中断处理器模块、通用异步收/发器控制器模块和依次相连的主从通讯模块、主从通讯接口模块、PowerPc CPU模块、处理器总线模块、处理器总线到片上外设总线桥模块、片上外设总线模块;PowerPc CPU模块用于处理和控制硬件逻辑模块采集的数据,同时,PowerPc CPU模块通过主从通讯接口模块连接到主从通讯模块与硬件逻辑模块中的主CPU接口相连,完成内嵌CPU和可编程逻辑阵列外部的主CPU之间的通讯;并通过处理器总线模块连接寄存器接口模块来控制和配置硬件逻辑模块中的寄存器以及动态带宽分配算法的上报和下配;中断处理器模块与片上外设总线模块相连,用于读取系统产生的中断,并处理和响应中断事件;通用异步收/发器控制器模块与片上外设总线模块相连,用于完成PowerPc CPU模块与外部串口的异步通讯;同步动态RAM控制器模块与处理器总线模块相连,用于完成系统数据和程序在片外同步动态RAM存储器中的存取;FLASH控制器模块与处理器总线模块相连,用于控制可编程逻辑阵列片外的启动ROM供PowerPc CPU模块的启动。
2、 如权利要求1所述的协助处理动态带宽分配算法的硬件装置, 其特征在于,还包括与片上外设总线模块相连的定时器模块,用于为 PowerPC CPU模块提供中断定时服务。
3、 如权利要求1或2所述的协助处理动态带宽分配算法的硬件 装置,其特征在于,还包括与片上外设总线模块相连的通用并行输入/输出控制器模块,用于完成PowerPC CPU模块与可编程逻辑阵列外 部的并口的并4亍通ifl。
4、 如权利要求1或2所述的协助处理动态带宽分配算法的硬件 装置,其特征在于,还包括与处理器总线模块相连的以太网控制器模 块,用于控制PowerPC CPU和片外以太网通讯。
5、 一种协助处理动态带宽分配算法的方法,其特征在于,包括 以下步骤a:构建嵌入式PowerPC CPU子系统,当PowerPC CPU子系统上 电启动之后,对PowerPC CPU子系统进行初始化;b: PowerPC CPU子系统和片外的主CPU进行主从通讯;c:协助硬件逻辑模块对光网络单元进行注册和激活,以及光网 络单元的测距;d:监控光终端侧硬件逻辑模块和光网络单元的工作状态,统计 告警和错误,及时的上报或者通过串口打印出来,同时协助光终端侧 硬件逻辑模块处理上/下行的物理层操作、维护、管理消息以及动态 带宽分配算法。
6、 如权利要求5所述的协助处理动态带宽分配算法的方法,其 特征在于,步骤b还包括PowerPC CPU子系统将当前的工作状态和 系统中光终端侧硬件逻辑模块和光网络单元的状况上报给主CPU。
全文摘要
本发明公开了一种协助处理动态带宽分配算法的硬件装置及方法,硬件装置包括硬件逻辑模块,寄存器接口控制模块、同步动态RAM控制器模块、FLASH控制器模块、中断处理器模块、通用异步收/发器控制器模块和依次相连的主从通讯模块、主从通讯接口模块、PowerPc CPU模块、处理器总线模块、处理器总线到片上外设总线桥模块、片上外设总线模块;PowerPc CPU模块用于处理和控制硬件逻辑模块采集的数据,通过主从通讯模块与硬件逻辑模块中的主CPU接口相连,完成内嵌CPU和主CPU间的通讯,并通过寄存器接口模块来控制和配置硬件逻辑模块中的寄存器以及动态带宽分配算法的上报和下配。本发明可灵活处理DBA核心算法,且节约了成本。
文档编号H04Q11/00GK101668233SQ20081014180
公开日2010年3月10日 申请日期2008年9月1日 优先权日2008年9月1日
发明者罗国强 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1