USB Type-C 和 USB供电数据和电源角色

USB Type-C 连接器生态系统随着现代平台和设备需求的变化而不断发展。

USB Type-C 连接器生态系统可满足现代平台和设备不断变化的需求,并且符合更小、更薄且更轻便的外形设计趋势。此外,针对 Type-C 连接器修改 USB PD 有助于满足高耗电应用的需求。

简介

您可能听说过 USB Type-C 的可逆电缆。不过,当您考虑特定系统的要求时,您可能不确定哪些是“必须满足”,而哪些仅仅是“最好满足”。在本白皮书中,我们将介绍最基本的 USBType-C 应用,然后进一步介绍功能完备的 USB Type-C 和USB PD 应用。首先,我们回顾一下 USB 数据从 USB 1.0 开始一直到 USB

3.1 第 2 代的演变进程。

表 1 列出了每个 USB 数据传输相关规范的最大传输速率。USB 1.x 标准是最早版本,支持 1.5Mbps(低速)和12Mbps(全速),后来发展的 USB 3.1 第 2 代标准支持10Gbps(超高速+)。

规范数据速率名称最大传输速率
USB 1.0 和 USB1.1低速1.5Mbps
全速12Mbps
USB 2.0高速480Mbps
USB 3.0超高速5Gbps
USB 3.1超高速+10Gbps

表 1.USB 规范以及最大电压、电流和功率。

表 2 显示了 USB 功率从 USB 2.0 开始一直到 USB PD 3.0 的演变过程。总体趋势是随着平台和设备的需求不断增长,最大功率不断增加。在不使用 USB PD 的情况下,仅通过 USBType-C 最高可以支持 5V 电压(电流为 3A,功率为 15W)。不过,在使用 USB PD 时,在 USB Type-C 生态系统中最高可以支持 20V 电压(电流为 5A,功率为 100W)。

规范最大值电压最大值电流最大值功率
USB 2.05V500mA2.5W
USB 3.0 和 USB3.15V900mA4.5W
USB BC 1.25V1.5A7.5W
USB Type-C 1.25V3A15W
USB PD 3.020V5A100W

表 2.USB 规范以及最大电压、电流和功率。

数据和电源角色

USB 连接中有三种类型的数据流:

下行端口 (DFP)

向下游发送数据;它通常是设备所连接的主机或集线器上的端口。DFP 将为 VBUS 供电(主机与设备之间的电源路径),还可以为 VCONN 供电(为电子标记的电缆供电)。包含 DFP 的典型应用是集线站。

上行端口 (UFP)

连接到主机或集线器的 DFP,接收设备或集线器上的数据。这类端口通常从 VBUS 中取电。包含 UFP的典型应用是显示监视器。

双角色数据 (DRD) 端口

可以用作 DFP(主机)或 UFP(设备)。此类端口在连接时的电源角色决定了其初始角色。源端口承担 DFP 的数据角色,而接收端口承担 UFP 的数据角色。不过,通过使用 USB PD 数据角色交换功能,可以动态地更改此类端口的数据角色。包含 DRD 端口的典型应用是笔记本电脑、平板电脑和智能手机。

USB 连接中有三种类型的功率流:


接收端口是在连接时消耗 VBUS 功率的端口,接收端口设备通常是用电类设备。接收端口应用包括 USB 供电灯或风扇等 USB 外设。

源端口是在连接时通过 VBUS 供电的端口。常见的源端口是主机或集线器 DFP。典型的源端口应用是 USB Type-C 壁式充电器。

双角色电源 (DRP) 端口可以用作接收端口或源端口,并且可以在这两种状态之间进行切换。当 DRP 最初用作源端口时,该端口承担 DFP 的数据角色。或者,当 DRP 最初用作接收端口时,该端口承担 UFP 的数据角色。不过,通过使用USB PD 电源角色交换功能,可以动态地更改 DRP 端口的电源角色。例如,一台笔记本电脑可能包含一个 DRP 端口,该端口可以接收功率,为笔记本电脑的电池充电;也可以提供功率,为外部附件充电。此外,DRP 端口有两个特殊的子类型:

