一种硬件状态的监测方法和系统的制作方法

文档序号:6369994阅读:183来源:国知局
专利名称:一种硬件状态的监测方法和系统的制作方法
技术领域
本发明涉及计算机系统硬件监测领域,尤其是涉及ー种硬件状态的监测方法和系统。
背景技术
在ー些需要长期开机运行的计算机系统领域中,如网络安全防火墙、UTM、网络服务器等,系统设备的硬件除人为操作不当、雷击等因素外,其长期处于的高温、湿热的环境以及设备器件本身的老化会造成设备硬件的工作情况发生异常甚至出现突然宕机的情況,由此可见系统设备的硬件稳定性至关重要。因此如何监测设备的硬件状态,使得管理员能够直观快捷的了解设备的硬件状态并在硬件状态出现异常时采取适应的保护动作就显得尤为重要。 目前某些计算机系统存在监测设备硬件健康状态的功能,但其需要额外的系统硬件监控芯片及配套器件、Super I/O芯片,输出指示系统等,并且这些计算机系统执行的是能够对底层硬件I/O接ロ进行直接控制的BIOS代码。随着产品小型化、低功耗、低成本以及功能可移植性日趋严格的需求,上述方法所用到的系统硬件监控芯片不仅造成严重占据印制电路板(PCB)上原本紧张的空间、不利于布线、増加故障点的结果,而且由于额外芯片及器件的引入对成本也有着较大的増加。并且BIOS代码会因主板架构不同而有严格的区分,因此使用BIOS代码较不利于在其它系统的移植。

发明内容
有鉴于此,本发明的主要目的是提供ー种硬件状态的监测方法和系统,使其能够实现不需要额外的系统监控芯片就能实现对设备硬件状态的监測。为实现上述目的,本发明提供如下技术方案本发明提供了ー种硬件状态的监测方法,所述方法包括Super I/O芯片监测是否收到CPU发出的监测触发指令,如果是,则,根据所述触发指令,确定特定监测设备,并向所述特定监测设备发出监测数据获取请求。Super I/O芯片获取所述监测数据并将其输出至数据处理単元。所述数据处理单元根据Super I/O芯片输出的所述监测数据判断硬件状态是否正常。优选地,所述特定监测设备为热敏电阻,则所述监测数据为所述热敏电阻的电阻值;所述数据处理单元根据Super I/O芯片输出的所述监测数据判断硬件状态是否正常包括所述数据处理单元根据Super I/O芯片输出的所述热敏电阻的电阻值计算系统温度,根据所述系统温度判断硬件状态是否正常。优选地,所述特定监测设备为存储了监测数据的存储器,所述监测数据为CPU温度、CPU风扇转速或系统风扇转速。
优选地,Super I/O芯片获取所述监测数据之后进ー步包括=Super I/O芯片输出获取的监测数据给显示单元,所述显示单元显示所述监测数据。优选地,CPU发出的监测触发指令包括CPU读取CF卡中的程序代码后发出的监测触发指令。优选地,所述程序代码为C语言编写的代码。优选地,该方法进ー步包括,如果硬件状态异常,进行报警。优选地,所述监测触发指令根据用户输入进行设定。优选地,所述数据处理单元为所述CPU。
本发明还提供了 ー种硬件状态的监测系统,所述系统包括电源(301)、CPU (302)、Super I/O芯片(303)、特定监测设备(304)和数据处理单元(305)。所述电源用于给CPU、Super I/O芯片、特定监测设备供电。所述CPU用于向所述Super I/O芯片发送监测触发指令。所述Super I/O芯片用于监测是否收到CPU发出的监测触发指令,如果是,则根据所述触发指令,确定特定监测设备,并向所述特定监测设备发出监测数据获取请求,输出获得的监测数据给所述数据处理单元;所述特定监测设备用于接收到所述Super I/O芯片发出的监测数据获取请求吋,向Superl/O芯片发送监测数据;所述数据处理单元用于获取Super I/O芯片输出的监测数据,根据所述监测数据判断硬件状态是否正常。优选地,所述特定监测设备为热敏电阻,则所述监测数据为所述热敏电阻的电阻值;所述数据处理单元用于根据所述监测数据判断硬件状态是否正常包括所述数据处理单元用于根据所述热敏电阻的电阻值计算出系统温度,根据所述系统温度判断硬件状态是否正常。优选地,所述特定监测设备为存储了监测数据的存储器,所述监测数据为CPU温度、CPU风扇转速或系统风扇转速。优选地,所述系统进ー步包括显示单元,所述Super I/O芯片进一歩用于输出所述监测数据给显示単元,所述显示単元用于显示所述监测数据。优选地,所述数据处理单元进ー步用于将判断得到的硬件状态输出给所述SuperI/O芯片,并控制Super I/O芯片通过GPIO ロ输出所述硬件状态。优选地,Super I/O芯片通过GPIO ロ输出所述硬件状态包括所述芯片Super I/O,当硬件状态正常时,通过GPIO ロ输出高电平,当硬件状态异常时,通过所述GPIO ロ输出低电平;所述系统进ー步包括第一和第二三极管(501、502)、双色LED灯(503)和第一、第ニ、第三以及第四电阻(504、505、506、507);第一电阻(504)的一端与Super I/O芯片的所述GPIO ロ相连,另一端与第一三极管(501)的基极相连,第一三极管(501)的集电极与双色LED灯(503)的一端、第三电阻(506)的一端以及第二电阻(505)的一端相连,发射极与地电压相连;第二三极管(502)的基极与第二电阻(505)的另一端相连,其发射极与地电压相连,集电极与所述双色LED灯(503)的另一端以及第四电阻(507)的一端相连,第三电阻(506)的另一端和第四电阻(507)的另一端与电源电压相连。优选地,所述系统进ー步包括报警单元,所述报警単元用于Super I/O芯片通过GPIO ロ输出的硬件状态异常时进行报警。优选地,所述数据处理单元为所述CPU。由技术方案可知,本发明采用了绝大多数的网络设备都具有的Superl/Ο芯片来实现了对网络设备硬件健康状态的监测,不再需要额外提供系统监控芯片,因此减少了器件的数量,在有利于降低系统的故障点以及有利于PCB板的布线的同时,也降低了整个系统的功耗。


