【转载】解读USB-IF电池充电规范

2023-11-05

最近学电源管理驱动这一步分,对于电池充电规范不太理解,转载下来自己看

http://www.eechina.com/thread-4943-1-1.html


电池充电规范


  原有USB2.0规范并没有考虑到使用USB接口为便携式设备的电池进行充电的需求,而这样的需求却越来越多。BC规范要解决的就是这个问题,符合规范的设备和系统即向下兼容USB2.0标准,又针对充电做出了特别的优化。

  实际上,BC规范的核心内容就是引入了充电端口识别机制。一个符合BC规范的便携式USB设备或OTG设备通过这套机制可以识别出是插到了一个标准的USB下行接口(Standard Downstream Port );一个USB专用充电器(USB Charger);还是一个针对充电做过优化的USB下行接口(Charging Downstream Port)。然后,这些设备将根据不同的情况,按照BC规范的要求来获取不同的电流

便携式设备和三种USB充电接口

  ● Portable Device

  Portable Device(以下简称PD)指电池供电的便携式USB外设或者OTG设备,可以通过USB接口来为自身的电池充电。BC规范建议这些的PD应该具备相应的端口识别能力和对从USB总线获取电流的控制能力。

  ● Standard Downstream Port

  基本上,这个Standard Downstream Port指符合现有USB2.0规范的主机(HOST)或集线器(HUB)上的下行USB接口。根据USB2.0规范,当USB外设处于未连接(un-connect)或休眠(suspend)的状态时,一个Standard Downstream Port可向该外设提供不超过2.5mA的平均电流;当外设处于已经连接并且未休眠的状态时,电流可以至最大100mA;而当外设已经配置 (configured )并且未休眠时,最大可从VBUS获得500mA电流。

  ● Charging Downstream Port

  Charging Downstream Port是即兼容USB2.0规范,又针对USB充电作出了优化的下行USB接口,它可以是主机上的USB接口,也可以是USB集线器上的。这些下行USB接口能配合Portable Device 完成充电端口识别动作,并提供最大至1.5A的供电能力,满足PD大电流快速充电的需求。

  今后很有可能会出现这样的产品,一台笔记本电脑上1个Charging Downstream Port和多个Standard Downstream Port同时存在,用户可以将手机或其他PD连接到Charging Downstream Port进行快速充电,并且在充电的同时可以进行数据连接。

  ● USB Charger

  BC1.1规范中定义的USB Charger与目前市面上可以买到的USB专用充电器类似。USB Charger通过USB口为PD提供充电所需电能,BC1.1要求将USB Charger中的D+和D-进行短接,以配合PD的识别动作,但它不具备和USB设备通信的能力。规范中对USB Charger的电压电流输出能力做出了较严格要求,以确保PD的安全。

  USB端口识别机制

  BC规范的核心在于充电识别机制,通过这个机制,当PD插入到USB接口时,PD将识别出所插入的USB接口类型。

  当PD插入到USB接口以后,它向D+上加载一个0.6V左右的电压(VDP_SRC),随后,PD开始检测D-线上的电压,查看是否收到0.6V的电压回应 (VDM_SRC)。因为Standard Downstream Port不会对D+上的0.6V信号作出任何回应,所以如果PD插入的是Standard Downstream Port,那么D-将保持为低电平(图1)。

1.jpg

  在Charging Downstream Port中,采用了与PD类似并且与之互补的检测电路,当它检测到D+上有0.6V时,它将随即向D-加载0.6V电压,以回应PD;而在USB Charger中,由于D+和D-是短接的,所以当D+上被加载0.6V电压时,D-也变成了0.6V。所以,PD插入到Charging Downstream Port 或是USB charger, 则D-线上会被回应一个0.6v电压。此后,PD先将D+(PD为高速或全速设备)或D-(PD为低速设备)拉高至逻辑高电平, 然后通过检测另外一根数据线的电压来区分是Charging Downstream Port 还是USB charger。因为Charging Downstream Port在充电检测时期,只回应VDP_SRC而不会回应逻辑高电平,所以它将保持数据线为低(图2)。

2.jpg

  由于USB charger内部短接了D+和D-,如果一根数据线被拉高,那么另一根数据线也将变成高电平(图3)。

