Battery Charging Specification(BC1.2)USB充电实测波形

作者:AirCity 2019.11.13
[email protected]

1 简介

Battery Charging Specification 1.2在网上有中文翻译版本,冗长晦涩,而且没有提供实测波形。本文提供PD连接SDP,CDP,DCP的实测波形。如果你对Battery Charging Specification 1.2不是很了解,也不需要去完整的了解一下协议,可以直接看我的另一篇文章《一张图看懂Battery Charging Specification 1.2(BC1.2)USB充电协议》了解协议精髓。
下文中,我们使用高通平台手机(PD)插入不同的设备,测量实际波形。这些设备包括联想Yoga S3电脑(这个电脑有两种USB接口,SDP和CDP),QC2.0充电器,BC1.2低端充电器。
先明确几个概念:
SDP:Standard Downstream Port标准下行端口,比如电脑的USB口。这种口的充电能力是0.5A
CDP:Charging Downstream Port带较强充电能力的USB口,比如电脑的USB口。这种口的充电能力一般1.5A.
DCP: Dedicate Charging Port专用充电口,比如手机充电器
PD:portable Device便携设备,如手机

2 手机插入电脑的SDP

下图是手机插入电脑SDP的实测波形,阶段(1)是充电器类型识别,也就是BC1.2的协议内容。阶段(2)是USB枚举过程。本文只展开阶段(1)讨论。
Battery Charging Specification(BC1.2)USB充电实测波形_第1张图片
阶段(2)的讨论请见文章《USB2.0协议简介(有实测波形解析)》。
其实在阶段(1)之前,还有一个阶段,就是Vbus电压检测,当手机检测到Vbus大于VOTG_SESS_VLD(一般是4V)时,认为Vbus有效,才会进行下面的阶段。
阶段(1)的放大波形如下,细分为(a)和(b)两个阶段
Battery Charging Specification(BC1.2)USB充电实测波形_第2张图片

  • (a) 手机开始做数据线连通性检测(Data contact Detect,DCD),手机在D+上施加一个小电流IDP_SRC(一般10uA),因为电脑的SDP端口在D+线上有一个下拉电阻RDP_DOWN(一般20K),因此D+上会有一个电压,图中阶段(1)电压实测为200mV,电压小于VLGC_LWO(0.8V),则认为USB的数据PIN已经连上。
    协议规定:DCD阶段不是必须的,如果没有做DCD,阶段(a)将不存在,而是在Vbus有效后900ms,直接开始阶段(b);如果做了DCD,但900ms内检测不到D+电压小于VLGC_LWO(0.8V),也会强制进入阶段(b)。DCD的存在只是为了缩短进入阶段(2)的时间。
  • (b) 手机在D+上施加电压VDP_SRC(一般0.7V),之后手机检测D-上的电压,发现D-电压小于VDAT_REF(0.4V),此时手机认为自己连接到了一个SDP。BC1.2协议中这个过程叫Primary Detection。PD最多从SDP汲取电流500mA。
    SDP的D+和D-线,没有短接电阻或者开关,所以D+上的电压传不到D-上。

3 手机插入电脑的CDP

