USB2.0采用一组差分信号D+和D-半双工的进行通信,最高可以支持480Mbps的通信速率,USB线缆最长5m。
USB3.0则把USB通信速率的限制从480Mbps提高到了5Gbps,但是之前几代所沿用的USB接口无力支持这个速率的提升,因此在USB3.0的接口设计上,实际上是在之前D+和D-的基础上额外增加了两对高速的差分线,这样在与USB2.0及其以下设备进行通信的使用使用D+和D-,与USB3.0设备通信的时候,使用新增加的这两对差分数据线,从而实现了对USB2.0和USB3.0设备的兼容。但USB线缆最长则降到了3m。
从USB3.1规范开始,导入了新的TypeC接口,在通信速度最高提升到10Gbps的同时,提供了更轻更小的接口、正反插能力、Alternate Mode及PD快充协议等新特性。当然,USB线缆的最大长度在USB3.1规范中进一步降到了2m。
USB-C接口总共有24个pin,可支持正反插。

USB-C接口插座端的Pin脚布局

USB-C接口插头端的Pin脚布局。
D+/D-: A6,A7,B6,B7
GND:A1,B1,A12,B12
VBUS:A4,A9,B4,B9
RX:A10,A11,B10,B11
TX:A2,A3,B2,B3
CC/VCONN:A5,B5
SBU:A8,B8
CC表示Channel Configuration的意思。CC引脚具有多项功能:插拔检测,正反插方向检测,source端的电流支持能力播报,在PD快充(Power Delivery)和alternate mode中也会用到。

在USB Device端尚未插入的情况下,USB Host的CC引脚处于上拉断路的状态。当USB Device插入的时候,Host端和Device端的CC引脚形成回路,导致CC端的引脚电平发生一个下跳沿。Host端就是通过检测CC引脚的下跳边沿来触发插入事件,上跳边沿来触发拔出事件。

USB Host端通过CC1还是CC2上发生的上下边沿电平跳变来判断是正向还是反向的插拔事件。

Device端Rd的电阻阻值固定为5.1Kohm,Host端通过Rp电阻阻值的不同,在CC引脚上的产生不同的电压,Device端通过了解CC引脚的电压能够得知最大可以从Source拉多大的电流(1.5A或者3A)。

如上所述,普通的USB TypeC设备端,CC引脚的Rd的电阻阻值固定为5.1Kohm,除了这个5.1K阻值以外,还有一种Ra=800-1200ohm的阻值用于对TypeC device端所连接的设备类型进行标记和识别。
以下是从Host端的视角根据CC引脚所连接电阻阻值的不同,来区分其设备类型:

TypeC接口的快充PD(Power Delivery)协议也是利用Type-C接口的CC(Configuration channel)引脚作为数据传输通道来协商快充充电的电压、电流和功率的传输方向。在这个协商通信的过程中,PD充电器和device端以及线材(内置emarker芯片)通过特定的数据包在CC pin上交换一些数据信息,充电器可以通过这些交互信息了解到线材以及device端的充电承受能力,从而选择合适的充电电压和电流。
TypeC的Alternate Mode是一种可选特性,硬件厂商可以利用TypeC接口及其线缆传输其他类型的数据通信协议,这种模式一般用于连接显示器,例如使用TypeC传输HDMI或者DisplayPort类型的显示数据。
最新的TypeC协议中,Alternate Mode可以支持以下五种协议:
这些Alternate Mode在TypeC两端的使用,与Power Delivery快充一样,也是通过CC引脚和PD协议进行协商的,一般是在PD快充协议沟通完成后由USB Host发起在设备两端进行Alternate Mode的协商。
SBU是SideBand Use的简写。TypeC中有两个SBU引脚,SBU1和SBU2。SBU1和SBU2引脚在各种不同的应用场景下有不同的作用,主要是在TypeC的Alternate Mode和Audio Accessory Mode中使用。例如在Alternate Mode的DisplayPort模式下,SBU1和SBU2引脚用于传输AUX+和AUX-信号,在音频外设模式下,SBU1和SBU2分别用于作为音频MIC的输入和模拟地信号使用。