3.jpg

  通过以上的检测机制,PD就可以识别出所插入的是何种USB端口。

  无电电池充电机制

  无电电池充电机制Dead Battery Provision(以下简称DBP)在BC1.1规范中是一个独立的章节,DBP针对一个装有无电或低电量电池的PD插入到Standard Downstream Port的情况进行了新的规范,它实际上是对USB2.0规范的扩展,确保BC1.1规范向下兼容USB2.0规范。

  USB2.0规范要求USB外设在未连接HOST时,从VBUS吸取的电流不能超过2.5mA。但有一些PD在启动时的数秒钟内需要消耗100mA以上的电流,如果这些便携设备自身的电池电量不足或彻底没电时,它将从VBUS上获取这些电流。因此,当这样的设备插入到USB端口时,可能无法启动;更多情况是,由于多数HOST或者HUB并不限制设备消耗的电流,因此设备将以大电流启动,虽然他们也可以正常工作,但是这将导致USB系统的不稳定,同时这些设备也不能通过USB兼容认证测试。

  DBP就是针对这种情况,有条件地放宽了USB2.0的要求。DBP规定,使用电池的便携式USB设备在插入(Attach)到USB端口到和主机连接(Connect)这一时间段内,最多可以从VBUS获取100mA的电流(USB2.0标准是2.5mA),但是要满足下列条件:

  ● PD安装的电池应该处于无电或低电量的状态,即PD使用这样的电池将不能开机;

  ● 当PD插入到USB端口以后并需要开始获取大于2.5mA的电流时,PD须将D+拉高至0.5-0.7V,并一直保持到和主机连接(Connect);

  ● 这些从VBUS获取的电流应该用于PD给电池充电,从而使得PD最终能够连接(Connect)和枚举(Enumerate);

  ● 这个以大于2.5mA电流充电的过程不得超过45分钟。

  充电电流比较

  BC规范通过对原有USB2.0的扩展和引入新的充电机制,较大地提升了USB接口的充电能力,方便PD以大电流快速充电。表1给出了不同情况下,供给PD充电的最大电流。

  辅助充电适配器(Accessory Charger Adapter)

  BC1.1较之1.0版本,新引入了辅助充电适配器(Accessory Charger Adapter 以下简称ACA)的概念。

  随着便携式设备变得越来越小,多数的PD只有一个USB接口用于连接外设或者充电, 但连接外设和充电不能同时进行。例如,当一部手机通过USB接口连接了外置耳麦的时候,就不能通过USB接口进行充电了。ACA的用途就是让PD可以同时连接USB外设和通过USB端口充电。

  ACA具有三个端口:OTG Port用于连接便携式设备(OTG Device);Accessory Port 用于连接USB外设;Charger Port用于连接USB充电端口,可以是一个USB专用充电器也可以是一个Charging Downstream Port(图4)。

