本文主要介绍Type C接口的通道配置哦功能,包括插拔检测、插入方向检测、电源管理等。
USB Type-C包含一个通道配置功能;这个功能能够在DFP与UFP之间建立一个USB链路。在传统USB端口定义中,一个DFP端口可被视为一个主机,而UFP可被认为是一个设备。CC功能用于确定以下内容:
探测连接,区分正反面(插头方向),区分DFP和UFP;
配置Vbus,有USB Type-C和USB PD两种模式;
配置Vconn,当线缆里有芯片的时候,一个CC传输信号,一个CC变成供电Vconn;
配置其他模式,如DisplayPort等。
即使一个插座有2个CC引脚,CC1和CC2,一条电缆内也只连接了单条CC电线。含有芯片的线缆也不是两根CC线,而是一根CC,一根Vconn,通过插座的CC引脚(CC1或CC2)来施加VCONN,在插头近端Vconn用来给线缆里的芯片供电(3.3V或5V),这时CC端就没有下拉电阻Rd=5.1K,而是下拉电阻Ra=800~1200Ω。
1、设备插拔检测
在DFP的CC pin有上拉电阻Rp,在UFP有下拉电阻Rd。未连接时,DFP的VBUS是无输出的。连接后,CC pin相连,DFP的CC pin会检测到UFP的下拉电阻Rd,说明连接上了,DFP就打开Vbus电源开关,输出电源给UFP。
2、插入方向检测
虽然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 pin(CC1,CC2)检测到下拉电阻就确定接口插入的方向,顺便切换RX/TX。
从DFP的角度来看,当CC1接到下拉就是正插,如果是CC2接到下拉就是反插。
3、建立DFP-to-UFP和VBUS管理与检测
USB Type-C还定义了一个DRP;在稳定的连接状态建立之前,它交替地将自己识别为DFP或UFP。如果一个DRP与DFP或UFP配对使用,它分别作为DFP或UFP运行。如果将2个DRP配对使用,结果是随机的,但会受到2个可选功能的影响:Try.SRC和Try.SNK。如果另外一端没有偏好的话,具有Try.SRC的DRP更有可能变成一个DFP(源),而一个具有Try.SNK的DRP成为UFP(灌)的可能性更大。这些特性对于在系统中实现一个有序的供电方/耗电方关系很重要。例如,笔记本电脑应该为手机供电——即使它们二者都具有DRP功能。
DRP在待机模式下每50ms在DFP和UFP间切换一次。当切换至DFP时,CC管脚上必须有一个上拉至VBUS的电阻Rp或者输出一个电流源,当切换至UFP时,CC管脚上必须有一个下拉至GND的电阻Rd。
当DFP检测到UFP插入之后才可以输出VBUS,当UFP拔出以后必须关闭VBUS。
4、USB PD
USB PD看似只是电源传输与管理的协议,实际上它可改变端口角色,可与有源电缆通讯,允许DFP成为受电设备等诸多高级功能。
USB Type-C中新增了电流检测与使用功能,新增三种电流模式:默认的USB电源模式(500mA/900mA),1.5A,3.0A。
三种电流模式由CC管脚来传输和检测,对于需要广播电流输出能力的DFP而言,需要通过不同值的CC上拉电阻Rp来实现;对于UFP而言,由于Rp的值不一样,检测到的CC管脚上的电压值就不一样,从而可以获取DFP的电流输出能力,然后控制DFP端执行哪种供电模式。
5、其他外设的检测和配置
当CC pin两个都接了下拉电阻<=Ra,DFP进入音频配件模式,左右声道,MIC都有。
USB PD是在CC pin上传输,PD有个VDM (Vendor defined message)功能,定义了装置端ID,读到支持DP或PCIe的装置,DFP就进入替代(alternate)模式。
如果DFP认到device为DP,便切换MUX/Configuration Switch,让Type-C USB3.1信号引脚改为传输DP信号。AUX辅助由Type-C的SBU1,SBU2来传。HPD是检测脚,和CC差不多,所以共用。
而DP有lane0-3四组差分信号,Type-C有RX/TX1-2也是四组差分信号,所以完全替代没问题。而且在DP协议里的替代模式,可以USB信号和DP信号同时传输,RX/TX1传输USB数据,RX/TX2替换为lane0,1两组数据传输,此时可支持到4k。
如果DFP认到device为PCIe,便切换MUX/Configuration Switch,让Type-C USB3.1信号引脚改为传输PCIe信号。同样的,PCIe使用RX/TX2和SBU1/SUB2来传输数据,RX/TX1传输USB数据。