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