高通Quick Charge快速充电原理分析

2023-10-24 15:04

本文主要是介绍高通Quick Charge快速充电原理分析,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1 三段式AC充电器
涓流、恒流、恒压。

2 QC 2.0
2.1 高通Quick Charge 2.0 快速充电原理分析
QC 2.0快速充电需要手机端和充电器都支持才行。
当将充电器端通过数据线连到手机上时,充电器默认的是将D+和D-短接的,这样手机端探测到的充电器类型是DCP(参见本人另一篇博文《高通平台USB 2.0和USB 3.0接口充电器识别原理》),手机以默认的5V电压充电,接着过程如下:
(1)如果手机端使能了快速充电协议,Android用户空间的hvdcp(high voltage dedicated charging port)进程启动,并且在D+上加载0.325V的电压维持超过1.25s上;
(2)充电器检测到D+上电压0.325V维持超过了1.25s,就断开D+和D-的短接,由于D+和D-断开,所以D-上的电压不再跟随D+上的电压0.325V变动,此时开始下降;
(3)手机端检测到D-上的电压从0.325V开始下降维持1ms以上时,hvdcp读取/sys/class/power_supply/usb/voltage_max的值,如果是9000000uV,就设置D+上的电压为3.3V,D-上 的电压为0.6V,否则设置D+为0.6V,D-为0V;
(4)充电器检测到D+和D-上的电压后,就调整充电器端的输出电压。
Table 2-1 QC 2.0充电握手协议

注意:
当DP=3.3V,而DM=3.3V時,充電頭輸出20V。
当DP=0.6V,而DM=3.3V时,表示QC将进入continuous mode(也就是QC 3.0模式)。
- 参考 smbchg_prepare_for_pulsing()。

2.2 Parallel Charging
Question:单独的PMI8952的充电最大电流是多大?
Answer:单独PMI8952最大充电电流是2.0+A,但是实际电流应该不到2A,主要是依赖于PCB板子的布局和thermal等参数强相关。

Question:如果采用并行充电,那么PMI8952的充电电流一般多大呢?是自动的?还是可以指定的?
Answer:如果是并行充电,PMI和SMB组合最大3.0A左右,自动调节各个通道的电流。

3 QC 3.0
QC 3.0的主要优势是可优化手机内的DC/DC效率:
(1)消除了QC 2.0中固有的会在电压切换时造成的手机发热问题;
(2) QC 3.0通过移除手机DC/DC转换器还可简化无线充电器架构,QC 3.0可大大降低DC/DC转换电路的损耗,从而有效缓解了快充时的发热问题。

由于全面使用了Type-C接口取代原来的MicroUSB接口,QC 3.0最大电流也提升到了3A,因为电压更低所以效率提升最高达38%,充电速度提升27%,发热降低45%。

QC 2.0提供5V、9V、12V和20V四档充电电压,QC 3.0则以200mV为步幅,提供从3.6V到20V电压的灵活选择。采用 QC 3.0时,便携式设备通过USB接口的D+和D-信号提交电压选择请求,在同一时间可能有不规律的USB数据通信。关于QC 3.0支持的总线电压(VBUS) 范围,A级为3.6V至12V,B级为3.6V至20V。QC 3.0在分立模式下等同于QC 2.0,以0V、0.6V、3.3V三级逻辑通过静态D+/D- 值选择VBUS;在连续模式下,新的QC 3.0以200mV小步幅增加或降低VBUS,让便携式设备选择最适合的电压达到理想充电效率,更具灵活性,其最大负载电流限制为3A,最高功率可达60W。

实际产品中都是最大18W(可以认为是9V * 2A),与QC 2.0是一样的。
Table 3-1 QC 3.0充电握手协议

识别顺序:先是5V时电流1.2A,然后电压升到9V,电流下降到0.2A(HVDCP_ICL_VOTER),之后电压降到5V,电流不变;最后电压和电流同时上升,稳定在7V @ 2.2A左右,功率到15~17W左右,这个识别过程大概15秒。

4 QC 4.0
QC 4.0基于USB PD 3.0 PPS。
QC 4.0加入了“智能最佳电压技术”(INOV),并且加入USB PD支持。相比QC 3.0  200mV的步进电压调节档位,QC 4.0进一步优化INOV算法,将调节精度做到了20mV (注:USB PD的电流调节步长是50mA),比上代提了近10倍精度。将充电最高功率调整到28W,方案设计为5V/4.7A~5.6A和9V/3A,舍弃了12V的设计。

5 Acronym
POWER_SUPPLY_DP_DM_DPR_DMR:R means Remove
POWER_SUPPLY_DP_DM_DPF_DMF:F means Floated,High-Z
HVDCP-OPTI:High Voltage Dedicated Charging Port - OPTImization

