0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于EEPROM的系统监视器MAX16031/MAX16032的在线编程

星星科技指导员 来源:ADI 作者:ADI 2023-02-21 10:11 次阅读

MAX16031/MAX16032系统监视器焊接到应用电路板后即可进行编程。这意味着只需要库存未编程的设备,并且可以在制造测试期间将最新版本的配置信息写入设备。本应用笔记详细介绍了几种简单的措施,确保应用电路允许编程硬件共享I²C或JTAG总线,并在编程期间为器件供电。还为I²C总线和JTAG总线提供了编程算法

MAX16031/MAX16032基于EEPROM的系统管理器是系统监控器件,用于监测<>个电源电压、<>个温度传感器和<>个电流。将每个参数与四个不同的阈值进行比较,并且可以配置多个故障输出以在各种条件下置位。

这些监视器包括一个SMBus™兼容的I²C接口和一个JTAG接口,这两个接口都可以访问所有器件寄存器并对内部配置EEPROM进行编程。MAX16031/MAX16032是在线可编程的,只要遵循一些简单的准则即可。

提供电力

MAX16031/MAX16032具有3V至14V的电源电压范围。某些应用程序连接 V抄送至 12V 中间总线电压,而其他连接 V抄送至 3.3V 辅助电源。

可以使用部分供电的电路板对这些设备进行编程。例如,可以在没有任何其他电源的情况下施加3.3V辅助电压,或者可以在所有下游电源被强制关闭时施加12V中间总线电压,以防止电源到达任何其他电路。另一种选择是使用常用的双二极管,以便从编程连接器供电。由于二极管引起的压降,当MAX16031/MAX16032由12V总线供电时,这种方法效果最佳。

共享巴士

微处理器(μP)以外的某些器件在正常工作期间需要与MAX16031/MAX16032通信时,会出现潜在问题。例如,当系统监控μP需要访问MAX16031/MAX16032的ADC读数时。当电路板未上电或部分上电且MAX16031/MAX16032正在编程时,连接到I²C或JTAG总线的其他器件可能会产生干扰。最简单的解决方案是通过JTAG接口对MAX16031/MAX16032进行编程,并将监控μP连接到I²C接口。如果μP支持真正的漏极开路I²C总线I/O(即引脚缺少ESD二极管至V抄送),并且上拉电阻足够大,可以共享I²C总线进行编程和正常工作。如果μP的I²C总线不是漏极开路,ESD二极管将箝位母线并干扰编程。共享JTAG可能需要由3.3V供电的JTAG总线多路复用器

如果系统μP没有真正的漏极开路I²C总线,则可以使用图1所示的电路在μP和编程I²C总线之间自动切换。

pYYBAGP0KFeAXgOOAAAebl01npw752.gif?imgver=1

图1.MAX16031通过MAX4525多路复用器/开关共享I²C总线。

图4525所示的MAX1多路复用器在连接到系统μP的I²C和连接到编程测试点的I²C之间切换。开关由 V 控制抄送系统μP。如果 V抄送不施加,但12V,开关将I²C连接到编程测试点。一次 V抄送施加,开关将I²C连接到系统μP。 注意,在编程模式下,连接到测试点的编程硬件必须提供适当的I²C上拉电阻。

应用电路示例

下图显示了为在线编程设计的两种不同的应用电路。

由12V中间总线供电,并通过I²C总线编程

图2所示,MAX16031由12V中间总线供电。双通道二极管允许编程连接器供电,编程连接器也连接到MAX16031的I²C线路。它们与板载系统管理μP共享,具有漏极开路I²C输出,即使μP未上电,也不会加载总线。作为外部编程器的替代方案,系统管理μP还可以在初始上电时对MAX16031进行编程。这也使得无需特殊硬件即可轻松更新MAX16031的配置。

poYBAGP0KFmACbcmAABDMplpvCI516.gif?imgver=1

图2.MAX16031由12V中间总线供电,并通过I²C总线进行在线编程。

由3.3V辅助总线供电,并通过JTAG端口编程

