BC1.2 SDP/CDP/DCP介绍
注意:此图像中的智能手机在DCP握手后将D+/D-的电压设置为共模电压。在这种情况下,这是由手机驱动的(非常大的制造商的手机),目前尚不清楚为什么这样做。此外,Microchip的集线器还支持一种特殊的厂商定义的充电模式,Microchip将其称为“SE1”。还要注意,设备可能吸收最大允许量的电流,但充电器无法强制设备吸收超出其可吸收的量。这是USB规范的扩展,定义了在USB2和USB3端口的普通
参考:文章链接 Microchip Lightning Support
Getting to the bottom of USB Battery Charging | GraniteRiverLabs
问题
Q1.) 在Microchip产品的数据表中提到了电池充电技术,但以下术语是什么意思: BC1.2? SDP? CDP? DCP? “SE1”?
Q2.) 如何配置Microchip Hub以启用这些功能?
Q3.) 如何在我的硬件上物理检查BC1.2 Handshake?
答案
A1.) BC1.2是USB电池充电规范1.2版的简称。这是USB规范的扩展,定义了在USB2和USB3端口的普通500mA或900mA电流限制之上为设备充电的机制。
BC1.2支持三种不同的操作模式:
标准下游端口Standard Downstream Port(SDP) 所有非充电USB端口 最大电流限制500mA/900mA
专用充电端口Dedicated Charging Port(DCP) 仅支持充电而不支持数据传输的USB端口 最大电流限制5A
充电下游端口Charging Downstream Port(CDP) 支持BC1.2规范的USB端口 最大电流限制1.5A
此外,Microchip的集线器还支持一种特殊的厂商定义的充电模式,Microchip将其称为“SE1”。这种模式还为许多主要移动设备厂商提供了提升的充电水平。这是一种仅支持充电而不支持数据的模式。此模式将D+和D-信号设置为固定的直流电平。不同的DC电压组合表示不同的充电级别:
5W(D+ = 2 V,D- = 2.7 V)
10W(D+ = 2.7 V,D- = 2 V)
12W(D+ = 2.7 V,D- = 2 V)
A2.) 要配置端口以支持各种BC1.2功能,可以通过以下方式设置集线器的配置:
模式 | OTP配置内存 | SOC的SMBus配置 | 硬件配置带 |
无USB主机: 关闭端口 USB主机存在: SDP | 无需配置,使用默认配置 | ||
无USB主机: 关闭端口 USB主机存在: CDP | Yes | Yes | No |
无USB主机: DCP USB主机存在: CDP | Yes | Yes | No |
无USB主机: SE1 USB主机存在: CDP | Yes | Yes | No |
无USB主机: SE1 + DCP USB主机存在: CDP | Yes | Yes | Yes- 通过CFG_BC_EN带 注:选择最高支持的SE1模式 |
A3.) 您可以通过以下两种方式验证BC1.2是否正常运行: 测量设备的VBUS电流吸收。确保设备至少部分放电。还要注意,设备可能吸收最大允许量的电流,但充电器无法强制设备吸收超出其可吸收的量。您可以期望以下情况发生:
手机类型 | 模式 | 电流 |
---|---|---|
任何 | SDP | USB2端口/设备:500mA<br>USB3端口/设备:900mA |
苹果设备 + 大多数主要制造商 | SE1 | 最高达选择的SE1设置最大值(例如:2A,2.4A等) |
任何 | DCP或CDP | 最高达1.5A |
探测D+和D-数据线,观察设备连接后立即发生的短脉冲。设置示波器如下:
-探头:
通道1:D+
通道2:D-
-通道3:VBUS(可选)
垂直:200mV/分
水平:10-100ms/分(可能需要根据手机握手特性微调)
-触发:
D+
上升沿
~400mV
理想化的波形将如下所示:
请注意,USB BC1.2规范未定义:
脉冲宽度持续时间。
脉冲之间的时间间隔。
一些移动设备厂商可能会生成非常短的脉冲。其他可能生成更长的脉冲。
一些移动设备在两个脉冲之间没有间隙地连续生成脉冲(因此DFP握手在D+/D-上看起来像1个长脉冲)。其他插入
以下是实验室中捕获的一些实际波形:
SDP:(主要检测 = False,次要检测 = False)
CDP:(主要检测 = True,次要检测 = False)
DCP:(主要检测 = True,次要检测 = True)
注意:此图像中的智能手机在DCP握手后将D+/D-的电压设置为共模电压。在这种情况下,这是由手机驱动的(非常大的制造商的手机),目前尚不清楚为什么这样做。由于握手成功,并且检测到成功的DCP握手,因此在此之后的任何线路活动都可以视为“不关心”。您还可能观察到各种手机制造商的类似意外行为,但充电操作可能不受影响。
SDP
Fig. 3: SDP检测
移动电话(便携设备)连接到SDP并检测到与VBUS(VBUS > VOTG_SESS_VLD)的连接 DCD检测超时 移动电话在D+上提供电压VDP_SRC(0.5V - 0.7V),通过RDP_DWN(14.25 - 24.8kΩ)在SDP上接地,然后比较D-上的VDM和VDAT_REF 此时,如果VDM = 0V。 如果VDM(0V)小于VDAT_REF(0.25V - 0.4V),则表示它连接到SDP,并且该过程已完成
CDP
Primary Detection, CDP
移动电话连接到CDP并检测到VBUS(VBUS > VOTG_SESS_VLD)的连接 DCD检测超时 主要检测(图4 - 左侧):移动电话在D+上提供电压VDP_SRC(0.5V - 0.7V),并通过CDP上的RDP_DWN(14.25 - 24.8kΩ)接地 CDP检测到D+=VDP_SRC(0.5V-0.7V),然后启用CDP的VDM_SRC(0.5V-0.7V) 如果移动电话检测到D-=VDM_SRC(0.5V-0.7V),大于VDAT_REF(0.25V-0.4V),则表示它连接到CDP或DCP
Secondary Detection, CDP
次要检测(图4 - 右侧):移动电话在D-上提供电压VDM_SRC(0.5V-0.7V) 此时,D+约为0V,如果移动电话DCP_DET检测到D+小于VDAT_REF(0.25V-0.4V),则表示它连接到CDP 然后,移动电话禁用VDP_SRC和VDM_SRC,并保持D+和D-处于低电位
DCP
Primary Detection, DCP
移动电话连接到DCP并检测到VBUS(VBUS > VOTG_SESS_VLD)的连接 DCD检测超时 主要检测(图5 - 左侧):移动电话在D+上提供电压VDP_SRC(0.5V-0.7V),并通过DCP上的RDCP_DAT(<200Ω)连接到D- 如果移动电话检测到D- ≈ VDP_SRC(0.5V-0.7V),大于VDAT_REF(0.25V-0.4V),则表示它连接到CDP或DCP(RDCP_DAT的最大电压降为200Ω x 175μA= 0.035V)
Secondary Detection, DCP
次要检测(图5 - 右侧):移动电话在D-上提供电压VDM_SRC(0.5V-0.7V),通过DCP上的RDCP_DAT(<200Ω)连接到D-并启用IDP_SINK(25μA -175μA) 如果移动电话检测到D+ ≈ VDM_SRC(0.5V-0.7V),大于VDAT_REF(0.25V-0.4V),则表示它连接到DCP(RDCP_DAT的最大电压降为200Ω x 175μA= 0.035V) 然后,移动电话启用VDP_SRC。
抖动的声音:dilo_Abel
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)