MAX16046–MAX16049 EEPROM可编程系统管理器是电源排序器、监测器和裕量调节器,可控制多达12路电源。电源由三个数字比较器监测,由可编程DAC输出调节裕量,并且由可编程状态引擎对其进行排序。
系统管理器包括兼容于SMBus的I2C接口和一个JTAG接口,这两个接口均可访问器件的所有寄存器,编程内部配置EEPROM。MAX16046–MAX16049可在线编程,仅需遵守几条简单规则即可。

图1. MAX16046通过MAX4525复用器/开关共用其I2C总线
图1所示MAX4525复用器在连接到系统μP的I2C和连接到编程测试点上的I2C之间进行切换。开关由系统μP的VCC控制。如果采用12V电源供电,而不是VCC供电,开关将I2C连接至编程测试点。一旦施加VCC电源,开关将I2C连接至系统μP。

图2. MAX16046通过12V中等电压总线供电并且通过I2C接口编程
一路电源使用高电平有效的推挽使能控制,而其它电源采用低电平有效的开漏使能控制。当未经编程的输出处于高阻态时,适当的上拉、下拉电阻可防止电源打开。
需要特别注意的是:推挽式输出不能上拉到VDBP以上的电压,开漏输出不能上拉到6V以上的电压。I2C连接被引至编程测试点,编程硬件必须提供适当的上拉电阻。该电路非常简单,因为电路板上没有其它器件需要连接到I2C总线。

图3. MAX16046通过3.3V辅助电源供电并通过DS26900 JTAG复用器编程

图4. MAX16046通过一个12V中等电压总线供电并通过JTAG编程
MAX16046–MAX16049具有内置EEPROM,用于储存器件配置参数。上电后,EEPROM的内容被送入RAM寄存器。RAM和EEPROM均可通过JTAG和I2C接口访问。若要正确编程MAX16046–MAX16049,则所需参数必须设置在EEPROM—请参见表1所示存储器表。
表1. MAX16046存储器表

Save Configuration As生成的可读XML文件,该文件可用于I2C编程。另一种是通过选择File
Save as .SVF生成的文件,该文件为连续矢量格式(SVF),第三方JTAG工具和在线PCB测试可利用该文件进行JTAG编程。
所有值均为十进制。这些地址对应RAM寄存器和EEPROM地址。请注意,RAM寄存器0至14为DAC寄存器,而地址0至地址14的EEPROM为保存的故障数据。EEPROM编程应从地址15开始。
关于XML文件格式的详细信息,请访问XML Developer Center。
SVF文件格式的详细信息请参考Serial Vector Format Specification (PDF, 85.2kB)。
SendByte(5Dh) // Check lock bit
If ReadByte() & 2 == 2 Then
WriteByte(5Dh, 02h) // Clear lock bit if needed
SendByte(9Ah) // Access EEPROM page
Loop Address from 0Fh to 7Dh
SendByte(Address) // Load address
WriteBlock(Data, 10h) // Write a block of 16 bytes
Wait(16 * 11 milliseconds) // Wait for programming
SendByte(Address)
ReadBlock(DataRead, 10h) // Read back data block
If DataRead != Data Then
RepeatCount = RepeatCount + 1
If RepeatCount == 3 Then
Fail
Else
RepeatCount = 0
Address = Address + 10h // Advance to next block
SendByte(9Bh) // Return to default page
Success
若要写入用户EEPROM,可采用相同步骤,仅用地址范围9Ch至FFh代替0Fh至7Dh即可。
SMBus是Intel Corp.的商标。
凡《网络安全与数据治理》(原《信息技术与网络安全》)录用的文章,如作者没有关于汇编权、翻译权、印刷权及电子版的复制权、信息网络传播权与发行权等版权的特殊声明,即视作该文章署名作者同意将该文章的汇编权、翻译权、印刷权及电子版的复制权、信息网络传播权与发行权授予本刊,本刊有权授权本刊合作数据库、合作媒体等合作伙伴使用。同时,本刊支付的稿酬已包含上述使用的费用,特此声明。