為什麼使用電腦給手機充電,中間接一個 USB hub 之後會更快?

直接接電腦,0.456A 的慢速充電,很穩;中間接了一個 USB hub 之後,電流接近 1A,跟插在充電器上一樣快了,但是電流不怎麼穩,變化幅度 0.01A 左右。是為什麼呢?

PS: 手機依舊知道對端是電腦。是同一電腦的同一 USB 口。手機剩餘電量相同。


電腦usb預設按500mA供電,要讓它提升電流需要有預定的通訊協議。你的hub恰好支持相關協議,通知電腦usb口提升輸出電流。於是插hub導致了電腦usb口輸出更多的電流。(簡單說,hub本身也是個usb設備,是這個設備申請了大電流,不是你的手機)

然而你的手機可能不支持相關協議,無法讓電腦提升輸出電流。所以現實就是hub幫你通知電腦usb口提升輸出電流了。

為什麼我判斷你的手機可能不支持相關協議呢?因為手機充電現在常常都能達到2A或者3A的電流了,而你只能按照1A電流充電,這個1A應該只是這款hub的預設輸出而已。


這項功能叫做USB Battery Charging,需要由設備向主機發送信號。

理論最大值為5V/5A,不過只允許設備申請到5V/1.5A。(IDEV_CHG)

它是USB 2.0時期開發的標準,跟PD沒有直接關係。


某HUB應用工程師不請自來。

這個實際上是HUB的下行口(Downstream port)支持了不同的充電協議所導致的。事實上,你接電腦的USB口也是接了一個HUB的,這個HUB是電腦主板上的root HUB,通過它連接到Host CPU的。

當你外面又接了一個HUB的時候,這個HUB可能會支持一種或者幾種充電協議,比如說Apple Charging, Battery Charging(BC), QC ,Type-C PD等等,如果你的手機同時也支持其中的充電協議的話,那麼HUB和手機之間會進行通信(握手),通信成功後會按照協議規定的充電電流對手機進行充電。

比如Apple charging就可以支持1A/2.1A/2.4A的充電電流(會根據D+/D-上的電平握手決定)。

而BC v1.2 支持最大1.5A的充電電流,實際的充電電流以握手後HUB上的DS port工作模式決定。

一般的,HUB上的DS port可以分為這幾類:

  1. Standard downstream port (SDP) ,也就是我們常見的USB 埠的模式。連接到SDP的USB設備,在USB2.0的時可以最大拉取500 mA(2.5W,configured 狀態下), USB 3.0時最大900 mA的電流(4.5W,configured 狀態下)。
  2. Charging downstream port (CDP) ,充電埠,這種埠可以支持HUB所連接的USB設備在枚舉時以較大電流充電,通過對D+/D-上的電平握手決定。最大1.5A,7.5W。
  3. Dedicated Charging Port (DCP): 顧名思義是充電專用埠。這種埠的D+/D-是通過一個電阻連接在一起,USB設備並不在host端枚舉。DCP可以給USB設備提供最大1.5A的電流。

如果你的手機是Type-C PD的話(不僅僅是你的手機介面是Type-C,你的手機里同時要有PD 的controller,市面上有很多手機都是假Type-C,裡面是沒有PD controller的,比如華為榮耀v8),HUB會和手機進行CC上的通信,溝通建立後會以雙方協商的電壓/電流進行充電的。


理論請看其他大佬的解釋,我閑著沒事測試了一波

直充充電寶

基本達到充電寶滿載了

上了10瓦電阻絲負載

接了個hub,各種負載都上來了,比如剛才的充電寶,電阻絲,還有個USB燈,同時也在給拍照的手機充電

開始掉電壓了。看來我這個極限就到10瓦了

這個口是3.0的,測試2.0略差。1.6A就掉電壓嚴重了

講真,看見這個問題之前我一直以為電腦USB極限就是2.0口0.5A,3.0口1A

另外想充手機快點怎麼辦?淘寶買那種不帶數據傳輸功能的充電專用線,3.0口上就能輕鬆上5瓦了。

某個回答里說理論最大5V5A,真的可怕。

不過實際我測2.0口撐死1.7A,3.0口撐死2A。當然也正常。

很明顯,沒有電腦廠商會給正常輸出就5W的USB口用25W的料的。

看看那些真能輸出20瓦以上的低壓快充的USB口和線材用料,就那樣一些手機廠商還為了省成本降低最大電流呢。電腦的USB能上10瓦才開始掉電壓我都很意外了


不是來回答的,只是來提供另一個證據。我發現不光 USB hub 可以,單純一個 micro USB to USB Type-C 的轉接頭都能提升充電電流。無圖無真相:

(知乎不讓傳 5M 以上大圖,大圖在此: https://fars.ee/crjt.JPG 和 https://fars.ee/SN1Z.JPG )

圖中前面這臺小本是 GPD Pocket ,用 USB Type-C 供電的,網上說是 PD 協議。直接從 /sys 讀的充電口數據畫在 KSysGuard 上。 (需要的人: https://github.com/farseerfc/dotfiles/blob/master/gpd-power/gpd-power.py)

後面那臺大本是 Sony Vaio ,插充電線的口是 3.0 藍口。

插那根 A2C 的黑色的線的時候,讀數顯示 Typc-C 口 5V/0.5A/2.5W 取電,GPDP 的電池還在以 3.8V/0.65A/2.5W 放電。

插那根白色 USB A 2 microUSB 轉接 USB C 的線的時候,讀數顯示 Typc-C 口 5V/2A/10W 取電,電池在以 3.9V/0.88A/3.4W 充電。


500mA屬於正常usb2.0供電,USB Hub可能加強了供電設計使手機電源模塊可以從Hub拿更多的電流


華碩主板請下載Ai charger

其他品牌也能用


連接同一台電腦

IpAD在wINDOWS 下會顯示不在充電,而在mAC系統下會正常充電。主要還是看有沒有相關的軟體支持。


推薦閱讀:

有沒有人嘗試過同時連接大量手機(數十到上百)到一部電腦並用程序控制它們?
為什麼明明速度快很多,卻不用網線來替代 usb、thunderbolt 之類的介面?
Apple 兼容舊式 USB Type-A 介面的雙向可插線纜是怎麼實現的?
為什麼各種線材的接頭(口)要叫公、母頭?
Lightning 和 USB Type-C 設計上各有什麼優劣?

TAG:手機 | USB | 手機充電技術 | USB充電規範USBPD |