英集芯-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,遇到问题不要慌,思路要清晰,在没有头绪的时候看看规格书,总会找到答案。

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

相关推荐
小程序设计16 小时前
本科毕设避坑|大数据 / 单片机物联网 / 网络工程 / PLC / 机械设计选题与落地心得
java·hive·hadoop·单片机
Zwawa21 小时前
把按键和 LED 状态显示出来:第一次看见程序到底在干什么
单片机·嵌入式
小程序设计21 小时前
基于STM32的办公室智能空气净化系统设计
stm32·单片机
不悔哥6 天前
开源OV-Watch:怎么做一个智能手表
单片机·开源·嵌入式
XiHongShi20166 天前
STM32F407 RTC定时器例程,建议保存
stm32·单片机·学习
深圳老胡6 天前
STM32F407 控制 L6470 步进电机驱动 —— 控制过程简介
笔记·stm32·单片机·嵌入式硬件·代码规范
女神下凡6 天前
嵌入式设计的各种存储芯片的硬件/软件设计规范,非常全面。
arm开发·单片机·嵌入式硬件
梅梅9666 天前
一款mipi转lvds的lcd调试(LT8912B)
单片机·计算机外设·电脑·显示器·pd芯片
开发笔记-阿牛6 天前
蓝牙音乐灯拆解,又一次拆到蓝牙音乐灯芯片CK6865L
人工智能·单片机·嵌入式硬件·音视频·音频
从零开始的嵌入式之旅6 天前
day47
arm开发·经验分享·笔记·嵌入式硬件