源设备

该类型的端口能够提供功率,但无法用作 DFP。该子类型的一个示例是兼容 USB Type-C 和 USB PD 的监视器,它能够接收来自笔记本电脑 DFP 的数据,但无法为笔记本电脑充电。

接收主机

该类型的端口能够消耗功率,但无法用作UFP。示例包括集线器的 DFP,它能够向附件发送数据,同时能为该附件供电。

下面的图 1 重点介绍了常见的终端设备及其典型的数据和电源角色(就 USB Type-C 规范而言)。

USB Type-C 版本 1.2 示例应用

图 1.USB Type-C 版本 1.2 示例应用。

USB Type-C UFP 接收端口:不带 USB PD 的 USB2.0

较为简单和常见的应用是不带 USB PD 的 UFP USB 2.0(≤15W)。常见的应用包括当今任何不需要超快速传输数据且由 USB 供电的设备,例如鼠标、键盘、可穿戴设备或其他小型电子设备。图 2 重点展示了 USB Type-C UFP USB 2.0 所需的功能模块。
不带 PD 的 Type-C UFP USB 2.0 方框图

图 2.不带 PD 的 Type-C UFP USB 2.0 方框图。

在这里,我们假设您了解 USB Type-C 连接器的引脚排列以及可逆性的工作原理;如果您不了解相关知识,请参阅图 13。
请注意,USB 2.0 物理层 (PHY) 与以前具有 Type-A 或 Type-B连接器的 USB 2.0 设计是相同的。它充当从 USB D+ 和 D– 线到 USB 2.0 收发器宏单元接口 (UTMI) 加低引脚接口 (ULPI)的数据的物理层,便于应用处理器进行管理。
USB 2.0 PHY 通常集成在处理器或微控制器中;不过,也有分立式 PHY,用于在设计中集成 USB 功能。USB Type-C 规范中引入的配置通道 (CC) 逻辑块提供电缆检测、电缆方向和载流能力。
•当两条 CC 线之一下拉时,发生电缆检测(请参阅图 3)。DFP 会通过电阻器 Rp 将其两个 CC 引脚上拉,而 UFP 会通过电阻器 Rd 将其两个 CC 引脚下拉 [1]。DFP 检测到其CC 线之一被下拉后,DFP 就知道已连接已建立。
CC 逻辑上拉和下拉终端

图 3.CC 逻辑上拉和下拉终端。(来源:USB Type-C 规范版本 1.2,图 4 和图 5 上拉/下拉 CC 模型)

电缆方向取决于下拉的 CC 线

(如果 CC1 下拉,则电缆不翻转;但如果 CC2 下拉,电缆会翻转)。对于无源电缆,另一条 CC 线保持打开状态;对于有源电缆,另一条 CC 线将通过 Ra 下拉。

Rp 的值决定载流能力。

USB Type-C 本身支持 1.5A 或 3A的电流。DFP 可以通过一个具有特定值的上拉电阻器来广播其载流能力。UFP 包含一个具有固定值的下拉电阻器(Rd),能够在连接时与 Rp 一起形成一个分压器。通过感应分压器中心抽头处的电压,UFP 可以检测到 DFP 的广播电流。

最后一个模块是 USB 2.0 多路复用器(通常称为高速多路复用器)。图 2 中的虚线轮廓表示 USB Type-C 规范不需要的可选模块。要了解多路复用器的用途,就必须了解电缆翻转如何影响数据流。在 USB Type-C 插座中,单个 USB 2.0 数据通道有两对 D+/D– 线。在一个方向上,数据沿着一对 D+/D– 线流动。在相反的方向上,数据沿着另一对 D+/D– 线流动。USBType-C 规范允许将这两对 D+/D– 线短接在一起(D+ 接 D+,D– 接 D–),以产生一个线头。尽管这不是必需的,但有些设计人员会选择在其系统中包含一个 USB 2.0 多路复用器,以提高信号完整性。

