USB-PD 协议

article/2025/9/26 14:12:16

USB-PD(Power Delivery)是基于USB Type-C的一种电源供电标准,最大供电功率可达100瓦(W);随着USB Type-C的普及,越来越多的设备(手机、平板、显示器、工作站、充电器等)使用USB-PD快速充电方案。
1USB Type-C简介
        Type-C是USB接口的一种形式,不分正反两面均可插入,支持USB标准的充电、数据传输、视频传输、音频传输、显示输出等功能。支持USB-PD后则可实现高达100W的电源供电。本文重点描述的USB-PD就是通过Type-C的“配置通道引脚CC”(图 1)进行通讯的。



 


 Type-C 接口及插座引脚功能定义

        USB Type-C标准相对于旧标准的另一不同点是它引入了双角色能力。每根USB Type-C电缆的两端都是完全等同的,这就意味着连接起来的两台设备必须相互进行沟通以确定自己应作为主机还是外设而存在。角色的沟通需针对数据和电源分别进行,此工作在电缆接通之后就要进行。用于数据通讯的主机端口被称为下行端口 (Downstream Facing Port, DFP),外设端口被称为上行端口 (Upstream Facing Port, UFP)。而电源方面,供电端被称为源端 (Source),耗电端被称为吸端 (Sink)。有的设备既可以有数据上的双角色 (Dual Roles of Data, DRD) 能力,又具有电源上的双角色 (Dual Roles of Power, DRP) 能力。CC线在两台设备连接期间能起到定义电源角色的作用。

        USB Type-C系统带来的另一个好处是较高的供电能力。传统的USB电缆只容许提供2.5W功率,USB Type-C电缆则容许提供高达5V/3A即15W的最大功率,如果采用了电源传输 (Power Deliver, PD) 协议,电压电流指标就可以提升到20V/5A即100W的最大功率,这就容许通过USB端口为大型设备如监视器等设备供电,也容许对含有大型电池包的笔记本电脑等设备进行充电。新的USB PD 3.0协议还支持可编程电源 (Programmable Power Supply, PPS) 协议,容许对总线电压和电流进行精确调节,而电压则可以低于5V。利用这样的协议,使用可调的总线电压对电池进行直接充电的高效直充系统就成为可能,这时的总线电压可以低达3V。标准的Type-C电缆额定的负载能力是3A,当更高的电流出现时,含有电子标签的电缆就必须被使用了,其中的电子标签可经CC线对电缆的能力进行标识。电子标签需要的电源供应是5V的,可用CC线经由电缆的VCONN向其提供。

        经由TX/RX线对提供的10Gbps高速通讯能力使得原来须由专用电缆提供的通讯如HDMI / DisplayPort/Thunderbolt等经由USB电缆进行传输成为了可能,4k的高清视频信号传输也完全没有问题。使高清HDMI信号经由USB Type-C电缆传输的应用需要将电缆的数据线进行特殊的配置,这被称为替换模式 (Alternate Mode)。

2、USB Type-C标准进行数据和电源配置的方法

 
未扭转、未翻转的直接连接

        显示的是电缆未扭转、插座未翻转时的连接状态。从左侧的插座到右侧的插座,RX1线对连接到TX1线对,RX2线对连接到TX2线对;D+与D+连接,D-与D-连接,SBU1与SBU2连接,CC1经由CC线与CC1连接。

        USB 3.1仅需使用两对数据线,在此案中,高速数据经由RX1+/-和TX1+/-从一端传递到另一端。

        电缆两端的VCONN是不需要连通的。为电缆中电子标签IC供电的VCONN来自电缆的一端,它在电子标签芯片被确定存在于电缆中即被提供。

 
电缆扭转以后的连接

        在这种情形下,从左侧的插座到右侧的插座,RX1线对连接到TX2线对,RX2线对连接到TX1线对,D+仍然连接到D+,D-仍然连接到D-,SBU1连接到SBU1,SBU2连接到SBU2,CC1经由CC线连接到CC2。现在,高速数据经由左侧的RX1+/-和TX1+/-到右侧的RX2+/-和TX2+/-进行传输。

        总共有4种可能的连接方式:插座翻转或不翻转,电缆扭转或不扭转。

        在USB 3.1的系统中,RX/TX数据线需要使用多路复用器针对各种可能的电缆连接状态对RX/TX线的连接状态进行配置,使得正确的通讯连接能够形成,下图显示了USB Type-C端口之间数据线的路由可能性。通过测量每个端子上CC1/2的状态即可了解电缆和插座的方向,CC逻辑控制器可据此完成多路复用器的路由配置,此工作既可在多路复用器中完成,也可能在USB芯片组中进行。

