MP8859 不能正常输出

我正尝试通过 I2C 配置/控制 MP8859,但是 MP8859 并不能按预想输出,而是输出了 12V!

下面的日志时操作 MP8859 的记录:

# output current limit threshold: 20
Set to 3000mV
>>> 02 14 80 70 0

MP8859 Registers:
 - 00(VOUT_L): 04
 - 01(VOUT_H): 25
 - 02(VOUT_GO): 00
 - 03(IOUT_LIM): 14
 - 04(CTL1): 80
 - 05(CTL2): 70
 - 06(RES): 00
 - 07(RES): 0e
 - 08(RES): 0e
 - 09(Status): 00
 - 0a(Interrupt): 08
 - 0b(Mask): 00
 - 0c(ID1): 0b

我把输出电压设置为 3000mV 输出电流设置为 20*0.05=1A。>>> 那一行,是写入电压之后向 VOUT_GO 寄存器写入 3 再读取的值,02 表示 GO_BIT 已经被芯片清零。并且在打印这一样文字后,我又向 VOUT_GO 寄存器写入 1,希望再次触发 GO_BIT 。后续读取全部寄存器时 VOUT_GO 的值为 0 ,表明 GO_BIT 确实是被触发过。但是输出仍然保持 12V 不变!

与此同时在 Status 寄存器表明 “output power is not good”,Interrupt 寄存器看到 UVP_FALLING 被置位。

请教 MPS 的专家和网友,我的操作是否有误?这样的问题该如何排除?

多谢~

您好,在对VOUT寄存器进行读写之后可以先读回看有没有写入成功,另外在进行写入前的输出电压和VOUT寄存器分别是什么值?

1 个赞

感谢回复!

按回帖的内容,我修改了程序,下面的内容是修改之后程序在启动后一小段时间的输出日志:

# MP8859[c0] MFR_ID: 09, DEV_ID: 58.

Before set volt, MP8859 Registers:
 - 00(VOUT_L): 00
 - 01(VOUT_H): 96
 - 02(VOUT_GO): 00
 - 03(IOUT_LIM): 46
 - 04(CTL1): f0
 - 05(CTL2): 70
 - 06(RES): 01
 - 07(RES): 0e
 - 08(RES): 07
 - 09(Status): 00
 - 0a(Interrupt): 08
 - 0b(Mask): 00
 - 0c(ID1): 0b

Set to 3000mV

>>> 03 46 f0 70 0

After set volt, MP8859 Registers:
 - 00(VOUT_L): 04
 - 01(VOUT_H): 25
 - 02(VOUT_GO): 01
 - 03(IOUT_LIM): 46
 - 04(CTL1): f0
 - 05(CTL2): 70
 - 06(RES): 01
 - 07(RES): 0d
 - 08(RES): 08
 - 09(Status): 00
 - 0a(Interrupt): 08
 - 0b(Mask): 00
 - 0c(ID1): 0b

电压和限流寄存器的值分别是:1200 和 70,对应 12V 输出电压和3.5A限流。实际测量到的输出电压为 11.9V,符合12V 的输出设置。

后续的写操作,3000mV 的值确实已经写入,VOLT 值为 300。VOUT_GO 在之后就变为0,输出电压仍然是 11.9V。

您好,可以在VOUT寄存器写入之后,结束读写,然后添加延时,再重新开始写入GO_BIT

1 个赞

您好,最初12V状态时OAh寄存器似乎就已经是UVP_FALLING状态了,可以提供一下您使用的IC的完整型号以及原理图吗?

1 个赞

型号:MP8859GQ
TOP MARKING:BGRJ099
原理图:

您好,您是从什么渠道购买的芯片?完整的型号包含4位code,会对应初始寄存器配置;MP8859GQ-0000的默认输出应该是5V,可以展示一下Layout,谢谢!

1 个赞

是从淘宝卖家 信熠电子 采购的芯片,采购时的型号是: MP8859GQ-0000-Z,实际拿到的芯片,其 TOP MARKING 为 BGRJ099。与论坛里这个帖子 MP8859使用异常情况 的情况一样。

Layout:

您好,您回读的log中0Ch寄存器的值为0B,也就是实际的芯片型号为MP8859GQ-000B,默认输出电压为12V;关于VOUT_Setting和GO_BIT的操作,通过IIC单个字节逐次的写入,我这边测试的时可以正常修改输出电压的,所以步骤方面应该没有太大问题;您的Layout可能需要对照手册中的Recommended Layout稍微优化一下,芯片不应该在启动时就显示UVP_FALLING,谢谢!

2 个赞

UVP_FLLING指的是输入欠压还是输出欠压呢?我该如何确认该问题?

您好,UVP_FALLING在手册中有描述,表示的是处于输出欠压保护状态。需要靠近IC引脚测试启动时的VCC、VIN、VOUT和SW的电压波形,来判断IC的工作状态

1 个赞

如果是输出欠压的话,芯片还能稳定输出 12V,并且电流可以稳定在1A,这个没法解释呀~

您好,只要触发过UVP,这个寄存器就会一直保持,需要通过UVP_MSK寄存器手动清除才会变回去;MP8859GQ的输出欠压保护是保持,所以只看输出是无法判断状态的;输出欠压判断条件如下:


谢谢!

1 个赞

按手册描述,“Write 0xFF to 0x0A register to reset the interrupt and ALT pin’s state”。我修改了程序,在发现 Interrupt Register 中的异常后,复位这个寄存器。但是仍持续不断读出 08 的值。

我上一个问题其实是想知道,处于 under-voltage protection 状态为什么仍能稳定输出 12V1A?

您好,万用表测试的只是电压有效值,并不能表明芯片的工作状态,需要观察实际的VOUT波形,另外您的输入电压是多少V?

1 个赞

输入电压:20V,我也测试过 12V的,都不改变有问题的状态。

用示波器观察输出,输出12V1A(接有电子负载)的情况下,输出波形非常稳定:

波形显示 12.2V,峰峰值 200mV。

您好,可以尝试从MPS小程序或者官网产品页面购买芯片,或者从授权代理商、经销商申请或者购买样品,正常来说应该只会提供0000尾缀的,可以看看是否能解决此问题,谢谢!

1 个赞

这个问题到此为止吧,我们对此非常失望。

不过仍然感谢你的回复~

您好,很抱歉给您带来不好的体验,可靠的供货路径是助力优秀应用不可或缺的一部份,感谢您选择MPS方案,期待为您提供更优秀的技术支持,谢谢!

1 个赞

有可能是启动阶段出现了异常,触发了interrupt,但是最后还是能稳定的起来。这样需要优化布局和看下焊接有没有问题了。