Server fan control system and method
By controlling the fan communication path through the gating switch and switching switch between the server BMC and CPLD, the overheating problem caused by the fan not working during CPLD firmware upgrade is solved, and effective heat dissipation control is achieved during the firmware upgrade process.
Patent Information
- Application Number
- CN202511388001.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-09-26
- Publication Date
- 2025-11-14
AI Technical Summary
Existing server cooling technologies pose a risk of overheating and damage to internal electronic components during CPLD firmware upgrades if the fan fails to operate.
By setting up a gating switch and a switching switch between the server BMC and CPLD, and using the GPIO interface to control the switch state, the communication path between the CPLD and the PWM signal generation unit and the fan is switched, ensuring that the fan can still be controlled by the PWM control signal when the CPLD firmware is upgraded.
This avoids overheating and damage to internal electronic components caused by the fan not working during CPLD firmware upgrades, ensuring the server's heat dissipation requirements during the firmware upgrade process.
Smart Images

Figure CN120949909A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of server heat dissipation technology, and in particular to a server fan control system and method. Background Technology
[0002] With the development of industries such as AI, cloud computing, big data, and blockchain, the demand for servers is increasing. Servers based on the OCSP (Open Common Server Platform) architecture are becoming increasingly widely used due to their modular design. In this architecture, a separate fan board is typically designed for fan control. However, due to limitations in connector pins, more and more server cooling designs are adopting a solution where the CPLD (Complex Programming Logic Device) is placed on the fan board, and the CPLD communicates with the server's BMC (Baseboard Management Controller) via I2C.
[0003] Currently, most server cooling designs use CPLDs to directly control the fans. However, due to constantly changing customer needs, CPLD firmware upgrades are inevitable after product delivery. Because of the continuity of service, customers often need to perform CPLD firmware upgrades without downtime. With existing technology, the fans are often inactive during CPLD firmware upgrades, causing a sharp rise in the temperature of internal server components, posing a risk of overheating and damage. Summary of the Invention
[0004] In view of this, the purpose of the present invention is to provide a server fan control system and method to alleviate the problem of overheating and damage to electronic components in the server due to fan failure during CPLD firmware upgrades in existing server heat dissipation technologies.
[0005] In a first aspect, embodiments of the present invention provide a server fan control system, including a server BMC, a CPLD, a PWM signal generation unit, a switching switch, and a fan. The server BMC and the CPLD are connected via two I2C buses. A gating switch is provided on one of the I2C buses between the server BMC and the CPLD. The CPLD and the PWM signal generation unit are connected via one I2C bus. The switching switch is connected to the CPLD, the PWM signal generation unit, and the fan respectively. The server BMC is used to control the working states of the gating switch and the switching switch respectively through a GPIO interface. The CPLD is used to: send a first PWM control signal to the fan to control the fan speed when the gating switch is off and the switching switch enables the CPLD to communicate with the fan; and send PWM control data to the PWM signal generation unit when the gating switch is on and the switching switch enables the PWM signal generation unit to communicate with the fan, so that the PWM signal generation unit sends a second PWM control signal to the fan to control the fan speed based on the PWM control data.
[0006] Secondly, embodiments of the present invention also provide a server fan control method, applied to the server fan control system described in the first aspect above, comprising: the server BMC controlling the working states of the gating switch and the switching switch respectively through a GPIO interface; when the gating switch is off and the switching switch enables the CPLD to communicate with the fan, the CPLD sends a first PWM control signal to the fan to control the fan speed; when the gating switch is on and the switching switch enables the PWM signal generation unit to communicate with the fan, the CPLD sends PWM control data to the PWM signal generation unit, so that the PWM signal generation unit sends a second PWM control signal to the fan based on the PWM control data to control the fan speed.
[0007] This invention provides a server fan control system and method. The server BMC controls the working states of a selector switch and a toggle switch via GPIO interfaces. When the selector switch is off and the toggle switch enables the CPLD to communicate with the fan, the CPLD sends a first PWM control signal to the fan to control the fan speed. When the selector switch is on and the toggle switch enables the PWM signal generation unit to communicate with the fan, the CPLD sends PWM control data to the PWM signal generation unit, which then sends a second PWM control signal to the fan based on the PWM control data to control the fan speed. Even if a CPLD firmware upgrade is required, the fan speed can still be controlled via the PWM control signal, thereby preventing overheating and damage to the server's electronic components due to the fan not working during the CPLD firmware upgrade.
[0008] Other features and advantages of the invention will be set forth in the description which follows, and will be apparent in part from the description, or may be learned by practicing the invention. The objects and other advantages of the invention are realized and obtained in accordance with the structures particularly pointed out in the description, claims and drawings.
[0009] To make the above-mentioned objects, features and advantages of the present invention more apparent and understandable, preferred embodiments are described below in detail with reference to the accompanying drawings. Attached Figure Description
[0010] To more clearly illustrate the specific embodiments of the present invention or the technical solutions in the prior art, the drawings used in the description of the specific embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of the present invention. For those skilled in the art, other drawings can be obtained from these drawings without creative effort.
[0011] Figure 1 This is a schematic diagram of the structure of a server fan control system according to an embodiment of the present invention; Figure 2 This is a schematic diagram of the fan control connection structure in an embodiment of the present invention; Figure 3 This is a schematic diagram of the fan control strategy in an embodiment of the present invention; Figure 4 This is a schematic diagram of the fan control curve in an embodiment of the present invention; Figure 5 This is a flowchart illustrating a server fan control method according to an embodiment of the present invention. Detailed Implementation
[0012] To make the objectives, technical solutions, and advantages of the embodiments of the present invention clearer, the technical solutions of the present invention will be clearly and completely described below in conjunction with the embodiments. Obviously, the described embodiments are only some embodiments of the present invention, not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0013] Currently, in existing server cooling technologies, the fans are often not operating during CPLD firmware upgrades. This causes a rapid increase in the temperature of internal electronic components, posing a risk of overheating and damage. Therefore, this invention provides a server fan control system and method that can alleviate the problem of overheating and damage to internal electronic components caused by the fans not operating during CPLD firmware upgrades.
[0014] To facilitate understanding of this embodiment, a server fan control system disclosed in this invention will first be described in detail, see [link to relevant documentation]. Figure 1 As shown, the system may include a server BMC100, a CPLD200, a PWM signal generation unit 300, a switch 400, and a fan 500. The server BMC100 and the CPLD are connected via two I2C buses. A selector switch 600 is provided on one of the I2C buses between the server BMC100 and the CPLD200. The CPLD200 and the PWM signal generation unit 300 are connected via one I2C bus. The switch 400 is connected to the CPLD200, the PWM signal generation unit 300, and the fan 500, respectively. See Figure 1 As shown, the server BMC100 can be used to control the working states of the selector switch 600 and the toggle switch 400 respectively via the GPIO interface; the CPLD200 can be used to perform the following operations: when the selector switch 600 is open and the toggle switch 400 enables the CPLD200 to communicate with the fan 500, a first PWM control signal is sent to the fan 500 to control the speed of the fan 500; when the selector switch 600 is on and the toggle switch 400 enables the PWM signal generation unit 300 to communicate with the fan 500, PWM control data is sent to the PWM signal generation unit 300 so that the PWM signal generation unit 300 sends a second PWM control signal to the fan 500 based on the PWM control data to control the speed of the fan 500.
[0015] When the server is working normally, the server BMC100 controls the strobe switch 600 to open and the switch 400 to switch to the position that enables the CPLD200 to communicate with the fan 500 through the GPIO interface. At this time, the CPLD200 sends the first PWM control signal to the fan 500. Since the first PWM control signal received by the fan comes from the CPLD200, the CPLD200 controls the speed of the fan 500.
[0016] When a CPLD200 firmware upgrade is required, the server BMC100 controls the strobe switch 600 to turn on and the switch 400 to switch to the position that enables the PWM signal generation unit 300 to communicate with the fan 500 via the GPIO interface. At this time, the CPLD200 sends PWM control data to the PWM signal generation unit 300. The PWM signal generation unit 300 sends a second PWM control signal to the fan 500 based on the received PWM control data. Since the second PWM control signal received by the fan comes from the PWM signal generation unit 300, the PWM signal generation unit 300 controls the speed of the fan 500. There is no situation where the fan 500 will not work due to the lack of a PWM control signal, ensuring that the speed of the fan 500 can still be controlled by the PWM control signal during the CPLD200 firmware upgrade.
[0017] By adopting the above-mentioned server fan control system, even if a CPLD firmware upgrade is required, the fan speed can still be controlled by the PWM control signal, thereby avoiding overheating and damage to the electronic components inside the server due to the fan not working during the CPLD firmware upgrade.
[0018] As one possible implementation method, see Figure 1 and Figure 2 As shown, the server BMC100 can also be used to: output an enable signal to the gating switch 600 via the GPIO interface to control the working state of the gating switch 600; and output a channel selection signal to the switching switch 400 via the GPIO interface to control the working state of the switching switch 400.
[0019] For example, see Figure 1As shown, the operation modes of the server BMC100 controlling the working states of the selector switch 600 and the toggle switch 400 respectively can include: when the enable signal output to the selector switch 600 through the GPIO interface is low, the selector switch 600 is turned off; when the enable signal output to the selector switch 600 through the GPIO interface is high, the selector switch 600 is turned on; when the channel selection signal output to the toggle switch 400 through the GPIO interface is low, the toggle switch 400 enables the CPLD200 to communicate with the fan 500 (at this time, the toggle switch 400 can be considered to be in the first position); when the channel selection signal output to the toggle switch 400 through the GPIO interface is high, the toggle switch 400 enables the PWM signal generation unit 300 to communicate with the fan 500 (at this time, the toggle switch 400 can be considered to be in the second position).
[0020] by Figure 2 For example, if the GPIO outputs of server BMC100 are connected to the enable terminal (denoted as "EN") of gating switch 600 and the channel selection terminal (denoted as "SEL") of switch 400, the corresponding control strategy is as follows: When the EN enable signal of gating switch 600 is high, gating switch 600 is turned on; when the EN enable signal of gating switch 600 is low, gating switch 600 is turned off; when the SEL channel selection signal of switch 400 is high, switch 400 switches to the second position to establish a communication channel between PWM signal generation unit 300 and fan 500, CPLD200 sends PWM control data to PWM signal generation unit 300, and PW... The M-signal generation unit 300 outputs a second PWM control signal to the fan 500 based on the received PWM control data. At this time, the PWM control signal output by the PWM signal generation unit 300 to the fan 500 (i.e., the second PWM control signal) is selected to control the speed of the fan 500. When the SEL channel selection signal of the switch 400 is low, the switch 400 switches to the first position, establishing a communication channel between the CPLD 200 and the fan 500. The CPLD 200 outputs a first PWM control signal to the fan 500. At this time, the PWM control signal output by the CPLD 200 to the fan 500 (i.e., the first PWM control signal) is selected to control the speed of the fan 500. In this way, only one GPIO interface is needed to control the operating states of the gating switch and the switch, thereby selecting the appropriate PWM control signal to control the speed of the fan 500.
[0021] As one possible implementation method, see Figure 1 and Figure 2 As shown, the BMC100 server can be configured with a first I2C interface ( Figure 2 (Referred to as I2C0 in Chinese), the CPLD200 can be configured with a second I2C interface ( Figure 2 (referred to as I2C1) and the third I2C interface ( Figure 2 (referred to as I2C2). The first I2C interface and the second I2C interface can be connected through the first I2C bus, and the first I2C interface and the third I2C interface can be connected through the second I2C bus. A strobe switch 600 can be set on the second I2C bus.
[0022] In practical applications, with Figure 2 For example, I2C0 and I2C1 can be used for data interaction between the BMC100 server and the CPLD200. I2C0 can be the I2C interface of the BMC100 server, operating in Master mode. I2C1 can be a user-defined I2C interface, operating in Slave mode, which can be used by the BMC100 server to access the CPLD200 to obtain the required data from the CPLD200. I2C2 can be a dedicated I2C interface for the CPLD200, which can be used for firmware upgrades. At the same time, a gating switch 600 is added to the dedicated I2C interface for CPLD200 firmware upgrades (i.e., I2C2), which can be used to achieve physical isolation between I2C0 and I2C2. When the server is working normally, the gating switch 600 of I2C2 connected to the CPLD200 is in the off state. The gating switch 600 can be used to effectively prevent the CPLD200 firmware from being modified due to accidental operation of the BMC100 server during normal use.
[0023] Following the previous example, see Figure 2 As shown, when the server is working normally, the control signals output by the GPIO pins of the server BMC100 (including the EN enable signal of the gating switch 600 and the SEL channel selection signal of the switching switch 400) are at a low level. At this time, the gating switch 600 is open, and the communication connection between the I2C interface (i.e., I2C0) of the server BMC100 and the dedicated I2C interface (i.e., I2C2) of the CPLD200 is disconnected. The server BMC100 and the CPLD200 exchange data through the user-defined I2C interface (i.e., I2C1) via I2C0. At this time, the switching switch 400 establishes a communication channel between the CPLD200 and the fan 500. The CPLD200 outputs the first PWM control signal to the fan 500. Since the PWM control signal (i.e., the first PWM control signal) received by the fan 500 comes from the CPLD200, the CPLD200 controls the speed of the fan 500 at this time.
[0024] As one possible implementation method, see Figure 1 and Figure 2 As shown, the CPLD200 can also be equipped with a fourth I2C interface ( Figure 2 (Referring to I2C3 in the original text) The PWM signal generation unit 300 can be equipped with a fifth I2C interface ( Figure 2 (Referred to as I2C4 in Chinese) The fourth I2C interface and the fifth I2C interface can be connected through the third I2C bus; based on this, the CPLD200 is also used to: send PWM control data to the PWM signal generation unit through the fourth I2C interface when the strobe switch is turned on and the switching switch enables the PWM signal generation unit to communicate with the fan, so that the PWM signal generation unit can receive the PWM control data through the fifth I2C interface.
[0025] Following the previous example, see Figure 2 As shown, I2C3 can be a user-defined I2C interface, operating in Master mode; I2C4 can be the I2C interface of the PWM signal generation unit 300, operating in Slave mode; I2C3 and I2C4 can be used for data interaction between the PWM signal generation unit 300 and the CPLD; when a CPLD200 firmware upgrade is required (e.g., after the user clicks the "CPLD Firmware Upgrade" button on the web interface provided by the server BMC100), the GPIO pins of the server BMC100 will output high-level control signals (including the EN enable signal and the SEL channel selection signal). At this time, the selector switch 600 is turned on, and the communication connection between the server BMC100's I2C interface (i.e., I2C0) and the CPLD200's dedicated I2C interface (i.e., I2C2) is in a conducting state. The server BMC100 and the CPLD200 exchange data through I2C0 and I2C2. At this time, the switch 400 is switched on synchronously. To establish a communication channel between the PWM signal generation unit 300 and the fan 500, the CPLD200 sends PWM control data to the PWM signal generation unit 300 through a user-defined I2C interface (i.e., I2C3). The PWM signal generation unit 300 receives the PWM control data from the CPLD200 through I2C4. The PWM signal generation unit 300 uses the received PWM control data to generate a second PWM control signal and outputs the second PWM control signal to the fan 500. Since the PWM control signal received by the fan 500 (i.e., the first PWM control signal) comes from the PWM signal generation unit 300, the PWM signal generation unit 300 controls the speed of the fan 500. There is no situation where the fan does not work due to the lack of a PWM control signal. At the same time, the server BMC100 can perform firmware upgrades on the CPLD200 normally, avoiding the problem of electronic components inside the server being damaged due to overheating during the firmware upgrade of the CPLD200.
[0026] In addition, see Figure 2As shown, the PWM signal generation unit 300 can also have a built-in register. The CPLD200 can then write PWM control data (such as the PWM control value of the fan 500) into the built-in register of the PWM signal generation unit 300 via I2C3, so that the PWM control data from the CPLD200 can be directly read from the built-in register of the PWM signal generation unit 300 for use.
[0027] As one possible implementation method, see Figure 1 and Figure 2 As shown, the server fan control system may also include a temperature sensor 700, which can be used to collect temperature information from the server motherboard; the temperature sensor 700 may be equipped with a sixth I2C interface (…). Figure 2 The fourth I2C interface (i.e., I2C3) and the sixth I2C interface can be connected via the fourth I2C bus. Based on this, the CPLD200 can also be used to: request temperature information collected by the temperature sensor 700 through the fourth I2C interface, and receive temperature information sent by the temperature sensor through the sixth I2C interface through the fourth I2C interface.
[0028] Following the previous example, see Figure 2 As shown, I2C5 can be the I2C interface of temperature sensor 700 on the server motherboard, which operates in Slave mode and can be used by CPLD200 to read temperature information collected by temperature sensor 700 through this I2C interface.
[0029] As one possible implementation method, see Figure 1 and Figure 2 As shown, the CPLD200 can have a built-in register and can be connected to a fan. Based on this, the CPLD200 can also be used to: store temperature information through the register; obtain the fan speed information of the 500 and store the speed information through the register.
[0030] Accordingly, see Figure 1 and Figure 2 As shown, the server BMC can also be used to: request and obtain the status information stored on the CPLD200 through the first I2C interface (i.e., I2C0), and receive the status information sent by the CPLD200 through the second I2C interface (i.e., I2C1) through the first I2C interface; wherein, the status information may include temperature information and / or rotation speed information.
[0031] Following the previous example, see Figure 2As shown, the user-defined registers within the CPLD200 mainly contain the fan speed information of the 500 and the temperature information monitored by the temperature sensor 700. The server BMC100 can access the user-defined registers within the CPLD200 via I2C1 to read the speed and temperature information. The CPLD200 then reports the speed and temperature information read by the server BMC100 to the server BMC100 via I2C1, thereby enabling the monitoring of fan speed and temperature status.
[0032] As one possible implementation method, see Figure 1 and Figure 2 As shown, there can be at least one temperature sensor 700, and the temperature information can include the temperature value collected by each temperature sensor 700. Based on this, the CPLD 200 can also be used to: determine the current temperature value based on the temperature value collected by each temperature sensor 700, and determine the PWM control value based on the current temperature value and the preset temperature threshold information; when the selector switch 600 is open and the switch 400 enables the CPLD 200 to communicate with the fan 500, generate a first PWM control signal based on the PWM control value; when the selector switch 600 is on and the switch 400 enables the PWM signal generation unit 300 to communicate with the fan 500, send the PWM control value as PWM control data to the PWM signal generation unit 300 so that the PWM signal generation unit 300 generates a second PWM control signal based on the PWM control data.
[0033] For example, the preset temperature threshold information may include a first temperature threshold. Second temperature threshold Third temperature threshold and the fourth temperature threshold , Based on this, see Figure 2 As shown, the CPLD200 can also be used to: determine the current temperature value as the maximum temperature value collected by the temperature sensor 700 (i.e., the temperature of the element with the highest monitored temperature). If the current temperature value Less than the first temperature threshold Then the PWM control value is determined to be a preset fixed value. , Less than 100; if the current temperature value Not less than the first temperature threshold And less than the second temperature threshold Then determine the PWM control value. If the current temperature value Not less than the second temperature threshold And less than the third temperature threshold Then determine the PWM control value. If the current temperature value Not less than the third temperature threshold And less than the fourth temperature threshold Then determine the PWM control value. If the current temperature value Not less than the fourth temperature threshold Then the PWM control value is set to 100.
[0034] Figure 3 The fan control strategy of the above-described server fan control system is shown. See also Figure 2 and Figure 3 As shown, in order to better adapt to the heat dissipation requirements at different temperatures, four different temperature thresholds (i.e., , , and The relationship between these four different temperature thresholds is as follows: The CPLD200 monitors the temperature values collected by temperature sensor 700 on the server motherboard, and takes the temperature value collected by the temperature sensor 700 corresponding to the component with the highest temperature as the current temperature value. The following fan control strategies can be adopted: (1) When When the server is unloaded, the PWM control signal value calculated by the CPLD200 (i.e., the PWM control value) is fixed at this time. In this situation, fan 500 operates at an extremely low speed, consuming the least power and producing the least noise. (2) When At this time, corresponding to a light server load, the PWM control signal value calculated by CPLD200 is... Compared to a server without load, the PWM control signal value output by the CPLD200 was appropriately increased to suppress the rise in component temperature.
[0035] (3) When At that time, corresponding to the server's rated load, the PWM control signal value calculated by CPLD200 is... Compared to light server load conditions, the proportional coefficient of the PWM control signal has been increased (from 3 to 5) to facilitate the rapid dissipation of heat.
[0036] (4) When At this time, corresponding to the server overload situation, the PWM control signal value calculated by CPLD200 is... Compared to the server's rated load, the proportional coefficient of the PWM control signal has been further increased (from 5 to 8), further improving the heat dissipation effect.
[0037] (5) When At this time, the fan is running at full speed (500). When the fan is running at full speed (500), the PWM control signal value calculated by CPLD200 is 100.
[0038] When a server is under heavy load, it generates a significant amount of heat per unit time. A constant proportional gain control strategy cannot meet the heat dissipation demands under heavy load, and the temperature cannot be reduced quickly. Therefore, using a variable proportional gain control strategy can improve the dynamic response capability of the aforementioned server fan control system under heavy server load.
[0039] Figure 4 It shows the relationship with Figure 3 The fan control curves corresponding to the fan control strategies shown are illustrated.
[0040] Following the previous example, see Figures 2 to 4 As shown, in CPLD200 according to Figure 2 After calculating the PWM control value required to control the speed of fan 500, the control strategy shown can, on the one hand, output the corresponding PWM control signal to fan 500 through the PWM pin according to the calculated PWM control signal value when the server is working normally and does not require CPLD200 firmware upgrade, so that CPLD200 can control the speed of fan 500; on the other hand, when the server requires CPLD200 firmware upgrade, CPLD200 can write the calculated PWM control value into the built-in register of PWM signal generation unit 300 through I2C3, so that PWM signal generation unit 300 can output the corresponding PWM control signal to fan 500 according to the PWM control value written by CPLD200. This PWM control signal is exactly the same as the PWM control signal output by CPLD200 when no CPLD200 firmware upgrade is required.
[0041] In practical applications, see Figures 2 to 4 As shown, an MCU (Micro Controller Unit) can typically be used as the signal generator for the PWM signal generation unit 300. Based on this, after the CPLD200 writes the calculated PWM control value into the built-in register of the PWM signal generation unit 300 via I2C3, the MCU can output a corresponding PWM control signal to the fan 500 according to the PWM control value calculated by the CPLD200. This PWM control signal is exactly the same as the PWM control signal output by the CPLD200 to the fan 500 through the PWM pin according to the calculated PWM control signal value.
[0042] Since the PWM control signal output by the PWM signal generation unit 300 is exactly the same as the PWM control signal output by the CPLD200, it can ensure that the fan 500 can still meet the heat dissipation requirements by operating at the speed set by the currently received PWM control signal during the CPLD200 firmware upgrade, thus avoiding the problem of electronic components in the server being damaged due to overheating during the CPLD200 firmware upgrade.
[0043] The beneficial effects of the aforementioned server fan control system can be mainly reflected in the following aspects: 1) Two sets of I2C interfaces are used to interconnect the BMC and CPLD. One set of I2C interfaces is used for data interaction between the BMC and CPLD, and the other set of I2C interfaces is dedicated to CPLD firmware upgrades. At the same time, a strobe switch is added to the I2C interface dedicated to CPLD firmware upgrades for physical isolation, which can effectively prevent the CPLD firmware from being modified due to BMC misoperation during normal server use.
[0044] 2) A dedicated PWM signal generation unit is added, which can use the GPIO signal output by the BMC to control the enabling of the dedicated I2C channel for CPLD firmware upgrade and the switching of the fan PWM control signal, thereby realizing fan control during CPLD firmware upgrade and avoiding overheating damage to electronic components in the server during CPLD firmware upgrade.
[0045] 3) The control logic of both BMC and CPLD has been optimized, saving a lot of logic resources, which facilitates the expansion of other functions.
[0046] 4) By selecting the component with the highest temperature, the maximum PWM value can be obtained with only one calculation, which improves the efficiency of PWM control.
[0047] This invention also provides a server fan control method, which can be applied to the above-mentioned server fan control system. See [link to relevant documentation]. Figure 1 and Figure 5 As shown, the method may include: In step S502, the server BMC100 controls the working state of the gating switch 600 and the switching switch 400 respectively through the GPIO interface.
[0048] In step S504, when the selector switch 600 is turned off and the switch 400 enables the CPLD200 to communicate with the fan 500, the CPLD200 sends a first PWM control signal to the fan 500 to control the speed of the fan 500.
[0049] In step S506, when the selector switch 600 is turned on and the switch 400 enables the PWM signal generation unit 300 to communicate with the fan 500, the CPLD 200 sends PWM control data to the PWM signal generation unit 300 so that the PWM signal generation unit 300 sends a second PWM control signal to the fan 500 based on the PWM control data to control the speed of the fan 500.
[0050] The server fan control method provided in this embodiment of the invention can still control the fan speed through PWM control signals even when CPLD firmware upgrade is required, thereby avoiding overheating and damage to electronic components in the server due to the fan not working during CPLD firmware upgrade.
[0051] See Figure 1 and Figure 5 As shown, step S502 (i.e., the server BMC100 controls the working states of the gating switch 600 and the switching switch 400 respectively through the GPIO interface) may include: the server BMC100 outputs an enable signal to the gating switch 600 through the GPIO interface to control the working state of the gating switch 600; and outputs a channel selection signal to the switching switch 400 through the GPIO interface to control the working state of the switching switch 400.
[0052] See Figure 1 and Figure 5 As shown, the operation mode of the server BMC100 controlling the working state of the selector switch 600 and the toggle switch 400 respectively can include: when the enable signal output by the server BMC100 to the selector switch 600 through the GPIO interface is low, the server BMC100 controls the selector switch 600 to be disconnected; when the enable signal output by the server BMC100 to the selector switch 600 through the GPIO interface is high, the server BMC100 controls the selector switch 600 to be turned on; when the channel selection signal output by the server BMC100 to the toggle switch 400 through the GPIO interface is low, the server BMC100 controls the toggle switch 400 to enable the CPLD200 to communicate with the fan 500; when the channel selection signal output by the server BMC100 to the toggle switch 400 through the GPIO interface is high, the server BMC100 controls the toggle switch 400 to enable the PWM signal generation unit 300 to communicate with the fan 500.
[0053] See Figure 1 and Figure 5As shown, the server BMC100 may be equipped with a first I2C interface, and the CPLD200 may be equipped with a second I2C interface and a third I2C interface. The first I2C interface and the second I2C interface may be connected through a first I2C bus, and the first I2C interface and the third I2C interface may be connected through a second I2C bus. A strobe switch 600 may be provided on the second I2C bus.
[0054] See Figure 1 and Figure 5 As shown, the CPLD200 may also be provided with a fourth I2C interface, and the PWM signal generation unit 300 may be provided with a fifth I2C interface. The fourth I2C interface and the fifth I2C interface can be connected through a third I2C bus. Based on this, the step S506 above, in which the CPLD200 sends PWM control data to the PWM signal generation unit 300, may include: the CPLD200 sending the PWM control data to the PWM signal generation unit 300 through the fourth I2C interface, so that the PWM signal generation unit 300 receives the PWM control data through the fifth I2C interface.
[0055] See Figure 1 and Figure 5 As shown, the above-mentioned server fan control system may further include a temperature sensor 700 for collecting temperature information of the server motherboard; the temperature sensor 700 may be provided with a sixth I2C interface, and the fourth I2C interface and the sixth I2C interface may be connected through a fourth I2C bus; based on this, the above-mentioned server fan control method may further include: the CPLD 200 requests to obtain the temperature information collected by the temperature sensor 700 through the fourth I2C interface, and receives the temperature information sent by the temperature sensor 700 through the sixth I2C interface through the fourth I2C interface.
[0056] See Figure 1 and Figure 5 As shown, the CPLD200 may have a built-in register, and the CPLD200 may be connected to the fan 500. Based on this, the above-mentioned server fan control method may further include: the CPLD200 storing the temperature information through the register; the CPLD200 acquiring the speed information of the fan 500 and storing the speed information through the register; the server BMC100 requesting to obtain the status information stored on the CPLD200 through the first I2C interface, and receiving the status information sent by the CPLD200 through the second I2C interface through the first I2C interface; wherein, the status information may include the temperature information and / or the speed information.
[0057] See Figure 1 and Figure 5 As shown, there may be at least one temperature sensor 700, and the temperature information may include the temperature value collected by each temperature sensor 700. Based on this, the above server fan control method may further include: the CPLD 200 determines the current temperature value based on the temperature value collected by each temperature sensor, and determines the PWM control value based on the current temperature value and the preset temperature threshold information.
[0058] See Figure 1 and Figure 5 As shown, before the CPLD200 sends the first PWM control signal to the fan 500, the above-mentioned server fan control method may further include: the CPLD200 generating the first PWM control signal based on the PWM control value.
[0059] See Figure 1 and Figure 5 As shown, in step S506 above, sending PWM control data from CPLD 200 to PWM signal generation unit 300 may include: CPLD 200 sending the PWM control value as the PWM control data to the PWM signal generation unit. Correspondingly, before the PWM signal generation unit 300 sends the second PWM control signal to the fan 500 based on the PWM control data, the above server fan control method may further include: the PWM signal generation unit 300 generating the second PWM control signal based on the PWM control data.
[0060] See Figure 1 and Figure 5 As shown, the preset temperature threshold information may include a first temperature threshold, a second temperature threshold, a third temperature threshold, and a fourth temperature threshold, with the first temperature threshold, the second temperature threshold, the third temperature threshold, and the fourth temperature threshold increasing sequentially. Based on this, the steps performed by the CPLD200 to determine the current temperature value based on the temperature values collected by each temperature sensor, and to determine the PWM control value based on the current temperature value and the preset temperature threshold information, may include: determining the maximum temperature value collected by the temperature sensor as the current temperature value; if the current temperature value is less than the first temperature threshold, then determining the PWM control value as a preset fixed value, where the preset fixed value is less than 100; if the current temperature value is not less than the first temperature threshold and less than the second temperature threshold, then determining the PWM control value as... , The current temperature value, The first temperature threshold, The preset fixed value is used; if the current temperature value is not less than the second temperature threshold and is less than the third temperature threshold, then the PWM control value is determined to be... , The second temperature threshold is used; if the current temperature value is not less than the third temperature threshold and less than the fourth temperature threshold, then the PWM control value is determined to be... , The third temperature threshold is used; if the current temperature value is not less than the fourth temperature threshold, then the PWM control value is determined to be 100.
[0061] The server fan control method provided in this embodiment of the invention has the same implementation principle and technical effect as the aforementioned server fan control system embodiment. For the sake of brevity, any parts not mentioned in the server fan control method embodiment can be referred to the corresponding content in the aforementioned server fan control system embodiment.
[0062] Unless otherwise specifically stated, the relative steps, numerical expressions, and values of the components and steps described in these embodiments do not limit the scope of the invention.
[0063] If the aforementioned functions are implemented as software functional units and sold or used as independent products, they can be stored in a processor-executable, non-volatile, computer-readable storage medium. Based on this understanding, the technical solution of this invention, essentially, or the part that contributes to the prior art, or a portion of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this invention. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0064] In the description of this invention, it should be noted that the terms "center," "upper," "lower," "left," "right," "vertical," "horizontal," "inner," and "outer," etc., indicate the orientation or positional relationship based on the orientation or positional relationship shown in the accompanying drawings. They are used only for the convenience of describing the invention and for simplifying the description, and do not indicate or imply that the device or element referred to must have a specific orientation, or be constructed and operated in a specific orientation. Therefore, they should not be construed as limitations on the invention. Furthermore, the terms "first," "second," and "third" are used for descriptive purposes only and should not be construed as indicating or implying relative importance.
[0065] Finally, it should be noted that the above-described embodiments are merely specific implementations of the present invention, used to illustrate the technical solutions of the present invention, and not to limit it. The scope of protection of the present invention is not limited thereto. Although the present invention has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that any person skilled in the art can still modify or easily conceive of changes to the technical solutions described in the foregoing embodiments within the technical scope disclosed in the present invention, or make equivalent substitutions for some of the technical features; and these modifications, changes, or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of the present invention, and should all be covered within the scope of protection of the present invention. Therefore, the scope of protection of the present invention should be determined by the scope of the claims.
Claims
1. A server fan control system, characterized in that, The system includes a server BMC, a CPLD, a PWM signal generation unit, a switching device, and a fan. The server BMC and the CPLD are connected via two I2C buses. A gating switch is provided on one of the I2C buses between the server BMC and the CPLD. The CPLD and the PWM signal generation unit are connected via one I2C bus. The switching device is connected to the CPLD, the PWM signal generation unit, and the fan. The server BMC is used to control the operating states of the gating switch and the switching device via GPIO interfaces. The CPLD is used to: send a first PWM control signal to the fan to control the fan speed when the gating switch is off and the switching device enables the CPLD to communicate with the fan; and send PWM control data to the PWM signal generation unit when the gating switch is on and the switching device enables the PWM signal generation unit to communicate with the fan, so that the PWM signal generation unit sends a second PWM control signal to the fan to control the fan speed based on the PWM control data.
2. The server fan control system according to claim 1, characterized in that, The server BMC is also used to: output an enable signal to the gating switch through the GPIO interface to control the working state of the gating switch; and output a channel selection signal to the switching switch through the GPIO interface to control the working state of the switching switch.
3. The server fan control system according to claim 2, characterized in that, The server BMC is further configured to: control the gating switch to be disconnected when the enable signal output to the gating switch via the GPIO interface is low; control the gating switch to be turned on when the enable signal output to the gating switch via the GPIO interface is high; control the switching switch to enable the CPLD to communicate with the fan when the channel selection signal output to the switching switch via the GPIO interface is low; and control the switching switch to enable the PWM signal generation unit to communicate with the fan when the channel selection signal output to the switching switch via the GPIO interface is high.
4. The server fan control system according to claim 1, characterized in that, The server BMC is equipped with a first I2C interface, and the CPLD is equipped with a second I2C interface and a third I2C interface. The first I2C interface and the second I2C interface are connected through a first I2C bus, and the first I2C interface and the third I2C interface are connected through a second I2C bus. A strobe switch is provided on the second I2C bus.
5. The server fan control system according to claim 4, characterized in that, The CPLD is further provided with a fourth I2C interface, and the PWM signal generation unit is provided with a fifth I2C interface. The fourth I2C interface and the fifth I2C interface are connected through a third I2C bus. The CPLD is also used to: when the gating switch is turned on and the switching switch enables the PWM signal generation unit to communicate with the fan, send the PWM control data to the PWM signal generation unit through the fourth I2C interface, so that the PWM signal generation unit receives the PWM control data through the fifth I2C interface.
6. The server fan control system according to claim 5, characterized in that, It also includes a temperature sensor for collecting temperature information from the server motherboard; the temperature sensor is provided with a sixth I2C interface, and the fourth I2C interface and the sixth I2C interface are connected through a fourth I2C bus; the CPLD is also used to: request the temperature information collected by the temperature sensor through the fourth I2C interface, and receive the temperature information sent by the temperature sensor through the sixth I2C interface through the fourth I2C interface.
7. The server fan control system according to claim 6, characterized in that, The CPLD has a built-in register and is connected to the fan; the CPLD is also used to: store the temperature information through the register; obtain the fan speed information and store the speed information through the register; The server BMC is further configured to: request and obtain the status information stored on the CPLD through the first I2C interface, and receive the status information sent by the CPLD through the second I2C interface through the first I2C interface; wherein the status information includes the temperature information and / or the rotation speed information.
8. The server fan control system according to claim 7, characterized in that, The temperature sensor is at least one, and the temperature information includes the temperature value collected by each temperature sensor; the CPLD is also used to: determine the current temperature value based on the temperature value collected by each temperature sensor, and determine the PWM control value based on the current temperature value and the preset temperature threshold information; When the selector switch is off and the switching switch enables the CPLD to communicate with the fan, the first PWM control signal is generated based on the PWM control value; when the selector switch is on and the switching switch enables the PWM signal generation unit to communicate with the fan, the PWM control value is sent as the PWM control data to the PWM signal generation unit, so that the PWM signal generation unit generates the second PWM control signal based on the PWM control data.
9. The server fan control system according to claim 8, characterized in that, The preset temperature threshold information includes a first temperature threshold, a second temperature threshold, a third temperature threshold, and a fourth temperature threshold, wherein the first temperature threshold, the second temperature threshold, the third temperature threshold, and the fourth temperature threshold increase sequentially; the CPLD is further configured to: determine the maximum temperature value collected by the temperature sensor as the current temperature value; If the current temperature value is less than the first temperature threshold, the PWM control value is determined to be a preset fixed value, which is less than 100; if the current temperature value is not less than the first temperature threshold and is less than the second temperature threshold, the PWM control value is determined to be... , The current temperature value, The first temperature threshold, The preset fixed value; If the current temperature value is not less than the second temperature threshold and is less than the third temperature threshold, then the PWM control value is determined to be... , This is the second temperature threshold; If the current temperature value is not less than the third temperature threshold and is less than the fourth temperature threshold, then the PWM control value is determined to be... , The third temperature threshold is used; if the current temperature value is not less than the fourth temperature threshold, then the PWM control value is determined to be 100.
10. A server fan control method, characterized in that, The server fan control system according to any one of claims 1 to 9 comprises: The server BMC controls the working state of the gating switch and the toggle switch respectively through the GPIO interface; When the selector switch is off and the switching switch enables the CPLD to communicate with the fan, the CPLD sends a first PWM control signal to the fan to control the fan speed; When the selector switch is turned on and the switching switch enables the PWM signal generation unit to communicate with the fan, the CPLD sends PWM control data to the PWM signal generation unit, so that the PWM signal generation unit sends a second PWM control signal to the fan based on the PWM control data to control the fan speed.
Citation Information
Patent Citations
Server temperature redundancy control method and device
CN111026252A
Server and fan speed regulation method and circuit of server
CN114996096A
Server heat dissipation control device and method
CN118276655A
Control system and server
CN119292430A
Fan speed adjustment method, device, electronic equipment and storage medium
CN119737333A