1. Field of the Invention
This invention relates generally to the field of digital circuit design and, more particularly, to the design of an RPM controller.
2. Description of the Related Art
Fans are often used to evacuate warm air from enclosures in which electronic systems are contained. For example, most computer systems include one or more cooling fans to aid in circulating the air inside the enclosures and for maintaining the temperature inside the enclosures within an acceptable range. The increased airflow provided by fans typically aids in eliminating waste heat that may otherwise build up and adversely affect system operation. Employing cooling fans is especially helpful in ensuring proper operation for certain central processing units (CPUs) with relatively high operating temperatures.
Control of fans in a system typically involves a fan control unit executing a fan control algorithm. A fan control algorithm may determine the method for controlling one or more fans that are configured to evacuate warm air from a system enclosure. For example, the fan control algorithm may specify that a fan's rotational speed should be increased or decreased dependent upon a detected temperature. Such control algorithms may also involve turning off a fan if the temperature is deemed cool enough to do so, or in certain systems, such as personal computers (PCs) for example, lowering the rotational speed of the fan and allowing the fan to continue running at a minimum rotational speed.
For detecting the temperature, a temperature sensor may provide to the fan control unit a signal indicative of the current temperature of a particular temperature zone in the electronic system. Often, fans used for CPU and/or computer system cooling have a three-wire interface with wires for power, ground, and a tachometer signal. Fan drive systems often use a signal generator that provides a Pulse Width Modulated (PWM) signal to drive an external circuit that controls the voltage between the power and ground interfaces of the fan, which in turn controls the speed of the fan. Signal generators that provide PWM signals are useful because they provide a digital control for the pulse width of a signal. The fan is typically powered only for the duration of the pulse. Between pulses power to the fan is turned off, although the fan is typically still spinning during this time. The duty cycle of the PWM pulse train currently being provided to the fan determines the fan's speed. Another typical way to control three-wire fans is to drive the fan by utilizing a high side Field Effect Transistor (FET), thereby controlling the DC voltage supplied to the fan. Generally, this provides an effective dynamic control range of 3V, which typically ranges from 5V down to around 2V. The lower limit voltage (2V) is still sufficient to power the fan circuitry, and valid tachometer signals may still be obtained from the fan.
Alternatively, some computer systems use fan control circuitry that features a 4-wire fan interface, where the fourth wire typically carries an additional control signal from the system to the fan. Thus, for fan drive systems that use PWM signal generators, in addition to the power, ground, and tachometer signal, a four-wire fan will typically have a PWM-drive input, which is used to control the speed of the fan. In such systems, instead of switching the power to the entire fan on and off, generally only the power to the drive coils is switched, making the tachometer information available continuously. Another advantage of 4-wire fans is that the fan speed can typically be controlled at speeds as low as 10% of the fan's full speed. Many PC desktop and workstation cooling fan solutions today use open loop 4-wire fan control methods, or are thermistor based, where a thermistor is integrated into the fan.
Typically when an open-loop four-wire cooling fan control method is used, two fan curves are specified. The first is generally a desired Temperature-versus-PWM curve, and the second is usually a PWM-versus-RPM (Revolutions Per Minute—an indication of rotational fan speed) curve. Many currently available fan control devices implement the Temperature-versus-PWM curve, and the cooling fans must generally follow the tightly specified PWM-versus-RPM curve. Open loop four-wire fan control systems thus have to rely on the tight fan specifications supplied by the fan manufacturer in order to achieve the desired fan RPM for a given PWM command.
In addition, in most cases, merely driving the fan with a prescribed duty cycle may not facilitate correcting for fan aging, pressure changes, and other conditions that might affect the performance of the fan over time. Most present day solutions address these issues using analog comparators and RC ramps to create a continuous function with varying duty cycle, to control either a PWM input to a fan, or the drive voltage applied externally to the fan. Therefore, alternative fan control methods may be preferred for driving the fan, while retaining digital control of the fan. For example, it may be desirable to provide closed loop RPM (revolutions per minute) control. When RPM control is used, however, the ability to control the RPM in a closed loop may require every operational point along the desired operational profile of a given fan, which usually requires that all operational points be stored (to be used by the controller), which may lead to excessive memory requirements. For example, in most systems, two Bytes may be required to store operating (control) data for each temperature point for which control of the fan is desired.
Other corresponding issues related to the prior art will become apparent to one skilled in the art after comparing such prior art with the present invention as described herein.
In one set of embodiments, closed-loop RPM (revolutions per minute) control of a fan may be achieved with only a limited number of data points from the desired operational RPM vs. Temperature profile being stored. In order to reduce the amount of memory storage required to store a complete operational profile, only starting operating points and intermediate operating points that correspond to a change in slope of the overall operational profile (RPM vs. Temperature profile function) of a given fan may be stored. A linear interpolation between the stored operating data points may be performed for continuous operation across the temperature range. Various embodiments of the closed-loop autonomous RPM control disclosed herein may facilitate limiting the effects of fan aging, while allowing for a linear interpolation or step response.
One method for powering a fan may therefore include storing operating points corresponding to an RPM versus temperature operational profile function (RTPF) of the fan, with each operating point comprising a respective temperature value and a corresponding respective RPM value, and each operating point representing a change in slope of the RTPF, with each pair of consecutive operating points defining a respective temperature slot. The method may further include receiving a present temperature value indicative of a present temperature reading, selecting a matching temperature slot corresponding to the present temperature value, where the present temperature value is greater than a lower respective temperature value of a pair of consecutive operating points that defines the matching temperature slot, and lower than a higher respective temperature value of the pair of consecutive operating points that defines the matching temperature slot. The desired RPM value may then be calculated by performing interpolation between the pair of consecutive operating points that defines the matching temperature slot, and the rotational speed of the fan may be controlled according to the calculated desired RPM value and a present RPM value indicative of a present RPM of the fan.
In one set of embodiments, a control circuit for controlling the rotational speed of a fan may include a storage unit to store operating data corresponding to an operational profile of the fan defined by RPM versus temperature function (RTPF), with the operating data including a respective temperature value and a respective RPM value for each respective operating point representing a change in slope of the RTPF, with each pair of consecutive operating points defining a respective temperature slot. The control circuit may further incorporate a processing unit configured to communicate with the storage unit to retrieve the operating data, receive a present temperature value indicative of a present temperature reading, select a matching temperature slot corresponding to the present temperature value—where the present temperature value is greater than a lower respective temperature value of a pair of consecutive operating points that defines the matching temperature slot, and lower than a higher respective temperature value of the pair of consecutive operating points that defines the matching temperature slot—calculate a desired RPM value according to a specified algorithm and the pair of consecutive operating points that defines the matching temperature slot, and output the desired RPM value to a closed-loop fan controller. The closed-loop fan controller may receive a feedback signal indicative of a present speed of the fan, and control a rotational speed of the fan according at least to the feedback signal and the desired RPM value.
A computer system may include a fan, memory configured to store operating data corresponding to an RPM versus temperature operational profile function (RTPF) of the fan, with the operating data comprising a respective temperature value and a respective RPM value for each respective operating point representing a change in slope of the RTPF of the fan, with each pair of consecutive operating points defining a respective temperature slot. The computer system may further include a processing unit to receive a present temperature value indicative of a present temperature reading, retrieve the operating data from the memory, and identify a present temperature slot corresponding to the present temperature value. The present temperature value may be greater than a lower respective temperature value of a pair of consecutive operating points that defines the present temperature slot, and lower than a higher respective temperature value of the pair of consecutive operating points that defines the present temperature slot. The processing unit may then calculate a desired RPM value according to a specified algorithm and the pair of consecutive operating points that defines the present temperature slot, and output the desired RPM value to a closed-loop fan controller configured to also receive a feedback signal indicative of a present speed of the fan, and control a rotational speed of the fan according at least to the feedback signal and the desired RPM value.
In one set of embodiments, the specified algorithm may be executable to perform linear interpolation between the pair of consecutive operating points that defines the present temperature slot to obtain the desired RPM value. Accordingly, the processing unit may include a comparator configured to compare the present temperature value to various ones of the respective temperature values of the stored operating points to identify which present temperature slot corresponds to the present temperature value, and the processing unit may be configured with an arithmetic logic unit (ALU) to implement the linear interpolation. The processing unit may further be configured to receive one or more environmental parameter readings, and adjust the desired RPM value according to the one or more environmental parameter readings prior to outputting the desired RPM value. In various embodiments, the system may include additional fans, each fan having its own operational profile based on which a respective desired RPM of the fan may be calculated/interpolated as described above.
Other aspects of the present invention will become apparent with reference to the drawings and detailed description of the drawings that follow.
The foregoing, as well as other objects, features, and advantages of this invention may be more completely understood by reference to the following detailed description when read together with the accompanying drawings in which:
While the invention is susceptible to various modifications and alternative forms, specific embodiments thereof are shown by way of example in the drawings and will herein be described in detail. It should be understood, however, that the drawings and detailed description thereto are not intended to limit the invention to the particular form disclosed, but on the contrary, the intention is to cover all modifications, equivalents, and alternatives falling within the spirit and scope of the present invention as defined by the appended claims. Note, the headings are for organizational purposes only and are not meant to be used to limit or interpret the description or claims. Furthermore, note that the word “may” is used throughout this application in a permissive sense (i.e., having the potential to, being able to), not a mandatory sense (i.e., must).” The term “include”, and derivations thereof, mean “including, but not limited to”. The term “coupled” means “directly or indirectly connected”.
As used herein, when referencing a pulse of a signal, a “leading edge” of the pulse is a first edge of the pulse, resulting from the value of the signal changing from a default value, and a “trailing edge” is a second edge of the pulse, resulting from the value of the signal returning to the default value. A first signal is said to be “corresponding” to a second signal if the first signal was generated in response to the second signal. When data is said to be “registered” or “latched” “using” a signal, the signal acts as a trigger signal that controls the storing of the data into the register or latch. In other words, when a signal “used” for registering or latching data is in its triggering state, the data residing at respective input ports of the register or latch is stored into the register or latch. Similarly, when data is latched “on the leading edge” or “on the trailing edge” of a pulse of a clock, the data residing at respective input ports of a register or latch is stored into the register or latch, respectively, when a leading edge or a trailing edge of a pulse of the clock occurs, respectively. A first signal is said to “propagated based on” a second signal, when the second signal controls the propagation of the first signal. Similarly, a first module is said to “use” a clock signal to transfer data to a second module, when propagation of the data from the first module to the second module is controlled and/or triggered by the clock signal. When referencing a binary number, the least significant bit (LSB) is understood to be the rightmost bit of the binary number, whereas the most significant bit (MSB) is understood to be the leftmost bit of the binary number. For example, in case of the binary number ‘011’ the LSB would be ‘1’ while the MSB would be ‘0’.
Various different RPM-versus-temperature profiles may be selected and used when actually controlling fan 108. In one embodiment, fan controller 106 operates to keep the speed of cooling fan 108 considerably close to desired RPM value, thereby providing stability for a wide variance of fan responses. In one set of embodiments, the desired RPM value may be compared to a sensed value of the actual speed of cooling fan 108 provided in the feedback loop from fan 108 to fan controller 106. A resulting error signal may be used with, for example, a compensator in order to drive the actual speed of cooling fan 108 to the desired RPM value. In some embodiments, depending on the type of fan used, instead of providing the fan control signal directly to fan 108, fan controller 106 may provide the fan control signal to a fan drive circuit, which may be configured to generate a set of one or more fan control signals that is provided to cooling fan 108 to drive a motor, which may be a brushless DC fan motor, comprised in cooling fan 108 towards the desired RPM value.
As previously mentioned, control circuit 120 may be configured to store, in storage unit 102 for example, a respective operational profile for one or more specified fans. Each operational profile might contain operating points each defined by a desired RPM of the fan for a given measured temperature. The RPM values may be related to the temperature values according to the desired cooling effect the rotating fan is expected to provide. In order to reduce the amount of storage required in storage unit 102 to store an entire operational profile for any given fan, only certain specified operating points of the operational points may be defined and stored. More specifically, the specified operating points stored may comprise only starting operating points and intermediate operating points where the slope of the RPM vs. Temperature function within the operational profile of a specified fan changes. Continuous operation over the operating temperature range may be achieved by performing linear interpolation between stored data points to obtain an actual operating point from which a present, desired RPM value of the fan may be derived. In addition, the desired RPM value thus obtained through interpolation may be slightly modified according to additional parameter readings, and/or inputs, as required by system considerations.
Storage unit 102 may thus be configured to store a number of operating points corresponding to the operational profile of a specified fan. The operating points may be only those operating points where the slope of the RPM vs. Temperature function within the operational profile changes. Data may be stored in storage unit 102 through the profile data input. Processing unit 104 may be configured to communicate with storage unit 102 and closed loop fan controller 106, to perform the interpolation and extract the RPM value based on the stored operating points and present (measured) temperature. In one set of embodiments a temperature measurement value from a temperature sensor may be may provided to fan controller 106, while in other embodiments the temperature measurement value may be provided directly into processing unit 104. A feedback signal indicative of the speed of fan 108 may be provided from fan 108 to fan controller 106 to establish closed loop control of fan 108. In one set of embodiments, control circuit 120 may be configured on an integrated circuit comprising pins for receiving the temperature measurement value, profile data and fan speed feedback input. In one set of embodiments, processing unit 104 may be an arithmetic logic unit configured to implement the necessary functions to perform the required interpolation, while in other embodiments processing unit 104 may be implemented as a finite state machine or microcontroller. Various other embodiments to implement control circuit 120 are possible and are contemplated.
In one set of embodiments, a present temperature reading tk may be received, and if no stored operating point (ti, ri) such that ti=tk may be found, two stored operating points (t0, r0 and t1, r1) corresponding to the temperature reading may be selected, such that t0<tk<t1, and a desired RPM value may be calculated according to a specified formula, which may be an interpolation algorithm.
which may be expressed as
where
DR=r1−r0,
DT=t1−t0, and
tk0=tk−t0.
In one set of embodiments, the formula (algorithm) for the interpolation as shown above, may be implemented with an arithmetic logic unit (ALU), one embodiment of which is shown in
As shown in
Referring again to
Various embodiments of a closed-loop autonomous RPM control disclosed herein may therefore be configured to limit the effects of fan aging on fan control accuracy, while reducing storage requirements for storing operating points corresponding to an operational profile of the specified, controlled fan. The RPM control may be configured with a programmable linear/step response to allow for performing linear interpolation or applying a step control to the controlled fan. It should also be noted that while
Although the embodiments above have been described in considerable detail, other versions are possible. Numerous variations and modifications will become apparent to those skilled in the art once the above disclosure is fully appreciated. It is intended that the following claims be interpreted to embrace all such variations and modifications. Note the section headings used herein are for organizational purposes only and are not meant to limit the description provided herein or the claims attached hereto.
This application is a divisional application of U.S. patent application Ser. No. 12/393,571 titled “RPM Controller Using Drive Profiles” filed Feb. 26, 2009, now U.S. Pat. No. 8,241,008 whose inventors are Chao-Ming Tsai and Lynn R. Kern, and which is hereby incorporated by reference in its entirety as though fully and completely set forth herein.
Number | Name | Date | Kind |
---|---|---|---|
4124001 | Samuel et al. | Nov 1978 | A |
4382218 | McVey | May 1983 | A |
4459519 | Erdman | Jul 1984 | A |
4530395 | Parker et al. | Jul 1985 | A |
4667480 | Bessler | May 1987 | A |
4702413 | Beckley et al. | Oct 1987 | A |
4722669 | Kundert | Feb 1988 | A |
4727468 | Maekawa | Feb 1988 | A |
4828088 | Mohan et al. | May 1989 | A |
4856078 | Konopka | Aug 1989 | A |
4856286 | Sulfstede et al. | Aug 1989 | A |
4860231 | Ballard et al. | Aug 1989 | A |
4978896 | Shah | Dec 1990 | A |
5142286 | Ribner et al. | Aug 1992 | A |
5249741 | Bistline et al. | Oct 1993 | A |
5271558 | Hampton | Dec 1993 | A |
5307439 | Enami | Apr 1994 | A |
5379606 | Katsuki et al. | Jan 1995 | A |
5447414 | Nordby et al. | Sep 1995 | A |
5477827 | Weisman et al. | Dec 1995 | A |
5511724 | Freiberger et al. | Apr 1996 | A |
5563480 | Okada | Oct 1996 | A |
5687079 | Bauer et al. | Nov 1997 | A |
5727928 | Brown | Mar 1998 | A |
5825972 | Brown | Oct 1998 | A |
5872733 | Buti et al. | Feb 1999 | A |
5896736 | Rajamani | Apr 1999 | A |
5942866 | Hsieh | Aug 1999 | A |
5945870 | Chu et al. | Aug 1999 | A |
5962933 | Henderson et al. | Oct 1999 | A |
5983653 | Lee | Nov 1999 | A |
5990582 | Henderson et al. | Nov 1999 | A |
6029119 | Atkinson | Feb 2000 | A |
6147465 | Hollenbeck | Nov 2000 | A |
6182902 | Shih | Feb 2001 | B1 |
6188189 | Blake | Feb 2001 | B1 |
6194858 | Chen | Feb 2001 | B1 |
6204623 | Levy et al. | Mar 2001 | B1 |
6208538 | Halamik et al. | Mar 2001 | B1 |
6211635 | Kambe et al. | Apr 2001 | B1 |
6226324 | Allstrom | May 2001 | B1 |
6247898 | Henderson et al. | Jun 2001 | B1 |
6262549 | Yang et al. | Jul 2001 | B1 |
6278392 | Nestler | Aug 2001 | B1 |
6313441 | Schaper et al. | Nov 2001 | B1 |
6366049 | Chen et al. | Apr 2002 | B1 |
6380704 | Chin | Apr 2002 | B1 |
6381406 | Smith et al. | Apr 2002 | B1 |
6385395 | Horng et al. | May 2002 | B1 |
6392372 | Mays, II | May 2002 | B1 |
6447146 | Skinner et al. | Sep 2002 | B1 |
6448896 | Bankus et al. | Sep 2002 | B1 |
6481388 | Yamamoto | Nov 2002 | B1 |
6481974 | Horng et al. | Nov 2002 | B2 |
6519167 | Nguyen | Feb 2003 | B1 |
6526333 | Henderson et al. | Feb 2003 | B1 |
6528987 | Blake et al. | Mar 2003 | B1 |
6563284 | Teutsch et al. | May 2003 | B2 |
6601168 | Stancil et al. | Jul 2003 | B1 |
6617815 | Krief | Sep 2003 | B1 |
6646396 | Brown et al. | Nov 2003 | B2 |
6650074 | Vyssotski et al. | Nov 2003 | B1 |
6661679 | Yang et al. | Dec 2003 | B1 |
6674369 | Riddoch | Jan 2004 | B1 |
6693410 | Terrien | Feb 2004 | B1 |
6703803 | Ohiwa et al. | Mar 2004 | B2 |
6737860 | Hsu et al. | May 2004 | B2 |
6747424 | Malik et al. | Jun 2004 | B1 |
6757592 | Henderson et al. | Jun 2004 | B1 |
6765422 | Aslan et al. | Jul 2004 | B1 |
6778938 | Ng et al. | Aug 2004 | B1 |
6793879 | Bayer et al. | Sep 2004 | B2 |
6809497 | Kudo et al. | Oct 2004 | B2 |
6812737 | Sueyoshi et al. | Nov 2004 | B2 |
6815916 | Horng et al. | Nov 2004 | B2 |
6874327 | Wahler et al. | Apr 2005 | B1 |
6879120 | Xi | Apr 2005 | B2 |
6885160 | Takeuchi | Apr 2005 | B2 |
6919703 | Marando et al. | Jul 2005 | B2 |
6924568 | Dhuey | Aug 2005 | B2 |
6933697 | Marando et al. | Aug 2005 | B2 |
6997684 | Hahn et al. | Feb 2006 | B2 |
7026775 | Kokubo et al. | Apr 2006 | B2 |
7029239 | Marando et al. | Apr 2006 | B2 |
7038408 | Lin et al. | May 2006 | B2 |
7048199 | Melink | May 2006 | B2 |
7064511 | Marando et al. | Jun 2006 | B2 |
7069172 | Bekker et al. | Jun 2006 | B2 |
7075261 | Burstein | Jul 2006 | B2 |
7076159 | Bekker | Jul 2006 | B2 |
7092623 | Bekker | Aug 2006 | B2 |
7096134 | Miller, Jr. | Aug 2006 | B2 |
7109670 | Rehm | Sep 2006 | B1 |
7132809 | Chang | Nov 2006 | B1 |
7135826 | Ma et al. | Nov 2006 | B2 |
7138781 | Murray et al. | Nov 2006 | B2 |
7151349 | Williamson et al. | Dec 2006 | B1 |
7211977 | Squibb | May 2007 | B2 |
7218073 | Huang et al. | May 2007 | B2 |
7245095 | Hsu | Jul 2007 | B2 |
7279857 | Babb et al. | Oct 2007 | B2 |
7295897 | Marando et al. | Nov 2007 | B2 |
7340367 | Inoue et al. | Mar 2008 | B2 |
7362060 | Tembreull et al. | Apr 2008 | B2 |
7407046 | Bhat et al. | Aug 2008 | B2 |
7550936 | Kurita | Jun 2009 | B2 |
20030011332 | Mays, II | Jan 2003 | A1 |
20030137267 | Blake | Jul 2003 | A1 |
20030175124 | Hahn et al. | Sep 2003 | A1 |
20030193307 | Burstein | Oct 2003 | A1 |
20030234630 | Blake | Dec 2003 | A1 |
20040001542 | Miller, Jr. | Jan 2004 | A1 |
20040234376 | Marando et al. | Nov 2004 | A1 |
20050040777 | Bekker | Feb 2005 | A1 |
20050156544 | Marando et al. | Jul 2005 | A1 |
20050186083 | Marando et al. | Aug 2005 | A1 |
20050238336 | Bekker | Oct 2005 | A1 |
20050256670 | Bekker et al. | Nov 2005 | A1 |
20070075675 | Hsu | Apr 2007 | A1 |
20070162160 | Chang et al. | Jul 2007 | A1 |
20080036403 | Ma et al. | Feb 2008 | A1 |
20080088263 | Lee | Apr 2008 | A1 |
20080088463 | Wu et al. | Apr 2008 | A1 |
20080095521 | Chen et al. | Apr 2008 | A1 |
20080170947 | Sutardja | Jul 2008 | A1 |
20090167220 | Kanamori | Jul 2009 | A1 |
20100017039 | Han et al. | Jan 2010 | A1 |
Entry |
---|
Taiwan Office Action, Application No. 099105471, 20 pages, Dec. 26, 2012. |
Johns et al.; “Analog Integrated Circuit Design;” John, Wiley & Sons, 1996; p. 550. |
Liu; “Tutorial on Designing Delta-Sigma Modulators: Part 1;” CommsDesign, Mar. 30, 2004, retrieved from Internet: <http://www.commsdesign—com/showArticle—ihtml?articleID=18402743>; 22 pages. |
“dBCOOL Remote Thermal Controller and Voltage Monitor—ADM1027;” Analog Devices, 2003; 56 pages. |
“LM63: ±1° C/±3° C Accurate Remote Diode Digital Temperature Sensor with Integrated Fan Control;” National Semiconductor Corporation, May 2003; 28 pages. |
Ohr; “Analog IC vendors find ‘Intel Inside’ a safe bet;” EE Times, retrieved from Internet: <http://www.eetimes.com/electronics-news/4166002/Analog-IC-vendors-find-Intel-Inside-a-safe-bet>, Sep. 12, 2002; 3 pages. |
Number | Date | Country | |
---|---|---|---|
20120330464 A1 | Dec 2012 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 12393571 | Feb 2009 | US |
Child | 13549600 | US |