• BC1.2 PD协议


    一、BC1.2

    BC1.2 (Battery Charging v1.2)是USB-IF下属的BC(Battery Charging)小组制定的协议,主要用于规范电池充电的需求,该协议最早基于USB2.0协议来实现。

    BC1.2充电端口

    USB2.0协议规定外设从USB充电器抽取电流的最大值为500mA,500mA的电流限制无法满足日益增长的快充需求。因此,BC1.2引入了充电端口识别机制,主要包括以下几个USB端口类型:

    1.标准下行端口(SDP)

    SDP端口支持USB协议,最大电流500mA,可以认为SDP就是普通的USB接口

    2.专用充电端口(DCP)

    DCP不支持数据协议,支持快充,可以提供大电流,DCP主要用于墙充等专用充电器

    3.充电下行端口(CDP)

    CDP既支持数据协议也支持快充

    二、BC1.2协议识别过程

    在这里插入图片描述
    在这里插入图片描述

    1、VBUS Detect Vbus 检测

    PD(portable device,便携式设备)中有个检测VBUS是否有效的电路,电路有一个参考值,高于这个值就认为是VBUS有效了,参考值不固定一般在0.8V~4V之间

    2、Data Contact Detect 数据连接检测

    这个阶段不是必须的,因为USB端口可能支持数据协议也可能不支持。如果这个阶段超时900ms还没检测到D+或ID PIN的连接,就要求必须开始进行Primary Detection。

    3、Primary Detection 首次检测

    该阶段主要作用是判断端口是充电口还是数据口:

    首先将PD+拉高至0.6V,然后检测PD-的电压,如果小于规定的参考电压则端口是数据口SDP;如果大于参考电压则是充电口CDP或者DCP。

    4、Secondary Detection 二次检测

    该阶段作用是确认充电口能否支持数据协议,即区分CDP和DCP:

    首先将PD-拉高至0.6V,然后检测PD+的电压,如果小于规定的参考电压则端口是CDP;如果大于规定的参考电压说明端口是DCP。

    下图是CDP端口的识别过程,经过首次检测后,进入二次检测阶段,首先将PD-拉高,然后判断PD+的电压小于参考电压0.4V,说明端口是CDP端口。
    在这里插入图片描述

    三、私有快充协议

    由于BC1.2并非强制性协议,许多厂家基于BC1.2研发了自己的私有快充协议。比如高通的QC2.0/QC3.0,联发科的PE(Pump Express)/PE+。由于充电功率和电压电流相关P=UI,提高电压或者电流就可以提高充电功率,在电池容量一定的情况下,功率越大充电速度越快。高通的QC2.0/QC3.0和联发科的PE快充方案技术原理是一样的,都是通过增大充电电压来提高充电功率。

    下图是高通High Voltage DCP协议识别过程,可以看出首次检测和二次检测符合BC1.2的规定,初始的VBUS电压为5V,在识别出DCP端口后将VBUS拉高至9V。QC2.0支持5V、9V、12V三挡电压,QC3.0在此基础上细分了电压档以200mV为一档,同时拓宽电压范围至3.6V~20V。
    在这里插入图片描述

    四、线损补偿

    由U=IR 知道充电电流越大,USB充电线上的压降也就越大。尤其在车载设备上,随着USB线的增长或者充电电流的增大,到达手机端的电压很可能达不到5V,可以通过线损补偿来解决此类问题。
    在这里插入图片描述
    应对此类问题,带线损补偿的USB充电电源开始流行。所谓线损补偿是实时监控充电电流的变化,然后实时调整输出电压以达到抵消或弥补充电线上的压降的目的。如果监控到充电电流增加,则立刻提升充电电压,反之降低输出电压。

    在这里插入图片描述
    在这里插入图片描述

    线损补偿的原理如图所示,首先在USB供电线中串入一粒采样电阻Rsense,Rsense的阻值必须足够小(如0.01Ω),所以需要一个放大电路放大Rsense上的压降得到Vsense,然后Vsense通过R3去改变FB管脚的电压达到“欺骗”开关电源的目的。线损补偿的效果如图1.9示意。当然,这种补偿措施的局限性也是很明显的,充电线的线阻必须已知且固定,否则可能会引起过调或欠调的问题。
    在这里插入图片描述

  • 相关阅读:
    PHP——爬虫DOM解析
    UE5.1编辑器拓展【一、脚本化资产行为,通知,弹窗,高效复制多个同样的资产】
    【数论:组合数学】排列组合
    C++之旅(学习笔记)第8章 概念和泛型编程
    hibernate中错误解决
    剑指offer(C++)-JZ29:顺时针打印矩阵(算法-模拟)
    轻量应用服务器使用总结
    php实现钉钉机器人推送消息和图片内容(完整版)
    Android JetPack Compose组件中Scaffold的应用
    总结——》【Redis】
  • 原文地址:https://blog.csdn.net/u010538116/article/details/122662138