【本文发布于https://blog.csdn.net/Stack_/article/details/157063794,未经允许不得转载,转载须注明出处】
一、硬件

IIC通讯只有在单电阻模式下才会启用。
如果CFG1下拉10K电阻,CFG2、CFG3和MCU连接,插上充电器瞬间就输出9V了而且IIC功能是不可用的,也就是说要使用IIC功能则CFG1下拉电阻必须是手册中列出的电阻值,否则会进入"IO电平配置"模式。
这就存在一个问题:单电阻模式没有5V输出的配置,在开始进行IIC通信的时候就已经输出9V或以上电压了。如有必要,添加一个PMOS进行控制电压输出
CC1 CC2无需5.1K下拉,CH224内部已集成。

二、读取Source端即充电器端信息

这是PowerZ读取到的信息,开头2字节是信息头,后面每4个字节对应一个PDO,对应CH224A的0x60~0x8F寄存器,均为小端字节序
1、Header [CH224的0x60、0x61寄存器]


这里我们重点关注bit[14:12],知道有多少个PDO就知道后面有多少字节有效数据
2、PDOx [CH224的0x62-0x65、0x66-0x69、...]

每个PDO高两位指示该档位是固定电压还是PPS

固定电压则按此格式进行解析

PPS则按此格式进行解析

按以上协议解析PowerZ读取到的数据,和PowerZ解析的结果是吻合的
三、单片机读取与控制
IIC通信就是通用的时序,这个没什么好讲的。

将所有寄存器值读出,0x60寄存器开始可以看到有2字节Header和7个PDO

解析Source信息
读取到有效的PDO之后向0x0A和0x53写数据即可调整输出电压