英集芯-IP5385 IIC通信异常原因深入分析及解决方案 21

简介

IP5385是英集芯的一款充电管理IC,支持 SCP、 PD3.0、 UFCS 等快充协议, 支持 2~6 节串联电池, 集成升降压驱动, 最大功率 100W 的移动电源 SOC。

我们这里的应用是55W快充,具体的详细参数如下:

输入规格:Type-C1/Type-C2 (5V/3A,9V/3A,12V/2.5A,15V/2A,20V/1.5A);

输出规格为:Type-C1/Type-C2 : 5V3A 9V3A 10V2.25A 12V3A 15V3A 20V2.25A 5-11V5A,5~20V/2.5A;

USB-A: 10V2.25A 5V3A 9V2.0A 12V1.5A, C1+C2+A: 5V3A。

我们在产品调试过程中发现一个奇怪的问题,这里做一下简单的总结,和大家分享一下。

一、发现问题

我们这里的应用场景是一主两从,主机是MCU,从机一个是IP5385,另一个是其他IC。

我们遇到的奇怪的问题现象是这样的:首先,MCU读的IP5385寄存器数据都是正常的,包括充放电状态、小电流状态、快充状态、电压、电流、NTC等都正常,打印出来看到的数据可以看得出来,但是逻辑分析仪抓取的IP5385的寄存器数据确实有问题的,很奇怪,这是无意中发现的。

奇怪的数据如下:

这里的0xEA就是IP5385的写地址,这里都是读寄存器,正常来说写地址之后,就是寄存器地址,然后是读地址,读出来的寄存器数据,但是,IP5385的寄存器数据所有都是写地址之后,是寄存器地址,紧接着却是写进去数据了,而且还是ACK应答,奇怪吧,从业这么多年还是第一次遇到呢。

详细的寄存器数据如下:

但是,转折来了,另一个从机IC的IIC通信却是正常的,寄存器读取都是OK,下面把寄存器数据贴出来,对比看看。

此刻,脑袋里呈现黑人问号,纳尼,这啥情况?下面我们跟着思路分析一波。

二、分析问题

根据个人经验,这有可能是时序有问题,于是,用示波器抓波形分析。

示波器抓取波形数据如下:

从波形来看时序和数据都是OK的,这是软件模拟的IIC,所以波形没有那么精准。但看起来都是正常的,分析到此时,没有了思路。

别慌,这时候千万要稳住,以往的经历告诉我,遇到再大的难题,千万不要着急,最终问题都会被解决,信心很重要。

好了,我们来回顾一下问题点。IP5385寄存器读取打印OK,逻辑分析仪抓取异常,另一个从机打印数据OK,逻辑分析仪抓取OK,那么差异点在逻辑分析抓取数据这里,通过时序来看IP5385写寄存器地址之后,本来应该读的,直接开始写了,噢,为什么没有读呢?难道时序出了问题?

经验告诉我,遇到奇怪问题难以分析时,去看规格书,一行一行认真看,答案就藏在规格书中某一行文字中。

于是,我开始看IP5385的寄存器规格书,一行一行看。

终于,我找到了这样几行文字,还是标红的,说明很重要,如下图:

我接着往下看,看到有一个寄存器读取的示例,如下图:

再对比看看自己的驱动波形,嗯,于是,心中有了解决思路,开始动手调试验证。

三、解决问题

首先,我们按照规格书提供的示例,调试IIC驱动,在发送从机写地址、片内地址、读地址的后面加一个延时50us。

IIC通信时序按照规格书修改,如下图:

改完之后,烧录程序验证,用逻辑分析仪抓取数据,哎,发现数据正常了,这个寄存器数据看起来是那么优美,就像我此刻的心情一样,美美哒。

单个数据正常的截图如下:

逻辑分析仪抓取寄存器读取如下图:

四、总结

通过这个时序问题的发现、解决过程,说明一个现象,问题往往出在很小的地方,所以,各位Engineer,遇到问题不要慌,思路要清晰,在没有头绪的时候看看规格书,总会找到答案。

还有一点,我们在做项目的时候,一定要认真对待,要有敬畏之心,每一个项目都要尽全力去做,每一个问题都要刨根问题,日积月累,必有所得。

相关推荐
XINVRY-FPGA10 小时前
XC7A100T-2CSG324I AMD Xilinx Artix-7 FPGA
arm开发·人工智能·嵌入式硬件·神经网络·fpga开发·硬件工程·fpga
Szime10 小时前
四通道高速ADC国产替代:14位500MSPS深智微科技选型参考
科技·单片机·嵌入式硬件·fpga开发
嵌入式小站11 小时前
STM32 可移植教程 01:VSCode 环境搭建 + 点亮 LED(实战篇)
vscode·stm32·嵌入式硬件
guygg8811 小时前
STM32正交编码器接口指南
stm32·单片机·嵌入式硬件
lin1353806757311 小时前
AH810L输入 48~54V 转 5V/100mA 完整方案
嵌入式硬件·物联网
星夜夏空9911 小时前
STM32单片机学习(36) —— RTC
stm32·单片机·学习
森利威尔电子-11 小时前
森利威尔 SL3042 | 9V-120V 宽压输入 1.25-50V 可调输出 峰值 10A 电源芯片
单片机·嵌入式硬件·电源芯片·降压恒压芯片
金线银线还是铜线?11 小时前
国产微能量收集PMIC芯片MF9005/MF9006如何选型?
嵌入式硬件·物联网·太阳能
Szime21 小时前
高速 ADC 国产替代选型:通信、雷达、仪器仪表项目要看哪些参数?
单片机·嵌入式硬件·fpga开发
菜鸟的学习日记、1 天前
GPIO的几种模式——以STM32为例
stm32·单片机·嵌入式硬件·gpio