1. 程式人生 > >你真的瞭解USB嗎?USB充電大揭祕(二)

你真的瞭解USB嗎?USB充電大揭祕(二)

usb

轉自:晶片之家公眾號 2016-12-22 原創: karaxiaoyu

  • (關注我,你的眼睛會懷孕)

前言

上回我們說到了BC1.2引入的幾個P玩意,今天我們來看一下CDP和DCP是怎麼一個實現方式。

  • 我們先從DCP說起,因為它最簡單。可能很多人都知道,所謂DCP,聽起來很高大上,實際上淘寶上無數山寨的充電器早就搞定了:
    • 就是用一個200歐姆的電阻短接D+和D-就可以了(更有甚者,連這200歐姆的電阻都省了。。。),對,你沒看錯,就是這麼簡單!
    • 但是,實際上DCP的協商過程還是要比這個短接電路稍微複雜一點點。

  • DCP埠,RDCP_DAT就是這個200歐姆的電阻
  • 首先手機會在D+上產生一個0.6V的電壓,然後測量D-上的電壓。如果主機USB是一個傳統的USB埠,不支援BC1.2,那麼在D-上會有一個15K的下拉電阻(前文有提過),D-上的電壓就為0,因此手機只能以500mA的電流進行充電。反之,如果手機在D-上測量到一個0.6V的電壓,那麼雙方即握手成功。這就是DCP的協商過程。這個過程其實很好理解,因為D+和D-在DCP模式下,是通過200歐姆電阻短接的,當然手機在D+上產生的0.6V,會直接在D-上也得到一個0.6V的電壓,這樣自然而然的,協商就成功了。但我估計這會各位童鞋已經忘了啥是DCP,啥是CDP了,下面我再無私奉獻一遍:
在BC1.2的標準裡面,定義了3種USB的埠,分別是:

SDP——Standard Downstream Port,標準下行口

CDP——Charging Downstream Port,充電下行口

DCP——Dedicated Charging Port,專用充電口

作為對比,可以看一下SDP埠,可以看出在D+和D-上各有1個15K的下拉電阻:

  • SDP埠,2個15K的下拉電阻

  • 這只是協商過程的第一步,這一步的意義在於,把SDP排除掉。因為如果這一步失敗了,就表明USB主機和USB裝置至少有一個不支援BC1.2充電協議,那麼大家就乖乖的按照傳統的500mA充電就是了。如果這一步成功了,就表明雙方至少已經支援BC1.2了,至於到底是支援DCP還是CDP,就要靠第二步握手來區別了。

  • 在第二步的協商機制裡面,手機首先在D-上產生一個0.6V的電壓,然後測量D+上的電壓(跟第一步正好反過來)。我們已經知道DCP模式下,D+和D-是通過200歐姆電阻短接的,當然手機在D-上產生的0.6V,會直接在D+上也得到一個0.6V的電壓。所以如果D+的電壓測出來是0.6V,那麼手機就知道自己插入了一個DCP埠,只管放心充電,資料就不管了。反之,如果手機在D+上測到一個0電壓,它就知道自己插入了一個CDP埠,緊接著USB主機會開始列舉,正常的資料通訊就開始了。

下圖是一個CDP的握手過程波形,可以清楚的看到,

  • 第一步,手機在D+上產生了0.6V(1),然後在D-上也出現了0.6V(2);
  • 第二步,手機在D-上產生了0.6V(3),但是在D+上卻是0V,因此,CDP握手成功了,後面就開始了D+/D-上的資料通訊,列舉開始了。

CDP握手過程示意

CDP埠,要複雜一些

BC1.2到這裡基本上就介紹完了,可是對於USB充電來說,這才剛剛上路。BC1.2裡面規定了USB裝置(主要是手機,平板電腦)最大不得以超過1.5A的電流進行充電,這個電流對於手機來說,勉強可以接受,但是對於平板和某些大容量電池的note手機來說,仍然顯得比較慢。大家熟知的蘋果12W充電器,可以提供5V,2.4A的充電電流,顯然,如果iPad以BC1.2的充電標準來充電,還是慢了一些。但是這還不夠快,大家近來經常看到諸如“充電5分鐘,通話2小時”之類的廣告所宣傳的快充,還有QC2.0,3.0的快充等等,這些東西又是怎麼回事呢?USB-IF組織有沒有出臺新的統一的快速充電標準呢?我們下回接著說,我先歇幾天!

原文連結

明天更精彩哦!

晶片之家

長按識別二維碼 關注“晶片之家公眾號”

文章作者:糖醋魚