細談Type-C、PD原理(二)
目錄
二、Type-C Port的Data Role、Power Role
三、Type-C的Data/Power Role識別協商/Alt Mode
五、相關引數/名詞解釋
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)
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優先。
連線之後,想翻轉也是允許的,只要發起角色變換請求就可以了。