发明内容
本发明实施例提供一种对故障DSP芯片复位的方法及装置,以使系统主控处理器对故障DSP芯片进行复位时,不影响与故障DSP芯片处于同一块DSP板的非故障DSP芯片的正常工作,提高DSP资源的利用率。
本发明实施例提供的具体技术方案如下:
一种对故障数字信号处理DSP芯片复位的方法,包括:
系统主控处理器接收各DSP芯片上报的第一地址标识ID;
系统主控处理器检测到有DSP芯片发生故障时,基于各DSP芯片上报的第一地址ID,查找与故障DSP芯片处于同一块DSP板的非故障DSP芯片;
系统主控处理器通过与故障DSP芯片处于同一块DSP板的至少一个非故障DSP芯片将复位指示发送至所述DSP板内的复位逻辑模块,指示所述复位逻辑模块对该故障DSP芯片进行复位。
一种对故障数字信号处理DSP芯片复位的方法,包括:
DSP板向系统主控处理器上报本板各DSP芯片的第一地址标识ID;
DSP板内的DSP芯片发生故障时,所述DSP板内的由系统主控处理器查找到的至少一个非故障DSP芯片接收到系统主控处理器发送的复位指示后,将所述复位指示发往本DSP板内的复位逻辑模块,指示所述复位逻辑模块对该故障DSP芯片进行复位。
一种系统主控处理器,包括:
接收单元,用于接收各DSP芯片上报的第一地址标识ID;
检测单元,用于检测到有DSP芯片发生故障时,基于各DSP芯片上报的第一地址ID,查找与故障DSP芯片处于同一块DSP板的非故障DSP芯片;
复位单元,用于通过与故障DSP芯片处于同一块DSP板的至少一个非故障DSP芯片将复位指示发送至所述DSP板内的复位逻辑模块,指示所述复位逻辑模块对该故障DSP芯片进行复位。
一种数字信号处理DSP板,包括:
DSP地址分配器,用于为DSP板上的各DSP芯片分配第一地址标识ID;
DSP芯片,用于从所述DSP地址分配器获取本DSP芯片的第一地址ID,并将所述第一地址ID向系统主控处理器上报;
复位逻辑模块,用于当系统主控处理器检测到DSP板上有DSP芯片发生故障时,接收系统主控处理器通过与复位逻辑模块处于同一块DSP板的至少一个非故障DSP芯片发送的、用于指示通过非故障DSP芯片复位故障DSP芯片的复位指示,并根据所述复位指示对故障DSP芯片进行复位。
一种对故障数字信号处理DSP芯片复位的装置,包括:
至少一块DSP板,用于向本装置的系统主控处理器上报本板各DSP芯片的第一地址标识ID;
系统主控处理器,通过串行高速差分总线与所述至少一块DSP板进行连接,用于检测到有DSP芯片发生故障时,基于各DSP芯片上报的第一地址ID,通过与故障DSP芯片处于同一块DSP板的至少一个非故障DSP芯片将复位指示发送至所述DSP板内的复位逻辑模块,指示所述复位逻辑模块对该故障DSP芯片进行复位。
本发明实施例中,各DSP芯片都能自动获取本芯片的第一地址ID(Identity,标识),然后上报给系统主控处理器,当系统主控处理器监测到有DSP芯片发生故障时,在故障DSP芯片所在的DSP板无板内控制处理器,且系统主控处理器通过软件复位对故障DSP芯片进行复位失败的情况下,系统主控处理器基于各DSP芯片向系统主控处理器上报的第一地址ID,向与故障DSP芯片处于同一块DSP板的至少一块非故障DSP芯片发送复位故障DSP芯片的命令,通过非故障DSP芯片对故障DSP芯片进行复位。从而避免了在故障DSP芯片所在的DSP板无板内控制处理器,且系统主控处理器通过串行高速差分总线对发生故障的DSP芯片进行软件复位失败的情况下,因复位故障DSP芯片而对故障DSP芯片所在的DSP板进行整板复位,从而影响与故障DSP芯片处于同一块DSP板的非故障DSP芯片的工作,实现了提高DSP资源利用率的效果。
具体实施方式
为了对故障DSP芯片进行复位时,不影响与故障DSP芯片处于同一块DSP板的非故障DSP芯片的工作,提高DSP资源的利用率,本发明实施例中,各DSP芯片都能自动获取本芯片的第一地址ID(Identity,标识),然后上报给系统主控处理器,当系统主控处理器监测到有DSP芯片发生故障,在故障DSP芯片所在的DSP板无板内控制处理器,且通过软件复位对故障DSP芯片进行复位失败的情况下,系统主控处理器基于各DSP芯片向系统主控处理器上报的第一地址ID,向与故障DSP芯片处于同一块DSP板的至少一个非故障DSP芯片发送复位故障DSP芯片的命令,通过非故障DSP芯片对故障DSP芯片进行复位。从而避免了在故障DSP芯片所在的DSP板无板内控制处理器,且系统主控处理器通过串行高速差分总线对发生故障的DSP芯片进行软件复位失败的情况下,因复位故障DSP芯片而对故障DSP芯片所在的DSP板进行整板复位,从而影响与故障DSP芯片处于同一块DSP板的非故障DSP芯片的工作,实现了提高DSP资源利用率的效果,其中,串行高速差分总线可以为以太网方式,也可以为SRIO(Serial Rapid Input/Output,串行高速输入输出)方式或者PCIE(Peripheral Component Interconnect Express,外围组件互连规范)方式,在实际应用中,系统主控处理器一般通过以太网方式与DSP板连接,具体为,系统主控处理器通过两条通道与DSP板连接,上述两条通道从功能上可以区分为业务通道与管理通道,业务通道用来传输业务数据,管理通道用来传输管理数据。以下实施例中将以太网管理通道为例。
下面结合附图对本发明优选的实施方式进行详细说明。
参阅图3所示,本发明实施例中,系统主控处理器10包括接收单元101、检测单元102、复位单元103,其中,
接收单元101:用于接收各DSP芯片上报的第一地址ID;
检测单元102:用于检测到有DSP芯片发生故障时,基于各DSP芯片上报的第一地址ID,查找与故障DSP芯片处于同一块DSP板的非故障DSP芯片;
复位单元103:用于通过与故障DSP芯片处于同一块DSP板的至少一个非故障DSP芯片将复位指示发送至所述DSP板内的复位逻辑模块,令所述复位逻辑模块对该故障DSP芯片进行复位。
参阅图4所示,本发明实施例中,DSP板11包括DSP地址分配器111、DSP芯片112、复位逻辑模块113,其中,
DSP地址分配111,用于为DSP地址分配器所在的DSP板上的各DSP芯片分配第一地址ID,其中,所述第一地址ID至少包括各DSP芯片所在的DSP板的槽位ID与各DSP芯片的板内ID;
DSP芯片112,用于从所述DSP地址分配器获取本DSP芯片的第一地址ID,并将该第一地址ID向所述系统主控处理器上报,其中,非故障DSP芯片接收系统主控处理器发送的复位指示,并将所述复位指示发送至与该非故障DSP芯片处于同一块DSP板的复位逻辑模块;
复位逻辑模块113,用于当系统主控处理器检测到有DSP芯片发生故障时,接收系统主控处理器通过与复位逻辑模块处于同一块DSP板的至少一个非故障DSP芯片发送的复位指示,对故障DSP芯片进行复位。
基于上述技术方案,参阅图5所示,本发明实施例中,当故障DSP芯片所在的DSP板无板内控制处理器的情况下,系统主控处理器通过与故障DSP芯片处于同一块DSP板的至少一个非故障DSP芯片对故障DSP芯片进行复位的详细流程如下:
步骤500:各DSP芯片从DSP地址分配器中获取本芯片的第一地址ID。
当系统启动时,各DSP芯片从DSP地址分配器中获取本芯片的第一地址ID。第一地址ID至少由两部分组成,一部分是槽位ID,另一部分是板内ID。槽位ID是指DSP芯片所在的DSP板所在的槽位,DSP芯片可以根据DSP板槽位的ID设定引脚直接读取槽位ID。板内ID是指DSP芯片在DSP板上的位置,板内ID可以用电阻设置的高低电平表示,但不限于这种表示方式。DSP芯片可以通过本芯片的特定管脚从DSP地址分配器中获取本DSP芯片所在的DSP板的槽位ID及本DSP芯片所在DSP板的板内ID,然后组合成本芯片的第一地址ID,具体如图7所示,各DSP芯片的第一地址ID在DSP系统中是唯一的。各DSP芯片的第一地址ID,会根据DSP芯片的实际位置(所处的板卡及其所处的槽位)的改变而改变。
步骤510:各DSP芯片向系统主控处理器上报本芯片的第一地址ID。
系统主控处理器以以太网方式与DSP板进行连接。DSP系统启动后,各DSP芯片由以太网带内管理通道向系统主控处理器上报本芯片的第一地址ID。系统主控制处理器获取各DSP芯片的第一地址ID后,存储成一个DSP地址ID列表,并保存在储存器里面。系统主控处理器通过DSP地址ID列表可以迅速掌握DSP芯片的拓扑架构。当某一块DSP板断电时,DSP地址ID列表中断电的DSP板上的所有DSP芯片的地址信息将会被删除。
步骤520:系统主控处理器通过以太网带内管理通道检测各DSP芯片的工作状态,检测到有DSP芯片发生故障。
系统主控处理器可以通过心跳查询,访问等方式检测各DSP芯片的状态。
步骤530:系统主控处理器基于各DSP芯片上报的第一地址ID,查找与故障DSP芯片处于同一块DSP板的非故障DSP芯片。
系统主控处理器检测到有DSP芯片发生故障时,首先通过以太网带内管理通道对故障DSP芯片进行软件复位,当通过软件复位对故障DSP芯片复位失败时,系统主控处理器查找DSP地址ID列表,找出与故障DSP芯片处于同一块DSP板的非故障DSP芯片。
步骤540:系统主控处理器通过与故障DSP芯片处于同一块DSP板的至少一个非故障DSP芯片向复位逻辑模块发送复位指示,指示复位逻辑模块对故障DSP芯片进行复位。
每块DSP板上都设有一个复位逻辑模块,较佳的,当一块DSP板上的DSP芯片数量较多时,复位逻辑模块可以用CPLD(Complex Programmable LogicDevice,复杂可编程逻辑器件),当一块DSP板上的DSP芯片数量较少时,复位逻辑模块可以用译码器逻辑器件。
同一块DSP板上的DSP芯片通过若干个IO(Input/Output,输入输出)管脚作为复位控制管脚连接到复位逻辑模块的输入管脚,复位逻辑模块对各个DSP芯片都输出一个管脚,连接到各个DSP芯片的硬件复位管脚。
当系统主控处理器通过与故障DSP芯片处于同一块DSP板的非故障DSP芯片对故障DSP芯片进行复位时,系统主控处理器把故障DSP芯片的第二地址ID告诉与故障DSP芯片处于同一块DSP板的非故障DSP芯片,非故障DSP芯片通过复位控制管脚把故障DSP芯片的第二地址ID告诉复位逻辑模块,复位逻辑模块根据接收到的第二地址ID进行译码,决定对哪个DSP芯片进行复位,其中,复位逻辑模块接收到的第二地址ID可以为至少由槽位ID与板内ID组合而成的第一地址ID,也可以仅为板内ID。
DSP芯片的复位控制管脚通过复位逻辑模块与该DSP芯片处于同一块DSP板的至少一个DSP芯片的输出管脚相连,让处于同一块DSP板的DSP芯片都可以相互进行复位。因此,在同一块DSP板内,每个故障DSP芯片都可以被至少一个位于同一块DSP板的非故障DSP芯片所复位。
进一步的,如果系统主控处理器通过查找DSP地址ID列表,无检测到非故障DSP与故障DSP处于同一块DSP板内时,则系统主控处理器将故障DSP芯片所在的DSP板进行整板复位。
系统主控处理器通过与故障DSP芯片处于同一块DSP板的至少一个非故障DSP芯片对故障DSP芯片进行复位的方式有多种。
例如,系统主控处理器通过一个与故障DSP芯片处于同一块DSP板的非故障DSP芯片对故障DSP芯片进行复位。
例如,系统主控处理器通过多个与故障DSP芯片处于同一块DSP板的非故障DSP芯片依次对故障DSP芯片进行复位。
又例如,系统主控处理器通过多个与故障DSP芯片处于同一块DSP板的非故障DSP芯片同时对故障DSP芯片进行复位。
进一步的,如果一块DSP板上的所有DSP芯片都发生故障,则系统主控处理器要对该DSP板进行整板复位。
进一步的,如果通过与故障DSP芯片处于同一块DSP板的至少一个非故障DSP芯片对故障DSP芯片复位后,故障DSP芯片仍然不能正常工作时,系统主控处理器将故障DSP芯片所在的DSP板进行整板复位。
为了避免故障DSP芯片对与故障DSP芯片处于同一块DSP板的非故障DSP芯片进行复位的这种误操作情况的发生,可以在复位逻辑模块上,做一定的约束,例如,采取当与故障DSP芯片处于同一块DSP板的至少两个非故障DSP芯片对故障DSP芯片进行复位时,该复位才有效。
基于上述实施例,下面以对图6中的DSP板1B的故障DSP3芯片进行复位对上述实施例作进一步介绍。
当系统启动时,各DSP芯片从DSP地址分配器中获取本芯片的第一地址ID。系统主控处理器以以太网方式与DSP板进行连接,系统启动后,各DSP芯片通过以太网带内管理通道向系统主控处理器上报本芯片的第一地址ID,系统主控处理器获取各DSP芯片的第一地址ID后,存储成一个DSP地址ID列表。系统主控处理器通过以太网带内管理通道以心跳查询,访问等方式检测各DSP芯片的状态,检测到DSP板1B的DSP3芯片发生故障。
系统主控处理器检测到DSP板1B的DSP3芯片发生故障后,首先通过以太网带内管理通道1A对故障DSP3芯片进行软件复位,当通过软件复位对故障DSP3芯片复位失败时,系统主控处理器查找DSP地址ID列表,查找到正在运行的DSP1芯片与故障DSP3芯片处于同一块DSP板1B,则系统主控处理器通过以太网带内管理通道1A,向非故障DSP1芯片发送复位故障DSP3芯片的命令。非故障DSP1芯片接收到系统主控处理器发送的复位故障DSP3芯片的命令后,通过复位控制线1S,向复位逻辑模块发送故障DSP3芯片的第二地址ID,其中,复位逻辑模块接收到的第二地址ID可以为,至少由故障DSP3芯片所在的DSP板1B所在的槽位ID与故障DSP3芯片处于DSP板1B的板内ID组合而成的第一地址ID,也可以仅为故障DSP3芯片处于DSP板1B的板内ID。复位逻辑模块接收到故障DSP3芯片的第二地址ID后进行译码,然后通过复位控制线3R对故障DSP3芯片进行复位。
系统主控处理器通过与故障DSP3芯片处于同一块DSP板1B的至少一个非故障DSP芯片对故障DSP3芯片进行复位的方式有多种。
例如,系统主控处理器通过一个与故障DSP3芯片处于同一块DSP板1B的非故障DSP芯片对故障DSP3芯片进行复位。
例如,系统主控处理器通过多个与故障DSP3芯片处于同一块DSP板1B的非故障DSP芯片依次对故障DSP3芯片进行复位。
又例如,系统主控处理器通过多个与故障DSP3芯片处于同一块DSP板1B的非故障DSP芯片同时对故障DSP3芯片进行复位。
进一步的,如果系统主控处理器通过查找DSP地址ID列表,无检测到非故障DSP与故障DSP3处于同一块DSP板1B内时,则系统主控处理器将故障DSP3芯片所在的DSP板1B进行整板复位。
进一步的,如果整块DSP板1B上的所有DSP芯片都发生故障,则系统主控处理器要把整块DSP板1B进行整板复位。
进一步的,如果通过与故障DSP3芯片处于同一块DSP板1B的非故障DSP1芯片对故障DSP3芯片进行复位后,故障DSP3芯片仍不能正常工作时,系统主控处理器把故障DSP3芯片所在的DSP板1B上进行整板复位。
综上所述,本发明实施例中,各DSP芯片都能自动获取本芯片的第一地址ID(Identity,标识),然后上报给系统主控处理器,当系统主控处理器发现有DSP芯片发生故障,通过软件复位对故障DSP芯片进行复位失败,且在故障DSP芯片所在的DSP板无板内控制处理器的情况下,系统主控处理器基于各DSP芯片向系统主控处理器上报的第一地址ID,向与故障DSP芯片处于同一块DSP板的至少一个非故障DSP芯片发送复位故障DSP芯片的命令,通过非故障DSP芯片对故障DSP芯片进行复位。从而避免了因复位故障DSP芯片而对故障DSP芯片所在的DSP板进行整板复位,从而影响与故障DSP芯片处于同一块DSP板的非故障DSP芯片的工作,实现了提高DSP资源利用率的效果。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。