Battery Charging Specification, Revision 1.2, December 7, 2010 中文

Battery Charging Specification
Revision 1.2
December 7, 2010
2014.04.03 Rev0.1
转载请注明转自:http://blog.csdn.net/liglei

1. Introduction  第一章 简介

1.1 Scope    适用范围

规范定义了设备通过USB端口充电的检测、控制和报告机制,这些机制是USB2.0规范的扩展,用于专用充电器(DCP)、主机(SDP)、hub(SDP)和CDP(大电流充电端口)对设备的充电和power up。这些机制适用于兼容USB2.0的所有主机和外设。

1.2 Background    规范制定背景  

  • PD(portable device)便携式设备连接到host或hub后,USB2.0协议规定了三种情况下PD汲取电流的最大值:
        1.bus suspend时最大汲取电流2.5mA;
        2.bus没suspend并且未被配置时最大汲取电流100mA;
        3.bus没suspend并被配置时最大汲取电流500mA.
  • 如果PD连接到CDP, DCP, ACA-Dock, ACA,在PD未配置时汲取最大电流限制是1.5A,或者遵循suspend的规则。
  • 定义了PD区别SDP和Charging port(充电端口)的机制。
  • 为不同的USB charger厂家定义了兼容性要求。
  • 如果PD的battery处在Dead或weak状态,随USB 2.0规范发布的ECN规定,此时连接但未联通的PD可以汲取100mA电流(连接与连通的区别在于data线的上下拉电阻)。详细参考Dead Battery Provision(DBP)

1.3 Reference Documents    参考文档

    • OTG and Embedded Host Supplement, Revision 2.0
    • USB 2.0 Specification
    • USB 3.0 Specification

1.4 Definitions of Terms    术语的定义

包含了规范中一些术语的定义

1.4.1 Accessory Charger Adaptor

ACA是啥呢?也是一个充电器。一共三个口,一个OTG Port连接PD,一个charger port连充电器,扩展出一个Accessory Port。对PD充电的同时,能使PD连接到Accessary。
PS:根据Micro-ACA的<Table 6-1 和Table 6-2可知,charger port连充电器的同时Accessory Port连接A-device,此时充电器可以对OTG Port的PD充电,但是PD并不能和Accessory Port连接的A-device进行通信,此时的Access Switch是关断的。当不连接充电器时,可以通信。

