USB Type-C 如何決定充電方向?

就比如有一款 Type-C 手機,那麼是手機給充電寶充電還是充電寶給手機充電?還是說可以切換?怎麼做到?


對於手機和充電器,有這麼幾種情況:

1、一個是手機,一個是充電器,介面隨意;

2、兩個手機,介面都是Type-C,用Type-C互聯;

對於USB供電、充電設備來說,可以分成4類:

1、移動設備

2、傳統USB口

3、支持充電的USB口

4、充電器(含移動電源)

其中規範要求充電器的數據線(D+/D-)必須短接。當一個移動設備插上去的時候,移動設備因為本身有供電,所以它會先嘗試向D+線上加點電壓,電壓是0.6V,規範中稱之為VDP_SRC的東西。而充電器和移動電源的D+/D-是短接的,所以移動設備會在D-上檢測到0.6V電壓,再把電壓拉高,看對方的回應,如果對方是移動電源,D-上反應的會跟D+上一樣,這就可以判斷對方是移動電源,放心充電就可以了。

如果對方是傳統USB介面,D+/D-是不通的,手機可以判斷出來對方不是一個移動電源,是個傳統USB介面。

如果對方是支持充電的USB主機,D+/D-上會有特殊的電路,它能回應0.6V的電壓,但當設備將電壓從0.6拉高時,並不回應高電壓,這樣設備能判斷出對方是一個支持USB充電的USB主機。

所以,通過充電器、主機上的電路,就可以讓移動設備識別出對方是什麼,然後根據需要充電或者通信即可。

最特殊的情況是兩邊都是手機,用一條線Type-C互聯,這種情況是靠線來區分的。Type-C線上大多數線的接法都是對稱的,唯一的例外是CC1/CC2,這兩條線不對稱,也就是說任何USB Type-C線,其實都是分公母頭的,雖然外觀看著是一樣的,通過CC1/CC2可以判斷誰是主機(Host)誰是從設備(Device),對於兩個移動設備互聯,始終由主機供電(具體來說看評論里的討論)。

具體的充電,供電細節是有規範的《Battery Charging Specification》,在USB.org - USB Device Class Specifications有下載。

中文資料找到兩篇,寫的不錯:

USB 電池充電規範

技術控必看啊 專業人士淺談USB-Type C-IT168 筆記本專區


簡單說下,Type-C設備有三種形式:DFP、UFP和DRP,DFP只能做Source,UFP只能做Sink,DRP兩者都能做。

一般Wall charger是DFP,U盤是UFP,手機、平板之類的都是DRP。當DRP和UFP相連的時候,DRP變成DFP,DRP和DFP相連的時候,DRP變成UFP。DRP設備會不斷地變換自己的身份,在DFP和UFP之間來回切換,Type-C spec上規定了切換的時間,是一個範圍。當兩個DRP連接在一起的時候,兩者都會來回切換自己的身份,所以他們誰作為UFP誰作為DRP是隨機的。

在決定了UFP和DFP之後,如果支持PD協議,他們可以通過PD協議來切換Source和Sink。

最後,再說一下如果線纜一端是Type-C,一端是Type-A,那麼根據規範,CC pin上要通過Rp上拉,這樣,Type-C的這端就只能作為UFP。同理,如果一端是Type-C,另外一端是Type-B,或者Micro/Mini,根據規範,CC pin要通過Rd下拉,這樣,Type-C這端只能作為DFP。


Type C Receptacle分為三種

1 DFP - 只能做Host端

2 UFP - 只能做Device端

3 DRP - 既能做Host端也能做Device端

所以,當你有一個Type C的手機時,可能出現兩種情況:

1 手機上是UFP的C母頭,如果接到電腦或充電器的時候,只會被充電

2 手機上是DRP的C母頭,

1)插到充電器的時候,由於充電器只會充當DFP,所以手機會切換到UFP,從而被充電

2)插到充電寶或電腦時,如果充電寶或電腦上是DRP的C母頭,會出現兩種情況:

a. 充電寶/電腦端和手機端會隨機充當host和sink,每次插拔之后角色互換

b. 充電寶/電腦端或手機端有一方有作為host端的偏好設定,這時候有偏好設定的一方會成為host端

P.S. Type C to Type C的線材中,如果要拿到compliance certification就必須有一塊或兩塊EMarker(IC)


樓上陶鈞基本講的很清楚了。

不過最新的TypeC規範,將DRP規範得更詳細。

新增了兩種類型,表明雖然可以作為source或sink,但更prefer其中一個。

1,DRP try source:和DRP或者DRP try sink相連時,會連成Source;

2,DRP try sink:和DRP或者DRP try source相連時,會連成sink;

而各種typeC產品,一般都會設置為為try source或者try sink。

這樣互連時,完全隨機的可能性就降低了。


講通俗一些,由於type-c介面的通用性,充電寶上的輸入和輸出埠可以做成同一個,導致了充電寶分不清是要充電還是放電,結果吸了手機的電量。樓上有高手做了專業回答,usb 3.1 type-c介面普及之後,這個問題應該可以解決。(這個問題起因是開發者沒有吃透USB3.1規範)


TYPE-C系列產品如:車充,充電器,移動電源等等。充電真的得很快? - 充電


推薦閱讀:

一個不加班的程序員有前途嗎?
次世代遊戲對於PC主機的要求越來越高,遊戲實際上對於主機的要求真的很高嗎?
為什麼計算機和一些電子產品的時間選擇在1970年?
電腦長期不關機到底好還是不好?
生物信息學所用的計算機知識和CS專業的計算機知識有多大不同?

TAG:MacBook | iPhone | 蘋果公司AppleInc | 計算機 | USB |