Temperature estimation based on a fan control signal

Example embodiments disclosed herein relate to the estimation of temperature based on a fan control signal. Example embodiments include the estimation of temperature based on a fan control signal having a value based on a temperature reading of a temperature sensor.

BACKGROUND

A computing device such as a desktop computer, notebook computer, computer networking device, server, or the like, may generate heat during operation. If a component of the computing device becomes too hot, the component may cease operation and/or be damaged. To prevent such overheating, a computing device may include cooling elements such as cooling fans and heat sinks.

DETAILED DESCRIPTION

As noted above, a computing device may include cooling elements such as cooling fans and heat sinks to prevent overheating of components of a computing device. Some computing devices may include temperature sensors at or adjacent to heat-generating components, such as, for example, processors, memory modules, controller hubs, and the like. Such computing devices may also include at least one fan controller to receive temperature readings from the temperature sensors and operate cooling elements, such as cooling fans, based on the received temperature readings.

Additionally, a computing device may include multiple printed circuit assemblies (PCAs) and one or more fans to cool multiple components of the computing device under the control of a temperature controller for the computing device. The computing device may include all custom designed PCAs. Alternatively, to reduce the costs of producing such computing devices, a computing device may include both a custom designed PCA and at least one commodity (e.g., non-custom) PCA not specifically designed for the computing device. Such a commodity PCA may have at least one temperature sensor and at least one fan controller to generate a fan control signal to operate a connected fan based on temperature readings from the temperature sensor.

However, the temperature sensor may not be readily accessible to components external to the commodity PCA. As such, a temperature controller of a custom PCA that controls fans to cool the custom and commodity PCAs of the computing device may not be able to consider readings from the temperature sensor of the commodity PCA in determining a speed at which to operate the fans. Without access to readings of the temperature sensor, the temperature controller may rely on less precise measures of temperature and/or operate the fans of the computing device at a higher than optimal speeds based on worst-case temperatures to prevent overheating of the commodity PCA.

To address these issues, examples disclosed herein may estimate a temperature state of at least a portion of the commodity PCA based on a fan control signal output by a fan controller of the commodity PGA. In some examples, the temperature state estimate may be an estimate of a reading made by a temperature sensor of the commodity PCA. In such examples, estimates of temperature sensor readings may be considered by the temperature controller of the custom PCA in determining the cooling strategy for the computing device. In this manner, the temperature controller for the computing device may operate fans of the computing device based at least in part on estimates of readings of a temperature sensor of the commodity PCA, even though readings of the temperature sensor may not be readily accessible to the custom PCA.

In other examples, the temperature state estimate may be an estimate of a temperature state of at least a portion of the commodity PCA based on readings of multiple temperature sensors of the commodity PCA. In such examples, the temperature controller of the custom PCA may operate fans of the computing device based at least in part on temperature state estimates.

In this manner, examples disclosed herein may determine a fan speed for the computing device based on at least an estimate of a commodity PCA temperature sensor reading or an estimate of a temperature state based on readings of temperature sensors of the commodity PCA. Accordingly, examples disclosed herein may enable the temperature controller for the computing device to determine, based on at least the estimates, reduced fan speeds sufficient for cooling the commodity PCA. By reducing fan speeds, examples disclosed herein may reduce computing device power consumption as well as the amount of noise generated by computing device fans.

Referring now to the drawings,FIG. 1is a block diagram of an example computing device100to estimate a temperature state from a fan control signal182. As used herein, a “computing device” is a desktop computer, a notebook computer, computer networking device (e.g., a network switch, etc.), a server, or any other device or equipment that may include at least one cooling device (e.g., fan, etc.) for cooling at least one component of the computing device. In some examples, computing device100may be any of the computing devices noted above. In the example ofFIG. 1, computing device100includes a processor110, a machine-readable storage medium120including instructions122,130, and136, and a fan controller140.

