一、USB概念
Universal Serial Bus,簡稱 USB。中文翻譯稱為通用序列匯流排,是一種串列埠匯流排的標準,也是一種輸入輸出介面的技術規範
二、USB介面外形分辨
- 主要型別:Type-A,Type-B,Type-C,Micro,Mini
下面以USB2.0協議展示不同型別介面的形狀
Type-A
Type-B
通常在印表機裝置使用,另一端使用 USB-A 連線電腦(一些微控制器程式下載介面也採用TypeB)
Type-C
Micro
Mini
需要注意的是,上圖展示的都是公頭,每一個公頭都有與之對應的母頭,引腳一一對應,由於形狀相似,所以不再展示母頭的圖片,具體可以參考另一篇文章
三、USB口的引腳定義
1、USB2.0
前面的圖片展示的均為USB2.0協議下的介面,下面具體介紹每一個引腳的作用
看到這裡,可能讀者會有疑問,ID引腳(也就是4號)引腳有什麼作用,為什麼又分兩種接法。
彆著急,這將在後面的OTG(On-The-Go)部分進行詳細講解。
2、USB3.0
可見USB3.0相比USB2.0多出5條特殊引腳,用於實現全雙工超速差分訊號傳輸,USB2.0使用D+和D-實現半雙工通訊,而USB3.0新增差分訊號發射對和差分訊號接收對來實現全雙工通訊,目前許多支援USB3.0協議的介面同時還留有USB2.0定義的資料引腳(D+和D-),用於支援USB2.0通訊。至於他們的通訊協議,後面會專門講。
-
下面以Type-A和Type-B為例稍微講一下引腳分佈,其他型別的介面也是同理。
- Type-A
到這裡你應該學會了如何區分Type-A的2.0介面和3.0介面,應該去看他的介面內的引腳數量(而不是去看那塊塑膠的顏色),如果引腳數量為4,那麼肯定是2.0;如果可以看到引腳的數量為9,那麼它可能是3.0介面,為什麼是隻是可能?因為有些不良商家,雖然用的是支援3.0的介面,但是在接線的時候只連線了2.0的引腳,其他的引腳甚至都沒焊上,所以買的時候要小心...
-
Type-B
-
Type-C
-
24Pin
Type-C的引腳定義也是大同小異,支援USB3.0協議的Type-C介面為24Pin介面,也稱全能Type-C介面。
巧妙的引腳設計使得Type-C在介面時無需辨別正反,正插反插都能達到同樣的效果。
下面是每個引腳的具體定義
可見24pin介面具備USB3.0協議中的所有針腳,但是同時還多出CC和SBU等引腳,這主要是用於實現新型的PD(PowerDelivery)快充協議,至於這些介面的協議,後面會說。
除了24pin的Type-C介面,其實它還有16pin、12pin和6pin的引腳,下面具體來看 -
16pin、12pin
一些普通的裝置不支援USB3.0,只有USB2.0,使用24Pin的TypeC很浪費,於是就有了16Pin的TypeC,相比24Pin,就是少了下圖中陰影部分遮蓋的超高速全雙工訊號傳輸通道,除了沒有USB3.0高速傳輸外,其他別無二致,同樣支援PD快充(後面協議部分會說)。
16Pin一般為介面廠家、封裝的正式名稱,而日常生活中習慣稱呼為12Pin。這是因為介面設計時,將TypeC母座兩端的兩個Vbus和GND出線都併攏了起來,雖然從口那裡看是16條出線,但座子後面的焊盤只有12個。
本來16pin、12pin的Type-C口應該放在前面的USB2.0引腳定義中講,但是為了更加連貫直觀的介紹Type-C口,本人是從USB3.0引腳定義的24pin Tpye-C口引申到16pin、12pin。
-
6pin
對於玩具、牙刷等生活用品,產品定位上沒有USB通訊的需求,只需要USB取電充電。那麼連USB2.0都可以省掉了。
6Pin TypeC正式出道。6Pin TypeC僅僅保留Vbus、GND、CC1、CC2。介面兩側對稱分佈著兩組GND、Vbus,使得防反插功能保留,粗線也讓其更為方便的傳輸大電流,CC1、CC2用於PD裝置識別,承載PD協議,以向供電端請求電源供給(可見6pin的TypeC儘管沒有了USB2.0通訊協議,但仍能支援PD協議)看到這裡再會過頭想想,對於Type-B、Mirco、Mini介面,如果我們僅僅使用它的供電功能,那D+和D-也沒有存在的必要,但通常這些介面都帶有這些引腳,對於僅僅需要供電而不需要通訊的電路,D+和D-懸空即可。
-
- Type-A
四、OTG技術
-
概念:OTG即On-The-Go的英文縮寫,是由USB標準化組織公佈的一項用於USB裝置連線或資料交換的技術。
-
作用:透過OTG技術,可將原本作為終端的USB裝置演變為主機,從而達到滿足USB裝置之間進行相互控制或管理的需求。
-
詳解:
-
先了解主機與從機,簡單理解:主機是控制方,從機是被控方。
-
USB 2.0規範定義了主機/外設關係,PC始終是主機,插入它的裝置是外圍裝置。舉例:以日常的資料線(Type-A~Micro-B)為例,用其將手機和電腦連線起來,那麼預設手機就是從機,電腦就是主機,由主機向從機供電,並管理從機的資料。
-
隨著PDA,數位相機和各種其他行動式裝置的技術進步,需要直接互連這些裝置而無需增加計算機,USB 2.0不支援此功能(一種簡單的應用情景就是用手機直接管理隨身碟,此時手機變成了主機,隨身碟變成了從機,如果任然按照以前的規定,這是不能實現的)。因此,為了克服這一限制,USB-OTG被髮布。
-
所以USB口中的ID引腳此時就發揮了作用,透過接地或者懸空(上拉)來讓裝置確定自己在本次通訊中作為主機(Host)還是從機(Slave),而對於能夠根據ID引腳的電平來確定自己是主機還是從機的裝置(也就是能在特定情況下能作為主機管理其他裝置),就稱這個裝置支援OTG技術,現在許多智慧手機都支援OTG。
-
對於普通的資料線(Type-A~Micro-B為例),Micro-B中的ID引腳通常是懸空的,這樣移動裝置在使用這條線時就知道自己是從機。
同理,對於支援OTG的裝置,若要求其能夠作為主機管理其他裝置,就需要專用的OTG資料線(我們常稱為轉介面或手機擴充塢),其圖片和接線圖如下所示
到這裡你已經學會如何自己做一個OTP轉介面了。
-
五、充電協議
(零)協議升級的目的與發展現狀
1、協議升級的理論依據
由於充電功率和電壓電流相關P=UI,提高電壓或者電流就可以提高充電功率,在電池容量一定的情況下,功率越大充電速度越快。
2、發展現狀
現行快充技術主要分為兩大陣營:低壓快充和高壓快充。
-
低壓快充以OPPO的VOOC閃充為代表,透過增大充電電流的方式來提高充電功率。
-
優點:發熱量小、能量轉換效率高
-
缺點:硬體需要定製,成本高,相容性差
-
-
高壓快充以高通QC2.0為代表,其他廠家技術原理和高通一樣都是基於BC1.2,透過增大充電電壓來提高充電功率。
-
優點:相容性好、繼承性好、穩定
-
缺點:發熱量大,能量轉換效率低
-
(一)BC1.2快充協議
1、介紹
BC1.2 (Battery Charging v1.2)是USB-IF下屬的BC(Battery Charging)小組制定的協議,主要用於規範電池充電的需求,該協議最早基於USB2.0協議來實現。USB2.0協議規定外設從USB充電器抽取電流的最大值為500mA,500mA的電流限制無法滿足日益增長的快充需求。因此,BC1.2引入了充電埠識別機制,下面先了解一下下面幾種埠型別。
2、協議識別過程
-
①VBUS Detect Vbus 檢測( VBUS檢測)
PD(portable device,行動式裝置)中有個檢測VBUS是否有效的電路,電路有一個參考值,高於這個值就認為是VBUS有效了,參考值不固定一般在0.8V~4V之間 -
②Data Contact Detect 資料連線檢測
(這一步可以不看,感覺沒什麼必要())
VBUS電壓有效後,行動式裝置必須確保資料引腳保持接觸,然後再進行檢測。如果終端裝置在資料引腳接觸之前過早做出決策,就可能錯誤地判斷充電器型別,這個階段不是必須的,因為USB埠可能支援資料協議也可能不支援。如果這個階段超時900ms還沒檢測到D+或ID PIN的連線,就要求必須開始進行Primary Detection。 -
③Primary Detection 首次檢測(主充電器檢測)
該階段主要作用是判斷埠是充電口還是資料口,即終端裝置區分具有充電標籤的500mA以上埠(CDP和DCP)與500mA以下埠(SDP)。- 關閉DCD階段的電流源後,終端裝置必須在D+上使能0.5V至0.7V電壓源,在D-上使能25μA至175μA流入電流源。
- 如果在D-上出現0.5V至0.7V電平,則判定連線的是DCP或CDP;
- 如果D-電壓下降至零,則判定為連線的是SDP,則需要進一步進行判定:終端裝置切入一個比較器,將D-電壓與0.25V至0.4V進行比較。如果D-電壓高於0.4V但低於邏輯低電平門限0.8V,終端裝置則認為此埠用於充電;否則,判定為此埠用於資料連線。
-
④Secondary Detection 二次檢測
該階段作用是確認充電口能否支援資料協議,即區分CDP和DCP。- 按照反序執行③的測試。在D-作用0.5V至0.7V電壓源,在D+作用50μA電流源。
- 如果D+出現0.5V至0.7V電平連線,判定為DCP
- 如果D+電壓為零,判定為CDP
- 按照反序執行③的測試。在D-作用0.5V至0.7V電壓源,在D+作用50μA電流源。
-
⑤判定完畢,按照對應的結果進行供電或者傳輸資料。
3、波形展示
4、補充與銜接
由於BC1.2並非強制性協議,許多廠家基於BC1.2研發了自己的私有快充協議。比如高通的QC2.0/QC3.0,聯發科的PE(Pump Express)/PE+。高通的QC2.0/QC3.0和聯發科的PE快充方案技術原理是一樣的,都是透過增大充電電壓來提高充電功率。
(二)高通QC(Quick-Charge)協議
1、介紹
美國高通專為配備Qualcomm驍龍處理器的終端而研發的快速充電技術。
- QC1.0充電協議:
突破了BC1.2充電協議的最大1.5A電流極限,達到5V2A,充電時間縮短40%
- QC2.0充電協議:
- QC3.0充電協議:
- QC4.0充電協議:
2、協議識別過程
2-1、QC2.0協議
- ①將充電器透過資料線連線到手機上,充電器預設將D+、D-短接,這樣手機端探測到充電器型別是DCP(專用充電埠模式),此時預設輸出5V電壓,手機正常充電;
- ②如果手機支援QC2.0快速充電協議,則Android使用者空間的hvdcp(high voltage dedicated charger port)程序啟動,開始在D+上載入0.325V電壓,並維持1.25S以上;
- ③當充電器檢測到D+上電壓0.325V並維持超過1.25S後,充電器斷開D+和D-的短接,由於D+和D-斷開,故D-上的電壓不在跟隨D+變化,此時電壓開始下降;
- ④手機端檢測到D-上的電壓從0.325V開始下降並維持1ms以上時,hvdcp讀取/sys/class/power supply/usb/voltage max 的值,如果是9000mv,則設定D+上電壓為3.3V,D-上電壓為0.6V;若為5000mv,則設定D+上電壓為0.6V,D-上電壓為0V;需要注意的是,如果D-設定為3.3V,說明該裝置還支援QC3.0,就要進入後續的QC3.0協商過程,也就是說QC3.0是QC2.0的進步式協議
- ④充電器檢測到D+、D-上的電壓後,就調整充電器的輸出至相應電壓
2-2 QC3.0協議
- QC3.0就是一個步進式的協議,如增加200mv的輸出電壓,就是DM3.3V,DP傳送0.6~3.3V的方波,一個方波增加一次電壓;降低電壓相反
參考文章
https://blog.csdn.net/u010783226/article/details/120142717
https://blog.csdn.net/qq_27854611/article/details/120316581
https://blog.csdn.net/weixin_45694615/article/details/108532889
https://blog.csdn.net/zzsddre/article/details/124420624