高通平台:USB充電【轉】


USB Battery Charging V1.2 Specification 定義了USB充電器的類型或者叫做充電源。

1. 支持的充電器類型

1.1 Standard Downstream Port(SDP)

這種USB端口存在於主機PC中,這個是與USB的規格書一致的。

當一個USB外設接到SDP端口上的時候,有下列幾種情況:

  • 當總線掛起的時候電流應該小於2.5mA.
  • 如果總線沒有掛起並且沒有配置,或者連接到一個總線供電的hub上,電流應該小於100ma
  • 如果總線沒有掛起且配置好了,電流應該小於等於200ma。

1.2 DCP 或者叫做wall charger

這些充電端口可以供應高達1500ma的電流給移動設備充電。

然而這些DCP端口不支持通過USB接口進行數據傳輸。

電池充電規格書定義了數據線應該被短接在這種DCP情況下。

充電類型的檢查依賴於這些數據線。

1.3 charging Dedicated Port (CDP)

CDP端口是一個在主機端的特殊端口,能夠提供高達1500ma的電流,與此同時,可以枚舉設備以供正常的USB使用。

1.4 Proprietary charger (專有的充電器)

這些適配器不像正常的標准充電器那樣,短接數據線。他們有自己的組合,上拉或者下拉數據線。

1.5 Floated charger

這種類型的充電器被看做是不兼容的充電器類型。USB數據線沒有短接並且是懸空的。

因此,與標准類型的充電器相比,當充電檢測上拉或者下拉的時候,電壓的范圍將決定了,他不會

被識別成是DCP.

2 USB充電的架構

下面有幾種配置給USB充電和充電器類型的檢測。

  • 基於外部充電芯片的充電器檢測(SMB充電器檢測)
  • 內部的USB PHY充電器檢測邏輯

基於USB PHY的充電子系統有以下一些基本模塊:

  • USB core負責讓OTG driver知道充電器的連接。
  • 高通平台的電池充電是被PMIC或者外部的充電芯片所控制。它必須知到充電器類型和最大充電電流。
  • 原生的電池驅動直接與PMIC進行交互。這個驅動通知PMIC開始使用USB VBUS進行充電並且指明可以獲取的最大的電流。

PS:這里的電池驅動估計說的不對,或者我自己理解有誤,從代碼上看應該是USB的驅動檢測到充電器類型之后,把這一信息通知給PMIC.

3 充電檢測算法

在通用的充電器檢測模型中,提到了幾個階段:

  • Data Contact Detect(DCD)—— 這個是硬件塊使用的,用來幫助檢測當USB數據線與pin腳連接起來。
  • Primary detection - 這個階段用來區分是連接在了主機上面還是或者是一個大電流的設備上面。(SDP VS DCP/CDP)
  • Secondary detection - 這個最終階段,決定了是連接到了DCP 還是CDP。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM