
1. 项目概述与核心价值在嵌入式系统、服务器主板或者高性能计算设备的设计中热管理从来都不是一个可以“事后补救”的环节。我经历过不止一次项目因为早期对散热方案预估不足导致后期产品在高负载下频繁降频甚至宕机不得不重新设计散热模组费时费力。一个高效、智能的热管理系统其核心在于精准的感知和灵活的控制。今天要深入拆解的LM96063就是一款将这两大核心功能——高精度远程温度感知与智能PWM风扇控制——集成在单一芯片内的经典解决方案。简单来说LM96063是一个通过SMBus接口通信的数字温度传感器它能以最高0.125°C的分辨率测量一个外部“热二极管”通常就是CPU、GPU或FPGA芯片内部的一个PN结的温度同时还能测量自身的环境温度。更关键的是它内置了一个完整的PWM风扇控制器可以根据测得的温度自动调节风扇转速。你不再需要一颗MCU来频繁地读取温度、查表、再输出PWM信号LM96063自己就能完成这个闭环大大简化了硬件设计和软件驱动的工作量。这颗芯片特别适合那些对空间、成本和可靠性有苛刻要求的场景比如刀片服务器、网络交换机、工业控制主板以及紧凑型的嵌入式工控机。它把热管理从“系统级任务”降维成了一个“外设配置问题”。接下来我会结合数据手册和实际调试经验带你彻底吃透它的设计思路、实操要点和那些容易踩坑的细节。2. 芯片功能架构与设计思路解析2.1 核心功能模块拆解LM96063虽然只有10个引脚但内部集成的功能模块相当清晰。我们可以把它看作两个主要部分温度测量前端和风扇控制后端两者通过内部数字逻辑和寄存器紧密耦合。温度测量前端的核心是一个基于ΔVBE原理的Σ-Δ ADC。简单类比一下这就像用一个非常精密的“电压表”去测量热二极管在两个不同激励电流下的压差。因为半导体PN结的正向压降Vf与温度T呈线性关系大约-2mV/°C通过测量这个压差就能精确反推出结温。LM96063的精度在典型工作范围内能达到±0.75°C这对于监控芯片结温已经足够。它支持两种测温目标一是远程二极管Remote Diode即连接在D和D-引脚上的外部PN结二是本地二极管Local Diode即芯片自身的硅片温度。风扇控制后端则是一个基于查找表LUT的状态机。它持续读取前端ADC转换得到的远程温度值然后将这个温度与用户预先编程在12级查找表中的温度阈值进行比较。每级查找表都对应一个预设的PWM占空比输出。当温度落在某个区间内芯片就输出对应的PWM信号直接驱动4线风扇的PWM控制线。此外它还集成了一个转速计TACH输入引脚可以读取风扇反馈的转速脉冲实现转速监控甚至支持“智能转速计”模式以应对PWM调速对转速脉冲信号造成的干扰。2.2 关键设计特性与选型考量为什么在众多温度传感器中LM96063的方案值得考虑关键在于它的几个集成化设计特性直接命中了工程实践中的痛点集成12步查找表LUT与平滑过渡这是降低风扇噪音的利器。传统的温控风扇曲线往往是线性的或者由MCU实现几个简单的跳变点这容易导致风扇转速在某个温度点突然飙升产生明显的“啸叫”或“阶跃”噪音。LM96063的12步LUT允许你定义一条非线性的、更贴合散热需求的转速-温度曲线。更重要的是其“平滑过渡”功能当温度在两个LUT设定点之间变化时PWM占空比会在一段可编程的时间内逐渐变化从而实现风扇转速的无级平滑调整听觉上几乎感知不到突变。高分辨率PWM与转速计反馈其PWM输出频率固定为22.5kHz这个频率远高于人耳可闻范围避免了可听噪音。在此频率下占空比分辨率高达0.39%意味着你可以实现非常精细的风扇调速。配合转速计输入你不仅可以实现开环速度控制还能进行闭环验证确保风扇确实按指令运转及时发现风扇故障如堵转。双路报警与临界关断输出ALERT和TCRIT两个开漏输出引脚提供了灵活的系统级响应机制。ALERT可以配置为比较器模式、中断模式或SMBus警报模式用于通知主控温度越限过高或过低。而TCRIT则是一个更“紧急”的信号通常直接连接到系统的使能或复位电路当温度超过设定的临界值如105°C时直接拉低触发系统关机或重启实现硬件级别的保护即使主控软件死机也能生效。针对不同工艺二极管的优化数据手册中提到了LM96063和LM96163的区别关键在于“TruTherm BJT Beta补偿”是否默认开启。这涉及到远程测温的一个深层细节不同半导体工艺如体硅CMOS和SOI制造的热二极管其电流增益Beta特性不同会影响测温精度。LM96063默认针对SOI工艺的二极管如许多FPGA内部进行了优化而LM96163则针对英特尔45nm等体硅工艺处理器。选型时必须根据你监控的目标芯片类型来选择否则可能引入数摄氏度的系统误差。3. 硬件电路设计要点与实操指南3.1 远程二极管连接与布线规范这是影响测温精度的最关键硬件环节。LM96063通过D和D-两个引脚连接远程热二极管。连接对象通常是目标芯片如CPU内部的一个专用PN结热二极管其两个引脚会引出到芯片的特定引脚如THERMDA, THERMDC。绝对不要直接连接到普通的电源或信号引脚。如果没有集成热二极管也可以使用一个外部的二极管连接型三极管如MMBT3904将其基极和集电极短接作为二极管的正极接D发射极作为负极接D-。走线要求强耦合D和D-走线必须严格等长、并行、紧密耦合最好在PCB内层走线并用地线包裹屏蔽。目的是让这两根线感受到完全相同的环境噪声通过差分方式将其抵消。远离干扰源务必远离开关电源、时钟线、数字总线等噪声源。哪怕几毫伏的噪声耦合到测量回路上在微伏级别的ΔVBE信号面前都是灾难性的。滤波电容在D和D-引脚之间靠近芯片处需要并联一个100pF的陶瓷电容CFILTER。这个电容用于滤除高频噪声但其值必须精确。电容过大会导致测量响应迟缓过小则滤波不足。数据手册中的图表显示了电容值对读数的影响100pF是经过优化的推荐值。寄生参数最小化走线应尽可能短以减少引线电阻和寄生电容。过长的走线引入的串联电阻会带来测量误差虽然LM96063有偏移寄存器可以软件补偿但硬件上做到最优是根本。实操心得在一次工控主板设计中我们将传感器放在CPU背面D/D-走线长约5cm且为了绕开一个连接器而走了个直角。结果量产测试中约有3%的板子远程温度读数在室温下就比实际高5-8°C。后来复盘问题就出在走线过长且不对称引入了不匹配的寄生电阻。重新布局将传感器移至CPU侧面走线缩短至2cm内并严格差分走线后问题彻底消失。教训是对待这两根线的PCB布局要像对待高速差分信号一样谨慎。3.2 电源、去耦与接口电路电源VDD要求3.0V至3.6V典型值3.3V。电源质量至关重要。旁路电容必须在芯片的VDD引脚和GND引脚之间放置一个0.1µF的陶瓷电容CBYPass和一个100pF的陶瓷电容CHF并联且必须尽可能靠近芯片引脚3mm。0.1µF负责中低频噪声100pF负责滤除更高频的噪声。大容量储能电容在电源路径上芯片附近还需要一个10µF的钽电容或陶瓷电容用于提供瞬时电流并稳定电源电压。SMBus接口SMBCLK, SMBDAT这是配置芯片和读取数据的通道。上拉电阻SMBDAT是开漏输出必须连接上拉电阻到3.3V。电阻值通常在1kΩ到10kΩ之间需要根据总线电容和通信速度选择。总线负载重、线长时用较小的电阻如1.2kΩ以提供更强的上拉能力追求低功耗时可用较大的电阻如4.7kΩ。走线SMBus是I2C的变种走线也需注意避免过长的stub线并适当远离模拟测量线。风扇驱动接口PWM, TACHPWM输出这是一个开漏输出需要上拉电阻典型值1kΩ - 10kΩ连接到风扇的PWM输入引脚通常是5V或12V电平。关键点风扇的PWM输入是高电平有效还是低电平有效LM96063的PWM输出默认上电为低电平风扇全速还是停转。这需要与你选用的风扇规格匹配。通常风扇PWM引脚内部有上拉输入低电平时停转或最低速。因此LM96063输出低拉低对应低占空比低速输出高阻由上拉电阻拉高对应高占空比高速。务必查阅风扇数据手册确认。TACH输入用于读取风扇的转速脉冲信号。这是一个数字输入引脚通常需要通过一个上拉电阻如10kΩ接到3.3V。风扇的TACH输出是开集电极或开漏的每转输出1个或2个脉冲。LM96063内部有施密特触发器整形。需要注意风扇TACH输出的电压是否与3.3V兼容如果不兼容如12V需要增加电平转换电路如一个NPN三极管或电平转换芯片。报警输出ALERT, TCRIT均为开漏输出需要上拉电阻。它们的去向取决于你的系统设计ALERT通常连接到主控MCU的中断引脚用于触发温度越限中断服务程序。TCRIT通常连接到系统的电源管理芯片的使能EN引脚或硬件看门狗的复位引脚实现温度“熔断”保护。4. 寄存器配置与软件驱动实现LM96063的所有功能都通过SMBus接口访问其内部寄存器来配置。理解寄存器地图是编写驱动软件的前提。4.1 关键寄存器组详解芯片的寄存器可以分为几大类配置类、温度数据类、限值类、风扇控制类和状态类。配置寄存器Configuration Register, 地址 0x03这是芯片的“总开关”。Bit 6: STANDBY置1进入待机模式停止温度转换降低功耗。在待机模式下PWM输出是否继续工作由另一个位控制。Bit 2: TCHEN转速计TACH输入使能位。上电默认是禁用的如果你需要使用转速反馈功能必须在初始化时将此位置1。Bit 1: ALERT MaskALERT输出掩码位。置1则禁用ALERT引脚输出即使有故障也不拉低。在中断服务程序中读取状态寄存器后芯片会自动将此位置1以防止重复中断服务完成后需要软件清零以重新使能警报。Bit 0: TCRITOVT_CRIT限值覆盖使能。上电后T_CRIT临界温度限值被锁定为默认值通常是110°C。只有将此位置1后才能通过软件修改T_CRIT设定值寄存器。温度数据寄存器本地温度值Local Temperature, 地址 0x008位寄存器分辨率1°C直接读取即为摄氏温度值二进制格式。远程温度值Remote Temperature, 地址 0x01, 0x10由两个8位寄存器组成一个16位的值。数据格式可以是11位有符号二进制补码范围-256°C ~ 255.875°C分辨率0.125°C也可以是11位无符号二进制范围0°C ~ 255.875°C。具体格式由“增强配置寄存器”中的USF位控制。注意读取时需先读高字节0x01再读低字节0x10。温度限值寄存器包括本地高温限值LHS、远程高温限值RHS、远程低温限值RLS和远程临界限值RCRIT。当测量值超过或低于这些限值时会触发状态寄存器相应位和ALERT/TCRIT输出。风扇控制相关寄存器这是实现智能调速的核心。查找表LUT寄存器共有12组寄存器对LUT0到LUT11每组包含一个“温度阈值”寄存器和一个“PWM占空比”寄存器。你需要根据期望的风扇曲线来填充这些值。例如LUT0_TEMP设为40°CLUT0_PWM设为20%对应寄存器值0x33LUT1_TEMP设为50°CLUT1_PWM设为40%……芯片会线性插值或根据平滑功能在两点间过渡。平滑控制寄存器可以设置一个时间常数例如2秒当温度变化导致PWM输出需要在两个LUT点之间跳变时占空比会在这个设定的时间内线性渐变而不是瞬间跳变。转速计配置寄存器用于设置转速计测量的参数如每转脉冲数2或4脉冲以及是否启用“智能转速计”模式。智能模式能有效滤除因PWM调速导致的转速脉冲信号畸变获得更准确的RPM值。4.2 软件驱动流程与代码示例以下是一个基于嵌入式C语言的LM96063基础驱动流程框架假设你已有成熟的SMBus/I2C底层读写函数。// 1. 初始化函数 bool LM96063_Init(void) { uint8_t config; // a) 可选读取设备ID或版本寄存器验证通信是否正常 if (!I2C_ReadByte(LM96063_ADDR, DEVICE_ID_REG, id)) { return false; // 通信失败 } // b) 配置基本参数 config 0x00; // 例如使能TACH输入禁用待机模式ALERT掩码先清零使能 config | (1 2); // 设置TCHEN1 if (!I2C_WriteByte(LM96063_ADDR, CONFIG_REG, config)) { return false; } // c) 配置风扇查找表(LUT) // 假设我们设置一个简单的4级曲线40°C以下20%50°C时40%60°C时70%70°C以上100% LM96063_SetLUTPoint(0, 40, 20); // LUT0: 40°C - 20% duty LM96063_SetLUTPoint(1, 50, 40); // LUT1: 50°C - 40% duty LM96063_SetLUTPoint(2, 60, 70); // LUT2: 60°C - 70% duty LM96063_SetLUTPoint(3, 70, 100); // LUT3: 70°C - 100% duty // LUT4-LUT11可以设置为与LUT3相同的值或留作他用 // d) 配置温度限值报警 LM96063_SetRemoteHighLimit(85); // 远程高温报警限值85°C LM96063_SetRemoteCriticalLimit(105); // 远程临界关机限值105°C LM96063_SetRemoteLowLimit(10); // 远程低温报警限值10°C防结露等 // e) 使能TCRIT覆盖以便我们设置的临界值生效 uint8_t enhanced_config; I2C_ReadByte(LM96063_ADDR, ENHANCED_CONFIG_REG, enhanced_config); enhanced_config | (1 0); // 设置TCRITOV1 I2C_WriteByte(LM96063_ADDR, ENHANCED_CONFIG_REG, enhanced_config); // f) 可选设置平滑过渡时间例如2秒 LM96063_SetSmoothingInterval(2000); // 单位ms return true; } // 2. 读取温度函数 float LM96063_ReadRemoteTemperature(void) { uint8_t temp_high, temp_low; int16_t raw_temp; float temperature; // 先读高字节再读低字节 if (!I2C_ReadByte(LM96063_ADDR, REMOTE_TEMP_HIGH_REG, temp_high)) { return -273.15; // 错误返回绝对零度 } if (!I2C_ReadByte(LM96063_ADDR, REMOTE_TEMP_LOW_REG, temp_low)) { return -273.15; } // 组合成16位数据左对齐高字节在前 raw_temp (temp_high 8) | temp_low; // 转换为有符号整数假设配置为有符号格式 // 数据是11位有效左对齐所以右移5位得到11位有符号数 raw_temp raw_temp 5; // 转换为浮点温度分辨率0.125°C temperature (float)raw_temp * 0.125f; return temperature; } // 3. 读取风扇转速函数 uint16_t LM96063_ReadFanRPM(void) { uint8_t rpm_high, rpm_low; uint16_t tach_count; float rpm; // 假设风扇为2脉冲/转 const uint8_t PULSES_PER_REV 2; // 读取转速计计数器值两个寄存器 I2C_ReadByte(LM96063_ADDR, TACH_HIGH_REG, rpm_high); I2C_ReadByte(LM96063_ADDR, TACH_LOW_REG, rpm_low); tach_count (rpm_high 8) | rpm_low; // 根据数据手册公式计算RPMRPM (90,000 * PULSES_PER_REV) / TACH_COUNT // 其中90,000是内部时钟频率90kHz与单位转换系数的乘积 if (tach_count 0) { return 0; // 风扇可能停转 } rpm (90000.0f * PULSES_PER_REV) / (float)tach_count; return (uint16_t)rpm; } // 4. 中断服务例程当ALERT引脚触发时 void LM96063_Alert_ISR(void) { uint8_t status_reg; // 读取警报状态寄存器以清除警报标志并查明原因 I2C_ReadByte(LM96063_ADDR, ALERT_STATUS_REG, status_reg); if (status_reg REMOTE_HIGH_ALERT_MASK) { // 远程温度超过高温限值 log_error(CPU温度过高当前温度%f °C, LM96063_ReadRemoteTemperature()); // 可以采取增强散热措施如提高风扇曲线 } if (status_reg REMOTE_CRITICAL_ALERT_MASK) { // 远程温度超过临界限值硬件TCRIT引脚可能也已动作 log_critical(CPU温度超临界值即将执行系统保护关机); // 触发紧急关机流程 System_EmergencyShutdown(); } if (status_reg REMOTE_LOW_ALERT_MASK) { // 远程温度低于低温限值环境过冷 log_warning(CPU温度过低。); } // 处理完状态后必须清除ALERT掩码位以重新使能下一次警报 uint8_t config; I2C_ReadByte(LM96063_ADDR, CONFIG_REG, config); config ~(1 1); // 清除ALERT掩码位Bit 1 I2C_WriteByte(LM96063_ADDR, CONFIG_REG, config); }注意事项上述代码是简化示例。在实际驱动中必须处理所有可能的通信错误并考虑SMBus的超时机制。对寄存器的写操作特别是配置LUT和限值时建议遵循“读-修改-写”的模式避免覆盖其他配置位。5. 高级功能调试与性能优化5.1 查找表LUT曲线设计与噪音优化设计LUT曲线的目标是在保证散热的前提下尽可能降低风扇噪音。风扇噪音主要来源于两个方面一是高转速下的风噪二是转速突变产生的阶跃噪音。确定温度区间与死区首先你需要确定芯片的正常工作温度范围Tnormal和最大允许结温Tjmax。在Tnormal以下风扇可以保持一个较低的静音转速例如20%-30%占空比。在Tnormal到Tjmax之间风扇转速应随温度升高而平滑增加。可以设置一个“滞后区间”或“死区”例如当温度从55°C升到60°C时风扇加速但从60°C降下来时要到55°C以下才减速这样可以避免风扇在临界点附近频繁启停。利用平滑过渡功能这是LM96063的杀手锏。假设你设置了LUT150°C 40%和LUT260°C 80%。如果没有平滑功能温度一过55°C中点PWM输出会立刻从40%跳到80%风扇转速骤变噪音明显。启用平滑功能并设置一个过渡时间如4秒后当温度从50°C向60°C上升时PWM占空比会在4秒内从40%线性增加到80%。听觉上风扇是“缓缓加速”的噪音变化非常平滑。实测与迭代理论曲线需要结合风道和散热器实际效果进行校准。使用一个可编程的负载如FPGA运行高负载测试程序来加热芯片同时用声级计和红外测温枪监测。记录下不同PWM占空比下芯片的稳态温度和环境噪音。反复调整LUT点找到那个“温度控制”和“听觉感受”的最佳平衡点。通常在中等负载区间如60-80°C让风扇运行在中等转速50-70%既能有效散热噪音也在可接受范围。5.2 转速计TACH测量与故障诊断转速计功能不仅用于显示转速更是系统健康诊断的重要工具。智能转速计模式当使用PWM控制风扇时给风扇电机的供电是断续的。这会导致风扇输出的转速脉冲TACH信号在PWM为低电平时电机断电产生畸变或丢失。LM96063的“智能转速计模式”通过内部逻辑只在PWM信号为高电平电机供电的窗口期内采样TACH信号从而获得准确的脉冲计数。务必在初始化时启用此模式设置相关配置位否则读取的RPM值可能会严重失真甚至为零。风扇故障检测在驱动软件中应定期例如每秒一次读取风扇RPM。可以将读取到的RPM值与当前PWM占空比下预期的RPM范围进行比较。如果实际RPM远低于预期例如低于50%或持续为零则可以判断风扇可能发生堵转、老化或连接器脱落。此时可以通过ALERT引脚产生系统警报或自动将PWM输出设置为100%全速尝试恢复并记录故障日志。脉冲数配置常见风扇有2脉冲/转或4脉冲/转两种规格。务必在配置寄存器中正确设置否则RPM计算值会差一倍。5.3 精度校准与偏移补偿即使硬件布线完美由于远程二极管本身的非理想性Non-Ideality Factor 典型值nF≈1.008以及PCB走线引入的串联电阻测温结果也可能存在固定的系统误差。LM96063提供了远程温度偏移寄存器RTOHB和RTOLB来进行软件补偿。校准流程建议在可控温的环境如恒温箱中设置一个已知的精确温度点Tactual例如50.0°C。让系统稳定运行使用LM96063读取远程温度值Tread。计算误差ΔT Tactual- Tread。将ΔT转换为偏移寄存器值。偏移寄存器是13位二进制补码格式LSB为0.03125°C。因此偏移值 ΔT / 0.03125。将计算出的偏移值写入远程温度偏移寄存器。验证在另一个温度点如30°C和70°C进行验证确保补偿后在较宽温度范围内都准确。实操心得偏移补偿主要修正的是系统性的固定误差。如果发现误差随温度变化非线性增大那可能不是偏移问题而是二极管非理想性因子不匹配或串联电阻过大此时可能需要考虑更换传感器型号如使用LM96163或重新优化PCB布局。6. 常见问题排查与实战经验汇总在实际项目中部署LM96063你几乎一定会遇到下面这些问题。这里我把踩过的坑和解决方案整理出来希望能帮你节省大量调试时间。问题现象可能原因排查步骤与解决方案远程温度读数漂移大或不稳定1. D/D-走线受噪声干扰。2. 滤波电容CFILTER不匹配或损坏。3. 远程二极管连接错误或接触不良。4. 电源噪声大。1. 用示波器观察D-引脚相对于GND的波形在转换期间应是一条平静的直流线如有毛刺则说明有噪声耦合。检查并优化布线。2. 确认使用的是100pF NPO/COG材质的陶瓷电容且焊接良好。3. 确认连接的是正确的热二极管引脚检查焊点或插座接触电阻。4. 用示波器检查VDD引脚电源纹波应小于50mVpp。加强电源去耦。远程温度读数始终为固定值如-256°C或255°C1. D或D-引脚开路或短路。2. 远程二极管极性接反。3. 芯片与目标二极管的地平面不共地。1. 测量D和D-之间的直流电压。在芯片工作时应有约0.6V的压差。如果为0V或VDD则线路可能开路/短路。2. 检查二极管连接CPU的热二极管阳极通常接D阴极接D-。对于MMBT3904集电极和基极短接后接D发射极接D-。3. 确保传感器芯片的GND与目标芯片的GND是低阻抗连接。风扇不受控始终全速或停转1. PWM输出引脚上拉电阻未接或错误。2. PWM输出电平与风扇PWM输入逻辑不匹配。3. 查找表LUT未正确配置或使能。1. 检查PWM引脚是否有上拉电阻至风扇PWM电压。2. 用示波器测量PWM引脚波形。确认其占空比是否随温度变化。同时查阅风扇数据手册确认其PWM输入是高电平有效还是低电平有效必要时调整硬件逻辑如增加反相器。3. 通过SMBus读取LUT寄存器和配置寄存器确认数值已正确写入且风扇控制功能已使能非待机模式。读取的转速RPM为0或不准确1. TACH输入未使能TCHEN位为0。2. 未启用“智能转速计”模式。3. 风扇TACH输出上拉电阻未接或开路。4. 脉冲数配置错误。1.首先检查配置寄存器0x03的Bit 2 (TCHEN)上电默认是0必须将其置1。2. 检查转速计配置寄存器启用“Smart Tach”模式。3. 用示波器观察TACH引脚看是否有脉冲波形。如果没有检查风扇端TACH输出电路及上拉电阻。4. 确认配置的每转脉冲数与风扇规格一致。ALERT或TCRIT引脚永不触发或一直触发1. 上拉电阻缺失。2. 温度限值寄存器设置不合理如高温限值低于当前温度。3. ALERT掩码位被意外置位。4. 警报模式配置错误。1. 检查ALERT/TCRIT引脚是否有上拉电阻通常10kΩ。2. 读取当前温度值并与你设置的高/低/临界限值比较看是否已满足触发条件。3. 读取配置寄存器0x03检查Bit 1 (ALERT Mask)是否为0。在中断服务程序后你是否将其清零了4. 检查“远程二极管温度滤波与比较器模式寄存器”确认ALERT是配置为比较器模式还是中断模式。SMBus通信失败1. 上拉电阻值过大或过小。2. 从机地址错误。3. 总线被锁死。1. LM96063的固定从机地址是10011000x4C。确认主控发送的地址是否正确7位地址读写位。2. 用逻辑分析仪抓取SMBus波形检查START、ACK、STOP信号是否正常。确认时钟频率是否在芯片支持的范围内≤100kHz。3. 如果总线锁死尝试触发LM96063的SMBus超时复位功能将SMBDAT或SMBCLK线持续拉低超过35mstTIMEOUT芯片内部状态机会复位。最后一点经验在系统初次上电或进行大规模寄存器配置后给芯片和风扇留出几秒钟的稳定时间。温度测量和风扇控制环路需要几个转换周期才能达到稳定状态。不要配置完立即读取温度或期望风扇立刻达到目标转速否则可能会读到无效数据或误判风扇故障。