获取计算机硬件信息的装置和方法

文档序号:6586181阅读:216来源:国知局
专利名称:获取计算机硬件信息的装置和方法
技术领域
本发明涉及计算机设备领域,特别是涉及一种获取计算机硬件信息的装置及其实现方法。
另外,计算机日益作为企业的基本生产工具而存在,这样企业对计算机的可管理性也提出了更高的需求。在企业资产管理中,要求随时可以获得计算机设备的硬件配置信息。在大型企业中,可能拥有上千甚至上万台计算机设备,并且数目将越来越大,构成将越来越复杂,这些硬件设备的管理也就越来越困难。管理者要对这些机器进行管理、统计和部署时,必须先了解设备的配置情况和运行状态,需要进行普查的工作量将十分巨大。而且由于不是所有的计算机都处于开机状态,进行这种普查和管理就更加困难。
上述应用,要求计算机具有能够保存本机硬件信息的功能,并且要求能够在计算机处于任何状态下(只要插上电源)都可以通过本地或远程计算机,或是通过硬件的或者软件的方法方便地读出这些硬件信息。
目前,已经存在多种计算机硬件信息的获取方式,其中最常见的做法是通过操作系统读取计算机的硬件配置信息。
由于当前各主要主板厂商出品的主板都支持SMBIOS规范,因此这些主板在上电自检(POST)过程中均需要读取该计算机所有的硬件配置信息,并保存在内存中。并且主板上均集成了硬件监控芯片(Hardware MonitorIC),通过自身的SMBus接口与主板上的SMBus总线连接。主板上的硬件监控芯片实时地将主板上各硬件的传感器信息、计算机运行状态信息等计算机状况方面的信息保存在其多个寄存器中。但是,以上这些信息不能被直接读出。要读出这些硬件配置信息,最常见的方法就是在计算机启动并加载操作系统后,由相关的工具软件通过操作系统上运行的驱动程序提供的接口进行读取。这种方式的系统架构如

图1所示工具软件需要通过驱动程序、操作系统和基本输入输出系统(BIOS)三个层次才能读取到硬件信息。
因此这种方式具有很大的局限性,主要表现为如下几项1、实现起来难度较大,成本很高。因为目前有多种主流操作系统,厂商为了保证在这些操作系统下都可以获得硬件配置信息,需要为这些操作系统分别编制驱动程序和应用软件,工作量很大。
2、占用大量CPU资源,影响整机运行的速度和稳定性。这是由于工作在操作系统层次上的驱动程序和应用软件必须永久驻留内存并需始终运行。并且这种方法多缺乏动态的计算机状况信息,即使有,也大多不完备。
3、在操作系统没有运行或挂起的情况下,所有的驱动程序和软件都无法正常工作,我们就无法获得任何正确的硬件配置信息。
4、当计算机关机之后,这些信息就无法读取,从而不能保证随时可以获得计算机的硬件配置信息。