USB Type-C DFP:不带 USB PD 的 USB 2.0

另一种简单且常见的应用是不带 USB PD 的 DFP USB 2.0,如图 4 所示。一个示例是 5V 交流/直流适配器。

图 4 展示了不带 USB PD 的 USB Type-C DFP USB 2.0 所必需的模块。请注意该图与图 2 的相似之处,其中增加了一些额外的模块,但 CC 逻辑块仍然是相同的。对于 DFP,设备提供 Rp 并监测由 Rd 引起的下拉。Rp 检测到下拉后,DFP 知道设备已连接并提供 5V 电压。与始终提供 5V 电压不同,USBType-C 中采用了一项新功能,即仅在检测到设备之后才在VBUS 线上提供 5V 电压(冷插拔)。

USB 2.0 ULPI PHY 与前一节中的相关内容相同。对于不传输数据的应用(例如 5V 壁式适配器),您可以在设计中省略USB 2.0 ULPI PHY。由于 USB Type-C 实现了冷插拔,因此图4 中添加了一个 5V VBUS 场效应晶体管 (FET)。因此,设计中需要采用一个用于 5V 电压轨的开关。
不带 USB PD 的 USB Type-C DFP USB 2.0 方框图

图 4.不带 USB PD 的 USB Type-C DFP USB 2.0 方框图。

此外,USB Type-C 规范要求所有源端口监测电流并在接收端口试图消耗超出源端口提供能力的电流时保护自身 [1]。此时过电流保护模块就发挥了作用。这两个模块可以集成到负载点电源转换器中,也可以集成到 USB Type-C 设备中。
图 4 还包含 VBUS 放电模块。在未连接任何设备时,VBUS 应该保持 0V。USB Type-C 规范要求源端口在接收端口断开后的 650ms 内对 VBUS 进行放电 [1]。VBUS 放电功能通常集成在 USB Type-C 设备中,但也可以集成在泄放电阻器中。
通过将 5V 电压切换到未使用的 CC 线上,VCONN 可以为无源电子标记电缆或有源电缆(支持 USB PD 通信并提供电缆特性表征方法的电缆)供电(请参阅附录)。图 3 显示 USBType-C 电缆中的一条 CC 线将 Rp 连接到 Rd,而另一条 CC线悬空(无源电缆)或通过 Ra 下拉至接地(无源电子标记电缆或有源电缆)。
所有支持 USB 3.1 速度或高于 3A 的电力传输的应用都需要VCONN [1]。如果要支持有源电缆(例如需要通过集成转接驱动器或重定时器进行信号调节的长距离电缆),那么也需要VCONN 开关。

不带 USB PD 的 USB Type-C DRP/DRD USB 2.0

下面介绍的不带 USB PD 的 USB 2.0 应用是 DRP/DRD。对于不带 USB PD 的应用,DRD 和 DRP 是相同的。一个常见的示例是速度较慢的笔记本电脑端口,此类端口可以双向发送功率,进行充电或被充电,并充当主机或设备。该系统类型的另一个常见应用是平板电脑和智能手机。图 5 是更新后的方框图。
相对于图 4 而言,唯一值得注意的变化是添加了 Rp/Rd 开关。DRP/DRD 可以充当 UFP 或 DFP。因此,该设计必须具有一种方法,用于通过 Rp 将 CC 线上拉或通过 Rd 将 CC 线下拉(无电电池上的默认方式,用于充电),如图 6 所示。请注意开关是如何在将 CC 线上拉(此时应提供电流源以在 Rd 上生成特定的电压)和将其下拉至 GND 之间切换的。
不带 USB PD 的 USB Type-C DRP/DRD USB 2.0 方框图

图 5.不带 USB PD 的 USB Type-C DRP/DRD USB 2.0 方框图。请注意,VCONN 开关并不总是必需的。

