目录
一、充电系统框图
之前一直对充电的调试有了解,这次经过一个案子,对最新的充电技术和方案有所了解。现记录一下。
充电框图
几个关键的概念:
1.PD的输出电流,电压, 他的对象是 充电IC,PD Out ===>> Charge IN
2.充电IC 的input 输入电流, input 输入电压,解决充电的能量源头问题
输入电流限制,输入电压限制,保护充电芯片
3.充电IC对电池的输出电流,输出电压,包含 预充电,恒流,恒压充
二、充电相关原理




整个过程分两个阶段,所协商的电压和电流也各不相同;所以在代码的时候,需要注意。
三、代码跟踪的过程
3-1、DTS配置及修改

Dsti修改电流电压
sink-pdos =
<PDO_FIXED(5000, 2000, PDO_FIXED_USB_COMM)
PDO_FIXED(9000, 2000, PDO_FIXED_USB_COMM)>;
//PDO_FIXED(12000, 2000, PDO_FIXED_USB_COMM)>;
source-pdos =
<PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>;
sink-pdos是指我们做sink(耗电方,即外接充电器)时候的充电能力,一般包括电压和电流。
source-pods是指我们做充电方对外充电的时候支持的pd充电能力,这个5000和1000是代表5v-1a。
3-2、源代码分析

充电IC保护电流和电压

初始化充电电流






pd 和充电IC之间的关联代码:
static int husb311_probe(struct i2c_client *client,
chip->tcpci = tcpci_register_port(chip->dev, &chip->data);
tcpci->port = tcpm_register_port(tcpci->dev, &tcpci->tcpc);
err = devm_tcpm_psy_register(port);
port->psy = devm_power_supply_register(port->dev, &port->psy_desc,
&psy_cfg);

解决patch下载
本文介绍了USB PD充电系统的框架,详细讲解了充电过程中电压、电流的协商原理,并通过DTS配置和源代码分析阐述了充电IC的电流、电压限制以及保护机制。在代码跟踪部分,展示了如何配置DTS以设定充电能力和进行源代码分析来理解PD充电过程中的电流、电压控制。
&spm=1001.2101.3001.5002&articleId=126381554&d=1&t=3&u=e21da83e22b04a458776cf82e97ff033)
4107

被折叠的 条评论
为什么被折叠?



