2014年8月18日 星期一

USB Type-C Configuration Channel (CC) pin function

USB Type-C定義了CC pin,理解了CC pin的功能,大致上就等於理解了Type C。下面六個項目是Type C Spec所定義的CC pin功能。

1. Detect attach of USB ports, e.g. a DFP to a UFP
DFP (Downstream Facing Port)為Host端, UFP (Upstream Facing Port) 為device端。在DFP的CC pin會有上拉電阻Rp,在UFP會有下拉電阻Rd。在DFP與UFP未連接之前,DFP的VBUS是沒有輸出的。當DFP與UFP連接後,CC pin相接,DFP的CC pin 偵測到UFP pulldown Rd,表示接到Device,DFP便打開VBUS的FET開關,輸出VBUS電源給UFP。

DFP可由CC1與CC2 pin的負載阻抗來判斷連接狀態,並偵測它是否接到debug or Audio accessory裝置。


2. Resolve cable orientation and twist connections to establish USB data bus routing
由於Type-C是支援正反插,CC pin被用來偵測正反插,從DFP的角度來看,當CC1接到Pulldown就是正插,如果是CC2接到Pulldown就是反插。在偵測完正反插後,就會輸出相對應的USB信號,例如CC1對應的是SSTX1與SSRX1。下圖的右邊整合了MUX,由於USB 3.1的data rate高達10 Gbps,為了避免PCB的走線出現分支,所以正反插進來的訊號會由MUX來切換,正插時,切換到SSRX1&SSTX1,反插時,切換到SSRX2&SSTX2。


3. Establish DFP and UFP roles between two attached ports
除了DFP、UFP,Type-C spec還定義了DRP (Dual Role port),DRP可以做為DFP也可以做為UFP,可以供電,也可以受電。當DPR接到UFP裝置,DRP會轉換為DFP。當DRP接到DFP裝置,DRP會轉換為UFP。當兩個DRP裝置接在一起,兩個裝置會Random地,一方為DFP,一方為UFP。

4. Discover and configure VBUS: USB Type-C Current modes or USB Power Delivery
下表為Type-C VBUS  輸出選項,USB 2.0, USB3.1,USB BC1.2 是先前USB協會定義的標準,可以跟Type-C相容。USB Type-C current 1.5A與3A是Type-C所定義的,需要有CC pin來做偵測。USB PD的功能還需要有USB PD Phy chip來完成Protocol溝通,而Protocol信號是載在兩端連接的CC pin上。
Type-C如何去決定要執行那個模式呢?這也需要靠CC pin。先前提到DFP會有上拉電阻Rp,UFP會有下拉電阻Rd,當DFP與UFP相接,CC pin上就會有分壓,Rd是固定5.1k,而Rp就會依照DFP的類別,而有不一樣的阻值。UFP會monitor CC pin上的分壓來知道DFP的VBUS種類。另外DFP也用不同大小的定電流源來供給CC pin,當電流流到uRd,同樣可以產生電壓,讓UFP知道DFP的VBUS模式。

Type-C spec定義了DFP在不同模式下,在CC pin要供多大的電流或是要用多大的上拉電阻Rp阻值。
在UFP是由CC pin上的電壓,來得知DFP的VBUS輸出能力。例如DFP為5V/3A,它可以在CC pin上供330uA的電流,在UFP端的CC pin上就會得到330uA * 5.1k=1.683V,UFP就可以判斷
DFP為vRd-3.0。或是DFP用一個上拉電阻10K到VBUS,UFP端的CC pin上的電壓為
5v * 5.1k /(5.1k+10k)=1.688V,UFP一樣可以判斷DFP為vRd-3.0。


USB Type C也支援USB PD,而USB PD的Protocol會轉為BMC的信號,在CC pin上傳輸。

5. Configure VCONN
CC pin有CC1,CC2,當其中1 pin被用來做DFP,UFP之間的連結,另1pin用就來供VCONN。由Figure4.5可以發現,當Cable內將另一個CC pin接一個下拉電阻Ra,這表示這是一條主動式Cable,需要被供電的。DFP偵測到Ra,便會輸出VCONN在CC pin,供電給Cable。Ra的阻抗是定義為800ohm ~1200ohm。
6. Discover and configure optional Alternate and Accessory modes
USB PD的VDM (Vendor defined message)功能,可以讓host與device認到對方的ID,而進到alternate mode.,VDM也是透過CC pin來傳輸的。下面為一個Alternate mode在Dock的例子,system認到dock裝置,知道dock有PCIe裝置,於是system利用Type-C的SBU1/SBU2、Tx2/Rx2來傳輸PCIe信號。



當CC1與CC2 pin上各接一個下拉電阻,阻值≤Ra,這表示system接到了Audio Accessory,system
進到accessory mode。如下圖,Type C的CC pin接到耳機的DET pin,當耳機插入時,DET pin被拉到low,system進到accessory mode。system需要自動切換Type C上的訊號,讓DP/DN甩來輸出耳機的左右聲道。SBU1/SBU2用來作MIC/AGND function,依照system是支援OMTP或CTIA的耳機。



Reference
1. www.usb.org  "USB Type-C Specification Release 1.0"

142 則留言:

Raymond 提到...

有點搞混了, 請教一下,
1. type c pin define, 有些pin並沒有對稱, 例如cc和Vconn, 如何能夠正插反插都可以?
2. 而在DFP to UFP functional model方塊圖中, 有cc1和cc2而pin define只有1個cc pin ?
thanks!

Zheng Kevin 提到...

Raymond, 你好。這兩個問題算是同一件事。
Type-C pin define是有2 pin,CC1與CC2,
CC1用來偵測正插,CC2用來偵測反插。請參考第
一張圖,每個CC pin內部都有一個switch,當CC pin偵測到Ra,表示它接到主動式cable,switch就會切換到VCONN,VCONN就從CCpin供電給主動式cable。

Raymond 提到...

Hello,Kevin大.
1. 其實不太了解一些電阻和switch的位置,Rp和switch是否在host type c 端子內,而Rd在device端端子內,Ra在cable內。
當cable plug in兩端的端子內,經由connector機械結構的切換,讓兩端的MCU知道彼此的關係,
而host端知道正插反插,再決定透過那個IO供電給Vconn,是這樣嗎?
2. 那什麼是主動式cable?
thanks.

Raymond 提到...

Hello,Kevin大,
1. 其實不太了解一些電阻和switch的位置,Rp和switch是否在host type c 端子內,而Rd在device端端子內,Ra在cable內。
當cable plug in兩端的端子內,經由connector機械結構的切換,讓兩端的MCU知道彼此的關係,
而host端知道正插反插,再決定透過那個IO供電給Vconn,是這樣嗎?
2. 那什麼是主動式cable?
thanks.

Zheng Kevin 提到...

Hi Raymond
是的,Rp會在供電端,Rd會在受電端,Ra是在cable內。因為有兩個CC pin,一個用來做正反插偵測,另一個就可以用來做為VCONN,供電給active cable。 Active cable代表它內部有IC,例如PD IC或USB訊號加強的IC,就可以用VCONN來供電給他們。

Raymond 提到...

Kevin大,
1. MUX應該在每顆PD MCU內, 當display port或者audio等應用下, 在即有的腳pin上透過切換來傳遞訊號, 即是如此那不管是DFP, UFP, DRP都需要MUX, 是嗎?
2. 那figure 4-3左側為何沒有MUX?
Thanks.

Zheng Kevin 提到...

Hi Raymond
1.因為不是每個host都需要故援DP或AUDIO,所以看到市面上的PD廠家Rohm,TI,Cypress等,都是將mux放在外面。先由PD來偵測CC pin,再由EC讀取PD IC來得知偵測結果, EC再去控制MUX開關。

2.這張圖是在Type-C的spec頡取的,我也不知為什左邊的圖沒有MUX,我猜想是左邊的USB port可以輸出兩組USB 3.1訊號。

匿名 提到...

以往的OTG & DRP是否指的是一樣的東西??

Zheng Kevin 提到...

在USB2.0的時代叫OTG,用ID pin來判斷是否做為UFP或DFP。在Type-C沒有ID pin,而是用CC pin來判斷是否做為UFP或DFP,作為DRP,就是可以供電,也可以受電。

歐宗翰 提到...

請問kevin 大大

是否有阻抗以及走線的資料呢

Zheng Kevin 提到...

在type-C spec的第81頁寫到,CC與SBU的impedance是在32~53ohm. VBUS與GND的IR drop分別是500mv與250mV以內。

匿名 提到...

