人生苦短,我用Type C。

USB Type-C是在2013年底公布,2014年开始有量产产品推出,经过多年的发展,如今已经成为了主流的USB接口。

其双向正反插与较小的8.3×2.5mm接口,大电流高速度的特点。现在许多设备都在使用。

USB TYPE-C 24Pin 母头定义

TYPE-C母头

USB TYPE-C 24Pin 公头定义

TYPE-C公头

当然,如果设备只需要充电或者只采用USB2.0传输速率,也有多种接口可选。目前可以买到的Type C其区别如下:

名称2Pin6Pin8Pin10Pin12Pin14Pin16Pin24Pin
GND
VBUS
TX1+       
TX1-       
CC1 
D1+   
D1-   
SBU1   
RX2-       
RX2+       
TX2+       
TX2-       
CC2  
D2+  
D2-  
SBU2    
RX1-       
RX1+       
USB仅供电仅CC供电单面USB2.0USB2.0USB2.0USB2.0USB2.0USB 4

Type C CC:配置通道

Type C 这么好,画了板子新鲜出炉,发现USB A 转 C的线正常工作,USB C 转 C的线完全不工作。这是CC配置的问题。Type C 接口可以看到有一堆比较奇怪的引脚,其中CC的意思是 Configuration Channel 配置通道。其主要作用为传输PD数据,判断UFP设备类型。

为了供电

总所周知,USB是主从模式,有一个主机就有一个从机。例如电脑是主机,U盘是从机。我们定义下行端口(Downstream Facing Port,DFP)为DFP端,为从机供电;上行端口(Upstream Facing Port,UFP)为UFP端。在DFP的CC Pin会有上拉电阻Rp,在UFP有下拉电阻Rd。在DFP与UFP未连接之前,DFP的VBUS是没有输出的。当DFP与UFP连接后,CC Pin相接,DFP的CC Pin侦测到UFP的下拉电阻 Rd,表示接到UFP,DFP便打开VBUS的FET开关,输出VBUS电源给UFP。

20210512152120246798

那为什么需要两根CC线而不是一根,主要是因为Type C支持正反插,不会自动翻转线序,CC1用来检测正插,CC2用来检测反插。

还能配置设备类型

由于CC有两根,而且CC可以设置为不同的电平,所以CC也被用作识别UFP设备的功能。如下表。

CC1CC2状态
开路开路未连接设备
下拉开路连接设备,进行供电
开路下拉连接设备,进行供电
开路上拉只充电,不访问UFP数据
上拉开路只充电,不访问UFP数据
上拉下拉充电,并访问UFP数据
下拉上拉充电,并访问UFP数据
下拉下拉测试模式(DAM)
上拉上拉音频设备连接

还有检测正反插

由于Type C是支持正反插,CC Pin被用来侦测正反插,从DFP的角度来看,当CC1接到下拉电阻就是正插,如果是CC2接到下拉电阻就是反插。在侦测完正反插后,就会输出相对应的USB信号,例如CC1对应的是TX1与RX1。下图的右边整合了MUX,由于USB 3.1的传输速率高达10 Gbps,为了避免PCB的走线出现分支,所以正反插进来的信号会由MUX来切换,正插时,切换到RX1&TX1,反插时,切换到RX2&TX2。

20210512152325326856

OTG去哪里了?

USB 2.0 On-The-Go(OTG)主要应用在可携式装置,例如手机或平板上,可做为USBDFP或USB周边装置使用。所有USB 2.0 OTG产品都必须使用Micro-A/B插座,不能使用Type C插座。Micro-A/B插座提供了一个OTG专用的引脚:ID脚,用于分辨OTG设备模式。

那我们先来说说USB 2.0 OTG,如果ID脚位接地,OTG产品可做为USBDFP使用,并为所连接的USB周边设备提供电力。反之,OTG装置则将做为USB周边设备使用。表显示插座与插头的脚位输出。插头的ID脚位有接地或未连接两种模式,以供选择DFP或周边设备功能。

