BC1.2快充协议介绍

2023-11-10

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,可以通过线损补偿来解决此类问题。

现状及发展趋势

现行快充技术主要分为两大阵营:低压快充和高压快充。

低压快充以OPPO的VOOC闪充为代表,通过增大充电电流的方式来提高充电功率。

优点:发热量小、能量转换效率高

缺点:硬件需要定制,成本高,兼容性差

高压快充以高通QC2.0为代表,其他厂家技术原理和高通一样都是基于BC1.2,通过增大充电电压来提高充电功率。

优点:兼容性好、继承性好、稳定

缺点:发热量大,能量转换效率低
在这里插入图片描述

目前高通的快充方案占领大部分市场,但是随着USB-IF组织推出PD协议(Power Delivery 功率传输协议),有望统一快充市场。PD充电协议最大功率可支持100W,能满足手机甚至笔记本的充电需求,PD支持双向电能传输和组网供电策略,最新的QC4.0已经支持PD快充协议。
分享一款PD协议分析仪https://item.taobao.com/item.htm?spm=a230r.1.14.71.2d99499fHiMTax&id=639264636287&ns=1&abbucket=4#detail
————————————————
版权声明:本文为CSDN博主「SlamDunk31598」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/yangchao315/article/details/88391261

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

BC1.2快充协议介绍 的相关文章

  • App UI自动化元素定位工具之三__weditor

    App UI自动化元素定位工具之一 weditor 1 App UI自动化的核心逻辑 1 1 查看元素 根据元素特征定位元素 1 2 操作元素 点击 输入 获取元素信息等操作 1 3 根据返回做进一步处理 代码逻辑 2 用途 2 1 and

随机推荐

  • JS复习-21-sql语句使用

    查询的 sql 语句 1 查询所有 SELECT FROM 表 查询这个表里面的所有数据 每一个数据的每一个字段都要 sql SELECT FROM student 2 查询所有数据 但是只要几个字段 SELECT 字段1 字段2 FROM
  • nt服务器虚拟,NT 下虚拟域名的实现-ASP教程,系统相关

    虚拟域名实际上是虚拟主机的一种 虚拟主机的出现是为了节省硬件的投资 如果 isp 为每个申请了域名的用户都使用一台单独的机器 显然费用会很高 而且对于访问不是很频繁的站点来说也是一种浪费 所以就出现了大家公用一台机器 但每个用户之间相互独立
  • windows 平台下编译openssl 最新版本-3.0.5

    根据openssl 官方仓库的描述 他们不提供二进制版本的文件 需要我们自己针对不同的平台打包 环境配置 安装好以下软件 并配置好环境变量 Perl Nasm namke exe cl exe 最后两个可以通过安装好vs2022 自动可以使
  • 分号与逗号的区别及举例_如何掌握分号的用法 和顿号有什么区别

    如何掌握分号的用法 和顿号有什么区别2019 03 08 15 57 09文 李男 考试中作文成绩因为标点符号丢分的情况时有发生 看到这样丢分的情况 令人叹息 下面小编整理了一些关于分号的用法 供大家参考 分号的用法有哪些 下列几种情况使用
  • 关于捕食者方程在matlab中的应用

    由于是非专业人士 直接找到一个例子 copy如下 首先自定义一个函数 function z weifen bulie t y z 1 y 1 0 05 y 1 y 2 z 2 y 2 0 03 y 1 y 2 end 之后直接运行 捕食者与
  • 主流性能测试工具

    目前市场上的性能测试工具较多 主流的性能测试工具有 LoadRunner QALoad SilkPerformer 和 Rational Performance Tester 这类都为负载性能测试工具 其原理都相同 首先是录制脚本 通过录制
  • android下拉框

    下拉列表的方式 layout中的 xml文件
  • 【springboot test】springboot 单元测试配置文件加载顺序及覆盖关系

    springboot test 配置文件加载顺序及覆盖关系 参照目录结构 1 配置文件加载基础原则 2 application yml主配置文件加载原则 3 application yml中指定spring profiles active
  • 【部署】TensorRT(二)TensorRT的C++接口

    1 配置 qt的pro配置文件 TensorRT 头文件路径 INCLUDEPATH usr include x86 64 linux gnu 查找 sudo find name NvInfer h 链接TensorRT的库文件 LIBS
  • pgsql CURRENT_DATE 当前日期 加减日期 混合case when sum()

    pgsql CURRENT DATE 当前日期 加减日期 混合case when sum 写法如下 SUM CASE WHEN ai date due lt CURRENT DATE INTERVAL 90 day AND ai date
  • html中使用js实现福彩双色球随机选号

    福彩双色球随机选号 页面预览 代码实现
  • Neo4j Desktop 图数据库的导出方式

    先打开Neo4j Desktop 不要Start数据库 不然无法导出 选着想导出的数据库 1 点击Terminal之后 进入终端 本机的图数据目录如下 2 为了能够执行neo4j admin命令 需要进入bin目录 cd bin 3 数据库
  • g++ 编译pybind

    简单的 g O3 march native Wall shared std c 11 fPIC undefined python3 m pybind11 includes example cpp o example python3 conf
  • Docker如何安装RabbitMQ

    安装RabbitMQ有两以下两种常用方式 使用RabbitMQ安装包 使用Docker容器安装 推荐 由于Docker容器并不会影响我们之前安装在Linux系统上的其他服务 所以可以放心的使用Docker进行RabbitMQ的安装 并且采用
  • Java字节流与字符流的区别

    字节流与和字符流的使用非常相似 两者除了操作代码上的不同之外 是否还有其他的不同呢 实际上字节流在操作时本身不会用到缓冲区 内存 是文件本身直接操作的 而字符流在操作时使用了缓冲区 通过缓冲区再操作文件 如图12 6所示 下面以两个写文件的
  • 【算法题】运矿石(未完待续)

    题目 小v最近在玩一款挖矿的游戏 该游戏介绍如下 1 每次可以挖到多个矿石 每个矿石的重量都不一样 挖矿结束后需要通过一款平衡矿车运送下山 2 平衡矿车有左右2个车厢 中间只有1个车轮沿着导轨滑到山下 且矿车只有在2个车厢重量完全相等且矿石
  • cass等距离等分线段的命令键_cad直线均分的命令(CAD等分线段快捷键?)

    CAD等分线段快捷键 CAD中等分线段分为两种 定数等分和定距等分 1 定数等分 命令是DIVIDE 快捷键是DIV 2 定距等分 命令是MEASURE 快捷键是ME 以线段定数等分为例 1 键盘输入快捷键 DIV 如图 2 按回车键或者空
  • 常用的免费Api接口网址

    收录一下常用的免费Api接口 记录参考 具体使用请自行前往查看 和风天气 https dev qweather com docs api 天气预报 https www juhe cn docs api id 73 手机号码归属地 https
  • Android Studio代码提示自动补全设置

    最近学习Android开发课程 用的是Android studio开发工具 刚开始用发现竟然没有代码提示补全功能 我自己去看了一下设置 又设置了匹配补全提示 code起来还是不行 后来上网搜索 都是一些关于如何设置个性化自动补全提示的内容
  • BC1.2快充协议介绍

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