規范定義了設備通過USB端口充電的檢測、控制和報告機制,這些機制是USB2.0規范的擴展,用于專用
充電器(DCP)、主機(SDP)、hub(SDP)和CDP(大電流充電端口)對設備的充電和power up。這些機制適用
于兼容USB2.0的所有主機和外設。
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
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是關斷的。當不連
接充電器時,可以通信。
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。
Attach我暫且把它翻譯成連接,connect翻譯為聯通。它們有什么區別呢? "Attach"這個詞是有方向性
的,表示把設備連接到主機,有一個從下到上的動作。在物理上電源線、ID、信號線連接上了;"connect"是
沒方向性的,表示識別了物理上的連接,或建立了通信。所以"connect"是基于"attach"的。這里的connect是
指在attach后,下游的設備通過上拉1.5k電阻到D+/D-線,使bus進入 Low-Speed, Full-Speed or High-Speed
信號模式。
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-上,直到外設斷開
聯通。
充電口的類型分為DCP、CDP、ACA-DOCK、ACA
什么是Dead Battery的閾值?通俗的說就是電池的一個電壓值,低于這個值系統就肯定啟動不了。電壓
低于這個值的電池叫Dead Battery。
DCP就是墻充,即wall adapter。就是平時用的連到220v插座的充電器。不能枚舉USB設備,可以供
(4.75v< VCHG <5.25v)的穩定電壓和(0.5A <IDCP <5A)的充電電流。DCP在內部將D+和D-短接。
這個spec.中有兩種DS,一種是SDP,另外一種是CDP(Charging Downstream Port)
指ACA的accessory port是Micro-AB的母口
是能裝在兜兒里的USB設備?就是移動設備。
充電端口的額定電流是指在保持VBUS電壓在VCHG(4.75v~5.25v)時所能輸出的電流值。 DCP的額定
電流要求在(0.5A< IDCP <5A)之間;CDP or ACA-Dock的額定電流要求在(1.5A< ICDP <5A)之間
指ACA的accessory port是 Standard-A的母口
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)
帶有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-的上拉電阻),可能不會被充
電。
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。
從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的電流。
帶有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
帶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正處在充電狀態,且其它功能不可用。
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,使用一個專用的充電器供電。
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之間就可以了。
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.
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-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)。
當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)。
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。
第二種方式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。 在 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.3 Primary Detection, SDP 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-
<VDAT_REF),則允許PD進一步檢測是否連接到了SDP上。PD可以實現把D-上的電壓和 VLGC作比較,
當(D-> VLGC)可以檢測PD是否連接到了SDP上。
Figure 3-9展示了支持識別ACA的PD連接到ACA-DOCK上時Primary 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”的解釋。
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)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的充電電流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口或其它專用充電器充電
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
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 。
在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中標稱
的共模的范圍。
這一章介紹了如下的要求: CDP、ACA-DOCK、DCP、ACA、PD
一下要求適用所有類型的充電端口,包括CDP, ACA-Dock, DCP and ACA
充電端口的輸出電壓在負載電流任一階段的變化都不能超過VCHG_OVRSHT(充電電流會根據不同的充
電階段發生變化),在充電端口上電或掉電的時候也不能超過這個值
在任何情況下,充電端口的輸出電流都不能超過ICDP的最大值
DS port可以是SDP,CDP或者DCP,并可以在這幾種端口之間切換。為了使PD重新啟動充電檢測流程,
要求DS port: 停止驅動VBUS允許VBUS電壓降到 VBUS_LKG之下等待 TVBUS_REAPP 時間從新驅動
VBUS
如果PD汲取的電流超過了Charging Port能提供的范圍,此時Charging Port可以關斷。關斷類型包括: 關
斷VBUS恒定電流限制反向電流限制
如下要求適用于CDP
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
如果CDP因為電流過載而關斷,當過載條件消失后,CDP應該在TSHTDWN_REC內恢復并輸出正常范圍
的電壓VCHG
在負載電流小于ICDP min時,負載電流的任一階段的變化,CDP的輸出電壓都應該保持在
VCHG_UNDSHT
當遠端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
CDP是一個Standard-A的母口,連接到PD
如下的規定適用于ACA-DOCK的US PORT.
同CDP
同CDP
當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
ACA-DOCK應該有一個Micro-A的公口,用來連接PD的Micro-AB母口
以下內容是對DCP的要求
當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
負載電流從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。
DCP在D+和D-間用RDCP_DAT短接DCP D+/D- PIN上的漏電流應該小于或者等于兩個連接到
VDAT_LKG 的RDAT_LKG電阻的漏電流。參考 Figure 3-6.D+/- pins 和DCP GND之間的電容應該在
CDCP_PWR規定的范圍內
一個DCP應該有一個Standard-A的母口,或者有一個Micro-B公口的一體線
以下是對充電端口連接了DCP或CDP的ACA要求
對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正常工作
充電端口連接DCP或CDP的ACA應該遵循和DCP一樣負過沖要求。
如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.
ACA的OTG端口應該是一根Micro-A的一體線
以下部分是對PD的要求
PD從充電端口汲取的最大電流不能超過IDEV_CHG。PD不能把充電端口的電壓拉低到VDCP_SHTDWN
max以下。Figure 4-3 是PD的正常工作范圍。
所有的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 檢測
為了再次重新開始充電器的檢測流程,允許DS關斷并從新使能VBUS上的供電。參考Section 4.1.3. 為了
檢測到VBUS的掉電,要求PD在VBUS關斷時能對VBUS上的寄存的電荷快速的放電。要求在TVLD_VLKG時間
內使電壓低于VBUS_LKG。 當PD連接到充電端口時,允許PD斷開并重復數次充電器的檢測流程。在斷開連
接到從新開始充電器檢測流程之間,要求PD最少等待TCP_VDM_EN max 時間。
能連接到ACA-DOCK或ACA的PD應該有一個的Micro-AB母口
隨著移動設備變得越來越小,對外只留一個接口是大勢所趨。如果這個僅有的接口是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:
(1)Micro ACA
(2)Standard ACA
Micro ACA有一個Micro-AB 母口作為Accessory Port,既能連接A-device也能連接B-device。Standard ACA
有一個Standard-A的母口作為Accessory Port,只能連接B-device。
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以下。
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 or floating)
(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
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。
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。
轉載自:
http://blog.csdn.net/wlwl0071986/article/details/43307967
|
新聞熱點
疑難解答