3、电源传输
        在不采用电源传输协议的USB Type-C接口中,电源从源端传输到吸端的方法如下图所示。

        USB Type-C的源端总是包含有一个用于接通/关断VBUS的MOSFET开关,它也可能具有VBUS电流的检测能力,其主要作用是对过流状况进行检测,另外还会含有VBUS的放电电路。CC1和CC2的检测电路在源端和吸端都会存在。

        CC (Channel Configuration) 线的作用是对两个连接在一起的设备进行电源供应的配置。初始情况下,USB Type-C接口的VBUS上是没有电源供应的,系统需要在电缆连接期间进行设备角色的定义,插座上的CC线被上拉至高电平的设备将被定义为电源供应者即源端,而被下拉至低电平的设备将被定义为电源消费者即吸端。

        上图显示出了确定电源供求角色、电缆方向和电流供应能力的方法。源端的CC1和CC2通过电阻Rp被拉高,被监测着的CC1/CC2在没有连接任何东西时总是处于高电平,一旦吸端接入,CC1或CC2的电压就被电阻Rd拉低了。由于电缆中只有一条CC线,因而源端可以分辨出是哪个CC端被拉低了。吸端的CC1/CC2的电压也同样被监测着,一旦发现某条CC线被拉高了,其电压水平就让吸端知道源端电流供应能力。电路中的上拉电阻Rp也可以用电流源代替,这在集成电路中很容易实施,而且可以不受V+电源电压误差的影响。

        吸端的下拉电阻Rd的定义值是5.1kΩ,因而CC线的电压是由源端上拉电阻Rp的值(或电流源的电流值)决定的。已经定义的总线电流能力有3档,最低的CC线电压(大约0.41V)对应的是默认的USB电源规格(USB 2.0的500mA 或 USB 3.0的900mA),较高的CC线电压(大约0.92V)对应的电流能力是1.5A。假如CC线电压为大约1.68V,对应的最大电流供应能力为3A。相关数据可参照下图。

        下图示范了一个测量案例,其中的电源供应端(源端)被连接到了电源消费端(吸端),使用了普通的USB Type-C电缆。

        最初的时候,源端插座上的CC1和CC2都被电阻Rp上拉至高电平,吸端的CC1和CC2都被下拉电阻Rd下拉至低电平。

        电缆接通以后,CC1或CC2根据电缆的插入方向而被上拉至较高电压。本案中的电缆没有处于扭转状态,源端的CC1和吸端的CC1之间被接通,CC1上出现由Rp和Rd分压以后的电压,此电压将由吸端进行测量并由此知道源端的电流供应能力是多少。

        在此案例中,接通以后的CC1的电压大约是1.65V,意味着源端最大能供应3A电流。

        CC线的连接被确定以后,VBUS上的5V电压将被接通。

        在不含电源传输协议的系统中,总线上的电流供应能力由分压器Rp/Rd确定,但源端只会供应5V电压。

 

        引入电源传输 (Power Delivery, PD) 协议以后,USB Type-C系统的总线电压可以增加到最高20V,源端和吸端之间关于总线电压和电流的交流通过在CC线上传输串行的BMC编码来完成。

        包含PD协议的USB Type-C系统从源端到吸端的系统框图如下图所示

        现在的源端内部包含了一个电压转换器,它是受源端PD控制器控制的。根据输入电压条件和最高总线电压的需求,该电压转换器可以是Buck、Boost、Buck-Boost或反激式转换器。经过CC线进行的PD通讯也在PD控制器的管控之下。USB PD系统还需要有一个开关可以将Vconn电源切换至一条CC线上。

        当电缆的连接建立好以后,PD协议的SOP通讯就开始在CC线上进行以选择电源传输的规格:吸端将询问源端能够提供的电源配置参数(不同的总线电压和电流数据)。由于吸端对电源的需求常常是与吸端的系统有关的(例如电池充电器),吸端的嵌入式系统控制器就需要先与吸端的PD控制器进行通讯以确定相应的规格。

        下图示范的是吸端的PD控制器申请一个较高的总线电压的例子。

 

        吸端和源端之间在CC线上进行的通讯看起来像如下的样子:

        1. 吸端申请获得源端的能力数据。

        2. 源端提供它的能力数据信息。

        3. 吸端从源端提供的能力数据信息中选出适当的电源配置参数并发出相应的请求。

        4. 源端接受请求并将总线电压修改成相应的参数。在总线电压变化期间,吸端的电流消耗会保持尽可能地小。源端提升总线电压的过程是按照定义好的电压提升速度来进行的。

        5. 总线电压达到最后的数值以后,源端会等待总线电压稳定下来,再发送出一个电源准备好信号。到了这时候,吸端就可以增加其电流消耗了。当吸端希望总线电压降低的时候,同样的通讯过程也会发生。

        在总线电压下降期间,源端会激活一个分流电路,通过主动的总线放电使总线电压快速降低。达到额定值以后,源端会等待一段稍长的时间让总线电压稳定下来,然后再送出一个电源准备好信号。

        这样的通讯方法可确保总线上的任何电源变化都落在源端和吸端的能力范围内,避免出现不可控的状况。当Type-C电缆的连接被断开时,总线上的电源也被关断,任何新开始的连接都会进行电缆连接检测,电压也总是处于5V,这样就可以避免在电缆接通时有高电压从一台设备进入另一台设备 。

        USB PD通讯使用的是双相标记码 (Bi-phase Mark Code, BMC),此码是一种单线通信编码,数据1的传输需要有一次高/低电平之间的切换过程,数据0的传输则是固定的高电平或低电平。每个数据包都含有0/1交替的前置码、报文起始码 (Start of Packet, SOP)、报文头、信息数据字节、CRC循环冗余编码和报文结束码 (End of Packet, EOC),参见下图:

        下图展示的是一次要求总线电压升高的PD通讯的波形从密集至展开的样子,从最后展开的波形中可以看出前置码的序列。

        BMC通讯数据可以用USB PD解码器进行解码,Ellisys的EX350分析仪就是这样的设备。有了这种工具以后,PD通讯的数据就可以被捕获下来并显示出每个数据包的意义,其中含有与时间相关的数据如总线电压值、CC线上的波形等,参见下图

 