Rp/Rd 开关原理图

图 6.Rp/Rd 开关原理图。

USB Type-C DRP/DRD:带 USB PD 的 USB 2.0

复杂度越来越高的应用需要采用 USB PD。如简介中所述,具有 USB PD 功能的系统可以支持高达 20V、5A (100W) 的功率水平。通过首先增大 VBUS 上的电压,同时将最大电流保持在3A,可以实现这一点。在达到 20V 的最大电压之后,您可以最大将电流增加至 5A,如图 7 所示。
USB PD 配置(电源轨和最大电流)

Source power rating (W)
图 7.USB PD 配置(电源轨和最大电流)。 (来源:USB PD 规范版本 3.0 中的图 10-2)

在图 7 可以看到:
•所需的离散电压电平为 5V、9V、15V 和 20V(USB PD 规范v3.0 对此进行了修改)。
•电流可能会连续变化,具体取决于所需的功率水平(电流最大为 3A)。
•在给定的任何功率水平下,都需要一个源端口来支持以前的所有电压和功率水平。
例如,60W 的源端口必须能够支持电压 20V(电流为 3A)、15V(电流为 3A)、9V(电流为 3A)和 5V(电流为 3A)。这是 3.0版 USB PD 规范中的更新结果,用于确保功率较高的电源能够支持功率较低的设备。笔记本电脑和手机的充电器是一个示例。

带 USB PD 的 USB Type-C DRP/DRD USB 2.0 方框图

图 8.带 USB PD 的 USB Type-C DRP/DRD USB 2.0 方框图。请注意,VCONN 开关并不总是必需的。

图 8 突出显示了在 USB PD 应用中发挥作用的四个新模块。
先前介绍的 VBUS FET 现在可以处理 5V 至 20V 电压(离散电平,具体取决于所需的功率水平),并且电流可能高达 5A(同样仅在提供 20V 电压时)。图 8 还显示了为功率更高的 FET添加的栅极驱动器模块。某些器件集成了大功率 FET 和栅极驱动器,以驱动功率更高的外部 FET(例如 TI 的 USB PD 控制器),而其他器件仅集成了栅极驱动器或两者都未集成。
到目前为止,我们还未讨论方框图中的静电放电保护,因为它与非 USB Type-C 系统有一点不同(除通道数更多外),即是否具有 VBUS 短路保护功能。与传统的 USB 连接器相比,USB Type-C 连接器具有更高的引脚密度。因此,VBUS 更容易与相邻的引脚发生短路(请参阅附录)。由于 VBUS 的电压可能高达 20V,因此 20V 和 5V 线之间可能发生短路(如边带使用 [SBU]、CC 等等)。为了防止发生这种潜在的灾难性事件,TI 推出了 USB Type-C 保护集成电路系列。
其他两个新模块是 USB PD PHY 和 USB PD 管理器。这些模块一起通过 CC 线发送数据包,从而实现 DFP 和 UFP 之间的通信。通过这种通信,源端口可以广播其可以支持的功率水平,然后接收端口可以请求某个支持的功率水平。设置功率水平后,电压和电流水平会得到相应的调节。
区分 USB PD 管理器和 USB PD PHY 之间的角色差异很重要;多个 USB Type-C 器件可能包含其中的一个功能,但不包含另一个功能。例如,通用微控制器可以用作 USB PD 管理器,但没有 USB PD PHY。USB PD PHY 的作用是驱动 CC 线,但其本身没有智能。
USB PD 管理器是大脑,其中包含一个复杂的状态机,以支持USB PD 协商并控制 PHY。(USB PD 管理器还执行交替模式协商。)USB PD 管理器通过告诉 PHY 发送哪些数据包(例如广播功率水平、请求功率水平和确认通道功率水平)来实现该功能。
重点在于,如果需要 USB PD,则需要使用 USB PD PHY 和USB PD 管理器。您可以通过使用集成解决方案(同一器件中具有 USB PD 管理器和 USB PD PHY)来实现 USB PD PHY 和USB PD 管理器,也可以在微控制器上实现 USB PD 管理器并使用单独的 PHY(具有 USB Type-C 端口控制器)。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/24996.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