图3所示为MAX16031由3.3V辅助总线供电。编程是通过专用的JTAG线完成的,这些线路被带到编程测试点。在本例中,必须先提供3.3V辅助总线,然后才能完成编程。I²C接口仍连接到系统管理μP。

pYYBAGP0KFqAdlWdAABCehwQC_I409.gif?imgver=1

图3.MAX16031由3.3V辅助总线供电,通过JTAG端口编程。

编程算法

MAX16031/MAX16032内置EEPROM,用于存储器件配置参数。接通电源后,EEPROM的内容被传输到RAM寄存器。RAM和EEPROM都可以从JTAG和I²C接口访问。为了正确编程MAX16031/MAX16032,必须根据EEPROM编程所需参数——参见表1中的存储器图。

表 1.MAX16031/MAX16032存储器图

poYBAGP0KFyAETZNAAA9sU6mEos079.gif?imgver=1

配置文件

MAX16031评估板(EV kit)软件提供两种类型的配置文件。一个是通过选择系统

pYYBAGP0KF-AStJ-AAAB-HzF9KM953.gif?imgver=1

保存配置生成的人类可读的文本文件...此文件可用于I²C编程。第二个是通过选择系统

pYYBAGP0KF-AStJ-AAAB-HzF9KM953.gif?imgver=1

另存为 SVF 生成的...该文件采用串行矢量格式(SVF),许多PLD供应商用于JTAG编程。

文本文件格式如下:

[Registers]

register number=register value

. . .

所有值均为十进制。寄存器从 23 开始,到 98。这些地址对应于RAM寄存器,而不是EEPROM地址。要获取EEPROM地址,请在RAM寄存器地址上加128。

SVF 文件格式在串行矢量格式规范 (PDF, 85.2kB) 中有更详细的描述。

I²C编程程序

要对MAX16031/MAX16032的EEPROM配置存储器进行编程,首先需要确保寄存器r5Fh[0]中的配置锁紧位为零。如果它不为零,则在该位上写一个“1”以清除它。要写入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/MAX16032 BSDL文件、评估板软件生成的SVF数据文件以及JTAG编程电缆或在线PCB测试仪。BSDL 文件可供下载

注意,评估软件生成的SVF文件测试IDCODE寄存器。以下代码片段来自MAX16031评估板软件生成的SVF文件:

ENDDR IDLE; ENDIR IDLE; SIR 5 TDI(00) TDO(01); SDR 32 TDI(00000000) TDO(00001197) MASK(0FFFFFFF); TDO(00001197) 语句验证完整的 IDCODE 语句,包括设备修订代码。如果设备与不同的修订代码一起使用,则此语句将失败。要使 SVF 文件忽略 IDCODE 寄存器的修订代码字段,请改用以下行:SDR 32 TDI(00000000) TDO(00001197) MASK(0FFFFFFF);

mask 语句忽略 4 位修订代码字段(请参阅表 2)。

修订版(4 位) 部件号(16 位) 制造商(11 位)
二元的 0010 0000 0000 0000 0001 00011001011 1
十六进制 2 0001 197

审核编辑:郭婷

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 电源
    +关注

    关注

    182

    文章

    16561

    浏览量

    244908
  • 电路板
    +关注

    关注

    140

    文章

    4626

    浏览量

    92634
  • JTAG
    +关注

    关注

    6

    文章

    383

    浏览量

    71154
