• 首页
  • 摄像
  • 传感器
  • 音频
  • 电源
  • 充电
    • 有线充电
    • 无线充电
    • 充电头
    • 数据线
    • 电池
  • 接口
    • Type-C
    • SIM卡
  • 防护
  • 器件
    • 平台
    • 存储
    • 屏幕
  • 射频
    • 天线
  • PCB
  • 结构
  • 维修
  • 仪表
  • 电路图
人是万物的尺度
  1. 首页
  2. 充电
  3. 有线充电
  4. 正文

手机古早充电协议之BC1.2协议

2025年9月25日

在BC1.2出现之前,USB端口主要设计用于数据传输,其供电能力非常有限。当手机等移动设备需要充电时,这个电流远远不够,导致充电时间非常漫长。

最初的USB2.0协议,规定的外设(device)能从主机(host)吸取的电流如下:

  • USB总线suspend时最大汲取2.5mA;
  • USB总线没有suspend,并且未被配置时,最大汲取100mA;
  • USB总线没有suspend,并被配置了后,最大汲取电流500mA。

可见外设从USB主机最大仅能抽取500mA电流,像是在吃减肥餐,吃不饱啊。因此BC1.2协议顺势而生,化身救星,引入了充电端口识别机制,一举将电流提升到1.5A(DCP和CDP),满足手机这种大胃王的需求。

BC1.2,全称为Battery Charging Specification Revision 1.2,由USB-IF发布。BC1.2协议是充电领域协议的基石,并被整个行业广泛采纳,成为了一个至今仍在发挥作用的、最基本的USB充电兼容性标准。

BC1.2协议定义了如下充电端口:

  • 标准下行端口(SDP):Standard Downstream Port,这种端口的D+和D-上都有下拉电阻。最大电流为500mA。当USB口处于这种端口时既可以为外部设备(手机充电、充电宝)充电,也可以起到USB枚举通信的作用(U盘、手机数据上传/下载)。
  • 充电下行端口(CDP):Charging Downstream Port,这种端口在SDP的基础上,改良为支持1.5A充电,因为也可以支持USB枚举通信,所以D+和D-也必须有下拉电阻。
  • 专用充电端口(DCP):Dedicated Charging Port,适配器、车载充电器等端口,这种端口不可以传输数据,但可以提供1.5A以上的电流,端口的D+和D-短路,不需要枚举。

协议规定好后,接下来就是落地,按照协议的规定去设计就好了,简要列举充电器端的构造示意图如下。手机端的构造通常集成在充电芯片内部,下面也会讲到构造的细节。

BC1.2识别步骤

BC1.2定义了那么多充电器类型,那么手机端如何辨别它们呢?这便涉及到握手,BC1.2协议识别主要包含如下几个步骤。

1、VBUS Detect
VBUS在位检测,手机的充电芯片中有个检测VBUS是否在位的电路,是用比较器做的,并且有一个参考值。当VBUS高于参考值就认为VBUS是有效的,此时手机仿佛在喊:“嘿,有电了!快准备下一步的行动!”

2、Data Contact Detect
DCD检测,如下图,连接器上的VBUS、GND引脚比D+、D-脚长。所以是VBUS、GND先建立接触,所以需要先进行VBUS在位检测,然后再等一下D+、D-的连接,此即为DCD检测。

那具体是如何实现的呢?手机检测VBUS在位后,会使能D+电流源IDP_SRC(10uA左右)和D-上的下拉电阻RDM_DWN,如下图所示。如果存在连接关系,以SDP充电器举例,手机在检测到D+为低电平(被SDP侧的RDP_DWN给拉低了),并维持TDCD_DBNC(Data contact detect debounce,min值10ms)之后,就会关闭IDP_SRC和D-上的下拉电阻,由此判断正常连接。而如果没有连接,D+将保持为高电平。

DCD动作从波形图上可以看到,如下图:

需要说明的是,DCD检测不是必须执行的。如果没有执行DCD的检测,协议会在VBUS有效后的600mS(DCD_TIMEOUT)开始执行后面的步骤,专治各种拖延症!

3、Primary Detection
该检测的主要作用是判断端口是SDP还是CDP或DCP,首先将D+拉高至0.6V,然后检测D-的电压,如果小于规定的参考电压则端口是SDP;如果大于参考电压则是CDP或者DCP。

4、Secondary Detection
二次检测的作用是区分CDP和DCP。首先将D-拉高至0.6V,然后检测D+的电压,如果小于规定的参考电压则端口是CDP;如果大于规定的参考电压说明端口是DCP。

BC1.2 - SDP

SDP,标准下行端口,如果是电脑上的SDP口的话,既可以进行数据传输,又能进行最大电流500mA的充电。

SDP充电器的内部DP和DM脚上有15K左右(最大24.8K)的对地电阻。

在Primary Detection阶段,就能判断充电器类型是否是SDP了。如下图,手机端的充电IC在进行BC1.2 Primary Detection时,会将D+拉高至0.6V,然后检测D-的电压。如果小于规定的电压则判断充电口是SDP类型(500mA);如果大于规定电压则认为CDP或者DCP(1.5A)。

下图为检测到SDP充电器时的波形图。

BC1.2 - CDP

有些电脑的USB口属于CDP口,则既能支持USB2.0数据传输,也支持1.5A充电。CDP口内部包含了一些比较器、电压源、恒流源、下拉电阻等。

Primary Detection时如下图,D-大于规定电压,所以充电器类型是CDP或者DCP,但此时还无法区分充电器类型到底是CDP还是DCP。接下来还需要进行Secondary Detection检测。

进入Secondary Detection时 ,如下图,手机充电IC首先将D-拉高,然后检测D+的电压是否小于参考电压0.4V,从下图可以看出,因为RDP_DWN的下拉作用,手机端检测到的D+电压为小于0.4V的低电平,所以检测到了CDP充电类型。

CDP波形实测如下图所示:

BC1.2 - DCP

DCP,专用充电器,不支持USB2.0数据通信,仅支持大电流充电。在DCP充电器内部,D+和D-是短接的(短接电阻小于200欧姆),所以波形上能看到检测时,D+、D-波形是一样的,像双胞胎一样同步。手机检测到DCP后欢呼:“专供的大电流”,便埋头猛吃。

Primary Detection如下:

Secondary Detection检测如下:

DCP波形实测如下图:

总结

在识别阶段,Primary Detect由D+发起,Secondary Detect由D-发起。

SDP、DCP、CDP三种充电器因为D+、D-内部电路的不同,表现出波形的不同。SDP在Primary Detect就被识别;DCP由于D+ D-被电阻短接在一起,所以D+与D-保持一样的波形,并且两次检测都位于高电平的状态;CDP则是看为SDP、CDP的波形中和,D+只存在一次高电平,D-存在两次高电平。

手机端的充电IC通过检测到的充电器类型,然后再设定VBUS的电流限制值,确保充电电流与充电器的能力是匹配的,实现又快又安全的充电。

除了BC1.2所定义的充电器类型以外,也有一些手机厂商也私自制订了自家充电器的D+/D-识别方案。如Apple、Samsung等早期的手机充电器,他们在D+、D-上使用了自定义的电阻分压方案,便于他们自家的充电器和自家的手机进行配对识别。举例苹果的充电器如下图:

BC1.2在充电领域具有深远的意义与影响:

  • 标准化快充:在QC、PD等更高功率的快充协议出现之前,BC1.2是第一个广泛普及的“快充”标准,它将USB充电电流从500mA提升到了1.5A,极大地缩短了充电时间。
  • 广泛的兼容性:由于其标准由USB-IF制定,BC1.2成为了一个行业基础标准。至今,几乎所有的USB充电设备和充电器都兼容BC1.2。即使你的手机和支持更高协议的充电器,在连接一个普通的(不支持任何高级协议的)充电器时,依然会回退到BC1.2的DCP模式进行充电。
  • 为后续协议奠定基础:BC1.2的成功为后续更强大的快充协议(如高通QC协议, USB PD协议)铺平了道路。这些协议在BC1.2的基础上,通过更复杂的握手协议来实现更高电压和电流的协商。
标签: BC1.2 CDP Data Contact Detect DCP Primary Detection SDP Secondary Detection USB2.0 VBUS Detect 充电协议 电流限制 端口识别
最后更新:2026年1月7日


   备注:
   1、如果转载,请注明转载自:夜枭手机网(www.yexiaoshouji.com)  
   2、网站有部分图片素材来自互联网,不可考源头,或联系不上作者,仅为了讲述原理,不涉及商业用途,如果侵犯您的权利,请联系我删除
   3、如果有技术方面的疑问,可用微信/公众号私信联系我
   

夜枭

夜枭,暗夜里的精灵,雅典娜在凡间的使者,不瞩目于明亮的日光,在意的是万物的启迪。

打赏 点赞
< 上一篇
下一篇 >

COPYRIGHT © 2025 关于手机的一切 ALL RIGHTS RESERVED.

粤ICP备2025461592号-1

粤公网安备44133002100310号