一、Data Role協議通訊過程和工作原理
Data Role描述了數據傳輸的方向。在Type-C接口中,下行端口(DFP)可以作為Host或HUB,負責提供VBUS和VCONN,并接收數據。與之相對的上行端口(UFP)則作為Device,從VBUS中獲取電力,并發送數據。而雙角色端口(DRP)則能夠在Host和Device之間進行動態切換。
通訊信號內容:
連接建立階段:
設備A發送默認的USB信號(如USB JID信號)給設備B。
設備B收到信號后,回復USB Detection信號給設備A,確認連接建立。
數據傳輸階段:
設備A發送SOF(Start of Frame)信號給設備B,表示開始傳輸數據。
設備B收到SOF信號后,回復ACK(Acknowledgment)信號給設備A,表示數據已成功接收。
數據傳輸過程中,設備A和設備B通過交換一系列數據包實現數據傳輸。這些數據包可能包括Data Token、STP(Split Transaction Preamble)、STP Token、Data Preamble、Data、Handshake等信號內容。
角色切換階段:
設備A發送PR_Swap請求信號給設備B,請求切換為Sink角色。請求信號可能包含電壓級別、電流限制等信息。
設備B收到請求信號后,通過CC引腳發送PR_Swap_GIVE響應信號給設備A,表示同意切換。響應信號可能包含確認信息或狀態信息。
在角色切換完成后,設備A作為Sink模式會打開VBUS和VCONN,提供電力給設備B。同時設備B也會進行相應的配置調整以接收電力。
斷開階段:
當設備A與設備B斷開連接時,雙方設備會通過CC引腳發送DISCONNECT請求信號。請求信號可能包括斷開的原因、斷開前的狀態等信息。
在確認斷開后,設備A和設備B會關閉VBUS和VCONN,結束連接。同時雙方設備也會進行一些清理和復位操作。
二、Power Role協議通訊過程和工作原理
Power Role定義了供電的角色。根據USB PORT的供電情況來劃分,Source是供電方,Sink則是受電方。Source Only表示只能作為供電方,Sink Only則只能作為受電方。默認情況下,設備為Source模式,但可以通過PD SWAP協議切換為Sink模式。
通訊信號內容:
源模式階段:
設備A作為Host模式默認打開VBUS和VCONN,向設備B提供電力。
設備B作為Device模式接收電力并發送回復信號給設備A,該回復信號可能包括電力的狀態、需求或反饋信息等。
角色切換階段:
當設備B需要從設備A接收電力時,雙方設備會進行角色切換。
設備A作為Source模式發送PR_Swap請求信號給設備B,請求切換為Sink角色。請求信號可能包含電壓級別、電流限制等信息。
設備B作為Sink模式響應PR_Swap_GIVE信號給設備A,表示同意切換。響應信號可能包含確認信息或狀態信息。
在角色切換完成后,設備A作為Sink模式打開VBUS和VCONN,提供電力給設備B。同時設備B也會進行相應的配置調整以接收電力。
斷開階段:
當設備A與設備B斷開連接時,雙方設備會通過CC引腳發送DISCONNECT請求信號。請求信號可能包括斷開的原因、斷開前的狀態等信息。
在確認斷開后,設備A和設備B會關閉VBUS和VCONN,結束供電。同時雙方設備也會進行一些清理和復位操作。
如下圖顯示常用設備的Data Role和Power Role
Power Role詳細可以分為:
a)Source Only
b)默認Source,但是偶爾能夠通過PD SWAP切換為SINK模式
c)Sink Only
d)默認SINK,但是偶爾能夠通過PD SWAP切換為Source模式
e)Source/SINK輪換
f)Sourcing Device(能供電的Device,顯示器)
g)Sinking Host(吃電的Host,筆記本電腦)
Type-C的Data/Power Role識別協商/Alt Mode
USB Type-C的插座中有兩個CC腳,以下的角色檢測,都是通過CC腳進行的,但是對于插頭、或者線纜正常只有一個CC引腳,兩個端口連接在一起之后,只存在一個CC引腳連接,通過檢測哪一個CC有連接,就可以判斷連接的方向。如果USB線纜中有需供電的器件,其中一個CC引腳將作為VCONN供電。
CC引腳有如下作用:
a)檢測USB Type-C端口的插入,如Source接入到Sink
b)用于判斷插入方向,翻轉數據鏈路
c)在兩個連接的Port之間,建立對應的Data Role
d)配置VBUS,通過下拉電阻判斷規格,在PD協商中使用,為半雙工模式
e)配置VCONN
f)檢測還有配置其他可選的配置模式,如耳機或者其他模式
連接方向、Data Role、Power Role角色檢測
SourceSink Connection
如圖所示,Source端CC引腳為上拉,Sink端CC引腳為下拉。握手過程為接入后檢測到有效連接(即一端為Host一端為Device),隨后檢測線材供電能力,再進行USB枚舉。
如下圖指示了Source端,在連接SINK之前,CC1和CC2的框圖模型:
a)Source端使用一個MOSFET去控制電源,初始狀態下,FET為關閉狀態
b)Source端CC1/CC2均上拉至高電平,同時檢測是否有Sink插入,當檢測到有Rd下拉電阻時,說明Sink被檢測到。Rp的阻值表明Host能夠提供的功率水平。
c)Source端根據Cable中哪一個CC引腳為Rd下拉,去翻轉USB的數據鏈路,同時決定另外一個CC引腳為VCONN
d)在此之后,Source打開VBUS,同時VCONN供電
e)Source可以動態調整Rp的值,去表示給Sink的電流發送變化,告知SINK最大可以使用的電流
f)Source會持續檢測Rd的存在,一旦連接斷開,電源將會被關閉
g)如果Source支持高級功能(PD或者Alternate Mode),將通過CC引腳進行通信
如下圖指示了SINK端CC1和CC2框架:
a)SINK的兩個CC引腳均通道Rd下拉到GND
b)SINK通過檢測VBUS,來判斷Source的連接與否
c)SINK通過CC引腳上拉的特性,來檢測目前的USB通信鏈路(翻轉)
d)SINK可選地去檢測Rp的值,去判斷Source可提供的電流。同時管理自身的功耗,保證不超過Source提供的最大范圍
e)同樣的,如果支持高級功能,通過CC引腳進行通信。
如下圖指示DRP的CC引腳在鏈接之前的架構:
a)當作為Source存在的時候,DRP使用MOSFET控制VBUS供電與否
b)DRP使用Switch去切換自身身份作為Source,或者是SINK
c)DRP存在一套機制,分三種情況,去決定自身是SINK或者是Source,去建立兩者間彼此的角色。
情況1:不使用PD SWAP,隨機變成Source/SINK中的任意一個,CC腳波形為方波
情況2:自身傾向于作為Source,執行Try.SRC,問對面能不能做SINK呀,我做Source
情況3:與情況2相反,自身傾向作為SINK,執行Try.SNK,你做Source,我做小弟
當然還存在Source&Source,SINK&SINK這種搞基模式,唯一的結果就是一直停留在Unattached.SNK/Unattached.SRC,無法終成眷屬。
Type-C的其他模式
Display Port Alternate Mode
系統會通過USB PD協議中VDMs的信息通信(CC引腳通信),去告知支持Display Port模式。在這個模式當中,USB SuperSpeed信號允許部分傳輸USB,部分傳輸DP信號。
如下圖,為3.5mm音頻輸入口轉Type-C端口,USB2.0鏈路被用來傳輸模擬音頻信號,若帶MIC,MIC信號則連接在SBU引腳上,在這個模式當中,電源可以提供到500mA電流。
Host端如何識別到音頻模式呢?把CC引腳和VCON連接,并且下拉電阻小于Ra/2(則小于400ohm),或者分別對地,下拉電阻小于Ra(小于800ohm),則Host會識別為音頻模式。
Debug Accessory Mode(DAM)
在DAM下,連接軟體和硬體提供可視化調試和控制的系統,使用較少。
審核編輯:劉清
-
電流限制
+關注
關注
0文章
39瀏覽量
14564 -
DAM
+關注
關注
0文章
8瀏覽量
9517 -
STP
+關注
關注
0文章
42瀏覽量
10278 -
USB-C
+關注
關注
2文章
373瀏覽量
34096 -
DFP
+關注
關注
0文章
26瀏覽量
3860
發布評論請先 登錄
相關推薦
評論