1 QC 2.0

1.1 高通Quick Charge 2.0 高速充电原理分析

高通的QC2.0高速充电须要手机端和充电器都要支持才行。

当将充电器端通过数据线连到手机上时,充电器默认的是将D+和D-短接的,这样手机端探測充电器类型是DCP(參见本人还有一篇博文《高通平台USB2.0和3.0接口充电器识别原理》)。手机以默认的5V电压充电,接着步骤例如以下:

1) 假设手机端使能了高速充电协议。Android用户空间的hvdcp(high voltage dedicated charger 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-上的电压后,就调整充电器输出电压。详细D+和D-上的电压和充电器输出电压相应如Table 1-1所看到的:

Table1-1

注意:当DP=0.6 V,而DM=3.3 V时。表示Quick Charge将进入continuous mode(也就是QC3.0模式)。

參考 smbchg_prepare_for_pulsing()。

1.2 Parallel Charging

Question: 单独的PMI8952的充电最大电流是多大?

Answer:

单独PMI8952最大充电电流是2.0+A。可是实际电流应该不到2A,主要是依赖于PCB板子的布局和thermal等參数强相关。

Question: 假设採用并行充电。那么PMI8952的充电电流一般多大呢?是自己主动的?还是能够指定的?

Answer:

假设是并行充电,PMI和SMB组合最大3.0A左右。自己主动调节各个通道的电流。

2 QC 3.0

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

QC 2.0提供5V、9V、12V和20V四档充电电压,QC 3.0则以200 mV为步幅,提供从3.6 V到20 V电压的灵活选择。

採用 QC 3.0时。便携式设备通过USB接口的D+和D-信号提交电压选择请求,在同一时间可能有不规律的USB数据通信。

关于QC3.0支持的总线电压(VBUS) 范围,A级为3.6 V至12 V。B级为3.6 V至20 V。QC 3.0在分立模式下等同于QC 2.0,以0 V、0.6 V、3.3 V三级逻辑通过静态D+/D- 值选择VBUS;在连续模式下,新的QC 3.0以200
mV小步幅添加或减少VBUS,让便携式设备选择最适合的电压达到理想充电效率。更具灵活性,其最大负载电流限制为3 A,最高功率可达60 W。

实际产品中都是最大18W(能够觉得是9V * 2A)。与QC 2.0是一样的。

Table 2-1 QC 3.0 Spec

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

3 QC 4.0

QC 4.0也增加了“智能最佳电压技术”(INOV)。而且增加USB PD支持。

相比QC 3.0  200mV的步进电压调节档位。QC 4.0将会进一步优化INOV算法。将调节精度做到了10mV,比上代提了近20倍精度。将充电最高功率调整到28W,方案设计为5V/4.7A~5.6A和9V/3A,舍弃了12V的设计。且步进电压调整为10mV。如此大的电流值。步进电压将调整为10mV。这相对于如今的200mV是一个很大的进步。

4 Acronym

POWER_SUPPLY_DP_DM_DPR_DMR: R means Remove

POWER_SUPPLY_DP_DM_DPF_DMF: F means Floated, High-Z

高通Quick Charge高速充电原理分析的更多相关文章

  1. 高通spi 屏幕 -lk代码分析

    lk SPI驱动 1. 初始化时钟 在lk中,我们是从kmain开始执行下来的,而执行顺序则是先初始化时钟,也就是在platform_early_init函数中开始执行的: 在这里我们需要修改这个函数 ...

  2. 高通 android平台LCD驱动分析

    目前手机芯片厂家提供的源码里包含整个LCD驱动框架,一般厂家会定义一个xxx_fb.c的源文件,注册一个平台设备和平台驱动,在驱动的probe函数中来调用register_framebuffer(), ...

  3. [转帖]高通推出八核笔电处理器骁龙8cx 能超英特尔吗?

    高通推出八核笔电处理器骁龙8cx 能超英特尔吗? https://baijiahao.baidu.com/s?id=1619154699684981202&wfr=spider&for ...

  4. 高通 QC协议 谷歌 PD协议

    高通  QC协议  谷歌  PD协议 上述协议是两款充电协议 现在已经应用于智能设备的充电中了 https://jingyan.baidu.com/article/7908e85cb04b1baf48 ...

  5. 高通cDSP简单编程例子(实现查询高通cDSP使用率、签名),RK3588 npu使用率查询

    PS:要转载请注明出处,本人版权所有. PS: 这个只是基于<我自己>的理解, 如果和你的原则及想法相冲突,请谅解,勿喷. 前置说明   本文作为本人csdn blog的主站的备份.(Bl ...

  6. 高通Android display架构分析

    目录(?)[-] Kernel Space Display架构介绍 函数和数据结构介绍 函数和数据结构介绍 函数和数据结构介绍 数据流分析 初始化过程分析 User Space display接口 K ...

  7. 高通Android display分析【转】

    本文转载自:http://blog.csdn.net/zhangchiytu/article/details/6777039 高通7系列硬件架构分析 如上图,高通7系列 Display的硬件部分主要由 ...

  8. 【转】高通平台android 环境配置编译及开发经验总结

    原文网址:http://blog.csdn.net/dongwuming/article/details/12784535 1.高通平台android开发总结 1.1 搭建高通平台环境开发环境 在高通 ...

  9. 高通、猎户机型Android典型bootloader分析

    1.bootloader是什么? 简单地说,bootloader 就是在操作系统内核运行之前运行的一段小程序.通过这段小程序,我们可以初始化硬件设备.建立内存空间的映射图,从而将系统的软硬件环境带到一 ...

随机推荐

  1. 【proxy agent资料】

    参考资料: GoAgent使用方法, 2015年最新FQ方法总结:http://www.bianlei.com/we-wanna-see-the-world/ 配置Android支持GAE Proxy ...

  2. java 压缩和解压zip包

    网上有关压缩和解压zip包的博文一大堆,我随便找了一个.看了看,依照自己的须要改动了一下,与各位分享一下,希望各位大神指正: package com.wangpeng.utill; import ja ...

  3. centos7,py2和py3共存

    1.查看是否已经安装Python CentOS 7.2 默认安装了python2.7.5 因为一些命令要用它比如yum 它使用的是python2.7.5. 使用 python -V 命令查看一下是否安 ...

  4. Linux——.bash_profile和.bashrc的区别(如何设置生效)

    /etc/profile:此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行.并从/etc/profile.d目录的配置文件中搜集shell的设置./etc/bashrc:为每一个运 ...

  5. BZOJ 1016 JSOI 2008 最小生成树计数 Kruskal+搜索

    题目大意:给出一些边,求出一共能形成多少个最小生成树. 思路:最小生成树有非常多定理啊,我也不是非常明确.这里仅仅简单讲讲做法.关于定各种定理请看这里:http://blog.csdn.net/wyf ...

  6. 【DB2】对两列分组之后判断另外一列是否有重复

    建立表数据如下: ),sex ),sex_nm ),OWER ),TYPE ),TYPE_NM )); ,','水果'), (,','水果'), (,','水果'), (,','水果'), (,',' ...

  7. 语言那点事,crt

    C语言标准(不管是ANSI 还是ISO)包含2部分,一部分是语言本身的标准,另一部分是C标准函数库.C标准函数库规定了函数的原型和功能,但是并没限定这些函数要怎么实现.所谓满足标准C规定的C编译器,不 ...

  8. 通过Jenkins部署java项目

    部署java项目-创建私有仓库 Jenkins大多数情况下都是用来部署Java项目,Java项目有一个特点是需要编译和打包的,一般情况下编译和打包都是用maven完成,所以系统环境中需要安装maven ...

  9. destoon二次开发基础指南

    代码首先包含common.inc.php文件 在common.inc.php文件中,首先定义常量. define('IN_DESTOON', true); define('IN_ADMIN', def ...

  10. 无线网络RSSI、SSID、BSSID

    获取无线网络,及无线网络的参数之前,我们先了解一下RSSI,SSID和BSSID分别是什么,当然你可以去百度或者维基百科查阅,我这里只是简单的说明一下.RSSI就是无线网络的信号强度,这个是和无线AP ...