发明内容
有鉴于此,本发明的目的是提供一种获取计算机硬件信息的装置。该装置实现简单,可独立于计算机的操作系统,且通过该装置在不占用CPU及内存资源,不影响计算机的运行和稳定性的情况下,可随时获取包括硬件配置及计算机状况在内的计算机硬件信息。
本发明的进一步目的是提供一种获取计算机硬件信息的方法。无论计算机处于任何状态下,都可以随时准确地获取计算机的硬件信息。
本发明的一种获取计算机硬件信息的装置,应用于带有系统管理总线(SMBus,System Management Bus)的计算机设备,该装置至少包括非易失存储器(NVRAM)、微控制器、用于连接外部访问设备的输出控制接口以及电源;非易失存储器和微控制器分别与计算机设备的系统管理总线连接,输出控制接口与微控制器连接。
该装置所述的非易失存储器为可擦写可编程只读存储器。
该装置所述的非易失存储器也可为闪存。
该装置进一步包括存储控制程序的只读存储器和存储数据的随机存储器,只读存储器和随机存储器分别与微控制器连接。
该装置所述的微控制器为内部集成了程序存储器和数据存储器的微控制器。
该装置所述的电源为计算机上的ATX电源系统的后备电源(Standby电源)。
该装置所述的电源也可为独立于计算机电源的外接电源。
该装置所述的非易失存储器和微控制器均集成在计算机主板上。
该装置所述的非易失存储器和微控制器也可置于计算机主板以外,分别通过I2C总线与计算机主板上的系统管理总线接口连接。
该装置所述的输出控制接口为网络控制接口,外部访问设备为远程访问设备。
该装置所述的网络控制接口也可采用计算机主板上集成的网络控制接口。
该装置所述的输出控制接口为LCD接口,外部访问设备为带控制按钮的LCD显示屏。
本发明的一种获取计算机硬件信息的方法,其特征在于该方法包括以下步骤a.计算机的基本输入输出系统将硬件配置信息写入非易失存储器;b.外部访问设备通过输出控制接口向微控制器发送硬件配置信息的调用命令;c.微控制器从非易失存储器中的提取硬件配置信息,转化成外部访问设备可识别的形式,向外部访问设备发送。
该方法进一步包括d.设置一个随机存储器;e.微控制器获取计算机的状况信息,写入随机存储器;f.外部访问设备通过输出控制接口向微控制器发送计算机状况信息的调用命令;g.微控制器从随机存储器中提取计算机状况信息,转化成外部访问设备可识别的形式,向外部访问设备发送。
该方法所述的步骤a前进一步包括a1.计算机的基本输入输出系统判断非易失存储器是否存在,如果是,进入步骤a,否则,结束。
该方法所述的步骤a后进一步包括a2.微控制器判断非易失存储器是否接收到数据,如果是,进入步骤a3,否则,返回步骤a2;a3.微控制器判断非易失存储器所接收的数据是否正确,如果是,向计算机的基本输入输出系统发送“正确”应答后,结束,否则,发送“错误”应答,返回步骤a2;a4.基本输入输出系统判断应答是否为“正确”如果是,结束,否则,返回步骤a。
该方法所述的步骤e中的微控制器获取计算机的状况信息包括微控制器每隔一段时间从计算机的硬件监控芯片的寄存器中读取计算机状况信息。
根据以上所述,可以看出本发明方案具有如下特点1、实现简单,可以确保硬件信息的获取独立于操作系统的存在。只要主机上电,各项硬件信息和计算机的运行状况和各项参数就可以通过SMBus总线读出。
2、由于本发明装置挂接在计算机的SMBus总线上,采用SMBus/I2C协议,SMBus/I2C协议有完善的访问冲突/仲裁机制,因此计算机CPU和本装置的微控制器对该NVRAM芯片的读和写操作不会产生冲突,不占用任何系统资源,不会影响系统的性能、稳定性和可靠性;并且可随时获取动态的计算机状况信息。
3、运行时不依赖操作系统,即使在系统出现故障、计算机死机的情况下,本装置仍然能正常工作,用户在这种情况下仍然能获取计算机的各种运行参数,为查找系统出现故障的原因提供了很大的方便。
4、可完全独立于主机运行,即使关机用户也可以从远程或本地通过连通本装置读取所需的数据。
具体实施例方式
下面结合附图和具体实施例对本发明再作进一步详细的说明。
本发明所指的计算机硬件信息可分为两类一类是静态的硬件配置信息,另一类则是动态的计算机状况信息。其中,硬件配置信息是指如CPU类型、CPU主频、内存类型、内存容量、硬盘容量、BIOS版本信息、计算机序列号等一般不会改变的硬件配置方面的信息。而计算机状况信息是指计算机POST自检信息、硬件传感器读数、计算机运行状况等不断变化的信息。硬件配置信息向使用者提供计算机的硬件配置情况,便于企业对计算机进行管理、统计。而动态的计算机状况信息便于使用者实时对计算机进行监控,随时掌握计算机的运行状况,避免死机等故障的发生。
本发明的技术方案可应用于任何带有SMBus总线的计算机设备中,其核心内容是在主板的系统管理总线上同时挂接一个带I2C接口的非易失存储器芯片和一个独立于计算机主CPU的带I2C总线接口的微控制器。该装置的结构框图如图2所示本发明装置201中的NVRAM 202和微控制器203挂接在与主板204的南桥芯片205相连的SMBUS总线上,通过输出控制接口209连接到外部访问设备210,并通过计算机自身ATX电源系统的后备电源206供电。
在计算机系统开机自检阶段,计算机执行BIOS 207中的专用程序段将计算机硬件配置信息按照一定的数据结构写入NVRAM 202芯片,并保存下来。并且在计算机正常运行过程中,由微控制器203的专用控制程序通过连接到主板上的SMBUS总线,并通过I2C协议定期探测计算机主板,将计算机状况信息写入其所附带的随机存储器中。由于I2C协议有完善的访问冲突/仲裁机制,因此计算机CPU 208和本装置的微控制器203对该NVRAM 202芯片的读和写操作不会产生冲突。
当需要获取硬件信息时,由微控制器203将NVRAM 202中的硬件配置信息或是随机存储器中的计算机状况信息的数据进行处理并发送出去。
本装置可以配备输出控制接口209,接收外部访问设备210发送的读取硬件信息的请求,并将读取的硬件信息发送到外部访问设备210上。
由于Standby电源206在计算机插上电源插头后即能够使用,因此本装置在计算机处于关机状态的时候仍然能够被访问。
如图3所示为本发明连接远程访问设备时的一个具体实施例的结构图。整个系统包括计算机主板204、远程管理板301、交换机302和远程访问设备303。本发明的装置远程管理板301通过I2C总线连接到计算机主板204的SMBus总线接口304上,与该接口连接的SMBus总线与主板的南桥芯片205相连,南桥芯片205上连接有主板的BIOS 207;该远程管理板301的输出端则通过交换机302与远程访问设备303连接。远程管理板301的电源计算机ATX电源系统中的5V Standby电源。
远程管理板301通过I2C总线与计算机主板204进行通信,本发明装置的两个核心器件NVRAM和微控制器挂接在I2C总线上。本实施例中NVRAM采用的是带I2C接口的EEPROM 305,它的VCC管脚连接计算机的5V Standby电源,并通过I2C总线与计算机主板204的SMBus总线接口304相连,EEPROM 305的两个管脚SDA、SCL分别对应于I2C总线的数据线SDA和时钟线SCL。NVRAM的作用是保存由BIOS 207经SMBus总线和I2C总线传来的硬件信息。
本实施例中的微控制器采用的是带有I2C总线接口的微控制器80C552306,它通过管脚VDD与5V Standby电源连接,管脚VSS接地,两个管脚SDA、SCL分别连接I2C总线的SDA和SCL,微控制器的作用有两个一是通过SMBUS总线收集计算机主板上的硬件监控芯片保存在各个寄存器中的计算机状态信息,另一个是接收外部访问设备的访问命令,提取并处理保存在存储器中的硬件信息,转化成外部访问设备可识别的信息后发送给外部访问设备。微控制器80C552306上还连接有程序存储器EPROM 307、数据存储器SRAM 308、锁存器74LS373 309、网络控制芯片8029 310和晶振311。EPROM 307负责保存微控制器80C552 306的控制程序,SRAM 308负责数据的暂时存放。它们的数据管脚D0-D7连接微控制器80C552 306的并行I/O端口P0,它们的地址低8位管脚A0-A7与锁存器74LS373 309相连,锁存器74LS373 309又与微控制器80C552 306的P0端口相连,它们的地址高8位管脚A8-A15共同连接微控制器80C552 306的另一并行I/O端口P2。这里锁存器74LS373 309的作用是使两存储器的地址总线与数据总线分时复用。晶振311的两端分别连接微控制器80C552 306的X1和X2管脚,其作用是为微控制器80C552 306提供固定频率。微控制器80C552 306上的P3接口与网络控制接口相连,这里是与网络控制芯片8029 310相连,网络控制芯片8029 310上连接有网络接口RJ45 312,可连接网线,这样可以通过交换机302连接到远程访问设备303。
另外,在I2C总线上还挂接两个电阻R1和R2,它们的公共端连接在5V Standby电源上,另一端分别连接I2C总线的SDA和SCL线,它们的作用是作为I2C总线的上拉电阻,阻值一般取在1K-10K之间,在此取两电阻的阻值均为4.7K。
下面描述该装置的工作流程。
在本发明中,首先需要对主板204的BIOS 207进行修改,增加支持本装置的程序段。这样当打开计算机,主板204的POST过程结束后,BIOS 207将计算机的硬件配置信息和自检结果通过I2C总线写入EEPROM 305。BIOS207的具体工作流程参见图4所示。步骤401首先检查I2C总线的特定地址上是否存在NVRAM,如果是,进入下一步,否则,结束;步骤402按照指定数据结构将硬件配置信息写入NVRAM;步骤403接收NVRAM发回的应答,并判断应答是否为“正确”,如果是,则完成,否则,返回步骤402。
此时微控制器80C552 306的工作流程如图5所示。步骤501判断NVRAM中是否有新数据从I2C总线上被接收到,如果是,进入下一步,否则,返回步骤501;步骤502进一步判断所接收到的数据是否正确,如果是,通过I2C总线向BIOS发送“正确”应答,结束,否则,发送“错误”应答并返回步骤501。
在本实施例中EEPROM 305中的数据是按照如下表所示的结构进行定义的

