System and method for adjusting pulse width modulation signals according to component temperatures in a computer

A computer-based method for adjusting pulse width modulation (PWM) signals according to temperatures of one or more computer components includes setting a frequency formula for a fan in a computer. The method further includes reading current temperatures of one or more components in the computer from a temperature measuring device. Furthermore, the method includes computing a frequency according to the frequency formula and the current temperatures, and sending the computed frequency to a PWM signal manager for generating an adjustment PWM signal to control the rotational speed of the fan in the computer.

BACKGROUND OF THE INVENTION

1. Field of the Invention

Embodiments of the present disclosure relate to pulse width modulation (PWM) signals management systems and methods, and more particularly to a system and method for adjusting PWM signals according to component temperatures in a computer to control the rotational speed of fan in the computer.

2. Description of Related Art

Pulse width modulation (PWM) is a powerful technique for controlling analog circuits. PWM is employed in a wide variety of applications, ranging from measurement and communications to power control and conversion, such as controlling the rotational speed of a central processing unit (CPU) fan in a computer. However, the frequency of the PWM signals for controlling the fan is often fixed, and may not be adjusted according to the temperatures of the components (e.g., the CPU) in the computer.

Therefore, what is needed is a system and method overcoming the aforementioned problem.

DETAILED DESCRIPTION OF CERTAIN INVENTIVE EMBODIMENTS

All of the processes described below may be embodied in, and fully automated via, function code modules executed by one or more general purpose computers or CPUs. The code modules may be stored in any type of computer-readable medium or other computer storage device. Some or all of the methods may alternatively be embodied in specialized computer hardware. The function code modules may be stored in any type of computer-readable medium or other computer storage device.

FIG. 1is a block diagram of one embodiment of a system10for adjusting PWM signals according to temperatures of one or more components14in a computer1, so as to control the rotational speed of a fan15in the computer1. In the illustrated embodiment, the computer1includes a temperature measuring device11, a basic input and output system (BIOS)12, the components14, and the fan15. The temperature measuring device11is connected to the components14and is configured to measure a current temperature of each of the components14. In one embodiment, the temperature measuring device11is a thermocouple. The components14may include, but are not limited to, a central processing unit (CPU), a graphic processing unit (GPU), a chipset, and a computer chassis. The PWM signal manager13generates PWM signals for controlling the rotational speed of the fan15according to the temperatures of the components14. In one embodiment, the fan15may include, but is not limited to, a CPU fan, a GPU fan, or a system fan. The system fan is a fan15that will cool the entire system of the computer1. In this embodiment, the system fan is installed on the computer chassis of the computer1. Depending on the embodiment, the computer1may be a personal computer (PC), a network server, or any other appropriate data-processing equipment.

The system10comprises a plurality of function modules for computing frequencies of PWM signals according to temperatures of the components14, and generating an adjustment PWM signal according to the computed frequency for adjusting the rotational speed of the fan15. In the illustrated embodiment, the system10includes a setting module110, a temperature reading module111, a computing module112, and a sending module113. The modules110,111,112,113may be used to execute one or more operations for the computer1. Additionally, the computer1may comprise one or more specialized or general purpose processors, such as a CPU114, for executing the modules110,111,112,113.

The setting module110is configured for setting formula for computing frequency of PWM signals of the temperature of the components14(hereinafter, “the PWM signal frequency formula) in the BIOS12of the computer1for the fan15. In one embodiment, the PWM signal frequency formula for the fan15is

P=∑i=1n⁢Ai⁡(Ti-Ti⁢⁢0)⁢ki+b,
wherein “n” is the number of components14, “Ti” is the current temperature of the components14, “Ai,” “b,” and “Ti0” are constants according to a type of the fan15that the formula is applied for. For example, in this embodiment, for computing a frequency of PWM signals of the CPU fan15, “A1” is equal to “3,” “A2” is equal to “4,” “T10” is equal to “36,” “T20” is equal to “43,” and “b” is equal to “30.” Accordingly, P is: P=3k1*(T1−36)+4k2*(T2−43)+30. In another example, for computing a frequency of PWM signals of the system fan15, “A1” is equal to “3,” “A2” is equal to “2,” “T10” is equal to “37,” “T20” is equal to “46,” and “b” is equal to “32.” In addition, if the value “Ti” is larger than the value of “Ti0,” the value of “ki”equal to “1,” and if the value “Ti” is less than or equal to the value of “Ti0,” the “ki” is equal to “0.” In one embodiment, if the components14are the CPU and the computer chassis, “n” is equal to “2,” “T1” is the current temperature of the CPU, and “T2” is the current temperature of the computer chassis. It may be understood that values for each of the variables for the formula of P may be varied according to the type of the component14.

The temperature reading module111is configured for reading current temperatures of the components14from the temperature measuring device11. In one embodiment, the temperature measuring device11measures the current temperature “T1” of the CPU and the current temperature “T2” of the computer chassis, then the temperature reading module11reads the temperature “T1” of the CPU and the temperature “T2” of the computer chassis from the temperature measuring device11.

The computing module112is configured for computing a frequency according to the frequency computation formula and the current temperatures. In one embodiment, for example, if the current temperature “T1” of the CPU is equal to “37,” and the current temperature “T2” of the computer chassis is equal to “45,” the computing module112computes the frequency of PWM signals for the CPU fan15as follows: P=3*1*(37−36)+4*1*(45−43)+30. As a result, the computed frequency of PWM signals for the CPU fan15equals 41 Megahertz (MHz).

The sending module113is configured for sending the computed frequency to a PWM signal manager13to generate an adjustment PWM signal according to the computed frequency. In one embodiment, for example, if the computed frequency is “41,” the PWM signal manager13generates a PWM signal having a frequency of 41 MHz. The adjustment PWM signal is used for adjusting the rotational speed of the CPU fan15.

FIG. 2is a flowchart of one embodiment of a method for adjusting PWM signals according to component14temperatures in the computer1, so as to control the rotational speed of the fan15. Depending on the embodiment, additional blocks may be added, while others deleted, and the blocks may also be executed in a different order than described.

In block S10, the setting module110sets a PWM signal frequency formula in the BIOS12of the computer1for the fan15. As mentioned above, the formula for computing an computed frequency of PWM signals for the CPU fan15is P=3k1*(T1−36)+4k2*(T2−43)+30.

In block S11, the temperature reading module111reads current temperatures of the components14in the computer1from the temperature measuring device11. As mentioned above, the temperature measuring device11measures the current temperature “T1” of the CPU and the current temperature “T2” of the computer chassis, then the temperature reading module111reads the current temperature “T1” of the CPU and the current temperature “T2” of the computer chassis from the temperature measuring device11.

In block S12, the computing module112computes a frequency of PWM signals for the fan15according to the PWM signal frequency formula and the current temperatures of the components14. As mentioned above, if the current temperature “T1” of the CPU is equal to “37,” and the current temperature “T2” of the computer chassis is equal to “45,” the computing module112computes the frequency of PWM signals for the CPU fan15as follows: P=3*1*(37−36)+4*1*(45−43)+30. Thus, the computed frequency for the CPU fan15equals 41 MHz.

In block S13, the sending module113sends the computed frequency to a PWM signal manager13.

In block S14, the PWM signal manager13generates an adjustment PWM signal according to computed frequency, and adjusts the rotational speed of the CPU fan15according to the adjustment PWM signal. As mentioned above, for example, if the computed frequency is “41,” the PWM signal manager13generates a PWM signal having a frequency of 41 MHz. The adjustment PWM signal is used for adjusting the rotational speed of the CPU fan15.