4.jpg

  相关测试

  目前,和BC1.1配套的测试规范正在由USB-IF Battery Charging小组制定中。根据BC1.1的内容,测试规范将分成三个部分:Portable Device Compliance Plan;Charging Port Compliance Plan;ACA Compliance Plan。

  其中,前两个部分完成后,将被纳入到现有的USB兼容测试证中去。也就是说,如果一个PD产品需要获得USB兼容性认证(使用USB Logo),不仅要进行传统USB兼容测试,还要进行BC部分的测试。

  Portable Device Compliance Plan检测PD是否满足BC1.1规范,主要有两个方面,一是针对BC1.1中的DBP部分,重点检查当一个安装电池的PD插入一个Standard Downstream Port时,PD从USB总线消耗的电流是否满足要求;消耗的电流是否只用于电池充电而不用于其他;当PD消耗的电流以大于2.5mA时,PD是否向D+上加载0.6v电压D插入USB端口时的冲击电流是否满足要求等等。另一方面,Portable Device Compliance Plan将着重测试PD的充电端口检测机制。被测PD将被分别连接至Stand Downstream Port,Charging Downstream Port和Dedicated Charging Port,同时,PD上的电压(VBUS)、电流( IBUS)、D+,D-将被记录下来,这些电压电流以及时序关系将被用来判断该PD是否符合BC1.1规范。

  Charging Port Compliance Plan针对USB专用充电器以及Charging Downstream Port进行测试。主要包括对电压,电流等输出参数的测试,还包括上冲/下冲,短路/恢复等特定情况的测试。

  需要指出的是,目前已经颁布的中国手机充电器标准(YDT 1591-2006)与本测试的部分内容相似,但也有所区别。总体上来讲,YDT 1591-2006只针对USB充电器作出了规范,并在充电器绝缘、安规等方面给出了详细的要求;而BC1.1规范引入了完善的充电机制并给出了相关的具体要求,它涉及充电电能的使用者(便携式外设)和充电电能的提供者(USB端口)两个方面。而对于USB专用充电器部分, BC1.1中有专门定义和规范,并且对于USB专用充电器输出能力、短路保护、标识等提出更详细的要求。

  结语

  USB是一个成功的接口标准,数以亿计的USB设备遍布于我们的生活中。BC1.1规范给予了USB标准以新的活力,它一方面解决了现有USB2.0标准的不足,另一方面为消费者提供了更大的便利。相信会有更多的USB便携式设备使用USB接口进行充电,也相信BC标准会在不久的将来得到迅速推广和普及。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【转载】解读USB-IF电池充电规范 的相关文章

  • 图像超分辨率重建原理学习

    原文链接 https blog csdn net gwplovekimi article details 83041627 目录 超分辨率 Super Resolution SR 传统的图像超分辨率重建技术简介 基于插值的图像超分 基于重建
  • JDK20又来了!你还在用JDK8么?

    文章目录 前言 JDK 20发布 JDK20下载 JDK 20新特性 矢量API 虚拟线程 第二次优化 结构化并发 Scoped values 作用域值 记录模式 第二次优化 外部函数和内存API switch语句和表达式的模式匹配 写在最
  • Linux命令+shell脚本大全:shell 的父子关系

    用于登录某个虚拟控制器终端或在GUI中运行终端仿真器时所启动的默认的交互shell 是一 个父shell 本书到目前为止都是父shell提供CLI提示符 然后等待命令输入 在CLI提示符后输入 bin bash 命令或其他等效的 bash
  • 网络编程(三次握手、四次挥手)

    一 Wireshark 窗口介绍 二 wireshark与对应的OSI七层模型 服务器和客户端的代码不能都运行在ubuntu 因为wireshark抓的是流经真实网卡的数据包 若将服务器客户端都运行在ubuntu 数据直接经过虚拟网卡通信
  • Spring cloud Gateway版本升级踩坑总结

    目录 背景 问题及方案 1 Kubernetes pom文件中的依赖包名称不同 2 项目引入 OpenFeign 或者 RestTemplate 启动假死 解决方案有以下三种 1 使用异步方法并且延迟注入 OpenFeignClient 推
  • 什么是机器学习分类算法?【K-近邻算法(KNN)、交叉验证、朴素贝叶斯算法、决策树、随机森林】

    Python微信订餐小程序课程视频 https edu csdn net course detail 36074 Python实战量化交易理财系统 https edu csdn net course detail 35475 1 K 近邻算
  • C++异常处理机制详解

    异常处理是一种允许两个独立开发的程序组件在程序执行期间遇到程序不正常的情况 异常exception 时相互通信的机制 本文总结了19个C 异常处理中的常见问题 基本涵盖了一般C 程序开发所需的关于异常处理部分的细节 1 throw可以抛出哪
  • 区块链概念、原理、特点

    01 区块链概念 区块链可以借由密码学 串接并保护内容的串联交易记录 又称区块 在区块链中 区块内容具有难以篡改的特性 每一个区块都包含了前一个区块的加密散列 相应时间戳记以及交易数据 通常用Hash树计算的散列值表示 用区块链串接的分布式
  • 【问答】区块链遇到Waiting for cache lock: Could not get lock /var/lib/dpkg/lock-frontend. It is heWaiting for

    前言 在日常区块链或是正常的使用中 总是会遇到这个问题 Waiting for cache lock Could not get lock var lib dpkg lock frontend It is heWaiting for cac
  • 微服务化之无状态化与容器化(转载)

    一 为什么要做无状态化和容器化 很多应用拆分成微服务 是为了承载高并发 往往一个进程扛不住这么大的量 因而需要拆分成多组进程 每组进程承载特定的工作 根据并发的压力用多个副本公共承担流量 将一个进程变成多组进程 每组进程多个副本 需要程序的
  • ASP快速入门教程

    ASP快速入门教程 ASP快速入门教程能让你一个小时就学会ASP 如果想看懂更多的ASP代码 希望大家在网上找找ASP教程 相信看完后大家对ASP更有个感性的认识 请熟记下面的ASP语句是你快速入门的不二法则 lt 1 gt lt 2 gt
  • R语言学习:数据结构8-日期和时间

    日期和时间 date time 日期 Date 内部存储的是距离1970 01 01的天数 相关函数 date Sys Date weekdays months quarters 查看日期 date x lt date 查看当前系统日期和时
  • 数据清洗的步骤和注意事项:提高数据分析的准确性和可靠性

    作为一名数据分析师 我深知数据清洗是数据分析的重要一步 数据清洗的质量直接影响到数据分析的准确性和可靠性 在这篇文章中 我将分享一些数据清洗的步骤和注意事项 帮助你提高数据分析的准确性和可靠性 1 确定数据清洗的目标和指标 在开始数据清洗之
  • 腾讯云部署(gin框架+vue3.0)前后端分离项目

    腾讯云部署 gin框架 vue3 0 前后端分离项目 项目架构和部署工具 项目工具 部署工具 后端项目准备及部署 购买云端服务器 以下是腾讯云 阿里云请点击我 https blog csdn net it vegetable article
  • C++ · 求和篇

    C 求和法千万条 等差数列第一条 哈哈 跟大家开个玩笑 现在咱们步入正题 求和法之一 等差数列 没错 等差数列是最简便的解法 众所周知 等差数列求和公式为 首项 末项 项数 2 首项即是等差数列的起始数 末项是等差数列的结束项 好 问题来了
  • 实例化和具体化详解

    在解释具体化和实例化看的有点乱 分解出来备忘 在代码中包含函数模板本身并不会生成函数定义 它只是用于生成函数定义的方案 编译器使用模板为我写类型生成函数定义时 得到的是模板实例 如这个模板 template
  • keil5 编辑栏一直是灰色

    无语了 气炸了 愤怒啊 查了一下 有很多 arm 和 c51 并存 不管他了 之前装了用完51 又装了arm 现在反而什么都用不了 打开license 发现过期了 重新破解 即可 注意音乐 大半夜吓死人 你以为这样就可以了 你就太天真了 网
  • java:最差产品奖

    import java util Scanner 注意类名必须为 Main 不要有任何 package xxx 信息 public class Main public static void main String args Scanner
  • dll文件反编译源代码 C#反编译 dotpeek反编译dll文件后export

    目录 背景 下载安装dotpeek 导入dll文件 export导出文件 参考 背景 项目合作的时候 使用前人的或者其他部门dll文件直接在机台运行 会出现很多问题 逻辑 效率等等 此时我们可以选择对他们的代码进行反编译和重构 重新梳理逻辑

