加入星計劃,您可以享受以下權益:

  • 創(chuàng)作內容快速變現
  • 行業(yè)影響力擴散
  • 作品版權保護
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質創(chuàng)作者
  • 5000+ 長期合作伙伴
立即加入
  • 正文
  • 相關推薦
  • 電子產業(yè)圖譜
申請入駐 產業(yè)圖譜

你真的了解TCPC嗎

2022/07/09
4878
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

TCPC 是 USB Type-C Port Controller 的首字母縮寫,翻譯成中文就是通用串行總線 C 型端口控制器,簡單點說就是 USB-C 型端口控制器,也就是說一個 USB-C 型端口要做的事情它得全管,這句話說起來有點籠統(tǒng),需要深入標準去看看是咋回事。
USB Type-C Port Controller Interface Specification (USB-C 型端口控制器接口規(guī)范,可簡稱 TCPCI 規(guī)范)里是這樣來描述 TCPC 的:The TCPC is a functional block which encapsulates VBUS and VCONN power controls, USB Type-C CC logic, and the USB PD BMC physical layer and protocol layer other than the message creation. 這話的意思是說 TCPC 是個功能塊,其中含有 VBUS 和 VCONN 的電源控制功能、CC 信號的處理邏輯、USB PD 應用中的 BMC 物理層和協(xié)議層(也就是 PD 信息的編碼發(fā)送、接收和處理過程都在里面了),而信息的生成是不包含在其中的。這個功能塊在現實中的位置在哪里呢?我們常常會看到論及 TCPC 的地方會有下面這幅圖:

另有一幅圖是這樣的:

這兩幅圖其實是一回事,只不過是一個帶有多個 TCPC,一個只有一個 TCPC,它們要表達的重點是中間畫圈的部分即 TCPCI(TCPC Interface,TCPC 接口),意思是說 USB-IF 制訂了一個接口標準,它通過 I2C 接口將 TCPM 即 USB Type-C Port Manager(USB-C 型端口管理器)和 TCPC 連接起來,所有的 TCPC 產品都以此標準進行設計,意即 TCPM 看到的 TCPC 都是標準化的,它們內部都有大量的寄存器掛在 I2C 接口上,這些寄存器的地址和內容絕大部分都是相同的,只有擴展的部分才是容許廠家自己定義的,當你對不同型號的 TCPC 的同一個地址的寄存器進行讀寫操作時,能夠起到的作用都是相同的(除非該 TCPC 的設計不支持這個功能,或是它容許廠家自己定義其具體內容,但凡遇到這樣的狀況時也都會在其設計里被明示出來,例如我們的 RT1715 就明確說明它不支持 PD3.0 的 Fast Role Swap 功能),這樣就簡化了 TCPM 的設計,它在遇到任何 TCPC 時都有一樣的功能,啥都不需要修改,除非遇到了不支持的狀況或是自定義的狀況。所以真正的 TCPC 其實只是前面兩幅圖中的下半部分所展示的內容,其中的小方塊表示它含有的功能或是模塊,下面與之連接的自然是實際中的 USB 端口的物理部分,就像下圖中的 RT1718S 上邊和左邊所連接到的部分:

而 TCPM 在上圖中也只能是位于右側的 MCU/EC 之中的一個組件或說是其一個功能,只是由于 RT1718S 的構成除了 TCPC 以外還有對端口各個信號的過壓保護和靜電釋放保護功能,所以它看起來就比較復雜了,但理解了 TCPC 后就比較容易搞清楚它是怎么回事了。
TCPCI 規(guī)范以需求的形式對 TCPC 要完成的工作進行了說明,前面已經說過它包含三個部分,下面對此進行簡單說明。
TCPC 需要完成的第一部分工作是對 VBUS 和 VCONN 電源進行管控。

VBUS 就是通過 USB 線傳輸的電源正極端,它的電壓在 USB誕生的時候就是 5V,能傳輸的電流隨著 USB 的不斷升級從百 mA 級一直往上增長,到了 C 型接口出現后發(fā)展到最大 3A,在 PD 協(xié)議出現以后就發(fā)展到了 5A,現在它可傳輸的電壓已到了 48V,所以通過VBUS 已經可以傳輸高達 240W 的功率了,但其最基本的規(guī)格仍然還是 5V,只有利用 PD 協(xié)議才使其規(guī)格可以在工作過程中進行改變,但 TCPCI 對此并不關心,它提供的只是一個通道而已。實際是有關 PD 的協(xié)議在通過 TCPC 的時候是不會被解讀的,它們會直接通過 TCPC 進行傳輸,到了 TCPM 以后才會被處理,其處理結果會反應在 VBUS 電壓的變化上,而 TCPC 卻可以對 VBUS 電壓進行監(jiān)測、對 VBUS 通道進行開關控制,到了連接中斷時還會對 VBUS 通道進行放電處理以確保安全。如果某個器件將 TCPC 和電壓轉換器的功能集成在一起了,那么這里所說的 TCPM 對 VBUS 電壓的調整功能也會被集成在其中,對于用戶來說就變成完全透明的了,只需要將其拿來使用即可,很可能完全不需要自己去做軟件設計等操作,而立锜的很多高度集成的產品便是這樣做的,對用戶來說會非常友好,但是技術支持的力度卻要增強,因為不同用戶的不同需求都需要在產品設計中予以滿足,這就要有針對性的服務才能實現。

