USB Type-C 是什么?
USB Type-C是一個全新的正反插USB連接器規范,能夠支持USB 3.1(Gen1和Gen2)、Display Port和USB PD等一系列新標准,最高速率可達10Gbps,Type-C端口默認最高可支持5V3A,支持功率雙向傳輸
PD是什么?
USB Power Delivery電力傳輸是 Type-C接口的特征之一,當需要 USB PD電力傳輸時,使用 Bi-phase Mark Coded( BMC)編碼協議,通過 CC管腳進行通信,簡單來說是一種快速充電標准 , 超過 3A以后都需要用 PD協議來支持,使用 USBType-C的源 (主機或下游集線器端口 )可以在 vbus上實現更高的源電流,以便能夠更快地充電需要比 USB3.2規范中指定的更多電流的移動設備或供電設備 ,所有 USB主機和集線器端口都通過 CC引腳來設置當前可用的電流水平
DFP(Downstream Facing Port):下行端口,可以理解為 Host或者是 HUB, DFP提供 VBUS、 VCONN,可以接收數據。在協議規范中 DFP特指數據的下行傳輸,籠統意義上指的是數據下行和對外提供電源的設備。典型的DFP設備是電源適配器。
UFP( UpstreamFacing Port):上行端口,可以理解為 Device, UFP從 VBUS中取電,並可提供數據。典型設備是 U盤,移動硬盤。
DRP( Dual RolePort):雙角色端口,類似於以前的 OTG, DRP既可以做 DFP(Host),也可以做 UFP(Device),也可以在 DFP與 UFP間動態切換。典型的 DRP設備是筆記本電腦。設備剛連接時作為哪一種角色,由端口的 Power Role(參考后面的介紹)決定;后續也可以通過 switch過程更改(如果支持 USB PD協議的話)。切換的過程必須由cclogic 來完成
一個比較復雜的情況,手機連接上無人機遙控器這倆都是DRP;
手機上會問你:
是要查看照片/文件(此時遙控器是(device)UFP, 手機是(host)DFP),
還是僅充電(此時遙控器是(host)DFP, 手機是(device)UFP),
或者反向充電
USB PORT的供電(或者受電)情況, USB Type-C將 port划分為 Source、 Sink.
市場上TypeC的產品種類很多,但真正全功能的很少。因為如果你把這個 Type C 所有的功能都集成進去的話,這個口的整個的成本會變得非常貴。實際上很多情況下,設備只是具備了 Type C 的某一部分功能:只有Type-C,即支持正反插,普通數據傳輸;支持Type-C,支持PD協議,可快速充電;支持Type-C,支持PD協議,支持高速信號,支持超快充電;全功能,支持Type-C,支持PD協議,支持高速信號,支持超快充電,支持HDMI、DisplayPort等其他協議。

關於USB總線:
- USB3.1 Gen1 5Gbps
- USB3.1 Gen2 10Gbps
- 所有USB傳輸都是主機發起,設備沒有主動通知host的能力;
- Host可以檢測到USB設備的插入,然后會嘗試獲取device的信息,掛載相應的驅動程序和device進行后續的通信

usb 的兩根數據線直接接到AP上,兩根CC線接到cclogic上,cclogic 通過IIC 和AP通信;
詳細的資料查看鏈接:
https://www.findic.com/doc/browser/EewBXD2DL?doc_id=79402738#locale=zh-CN
為什么type-c是中心對稱的情況下,還要cc檢測正反插?
雖然結構上,type-c的引腳是中心對稱的,但是接到soc上的USB TX/RX引腳還是只有一對,因此還是需要識別正反插的,
當然以上是針對usb 3.0的情況,usb 2.0的話,無需正反插:
1、當Type-C接口僅用作傳輸DP信號時,則可利用4對TX/RX,從而實現4Lane傳輸,這種模式稱為DPonly模式;
2、Type-C還保留了USB D+/D-,用以接USB2.0設備,同時使用USB D+/D-和上面的DPonly模式配合可實現DP+USB2.0模式;
3、正常來說USB3.0只需要使用2對TX/RX、USB2.0只需要使用一對D+/D-,所以Type-C接口中總會有一半的接口是多余的;而DP的交替模式則是將DP的差分信號加載到2對“多余”的TX/RX上面,所以也可實現USB3.0+DP的模式。雖然USB Type-C插座和插頭的兩排管腳上下對稱,USB數據信號都有兩組重復的通道,但主控芯片通常只有一組TX/RX和D+/-通道。由於USB2.0的數據率最高只有480Mbps,可以不考慮信號走線的阻抗連續性而得到較好地數據傳輸質量,因此USB2.0的D+/-信號可以不被MUX控制而直接從主控芯片一分二連接至USB Type-C插座的兩組D+/-管腳上。但USB3.0或者USB3.1的數據率高達5Gbps或者10Gbps,如果信號線還是被簡單地一分二的話,不連續的信號線阻抗將嚴重破壞數據傳輸質量,因此必須由MUX切換來保證信號路徑阻抗的一致性,以確保信號傳輸質量
cc如何檢測正反插,檢測后如何保證正反插都可以和主機正確連接?
勉強看下這個已經被盜糊了的圖,可以看到右邊cc 識別后事通過一個mux來切換的,而且顯然這個mux是外部的,不是cc提供的,因此電路設計上需求注意這一點