2. 檢測電纜的方向和扭轉狀況,安排數據總線的路由。
3. 設定兩個連接起來的端口的數據角色。
4. 發現并配置 VBUS:USB-C 的電流模式或使用 PD 協議。
5. 配置 VCONN。
6. 發現并配置可選的替代模式和配件模式。
前一篇文章通過深入 TCPCI 規范的方式介紹了 TCPC,它就位于 TCPM 和 USB-C 型連接器之間,其與 USB 接口的連接就是兩條線 — CC1 和 CC2,它們會出現在各種 TCPC 芯片的引腳上和電路圖上,但在完成了與電纜和設備間的連接時就變成了 CC 和 VCONN,一個是用來完成配置和通訊功能的,一個是用來給電纜里的有源電路供電的。其實這段話說起來就有點復雜,現在我們就通過深入 USB-C 規范的方式來加深對相關內容的理解。 從電源的角度來看,TCPC 出現在 USB 上可以有三種角色類型:Source(供電端)、Sink(用電端)和 DRP(雙重角色,或為供電端,或為用電端,可根據需要隨時變換)。 Source 的內部結構是這樣的:
Sink 的內部結構是這樣的:
Source 作為供電端,其輸出的 VBUS 是可控的,所以內部包含一個 MOSFET 開關做輸出控制,僅在需要時才會被打開送出電源。這個開關在早期的時候都用 P-MOSFET 來實現,后來改用 N-MOSFET,相應地就會在驅動它的地方使用電荷泵電路,再進一步就把這部分電路都集成進 IC 里了,下圖就是可同時支持 PD/UFCS/私家協議的開關電源次級側反饋控制芯片 RT7206KLA 的做法,幾乎所有可見的東西都已經集成化了,露出芯片外的只有輸入輸出端子,使用起來是非常簡單的。
兩個端口都有 CC1 和 CC2 兩個端子,Source 端的 CC1 和 CC2 都用電阻 Rp 連接到電源供應端(圖中顯示的是 5V 電源,但實際上也可以是其它電壓源如 3.3V),Sink 的 CC1 和 CC2 都通過電阻 Rd 與地連接,這樣一來這兩個端口的空載特性馬上就表現出來了,即在沒有任何連接的時候去測量兩個端口上的 CC1 和 CC2 的電壓,Source 端的就是 5V(假如其供電就如圖示是 5V 的話),Sink 端的就是 0V。 標準的 USB-C 型插座的端子布置如下圖所示:
Source 和 Sink 內部的 CC1 和 CC2 就與其中的 A5 和 B5 連接在一起,而 USB-C 型電纜的插頭引腳布置如下圖所示:
把它左右顛倒一下就知道它和插座連接的時候各引腳是如何對應的了,此時插座的 CC1 到了插頭上連接的是 CC,插座的 CC2 到了插頭上變成了 VCONN,但是由于這個插頭是沒有方向性的,你再把它旋轉 180 度也是同樣可以插入的,這時候的連接關系就發生了變化,前述的 CC1 和 CC2 就要對換一下位置,相應的數據線連接也發生了變化。而在電纜內部呢,兩端插頭上的 CC 是連接在一起的,VCONN 則用于為電纜內部的電子電路供電,我們拿電子標簽 IC RT1731 的應用電路圖來看一看就可以了解這一點:
圖中示范了兩種電纜使用電子標簽的情況,第一種只使用了一個電子標簽,兩個插頭都把 VCONN 連接到了電子標簽上,而電子標簽只可能放在靠近一個插頭的地方,另一端就需要引線過來,所以用線比較多。第二種電纜在靠近兩個插頭的地方都放置了電子標簽,VCONN 線就不用拉得太長了,而工作的時候又只有 Source 端會給 VCONN 供電,所以總有一個標簽處于閑置狀態,看起來好像也有浪費之嫌。 深入電子標簽 RT1731 的內部框圖去看一看,我們能看到它有兩個 VCONN 連接端子,它們都能實現給器件供電的任務,但相互之間是隔離的:
所以無論哪種使用方式都能看到電纜兩端的 VCONN 是沒有連接在一起的。從這個電路里我們又看到了一個接地電阻 RA,它在 USB-C 規范里被稱為 Ra,阻值范圍為 800Ω~1200Ω,它存在的目的是用來標示電纜的出現,但其作用在VCONN 供電正常以后就會消失或是減弱。
到現在為止,我們看到了三個電阻 Rp、Rd 和 Ra,它們只有在 Source、Sink 經由電纜連接起來的時候才會同時出現在一個電路中:
很顯然,當這個連接一旦形成,上圖中四個箭頭所指的地方的電壓就不再與懸空時的電壓相同了,這個事件的發生就可以告訴 Source 和 Sink,一次 USB 設備間的連接已經形成,我們需要對這些地方的電壓進行檢測以確定連接是否正確。如圖中所示,Sink端還用這個狀態來確定連接的方向,但實際上 Source 端也需要做同樣的動作,只是規范里是以另外的形式來表達的,我們以后再來談這個問題。 為什么我會想到需要確定連接是否正確?有的問題確實是過去不曾遇到的。早期的 USB 電纜的兩端其實都是不一樣的,連接下行接口的一側通常都是 USB-A 型接口,連接上行接口的一側則變化多端,有的是 Micro-B,有的是 Mini-AB,……,還有后來的兩組插頭組合而成的插頭,雖然我自己還在使用卻叫不出來的類型,它們的問題就是互不兼容,而且每一個都是有方向性的,有時為了插進插座去要費很大的勁,要想在黑暗中完成操作幾乎就是不可能的事情,但最新的 USB-C 卻把這些問題都避免了,電纜的兩端完全相同,也沒有正反之別,怎樣都能插進去,而且在 Source 和 Sink 上的插座也沒有任何區別,所以你也可以把兩個 Source 或兩個 Sink 連接起來,只不過這是一個無意義的連接,它們之間根本無法適配。 當兩個 Source 被連接起來的時候,會不會發生兩個不同電壓的電源通過 VBUS 被連接起來?不會的,因為前面的 Source 結構圖上已經可以看到 VBUS 輸出是受控的,只有連接正確以后該開關才會打開,打開以后 VBUS 上才會有正常的 5V 輸出,而需要其他的電壓則只有 PD 協議開始運作以后才會發生。兩個 Sink 的連接就更沒有這樣的問題了,它們都是 VBUS 的使用者,不會有非零的電壓輸出的。 我們知道 USB-C 型接口容許的電流輸出有幾種規格,一種是所謂的標準接口,就是符合 USB2.0 或 USB3.1 的 500mA 或 900mA,一種是 1.5A,還有一種是 3A。一個 Source 要表示它的這種供電能力時就去選擇一個合適的 Rp 電阻值,然后 Rd 的阻值又是固定不變的 5.1kΩ,這樣的結果就是在 CC 線上表現出不同的電壓,Sink 端看到不同的電壓時就知道自己能夠吸取的電流是多少,然后再控制自己的電流吸取能力,這樣就能不超出 Source 的供電能力了。
Source 內部給 Rp 起上拉作用的電源電壓可能是不同的,有的是 5V,有的是 3.3V,為了都能夠正確地表達自己的供電能力,相應的 Rp 電阻值也就是不一樣的,下表列出了相關的數據:
上表右側第一列給出的是 Rp 上拉電壓為 3.3V 時為表達標準輸出能力、1.5A 和 3.0A 使用的 Rp 電阻值分別為 36kΩ、12kΩ 和 4.7kΩ,右側第二列給出的是 5V 時的上拉電阻值。表中左側第二列給出來的是另外一種表達方式——電流源,它的電路模型是這樣的:
該電流源的輸出電壓容許范圍為 1.7V~5.5V,其 80/180/330μA 的電流輸出自然就會在 Sink 端的 Rd 上形成一個壓差,只需檢測上圖箭頭所指處的電壓就知道 Source 的供電能力了。 而一個 Source 端的 TCPC 要表達這一點,控制它的 TCPM 只需要在其地址為 0x1A 的內部寄存器里寫入數據就可以實現了。
這個就是 RT1718S 產品規格書里給出來的這個寄存器的定義,其中的 5:4 兩個位的不同組合分別表達了能夠提供的電流大小,與之對應的就是從 CC 端流出的電流的大小,其參數又表現在規格書的參數表格里:
其實在設置上述寄存器的時候還需要選擇是對 CC1 還是 CC2 進行 Rp 的設定,這涉及到的是要如何確認哪條線被作為 CC 線來使用的問題。出于篇幅的限制,本文就到這里結束,我們下次再繼續聊。
審核編輯:湯梓紅
-
接口
+關注
關注
33文章
8577瀏覽量
151023 -
usb
+關注
關注
60文章
7938瀏覽量
264486 -
Source
+關注
關注
0文章
17瀏覽量
9818 -
Sink
+關注
關注
0文章
10瀏覽量
9563
原文標題:探索 CC
文章出處:【微信號:RichtekTechnology,微信公眾號:立錡科技】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論