ARC:Argonant RISC Core
AT91SAM9260:SAM means Smart ARM-based Microcontroller
ATMEL SAMBA:ATMEL Smart ARM-based Microcontroller Boot Assistant
CC2530:TI ChipCon2530
DWC2:Design Ware Controller 2,Apple的嵌入式设备,包括iPad和iPhone都是使用的DWC2
ISP1161:Philips' Integrated host Solution Pairs 1161,“Firms introduce USB host controllers”,https://www.eetimes.com/document.asp?doc_id=1290054
Quirks:the attributes of a device that are considered to be noncompliant with expected operation
SL811HS:Cypress/ScanLogic 811 Host/Slave,性能上与ISP1161(Integrated host Solution Pairs 1161)相当
TDI:TransDimension Inc.,该公司首先发明了将TT集成到EHCI RootHub中的方法,这样对于嵌入式系统来说,就省去了OHCI/UHCI的硬件,同时降低了成本,作为对该公司的纪念,Linux内核定义了宏ehci_is_TDI(ehci);产品UHC124表示USB Host Controller;收购了ARC USB技术;现已被chipidea收购,chipidea又被mips收购
TLV:TI Low Value,高性价比
TPS:TI Performance Solution
TT:Transaction Translator(事务转换器,将USB2.0的包转换成USB1.1的包)

这篇关于高通Quick Charge快速充电原理分析的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/275980

相关文章

C++ Sort函数使用场景分析

《C++Sort函数使用场景分析》sort函数是algorithm库下的一个函数,sort函数是不稳定的,即大小相同的元素在排序后相对顺序可能发生改变,如果某些场景需要保持相同元素间的相对顺序,可使... 目录C++ Sort函数详解一、sort函数调用的两种方式二、sort函数使用场景三、sort函数排序

kotlin中const 和val的区别及使用场景分析

《kotlin中const和val的区别及使用场景分析》在Kotlin中,const和val都是用来声明常量的,但它们的使用场景和功能有所不同,下面给大家介绍kotlin中const和val的区别,... 目录kotlin中const 和val的区别1. val:2. const:二 代码示例1 Java

Java编译生成多个.class文件的原理和作用

《Java编译生成多个.class文件的原理和作用》作为一名经验丰富的开发者,在Java项目中执行编译后,可能会发现一个.java源文件有时会产生多个.class文件,从技术实现层面详细剖析这一现象... 目录一、内部类机制与.class文件生成成员内部类(常规内部类)局部内部类(方法内部类)匿名内部类二、

Go标准库常见错误分析和解决办法

《Go标准库常见错误分析和解决办法》Go语言的标准库为开发者提供了丰富且高效的工具,涵盖了从网络编程到文件操作等各个方面,然而,标准库虽好,使用不当却可能适得其反,正所谓工欲善其事,必先利其器,本文将... 目录1. 使用了错误的time.Duration2. time.After导致的内存泄漏3. jsO

使用Python实现快速搭建本地HTTP服务器

《使用Python实现快速搭建本地HTTP服务器》:本文主要介绍如何使用Python快速搭建本地HTTP服务器,轻松实现一键HTTP文件共享,同时结合二维码技术,让访问更简单,感兴趣的小伙伴可以了... 目录1. 概述2. 快速搭建 HTTP 文件共享服务2.1 核心思路2.2 代码实现2.3 代码解读3.

springboot security快速使用示例详解

《springbootsecurity快速使用示例详解》:本文主要介绍springbootsecurity快速使用示例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝... 目录创www.chinasem.cn建spring boot项目生成脚手架配置依赖接口示例代码项目结构启用s

Python中随机休眠技术原理与应用详解

《Python中随机休眠技术原理与应用详解》在编程中,让程序暂停执行特定时间是常见需求,当需要引入不确定性时,随机休眠就成为关键技巧,下面我们就来看看Python中随机休眠技术的具体实现与应用吧... 目录引言一、实现原理与基础方法1.1 核心函数解析1.2 基础实现模板1.3 整数版实现二、典型应用场景2

Java的IO模型、Netty原理解析

《Java的IO模型、Netty原理解析》Java的I/O是以流的方式进行数据输入输出的,Java的类库涉及很多领域的IO内容:标准的输入输出,文件的操作、网络上的数据传输流、字符串流、对象流等,这篇... 目录1.什么是IO2.同步与异步、阻塞与非阻塞3.三种IO模型BIO(blocking I/O)NI

Spring事务中@Transactional注解不生效的原因分析与解决

《Spring事务中@Transactional注解不生效的原因分析与解决》在Spring框架中,@Transactional注解是管理数据库事务的核心方式,本文将深入分析事务自调用的底层原理,解释为... 目录1. 引言2. 事务自调用问题重现2.1 示例代码2.2 问题现象3. 为什么事务自调用会失效3

找不到Anaconda prompt终端的原因分析及解决方案

《找不到Anacondaprompt终端的原因分析及解决方案》因为anaconda还没有初始化,在安装anaconda的过程中,有一行是否要添加anaconda到菜单目录中,由于没有勾选,导致没有菜... 目录问题原因问http://www.chinasem.cn题解决安装了 Anaconda 却找不到 An