--- tags: I/O, System Software --- # USB(3): Type-C ## Overview [USB Type-C](https://en.wikipedia.org/wiki/USB-C) 是一種 USB 的硬體連接介面,接口尺寸為 8.3×2.5 毫米。外觀上最大特點在於其上下端完全一致,與 USB Type-A 相比不再區分 USB 正反面。 此介面可以同時處理資料傳輸和充電。透過 USB-C,可以以高達10 Gb/s 的速度傳輸數據,並且能以最高 240 瓦(48V/5A)的功率為裝置充電。這使得它非常適合各種電子產品,例如筆記型電腦、智慧型手機和配件。 ## 引腳 USB-C 的引腳設計如圖。上方為母頭訊號,下方為公頭訊號。  > [USB Type C Pinout Brief Diagram](https://rotatingusbcable.com/usb-type-c-pinout-brief-diagram/) USB-C 介面有 24 個引腳,每個引腳都有其特定的用途: * 8 個 SuperSpeed 差分訊號: 引腳 `Tx1+`, `Tx1-`, `Tx2+`, `Tx2-`, `Rx1+`, `Rx1-`, `Tx2-`, `Rx2+`, `Rx2-` 用於 SuperSpeed 的資料傳輸,也可相容 USB 2.0 的傳輸 * 4 個 VBus 引腳負責供電: 初始電壓為 5V,但最高可達 20V,甚至支援 Power Delivery (PD) 的 48V,輸出功率高達 240 瓦。線纜和裝置會溝通以確定合適的功率,從而避免過載 * 4 個接地訊號 GND * 4 個 USB 2.0 差分訊號: 共兩對的 D+/D- * 2 個 CC (Channel Configuration) 訊號: 負載在連接過程中的傳輸方向、提供或接收電力、正反插的確認,及 USB PD BCM 碼訊號傳輸 * 2 個 SBU (Sideband Use) 訊號: 輔助訊號,不同場景下有不同用途。例如在 DisplayPort 的 DP Alt Mode 模式下進行訊號傳輸時,作為音訊傳輸通道; 又例如在 USB-C 類比音訊耳機附件模式,則作為麥克風訊號通道  > Reference: [USB 3 female connector and signal assignment from TYPE-A to TYPE-C for connector reversibility](https://electronics.stackexchange.com/questions/639187/usb-3-female-connector-and-signal-assignment-from-type-a-to-type-c-for-connector) ### CC (Channel Configuration) pins USB-C 介面中的 CC 引腳(CC1 和 CC2)在 USB-C 介面中擔任至關重要的角色。  > [USB Type C Pinout Brief Diagram](https://rotatingusbcable.com/usb-type-c-pinout-brief-diagram/) * 線纜檢測與方向: CC 可以識別線纜的插入方向,因此無論是正插還是倒插,USB-C 都能正常工作 * 功率協商: 協助裝置間的傳輸功率協議,以能夠安全地提供高功率而不會過熱甚至損壞硬體 * Alternate Mode: 使用 USB-C 進行影像(DisplayPort/HDMI)功能或高速資料傳輸時,CC 可以協助將 port 切換到正確的模式 * 數據通訊: CC 也可以在需要時幫助建立高速資料傳輸 ### SBU (Sideband Use) pins SBU 主要用於處理低速訊號,不用於傳輸一般的 USB 資料。 它們的主要作用是在 Alternate mode 下,此時 USB-C 會切換到其他功能,例如 DisplayPort 或 HDMI 的視訊輸出。此時透過 SBU 引腳,單一的 USB-C port 可以兼具充電、資料傳輸,視訊傳輸,而無需額外的 port。 ## E-Marker > [數據線也有「心臟」?USB Type-C線纜中的E-Marker晶片有啥用?](https://www.aiitw.com.tw/news-detail.asp?seq=108) USB 的線纜根據充電電流、數據與影音傳輸功能的支援也有區分。 為了規範它們的功能和電氣性能,除了不需要影音傳輸 + 3A + USB2.0 的線纜,其他的線纜中都會被放置一個識別 IC,後者被稱為 Electronically Marked Cable(E-Marker),其功能像是 USB Type-C 線纜的身分證,通過這顆晶片可以宣告線纜的包括電源/數據/影像的傳輸能力和製造商 ID 等信息。基於此,輸出端才能根據連接的裝置(如手機或顯示器)調整匹配的電壓/電流或影音訊號。 ## Data and Power Role 在 USB 的連接上,兩端的裝置有主從及方向之分。 資料傳輸上,USB Port 可以是三種類型的角色之一: * DFP(Downstream Facing Port): 相當於 Type-A 母頭端的擔任角色,DFP 將為 VBUS 提供電力 * UFP(Upstream Facing Port): 相當於 Type-B 母頭端的擔任角色,UFS 將從 VBUS 獲得電力 * DRD(Dual-Role-Data): 可充當 DFP 或 UFP。連線完成時,供電的 port 會先扮演 DFP,而受電端扮演 UFP。但透過 [Data Role Swap](#Data-Role-Swap) 功能,即可動態更改 DRD 的資料角色 電源傳輸上,USB Port 也有三種類型角色: * Sink: 連接時會消耗 VBus 電力的 Port。CC 上設置有 Rd(下拉電阻,Pull-down resistor) * Source: 是連接時透過 VBus 提供電力的 port。CC 上設有 Rp(上拉電阻,Pull-up Resistor) * DRP(Dual-Role-Power): Port 可充當 Source 或 Sink,並可在這兩種狀態之間交替使用。若 DRP 的初始角色為 Source,則資料端其扮演 DFP。反之,當 DRP 的初始是 Sink 時,則 Port 將扮演 UFP。但透過 [Power Role Swap](#Power-Role-Swap) 可以動態變更 DRP 的電源角色。 USB Type-C 及 Power Delivery(PD)還未問世前,USB 的協定上作為 Host 的一方必然成為 DFP 及 Source,而作為 Device 的一方則為 UFP 及 Sink。然而,Type-C 及 PD 的出現打破了這個規則,資料與電源的角色可以獨立運作,換言之作為 DFP 的同時成為 Sink,反之,UFP 也能成為 Source。 ## USB Power Delivery(PD) > [Power Delivery 的源起與規格](https://www.graniteriverlabs.com/zh-tw/technical-blog/usb-pd-power-delivery-spec-versions) 在 USB 充電之前,產品的充電裝置多由各家廠牌使用各自的介面,導致裝置汰換時將造成許多浪費。由於 USB 的普及,市面大部分的產品都透過此介面傳輸資料,進而促使人們欲提升 USB 供電能力的想法。 [USB-IF (USB Implementers Forum)](https://usb.org/) 於 2012 年發表第一版 USB Power Delivery 規範,為使用 Type-C 介面進行充電制定了基礎。在 1.0 規格下,供電能力最高可至 100W (20V 5A)。隨著更多功能的加入,規範不斷更新,直至撰文時已來到 [USB Power Delivery Specification Revision 3.2](https://usb.org/document-library/usb-power-delivery),最大供電已可達 240W(48V 5A)。 ### PD 架構 USB PD 的規範中描述了 USB Power Delivery 的邏輯架構。留意到此架構的目的是展示 PD 的關鍵概念,並解釋邏輯架構中模組之間的關聯。實際實作上,根據 PD 裝置的多種可能類型,可以有不同實現方案。 USB Power Delivery 是一個 Port to Port 架構。下圖說明了 USB PD "Port Pair" 之間的通訊堆疊各層之關係。 :::info "Port Pair" 是指兩個支援 PD 功能並連接的 ports :::  > [How Power Delivery Works on USB-C: A Comprehensive Guide](https://www.hexosys.com/blog/how-power-delivery-works-on-usbc.html) * Device Policy Manager:透過 Policy Engine 將 "Local Policy" 應用於裝置中的每個 port * Policy Engine: 每個 Port 有各自的 Policy Engine,向下提供 Device Policy Manager port 的狀態,向下則可以解釋 Device Policy Manager 的輸入並實施 Local Policy,以指示 Protocal 層建構訊息 * Protocol: 負責建立用於 Source port 和 Sink port 之間溝通的訊息。同時也計算對方是否在要求時間內有正確的回應 (Timer check)。若偵測到任何錯誤,任一方的 Protocol Layer 可發起 Reset 機制重整狀態 * Physical Layer: 通過 Channel Configuration(CC),處理 port 兩端在物理訊號上的位元傳輸和接收 下圖則展示了 Port Pair 之間的架構。  > [USB PD DRP (dual-role power) schematics using EZ-PD™ PMG1 MCUs](https://www.arrow.com/en/research-and-events/articles/usb-pd-drp-dual-role-power-schematics-using-ez-pd-pmg1-mcus) 除了上面描述的通訊堆疊之外,還包含了: * System policy manager: 運行在 USB Host 上的模組。負責監控和控制透過 USB 連接上的各個 Provider 和 Consumer,並應用系統策略 * Source Port: 提供電源的一端,透過 VBUS 供電 * Sink Port: 用電的一端,透過 VBUS 消耗電能 * Power Source: 讓 PD port 能透過 VBUS 供電的模組 * Power Sink: 讓 PD port 能從 VBUS 汲取電源的模組 * Cable Detect(USB-C Port Control): 用於偵測帶有 E-Marker 的線纜 更多細節請參閱 USB PD Spec 2.6 Architectural Overview。 ## Charging Power PD 3.1 規範將原先 PD 3.0 的內容歸納至標準功率範圍(Standard Power Range, SPR)。在 SPR 下,最大功率維持原本的 100W。同時增加擴展功率範圍(Extended Power Range, EPR),後者新增三種固定電壓:28V、36V 和 48,使最大充電功率可達 240W。  > [USB 官方認證測試](https://www.graniteriverlabs.com/zh-tw/usb-standards-service) ## USB Role Swap > [USB Type-C Power Delivery 的角色交換功能](https://www.graniteriverlabs.com/zh-tw/technical-blog/application-notes-usbc-role-swap) ### Power Role Swap 對於 Source,其監測 CC pin 的電壓,偵測到 CC pin 上 Rd,表示接上Sink,則 Source 會在 VBUS 輸出 5V,此時 Source 也會預設為 DFP;對於 Sink,其偵測 VBUS,當偵測到 5V 時表示已經連接上 Source,此時 Sink 會預設為 UFP。  如果 PD 溝通的兩端皆為 DRP 時,雙方對接上後各自作為 Source 或 Sink 的情況就是隨機的,所以初步 PD 協議完成時,Power role 的結果可能不是產品偏好的狀態。因此雙方在完成初步的 PD 協議後,會依據產品當下的電力狀態(如Source/Sink Capability 或有無 External Power)及其產品偏好發起角色調換的要求,這稱為 Power Role Swap(PR Swap)。 舉例來說,當帶有 Type-C 的筆電與外部裝置對接時,筆電通常會做為 Source。但當筆電接上帶有外接電源的 Dock 時,Dock 或筆電間可能會發生 PR Swap。原因是多數筆電的 Source Capacity(供電能力) 只有 15W 且帶有電池需要被充電,而 Dock 的 Source Capacity 常是大於 15W 甚至是 60W 以上,所以當筆電電源不足或未接上筆電本身的電源供應器時,多數情況下, Dock 作為 Source 的能力會比筆電來的好。不過實際情況取決於 PR Swap 能否順利完成。 PR_Swap 的發起可以由 Source 和 Sink 任何一方發起,而收到 PR_Swap 要求的一方也可以視自身能力和當前狀況回應「接受(Accept)」、「拒絕(Reject)」或「等待(Wait)」的訊息來決定是否進行 PR Swap 的動作。 如下圖展示了 Sink 發起 PR_Swap 的案例,以及 VBus 在 PR Swap 過程的變化:   * `#1`: Sink 發起 PR_Swap * `#2`、`#3`: 原本的 Source 接受 PR Swap 因此發出Accept,並將 CC Pin上的 Rp 切換到 Rd 後發出 PS_RDY。從 Source 成為 Sink * `#4` 當原本的 Sink 收到新的 Sink發出的 PS_RDY 後,其將 Rd 切換到 Rp,成為新的 Source 並發出 PS_RDY,此時,PR Swap 就完成了 * 最後,新的 Source 會再發出新的 Source Capacity 與新的 Sink 完成新的 PD 協議 ### $V_{CONN}$ Swap 當 Cable 上有 e-Marker 時,e-Marked IC 便需透過其中一個 CC pin 得到 $V_{CONN}$ Power。流程上,雙方連接後一開始成為 VBus Source 的一方會預設為 $V_{CONN}$ Source,完成初步的 PD 協議後,雙方可以再依照能力提出 $V_{CONN}$ Swap 的要求。 ### Data Role Swap USB 的 Power Role 可以轉換,Data Role 同樣可以利用 PD 協議來完成轉換(DR_Swap)。如前所述,當雙方一對接上,並在完成第一次的 PD 協議之前,成為 Source 的一方會預設為 DFP,Sink 則預設為 UFP,所以當 PD 協議完成後,裝置一樣也可以依需提出 DR Swap 的要求。 如下圖展示了 UFP 發起 DR_Swap 的案例。  要留意的是,若收到 DR_Swap 的當下,DFP/UFP 任一方已進入 Active Mode,那麼在進行 DR Swap 前需先執行 Hard Reset 使雙方離開 Active Mode,再重新 PD 協議。若Cable也在Active Mode時,則Cable 也需先離開 Active Mode。 ### Fast Role Swap Fast Role Swap(`FR_Swap`) 也是一種 PR Swap,只是 FR Swap 是用於在緊急的狀態下快速的切換 Power Role,因此整個流程與一般的 PR Swap 有些許差異。 應用場景的案例如下圖: 最初當 Host、Dock、Device 連接時,Dock 作為 Host 和 Device 兩者的 Source,但如果 Dock 本身的電源斷了,此時為了維持 Device 的連接及資料的傳輸,Host 和 Dock 就可以藉由 FR Swap 的動作,使 Host 快速地成為 Source。  並非所有市售產品都支援 FR Swap。有連接雙方都支援此項功能,FR Swap 才得以進行。 ## Alternate mode USB-C 的 Alternate mode 讓單一 USB 接口得以取代多個連接器。 支援的模式包含: 1. [DisplayPort](https://en.wikipedia.org/wiki/DisplayPort) mode:將 USB-C 轉換為高解析度視訊/音訊連接埠。可支援 8K 解析度和流暢的高刷新率。 2. [Mobile High-Definition Lin(MHL)](https://en.wikipedia.org/wiki/Mobile_High-Definition_Link) mode:讓智慧型手機可以鏡像到電視/投影機 3. [Thunderbolt](https://en.wikipedia.org/wiki/Thunderbolt_(interface)) mode: 提供 40Gbps 的超快資料傳輸速度,同時具備電源和視訊傳輸功能 4. [HDMI](https://en.wikipedia.org/wiki/HDMI) mode:連接電視/顯示器,讓 USB 接口像普通 HDMI 一樣輸出高解析度的視訊/音訊。 ## Rerfence * [USB-C/Type-C接口简介](https://www.usbzh.com/article/detail-167.html) * [Type-C® 接口生態圈的技術應用與剖析](https://www.graniteriverlabs.com/zh-tw/technical-blog/usb-type-c-interface-ecosystem) * [Power Delivery 的源起與規格](https://www.graniteriverlabs.com/zh-tw/technical-blog/usb-pd-power-delivery-spec-versions) * [USB Type-C Power Delivery 的角色交換功能](https://www.graniteriverlabs.com/zh-tw/technical-blog/application-notes-usbc-role-swap) * [USB Type-C® 工程師指南](https://www.ti.com/lit/eb/nesy068/nesy068.pdf?HQS=app-ipp-pwr-denusbc-bhp-ebook-null-tw) * [USB Type-C介面PD協定解決方案](https://www.richtek.com/Home/Design%20Support/Technical%20Document/AN056?ForceDevice=1&devicename=richtekweb&sc_lang=zh-TW) * [USB Type C Pinout Brief Diagram](https://rotatingusbcable.com/usb-type-c-pinout-brief-diagram/) * [數據線也有「心臟」?USB Type-C線纜中的E-Marker晶片有啥用?](https://www.aiitw.com.tw/news-detail.asp?seq=108)
×
Sign in
Email
Password
Forgot password
or
Sign in via Google
Sign in via Facebook
Sign in via X(Twitter)
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
Continue with a different method
New to HackMD?
Sign up
By signing in, you agree to our
terms of service
.