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)條件是否存在在(同)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章