本发明属于cpu监控技术领域,具体涉及一种基于cpld的处理器心跳检测方法及装置。
背景技术:
oses,是mips处理器的简称。
在国产存储服务器行业应用中,cpu作为存储系统的运算和控制核心,是数据处理、程序运算的最终执行单元,国产cpu自产生以来,在逻辑结构、运行效率及功能上取得了巨大的成功。但是国产cpu也存在自身的设计缺陷,如内核运行不稳定、功耗不稳定以及其它不可预知的缺陷,在运行过程中经过会出现系统宕机或重启的情况。针对国产cpu出现的问题或无反应的情况需要对cpu进行单独的复位操作。
cpld为作为可编程逻辑器件,已经在多个领域广泛应用。cpld具有编程灵活、集成度高、设计开发周期短、适用范围宽、开发工具先进、设计制造成本低、对设计者的硬件经验要求低、保密性强、价格低等特点,可实现较大规模的电路设计,因此被广泛应用于产品的原型设计之中。
基于硬件的看门狗功能已经在cpu或其它方案上已经大量使用,但是当硬件出现问题无法实现对芯片实现整体复位。
此为现有技术的不足,因此,针对现有技术中的上述缺陷,提供一种基于cpld的oses心跳检测方法及装置,是非常有必要的。
技术实现要素:
针对现有技术的上述国产cpu需要单独进行复位操作,而现有硬件看门狗功能无法对芯片实现整体复位的缺陷,本发明提供一种基于cpld的处理器心跳检测方法及装置,以解决上述技术问题。
第一方面,本发明提供一种基于cpld的处理器心跳检测方法,包括如下步骤:
s1.设置oses处理器的末级电源信号与cpld复位信号共同控制oses处理器的复位;
s2.首次开机时,设置cpld复位信号无效,通过oses处理器的末级电源信号控制oses处理器解复位;
s3.设置oses处理器启动后,cpld监测oses处理器的心跳信号,并在oses处理器心跳信号异常且异常持续时间达到第一阈值时,输出cpld复位信号控制oses处理器复位,以及统计复位次数。
进一步地,步骤s1具体步骤如下:
s11.设置oses处理器的末级电源信号与cpld复位信号通过与门生成oses处理器复位信号;
s12.设置oses处理器复位信号控制oses处理器复位。
进一步地,步骤s3具体步骤如下:
s31.设置oses处理器启动后,cpld监测oses处理器的心跳信号,判断oses处理器的心跳信号频率是否异常;
若是,进入步骤s32;
若否,返回步骤s31;
s32.判断oses处理器的心跳信号异常持续时间段是否达到第一时间阈值;
若是,进入步骤s33;
若否,进入步骤s35;
s33.设置cpld复位信号持续预设时间段,oses处理器在预设时间段内进行复位;
s34.cpld统计oses处理器复位次数用于oses处理器性能分析,oses处理器重启,返回步骤s31;
s35.判断oses的心跳信号频率是否仍然异常;
若是,返回步骤s32;
若否,返回步骤s31。
进一步地,步骤s31及步骤s35中,cpld通过监测oses处理器的心跳信号是否持续为高电平超过设定时间段,或者持续为低电平超过设定时间段,判断oses处理器的心跳信号频率是否正常。
进一步地,步骤s31中,cpld使用设定频率的采样脉冲定时采样oses处理器的心跳信号。
进一步地,步骤s32中第一时间阈值取60s,设定频率取100ms,步骤s33中预设时间段取300us。
第二方面,本发明提供一种基于cpld的处理器心跳检测装置,包括:
复位设置模块,用于设置oses处理器的末级电源信号与cpld复位信号共同控制oses处理器的复位;
解复位模块,用于首次开机时,设置cpld复位信号无效,通过oses处理器的末级电源信号控制oses处理器解复位;
心跳检测及复位模块,用于设置oses处理器启动后,cpld监测oses处理器的心跳信号,并在oses处理器心跳信号异常且异常持续时间达到第一阈值时,输出cpld复位信号控制oses处理器复位,以及统计复位次数。
进一步地,复位设置模块包括:
oses处理器复位信号生成单元,用于设置oses处理器的末级电源信号与cpld复位信号通过与门生成oses处理器复位信号;
复位控制单元,用于设置oses处理器复位信号控制oses处理器复位。
进一步地,心跳检测及复位模块包括:
心跳监测单元,用于设置oses处理器启动后,cpld监测oses处理器的心跳信号,判断oses处理器的心跳信号频率是否异常;
异常持续时间判断单元,用于oses处理器心跳信号频率异常时,判断oses处理器的心跳信号异常持续时间段是否达到第一时间阈值;
oses复位单元,用于当心跳异常持续时间达到第一时间阈值时,设置cpld复位信号持续设定时间段,oses处理器在预设时间段内进行复位;
复位次数统计单元,用于设置cpld统计oses处理器复位次数用于oses处理器性能分析,oses处理器重启;
oses心跳异常再判断单元,用于当心跳异常持续时间未达到第一时间阈值时,判断oses处理器的心跳信号频率是否仍然异常。
进一步地,心跳监测单元中,cpld通过监测oses处理器的心跳信号是否持续为高电平超过设定时间段,或者持续为低电平超过设定时间段,判断oses处理器的心跳信号频率是否正常。
本发明的有益效果在于,
本发明提供的基于cpld的处理器心跳检测方法及装置,对国产cpu平台oses处理器心跳异常情况进行检测,并进行oses处理器复位,再通过统计复位次数对oses处理器心跳进行分析,对后期修复策略提供参考。
此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。
由此可见,本发明与现有技术相比,具有突出的实质性特点和显著的进步,其实施的有益效果也是显而易见的。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明的基于cpld的处理器心跳检测方法流程示意图一;
图2是本发明的基于cpld的处理器心跳检测方法流程示意图二;
图3为本发明的基于cpld的处理器心跳检测装置示意图;
图中,1-复位设置模块;1.1-心跳检测及复位模块;1.2-复位控制单元;2-解复位模块;3-心跳检测及复位模块;3.1-心跳监测单元;3.2-异常持续时间判断单元;3.3-oses复位单元;3.4-复位次数统计单元;3.5-oses心跳异常再判断单元。
具体实施方式
为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
实施例1:
如图1所示,本发明提供一种基于cpld的处理器心跳检测方法,包括如下步骤:
s1.设置oses处理器的末级电源信号与cpld复位信号共同控制oses处理器的复位;
s2.首次开机时,设置cpld复位信号无效,通过oses处理器的末级电源信号控制oses处理器解复位;
s3.设置oses处理器启动后,cpld监测oses处理器的心跳信号,并在oses处理器心跳信号异常且异常持续时间达到第一阈值时,输出cpld复位信号控制oses处理器复位,以及统计复位次数。
实施例2:
如图2所示,本发明提供一种基于cpld的处理器心跳检测方法,包括如下步骤:
s1.设置oses处理器的末级电源信号与cpld复位信号共同控制oses处理器的复位;具体步骤如下:
s11.设置oses处理器的末级电源信号与cpld复位信号通过与门生成oses处理器复位信号;
s12.设置oses处理器复位信号控制oses处理器复位;
s2.首次开机时,设置cpld复位信号无效,通过oses处理器的末级电源信号控制oses处理器解复位;
s3.设置oses处理器启动后,cpld监测oses处理器的心跳信号,并在oses处理器心跳信号异常且异常持续时间达到第一阈值时,输出cpld复位信号控制oses处理器复位,以及统计复位次数;具体步骤如下:
s31.设置oses处理器启动后,cpld监测oses处理器的心跳信号,判断oses处理器的心跳信号频率是否异常;
若是,进入步骤s32;
若否,返回步骤s31;
s32.判断oses处理器的心跳信号异常持续时间段是否达到第一时间阈值;
若是,进入步骤s33;
若否,进入步骤s35;
s33.设置cpld复位信号持续预设时间段,oses处理器在预设时间段内进行复位;
s34.cpld统计oses处理器复位次数用于oses处理器性能分析,oses处理器重启,返回步骤s31;
s35.判断oses处理器的心跳信号频率是否仍然异常;
若是,返回步骤s32;
若否,返回步骤s31。
在某些实施例中,步骤s31及步骤s35中,cpld通过监测oses处理器的心跳信号是否持续为高电平超过设定时间段,或者持续为低电平超过设定时间段,判断oses处理器的心跳信号频率是否正常;cpld使用设定频率的采样脉冲定时采样oses处理器的心跳信号;
步骤s32中第一时间阈值取60s,设定频率取100ms,步骤s33中预设时间段取300us。
实施例3:
本发明采用国产cpu系统,以飞腾ft2000 /64核armv8架构,支持arm64指令集为例,
oses处理器的复位设计为p0v925_exp_pg和rst_exp_n_cpld通过与门控制oses处理器复位。p0v925_exp_pg为oses处理器的末级电源,rst_exp_n_cpld为cpld给oses处理器的复位信号;
oses处理器的硬件管脚local_sxp_ready会以1s的周期定期输出0和1轮流交替的心跳信号,cpld使用采样脉冲为100ms的信号定期采样此信号;
第一次开机时,rst_exp_n_cpld信号为高电平,p0v925电正常后解复位完成,实现对oses的解复位;
oses处理器正常时,会输出1hz的心跳信号,cpld通过检测此1hz的心跳信号;
cpld连续检测到local_sxp_ready常为0或1时,认为oses处理器心跳异常;cpld检测到心跳异常后,会统计异常事件;
当cpld在60s内没有检测到心跳,会拉低rst_exp_n_cpld300us,则300us内会实现oses处理器的复位;
300us结束,cpld统计复位oses处理器复位次数,并作累加,oses重启;
cpld在60s内检测到local_sxp_ready心跳异常,会触发复位操作,oses处理器芯片会重启,重启后重复进行心跳的检测操作,同时cpld会对复位操作进行次数的累加操作,并放入cpld的寄存器,外部的cpu可以通过此寄存器读取复位次数。
实施例4:
如图3所示,本发明提供一种基于cpld的处理器心跳检测装置,包括:
复位设置模块1,用于设置oses处理器的末级电源信号与cpld复位信号共同控制oses的复位;复位设置模块1包括:
心跳检测及复位模块1.1,用于设置oses处理器的末级电源信号与cpld复位信号通过与门生成oses处理器复位信号;
复位控制单元1.2,用于设置oses处理器复位信号控制oses复位;
解复位模块2,用于首次开机时,设置cpld复位信号无效,通过oses处理器的末级电源信号控制oses处理器解复位;
心跳检测及复位模块3,用于设置oses处理器启动后,cpld监测oses处理器的心跳信号,并在oses处理器心跳信号异常且异常持续时间达到第一阈值时,输出cpld复位信号控制oses处理器复位,以及统计复位次数;心跳检测及复位模块3包括:
心跳监测单元3.1,用于设置oses处理器启动后,cpld监测oses处理器的心跳信号,判断oses处理器的心跳信号频率是否异常;cpld通过监测oses的处理器心跳信号是否持续为高电平超过预设时间段,或者持续为低电平超过预设时间段,判断oses处理器的心跳信号频率是否正常;
异常持续时间判断单元3.2,用于oses处理器心跳信号频率异常时,判断oses处理器的心跳信号异常持续时间段是否达到第一时间阈值;
oses复位单元3.3,用于当心跳异常持续时间达到第一时间阈值时,设置cpld复位信号持续预设时间段,oses处理器在预设时间段内进行复位;
复位次数统计单元3.4,用于设置cpld统计oses处理器复位次数,oses处理器重启;
oses心跳异常再判断单元3.5,用于当心跳异常持续时间未达到第一时间阈值时,判断oses处理器的心跳信号频率是否仍然异常。
尽管通过参考附图并结合优选实施例的方式对本发明进行了详细描述,但本发明并不限于此。在不脱离本发明的精神和实质的前提下,本领域普通技术人员可以对本发明的实施例进行各种等效的修改或替换,而这些修改或替换都应在本发明的涵盖范围内/任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
1.一种基于cpld的处理器心跳检测方法,其特征在于,包括如下步骤:
s1.设置oses处理器的末级电源信号与cpld复位信号共同控制oses处理器的复位;
s2.首次开机时,设置cpld复位信号无效,通过oses处理器的末级电源信号控制oses处理器解复位;
s3.设置oses处理器启动后,cpld监测oses处理器的心跳信号,并在oses处理器心跳信号异常且异常持续时间达到第一阈值时,输出cpld复位信号控制oses处理器复位,以及统计复位次数。
2.如权利要求1所述的基于cpld的处理器心跳检测方法,其特征在于,步骤s1具体步骤如下:
s11.设置oses处理器的末级电源信号与cpld复位信号通过与门生成oses处理器复位信号;
s12.设置oses处理器复位信号控制oses处理器复位。
3.如权利要求1所述的基于cpld的处理器心跳检测方法,其特征在于,步骤s3具体步骤如下:
s31.设置oses处理器启动后,cpld监测oses处理器的心跳信号,判断oses处理器心跳信号频率是否异常;
若是,进入步骤s32;
若否,返回步骤s31;
s32.判断oses处理器的心跳信号异常持续时间段是否达到第一时间阈值;
若是,进入步骤s33;
若否,进入步骤s35;
s33.设置cpld复位信号持续预设时间段,oses处理器在预设时间段内进行复位;
s34.cpld统计oses处理器复位次数用于oses处理器性能分析,oses处理器重启,返回步骤s31;
s35.判断oses处理器的心跳信号频率是否仍然异常;
若是,返回步骤s32;
若否,返回步骤s31。
4.如权利要求3所述的基于cpld的处理器心跳检测方法,其特征在于,步骤s31及步骤s35中,cpld通过监测oses处理器的心跳信号是否持续为高电平超过设定时间段,或者持续为低电平超过设定时间段,判断oses处理器的心跳信号频率是否正常。
5.如权利要求4所述的基于cpld的处理器心跳检测方法,其特征在于,步骤s31中,cpld使用设定频率的采样脉冲定时采样oses处理器的心跳信号。
6.如权利要求5所述的基于cpld的处理器心跳检测方法,其特征在于,步骤s32中第一时间阈值取60s,设定频率取100ms,步骤s33中预设时间段取300us。
7.一种基于cpld的处理器心跳检测装置,其特征在于,包括:
复位设置模块(1),用于设置oses处理器的末级电源信号与cpld复位信号共同控制oses的复位;
解复位模块(2),用于首次开机时,设置cpld复位信号无效,通过oses处理器的末级电源信号控制oses处理器解复位;
心跳检测及复位模块(3),用于设置oses处理器启动后,cpld监测oses处理器的心跳信号,并在oses处理器心跳信号异常且异常持续时间达到第一阈值时,输出cpld复位信号控制oses处理器复位,以及统计复位次数。
8.如权利要求7所述的基于cpld的处理器心跳检测装置,其特征在于,复位设置模块(1)包括:
心跳检测及复位模块(1.1),用于设置oses处理器的末级电源信号与cpld复位信号通过与门生成oses处理器复位信号;
复位控制单元(1.2),用于设置oses处理器复位信号控制oses处理器复位。
9.如权利要求7所述的基于cpld的处理器心跳检测装置,其特征在于,心跳检测及复位模块(3)包括:
心跳监测单元(3.1),用于设置oses处理器启动后,cpld监测oses处理器的心跳信号,判断oses处理器的心跳信号频率是否异常;
异常持续时间判断单元(3.2),用于oses处理器心跳信号频率异常时,判断oses处理器的心跳信号异常持续时间段是否达到第一时间阈值;
oses复位单元(3.3),用于当心跳异常持续时间达到第一时间阈值时,设置cpld复位信号持续预设时间段,oses处理器在预设时间段内进行复位;
复位次数统计单元(3.4),用于设置cpld统计oses处理器复位次数用于oses处理器性能分析,oses处理器重启;
oses心跳异常再判断单元(3.5),用于当心跳异常持续时间未达到第一时间阈值时,判断oses处理器的心跳信号频率是否仍然异常。
10.如权利要求9所述的基于cpld的处理器心跳检测装置,其特征在于,心跳监测单元(3.1)中,cpld通过监测oses处理器的心跳信号是否持续为高电平超过设定时间段,或者持续为低电平超过设定时间段,判断oses处理器的心跳信号频率是否正常。
技术总结