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

Battery Charging Specification
Revision 1.2

December 7, 2010

2014.04.03 Rev0.1
转载请注明转自: liglei-CSDN博客

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_A ACA 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  R ID_B ACA 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时候使能 V DM_SRC(D- Source Voltage VDM_SRC Note 1 0.5 0.7 V
        2.把ID下拉到GND,通过电阻 R ID_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+线上的电压 V DAT_REF(Data Detect Voltage 0.25V~0.4V)VDP <  V LGC(Logic Threshold 0.8V~2V)后,会在D-线上输出 V DM_SRC(0.5v~0.7v)。从外设联通时起,CDP将不再把电压 V DM_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 < I DCP  <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电压在 V CHG(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-下拉15K电阻到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上的时候, I CFG_MAX(Maximum Configured Current when connected to a SDP ICFG_MAX Note 2 500 mA  2.1 )变为900mA, I UNIT变成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汲取 I UNIT电流,规定如下:
  • 连接后超过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汲取配置电流(最大至 I CFG_MAX=500mA),不需要通过USBCV测试。规则如下:
  • 响应接收到的令牌
    PD要求响应host发来的任何令牌,以NAK或有效的USB response
  • 响应USB reset
    一旦接收到复位信号,PD将减小充电电流到 I UNIT。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.”
从这句话来理解,session是VBUS从有到无一段时间,它是针对VBUS的,所以以后也可以理解为 有效的 VBUS,只是这时候的VBUS是基于一定的时间段有效的。
每个PD的 V BUS电源线的内部都有一个电压比较器,用来判断 VBUS什么时候有效,和谁做比较呢?和内部的有效电压阈值比,可以理解是和一个定值比,高于这个值就是有效的 VBUS。这个阈值在本规范中叫做internal session valid threshold,它的范围在定义为 V OTG_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+提供的电流源 I DP_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)的最小
值要求能保证在最坏漏电流( R DAT_LKG and  V DAT_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_LKG, VDAT_LKG and  RDP_DWN 情况下, RDP_DWN 使D+保持在 VLGC_LOW Logic 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_SINK(D- 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_EN(Time for Charging Port to assert
    VDM_SRC on D- max=200ms)时间内,使能VDM_SRC ( D- Source Voltage  0.5~0.7V);在连接PD的TCP_VDM_DIS Time 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提供  I CDP的充电电流;没有或有多个DS port。
ACA: ACA-DOCK上电后,如果US port没连接PD,则US port各个pin的状态需要偏置到特定的状态
• VBUS  VCHG Charging Port Output Voltage 4.75~5.25 V
• D+  VDP_UP D+ pull-up Voltage 3.0~3.6 V
• D-  VDM_SRC D- Source Voltage 0.5~0.7 V
• ID  RID_A ACA ID pull-down, OTG device as A-device 122~126 kΩ
• GND GND
VBUS=  V CHG: 因为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操作 V DM_SRC的要求
每当D+/D-在inactive(idle J state)超过  TCP_VDM_EN Time for Charging Port to assert VDM_SRC on D- max=200ms ),时,ACA-DOCK要enable  V DM_SRC。ACA-DOCK 必需在D+/D-线上有活动的 T CP_VDM_DIS  Time for Charging Port to remove VDM_SRC on D- max=10ms内disable  V DM_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  R ID_A
V DAT_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_HI Logic High 2.0~3.6 V 而不是VDM_SRC( D- Source Voltage 0.5~0.7 V))。
为了区分( 连接了LS设备的ACA(D-=3.3v> V LGC ))和ACA-DOCK( VDAT_REF < D- < VLGC),要求PD比较D-的电压值与  V LGC的关系

PD: PD的 V DP_SRC 的控制
当ACA-DOCK通过  RDP_UP 上拉D+到  VDP_UP时,PD的 V DP_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> V OTG_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的 T SVLD_CON_PWD Session 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  R ID_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使能 I DP_SRC,并且使能 I DM_SINK or  R DM_DWN。当PD检测到D+线的低电平时间超过 T DCD_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+和 V DAT_REF and  V LGC,根据条件使能 V DM_SRC的情况。当PD没连接时,CDP也可以保持使能 V DM_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电平达到最大允许值 V GND_OFFSET时,在PD从CDP汲取电流大于 I CFG_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    正过冲

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

4.1.2 Maximum Current    最大电流

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

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 时,输出电压范围应该保证在 V CHG。VBUS上电压值是 T VBUS_AVG时间的平均值。当负载电流大于 I CDP min,CDP可以关断。一旦关断,则需要遵循 Section 4.1.4的要求。
Figure 4-1是CDP负载曲线的几个例子。负载曲线在 V CHG电压范围内要求横穿 I CDP min。在电流小于 I CDP min范围内,负载曲线不能横穿 V CHG min。
Figure 4-1 CDP Required Operating Range

4.2.2 Shutdown Operation    关断操作

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

4.2.3 Undershoot    负过冲

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

4.2.4 Detection Signaling    信号检测

当远端PD没连通到CDP上时,要求CDP实现两种行为方式中的一种。
  • 第一种方式:
    在断开连接后的 T CP_VDM_EN内使能 V DM_SRC,然后在连接后的 T CP_VDM_DIS时间内disable   V DM_SRC。使用这种方式的时候,不要求CDP使能 I DP_SINK,或者和D+比较电压值 V DAT_REF.
  • 第二种方式:
    比较D+电压值和 V DAT_REF and  V LGC的大小关系。当( V DAT_REF < D+ <  V LGC),CDP使能 V DM_SRC。D+ <  V DAT_REF)D+ >  V LGC ),CDP disable   V DM_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态时间超过 T CP_VDM_EN,ACA-DOCK将使能 V DM_SRC
        2.在D+/-上信号发生变化的 T CP_VDM_DIS时间内,ACA-DOCK将停止 V DM_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输出的电流小于 I DCP min的情况下,输出的电压应该在 V CHG定义的范围内。VBUS的电压是在 T VBUS_AVG时间的平均值。
