高通Quick Charge高速充电原理分析
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高速充电原理分析的更多相关文章
- 高通spi 屏幕 -lk代码分析
lk SPI驱动 1. 初始化时钟 在lk中,我们是从kmain开始执行下来的,而执行顺序则是先初始化时钟,也就是在platform_early_init函数中开始执行的: 在这里我们需要修改这个函数 ...
- 高通 android平台LCD驱动分析
目前手机芯片厂家提供的源码里包含整个LCD驱动框架,一般厂家会定义一个xxx_fb.c的源文件,注册一个平台设备和平台驱动,在驱动的probe函数中来调用register_framebuffer(), ...
- [转帖]高通推出八核笔电处理器骁龙8cx 能超英特尔吗?
高通推出八核笔电处理器骁龙8cx 能超英特尔吗? https://baijiahao.baidu.com/s?id=1619154699684981202&wfr=spider&for ...
- 高通 QC协议 谷歌 PD协议
高通 QC协议 谷歌 PD协议 上述协议是两款充电协议 现在已经应用于智能设备的充电中了 https://jingyan.baidu.com/article/7908e85cb04b1baf48 ...
- 高通cDSP简单编程例子(实现查询高通cDSP使用率、签名),RK3588 npu使用率查询
PS:要转载请注明出处,本人版权所有. PS: 这个只是基于<我自己>的理解, 如果和你的原则及想法相冲突,请谅解,勿喷. 前置说明 本文作为本人csdn blog的主站的备份.(Bl ...
- 高通Android display架构分析
目录(?)[-] Kernel Space Display架构介绍 函数和数据结构介绍 函数和数据结构介绍 函数和数据结构介绍 数据流分析 初始化过程分析 User Space display接口 K ...
- 高通Android display分析【转】
本文转载自:http://blog.csdn.net/zhangchiytu/article/details/6777039 高通7系列硬件架构分析 如上图,高通7系列 Display的硬件部分主要由 ...
- 【转】高通平台android 环境配置编译及开发经验总结
原文网址:http://blog.csdn.net/dongwuming/article/details/12784535 1.高通平台android开发总结 1.1 搭建高通平台环境开发环境 在高通 ...
- 高通、猎户机型Android典型bootloader分析
1.bootloader是什么? 简单地说,bootloader 就是在操作系统内核运行之前运行的一段小程序.通过这段小程序,我们可以初始化硬件设备.建立内存空间的映射图,从而将系统的软硬件环境带到一 ...
随机推荐
- solr6.6 配置自带中文分词
1.配置solrconfig.xml solr的自带中文分词包在solr-6.6.0\contrib\analysis-extras\lucene-libs下 修改solrconfig.xml增加 & ...
- 深入浅出 消息队列 ActiveMQ (转)
启动成功就可以访问管理员界面:http://localhost:8161/admin,默认用户名和密码admin/admin.如果你想修改用户名和密码的话,在conf/jetty-realm.prop ...
- pcap学习
#include <pcap.h> char errbuf[PCAP_ERRBUF_SIZE]; pcap_t *pcap_open_live(const char *device, in ...
- 在线激活Pycharm(亲测有效)
(1)在激活界面的License server输入:http://idea.liyang.io:或者:点击help→Register→License sever ,输入http://idea.liya ...
- windows / Linux 远程桌面访问全面总结 / 共享文件
一般来说,ssh 是指无图形界面形式,是命令行的方式. 速度快. vnc 是的是图形界面形式. 速度慢. ssh 方式登陆: 1.windows ...
- python 爬取王者荣耀高清壁纸
代码地址如下:http://www.demodashi.com/demo/13104.html 一.前言 打过王者的童鞋一般都会喜欢里边设计出来的英雄吧,特别想把王者荣耀的英雄的高清图片当成电脑桌面 ...
- svn命令行版本回滚
下面以版本号2011回滚到2010为例,在命令行输入: svn merge --dry-run -r 2011:2010 http://my.repository.com/my/project/tru ...
- 插入数据返回插入的主键Id
ADO.Net中Sql语句: insert into RoomType(TypeName,Price,AddBed,BedPrice,Remark)output inserted.ID values( ...
- silverlight RadGridView总结三(转载)
在RadGridView中进行分组以及导出 分组 主要是在前台进行分组的定义: 前台代码: <telerik:RadGridView x:Name="RadGridView1" ...
- ZooKeeper_基础知识学习
ZooKeeper是Hadoop的开源子项目(Google Chubby的开源实现),它是一个针对大型分布式系统的可靠协调系统,提供的功能包括:配置维护.命名服务.分布式同步.组服务等. Zookee ...