請問Kevin大
type-c是用bmc碼傳送資料
usb 是用fsk 傳送資料
那type-c要怎麼跟usb相容呢?
在spec 裡的5.8.4 Interoperability with BFSK and BMC 有說明 只是還是不太理解
因為兩個訊號差很多 一個是0101訊號 一個是類似正弦波的訊號

Zheng Kevin 提到...

你好,Type-C是由BMC碼傳送資料,而傳統的TypeA/B才是用FSK來傳資料。但如果是TypeA/B PD接到Type-C PD,是要如果溝通?可以參考Type-C spec "4.6.3 Supporting USB PD BFSK in Addition to USB PD BMC". 目前還沒看過這方面的產品,所以不知它們真正是如何達成溝通的。

l 提到...

請教Kevin大
可否幫小弟解釋在type c spec裡的
DRP 對 UFP 的Attach.DFP.DRPWait 與
Lock.UFP 這兩個詞的用意
(Figure 4-20 DRP to UFP Functional Model)

感激不盡

Zheng Kevin 提到...

Dear I
你已經讀到很細節的地方,可以請教你目前讀spec的目的是什麼嗎?
Attach.DFP.DRPWait是在兩端剛連上時,Lock.UFP是在兩端剛分開時。

Attach.DFP.DRPWait:由於DRP在還沒接到device時,會在UFP與DFP之間持續的變換。當DRP轉變到DFP,並偵測到它的CC被device pull down,表示對方是UFP,這時DRP就會進到Attach.DFP.DRPWait等待一段時間,這段時間DRP會停止在DFP狀態,不會轉成UFP,讓相接的兩端確認彼此的角色,請參考4.5.2.2.8。

Lock.UFP:當DRP發現它所接的UFP已經被移掉時,就會進到Lock.UFP,這段時間,DRP會轉為UFP,讓它的CC pin被拉low, 並關掉VBUS,在這段時間內都不會轉態到DFP,請參考4.5.2.2.9。

T 提到...

請教一下,以DFP to UFP Functional Model的圖為例, UFP CC pin內皆有Rd,照理說插進去CC1/CC2皆會偵測到UFP內的Rd,如何能判定正反差的機制呢?
謝謝

Zheng Kevin 提到...

你好,請參考Figure 4-5,在Cable裡,只有一條CC的線,所以CC1與CC2只有其中一個會被連接。

C 提到...

Hi Kevin大
想請問一下
1.VBUS和VCONN都是跟輸出power有關
Spec Table4-1裡面提到VBUS是USB cable bus power
VCONN是USB Plug power
這兩個有甚麼差異呢?
是VBUS為一般供電,VCONN為PD模式的更大電流供電嗎? 有點搞混了!
2.另外 3A Charge跟PD是同樣的東西嗎?
因為我看PD最大是到5A,3.1 Support PD確只給到3A?
3. 3A charger是Type C的cc pin去control嗎? 還是PD chip去control呢

Zheng Kevin 提到...

Hi C
1.VBUS是供給USB裝置,而VCONN是供電給USB Cable內的IC。因為USB PD TypeC有可能會用到規格特殊的Cable,例如Alternative mode,DP,或VBUS 5A, 這些Cable有內含IC來做加強訊號或切換訊號的功能。
2.Type-C與PD是兩種規格,純Type-C只支援到5V/3A,而PD支授到20V/5A。如果將PD與Type-C整合起來,就可以達到20V/5A。而一般Type-C的Cable,也只能支援到3A, 如果要支援到5A, 就需要Electronically Marked Cables,在Spec有定義。
3.CC pin可以達到3A,但只有5V。超過5V就需要PD去控制。

l 提到...

Hi Kevin大

請問table 4-18~4-20 CC Voltages on DFP Side與table 4-22 Voltage on UFP CC pins差別在哪? 我以為他們是一樣的東西 結果仔細一看 電壓不一樣

Zheng Kevin 提到...

你好
DFP端會有pullup電阻,設定不同的電阻值就可以讓CC voltage改變,UFP再去monitor CC voltage,UFP就可以知道DFP能提供多大的電流模式。 Table 4-18~4-20是在定義CC voltage在不同電流模式下,DFP要產生的CC voltage範圍。4-22則是定義,UFP要如何偵測CC voltage,來判斷DFP的電流模式。

l 提到...

Hi Kevin大
還是有點不太明白,你說 Table 4-18~4-20是定義CC voltage在不同電流模式下,DFP要產生的CC voltage範圍,可是表中是寫說UFP(vRd)。UFP(vRd)與Table4-22的vRd是否都為UFP下拉電阻的跨壓?

Zheng Kevin 提到...

不好意思,可能前一個留言我沒寫得很清楚。
Rd與Ra都是固定的,Rd是10K,Ra是1K。由UFP要偵測CCpin,就等於是看Rd或Ra上的跨壓。也因為Rd與Ra是固定的,所以他們上面的跨壓就是由DFP來決定,請參考table 4-10。在不同模式下,DFP會利用電流源或是PULLUP電阻來影響CCpin上的電壓。

K 提到...

不好意思,可以再多問一下嗎?
請問Kevin大,
1.你知道USB2.0到3.0~是因為什麼的不同所以導致傳輸可以從480M升為5G的速度啊?
然後3.0到3.1為何又可以從5G升10G?是因為多了什麼編號還是什麼技術嗎?還是?

K 提到...

Hi Kevin大
1.Figure 4-5,當host與device接上後,根據上拉電阻不同以及cc pin上的分壓,usb可決定要使用哪一個vbus供電,我不太懂所謂的分壓是要看圖左邊上面的Rp還是下面Rp, 與右邊上面Rd還是下面Rd做分壓去計算?
那分壓計算也會用到Ra嗎?是何時的時候啊?
2.type c 多了一個Power Delivery特色,是說它將type C與Power Delivery整合嗎?那它是用哪個pin來傳輸啊?不然怎麼突然就可以傳20v/5A呢?
3.Type c定義1.5A與3A,你知道它是用什麼來切換嗎?不然怎麼又可以傳輸1.5A又可以傳輸3A啊?

Zheng Kevin 提到...

Hi, K
USB2.0只有D+,D-一個通道,資料傳輸是以半雙工的方式。USB3.0有TX+、TX-、RX+、RX-兩個通道,讓傳送與接收有各自的通道。另外就是提高CLOCK,讓data rate可以增快,但這會產生信號完整性的問題,所以Cable, connector等物理層面的東西,也要針對USB3來特製。當然USB3.0與USB3.0的編碼方式也不一樣,可以講的東西太多了,可以到google查"usb3.0",可以查到很多相關的資料。

Zheng Kevin 提到...

1. 在figure4.5上有兩個方式,上面是用電壓源的方式,CC pin上的分壓為 5V*Rd/(Rd+Rp)。用電流源的方式為Ip*Rd。 Ra是用來偵測Electronically Marked Cables,這個Cable裡的其中一個CC pin會內含Ra,表示這個Cable內有IC,需要被供電。當Type-C port偵測到Ra,就會供電VCONN到CC pin,進到Cable裡的IC。
2.PD是有BMC編碼的Protocol,會加載在CC pin上,連接兩端的PD chip,就可以溝通了。
3.1.5A與3A是由DFP端的Rp來決定的,請參考Table4-10,Rp的阻值會影響分壓值,讓UFP端知道DFP能提供1.5A或是3A。

K 提到...

Hi Kevin大
表格裡面的細節我搞不太清楚
4-10 table
DFP Advertisement 是指HOST可傳輸的三種模式?
舉例像,
若HOST支援3.0A@5V,表HOST能提供給DEVICE的電流是330uA?
然後在Rp是上10k?

但我不懂這表格的resistor pull-up to 4.75~5.5與3.3V±5%的意思
USB不是都只有5V,怎麼還來3.3V啊?


借問一下spec裡
4-11 table
rd implementation的±20% voltage clamp是指什麼?
±20% resistor to GND是指Rd要上5.1K吧?
can detect power capability是什麼意思?
為什麼±20%是no ±10%卻yes

max voltage on pin是指最大支援電壓?

Table 4-20
vRd-USB、vRd-1.5、vRd-3.0是指什麼啊?
threshold又是指什麼?

TinXin 提到...

Hi,
Table 5-1 的safe state為什麼會定義common mode從0~1.5V ?

K 提到...

Hi Kevin大
4-10 table
DFP advertisement
是定義host可以提供的Vbus種類???
但host是要怎麼去知道自己是1.5A@5V或是3A@5V的啊?

Zheng Kevin 提到...