As used herein, a “processor” may be at least one central processing unit (CPU), at least one semiconductor-based microprocessor, at least one graphics processing unit (GPU), at least one other hardware device suitable for the retrieval and execution of instructions stored on a machine-readable storage medium, or a combination thereof. In the example ofFIG. 1, processor110may fetch, decode, and execute instructions122,130, and136of machine-readable storage medium120to implement the functionality described below. Alternatively or in addition to fetching, decoding, and executing instructions, processor110may include at least one integrated circuit (IC), at least one other electronic circuit, other control logic, or a combination thereof for performing some or all of the functionality of instructions122,130, and136described below.

Additionally, as used herein, a “machine-readable storage medium” may be any electronic, magnetic, optical, or other physical storage device that contains or stores executable instructions. For example, any machine-readable storage medium described herein may be any of Random Access Memory (RAM), flash memory, a storage drive (e.g. a hard disk), a Compact Disc Read Only Memory (CD-ROM), and the like, or a combination thereof. Further, any machine-readable storage medium described herein may be non-transitory. As used herein, a “fan controller” is a module including logic for controlling the operation of at least one fan of a computing device. For example, a fan controller may determine whether and at what speed to operate at least one fan based on readings of at least one temperature sensor. In some examples, the functionality of fan controller140may be implemented in the form of executable instructions encoded on a machine-readable storage medium, in the form of electronic circuitry, or a combination thereof.

In the example ofFIG. 1, fan controller140may generate a fan control signal182. As used herein, a “fan control signal” is a signal capable of driving a fan of a computing device at a speed indicated by a value of the fan control signal. In some examples, a fan control signal may be a pulse-width modulation (PWM) signal having a value represented by a duty cycle of the PWM signal. In other examples, the fan control signal may be a voltage signal where the voltage level represents the value of the fan control signal.

In some examples, fan controller140may generate a fan control signal182having a value determined by fan controller140based on fan control information and temperature information for at least one component of computing device100. As used herein, “temperature information” is information, based on at least one reading of at least one temperature sensor, indicating a thermal condition of at least one component of a computing device. In some examples, the temperature information may be a value of a temperature reading or a value determined from a plurality of temperature readings from at least one temperature sensor. Additionally, as used herein, “fan control information” is information that defines a relationship between temperature information and fan control signal values. In some examples, the fan control information may include a fan control signal value for each degree that may be indicated by temperature information (e.g., a reading received from a temperature sensor) between certain minimum and maximum temperatures. In other examples, the fan control information may include a plurality of temperature information thresholds and a plurality of fan control signal values to be used by a fan controller when the determined temperature information is above one of the respective thresholds.

In some examples, fan controller140may utilize a reading of a temperature sensor as temperature information for determining a value for fan control signal182based on fan control information. In other examples, fan controller140may determine the temperature information from readings of a plurality of temperature sensors. For example, fan controller140may use an average of the readings or the greatest of the readings as the temperature information. After determining the temperature information, fan controller140may, for example, select a fan control signal value associated with the temperature information in the fan control information. In some examples, if the fan control information does not include a fan control signal value corresponding to the determined temperature information, fan controller140may select a fan control signal value in any suitable manner based on the fan control information and the temperature information. For example, fan controller140may interpolate a fan control signal value based on the fan control information, select the fan control signal value associated with the nearest temperature information value included in the fan control information, or select the fan control signal value corresponding to the greatest temperature information value threshold that the determined temperature information value exceeds.

In the example ofFIG. 1, instructions122may receive fan control signal182from fan controller140. After instructions122receive fan control signal182, instructions130may estimate, based on fan control signal182, a temperature state of at least one component of computing device100. As used herein, a “temperature state” is information indicating thermal conditions of at least one component of a computing device. In some examples, instructions130may estimate the temperature state, based on the value of fan control signal182and temperature estimation information of computing device100. As used herein, “temperature estimation information” is information that defines a relationship between a plurality of fan control signal values and respective temperature states of at least one component of a computing device. Moreover, as used herein, a “component” of a computing device is any physical portion of the computing device including, for example, any portion of heat-generating electronic circuitry or other heat-generating hardware of the computing device.