图I为实现本发明的具体实施例的流程示意图;图2为Super I/O芯片W83627DHG-P的芯片管脚图;
图3为实现本发明的系统示意图;图4为实现本发明的具体实施例的系统示意图;图5为LED电路的结构示意图。
具体实施例方式CPU是所有硬件系统的运算核心和控制核心。Super I/O芯片是连接软件程序与硬件设备的一座"桥梁",负责解决硬件的即时要求,是X86系统必有的芯片之一。General Purpose Input Output (通用输入/输出)简称为GPIO接ロ,利用エ业标准I2C、SMBus或SPI接ロ简化了 I/O ロ的扩展,Super I/O芯片作为负责直接与底层硬件“打交道”的芯片,常集成此类接ロ用于ー些I/O控制。系统设备的硬件除人为操作不当、雷击等因素外,其设备长期所处的高温、湿热等环境以及设备器件自身的老化是造成网络设备工作异常或突然宕机不可避免的因素。而设备的系统温度、CPU温度以及系统风扇、CPU风扇的工作转速都是直接影响设备健康状态的关键因素。在绝大部分的设备中,都有Super I/O芯片或诸如此类的软硬件连接芯片,如W83627DH等,并且都具有监测系统温度、CPU温度、系统风扇转速和CPU风扇转速的功能。因此只需要简单灵活的C代码,通过Super I/O芯片必有的GPIO接ロ连接到输出指示系统即可达到将上述监测值直观的显现出来的功效。本发明提供的ー种硬件状态的监测方法是Super I/O芯片监测是否收到CPU发出的监测触发指令,如果是,则根据触发指令,确定特定监测设备,并向所述特定监测设备发出监测数据获取请求;Super I/O芯片获取所述监测数据并将其输出至数据处理単元;所述数据处理单元根据Super I/O芯片输出的所述监测数据判断硬件状态是否正常。其中监测数据为系统温度、CPU温度、系统风扇转速以及CPU风扇转速中的至少ー种。在进行系统温度监控的过程中,特定监测设备可以采用热敏电阻,当然,也可以采用其它类似温度传感器来实现,并不影响本发明的实现。在进行CPU温度、系统风扇转速或CPU风扇转速监控的过程中,对应的特定监测设备为已经存储了上述对应的监测数据的存储器。这里存储器存储的监测数据可以为CPU已经通过热敏ニ极管、系统风扇或CPU风扇测得并处理得到的数据,CPU将处理后的数据存储在该存储器指定的位置中。循环执行本发明提供的方法能够实现对设备的硬件状态实时的监测。如果执行监测过程中出现错误,结束监测流程,并且重新启动监测流程,也可以不重启监测流程,而是发出报警,等待人工重启。 该方法还可以包括根据用户输入设定需要监测的数据。该方法还可以包括将Super I/O芯片获取的监测数据输出到显示单元进行显示。下面介绍ー种实现本发明方法的具体实施例,在该实施例中监测的数据包括系统 温度、CPU温度、系统风扇转速以及CPU风扇转速,在本发明的其他实施例中,可以对系统温度、CPU温度、系统风扇转速以及CPU风扇转速的任意一项或多项数据进行监測。该具体实施例的具体步骤如下步骤101 =CPU向Super I/O芯片发送监测触发指令,该指令中设定了需要监测的监测数据。这里设定监测触发指令需要监测的数据包括系统温度、C 温度、系统风扇转速以及CPU风扇转速。这里CPU可以是通过加载紧凑型闪存(CF)卡中的程序代码,而实现向Super I/O发送监测触发指令。这里的程序代码是由可移植性高的C语言编写的,用C语言主要是为了避免因Super I/O芯片型号不同而导致的程序代码不同的影响,方便了其他系统对本发明方法中使用的程序代码进行移植。步骤102 =Super I/O芯片接收到CPU发送的监测触发指令,根据该指令判断出需要监测的监测数据包括系统温度、CPU温度、系统风扇转速以及CPU风扇转速,由此确定出需要监测的设备包括热敏电阻和存储了 C I3U温度、系统风扇转速以及CPU风扇转速的存储器。Super I/O芯片读取热敏电阻的阻值,并读取存储器中指定位置存储的CPU温度、系统风扇转速以及CPU风扇转速,并将以上所有数据发送给所述CPU。如果通过监测触发指令判断出需要监测的数据只包括系统温度,则Super I/O芯片在这里只执行读取热敏电阻的阻值,并将该阻值发送给CPU。如果需要监测的数据为CPU温度、系统风扇转速或者CPU风扇转速,则Super I/O芯片在这里只执行读取存储器中指定位置存储的CPU温度、系统风扇转速或CPU风扇转速,并将读取到的数据发送给CPU。Super I/O 芯片这里使用 W83627DHG-P。请參阅图2,W83627DHG-P 芯片的 102 管脚 AUXTIN、103 管脚 CPUTIN、104 管脚SYSTINU11管脚AUXFANIN0、112管脚CPUFANINO、113管脚SYSFANIN管脚分别连接到对应的热敏电阻、CPU温度侦测管脚以及相应的CPU、系统风扇侦测管脚。步骤103 =CPU根据热敏电阻阻值计算出系统温度,并且根据系统温度以及获取的(PU温度、系统风扇转速以及CPU风扇转速的值判断硬件状态是否正常。这里可以设定ー个合理的温度、风扇转速的范围,如果监测数据没有超出这个范围,则判定硬件状态正常,通过Super I/O芯片的GPIO ロ输出I,并执行步骤104,如果监测数据超出范围,则判定硬件状态异常,通过Superl/O芯片的GPIO ロ输出O,并执行步骤105。步骤104 :此时Super I/O芯片GPIO ロ输出为1,硬件状态正常,输出端的绿色的LED灯点亮。也可以用其他输出方式显示硬件状态为正常。步骤105 :此时Super I/O芯片GPIO ロ输出为O,硬件状态异常,输出端的红色LED灯点亮,并触发蜂鸣器报警。这里也可以是红色和緑色的LED灯交替闪烁作为报警信息。请參阅图3,本发明还提供了一种硬件状态的监测系统,该系统包括电源301、CPU302、Super I/O芯片303、特定监测设备304、数据处理单元305。所述电源用于给CPU、Super I/O芯片和特定监测设备供电;所述CPU用于向所述Super I/O芯片发送监测触发指令;所述Super I/O芯片用于监测是否收到CPU发出的监测触发指令,如果是,则根据所述触发指令,确定特定监测设备,并向所述特定监测设备发出监测数据获取请求,输出获得的监测数据给所述数据处理单元;所述特定监测设备用于接收到所述Super I/O芯片发出的监测数据获取请求时,向Super I/O芯片发送监测数据;所述数据处理单元用于获取Super I/O芯片输出的监测数据,根据所述监测数据判断硬件状态是否正常。这里需要监控的监测数据为系统温度时,特定监测设备可以采用热敏电阻,当然, 也可以采用其它类似温度传感器来实现,并不影响本发明的实现。需要监控的监测数据为CPU温度、系统风扇转速或者CPU风扇转速时,特定监测设备为已经存储了上述对应的监测数据的存储器。这里存储器存储的监测数据可以为CPU已经通过热敏ニ极管、系统风扇或CPU风扇测得并处理得到的数据,CPU将处理后的数据存储在该存储器指定的位置中。这里数据处理単元可以为CPU,也可以为其他监测硬件。所述系统可以进一歩包括显示单元,所述Super I/O芯片进一歩用于将所述监测数据输出给显示単元,所述显示単元用于显示所述监测数据。所述数据处理单元可以进ー步用将判断得到的硬件状态输出给所述Super I/O芯片,并控制Super I/O芯片通过GPIO ロ输出所述硬件状态。此时可以进一歩包括报警单元,所述报警単元用于Super I/O芯片通过GPIO ロ输出的硬件状态异常时进行报警。报警单元可以为蜂鸣器或任何带有警示作用的器件。图4为本发明提供的一种硬件状态监测系统的具体实施例。在该实施例中,需要监测的监测数据为系统温度、CPU温度、系统风扇转速以及CPU风扇转速。对应的监测设备包括热敏电阻和存储了 CPU温度、系统风扇转速以及CPU风扇转速的存储器。数据处理单元为CPU。该实施例的系统中包括电源401、CPU402、Super I/O芯片403、热敏电阻404、存储器405、LED电路406以及蜂鸣器407。所述电源用于给CPU、Super I/O芯片、热敏电阻、存储器、LED电路以及蜂鸣器供电。所述CPU用于向所述Super I/O芯片发送监测触发指令,该指令中设定了需要监测的监测数据。这里CPU可以是通过加载紧凑型闪存(CF)卡中的程序代码,而实现向SuperI/O发送监测触发指令。这里需要监测的监测数据包括系统温度、CPU温度、系统风扇转速以及CPU风扇转速。根据Super I/O芯片发送过来的热敏电阻的电阻值计算出系统温度,并且根据系统温度以及从所述存储器中获取的CPU温度、系统风扇转速以及CPU风扇转速的值判断硬件状态是否正常,将硬件状态判断结果发送给Super I/O芯片。所述Super I/O芯片用于监测是否收到CPU发出的监测触发指令,如果是,则根据触发指令设备,确定特定监测设备为热敏电阻和存储器,向热敏电阻和存储器发送监测数据获取请求,输出获得的热敏电阻阻值、CPU温度、系统风扇转速以及CPU风扇转速给所述CPU,接收到CPU发送的硬件状态判断结果,如果硬件状态正常,通过GPIO ロ输出1,如果硬件状态异常,通过所述GPIO ロ输出O。Super I/O 芯片这里使用 W83627DHG-P。请參阅图2,W83627DHG-P 芯片的 102 管脚 AUXTIN, 103 管脚 CPUTIN, 104 管脚SYSTINU11管脚AUXFANIN0、112管脚CPUFANINO、113管脚SYSFANIN管脚分别连接到对应的热敏电阻、CPU温度侦测管脚以及相应的CPU、系统风扇侦测管脚。所述热敏电阻用于向Super I/O芯片提供热敏电阻阻值。所述存储器存储CPU通过测量和计算得出的CPU温度、系统风扇转速以及CPU风扇转速。请參阅图5,所述LED电路具体包括三极管501、三极管502、双色LED灯503、电 阻504、电阻505、电阻506以及电阻507。其中电阻504的一端与Super I/O芯片的所述GPIO ロ相连,另一端与三极管501的基极相连,三极管501的集电极与双色LED灯503的一端、电阻506的一端以及电阻505的一端相连,发射极与地电压相连;三极管502的基极与电阻505的另一端相连,其发射极与地电压相连,集电极与所述双色LED灯503的另一端以及电阻507的一端相连,电阻506的另一端和电阻507的另一端与电源电压相连。双色LED灯(503)由红色和绿色的LED灯构成。Super I/O芯片GPIO ロ直接引出TTL信号,Super I/O芯片输出为I时,即硬件状态正常时,三极管(501)导通,三极管(502)截止,双色LED灯(503)的电压加载方向为C到A,因此双色LED灯中的红色LED灯闪烁。Super I/O芯片输出为O时,即硬件状态异常时,三极管(501)截止,三极管(502)导通,双色LED灯(503)的电压加载方向为A到C,因此双色LED灯中的绿色LED灯闪烁。所述蜂鸣器用于当Super I/O芯片输出为O时长鸣报警,此时硬件状态异常。以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
权利要求
1.ー种硬件状态的监测方法,其特征在于,所述方法包括 Super I/O芯片监测是否收到CPU发出的监测触发指令,如果是,则,根据所述触发指令,确定特定监测设备,并向所述特定监测设备发出监测数据获取请求; Super I/O芯片获取所述监测数据并将其输出至数据处理単元; 所述数据处理单元根据Super I/O芯片输出的所述监测数据判断硬件状态是否正常。
2.根据权利要求I所述的方法,其特征在于,所述特定监测设备为热敏电阻,则所述监测数据为所述热敏电阻的电阻值; 所述数据处理单元根据Super I/O芯片输出的所述监测数据判断硬件状态是否正常包括所述数据处理单元根据Super I/O芯片输出的所述热敏电阻的电阻值计算系统温度,根据所述系统温度判断硬件状态是否正常。
3.根据权利要求I所述的方法,其特征在于,所述特定监测设备为存储了监测数据的存储器,所述监测数据为CPU温度、CPU风扇转速或系统风扇转速。
4.根据权利要求I所述的方法,其特征在干,SuperI/O芯片获取所述监测数据之后进ー步包括Super I/O芯片输出获取的监测数据给显示单元,所述显示单元显示所述监测数据。
5.根据权利要求I所述的方法,其特征在干,CPU发出的监测触发指令包括CPU读取CF卡中的程序代码后发出的监测触发指令。
6.根据权利要求5所述的方法,其特征在于,所述程序代码为C语言编写的代码。
7.根据权利要求I所述的方法,其特征在于,该方法进ー步包括,如果硬件状态异常,进行报警。
8.根据权利要求I所述的方法,其特征在于,所述监测触发指令根据用户输入进行设定。
9.根据权利要求I至8任意一项所述的方法,其特征在于,所述数据处理单元为所述CPU。
10.一种硬件状态的监测系统,其特征在于,所述系统包括电源(301)、CPU (302)、Super I/O芯片(303)、特定监测设备(304)和数据处理单元(305); 所述电源用于给CPU、Super I/O芯片、特定监测设备供电; 所述CPU用于向所述Super I/O芯片发送监测触发指令; 所述Super I/O芯片用于监测是否收到CPU发出的监测触发指令,如果是,则根据所述触发指令,确定特定监测设备,并向所述特定监测设备发出监测数据获取请求,输出获得的监测数据给所述数据处理单元;所述特定监测设备用于接收到所述Super I/O芯片发出的监测数据获取请求吋,向Superl/O芯片发送监测数据;所述数据处理单元用于获取SuperI/O芯片输出的监测数据,根据所述监测数据判断硬件状态是否正常。
11.根据权利要求10所述的系统,其特征在于,所述特定监测设备为热敏电阻,则所述监测数据为所述热敏电阻的电阻值; 所述数据处理单元用于根据所述监测数据判断硬件状态是否正常包括所述数据处理単元用于根据所述热敏电阻的电阻值计算出系统温度,根据所述系统温度判断硬件状态是否正常。
12.根据权利要求10所述的系统,其特征在于,所述特定监测设备为存储了监测数据的存储器,所述监测数据为CPU温度、CPU风扇转速或系统风扇转速。
13.根据权利要求10所述的系统,其特征在于,所述系统进ー步包括显示单元,所述Super I/O芯片进一歩用于输出所述监测数据给显示単元,所述显示単元用于显示所述监测数据。
14.根据权利要求10所述的系统,其特征在于,所述数据处理单元进ー步用于将判断得到的硬件状态输出给所述Super I/O芯片,并控制Super I/O芯片通过GPIO ロ输出所述硬件状态。
15.根据权利要求14所述的系统,其特征在于,SuperI/O芯片通过GPIO ロ输出所述硬件状态包括所述芯片Super 1/0,当硬件状态正常时,通过GPIO ロ输出高电平,当硬件状态异常时,通过所述GPIO ロ输出低电平;所述系统进ー步包括第一和第二三极管(501、502)、双色L ED灯(503)和第一、第二、第三以及第四电阻(504、505、506、507); 第一电阻(504)的一端与Super I/O芯片的所述GPIO ロ相连,另一端与第一三极管(501)的基极相连,第一三极管(501)的集电极与双色LED灯(503)的一端、第三电阻(506)的一端以及第二电阻(505)的一端相连,发射极与地电压相连;第二三极管(502)的基极与第二电阻(505)的另一端相连,其发射极与地电压相连,集电极与所述双色LED灯(503)的另一端以及第四电阻(507)的一端相连,第三电阻(506)的另一端和第四电阻(507)的另一端与电源电压相连。
16.根据权利要求14所述的系统,其特征在于,所述系统进ー步包括报警单元,所述报警单元用于Super I/O芯片通过GPIO ロ输出的硬件状态异常时进行报警。
17.根据权利要求10至16任意一项所述的系统,其特征在于,所述数据处理单元为所述 CPU。
全文摘要
本发明提供了一种硬件状态的监测方法,具体过程为Super I/O芯片监测是否收到CPU发出的监测触发指令,如果是,则,根据触发指令,确定特定监测设备,并向特定监测设备发出监测数据获取请求;Super I/O芯片获取监测数据并将其输出至数据处理单元;所述数据处理单元根据Super I/O芯片输出的所述监测数据判断硬件状态是否正常。本发明采用了绝大多数的网络设备都具有的Super I/O芯片来实现了对网络设备硬件健康状态的监测,不再需要额外提供系统监控芯片,因此减少了器件的数量,在有利于降低系统的故障点以及有利于PCB板的布线的同时,也降低了整个系统的功耗。本发明还提供了一种硬件状态的监测系统。
文档编号G06F11/32GK102693180SQ20121015807
公开日2012年9月26日 申请日期2012年5月21日 优先权日2012年5月21日
发明者吴伟 申请人:北京网御星云信息技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1