USB Type-C 是什么?关于CC正反插检测和设计
USB Type-C是一个全新的正反插USB连接器规范,能够支持USB 3.1(Gen1和Gen2)、Display Port和USB PD等一系列新标准,最高速率可达10Gbps,Type-C端口默认最高可支持5V3A,支持功率双向传输
PD是什么?
CC(Configuration Channel):
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提供的,因此电路设计上需求注意这一点