【每周分享】IP5385开发调试总结

简介
       我们开发的一款移动电源设备用的IP5385,这里做一下开发调试总结,与各位朋友分享一下,欢迎交流。
       IP5385是一款移动电源SOC,支持 SCP、 PD3.0、 UFCS 等快充协议, 支持 2~6 节串联电池, 集成升降压驱动, 最大功率 100W。
        支持多个USB口,寄存器数据种类丰富,可根据自己的需求进行相应的读写操作。

一、功能需求
        这里使用IP5385主要是2路USB-C口做输入输出,1路USB-A口单向输出,输入功率最大30W,输出功率最大65W。
        设备有几种工作状态,输入输出端口的电压电流数据,NTC温度需要从IP5385中获取。
1.1 状态数据
        需要获取的状态:充电、放电状态,根据充放电状态,数码管显示不同的状态;
                                 小电流状态,小电流模式下,数码管显示特定状态;
                                 高温、低温、正常温度状态,温度异常状态下,数码管爆闪。
1.2 实时数据
        当A1口输出时,获取A1口的输出电压,输出电流数据;
        当C1口输入输出时,获取C1口的实时电压、电流数据;
        当C2口输入输出时,获取C1口的实时电压、电流数据;
        获取NTC的ADC值,换算成实际的温度。

二、寄存器读写
        寄存器规格书中并不是每个端口的电压、电路数据都能获取到,有些数据获取的是三个MOS后端的总的数据,下面我们来详细看下数据怎么区分。
2.1 电压数据
        当我们要获取每个端口的电压数据时,发现找不到此寄存器,最后找到一个VSYS电压寄存器,是的,这个就是电路中输入输出端总的电压,电路中具体位置,如下图所示。
   




      这个电压寄存器,可作为C1,C2输入电压、A1,C1,C2输出电压,就是无论输入还是输出的电压,都是从这里流过。
      这里需要读2个寄存器,分别是电压数据高8位和低8位,读上来之后合成为16位数据,再按照规格书中公式换算成实际电压值即可,VSYS电压寄存器如下图所示。
   




2.2 电流数据
2.2.1 输入电流
        电流数据寄存器就比较多了,分为输入电流寄存器,输出电流寄存器。
        只有C1,C2可作为输入端,所以输入电流寄存器只需要读C1,C2端的就可以,但是规格书中只有VBUS端的输入电流寄存器,VBUS端也就是C1端,C2端的输入电流数据寄存器没有,这里只能读VSYS端的电流寄存器。
        把读取的VSYS端的电流寄存器,作为C1,C2端的输入电流,寄存器值如下图所示。
   

2.2.2 输出电流

        A1,C1,C2端口的输出电流,规格书中都有对应的寄存器可读取,分别是VOUT1输出电流寄存器、IVBUS输出电流寄存器、IVIN输出电流寄存器。

        对应的寄存器如下图:

   

2.3 状态寄存器

        状态分为3中:充/放电状态、小电流状态、过温状态。

        那么,对应的状态寄存器需要读取3个:充电状态指示寄存器、输入状态指示寄存器、NTC 状态指示寄存器。

2.3.1 充电状态指示寄存器

        充电状态指示寄存器通过判断bit5的值,bit5为1表示充电状态,为0表示放电状态。

        寄存器值如下图:

   

2.3.2 输入状态指示寄存器

        该寄存器通过判断bit字节的数据,bit3:1-小电流模式,0-正常模式,这个是后期定制增加的,所以规格书中没有显示。

        寄存器值如下图:

   

2.3.3 NTC 状态指示寄存器

        过温状态通过判断此寄存器的bit6,bit7字节,来确定是NTC高温保护,还是低温保护。

        寄存器值如下图:

   

三、代码实现

        通过以上,我们可以知道主控对于IP5385的操作基本只有读数据操作,所以,我们只需要IIC通信的读数据操作就可以,这里代码例程以某一个寄存器读取为例。

        寄存器宏定义代码如下:

   


    IIC读取状态寄存器代码例程如下:

   

     IIC读数据寄存器代码例程如下:

   

   四、总结

        综上,我们获取了这么多IP5385的寄存器数据,代码实现时需做好模块化设计,建议采用状态机+定时器的模式去设计,所有的寄存器地址采用宏定义,增加代码可读性。


---------------------
作者:liao6
链接:https://bbs.21ic.com/icview-3512724-1-1.html
来源:21ic.com
此文章已获得原创/原创奖标签,著作权归21ic所有,任何人未经允许禁止转载。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值