4、电源配置清单

        USB PD 3.0规范定义了下列电源配置清单:

        有4个独立的电压值是预先定义好的:5V、9V、15V和20V。对于5V、9V和15V来说,最大的电流为3A。在20V的配置中,如果电缆是普通的,最大容许的输出是20V/3A即60W。假如使用了特别定制的含电子标签电缆,相应的数据可以放大到20V/5A即100W。一个系统在支持最高的电压和功率等级的情况下还必须同时支持所有的较低的电压和功率等级。

5、含有电子标签的电缆

        USB Type-C规范定义了各种不同规格的电缆。低速的USB 2.0电缆没有特别的要求,只是要求其电流承载能力要达到3A。支持超速数据传输的USB 3.1电缆或是电流承载能力超过3A的电缆必须使用电子标签进行标识。图22所示的电缆中含有IC,其作用就是对电缆特性进行标识。这种具有活力的电缆也可以包含用于信号整形的IC,它们都需要从电缆的VCONN端子获得电源供应。

        含有电子标签IC的电缆中的Vconn上都含有1kΩ的下拉电阻Ra,其值要小于典型值为5.1kΩ的电阻Rd。这样的电缆在插入时,源端都会看到CC1和CC2电压下降的情况,具体的电压水平将告诉主机哪个端子被吸端的5.1kΩ电阻下拉了、哪个端子被电缆的1kΩ电阻下拉了,因而电缆的插入方向就可以被确定下来。Ra的下拉作用也能让源端知道VCONN需要得到5V的电源供应,因而需要向CC端供电以满足电子标签的电源需求。

        下图显示了一个测试案例,电源供应端(源端)被使用了电子标签的电缆连接到电源消耗端(吸端),其中的电缆是处于扭转的状态 。从中可以看到,当电缆接通以后,源端的一条CC线被来自VCONN端的1kΩ低电阻拉到了很低的电压。

        源端将检测到此电压,并由此知道电缆中含有电子标签,于是就会将5V的VCONN电源接入CC线以实现对电缆内部电路的供电。

        在其后发生的PD通讯中将会包含源端和电子标签之间的通讯(称为SOP’或SOP”)以及源端和吸端之间的通讯(称为SOP)。

