首页 / 资讯中心 / 文章详情

Type-C OTG协议芯片如何选型?从CC逻辑到PD协商的完整指南

Type-C OTG协议芯片如何选型?从CC逻辑到PD协商的完整指南 ★ FEATURED ARTICLE
做Type-C接口的产品这几年几乎是每周都会碰到有人问同一类问题手机想直接插U盘为什么必须用OTG线普通Type-C转USB-A的数据线插上去为什么只能充电、弹不出文件管理如果我自己设计一款支持角色切换的转接头协议芯片到底该选哪颗这篇文章不打算写教科书就用实际做硬件时踩过的坑和经验把OTG协议芯片方案这件事谈清楚。适合正在画原理图的结构工程师、做配件产品的水桶哥以及想搞明白“为什么有的OTG线能驱动移动硬盘、有的连U盘都带不动”这个问题的人。先说一句大实话并不是所有OTG产品都必须放一颗专用的OTG协议芯片。市面上大量量产OTG转接头内部只是把CC引脚用5.1k电阻拉到地再让VBUS直通照样能让手机识别U盘。之所以还要谈协议芯片选型是因为电阻方案只能在“固定一端做主机”的场景下工作一旦涉及双向角色切换、PD快充协商、过流保护、可靠枚举电阻方案就完全不够用了。这篇内容核心就是讲清楚什么时候能用电阻凑合什么时候必须上芯片以及主流芯片各自适合什么产品形态。1. 先把范围兜清楚Type-C OTG到底在解决什么问题1.1 普通USB数据线与OTG线的图形区别先回应大多数人搜索“普通USB数据线(type-c转usb-a)和otg线(type-c转usb母口)的图形区别”时的疑惑。两种线一端都是Type-C公头差别几乎全在另一端的USB-A口普通数据线另一端是USB-A公头可以插进电脑或充电器的A口母座。电脑作为主机手机作为设备。常见用途是给手机传数据、刷机、充电。OTG线另一端是USB-A母口形状像一个插座专门用来插U盘、读卡器、鼠标键盘接收器这类标准的A口设备。手机作为主机外设作为设备。图形上很好认普通线的A端是突出的公头OTG线的A端是凹进去的母座。很多产品还会在OTG线外包装上画一个“手机U盘”的示意图或者在母座旁边标注“OTG”字样。实际使用中两者的数据流向完全相反所以即使把普通Type-C转USB-A线插入OTG母座再接U盘也往往无法正常工作因为接口角色本身没有协商好。1.2 Type-C取代Micro-USB后协议层面发生了什么变化Micro-USB OTG时代角色判断极度简单设备里有一个ID引脚OTG线把ID引脚接地主控检测到低电平就知道“我该切到主机模式了”然后由设备向外提供VBUS供电。这是一条硬连线逻辑几乎不需要协议芯片参与。到了Type-C时代事情变了。Type-C接口根本没有ID引脚取而代之的是CC1和CC2两个配置通道引脚。设备之间谁当主机、谁当设备、谁提供VBUS全部靠CC引脚上的电阻状态决定。Type-C规范里定义了三种角色DFP下行端口相当于主机/供电端会在CC引脚上拉一个上拉电阻Rp并向外提供VBUS。UFP上行端口相当于设备/受电端CC引脚通过Rd电阻下拉到地表示“我做好了接收VBUS的准备”。DRP双角色端口同时具备DFP和UFP能力上电后交替切换CC引脚的上拉与下拉状态检测对端是主机还是设备再动态决定自己的角色。OTG应用恰好就是DRP的典型场景手机平时插电脑时应当是一个UFP但插U盘时又需要变成DFP并向外供出5V。如果没有协议芯片来维护这套CC状态机设备自身的固件就需要不停轮询CC电平不仅占资源而且很难兼容所有线材和配件。1.3 什么时候必须上协议芯片这也是选型前一定要想清楚的问题。我给一个比较实用的判断标准产品场景电阻方案是否可行需要协议芯片的原因固定方向的手机OTG转接头只带U盘/键鼠可行成本控制在1元以内即可量产需要双向切换一根线既能插电脑又能插U盘不可行需要DRP动态轮询CC需要PD快充协商比如充电底座、扩展坞不可行需要PD协议栈实现电压电流协商需要稳定驱动移动硬盘、高功耗外设风险很大需要控制VBUS开关和过流保护USB4、雷电、DP Alt模式等高速场景不可行需要更上层的信号协商芯片简单固定角色产品电阻方案确实便宜但兼容性和可靠性有限。凡是产品说明书上写了“支持双向OTG”“支持PD”“支持盲插切换”这类功能就应该直接跳过电阻方案老老实实选协议芯片。2. 选型之前先想清楚的五个关键问题2.1 角色切换能力DFP / UFP / DRP芯片的数据手册首页通常会标明支持哪些角色。这里最容易犯的错误是只看“支持OTG”几个字没有区分它到底能不能做DRP。有些芯片是纯DFP控制器专门给充电器、扩展坞这类固定主机的产品用有些芯片是纯UFP控制器比如PD诱骗芯片只负责从充电器取电。真正能够用于手机OTG转接头、双向Type-C连接线的芯片必须支持DRP自动切换否则你没法让同一套硬件既在电脑面前当设备又在U盘面前当主机。实际选型时还要关注DRP的切换周期。标准要求DRP大概每80ms轮询一次CC状态如果芯片切换太慢插上设备后可能要等很长时间才被识别用户体验会很差。TUSB320这类芯片的DRP轮询由内部状态机完成不需要主控参与响应比较可靠。2.2 你要的只是CC逻辑还是完整PD协议这是方案分水岭。Type-C角色切换可以只靠“检测出对端有Rd下拉然后输出VBUS”这一步来实现这就是CC逻辑芯片干的事。但如果你想让手机通过OTG线给另一台设备充电或者让转接头能协商5V/9V/12V等不同电压就需要完整的USB PD协议控制器。区分方法很简单看芯片是否内置了PD物理层和协议引擎。比如TUSB320只做CC逻辑和方向控制不支持PD协商而FUSB302内部有PD PHY可以通过I2C和主控交互完成PD消息的收发和状态机管理。如果产品只需要把Type-C口的角色反转一下用CC逻辑芯片足够了没必要为PD协议功能多付费。但如果是扩展坞、视频转换、多功能底座这类产品PD协商几乎必然要用到就别省这个功能。2.3 VBUS必须能用开关控制而不是直连这是很多初做硬件的人忽略的点。Type-C OTG场景下VBUS供电方向是会变化的有时你是向外部设备供电有时你是从外部电源取电。如果VBUS直连两个电源同时灌入节点时很容易打架轻则电流倒灌重则烧毁控制电路。所以选型时要重点看芯片是否具备VBUS开关控制能力。部分芯片会集成内部的VBUS FET或者直接输出一个VBUS_EN信号去控制外部PMOS/NMOS。推荐优先选择带VBUS_EN输出且支持死区时间控制的芯片这样切换电源方向时能避免“两个源同时导通”的瞬间短路。一个比较实用的经验低端OTG转接头电阻方案里VBUS常常是直通的这也是它只能“单向插件”的根本原因。双向产品如果VBUS直通很难通过实验室的短路及过压测试。2.4 输出能力与电源路径设计OTG产品不等于随便拖一个U盘就行。我见过不少工程师在小批量验证时只带键鼠测试一接移动硬盘就出问题原因往往是CC上拉电阻表达的输出能力不够。USB Type-C规范里上拉电阻Rp的值决定了端口能提供的电流56kΩ默认电流支撑约5V/0.5A~1A的常规设备22kΩ表示可以输出1.5A10kΩ表示可以输出3AOTG线如果是纯电阻方案CC上拉电阻的选择直接决定了它能“吹”多少电流。很多廉价OTG线用56kΩ上拉意味着它只告诉设备“我最多能给你1A”插上要求1.5A以上的移动硬盘时硬盘可能不转或反复重启。协议芯片的优势在于可以通过PD协商提升电流同时配合外部MOSFET提供更稳健的VBUS电源路径。选型时请务必把目标外设的功耗列出来以此倒推需要1.5A考虑USB PD 1.5A档位需要3A则直接找支持3A的芯片和Rp组合。2.5 成本、封装、调试门槛最后才是芯片的价格和封装。从这些年做项目的经验来看排序建议是功能满足 供应链稳定 调试工具友好 单价低。因为你一旦在量产阶段遇到芯片缺货或者调试困难省下的几分钱根本弥补不了损失。封装方面主流OTG协议芯片一般是QFN和TSSOP两种。小批量打样用TSSOP更友好手工焊接压力小大批量生产用QFN节省PCB面积。如果团队里没有I2C调试经验优先选硬件自动配置的芯片尽量避开需要大量寄存器初始化的型号。3. 主流OTG协议芯片方案选型推荐3.1 硬件自动配置型TI TUSB320TUSB320是我私心比较喜欢的一款CC逻辑芯片适合做最简单可靠的Type-C OTG角色切换。它支持DFP、UFP、DRP三种模式内部状态机会自动检测CC引脚上的Rp/Rd状态然后给出当前角色和VBUS使能信号。这颗芯片不需要主控烧录任何固件只需配置几个模式引脚非常适合硬件工程师快速出方案。它的CC检测比较完善支持Ra检测、线缆方向检测能在一定程度上识别音频配件等非标准设备。当然缺点也很明显它不内置PD协议栈所以不能做电压协商。如果你只是在普通5V OTG场景下做角色切换TUSB320是稳妥之选。3.2 极简CC逻辑型NXP PTN5150PTN5150在很多低成本Type-C配件里都能看到它是一颗纯硬件CC逻辑芯片原理和TUSB320类似但整体更偏向低功耗和少引脚。它在检测到DFP或UFP连接后会自动输出控制信号让外部开关把VBUS和对应数据线切通。这颗芯片最大的特点是省电常被用在电池供电的小配件里。但它同样不支持PD协商也没有内置MCU接口来做复杂策略。对纯粹的单向OTG转接头PTN5150做到了极致简单成本也比较友好。3.3 可编程PD/DRP控制器onsemi FUSB302如果要一颗既能做DRP角色切换、又能做PD协商的芯片FUSB302是出现频率很高的选择。它内置了CC配置逻辑和USB PD物理层通过I2C接口与主控通信主控可以根据实际场景灵活决定是成为DFP还是UFP以及协商多大的电压电流。这款芯片适合智能设备、扩展坞、充电底座这类产品因为系统里本来有MCU或SoC可以承担协议策略。它的驱动代码在开源社区里非常多踩坑资料也丰富遇到问题基本能搜到答案。代价是需要写固件不适合纯硬件团队。3.4 高集成度与丰富检测ST STUSB1602STUSB1602是ST在USB Type-C控制器里的代表性型号支持DFP/UFP/DRP内置了完整的CC逻辑还能做VBUS过压欠压检测。相比TUSB320它多了更多保护功能适合对电源安全要求高的工业级产品。它同样支持I2C配置也支持无固件自动运行模式。对于一条产品线里同时有“简易转接头”和“智能底座”两个项目的情况选STUSB1602可以复用同一套设计和调试经验比较省心。3.5 补充PD诱骗芯片CH224K的适用范围很多人搜“OTG协议芯片”时会看到国产PD芯片CH224K这里必须提醒一下CH224K本质上是PD受电端芯片只负责从PD充电器里诱骗出指定电压它不做DRP角色切换也不能让设备变成USB主机。所以严格来说它不适合直接当作OTG角色切换芯片。那它适合做什么适合做Type-C受电产品比如小风扇、台灯、充电宝电路里的取电模块。如果一款产品本身既有OTG输出、又有PD取电需求可以把CH224K和一颗CC逻辑芯片配合使用各管一段但不要指望一颗CH224K解决所有OTG问题。3.6 多轮方案对比总表芯片型号角色支持PD协议VBUS开关控制接口方式典型应用调试难度TI TUSB320DFP/UFP/DRP不支持外部MOSFET引脚配置/I2COTG转接头、手机配件低NXP PTN5150DFP/UFP/DRP不支持外部MOSFET引脚配置低成本OTG线低onsemi FUSB302DFP/UFP/DRP支持PD PHY外部MOSFETI2C扩展坞、双向底座中ST STUSB1602DFP/UFP/DRP支持PD支持保护检测I2C/自动工业级双向设备中WCH CH224KUFP(受电)支持PD诱骗限于受电I2C/电阻配置PD受电取电模块低4. 一个OTG转USB-A母口方案的完整实现4.1 需求定义与整体设计思路以最常见的“Type-C公头转USB-A母口OTG线”为例。需求很简单手机端插入Type-C后要能识别为USB主机向外提供5V同时把D/D-信号连接到USB-A母座以便插入U盘或鼠标。我建议的设计步骤如下Type-C公头的CC1、CC2分别接入协议的CC引脚。协议芯片检测到对端是UFP后输出VBUS_EN信号。VBUS_EN控制一颗外部P-MOSFET把手机侧的VBUS切换到USB-A母座的VBUS。D/D-直接从Type-C公头连到USB-A母座中间串联22Ω电阻用于阻抗匹配和ESD防护。如果产品定位是驱动移动硬盘再增加一颗限流开关芯片ID引脚不加也行把过流阈值设在2A左右即可。这里要特别提醒手机端VBUS是电池电压的升压输出瞬时电流能力有限连续输出超过1A时发热明显。设计时最好在USB-A母座侧预留一颗100μF左右的储能电容缓冲外设启动瞬间的浪涌电流。4.2 原理图设计关键节点CC引脚部分Type-C公头在PCB上会默认把CC1和CC2分开处理不要直接短接。协议芯片或电阻网络需要分别接到两个CC脚因为Type-C插头方向不确定正插时用到CC1反插时用到CC2。如果走电阻方案两个CC引脚分别用一个5.1kΩ电阻下拉到GND模拟UFP设备触发手机进入主机模式。如果走TUSB320这类芯片方案芯片内部会接管CC上下拉外部只需保留必要的RC滤波。D/D-的走线要注意等长保持90Ω差分阻抗。虽然USB 2.0对走线长度要求没有USB 3.0那么苛刻但在转接头这么短的PCB上等长依然能显著减少高速设备枚举失败的概率。VBUS通路是另一个重点。P-MOSFET的源极接手机VBUS漏极接USB-A母座VBUS栅极由VBUS_EN控制。必须加一个10kΩ栅极下拉电阻防止芯片上电过程中VBUS_EN悬空导致MOSFET误开。另外源极和漏极之间加一颗TVS管防止热插拔瞬间的电压尖峰击穿下游设备。4.3 PCB布局注意点OTG转接头通常做得很小PCB空间非常紧张但布局上还是有几个原则不能妥协CC引脚相关器件尽量靠近Type-C母座或公头减少高频干扰。VBUS的走线宽度按1A/1mm设计至少保证2mm宽度。D/D-差分对要与其他电源线保持安全距离避免耦合噪声。P-MOSFET的散热焊盘要足够否则连续输出1.5A时管温会很保守地说会很烫。4.4 固件与主控配合逻辑如果用了TUSB320这类纯硬件芯片固件层面几乎不用操心。但如果是FUSB302这种需要主控参与的方案建议固件状态机按照以下流程处理上电后先初始化I2C总线配置芯片为DRP模式。循环读取中断标志等待CC状态变化事件。一旦检测到设备接入读取当前角色是DFP还是UFP。如果角色是DFP则使能VBUS输出等待枚举事件。如果角色是UFP则关闭本端VBUS输出进入设备模式等待主机枚举。这里最容易踩的坑是初始化顺序。必须先配置好CC上下拉状态再使能中断否则可能漏掉插入事件。实测很多“插上没反应”的问题都是固件顺序写反了。4.5 上电实测步骤硬件回来不要直接把U盘插上去验证先做分步测试给Type-C公头接入一个CC分析仪或CC按需供电的调试板确认CC引脚有没有出现上拉/下拉状态。再接手机用万用表量VBUS有没有在插入UFP设备后稳定输出5V。使用Type-C功率计串联在手机和转接头之间观察空载电流和插入U盘后的浪涌电流。插U盘确认手机能在“文件管理”类APP中看到设备。如果看不到先检查D/D-是否接反或虚焊。连续插拔50次观察是否有枚举失败或VBUS异常掉电的情况。5. 高频故障与调试实录5.1 插上U盘手机完全没有反应这是OTG产品返修率最高的故障原因通常集中在三处。第一CC引脚下拉电阻没焊好或者阻值不对。很多工程打样时用了10kΩ甚至100kΩ手机端检测不到有效的Rd自然不会切到主机模式。确认使用5.1kΩ误差1%最好。第二协议芯片没有检测到设备接入。如果是DRP芯片需要确认其轮询是否正常必要时用逻辑分析仪抓CC引脚的电平跳变正常的DRP端口应该能看到周期性上下拉切换。第三VBUS没有输出。手机即使识别到设备也不会主动供出VBUS除非CC协商完成。用万用表在插入U盘瞬间量VBUS电压如果稳定为0问题大概率在VBUS使能GPIO或者MOSFET驱动电路。5.2 能识别U盘但一读写就掉盘这种情况多半不是OTG协议的问题而是供电或信号完整性问题。先测电流。U盘读写时电流通常会从几十mA跳到300mA甚至更高如果VBUS通路电阻太大比如PCB走线细或者MOSFET导通电阻过大会导致电压跌落U盘直接掉线。再查ESD防护。有些TVS管结电容过大会劣化D和D-信号边沿产生CRC错误导致掉盘。USB 2.0的D/D-线上建议使用结电容小于2pF的ESD保护器件不要随便拿一个“看起来能保护”的TVS就往上堆。还有一点容易被忽略U盘主控对VBUS上电时序敏感。VBUS应当平滑上升如果在1ms内出现多次电压瞬变部分主控会判定供电不稳拒绝枚举。5.3 连充电宝不充电很多双头OTG线或者多合一转接线会遇到这个问题插上充电宝后手机没有进入受电模式。原因在于Role冲突。手机自身是DRP充电宝通常是DRP或DFP。两边都尝试当主机时就出现CC竞争。正确做法是让手机在检测到对端是电源源设备时主动让出主机权切到UFP模式。如果芯片支持Role优先级的配置建议把手机端的默认模式配置成“优先受电”只有在对端明确是设备时再切换为主机这样能明显提升和充电宝的兼容性。5.4 排查速查表现象可能原因检查顺序手机无任何反应CC下拉电阻/CC检测失效先量CC1/CC2对地电阻VBUS有电压但U盘不转供电电流不足/过流保护误触发串联功率计看峰值电流能识别但频繁掉盘D/D-信号质量差检查ESD结电容和走线阻抗插充电宝不充电角色优先级配置冲突修改DRP策略优先受电插拔几次后失效热插拔浪涌损坏芯片增加TVS和储能电容6. 一点选型与落地的实在经验最后说几句基于实际项目比较容易踩的坑。第一款OTG产品如果时间紧、团队小建议先用TUSB320或者PTN5150这类纯硬件自动配置芯片出方案。它们不需要写固件调试量小项目迈出第一步最重要。等产品稳定了再考虑FUSB302这类可编程芯片做功能升级比如支持PD、支持更多角色策略。直接上手最复杂的PD方案往往会让原理图和固件同时引入过多变量出了问题很难定位。第二点是关于电阻替代芯片。每次有人问“能不能用电阻方案把TUSB320省掉”我的回答是固定角色转接头可以双向角色切换别贪这个便宜。电阻方案的DRP是做不到的你无法同时让CC引脚既上拉又下拉硬要模拟换来换去最后做出来的产品插谁都有兼容问题返工成本远高于芯片成本。第三点是CC相关的电容不要乱加。很多工程师习惯在信号引脚上都加滤波电容但在CC引脚上并联超过百pF的电容会导致上升沿变慢影响Rp/Rd检测的灵敏度甚至会触发芯片的误判。CC线上只要保留ESD保护不需要额外滤波电容。Type-C和OTG的组合还会随着USB PD规范和高速视频替代模式不断升级现在做选型时留一点余量优先选择支持I2C配置和固件升级的芯片后续产品迭代会顺畅得多。希望这篇文章能帮你少走一些我已经走过很多遍的弯路。
阅读完成 · 觉得有帮助?
咨询建站