USB规范已经经历了几代电源管理技术。最初的USB 1和USB 2.0规范规定了两种类型的电源(分别是5V 500mA和5V

100mA),为所连接的设备供电。这些规范并非针对电池充电,而是用于小型外设供电,例如麦克风和键盘。但这并不妨碍设计人员设计出自己的USB电池充

电装置。然而,如果没有统一指导,不同装置和充电器之间的互操作性就得不到保证。这种限制促使近期开发了USB规范补充说明:电池充电规范,1.1

版,4/15/2009

(BC1.1)?,补充了充电知识和电源说明,最大电源电流可达1.5A。尽管标题为“电池充电规范”,但该文件几乎没有包括关于充电电池指标的任何信

息,只是规定了应该从USB端口吸收多大功率充电。实际充电方法依然会留给设计人员。

在BC1.1之前,所有USB电源端口在有效工作(即USB术语中的“非挂起”模式)时,归为“低功率”(100mA)或“大功率”

(500mA)。任何端口也可以“挂起”,意味着接近关闭,但仍可提供2.5mA电流。对于大多数设备,PC、笔记本电脑或供电集线器(供电集线器是一种

USB中断盒,利用自身的墙上适配器电源提供总线供电)端口为“大功率”,除了上行USB主机提供的电源外,不接收其它电源的集线器端口被认为是“低功

率”。插入装置后,最初允许吸收最大100mA的电流,同时进行枚举并与主机协商其电流预算。随后,可能允许吸收高达500mA的电流,或者是保持在

100mA。在USB串行总线规范2.0版的第7.2.1.4部分对此进行了详细规定。

BC1.1的内容超出了USB 2.0规定的电源分配,它定义了更多用于充电的电源。主要有三种不同类型的电源:

标准下行端口(SDP)这与USB

2.0规范定义的端口相同,也是台式机和笔记本电脑常见的典型端口。挂起时,最大负载电流为2.5mA;连接且非挂起状态下为100mA,可以配置电流为

500mA

(最大)。设备可利用硬件识别SDP,USB数据线D+和D-分别通过15kΩ接地,但仍然需要枚举,以符合USB规范。尽管现在许多硬件不经枚举即消耗

功率,但在USB 2.0规范中,从严格意义上并不合法,违反规范要求。

充电下行端口(CDP)

BC1.1为PC、笔记本电脑及其它硬件规定了这种较大电流的新型USB口。现在,CDP可提供高达1.5A电流,由于可在枚举之前提供电流,所以有别于

USB 2.0。插入CDP的装置可通过操纵和监测D+、D-线,从而利用硬件握手识别CDP

(参见USB电池充电规范第3.2.3部分)。在将数据线转为USB收发之前进行硬件测试,这样就能够在枚举之前检测到CDP (以及开始充电)。

专用充电端口(DCP)

BC1.1规定了不进行枚举的电源,例如墙上适配器电源和汽车适配器,不需要数字通信即可启动充电。DCP可提供高达1.5A电流,通过短路D+和D-进

行识别,从而能够设计DCP“墙上适配器电源”,采用USB

mini或微型插孔,而非圆形插头或自制连接器的固定安装线。这样的适配器可采用任意USB电缆(配备正确插头)进行充电。

USB电池充电规范,1.1版,4/15/2009中对这些接口类型进行了详细规定。

电源类型检测

对于连接到任意USB插孔并利用该电源工作或为电池充电的装置,需要了解吸收多大的电流合适。如果从只能提供500mA的电源试图吸收1A电

流,这种措施并不妥当。USB接口出现过载时很可能导致关断、烧毁保险丝或触发自恢复保险丝动作。即使具有自恢复保护,也只能在拔出设备并重新连接后才能

重新启动。在保护措施不严谨的接口设计中,接口过载会造成整个系统复位。

便携设计可以选择适当方法管理接口检测,可以兼容于BC1.1、只兼容USB

2.0或根本不兼容。如果完全兼容于BC1.1,则必须能够检测所有类型的USB电源并限制其电流,包括合法的USB

1和2.0接口。如果兼容2.0,将在枚举后从SDP充电,但可能不能识别CDP和DCP。若不能识别CDP,它仍然能够充电并保持兼容,但只能在枚举后

进行,与SDP方式相同。

图1. 无枚举充电器。USB收发器和微处理器处理USB枚举,然后微控制器将电池充电器设置在正确的参数。

不同的设备设计可能不通过USB通信,或不希望专用系统软件管理USB充电,而仅仅是采用USB端口供电。这种方式避免了设计复杂性,或者无需

担心软件故障所造成的充电失效。由于系统不进行枚举,最好的充电选择是自枚举充电器IC。充电器负责端口检测并选择合适的USB负载电流门限,无需系统介

入(图2)。

图2. 自枚举充电器直接连接至USB数据线,使得简单系统能够完全利用USB充电,无需占用USB收发器或微处理器资源。

USB连接术语:

这里,我们有必要介绍一下部分USB术语,包括“插入”、“连接”、“枚举”和“配置”。

插入:插入USB电缆的物理过程。

连接:设备将1.5kΩ上拉电阻连接至D+或D-数据线时(刚插入)。

枚举:设备和主机之间交换初始数据,识别设备类型。