左边一栏是字节序号,中间一栏是其所对应的函数值,右边一栏为举例。其中3-81字节为自检结束后BIOS存入的计算机硬件配置信息。如果128字节不够用,可以随时扩展,可以满足十分复杂的硬件信息存储需要。并且也可以根据不同的需求对本表的结构和定义方式进行修改。
在计算机运行过程中,微控制器80C552 306每隔一段时间,例如5秒钟,通过I2C总线及SMBus总线直接读取主板204上的硬件监控芯片的各个保存主板主板硬件状态的寄存器,获得诸如硬件传感器信息、计算机运行状态信息等计算机的状况信息,并把其存入SRAM 308中等待调用。
当需要获取计算机硬件信息时,用户可以在远程访问设备303如远程计算机上通过本装置的网络接口RJ45 312,向微控制器80C552 306发送数据调用命令。微控制器80C552 306接收到命令后,根据其要求从EEPROM 305中调出硬件配置信息,或是从SRAM 308中调出计算机状况信息,并将它们进行处理,将EEPROM 305或SRAM 308中的数据转化成可供外部访问设备303识别的数据形式后,向远程访问设备303发送。
由于本装置使用计算机ATX电源系统的5V Standby电源,因此只要计算机电源插上电,本装置就开始工作。如果计算机处于关闭状态,由于微控制器80C552 306依旧每隔5秒钟探测一次计算机,收集计算机状况信息,因此SRAM 308中的计算机状况信息,也会自动更新为计算机处于关闭状态所对应的信息,不会给远程访问者造成计算机还在运行的错觉。当然也可以再为微控制器80C552 306添加一个程序段,当计算机关闭时,微控制器的每隔5秒探测程序也被关闭,并清空SRAM 308中的内容;当计算机打开时,每隔5秒探测程序可重新被激活。并且即使拔掉电源,即将本发明装置关闭后,再重新插上,由于计算机的硬件配置信息保存在EEPROM 305里,因此不会丢失,而SRAM 308中的数据则被清除,但拔掉了电源,计算机也处在关闭状态,因此SRAM 308内没有数据正好与计算机目前的关闭状态相对应。所以综上所述,不管计算机处于何种状态,只要计算机的电源插上,用户通过本发明装置都可随时获取计算机的硬件信息。
另外,如果需要在本地进行访问,则只需在微控制器的LCD接口上连接显示设备,如图6所示使LCD显示屏601与本地管理板602的微控制器80C552 306的LCD接口相连,其中这里的LCD接口并不是一个单一的接口而是有多个管脚组成,LCD显示屏601上配有控制按钮,可以通过控制按钮向微控制器80C552 305发送命令,控制LCD显示屏601的显示内容。其它的电路部分和工作流程均与上一实施例中所述的相同。
当然如果选用其它的芯片作为微控制器,其接口的形式也会有所不同,另外显示设备也不限于LCD显示屏。而且也可以同时在P3接口上通过网络控制芯片、网络接口和交换机连接到远程访问设备,这样就实现了本地和远程都可访问。
并且本发明装置中NVRAM和微控制器的相对位置也可以灵活处理,如可以采用以下一些方案NVRAM和微控制器均集成在计算机主板上,NVRAM和微控制器分别与SMBus总线连接,同时利用主板原来集成的网络控制接口作为本发明装置的网络控制接口;NVRAM和微控制器均外置,装置通过主板上预留的SMBus总线接口插座与主板连接;NVRAM集成在主板上,微控制器外置,通过主板预留的SMBus总线接口插座连接到NVRAM上;并且也可选择其它的芯片作为NVRAM和微控制器,如NVRAM可使用闪存(Flash ROM),而微控制器也可以选择集成了程序存储器、数据存储器和锁存器等器件的微控制器。另外如果需要,该装置的电源也可以采用其它的外接电源。
权利要求
1.一种获取计算机硬件信息的装置,应用于带有系统管理总线的计算机设备,其特征在于该装置至少包括非易失存储器、微控制器、用于连接外部访问设备的输出控制接口以及电源;非易失存储器和微控制器分别与计算机设备的系统管理总线连接,输出控制接口与微控制器连接。
2.根据权利要求1所述的获取计算机硬件信息的装置,其特征在于所述的非易失存储器为可擦写可编程只读存储器。
3.根据权利要求1所述的获取计算机硬件信息的装置,其特征在于所述的非易失存储器为闪存。
4.根据权利要求1所述的获取计算机硬件信息的装置,其特征在于进一步包括存储控制程序的只读存储器和存储数据的随机存储器,只读存储器和随机存储器分别与微控制器连接。
5.根据权利要求1所述的获取计算机硬件信息的装置,其特征在于所述的微控制器为内部集成了程序存储器和数据存储器的微控制器。
6.根据权利要求1所述的获取计算机硬件信息的装置,其特征在于所述的电源为计算机上的ATX电源系统的后备电源。
7.根据权利要求1所述的获取计算机硬件信息的装置,其特征在于所述的电源为独立于计算机电源的外接电源。
8.根据权利要求1所述的获取计算机硬件信息的装置,其特征在于所述的非易失存储器和微控制器均集成在计算机主板上。
9.根据权利要求1所述的获取计算机硬件信息的装置,其特征在于所述的非易失存储器和微控制器置于计算机主板以外,分别通过I2C总线及计算机主板上的系统管理总线接口与计算机设备的系统管理总线连接。
10.根据权利要求1所述的获取计算机硬件信息的装置,其特征在于所述的输出控制接口为网络控制接口,外部访问设备为远程访问设备。
11.根据权利要求10所述的获取计算机硬件信息的装置,其特征在于所述的网络控制接口采用计算机主板上集成的网络控制接口。
12.根据权利要求1所述的获取计算机硬件信息的装置,其特征在于所述的输出控制接口为LCD接口,外部访问设备为带控制按钮的LCD显示屏。
13.一种应用权利要求1所述装置获取计算机硬件信息的方法,其特征在于该方法包括以下步骤a.计算机的基本输入输出系统将硬件配置信息写入非易失存储器;b.外部访问设备通过输出控制接口向微控制器发送硬件配置信息的调用命令;c.微控制器从非易失存储器中的提取硬件配置信息,转化成外部访问设备可识别的形式,向外部访问设备发送。
14.根据权利要求13所述的获取计算机硬件信息的方法,其特征在于进一步包括d.设置一个随机存储器;e.微控制器获取计算机的状况信息,写入随机存储器;f.外部访问设备通过输出控制接口向微控制器发送计算机状况信息的调用命令;g.微控制器从随机存储器中提取计算机状况信息,转化成外部访问设备可识别的形式,向外部访问设备发送。
15.根据权利要求13所述的获取计算机硬件信息的方法,其特征在于步骤a前进一步包括a1.计算机的基本输入输出系统判断非易失存储器是否存在,如果是,进入步骤a,否则,结束。
16.根据权利要求13所述的获取计算机硬件信息的方法,其特征在于步骤a后进一步包括a2.微控制器判断非易失存储器是否接收到数据,如果是,进入步骤a3,否则,返回步骤a2;a3.微控制器判断非易失存储器所接收的数据是否正确,如果是,向计算机的基本输入输出系统发送“正确”应答后,结束,否则,发送“错误”应答,返回步骤a2;a4.计算机的基本输入输出系统接受应答并判断应答是否为“正确”如果是,结束,否则,返回步骤a。
17.根据权利要求14所述的获取计算机硬件信息的方法,其特征在于步骤e所述的微控制器获取计算机的状况信息包括微控制器每隔一段时间从计算机的硬件监控芯片的寄存器中读取计算机状况信息。
全文摘要
一种获取计算机硬件信息的装置,应用于带有系统管理总线的计算机设备,至少包括非易失存储器、微控制器、用于连接外部访问设备的输出控制接口以及电源;非易失存储器和微控制器分别与计算机设备的系统管理总线连接,输出控制接口与微控制器连接。一种获取计算机硬件信息的方法,包括计算机的基本输入输出系统将硬件配置信息写入非易失存储器;外部访问设备通过输出控制接口向微控制器发送硬件配置信息的调用命令;微控制器从非易失存储器中的提取硬件配置信息,转化成外部访问设备可识别的形式,向外部访问设备发送。
文档编号G06F13/10GK1477529SQ0212893
公开日2004年2月25日 申请日期2002年8月22日 优先权日2002年8月22日
发明者郜远, 周建, 王军, 陈光亮, 席振新, 王晟, 周谧, 李勇, 郜 远 申请人:联想(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1