随机推荐

  • Windows C++运行命令编程

    Windows C 运行命令编程 一 命令处理方式 二 popen函数 三 重定向的子进程 四 参考链接 一 命令处理方式 Windows下编程经常需要使用批处理指令 bat或cmd 因此如何执行命令和获取返回数据是一个关键点 对于控制台程
  • STM32+IAP方案的实现,IAP实现原理(详细解决说明)。

    此文档内容摘自 http www 51hei com stm32 4315 html 可参考文档 https blog csdn net gin love article details 82015646 基于STM32F103ZET6的U
  • 力扣 剑指 Offer 25. 合并两个排序的链表

    简单题 就不多写了 class Solution public ListNode mergeTwoLists ListNode l1 ListNode l2 ListNode head new ListNode t head while l
  • 一文读懂大语言模型

    以ChatGPT为代表的大语言模型被很多人认为是新一轮科技革命的起点 本文旨在通过概念性介绍 让普通人能够尽可能理解人工智能以及大语言模型的基本概念 从而了解这些技术能做以及不能做什么 原文 A Very Gentle Introducti
  • 关系表的构成要素主键_关系模型简述

    关系模型简述 关系模型是基于表的处理方式抽象形成的 是在对传统表及其操作进行数学化严格定义基础上 引入集合理论与逻辑学理论提出的 关系模型也是数据库的三大经典数据模型之一 也是现在大多数商品化数据库系统所仍然再用的数据模型 数据库标准语言也
  • 流媒体服务器在大屏系统,视频流媒体服务器

    视频流媒体服务器 内容精选 换一换 音视频传输协议众多 不同业务应该如何选择 RTSP RTMP RTP RTC HLS MSS DASH WEBRTC RIST SRT 在此我们就从业务发展的视角来理解各种流媒体协议 帮助大家有更加清晰的
  • 一行命令跑满Linux的CPU

    今天突发奇想 想看看Linux的CPU跑满的样子 其实一行命令就可以使CPU跑满 for i in seq 1 cat proc cpuinfo grep physical id wc l do dd if dev zero of dev
  • nestjs:创建唯一键报错 QueryFailedError: Duplicate key name ‘IDX_d87a44fac9965cb7cf94cba11c‘

    问题 如题 参考 MYSQL中唯一约束和唯一索引的区别 51CTO博客 mysql主键和唯一索引的区别 解决办法 原始代码 Index Column unique true mail string 创建唯一约束时会创建唯一索引 所以应该把
  • score在java中是什么意思_Score.java

    import java io File import java io FileInputStream import java util Properties import java util Scanner import org jsoup
  • windows编程--网络编程学习--winsock编程(2)

    Winsock是windows系统下利用Socket套接字进行网络编程的相关函数 是Windows下的网络编程接口 Winsock在常见的Windows平台上有两个主要的版本 即Winsock1和Winsock2 编写与Winsock1兼容
  • vue3使用Element-plus与TS(TypeScript)

    如果你有一个困扰就是为什么直接CV Element plus文档里的代码总是报各种错误 那你看这篇就对啦 针对Vue3哦 1 项目导入vscode后 安装Element plus npm install element plus save
  • Unreal Engine(虚幻引擎)渲染 – 正确使用方法

    我们已经讨论过 Unreal Engine 虚幻引擎 中可用的很多神奇工具 包括最近抢先体验的 Unreal Engine 5 多亏了 Epic 世界各地的开发人员和团队都可以轻松进行游戏开发 Epic 对电影和游戏界的最大贡献可能就是 U
  • 解决 iframe跨域、跨端口报错 Blocked a frame with origin from accessing a cross-origin frame

    前言 在不同的端口号 甚至是不同的ip进行iframe嵌套的时候 在父页面调用子页面的方法的时候 报错 SecurityError Blocked a frame with origin from accessing a cross ori
  • 深度学习环境配置 Ubuntu 18.04 + Anaconda + CUDA + Cudnn + Pytorch 【亲测可用】

    这套环境实在是太复杂坑太多 配了大半年 今天终于终于成功了 显卡驱动 直接用软件和更新安装470版本显卡驱动 出错几率最小 查看安装状态 nvidia smi 会出现显卡版本和CUDA支持 CUDA 首先感谢二位前辈的原贴 https bl
  • qt小笔记

    自己备忘的常见的qt小知识点 知识点 文件判断是否存在 可读 可写 可编辑 QString转成char 接上面 c str和 data 区别 1 拼接 2 格式化 3 数字转字符串 文版框输出数字转字符串函数QString number a
  • VGA系列之一:VGA显示器驱动篇

    在这周里边 学习的内容包括两个主要的部分 UART通信和VGA显示器 串口通信是这周的前半周讲的 下半周讲的是VGA 在我们的这篇文章中 先来讲下VGA 当然在VGA实验中 我们暂时只做了5个小实验 1 显示器显示3栏颜色 2 在第一个的基
  • iOS-加密算法

    一 散列算法 签名算法 摘要 散列算法 又称哈希函数 是一种单向加密算法 在信息安全技术中 经常需要验证消息的完整性 散列 Hash 函数提供了这一服务 它对不同长度的输入消息 产生固定长度的输出 因为其结果是不可逆的 既然是不可逆的 那么
  • 使用VC向word中插入图片

    发表于 2008 11 23 14 13 2913楼 得分 0 C C code pragma warning disable 4786 import C Program Files Common Files Microsoft Share
  • 通知 服务器维护,服务器维护通知

    服务器维护通知 内容精选 换一换 本章节介绍如何创建告警规则 用户可自定义监控目标与通知策略 及时了解云手机服务器 云手机 磁盘以及GPU卡的状况 从而起到预警作用 登录管理控制台 在管理控制台左上角 选择待创建告警规则的区域 在服务列表页
  • 【转载】解读USB-IF电池充电规范

    最近学电源管理驱动这一步分 对于电池充电规范不太理解 转载下来自己看 http www eechina com thread 4943 1 1 html 电池充电规范 原有USB2 0规范并没有考虑到使用USB接口为便携式设备的电池进行充电