为什么叫type-C:type-C接口之所以叫type-c,是因为它的形式不同于type-A和type-B,下图分别展示type-A,type-B,type-C的形式;
不同类型的形式。其中第一行和第二行中间的形式都是type-B型;
 
DFP(Downstream Facing Port): 下行 端口,可以理解为Host,DFP提供VBUS,也可以提供数据。典型的DFP设备是 电源适配器,因为它永远都只是提供电源。
 
UFP(Upstream Facing Port): 上行端口,可以理解为Device,UFP从VBUS中取电,并可提供数据。典型设备是U盘,移动硬盘,因为它们永远都是被读取数据和从VBUS取电,当然不排除未来可能出现可以作为主机的U盘。
 
DRP(Dual Role Port): 双角色端口,DRP既可以做DFP(Host),也可以做UFP(Device),也可以在DFP与UFP间动态切换。典型的DRP设备是电脑(电脑可以作为USB的主机,也可以作为被 充电的设备(苹果新推出的MAC Book Air)),具OTG功能的手机(手机可以作为被充电和被读数据的设备,也可以作为主机为其他设备提供电源或者读取U盘数据),移动电源(放电和充电可通过一个USB Type-C,即此口可以放电也可以充电)。DRP可以做DFP也可以做UFP。当DPR接到UFP,DRP转化为DFP。当DRP接到DFP,DRP转化为UFP。两个DRP接在一起,这时就是任意一方为DFP,另一方为UFP。
 
CC(Configuration Channel):配置通道,这是USB Type-C里新增的关键通道,它的作用有检测USB连接,检测正反插,USB设备间数据与VBUS的连接建立与管理等。
 
USB PD(USB Power Delivery): PD是一种通信协议,它是一种新的电源和通讯连接方式,它允许USB设备间传输最高至100W(20V/5A)的功率,同时它可以改变端口的属性,也可以使端口在DFP与UFP之间切换,它还可以与电缆通信,获取电缆的属性。
 
Electronically Marked Cable:  封装有E-Marker芯片的USB Type-C有源电缆,DFP和UFP利用PD协议可以读取该电缆的属性:电源传输能力,数据传输能力,ID等信息。所有全功能的Type-C电缆都应该封装有E-Marker,但USB2.0 Type-C电缆可以不封装E-Marker。
 
    USB Type-C设备DFP-to-UFP配置流程与VBUS管理有如下主要流程:
 
设备连接与分开检测:DFP需要检测到CC管脚上有某个电压时,判断UFP设备已插入或拔出,来提供和管理VBUS。当没有UFP设备插入时,必须关闭VBUS。因此所有的DFP设备需要CC逻辑检测与控制芯片。
 
插入方向检测:如图1,虽然USB Type-C插座和插头的两排管脚上下对称,USB数据信号都有两组重复的通道,但 主控芯片通常只有一组TX/RX和D+/-通道。由于USB2.0的数据率最高只有480Mbps, 可以不考虑信号走线的 阻抗连续性而得到较好地数据传输质量,因此USB2.0的D+/-信号可以不被MUX控制而直接从主控芯片一分二连接至USB Type-C插座的两组D+/-管脚上。但USB3.0或者USB 3.1的数据率高达5Gbps或者10Gbps,如果信号线还是被简单地一分二的话,不连续的信号线阻抗将严重破坏数据传输质量,因此必须由MUX切换来保证信号路径阻抗的一致性,以确保信号传输质量。下图中右侧所示的MUX从TX1/RX1和TX2/RX2中选择一路连接至主控芯片,而这个MUX就必须被CC Logic控制。
方向检测的逻辑:在DFP的CC pin有上拉电阻Rp,在UFP有下拉电阻Rd。未连接时,DFP的VBUS是无输出的。连接后,CC pin相连,DFP的CC pin会检测到UFP的下拉电阻Rd,说明连接上了,DFP就打开Vbus电源开关,输出电源给UFP。而哪个CC pin(CC1,CC2)检测到下拉电阻就确定接口插入的方向,顺便切换RX/TX。
因此,在USB2.0应用中,无需考虑方向检测问题,但USB3.0或者USB3.1应用中,必须考虑方向检测问题。
 
