Type-C协议(CC检测原理)-CC1和CC2接电阻-数字和模拟耳机兼容
1 简介
USB Type-C其实是USB的一种接口形态,USB的接口形态可以分为USB Type-A、USB Type-B、USB Type-C,USB Type-A和USB Type-B还有两种不同规格的接口形态,分别是USB Mini-A(B)和USB Micro-A(B)。
USB各型号接口图解越来越多的手机开始采用Type-C作为充电和通信端口,Type-C连接器实物和PIN定义如下图:
Type-C连接器实物和PINType-C 全称是USB Type-C 接口,是一种全新的 USB 接口形式。USB Type-C接口宽度8.3毫米,厚度2.5毫米,而Micro USB接口宽度7.4毫米,厚度2.35毫米,Type-C比Micro USB接口大稍许,比传统USB纤薄小巧。两者大小对比如下图所示。
USB Type-C与传统USB插头对比区分插头公母的方法有:观察外观形状、检查极性、根据大小和形状区分。以下是详细介绍:
观察外观形状。一般来说,插头的一面是公头,另一面是母头,公头的头部通常带有尖端,而母头的头部则通常带有圆孔。Type-C插头和插座的管脚线序
检查极性。部分插头会在其上标记“J”(公头)和“K”(母头),另外,公头的接触片通常位于内部,而母头的接触片则位于外部。
根据大小和形状区分。通常情况下,母头的尺寸比公头大,公头比母头小,因此,可以通过大小和形状来区分公母。
Type-C连接器中有两个管脚CC1和CC2,他们用于识别连接器的插入方向,以及不同的插入设备。本文介绍CC的基本识别原理。
Type-C插头和插座的管脚线序 Type-C管脚类型归类DFP、UFP和DRP概念
DFP——Downstream Facing Port,也就是Host
UFP——Upstream Facing Port,也就是Device
DRP——Dual Role port,既可以做DFP,也可以做UFP。
在建立连接之前,DRP的角色在DFP和UPF之间切换。如果两个DRP连接,最先随机到那种角色后开始建立连接,之后可以通过USB协议协商进行动态切换。
2 为什需要CC检测
虽然USB Type-C插座和插头的两排管脚对称,USB数据信号都有两组重复的通道,但主控芯片通常只有一组TX/RX和D+/-通道(某些芯片有两组TX/RX和D+/-通道)。
由于USB2.0的数据率最高只有480Mbps, 可以不考虑信号走线的阻抗连续性,USB2.0的D+/-信号可以不被MUX控制而直接从主控芯片走线,然后一分二连接至USB Type-C插座的两组D+/-管脚上。
但USB3.0或者USB3.1的数据率高达5Gbps或者10Gbps,如果信号线还是被简单地一分二的话,不连续的信号线阻抗将严重破坏数据传输质量,因此必须由MUX切换来保证信号路径阻抗的一致性,以确保信号传输质量。
下图中右侧所示的MUX从TX1/RX1和TX2/RX2中选择一路连接至主控芯片,而这个MUX就必须被CC管脚控制。
在USB2.0应用中,无需考虑CC方向检测问题,但USB3.0或者USB3.1应用中,必须考虑CC方向检测问题。
注意UFP,比如U盘,移动硬盘内部不需要CC逻辑检测,因为它是上行,只有一对USB2.0或USB3.0信号,如下图
3 CC检测原理
CC信号有两根线,CC1和CC2,大部分USB线(不带芯片的线缆)里面只有一根CC线,DFP可根据两根CC线上的电压,判断是否已经插入设备。通过判断哪根CC线上有下拉电阻来判断方向,下图的说明已经非常清晰。
如果CC1引脚检测到有效的Rp/Rd连接(对应的电压),则认为电缆连接未翻转。
如果CC2引脚检测到有效的Rp/Rd连接(对应的电压),则认为电缆连接已翻转。
“有效的Rp/Rd连接”指在CC上形成了有效的电压。
从DFP的角度看,下表列出了所有可能的连接状态,
以上只是介绍了CC检测中判断是否翻转的原理,两个CC信号还有向UPF通告DFP提供电流能力的功能等,见下文。
3.1 DFP的上拉电阻Rp
DFP的CC1和CC2信号上都必须有上拉电阻Rp,上拉到5V或3.3V。或者CC1和CC2都用电流源上拉。最终的目的是在插入后,能检测到CC1或CC2上的电压,进而判断是否翻转以及DFP的电流能力。如下是所有可能的配置。可以选择右边三列中的任何一列作为上拉方式,比如Fairchild的FUSB300就是用330uA上拉,TI的TUSB320LAI用的是80uA的上拉,不同的上拉方式在CC引脚上形成的电压不同,不同的电压对应不同的电流能力。
3.2 UPF的Rd
UFP的CC1和CC2管脚都要有一个下拉电阻Rd到GND(或者使用电压钳位)。Rd的处理方式如下表。
注意,最后一列的电流源连接至的电压,是指3.1节中表格的最后一列电流源的上拉电压。
结合这个表格,和3.1节的表格,我们把每种可能的上下拉范围都计算出了最终形成的电压范围,如下表。
CC检测芯片会检测这个电压,通过判断电压范围来决定下一步操作。下表是CC管脚上不同的电压对应的DFP能提供的电流能力。第二列列出的每一种电压范围,都分别覆盖了上表计算出的电压。Rp/Ra的计算是同理的。
3.3 数据线上的Ra
带电子标签的线缆,其中一个CC管脚被更名为VCONN,用于给电子标签芯片供电。这个VCONN管脚与GND之间需要一个Ra电阻,这个电阻值范围是800Ω~1.2KΩ。
3.4 VCONN电源
VCONN的允许范围是4.75V~5.5V,要求供电能力是1W。默认情况下DFP提供这个电源。如果两个DRP连接,则双方可以通过USB PD协议协商来交换VCONN供电方。
支持PD的USB3.0接口均需支持VCONN,可以通过下面两种方式之一提供VCONN电源。
如果其中一个CC引脚上检测到有效的Rp/Rd连接,则VCONN电源可以接到另一个对应的CC引脚。
如果其中一个CC引脚上检测到有效的Rp/Rd连接,先检查另一个CC引脚是否也有Rp/Ra连接,然后再提供VCONN。
先检测是否有Ra存在,如果有说明需要Vconn供电,此时再提供Vconn。检测过程不需要Vconn存在。
注意,每一个CC引脚内部都有一个开关,轮训CC和VCONN功能,下图是一个典型的连接方式:
4 手机都是DRP
现实中,我们的手机都是DRP,既能做DFP,又能做UFP,那么是如何切换呢?
DRP在待机模式下每50ms在DFP和UFP间切换一次。当切换至DFP时,CC管脚上必须有一个上拉至VBUS的电阻Rp或者输出一个电流源,当切换至UFP时,CC管脚上必须有一个下拉至GND的电阻Rd。此切换动作必须由CC Logic芯片来完成。当DFP检测到UFP插入之后才可以输出VBUS,当UFP拔出以后必须关闭VBUS。此动作必须由CC Logic芯片来完成。下面是一个CC逻辑芯片框图,CC上有一个开关,在不断切换功能。
5 USB Power Delivery 2.0
这个是由USB-IF制定的单线协议,在CC线上传输,用于协商供电角色,电压,最大供电能力,数据角色,备用模式等,端口与供电电缆之间的通信业通过PD协议进行。协议不做展开,详见USB-IF官网。下面是协议的几个特点:
1.所有通信均通过CC线。
2.DFP是总线主设备,用于发起所有通信。
3.所有消息均采用32bit 4b/5b编码的双向标记编码(Bi-phase Mark Coded,BMC)
4.波特率300K
5.CRC32错误检验+消息重试
6 Type-C线缆规范
线缆至少支持10000次拔插。
不规定信号线规,但是必须保证USB2.0和USB3.0的信号完整性
CC和SUB1/SUB2线上的阻抗不大于50Ω
GND返回路径上的最大IR压降为250mV
Vbus上的最大IR压降为500mV
USB Type-C规范中并未明确规定线缆长度,但是电器要求产生了一些物理限制。USB3.1 Type-C转Type-C电缆组件在5GHz下的插入损耗指定为为-6dB,从而将电缆长度有效限制为1米。USB3.0 Type-C转Type-C电缆组件在5GHz下的插入损耗指定为为-7dB,从而将电缆长度有效限制为2米。
7 带电子标签的Type-C数据线
如果Type-C数据线上带了芯片(我们称之为电子标签),这个芯片可以通过USB供电规范2.0 BMC协议与USB端口通信。电子标签电缆可用VCONN供电,也可以直接由Vbus供电,最高可消耗70mW的功率。如下类型的电缆必须要电子标签:
兼容USB3.1的USB Type-C电缆
100W供电电缆。能够实现60W以上功率承载能力的任何电缆都必须有电子标签,并且能够与DFP端口通信。
带电子标签的电缆如果插入不支持USB供电规范2.0的插座中,其行为与标准的无源电缆完全相同。
8 音频配件模式
8.1 数字耳机
Type-C接口的数字耳机是一个UFP(Device),手机是DFP。耳机的CC1和CC2引脚上必须有Rd,实际上,乐视数字耳机的CC管脚上有一颗5.1K电阻。
8.2 模拟耳机
模拟耳机与Type-C接口的转接线
协议要求模拟耳机转接线上把两个CC引脚直接接到GND(必须小于Ra)。
USB Type-C数据线除了充电传输数据,还可以传输音视频等,很多安卓手机不但用Type-C接口替代了传统的Micro USB而且还取消了3.5mm耳机插孔。对于这样的手机要使用耳机只能用Type-C转3.5mm耳机转换线,经过研究Type-C接口定义和相关资料,发现Type-C输出音频和接收话筒信号对应的针脚,如下图所示。6、7、8针脚对应右声道、左声道、话筒麦克风,1脚对应耳机的GND。
Type-C输出音频和接收话筒信号对应的针脚手机上用的耳机都是三节四段式,有四根电缆,分别是GND(地)、Mic(话筒麦克风)、L(耳机左声道)、R(耳机右声道)。用万用表测量多种耳机,大部分是第一种接法,只有诺基亚是第二种接法。如下图所示。注意下图与上图中Type-C各针脚对应关系。
三节四段式耳机插头的管脚图这样搞清楚了,Type-C各针脚与耳机话筒、耳机左右声道对应关系,就可以动手做一条USB Type-C转3.5mm耳机转接线。体验DIY的乐趣,享受成功的喜悦。注意手机随机的Type-C数据线基本都是缩水的部分针脚缺失,改造之前看一下需要的针脚是否完整。另外USB Type-C插头的针脚较多,非常密集手工焊接存在一定难度,请量力而行。
8.3 兼容数字耳机和模拟耳机
这一类的机型包括小米note3,华为p20pro,坚果锤子等(数字耳机就是一个usb从设备)。
电路板设计有一个耳机自动切换ic,当模拟耳机插入时,模拟耳机的左右声道接在usb+、usb-,因此需要切换开光,如DIO3202A,vbus电平为高,芯片切换到usb通路,vbus电平为低,切换到耳机通路,当数字耳机插入时,type-c逻辑芯片检测到从设备,cpu上的usb切换到主模式,并提供5v(vbus)给从设备供电,完成相应的数字信号传输。
兼容模拟耳机的原理,typec逻辑芯片会识别成不同的设备(数字耳机,usb设备 模拟耳机 音频配件)(也可以使用mic来识别耳机的插拔 原理: 模拟耳机接入耳机后由于vbus没电,耳机逻辑ic选择耳机通道,耳机mic检测脚初始化为高,当模拟耳机插入后,mic相当于一个1k的电阻,由于分压,mic脚的电压会拉低,mic_det脚所在的pmic上的内部电压比较器检测到了电平变化进一步触发了耳机mic的中断,进一步判断耳机的类型,从而识别达到耳机)。
9 电路图
因为TypeC接口有6P、16P、24P等各种,其中6P只能供电,16P除了供电还有USB2.0的D+和D-引脚,24P包含了全功能USB3.0各个引脚。电路图如下:
6P引脚 16P 引脚 24P 引脚9.1 TypeC-6P
一般单片机可用下面这种电路。
如果想精简电阻,也可以这样:
CC1与CC2短路(不建议)当供电端不带USB控制芯片时,CC1和CC2可共用一个下拉电阻,此时供电端CC2连接是断开的。但是当使用带Emark的USB控制芯片时,就不行了,此时单片机会被当做模拟音频设备(耳机)而被拒绝供电。
参考:
CC1和CC2共用一个下拉电阻的问题
经过实际测试发现,树莓派4上面的这个USB-C接口,其CC1和CC2是连接在一起的,并共用了一颗5.1k的电阻下拉到地。这个设计看似非常巧妙,USB-C接口的控制做到了极致简单,只需要一颗5.1k下拉电阻。当外接的USB-C Cable是不带Emark芯片的情况下,确实可以正常工作。因为这类USB-C Cable的CC2是悬空的,只有CC1有连接到对端,所以,这种Cable跟RaspBerry 4B的USB-C接口母座一连起来,就非常好的符合了Sink端的设计规范,即CC1上,有一个5.1k的电阻下拉到地。
图2 树莓派4B在使用不带Emark 芯片的连接线时的连接情况但是,USB TYPE-C规范里面,还规定了一种带Emark 芯片的Cable,这种Cable的CC2上,有一个1K的下拉电阻,用来告知DFP端的CC识别芯片,需要往CC2上提供VCONN Source。一旦跟这样的Cable连接起来,RaspBerry 4 Pi model B就会出现严重问题。因为CC1和CC2连接起来后,会跟Cable上的1K到地电阻并联,形成一个比1k电阻还小的阻抗,从而满足了USB-C规范中Audio Adapter Accessory Mode的连接规范,被电源端误认为是一个模拟耳机设备,从而拒绝供电。
图3 树莓派4B在使用带Emark 芯片的连接线时的连接情况通过上图我们可以看到,Emark 连接线上的1k电阻会导致,CC1建立失败,1k电阻和5.1k电阻的并联,会导致RaspBerry 4B被认为是一个Audio Adapter Accessory Mode。解决这个问题的方法也很简单,只需要在CC1和CC2上各接一个5.1K电阻到地,互相独立就行了。这一点可以搜索一下笔者在2015年的原创文章《你真的需要TYPE-C芯片吗》。这篇文章为大家提供了判断系统是否需要使用USB-C 控制芯片的三个原则和两个实现方法。
RaspBerry 4B在USB-C接口上的设计,其实属于入门级设计,因为这个接口仅仅用来进行5V供电和一个USB2.0 通信而已,并无复杂的音视频及USB3.0功能。在实际的嵌入式开发中,一个USB-C接口的功能,可能远不止于此。下面我们就大功率供电供电、高速信号传输、双C口DRP控制三点进行阐述。
9.2 TypeC-16P
一般单片机可用下面这种电路:
同理,也可以将CC1和CC2共用一个5.1K的下拉电阻。
9.3 TypeC-24P
用24PIN的TypeC时,一般是需要用到USB3.0协议,则TypeC接口中的A2、A3、A10、A11、B2、B3、B10、B11接到相应芯片的USB3.0接口上,将CC1和CC2按相应角色进行上拉下拉或者接到芯片上即可。
————————————————
参考出处
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:Type-C接口简单介绍-面向单片机应用_type-c接口图片-CSDN博客
版权声明:本文为CSDN博主「AirCity123」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。