加入星計(jì)劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴(kuò)散
  • 作品版權(quán)保護(hù)
  • 300W+ 專(zhuān)業(yè)用戶(hù)
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長(zhǎng)期合作伙伴
立即加入
  • 正文
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

你真的了解TCPC嗎

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

TCPC 是 USB Type-C Port Controller 的首字母縮寫(xiě),翻譯成中文就是通用串行總線 C 型端口控制器,簡(jiǎn)單點(diǎn)說(shuō)就是 USB-C 型端口控制器,也就是說(shuō)一個(gè) USB-C 型端口要做的事情它得全管,這句話說(shuō)起來(lái)有點(diǎn)籠統(tǒng),需要深入標(biāo)準(zhǔn)去看看是咋回事。
USB Type-C Port Controller Interface Specification (USB-C 型端口控制器接口規(guī)范,可簡(jiǎn)稱(chēng) TCPCI 規(guī)范)里是這樣來(lái)描述 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. 這話的意思是說(shuō) TCPC 是個(gè)功能塊,其中含有 VBUS 和 VCONN 的電源控制功能、CC 信號(hào)的處理邏輯、USB PD 應(yīng)用中的 BMC 物理層和協(xié)議層(也就是 PD 信息的編碼發(fā)送、接收和處理過(guò)程都在里面了),而信息的生成是不包含在其中的。這個(gè)功能塊在現(xiàn)實(shí)中的位置在哪里呢?我們常常會(huì)看到論及 TCPC 的地方會(huì)有下面這幅圖:

另有一幅圖是這樣的:

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

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

VBUS 就是通過(guò) USB 線傳輸?shù)碾娫凑龢O端,它的電壓在 USB誕生的時(shí)候就是 5V,能傳輸?shù)?a class="article-link" target="_blank" href="/tag/%E7%94%B5%E6%B5%81/">電流隨著 USB 的不斷升級(jí)從百 mA 級(jí)一直往上增長(zhǎng),到了 C 型接口出現(xiàn)后發(fā)展到最大 3A,在 PD 協(xié)議出現(xiàn)以后就發(fā)展到了 5A,現(xiàn)在它可傳輸?shù)碾妷阂训搅?48V,所以通過(guò)VBUS 已經(jīng)可以傳輸高達(dá) 240W 的功率了,但其最基本的規(guī)格仍然還是 5V,只有利用 PD 協(xié)議才使其規(guī)格可以在工作過(guò)程中進(jìn)行改變,但 TCPCI 對(duì)此并不關(guān)心,它提供的只是一個(gè)通道而已。實(shí)際是有關(guān) PD 的協(xié)議在通過(guò) TCPC 的時(shí)候是不會(huì)被解讀的,它們會(huì)直接通過(guò) TCPC 進(jìn)行傳輸,到了 TCPM 以后才會(huì)被處理,其處理結(jié)果會(huì)反應(yīng)在 VBUS 電壓的變化上,而 TCPC 卻可以對(duì) VBUS 電壓進(jìn)行監(jiān)測(cè)、對(duì) VBUS 通道進(jìn)行開(kāi)關(guān)控制,到了連接中斷時(shí)還會(huì)對(duì) VBUS 通道進(jìn)行放電處理以確保安全。如果某個(gè)器件將 TCPC 和電壓轉(zhuǎn)換器的功能集成在一起了,那么這里所說(shuō)的 TCPM 對(duì) VBUS 電壓的調(diào)整功能也會(huì)被集成在其中,對(duì)于用戶(hù)來(lái)說(shuō)就變成完全透明的了,只需要將其拿來(lái)使用即可,很可能完全不需要自己去做軟件設(shè)計(jì)等操作,而立锜的很多高度集成的產(chǎn)品便是這樣做的,對(duì)用戶(hù)來(lái)說(shuō)會(huì)非常友好,但是技術(shù)支持的力度卻要增強(qiáng),因?yàn)椴煌脩?hù)的不同需求都需要在產(chǎn)品設(shè)計(jì)中予以滿足,這就要有針對(duì)性的服務(wù)才能實(shí)現(xiàn)。

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

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

詳細(xì)解讀表中信息的工作量會(huì)很大,TCPCI 規(guī)范和我們的產(chǎn)品如 RT1718S 規(guī)格書(shū)都用了很大的篇幅來(lái)列出寄存器的詳細(xì)信息,需要做詳細(xì)設(shè)計(jì)的人肯定要去仔細(xì)研究,作為大概的了解就不必了,但是瀏覽一下還是能找到一些樂(lè)趣,例如我們可以從寄存器的排序上看出它的發(fā)展歷程,PD 協(xié)議是后來(lái)才有的,它的發(fā)送和接收寄存器也被排在后面,這大概就是先來(lái)后到的影響吧,但這也只是我自己的看法,因?yàn)槲也](méi)有對(duì)多個(gè)版本的規(guī)范進(jìn)行比較;擴(kuò)展定義是廠家需要的,它的排序就在最后的 80h…FFh,這也在 RT1718S 的寄存器配置上表現(xiàn)出來(lái),它的超出 TCPC 定義范圍以外的東西都在地址 80h 以后的寄存器里進(jìn)行表達(dá),使用它的用戶(hù)必須對(duì)它們進(jìn)行操作,同時(shí)立锜的技術(shù)支持人員也能在其開(kāi)發(fā)工作中提供支持,已有的一些源碼應(yīng)該是可以提供給大家參考使用的,至少有一些定義可以供你使用,就這也可以減少不小的工作量,因?yàn)槟敲炊嗉拇嫫骶褪强粗部赡茏層行┤祟^疼的,我要遇到了也只能是一個(gè)一個(gè)地進(jìn)行描述,一點(diǎn)都急不得,想到這一點(diǎn),我倒是有點(diǎn)慶幸自己沒(méi)有一直以軟件設(shè)計(jì)為業(yè)了。

反復(fù)提及 RT1718S 卻沒(méi)有提供與其相關(guān)的細(xì)節(jié),這看起來(lái)有點(diǎn)不像做產(chǎn)品介紹的樣子,但寫(xiě)這篇文章的用意也真的不是要做產(chǎn)品介紹,我只是想把自己對(duì) TCPC 的理解寫(xiě)出來(lái),同時(shí)幫助到也有此需求的讀者,這就夠了,如果因?yàn)槲业睦斫忮e(cuò)誤而給你帶來(lái)誤解,那就要先給你說(shuō)聲抱歉,畢竟我的理解不能當(dāng)做標(biāo)準(zhǔn)來(lái)看待,需要認(rèn)真對(duì)待的讀者請(qǐng)以標(biāo)準(zhǔn)本身的說(shuō)明為準(zhǔn)。對(duì)我來(lái)說(shuō)學(xué)習(xí)就應(yīng)該是一件好玩的事情,需要帶著好奇心去玩,工作還是先靠邊吧!如果工作的同時(shí)又能學(xué)習(xí)并得到樂(lè)趣,能夠豐富我們對(duì)這個(gè)世界的認(rèn)識(shí),那就更有意思了,公司還要付我工資呢,這不是雙倍的收益嗎?所以我是帶著感恩的心來(lái)做這一切的,希望你也是,我相信你也能因此而獲益。

相關(guān)推薦

電子產(chǎn)業(yè)圖譜