With knowledge of the behavior of fan controller140(e.g., knowledge of the fan control information used by fan controller140), temperature estimation information may be generated that reliably defines a relationship between fan control signal values and respective temperature states of at least one component of computing device100. As such, instructions130may reliably estimate the temperature state of at least one component of computing device100based on the value of fan control signal182and the temperature estimation information.

In some examples, fan controller140may receive readings from one temperature sensor, and the fan control information for fan controller140may define a relationship between readings of the temperature sensor (i.e., the temperature information) and fan control signal values. With knowledge of the fan control information, temperature estimation information that defines a relationship between a plurality of fan control signal values and respective readings of the temperature sensor (e.g., temperature states) may be stored on computing device100. In such examples, the temperature state estimated by instructions130based on fan control signal182may be an estimate of the temperature sensor reading based on which fan controller140determined the value of fan control signal182. In such examples, because the temperature sensor reading may be a reading of a temperature adjacent the temperature sensor, the temperature state estimate may be an estimate of a temperature adjacent to the temperature sensor.

In other examples, fan controller140may receive readings from multiple temperature sensors, and fan controller140may determine temperature information by combining the readings of the different sensors as described above. With knowledge of the behavior of fan controller140, temperature estimation information that defines a relationship between fan control signal values and temperature states of at least one component of computing device100may be stored on computing device100. In such examples, instructions130may use the temperature estimation information to estimate a temperature state based on the value of fan control signal182. In such examples, the temperature state estimate may be an estimate of whether components adjacent the temperature sensors are receiving sufficient air flow. For example, one temperature state may indicate that components adjacent to the temperature sensors are receiving sufficient air flow, while another temperature state may indicate that at least one component adjacent one of the temperature sensors is not receiving sufficient air flow. In other examples, multiple temperature states may indicate various degrees to which air flow to the at least one component should be increased.

In some examples, instructions130may estimate the temperature state by selecting a temperature state in any suitable manner based on the temperature estimation information and the value of fan control signal182. For example, if the value of fan control signal182is included in the temperature estimation information, then instructions130may estimate the temperature state by selecting the temperature state associated with the value of fan control signal182in the temperature estimation information. If the value of fan control signal182is not included in the temperature estimation information, then instructions130may interpolate a temperature state associated with the value of fan control signal182based on a plurality of fan control signal values and respective temperature states of the temperature estimation information. In other examples, instructions130may select a temperature state associated with the fan control signal value of the temperature estimation information that is nearest to the value of fan control signal182. Alternatively, the temperature estimation information may include a plurality of threshold fan control signal values and corresponding temperature states, and instructions130may select a temperature state associated with the greatest threshold exceeded by the value of fan control signal182.

In examples described above, the temperature estimation information may be based on the behavior of fan controller140. In such examples, the precision of the temperature state estimates made by instructions130may depend upon the granularity with which fan controller140controls the value of fan control signal182. For example, if fan controller140generates a different fan control signal value for each degree of a temperature sensor reading between certain maximum and minimum temperatures (e.g., by storing a fan control signal value for each degree or by interpolating between values), then instructions130may be able to estimate temperature sensor readings to the degree. In other examples, if fan controller140generates different fan control signal values for respective larger ranges of temperature sensor readings, then instructions130may estimate temperature states corresponding to the larger ranges. Additionally, in examples in which fan controller140determines the value for the fan control signal based on readings from multiple temperature sensors, then instructions130may estimate an overall temperature state indicated by the temperature sensors, and may not estimate a reading of any particular temperature sensor. Moreover, in some examples, the behavior of fan controller140may be programmable via the basic input/output system (BIOS) of a PCA comprising fan controller140. In such examples, the behavior of fan controller140may be programmed in a manner that is beneficial for determining temperature states of at east one component of the PCA from a fan control signal generated by fan controller140.

After instructions130estimate the temperature state, instructions136may generate a fan control signal based on at least the temperature state estimate. In some examples, computing device100may include at least one fan for cooling multiple components of computing device100, and the fan control signal generated by instructions136may be provided to the fan to operate the fan to cool components of computing device100. In some examples, instructions136may receive readings from at least one temperature sensor of computing device100. In such examples, instructions136may generate the fan control signal based on the temperature state estimate and at least one reading received from at least one temperature sensor.

