序列匯流排的學習

wyuu101發表於2024-11-13

一、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-懸空即可。



四、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
  • ⑤判定完畢,按照對應的結果進行供電或者傳輸資料。

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

(三)USB-PD協議(USB-Power Delivery)

(四)PE

相關文章