Hi K
我就我理解的跟你說,Table 4-10表示的是CC pin這個路徑,不是VBUS。DFP是供電端,它要讓UFP知道它的供電能力,所以他可以用電流源或用電壓源的方式,去改變CC pin上的電壓準位,Resistor Pull就是用電壓源的方式,請參考Figure-4-11,Rp是可以接到5V or 3.3V。

Table4-22,是定義UFP side在Rd上不同的電位, UFP透過這個電位可以得知DFP是屬於那一類,例如VRd-1.5就是指DFP可以供1.5A.VRd-USB是指default USB power。Default就是USB2=500mA,USB3=900mA。HOST也就是DFP不需要針測自已是那一類,他只要依照Table4-10所定義的去設計,它就固定為其中一類。

Alex 提到...

Dear Zheng Kevin :

請問一下OTG的部份是要如何應用?應用電路方面要如何設計,才可以讓TYPE C 應用在OTG?

Zheng Kevin 提到...

Hi,Type-C的DRP與OTG一樣,都可以做Input/Output切換,但兩個偵測的機制不太一樣。在Type-C port的DRP port可以做input/output切換,你可以找顆CC phy controller來幫您達到的個偵測的機制。

Alex 提到...

Hi, Zheng Kevin 提到...
Hi,Type-C的DRP與OTG一樣,都可以做Input/Output切換,但兩個偵測的機制不太一樣。在Type-C port的DRP port可以做input/output切換,你可以找顆CC phy controller來幫您達到的個偵測的機制。
=====================================
換句話說,就是無法用UFD及DFD的觀念去設計,需要使用DRP的應用來做設計?

Zheng Kevin 提到...

DRP就是包含DFP與UFP切換,DFP是ouput,UFP是input。

由於OTG是用ID pin來做偵測,而Type-C是用CC pin來做偵測,兩個pin的內部電路是不同的,ID pin不能當CC pin使用的。

Zheng Kevin 提到...

Hi TinXin
在type C spec,5.1.2.2有描術,在進到Alternative mode會去切換這些訊號的mux開關,例如在type-C cable上的SSTX wire是走USB3.0的SSTX訊號,但進到Alternatie mode就可以切換mux,讓Type-C cable的SSTX wire 用來走Displayport的訊號。為了防止在切換的過程中,去損壞掉USB或DP訊號的controller,所以定義了safe state,因為cable內含的IC可能會去影響信號準位,所以需要去限制cable本身信號的電壓與阻抗。至於為什麼是限在1.5V,這應該是考量到這些高速訊號控制器信號的spec。

匿名 提到...

Hi Kevin, 非常欣赏你对Type C的解读,有如下问题请教!谢谢
1 Type C完整的启动流程理解如下,您看对吗?
a.识别。通过CC上下拉识别正反插,主从、及从机的类型(UFP或者active cable)
b.电源管理。DFP会在CC引脚上通过电压指标自己的充电能力。
C.ALT mode,进入ALT mode后,CC anlog会用Mux切换DP信号,由DFP向外发送。

2 双方进入ALT模式时,是否要通过PD manager在CC引脚上发送信号进行沟通?

3根据Type C的PD协议,如果要设计一个dock,一边与电脑的type C相连,一边要同时输出type C与Type A(USB3.0),在信号上要加USB HUB,但电源上管理应该怎么做? 比如通过dock接上Type C的adaptor充电,adaptor是host, 电脑是device,他们沟通后决定用3A来充电,但type A接口也接上一个充电设备,如手机,这个电流该如何分配?

匿名 提到...

Hello, Kevin大:
請問CC1 CC2 的偵測模式
當偵測到 Rd Rd 時的狀態Debug accessory mode 及偵測到 Ra Ra 時的狀態 Audio adapter accessory mode是指什麼意思? 所連接的是哪些類型的裝置?

匿名 提到...

Hello, Kevin大:
請問一下
1:如果先不考慮支援正反插問題,要自定義connector ,但要有USB3.0+PD 到底需要用到根幾CC呢?
2:在device端應該沒有正反插的問題吧?那麼CC是需幾根呢?

TKS~~

Zheng Kevin 提到...


Hi,感謝你的支持。
1.Type-C PD的Port,會先做TypeC的偵測,然後再才會PD的溝通。所以先a,b,再到c是正確的。你可以參考Type-C spec 4.5.1.3.1。
2.請參考spec 5.1,要進到alternate mode需要PD的Structure VDM,而PD communication就是在CCpin上面傳輸。
3.這個docking應該需要一顆Type-C IC,來處理Type-C port的CCpin與電源,另外再一個USB Switch IC來處理TypeA port的電源。

Zheng Kevin 提到...

Hi
1.Type-C port定義兩個CC pin,除了用在正反插,還有可能用到VCONN。這時一個CCpin用在HOST與DEVICE的連接,另一個CCpin,會切到VCONN 5V,供電給Cable內的IC。

2.Device端也有正反插呀,在Cable內,只有一條CC wire,它有可能被接到Device的CC1或CC2。

匿名 提到...

HI KEVIN大
有點搞不太懂,請教一下:
1.DFP 的CC advertisement有Defaultusbpower,1.5A@5v &3.0A@5V,Rd固定是5.1k時,當device USB3.1的電流需是1.5A以上,DFP如何偵測Device是要1.5A以上的電流呢?
2.FIGURE4-3 有一個cc LOGIC是什麼意思?

謝謝

Zheng Kevin 提到...

1.DFP只能選擇成為Default,1.5A,3A其中一個,然後用選用Rp或Current source來表示自已是那一種Power source,所以DFP不需要偵測Device 需要多大的電流。而是UFP需要去偵測DFP能提供多大的電流,再去調整自已的動作行為。
2.CC LOGIC就是用來處理CC pin,也就是這篇調誌裡提到的CC pin的偵測, Rp,Rd, VCONN切換等...動作。

William Chang 提到...

Hello...
可以請教一下,何謂"Billboard"嗎?
功能眾說紛紜,有的說要有這個function才可以有自動切換DP傳輸(2/4 lanes),另外也有人說加了"Billboard"後還要在OS上執行相對應的tool才能用...
都搞混了,可以指導一下嗎?

loglog 提到...

Hello, Kevin大: USB2.0的時代OTG,是在cable 裡將ID pin 接到地 來告知手機當HOST. 如果以USB2.0用上要使用type C connector 手機內需加上一顆cc controller 來判斷偵測機制,在這樣的條件下是否可以支援現有的 type A 公座的 滑鼠或隨身碟等等 來連接type c USB 2.0的手機?如果可支援 是要特製cable ?

匿名 提到...

Hello Kevin哥
想請問一下typeC可支援5V/3A=15W,若需要支援到5A要加上Electronically Marked
有點搞不清楚為何加上Electronically Marked後電流量可以上升到5A,是否加了Electronically Marked輸出就能夠達到25W的效果??

請教一下以上問題
感謝您

Zheng Kevin 提到...

Hi William
不好意思,現在才回覆您的問題。在Type-C spec 5.1有寫到,Host與Device可以透過USB PD的Structured VDM來辨識對方,辨識對方後,就可以由USB PD IC來切換DP傳輸,進到Alternative mode,不需要系統來處理。
Bilboard board class也是用來表示裝置類別,但它是透過USB 2.0 data bus傳輸,可以透過USB Software driver,讓系統知道並處理HOST與DEIVCE的連接。你可以參考下面的網頁。
http://www.anandtech.com/show/8539/usb-power-delivery-v20-and-billboard-device-class-v10-specifications-finalized

Zheng Kevin 提到...

Hi loglog
要將C接到A,需要一個轉接頭或是一個C to A的cable。你要讓手機供電給device,會需要在轉接頭或cable內的cc pin加一個pulldown電阻5.1K,讓手機可以辨識對方為device。你可以參考Type-C SPEC Figure4-25。

Zheng Kevin 提到...

Hi
3A跟5A的Cable,電源的線徑是不同的。電流越大,線徑就要越粗,才能降低Cable上的壓降。
Electronically Marked是一個標示,如果你的應用需要到5A,就要找有這個標示的CABLE,不能拿一般3A的Cable來用。

匿名 提到...

Hello Kevin大大
請問一下typeC轉audio jack,是否只要讓device的電<Ra即可啟動audio mode?
那請問是否有IC可以去控制DRP+audio模式

謝謝您回答問題

Zheng Kevin 提到...

Hi
要進到Audio accessory mode,需要在兩個CC PIN都有對地電阻,而且阻抗小於等於Ra。只要你的Type-C PD IC支援DRP mode,能偵測CC pin上的電位,應該就能做為DRP+Audio mode。

匿名 提到...

請問typeC偵測規範裏有DP嗎?
像偵測Audio,debug mode?

Zheng Kevin 提到...