涉计ACA的术语:
• ACA-A An ACA with ID resistance of RID_AACA ID pull-down, OTG device as A-device RID_A 122 126 kΩ 6.2.4 Note 1,2,4 )
• ACA-B An ACA with ID resistance of RID_BACA ID pull-down, OTG device as B-device, can’t connect RID_B Note 1,2,4 67 69 kΩ 6.2.4
• ACA-C An ACA with ID resistance of RID_C(ACA ID pull-down, OTG device as B-device, can connect RID_C Note 1,2,4 36 37 kΩ 6.2.4
PS:这是啥意思呢?就是说PD ID连接ACA ID。 在ACA里,ID上有个下拉到GND的电阻,就是RID_x了。详细参考Section 6.
RID_A,RID_B,RID_C,Floating,GND又都代表什么意思呢?参考 Figure 6-4就能看的明白,就是ACA根据类型(ACA-Dock OR ACA)和 charger port、Accessory Port连接设备的不同而处在不同工作模式的一种指示,由ACA的Adapter Controller设置,PD会通过检测连接ACA的ID_OTG PIN的下拉电阻值进行识别ACA。

1.4.2 ACA-Dock

  • ACA Dock是一个扩展坞,有一个外接电源,有一个US port,没有或者有几个DS port。US port只能连接到作为host的PD,给PD提供最大1.5A的ICDP电流。DS port只能连接device。
  • ACA-Dock怎么告知PD它是一个ACA-Dock呢?
        1.在USB idle时候使能VDM_SRC(D- Source Voltage VDM_SRC Note 1 0.5 0.7 V
        2.把ID下拉到GND,通过电阻RID_A。详细参考Section 3.2.4.4

PS:ACA Dock和ACA有啥区别呢?
连接ACA OTG Port的PD可以做B-Device,Accessary port可以连接A-device(但此时不能连接充电器);Dock的US Port只能连接作为A-Device的PD, DS Port只支持B-device,只能在充电的同时连接一个或多个B-device到DUT。

1.4.3 Attach versus Connect    连接和连通的区别

”Attach“我暂且把它翻译成连接,”connect“翻译为联通。它们有什么区别呢?
  • ”Attach”这个词是有方向性的,表示把设备连接到主机,有一个从下到上的动作。在物理上电源线、ID、信号线连接上了;”connect”是没方向性的,表示识别了物理上的连接,或建立了通信。所以”connect”是基于”attach”的。
  • 这里的connect是指在attach后,下游的设备通过上拉1.5k电阻到D+/D-线,使bus进入 Low-Speed, Full-Speed or High-Speed信号模式。

1.4.4 Charging Downstream Port

CDP是啥呢?其实它就是在PC或者HUB上的一个USB口,但是这个USB口比较特殊,可以提供1.5A~5A的大电流充电,一般都会有一个小闪电的标志在USB口旁边
连通外设时,当CDP检测到D+线上的电压VDAT_REF(Data Detect Voltage 0.25V~0.4V)VDP VLGC(Logic Threshold 0.8V~2V)后,会在D-线上输出VDM_SRC(0.5v~0.7v)。从外设联通时起,CDP将不再把电压VDM_SRC输出到D-上,直到外设断开联通。

1.4.5 Charging Port    充电端口类型

充电口的类型分为DCP,CDP,ACA-DOCK,ACA

1.4.6 Dead Battery Threshold    死电池阈值(没电电池的定义)

什么是Dead Battery的阈值?通俗的说就是电池的一个电压值,低于这个值系统就肯定启动不了。电压低于这个值的电池叫Dead Battery。

1.4.7 Dedicated Charging Port    DCP定义

DCP就是墙充,即wall adapter。就是平时用的连到220v插座的充电器。不能枚举USB设备,可以供(4.75v< VCHG  <5.25v)的稳定电压和(0.5A <IDCP <5A)的充电电流。DCP在内部将D+和D-短接

1.4.8 Downstream Port    朝下的端口

这个spec.中有两种DS,一种是SDP,另外一种是CDP(Charging Downstream Port)

1.4.9 Micro ACA

ACA的accessory port是Micro-AB的母口

1.4.10 Portable Device

是能装在兜儿里的USB设备?就是移动设备。

1.4.11 Rated Current    额定电流

充电端口的额定电流是指在保持VBUS电压在VCHG(4.75v~5.25v时所能输出的电流值。
  • DCP的额定电流要求在(0.5A< IDCP <5A)之间;
  • CDP or ACA-Dock的额定电流要求在(1.5A< ICD<5A)之间

1.4.12 Standard ACA

指ACA的accessory port是 Standard-A的母口

1.4.13 Standard Downstream Port    SDP定义

SDP是标准的DS Port,是遵循USB2.0规范的host或hub的朝下端口。一个带有good battery的设备在连接到SDP时:
  • 未联通(dead battery)或suspend时,从SDP汲取小于2.5mA的电流
  • 联通未配置且没有suspend时,从SDP汲取小于100mA的电流
  • 配置且没有suspend时,从SDP汲取小于500mA的电流,具体值取决于host使能的配置
  • SDP端口会将D+和D-下拉500K电阻到GND
  • SDP有检测D+被PD驱动到 VDP_SRC(0.5v~0.7v)的能力
  • 连接但没联通的情况下,当PD汲取大于 ISUSP(2.5mA)的电流时,要求PD驱动D+到VDP_SRC(0.5v~0.7v)

1.4.14 USB Charger    USB充电器定义

这里就是指DCP,比如wall adapter或car power adapter

1.4.15 Weak Battery Threshold    弱电池阈值定义

Weak Battery阈值也是电池的一个电压值,电池电压高于这个值,系统就肯定能power up。

  • Weak Battery:电压值大于Dead Battery Threshold,且小于Weak Battery Threshold的电池,不一定能power up设备
  • Goog Battery:电压值大于Weak Battery Threshold的电池

1.6 OTG Considerations    OTG注意事项

  • 带有Dead Battery的PD不能区分PC和OTG-A device
  • 当带有Dead Battery的PD连接到OTG-A device时,OTG A-device没有义务提供给PD超出正常值的供电电流(正常值是指OTG A-device正常供给其TPL列表中设备的电流值)
  • OTG A-device在TA_WAIT_BCON内没有检测到B-device的连通,可以停止驱动VBUS。也就是说,带有Dead Battery的PD,连接到OTG A-device以后因为不能通(使能D+/D-的上拉电阻),可能不会被充电。

1.7 Super Speed Considerations    SS注意事项

USB3.0规范中定义的SS Port也使用本规范定义的充电器检测机制,当PD 检测到连接在一个SS port上的时候,ICFG_MAX(Maximum Configured Current when connected to a SDP ICFG_MAX Note 2 500 mA 2.1)变为900mA,IUNIT变成150mA。


2. Dead Battery Provision    死电池的规定(仅适用于SDP)

2.1 Background    背景

  • 1.4.13 SDP的定义我们知道有一种情况,当带有Dead Battery或Week Battery的PD连接到SDP时候,可能不能和host建立连通,这时候host会限制输出电流在ISUSP(2.5mA)以下。一些PD在这种情况下需要一段时间充电电流是ISUSP来power up设备。
  • USB2.0允许复合型USB设备在连接且未连通,或suspend的情况下,从每个DS port都汲取2.5mA的电流

2.2 DBP – Unconfigured Clause DBP-在PD未被配置时的规定

带有Dead Battery或Week Battery的PD在未被配置的情况下,可以根据DBP规定从SDP的DS port汲取IUNIT电流,规定如下:
  • 连接后超过45分钟,PD没和host建立连通或被枚举,汲取电流降到ISUSP(2.5mA)
  • 连接但未连通时,PD驱动 VDP_SRC
        1. PD在连接到host 1s内,PD使能D+的电压,VDP_SRC(0.5v-0.7v)
       2. PD在disable VDP_SRC后1s内建立连通,即使能上拉电阻
  • 这个电流只能用于使PD尽快的上电并枚举,或者充电至Weak Battery Threshold并枚举
        1. PD不能用DBP电流做不相关的事,比如高于Weak Battery Threshold后还用这个电流充电、打电话、播放音乐视频或游戏,建立无线连接。
        2. 只有独立使用电池运行的设备才允许使用DBP
  • 带有Dead Battery或Week Battery的PD要求通过 USB-IF compliance inrush test
未配置状态包括两个时段:
        1. 连接但是没连通
        2. 联通但没配置
PD在接收到host发送的SET_CONFIGURATION命令后进入configured state

2.3 DBP – Configured Clause    DBP-PD在配置状态下的规定

带Dead or Weak Battery的PD在配置的状态下允许使用DBP规则从SDP汲取配置电流(最大至ICFG_MAX=500mA),不需要通过USBCV测试。规则如下:
  • 响应接收到的令牌
    PD要求响应host发来的任何令牌,以NAK或有效的USB response
  • 响应USB reset
    一旦接收到复位信号,PD将减小充电电流到IUNIT。PD允许在接收到reset后断开连接。当断开连接,PD将使用DBP –Unconfigured Clause。
  • 响应USB suspend
    保持连接降低充电电流到ISUSP,或断开连接使用DBP–Unconfigured Clause
  • 超时后提供完整的USB功能,或者断开连接使用DBP–Unconfigured Clause
    从连接TDBP_FUL_FNCTN(Attach to full USB functionality for configured PD under DBP TDBP_FUL_FNCTN 15max min 2.3后,PD或着保持连通并且可以通过USBCV测试,或者断开连接。断开连接后使用DBP–Unconfigured Clause
  • 使用配置的DBP电流尽快的充电使电压达到Weak Battery Threshold并提供完整的USB功能。
    PD不能用DBP电流做不相关的事,比如高于Weak Battery Threshold后还用这个电流充电、打电话、播放音乐视频或游戏,建立无线连接。
  • 一旦电池电压在PD连接到SDP后的TDBP_FUL_FNCTN(max=15min内)达到Weak Battery Threshold,PD需要提供完整的USB功能
  • PD需从在连接SDP后的TDBP_INFORM(max=1min)内通知用户PD正处在充电状态,且其它功能不可用。

3. Charging Port Detection    充电端口的检测

3.1 Overview    概述

Figure 3-1是几个实例,PD连接到SDP或Charging Port:


Figure 3-1 System Overview
  • 第一个例子中,PD连接到SDP,CDP,DCP是通过 Std-A to Micro-B cable
  • 第二个例子中,DCP有一个一体的Micro-B公口的线缆连接到PD。DCP的cable中没有D+/D-线,Micro-B公口的D+/D-线在插头内部短接在一块了。
  • 第三个例子中,ACA有一个一体的Micro-A公口的线缆连接到PD,A口线必然就有D+/D-和ID。ACA还有一个连接到DCP或CDP的port,使用什么样的线缆在 Section 6.2.1  描述
  • 第四个例子中,ACA-Dock上没有线缆,但是有一个一体的Micro-A公口的插头连接到PD,使用一个专用的充电器供电。

3.2 Charger Detection Hardware    充电检测电路

本节简要的介绍了充电检测的硬件电路

3.2.1 Overview    概述

Figure 3-2是PD中的充电检测的硬件电路


Figure 3-2 Charger Detection Hardware


3.2.2 VBUS Detect    VBUS检测

Session是啥?
首先咱们先解释一下协议中经常出现的术语”session”.在OTG的规范中对session做了这样的解释:
A session is defined as the period of time that VBUS is powered. The session ends when VBUS is no longer powered.”
从这句话来理解,sessionVBUS从有到无一段时间,它是针对VBUS的,所以以后也可以理解为有效的VBUS只是这时候的VBUS是基于一定的时间段有效的

每个PD的VBUS电源线的内部都有一个电压比较器,用来判断VBUS什么时候有效,和谁做比较呢?和内部的有效电压阈值比,可以理解是和一个定值比,高于这个值就是有效的VBUS。这个阈值在本规范中叫做internal session valid threshold,它的范围在定义为VOTG_SESS_VLD(OTG Session Valid Voltage VOTG_SESS_VLD 0.8 4.0 V 3.1)。参考Figure 3-2粉色部分。

PS:说了半天究竟在说啥?总结一下:
PD中有个检测VBUS是否有效的电路,电路有一个参考值,高于这个值就认为是VBUS有效了。这个参考值不是固定的,设计的时候保证它在0.8V~4V之间就可以了。

3.2.3 Data Contact Detect    数据连接检测

3.2.3.1 Overview    概述

DCD机制使用了向D+提供的电流源IDP_SRC来检测PD连接host后,数据信号的连接。
观察USB数据线的公头儿里边的信号线,你会发现两边的PIN长,中间PIN的短。两侧的PIN是VBUSGND,中间的是数据线。这样的作法是为了先供电再通信。
  • PD并不一定要求实现DCD,如果PD没实现DCD,会使用一个定时器,它将在连接到host TDCD_TIMEOUT(DCD Timeout TDCD_TIMEOUT 300 900 ms 3.2.3.1后,开始Primary Detection。
  • 当PD连接到SDP或CDP时,DCD机制能检测数据线的连接。使用DCD机制的最大好处是能尽快的检测到数据线的连接,然后建立连通,不必等待定时器超时。这样可以降低通信建立的时间,因为 USB Connect Timing ECN中规定,一个上电的USB设备,要求在连接到host的 TSVLD_CON_PWD(1s)内建立连通。
  • DCD机制也可以在PD连接到DCP和ACA的多数情况下检测数据线的连接。DCD不起作用的情况有:
        1. 漏电流太大的DCP
        2. 连接charger,和在Accessory Port连有FS或HS B-device的ACA
        3. ACA-Dcok
        4. 把D+拉高的PS2端口
        5. 把D+拉高的专用充电器
  • 因为DCD并不能在所有情况work,如果PD在attach event后TDCD_TIMEOUT max(900ms)内还没检测到D+或ID PIN的连接,就要求PD必须开始进行Primary Detection。详情参考 Section 3.3.2.

3.2.3.2 Problem Description

      Figure 3-2  Data Pin Offset



  • USB的公头之所以把VBUS PINGND PIN设计的比D+/D-长,是为了当plug和receptacle连接时,电源先于信号线连接。因此PD连接到主机时,VBUS和DATA pin长度不同,VBUS pin先连接,而后DATA pin连接,间隔时间取决于plug的插入速度,最长观察到的间隔时间是200ms
  • PD区分充电口和SDP的方式是根据data line。如果在检测到data pin连接前PD进行了Primary Detection操作,则根据Primary Detection协议,PD认为被连接到了SDP。
  • 如果PD连接到DCP,但是被其错误的识别为连接到了SDP,在这种情况下PD将汲取 ISUSP(2.5mA)电流并同时等待被枚举。因为DCP不能枚举设备,因此PD将不会被充电。

3.2.3.3 Data Contact Detect, Not Attached    PD未连接设备时的DCD



Figure 3-4 Data Contact Detect, Not Attached
图3-4是PD没连接到远端设备的情况
DCD协议如下:
  • PD检测VBUS有效
  • PD使能D+电流源IDP_SRC和D-线上的下拉电阻
  • PD检测到D+线保持TDCD_DBNC(Data contact detect debounce min=10ms低电平
  • 关闭D+电流源IDP_SRC和D-线上的下拉电阻
如果没有设备连接到PD上时,D+线保持在高定平。 IDP_SRC(7uA)的最小
值要求能保证在最坏漏电流(
RDAT_LKG and VDAT_LKG)情况下,使D+保持在VLGC_HI(Logic High2.0~3.6 V)。

3.2.3.4 Data Contact Detect, Standard Downstream Port    SDP的DCD


Figure 3-5 Data Contact Detect, Standard Downstream Port
  • 当PD连接到SDP时,D+线被SDP的RDP_DWN拉低
IDP_SRC(13uA)的最大值值要求能保证在最坏漏电流RDAT_LKGVDAT_LKG and RDP_DWN情况下RDP_DWN 使D+保持在VLGC_LOWLogic Low 0~0.8 V

3.2.4 Primary Detection    主要检测

PD要求实现Primary Detection,3.2.4 Primary Detection用来区分SDP和charging port。

3.2.4.1 Primary Detection, DCP    DCP的Primary Detection

图3-6是PD连接到DCP上时,Primary Detection工作的示意图



Figure 3-6 Primary Detection, DCP
  1. 打开 VDP_SRC D+ Source Voltage 0.5~0.7vand IDM_SINKD- Sink Current 25~175 μA.
  2. D+和D-通过RDCP_DATDedicated Charging Port resistance across D+/- max=200Ω短接PD检测D-的电压是否达到VDP_SRC(D+ Source Voltage 0.5~0.7v.
  3. PD在D-上的电压比较器比较D-电压和VDAT_REFData Detect Voltage 0.25~0.4  v)如果D-大于VDAT_REF,就可以确定PD连接到了charging port上,可以进一步检测是连接到了DCP还是CDP上。PD也可以选择性的实现检测D-电压是否达到VLGC( Logic Threshold 0.8~2.0V此时检测DCP还是CDP的条件是VDAT_REF< D- <VLGC,是否选择实现检测VLGC这个电平的原因如4.
  4. PS2端口会把D+/D-上拉到高电平,当PD连接到PS2端口,如果PD只检测(D->VDAT_REF),然后判定是连接到了DCP还是CDP,开始汲取IDEV_CHGAllowed PD Current Draw from Charging Port  max=1.5A电流。这么大的电流可能会损坏PS2端口。通过判定(D-<VLGC)以后再检测DCP,CDP类型,这样可以避免PD对PS2端口造成损坏。
  5. 有些专用的charger也会把D+/D-上拉到高电平,如果PD连接到这样的一个charger上,因为(D->VLGC),所以PD判断不是连在一个充电端口上。然后PD判断自己是连在一个SDP上,这是就只能汲取ISUSP的电流。
  6. 是否选择实现VLGC的检测取决于PD会不会经常连接到PS2端口,还是专用的charger。

3.2.4.2 Primary Detection, CDP

Figure 3-7展示了PD连接到CDP时的Primary Detection工作方式



Figure 3-7 Primary Detection, CDP
当远端设备没连接到CDP上时,对CDP的行为有两种可选的方式。
  1. 在断开连接的TCP_VDM_ENTime for Charging Port to assert
    VDM_SRC on D- max=200ms时间内,使能VDM_SRC( D- Source Voltage  0.5~0.7V在连接PD的TCP_VDM_DISTime for Charging Port to remove VDM_SRC on D-  max=10ms)时间内disable VDM_SRC。使用这方式,不要求CDP使能IDP_SINK,或者比较D+的电压值是否到VDAT_REF。
  2. 第二种方式CDP将比较D+电压与VDAT_REF and VLGC,当(VDAT_REF<D+<VLGC),CDP将使能VDM_SRC;当(D+ < VDAT_REF 或 D+ >  VLGC),CDP将disable VDM_SRC。需要注意的是CDP在和PD连接的时候,要求比较D+和VLGC,来disable VDM_SRC。
  3.  Primary Detection期间,PD将打开 VDP_SRC and IDM_SINK.PD将把D-上的电压和 VDAT_REF 做比较。如果(D->VDAT_REF),才允许PD继续检测是连接到DCP还是SDP上。PD可以选择性的比较D-和 VLGC,只有当VDAT_REF<D-<VLGC)时,才能进一步检测是连接到SDP还是DCP上。详细原因参考3.2.4.1

3.2.4.3 Primary Detection, SDP
Figure 3-8 展示了PD连接到SDP时Primary Detection的工作方式

Figure 3-8 Primary Detection, SDP

Figure 3-8 Primary Detection, SDP

  • 在 Primary Detection的时候,PD打开 VDP_SRC and IDM_SINK.当 VDP_SRC加到D+上时,SDP会继续通过下拉电阻 RDM_DWN下拉D-到低电平。
  • PD将把D-上的电压和 VDAT_REF 做比较,如果(D-<VDAT_REF),则允许PD进一步检测是否连接到了SDP上。PD可以实现把D-上的电压和 VLGC作比较,当(D-> VLGC)可以检测PD是否连接到了SDP上。

3.2.4.4 Primary Detection, ACA-Dock

Figure 3-9展示了支持识别ACA的PD连接到ACA-DOCK上时Primary Detection的工作方式


Figure 3-9 Primary Detection, ACA-Dock
ACA-DOCK简介:
ACA-DOCK是一个扩展坞,有一个US port连接PD,给PD提供 ICDP的充电电流;没有或有多个DS port。

ACA: ACA-DOCK上电后,如果US port没连接PD,则US port各个pin的状态需要偏置到特定的状态
• VBUS VCHGCharging Port Output Voltage 4.75~5.25 V
• D+ VDP_UPD+ pull-up Voltage 3.0~3.6 V
• D- VDM_SRCD- Source Voltage 0.5~0.7 V
• ID RID_AACA ID pull-down, OTG device as A-device 122~126 kΩ
• GND GND

VBUS= VCHG: 因为ACA-DOCK准备好给PD供电
D+通过 RDP_UP (D+ Pull-up resistance 900~1575Ω)上拉到 VDP_UP (D+ pull-up Voltage 3.0~3.6V)因为VBUS>VOTG_SESS_VLD OTG Session Valid Voltage 0.8~4v   

ACA: D+/D-状态变化对ACA-DOCK操作VDM_SRC的要求
每当D+/D-在inactive(idle J state)超过 TCP_VDM_ENTime for Charging Port to assert VDM_SRC on D- max=200ms ),时,ACA-DOCK要enable VDM_SRC。ACA-DOCK 必需在D+/D-线上有活动的TCP_VDM_DIS Time for Charging Port to remove VDM_SRC on D- max=10msdisable VDM_SRC

ACA: 上电掉电后ACA-DOCK对ID PIN的操作
ACA-DOCK要求在上电后连接PD的ID PIN到 RID_A,掉电后连接RID_FLOAT(min=220

当支持ACA的PD检测到以下条件,就能确定连接了一个ACA-DOCK
• VBUS > VOTG_SESS_VLD
• D+ at VLGC_HI
• VDAT_REF < D- < VLGC
• ID at RID_A
VDAT_REF( Data Detect Voltage 0.25~0.4v)

PD: 连接到ACA-DOCK的PD要求比较D-和 VLGC
Logic Threshold 0.8~2.0 V  如果PD连接到了带有LS设备(Low speed设备D-线接1.5k/3.3v上拉电阻)的ACA上,PD的ID PIN会被ACA的RID_A  拉低,并且D-电压在 VLGC_HILogic High 2.0~3.6 V而不是VDM_SRC(D- Source Voltage 0.5~0.7 V)。
为了区分(连接了LS设备的ACA(D-=3.3v>VLGC))和ACA-DOCK(VDAT_REF < D- < VLGC),要求PD比较D-的电压值与 VLGC的关系

PD: PDVDP_SRC的控制
当ACA-DOCK通过
 RDP_UP 上拉D+到 VDP_UP时,PD的VDP_SRC要使D+保持在高电平状态。因为这样ACA-DOCK就检测不到D+上的电平变化,这样就不会在PD完成 Primary Detection前,因为检测到D+上的电平变化而提前关闭 VDM_SRC 

3.2.4.5 Primary Detection, Micro ACA

Figure 3-10展示了支持ACA检测的PD连接到一个Micro-ACA时的工作方式

Figure 3-10 Primary Detection, ACA
 VBUS>VOTG_SESS_VLD 时,支持ACA检测的PD必须监控ID PIN的电阻变化,当ID PIN的电阻是RID_B or RID_C时,PD认为连接到了ACA。

    如果ID的电阻是RID_A,那么PD可能连接到了带有B-Device的ACA或者连接到了ACA-DOCK.此时PD需要通过检测D-的电平范围来判断连接到了那种类型:
• D- < VDAT_REF ACA with FS B-device on Accessory Port
• VDAT_REF < D- < VLGC ACA-Dock
• VLGC < D- ACA with LS B-device on Accessory Port

PD应该在连接后连通前,像Good Battery Algorithm描述的那样,检测如上的D-的电平范围。

Primary Detection之后,支持ACA检测的PD应该继续监测ID PIN,如果ID PIN 的电阻发生变化,PD应该按Section 6.2.7定义的状态机作出响应。

要求ACA通过DP_CHG and DN_CHG线实现一种主要检测,来判断ACA的Charger Port是否连接到了充电器。详细描述参考Section 6.2.6.

3.2.5 Secondary Detection    二次检测

二次检测用来区分DCP还是CDP。PD在检测到VBUS的TSVLD_CON_PWDSession valid to connect time for powered up peripheral max=1s时间内,如果PD还没做好被枚举的准备,则要求PD进行二次检测。如果PD做好了被枚举的准备,则可以跳过二次检测,参考Section 3.3.2 Good Battery Algorithm。

PS:什么是做好被枚举的准备?
是指建立了连通,即下游设备已经使能了D+/D-线的1.5K上拉电阻,使数据线进入了相应的信号模式,参考前面对“connect”和“attach”的解释。

3.2.5.1 Secondary Detection, DCP

Figure 3-11 展示了连接到DCP的PD二次检测的方式

Figure 3-11 Secondary Detection, DCP
二次检测的时候:
  • PD在D-上使能 VDM_SRC,打开 IDP_SINK
  • 比较D+和 VDAT_REF的电压,因为DCP内部通过 RDCP_DAT短接了D+/D-信号线,所以VDM_SRC这个电压源的电压使得(VDAT_REF < D+ < VDM_SRC)
  • 当PD检测到(VDAT_REF < D+)时,就判断连接到了DCP上。
  • 而后要求PD使能 VDP_SRC 或者通过 RDP_UP上拉D+到 VDP_UP,Section 3.3.2定义的Good Battery Algorithm

VDM_SRC(D- Source Voltage 0.5~0.7V
VDP_SRC(D+ Source Voltage 0.5~0.7V
IDP_SINK(D+ Sink Current 25~175μA
VDAT_REF(Data Detect Voltage 0.25~0.4V
RDCP_DAT(Dedicated Charging Port resistance across D+/-max=200Ω
RDP_UP(D+ Pull-up resistance 900~1575 Ω
VDP_UP(D+ pull-up Voltage 3.0~3.6V

3.2.5.2 Secondary Detection, CDP

Figure 3-12 展示了连接到CDP的PD二次检测的方法


Figure 3-12 Secondary Detection, CDP
二次检测的时候:
  • PD在D-上使能 VDM_SRC,打开 IDP_SINK
  • 比较D+和 VDAT_REF的电压,因为CDP内部没有短接D+/D-,所以(VDAT_REF > D+ = GND)
  • 当PD检测到(D+ < VDAT_REF),就判断连接到了CDP上
  • 而后要求PD关闭VDP_SRC  VDM_SRC,Section 3.3.2定义的Good Battery Algorithm,然后PD将汲取IDEV_CHG的充电电流
PD在二次检测期间,不需要比较D+和 VLGC  

VDM_SRC(D- Source Voltage 0.5~0.7V
IDP_SINK(D+ Sink Current 25~175μA
VDAT_REF(Data Detect Voltage 0.25~0.4V
VDP_SRC(D+ Source Voltage 0.5~0.7V
RDCP_DAT(Dedicated Charging Port resistance across D+/-max=200Ω
RDP_UP(D+ Pull-up resistance 900~1575 Ω
VDP_UP(D+ pull-up Voltage 3.0~3.6V
IDEV_CHG(Allowed PD Current Draw from Charging Port max=1.5A)
VLGC(Logic Threshold 0.8~2.0V

3.2.6 ACA Detection

Figure 3-13 shows how ACA Detection works when a PD is attached to a Micro ACA.
PD的ACA检测机制使PD能获知连接到了ACA上,并且检测ACA的Accessory Port连接了什么类型的设备。参考Section 6 ACA的介绍。
PD对ACA的支持并不是必须的。只有带有Micro-AB母口的PD才能支持ACA检测,因为ACA的OTG Port是一个Micro-A公口的一体线。
支持ACA检测的PD要求按Section 3.3.2的Good Battery Algorithm实现

Figure 3-13 展示了连接到Micro ACA的PD在ACA检测时的方式

Figure 3-13 ACA Detection
PD通过检测ID的阻抗判断是否连接到了ACA。PD在ACA的判断过程中,会检测到五种不同的阻抗,分别是:RID_GNDRID_CRID_BRID_A and RID_FLOAT.在VBUS有效的整个过程中,PD都将监控ID PIN的阻抗变化,根据Section 6.2.7的状态作出机响应。

3.3 Charger Detection Algorithms

3.3.1 Weak Battery Algorithm    弱电池算法

Figure 3-14 是PD连接弱电池时的充电检测算法的一个例子,当然其它的算法也可以,但是要符合DBP规则


Figure 3-14 Weak Battery Algorithm
  • 要求PD内部实现如下几种电压的阈值的检测:VOTG_SESS_VLDVDAT_REF and VLGC。检测的阈值并不是这些参数的最大或最小值,而是PD内部设计在这些参数范围内的固定值。
  • 在左侧的例子中,带有弱电池的PD检测到 (VBUS > VOTG_SESS_VLD)后,会在D+上使能VDP_SRC。如果(D— > VDAT_REF)或者ID PIN不是在float状态,PD可以汲取IDEV_CHG大小的电流。否则PD只能汲取IUNIT大小的电流。
  • 如图所示,也可以加入紫色的参数VLGC t作为判断条件,这样可以防止PD从PS2口或其它专用充电器充电

3.3.2 Good Battery Algorithm

Figure 3-15 是带有Good Battery的PD需要遵守的的充电检测算法。


Figure 3-15 Good Battery Algorithm
  • 当PD 连接到SDP或充电口时,应该使用Good Battery Algorithm检测算法。对于SDP和Charging Port之外设备或端口,允许添加额外的检测分支。对于添加额外检测分支,不应该造成D+/D-和ID PIN上Good Battery Algorithm基础上额外的动作,这些动作会对SDP和Charging Port的检测造成影响。添加的额外分支也可以在Good Battery Algorithm检测最后步骤之后,这样的branch可以使用D+/D-和ID PIN上的动作作为判断的条件。但是要考虑到如果连接到DCP上时,要求VBUS有效后,D+要一直保持(D+>VDAT_REF)这种情况。
  • PD一旦检测到(VBUS>VOTG_SESS_VLD),将启动一个计时器TDCD_TIMEOUT。支持DCD的PD可以使能IDP_SRC并检测D+ 持续TDCD_DBNC时间在VLGC_LOW 。支持ACA检测的PD可以ID PIN在TDCD_DBNC时间内不在floating状态。如果在D+或ID PIN的连接被检测到之前,DCD计时器超时,PD将进行Primary Detection。
  • 如果PD检测到ID PIN在非floating的状态超过TDCD_DBNC,则直接进入一种ACA模式,而不需要进行Primary Detection 也没必要使能VDP_SRC。
  • Primary Detection的时候,PD会使能VDP_SRC,并比较D-和VDAT_REF,PD可以选择是否实现D-和VLGC的比较,以避免损坏PS2口。参考3.2.4.1。支持ACA检测的PD要求能检测ID PIN上的阻抗。
  • 如果PD在Primary Detection检测时确定了PD连接到了DCP或CDP上,并且可以被枚举,PD就可以按照连接DCP/CDP的分支继续执行。如果PD不能被枚举,则需要进行二次检测。
  • 在二次检测中,PD会disableVDP_SRC,使能VDM_SRC 并比较D+和VDAT_REF的电压。如果(D+ > VDAT_REF),则可以确定PD连接到了DCP上,PD会disable VDM_SRC,并且使能VDP_SRC 或通过RDP_UP上拉D+到VDP_UP。
  • 如果(D+ < VDAT_REF),则可以确定PD连接到了CDP上,PD会disable VDM_SRC,这样D+和D-将会保持在低电平,直到准备好连接和被枚举。
  • 连接到DCP的PD或者使能VDP_SRC 或者在连接后的 TSVLD_CON_PWD时间内上拉D+到高电平。
  • 支持ACA检测的PD要求检测ID PIN上的阻抗,如果检测到RID_A,PD会比较D-上的电压值和VDAT_REF and VLGC的关系,用以确定PD是连接到了ACA-DOCK上还是ACA-A上。详细参考Section 3.2.4.4

3.4 Charger Detection Timing    充电检测时序

3.4.1 Data Contact Detect Timing    DCD时序

为了开始DCD检测,PD使能IDP_SRC,并且使能IDM_SINK or RDM_DWN。当PD检测到D+线的低电平时间超过TDCD_DBNC,PD就判断Data PIN已经连接上了。
Figure 3-16 是从DCD检测开始到判断Data PIN连接的时序。

Figure 3-16 DCD Timing, Contact After Start



Figure 3-17 是DCD开始检测前Data PIN就已经连接上的时序图

Figure 3-17 DCD Timing, Contact Before Start



Figure 3-18 是没检测到DCD的时序

Figure 3-18 DCD Timing, No Contact

3.4.2 Detection Timing, CDP

Figure 3-19 是CDP的主要检测和二次检测的时序,包含了比较D+和VDAT_REF and VLGC,根据条件使能VDM_SRC的情况。当PD没连接时,CDP也可以保持使能VDM_SRC。详细参考Section 3.2.4.2

Notes:
1)LS PD的时序和左侧基本相同,不同的地方是LS PD会拉高D-线,而不是D+线。

  • Figure 3-19 是连接到CDP的PD主要检测和二次检测的时序。PD打开VDP_SRC and IDM_SINK。要求CDP从(D+ > VDAT_REF)开始的TVDMSRC_EN时间内使能D-线的VDM_SRC。(D+ > VDAT_REF)TVDPSRC_ON开始,PD可以检查D-线的状态,如果(D- > VDAT_REF)(或者选择性的判断D- < VLGC,参考 3.2.4.1),这是PD判断是连接到了Charging Port上,开始汲取IDEV_CHG大小的电流。
  • 为了进行二次检测,要求PD disable VDP_SRC and IDM_SNK,使能VDM_SRC and IDP_SINK。使能VDM_SRC and IDP_SINK 时间TVDMSRC_ON后,PD可以检查D+的状态。因为CDP在D+上没有电压源,所以(D+ < VDAT_REF),可以判断PD连接到了CDP上。
  • 如果PD在检测到VBUS时powered up,则要求PD在TSVLD_CON_PWD内建立连通。CDP会在检测到连通的TCON_IDPSNK_DIS内disable IDP_SINK 。

3.5 Ground Current and Noise Margins    接地电流及噪声容限

在USB2.0 spec. 图7-47中,100mA的电流在USB线缆中的GND line上能产生25mV的压差。这就造成了Host的GND和device的GND有25mV的压差。GND的电压差降低了信号和充电检测的噪声容限。

PD能从CDP汲取的最大电流值是IDEV_CHG.当PD本地的GND电平大于远端host GND电平达到最大允许值VGND_OFFSET时,在PD从CDP汲取电流大于ICFG_MAX的时候,要求PD支持LS,FS,HS和Chirp。(即边界条件下对保证必须功能的要求)

当Host和PD间GND的电压偏置达到最大值VGND_OFFSET max时,要求PD和CDP要有大于USB2.0中标称的共模的范围。

4. Charging Port and Portable Device Requirements    对充电端口和PD的要求

这一章介绍了如下的要求:
  • CDP
  • ACA-DOCK
  • DCP
  • ACA
  • PD

4.1 Charging Port Requirements    对充电端口的要求

一下要求适用所有类型的充电端口,包括CDP, ACA-Dock, DCP and ACA。

4.1.1 Overshoot    正过冲

充电端口的输出电压在负载电流任一阶段的变化都不能超过VCHG_OVRSHT(充电电流会根据不同的充电阶段发生变化),在充电端口上电或掉电的时候也不能超过这个值。

4.1.2 Maximum Current    最大电流

在任何情况下,充电端口的输出电流都不能超过ICDP的最大值。

4.1.3 Detection Renegotiation    重新检测

DS port可以是SDP,CDP或者DCP,并可以在这几种端口之间切换。为了使PD重新启动充电检测流程,要求DS port:
  • 停止驱动VBUS
  • 允许VBUS电压降到 VBUS_LKG之下
  • 等待 TVBUS_REAPP  时间
  • 从新驱动VBUS

4.1.4 Shutdown Operation    关断操作

如果PD汲取的电流超过了Charging Port能提供的范围,此时Charging Port可以关断。关断类型包括:
  • 关断VBUS
  • 恒定电流限制
  • 反向电流限制

4.1.5 Failure Voltage    失效电压

充电端口任意单点故障时的输出电压,要保证在 VCHG_FAIL 范围内。

4.1.6 Multiple Ports    多端口

有多个充电端口的充电器,每个充电端口应该保证在自己允许工作条件下,不用管其它端口。

4.2 Charging Downstream Port

如下要求适用于CDP

4.2.1 Required Operating Range    需要的工作范围

CDP在输出电流小于 ICDP min 时,输出电压范围应该保证在VCHG。VBUS上电压值是TVBUS_AVG时间的平均值。当负载电流大于ICDP min,CDP可以关断。一旦关断,则需要遵循Section 4.1.4的要求。

Figure 4-1是CDP负载曲线的几个例子。负载曲线在VCHG电压范围内要求横穿ICDP min。在电流小于ICDP min范围内,负载曲线不能横穿VCHG min。

Figure 4-1 CDP Required Operating Range


4.2.2 Shutdown Operation    关断操作

如果CDP因为电流过载而关断,当过载条件消失后,CDP应该在TSHTDWN_REC内恢复并输出正常范围的电压VCHG

4.2.3 Undershoot    负过冲

在负载电流小于ICDP min时,负载电流的任一阶段的变化,CDP的输出电压都应该保持在VCHG_UNDSHT

4.2.4 Detection Signaling    信号检测

当远端PD没连通到CDP上时,要求CDP实现两种行为方式中的一种。
  • 第一种方式:
    在断开连接后的TCP_VDM_EN内使能VDM_SRC,然后在连接后的TCP_VDM_DIS时间内disable VDM_SRC。使用这种方式的时候,不要求CDP使能IDP_SINK,或者和D+比较电压值VDAT_REF.
  • 第二种方式:
    比较D+电压值和VDAT_REF and VLGC的大小关系。当(VDAT_REF < D+ < VLGC),CDP使能VDM_SRC。D+ < VDAT_REF)D+ > VLGC),CDP disable VDM_SRC.时序参考Section 3.4.2

4.2.5 Connector    连接器

CDP是一个Standard-A的母口,连接到PD。

4.3 ACA-Dock

如下的规定适用于ACA-DOCK的US PORT.

4.3.1 Required Operating Range    

同CDP

4.3.2 Undershoot    负过冲

同CDP

4.3.3 Detection Signaling    信号检测

  • 当PD连接到ACA-DOCK上时,PD作为host的同时从VBUS汲取电流。这种情况类似于PD连接到ACA,ACA的Accessory Port连接了一个外设的情况。
  • 为了通知PD它将作为host汲取电流,ACA-DOCK和ACA都需要通过电阻RID_A下拉ID PIN到GND。
  • ACA-DOCK要以 ICDP 给PD供电,但是ACA以 IDCP 给PD供电,并且这个电流必须共享给PD和 Accessory Port连接的任何设备。为了使PD能区分它连接到了一个ACA-DOCK上,而不是ACA上,ACA-DOCK应该按如下要求在D-上使能VDM_SRC:
        1.如果 D+/- 在Idle J态时间超过TCP_VDM_EN,ACA-DOCK将使能VDM_SRC
        2.在D+/-上信号发生变化的TCP_VDM_DIS时间内,ACA-DOCK将停止VDM_SRC

4.3.4 Connector    连接器

ACA-DOCK应该有一个Micro-A的公口,用来连接PD的Micro-AB母口。

4.4 Dedicated Charging Port    DCP

以下内容是对DCP的要求

4.4.1 Required Operating Range    需要的工作范围

当DCP输出的电流小于IDCP min的情况下,输出的电压应该在VCHG定义的范围内。VBUS的电压是在TVBUS_AVG时间的平均值。

当DCP的负载电流小于IDEV_CHG,并且负载电压大于VDCP_SHTDOWN时,DCP应该保持工作不被关断。当负载电流大于IDEV_CHG,或者负载电压小于VDCP_SHTDOWN时,DCP可以被关断。关断后,遵循Section 4.1.4的要求。

Figure 4-2 是几个负载曲线的例子。DCP负载曲线要求穿过恒定电流线IDEV_CHG max,或者恒定电压线VDCP_SHTDWN。DCP不允许在需要的工作范围内关断。
Figure 4-2 DCP Required Operating Range

4.4.2 Undershoot    负过冲

负载电流从IDCP_LOW to IDCP_MID,或者从IDCP_MID to IDCP_HI 任一阶段的变化,DCP的负过冲电压始终应该保持在VCHG_UNDSHT范围内。在负载阶段从low to mid后,要求DCP在TDCP_LD_STP时间内负载阶段从mid to hi也要符合这个要求。负过冲的持续时间要在TDCP_UNDSHT定义的范围内。

负载电流的变化如果从IDCP_LOW to IDCP_HI,DCP供给PD的负载电压可以drop TDCP_UNDSHT时间。这个时间后DCP的输出电压应该在VCHG范围内,负载电流应该小于IDCP min。

4.4.3 Detection Signaling    信号检测

  • DCP在D+和D-间用RDCP_DAT短接
  • DCP D+/D- PIN上的漏电流应该小于或者等于两个连接到 VDAT_LKG 的RDAT_LKG电阻的漏电流。参考 Figure 3-6.
  • D+/- pins 和DCP GND之间的电容应该在 CDCP_PWR规定的范围内

4.4.4 Connector

一个DCP应该有一个Standard-A的母口,或者有一个Micro-B公口的一体线

4.5 Accessory Charger Adapter

以下是对充电端口连接了DCP或CDP的ACA要求。

4.5.1 Required Operating Range    要求的工作范围

对ACA的OTG Port要求的工作范围受以下因素的影响:
• 充电口上的设备 (DCP or CDP)
• 从Accessory Port汲取的电流
• RACA_CHG_OTG
• VACA_OPR
ACA OTG Port能提供给PD的电流的大小取决于Charger Port能提供电流的大小和连接在Accessory Port的设备汲取的电流的大小。OTG端口能获得的电压值取决于充电端口的电压,从OTG and Accessory Ports汲取的电流的大小和RACA_CHG_OTG。只有在充电端口的电压在VACA_OPR范围时,才能要求ACA正常工作。

4.5.2 Undershoot    负过冲

充电端口连接DCP或CDP的ACA应该遵循和DCP一样负过冲要求。

4.5.3 Detection Signaling    信号检测

如spec中Section 6中描述的,ACA应该把OTG端口的ID PIN下拉到GND,下拉电阻可选值是:RID_GNDRID_C, RID_BRID_ARID_FLOAT
ACA中D+/D- PIN应该是从OTG端口直连到the Accessory Port.

4.5.4 Connector

ACA的OTG端口应该是一根Micro-A的一体线。

4.6 Portable Device

以下部分是对PD的要求

4.6.1 Allowed Operating Range

PD从充电端口汲取的最大电流不能超过IDEV_CHG。PD不能把充电端口的电压拉低到VDCP_SHTDWN max以下。Figure 4-3 是PD的正常工作范围。
Figure 4-3 Portable Device Allowed Operating Range

备注:
1) 根据USB 2.0 7.2.2,VBUS的电压可以从US port的4.75V下降到DS port的4.5V。 允许的0.25V的压降是因为线缆和连接器的阻抗产生的。

4.6.2 Detection Signaling

所有的PD都应该实现以下的检测特征:
• DCD timer (TDCD_TIMEOUT)
• Primary Detection    主要检测
    o 区分是DCP/CDP还是SDP类型的充电设备
    o 在Primary Detection时比较D-和VDAT_REF 的大小

PD可以选择性的实现以下检测特征:
• DCD, 使用 IDP_SRC
• 在主要检测期间比较D-和VLGC的大小
• 二次检测
• ACA 检测

4.6.3 Detection Renegotiation    重新检测

为了再次重新开始充电器的检测流程,允许DS关断并从新使能VBUS上的供电。参考Section 4.1.3. 为了检测到VBUS的掉电,要求PD在VBUS关断时能对VBUS上的寄存的电荷快速的放电。要求在TVLD_VLKG时间内使电压低于VBUS_LKG。
当PD连接到充电端口时,允许PD断开并重复数次充电器的检测流程。在断开连接到从新开始充电器检测流程之间,要求PD最少等待TCP_VDM_EN max 时间,。

4.6.4 Connector

能连接到ACA-DOCK或ACA的PD应该有一个的Micro-AB母口

6. Accessory Charger Adapter

6.1 前言

随着移动设备变得越来越小,对外只留一个接口是大势所趋。如果这个仅有的接口是USB接口,那就会面临一个问题,在PD已经连接其它设备的同时,还需要给设备充电该怎么办。
举个例子,用户在汽车里边,把耳机连接到了手机上,但此时手机的电量很低了,需要充电,在充电的同时,仍然可以继续使用耳机通话。如果手机只有一个借口,那么就不可能把耳机和充电器同时连到一个接口上。
另外还有这么一种情况,设想有这么一种移动设备,只有一个接口,但也可以作为掌上PC。当这样的PD放到ACA-DOCK上时,它可以作为host连接各种各样的外设,比如hub, keyboard, mouse, printer等等。但是同时也可以被充电。
这章主要就是阐述一种方法,一个USB端口,可以同时连接充电器和设备。这种方法是用了一种ACA的设备实现。如Figure 6-1。

Figure 6-1 Accessory Charger Adapter



ACA 有如下的三个端口:
• OTG Port
• Accessory Port
• Charger Port

OTG Port 有一根 Mircro-A公口的一体线。只有OTG设备(比如带有Micro-AB母口的设备)能连接到这个OTG Port上。
连接到Accessory Port上的外设能是用正常的USB信号和OTG设备通信。

Charger Port将ACA连接到一个Charger PortCharger Port提供的电量既可以供给OTG设备,也可以供给外设。要求ACA把Charger Port仅仅标识为充电器,因为ACA不支持OTG PortCharger Port的USB通信。

Charger Port 仅仅用来供电。同时也要求ACA提供一个指示用来显示什么时候能给OTG and Accessory Ports供电。

有两种类型的ACA
• Micro ACA
• Standard ACA
Micro ACA有一个Micro-AB 母口作为Accessory Port,既能连接A-device也能连接B-device。Standard ACA 有一个Standard-A的母口作为Accessory Port,只能连接B-device。

6.2 Micro ACA

6.2.1 Micro ACA Ports

Figure 6-2 Micro ACA的端口描述
Figure 6-2 Micro ACA Ports


能连接到Micro ACA的Accessory Port(Micro-AB 母口)的线缆类型包括:
• Micro-A to Micro-B
• Micro-A to captive
• Micro-B to Standard-A
• Micro-B to Micro-A
Micro ACA的Charger Port接口类型包括:
• Micro-B 母口
• Standard-A公口的一体线
• 连接charger的一体线

6.2.2 Micro ACA Connectivity Options    Micro ACA连接方法
Table 6-1 是设备连接到Micro ACA端口的各种组合。

Table 6-1 Micro ACA Connectivity Options

  • ACA不能通过充电端口进行数据通信。仅仅允许从充电端口充电。
  • 当SDP或OTG设备连接到Charger Port时,不能通过Charger Port从SDP或OTG设备汲取电流。
OTG device和B-device 都从Charger Port充电的情况,不必支持SRP,因为VBUS在OTG Port and Accessory Port已经都存在了。
要求OTG device限制从ACA汲取的电流,因为要求保证VBUS_OTG的电平始终大于VACA_OPR min,汲取电流过大可能将VBUS_OTG拉低至VACA_OPR min以下

6.2.3 Micro ACA Architecture    Micro ACA结构

Figure 6-3 是Micro ACA的结构.

Figure 6-3 Micro ACA Architecture


Accessory Switch控制VBUS_OTG 和 VBUS_ACC之间的电流通断。Charger Switch控制VBUS_CHG 和VBUS_OTG之间的电流通断。
Adapter Controller有如下的功能:
• 读ID_ACC pin的状态(grounded or floating)
• 在ID_OTG pin上使能一种状态, (RID_GNDRID_ARID_BRID_C or RID_FLOAT)
• 使用DP_CHG and DN_CHG pins 检测Charger Port是否连接到了充电器上
• 读取 VBUS_ACC pin上的电压
• 控制 Charger 和 Accessory Switches

6.2.4 Micro ACA Modes of Operation    Micro ACA的工作模式

Micro ACA的工作模式见Table 6-2, 这个表假设OTG Port连接的总是OTG device。


Table 6-2 Micro ACA Modes of Operation

备注
1)   Open是指switch的高阻态,即不导通。
     Closed 是指switch低阻态,即导通。

在第5行和第7行,充电器连接到了Micro ACA Charger Port,Accessory Port没连接设备或者连接到Accessory Port的A-device并没驱动VBUS。
ACA使能ID PIN上的 RID_B 电阻向 OTG device表明ACA可以对它充电,并允许OTG device发起SRP请求。OTG device不能建立连通(这意味着OTG device要保持DP_OTG在低电平)。这是因为如果连接到Accessory Port的 A-device如果没有驱动VBUS,根据USB spec规定,数据线要保持在低电平。

PS: Micro ACA的Accessory Port连接A-device,在什么情况下才能和OTG-Port的B-device建立连通?
     参见第3,4行。

第8行,充电器连接到了Micro ACA的Charger Port, Accessory Port上连接了使能VBUS的A-device。ACA使能ID PIN上的电阻RID_COTG Port上的OTG B-device表明ACA可以对它充电,并且可以建立连通。但是OTG Port的OTG B-device不能发起SRP,因为A-device已经使能了VBUS
(PS:这个解释没看明白, Accessory switch open,怎么发起SRP?答:这里的SRP是指OTG Port上的B-Device对Charger Port上的充电器发起的).

第6行,充电器连接到了Micro ACA的Charger Port,B-device连接到了Accessory Port。ACA使能ID PIN上的电阻RID_AOTG Port上的OTG device表明ACA可以对它充电,并且表示OTG Port上的OTG device作为host。

6.2.5 Implications of not Supporting Micro ACA Detection    不支持Micro ACA检测的影响

OTG的附录仅仅定义了ID PIN的 floating(悬空) and ground 状态。floating state定义是ID PIN的对地电阻大于1M,ground state的定义是ID PIN的对地电阻小于10Ω。因为RID_ARID_B and RID_C的阻值是介于悬空和接地电状态的阻值之间,所以一个不支持ACA检测的OTG device有可能把ACA的阻值判断为floating state,也可能判断为ground state。

如果一个OTG device设备把RID_A 识别为 floating,就会:
• 不知道什么时候从VBUS汲取IDEV_CHG的电流
• 将被默认作为peripheral而不是host

如果一个OTG device设备把RID_B 识别为ground,就会:
• 在ACA连通Charger Switch驱动VBUS_OTG 的同时,OTG device也将做为host试图驱动VBUS_OTG
• 本来应该默认作为peripheral,但是却默认做为host

如果一个OTG device设备把RID_B 识别为floating,就会:
• 不知道什么时候能从VBUS汲取高达IDEV_CHG的电流
• 不知道什么时候发起SRP
• 就会默认自己是B-device连接到了host,可能被要求建立连通,检测到VBUS后OTG device会使能D+/D-上的15K上拉电阻,这就违反了USBUSB back-drive voltage规范。如果检测到的是RID_B,则不会使能D+/D-上的15K上拉电阻建立连通。

如果一个OTG device设备把RID_C 识别为ground,就会:
• 在ACA连通Charger Switch驱动VBUS_OTG 的同时,OTG device也将做为host试图驱动VBUS_OTG
• 本来应该默认作为peripheral,但是却默认做为host

如果一个OTG device设备把RID_C 识别为floating,就会:
• 不知道什么时候能从VBUS汲取高达IDEV_CHG的电流S

6.2.6 Micro ACA Requirements    对Micro ACA的要求

  • 当不是充电器连接到Micro ACA的Charger Port时,从Micro ACACharger Port 汲取的电流应该小于ISUSP (只有充电器在Charger Port 有充电功能。
  • 当充电器连接到Micro ACA的Charger Port,并且没有设备连接到时OTG Port or Accessory Port时,Micro ACA汲取的电流应该小于ISUSP (PS:这个要求不违反Table 6-2的第5项和Table 6-1的第1项吗?
  • Table 6-2,当 Accessory Switch导通,并且 VBUS_CHG 在VACA_OPR范围内时,ACA内部VBUS_CHG and VBUS_OTG管脚间的电阻应该在RACA_CHG_OTG 范围内。
  • Table 6-2,当 Accessory Switch导通,并且 VBUS_CHG 在VACA_OPR范围内时,ACA内部VBUS_CHG and VBUS_ACC管脚间的电阻应该在RACA_CHG_ACC 范围内。
  • Table 6-2,当 Accessory Switch导通,并且 VBUS_OTG 在VACA_OPR范围内时,ACA内部VBUS_OTG and VBUS_ACC管脚间的电阻应该在RACA_OTG_ACC 范围内。
  • Micro ACA内部GND,和连接到OTG port上的Micro-AB母口的GND,之间的电阻应该在ROTG_ACA_GND范围内。这个要求限制了在大电流充电的情况下OTG GND和ACA GND的电平差。相应的,在大电流的情况下,也使OTG device能更精确的检测ACA ID的阻值。
  • Micro ACA检测到有效的VBUS_CHG,将在DP_CHG上使能VDP_SRC。如果ACA检测到(VDN_CHG>VDAT_REF),ACA就要在(VBUS_CHG>VOTG_SESS_VLD)的条件下一直保持关闭Charger Switch。注意这样可能会造成ACA从PS2端口汲取大于ICFG_MAX的电流。
  • 当充电端口连接到CDP上时,充电电流会造成(CDP ground < ACA ground),这样可能造成DN_CHG < ACA的VDAT_REF)。CDP可能会因此会做USB reset。ACA应该在此时忽略这样的影响,继续保持Charger Switch的导通。当( VBUS_CHG < VOTG_SESS_VLD),在关断Charger Switch前要求再次检查(VDN_CHG>VDAT_REF)条件是否存在在
  • 要求Micro ACA在VBUS_OTG and VBUS_ACC上都应该有CMACA_VBUS范围内的电容。因为支持ADP的设备能判断他们什么时候被连接到ACA上。

6.2.7 Portable Device State Diagram    移动设备的状态机 

Figure 6-4 是PD连接到 SDP, CDP, DCP, Micro ACA, ACA-Dock or B-device上时的状态机.

Figure 6-4 Portable Device State Diagram


每个圆环表示PD的一种状态。每个圆环里的第一行是状态编号。
  • 第二行的第一个符号表示PD是否连接到了一个充电端口。
  • 第二行的第二个符号表示PD连接到ACA的时候,ACA的 Accessory Port连接的设备类型。比如是作为host(3、4)还是peripheral(6、7),还是Accessory port上没连设备(5)。或者PD连接到了Dock上(2)。
  • 第三行表示连接到ACA或ACA-Dock的设备(充电器和Accessory Port连接的设备)是否会驱动PD的VBUS。state7对应Table 6-2的第2项和Table 6-1的第三项,此时PD可以驱动VBUS,此时没连接充电器,Accessory Port连接的设备作为peripheral也不能驱动VBUS。
  • 第四行表示连接到ACA或ACA-Dock的设备(充电器和Accessory Port连接的设备)呈现出在ACA或ACA-Dock内部ID PIN上的阻值。这个阻值会通过PD的ID PIN被检测到。

  • In state 1,PD检测到它并没有连接到任何设备上,或者连接到的设备上并不能驱动VBUS或者拉低ID PIN。 
  • In state 2, PD连接到了ACA-Dock上,Dock驱动VBUS.如果PD从ACA-Dock上移除或者ACA-Dock停止驱动VBUS,PD的状态机跳转到 state 1。如果ACA            没驱动VBUS,则要求ACA把ID PIN置于float状态。如果ACA-Dock在没驱动VBUS时将ID PIN接地,则PD会错误的跳转到state7,此时PD会试图驱动VBUS给ACA-Dock。
  • In state 3,PD直接连在了A-device上,或者连接到了一个ACA上,这个ACA的Accessory Port连接了A-device。不管是两种情况中的哪一种,PD都将从A-device汲取电流,而不会从ACA的Charger Port汲取电流。圆环的第2行的”chg“字符正式为了表示PD是否连接到了充电端口。如果一个A-device被一个PD识别为CDP,PD则可以从A-device汲取IDEV_CHG 大小的电流。
  • In state 4,PD连接到了一个ACA上,ACA的Charger Port连接了充电器,ACA的Accessory Port连接了一个A-device。从ACA上断开PD的连接将使PD的状态跳转到state1.
  • In state 5,PD连接到了一个ACA上,ACA的Charger Port连接了充电器,ACA的Accessory Port没连接任何设备。
  • In state 6,PD连接到了一个ACA上,ACA的Charger Port连接了充电器,ACA的Accessory Port连接了一个B-device。从ACA上断开PD的连接将使PD的状态跳转到state1.
  • In state 7,PD连接到了一个B-device上,或者连接到了一个Accessory Port带有B-device的ACA上。这是唯一需要PD驱动VBUS供电的状态。In states 2 to 6,PD可以从VBUS上汲取电流。

6.3 Standard ACA    

6.3.1 Standard ACA Ports

Figure 6-5 是Standard ACA的端口示意图.

Figure 6-5 Standard ACA Ports


有如下的几种类型的线缆可以连接Standard ACA的 Accessory Port到一个Accessory:
• Standard-A to Micro-B
• Standard-A to Standard-B
• Standard-A to captive(比如键盘)
Standard ACA 的Charger Port可以通过一以下的几种机械接口连接:
• Micro-B receptacle
• Captive cable terminating in a Standard-A plug(Standard-A公口的ACA一体线)
• Captive cable terminating in a charger(连接charger的ACA一体线
由此可知,并不能通过带有Micro-B公口的charger一体线连接Standard ACA 的Charger Port,估计没有这种线。


Table 6-3 Standard ACA Connectivity Options
ACA不能通过Charger Port进行数据通信。ACA的Charger Port连接充电器时才能充电。当SDP或OTG设备连接到Charger Port时,不允许通过ACA的Charger Port充电。

OTG device and a B-device都从ACA的Charger Port充电的情况,不需要支持SRP,因为VBUS在OTG Port and Accessory Port都已经被驱动了。

要求限制OTG device从ACA的OTG Port汲取的电流大小,这样是为了保证(VBUS_OTG > VACA_OPR).OTG device如果汲取电流过大,造成充电器过载,会拉低VBUS_OTG。

6.3.2 Standard ACA Architecture

Figure 6-6 是Standard ACA的结构。

Figure 6-6 Standard ACA Architecture


Charger Switch控制电流从VBUS_CHG流向VBUS_OTG。注意,和Micro ACA不同的是,Standard ACA没有Accessory Switch。
要求 Standard ACA在VBUS_OTG or VBUS_ACC PIN上连接CSACA_VBUS大小的电容,原因如下。

因为Standard ACA的Accessory Port使用了Standard-A母口,所以Accessory Port没有ID PIN。因此,Standard ACA不能检测到什么时候设备插到 Accessory Port,因此,也无法通知OTG Device这个连接事件。如果一个充电器连接到 ACA的Charger Port上,这时候accessory就能建立连接,OTG device就能检测到连接事件。如果ACA Charger Port没连接充电器,那OTG Device或者停止驱动VBUS,或者这做ADP。为了是ADP正常进行,VBUS_OTG and VBUS_ACC PIN上的等效电容要在 CSACA_VBUS范围内

Adapter Controller有以下几个作用:
  • ID_OTG pin使能一种状态(RID_GNDRID_A)
  • DP_CHG and DN_CHG pins检测Charger Port是否连接了充电器
  • 控制Charger Switch

6.3.3 Standard ACA Modes of Operation    工作模式

Table 6-4是Standard ACA的工作模式, 在下面做了具体的解释. 这个表假设ACA的OTG Port上一直连着OTG Device。


Table 6-4 Standard ACA Modes of Operation
备注:
1) Open是指switch的高阻态,即不导通。
   Closed 是指switch低阻态,即导通。
当PD连接到Standard ACA时,ID_OTG PIN的状态是RID_GND or at RID_A之一。并且PD一直作为A-device。

6.3.4 Implications of not Supporting Standard ACA Detection    不支持Standard ACA检测的影响
OTG的附录仅仅定义了ID PIN的 floating(悬空) and ground 状态。floating state定义是ID PIN的对地电阻大于1M,ground state的定义是ID PIN的对地电阻小于10Ω。因为RID_A的阻值是介于悬空和接地电状态的阻值之间,所以一个不支持ACA检测的OTG device有可能把ACA的阻值判断为floating state,也可能判断为ground state。
如果一个OTG device设备把RID_A 识别为 floating,就会:
• 不知道什么时候从VBUS汲取IDEV_CHG的电流
• 将被默认作为peripheral而不是host

6.3.5 Standard ACA Requirements    Standard ACA的要求(基本和Micro-ACA相同

  • 当不是充电器连接到Standard ACA的Charger Port时,从Standard ACACharger Port 汲取的电流应该小于ISUSP (只有充电器在Charger Port 有充电功能。)(同)
  • 当充电器连接到Standard ACA的Charger Port,并且没有设备连接到时OTG Port or Accessory Port时,Standard ACA汲取的电流应该小于ISUSP (PS:这个要求不违反Table 6-2的第5项和Table 6-1的第1项吗?)(同)
  • Table 6-4,当 Charger Switch导通,并且 VBUS_CHG 在VACA_OPR范围内时,ACA内部VBUS_CHG 和 VBUS_OTG、VBUS_ACC管脚间的电阻应该在RACA_CHG_OTG 范围内。
  • Standard ACA内部GND,和连接到OTG port上的Micro-AB母口的GND,之间的电阻应该在ROTG_ACA_GND范围内。这个要求限制了在大电流充电的情况下OTG GND和ACA GND的电平差。相应的,在大电流的情况下,也使OTG device能更精确的检测ACA ID的阻值。(同)
  • Standard ACA检测到有效的VBUS_CHG,将在DP_CHG上使能VDP_SRC。如果ACA检测到(VDN_CHG>VDAT_REF),ACA就要在(VBUS_CHG>VOTG_SESS_VLD)的条件下一直保持关闭Charger Switch。注意这样可能会造成ACA从PS2端口汲取大于ICFG_MAX的电流。(同)
  • 当充电端口连接到CDP上时,充电电流会造成(CDP ground < ACA ground),这样可能造成DN_CHG < ACA的VDAT_REF)。CDP可能会因此会做USB reset。ACA应该在此时忽略这样的影响,继续保持Charger Switch的导通。当( VBUS_CHG < VOTG_SESS_VLD),在关断Charger Switch前要求再次检查(VDN_CHG>VDAT_REF)条件是否存在在(同)


阅读更多
上一篇mtk charger
下一篇USB BC1.2的三种端口
想对作者说点什么? 我来说一句

battery charging spec 1.2

2011年04月26日 755KB 下载

PCI Express Base Specification Revision 2.0

2018年06月20日 3.04MB 下载

USB OTG标准协议 英文版

2012年05月10日 418KB 下载

没有更多推荐了,返回首页

关闭
关闭
关闭