In examples described above, a temperature state indicating thermal conditions of at least one component of a computing device may be estimated from a fan control signal output by a fan controller. By estimating the temperature state from the fan control signal, examples described herein may obtain information on the thermal condition of components of the computing device adjacent to at least one temperature sensor that is not readily accessible to a temperature controller operating at least one fan for cooling a plurality of components of the computing device. For example, the temperature controller may be implemented on a custom PCA of the computing device and at least one temperature sensor, disposed on a commodity PCA, may not be readily accessible to the custom PCA. In some examples, the commodity PCA may have a fan controller that generates fan control signals based on readings of the temperature sensor. In such examples, by estimating the temperature state from the fan control signal, the temperature controller may consider the thermal condition of a component adjacent to the at least one temperature sensor in controlling at least one fan, even though the temperature sensor is not readily accessible to the custom PCA.

FIG. 2is a block diagram of an example computing device200to operate at least one fan215in accordance with a temperature state estimated based on a fan control signal182. Computing device200includes processor110, machine-readable storage medium120, and fan controller140, as described above in relation toFIG. 1. Additionally, computing device200includes temperature sensors252and254, and a fan215.

In the example ofFIG. 2, temperature sensors252and254may each take a reading of a temperature adjacent to the temperature sensor. As such, if disposed adjacent to different components of computing device200, sensors252and254may take readings of temperatures of or adjacent to different components of computing device200. For example, sensor252may take temperature readings of a component adjacent to sensor252(e.g., a processor) and sensor254may take temperature readings of another component adjacent to sensor254(e.g., a memory module). In some examples, sensor252may provide temperature readings281to fan controller140, and sensor254may provide temperature readings284to fan controller140. While the example ofFIG. 2includes two temperature sensors252and254, in other examples, computing device200may include more of fewer temperature sensor that may provide temperature readings to fan controller140.

As described above in relation toFIG. 1, fan controller140may determine a value for fan control signal182based on fan control information and temperature information, such as a temperature sensor reading or information determined from a plurality of temperature readings. In some examples, the temperature information may be reading281, reading284, or a combination of at least readings281and284. Fan controller140may determine the temperature information as described above in relation toFIG. 1.

In the example ofFIG. 2, fan controller140may determine a value for fan control signal182based on fan control information250and the temperature information. In some examples, fan control information250may include a plurality of temperature information values252A,252B, and252C and a plurality of fan control signal values254A,254B, and254C associated with the temperature information values. While three temperature information values and fan control signal values of fan control information250are shown in the example ofFIG. 2, in other examples, fan control information250may include more temperature information values and fan control signal values. Additionally, fan control information250may be stored in fan controller140or in another storage area of computing device200.

In some examples, after fan controller140determines the temperature information from at least one of temperature readings281and284, fan controller140may select a fan control signal value associated with the determined temperature information in fan control information250, as described above in relation toFIG. 1. For example, if fan controller140determines that temperature information determined from readings281and284is equivalent to a first temperature information value252A (illustrated as “TI1” inFIG. 2), fan controller140may select the associated fan control signal value254A in fan control information250. After selecting value254A, fan controller140may generate fan control signal182having fan control signal value254A.

In some examples, instructions122may receive fan control signal182from fan controller140. After instructions122receive fan control signal182, instructions130may estimate, based on fan control signal182, a temperature state of at least one component of computing device200. In some examples, instructions130may first determine the value of fan control signal182, and then estimate the temperature state based on the determined value.

In the example ofFIG. 2, instructions130may include fan control signal conditioning instructions232and estimating instructions234. Additionally, in some examples, computing device200may include temperature estimation information260. In some examples, temperature estimation information260may be stored on machine-readable storage medium120, or on another storage area of computing device200accessible to storage medium120. In some examples, temperature estimation information260may include a plurality of fan control signal values262A,262B, and262C and a plurality of temperature states264A,264B, and264C associated with the fan control signal values. While three fan control signal values and temperature states are shown in the example ofFIG. 2, in other examples, temperature estimation information260may include more fan control signal values and temperature states.

