USB Type C工作原理解析

2021-08-30 04:21:28 字數 1807 閱讀 9097

特色:尺寸小,支援正反插,速度快(10gb)。這個小是針對以前電腦上的usb介面說的,實際相對android機上的microusb還大了點:

usb type-c:8.3mmx2.5mm

microusb:7.4mmx2.35mm

lightning:7.5mmx2.5mm 

(公頭)

注:可以看到,資料傳輸主要有tx/rx兩組差分訊號,cc1和cc2是兩個關鍵引腳,作用很多:

• 探測連線,區分正反面,區分dfp和ufp,也就是主從

• 配置vbus,有usb type-c和usb power delivery兩種模式

• 配置vconn,當線纜裡有晶元的時候,乙個cc傳輸訊號,乙個cc變成供電vconn

• 配置其他模式,如接音訊配件時,dp,pcie時

•電源和地都有4個,這就是為什麼可以支援到100w的原因。

上圖,dfp (downstream facing port)也就是主,ufp (upstream facing port)為從。除了dfp、ufp,還有個drp (dual role port),drp可以做dfp也可以做ufp。當drp接到ufp,drp轉化為dfp。當drp接到dfp,drp轉化為ufp。兩個drp接在一起,這時就是任意一方為dfp,另一方為ufp。

在dfp的cc pin有上拉電阻rp,在ufp有下拉電阻rd。未連線時,dfp的vbus是無輸出的。連線後,cc pin相連,dfp的cc pin會檢測到ufp的下拉電阻rd,說明連線上了,dfp就開啟vbus電源開關,輸出電源給ufp。而哪個cc pin(cc1,cc2)檢測到下拉電阻就確定介面插入的方向,順便切換rx/tx。

電阻rd=5.1k,電阻rp為不確定的值,根據前面的圖看到usb type-c有幾種供電模式,靠什麼來甄別?就靠rp的值,rp的值不一樣,cc pin檢測到的電壓就不一樣,然後來控制dfp端執行哪種供電模式。

需要注意的是,上圖里畫了兩個cc,實際上在不含晶元的線纜裡只有一根cc線。

含晶元的線纜也不是兩根cc線,而是一根cc,一根vconn,用來給線纜裡的晶元供電(3.3v或5v),這時就cc端沒有下拉電阻rd,而是下拉電阻ra,800-1200歐。

當cc pin兩個都接了下拉電阻<=ra,dfp進入音訊配件模式,左右聲道,mic都俱全,如上圖。

usb type-c和displayport,pcie

usb pd是bmc編碼的訊號,而之前的usb則是fsk,所以存在不相容,不知道目前市面上有沒有能轉換的產品。

usb pd是在cc pin上傳輸,pd有個vdm (vendor defined message)功能,定義了裝置端id,讀到支援dp或pcie的裝置,dfp就進入替代(alternate)模式。

如果dfp認到device為dp,便切換mux/configuration switch,讓type-c usb3.1訊號腳改為傳輸dp訊號。aux輔助由type-c的sbu1,sub2來傳。hpd是檢測腳,和cc差不多,所以共用。

而dp有lane0-3四組差分訊號,type-c有rx/tx1-2也是四組差分訊號,所以完全替代沒問題。而且在dp協議裡的替代模式,可以usb訊號和dp訊號同時傳輸,rx/tx1傳輸usb資料,rx/tx2替換為lane0,1兩組資料傳輸,此時可支援到4k。

如果dfp認到device為dp,便切換mux/configuration switch,讓type-c usb3.1訊號腳改為傳輸pcie訊號。同樣的,pcie使用rx/tx2和sbu1,sub2來傳輸資料,rx/tx1傳輸usb資料。

這樣的好處就是乙個介面同時使用兩種裝置,當然了,轉換線就可以做到,不用任何晶元。

USB Type C 工作原理 USBC

可以看到,資料傳輸主要有tx rx兩組差分訊號,cc1和cc2是兩個關鍵引腳,作用很多 探測連線,區分正反面,區分dfp和ufp,也就是主從 配置vbus,有usb type c和usb power delivery兩種模式 配置vconn,當線纜裡有晶元的時候,乙個cc傳輸訊號,乙個cc變成供電v...

spring mvc工作原理解析

springmvc各個元件間工作路線圖 springmvc實現controller的三種方式 實現controller介面 實現httprequesthandler介面 使用 controller註解 各個元件解析 1.前端控制器 dispacterservlet 由spring提供,不需要程式設計...

Servlet工作原理解析

1 servlet容器 tomcat容器分四個等級,真正管理servlet的容器是context容器,乙個web應用對應乙個context容器,也就是servlet執行時的servlet容器。新增乙個web應用建立乙個standcontext容器,並且給這個context設定必要的引數,url和pa...