125点击型号即可查看芯片规格书
AMC6821点击型号即可查看芯片规格书
特点
远程温度传感器:±2°C精度,0.125°C分辨率;局部温度传感器:±2°C精度,0.125°C分辨率;脉宽调制控制器;脉宽调制频率:10Hz至40kHz占空比:0%至100%,8位;自动风扇速度控制回路;SMBus接口;电源:2.7V至5.5V;包装(绿色):QSOP-16(4毫米×5毫米);符合RoHS。
应用
笔记本电脑和台式电脑;网络服务器;电信设备;基于PC的设备;DLP和LCD投影仪。
说明
AMC6821是一款智能温度监测仪以及脉冲宽度调制(pwm)风扇控制器。它是专为噪声敏感或功率敏感而设计需要主动系统冷却的应用程序使用低频或高频脉冲宽度调制信号,这个装置可以同时驱动风扇,监测遥感器二极管温度,以及测量和控制风扇转速以使其工作以尽可能低的速度降低噪音。
AMC6821有三种风扇控制模式:自动温度风扇模式、软件转速模式和软件DCY模式。每种模式控制风扇通过改变PWM输出的占空比来加速。自动温度风扇模式是智能的,优化风扇转速的闭环控制根据用户定义的参数。此模式允许AMC6821作为独立设备运行无需CPU干预;风扇可以继续控制(基于温度测量)即使CPU或系统锁定。软件转速模式是第二个闭环控制。在这种模式下,AMC6821调节脉宽调制输出以保持在用户指定的目标值下保持风扇转速一致;也就是说,该装置起到风扇转速调节器的作用。软件RPM模式也可用于允许AMC6821作为独立设备运行。这个第三种模式,软件dcy,是开环的。在软件DCY模式,设置了脉宽调制占空比直接通过写入设备的值。AMC6821具有可编程SMBAlert用于指示错误条件和专用风扇故障输出,指示风扇故障。这个THERM pin是一个用于超温的故障安全输出可用于限制CPU时钟的条件。此外,OVR引脚指示也超过了温度限制。所有的警报阈值是通过设备寄存器设置的这个AMC6821以Qsop-16软件包提供。
典型特征
在TA=+25°C和VDD=5V时,除非另有说明。
AMC6821通过串行系统管理总线(SMBus)进行通信AMC6821在总线主设备的控制下作为从设备连接到该总线。AMC6821有一个7位串行总线地址,可通过正确连接地址引脚A0和A1进行编程表2显示了AMC6821从机地址的选择。地址选择管脚应直接连接到VDD或GND。对于NC条件,它们应与最小的跟踪电容断开。请注意,只有在重置或通电的情况下才会检查地址。
通信协议
AMC6821采用四种标准SMBus协议:发送字节、接收字节、写入字节和读取字节所有其他操作都会导致未定义的结果。读取位期间不允许重复启动。
第一个寄存器是发送第一个数据字节的寄存器下一个寄存器是第二个寄存器如果总线主机在读取最后一个位置(0x3f)后继续对数据进行时钟输出,则值0x00将被发送,直到操作停止。
AMC6821完全由寄存器控制。所有寄存器都是8位的。AMC6821有一个地址指针寄存器;地址指针寄存器的值决定要写入或读取的寄存器要将数据写入设备寄存器或从中读取数据,必须正确设置地址指针寄存器。然后可以将数据写入或从该寄存器读取总线主控发出的命令总是包含地址指针寄存器的初始值。
在发送字节操作中,总线主机将指定设备寄存器的地址写入地址指针寄存器。
在接收字节操作中,总线主机从地址点寄存器寻址的设备寄存器中读取数据。
在写字节操作中,总线主机将地址指针寄存器设置为指定设备寄存器的地址,然后将8位数据写入其中在读取字节操作中,smbus主机首先将地址指针寄存器设置为指定设备寄存器的地址,然后从中读取8位数据。
在写入多字节操作中,AMC6821的地址指针在写入数据后增加“1”,直到到达最后一个寄存器地址(0x3f)。如果主机在写入最后一个位置后继续将数据传输到amc6821,则所有数据都将被忽略,直到操作停止。读取多个字节时,AMC6821的地址指针在传输数据后增加“1”,直到到达最后一个寄存器地址(0x3F)。如果主机在读取最后一个位置后继续计时数据,则会发送值0x00,直到操作停止。
SMBus警报响应地址(ARA)
警报响应地址是SMBus设备的一个功能,允许中断设备在多个设备同时发出中断时向主机标识自己smbalert引脚是一个开漏中断输出引脚。当AMC6821发出中断请求时,发生以下过程:
1、SMBALERT被拉低。
2、总线主机发送警报响应地址或ARA(ARA=0001100),并启动读取操作,如表10所示。
3、AMC6821通过发回从机地址来响应ARA7位设备从地址放在字节的7个最有效位中;最后一位是“0”。
4、主机接收AMC6821从机地址并启动中断服务。
5、如果多个设备将smbus拉低,则在从机地址传输期间,最高优先级(最低从机地址)设备通过标准仲裁赢得通信权限(有关详细信息,请参阅smbus规范版本2.0)。
6、为了满足AMC6821的中断请求,主机必须读取状态寄存器状态寄存器中的大多数中断源比特在读取状态寄存器之后被清除,并且如果在下一个监视周期中仍然存在错误条件,则重新确认。仅当中断已解决时,SMBALERT才会清除。
上电复位和启动操作
通电后,所有寄存器都设置为通电默认值在设置配置寄存器1的起始位(“1”)之前,设备不执行任何监视功能。在第一个监测周期完成之前,不执行任何检测,所有测量数据寄存器(如远程和本地温度数据寄存器和转速表数据寄存器)都用新的测量值进行更新在第一个监测和检测周期完成之前,不会产生中断信号。此过程避免了由开机默认设置引起的任何错误警报。
通电后,执行风扇启动过程。在加速结束时,PWM驱动器的占空比调整到33%(有关详细信息,请参阅风扇旋转部分)软件重置后的设备状态类似于开机重置。
模数转换器
AMC6821有一个11位片上模数转换器(ADC),如图11所示。这个ADC将模拟输入转换成数字格式模拟输入通过前端信号调节电路来消除噪声。然后由adc转换得到的信号。为了进一步降低噪声的影响,通过平均32个测量周期的结果来执行数字滤波数字滤波后,最新结果以2的补码格式存储在温度数据寄存器(低字节和高字节)中当清除配置寄存器1的起始位(“0”)时,ADC停止,当起始位=1时运行。
温度传感器
AMC6821有一个集成的温度传感器(如图12所示)来测量环境温度,还有一个远程二极管传感器(如奔腾热二极管)来测量外部(CPU)温度测量依赖于半导体结在固定电流水平下的工作特性二极管的正向电压(vbe)取决于通过它的电流和环境温度。当二极管在两种不同电流I1和I2下工作时,VBE的变化如方程式1所示:
哪里:千是玻尔兹曼常数,q是载流子的电荷,T型是绝对温度,单位为开氏度,n是两个电流的比值。
遥感晶体管可以是内置在微处理器中的衬底晶体管(如奔腾IV),也可以是离散小信号型晶体管。这个架构如图13所示。内部偏置二极管使输入端子偏向地面,以防止地面噪声干扰测量外部电容器(高达1000pF)可放置在In+和In-之间,以进一步降低干扰噪声。
模拟传感信号由低通滤波器和信号调理电路预处理,然后由ADC数字化由此产生的数字信号由数字滤波器和处理单元进一步处理最终结果分别存储在本地温度数据寄存器和远程温度数据寄存器中。八个msb存储在相应的Temp DATA HByte寄存器中,三个lsb存储在Temp DATA LByte寄存器。
最终结果的格式为二补;见表11。应注意的是,该装置测量的温度范围为-40°C至+125°C,尽管代码表示的温度范围为-128°C至+127°C。
串联电阻消除
对AMC6821的输入端和输入端的寄生电阻(与远程二极管串联)由多种因素引起,包括印刷电路板(PCB)的跟踪电阻和跟踪长度。此串联电阻在遥感器温度测量中显示为温度偏移,每欧姆误差超过0.45°CAMC6821采用TI专利技术实现,可自动消除该系列电阻的影响,在不需要用户描述该电阻的情况下提供更准确的结果通过这种技术,AMC6821能够将串联电阻的影响降低到每欧姆通常小于0.0025°C。
读取温度数据
需要注意的是,温度可以从温度数据字节寄存器中读取8位值(分辨率为1°C),也可以从温度数据字节和温度数据字节寄存器中读取11位值(分辨率为0.125°C)如果只需要1°C的分辨率,温度读数可以在任何时间以任何特定顺序读取。如果需要读取11位测量值,则该过程涉及为每个测量值读取两个寄存器要获得遥感器的11位结果,控制器必须先读取温度数据字节寄存器(0x06),然后读取远程温度数据字节寄存器(0x0B)才能完成读取。但是,为了只获取本地传感器的位11,或者同时获取本地和远程传感器,控制器必须首先读取温度数据lbyte,然后读取本地温度数据hbyte(0x0a),最后读取远程温度数据hbyte。此方法导致所有相关的温度数据寄存器被冻结,直到远程温度数据hbyte寄存器被读取为止。此过程还防止在读取三个lsb时更新高字节数据,反之亦然。
AMC6821具有以下温度限制检测:
1、高低温限值:高温极限和低温极限寄存器的值指定正常操作的远程或本地温度范围当本地或远程温度等于或高于相应的高温极限寄存器的值时,状态寄存器中的lth或rth位被设置(“1”)。同样,当本地或远程温度小于或等于相应的低温极限寄存器时,设置状态寄存器中的ltl或rtl位(“1”)。
当局部温度超出范围(lth=1或ltl=1)时,发生局部温度超出范围事件。设置状态寄存器中的LTO位(“1”),如果启用LTO中断,则通过SMBALERT管脚生成LTO中断(设置配置寄存器2的LTO位)类似地,当远程温度超出范围(rth=1或rtl=1)时,发生远程温度超出范围事件。设置状态寄存器中的RTO位(“1”),如果启用RTO中断,则通过SMBAlert管脚生成RTO中断(即设置配置寄存器2的RTIE位)。
2、临界极限:临界温度限值是远程或本地温度的最高允许值。当温度大于或等于设置的对应表时(“1响应临界温度,状态寄存器的LTCT或RTCT位”),ovr引脚的输出变低,并且通过smbalert引脚(低)产生不可屏蔽中断。
3、非能动冷却温度(PSV)限制:此限制定义被动冷却阈值。在自动远程温度风扇控制模式下,当远程温度等于或低于此限制时,系统进入被动冷却状态,风扇停止。在最大快速计算控制模式中,当远程和本地温度等于或低于该极限时,风扇停止,系统进入被动冷却状态。在被动冷却中,状态寄存器2(0x03)设置为“1”,如果启用,则在smbalert pin上生成psv中断(psvie=1)。注意,读取状态寄存器将清除LPSV位读取后,如果主动控制温度保持在PSV温度或低于PSV温度,则该位在下一个监测循环中重新开始。
4、热极限:此限制是附加的故障安全阈值当本地或远程温度等于或高于该极限时,设置相应的L-Therm或R-Therm位(“1”),并断言Therm引脚可用于限制CPU时钟。此外,如果启用,则在SMBALERT引脚上生成THERM中断(THERMOVIE=1)阅读状态寄存器1清除r-therm和l-therm位。一旦清除,这些位在温度下降5之前不会被重新插入度c低于热极限,即使热条件持续存在。如果配置寄存器3设置为“1”,L-Therm=1或R-Therm=1强制风扇全速运行。当therm-fan-en=0时,l-therm和r-therm位的状态不会直接影响风扇转速。注意,热极限可以低于或高于其他温度极限例如,如果热限制低于PSV温度限制,则可以在冷却风扇关闭时限制CPU时钟。
远程温度传感器故障检测
远程温度传感器故障检测确定远程传感器二极管是否存在断路、对地短路或对(in-)短路情况。此故障检测基于模拟输入电压,直到通电后的第一个监测循环完成后才进行检查。
读取故障传感器将返回-128°C(0x80)的值。由于温度数据寄存器的通电默认值为0x80(–128°C),通电后立即从温度数据寄存器读取0x80并不表示二极管故障。只有在通电或复位后完成第一个监测循环后,才能检查远程温度传感器故障。
呼在发生远程传感器故障时,远程传感器故障位(状态寄存器中的RTF)被设置为“1”,OVR引脚被强制降低,如果中断被启用(RTFIE=1),则通过SMBALERT引脚生成RTF中断一旦产生此中断,无论故障情况是否持续,RTF位保持“1”,ovr引脚保持低电平,直到上电复位或软件复位发出。
脉宽调制输出
脉宽调制输出引脚是开路漏极输出。当配置寄存器2的PWM-EN被清除(“0”)时,PWM输出引脚被禁用并进入高阻抗状态当设置了PWM-EN(“1”)时,将启用PWM输出引脚来驱动风扇。启用时,脉宽调制输出引脚的状态由脉宽调制占空比和相位位(配置寄存器1的pwminv)确定。当pwminv=0(默认值)时,脉宽调制输出引脚在100%占空比下变低(适用于使用PMOS FET驱动风扇)。将PWMINV设置为“1”会使PWM输出引脚在100%的工作周期内变高(带有外部上拉电阻器)此设置用于驱动NMOS功率FET。
脉冲宽度调制波形设置
脉宽调制频率和占空比可编程。DCY寄存器的值定义占空比:它有8位分辨率,1LSB对应1/255(0.392%)。写入0x00将占空比设置为0%;写入0xFF将占空比设置为100%。
脉宽调制频率有两个范围:高范围是从1kHz到40kHz,低范围是从10Hz到94Hz。脉宽调制模式引脚状态决定选择的范围当脉宽调制模式引脚接地时,选择高范围。否则,选择低范围。风扇特性寄存器中的位[pwm2:pwm0]定义频率;见表12。pwm波形周期的分辨率为0.312μs,对应于3.2mhz时钟。通电后的默认值在选择低量程时为30Hz,或在选择高量程时为25kHz。
风扇转速测量
AMC6821通过转速表引脚监测风扇转速(RPM),如图17所示。配置寄存器2的TACH-EN位(位2,0x01)启用风扇转速测量。当TACH-EN被清除(“0”)时,测量被禁用当TACH-EN位设置为“1”时,测量启用本节描述设置TACH-EN时的设备行为(“1”)。
由于风扇转速低,片上风扇转速计数器不直接计算风扇转速计输出脉冲。相反,风扇旋转的周期是通过门控一个片上时钟(100kHz)来测量的。结果存储在包含两个字节(总共16位)的TACH数据寄存器中。当配置寄存器1的起始位或配置寄存器2的TACH-EN位被清除(“0”)时,转速监测被禁用;当START=1和TACH-EN=1时,转速监测被启用。
如果清除转速模式位,当软件占空比模式和自动温度风扇控制模式的占空比小于7%时,转速监测停止,转速数据寄存器不更新。在软件RPM模式下,每次监控后都会执行和更新RPM监控如果转速模式为“1”,则始终执行转速监测,每次监测后都会更新转速数据。
数据寄存器
测量两个风扇转速脉冲周期(PSPR=0)或四个转速脉冲周期(PSPR=1),结果存储在转速数据寄存器中,如图17所示如果计数器超出范围,计数停止;测量循环重复,直到禁用监控,风扇转速(RPM)可按公式2计算:
读取转速表数据寄存器
要读取风扇转速,必须同时读取转速数据字节和转速数据字节。必须先读取转速表数据字节此读取导致转速数据HByte被冻结,直到高字节寄存器和低字节寄存器都被读取,从而防止转速读取错误。
转速测量率
配置寄存器4的TACH-FAST位决定速率当TACH-FAST=1时,TACH-DATA寄存器每250毫秒更新一次(快速监控)当TACH-FAST=0(默认值)时,读数每秒更新一次(标准监测周期)。
选择脉冲数/转数
大多数普通风扇的转速传感器每转提供两个或四个转速脉冲。配置寄存器4的pspr位指定每转产生多少脉冲。pspr=1表示四个脉冲/转,pspr=0(默认)表示两个脉冲/转。
转速模式选择
配置寄存器2的转速模式位指定风扇的转速脉冲输出模式一些风扇(如三线和二线)直接由PWM供电,必须打开PWM才能提供转速脉冲输出当脉宽调制输出引脚直接打开/关闭这些风扇时,必须保持脉宽调制输出,以便在测量期间为风扇供电在这种情况下,必须清除配置寄存器2的转速模式位(“0”)当转速模式=0时,在测量周期的临界转速边缘期间,脉冲宽度调制输出引脚保持接通清除转速模式('0')也使内部校正电路能够校正由测量周期中应用的额外占空比引起的误差。脉宽调制模式的开机默认值为“0”。
一些风扇(如JMC™四线风扇)直接由直流电源供电,而不是由PWM供电。在这种情况下,转速模式必须设置为“1”。当TACH-mode=1时,不会强制打开脉宽调制输出引脚;相反,状态完全由DCY寄存器控制,就像正常操作一样。将转速模式设置为“1”也会禁用内部校正电路,因为没有应用额外的占空比。将转速表模式设置为“1”允许转速表连续读取,而不考虑脉宽调制输出引脚的状态。
转速模式的选择影响转速监测和控制。当转速模式位等于“1”时,脉冲宽度调制输出引脚的占空比始终由计算值确定;转速数据始终在每次转速监测时更新。但是,当转速模式位等于“0”时,在软件转速控制模式下,如果计算出的占空比小于30%,则脉冲宽度调制输出引脚强制为30%;在其他模式下,脉冲宽度调制输出引脚强制为0%,如果计算出的占空比小于7%,则不会更新转速数据。
风扇转速超出范围检测
转速数据的较大值对应于较低的转速。当转速表数据大于转速表下限时,风扇以低于预定义的最小转速运行,状态寄存器1中的风扇位设置为“1”。注意,在旋转期间没有风扇(风扇慢)检测只有在读取此寄存器后才清除FANS位('0'),如果检测到fan slow,则在下一次监视中重新声明('1')旋转后,即使转速数据小于转速下限,风扇也会被设置(“1”),直到读取寄存器为止。
当TACH数据小于TACH上限时,风扇以高于预定义最大RPM的速度运行,并且状态寄存器1中的RPM-报警位被设置(‘1’)。注意,当读取寄存器时,RPM-报警位被清除。一旦清除,即使条件持续存在,此位也不会在下一个监视周期中重新插入只有当RPM下降到允许的最大速度以下时,该位才可能重新出现。
当FANS=1或RPM-ALARM=1时,如果设置了配置寄存器1中的FANIE位(“1”),则会出现fan超出范围中断,并生成fan-ORN此中断使SMBALERT pin变低。
风扇故障检测
当转速表数据大于转速表下限时,风扇以低于预定义最小转速的速度运行。出现这种情况时,将应用一个启动过程,以便在启用启动时再次启动风扇。风扇特性寄存器的位[stime2:stime0]定义此时间段。图19显示了风扇故障检测的功能。请参阅风扇旋转部分。
风扇转速在启动后立即测量;配置寄存器4的TACH-FAST位决定监视速率。如果风扇在连续5次旋转后没有返回到正常范围,则会发生风扇故障;风扇故障引脚在启用时变低(设置配置寄存器1的风扇故障en位),并且旋转过程继续。如果风扇在第五次旋转之前恢复到正常转速范围,即使风扇位仍设置为“1”,风扇故障引脚也不会变低在启动期间不执行风扇(风扇慢)检测风扇故障触针变低后,将无限期执行加速,直到转速读数恢复到正常范围内或停止加速。
SMBAlert管脚在风扇故障管脚断言后继续生成中断,因为即使在风扇故障后,转速计测量仍会继续。如果风扇从故障状态中恢复,风扇故障引脚信号无效,风扇返回正常工作转速。图20显示了风扇中断的操作。
风扇故障销
风扇故障引脚是一个开路漏极输出引脚,如图21所示当配置寄存器1的fan-fault-en位被清除(“0”)时,该引脚被禁用,并且始终处于高阻抗状态。当FAN-FAULT-EN=1时,引脚启用,状态指示风扇故障当风扇发生故障时,该引脚断言为低。当风扇恢复正常转速时,风扇故障被否定。
风扇控制
热插脚和外部硬件控制
THERM管脚是双向I/O,如图22所示。
输出热管脚
作为开漏输出,热管脚是温度超过热极限的指示器。当远程温度超过远程温度限值,或当本地温度高于本地温度限值时,热管脚变低并保持低,直到测量的温度降到低于超过的温度限值5°C为止。
当超过热限制时,相应的状态标志位(状态寄存器1或状态寄存器2的r-therm或l-therm)被设置为“1”,如果启用,则通过smbalert pin生成热中断(位配置寄存器1的thermovie被设置为“1”)。此中断强制smbalert pin处于低位。请注意,无论Thermovie的状态如何,当R-Therm=1或L-Therm=1时,Therm管脚始终强制处于低位。读取状态寄存器将清除标志位(r-therm和l-therm)。清除标志位会使smbalert pin返回高位,但不会否定therm pin。它保持在低温状态,直到温度降到低于超温极限5c。清除此位后,活动标志位(远程温度为R-THERM或本地温度为L-THERM)和THERM中断不会重新启用,直到温度降到低于超出的热极限5°C这个过程如图23所示。
当作为输出工作时,THERM pin的状态会影响RPM风扇如果设置了therm-fan-en位(“1”),则当therm pin变低时,风扇将进入全速(即占空比为100%)。但是,当therm-fan-en=0时,therm pin的状态不影响风扇速度。
热管脚作为输入
当该管脚用作输入时,它是外部硬件控制信号的输入;状态寄存器2的热输入位反映该输入当Therm Pin作为输入被拉低时,无论Therm-Fan-en是什么,都会设置Therm-In(“1”)并以全速(即占空比为100%)驱动风扇。当Therm管脚用作输入时,Therm-Fan-en位不起作用。
风扇旋转
脉宽调制占空比控制冷却风扇转速。为了使风扇从停止状态或低速状态旋转,采用旋转过程来克服风扇惯性。在启动的前三分之一时间内,pwm占空比从33.3%逐渐增加到100%,然后在整个过程中保持在100%。在启动过程结束时,占空比调整为33.3%启动后,风扇转速控制正常。螺旋上升过程如图24所示位[stime2:stime0](0x20的位2:0)定义从0.2秒到8秒的加速时间,如表13所示。启动过程结束后,立即监测风扇转速。
通过将风扇特性寄存器的fspd位设置为“1”,可以禁用自旋向上。如果禁用,当风扇停止或检测到转速低于最低转速时,不会应用加速过程转速低限寄存器定义最小速度。通电或复位后,fspd位将被清除,并且无论风扇位的状态如何(0x02的位1),都将始终执行spin up。
请注意,在启动期间不会执行风扇(风扇慢)检测。此位只有在读取后才被清除(“0”),如果检测到风扇速度慢的情况,则在下一次监视中重新设置“1”。旋转后,即使转速数据小于转速下限,风扇也会被设置(“1”),直到读取标志为止。
正常风扇转速控制
风扇转速由四种不同模式控制:软件DCY控制;软件转速控制;自动远程温度风扇控制。
最大快速计算控制。
自动温控风机控制方式由自动遥控风机控制和最大速比计算控制组成。它是一种智能闭环控制在这种模式下,风扇速度由远程温度(自动远程温度风扇控制)或由内部温度和远程温度计算的最大速度来控制。此控制模式优化给定温度下的风扇转速,以智能管理系统热/声学。用户编写适当的寄存器来定义线性反馈控制算法参数编程后,AMC6821独立运行,甚至不需要微控制器的干预。它确保如果控制器或系统锁定,风扇仍可以根据温度测量值进行控制,并调整风扇转速以纠正系统温度的任何变化软件转速作为风扇转速调节器,将转速保持在可编程的目标值它是一个闭环模式,也可以独立运行。软件DCY模式是一种开环模式;当用户将所需的占空比写入设备寄存器后,PWM输出占空比立即变为目标值。
配置寄存器1中的FDRC1和FDRC0位决定操作模式。
软件DCY控制模式
当位[fdrc1:fdrc0]=[00]时,风扇在软件dcy控制模式下工作。主机将与所需转速对应的所需占空比值写入DCY寄存器。写入后工作周期立即变为新值。在此模式下,如果转速测量被启用(0x01的位2=1),并且转速模式位(0x01的位1)被清除(“0”),则当DCY寄存器中的值小于7%时,来自PWM-OUT引脚的占空比强制为0%。但是,如果转速测量被禁用(0x01的位2被清除)或转速模式被设置为(“1”),则DCY寄存器始终保持由主机写入的编程值,即使编程值小于7%,也不会强制设置为“0”。
软件转速控制模式(风扇转速调节器)
此模式用作风扇转速调节器,将转速保持在可编程的目标值只有当转速测量启用时(0x02的位2=1),它才工作当位[FDRC1:FDRC0]=[01]时,风扇在软件转速控制模式下工作,如图25所示。主机将正确的值写入转速设定寄存器,以设定目标风扇转速。实际风扇转速由片上风扇转速计数器监控,结果存储在TACH数据寄存器中(有关更多详细信息,请参阅风扇转速测量部分)。将实际速度与设定值进行比较。如果存在差异,则调整占空比。
根据配置寄存器4的TACH-FAST位(位5,0x04)的确定,每秒钟或每250毫秒进行一次监视和调整DCY-RAMP寄存器的位[STEP1:STEP0]定义了每次调整的允许量当转速表数据和转速表设置寄存器的值之差等于或小于0x000A时,调整结束。0x000A对应于10000转/分时约1.8%的公差,或5000转/分时约0.9%的公差。该测量架构如图26所示。
在实际操作中,所选的目标速度不能太低,无法操作风扇。当转速模式位(0x02的位1)被清除(“0”)时,当计算出的占空比期望值小于30%时,脉冲宽度调制输出的占空比强制为30%。因此,转速设定值必须不大于30%占空比下转速对应的值。当转速模式为“1”时,转速设置不得大于与风扇正常运行时允许的最小转速相对应的值。
自动温度风扇模式
自动温度风扇模式是一个闭环控制,可在给定温度下优化风扇转速,以智能管理系统热/声学它独立运行,即使没有控制器的干预。AMC6821有两种自动温度风扇控制模式。当位[FDRC1:FDRC0]=[10]时(默认),风扇处于自动远程温度风扇转速控制模式。远程温度传感器的温度读数是控制PWM占空比的主动控制温度。当位[FDRC1:FDRC0]=[11 ]时,风扇处于最大快速速度计算控制模式。本地温度和远程温度具有独立编程的不同参数控制回路。在最大速度快速计算控制模式下,分别计算远程和本地通道所需的风扇速度。无论哪个控制回路根据测量的温度计算最快的速度,都会驱动风扇监视器启动后,脉宽调制占空比由实际控制温度决定。当温度高于低温低于高温时,内控回路根据测量的温度自动将占空比调整到合适的值当温度升高时,占空比升高;当温度降低时,占空比降低这种结构使风扇始终以最佳速度运行。此调整基于本地温度风扇控制寄存器、远程温度风扇控制寄存器和DCY斜坡寄存器中定义的控制回路参数更改参数将更改占空比和风扇转速的所需值。
远程温度风扇控制寄存器的位[R-TEMP4:R-TEMP0]和本地温度风扇控制寄存器的位[L-TEMP4:L-TEMP0]是定义控制回路低温的低温位这些寄存器的位[spl2:spl0]是定义温度升高1°C时占空比增量的斜率位。DCY-RAMP寄存器的位[rate2:rate0](位[4:1],0x23)指定在温度风扇控制模式下占空比的更新速率,位[step1:step0]定义占空比的调整量每次更新。温度T1和高温(高温)的目标占空比可通过公式3计算:
当主动控制温度等于或低于相应的低温时,占空比等于DCY-low-TEMP寄存器的值,风扇以预定义的最低转速运行当控制温度等于或高于相应的高温时,脉宽调制占空比设置为100%,风扇全速运转。当主动控制温度等于或低于PSV温度寄存器的相应值(预定义的被动冷却温度)时,风扇停止工作,并且PWM占空比设置为0。
当实际占空比与期望值不同时,自动调整占空比当DCY-RAMP寄存器的RAMP位被清除(“0”)时,占空比在计算后立即变为所需值。当斜坡位为“1”时,占空比逐渐变为新值。
DCY-RAMP寄存器指定占空比变化的速度。根据位[rate2:rate0]的不同,可以每0.0625秒至每8秒检查一次占空比。它每次都会将1/255(0.392%)更改为4/255(1.57%),具体取决于位[step1:step0]位。当实际值与目标值之差等于或小于调整阈值(由位[THRE1:THRE0]定义)时,调整结束有关详细信息,请参阅DCY-RAMP寄存器。当转速表监控启用(转速表-EN位,0x02的位2设置为“1”)并且转速表模式位(0x02的位1)被清除(“0”)时,当计算值小于7%时,占空比强制为0%如果转速监测被禁用(转速-en=0)或转速模式位被设置(“1”),即使该值小于7%,占空比也始终设置为计算值。
中断
AMC6821提供两个中断输出引脚,OVR和SMBALERT。
ovr管脚
ovr是一个开漏输出管脚,用作超临界温度限制(关闭阈值)指示器和遥感器故障指示器。这个架构如图30所示将配置寄存器4的OVREN位设置为“1”将启用此pin;清除OVREN(“0”)将禁用此pin禁用时,ovr引脚处于高阻抗状态。启用时,状态由状态寄存器的超临界温度标志和遥感器故障标志位控制。
当温度超过临界极限(关闭阈值)时,状态寄存器(远程通道的RTC和本地通道的LTC)的相应超临界极限标志被设置(“1”)。读取状态寄存器时,此标志被清除(“0”)一旦清除,即使超临界极限条件持续存在,在温度降到低于超临界极限5°C之前,不会重新设置该位当温度等于或高于临界温度极限时,将断言ovr引脚(低激活)以指示此临界条件。作为超临界温度限值指示器,一旦确定,OVR引脚保持低,直到测量温度降到低于超临界限值5°C。
当检测到远程温度传感器故障情况(短路或开路)时,状态寄存器1(位5,0x02)中的远程温度传感器故障位(RTF)被设置为(“1”),无论RTFIE的状态如何,ovr引脚都被强制降低。此值表示遥感器存在故障。一旦出现这种情况,rtf位保持“1”,ovr引脚保持低位,直到上电复位或软件复位发出,无论故障情况是否继续。当rtfie=1时,rtf=1还通过smbalert引脚生成rtf中断。
smbalert pin
SMBALERT pin是由SMBus规范版本2.0定义的标准中断输出该引脚是一个开路漏极输出引脚,如图33所示。
smbalert中断行为
当发生超限事件时,将在状态寄存器中设置适当的标志位(“1”),并生成相应的中断(如果启用)。当生成中断时,SMBALERT pin断言为低主机可以轮询设备状态寄存器以获取信息,或对smbalert中断信号作出响应。在编写中断处理程序软件时,必须注意SMBALERT输出和状态位的行为图31显示了SMBALERT输出和状态位的行为。
一旦超过限制,相应的状态位将设置为“1”。状态位保持设置,直到错误条件消失并读取状态寄存器。状态位被称为粘性,因为它们在被软件读取之前一直保持设置状态这种设计确保如果软件定期轮询设备,则不会错过超出限制的事件在读取超出限制的整个持续时间内,smbalert输出保持低,并且在读取状态寄存器之前保持低。这种体系结构对软件如何处理中断有影响。
处理smbalert中断
为了防止系统在服务中断时被绑定,建议以以下方式处理SMBALERT中断:
1、检测smbalert断言。
2、输入中断处理程序。
3、读取状态寄存器以识别中断源。
4、通过清除配置寄存器中适当的启用位来禁用中断源。
5、对给定的中断源采取适当的操作。
6、退出中断处理程序。
7、定期轮询状态寄存器。如果中断源位已清除,则将相应的中断启用位重置为“1”。此重置使smbalert输出和状态位的行为如图32所示。
可以通过清除配置寄存器中相应的中断启用位来屏蔽各个中断,以防止smbalert中断。注意,屏蔽中断源只会防止smbalert pin输出被断言;适当的状态位被设置为正常。
寄存器映射
所有寄存器都是8位的。
设备状态寄存器
读取状态寄存器将清除相应的状态位。状态寄存器位是粘性的(除了RTF位)无论何时设置状态位(指示超出限制条件),它都将保持设置状态,直到导致它的事件得到解决并读取状态寄存器只有在事件解决后读取状态寄存器,才能清除状态位当读取寄存器时,所有比特都被清除,如果在下一个监视周期中仍然存在极限状态,则所有比特都被重新确认,除非另有说明。
在读取操作中,除了以下两个例外,返回的数据是驱动脉宽调制输出引脚的实际占空比(DCY)值:
1、当转速模式=0且系统处于软件转速控制模式时,如果计算的占空比小于30%,则返回值是计算值,而不是强制为30%的实际脉宽调制输出引脚占空比。
2、当转速模式=0且系统处于软件DCY控制模式或自动温度风扇模式时,如果计算的占空比小于7%,则返回值是计算值,而不是强制为0%的实际PWM输出引脚占空比。
在写入操作中,写入的数据是在软件DCY控制模式下驱动PWM输出引脚的实际DCY。但是,在所有其他控制模式下,所写入的数据不用于驱动PWM相反,它存储在一个临时寄存器中,并在控制模式更改为软件DCY控制模式后立即控制PWM。