對于連接在 USB 上的不同設備來說,有的可作為電源的供應端,有的可作為用電端,還有的可以在兩個角色之間進行轉換,它們的這種能力分別被定義為 Source、Sink 和 DRP,TCPC 中就定義了很多寄存器來對這些角色的實現或是轉換等進行控制,實際實施的時候就需要 TCPM 根據不同的角色和需要隨時對 TCPC 的寄存器進行操控以實現其應用目標,這也導致不同角色的 TCPC 需要去完成不同的任務。
VCONN 的作用和 VBUS 有點類似,其生成的位置也是供電端,但使用它的電路位于電纜之中,如 USB-C 型電纜上的電子標簽就需要它來供電,其電壓、電流和功率也需要是可控的,TCPC 內部也有寄存器可用于 VCONN 的生成和控制。
下面的幾個表格是從 TCPCI 規(guī)范中截取下來的,它們說明了不同角色的 USB 設備中的 TCPC 需要完成的工作,有興趣的讀者可以仔細看看。

TCPC 需要完成的第二部分任務是對 CC 信號進行處理,其中涉及角色判斷、對 CC 線的狀態(tài)進行監(jiān)測、根據需要使用 Rp/Rd 等等。到了 PD 協(xié)議上場以后,TCPC 又新增了對 PD 協(xié)議信息的傳輸能力,其中就有 BMC 編解碼、信息的存儲和收發(fā)等內容,這就構成了 TCPC 需要完成的第三個任務,使得 TCPM 完全不需要去關心 PD 協(xié)議是如何傳輸的,它只管根據自己的需要去生成和處理信息即可,傳輸上的事情都丟給 TCPC 了。
TCPM 在與 TCPC 通訊的時候處理的都是 TCPC 內部的寄存器,這些寄存器在規(guī)范中的定義如下表所示:

詳細解讀表中信息的工作量會很大,TCPCI 規(guī)范和我們的產品如 RT1718S 規(guī)格書都用了很大的篇幅來列出寄存器的詳細信息,需要做詳細設計的人肯定要去仔細研究,作為大概的了解就不必了,但是瀏覽一下還是能找到一些樂趣,例如我們可以從寄存器的排序上看出它的發(fā)展歷程,PD 協(xié)議是后來才有的,它的發(fā)送和接收寄存器也被排在后面,這大概就是先來后到的影響吧,但這也只是我自己的看法,因為我并沒有對多個版本的規(guī)范進行比較;擴展定義是廠家需要的,它的排序就在最后的 80h…FFh,這也在 RT1718S 的寄存器配置上表現出來,它的超出 TCPC 定義范圍以外的東西都在地址 80h 以后的寄存器里進行表達,使用它的用戶必須對它們進行操作,同時立锜的技術支持人員也能在其開發(fā)工作中提供支持,已有的一些源碼應該是可以提供給大家參考使用的,至少有一些定義可以供你使用,就這也可以減少不小的工作量,因為那么多寄存器就是看著也可能讓有些人頭疼的,我要遇到了也只能是一個一個地進行描述,一點都急不得,想到這一點,我倒是有點慶幸自己沒有一直以軟件設計為業(yè)了。

反復提及 RT1718S 卻沒有提供與其相關的細節(jié),這看起來有點不像做產品介紹的樣子,但寫這篇文章的用意也真的不是要做產品介紹,我只是想把自己對 TCPC 的理解寫出來,同時幫助到也有此需求的讀者,這就夠了,如果因為我的理解錯誤而給你帶來誤解,那就要先給你說聲抱歉,畢竟我的理解不能當做標準來看待,需要認真對待的讀者請以標準本身的說明為準。對我來說學習就應該是一件好玩的事情,需要帶著好奇心去玩,工作還是先靠邊吧!如果工作的同時又能學習并得到樂趣,能夠豐富我們對這個世界的認識,那就更有意思了,公司還要付我工資呢,這不是雙倍的收益嗎?所以我是帶著感恩的心來做這一切的,希望你也是,我相信你也能因此而獲益。

相關推薦

電子產業(yè)圖譜