6、电源的双重角色

        有的USB Type-C设备既可做源端,又可做吸端,它们被称为支持双重角色的设备 (Dual Role for Power, DRP)。这种设备的CC1和CC2端在互连以前处于高低电平交替变换的状态,一旦连接发生,两者的CC端都会发生改变,如下图所示。

 

        在这次连接事件中,左边的DRP设备选择做了源端,右边的DRP设备选择做了吸端。这个情形也可能反转过来,除非一台DRP设备已经被设定为源端优先(例如它由外部电源适配器供电时),或是被设定为吸端优先(例如处于由电池供电的情形)。

        电源角色的转换在连接期间也是可以发生的,只要连接在一起的两台DRP设备中有一台设备发起了角色变换的要求就行,下图显示了这样的角色变换的过程。


http://chatgpt.dhexx.cn/article/Jmqo93dr.shtml

相关文章

PD功能介绍

PD(Placement Driver),集成了ETCD, ETCD的Raft保证了数据的一致性; PD作用 整个集群TiKV元数据的存储分配全局ID和事物ID生成全局时钟TSO-事物开始时间、提交时间等搜集集群信息进行调度搜集Label功能支持高可用提供TiDB Dashboard功能 TSO physical …

python中pd是什么意思_python pd

广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 这里我们的目的是通过智能过滤器来减少查询cpu时间我想要通过其他数据框列名来过滤pd.read_sql中的列可能吗? 第1步:df1数据帧age1和age3是我未来的pd.read_s…

OBS多路推流插件使用方法(超级详细,亲测可用)

前提:OBS版本需要高于25.0 一、下载地址: https://download.csdn.net/download/longgeaisisi/12597711 二、下载后解压内含文件如下: 三、把这两个文件复制到你OBS安装目录下,覆盖: 四、重启OBS软件,这时…

视频直播推流与拉流的实现

序言 最近在研究直播的弹幕,东西有点多,准备记录一下免得自​​己忘了又要重新研究,也帮助有这方面需要的同学少走点弯路。关于直播的技术细节其实就是两个方面一个是推流一个是拉流,而弹幕的实现核心在即时聊天,使用聊…

直播推流优化|音视频开发

直播推流端是整个直播内容的生产源头。我们熟知的推流工具有:PC 推流工具 OBS、手持设备和各个直播平台的手机推流 App、针对一些复杂场景有更专业的导播台硬件等等。虽然工具众多,但推流端的整个工作流程还是比较固定的: 摄像头、麦克风采集…

OBS推流工具介绍及桌面录屏推流功能实现

OBS推流工具介绍及桌面录屏推流功能实现 文章目录 OBS推流工具介绍及桌面录屏推流功能实现1 OBS工具介绍2 OBS工具安装及简单使用2.1 安装步骤2.2 简单使用介绍 3 OBS实现桌面录屏推流工具实现4 总结 流媒体开发工程中,我们除了使用ffmpeg等工具辅助调试外&#xff…

RTMP推流方案总结

由于项目需要 RTMP 推送 H264 数据,在网上查找了下相关的方案,总结一下。 RTMP协议简介 在总结之前,我们先简单介绍一下 RTMP 协议。 RTMP(Real Time Messaging Protocol) 实时消息传送协议是 Adobe Systems 公司为 Flash 播放器和服务器之间…

推流工具 OBS 使用指南

推流工具 OBS 使用指南 内容转载阿里云文档–第三方推流工具使用指南 OBS介绍 什么是OBS? Open Broadcaster Software 是一款好用的直播流媒体内容制作软件。 OBS使用是否收费? 不收费,这个程序和它的源代码都是免费的。 OBS都支持哪些…

