电子说
在电子工程师的日常工作中,系统硬件监控是确保设备稳定运行的关键环节。ADM1026作为一款功能强大的系统硬件监控芯片,为微处理器系统提供了全面的测量和监控功能。本文将深入探讨ADM1026的特性、功能、应用以及使用方法,希望能为电子工程师们在设计和开发过程中提供有价值的参考。
文件下载:ADM1026JST.pdf
ADM1026是一款专为微处理器系统设计的完整系统硬件监控芯片,它能够对系统中的各种参数进行测量和极限比较。该芯片具有多达19个模拟测量通道,包括内部测量通道,可对多种电源电压、温度等参数进行监测。同时,它还具备8个风扇速度测量通道和17个通用逻辑I/O引脚,为系统的控制和监测提供了丰富的接口。
ADM1026拥有多达19个模拟测量通道,其中15个为模拟电压输入,可用于监测+3.3V、+5V、±12V电源以及处理器核心电压等。此外,还可通过测量自身的VCC和主系统电源来监测另外两个电源电压。另外,还有两个通道可用于远程温度传感二极管的测量,以及8个通用模拟输入通道,范围为0V至2.5V或0V至3V。
芯片具备8个可配置为风扇速度测量或通用逻辑I/O的引脚,能够准确测量风扇速度,并通过PWM和模拟输出控制风扇转速,实现温度控制。
通过2线串行系统管理总线(SMBus)进行通信,支持完整的SMBus 1.1协议,包括数据包错误检查(PEC),确保数据传输的准确性。
芯片还具备内部温度传感器、8kB的片上EEPROM、底盘入侵检测、中断输出、复位输入和输出等功能,为系统的稳定运行提供了全面的保障。
ADM1026的模拟和数字测量输入具有高度的可编程性,其8位A/D转换器和17个模拟测量输入引脚可进行多种配置。部分引脚专门用于温度测量,部分引脚可配置为温度输入或通用模拟输入,还有部分引脚用于监测特定的电源电压。同时,ADC还可接收片上带隙温度传感器的输入,监测系统环境温度。
当启动监测序列时,ADM1026会按顺序对模拟输入和温度传感器进行测量,同时独立监测风扇速度输入。测量值存储在值寄存器中,可通过串行总线读取,并与存储在极限寄存器中的编程极限进行比较,比较结果存储在中断状态寄存器中。
底盘入侵输入可检测设备的未经授权篡改事件,该事件会被锁存到电池备份寄存器位中,并在系统上电时产生中断。
芯片具有两个上电复位输出(RESETMAIN和RESETSTBY),当3.3V MAIN或3.3V STBY低于复位阈值时,会产生180ms的复位脉冲。RESETMAIN还可作为低电平有效的复位输入。
ADM1026提供两个用于控制风扇速度的输出:一个是开漏脉冲宽度调制(PWM)输出,可编程占空比和75Hz的输出频率;另一个是连接到片上8位数模转换器的输出,输出范围为0V至2.5V。这两个输出可根据温度测量值实现温度控制风扇的功能。
ADM1026的内部寄存器包括地址指针寄存器、配置寄存器、风扇除数寄存器、DAC/PWM控制寄存器、GPIO配置寄存器、值和极限寄存器、状态寄存器和掩码寄存器等。这些寄存器用于控制和配置芯片的各种操作参数,存储测量值和极限值,以及处理中断事件。
用于选择其他内部寄存器的地址,写入ADM1026的第一个数据字节总是寄存器地址,并写入地址指针寄存器。
提供各种操作参数的控制和配置,如监测循环的启动和停止、中断输出的启用和禁用、温度通道的配置等。
包含风扇速度测量的计数器预分频值,可根据风扇的不同速度和输出脉冲数进行调整。
包含PWM和DAC风扇驱动输出的速度值,用于控制风扇的转速。
用于配置GPIO引脚的输入/输出和信号极性。
存储模拟电压输入、温度和风扇速度的测量结果以及相应的极限值。
存储各种中断源的事件,可用于判断系统是否出现异常。
允许对单个中断源进行掩码,屏蔽不需要的中断信号。
ADM1026拥有8kB的非易失性电可擦除可编程只读存储器(EEPROM),可用于永久存储数据,即使芯片掉电也不会丢失。EEPROM的操作需要注意一些事项,如写入前必须确保存储位置为空,写入速度较慢,且典型循环寿命为100,000次写入操作。
ADM1026通过串行系统管理总线(SMBus)进行控制,作为从设备连接到总线上。芯片具有7位串行总线从地址,默认地址的5个最高有效位为01011,2个最低有效位由引脚15(ADD/NTESTOUT)的逻辑状态决定。SMBus协议定义了多种读写操作的协议,包括发送字节、写入字节/字、块写入、接收字节和块读取等。
主设备向从设备发送单个命令字节,用于设置RAM地址,以便后续进行单字节读取、块读取或块写入操作。
主设备向从设备发送命令字节和一个或两个数据字节,可用于写入RAM数据、设置EEPROM地址、擦除EEPROM页面或写入EEPROM数据。
主设备向从设备写入一块数据,写入EEPROM时需要设置EEPROM寄存器3的相应位。
主设备从从设备接收单个字节数据,读取EEPROM时需要设置EEPROM寄存器3的相应位。
主设备从从设备读取一块数据,读取EEPROM时同样需要设置EEPROM寄存器3的相应位。
ADM1026内部包含一个带隙温度传感器,其输出由片上ADC进行数字化处理,温度数据以二进制补码格式存储在本地温度值寄存器中。理论上,温度传感器和ADC可测量-128°C至+127°C的温度,分辨率为1°C。
芯片可测量连接到引脚25和26或27和28的两个远程二极管传感器的温度。通过测量二极管在不同电流下的电压变化来计算温度,测量结果以8位二进制补码格式存储。
在进行远程温度测量时,为了保护模拟输入免受噪声干扰,需要注意布局。应将ADM1026尽可能靠近远程传感二极管,将D+和D-走线紧密并行排列,并在两侧设置接地保护走线,使用宽走线以减少电感和噪声拾取,尽量减少铜/焊料接头的数量等。
ADM1026具有一个8位无符号DAC的模拟输出,输出范围为0V至2.5V。DAC控制寄存器中的数据可用于控制风扇速度,在自动风扇速度控制模式下,该寄存器的4个最高有效位设置风扇的最低速度。模拟输出可通过外部电路进行放大和缓冲,以实现风扇速度控制。
风扇速度测量通过测量风扇转速的周期来实现,芯片使用片上22.5kHz振荡器对风扇转速进行计数。为了适应不同速度和输出脉冲数的风扇,可在计数器前添加预分频器。风扇速度测量的监测周期时间取决于风扇速度、每转输出脉冲数和监测的风扇数量。
ADM1026的中断可来自多个源,包括模拟/温度输入、风扇输入、GPIO和CI引脚等。中断状态寄存器存储中断事件,掩码寄存器可用于屏蔽不需要的中断。当测量值超出极限时,中断输出(INT)会被拉低。
模拟测量值与极限值进行比较,超出极限时会设置相应的状态位,状态位可通过读取状态寄存器1、接收警报响应地址(ARA)或设置配置寄存器1的相应位来清除。
风扇速度测量结果与极限值比较,风扇欠速时会设置相应的状态位,中断清除后需等到下一个监测周期结束才会重新断言。
GPIO和CI引脚的中断不会被锁存,只能通过屏蔽状态位或移除中断源来清除。
THERM引脚仅对关键热事件做出响应,当温度超过THERM极限时,该引脚会拉低,可用于CPU节流或系统关机。
上电时,ADM1026会对所有寄存器(不包括EEPROM)进行上电复位,将其设置为默认条件。可通过写入配置寄存器1的第7位来初始化某些寄存器。
上电后,需要根据用户的具体需求对ADM1026进行配置,包括写入极限寄存器的值、配置引脚为风扇输入或GPIO、设置风扇除数、配置GPIO引脚的输入/输出极性、设置掩码寄存器的掩码位以及设置配置寄存器1和3等。
通过写入配置寄存器1并设置Start(第0位)为高来启动监测功能,同时设置INT_Enable以启用中断,设置THERM启用位以启用温度中断。
将配置寄存器的第0位设置为0可将ADM1026置于低功耗模式,禁用内部ADC。
通过设置配置寄存器1的第7位为1可进行软件复位,部分寄存器会被重新初始化为上电默认值,但极限寄存器不会被复位。
图62展示了ADM1026在PC或服务器系统管理中的应用示例。在该应用中,多个GPIOs用于读取CPU的VID代码,可读取多达两个CPU的温度测量值,监测系统中的所有电源电压,测量多达八个风扇的速度,VREF输出包含推荐的滤波电路。
ADM1026作为一款功能强大的系统硬件监控芯片,为微处理器系统提供了全面的测量、监测和控制功能。其丰富的测量通道、灵活的配置选项、可靠的通信接口以及完善的中断处理机制,使其成为电子工程师在设计和开发过程中的理想选择。通过深入了解ADM1026的特性和功能,工程师们可以更好地利用该芯片实现系统的稳定运行和高效管理。
大家在使用ADM1026的过程中,是否遇到过一些特殊的问题或者有独特的应用经验呢?欢迎在评论区分享交流。
全部0条评论
快来发表一下你的评论吧 !