当DCP的负载电流小于 I DEV_CHG,并且负载电压大于 V DCP_SHTDOWN时,DCP应该保持工作不被关断。当负载电流大于 I DEV_CHG,或者负载电压小于 V DCP_SHTDOWN时,DCP可以被关断。关断后,遵循 Section 4.1.4的要求。
Figure 4-2 是几个负载曲线的例子。DCP负载曲线要求穿过恒定电流线 I DEV_CHG max,或者恒定电压线 V DCP_SHTDWN。DCP不允许在需要的工作范围内关断。
Figure 4-2 DCP Required Operating Range

4.4.2 Undershoot    负过冲

负载电流从 I DCP_LOW to  I DCP_MID,或者从 I DCP_MID to  I DCP_HI 任一阶段的变化,DCP的负过冲电压始终应该保持在 V CHG_UNDSHT范围内。在负载阶段从low to mid后,要求DCP在 T DCP_LD_STP时间内负载阶段从mid to hi也要符合这个要求。负过冲的持续时间要在 T DCP_UNDSHT定义的范围内。
负载电流的变化如果从 I DCP_LOW to  I DCP_HI,DCP供给PD的负载电压可以drop  T DCP_UNDSHT时间。这个时间后DCP的输出电压应该在 V CHG范围内,负载电流应该小于 I DCP 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汲取的电流的大小和 R ACA_CHG_OTG。只有在充电端口的电压在 V ACA_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从充电端口汲取的最大电流不能超过 I DEV_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上的寄存的电荷快速的放电。要求在 T VLD_VLKG时间内使电压低于 V BUS_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 Port。Charger Port提供的电量既可以供给OTG设备,也可以供给外设。要求ACA把Charger Port仅仅标识为充电器,因为ACA不支持OTG Port和Charger 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的电平始终大于 V ACA_OPR min,汲取电流过大可能将VBUS_OTG拉低至 V ACA_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上的  R ID_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上的电阻 R ID_C向OTG 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上的电阻 R ID_A向OTG 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  R ID_C的阻值是介于悬空和接地电状态的阻值之间,所以一个不支持ACA检测的OTG device有可能把ACA的阻值判断为floating state,也可能判断为ground state。
如果一个OTG device设备把 RID_A 识别为 floating,就会:
• 不知道什么时候从VBUS汲取 I DEV_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汲取高达 I DEV_CHG的电流
• 不知道什么时候发起SRP
• 就会默认自己是B-device连接到了host,可能被要求建立连通,检测到VBUS后OTG device会使能D+/D-上的15K上拉电阻,这就违反了USBUSB back-drive voltage规范。如果检测到的是 R ID_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汲取高达 I DEV_CHG的电流S

6.2.6 Micro ACA Requirements    对Micro ACA的要求

  • 当不是充电器连接到Micro ACA的Charger Port时,从Micro ACA的Charger 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上连接 C SACA_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  R ID_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汲取 I DEV_CHG的电流
• 将被默认作为peripheral而不是host

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

  • 当不是充电器连接到Standard ACA的Charger Port时,从Standard ACA的Charger 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)条件是否存在在(同)
1 Introduction 1.1 General This compliance plan enables test and certification of USB Portable Devices, Charge rs and Charging Ports, Micro - ACAs, Standard - ACAs and ACA - Docks to USB 2.0 specification and to Battery Charging specification revision 1.2. Charging Ports include Dedicated Charging Ports and Charging Downstream Ports as defined in the Battery Charging Sp ecification revision 1.2. A USB Charger is a device with a Dedicated Charging Port, such as a wall adapter or car power adapter. Herein, USB Chargers are referred to as Dedicated Charging Ports as functionally they are identical. Previously a USB Portable Device with a battery and charging capability simply took power from a USB port without any control. With BC 1.2, a Portable Device can get more power and the battery can be charged faster. It is important to verify that a Portable Device complies with the BC 1.2 specification while communicating with a Charging Downstream Port and identifying a Dedicated Charger, and ensuring that it continues to operate as a functional USB device . Many existing dedicated chargers have offered a USB compliant physical conn ection but lacked a USB compliance program. This led to many chargers having characteristics incompatible with USB specifications. As well, even though PC host ports go through an extensive certification process, future PCs that claim a USB compliant Charg ing Port in their feature list will be required to pass compliance checks described in this document. These checks are in addition to those required for a USB compliant Standard Downstream Port.
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值