USB PD v1.0快速充电通信原理

news2024/11/25 0:21:51

1 原理
本篇文章讲的快速充电是指USB论坛所发布的USB Power Delivery快速充电规范(通过VBUS直流电平上耦合FSK信号来请求充电器调整输出电压和电流的过程),不同于本人发布的另一篇文章所讲的高通Quick Charger 2.0规范,因为高通QC2.0是利用D+和D-上的不同的直流电压来请求充电器动态调整输出电压和电流实现快速充电的过程。

 

USB PD v1.0的通信是将协议层的消息调制成24MHZ的FSK信号并耦合到VBUS上或者从VBUS上获得FSK信号来实现手机和充电器通信的过程。

如图所示,在USB PD通信中,是将24MHz的FSK通过cAC-Coupling耦合电容耦合到VBUS上的直流电平上的,而为了使24MHz的FSK不对Power Supply或者USB Host的VBUS直流电压产生影响,在回路中同时添加了zIsolation电感组成的低通滤波器过滤掉FSK信号。 

USB PD的原理,以手机和充电器都支持USB PD为例讲解如下:
1) USB OTG的PHY监控VBUS电压,如果有VBUS的5V电压存在并且检测到OTG ID脚是1K下拉电阻(不是OTG Host模式,OTG Host模式的ID电阻是小于1K的),就说明该电缆是支持USB PD的;
2) USB OTG做正常BC1.2规范的充电器探测并且启动USB PD 设备策略管理器,策略管理器监控VBUS的直流电平上是否耦合了FSK信号,并且解码消息得出是CapabilitiesSource 消息,就根据USB PD规范解析该消息得出USB PD充电器所支持的所有电压和电流列表对;
3) 手机根据用户的配置从CapabilitiesSource消息中选择一个电压和电流对,并将电压和电流对加在Request消息的payload上,然后策略管理器将FSK信号耦合到VBUS直流电平上;
4) 充电器解码FSK信号并发出Accept消息给手机,同时调整Power Supply的直流电压和电流输出;
5) 手机收到Accept消息,调整Charger IC的充电电压和电流;
6) 手机在充电过程中可以动态发送Request消息来请求充电器改变输出电压和电流,从而实现快速充电的过程。

目前2014年有好几家芯片厂商做出了USB PD v1.0芯片,下举例:
uPD720250 瑞萨
UPD100X microchip

2 Abbreviations
ARC:Argonant RISC Core
AT91SAM9260:SAM means Smart ARM-based Microcontroller
ATMEL SAMBA:ATMEL Smart ARM-based Microcontroller Boot Assistant
CC2530:TI ChipCon2530
DWC2:Design Ware Controller 2,Apple的嵌入式设备,包括iPad和iPhone都是使用的DWC2
ISP1161:Philips' Integrated host Solution Pairs 1161,“Firms introduce USB host controllers”,https://www.eetimes.com/document.asp?doc_id=1290054
Quirks:the attributes of a device that are considered to be noncompliant with expected operation
SL811HS:Cypress/ScanLogic 811 Host/Slave,性能上与ISP1161(Integrated host Solution Pairs 1161)相当
TDI:TransDimension Inc.,该公司首先发明了将TT集成到EHCI RootHub中的方法,这样对于嵌入式系统来说,就省去了OHCI/UHCI的硬件,同时降低了成本,作为对该公司的纪念,Linux内核定义了宏ehci_is_TDI(ehci);产品UHC124表示USB Host Controller;收购了ARC USB技术;现已被chipidea收购,chipidea又被mips收购
TLV:TI Low Value,高性价比
TPS:TI Performance Solution
TT:Transaction Translator(事务转换器,将USB2.0的包转换成USB1.1的包)

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

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

相关文章

uniapp自定义权限菜单,动态tabbar

已封装为组件&#xff0c;亲测4个菜单项目可以切换&#xff0c; 以下为示例&#xff0c;根据Storage 中 userType 的 值&#xff0c;判断权限菜单 <template><view class"tab-bar pb10"><view class"tabli" v-for"(tab, index) in ta…

C语言实现把一个字符串插到另一个字符串中的指定位置

完整代码&#xff1a; // 把一个字符串插到另一个字符串中的指定位置 #include<stdio.h> #include<stdlib.h> //字符串的最大长度为10 #define N 10int main(){//把str2插入到str1中char *str1(char *)malloc(N*sizeof(char));char *str2(char *)malloc(N*sizeof(…

易思无人值守智能物流系统Sys_ReportFile文件上传漏洞复现

文章目录 易思无人值守智能物流系统Sys_ReportFile文件上传漏洞复现0x01 前言0x02 漏洞描述0x03 影响版本0x04 漏洞环境0x05 漏洞复现1.访问漏洞环境2.构造POC3.复现 0x06 修复建议 易思无人值守智能物流系统Sys_ReportFile文件上传漏洞复现 0x01 前言 免责声明&#xff1a;请…

Learning to Segment Rigid Motions from Two Frames 代码复现

环境配置 https://github.com/gengshan-y/rigidmask 1.拉取代码 git clone https://github.com/gengshan-y/rigidmask.git cd rigidmask2.创建conda环境&#xff0c;修改rigidmask.yml name: rigidmask channels:- pytorch- pytorch3d- conda-forge- defaults dependencies…

HashMap源码分析——Java全栈知识(8)

jdk1.7和jdk1.8的HashMap的原理有一点出入我们就分开讲解&#xff1a; 1、JDK1.7中的HashMap JDK1.7中的HashMap是通过数组加链表的方式存储数据。他的底层维护了一个Entry数组&#xff0c;通过哈希函数的计算出来哈希值&#xff0c;将待填数据根据计算出来的哈希值填入到对应…