图1

图2

 

 
建立DFP-to-UFP和VBUS管理与检测
 
    DRP在待机模式下每50ms在DFP和UFP间切换一次。当切换至DFP时,CC管脚上必须有一个上拉至VBUS的电阻Rp或者输出一个 电流源,当切换至UFP时,CC管脚上必须有一个下拉至GND的电阻Rd。此切换动作必须由CC Logic芯片来完成。
当DFP检测到UFP插入之后才可以输出VBUS,当UFP拔出以后必须关闭VBUS。此动作必须由CC Logic芯片来完成。
 
USB Type-C VBUS电流检测与使用
 
    USB Type-C中新增了电流检测与使用功能,新增三种电流模式:默认的USB 电源模式(500mA/900mA),1.5A,3.0A。三种电流模式由CC管脚来传输和检测,对于需要广播电流输出能力的DFP而言,需要通过不同值的CC 上拉电阻Rp来实现;对于UFP而言,需要检测CC管脚上的电压值来获取对方DFP的电流输出能力。
 
USB PD通信
 
    USB PD看似只是电源传输与管理的协议,实际上它可改变端口角色,可与有源电缆通讯,允许DFP成为受电设备等诸多高级功能,因此支持PD的设备必须采用CC Logic芯片。
 
发现与配置扩展其他外设(Audio,Debug)
 
    USB Type-C支持语音附件以及Debug模式,USB Type-C接口的耳机如果只作为UFP且因为其 功耗较小而无需检测DFP的供电能力时,无需CC Logic芯片。
 
    综上,所有的DFP(如电源适配器),所有的DRP(如电脑,手机,平板,移动电源), 所有需要检测DFP电流输出能力的UFP,所有支持PD的设备,都需要CC逻辑检测与端口控制芯片。换句话说,只有因为功耗较低而不需要检测电流能力的UFP(U盘,耳机,鼠标等)才不需要CC逻辑检测端口控制芯片。

可以看到,CC1和CC2是两个关键引脚,作用很多:

• 探测连接,区分正反面,区分DFP和UFP,也就是主从
• 配置Vbus,有USB Type-C和USB Power Delivery两种模式
• 配置Vconn,当线缆里有芯片的时候,一个cc传输信号,一个cc变成供电Vconn
• 配置其他模式,如接音频配件时,dp,pcie时

工作模式
dfp to ufp

jfp to dfp

drp to drp

 

上图DFP (Downstream Facing Port)也就是主,UFP (Upstream Facing Port)为从。除了DFP、UFP,还有个DRP (Dual Role port),DRP可以做DFP也可以做UFP。当DPR接到UFP,DRP转化为DFP。当DRP接到DFP,DRP转化为UFP。两个DRP接在一起,这时就是任意一方为DFP,另一方为UFP。

在DFP的CC pin有上拉电阻Rp,在UFP有下拉电阻Rd。未连接时,DFP的VBUS是无输出的。连接后,CC pin相连,DFP的CC pin会检测到UFP的下拉电阻Rd,说明连接上了,DFP就打开Vbus电源开关,输出电源给UFP。而哪个CC pin(CC1,CC2)检测到下拉电阻就确定接口插入的方向,顺便切换RX/TX。

电阻Rd=5.1k,电阻Rp为不确定的值,根据前面的图看到USB Type-C有几种供电模式,靠什么来甄别?就靠Rp的值,Rp的值不一样,CC pin检测到的电压就不一样,然后来控制DFP端执行哪种供电模式。

需要注意的是,上图里画了两个CC,实际上在不含芯片的线缆里只有一根cc线。

含芯片的线缆也不是两根cc线,而是一根cc,一根Vconn,用来给线缆里的芯片供电(3.3V或5V),这时就cc端没有下拉电阻Rd,而是下拉电阻Ra,800-1200欧。

当CC pin两个都接了下拉电阻<=Ra,DFP进入音频配件模式,左右声道,mic都俱全,如上图。