rtmp推流和拉流

提前说明,文章所用主要摘自网络,本文只是整合。鉴于来源太多,不进行引用说明 NGINX 安装nginx及安装nginx模块 nginx下载地址 http://nginx.org/download/nginx-1.20.1.tar.gz nginx-rtmp模块 组件下载地址 https://github.91chifun.w…

使用软件实现直播推流

rtmp媒体服务器:这里使用srs :https://github.com/ossrs/srs 首先clone到本地,进入到trunk目录: git clone https://github.com/ossrs/srs.git cd srs/trunk ./configure 最后执行:make 执行成功后,就…

基于FFmpeg进行rtsp推流及拉流(详细教程)

目录 1. 安装FFmpeg 1.1 Windows系统 1.2 Ubuntu 和 Debian 系统 1.3 CentOS 和 Fedora 系统 1.4 macOS系统 2. 安装rtsp-simple-server 3. FFmpeg推流 3.1 UDP推流 3.2 TCP推流 3.3 循环推流 4 拉流 4.1 ffplay/VLC拉流显示 4.2 FFmpeg拉流保存成视频 1. 安装FFm…

音视频直播推流和拉流到底是什么意思?

为什么直播现场的信息,用户通过手机或者网站就能很快的看到呢?为什么有时候网络不稳定,直播效果会有延迟呢?现场的视频信号又是如何传到网络呢? 这些所有问题的产生,都离不开视频直播中常说的两个词&#…

音视频流媒体-推流与拉流简介

一、概念 话不多说,先了解概念,再看示意图更直观: 1.1 推流 推流:将直播的内容推送至服务器的过程。即指的是把采集阶段封包好的内容传输到服务器的过程。其实就是将现场的视频信号传到网络的过程。“推流”对网络要求比较高&a…

不用第三方写一个简单的推流软件

https://github.com/iOSSinger/SGLivingPublisher 不用第三方写一个简单的推流软件 6 commits 1 branch 0 releases 1 contributor Objective-C 100.0% Objective-C Clone or download Find file Branch: master New pull request Latest commit 122566b on 16 Feb iOSS…

RTMP 利用第三方软件实现数据推流与客户端播放

服务器的搭建建 Red5 搭建基于RTMP协议的流媒体服务器 1.软件 数据推流软件 flash_media_live_encoder_3.2 客户端播放软件 vlc-2.1.5-win32.1406534096 2.安装软件 直接双击安装即可 3.数据推流 使用flash encoder软件 设置服务器的URL rtmp://localhos…

视频直播推流攻略(整理的各大平台推流界面)

如果我要做一场高端大气的直播活动,需要用高清摄像机拍摄画面,需要接入无人机的高空画面,需要在直播中插入多个镜头,甚至需要把电脑桌面共享到直播画面中...... 该如何将这类现场信号采集并整合起来传输到网络呢? 这个…

推流工具OBS 支持webrtc推流

OBS 是一款好用的直播流媒体内容制作软件,为用户提供了视频、文本、图像等的捕获录制功能,OBS 界面简洁并专业,功能强大。OBS 程序和其源代码都是免费提供给大家使用,版本更新一直比较活跃,支持 OS X、Windows、Linux …

直播-拉流和推流概述

拉流(播放) 根据协议类型(如RTMP、RTP、RTSP、HTTP等),与服务器建立连接并接收数据; 解析二进制数据,从中找到相关流信息;根据不同的封装格式(如FLV、TS)解…

【流媒体】推流与拉流简介

本文目录 一、概念 1.1 推流 1.2 拉流 二、示意图 三、RTMP传输协议 四、流媒体协议与格式 一、概念 话不多说,先了解概念,再看示意图更直观: 1.1 推流 推流:将直播的内容推送至服务器的过程。即指的是把采集阶段封包好的…

OBS推流直播软件安装教程

OBS推流直播软件安装教程 一、安装推流软件 1.双击运行 OBS-Studio-21.1-Full-Installer.exe 安装包程序 2.点击 Next 3.点击I Agree (不知道为啥显示图片了 可以复制里面的连接到浏览器打开) 4.点击Next 5.点击Install 6.点击Finish&#xff0…