Control method, system and computer program product for a fan
By using a communication method with one clock signal line and N data signal lines, parallel synchronous data transmission for multiple fans is achieved, solving the problem of high resource consumption of the fan controller and improving the performance and stability of the heat dissipation system.
Patent Information
- Application Number
- CN202511276678.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-09-08
- Publication Date
- 2025-11-25
- Estimated Expiration
- 2045-09-08
AI Technical Summary
In existing technologies, when a fan controller transmits data with multiple fans, it consumes a lot of resources, which affects the overall performance of the cooling system.
It adopts a communication method with one clock signal line and N data signal lines, and realizes parallel synchronous data transmission of multiple fans through a unified control command format and communication protocol, thereby reducing the logic resource consumption of the fan controller.
It reduced hardware costs, improved the overall performance of the heat dissipation control system, avoided the problem of data update asynchrony, and enhanced the stability and performance of the system.
Smart Images

Figure CN120743569B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of fan control technology, and in particular to fan control methods, systems, and computer program products. Background Technology
[0002] The efficient and stable operation of the server's heat dissipation system is crucial to the server. The heat dissipation system can be an air-cooled system, which consists of cooling fans. In order to meet the control requirements of the server's air-cooled system, it is necessary to obtain the operating status data of the cooling fans.
[0003] Traditional cooling fan control methods rely on PWM (Pulse Width Modulation) and TACH (Tachometer) signal lines to achieve fan speed regulation and feedback. However, with increasing server cooling demands, servers require multiple cooling fans to meet more precise temperature control requirements. Therefore, the fan control interface needs to transmit more information than just simple speed control signals.
[0004] To meet the need for transmitting more information and to enable independent communication between the fan controller and multiple fans, a standard communication module needs to be set up for each fan. As the number of fans increases, it will consume a lot of the logic resources of the fan controller, leading to increased cost and design complexity, and affecting the overall performance and maintenance efficiency of the cooling system. Summary of the Invention
[0005] This application provides a fan control method, system, and computer program product to at least solve the technical problem in the related art where the fan controller consumes a large amount of resources when transmitting data with multiple fans in an air-cooled heat sink, thus affecting the overall performance of the heat dissipation system.
[0006] This application provides a fan control method applied to a fan controller, comprising: upon receiving fan control information, converting the fan control information into a control command in a preset format, wherein the control command is a control command for N fans, and N is a positive integer; converting the control command into a protocol signal conforming to a preset communication protocol, sending the protocol signal to the N fans through one clock signal line and N data signal lines, and obtaining return data from the N fans.
[0007] This application also provides a fan control system, including: a fan controller; a clock signal line, with its first end connected to the fan controller and its last end connected to N fans; and N data signal lines, each with its first end connected to the fan controller and its last end connected to the N fans. The fan controller includes a control chip for converting received fan control information into control commands in a preset format, wherein the control commands are for the N fans, and N is a positive integer. The fan controller also includes a communication module with a preset communication protocol for converting the control commands into protocol signals conforming to the preset communication protocol, sending the protocol signals to the N fans via the clock signal line and the N data signal lines, and obtaining return data from the N fans.
[0008] This application also provides a computer program product, including a computer program that, when executed by a processor, implements the steps of any of the above-described fan control methods.
[0009] This application converts fan control information for controlling N fans into control commands in a preset format, and then converts these control commands into protocol signals conforming to a preset communication protocol. This ensures that the fans can understand and respond to the control commands. The protocol signals are sent to the N fans via one clock signal line and N data signal lines, and the return data from the N fans is obtained. This enables the simultaneous control of multiple fans through one control command and one communication module. Therefore, it solves the technical problem of high resource consumption of the fan controller and impact on the overall performance of the cooling system when transmitting data between the fan controller and multiple fans in the air-cooled heatsink. Because a unified control command format and communication protocol are used, the fan controller does not need to establish a separate communication module for each fan to achieve parallel synchronous data transmission to multiple fans. This achieves the technical effects of reducing hardware costs, reducing the consumption of logic resources of the fan controller, and improving the overall performance of the cooling control system. Attached Figure Description
[0010] To more clearly illustrate the embodiments of this application, the accompanying drawings used in the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0011] Figure 1 This is a hardware structure block diagram of the fan control method according to an embodiment of this application;
[0012] Figure 2 This is a flowchart of a fan control method according to an embodiment of this application;
[0013] Figure 3This is a schematic diagram of a control command format according to an embodiment of this application;
[0014] Figure 4 This is a schematic diagram of another control command format according to an embodiment of this application;
[0015] Figure 5 This is a timing diagram of the start and stop signals in an embodiment of this application;
[0016] Figure 6 This is a timing diagram of the response signals in an embodiment of this application;
[0017] Figure 7 This is a schematic diagram of a fan control system according to an embodiment of this application;
[0018] Figure 8 This is a schematic diagram of the operation of the fan control system according to an embodiment of this application;
[0019] Figure 9 This is a schematic diagram of a fan control device according to an embodiment of this application. Detailed Implementation
[0020] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those of ordinary skill in the art without creative effort are within the protection scope of this application.
[0021] It should be noted that, in the description of this application, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. The terms "first," "second," etc., in this application are used to distinguish similar objects and are not used to describe a specific order or sequence.
[0022] To enable those skilled in the art to better understand the present application, the present application will be further described in detail below with reference to the accompanying drawings and specific embodiments.
[0023] The specific application environment architecture or specific hardware architecture on which the execution of the fan control method depends is described here.
[0024] The methods and embodiments provided in this application can be executed on a server device or a similar computing device. Taking running on a server device as an example, Figure 1This is a hardware structure block diagram of the fan control method according to an embodiment of this application. Figure 1 As shown, the server device may include one or more ( Figure 1 Only one is shown in the diagram. A processor 102 (which may include, but is not limited to, a microprocessor MCU or a programmable logic device FPGA, etc.) and a memory 104 for storing data are also shown. The server device may further include a transmission device 106 for communication functions and an input / output device 108. Those skilled in the art will understand that... Figure 1 The structure shown is for illustrative purposes only and does not limit the structure of the server equipment described above. For example, the server equipment may also include components that are more... Figure 1 The more or fewer components shown, or having the same Figure 1 The different configurations shown.
[0025] The memory 104 can be used to store computer programs, such as application software programs and modules, like the computer program corresponding to the fan control method in this embodiment. The processor 102 executes various functional applications and data processing by running the computer program stored in the memory 104, thus implementing the aforementioned method. The memory 104 may include high-speed random access memory and non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some instances, the memory 104 may further include memory remotely located relative to the processor 102, and these remote memories can be connected to server devices via a network. Examples of such networks include, but are not limited to, the Internet, corporate intranets, local area networks, mobile communication networks, and combinations thereof.
[0026] The transmission device 106 is used to receive or send data via a network. Specific examples of the network described above may include a wireless network provided by a communication provider for the server device. In one example, the transmission device 106 includes a Network Interface Controller (NIC), which can connect to other network devices via a base station to communicate with the Internet. In another example, the transmission device 106 may be a Radio Frequency (RF) module used for wireless communication with the Internet.
[0027] This embodiment provides a fan control method, applied to a fan controller. Figure 2 This is a flowchart of a fan control method according to an embodiment of this application, such as... Figure 2 As shown, the method includes the following steps:
[0028] Step S202: Upon receiving fan control information, convert the fan control information into a control command in a preset format, wherein the control command is a control command for N fans, and N is a positive integer.
[0029] In this embodiment, the execution entity is a fan controller, which can be a CPLD (Complex Programmable Logic Device). As the main control unit of the fan control system, the fan controller is responsible for receiving and processing fan control information from a higher-level control system or user interface.
[0030] Fan control information is the control information that the fan controller uses to adjust and monitor the fan. It can instruct the fan to operate, including setting the fan speed and setting the fan temperature threshold, and can also instruct the fan to read its operating information, including reading the fan speed and reading the fan temperature.
[0031] The preset format control commands are instruction sequences formed by fields in a specific order to ensure effective communication between the fan controller and N fans. They include command, data, and checksum fields to guarantee data accuracy and integrity. When the fan control information instructs the operation of a fan, the preset format control command must include at least the following fields in sequence: start field, write field, command field, write content field, and end field. When the fan control information instructs the reading of fan information, the preset format control command must include at least the following fields in sequence: start field, read field, response field, and end field.
[0032] The fan controller is responsible for converting fan control information into control commands in a preset format. This ensures that no matter how diverse the control information is, it can be standardized into a single control instruction that can be understood and executed by N fans. This instruction can be sent to all fans in parallel to achieve real-time and synchronous control, which not only improves the efficiency of fan control but also ensures the consistency and reliability of communication with the fans.
[0033] Step S204: Convert the control command into a protocol signal that conforms to the preset communication protocol, send the protocol signal to N fans through one clock signal line and N data signal lines, and obtain the return data from the N fans.
[0034] The preset communication protocol can be the I2C (Inter-Integrated Circuit) protocol, and the protocol signals that conform to the preset communication protocol can be protocol signals that conform to the I2C protocol.
[0035] In this embodiment, the fans in the air-cooled heat dissipation system can be of the same model, and the data transmission format between each fan and the fan controller can be the same. A communication module, such as an I2C communication module, can be set in the fan controller. The I2C communication module uses only one clock signal line to connect to all fans for synchronous data transmission and reception. Each fan has its own independent data signal line, and N fans have N data signal lines, which can process the data of multiple fans simultaneously, realize parallel communication, and improve data transmission efficiency.
[0036] The fan controller sends control commands to N fans via one clock signal line and N data signal lines, corresponding to the corresponding protocol signals. When the control command instructs the fan to operate, the protocol signals conforming to the preset communication protocol include at least the following sequentially ordered signals: start signal, write signal, command signal, write content signal, and stop signal, used to initiate communication, write data, and terminate communication. When the control command instructs the fan to read information, the preset format control command includes at least the following sequentially ordered signals: start signal, read signal, response signal, and stop signal, used to initiate communication, read data, confirm the data transmission status, and terminate communication.
[0037] After N fans receive the protocol signals corresponding to the control commands sent by the fan controller via one clock signal line and N data signal lines, each fan generates corresponding return data based on its own status and feeds it back to the fan controller via its own data signal line. For example, if the control command instructs the fan to operate, such as writing a temperature threshold, the fan's return data can be a response signal. If the control command instructs the fan to read information, such as reading the current speed and temperature, the fan's return data can be the fan speed and fan temperature. After receiving the return data from the N fans, the fan controller can aggregate it into the fan data information desired by a higher-level control system.
[0038] It should be noted that in the control program of the fan controller in related technologies, a general communication module needs to be established for each fan. Each communication module's interface includes one clock signal line and one data signal line. Each communication module contains control programs for protocol layer signals such as key fields required for communication. Data transmission with N fans requires N communication modules, and the protocol layer signal control programs need to be implemented N times in the fan controller, resulting in a waste of the fan controller's logic resources. Moreover, when the fan controller transmits data with the fans, it needs to control each communication module to communicate with the corresponding fan separately, leading to asynchronous data updates. This embodiment further converts the control commands generated by the fan controller into signals conforming to a preset communication protocol. By controlling the level changes of the clock signal on one clock signal line and the data signals on the N data signal lines, the protocol signals are sent to N fans, and return data is received from each fan. On the one hand, this reduces the logic resource requirements of the fan controller, as key signals such as start and end only need to be implemented once. On the other hand, the use of parallel data transmission improves the speed and efficiency of communication with multiple fans, avoids the problem of asynchronous data updates, and enhances the stability and performance of the system.
[0039] Through the above steps, the fan control information for controlling N fans is converted into control commands in a preset format, and the control commands are converted into protocol signals conforming to a preset communication protocol. This ensures that the fans can understand and respond to the control commands. The protocol signals are sent to the N fans through one clock signal line and N data signal lines, and the return data from the N fans is obtained. This enables the simultaneous control of multiple fans through one control command and one communication module. Therefore, it solves the technical problem of high resource consumption of the fan controller and impact on the overall performance of the cooling system when transmitting data between the fan controller and multiple fans in the air-cooled heatsink. Because a unified control command format and communication protocol are used, the fan controller does not need to establish a separate communication module for each fan to achieve parallel synchronous data transmission to multiple fans. This achieves the technical effects of reducing hardware costs, reducing the consumption of logic resources of the fan controller, and improving the overall performance of the cooling control system.
[0040] As an optional implementation, converting control commands into protocol signals conforming to a preset communication protocol includes: determining a clock signal to be transmitted on one clock signal line; converting the fields of the control commands into N level change signals to be transmitted on N data signals based on the preset communication protocol; and determining the protocol signal based on the clock signal and the N level change signals.
[0041] It should be noted that the process of converting control commands into protocol signals that conform to the preset communication protocol is essentially to deconstruct and encode the control commands generated by the fan controller into signal changes on the clock and data lines to adapt to the preset communication protocol.
[0042] The default communication protocol can be the I2C communication protocol, which defines the format and rules for data transmission between the fan controller and the fan, including the use of signal lines, data transmission timing, and signal identification methods. The fan controller's communication interface consists of one clock signal line and N data signal lines.
[0043] One clock signal line is used to transmit the clock signal. The timing changes of the transmitted clock signal determine the validity and timing of the level changes on the data lines, providing a time reference and synchronization signal for the entire data transmission process. Each of the N data signal lines corresponds to a fan, used to transmit data and commands. Its level changes are controlled by the clock signal to ensure accurate data transmission. The N level change signals are converted from various fields of the control command. According to the preset communication protocol, the level on the data lines changes accordingly at the rising or falling edge of the clock signal to represent specific binary information.
[0044] As an optional implementation, the first end of one clock signal line is connected to the fan controller, and the second end of the other clock signal line is connected to N fans respectively. The first ends of N data signal lines are all connected to the fan controller, and the second ends of the N data signal lines are connected to N fans respectively. Sending protocol signals to N fans through one clock signal line and N data signal lines includes: sending clock signals to N fans through one clock signal line; and sending N level change signals in parallel to N fans through N data signal lines.
[0045] The fan controller is equipped with a dedicated communication module, which can be an I2C communication module. The communication interface of the communication module is the same as the communication interface of the fan controller. The communication interface consists of 1 clock signal line and N data signal lines.
[0046] One clock signal line can be an SCL (Serial Clock Line). A clock signal generator is set in the fan controller, and the generated clock signal will serve as the synchronization signal for all fan data transmission. The SCL line is a signal line used for transmitting clock signals. Sending the clock signal to N fans through one clock signal line means that the communication module transmits the signal to all fans through the clock signal line to start the transmission cycle of control commands and status feedback. Since multiple fans share the same clock signal line, the synchronization of data transmission is ensured, and data errors caused by asynchrony are avoided.
[0047] N data signal lines can be SDA (Serial Data Line) lines. By sending N level change signals in parallel to N fans through N data signal lines, the fan controller generates N level change signals according to the control command. The communication module sends each signal to each fan through the corresponding data signal line, realizing the parallel transmission of control information and status feedback for N fans, improving communication speed and system response time. At the same time, the synchronization effect of the clock signal ensures that all signals are correctly interpreted by the fans at the same time.
[0048] In this embodiment, a dedicated communication module is incorporated into the fan controller. The communication module's interface consists of one clock signal line and N data signal lines. The protocol signal is formed by level changes of the clock signal line and the N data signal lines, enabling efficient data transmission between the fan controller and multiple fans. Since the protocol signal only needs to be implemented once, rather than individually for each fan, the logic resource consumption of the fan controller is significantly reduced compared to related technologies. Furthermore, through synchronous control of the clock signal and parallel transmission of the data signals, synchronous data updates and status monitoring of the N fans are achieved, avoiding the data update asynchrony problems that may occur in related technologies.
[0049] As an optional implementation, when the fan control information indicates the control of N fans, converting the fan control information into a control command in a preset format includes: converting the fan control information into a first field sequence, wherein the first field sequence includes at least the following fields in sequence: a start field, a write field, a command field, multiple write content fields, and an end field; and determining the control command based on the first field sequence.
[0050] In this embodiment, the preset communication protocol can be the I2C protocol. The fan controller is equipped with a dedicated I2C communication module. Converting fan control information into the first field sequence means that when the fan control information indicates the operation of N fans, the fan controller first decomposes the fan control information into several key parts, such as control commands and speed settings, and then reorganizes these parts into a field sequence according to the requirements of the I2C protocol to ensure the integrity and identifiability of the information during transmission.
[0051] The format of the control commands that the fan controller uses to transmit data with the fan via a dedicated I2C communication module is as follows: Figure 3 As shown, Figure 3 This is a schematic diagram of a control command format according to an embodiment of this application. Figure 3 The image simultaneously displays two parts: the field to be sent by the fan controller and the field to be fed back by the fan. The white background represents the field to be sent by the fan controller, while the gray background represents the field to be fed back by the fan.
[0052] In the fan controller's pending data transmission fields, the start field is denoted as S (also known as the Start field, which is fixed), the write field as W (also known as the Write flag, which is fixed), the command field as Command (which varies depending on the control information), multiple write content fields as Data (which varies depending on the control information), and the stop field as P (also known as the Stop field, whose content is fixed). The start and stop fields mark the beginning and end of data transmission, respectively. The write and command fields indicate the specific operations the fan controller will perform, such as setting the fan speed. Multiple write content fields (data...) <1> To data <4> etc., denoted as Data <1> To Data <4> (etc.) includes specific control parameters, such as fan speed settings and fault detection commands.
[0053] In addition, the fields to be sent in the fan controller may also include an address field, denoted as Address, set between the start field S and the write field W, and a check field, denoted as Check, set between the last data write content field Data and the end field P. The fields to be sent in the fan controller include a command sending section. Figure 3 In this code, the data length of the command transmission section is 6 bytes, including: 1 byte command and 4 bytes of data. <1> To data <4> , denoted as Data <1> To Data <4> ), 1-byte check.
[0054] The feedback field for the fan includes a positive response field, denoted as A (also known as the ACK field, Acknowledgement), and may also include a negative response field, denoted as N (also known as the NACK field, Acknowledgement Negative Acknowledgement).
[0055] After determining the first field sequence, the fan controller converts the first field sequence into actual binary signals. These signals contain all the details of the control information. Through one clock signal line and N data signal lines of the I2C communication module's communication interface, the fan controller sends these signals in parallel to N fans, ensuring that each fan can receive accurate control commands at the same time.
[0056] This embodiment defines the order and content of each field in the first field sequence to ensure accurate identification of the start, content, command, and end of data transmission, thereby achieving precise control of N fans. By integrating the first field sequence into a complete control command, the command can be sent to the N fans via the I2C interface, achieving parallel and synchronous data transmission. This enables the decomposition and reconstruction of received fan control information into control commands conforming to the preset communication protocol requirements, ensuring accurate and error-free transmission of control information and achieving precise control of the operating status of the N fans. It shortens fan control time, improves system response speed, and ensures the real-time nature and consistency of all fan information through parallel synchronous transmission, avoiding the problem of asynchronous data writing.
[0057] As an optional implementation, when the fan control information indicates the reading of the operating information of N fans, converting the fan control information into a control command in a preset format includes: converting the fan control information into a second field sequence, wherein the second field sequence includes at least the following fields in sequence: a start field, a read field, a response field for responding to the read data length field, a response field for responding to the read content field, and an end field; and determining the control command based on the second field sequence.
[0058] In this embodiment, the preset communication protocol can be the I2C protocol. The fan controller is equipped with a dedicated I2C communication module. Converting fan control information into a second field sequence means that when the fan control information indicates that the operating information of N fans (e.g., current speed, temperature status) should be read, the fan controller first decomposes the fan control information into several key parts, and then reorganizes these parts into a field sequence according to the requirements of the I2C protocol to ensure the integrity and identifiability of the information during transmission.
[0059] The format of the control commands that the fan controller uses to transmit data with the fan via a dedicated I2C communication module is as follows: Figure 4 As shown, Figure 4 This is a schematic diagram illustrating another control command format according to an embodiment of this application. Figure 4 The image simultaneously displays two parts: the field to be sent by the fan controller and the field to be fed back by the fan. The white background represents the field to be sent by the fan controller, while the gray background represents the field to be fed back by the fan.
[0060] In the field to be sent by the fan controller, the start field is denoted as S (also known as the Start field, which is fixed), the read field is denoted as R (also known as the Read flag, which is fixed), the field representing a positive response is denoted as A (also known as the ACK field, which is fixed), the field representing a negative response is denoted as N (also known as the NACK field, which is fixed), and the end field is denoted as P (also known as the Stop field, whose content is fixed). In addition, the field to be sent by the fan controller may also include an address field, denoted as Address, set between the start field S and the read field R.
[0061] The fan's feedback fields include a response field, set after the read field R; a read data length field, denoted as Length (which varies depending on the feedback data); a read data content field, denoted as Data (which also varies depending on the feedback data); and may also include a check field, denoted as Check, set after the last data written content field Data. The fan's feedback fields also include a return data portion. Figure 4 The returned data includes: a 1-byte length identifier (Length), and Length bytes of data. <1> The data (in bytes) is denoted as Data. <1> - Data <length>), 1-byte check.
[0062] After determining the second field sequence, the fan controller converts the second field sequence into actual binary signals. These signals contain all the details of the control information. Through one clock signal line and N data signal lines of the I2C communication module's communication interface, the fan controller sends these signals in parallel to N fans, ensuring that each fan can receive accurate control commands at the same time. The fans return their operating information according to the commands, and the fan controller processes this information through the corresponding receive fields to monitor the fan status.
[0063] This embodiment defines the order and content of each field in the second field sequence to indicate the data reading operation to be performed. Upon receiving this field, the fan enters a data preparation state. By integrating the second field sequence into a complete control command, operating information can be read from N fans via the I2C interface. This enables efficient and synchronous collection of the required operating status data from N fans via the I2C interface when the fan control information indicates the need to read operating information from N fans. This shortens data reading time, improves system response speed, and ensures the real-time nature and consistency of all fan information through parallel synchronous transmission, avoiding the problem of asynchronous data reading.
[0064] As an optional implementation, the first and last fields of the control command are the start and end fields to be sent by the fan controller, respectively, and the first and last signals of the protocol signal are the start and stop signals, respectively. Converting the control command into a protocol signal conforming to a preset communication protocol includes: determining the signal to be sent on one clock signal line as a high-level signal and determining the signals to be sent on N data signal lines as falling edge signals to obtain a start signal; determining the signal to be sent on one clock signal line as a high-level signal and determining the signals to be sent on N data signal lines as rising edge signals to obtain a stop signal.
[0065] The start field and end field are the Start field and Stop field, and the start signal and stop signal are the Start signal and Stop signal. The Start signal and Stop signal are controlled by the fan controller as the master. The fan controller uses parallel synchronous control for each fan, that is, the fan controller will send the Start signal and Stop signal to each fan at the same time.
[0066] Figure 5 This is a timing diagram of the start and stop signals in an embodiment of this application, as shown below. Figure 5 As shown, when generating the start signal, one clock signal line (which can be the SCL line) is designated as a high-level signal to provide a stable clock foundation for the start signal generation, ensuring that the fans can recognize the upcoming data transmission. All N data signal lines (which can be the SDA lines) are designated as falling-edge signals. The falling-edge transitions on the data signal lines trigger the Start condition in the I2C protocol, marking the official start of data transmission. Specifically, the SCL line remains high, while all N SDA lines transition from high to low, informing each fan that communication has begun.
[0067] like Figure 5 As shown, when generating the stop signal, the signal to be transmitted on one clock signal line is determined to be a high-level signal to provide a clock reference for the generation of the stop signal, ensuring that all fans can recognize the data transmission that is about to end. The signals to be transmitted on all N data signal lines are determined to be rising edge signals. The rising edge changes of the data signal lines are used to simulate the Stop condition in the I2C protocol, indicating the termination of data transmission. Specifically, the SCL line remains high, and all N SDA lines transition from low to high, informing each fan that communication has stopped.
[0068] In this embodiment, the fan controller can accurately generate start and stop signals compatible with a preset communication protocol, ensuring the synchronization and integrity of data transmission with N fans. This effectively reduces the processing time of control signals within the fan controller, as the generation of start and stop signals is simplified to level changes on one clock signal line and N data signal lines, eliminating the need to generate these signals individually for each fan and thus saving logic resources. Furthermore, since all fans start and end data transmission under the control of the same clock signal, based on the falling / rising edge changes of the clock signal line and N data signal lines, the data synchronization problems that may occur in related technologies are avoided, improving the efficiency and stability of data transmission.
[0069] As an optional implementation, if signals other than start and stop signals are generated, while controlling the transmission of rising or falling edge signals on N data signal lines, a low-level signal can be controlled on one clock signal line.
[0070] When generating signals other than start and stop signals, controlling one clock signal line to transmit a low-level signal means that when the fan controller needs to send data or receive a response from the fan, it first sets the level of the clock signal line low. This means that any level change transmitted on the data signal line (whether rising or falling edge) will be considered invalid until the clock line returns to a high level and synchronizes these changes. The purpose is to ensure that the clock signal line is in a waiting or invalid state during fan controller data transmission or reception, avoiding interference with normal signal transmission.
[0071] When controlling the transmission of rising or falling edge signals on N data signal lines, the clock signal line remains low. This means that during the data transmission preparation phase—before sending the rising or falling edge signal—the fan controller first switches the clock signal line to a low level. Only after the data signal lines complete the level change is the clock signal line pulled back to a high level to begin synchronous data transmission. The purpose is to control the level changes on the data signal lines, while the clock signal line remains low to ensure that signal changes are not misinterpreted as part of data transmission, thus avoiding confusion during data transmission.
[0072] Through this embodiment, the fan controller can ensure the accuracy and synchronization of data transmission with N fans through a sophisticated signal control mechanism. In addition to start and stop signals, when preparing to transmit or receive fan data, the fan controller prevents misreading of level changes on the signal line by setting the clock signal line level low, thus avoiding data transmission errors and data packet corruption.
[0073] As an optional implementation, when the fan control information indicates the control of N fans, the control command includes a write field to be sent by the fan controller, a command field, and a write content field. The protocol signal includes a write signal, a command signal, and a write content signal. Converting the control command into a protocol signal conforming to a preset communication protocol includes: converting the write field into a first high / low level signal corresponding to the write identifier, and determining the signals to be sent on the N data signal lines as the first high / low level signals to obtain the write signal; converting the command field into a second high / low level signal corresponding to the command, and determining the signals to be sent on the N data signal lines as the second high / low level signals to obtain the command signal; converting the write content field into a third high / low level signal corresponding to the write content, and determining the signals to be sent on the N data signal lines as the third high / low level signals to obtain the write content signal.
[0074] The write field is the part of the control command that indicates an upcoming write operation, used to inform the fan that it will receive new control parameters or instructions. The command field contains control command fields, such as setting the fan speed, operating mode, turning the fan on or off, etc. The write content field contains the actual write data carried in the control command; depending on the requirements of the command field, it can include specific information such as the fan speed and operating mode. The write signal, command signal, and write content signal are the signal forms in the protocol corresponding to the write field, command field, and write content field, expressed through level changes on the clock signal line and data signal line.
[0075] The write field is converted into a first high / low level signal corresponding to the write identifier, which is used to inform the fan that a write operation is about to be performed and to prepare to receive new control information. Specifically, when the fan controller receives the write field in the control information, it will convert the field into a specific high / low level combination signal according to a preset encoding rule. This signal is sent through N data signal lines to inform all fans of the upcoming write operation. At the same time, the fan controller controls the clock signal line to be in normal working condition to ensure that all fans can synchronously receive and process this signal within the following time window.
[0076] The command field is converted into a second high / low level signal corresponding to the command, used to send control instructions to N fans, such as adjusting the fan speed or operating mode. Specifically, the fan controller converts the content of the command field into a set of specific level change signals according to the encoding rules of a preset communication protocol, and then sends them in parallel to all fans through N data signal lines. At the same time, the fan controller continuously maintains the clock signal line in a normal operating state to ensure that the level changes on the data signal lines are correctly interpreted.
[0077] The write content field is converted into a third high / low level signal corresponding to the write content, used to transmit specific control parameters (such as speed setpoints) to each fan, guiding the fan to adjust its state. Specifically, the information in the write content field is converted by the fan controller into a series of high / low level changes, which are sent to N fans as write content signals via N data signal lines. Similarly, the fan controller keeps the clock signal line in normal working order, ensuring that the N fans can synchronously receive and understand these signals.
[0078] This embodiment decomposes and converts fan control information into corresponding protocol signals. The protocol signals are transmitted in parallel through a shared clock signal line and N data signal lines, enabling the fan controller to communicate efficiently and accurately with N cooling fans. This achieves unified control and adjustment of fan operating status, avoiding unnecessary resource waste and performance differences or system instability caused by asynchrony.
[0079] As an optional implementation, when the fan control information instructs the operation of N fans, the protocol signal is sent to the N fans via one clock signal line and N data signal lines, and the return data from the N fans is obtained. This includes: after the start signal is sent via one clock signal line and N data signal lines, a write signal is sent via one clock signal line and N data signal lines; after the write signal is sent, if a positive response signal is received from the N fans, a command signal is sent via one clock signal line and N data signal lines; after the command signal is sent, a write content signal is sent via one clock signal line and N data signal lines; if a positive response signal is received from the N fans, the next write content signal is sent via one clock signal line and N data signal lines, until a positive response signal is received from the N fans for the last write content signal, at which point a stop signal is sent via one clock signal line and N data signal lines.
[0080] First, the fan controller sends a start signal. Specifically, before controlling the operation of N fans, the fan controller sends a start signal via a clock signal and data signal lines. The generation of the start signal follows a preset communication protocol, meaning that while the clock signal remains high, all data signal lines transition from high to low, informing the N fans that they are ready to receive subsequent control commands. It should be noted that after sending the start signal, the fan controller also sends an address signal to identify each fan device, which may contain the unique address of each fan device.
[0081] Then, the fan controller sends a write signal. Specifically, after the start signal is sent, the fan controller sends a write signal, which is a series of high and low level changes based on the write field of the control command. This signal is transmitted in parallel to all fans through the data signal line. At the same time, the clock signal line sends a clock signal synchronously to ensure that the signal is correctly received by all fans.
[0082] Furthermore, the fan controller waits for response signals and, upon confirming that the fans are ready to receive command signals, sends a command signal. Specifically, after sending the write signal, the fan controller listens for response signals on the N data signal lines. If all fans respond with positive signals, indicating that they are ready to receive command signals, the fan controller then sends a command signal—a signal derived from the command field of the control command—instructing the specific control operation for the N fans, such as changing their speed.
[0083] Then, the fan controller continuously sends specific write content signals and ensures that the fans receive them correctly. Specifically, after successfully sending the command signal, the fan controller begins sending write content signals, which are signals converted based on the write content field in the control command. After sending each write content signal, the fan controller waits for response signals from N fans. After receiving positive response signals from all fans, the fan controller continues to send the next write content signal, and this process is repeated until all write content has been transmitted and acknowledged.
[0084] Finally, the fan controller sends a stop signal to notify all N fans that the control process is complete and data transmission ends. Specifically, after the last write signal is sent and all fans have responded with positive feedback, the fan controller sends a stop signal via the clock and data signal lines to stop data transmission. The stop signal follows the I2C communication protocol: while the clock signal is high, all data signal lines transition from low to high, indicating that the transmission of control commands to the N fans has ended. It should be noted that the fan controller also sends a check signal before sending the stop signal to verify data integrity.
[0085] In this implementation, the fan controller communicates with M fans through one clock signal line and M data signal lines, sending protocol signals and obtaining confirmation feedback and return data from the fans. This process ensures that each fan can receive control commands in a timely and accurate manner. At the same time, by cyclically responding to the signal, the integrity and accuracy of data transmission are checked and guaranteed, thereby improving data transmission efficiency and optimizing resource utilization.
[0086] It should be noted that regardless of whether the fan controller sends data and the fan receives it, or vice versa, after the data sender has sent one byte of data or an address, if the data receiver wants the data sender to continue sending data, it needs to send a positive response signal on the data signal line, and the data sender will then continue sending the next byte of data. If the data receiver wants to end data transmission, it needs to send a negative response signal on the data signal line, and the data sender will send a stop signal to end data transmission.
[0087] As an optional implementation, the method further includes: if a negative response signal from a fan is received after the write signal has been sent, or after the command signal has been sent, or after any write content signal has been sent, then the communication between the fan controller and the corresponding fan ends.
[0088] The write signal indicates that the fan controller is about to send new control parameters or commands to the fans. The command signal contains specific control commands to instruct the fans to perform specific operations. The write content signal contains the actual control parameters transmitted, such as fan speed setpoints and temperature thresholds. After the fan controller has sent the write signal, command signal, or any write content signal, it will enter listening mode and wait for response signals from N fans.
[0089] If any of the fans responds with a negative signal, the fan controller will immediately recognize that there is a reception error or that the fan is unresponsive in this communication, interrupt the communication with that fan, stop sending subsequent write content signals or command signals, and clearly indicate that the communication with that fan has ended by sending a stop signal. At the same time, it will also stop the clock signal on the clock signal line to avoid sending more control commands to the faulty or unresponsive fan, thus preventing potential system errors or waste of resources.
[0090] In this embodiment, during data transmission, the fan controller continuously monitors the feedback signals of all fans to detect communication anomalies in a timely manner. If any fan provides a negative response signal, communication with that fan will be terminated immediately, ensuring the reliability of communication and avoiding control failures caused by communication errors or anomalies, thus guaranteeing the stable operation of the server's cooling system.
[0091] As an optional implementation, the N fans respectively feed back positive response signals in the following ways: if a fan feeds back positive response information, the clock signal line is controlled to transmit a clock signal, and the corresponding data signal line of the fan is controlled to feed back a low-level signal on the Mth clock after one byte has been transmitted; the N fans respectively feed back negative response signals in the following ways: if a fan feeds back negative response information, the clock signal line is controlled to transmit a clock signal, and the corresponding data signal line of the fan is controlled to feed back a high-level signal on the Mth clock after one byte has been transmitted.
[0092] The ACK signal, representing a positive response, indicates that the fan has successfully received one byte of data or a control command from the fan controller. The NACK signal, representing a negative response, indicates that the fan failed to receive or process the data or control command from the fan controller, possibly due to communication errors, data packet distortion, or other reasons.
[0093] After the fan controller sends one byte of data or a command, the control clock signal line continues to transmit clock signals to provide a time reference for the fan's response signal feedback. When the transmission of one byte of data is complete, during the Mth clock cycle of the clock signal line transmission, if the fan controller detects that the level on the data signal line corresponding to a certain fan has dropped to a low level, it recognizes this as an ACK signal, indicating that the fan has successfully received the information and is ready for further communication or instruction execution.
[0094] After a byte of data transmission is completed, during the Mth clock cycle of the clock signal line, if the fan controller detects that the level on the data signal line corresponding to a certain fan rises to a high level, it recognizes this as a NACK signal, indicating that the fan has failed to receive information. The fan controller will then interrupt further communication with the fan according to the preset communication rules to avoid invalid control.
[0095] Figure 6 This is a timing diagram of the response signals in an embodiment of this application, as shown below. Figure 6 As shown, in an optional implementation, M is 9, and the ACK signal is pulled low on the data signal line at the 9th clock cycle after the completion of a byte transmission. The NACK signal is pulled high on the data signal line at the 9th clock cycle after the completion of a byte transmission. Data transmission between the fan controller and each fan, and the response of the ACK / NACK signals, are also parallel and synchronous.
[0096] This embodiment provides real-time communication status feedback to the fan controller through low-level feedback of the ACK signal and high-level feedback of the NACK signal. By efficiently identifying and processing the NACK signal, it can detect and respond to communication errors in the first instance, avoiding unnecessary data transmission to unresponsive fans, reducing the waste of fan controller logic resources, and optimizing the overall performance and energy efficiency of the server cooling system.
[0097] As an optional implementation, when the fan control information indicates the reading of the operating information of N fans, the control command includes a read field and an acknowledgment field to be sent by the fan controller, and the protocol signal includes a read signal and a response signal. Converting the control command into a protocol signal conforming to a preset communication protocol includes: converting the read field to be sent by the fan controller in the control command into a fourth high / low level signal corresponding to the read identifier; determining the signals to be sent by the N data signal lines as the fourth high / low level signals to obtain the read signal; determining the signal to be sent by the Nth clock after one byte of data signal lines has been transmitted as a low level signal to obtain a positive response signal; and determining the signal to be sent by the Nth clock after one byte of data signal lines has been transmitted as a high level signal to obtain a negative response signal.
[0098] The read field is the part of the control command that indicates the operation of reading fan operating information, used to inform the fan to provide feedback on operating information such as speed and temperature. The response field includes a positive response field (ACK) and a negative response field (NACK). The read signal and response signal are the signal forms in the protocol signals corresponding to the read field and response field, expressed through level changes on the clock signal line and data signal line.
[0099] When the fan controller receives an instruction to read the operating information of N fans, it converts the read field into the fourth high-low level signal corresponding to the read identifier according to the preset signal encoding rules, and sends this signal to all fans through N data signal lines. At the same time, it controls the clock signal line to synchronize, ensuring that all fans receive the same read signal at the same time.
[0100] After receiving the read signal, the fan sends the length and content of the read data back to the fan controller. After each byte of read data is sent back by the fan, the fan controller needs to use a feedback mechanism to confirm whether the data has been received. The fan controller will send a response signal via the data signal line at the Mth clock cycle after one byte has been transmitted. Specifically, the response signal is generated by changing the level of the data signal line at the Nth clock cycle. If the level goes low, a positive response signal is generated; if the level goes high, a negative response signal is generated.
[0101] In this embodiment, the communication process for the fan controller to read the operating status information of N fans is optimized through signal conversion and feedback mechanisms, ensuring the accuracy of data reading and the reliability of communication.
[0102] As an optional implementation, when the fan control information indicates the reading of the operating information of N fans, the protocol signal is sent to the N fans through one clock signal line and N data signal lines, and the return data from the N fans is obtained. This includes: after the start signal is sent through one clock signal line and N data signal lines, a read signal is sent through one clock signal line and N data signal lines; after the read signal is sent, if the read data length signal is received from the N fans, a positive response signal is sent through one clock signal line and N data signal lines; if the first read content signal is received from the N fans, a positive response signal is sent through one clock signal line and N data signal lines again, until the last read content signal is received from the N fans, and a stop signal is sent through one clock signal line and N data signal lines.
[0103] First, the fan controller sends a start signal. Specifically, before reading the operating information of the N fans, the fan controller sends a start signal via a clock signal and data signal lines. The generation of the start signal follows the protocol signal implementation of a preset communication protocol; that is, while the clock signal remains high, all data signal lines switch from high to low, informing the N fans that they are ready to provide feedback data. It should be noted that after sending the start signal, the fan controller also sends an address signal to identify each fan device, which may contain the unique address of each fan device.
[0104] Then, the fan controller sends a read signal. Specifically, after the start signal is sent, the fan controller converts the read command into a read signal and sends it to each fan through one clock signal line and N data signal lines, informing the fan of the upcoming data read operation.
[0105] Furthermore, the fan controller waits for feedback from the fans regarding the length of the read data. Once the fan controller receives the read data length signal from N fans, it sends a positive response signal through the data signal line, informing the fans that the data transmission scale has been determined and they are ready to receive data, and can begin sending the read content signal.
[0106] Then, the fan controller receives the actual operating status data returned by the fans and ensures the continuity and integrity of data transmission by repeatedly sending response signals. Specifically, after each fan sends its first read content signal, the fan controller continues to send an ACK signal via the DAT line to encourage the fan to continue sending data. This process is repeated until the fan controller receives the last read content signal from all N fans.
[0107] Finally, the fan controller sends a stop signal to notify the N fans that the control process is complete and the data transmission ends. Specifically, after receiving the last read signal and sending a positive response signal to the fan, the fan controller sends a stop signal via the clock signal and data signal lines to stop data transmission. The stop signal also follows the I2C communication protocol, that is, while the clock signal remains high, all data signal lines transition from low to high, indicating that the transmission of the N fan control commands has ended. It should be noted that the fan controller receives a verification signal from the fan before sending the stop signal to verify the integrity of the data. After sending a response signal to the verification signal, the stop signal is then sent.
[0108] In this embodiment, the fan controller can synchronously start and stop data reading operations with multiple fans, avoiding data loss or misreading caused by signal asynchrony, and improving the accuracy and efficiency of the reading operation. By repeatedly sending response signals, the fan controller ensures that the data transmission of each fan is complete and error-free. Because a unified reading and response signal is used, it avoids establishing separate signal control logic for each fan, significantly reducing the consumption of fan controller logic resources and improving resource utilization efficiency.
[0109] As an optional implementation, the N fans feed back the read data length signal in the following way: the length information of the returned data from the N fans is converted into corresponding high and low level signals, the clock signal line is controlled to transmit the clock signal, and the N data signal lines are controlled to feed back the high and low level signals corresponding to the length information in parallel; the N fans feed back the read content signal in the following way: the content of the returned data from the N fans is converted into corresponding high and low level signals, the clock signal line is controlled to transmit the clock signal, and the N data signal lines are controlled to feed back the high and low level signals corresponding to the content of the returned data in parallel.
[0110] The read data length signal is a feedback signal from the fan, used to inform the fan controller of the precise length of the returned data so that the fan controller can prepare to receive the corresponding amount of data. The read content signal is the actual data content returned by the fan, which may include operating status information such as fan speed and temperature.
[0111] When the fan controller sends a read command, each fan converts the length information of the returned data into a specific high-low level signal sequence, which is fed back to the fan controller through the corresponding data signal line. This allows the fan controller to anticipate the size of the data returned by each fan, prepare sufficient buffer space, and prevent data overflow, ensuring the accuracy and integrity of the data read. Simultaneously, the fan controller controls the clock signal line to transmit a clock signal, ensuring that the feedback operations of all fans are synchronized.
[0112] After confirming the length information is correct, the fan controller sends a positive response signal to the fan indicating that the data has been read, instructing the fan to begin sending actual operating status data. Each fan converts the returned data into a sequence of high and low level signals, which are fed back to the fan controller in parallel through the corresponding data signal line. This ensures that the operating status information of each fan can be read accurately and in a timely manner for subsequent heat dissipation system management and optimization. At the same time, a clock signal is provided synchronously by the clock signal line.
[0113] In this embodiment, when the fan controller performs the operation of reading the operating information of N fans, high-low level signal conversion and parallel feedback are used to achieve efficient communication with N fans, ensuring accurate feedback of data length and content, thereby improving the efficiency and accuracy of server heat dissipation system monitoring.
[0114] As an optional implementation, the fan controller includes a communication module and a signal modulation module with a preset communication protocol. Before converting the fan control information into control commands in a preset format, the method further includes: controlling one clock signal line and N data signal lines to switch from a first communication mode to a second communication mode, wherein the first communication mode instructs N fans to communicate with the signal modulation module, and the second communication mode instructs N fans to communicate with the communication module.
[0115] The preset communication protocol can be I2C, and the communication module for this protocol can be an I2C communication module, a functional module implemented in the fan controller's program. Based on the I2C communication module, parallel and synchronous data transmission between the fan controller and N fans can be achieved. The fan controller acts as the master, and the fans act as slaves. The fan controller connects to the N fans through one clock signal and N data signals. The clock signal generated by the I2C communication module is connected to each fan, and the N data signals are connected to each fan respectively. The signal modulation module can be a PWM (Pulse Width Modulation) module, used to adjust the duty cycle of the PWM signal to dynamically adjust the fan speed to cope with changes in the server's internal temperature.
[0116] The first communication mode refers to the initial data exchange between the fan controller and N fans via the signal modulation module, mainly used for fan speed regulation and speed feedback. The second communication mode refers to the complex data transmission between the fan controller and N fans via the communication module, suitable for executing more complex control commands and reading detailed operating information.
[0117] To enable the fan controller to engage in deeper data exchange with the fans via its more flexible communication module—including sending complex commands and reading detailed operational information—without being limited by the signal modulation module, the communication module can be used to interact with N fans. Before the fan controller prepares to send control commands to the fans, it first needs to ensure that the fans are ready to communicate with the communication module. To do this, the fan controller switches the clock signal line and N data signal lines from a first communication mode to a second communication mode. This can be achieved by adjusting the signal control logic of the clock and data signal lines between the fan controller and the fans.
[0118] After the communication mode switch is completed, the communication module in the fan controller is activated, ready to receive and process fan control information, and then convert it into control commands in a preset format, ensuring that all instructions and data can be transmitted in the standard format of the preset communication protocol. After switching to the second communication mode, the signal modulation module is in standby mode until it needs to return to the first communication mode to perform basic tasks. This releases the resources of the signal modulation module, reduces unnecessary logical operations, and improves the overall system efficiency, especially when performing complex communication tasks.
[0119] This embodiment distinguishes between two communication modes, enabling the fan controller to allocate internal resources more rationally. By switching modes, the fan controller can flexibly select communication modules according to different communication needs, handling both simple status queries and efficiently transmitting complex control information, thus enhancing the flexibility and adaptability of the communication system. After switching to the second communication mode, the data transmission between the fan controller and the fan adopts a preset high-efficiency protocol, significantly accelerating the execution speed of complex instructions and the efficiency of reading operating information.
[0120] As an optional implementation, the method further includes: upon receiving a signal modulation request message, controlling one clock signal line and N data signal lines to switch from a second communication mode to a first communication mode. The signal modulation request message is a message sent to the fan controller by a higher-level control system or user interface, instructing the fan controller to return to the first communication mode to perform simple fan speed adjustment and speed feedback.
[0121] When the fan controller is in the second communication mode and performing advanced data transmission tasks, if it receives a signal modulation request, it switches to the first communication mode. Specifically, the fan controller immediately controls the clock signal line and N data signal lines to switch from the current second communication mode to the first communication mode. This can be achieved through the signal control logic of the fan controller and the fan's transmit / receive signals adjusting the clock signal line and data signal line.
[0122] After switching to the first communication mode, the signal modulation module in the fan controller is activated, ready to perform simple fan speed control and speed feedback. At this time, the communication module enters standby mode, waiting for the next advanced communication request.
[0123] In this embodiment, upon receiving a signal modulation request, the process of quickly and accurately switching one clock signal line and N data signal lines from the second communication mode back to the first communication mode ensures that the communication between the fan controller and the fan can be flexibly switched under different functional requirements, thereby enhancing the system's responsiveness and communication efficiency.
[0124] As an optional implementation, this application also provides a fan control system. Figure 7 This is a schematic diagram of the fan control system according to an embodiment of this application, as shown below. Figure 7 As shown, the system includes:
[0125] Fan controller. The fan controller can be a CPLD (CPLD-based control unit). As the main control unit of the fan control system, the fan controller is responsible for receiving and processing fan control information from higher-level control systems or user interfaces.
[0126] One clock signal line connects to the fan controller at one end and to each of the N fans at the other end. When the default communication protocol is I2C, this clock signal line can be an SCL (Serial Clock Line). A clock signal generator is set up in the fan controller, and the generated clock signal will serve as the synchronization signal for data transmission across all fans. The SCL line is used to send the clock signal to each of the N fans via this single clock signal line.
[0127] N data signal lines, each connected to a fan controller at one end and to N fans at the other. With the default communication protocol being I2C, the N data signal lines can be SDA (Serial Data Line) lines, transmitting N level change signals in parallel to the N fans via these N SDA lines.
[0128] The fan controller includes a control chip, which converts the received fan control information into a preset format control command. The control command is a control command for N fans, where N is a positive integer.
[0129] Fan control information is the control information that the fan controller uses to adjust and monitor the fan. It can instruct the fan to operate, including setting the fan speed and setting the fan temperature threshold, and can also instruct the fan to read its operating information, including reading the fan speed and reading the fan temperature.
[0130] The preset format control commands are instruction sequences formed by fields in a specific order to ensure effective communication between the fan controller and N fans. They include command, data, and checksum fields to guarantee data accuracy and integrity. When the fan control information instructs the operation of a fan, the preset format control command must include at least the following fields in sequence: start field, write field, command field, write content field, and end field. When the fan control information instructs the reading of fan information, the preset format control command must include at least the following fields in sequence: start field, read field, response field, and end field.
[0131] The fan controller includes a communication module with a preset communication protocol, which converts control commands into protocol signals that conform to the preset communication protocol. The protocol signals are sent to N fans through one clock signal line and N data signal lines, and the return data from the N fans is obtained.
[0132] In an air-cooled heat dissipation system, the fans can be set to the same model, and the data transmission format between each fan and the fan controller can be the same. The default communication protocol can be the I2C protocol. A communication module, such as an I2C communication module, can be set in the fan controller. The I2C communication module uses only one clock signal line to connect to all fans for synchronous data transmission and reception. Each fan has its own independent data signal line, and N fans have N data signal lines, which can process the data of multiple fans simultaneously.
[0133] The protocol signals conforming to the preset communication protocol can be I2C protocol signals. When the control command instructs the operation of the fan, the protocol signals conforming to the preset communication protocol include at least a start signal, write signal, command signal, write content signal, and stop signal in sequence, used to start communication, write data, and terminate communication. When the control command instructs the reading of fan information, the preset format control command includes at least a start signal, read signal, response signal, and stop signal in sequence, used to start communication, read data, confirm the status of data transmission, and terminate communication.
[0134] After N fans receive the protocol signals corresponding to the control commands sent by the fan controller via one clock signal line and N data signal lines, each fan generates corresponding return data based on its own status and feeds it back to the fan controller via its own data signal line. For example, if the control command instructs the fan to operate, such as writing a temperature threshold, the fan's return data can be a response signal. If the control command instructs the fan to read information, such as reading the current speed and temperature, the fan's return data can be the fan speed and fan temperature. After receiving the return data from the N fans, the fan controller can aggregate it into the fan data information desired by a higher-level control system.
[0135] Figure 8 This is a schematic diagram of the operation of the fan control system according to an embodiment of this application, as shown below. Figure 8 As shown, after the fan controller receives the fan control information from the upper-level control system, it first converts the control information into corresponding control commands, then converts the control commands into protocol signals through the I2C communication module, and then sends them to each fan in parallel. The I2C communication module obtains the fan's return data according to the protocol signals, and then the fan controller summarizes them into data packets and sends them out, so that the upper-level control system can obtain the desired fan data information.
[0136] The above system converts fan control information for N fans into control commands in a preset format, and then converts these control commands into protocol signals conforming to a preset communication protocol. This ensures that the fans can understand and respond to the control commands. The protocol signals are sent to the N fans via one clock signal line and N data signal lines, and the system receives return data from the N fans. This allows multiple fans to be controlled simultaneously with a single control command and a single communication module. Therefore, it solves the technical problem of high resource consumption of the fan controller and impact on the overall performance of the cooling system when transmitting data between the fan controller and multiple fans in the air-cooled radiator. Because a unified control command format and communication protocol are used, the fan controller does not need to establish a separate communication module for each fan to achieve parallel synchronous data transmission to multiple fans. This reduces hardware costs, lowers the consumption of logic resources of the fan controller, and improves the overall performance of the cooling control system.
[0137] As an optional implementation, the fan controller also includes a signal modulation module. The control chip is used to control one clock signal line and N data signal lines to switch from a first communication mode to a second communication mode when receiving fan control information. The first communication mode indicates that N fans communicate with the signal modulation module, and the second communication mode indicates that N fans communicate with the communication module.
[0138] The first communication mode refers to the initial data exchange between the fan controller and N fans via the signal modulation module, mainly used for fan speed regulation and speed feedback. The second communication mode refers to the complex data transmission between the fan controller and N fans via the communication module, suitable for executing more complex control commands and reading detailed operating information.
[0139] To enable the fan controller to engage in deeper data exchange with the fans via its more flexible communication module—including sending complex commands and reading detailed operational information—without being limited by the signal modulation module, the communication module can be used to interact with N fans. Before the fan controller prepares to send control commands to the fans, it first needs to ensure that the fans are ready to communicate with the communication module. To do this, the fan controller switches the clock signal line and N data signal lines from a first communication mode to a second communication mode. This can be achieved by adjusting the signal control logic of the clock and data signal lines between the fan controller and the fans.
[0140] After the communication mode switch is completed, the communication module in the fan controller is activated, ready to receive and process fan control information, and then convert it into control commands in a preset format, ensuring that all instructions and data can be transmitted in the standard format of the preset communication protocol. After switching to the second communication mode, the signal modulation module is in standby mode until it needs to return to the first communication mode to perform basic tasks. This releases the resources of the signal modulation module, reduces unnecessary logical operations, and improves the overall system efficiency, especially when performing complex communication tasks.
[0141] As an optional implementation, upon receiving a signal modulation request message, one clock signal line and N data signal lines are controlled to switch from the second communication mode to the first communication mode.
[0142] The signal modulation request message is a message sent from a higher-level control system or user interface to the fan controller, instructing the fan controller to return to the first communication mode to perform simple fan speed adjustment and speed feedback.
[0143] When the fan controller is in the second communication mode and performing advanced data transmission tasks, if it receives a signal modulation request, it switches to the first communication mode. Specifically, the fan controller immediately controls the clock signal line and N data signal lines to switch from the current second communication mode to the first communication mode. This can be achieved through the signal control logic of the fan controller and the fan's transmit / receive signals adjusting the clock and data signal lines. After switching to the first communication mode, the signal modulation module in the fan controller is activated, ready to perform simple fan speed control and speed feedback. At this time, the communication module enters a standby state, waiting for the next advanced communication request.
[0144] Through the above description of the embodiments, those skilled in the art can clearly understand that the methods according to the above embodiments can be implemented by means of software plus necessary general-purpose hardware platforms. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method.
[0145] Embodiments of this application also provide a fan control device, applied to a fan controller. Figure 9 This is a structural block diagram of a fan control device according to an embodiment of this application, such as... Figure 9 As shown, the device includes:
[0146] The first conversion unit 902 is used to convert the fan control information into a preset format control command when the fan control information is received. The control command is a control command for N fans, where N is a positive integer.
[0147] The second conversion unit 904 is used to convert control commands into protocol signals that conform to a preset communication protocol, send the protocol signals to N fans through one clock signal line and N data signal lines, and obtain the return data from the N fans.
[0148] Optionally, the second conversion unit 904 includes: a first determining module, used to determine a clock signal to be transmitted on one clock signal line; a first conversion module, used to convert the fields of the control command into N level change signals to be transmitted on N data signals based on a preset communication protocol; and a second determining module, used to determine a protocol signal based on the clock signal and the N level change signals.
[0149] Optionally, the first end of one clock signal line is connected to the fan controller, and the last end of the other clock signal line is connected to N fans respectively. The first ends of all N data signal lines are connected to the fan controller, and the last ends of the N data signal lines are connected to N fans respectively. The second conversion unit 904 includes a transmitting module, which is used to transmit protocol signals to N fans through one clock signal line and N data signal lines. The transmitting module includes: a first transmitting submodule, used to transmit clock signals to N fans through one clock signal line; and a second transmitting submodule, used to transmit N level change signals in parallel to N fans through N data signal lines.
[0150] Optionally, when the fan control information indicates the control of N fans, the first conversion unit 902 includes: a second conversion module for converting the fan control information into a first field sequence, wherein the first field sequence includes at least the following fields in sequence: a start field, a write field, a command field, multiple write content fields, and an end field; and a third determination module for determining a control command based on the first field sequence.
[0151] Optionally, when the fan control information indicates the reading of the operating information of N fans, the first conversion unit 902 includes: a third conversion module, used to convert the fan control information into a second field sequence, wherein the second field sequence includes at least the following fields in sequence: a start field, a read field, a response field for responding to the read data length field, a response field for responding to the read content field, and an end field; and a fourth determination module, used to determine a control command based on the second field sequence.
[0152] Optionally, the first and last fields of the control command are respectively the start and end fields to be sent by the fan controller, and the first and last signals of the protocol signal are respectively the start and stop signals. The second conversion unit 904 includes: a fifth determining module, used to determine the signal to be sent from one clock signal line as a high-level signal and to determine the signals to be sent from N data signal lines as falling edge signals to obtain a start signal; and a sixth determining module, used to determine the signal to be sent from one clock signal line as a high-level signal and to determine the signals to be sent from N data signal lines as rising edge signals to obtain a stop signal.
[0153] Optionally, if a signal other than a start signal and a stop signal is generated, while controlling the transmission of rising edge signals or falling edge signals on the N data signal lines, a clock signal line is controlled to transmit a low-level signal.
[0154] Optionally, when the fan control information indicates the control of N fans, the control command includes a write field to be sent by the fan controller, a command field, and a write content field. The protocol signal includes a write signal, a command signal, and a write content signal. The second conversion unit 904 includes: a fourth conversion module, used to convert the write field into a first high-low level signal corresponding to the write identifier, and determine the signal to be sent on the N data signal lines as the first high-low level signal to obtain the write signal; a fifth conversion module, used to convert the command field into a second high-low level signal corresponding to the command, and determine the signal to be sent on the N data signal lines as the second high-low level signal to obtain the command signal; and a sixth conversion module, used to convert the write content field into a third high-low level signal corresponding to the write content, and determine the signal to be sent on the N data signal lines as the third high-low level signal to obtain the write content signal.
[0155] Optionally, when the fan control information indicates the operation of N fans, the second conversion unit 904 includes a transmission module, which includes: a first control submodule, used to control one clock signal line and N data signal lines to send a write signal after the start signal is sent through one clock signal line and N data signal lines; a second control submodule, used to control one clock signal line and N data signal lines to send a command signal after receiving affirmative response signals from N fans after the write signal is sent; and a third control submodule, used to control one clock signal line and N data signal lines to send a write content signal after the command signal is sent, and if affirmative response signals are received from N fans, control one clock signal line and N data signal lines to send the next write content signal, until affirmative response signals are received from N fans for the last write content signal, and then control one clock signal line and N data signal lines to send a stop signal.
[0156] Optionally, the device further includes a communication termination determination unit, configured to terminate communication between the fan controller and the corresponding fan if a negative response signal from a fan is received when a write signal has been sent, a command signal has been sent, or any write content signal has been sent.
[0157] Optionally, the N fans respectively feed back positive response signals in the following ways: if a fan feeds back positive response information, the clock signal line is controlled to transmit a clock signal, and the corresponding data signal line of the fan is controlled to feed back a low-level signal on the Mth clock after one byte has been transmitted; the N fans respectively feed back negative response signals in the following ways: if a fan feeds back negative response information, the clock signal line is controlled to transmit a clock signal, and the corresponding data signal line of the fan is controlled to feed back a high-level signal on the Mth clock after one byte has been transmitted.
[0158] Optionally, when the fan control information indicates the reading of the operating information of N fans, the control command includes a read field and an acknowledgment field to be sent by the fan controller, and the protocol signal includes a read signal and a response signal. The second conversion unit 904 includes: a seventh conversion module, used to convert the read field to be sent by the fan controller in the control command into a fourth high-low level signal corresponding to the read identifier, and to determine the signal to be sent by the N data signal lines as the fourth high-low level signal to obtain the read signal; a seventh determination module, used to determine the signal to be sent by the Nth clock after one byte of data signal lines has been transmitted as a low level signal to obtain a response signal indicating affirmation; and an eighth determination module, used to determine the signal to be sent by the Nth clock after one byte of data signal lines has been transmitted as a high level signal to obtain a response signal indicating negation.
[0159] Optionally, when the fan control information indicates the reading of operating information from N fans, the second conversion unit 904 includes a sending module, which includes: a fourth control submodule, used to control one clock signal line and N data signal lines to send a read signal after the start signal is sent from one clock signal line and N data signal lines; and after the read signal is sent, if the read data length signal is received from N fans, then the clock signal line and N data signal lines are controlled to send a positive response signal; and a fifth control submodule, used to control one clock signal line and N data signal lines to send a positive response signal again if the first read content signal is received from N fans, until the last read content signal is received from N fans, then the clock signal line and N data signal lines are controlled to send a stop signal.
[0160] Optionally, the N fans feed back the data length signal in the following way: the length information of the returned data from the N fans is converted into corresponding high and low level signals, the clock signal line is controlled to transmit the clock signal, and the N data signal lines are controlled to feed back the high and low level signals corresponding to the length information in parallel; the N fans feed back the content signal in the following way: the content of the returned data from the N fans is converted into corresponding high and low level signals, the clock signal line is controlled to transmit the clock signal, and the N data signal lines are controlled to feed back the high and low level signals corresponding to the content of the returned data in parallel.
[0161] Optionally, the fan controller includes a communication module and a signal modulation module with a preset communication protocol. The device also includes a first communication mode switching unit, used to control one clock signal line and N data signal lines to switch from the first communication mode to the second communication mode before converting the fan control information into a control command of a preset format. The first communication mode indicates that N fans communicate with the signal modulation module, and the second communication mode indicates that N fans communicate with the communication module.
[0162] Optionally, the device further includes a second communication mode switching unit, used to control one clock signal line and N data signal lines to switch from the second communication mode to the first communication mode upon receiving a signal modulation request information.
[0163] For a description of the features of the fan control device in the corresponding embodiment, please refer to the relevant description of the fan control method in the corresponding embodiment, which will not be repeated here.
[0164] Embodiments of this application also provide an electronic device, including a memory and a processor, wherein the memory stores a computer program and the processor is configured to run the computer program to perform the steps in any of the above-described fan control method embodiments.
[0165] Embodiments of this application also provide a computer-readable storage medium storing a computer program, wherein the computer program is configured to execute the steps in any of the above-described fan control method embodiments when it is run.
[0166] In one exemplary embodiment, the aforementioned computer-readable storage medium may include, but is not limited to, various media capable of storing computer programs, such as a USB flash drive, read-only memory (ROM), random access memory (RAM), portable hard disk, magnetic disk, or optical disk.
[0167] Embodiments of this application also provide a computer program product, which includes a computer program that, when executed by a processor, implements the steps in any of the above-described fan control method embodiments.
[0168] Embodiments of this application also provide another computer program product, including a non-volatile computer-readable storage medium storing a computer program, which, when executed by a processor, implements the steps in any of the above-described fan control method embodiments.
[0169] Those skilled in the art will further recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of both. To clearly illustrate the interchangeability of hardware and software, the components and steps of the various examples have been generally described in terms of functionality in the foregoing description. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.< / length>
Claims
1. A control method of a fan, characterized by, The application is applied to a fan controller, comprising: In the case of receiving fan control information, the fan control information is converted into a control command in a preset format, wherein the control command is a control command for N fans, and N is a positive integer; The control command is converted into a protocol signal conforming to a preset communication protocol, the protocol signal is sent to the N fans through one clock signal line and N data signal lines, and return data of the N fans is acquired; The control command is converted into a protocol signal conforming to a preset communication protocol, which comprises: determining a clock signal to be transmitted by the one clock signal line; converting fields of the control command into N level change signals to be transmitted by N data signal lines respectively based on the preset communication protocol; and determining the protocol signal according to the clock signal and the N level change signals.
2. The control method of a fan according to claim 1, characterized by, The first end of the one clock signal line is connected to the fan controller, the tail end of the one clock signal line is connected to the N fans respectively, the first end of the N data signal lines is connected to the fan controller, the tail end of the N data signal lines is connected to the N fans respectively, and the protocol signal is sent to the N fans through one clock signal line and N data signal lines, which comprises: The clock signal is sent to the N fans through the one clock signal line; The N level change signals are sent to the N fans in parallel through the N data signal lines.
3. The control method of a fan according to claim 1, characterized by, In the case that the fan control information indicates to control the operation of the N fans, converting the fan control information into a control command in a preset format comprises: The fan control information is converted into a first field sequence, wherein the first field sequence at least comprises the following fields in sequence: a start field, a write field, a command field, a plurality of write content fields, and an end field; The control command is determined according to the first field sequence.
4. The control method of a fan according to claim 1, characterized by, In the case that the fan control information indicates to read the operation information of the N fans, converting the fan control information into a control command in a preset format comprises: The fan control information is converted into a second field sequence, wherein the second field sequence at least comprises the following fields in sequence: a start field, a read field, a response field for responding to a read data length field, a response field for responding to a read content field, and an end field; The control command is determined according to the second field sequence.
5. The control method of a fan according to claim 1, characterized by, The first field and the last field of the control command are a start field and an end field to be sent by the fan controller respectively, the first signal and the last signal of the protocol signal are a start signal and a stop signal respectively, and converting the control command into a protocol signal conforming to a preset communication protocol comprises: The signal to be transmitted by the one clock signal line is determined as a high-level signal, and the signals to be transmitted by the N data signal lines are all determined as falling edge signals, thereby obtaining the start signal; The signal to be transmitted by the one clock signal line is determined as a high-level signal, and the signals to be transmitted by the N data signal lines are all determined as rising edge signals, thereby obtaining the stop signal.
6. The control method of a fan according to claim 5, wherein If a signal other than the start signal and the stop signal is generated, the one clock signal line is controlled to transmit a low level signal while the N data signal lines are controlled to transmit a rising edge signal or a falling edge signal.
7. The control method of a fan according to claim 1, wherein In a case where the fan control information indicates control of the operation of the N fans, the control command includes a write field, a command field and a write content field to be sent by the fan controller, the protocol signal includes a write signal, a command signal and a write content signal, and converting the control command into the protocol signal conforming to the preset communication protocol includes: converting the write field into a first high-low level signal corresponding to a write identification, and determining the signal to be sent by the N data signal lines as the first high-low level signal to obtain the write signal; converting the command field into a second high-low level signal corresponding to a command, and determining the signal to be sent by the N data signal lines as the second high-low level signal to obtain the command signal; converting the write content field into a third high-low level signal corresponding to a write content, and determining the signal to be sent by the N data signal lines as the third high-low level signal to obtain the write content signal.
8. The control method of a fan according to claim 7, characterized by, In a case where the fan control information indicates control of the operation of the N fans, the protocol signal is sent to the N fans through one clock signal line and N data signal lines, and the return data of the N fans is obtained, including: after the one clock signal line and the N data signal lines are controlled to send a start signal, the one clock signal line and the N data signal lines are controlled to send the write signal; after the write signal is sent, if a positive response signal fed back by the N fans is received, the one clock signal line and the N data signal lines are controlled to send the command signal; after the command signal is sent, one write content signal is sent through the one clock signal line and the N data signal lines, if a positive response signal fed back by the N fans is received, the next write content signal is sent through the one clock signal line and the N data signal lines, until a positive response signal fed back by the N fans for the last write content signal is received, and the one clock signal line and the N data signal lines are controlled to send a stop signal.
9. The control method of a fan according to claim 8, wherein The method further includes: in a case where the write signal is sent, or in a case where the command signal is sent, or in a case where any one write content signal is sent, if a negative response signal fed back by one fan is received, the communication between the fan controller and the corresponding fan ends.
10. The control method of a fan according to claim 9, wherein The N fans respectively feed back the positive response signal in the following ways: if one fan feeds back a positive response signal, the clock signal line is controlled to transmit a clock signal, and the one data signal line corresponding to the fan is controlled to feed back a low level signal at the Mth clock after one byte is transmitted. The N fans respectively feed back the response signal representing negative response in the following manner: If a fan feeds back response information representing negative response, the clock signal line is controlled to transmit clock signal, and the data signal line corresponding to the fan is controlled to feed back high level signal at the Mth clock after one byte transmission is completed.
11. The control method of a fan according to claim 1, wherein In the case where the fan control information indicates reading the running information of the N fans, the control command includes the reading field and the confirmation field to be sent by the fan controller, the protocol signal includes reading signal and response signal, and converting the control command into the protocol signal conforming to the preset communication protocol includes: The reading field to be sent by the fan controller in the control command is converted into the fourth high-low level signal corresponding to the reading identification, and the signal to be sent by the N data signal lines is determined as the fourth high-low level signal, thereby obtaining the reading signal; The signal to be sent by the N data signal lines at the Nth clock after one byte transmission is completed is determined as low level signal, thereby obtaining the response signal representing positive response; The signal to be sent by the N data signal lines at the Nth clock after one byte transmission is completed is determined as high level signal, thereby obtaining the response signal representing negative response.
12. The control method of a fan according to claim 11, wherein In the case where the fan control information indicates reading the running information of the N fans, the protocol signal is sent to the N fans through one clock signal line and N data signal lines, and the returned data of the N fans is obtained, which includes: After the one clock signal line and the N data signal lines are controlled to send start signal, the one clock signal line and the N data signal lines are controlled to send the reading signal, and after the reading signal is sent, if the reading data length signal fed back by the N fans is received, the one clock signal line and the N data signal lines are controlled to send the response signal representing positive response; If the first reading content signal fed back by the N fans is received, the one clock signal line and the N data signal lines are controlled to send the response signal representing positive response again, until the last reading content signal fed back by the N fans is received, and the one clock signal line and the N data signal lines are controlled to send stop signal.
13. The control method of a fan according to claim 12, wherein The N fans feed back the reading data length signal in the following manner: The length information of the returned data of the N fans is respectively converted into corresponding high-low level signal, the clock signal line is controlled to transmit clock signal, and the N data signal lines are controlled to feed back the high-low level signal corresponding to the length information in parallel; The N fans feed back the reading content signal in the following manner: The content of the returned data of the N fans is respectively converted into corresponding high-low level signal, the clock signal line is controlled to transmit clock signal, and the N data signal lines are controlled to feed back the high-low level signal corresponding to the content of the returned data in parallel.
14. The control method of a fan according to claim 2, characterized by, The fan controller includes a communication module and a signal modulation module of the preset communication protocol, and before the fan control information is converted into the control command in the preset format, the method further includes: Switch the one clock signal line and the N data signal lines from a first communication mode to a second communication mode, wherein the first communication mode indicates that the N fans communicate with the signal modulation module, and the second communication mode indicates that the N fans communicate with the communication module.
15. The control method of a fan according to claim 14, wherein The method further comprises: Switch the one clock signal line and the N data signal lines from the second communication mode to the first communication mode upon receiving signal modulation request information.
16. A control system for a fan, characterized by Comprise: a fan controller; one clock signal line, a head end connected to the fan controller, and a tail end connected to N fans respectively; N data signal lines, each of which has a head end connected to the fan controller and a tail end connected to the N fans respectively; The fan controller includes a control chip for converting the fan control information into a control command in a preset format upon receiving the fan control information, wherein the control command is a control command for N fans, and N is a positive integer. The fan controller further comprises a communication module of a preset communication protocol for converting the control command into a protocol signal conforming to the preset communication protocol, sending the protocol signal to the N fans through one clock signal line and N data signal lines, and obtaining return data of the N fans, and converting the control command into a protocol signal conforming to the preset communication protocol comprises: determining a clock signal to be transmitted by the one clock signal line; converting fields of the control command into N level change signals to be transmitted by N data signals respectively based on the preset communication protocol; and determining the protocol signal according to the clock signal and the N level change signals.
17. A control system for a fan as claimed in claim 16, characterised in that, The fan controller further comprises a signal modulation module, and the control chip is configured to switch the one clock signal line and the N data signal lines from a first communication mode to a second communication mode upon receiving fan control information, wherein the first communication mode indicates that the N fans communicate with the signal modulation module, and the second communication mode indicates that the N fans communicate with the communication module.
18. The control system of a fan according to claim 17, wherein, Switch the one clock signal line and the N data signal lines from the second communication mode to the first communication mode upon receiving signal modulation request information.
19. A computer program product comprising a computer program, characterized in that, The computer program is executed by a processor to implement the steps of the fan control method according to any one of claims 1 to 15. The computer program is executed by a processor to implement the steps of the fan control method according to any one of claims 1 to 15.
Citation Information
Patent Citations
Fan control device and method thereof
CN109488631A
Multi-fan control system
CN118705200A