Hi,
如果要將Type C Host接到傳統A/B的裝置,需要一個轉接線或轉接頭,在Type-C plug的CC pin要接一個對地電阻Rd 5.1K,這樣Type-C Host才會供5V。

Huang Mike 提到...

看到很多Type c 轉Type c cable內部只有Rp, Rd電阻感覺很奇怪, 完全沒看到Ra
如果是主動式CABLE不是需要有Ra電阻,才可以啟動Power Delivery?

Jason Wang 提到...


Zheng Kevin大大您好:請問若以目前macbook 12〞有搭type c的解決方案,其host port端需要那幾顆ic呢?

匿名 提到...

HI Kevin 大:

我想請問一下,CC Pin 可以支援 USB PD 的輸出判別,那USB PD 的雙向供電,是否也是由CC Pin去判斷誰供電給誰?那它是依據什麼去判斷的?
感謝!!

Zheng Kevin 提到...

Hi Mike
C to C的cable應該沒有內含Rd,Rp。Rp應該在DFP端,Rd在UFP端。
主動式Cable應該要內含Ra,讓DFP端送出VCONN供電給Cable內的IC。

Zheng Kevin 提到...

Hi Jason
我不知Macbook內,用了那些IC。但它應該要有USB PD Type-C的Controller,
USB 3.0 or 3.1高速訊號的Controller。如果它的Type-C port有支援display
訊號,那它就需要USB3/Display訊號的switch。

匿名 提到...

Hi Zheng Kevin 大
首先感謝你的文章
另外想請問規範中對於type C to Standard A導線有註記這段話
Pin A5 (CC) of the USB Type-C plug shall be connected to VBUS through a resistor Rp. See Section 4.5.3.2.2 and Table 4-13 for the functional description and value of Rp

請問這是否代表說"導線內部"需要埋入一個Rp電阻,
或是導線不需埋入,Rp做在device端即可呢?

Zheng Kevin 提到...

Hi 匿名
一般來說,Rp是放在DFP端,藉由Rp的阻值,來改變CC pin上的電壓值
,用來表示它的供電能力。在4.5.3.2.2的例子裡,由於傳統的USB
Host 裡面是沒有Rp的,例如NB的USB TypeA port,所以需要一個轉接
板,將TypeA轉成Type-C,在轉接板裡加上Rp,這樣UFP端才能辨識對方
為DFP裝置,並得知USB Host的供電能力。

Zheng Kevin 提到...

Hi 匿名
USB PD是靠 PD Protocol在溝通,而Protocol的信號是載在
CC pin上面。當兩個Type-C port接在一起,就會由Rp,Rd來
判斷誰做為DFP或UFP,然後DFP會供電給UFP。當兩端都有電了
就可以進行USB PD的溝通,UFP可以持續受電,或是藉由USB
PD的溝通,要求Role swap,讓UFP轉為供電端。

William Chang 提到...

Hi Kevin,
感謝您的回答關於Billboard的問題

另外我最近要Study關於Alternative mode的資訊
想請教您Display 的Alternate mode在Receptacle有分A/B/C/D/E/F,這是如何分辨A/B/C/D/E/F?
Display對於各個定義如何?

Poan Lai 提到...

您好,

請問我是一個Self-power 並可當power provider的Device, 是否該定義我的產品為Charging UFP ( like HUB UFP端)?
看過在TYPE C的規範對Charging UFP的說明後有點問題:

Charging UFP初始設定為DFP還是UFP?

Zheng Kevin 提到...

Hi William
不好意思,我沒有看過關於A/B/C/D/E/F的描述,是否可以提示你是在那裡看到的這個
描述的。

Zheng Kevin 提到...

Hi Poan
Hub有至少有兩個USB Port,一個是UFP,用來接到Host(例如NB)。另一個是DFP,
用來接Device(keyboard,mouse)。而Charing UFP就是指UFP這端,這端通常是
用來被供電的(Sink),但Charging UFP就是定義為,這是一個device的port,
但他是可以供電出去的(Source)。
UFP不等於SINK,DFP不等於SOURCE。請參考Type-C spec對這些名詞的定義。

Poan Lai 提到...

Hi, Kevin

我了解UFP為Device, 預設為SINK
DFP為HOST, 預設為provider

Charging UFP在TYPEC裏提到要符和DRP和DFP的相關運作, 後者我想是為了Dead battery, 前者是為了因應Port parner可能是DFP或Dead battery. 不知這樣理解是否有誤.

我們的這個規畫產比較接近HUB's UFP端和 Monitor的運作( 含external AC adaptor 的Device)...

Zheng Kevin 提到...

Hi Poan
是的,Charging UFP要能符合DRP,是要能做為Sink跟Source,做為Source
就可以供電給dead battery。當它做為Source就要先能符合DFP,只是它
沒辦法作為Host,所以當dead battery system有電後,就需要進行
DR_Swap,這就是我的理解了。

The Charging UFP shall follow the rules for a DRP (See Section
4.5.1.4 and Figure 4-15). It shall also follow the requirements
for the DFP as Power Source (See Section 4.8.1).The Charging
UFP shall support USB PD and shall support the DR_Swap command.

Tim 提到...

Hi Kevin

想請教下,若Type-C IC 支援PD,觸發PD的通信條件是什麼啊?是VCONN起電作為它的觸發條件嗎?在触发PD之前 Type-C IC 是否會做改變Rp電阻的動作?Thanks!

Zheng Kevin 提到...

Hi Tim
如果有支援PD,Source端應該要自動送出它的Source capability,
再看Sink有沒有回覆。如果Sink回應RDO,才能進立PD通信。Type-C
IC可以固定一個Rp電阻值,不一定要改變。例如在Type-C spec裡
4.5.3.2.2 Legacy Host Port to UFP Behavior, 它也只是用了
一個固定的Rp電阻。


Daniel Chung 提到...

你好!
請問如我開發一個充電宝即"尿袋",接口是用USB Type C 的母座去充電
充電的電源是想用5V 3A (USB Type C Current @ 3.0A)
請問在充電宝接口的位置要如何接上电阻和VBus 用pin 4和pin 9並聨是嗎?
請賜教,謝謝!

Daniel Chung

匿名 提到...

hi Kevlin,

我在學習USB PD的protocol,現在不理解UFP/DFP 和Cable Plug的區別,請問下協議文檔中的Cable Plug是什麼意思呢?可以舉個例子嗎?
非常感謝!

Jeff Lee

Zheng Kevin 提到...

HI JEFF
DFP,UFP是指板端,例如NB,行動碟碟,它們上面有USB的母座。而Cable Plug是指線端上的公座。
將來Type-C會有很多種規格的Cable,所以有些Cable會需要在裡面放E-Marked IC在Cable的
公頭插座附近。

匿名 提到...

hi Kevin
再請問下,關於Active Cable和Active Cable的問題:
PD 協議提到Active Cable一定有E-Marked IC;Passive Cable可以有E-Marked IC,也可以沒有E-Marked IC。
那請問下,有E-Marked IC的Active Cable和有E-Marked IC的Passive Cable的區別在哪裡呢?

非常感謝!
Jeff Lee

匿名 提到...

hi Kevin
再請問下線纜的問題。DFP是怎麼知道type-c線纜的能力的呢?
例如一個場景: DFP 要輸出5A的電流,而與其鏈接的type-c線纜只能承受3A的電流. 如果這個type-c線纜有E-Marked IC,是通過IC與DFP交互USB PD的協議消息知道線纜的能力的嗎?那如果線纜沒有E-Marked IC呢,怎麼知道線纜的能力的呢?

非常感謝!
Jeff

Zheng Kevin 提到...

Hi Jeff

1.Type-C有定義Active cable, E-marked cable兩種,Active cable就是
E-marked再加上data path control IC (例如USB signal re-driver),所
以Active cable比較複雜。

2.Standard Type-C cabe是3A耐電流能力。如果沒有E-marked IC,就當這
條Cable可以耐到3A。當Provider需要輸出超過3A,那它就需要搭配E-marked
Cable,來通知Provider,這條Cable可以耐到多大的電流(超過3A)。如果你的
Provider要輸出5A,它所接到的E-marked cable就要先通知Provider,這條
Cable可以耐到5A,這樣Provider才能輸出5A。如果Provider接到沒有
E-marked IC的cable,那它最大只能輸出3A。

匿名 提到...

hi Kevin,
DFP可以直接連接UFP,也可以通過一根Cable 再連接UFP。那DFP是怎麼知道與它直接連接的是Cable 還是 UFP呢?

非常感謝!
Jeff

Zheng Kevin 提到...

