背景技术
随着电子设备(如计算机系统、通讯装置,以及网络设备)的普及,高效能以及执行稳定性的需求便与日俱增。以计算机系统而言,智能型平台管理接口系统为一业界标准规范,定义了计算机系统硬件与固件的监视与管理,例如监视中央处理器/芯片温度、风扇速度、机壳信息、电源开启/关闭状态,或其它信息。
智能型平台管理接口系统的运作系独立于计算机系统的操作系统,并允许无操作系统及系统管理软件的存在,甚至系统电源尚未开启亦可。智能型平台管理接口系统定义许多界面,像是智能型平台管理总线(Intelligent PlatformManagement Bus,IPMB)、键盘控制样式(Keyboard Controller Style,KCS)、通用异步收发器(Universal Asynchronous Receiver/Transmitter,UART)、或是局域网络。一个智能型平台管理接口系统包括一个耦接许多传感器的基板管理控制器(Baseboard Management Controller,BMC)在机壳里,以及透过具有内部整合电路(Inter-Integrated Chip,I2C)接口的智能型平台管理总线与基板管理控制器沟通的卫星管理控制器。基板管理控制器从传感器与卫星管理控制器接收感测数据,并且储存这些数据于一储存装置。
对电源管理而言,使用者需要按压机壳上的电源键或远程操作基板管理控制器以产生一个触发脉冲至一电源控制接脚,接着使一电源控制芯片开启或关闭此计算机系统。大多数计算机系统的电源控制接脚的电源控制型式为高常态(normalhigh),亦即当没有接收到任何负脉冲(negative pulse)时,电源控制接脚预设成一高电压电平。少数计算机系统的电源控制接脚的电源控制型式为低常态(normallow),亦即当没有接收到任何正脉冲(positive pulse)时,电源控制接脚预设成一低电压电平。然而,传统的基板管理控制器无法判定计算机系统的电源控制型式为高常态或是低常态,故当计算机系统的电源控制型式为低常态,且计算机系统已经先被远程开启或关闭时,本地端使用者无法藉由按压电源键而开启或关闭计算机系统。
因此,这个问题存在于此领域中且需要提出一解决方案,以弥补上述技术的缺点与不足之处。
发明内容
本发明提供一种电源管理系统,用以控制一计算机系统,包括一通用输入输出端口、一电源控制芯片、以及一控制器。上述通用输入输出端口用以输出一电源控制信号。上述电源控制芯片用以接收上述电源控制信号以开启或关闭上述计算机系统。上述控制器用以控制上述通用输入输出端口输出上述电源控制信号。当上述通用输入输出端口输出上述电源控制信号时,上述控制器设定上述通用输入输出端口为一输出端口,并在上述通用输入输出端口输出上述电源控制信号之后,设定上述通用输入输出端口为一输入端口。
本发明亦提供一种电源管理方法,用以控制一计算机系统。首先,初始化一通用输入输出端口为一输入端口。当上述通用输入输出端口输出一电源控制信号以开启或关闭上述计算机系统时,设定上述通用输入输出端口为一输出端口,并在上述通用输入输出端口输出上述电源控制信号之后,设定上述通用输入输出端口为上述输入端口。
本发明更提供一种计算机可读储存装置,储存一计算机程序,上述计算机程序执行一电源管理方法于一计算机系统。首先,初始化一通用输入输出端口为一输入端口。当上述通用输入输出端口输出一电源控制信号以开启或关闭上述计算机系统时,设定上述通用输入输出端口为一输出端口。在上述通用输入输出端口输出上述电源控制信号之后,设定上述通用输入输出端口为上述输入端口。
具体实施方式
图1为本发明的一电源管理系统实施例,用于一计算机系统。计算机系统100包括电源键102、电源控制芯片106、以及基板管理控制卡108。其它组件如主板、中央处理器、显示卡、硬盘等(图未显示)可能含在计算机系统100里。电源控制芯片106包括电源控制接脚104,以接收来自电源键102或基板管理控制卡108的电源控制信号。电源键102具有两端点,一端耦接至供应电压Vcc以及电源控制芯片106,另一端耦接至地电压。在此实施例中,电源控制接脚104的电压控制型式为高常态,亦即在没有电源开启/关闭事件发生时,电源控制接脚104只连接于供应电压Vcc。基板管理控制卡108可实现智能型平台管理接口系统,包括控制器110、通用输入输出端口112、内存114、储存装置116、以及网络接口118。内存114可为随机存取内存(Random Access Memory,RAM),例如动态随机存取内存(Dynamic Random Access Memory,DRAM)或静态随机存取内存(Static RandomAccess Memory,SRAM)。储存装置116可为一非易失内存,例如电性复写可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)或闪存。网络接口118可不包含于基板管理控制卡108中而内建于主板(图未显示)。控制器110,也称为基板管理控制器(BMC),可为一微处理器,包括定时器120以及只读存储器122。控制器110可控制通用输入输出端口112输出电源控制信号,经由电源控制接脚104输入至电源控制芯片106。当通用输入输出端口112输出电源控制信号时,控制器110可设定通用输入输出端口112为一输出端口,并在通用输入输出端口112输出电源控制信号之后,设定通用输入输出端口112为一输入端口。
远程控制台124可经由网络126远程开启或关闭计算机系统100。网络126可为因特网(例如TCP/IP网络)、个人网络(例如红外线或蓝芽接口)、局域网络(例如以太网络、无线局域网络、或光纤环形网络)、广域网络(例如ATM、GPRS、WCDMA、或CDMA2000系统)等。远程控制台124可经由网络126发送一指令至网络接口11 8,指出计算机系统100是否要开启或关闭。网络接口118可接收此指令并传送至控制器110。在一实施例中,远程控制台124可为个人计算机、笔记本计算机、膝上型计算机、桌上型计算机、个人数字助理(PDA)、手机、或是其它可携式电子装置。
图2为电源键102或控制器110可能产生两种的电源控制信号。在一种情况中,电源控制信号是由本地端使用者按压电源键102而产生。使用者可短按电源键102让电源键102以短时间连接地电压然后分离,因而产生具一持续时间TON的负脉冲202,作为开启计算机系统100的电源控制信号。此外,使用者亦可长按电源键102让电源键102以长时间连接地电压然后分离,因而产生具一持续时间TOFF的负脉冲204,作为关闭计算机系统100的电源控制信号。在另一情况中,电源控制信号是由控制器110产生。当控制器110产生负脉冲202时,控制器110可在时间t1和t2的时间间隔内设定通用输入输出端口112为一输出端口以输出负脉冲202,接着在时间t2之后设定成输入端口。同理,当控制器110产生负脉冲204时,控制器110可在时间t3和t4的时间间隔内设定通用输入输出端口112为一输出端口以输出负脉冲204,接着在时间t4之后设定成输入端口。定时器120可用以计时这些脉冲的持续时间。最后,电源控制芯片106可经由电源控制接脚104接收这两个负脉冲其中之一者,根据脉冲的持续时间而开启或关闭计算机系统100。举例而言,TON可为1秒,TOFF可为6秒。在一实施例中,TON大过于TOFF。
控制器110可存取储存于储存装置116的一记录,决定电源控制型式是否为高常态或低常态,并且据此产生电源控制信号。举例而言,当电源控制型式指出电源控制接脚104为高常态时,控制器110可产生一负脉冲。在图3中,存于储存装置116的数据至少包括感测数据记录(Sensor Data Record,SDR)、可实地替换单元(Field Replaceable Unit,FRU)、以及系统事件记录(System Event Log,SEL)。感测数据记录提供主板上每个传感器的性质。举例而言,传感器可感测温度、风扇速度、电压等。制造商可在组件制造商感测数据记录(Original Equipment ManufacturerSDR,OEM SDR)里储存电源控制型式。
图4为本发明另一电源控制系统实施例,其中电源控制芯片106和基板管理控制卡108里组件与图1相同,故不于此赘述。不同于图1的是,电源键402具有一端耦接至供应电压Vcc,以及另一端耦接至电源控制芯片106,并且经由电容428耦接至地电压。因此,电源控制接脚104的电源控制型式为低常态,因为当没有电源开启/关闭事件发生时,电源控制接脚104连接于地电压。
计算机系统400可由远程控制台124经由126远程开启或关闭。远程控制台124可经由网络126发送一指令至网络接口118指出计算机系统400是否被开启或关闭。网络接口118可接收此指令并传送至控制器110。当接收到指令时,控制器110可存取存于储存装置116的记录以判定电源控制型式为高常态或低常态。在这个实施例中,此记录指出电源控制型式为低常态,因此控制器110会产生正脉冲作为电源控制信号。
图5为电源键402或控制器110可能产生两种的电源控制信号。在一种情况中,电源控制信号是由本地端使用者按压电源键402而产生。使用者可短按电源键402让电源键402以短时间连接供应电压Vcc然后分离,因而产生具一持续时间TON的正脉冲502,作为开启计算机系统400的电源控制信号。此外,使用者亦可长按电源键402让电源键402以长时间连接供应电压Vcc然后分离,因而产生具一持续时间TOFF的正脉冲504,作为关闭计算机系统400的电源控制信号。在另一情况中,电源控制信号是由控制器110产生。当控制器110产生正脉冲502时,控制器110可在时间t1和t2的时间间隔内设定通用输入输出端口112为一输出端口以输出正脉冲502,接着在时间t2之后设定成输入端口。同理,当控制器110产生正脉冲504时,控制器110可在时间t3和t4的时间间隔内设定通用输入输出端口112为一输出端口以输出正脉冲504,接着在时间t4之后设定成输入端口。定时器120可用以计时这些脉冲的持续时间。最后,电源控制芯片106可经由电源控制接脚104接收这两个正脉冲其中之一者,根据脉冲的持续时间而开启或关闭计算机系统400。举例而言,TON可为1秒,TOFF可为6秒。在一实施例中,TON大过于TOFF。
根据图1~5,熟习本领域者可知控制器110可实现于具有高常态或低常态的计算机系统中,而不须作任何硬件或软件的修改,因为控制器110可从储存装置116读取制造商提供的电源控制型式,并据此产生电源控制信号。熟习本领域者亦可了解计算机系统100和400可避免机壳控制错误,因为通用输入输出端口112在电源控制信号要输出时才设定成输出端口。
图6为本发明的一电源管理方法实施例,实现于一智能型平台管理接口系统以控制一计算机系统。首先,读取一记录指出计算机系统的电源控制型式(步骤S602),并且初始化一通用输入输出端口为一输入端口(步骤S604)。接着,根据电源控制型式产生一电源控制信号(步骤S606)。在一实施例中,上述电源控制信号系根据一远程控制台所产生的一指令而产生。在另一实施例中,上述电源控制信号为具有特定持续时间的一脉冲。当通用输入输出端口设成一输出端口时(步骤S608),输出电源控制信号以开启或关闭此计算机系统(步骤S610)。最后,在输出电源控制信号之后,通用输入输出端口再次设成输入端口(步骤S612)。
图7为图6步骤S606的内部实施例。当接收到来自一远程控制台产生的一指令时(步骤S702),检查记录以判定电源控制型式为高常态或低常态(步骤S704)。若电源控制型式为高常态,则检查指令以判定要开启或关闭计算机系统(步骤S706)。若指令指出要开启计算机系统,则产生一第一负脉冲作为电源控制信号(步骤S710);否则,产生持续周期异于第一负脉冲的一第二负脉冲作为电源控制信号(步骤S708)。同时,若电源控制信号为低常态,则检查指令以判定要开启或关闭计算机系统(步骤S712)。若指令指出要开启计算机系统,则产生一第一正脉冲作为电源控制信号(步骤S714);否则,产生持续周期异于第一正脉冲的一第二正脉冲作为电源控制信号(步骤S716)。
在本发明的一实施例中,图6~7的电源控制方法可实现于硬件、固件、软件、或是其组合。以图1为例,上述电源控制方法可实现成计算机程序并储存于只读存储器122。当控制器110欲执行此计算机程序时,此计算机程序可下载至内存114以供控制器110快速存取。
虽然本发明已以数个实施例揭示如上,然其并非用以限定本发明,任何熟悉此项技艺者,在不脱离本发明的精神和范围内,当可做些许更动与润饰,因此本发明的保护范围当以权利要求所界定的为准。