当前位置: 首页 > news >正文

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

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.lryc.cn/news/217065.html

相关文章:

  • 【华为】路由器以PPPoE拨号接入广域网
  • Linux内核分析(一)--内核架构和子系统
  • 【PyQt学习篇 · ⑨】:QWidget -控件交互
  • 新版本IntelliJ IDEA(如2023)中运行Spring Boot找不到VM options进行端口的修改的问题解决
  • Swift语言配合HTTP写的一个爬虫程序
  • 【lvgl】linux开发板搭建环境
  • C之(10)CMocka-单元测试框架使用
  • 如何在idea中使用maven搭建tomcat环境
  • 单点登录
  • 大数据(十):数据可视化(二)
  • pytorch+LSTM实现使用单参数预测,以及多参数预测(代码注释版)
  • 腾讯云3年/5年特惠云服务器购买入口及攻略
  • 【Linux】jdk Tomcat MySql的安装及Linux后端接口部署
  • 天空卫士为集度智能汽车系上“安全带”
  • vue el-table-column 修改一整列的背景颜色
  • docker 安装 minio (单体架构)
  • docker搭建kafka
  • 给Nginx配置环境变量
  • CHS零壹视频恢复程序高级版视频修复OCR使用方法
  • android display 杂谈(三)WMS
  • Docker Macvlan网络创建及通信配置
  • 删除文件要谨慎!如何在Linux中删除目录或文件
  • 使用 Docker 部署高可用 MongoDB 分片集群
  • 树莓派安装64位桌面版Ubuntu教程
  • 【sql注入】sql关卡1~4
  • 【机器学习合集】模型设计之注意力机制动态网络 ->(个人学习记录笔记)
  • 【jvm】方法的调用
  • Linux中的进程等待
  • ubuntu22.04桌面完整版配置WiFi方法(修改磁盘文件方式--不需要显示器)(注意了:后来发现这个方法是错误的!!!)
  • React项目使用craco修改webpack配置