自己做的精灵图制作,图片合成,卓宠,窗口置顶,磁力链下载等工具软件

欢迎使用和提bug,才v1.0.2,有新奇的自己需要的功能可以提给我,我看看能不能做。 网站地址 github

Qt对二进制文件进行加密及解密操作

在工作中可能会做一些二进制文件加密及解密的任务&#xff0c;比如说仪器的时序指令bin文件。 #include <iostream> #include <fstream> #include <vector> #include <QCryptographicHash> #include <QFile> #include <QDataStream> #inc…

Next.js初始化和一些配置

Next.js初始化和一些配置 Next.js初始化和一些配置初始化配置路径别名跨域问题图片跨域问题 Next.js初始化和一些配置 我的版本是14.2.3 初始化 配置 路径别名 跨域问题 改为服务端组件 把发起跨域请求的组件顶层的use client删掉使用后端接口转发 在Next.js自定义一个接…

数据总线、位扩展、字长

数据总线&#xff08;Data Bus&#xff09; 定义 数据总线是计算机系统中的一组并行信号线&#xff0c;用于在计算机内部传输数据。这些数据可以在中央处理器&#xff08;CPU&#xff09;、内存和输入/输出设备之间传输。 作用 数据传输&#xff1a;数据总线负责在计算机各…

c++【入门】求圆环的面积

限制 时间限制 : 1 秒 内存限制 : 128 MB 题目 如下图所示的圆环铁片&#xff0c;中间是空心的&#xff0c;已知圆环外圆的半径是r1厘米&#xff08;如&#xff1a;10cm&#xff09;&#xff0c;内圆半径是r2厘米&#xff08;如&#xff1a;6cm&#xff09;&#xff0c;请编…

心链13---主页切换功能 + loading特效 + 导航栏完善 + 队伍页接口修改

心链 — 伙伴匹配系统 直接取出所有用户&#xff0c;依次和当前用户计算分数&#xff0c;取 TOP N&#xff08;54 秒&#xff09; 优化方法&#xff1a; 切忌不要在数据量大的时候循环输出日志&#xff08;取消掉日志后 20 秒&#xff09;Map 存了所有的分数信息&#xff0c;占…

C++ | Leetcode C++题解之第140题单词拆分II

题目&#xff1a; 题解&#xff1a; class Solution { private:unordered_map<int, vector<string>> ans;unordered_set<string> wordSet;public:vector<string> wordBreak(string s, vector<string>& wordDict) {wordSet unordered_set(w…

SpringBoot+Vue网上购物商城系统(前后端分离)

技术栈 JavaSpringBootMavenMySQLMyBatisVueShiroElement-UI 系统角色对应功能 用户商家管理员 系统功能截图

docker部署redis实践

1.拉取redis镜像 # 拉取镜像 sudo docker pull redis2.创建映射持久化目录 # 创建目录 sudo mkdir -p $PWD/redis/{conf,data}3. 运行redis 容器&#xff0c;查看当前redis 版本号 # 运行 sudo docker run --name redis -d -p 6379:6379 redis # 查看版本号 sudo docker ex…

java异常处理知识点总结

一.前提知识 首先当运行出错的时候&#xff0c;有两种情况&#xff0c;一种叫做“错误”&#xff0c;另一种叫做“异常”。错误指的是运行过程中遇到了硬件或操作系统出错&#xff0c;这种情况程序员是没办法处理的&#xff0c;因为这是硬件和系统的问题&#xff0c;不能靠代码…

React Native中集成ArcGIS以显示地图、渲染自定义图层和获取地理信息数据