收藏 人收藏

    评论

    相关推荐

    MAX34461 16通道系统监视器

    MAX34461是一个系统监视器,能够管理多达16个电源。电源管理器监视电源的输出电压,并不断检查用户可编程的过压,欠压门限。
    发表于 10-08 10:40 1021次阅读

    MAX690/MAX691/MAX692/MAX694/MAX695微控制监控监控电路

    功能:产生CMOS RAM和EEPROM的写保护信号;可变的复位或监视器计数周期;分别指示监视计数溢出、备用电池切换及VCC过低,MAX6
    发表于 08-30 15:34

    MAX16031/MAX16032中文资料pdf

    MAX16031/MAX16032可配置EEPROM系统监测器内部集成了10位模/数转换器(ADC),用于监测复杂系统的电压、温度和电流。
    发表于 06-30 14:03 30次下载

    基于MAX16031系统管理器的在线编程设计

    MAX16031系统管理器可在焊接到应用电路板后进行编程设置,即只需储存未编程器件,而最新版本的配置信息可以在生产测试过程中写入器件。通过几项简单的测试可确保应用电路通过
    发表于 12-29 18:07 15次下载

    External Temperature Sensor Ca

    External Temperature Sensor Calibration for the MAX16031/MAX16032 System Monitors Eric Schlaepfer
    发表于 10-01 22:55 776次阅读
    External Temperature Sensor Ca

    MAX6889, MAX6890, MAX6891 EEPR

    MAX6889, MAX6890, MAX6891 EEPROM编程、八/六/四路电源排序器/监控电路
    发表于 10-01 23:23 704次阅读

    In-Circuit Programming of the

    In-Circuit Programming of the MAX16031/MAX16032 EEPROM-Based System Monitors Abstract
    发表于 11-15 18:28 878次阅读

    基于MAX16031系统管理器的在线编程设计

    基于MAX16031系统管理器的在线编程设计 1 引言    目前,很多应用系统均采用总线控制方式实时配置各种寄存器,灵活实现其控制功能,
    发表于 12-12 11:13 379次阅读
    基于<b class='flag-5'>MAX16031</b><b class='flag-5'>系统</b>管理器的<b class='flag-5'>在线</b><b class='flag-5'>编程</b>设计

    基于EEPROM系统监控器MAX16031/MAX1603

      概述   MAX16031/MAX16032可配置EEPROM系统监测器内部集成了10位模/数转换器(ADC),用于监测复杂系统的电压
    发表于 09-23 09:24 949次阅读
    基于<b class='flag-5'>EEPROM</b>的<b class='flag-5'>系统</b>监控器<b class='flag-5'>MAX16031</b>/<b class='flag-5'>MAX</b>1603

    MAX1626 微型温度监视器,控制3速风扇

    MAX1626 微型温度监视器,控制3速风扇
    发表于 08-18 18:38 0次下载

    MAX971 IR传感器_监视器唤醒主系统

    MAX971 IR传感器_监视器唤醒主系统
    发表于 08-18 18:38 0次下载

    基于 MAX16031/MAX16032 EEPROM系统监控器的在线编程

    发表于 11-18 23:45 0次下载
    基于 <b class='flag-5'>MAX16031</b>/<b class='flag-5'>MAX16032</b> <b class='flag-5'>EEPROM</b> 的<b class='flag-5'>系统</b>监控器的<b class='flag-5'>在线</b><b class='flag-5'>编程</b>

    MAX16032ETM+ PMIC - 监控器

    电子发烧友网为你提供Maxim(Maxim)MAX16032ETM+相关产品参数、数据手册,更有MAX16032ETM+的引脚图、接线图、封装手册、中文资料、英文资料,MAX16032ETM+真值表,
    发表于 01-03 20:18
    <b class='flag-5'>MAX16032</b>ETM+ PMIC - 监控器

    MAX16031/MAX16032系统监测器的外部温度传感器校准

    MAX16031/MAX16032系统监测器支持外部连接成二极管的晶体管来检测远端温度。二极管连接的晶体管具有与温度相关的特性,可以使用简单的过程进行测量。根据晶体管的类型,这些特性略有不同;因此,在
    的头像 发表于 01-12 11:23 630次阅读
    <b class='flag-5'>MAX16031</b>/<b class='flag-5'>MAX16032</b><b class='flag-5'>系统</b>监测器的外部温度传感器校准

    MAX16046–MAX16049 EEPROM编程系统管理器的在线编程

    MAX16046–MAX16049 EEPROM编程系统管理器是电源排序器、监视器和裕量器,可
    的头像 发表于 02-20 10:02 541次阅读
    <b class='flag-5'>MAX</b>16046–<b class='flag-5'>MAX</b>16049 <b class='flag-5'>EEPROM</b>可<b class='flag-5'>编程</b><b class='flag-5'>系统</b>管理器的<b class='flag-5'>在线</b><b class='flag-5'>编程</b>