沁恒PD协议诱骗芯片CH224A/CH224Q--IIC研究(0x60~0x8F)

【本文发布于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寄存器


这里我们重点关注bit14:12,知道有多少个PDO就知道后面有多少字节有效数据

2、PDOx CH224的0x62-0x65、0x66-0x69、...


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


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


PPS则按此格式进行解析


按以上协议解析PowerZ读取到的数据,和PowerZ解析的结果是吻合的

三、单片机读取与控制

IIC通信就是通用的时序,这个没什么好讲的。


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


解析Source信息

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

相关推荐
FPGA小徐8 小时前
STM32五路气敏传感器阵列电路详解:从HHC1000分压到AD8606跟随器和ADC采样
stm32·单片机·嵌入式硬件
Horn Still Sounds10 小时前
IMX6ULL裸机|I2C通信协议 + ADC模数转换学习笔记
arm开发·笔记·单片机·嵌入式硬件
女神下凡14 小时前
芯参谋(26):DDR4_软件设计规范
arm开发·单片机·嵌入式硬件
ACP广源盛1392462567316 小时前
高密度多盘存储扩展方案选型笔记|PCIe 转 SATA 桥接芯片 YLB3118@ACP 评估
硬件架构·硬件工程·国产芯片·sata
AOI小白新手上路17 小时前
韦东山 3-5 I.MX6ULL 的 LED 编程 · 学习笔记
arm开发·笔记·单片机·学习·架构·硬件架构
xingzhemengyou117 小时前
STM32对函数进行CRC校验
stm32·单片机·嵌入式硬件
FPGA小徐17 小时前
STM32引脚详解:PC13-TAMPER-RTC 多功能复用引脚完全剖析(踩坑+配置+布线)
单片机·嵌入式硬件
铅笔小新z17 小时前
【stm32】中断与异常
stm32·单片机·嵌入式硬件
沐欣工作室_lvyiyi18 小时前
无线遥控电动阀门开关模块设计(论文+源码)
单片机·无线遥控
番茄灭世神19 小时前
PN学堂GD32教程第11篇——I2C与EEPROM
c语言·stm32·单片机·嵌入式·gd32