In some examples, after receiving fan control signal182, instructions232may condition fan control signal182. After conditioning fan control signal182, estimating instructions234may estimate the temperature state based on at least the conditioned fan control signal and temperature estimation information260. For example, if fan control signal182is a PWM signal, instructions232may condition fan control signal182by utilizing a filter to convert the PWM signal into a voltage signal. In such examples, instructions234may determine the value of fan control signal182from the voltage level of the voltage signal. After determining the value of fan control signal182from the conditioned signal, instructions234may estimate the temperature state by selecting a temperature state based on temperature estimation information260and the value of fan control signal182in any suitable manner, as described above in relation toFIG. 1. For example, if instructions234determine that the value of fan control signal182is equivalent to a fan control signal value262A (illustrated as “V1” inFIG. 2) of temperature estimation information260, instructions234may select the associated temperature state in temperature estimation information260, which is temperature state264A (illustrated as “TS1” inFIG. 2).

In other examples, instructions130may determine the value of fan control signal182without conditioning fan control signal182. For example, if fan control signal182is a PWM signal, instructions130may measure the timing between edges of the PWM signal to determine a duty cycle of the PWM signal, and thereby determine the value of fan control signal182. Alternatively, if fan control signal182is a voltage signal, instructions130may determine the value of fan control signal182from the voltage level of fan control signal182. In other examples, instructions130may determine the value of fan control signal182in any other suitable manner.

After estimating the temperature state, instructions136may generate a fan control signal286for fan215of computing device200. In the example ofFIG. 2, instructions136may include target speed determining instructions238, and generating instructions239. In some examples, after estimating the temperature state, instructions238may determine a target speed for a fan215of computing device200based on at least the temperature state estimate. In some examples, instructions238may determine the target speed for fan215based on the thermal condition indicated by the temperature state estimate.

For example, if the temperature state estimate indicates that at least one component adjacent one of sensors252and254is not receiving sufficient air flow, instructions136may determine a target speed that is greater than a current target speed. In other examples, if the temperature state estimate indicates that the temperatures of components adjacent to sensors252and254are sufficiently low, instructions136may determine a target speed that is the same as or lower than a current target speed. In some examples, instructions238may determine the target speed based on the temperature sensor estimate and at least one temperature reading received by instructions238. For example, if the temperature state estimate is an estimate of a reading of a temperature sensor (e.g., sensor252), instructions238may determine the target speed based on the estimate of the reading of sensor252, and the reading received from another temperature sensor.

In some examples, after determining the target speed for fan215, instructions239may generate a fan control signal286based on the target speed. For example, instructions239may generate fan control signal286with a value corresponding to the target speed such that providing fan control signal286to fan215may drive fan215at the target speed.

FIG. 3is a block diagram of an example computing device300to estimate a temperature state of at least a portion of a PCA370based on a fan control signal182. Computing device300includes a PCA370including temperature sensor252and fan controller140described above in relation toFIGS. 1 and 2. PCA370also includes a temperature sensor353, a fan controller341, and fan headers372and375. Computing device300also includes a temperature sensor357, a fan bank317, and a PCA390. PCA390is separate from PCA370and includes a temperature controller395.

In the example ofFIG. 3, temperature sensor252may take a reading281of a temperature adjacent to the temperature sensor252and provide reading281to fan controller140. In some examples, the temperature adjacent to temperature sensor252may be a temperature of a portion of or a component included on PCA370. After receiving reading281, fan controller140may generate fan control signal182having a value determined by fan controller140based on fan control information and at least temperature reading281(i.e., temperature information). In other examples, fan controller140may determine the value for fan control signal182based on the fan control information, temperature reading281, and at least one other reading received from at least one other temperature sensor.