memset的用处

这个memset是真的究极坑中坑,这玩意对int数组是压根没法初始化-1,0其他任何数,以后除了-1和0,其他的一概不能用这玩意,这个是真的坑,一旦出了错巨难找 初始-1 初始0 初始1

JTS: 13 Polygonizer 多线合成面

这里写目录标题 版本代码 版本 org.locationtech.jts:jts-core:1.19.0 链接: github 代码 线段 生成之后的面 public class GeometryPolygonization {private static final GeometryFactory geometryFactory new GeometryFactory();private static final Logger LOGGER …

Vue2别踩白块(第二种)

效果图: 点击黑块变灰 游戏结束 功能简介 点击白块直接失败,点击黑块得计一分。 代码逻辑 其实和第一种类似,唯一区别在于此种方式的判断滚动到底部是否有违背点击的黑块的算法。 1、数组存放白块数据:二维数组,数组内部单个元素为一个四位数字的数组,其中1代表黑块,0代…

移动硬盘只读模式怎么取消?

当硬盘驱动器处于为只读模式时&#xff0c;您仅能读取保存在该驱动器中的数据&#xff0c;但却无法添加新数据和修改当前数据。如果您想要对数据做一些改变就需要取消只读模式。那么&#xff0c;移动硬盘只读模式怎么取消&#xff1f; 方案一&#xff1a;使用命令提示符移除只读…

生产环境docke问题排查

查看进程top查看具体的线程 top -H -p 8898如果cpu 过高&#xff0c;就是有问题的地方&#xff1b; 接下来根据docker查看具体的问题 查看dockers容器哪个内存、cpu占用过高 docker stats前言&#xff1a; 有java 启动容器&#xff1b;有jre包启动的容器。如下图 根据cpu很高…

Microsoft 365一键安装、激活!(附安装包)

下面将介绍的是Microsoft 365一键安装。 安装包&#xff1a;https://dnmjun.lanzout.com/iBFGZ1ddxql 安装步骤 1、下载得到安装包后&#xff0c;先解压&#xff01; 2、双击OfficeSetup开始安装 3、进入正式安装了&#xff0c;耐心等即可。 4、下载过程会需要点时间&#x…

Data Uncertainty Learning in Face Recognition

传统的面部识别方法即使在图片中面部模糊的情况下&#xff0c;耶给出确定的面部识别特征 事实上&#xff0c;这种模糊的代表着数据的不确定性&#xff0c;这个网络向我们展示了在不确定视角下&#xff0c;简单的回归任务和面部识别回归任务共享同样的模式 在这篇论文中&#xf…

数控机床数字孪生可视化平台,推动智能装备水平整体提升

作为智能制造的中重要装备之一&#xff0c;数控机床正朝着智能化、精密化、数字化、可视化的目标发展。数字孪生技术是一种新兴的技术&#xff0c;可以将物理机床仿真为虚拟机床&#xff0c;以实现更高效的数控机床调试。数字孪生是指将实际物理系统与其数字化的虚拟模型相结合…

Confluence未授权管理用户添加漏洞复现 (CVE-2023-22515)

Confluence未授权管理用户添加漏洞复现 【CVE-2023-22515】 一、漏洞描述二、漏洞影响版本三、网络空间测绘查询四、漏洞复现1.手动复现2.自动化复现小龙POC检测nuclei检测 免责声明&#xff1a;请勿利用文章内的相关技术从事非法测试&#xff0c;由于传播、利用此文所提供的信…

python脚本-requests模块

python脚本-requests模块 模拟浏览器 import requests url"http://10.9.47.154/php/arrayprac/get.php" headers {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.0.5195.102 Sa…

创建ABAP数据库表和ABAP字典对象-使用已存在的数据元素增加城市字段04

基于内置域增加一个字段 1.在编辑器中&#xff0c;输入字段的名称&#xff0c;后跟冒号:city:。暂时忽略这个错误。2. 输入/MOC/C并使用自动补全(**Ctrl空格**)&#xff0c;输入类型。3. 然后添加一个分号:city: /moc/city;4.在SAP GUI中查看&#xff0c;字段已经新增

Java-数组的定义与使用

本章重点&#xff1a; 1. 理解数组基本概念 2. 掌握数组的基本用法 3. 数组与方法互操作 4. 熟练掌握数组相关的常见问题和代码 1. 数组的基本概念 1.1 为什么要使用数组 public class TestStudent{public static void main(String[] args){int score1 70;int s…

子管理员运营权限管理,实现更加精细的权限控制,管理各个小组的学员、题库和考试

土著刷题Plus专业版&#xff0c;以【录题-分组-刷题-考试】为中心打造一套完备的在线组卷刷题学习平台&#xff0c;自定义品牌名称和Logo&#xff0c;入驻后&#xff0c;您将拥有自己独立的企业级专业运营管理平台。 土著刷题Plus专业版v1.3版本&#xff0c;我们迭代了运营权限…

java--类和对象的一些注意事项

1.类和对象的一些注意事项 ①类名建议用英文单词&#xff0c;首字母大写&#xff0c;满足驼峰模式&#xff0c;且要有意义&#xff0c;比如&#xff1a;Student、Car...(只是建议&#xff0c;你其什么名字都没关系&#xff0c;只是当大部分人都在用这条规矩的时候&#xff0c;…

同时标注分割、检测、多分类属性的工具

1、 https://blog.csdn.net/minstyrain/article/details/82385580/ 2、 https://zhuanlan.zhihu.com/p/656703406