Hi Jeff
如果是Standard cable,它的Cable沒有Ra電阻,所以DFP沒辦法偵測它,
但也不需要去偵測它。如果是E-marked or Active cable,Cable內
有Ra電阻,所以DFP可以偵測到它。在UFP端有Rd電阻,所以DFP可以知道
它接到一個UFP.

匿名 提到...

hi Kevin,
“6.4.4.4.2 Enter Vendor Mode / Exit Vendor Mode Processes”,PD協議裡講Enter Mode可以將設備的Mode變化。請問下Mode變化這一部分和PD充電部分有什麼聯繫嗎?
我目前的理解,覺得它們之間是沒有聯繫的。那為什麼要把Mode變化這一部分放在PD的協議裡呢?

非常感謝!
Jeff

Zheng Kevin 提到...

Hi Jeff

PD協議裡,有定義Alternate mode,可以用來辨識Cable與device。
這樣就可以讓您的Type-C USB port用來傳輸Display port或是
Thunderbolt的高速訊號,所以PD協議不只有電壓電流的溝通。
你可以搜尋這方面的資訊。

Yu Chia Liu 提到...

Hi Kevin,
請問
1.若一條C to A cable上Rp 10k,是否告知C device (UFP)能抽3A電流,如果A host端是一般Usb3.0 900mA,會發生over current嗎?
2. c to B cable 只會上Rd 5.1K,但線材的耐電流可能只有1.5A,在連接USB HDD或HUB到C host(假設可供電3A)時,會發生什麼情況呢?可以拿多少電呢?
請解答我的疑問Thanks

Zheng Kevin 提到...

Hi Yu Chia
1.是的,的確有這種風險,所以最好是在C to A Cable裡上Rp 56k,這樣就不會發生
over current。
2.傳統的USB port最多只有供1.5A,所以USB HDD或HUB最多也只會吃1.5A,雖然
C host最大可以供3A,但USB HDD只吃1.5A,所以對1.5A Cable來說,是在它的耐
電流以內的。

匿名 提到...

hi Kevin,
請問一下關於Type C的Cable的問題,描述可能有些重發,不好意思。
1. Type C協議的“1.5 Terms and Abbreviations” 中:“Active cable”, “Passive cable”,“Electronically Marked Cable”,“Powered cable”,這4種cable相關的定義各自有什麼區別呢?
是不是這樣理解的:
這裡涉及3個維度,“Powered cable”指Cable有或沒有Ra;“Active cable”和“Passive cable”指能否對信號做condition;“Electronically Marked Cable”指是否支持USB PD協議;
進一步說,“Active cable”一定也是“Powered cable”,因為它要做conditon,所以需要Vconn供電,所以有Ra。
“Electronically Marked Cable”一定也是“Powered cable”,因為它要處理USB PD協議消息,所以也需要Vconn供電,所以有Ra。
2. 如果DFP和UFP直接連接,就沒有Ra; 那麼如果DFP和UFP通過一個沒有Ra的Cable互連,DFP也檢測不到Ra吧,是這樣嗎?
如果是這樣,那假如DFP和UFP協商後按5A供電,而Cable最大只支持3A,這樣就不能理解了。請問,DFP怎麼知道跟一個沒有Ra的Type C Cable連接了?Type C的 Cable是否必須有Ra呢?
3. 是否可以這樣理解:從是否支持USB PD協議的角度,Type C的cable可以分3類:
沒有Ra的Cable,DFP不需要對這種Cable發PD消息;
有Ra的Cable,但不支持USB PD協議,DFP需要對這種Cable發PD消息,但Cable不會回复;
有Ra的Cable,同時也支持USB PD的協議,DFP需要對這種Cable發PD消息,Cable會回复;

非常感谢!
Jeff

Zheng Kevin 提到...

1.是的,如你所說,其實只分成3種cable,active,E-marked,passive cable。
passive cable內部是沒有ic,E-marded有包含SOP'IC,可以用來做PD溝通
,宣告這條Cable的功能。Active cable除了包含SOP' IC,還有data path
(USB signal)相關的IC。E-marked跟active都有內含Ra。
2.我想Type-C隨身碟跟NB,就算是一種沒有Cable的連接,另外passive cable
內部也是沒有Ra,所以passive cable也是不會被DFU或UFP檢測到。只要有
DFP跟UFP就可以做連接,Cable不是一個必要的角色。至於5A的adaptor,它
本身如果就帶線,它就可以不用檢查E-marked cable,而輸出5A給device。
3.有Ra的cable,內部一定都有SOP' IC,所以都會支援PD協議。沒有Ra的cable
一定就是passive cable,內部是沒有ic的,當然一定不支援PD協議。

匿名 提到...

要想支持USB type C,那么手机中也需要有支持USB type C的IC,在进行PHY的编码的时候,会考虑到如果两个设备同时是手机的时候,那么需要手动设定哪个手机是DFP吧?通过开关将CC定义为CC还是Vconn?

Zheng Kevin 提到...

這要看手機的初始設定,兩個手機都可以是DRP,當兩個手機接在一起,
會有一個是DFP,一個是UFP。在手機內部的PD IC是可以經過設定,
讓自已有比較大的機會來做為DFP。VCONN是跟Cable有關系,兩隻
手機相接,不一定會用到VCONN。

匿名 提到...

請問一下如果是USB2.0 TypeC(HOST) 接到 USB3.0 TypeC(Adapter),這時候HOST要如何確認自己是接到什麼device呢?因為USB2.0 並沒有CC PIN 能用.

Zheng Kevin 提到...

Hi
如果是Type-C的接頭,就算只有USB2.0也要加個CC logic,
來做CC pin的偵測。市面上是有CC logic的IC,可以搭
配USB2.0。

NEO 提到...

您好,
6. Discover and configure optional Alternate and Accessory modes
請教一下,這邊的Alternate mode指的是充當display port(接螢幕)的mode嗎?
這邊的Accessory mode指的是充當audio port(接耳機)的mode嗎?

謝謝

匿名 提到...

Table 3-2 USB Type-C Legacy Cable Assemblies

USB規範25頁,規定 Type-C to USB 3.1 PD Standard-A (5A) 需加E-MARK IC

請問用意為何??A端沒有CC Pin無法做溝通,為何要加E-MARK IC

Zheng Kevin 提到...

Hi Neo
是的, Displayport是在Alternate mode。Accessory mode有分兩種,
如果兩個CC pin都是Ra,那就是audio accessory。如果兩個CC pin是
Rd,那就是debug accessory。

Zheng Kevin 提到...

Hi
USB規範25頁,規定 Type-C to USB 3.1 PD Standard-A (5A) 需加E-MARK IC
E-marked IC就是用來做溝通,因為A端沒有CCpin,也沒有PD功能。所以需要在
Cable上,加上E-marked ic來讓host端知道,這是一條C轉A的Cable。

匿名 提到...

Kevin 您好,我想請問一下幾個問題,
1. Ra只會存在Cable中嗎? 如果我的Device(UFP)直接交到DFP,可視需要被供電怎麼辦?
2. Type-C Spec中,p.109 Table 4-6裡面,有定義到DFP跟UFP在有沒有接上時的行為,
可是Powered cable / No UFP attached 中,為什麼DFP不提供Vbus跟Vconn,這時
候UFP又要從Vbus來detect detach?
3. 一樣是Type-C Spec中,p.16-17裡面有定義DFP跟UFP,DFP通常為host並且供電給
Vbus與Vconn,DFP通常為device,並且當作Vconn的sink,但是為什麼DFP和UFP,的
定義裡面都是support data,是因為Type-C有Tx,Rx,所以資料是雙向傳輸,DFP與
UFP都可以傳送data嗎?

Zheng Kevin 提到...

Hi
1.UFP會有Rd,當DFP偵測到Rd,會供VBUS給UFP.
2.如Q1,偵測到Ra就代表是Powercable,DFP會供Vconn。偵測到Rd就
代表是UFP,DFP會供VBUS。 另外UFP是由CC來detecct detach,不
是由VBUS。
3.一般Notebook的USB port就是DFP,它是USB HOST可以傳送DATA,也
可以供5V。

匿名 提到...

Kevin, 您好,
請問一個Power Delivery的問題,
從PD的協議來看,是Source發起Capability消息進行Power協商。
那如果一個DFP/Sink設備和一個UFP/Sink設備互連,會怎麼樣呢?因為DFP是Rp,UFP是Rd,所以能互相檢測到,但它們能進行Power協商嗎?

陳昱佋 提到...

Hi Kevin

