Battery Charging Specification 1.2 中文详解 USB

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线的上下拉电阻)。

 

     1.3 Reference Documents

                     (1)OTG and Embedded Host Supplement, Revision 2.0

                     (2)USB 2.0 Specification 

                     (3)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-2可知,charger port连充电器的同时Accessory Port连接A-device,此时充电器可以对OTG Port的

             PD充电,但是PD并不能和Accessory Port连接的A-device进行通信,此时的Access Switch是关断的。当不连

             接充电器时,可以通信。 


 

             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

 

           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< ICDP <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电阻到GNDSDP有检测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。

 

     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中的充电检测的硬件电路 

           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的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是VBUS和GND,中间的是数

            据线。这样的作法是为了先供电再通信。 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 PIN和GND PIN设计的比D+/D-长,是为了当plug和receptacle连接时,电

             源先于信号线连接。因此PD连接到主机时,VBUS和DATA pin长度不同,VBUS pin先连接,而后DATA

             pin连接,间隔时间取决于plug的插入速度,最长观察到的间隔时间是200msPD区分充电口和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 High4.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.7v)and IDM_SINK(D- Sink Current 25~175 μA).
  2.              D+和D-通过RDCP_DAT(Dedicated Charging Port resistance across D+/- max=200Ω)短接,PD检测
  3.              D-的电压是否达到VDP_SRC(D+ Source Voltage 0.5~0.7v).
  4.                    PD在D-上的电压比较器比较D-电压和VDAT_REF(Data Detect Voltage 0.25~0.4 v),如果D-大于
  5.              VDAT_REF,就可以确定PD连接到了charging port上,可以进一步检测是连接到了DCP还是CDP上。
  6.              PD也可以选择性的实现检测D-电压是否达到VLGC( Logic Threshold 0.8~2.0V),此时检测DCP还是
  7.              CDP的条件是VDAT_REF< D-
  8.                    PS2端口会把D+/D-上拉到高电平,当PD连接到PS2端口,如果PD只检测(D->VDAT_REF),然后
  9.             判定是连接到了DCP还是CDP,开始汲取IDEV_CHG(Allowed PD Current Draw from Charging Port
  10.             max=1.5A)电流。这么大的电流可能会损坏PS2端口。通过判定(D-
  11.             这样可以避免PD对PS2端口造成损坏。
  12.                    有些专用的charger也会把D+/D-上拉到高电平,如果PD连接到这样的一个charger上,因为(D-
  13.              >VLGC),所以PD判断不是连在一个充电端口上。然后PD判断自己是连在一个SDP上,这是就只能汲取
  14.              ISUSP的电流。是否选择实现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的行为有两种可选的方式。

                         在断开连接的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。

  1.                  第二种方式CDP将比较D+电压与VDAT_REF and VLGC,当(VDAT_REF
  2.           VDM_SRC;当(D+ < VDAT_REF 或 D+ > VLGC),CDP将disable VDM_SRC。需要注意的是CDP在和PD
  3.           连接的时候,要求比较D+和VLGC,来disable VDM_SRC。
  4.           在 Primary Detection期间,PD将打开 VDP_SRC and IDM_SINK.PD将把D-上的电压和 VDAT_REF 做
  5.           比较。如果(D->VDAT_REF),才允许PD继续检测是连接到DCP还是SDP上。PD可以选择性的比较D-和
  6.           VLGC,只有当(VDAT_REF
  7.        3.2.4.3 Primary Detection, SDP
  8.           Figure 3-8 展示了PD连接到SDP时Primary Detection的工作方式

                                                          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-

                 

                  当(D-> VLGC)可以检测PD是否连接到了SDP上。

               3.2.4.4 Primary Detection, ACA-Dock

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

           3.2.5 Secondary Detection 二次检测

                二次检测用来区分DCP还是CDP。PD在检测到VBUS的TSVLD_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的充电电流

     3.3 Charger Detection Algorithms

           3.3.1 Weak Battery Algorithm 弱电池算法

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

                 要求PD内部实现如下几种电压的阈值的检测:VOTG_SESS_VLD, VDAT_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需要遵守的的充电检测算法。

                  当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模式

 

                  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.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要求的工作范围受以下因素的影响:

                 (1)充电口上的设备 (DCP or CDP)

                 (2)从Accessory Port汲取的电流

                 (3)RACA_CHG_OTG

                 (4)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_GND,

           RID_C, RID_B, RID_A, RID_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的正常工作范围。

           4.6.2 Detection Signaling

                   所有的PD都应该实现以下的检测特征:

                  (1)DCD timer (TDCD_TIMEOUT)

                  (2)Primary Detection 主要检测,区分是DCP/CDP还是SDP类型的充电设备在Primary Detection时

                           比较D-和VDAT_REF 的大小 
                   PD可以选择性的实现以下检测特征: 

                  (1)DCD, 使用 IDP_SRC

                  (2)在主要检测期间比较D-和VLGC的大小

                  (3)二次检测

                  (4)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母口的设备)能连接到这个OTGPort上。 连接到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:

            (1)Micro ACA

            (2)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 母口)的线缆类型包括:

                (1)Micro-A to Micro-B

                (2)Micro-A to captive

                (3)Micro-B to Standard-A

                (4)Micro-B to Micro-A

                  Micro ACA的Charger Port接口类型包括:

                (1)Micro-B 母口

                (2)Standard-A公口的一体线
                (3)连接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有如下的功能:

                (1)读ID_ACC pin的状态(grounded orfloating)

                (2)在ID_OTG pin上使能一种状态, (RID_GND, RID_A, RID_B, RID_C or RID_FLOAT)

                (3)使用DP_CHG and DN_CHG pins 检测Charger Port是否连接到了充电器上

                (4)读取 VBUS_ACC pin上的电压

                (5)控制 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_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上

                  的电阻RID_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_A, RID_B and RID_C的阻值是介于悬

           空和接地电状态的阻值之间,所以一个不支持ACA检测的OTG device有可能把ACA的阻值判断为floating。













锂电池的快速充电技术

       ► BC1.2规范颁布之前

              在2007年第一个电池充电规范颁布之前,尝试为电池充电本质上是一种冒险——结果非常难以预测。当2000年

       出现USB 2.0时,外设默认吸收100mA电流,除非明确协商将电流增大至最高500mA。如果总线上经过一段延迟后

       没有数据活动,总线将进入“挂起”模式,将允许吸收电流限制到2.5mA。如果便携设备的电池完全耗尽,尝试利

       用标准端口进行充电时,则只能可靠吸收2.5mA电流!

               实际上,许多电子设备制造商并不严格遵守USB 2.0规范,在其提供的USB端口中不采用这些电流限值。有些

      (大多数)USB端口无论枚举还是持续活动都允许100mA电流;有些端口甚至提供500mA电流,而不考虑必要的功

       率协商。有些便携设备的应用要求超过100mA的电流,并错误假设USB端口总是能够提供500mA电流。

 

       ► BC1.2规范的推出

              电池充电并不是USB的原始特性,因此,在BC1.2颁布之前,官方并未就为关断设备的电池充电做出任何规

       定。通过建立清晰的USB端口供电能力沟通方法,BC1.2规范改进了其中许多问题。

              BC1.2规范简要规定了三种不同类型的USB端口和两种关键对象。“充电”端口是可提供500mA以上电流的端

       口;“下行”端口按照USB 2.0规范传输数据。BC1.2规范也确定了每个端口应如何向终端设备枚举,以及识别应用

       端口类型的协议。

              三种USB BC1.2端口类型为SDP、DCP和CDP 。
 

       ► BC1.2的三种端口

            ● 标准下行端口(SDP)
               这种端口的D+和D-线上具有15kΩ下拉电阻。限流值如上讨论:挂起时为2.5mA,连接时为100mA,连接并配置

               为较高功率时为500mA。

            ● 专用充电端口(DCP)
               这种端口不支持任何数据传输,但能够提供1.5A以上的电流。端口的D+和D-线之间短路。这种类型的端口支持

               较高充电能力的墙上充电器和车载充电器,无需枚举。

            ● 充电下行端口(CDP)
               这种端口既支持大电流充电,也支持完全兼容USB 2.0的数据传输。端口具有D+和D-通信所必需的15kΩ下拉电
               
阻,也具有充电器检测阶段切换的内部电路。内部电路允许便携设备将CDP与其它类型端口区分开来。


 


你可能感兴趣的:(Battery Charging Specification 1.2 中文详解 USB)