【请教】MP8864的控制问题,多谢!

根据芯片手册的控制顺序,我编写的程序顺序为:
1、启动 > 寻址(发送0xc0)> 寄存器01寻址(发送0x01)> 写控制字(发送0xe0)> 寄存器00寻址(发送0x00)> 写输出值(发送0x7f & dat)> 结束
一开始由于没有寻址寄存器,一直接收不到ACK,输出一直1V不变化(设计为输出1-3.11V)然后修改为以上程序后,能收到ACK,但芯片输出变为只在0.46V不变化,按理来说最低是1V,不应该出现低于1V的,我换了个芯片还是0.46V,后来看芯片手册加了个二极管,如下图,好了变成1V了,结果程序没反应,又焊了焊SDA,SCL引脚,程序有ack返回了,然后输出又成了0.46V,回到开始,有些奇怪,麻烦老师帮我分析解惑,谢谢!

您好!设置输出的V_BOOT取值是否正确?规格书Table 2有提供真值表,需要按照要求赋值:

1 个赞

谢谢解答!我找到问题了
reg00的数据改为cmd=0x80 | dat; 用来写输出值,以及我的主要问题是不应该第二次寄存器寻址,芯片会自动进入下一个寄存器,正确写顺序为:
启动 > 寻址(发送0xc0)> 寄存器01寻址(发送0x01)> 写控制字(发送0xe0)> 写输出值(发送0x80 | dat)> 结束

您好,我想请问一下MP8864接线的问题,1、这个芯片SDA和SCL引脚还是需要上拉电阻的么,像我图里画的那样;2、我这个PG引脚接的对么,PG引脚不需要外接电源吧;3、ADD切换地址是不是直接接一根线练到VCC引脚就可以了。谢谢!!

您好,回答如下:1、SDA和SCL连接正确,当该串口处于空闲状态时,会被上拉电阻拉至3.3V高电平。2、PG连接正确,PG 通过一个上拉电阻连接到 VCC 或其他电压源,一般连接VCC即可,用于指示Vo电压是否就绪。3、ADD可按照图中直接接地处理,对应地址为60h. 若ADD float或上拉至 VCC,对应地址为68h。7 位地址再加上 "0/1"读写位,显示如下

1 个赞

工程师您好,我还有几个问题想请教您:
1、我的目的是通过I2C控制电压在3-4.5v内变化,我供电选择的是5V这个合适么
2、我的VIN引脚和EN引脚的接线是否正确,
3、我将ADD上拉至VCC引脚,并接入了100K的电阻,这样可以实现地址的切换么
4、我输出部分的接线正确么,还有I2C模式下输出电压是由R9和R8决定的,那我对C22,C23,R7的阻值选择合适么


再次感谢!!

1、输出电压范围需参考Dmax,MP8864分布在90-95%,对于4.5Vo存在比较临界的情况,若Vin可选, 建议调高Vin/直接用12V典型输入。若需要调节输出电压3-4.5V,可在FB loop下通过IIC调节Vref来实现。具体参考规格书中Table 2—Output reference voltage chart
2、正确
3、如上回复,若ADD float或上拉至 VCC,对应地址为68h。
4、请问默认是按照多少输出呢?输出环路部分可参考该参数表配置,其余部分元器件参数没有问题。

1 个赞

工程师您好:
非常感谢您的解答,但我还有一个问题,我对输出的要求是根据I2C程序调节参考电压,根据我原理图的布局输出电压是由R9和R8决定的,我的目标放大倍数(1+R9/R8)=3
芯片手册里的输出环路中,它参考电压默认的就是0.6V,并且不会改变,我之前参考的是表格里Vout=5V的Cff,Cfb。我刚注意到表格里Vout=1.8V刚好是0.6V*3,和我的需要的放大倍数一致,那我是否可以直接选择表格里1.8V对应的元器件。或者该如何取值
还有ADD上拉至VCC需不需接一个上拉电阻,类似我原理图里放置得100K电阻
image

您好,具体可见邮件回复。后续可通过对接工程师的邮件/微信窗口进一步沟通,谢谢。