在您的数据采集上传的应用中集成ArcGIS以显示地图、渲染自定义图层和获取地理信息数据是一项常见需求。下面是如何实现这些功能的详细指南&#xff0c;包括具体步骤和示例代码。 1. 显示地图 原生开发 Android&#xff1a; 使用ArcGIS Android SDK。您需要在AndroidManifest…

tile-join的详细解释和使用说明

tile-join是Tippecanoe工具集中的一个实用命令&#xff0c;主要用于合并多个MBTiles文件&#xff0c;或者将属性数据添加到已有的MBTiles文件中。它可以处理大量的GeoJSON、Shapefile和MBTiles数据&#xff0c;并将它们合并成一个新的MBTiles文件。这对于需要结合多个数据源或者…

使用GPT-soVITS再4060下2小时训练声音模型以及处理断句带来的声音模糊问题

B站UP主视频 感谢UP主“白菜工厂1145号员工”的“熟肉”&#xff0c;我这篇笔记就不展示整一个训练和推理流程&#xff0c;重点写的4060该注意的一些事项。如何解决断句模糊的问题&#xff0c;在本篇笔记的最末尾。 相关连接&#xff1a; 原项目github UP主的说明文档 1、训…

如果一个列表有100000个数据,这个该怎么进行展示?

当列表包含大量数据&#xff08;如100,000个数据项&#xff09;时&#xff0c;直接渲染所有数据到DOM可能会导致性能问题&#xff0c;因为浏览器需要处理大量的DOM节点。为了优化这种情况&#xff0c;有几种常见的策略可以使用&#xff1a; 分页&#xff08;Pagination&#xf…

Python中的异常处理:try-except-finally详解与自定义异常类

Python中的异常处理&#xff1a;try-except-finally详解与自定义异常类 在Python编程中&#xff0c;异常处理是确保程序健壮性和可靠性的重要部分。当程序遇到无法预料的错误时&#xff0c;异常处理机制能够防止程序崩溃&#xff0c;并允许我们采取适当的措施来解决问题。本文…

Linux的目录结构介绍和环境变量的设置

目录 前言一、系统环境二、Linux的目录结构2.1 Linux目录结构介绍2.2 Linux文件的路径描述2.2.1 绝对路径2.2.2 相对路径2.2.3 特殊的路径符 三、Linux的环境变量设置3.1 环境变量PATH3.2 关于$符的使用3.3 环境变量的设置 总结 前言 本篇文章介绍Linux的目录结构和环境变量的…

相同的树-力扣

这道题目与堆成二叉树题目很相似&#xff0c;对称二叉树是每次传入的节点组合是 《左子树的左节点 和 右子树的 右节点》 《左子树的右节点 和 右子树的左节点》&#xff0c; 而这道题就更加简单&#xff0c;传入两棵树的左节点和右节点即可。 /*** Definition for a binary t…

[React]useEffect中return函数执行时机

已知在组件卸载时会执行return函数&#xff0c;其实在依赖项变更时也会执行。 import { useEffect, useState } from react;export default function HomePage() {const [count, setCount] useState(0);useEffect(() > {console.log(effect, count);return () > {conso…

【云原生Kubernetes项目部署】k8s集群+高可用负载均衡层+防火墙

目录 环境准备 拓朴图 项目需求 一、Kubernetes 区域可采用 Kubeadm 方式进行安装 1.1所有节点master、node01、node02 1.2所有节点安装docker 1.3所有节点安装kubeadm&#xff0c;kubelet和kubectl 1.4部署K8S集群 1.4.1复制镜像和脚本到 node 节点&#xff0c;并在 …

Excel数据自动检测,语音报警VBA代码,语音提醒

要实现这个功能&#xff0c;你可以使用以下VBA代码&#xff1a; 1. 首先&#xff0c;在Excel中插入一个ActiveX控件&#xff08;如"Microsoft Sound Control 6.0 (Spinner.Sound)"&#xff09;&#xff0c;并将其命名为"SoundControl"。 2. 然后&#xff0…