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

最新文章

  1. 耿丹CS16-2班第三次作业汇总
  2. 第一个python程序
  3. silverlight导出excel
  4. ORM艰辛路之EF
  5. Python字符串操作
  6. 在DataList、Repeater的HeaderTemplate和FooterTemplate模板中寻找控件FindControl
  7. Web前端年后跳槽必看的各种面试题
  8. .NET MVC通过反射获取数据修改历史记录,并插入数据表中
  9. left join 和 left outer join 的区别
  10. MariaDB多源复制环境搭建(多主一丛)
  11. Android仿微信朋友圈图片浏览器(支持图片手势缩放,拖动)
  12. java--加强之 Java5的线程并发库
  13. 好程序员web前端分享值得参考的css理论:OOCSS、SMACSS与BEM
  14. 【AtCoder】【思维】【图论】Splatter Painting(AGC012)
  15. winreg操作windows注册表详解示例
  16. Git+Gitlab+Ansible的roles实现一键部署Nginx静态网站(一)--技术流ken
  17. Spring Boot项目中使用Swagger2
  18. kubernetes 二
  19. AngularJS 最常用指令的功能
  20. iOS:判断引导页首次出现、版本更新

热门文章

  1. struts2文件上传时获取上传文件的大小
  2. asp.net权限控制的方式
  3. Idea闪退问题-内存不能给太大
  4. 协程基础_context系列函数
  5. Struts Spring Plugin注意点
  6. zabbix监控redis的key值
  7. python机器学习-逻辑回归
  8. 如何修改两个PHP版本,php-v和phpinfo两个不同的版本
  9. Atitit.文件搜索工具 attilax 总结
  10. stylelint — css书写规范