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,
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/38456.html
標籤:嵌入式
上一篇:2. Linux-3.14.12記憶體管理筆記【系統啟動階段的memblock演算法(2)】
下一篇:電池的QPNP模式