In the example ofFIG. 3, temperature controller395includes modules396,397, and398. In some examples, the functionality of modules396,397, and398may each be implemented in the form of executable instructions encoded on a machine-readable storage medium, in the form of electronic circuitry, or a combination thereof. As used herein, a “temperature controller” is a module including logic for estimating a temperature state from a fan control signal and controlling the operation of at least one fan of a computing device in accordance with the estimated temperature state. Accordingly, in some examples, a temperature controller may include logic for performing the functions of a fan controller in addition to logic for estimating temperature state from a fan control signal.

In the example ofFIG. 3, a receiving module396of temperature controller395may receive fan control signal182from fan controller140. After module396receives fan control signal182, an estimating module397of temperature controller395may estimate a temperature state of at least a portion of PCA370based on at least fan control signal182. For example, module397may estimate the temperature state from fan control signal182in any manner described above in relation toFIGS. 1and/or2above. In the example ofFIG. 3, fan controller140may determine a value for fan control signal182based on temperature reading281received from temperature sensor252, which may be a reading of a temperature of a portion of PCA370. Accordingly, in some examples, the temperature state estimated based on fan control signal182may be an estimate of a temperature state of a portion of PCA370adjacent to temperature sensor252.

In some examples, a generating module398of temperature controller395may generate a fan control signal386having a value based on at least the temperature state estimate. In such examples, module398may generate fan control signal386based on at least the temperature state estimate in any manner described above in relation toFIGS. 1and/or2above. For example, module398may generate fan control signal386with a value corresponding to a target speed, determined based on the estimate, such that fan control signal386, if provided to a fan, may drive the fan at the target speed.

In some examples, module398may provide fan control signal386to fan bank317, which, in the example ofFIG. 3, includes fans315A and315B. In such examples, fans315A and315B may both operate in response to fan control signal386and at the speed indicated by the value of signal386. In other examples, fan bank317may include more or fewer than two fans, each of which may operate in accordance with the value of fan control signal386. In some examples, the fans of fan bank317may cool components of both PCA370and PCA390when operated.

In some examples, PCA370may also include a temperature sensor353that may take a reading383of a temperature adjacent to temperature sensor353. In some examples, the temperature adjacent to temperature sensor353may be a temperature of a portion of PCA370different than the portion whose temperature is read by sensor252. Sensor353may provide reading383to a fan controller341of PCA370. In such examples, fan controller341may generate a fan control signal385having a value determined by fan controller341based on fan control information and at least reading383(i.e., temperature information). In other examples, fan controller341may determine the value for fan control signal385based on the fan control information, temperature reading383, and at least one other reading received from at least one other temperature sensor.

In some examples, module396may receive fan control signal385from fan controller341. In such examples, module397may estimate a temperature state of portions of PCA370based on fan control signals182and385. For example, PCA390may include temperature estimation information for each of fan control signals182and385. In such examples, module397may estimate a first temperature state based on temperature estimation information and fan control signal182, and estimate a second temperature state based on temperature estimation information and fan control signal385, as described above in relation toFIGS. 1and/or2. In such examples, module397may estimate, based on the first and second estimated temperature states, an overall temperature state for PCA370, which may indicate, for example, whether any component adjacent to temperature sensor252or353is not receiving sufficient air flow. Based on the estimated overall temperature state, module398may determine whether to change the value of fan control signal386to adjust the amount of air flow received by components of PCA370.

In the example ofFIG. 3, temperature sensor357may take a reading384of a temperature adjacent to temperature sensor357. In some examples, the temperature adjacent to temperature sensor357may be a temperature of a portion of PCA390or a portion of computing device300separate from PCA370and PCA390. Module396of PCA390may receive reading384from sensor357. In such examples, module398may generate fan control signal386based on reading384received from temperature sensor357and at least one temperature state estimated by module397. For example, module398may generate fan control signal386based on reading384and at least one of a first temperature state estimate based on fan control signal182, a second temperature state estimate based on fan control signal385, and an overall temperature state estimate based on the first and second temperature state estimates.

In some examples, PCA370may include a fan header372A to which a connector of a computing device fan may be connected. In the example ofFIG. 3, fan header372A includes a plurality of pins, including a control pin374A. In some examples, fan controller140may provide a plurality of signals to fan header372A over a header line376A connecting fan controller140and fan header372A. Additionally, header line376A may connect fan controller140to fan header372A such that fan control signal182is available on control pin374A. In some examples, when a fan is connected to fan header372A, the fan may be operated in accordance with fan control signal182by fan controller140.

In the example ofFIG. 3, a cable392A electrically connects temperature controller395to control pin374A on which fan controller140provides fan control signal182. In such examples, by electrically connecting temperature controller395to control pin374A, cable392A electrically connects fan controller140of PCA370to temperature controller395of PCA390.

In the example ofFIG. 3, PCA370may also include a fan header372B to which a connector of a computing device fan may be connected for operation in accordance with fan control signal385. In such examples, fan controller341may provide fan control signal385to control pin374B of fan header372B via a header line376B, and a cable392B may electrically connect temperature controller395and control pin374B such that temperature controller395may receive fan control signal385via cable392B. In such examples, by electrically connecting temperature controller395to control pin374B, cable392B electrically connects fan controller341of PCA370to temperature controller395of PCA390.

Although in the example ofFIG. 3PCA370includes two fan controllers connected to respective fan headers, in other examples, PCA370may include more or fewer fan controllers connected to respective fan headers. In such examples, temperature controller395may be connected to one or more of the fan headers via respective cables.

In some examples, PCA390may be a custom PCA for computing device300and PCA370may be a commodity PCA. In such examples, readings of temperature sensors252and353may not be readily accessible to PCA390. To address these issues, examples described above provide an electrical connection between PCA390and at least one a readily accessible control pin of a fan header. In this manner, a temperature controller395of PCA390may receive a fan control signal having a value based at least in part on a reading a temperature sensor of PCA370. In examples described above, temperature controller395may estimate a temperature state of at least a portion of PCA370from the fan control signal. In this manner, examples described above may obtain information regarding the thermal condition of at least a portion of PCA370from at least one readily accessible fan control signal, even though readings of temperature sensors of PCA370are not readily accessible to PCA390.

FIG. 4is a flowchart of an example method400for estimating a temperature reading based on a fan control signal. Although execution of method400is described below with reference to computing device100ofFIG. 1, other suitable components for execution of method400can be utilized (e.g., computing device200or300). Additionally, method400may be implemented in the form of executable instructions encoded on a machine-readable storage medium, in the form of electronic circuitry, or a combination thereof.

At405of method400, computing device100may take a reading of a temperature adjacent a temperature sensor. In some examples, the temperature sensor may be a temperature sensor of computing device100disposed on or adjacent to a heat-generating component (e.g., a processor, memory module, etc.) of computing device100. In such examples, the temperature reading may be a reading of a temperature adjacent to the heat-generating component.

After taking the temperature reading, method400may proceed to410where computing device100may generate a fan control signal based on the temperature reading. In some examples, the fan control signal may be generated based on the temperature reading and fan control information, as described above in relation to fan controller140ofFIG. 1. Method400may then proceed to415, where computing device100may condition the fan control signal. In some examples, computing device100may condition the fan control signal as described above in relation to instructions232ofFIG. 2.

After conditioning the fan control signal, method400may proceed to420, where computing device100may estimate the temperature reading based on the conditioned signal. In some examples, computing device100may estimate the temperature reading based on the conditioned signal as described above in relation to instructions234ofFIG. 2. In some examples, the estimate of the temperature reading may be an estimate of a temperature state of at least a portion of computing device100.

After estimating the temperature reading, method400may proceed to425, where computing device100may drive at least one fan in accordance with at least the estimate of the temperature reading. In some examples, the temperature estimate may be used by computing device100to determine a target speed for at least one fan of computing device100that may be used to cool at least a portion of computing device100adjacent to the temperature sensor. In such examples, computing device100may then drive the fan at the target speed. In some examples, computing device100may determine the target fan speed based on the estimate as described above in relation to instructions238ofFIG. 2.

