ENGLISH 简体中文 日本語 한국어  

    Login | Register 


   
 
请输入关键词或器件型号    




应用笔记4283

MAX16031/MAX16032 EEPROM可编程系统管理器的在线编程

Eric Schlaepfer

摘要:MAX16031/MAX16032系统管理器可以在焊接到应用电路板后进行编程。这意味着只需储存未编程器件,而最新版本的配置信息可以在生产测试过程中写入器件。通过几项简单的测试可确保应用电路通过共享I²C或JTAG总线进行硬件编程,并且在编程过程中为器件供电。本文提供了I²C总线和JTAG总线的编程算法。

MAX16031/MAX16032基于EEPROM的系统管理器为系统监控电路,能够监测八路电源电压,提供三路温度检测和一路电流监测。每个监测参数与四个不同门限进行比较,几路故障指示输出可以配置为在不同条件下触发报警。

系统管理器包括兼容于SMBus™的I²C接口和一个JTAG接口,这两个接口均可访问器件的所有寄存器,编程内部配置EEPROM。MAX16031/MAX16032可在线编程,仅需遵守几条简单规则即可。

供电

MAX16031/MAX16032的电源电压范围为3V至14V。有些应用将VCC连接至12V中等电压总线,有些应用则连接到3.3V辅助电源。

可使用局部供电电路板对这些器件进行编程。例如,可使用3.3V辅助电压而无需任何其它电源,或者施加12V中等电压总线,此时应关闭所有下游电源,以避免其它电路上施加电源。也可以使用常见的双二极管,从编程连接器供电。由于二极管会产生压降,所以当MAX16031/MAX16032由12V总线供电时,这种方法的工作效果最佳。

共用总线

当一个器件(而非µP)在正常工作时需要与MAX16031/MAX16032通信时,存在一个潜在问题。例如,当系统监控µP需要访问MAX16031/MAX16032的ADC读数时。当电路板断电或只是部分供电,并且MAX16031/MAX16032正在编程时,连接到I²C或JTAG总线的其它器件可能产生干扰。最简便的解决方法是通过JTAG接口编程MAX16031/MAX16032并监控连接到I²C接口的µP。若µP支持开漏I²C总线I/O (即没有连接至VCC的ESD保护二极管的引脚),同时上拉电阻足够大,在编程和正常工作时共用I²C总线是可行的。如果µP的I²C总线不是开漏式,ESD二极管将箝位总线并会干扰编程。共用JTAG时可能需要JTAG总线复用器从3.3V供电。

如果系统µP不具备真正的开漏I²C总线,可采用类似图1的电路在µP和编程I²C总线之间自动切换。

图1. MAX16031通过MAX4525复用器/开关共用其I²C总线
图1. MAX16031通过MAX4525复用器/开关共用其I²C总线

图1所示MAX4525复用器在连接到系统µP的I²C和连接到编程测试点上的I²C之间进行切换。开关由系统µP的VCC控制。如果采用12V电源供电,而不是VCC供电,开关将I²C连接至编程测试点。一旦施加VCC电源,开关将I²C连接至系统µP。注意,编程模式下,连接在测试点的编程硬件电路必须提供适当的I²C上拉电阻。

应用电路实例

以下示意图中介绍了用于在线编程的三种不同应用电路。

12V中等电压总线供电,通过I²C总线编程

图2所示电路通过12V中等电压总线向MAX16031供电,通过双二极管从编程连接器供电,该连接器还与MAX16031的I²C总线连接,与板上具有开漏I²C输出的系统管理µP共用总线,此时的µP并未真正加载到总线上,即便是在上电之前。作为外部编程器的替代方案,也可以使用系统管理µP在初始上电时对MAX16031进行编程。能够在没有特殊硬件的条件下方便地更新MAX16031的配置。

图2. MAX16031通过12V中等电压总线供电并且通过I²C接口编程
图2. MAX16031通过12V中等电压总线供电并且通过I²C接口编程

3.3V辅助电源供电,通过JTAG复用器编程

图3所示,MAX16031通过3.3V辅助电源供电。通过专用的JTAG线连接到测试点进行编程。本例中,3.3V必须在编程之前上电,I²C接口仍然连接到系统管理µP。

图3. MAX16031通过3.3V辅助电源供电并通过JTAG口编程
图3. MAX16031通过3.3V辅助电源供电并通过JTAG口编程

编程算法

MAX16031/MAX16032具有内置EEPROM,用于储存器件配置参数。上电后,EEPROM的内容被送入RAM寄存器。RAM和EEPROM均可通过JTAG和I²C接口访问。若要正确编程MAX16031/MAX16032,则所需参数必须设置在EEPROM—请参见表1所示存储器表。

表1. MAX16031/MAX16032存储器表
表1. MAX16031存储器表

配置文件

MAX16031评估板(EV kit)软件提供两种类型的配置软件。一种是通过选择System Save Configuration...生成的可读XML文件,该文件可用于I²C编程。另一种是通过选择System Save as SVF...生成的文件,该文件为连续矢量格式(SVF),第三方JTAG工具和在线PCB测试可利用该文件进行JTAG编程。

文件格式如下:

[Registers]
register number=register value
.
.
.
所有数值采用十进制,寄存器从23到98。这些地址对应于RAM寄存器,而非EEPROM地址。为了得到EEPROM地址,需要将RAM寄存器地址加上128。 关于SVF文件格式的详细信息,请参考Serial Vector Format Specification (English only, PDF, 85.2kB)。

I²C编程步骤

在编程MAX16031/MAX16032的EEPROM配置内存时,必须首先确定寄存器r5Fh[0]上的配置锁定位为零。如果不是零,则在该位上写入“1”将其清零。若要写入EEPROM,进入EEPROM页面,加载开始地址(97h),然后发送一系列块烧录命令(I²C)或写命令(JTAG)。关于相应I²C协议的详细信息,请参阅MAX16031/MAX16032的数据资料。

以下为典型EEPROM编程过程的伪码:
SendByte(5Fh) // Check lock bit
If ReadByte() & 1 == 1 Then
WriteByte(5Fh, 01h) // Clear lock bit if needed
Loop Address from 97h to DFh 
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
Success

JTAG编程步骤

用标准的第三方JTAG工具、MAX16031 BSDL文件和EV软件生成一个SVF数据文件,可通过JTAG编程电缆或在线PCB检测仪对MAX16031进行编程。BSDL文件可从Maxim网站下载



SMBus是Intel Corp.的商标。


相关型号  APP 4283: Jan 15, 2009
MAX16031 基于EEPROM的系统监控器,提供非易失故障存储 完整的数据资料
(PDF, 948kB)
免费样品
MAX16032 基于EEPROM的系统监控器,提供非易失故障存储 完整的数据资料
(PDF, 948kB)
免费样品

自动更新
需要自动接收最新发布的应用笔记吗?请订阅EE-Mail™ (English only)。




我们期待您的反馈!
喜欢?不喜欢?有待改善?或为我们提供建议?请与我们联系 — 我们将根据您的意见或建议改善我们的工作。 网页评价或提供建议

 

下载,PDF格式下载,PDF格式 (67kB)
 AN4283, AN 4283, APP4283, Appnote4283, Appnote 4283

        •         •         •     隐私权政策     •     法律声明

    © 2009 Maxim Integrated Products版权所有