我目前正再做USB3.1的相關報告,您的網誌幫了我很大的忙,首先先感謝您,
小弟有個問題想請教,假設我今天使用兩端都是type-c的cable連接到兩個host端(皆內建Rp),請問會有何種狀況發生?
我找了SPEC內都沒看到相關訊息,感謝幫忙解惑.

謝謝



Zheng Kevin 提到...

Hi
那如果一個DFP/Sink設備和一個UFP/Sink設備互連,會怎麼樣呢?
請參考PD spec 2.0,8.3.2.3 Power Negotiation。DFP與UFP
可以接連,達成5V的應用。但要做PD negotiation,需要有Source
端去送出Source capability才能達成。

Zheng Kevin 提到...

Hi 昱佋
使用兩端都是type-c的cable連接到兩個host端(皆內建Rp),請問會有何種狀況發生?
因為兩端都是Rp,無法建立Type-C Role的建立(需要一個DFP,一個UFP),所以不會
有5V的輸出。你可以參考TYPE-C spec 1.1,Table 4-5,DFP接DFP是不應該有功能
的。

匿名 提到...

Hi Kevin

非常感谢您的回复。再请教下怎么理解DFP、Source、Host的关系呢?
DFP一定有Rp,是吗? Source是否一定有Rp呢?

谢谢

Zheng Kevin 提到...

Hi
DFP就等於USB HOST,這是指USB DATA端的角色,例如傳統PC的USB port。
Source就是供電端,以往的USB HOST也是VBUS的供電端,所以也是Source。
但到了Type-C的時代,Notebook上的Type-C USB port還是USB HOST,但
它被定義成DRP,也就表示,他可以做為Source去供電給keyboard, mouse,
也可以做為Sink,被Type-C Adaptor供電。

匿名 提到...

Kevin, 您好,
再請問下Power Deliver相關的問題:
1.如果做一個Sink,當電被充滿後,不再需要被供電了,應該怎麼通知Source呢?從Spec裡沒有找到明確的描述呢.
2. 如果做一個產品,只支持Data Role Swap(即DFP和UFP),不支持Source和Sink的能力,可以做這樣的形態嗎?

Zheng Kevin 提到...

你好
1.當Sink端的電被充滿後,應該是由Sink端的Charger來控制電池的充電電流,Source還是持續提供電壓。
例如現在筆電的Adaptor,即使在筆電被充飽電後,還是會供19V電壓,只是供電電流會降到很低。
2.有這樣的應用嗎? DFP基本上,也會具備Source的功能,這樣才能接USB device。

郭艾迪 提到...

Hi我想請問如果dfp只有看到ra vconn會給電嗎
還是需要認到ufp呢

Unknown 提到...

請問 Macbook 合乎 USB PD規範嗎?

陸志鵬 提到...

想請教一下,假使期望同時支援DFP和UFP的話,怎麼去控制RD這個阻抗呢?因為假使DFP是必須把RD關掉而UFP又要確保一開始RD存在,要如何解決呢,謝謝。

Zheng Kevin 提到...

Hi 志鵬
Type-C有定義DRP,它能同時支援DFP,UFP。而還沒接到其他裝置時,
DRP的行為是在CC周期性的切換Rp與Rd電阻。所以當DRP接到UFP時,
DRP切換到Rp時,就可以跟它連接。

匿名 提到...

Hello 大大:

不好意思,對於您在Type-C的貼文,我還是有一些地方不是很清楚,麻煩您幫忙在說明一下^^"

1:Type-C有支援DRP的行為,也就是說不管是Host還是Device,兩邊一開始會去處在DRP的情況,根據你的內文,switch一開始兩邊應該是會一直在Rd or Rp切來切去,感覺起來是其中的一邊會先切到UFP(DFP)後,另外一邊才會直接切到DFP(UFP),是嗎?

請問那麼一開始會先切到UFP(DFP)的判斷條件是什麼呢?(舉例來說:兩邊是A手機和B手機,兩邊都處在DRP mode,那兩邊的switch會一直在Rp/Rd切來切去,那麼我要怎麼知道是那一支手邊會先切到Rd當作UFP被充電,那一支手機會被切到Rp當作DFP去充別人電呢?因為只有說兩邊會一直切換,會自已切到適合的情況,但是我對於判斷條件還不是很清楚><)

2:Ra的偵測機制為何?一樣是Rp和Ra去做分壓,然後看分壓出來後的電壓值是不是落在0.15V~-0.25V之間嗎?

如果是的話,那麼Ra大約是1komh,那麼這時候的Rp要用多大的電阻來進行分壓偵測呢?

另外當switch切到Vconn開始對cable充電,Rp就自已關開了嗎?因為看Fig4.5的感覺是Ra偵測到了,但是Rp還是掛在上面和Ra接在一起?

3:BMC是如何在CC上面進行溝通的呢?

一般正常使用上,在不考慮正反接的情況下,CC2假設是接到Vconn對calbe供電,那麼CC1應該是會是負責偵測attach和detach,所以在這個前提下,BMC會在CC1上進行溝通,我的認知是這樣對嗎?

那麼當BMC開始在CC上溝通,頭尾的Rp和Rd會是斷開的嗎?(因為table4-20的下一張圖--> USB PD over CC pins看起來Rd和Rp都還是連接著,那麼不是就會變成一個固定的分壓電壓值在加上一個BMC的high/low/high/low信號?這樣是是對的嗎?)

4:單就Type-C和USB PD兩者來說,在Provider供電給Comsumer時,應該一開時會先用最低檔位的電流大小來供電,是嗎?

例如供電者先告知受電者說,我一開始只會提供Type-C的default電流大小,也就是5V/1.5A給你,然後受電者會再告知供電者說5V/1.5A不夠用,所以供電者又會告知後者,說我的電流檔位要拉高到5V/3A了喔,之後受電者應該還是不夠使用,所以供電者這個時候才會和PD溝通說,5V/3A對於受電者不夠用,之後才會利用PD把VBUS電壓和電流同時拉高,讓受電者使用(所以順序上一定是Type-C先從default電流值拉到最高檔位,發現不夠用才和PD溝通,才能夠把BUS電壓電流往上拉高,對嗎?)。

那如果把BC1.2也算進來,那麼在BC1.2(1.5A)/Type-C(1.5A/3A)/USB PD(5A)的先後溝通順序為何?

是先BC1.2不夠受電者使用,才又拉到Type-C,但Type-C 3A還是不夠用的話,再改成USB PD的5A,我的認知是對的嗎?

5:關於BMC的format,我還是有點不太懂><

一開始的preamble會先打64bits,請問一下這是做什麼用的呢?

Preamble之後的SOP',就是整個BMC的第一筆data嗎?

因為像I2C的話,只要SDA falling + SCL high,就表示我要開始送data了,而SDA rising + SCL high,就表示我要結束送data了,那麼我要怎麼知道BMC時候開始才是送data,何時結束送data呢?

大大不好意思,一次問了很多問題,再麻煩大大有空的時候幫忙解答一下,感恩捏!!!!

Zheng Kevin 提到...

Hi
真得好多問題呀,不過你也讀了很多spec,才會問到這些問題。
1.由於兩邊都是一直Rp,Rd切換,所以在兩邊接上時,一定會出現一邊Pp,
一邊為Rd的狀態,這時兩邊就可以連接起來。這是隨機的,有可能連接
兩次,兩次的結果不同。但你手機上可以有CPU或MCU去讀取PD IC的狀
態,可以跟據系統的現狀,去改變PD IC的角色。
2.Rp是跟據不同的DFP電流能力來設置的,請參考Type-C spec1.1,
Tablet 4-13. 是由Rp與Ra的分壓來判斷,判斷如果需要供Vconn,
就會將Rp關掉。
3.是的,BMC是在一個分壓上面傳輸的。接收端將直流濾掉,就可以讀到
BMC DATA了。
4.Type-C spec只有定義先做Type-C電流偵測,再做PD溝通,如果PD
溝通成立,就會以PD溝通結果來供電。這是一個連續的過程,不會因為
Type-C 3A不夠用,才轉成PD。BC1.2是另外的偵測方式,通常會是另
一顆IC來做,但如果系統知道Type-C 3A是成立的,那就不需要用
BC1.2, 要以能供最大電流的來源優先。
5.Preamble在一般的通訊系統都有用到,它就是用在做同步的,確保
後面的資料可以被正確的辨識。下面是在網路上查到的....
Frequency synchronization
symbol timing estimation
Automatic Gain Control (AGC) training

匿名 提到...

Hello 大大:

不好意思,上次一口氣問了很多的問題,這一次又要麻煩你了 ^^""

1:針對上次的第一題,DRP兩邊的switch是隨機在RP和RD之間切換,那麼兩對的switch是用相同的頻率去切嗎?

