MP2731 软件寄存器配置

软件按下面参数进行设置,发现开始是4A充电,过几十秒电流降低到1.7A左右。设置电流为1A,过几十秒,电流又会升到1.7A。大家帮忙看下,软件这样设置有问题吗?
unsigned char Init_buffer[REG_NUM] = {
0x68,//0X0
0x06,//0X1
0xdc,//0X2
0x10,//0X3
0X51, //0X4
0XDC,//0X5
0x22, //0X6
0XA0, //0X7
0x95,//0X8
0x00,//0X9
0X58,//0XA
0xc0,//0XB
0X00,//0XC
0X00,//0XD
0X00,//0XE
0X00,//0XF
0X00,//0X10
0X00,//0X11
0X00,//0X12
0X00,//0X13
0X00,//0X14
0X60,//0X15
0XEE,//0X16
0X00,//0X17
};

您好,感谢使用MP2731。
关于您提出的问题,您的MP2731应该是工作在上位机控制的host模式下,此时需要上位机在看门狗定时器超时前喂狗,否则芯片配置参数会恢复默认设置(请参考规格书Watchdog Timer部分描述)。
芯片默认设置的充电电流Icc是1.84A,您描述的情形看起来比较像是恢复默认配置导致的。

1 个赞

image 第一句话,给寄存器0x08 bit3 写1,我理解,第二句是什么意思,是要将bit4,5,写0 disable了之后,在选择0x01 40s开启吗?

您好!
这个应用问题,建议您:

  1. 首先考虑是否需要打开看门狗功能,如果不打开开门狗(比如,REG08H:0x85,REG08H[5:4]=00为disable watchdog),MP2731的参数经上位机修改后就不再改变。
  2. 如果使能看门狗,那么就请用上位机定时在预设的看门狗计时器超时前周期性将REG08H [3]写1(WATCHDOG TIMER RESET bit)。
  3. 使能看门狗功能后如果未定时喂狗,理论上会产生fault信号,此时建议通过I2C读取REG0DH [7]检查是否为1(第7位为1意味着发生watchdog timer expiration fault),如fault已生成,那么为了清除REG07H这个报错寄存器中的fault位,需要对TIMER进行reset+先disable再enable的操作来清掉fault。
3 个赞

好的,谢谢你的帮助