配置:设置设备参数。

在USB 2.0中,设备进行枚举和配置期间需要了解USB端口可源出多大电流。枚举和配置需要设备与主机之间进行数字通信。BC1.1扩展了USB规范,除USB 2.0选项外,BC1.1还允许利用“哑”操作确定端口类型,所以,有些端口无需枚举即可充电。

充电c语言,USB电池充电基础相关推荐

  1. USB电池充电基础:应急指南

    转载:http://bbs.dzsc.com/space/viewspacepost.aspx?postid=88107 摘要:毋庸置疑,USB电源最有用的一个功能是能够为便携装置的电池充电.但是,无 ...

  2. R语言使用R基础安装中的glm函数构建乳腺癌二分类预测逻辑回归模型、分类预测器(分类变量)被自动替换为一组虚拟编码变量、summary函数查看检查模型、使用table函数计算混淆矩阵评估分类模型性能

    R语言使用R基础安装中的glm函数构建乳腺癌二分类预测逻辑回归模型(Logistic regression).分类预测器(分类变量)被自动替换为一组虚拟编码变量.summary函数查看检查模型.使用t ...

  3. R语言可视化绘图基础知识详解

    R语言可视化绘图基础知识详解 图形参数:字体.坐标.颜色.标签等: 图像符号和线条: 文本属性: 图像尺寸及边界: 坐标轴.图例自定义等: 图像的组合: #install.packages(c(&qu ...

  4. 语言的学习基础,100个经典的算法

    POJ上做做ACM的题 语言的学习基础,100个经典的算法 C语言的学习要从基础开始,这里是100个经典的算法-1C语言的学习要从基础开始,这里是100个经典的算法 题目:古典问题:有一对兔子,从出生 ...

  5. 《C语言编程——零基础初学者指南(第3版)》一第1章 什么是C程序设计1.1 什么是程序...

    本节书摘来自异步社区<C语言编程--零基础初学者指南(第3版)>一书中的第1章,第1.1节,作者 [美]Greg Perry , Dean Miller,更多章节内容可以访问云栖社区&qu ...

  6. c语言编程基础课件,第7章_C语言图形编程基础课件

    第7章_C语言图形编程基础课件 狭义的组织变革是指组织根据外部环境的变化和内部情况的变化及时地改变自己的内在组织结构,以适应客观发展的需要. 狭义的组织变革是指组织根据外部环境的变化和内部情况的变化及 ...

  7. c语言的boolean_0基础学习C语言第四章:三种基本结构

    1.C语言的三种基本结构 顺序结构:从头到尾一句接着一句的执行下来,直到执行完最后一句: 选择结构:到某个节点后,会根据一次判断的结果来决定之后向哪一个分支方向执行: 循环结构:循环结构有一个循环体, ...

  8. c语言语言教程0基础_C语言基础

    c语言语言教程0基础 Hey, Folks here I am back with my second article on C language. Hope you are through with ...

  9. linux来源usb驱动在哪下载,Linux USB驱动程序基础

    非常好的linux驱动入门,介绍详尽 Linux USB驱动程序基础 来源: ChinaUnix博客日期:2008.04.10 23:55(共有条评论) 我要评论 ( Linux USB Driver ...

最新文章

  1. 行人检测与重识别!SOTA算法
  2. 8天学通MongoDB——第三天 细说高级操作
  3. 只是扫个地而已,怎么连A超都用上了
  4. iOS 自动构建套件 - flow.ci + fir.im + Coding
  5. linux whois工具,CentOS如何安装whois命令
  6. PMCAFF产品众测 | 对话随手攒CEO聊聊这款产品的设计、推广和改进(活动已结束)
  7. Java语言基础JavaScript
  8. Android百度云推送接入,附完整代码
  9. firefox flash插件_巧用firefox下载视频资源
  10. SAP License:SAP顾问心情随笔——点燃一支烟
  11. Entity Framework 6 执行Linq to Entities异常“p__linq__1 : String truncation: max=0, len=2, value=‘测试‘“
  12. 软件以人为本1 - 序 - 写于上海2011 ScrumGathering会后
  13. Illustrator2020中文版教程,如何在AI中使用蒙版来裁剪内容?
  14. 人员在室感知方法综述(2019)
  15. Mybatis实现mysql分页查询
  16. google hacking
  17. phpmywind 数据记录查询
  18. 手机发布新闻php,自动发布新闻的php代码_php
  19. 基于Echarts实现可视化数据大屏智慧旅游综合服务平台系统
  20. Websphere远程代码执行-CVE-2015-7450

热门文章

  1. C语言:已知三角形三边长,计算面积 —— 海伦公式
  2. 个推 实现对hbuilder 进行推送消息
  3. 深入 Java 源码来剖析 hashCode,从此菜不再是原罪
  4. JavaScript 定时器
  5. navicat循环插入gp数据库,设备数据
  6. 如何挑选与优化布局关键词
  7. 搜狗2012校园招聘自测题
  8. 【爆肝更新】Python基础教程:第五章_Python函数
  9. 使用 Web Services 整合 IBM FileNet P8 BPM 与 IBM WebSphere ILOG JRules
  10. 手机数据流量显示服务器连接异常,手机显示已联网,但却不能用,怎么办?