是一上一下切換?還是一樣是隨機,只是兩邊的切換週期不太一樣呢?

印象中有看到是30%~70%之間切來切去,應該指的就是RP開30% or RD開70%的週期,不知道我的認知是否有誤呢?

2:針對上次的第二題,大大說如果需要供VCONN電源,那麼就是把RP關掉,意思是說只是把switch切到VCONN那端,則RP看起就是就OPEN,是嗎?

所以說如果是操作在DRP的狀況下,其實兩邊都各自會有一組switch,分別在RP/RD/VCONN三者之間切來切去,是嗎?

3:請問大大要怎麼在接收端把直流給濾掉呢?是否是用debounce time的方法把BMC high/low/high/low在RD分壓上面的變化給遮掉呢?因為SPEC上有寫到關於debounce time的規定!

因為常理上BMC的current driver capability應該會比RD上的分壓強多了,所以在CC pin上還是會看到一個RD分壓的DC準位+BMC high/low/high/low的變化!!!

4:針對上次的第四題,大大的意思是說,如果兩邊都沒有支援PD,或是只有一邊有支援PD,那麼雙方只會用Type-C來溝通!

如果兩邊都有支援PD,那麼一開始在RD/RP偵測後,會先進行Type-C溝通,結束後馬上進行PD的溝通,如果PD溝通成立,那麼不管SINK端是不是要使用到100W,都會直接用PD來進用供電,我的認知是對的嗎?

5:所以其實Type-C只有負責做偵測,之後把偵測結果丟給數位那邊處理,數位那邊會和AP/EC做溝通,看看主機端有沒有下任何需求,之後再把結果回傳到數位,由數位來決定Type-C內部的開關,那一個要開,那一個要關,是這樣子嗎?

大大不好意思,又一次問了好多個問題,再麻煩你有空幫忙回覆一下,感恩捏^^"

Zheng Kevin 提到...

Hi,你讀spec的目的是因為有產品要做嗎?
1.Type-C spec 1.1有定義這個timing,請參考Figure 4-36 DRP Timing。
2.你可以參考Figure 4-11 DRP Functional Model for CC1 and CC2,
可以看到DRP port有Rp,Rd,Vconn的switch。
3.debounce不是用來濾直流的,PD spec,Table 5-26 BMC Receiver
Normative Requirements有定義一個Creceiver,我想應該是用這個來
濾掉直流,接收BMC data。
4.是的,當兩邊都有支援PD,就會以PD溝通的協議來供電。
5.現在市面上的Type-C controller,可以跟據偵測的結果,自動轉成DFP
或UFP,再回報告EC,這樣可以讓EC更省事,如果EC要去讀取或改變狀態,
也是可以透過連接介面,來控制Type-C controller。

匿名 提到...

Hello 大大你好:

大大果真厲害,都逃不過你的法眼!!!我現在的確是要幫忙做Type-C的產品,不過還是在study的階段,所以還是有不少東西不太清楚XD

匿名 提到...

可以跟您請教type-c, pd, alternative mode的原理
感恩

熱地瓜 提到...

Hi Kevin

非常感謝您如此熱心的回覆網友問題:

我這邊有一些問題想要請教您,目前我做的產品雖然是Type - C的接口,不過只會做device端(而且只有USB 2.0的需求)

1. 如果我的CC PIN (CC1 & CC2)都沒有接pull-down (5.1K),如果產品本身去接Type-C的電腦or手機 會無法使用嘛?
2. HOST透過CC PIN來偵測 輸出電壓/電流 ,如果要作為Power Cable 那線材本身也是要加上E-Mark 的IC 才可以使用嘛?

非常感謝您的回覆,謝謝

Zheng Kevin 提到...

熱地瓜 先生 你好

1. Device的CC PIN如果沒有Pull down,當device接上電腦或手機,就無法觸發它們,電腦或手機不會供VBUS
給device,也很有可能USB data不通。

2.Power cable只有在超過3A,才需要加E-Marked IC,用來標示這個cable能耐到多大的電流。標準Type-C
的cable就能耐到3A,不用加E-marked IC。

Mark Chiu 提到...

Hi Kevin 您好,
請問若host為usb 2.0 with Type-C connector且只需advertise一種電流能力,譬如我只要告訴device我能夠提供1.5A的電流,那是否可以不使用cc logic controller chip,直接在host的cc pin直接pull up 22k ohm電阻呢? 如此一來,差別似乎只在於我的VBUS是否會偵測device去作開關的動作而已,請問這樣理解有錯誤嗎? 謝謝~

Zheng Kevin 提到...

Hi Mark
CC pin上加Pullup就可以達到Advertise的功能了。但是需要等到CC的
電壓準位被device的Rd往下拉,才算是偵測到device,然後才能將VBUS
的開關打開,輸出VBUS給device。所以host還需要去偵測CC的準位。

Barkley Chen 提到...

Kevin大您好:

您在USB方面真的很專業,想請問您幾個問題~

1. ALT mode模式下只有DP這個功能嗎?
2. DFP和UFP怎麼知道切換到DP模式呢?是有類似改變Rp/Rd這樣的硬體行為嗎?
3. 在您分享的"table 4-5 DFP Perspective"中,當CC1是Ra且CC2是Open時的狀態是powered cable with Sink attached,請問這個是指什麼應用呢?


感謝您的回答~
小小兵

匿名 提到...

Hi Kevin 您好,

想請問跟 PD Analyzer 有關的問題.

請問我看到有些 PD Analyzer 可以顯示現在的 CC line 與 VBus 之電壓與電流值, 通常 Analyzer
是採並聯的方式進行訊號量測. 若 Analyzer 內部使用 ADC 轉換, 類似簡易示波器之後能得到電壓應不難.
但電流的計算會怎麼做呢? 是根據電壓去換算的嗎, 還是根據 PD message 內容來顯示嗎?

謝謝!

Zheng Kevin 提到...

Hi 小小兵
感謝你關注我的blog。
1. ALT mode不只DP呀,HDMI也加入了。將來會有越來越多的標準也加進來吧。
2. 切到DP模式不是靠硬體,而是DFP要先送出Discover identity,讓兩邊進行溝通,
進到Alt DP mode。
3. Rd是放在Sink,用來宣告這個裝置需要VBUS,Ra是放在cable,用來宣告這個cable
內有IC(power cable),需要VCONN power。所以當CC1、CC2被偵測為Ra、open,
表示有接到power cable,但沒接到Sink裝置。這時要供VCONN給Power cable。

Zheng Kevin 提到...

問PD Analyzer的先生 你好

PD Analyzer也有串聯式的,簡單的PD analyzer只解碼PD Message,
比較高階的PD Analyzer就可以做很多測試,還可以模擬Sink負載。
從PD message可以看到兩端做PD協議,關於電壓電流需求資訊,但這不
是實際的電流值。例如Sink會要求Source提供2A,這2A的值代表Sink
電流需求的最大值,並不是實際抽載的值。

如果想由PD analyzer測電流,可以在電流路徑串個電阻,再用ADC測電阻
壓降就可以估算,或是用電流鉤表。

匿名 提到...

hi kevin,

目前剛on board 自己K了一些SPEC跟玩了一下公司的板子 以下問題求解 謝謝

1 .不論是DFP DRP UFP的板子,
只要燒入DFP的code, CC pin電壓會變為3.3V
只要燒入UFP的code, CC pin電壓會變為0V
只要燒入DRP的code, CC pinr電壓會變為loating
以上正確嗎?

2. DFP的板子, Type-C IC內建Pull Up電阻嗎?
UFP的板子, Type-C IC內建Pull Dwon電阻嗎?
DRP的板子, Type-C IC內建Pull Up & Dwon電阻嗎?
以上正確嗎?

3. DFP的板子會燒入UFP的Code來設計案子嗎?
UFP的板子會燒入DFP的Code來設計案子嗎?
DRP的板子會燒入DFP或UFP或DRP的Code來設計案子嗎?

匿名 提到...

hi kevin,

再補充三個問題~

4. DRP的板子燒入DFP的code, 他就變成供電端嗎?
DRP的板子燒入UFP的code, 他就變成受電端嗎?

5. 當DPR接到UFP裝置,DRP會轉換為DFP。當DRP接到DFP裝置,DRP會轉換為UFP
上面這句講的DRP指的是板子而不是Code吧?

6. 若cc1連結上了, Cable也沒有emark IC, 那cc2的電壓該如何定義?

Zheng Kevin 提到...

匿名先生 你好

