目錄
一、Type-C簡介以及曆史
二、Type-C Port的Data Role、Power Role
三、Type-C的Data/Power Role識别協商/Alt Mode
四、如何進行資料鍊路的切換
五、相關參數/名詞解釋
六、PD協定簡介
五、相關參數/名詞解釋
5.1 上拉電阻Rp
Rp有6個參數(5V檔位和3.3V檔位各3個),訓示着不同的供電能力。

5.2 下拉電阻Rd
都是5.1K電阻下地,能否檢測電源供電能力,取決于電阻的精度。
5.3 線材中的下拉電阻Ra
最小值800 ohm,最大值1.2K
5.4 名詞/連接配接狀态解釋
名詞:
Alternate Mode Adapter(AMA):支援PD USB交替模式的裝置,作為UFP存在
Alternate Mode Controller (AMC):支援PD USB交替模式的主機,作為DFP存在
Augmented Power Data Object(APDO):展現Source端的供電能力或者Sink的耗電能力,是一個資料對象
Atomic Message Sequence(AMS):一個固定的資訊序列,一般作為PE_SRC_Ready, PE_SNK_Ready or PE_CBL_Ready的開始或者結束
Binary Frequency Shift Keying (BFSK):二進制頻移鍵控
Biphase Mark Coding(BMC):雙相位辨別編碼,通過CC通信
Configuration Channel (CC):配置通道,用于識别、控制等
Constant Voltage (CV):恒定電壓,不随負載變化而變化
Current Limit (CL):電流限制
Device Policy Manager(DPM):裝置政策管理器
Downstream Facing Port(DFP):下行端口,即為HOST或者HUB下行端口
Upstream Facing Port(UFP):上行端口,即為Device或者HUB的上行端口
Dual-Role Data (DRD):能作為DFP/UFP
Dual-Role Power (DRP):能做為Sink/Source
End of Packet (EOP):結束包
IR Drop:在Sink和Source之間的電壓降
Over-Current Protection(OCP):過流保護
Over-Temperature Protection(OTP):過溫保護
Over-Voltage Protection(OVP):過壓保護
PD Power (PDP):Source的功耗輸出,由制造商在PDOs字段中展示
Power Data Object (PDO):用來表示Source的輸出能力和Sink的消耗能力的資料對象
Programmable Power Supply (PPS):電源輸出受程式控制
PSD:一種吃電但是沒有資料的裝置,如充電寶
SOP Packet:Start of Packet,所有的PD傳輸流程,都是以SOP Packet開始,SOP*代表SOP,SOP’,SOP’’
Standard ID(SID):标準ID
Standard or Vendor ID(SVID):标準或産商ID
System Policy Manager(SPM):系統政策管理,運作在Host端。
VCONN Powered Accessory(VPA):由VCONN供電的附件
VCONN Powered USB Device(VPD):由VCONN供電的裝置
Vendor Data Object (VDO):産商特定資訊資料對象
Vendor Defined Message(VDM):産商定義資訊
Vendor ID (VID):産商ID
狀态:
Disabled State:從CC引腳移除終端,如果不支援該狀态,那麼該端口在上電後直接是Unattached.SNK或Unattached.SRC,該狀态端口不會驅動VBUS或VCONN,CC1和CC2會呈現高阻到地
ErrorRecovery State:從CC1和CC2引腳移除終端,接下來會根據端口類型轉化為Unattached.SNK或Unattached.SRC,這相當于強制斷開連接配接事件,并尋找一個新的連接配接。如果該狀态不支援,則轉化為支援的disabled狀态,如果disabled狀态也不支援,則轉化Unattached.SNK或Unattached.SRC。,該狀态端口不會驅動VBUS或VCONN,CC1和CC2會呈現高阻到地
Unattached.SNK State:端口等待檢測到Source的出現,一個端口Dead Battery不供電時候進入這個狀态,端口不能驅動VBUS和VCONN,CC1和CC2分别地通過Rd終止到地,當Source連接配接檢測到會轉化為AttachWait.SNK,意味着在一個CC引腳上有SNK.Rp。USB 2.0不支援USB PD可能在VBUS檢測到直接轉化到Attached.SNK
AttachWait.SNK State:端口檢測到SNK.Rp狀态在一個CC引腳上,并等待VBUS。端口不驅動VBUS或VCONN
Attached.SNK State:端口連接配接上了,并作為Sink操作,如果初始化進入這個狀态同樣作為UFP操作,Power和Data的狀态改變可以通過USB PD Command。直接從Unattached.SNK轉化過來是通過檢測VBUS,不确定方向和可用的高于預設的USB Power
Try.SRC State:端口查詢決定夥伴端口是否支援Sink,不驅動VBUS和VCONN,端口要在CC1和CC2上分别Source電流
TryWait.SNK State:端口成為Source失敗,準備連接配接成Sink,不支援VBUS或VCONN,CC1和CC2分别通過Rd終止
Try.SNK State:端口查詢決定夥伴端口是否支援Source
TryWait.SRC State:端口成為Sink失敗,準備連接配接成Source
六、PD協定簡介
PD協定是Power Delivery,簡單來說是一種快速充電标準。
包含PD協定的Type-C 系統從Source到SINK的系統框圖大緻如下:
在Source的内部包含了一個電壓轉換器,且受到PD控制器控制,他會根據輸入電壓的條件以及最高可輸出規格需求,此電壓轉換器可以是BUCK、Boost、Buck-Boost或者反激轉換器。整個通信過程都在PD控制器的管控之下,USB PD還有一個開關,用于切換VCONN電源(電纜包含電子标簽時用到)。
當電纜接通之後,PD協定的SOP通信就開始在CC線上進行,以此來選擇電源傳輸的規格,此部分由Sink端向Source端詢問能夠提供的電源配置參數(5V/9V/12V/15V/20V)。
如下波形為SINK 控制器申請一個9V電壓輸出的例子。
(1)SINK端發起SOP,申請擷取Source能提供的規格資料
(2)Source回複能提供的規格清單
(3)SINK回複選擇的電壓規格,并帶上所需要的電流參數,并發出相應的請求
(4)Source接受請求,并且把VBUS由5V擡升到9V
(5)在電壓變化期間,SINK的電流會保持盡可能小,Source端VBUS到達9V并穩定之後,會發出Ready信号
(6)SINK端電流逐漸擡升,若SINK需要降低電壓,會重複以上過程
需要注意的是,在電壓下降期間,Source為了讓電壓快速降低,Source會打開放電電路,達到額定值之後,Source會等待一段時間,電壓穩定之後再發出Ready信号給SINK。
這種溝通方式的好處就是能確定任何電源的變化都能在SINK和SOURCE的規格範圍内,避免出現不可控情況。
PD協定的通信編碼為Bi-phase Mark Coded (BMC),通過CC腳進行通信,如下圖。
BMC碼是一種單線通信編碼,資料1的傳輸,需要有一次高/低電平之間的切換過程,而0的傳輸則是固定的高電平或者低電平。每一個資料包都包含有0/1交替的前置碼,起始碼(SOP),封包頭,資料位,CRC以及結束碼(EOP)
如下圖所示,展開後的CC腳PD通信波形
BMC編碼的通信,也可以使用分析儀進行分析,用來抓取每個資料包,并且獲得資料包的作用,如電壓電流等。
PD3.0規範中,定義了以下電源配置清單:
對于5V/9V/15V來說,最大的電流為3A,在20V的配置當中,如果是普通的電流,則最大能夠支援20V/3A,即60W,如果使用的是帶了E-Marker的線纜,則供電能達到20V5A,即100W。
支援超高速資料傳輸(USB3.1)或者是供電電流超過3A,電纜都必須使用E-Marker進行辨別。線纜中有IC,他們需要從VCONN獲得電源。
我們注意到,線纜中有1K的下拉電阻Ra,這樣線上纜插入的時候,Source會識别到CC1和CC2電壓下降的情況,具體的電壓會告訴主機那個端子被Sink的5.1K下拉,那個端子被線纜的1K電阻下拉。是以線纜的插入方向也可以被識别到。Source就可以通過開關,給E-Marker提供VCONN。
如下圖為帶E-Marker的情況:
(1)電纜接通之後,Source的一根CC線被來自VCONN的1K拉低
(2)Source檢測到此電壓,知道電纜中有E-Marker,是以切換VCONN到對應的CC引腳
(3)在之後,PD通信将會包含Source和E-Marker之間的通信(SOP'&SOP'')Source和Sink之間為SOP
當裝置為DRP時,裝置的CC1和CC2為方波,一旦連接配接,CC端都會發生改變。
在本次連接配接當中,左邊的DRP做了Source,右邊的DRP作為SINK,也有可能翻轉過來。也可以本來就設定SOURCE或者SINK優先。
連接配接之後,想翻轉也是允許的,隻要發起角色變換請求就可以了。