但是在USB Type C插座中,明显消失的是之前Type-A和Type-B接头的ID引脚。在Type-C中,使用CC引脚这种不同的处理方式来决定设备是作为DFP,还是作为外设。CC引脚所执行的功能与ID引脚之前执行的功能一样;这就是USB Type C的DRP(Dual Role Port)。

DRP使USB可以做为DFP也可以做为UFP,可以供电,也可以受电。当DPR接到UFP装置,DRP会转换为DFP模式。当DRP接到DFP装置,DRP会转换为UFP模式。当两个DRP装置接在一起,两个装置会随机握手,一方为DFP,一方为UFP。这时候就需要软件定义或者专用芯片进行通讯协商了。

精准供电

USB IF 定义了一个表格,描述了不同接口的供电能力,如下表。

模式最大电压最大电流备注
USB 2.05V500ma 
USB 3.15V900ma 
USB BC 1.25V1.5A老款手机充电用
USB Type C @ 1.5A5V1.5A 
USB Type C @ 3A5V3A 
USB PD48V5A需要芯片握手

其中USB 2.0,USB3.1,USB BC1.2是先前USB协会定义的标准,可以跟Type C兼容。USB Type C 1.5A与3A是Type C专用的,需要有CC Pin来做侦测。USB PD的功能还需要有USB PD专用芯片来完成协议握手。而握手信号是载在两端连接的CC Pin上。

Type C如何去决定要执行那个模式呢?这也需要靠CC Pin。先前提到DFP会有上拉电阻Rp,UFP会有下拉电阻Rd,当DFP与UFP相接,CC Pin上就会有分压,Rd是固定5.1k,而Rp就会依照DFP的类别,而有不一样的阻值。有一些UFP会检测 CC Pin上的分压来知道DFP的VBUS种类。另外DFP也用不同大小的定电流源来供给CC Pin,当电流流到Rd,同样可以产生电压,让UFP知道DFP的VBUS模式

20210512152419799503

Type C 规范定义了DFP在不同模式下,在CC Pin要供多大的电流或是要用多大的上拉电阻Rp的阻值。

20210512152438504686

除了供电呢

来点PCIe

USB PD提供了的VDM(Vendor defined message)功能,可以让主机与从机认到对方的ID,而进到 Alternate mode。VDM也是透过CC Pin来传输的。下面为一个扩展坞例子,主机(System)认到扩展坞(Dock)装置,知道扩展坞有PCIe装置,于是主机利用Type C的SBU1/SBU2、Tx2/Rx2来传输PCIe信号。

20210512152544309187

插个耳机

及其先进的3.5mm插孔很少见,于是有线耳机使用Type C传输音频。只要CC1和CC2都上拉,系统就会认到这是一个耳机,然后让DP/DN输出耳机的左右声道。SBU1/SBU2用来作MIC/AGND。

20210512152602807967

CC还有很多作用,不过因为成本因素,用的芯片方案不同什么的,可能你的Type C设备并没有输出PCIe,输出音频的功能(主要是给的不够多)

绘制Type C相关电路

我只是替代USB 2.0 Micro B接口

14Pin

那很简单,无脑两个CC接一个5.1k电阻下拉就行了。SBU空着不用。

image-20220108232930232

白线画的是CC下拉电阻。

image-20220108233958514

16Pin

16Pin 也是一样的

image-20220108233113752

沉板只要这样画就可以了,白圈圈住的是CC下拉电阻

image-20220108233821630

24Pin 也是一样的(真的这么富有吗

image-20220108233356844

替代那个丑爆了的USB 3.0 Micro B

那就麻烦了,Type C需要专用芯片来支持正反插,例如这里用的VL160

image-20220108233533535

USB3.0高速布线就需要多研究研究了,这里给一个参考

image-20220108234232981