第四章:Type-C配置通道:VCONN、Ra/Rd电阻与线缆检测

好,咱们接着聊Type-C。上一章我们把CC引脚的基本握手逻辑讲清楚了,这一章要深入一点,聊聊VCONN、Ra/Rd电阻,还有线缆检测。说实话,这几个东西在项目里最容易出幺蛾子。我刚开始做Type-C的时候,就因为在VCONN上栽过跟头,板子打样回来死活识别不到线缆,查了两天才发现是Ra电阻选型出了问题。

4.1 VCONN:被忽略的供电引脚

VCONN,全称是VCONN电源。它给谁供电?给线缆里的芯片供电。你想想看,现在的USB-C线缆可不只是几根铜线那么简单,里面可能有eMarker芯片,甚至有些主动线缆还有ReDriver。这些芯片需要电,VCONN就是干这个的。

VCONN的电压范围是2.7V到5.5V,典型值是3.3V或5V。电流能力呢?标准规定至少能提供1W的功率,也就是在5V下至少200mA。但实际项目中,我建议你留足余量,至少做到300mA以上。为什么?因为有些线缆的eMarker启动瞬间电流会冲一下,我曾经遇到过因为VCONN限流太紧导致线缆识别不稳定的情况。

关键点:VCONN不是由DFP(下行端口)直接提供的,而是由检测到Ra电阻的那一端提供。换句话说,谁在CC引脚上检测到了Ra,谁就要负责输出VCONN。

4.2 Ra与Rd:一对好搭档

Rd电阻是下拉电阻,挂在CC引脚到GND之间,典型值是5.1kΩ。它告诉对端:我是设备(UFP)或者我是需要供电的。Ra电阻呢?它也是下拉电阻,但阻值不同,典型值是1kΩ。Ra的作用是告诉对端:这根线缆里有eMarker芯片,需要VCONN供电。

嗯,这里要注意:Ra和Rd不能同时出现。一根线缆的CC引脚上,要么是Rd,要么是Ra,要么是开路。三种状态对应三种不同的角色。

电阻类型 典型阻值 作用 谁在用
Rd 5.1kΩ 标识自己是UFP/设备 手机、外设等
Ra 1kΩ 标识线缆需要VCONN 带eMarker的线缆
开路 无穷大 未连接或DFP 主机、充电器

个人经验:Ra电阻的精度要求比较高,我一般用1%精度的电阻。曾经有个项目为了省钱用了5%的,结果批量生产时大概有2%的板子识别不到线缆,排查下来就是Ra电阻偏差太大,导致电压阈值判断出错。

4.3 线缆检测:从电阻到eMarker

线缆检测是怎么做的?说白了就是DFP通过CC引脚测量电压,然后根据电压值判断对端是什么东西。具体流程是这样的:

  1. DFP在CC引脚上输出一个电流源(典型值10μA或20μA)
  2. 测量CC引脚上的电压
  3. 根据电压值判断对端电阻
  4. 如果电压在0.2V到0.6V之间,说明对端是Rd(5.1kΩ),是普通设备
  5. 如果电压在0.0V到0.2V之间,说明对端是Ra(1kΩ),是带eMarker的线缆
  6. 如果电压接近3.3V,说明对端开路,没接东西

你想想看,这个检测过程其实挺巧妙的。只用一根引脚,一个电流源,一个ADC,就能判断出对端的类型。Type-C的物理层设计确实下了功夫。

4.4 eMarker:线缆的身份证

当DFP检测到Ra电阻后,它就知道这根线缆里有eMarker芯片。接下来要做的事:输出VCONN给eMarker供电,然后通过CC总线读取eMarker里的信息。

eMarker里存了什么?主要是线缆的能力信息:

  • 线缆支持的电流能力(3A还是5A)
  • 线缆支持的USB版本(USB 2.0、USB 3.2、USB4等)
  • 线缆的长度
  • 厂商信息

读取eMarker用的是BMC编码,通过CC引脚进行单线通信。速率不高,大概300kbps左右,但足够用了。

避坑指南:我曾经遇到过一个问题:eMarker读取超时。排查下来发现是VCONN上电时序不对。DFP必须先输出VCONN,等eMarker稳定(至少1ms),然后再发起读取。如果VCONN和读取同时进行,eMarker还没准备好,通信就会失败。

4.5 实际项目中的注意事项

讲几个我在项目中踩过的坑,希望对你有帮助:

  • Ra电阻的布局:Ra电阻要尽量靠近Type-C连接器,走线要短。因为Ra电阻的检测精度直接影响线缆识别,走线太长会引入寄生电容,导致电压检测不准。
  • VCONN的开关控制:VCONN不能一直开着,只有在检测到Ra时才打开。我习惯用一个专用的负载开关来控制VCONN,这样即使eMarker短路,也不会影响主系统。
  • CC引脚的ESD保护:CC引脚是暴露在外的,很容易受到静电冲击。一定要加ESD保护器件,而且寄生电容要小,不然会影响电压检测的精度。
  • 多路CC的处理:Type-C有CC1和CC2两个引脚,DFP需要同时检测两个引脚。实际项目中,我一般用两个ADC通道分别采样,或者用模拟开关切换。用模拟开关的话要注意切换速度,不能太慢,否则会错过连接事件。

总结一下:VCONN、Ra/Rd电阻和线缆检测,这三个东西是Type-C配置通道的核心。VCONN负责供电,Ra/Rd负责标识身份,线缆检测负责识别能力。三者配合,才能让Type-C实现正反插、角色识别、功率协商这些高级功能。

嗯,这一章的内容就到这里。下一章我们会聊到PD协议的基础——Source和Sink的功率协商,那才是真正有意思的部分。到时候我会分享一个我在PD协商中遇到的死锁问题,保证让你印象深刻。