FIG. 5is a flowchart of an example method500for driving at least one fan in accordance with a temperature estimated based on a fan control signal. Although execution of method500is described below with reference to computing device100ofFIG. 1, other suitable components for execution of method500can be utilized (e.g., computing device200or300). Additionally, method500may be implemented in the form of executable instructions encoded on a machine-readable storage medium, in the form of electronic circuitry, or a combination thereof.

In the example ofFIG. 5, computing device100may take a first reading of a temperature adjacent a temperature sensor at505of method500. In some examples, the temperature sensor may be a temperature sensor of computing device100disposed on or adjacent to a heat-generating component (e.g., a processor, memory module, etc.) of computing device100. After taking the first temperature reading, method500may proceed to510where computing device100may generate, based on the first temperature reading, a first fan control signal having a first value. In some examples, the fan control signal may be generated based on the first temperature reading and fan control information, as described above in relation to fan controller140ofFIG. 1. In the example ofFIG. 5, the fan control signal may be a PWM signal having a duty cycle indicative of the first value.

After generating the first fan control signal, method500may proceed to515, where computing device100may condition the fan control signal by converting the fan control signal from a PWM signal to a voltage signal having a voltage indicative of the duty cycle of the PWM signal. In such examples, the voltage signal may be considered a first conditioned signal. Method500may then proceed to520, where computing device100may estimate the first temperature reading based on the first conditioned signal, as described above in relation to instructions234ofFIG. 2.

In the example ofFIG. 5, method500may then proceed to525, where computing device100may determine whether to adjust a target fan speed for at least one fan of computing device100. In some examples, computing device100may determine whether to adjust the target fan speed based on at least the estimate of the first temperature reading. For example, computing device100may estimate thermal conditions of at least a portion of computing device100based on the estimate of the first temperature reading and at least one other temperature state estimate or temperature reading. In such examples, computing device100may determine to adjust the target fan speed if the thermal conditions estimated by computing device100are sufficiently different from the thermal conditions estimated when the target speed was last determined. In this manner, computing device100may refrain from changing the target fan speed based minor changes in thermal conditions.

If it is determined at525to adjust the target fan speed, method500may proceed to530wherein computing device100may determine, based on at least the estimate of the first temperature reading, a target fan speed for at least one fan of computing device100. Method500may then proceed to535, where computing device100may drive the fan in accordance with the target fan speed. In some examples, computing device100may drive the fan by providing a fan control signal to the fan, where the fan control signal has a value corresponding to the target fan speed. If it is determined at525not to adjust the target fan speed, method500may proceed to535, where computing device100may drive the fan of computing device100at a previously-determined fan speed.

After driving the fan, method500may proceed to540, where computing device100may take a second reading of the temperature adjacent to the temperature sensor. Method500may then proceed to545, where computing device100may determine whether a value of the second temperature reading is different than a value of the first temperature reading. If computing device100determines that the second reading is not different, then method500may proceed to540. If computing device100determines that the second reading is different than the first reading, then method500may proceed to510, where computing device100may generate, based on the second temperature reading, a second fan control signal having a second value different than the first value of the first fan control signal.

In such examples, after generating the second fan control signal, method500may proceed to515, where computing device100may condition the second fan control signal to generate a second conditioned signal. Method500may then proceed to520, where computing device100may estimate the second temperature reading based on the second conditioned signal.

In the example ofFIG. 5, after estimating the second temperature reading, method500may proceed to525, where computing device100may determine, based on at least the estimate of the second temperature signal, whether to adjust the target fan speed. If the result of the determination at525is to adjust the target fan speed, method500may proceed to530, where computing device100may determine an adjusted target fan speed based on at least the estimate of the second temperature reading. Method500may then proceed to540, where computing device100may drive the at least one fan of computing device100in accordance with the adjusted target fan speed. If the result of the determination at525is not to adjust the target fan speed, then method500may proceed to535, where computing device100may drive the fan at a previous-determined target speed.