1.如本篇文章所提,DFP要提供電壓在CC線上,所以pullup或是用電流源的
方式都可以。UFP是pulldown 5.1k,在沒有接DFP的情況下,UFP的CC
是0V。DRP要在DFP與UFP之間切換,所以它在CC的準位是Pullup->
Pulldown->Pullup->Pulldown不停的變化,直到DRP接上裝置。

2.同上。
3.不理解你的問題,理論上什麼板子就燒什麼樣的code吧。
4.我不知你的DFP,UFP code是如何寫的,無法判定。
5.理論上,板子與code要統一,無法理解DRP的板子,用DPF的code。
5.這時CC2是floating空接,依照IC內部的設定,但這不影響CC1的連接。


匿名 提到...

您好:
若確定只會接UFP也不會有PD的狀能。
是否可以不需要CC controller IC,只要將DFP 的RP 以及將VBUS接上TYPE C 的CC PIN 和 電源PIN即可。

匿名 提到...

Kevin您好:

感謝您的回覆,如果現在有3個產品,分別是type-c手機/type-c cable/type-c charger,若他們接上後,意即充電器透過cable對手機充電,以下配置是否正確呢?

1. 充電器裡的cc pin只會放1個Rp
2. 被動的cable裡不會放電阻
3. 手機的cc pin會偵測是cc1或是cc2接上,若是cc1接上則切到Rd,cc2切到Rp

typ-c若只支援3A以下電流是不用加e-marker,聽說現在不管電流多少都要加了,不知您有聽說嗎?

感謝回覆~

小小兵敬上

Zheng Kevin 提到...

Hi 小小兵

1.充電器要提供VBUS,但在CC還沒偵測到的時候,VBUS 5V不能輸出,所以在Type-C Spec
裡圖,VBUS輸出有放一個MOSFET。Type-C control除了要有Rp,還要去偵測CC電位,
等偵測到Rd後,再去控制VBUS MOSFET打開。
2.被動的Cable,如果裡面沒有IC,就不需要Ra。Cable裡的Ra就是為了要去拉下CC的電位,
讓DFP提供VCONN給UFP。我是沒聽說3A內,一定要加e-marked。
3.CC1與CC2必需要是一樣的設定,這是為了讓Cable在正反插時,都可以有一樣的偵測結果。
如果手機是DRP,那應該在CC1與CC2,都要有Rp,Rd,然後去切換Rp,Rd,讓CC產生toggle
的波形(也就是high-low-high_low....)。

匿名 提到...

請問可否建議介紹type-c 1.2版本與1.1版本的差異?
謝謝

匿名 提到...

"type-c若只支援3A以下電流是不用加e-marker,聽說現在不管電流多少都要加了"
這件事可能是參照 "USB Type-C Specification Release 1.1/1.2" 裡頭, 對於USB Type-C Standard Cable的規範:"Table 3-1 USB Type-C Standard Cable Assemblies" 裡面有清楚定義,除了 USB2.0 <3A Type-C訊號線以外 , >3A 以及 USB3.0 Gen1/2 cable不論有無超過3A 都是必須要加的(這也包含USB Type-C captive cable device), 只是市面上Type-C USB3.0產品cable好像不是都照這裡頭規定實做這樣...

Zheng Kevin 提到...

你好

以電源來看,兩端的USB PD IC不需要去確認Cable內的E-marked,就可以輸出3A,
因為Standard type-C cable都是可以耐到3A的。超過3A,USB PD IC才需要去
辨識Cable內的E-marked,確認cable的規格。所以我覺得USB standard Type-C
cable要加E-marked,應該是為了訊號。 在Type-C 1.2 spec, 4.9節
Electronically Marked Cables,寫到Full-featured的Type-C cable要加
E-marked,Full-featured包括了SBU pin,PD IC需要去讀E-marked cable,
來了解這個cable有那些信號方面的功能。

匿名 提到...

E-Mark IC 是為了USB PD 要使用大電流3A以上時才需要的,那麼若只是要進入ALT mode,除了DFP&UFP需要PD IC之外,是否需要使用有e-mark 的active cable還是一般的passive cable 就可以了!

Zheng Kevin 提到...

Hi
如果是溝通進ALT mode,只需要有CC pin溝通就可以了。要看你的Alt mode需要那些功能?
會用到Cable裡的那些pin,是否需要到5Gs以上的data rate? 才能判斷是否Cable內需要
有E-marked。在DP Alt mode,只需要4 lance difference、D+/D-、SBU1/2,這樣標
準的Type-C cable就可以達到了。

Wade Wang 提到...

HI Kevin,

V-CONN 通常都是提供5V給E-Mark cable裡的主動IC使用,
是否目前E-Mark cable IC 有分為5V/3.3V?
如果3.3V這個選項, 那V-CONN要透過什麼機制來判斷決定輸出電壓 5V or 3.3V?

感謝
Wade.

匿名 提到...

Kevin大大您好~

請教您一個問題,在A.4.2. 3.5 mm to USB Type-C Adapter Supporting 500 mA Charge-Through,這個章節裡面有一段話audio is not interrupted by insertion or removal of the cable connected
to the audio adapter’s USB Type-C receptacle by using the system’s presence detection logic
monitoring the states of both the CC1 and CC2 pins and VBUS.

這段話是說只拔掉3.5mm耳機線時音訊不會被中斷還是拔掉連到手機的type-c plug音訊不會被中斷呢?感謝您百忙之中的回答~

小小兵敬上

Zheng Kevin 提到...

Hi Wade
你可以參考Type-C spec 1.2 Table 4.4 Vconn Source. 一般情況下,
DFP供VCONN電壓要在4.75~5.5V。但在Powered Accessory的狀態下(Rd,
Ra),VCONN只需要供2.7V以上。 前提是相接的UFP要是Vconn power
accessory,你可以參考spec 4.10的描述。DFP與UFP要相互辨識,進到
Alternate mode。

Zheng Kevin 提到...

小小兵 你好
依照FigureA-2的圖,這個USB Type-C Adaptor有三個接口,一個是Audio 3.5mm接口,
一個是USB Type-C plug,一個是Type-C receptacle。Type-C plug是用來接手機,
Type-C receptacle是用來接USB Power provider(5V source)。你提到的那一段話,
應該是指,當Type-C receptacle接上的USB provider被拔出或插入時,都不會影響
到手機輸出音訊到3.5mm接口上的audio裝置。因為在Type-C receptacle上的CC,已經
直接接Rd了,不管這個接口有沒有接東西,手機都不會偵測到。

匿名 提到...

hi 你好,

想請問USB PD時如果支援5A,cable要加E-Mark,這顆的IC的interface是什麼?
另外就是PD要支援3A以上時,connector 就不再是type-C,而要改為type-A, 那這樣就從type-c中脫離出來了?然後calbe要有E-MARK支援?覺得怪怪的..

thanks
Young

Zheng Kevin 提到...

Hi Young
E-mark IC也是透過CC溝通的,所以Cable上的CC pin會接到e-mark IC.
Type-C的connector可以耐到5A,所以無論是3A或5A都還是用Type-C。

js wu 提到...

您好,有一想到一個問題想請教,假設一支TYPE C 接口的手機已經完全沒電了拿一顆帶有PD的充電器來進行充電
按照理論必須達成供電協議充電器才會輸出電源供電,但是手機已經沒完全沒電了內部的MCU應改沒辦法跟充電器
溝通,導致充電器不會送出任何電壓,也就無法充電,這部分是用什麼方式解決呢

謝謝

柏安Poan 賴 提到...

手機在完全沒電時會固定處於UFP狀態(present Rd),此時DFP的PD充電器開啟5v提供電。

js wu 提到...

感謝回答~,再請教一個問題,type c 做供電端如果只做5v 3A 一般標準做法是用CC LOGIC IC,如果不用IC 只上拉電阻到V-BUS,請問這樣會有怎麼樣的風險?有什麼問題嗎

謝謝

Zheng Kevin 提到...

Hi JS
你可以參考本篇文章的第一張圖,CC logic除了要pull up外,還要
控制VBUS路徑上MOS開關的ON/OFF。Source端在還沒接上Sink前,
VBUS是沒有輸出的。等到CC被Sink pulldown後,Source偵測到
CC準位拉低,Source才會將VBUS上的MOS打開,輸出5V。

js wu 提到...

hi sir~因為老闆要cost down,想在cc腳上拉10k電阻到vbus,vbus 不用mos控制on/off 改直接輸出5v
這樣的做法會有什麼風險嗎

謝謝

Zheng Kevin 提到...

Hi Js
這不符合Type-C規範喔。如果有另一個裝置跟你的設計一樣,也都是直接輸出5V,
那這兩個裝置接在一起,5V不就對撞了。