USB Type-C Docking (擴(kuò)展塢) 設(shè)計(jì)
USBType-C簡介
USBType-C型接口,由USB-IF組織制定,早在2014年就得到了包括蘋果,谷歌,英特爾等廠商認(rèn)可,相繼在2015年推出相關(guān)產(chǎn)品。相比各類USB傳統(tǒng)接口,USB Type-C具有小尺寸、高集成度、使用方便的優(yōu)秀特性。也即USB Type-C 接口集數(shù)據(jù)傳輸,供電,和視頻為一體。圖1簡略描述了USB Type-C的部分特性。
圖1 高集成度的USB Type-C接口
USB Type-C接口具有以下特性:
1. 延續(xù)USB即插即用的便利優(yōu)勢。
2. 物理接口十分小且薄,并支持正反插。
3. 支持USB3.1 Gen2(10Gbps)。
4. 同時(shí)支持DisplayPort數(shù)據(jù)輸出(也可以支持雷電,HDMI數(shù)據(jù)輸出)。
5. 支持高達(dá)20V 5A最大100W的標(biāo)準(zhǔn)電能傳輸。
上面提到的100W標(biāo)準(zhǔn)電能傳輸,是在USB PD(Power Delivery) 協(xié)議規(guī)范中定義的,標(biāo)準(zhǔn)輸出能力。 它是一種協(xié)商供電協(xié)議,非常靈活也非常智能。USB PD協(xié)議也允許設(shè)計(jì)者使用廠商自定義命令即VDM(Vendor Defined Messages)傳輸更大電能或者其他客戶需要的特殊的功能。綜上所述,USB Type-C具備強(qiáng)大的功能和靈活性,為產(chǎn)品設(shè)計(jì)者各種創(chuàng)意提供了無限可能。
圖2 Apple Macbook上的USB Type-C接口
USB Type-C典型特點(diǎn)是支持正反插,避免過去USB口繁復(fù)的方向?qū)?zhǔn)問題,給用戶帶來極大的便利性。這一功能的實(shí)現(xiàn)和接口物理信號(hào)的定義有直接關(guān)系,圖3是USB Type-C的接口信號(hào)示意圖
圖3 USB Type-C插座(上圖)插頭(下圖)
完整的USB Type-C接口(插座)具有24個(gè)信號(hào)引腳,可以看到這些信號(hào)引腳的功能性呈180゜旋轉(zhuǎn)中心對稱的關(guān)系排列,在接口物理結(jié)構(gòu)上支持了USB Type-C正反插。
USB Type-C及協(xié)商供電 USB PD (Power Delivery)基本知識(shí)
在USB Type-C中對數(shù)據(jù)和供電定義了3種角色,分別是DRP(Dual-Role-Port雙向接口), DFP(Downstream Facing Port數(shù)據(jù)下行接口), UFP(Upstream Facing Port數(shù)據(jù)上行接口),同時(shí)還保留了Power Source/ Sink 的概念。
USB Type-C將數(shù)據(jù)角色和供電角色進(jìn)行了分離,意味著一個(gè)端口數(shù)據(jù)和供電的方向可以相同也可以相反。 USB PD協(xié)議讓端口的兩種身份(數(shù)據(jù)和供電)可以自由組合,即一個(gè)端口可以是數(shù)據(jù)的主機(jī),電源上卻做受電角色. 而傳統(tǒng)的USB, 數(shù)據(jù)和供電的身份是綁定的。這樣給應(yīng)用帶來很大的靈活性。擴(kuò)展塢設(shè)計(jì)就充分利用這種特性,就數(shù)據(jù)而言,針對于主機(jī),它是從設(shè)備,而電源方面,它卻要扮演源端(source), 為主機(jī)提供電源。USB PD協(xié)議中,數(shù)據(jù)和電源身份是可以動(dòng)態(tài)依照情況而改變的,不是一層不變的。
USB Type-C為了區(qū)分DFP與UFP的初始狀態(tài),使用了上(Rp)下(Rd)拉的電阻模型,如圖4。
圖4 DFP和UFP的上下拉電阻模型
DFP通過監(jiān)控CC (Configuration Channel)上的電壓來確認(rèn)是否有正確的連接,然后打開Vbus和Vconn給設(shè)備和線纜供電,如果是插座設(shè)計(jì),DFP和UFP都需要根據(jù)CC1/CC2上不同的分壓值確定設(shè)備插入的方向,切換內(nèi)部開關(guān)將多組數(shù)據(jù)線以正確的順序傳輸或者獲取數(shù)據(jù)。
CC信號(hào)線上進(jìn)行Rp-Rd配對,這決定了DFP 和UFP角色。
Vconn信號(hào)線上進(jìn)行Rp-Ra配對,作用是給帶E-marker的cable供電,并讀取cable支持的速度和能承載的最大電流等線材相關(guān)信息。
圖5 DFP和UFP建立連接時(shí)幾種可能的連接模型
圖5展示了DFP和UFP的正反連接的四種模型,不論用戶如何插拔,兩端的設(shè)備都是根據(jù)CC1/CC2上的分壓進(jìn)行方向識(shí)別的。上一節(jié)中圖3定義了USB Type-C插頭和插座的信號(hào)順序,在正插和反插的情況下,插頭和插座的匹配如下圖6所示。
圖6中最上面一個(gè)是正面朝上的插頭信號(hào)圖,中間是正面朝上的插座信號(hào)圖,最下面一幅是正面朝下的插頭信號(hào)圖,該圖示按翻轉(zhuǎn)的方式插入,那么箭頭指示了一個(gè)引腳配對的位置,據(jù)此可以看出其他引腳配對的位置了。注意插頭和插座的區(qū)別---插頭中間有2個(gè)空引腳。
圖6 DFP和UFP連接時(shí)信號(hào)匹配
上面講述了DFP和UFP角色的功能,USB Type-C中還有一個(gè)特殊的雙角色端口(DRP),顧名思義,DRP是雙向角色,也就是說一個(gè)DRP設(shè)備既能實(shí)現(xiàn)DFP功能,也能實(shí)現(xiàn)UFP功能,那么在DRP設(shè)備內(nèi)是同時(shí)集成了Rp和Rd的,在CC通道上DRP設(shè)備分時(shí)連接Rp或者Rd,不會(huì)同時(shí)將它們連接在CC上。通常一個(gè)DRP, 內(nèi)部的Rd 和Rp是通過一個(gè)開關(guān)來選定的,這樣保證端口在同一時(shí)刻不會(huì)既是DFP 又是UFP。
USB Type-C是物理接口,要實(shí)現(xiàn)更多功能則需要在接口上實(shí)現(xiàn)USB PD協(xié)議,USB PD協(xié)議在USB Type-C的CC通道上實(shí)現(xiàn),是一種主從單線通訊協(xié)議,采用BMC編碼,CC通道上并不負(fù)責(zé)高速數(shù)據(jù)的傳輸,而是實(shí)現(xiàn)控制及產(chǎn)品基本信息的交互。
很多設(shè)計(jì)者都有個(gè)誤區(qū),認(rèn)為USB PD只是供電的相關(guān)協(xié)議,實(shí)際上,USB PD是USB Type-C的靈魂所在。 比如要實(shí)現(xiàn)角色的切換,必須用到USB PD, 又比如要實(shí)現(xiàn)包括視頻等高速數(shù)據(jù)傳輸,也必須用到USB PD協(xié)議,通過協(xié)議中的VDM消息才能建立包括DisplayPort等的各種可選模式(Alt Mode)連接,從而實(shí)現(xiàn)視頻數(shù)據(jù)傳輸,關(guān)于USB Type-C可選模式設(shè)計(jì)的基本知識(shí),請參考賽普拉斯相關(guān)網(wǎng)頁
http://www.cypress.com/documentation/reference-designs/ez-pd-ccg3-usb-type-c-displayport-cable-solution
Dock 基本概念的介紹:
Dock,又叫做擴(kuò)展塢,這類產(chǎn)品的流行是因?yàn)楣P記本電腦的USB或者視頻等接口數(shù)量有限, 用戶希望擴(kuò)展出更多數(shù)量的或者更多種類的接口,來滿足多元應(yīng)用需求。由于筆記本接口輸出功率的限制,擴(kuò)展塢通常需要通過自己的電源適配器供電。
USB Type-C接口的出現(xiàn)進(jìn)一步擴(kuò)展了Dock的應(yīng)用場景以及功能性。本文所指的Dock是:本身具有電源調(diào)節(jié)能力的擴(kuò)展塢,區(qū)別于目前市面上本身不具有調(diào)壓能力的可充電轉(zhuǎn)換器產(chǎn)品(如:蘋果推出的 1轉(zhuǎn)3 轉(zhuǎn)換器)。
圖7為傳統(tǒng)Dock產(chǎn)品示意圖,這種Dock的體積和重量都決定了它不便于攜帶,市場上各個(gè)品牌廠商的Dock通常也都不能通用,USB Type-C的出現(xiàn)賦予了Dock多元的設(shè)計(jì)要素,具體表現(xiàn)如下:(產(chǎn)品示意圖如圖8所示)
1. 接口簡單,上行接口只需要一個(gè)USB Type-C口,不需要與筆記本的總線進(jìn)行復(fù)雜的線纜連接;
2. 一口多用,在傳輸數(shù)據(jù)的同時(shí)可以給筆記本充電,并且播放筆記本中的視頻;
3. 兼容廣泛,USB Type-C Dock都遵從標(biāo)準(zhǔn)USB PD協(xié)議,不同品牌的USB Type-C電腦和USB Type-C Dock理論上可以互相兼容;
4. 適配各類USB Type-C 主機(jī),USB Type-C Dock不僅僅只能搭配筆記本電腦,同時(shí)也能用在平板電腦和手機(jī)上;
5. 體積超小,可以隨身攜帶。
(注:圖示只是示意圖)
圖7 傳統(tǒng)Dock
圖8 USB Type-C Dock
USB Type-C Dock Station的設(shè)計(jì)
1. Docking中電源設(shè)計(jì)注意事項(xiàng):
如上文所述在做Dock設(shè)計(jì)時(shí),需要設(shè)計(jì)Dock給手機(jī)或筆記本充電的能力,在USB PD協(xié)議中要求電源輸出設(shè)計(jì)在功率足夠的情況下至少遵從以下規(guī)則:
圖9 標(biāo)準(zhǔn)PD電源輸出規(guī)則
圖9的含義是,在輸出功率大于15W/27W/45W的情況下,輸出的電源能力(PDO)一定要包含9V、15V及20V,例如,Dock的輸出能力為30W,則PDO應(yīng)至少包含5V@3A,9V@3A和15V@2A,其他電壓值都是可選的,不做強(qiáng)制規(guī)定,USB PD協(xié)議的這個(gè)規(guī)定是為了提高不同廠商產(chǎn)品的兼容性,增強(qiáng)USB Type-C的通用性。
2. Cypress的Dock解決方案簡介
圖10是Dock類設(shè)計(jì)的簡略結(jié)構(gòu)框圖,Dock采用直流接口供電,具有一個(gè)連接筆記本/平板或手機(jī)的上位USB Type-C接口,一個(gè)作為DFP輸出USB數(shù)據(jù)及電源的下位USB Type-C接口,兩個(gè)圖形輸出接口,一個(gè)網(wǎng)口,一個(gè)音頻接口,兩個(gè)USB3.0和USB2.0接口,所用到的芯片主要有DP Splitter(也可以用DP Switch降低成本), DP-HDMI轉(zhuǎn)換芯片,DC-DC轉(zhuǎn)換芯片,HUB芯片,數(shù)字音頻轉(zhuǎn)換芯片和USB PD芯片,下面著重介紹一下USB PD芯片。
圖10是Dock簡略框圖
Cypress EZ-PD CCG4/4M的內(nèi)部結(jié)構(gòu)概圖如圖11,該芯片以一個(gè)ARM Cortex M0內(nèi)核作為主控集成了通用微處理器的外圍組件,集成了USB PD3.0的解碼器及USB Type-C的相關(guān)外圍組件,具備128KB片上Flash,8KB SRAM,因此既可以作為PD3.0的協(xié)議控制器,也能做通用處理器處理系統(tǒng)事務(wù)。Dock設(shè)計(jì)中推薦使用CCG4產(chǎn)品主要是因?yàn)樵撓盗挟a(chǎn)品廣泛應(yīng)用于各大OEM廠商的筆記本及復(fù)雜USB Type-C Dock擴(kuò)展器設(shè)計(jì)中,具有良好的兼容性,和成熟的SDK(軟件開發(fā)包),SDK擴(kuò)展性良好,設(shè)計(jì)工程師易于開發(fā)[1]。
CCG4作為USB Type-C DRP角色工作[2],在Dock中主要負(fù)責(zé)的功能:
1. 處理USB Type-C事務(wù),例如作為雙向角色DRP處理接口拔插,正反插事務(wù)。
2. 處理USB PD3.0協(xié)議事務(wù),例如電源事件處理,ALT MODE事件響應(yīng)等。
3. 根據(jù)USB PD事件控制電源模塊-----包括輸出功率控制,模塊電源開斷,系統(tǒng)電源控制等。
4. 根據(jù)ALT MODE事件切換Video模塊工作模式(例如2/4 Lane 切換,監(jiān)控顯示器插入信號(hào)),并響應(yīng)USB Billboard事件。
5. 其他板級(jí)事件----例如LED控制,按鍵控制等。
圖11 Cypress CCG4/4M的結(jié)構(gòu)概圖
DMC(全稱Dock Management Controller)推薦使用Cypress的CY7C65219,DMC最主要的功能[3]是
1. 作為USB Billboard通知主機(jī)ALT MODE狀態(tài)事件
2. 作為在線升級(jí)控制器處理USB事務(wù),接收數(shù)據(jù)包,并通過I2C或其他板上接口對其他芯片升級(jí)。
3. 作為EC(全稱Embedded Controller)對PD控制器或其他芯片進(jìn)行任務(wù)協(xié)調(diào)和擴(kuò)展。
HUB推薦使用Cypress USB3.1 Gen1的HX3系列(CYUSB3314)可以單獨(dú)使能每個(gè)下行口的BC1.2,DCP,Apple Charging,Ghost Charging等功能,它具備Shared Link功能, 在嵌入式設(shè)計(jì)時(shí),能將下行口的USB3.0的Super Speed信號(hào)和High Speed信號(hào)拆分成兩組獨(dú)立使用[4]。另外USB2.0 HUB的HX2VL系列具有外圍簡單性能穩(wěn)定和低功耗的優(yōu)勢[5],也是業(yè)界較受認(rèn)可的選擇。
電源控制芯片可以考慮ON-SEMI采用I2C控制的寬范圍輸入輸出開關(guān)電源,有利于減少IO占用。MUX和DP轉(zhuǎn)HDMI轉(zhuǎn)換器可以考慮Diode(Pericom)或者Parade。
3. Dock方案中的在線升級(jí)功能---提升終端客戶體驗(yàn)
在廠商開發(fā)自己的產(chǎn)品過程中,如何保證產(chǎn)品的高質(zhì)量:
1. 量產(chǎn)前合理的測試方案(可根據(jù)系統(tǒng)廠商原有經(jīng)驗(yàn)實(shí)施);
2. 保證產(chǎn)品靈活的接口特性(增加在線升級(jí)功能)
Cypress目前有成熟的Dock在線升級(jí)方案,圖12展示了Dock在線升級(jí)的拓?fù)浣Y(jié)構(gòu),DMC通過USB2.0接收主機(jī)端升級(jí)命令和數(shù)據(jù),再通過I2C或者其他板級(jí)通信協(xié)議中轉(zhuǎn)到各外部芯片上進(jìn)行升級(jí)。
圖12 Dock在線升級(jí)的拓?fù)浣Y(jié)構(gòu)
DMC主要具備兩個(gè)USB接口,一個(gè)是USB Billboard類,主要用于標(biāo)準(zhǔn)USB Billboard事務(wù)處理。一個(gè)是WINUSB類,這種設(shè)備類在WIN10上有預(yù)裝的驅(qū)動(dòng)程序,可以免去使用者使用麻煩,更重要的是在Windows移動(dòng)終端操作系統(tǒng)上也支持這種設(shè)備類,使得Dock無論在搭配筆記本電腦還是手機(jī)平板都能實(shí)現(xiàn)功能升級(jí),同時(shí)DMC將使用USB控制端點(diǎn)傳輸命令,再通過批量端點(diǎn)傳送各芯片固件的二進(jìn)制文件。該Dock方案中在升級(jí)軟件與DMC建立鏈接后,所有升級(jí)動(dòng)作由DMC主動(dòng)發(fā)起,所以在不同Dock應(yīng)用中是可以使用相同的系統(tǒng)端升級(jí)軟件的,并且由于CY7C65219 集成了加解密IP,在特殊應(yīng)用中也可以通過DMC發(fā)起密匙配對識(shí)別升級(jí)來源是否是安全的。
值得注意的是在DMC升級(jí)系統(tǒng)部件的過程中,可能某些部件會(huì)有主動(dòng)操作I2C總線的行為,這是需要設(shè)計(jì)者考慮進(jìn)去的,這種情況建議設(shè)計(jì)師建立兩顆芯片間操作總線的互斥原則,并在FW中做相應(yīng)設(shè)置。
4. Dock解決方案中的固件流程
Dock的解決方案中會(huì)涉及大量芯片與芯片之間的溝通,例如:USB PD芯片需要根據(jù)USB PD 溝通的信息進(jìn)行調(diào)整電壓,涉及與DC-DC電源之間的溝通; USB PD芯片需要識(shí)別正反插,涉及與MUX之間的溝通等等。
系統(tǒng)I2C的基本控制拓?fù)浣Y(jié)構(gòu)可簡化為圖13.
圖13 Dock的I2C控制拓?fù)浣Y(jié)構(gòu)
Dock中CCG4會(huì)通過I2C控制大部分外圍芯片,主要是實(shí)現(xiàn)前文提到的電源控制,上下行USB Type-C口的正反插控制,視頻部分的控制,圖14的流程圖說明了在USB PD軟件開發(fā)時(shí)的流程。
圖14 CCG4 USB PD控制器軟件流程圖
CCG4已經(jīng)完成了全部USB Type-C及USB PD的功能,流程圖中重點(diǎn)突出了應(yīng)用層需要完成的工作,基本上流程中所需要處理的事件都是CCG4 SDK會(huì)通報(bào)出的協(xié)議棧事件[6],開發(fā)者可以將更多精力放在功能應(yīng)用層面,為用戶提供創(chuàng)新實(shí)用的Dock產(chǎn)品。
圖15 Cypress DMC軟件流程圖
圖15揭示了Cypress DMC的軟件流程圖,實(shí)際上這些事務(wù)在DMC的架構(gòu)中已經(jīng)構(gòu)建并充分驗(yàn)證,開發(fā)者不需要做更改即可使用,在Dock設(shè)計(jì)中,為了增強(qiáng)事務(wù)處理的實(shí)時(shí)性,建議盡量在CCG4中做事件處理。
5. Dock解決方案中的軟件開發(fā)
本文中擴(kuò)展塢推薦采用的Cypress系列PD控制器設(shè)計(jì),他們推出了成熟的配套軟件開發(fā)包(SDK), 開發(fā)者可以免費(fèi)使用軟件開發(fā)包完成個(gè)性化的功能設(shè)計(jì),圖16是Cypress CCGx 軟件開發(fā)包界面, 該開發(fā)軟件采用模塊化的方式調(diào)用內(nèi)部資源(比如I2C,PWM等),并自動(dòng)生成相應(yīng)API供開發(fā)者使用,并能像FPGA一樣調(diào)整IO順序,使開發(fā)者上手容易[7]。
CCGx的軟件開發(fā)包將Type-C和USB PD的協(xié)議棧封裝成了庫,提供出API接口供使用者調(diào)用,除了部分特定功能的IO外,其他的GPIO及內(nèi)部資源可以當(dāng)成通用的MCU使用,使芯片性能在系統(tǒng)中可以充分利用。
圖16 Cypress CCGx 軟件開發(fā)包界面
6. Dock解決方案中的注意事項(xiàng)
電腦擴(kuò)展塢是一個(gè)比較復(fù)雜的封閉系統(tǒng),因?yàn)閿U(kuò)展塢通常具有多種不同外部接口,對應(yīng)的在設(shè)計(jì)中對系統(tǒng)有一些注意事項(xiàng):
3. 電源的分配,比如供電電源能力的計(jì)算,對每個(gè)模塊及接口電源的分配需要匹配
4. 對數(shù)據(jù)帶寬的分配
5. 對系統(tǒng)休眠狀態(tài)的省電控制
6. 人機(jī)交互方式的設(shè)計(jì)
總結(jié)
USB Type-C在逐漸統(tǒng)一筆記本及移動(dòng)終端設(shè)備外部接口,在趨勢的推動(dòng)下,基于USB Type-C接口的Dock設(shè)計(jì)必將受到廣大用戶的歡迎,尤其是在手機(jī)和平板性能越發(fā)強(qiáng)大的今天,便攜式Dock讓用戶隨時(shí)隨地可以將手機(jī)、平板變身成完整的電腦,本文介紹的基于Cypress CCG4 USB PD控制器的Dock設(shè)計(jì)方式為廣大外設(shè)廠商提供了一個(gè)具有參考價(jià)值的設(shè)計(jì)思路和理念。
引用:
1. AN210771 - Getting Started with EZ-PD™ CCG4
(http://www.cypress.com/documentation/application-notes/an210771-getting-started-ez-pd-ccg4?source=search&cat=technical_documents)
2. AN210403 - Hardware Design Guidelines for Dual Role Port Applications Using EZ-PD™ USB Type-C Controllers
(http://www.cypress.com/documentation/application-notes/an210403-hardware-design-guidelines-dual-role-port-applications?source=search&cat=technical_documents)
3. EZ-PD™ CCG3 USB Type-C Port Controller Datasheet
(http://www.cypress.com/documentation/datasheets/ez-pd-ccg3-datasheet-usb-type-c-controller-power-delivery)
4. AN94150-Designing a SuperSpeed Hub Using HX3 with Optimized BOM (http://www.cypress.com/documentation/application-notes/an94150-designing-superspeed-hub-using-hx3-optimized-bom?source=search&cat=technical_documents)
5. AN72332 - Guidelines on System Design Using Cypress’s USB 2.0 Hub (HX2VL)
(http://www.cypress.com/documentation/application-notes/an72332-guidelines-system-design-using-cypresss-usb-20-hub-hx2vl?source=search&cat=technical_documents)
6. EZ-PD Software Development Kit
(http://www.cypress.com/documentation/software-and-drivers/ez-pd-software-development-kit?source=search&cat=software_tools)
7. PSoC® Creator™ Integrated Design Environment (IDE)
(http://www.cypress.com/products/psoc-creator-integrated-design-environment-ide)