沁恒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寄存器]


这里我们重点关注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写数据即可调整输出电压

相关推荐
嵌入式Q8 小时前
FreeRTOS源码解析(4)任务状态查询
stm32·单片机·freertos
危桥带雨12 小时前
Freertos——使用队列集优化数据传输
stm32·单片机·嵌入式硬件·freertos
来生硬件工程师12 小时前
【程序库】 MutiButton 按键库
c语言·笔记·stm32·单片机·mcu·嵌入式实时数据库
sweetone12 小时前
好帅(HOST) HS-AF01T电烤炉(空气炸锅)的小修及物联网设备的安全思考
经验分享·单片机·嵌入式硬件·物联网
多看多敲多思考12 小时前
华润微CS32ME10 MCU使用教程(1)---CS32ME10之GPIO使用
c语言·stm32·单片机·嵌入式硬件·mcu
小谦325112 小时前
第十一篇、CubeMX | 可见光谱颜色传感器 AS7341
单片机·嵌入式硬件
黑白园12 小时前
STM32 printf函数重定向到USATR1输出打印
stm32·单片机·嵌入式硬件
踏着七彩祥云的小丑13 小时前
嵌入式——认识电子元器件——温度保险丝系列
单片机·嵌入式硬件
12.=0.13 小时前
【stm32_6.1】串行异步接口USART,串口的原理和应用
c语言·stm32·单片机·嵌入式硬件
雅斯驰14 小时前
4Gbit密度+16位总线宽度:H5AN4G6NBJR-UHC在DDR4成熟期的产品定位
运维·单片机·嵌入式硬件·物联网·自动化