高通平臺:USB充電【轉】

来源:https://www.cnblogs.com/linhaostudy/archive/2019/09/25/11585029.html
-Advertisement-
Play Games

USB Battery Charging V1.2 Specification 定義了USB充電器的類型或者叫做充電源。 1. 支持的充電器類型 1.1 Standard Downstream Port(SDP) 這種USB埠存在於主機PC中,這個是與USB的規格書一致的。 當一個USB外設接到S ...


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。

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 前提 入行已經7,8年了,一直想做一套漂亮點的自定義控制項,於是就有了本系列文章。 GitHub:https://github.com/kwwwvagaa/NetWinformControl 碼雲:https://gitee.com/kwwwvagaa/net_winform_custom_contr ...
  • 使用EF做更新時,若沒有進行跟蹤會預設全欄位更新,那怎麼做到只更新我們想要更新的欄位呢? 使用:如下,更新表Model中Status和UpdateTime欄位 有的同學會發現,調用的時候使用了_dbContext.SaveChangesAsync(),為什麼不直接集成到方法裡面呢?這個就因需求而變化 ...
  • 由於本人所在的公司一般都是DELL的品牌台式機,所以以DELL台式機做小白鼠。記得在2012年的時候,在當時的那家公司為了學習自學IOS開發的Objective-C開發語言的時候,由於囊中羞澀買不起mac筆記本,只能通過網上有名的“黑蘋果樂園”和“遠景論壇”去學習自己嘗試製作黑蘋果。當時的公司也是d ...
  • 話不多說上代碼 linux環境:centos 7.0 64位 nginx:nginx-1.8.0.tar.gz php: php-7.1.1.tar.gz mysql: mysql-5.6.21.tar.gz libxml2:libxml2-2.9.1.tar.gz openssl:openssl- ...
  • 1.ls 2.pwd 3.cd 4.mkdir 常用選項: -p 創建級聯目錄 創建目錄 5.touch 修改時間戳 平時都是用來創建普通文件 6.cp 複製文件和目錄 常用選項: -p: 保持屬性不變 -r: 遞歸複製目錄 -a: 複製時,儘可能保持文件的結構和屬性. 7.mv 移動 (改名) 文 ...
  • 名詞解釋: CV:Constant Voltage恆壓 SMMB charger:Switch ModeBattery Charger and Boost peripheral開關模式電池充電器和升壓外圍設備 OCV:Open circuitvoltage EOC:End OfCharge充電結束 ...
  • 本章內容: CentOS 8 的安裝(CentOS-8-1905) 一、安裝光碟,選擇Install CentOS Linux 8.0.1905 二、選擇系統語言,我這裡選的是英文,也可以選擇中文,往下拉就行 三、設置鍵盤、分區、系統語言、安裝方式(我這裡選擇最小化安裝,也可以選擇GUI安裝-有界面 ...
  • 本文首發於:微信公眾號「運維之美」,公眾號 ID:Hi Linux。 「運維之美」是一個有情懷、有態度,專註於 Linux 運維相關技術文章分享的公眾號。公眾號致力於為廣大運維工作者分享各類技術文章和發佈最前沿的科技信息。公眾號的核心理念是:分享,我們認為只有分享才能使我們的團體更強大。如果你想第一 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...