下图是手机插入电脑CDP的波形,阶段(1)识别充电器,阶段(2)是USB枚举。如同第2章,本章只分析阶段(1)。
Battery Charging Specification(BC1.2)USB充电实测波形_第3张图片
阶段(1)有三个小阶段:(a)(b)和(c),前两个阶段与第2章的(a)(b)相同。
(a) 手机开始做数据线连通性检测(Data contact Detect,DCD),手机在D+上施加一个小电流IDP_SRC(一般10uA),因为电脑的SDP端口在D+线上有一个下拉电阻RDP_DOWN(一般20K),因此D+上会有一个电压,图中阶段(1)电压实测为200mV,电压小于VLGC_LWO(0.8V),则认为USB的数据PIN已经连上。
协议规定:DCD阶段不是必须的,如果没有做DCD,阶段(a)将不存在,而是在Vbus有效后900ms,直接开始阶段(b);如果做了DCD,但900ms内检测不到D+电压小于VLGC_LWO(0.8V),也会强制进入阶段(b)。DCD的存在只是为了缩短进入阶段(2)的时间。
(b) 手机在D+上施加电压VDP_SRC(一般0.7V),之后手机检测D-上的电压,发现D-电压大于VDAT_REF(0.4V),此时手机认为自己连接到了一个CDP或者DCP。这个过程叫Primary Detection。
(c) 手机在D-上施加电压VDM_SRC(一般0.7V),之后手机检测D+上的电压,发现D-电压小于VDAT_REF(0.4V),此时手机确定自己连接到了一个CDP。BC1.2协议中这个过程叫Secondary Detection。PD最多从SDP汲取电流1.5A。注意Primary Detection是手机的D+发起,Secondary Detection是手机的D-发起。
特别注意:电脑的CDP端口的D+D-线内部有一个开关,在(b)阶段是闭合的,连通D+和D-,所以能看到D+D-电压几乎同时上升下降。(b)阶段完成后,CDP立即这个开关断开,进入(c)阶段。

4 手机插入CDP(不带DCD检测)

第2章和第3张测到的波形,都是有DCD检测过程,那么不带DCD的波形会是怎样?如下:
Battery Charging Specification(BC1.2)USB充电实测波形_第4张图片
Vbus有效后,在900ms时间内都没有进行DCD,之后开始Primary Detection和Secondary Detection。

5 手机插入DCP

5.1 高端的DCP(QC2.0充电器)

下图是高通平台手机插入支持QC2.0协议的充电器实测波形。
Battery Charging Specification(BC1.2)USB充电实测波形_第5张图片

  • (a) 属于BC1.2协议规定的识别过程,由于QC2.0充电器内部在USB插入后,D+和D-通过一个开关短路。我们能看到Primary Detection和Secondary Detection过程,D+和D-都有0.7V脉冲。这时手机认为自己连接到了DCP。
  • (b) 完成DCP检测后,手机开始检测DCP是否还支持QC2.0协议。手机会在D+上施加0.7V电压,并且维持1.25s,之后充电器断开D+和D-间的开关。
  • (c) 充电器断开D+和D-间的开关后,D-电压立马跌落到0V,并维持一段时间。此时手机知道这个充电器是支持QC协议的。
  • (d) 手机按照如下规则,通知充电器,输出对应的电压。这个过程D+=0.7,D-=3.3。是continuous mode,表示
D+ D- HVDCPA Output HVDCP B Output
0.7V 0.7V 12V 12V
3.3V 0.7V 9V 9V
0.7V 3.3V Continuous Mode Continuous Mode
3.3V 3.3V Previous Voltage 12V
0.7V 0V 5V 5V
0V 3.3V/0.7V/0V 5V/Handshake Reset 5V/Handshake Reset
  • (e) D+=0.7,D-=0,对应输出5V。
  • (f) D+=3.3,D-=0.7,对应输出9V。
    注意:0.7V代表0.325-2.000V,3.3V代表大于2.0V,都是一个范围。

5.2 低端的DCP(D+D-直接短路)

低端的充电器,仅仅支持BC1.2协议,甚至只支持到BC1.0,充电电流500mA。这种充电器的D+和D-线之间用一个0ohm电阻直接连接。从下图可以看到,Vbus有效后,进行了Primary Detection和Secondary Detection。之后D+和D-一直拉高,1.25s后也没有掉下来,这是手机知道这个充电器仅支持BC1.2协议,不会再做其他动作。
Battery Charging Specification(BC1.2)USB充电实测波形_第6张图片

6 BC1.2充电器识别逻辑图

请参考我的另一篇文章《一张图看懂Battery Charging Specification 1.2(BC1.2)USB充电协议》,以及网络上的BC1.2协议中文翻译版。

你可能感兴趣的:(Battery Charging Specification(BC1.2)USB充电实测波形)