USB设备的电源设计考虑

作者:duoduo

在USB接口有四根线,分别是VBUS,D-,D+,GND。其中VBUS线是HOST/HUB向USB设备供电的电源线。HOST/HUB每个端口通过VBUS提供的电流最大为500mA,电压范围是4.4V-5.5V,但是这并不是意味着设备可以无条件地使用VBUS向自己提供500mA的电流。

根据USB规范,从电源方面来讲,USB设备分为自供电和总线供电两种设备类型,设备通过枚举过程的设备描述符声明自己的电源要求。自供电设备不使用HSOT/HUB的电源,而是自身有电源供应;总线供电即指设备电源来自VBUS。如果是总线供电设备,USB规范按照设备工作时吸取的电流大小又规定了两种设备:low pwer和high power设备,low power设备任何情况下不得吸取超过100mA的电流,high power设备在正确配置之前不得吸取超过100mA的电流,如果已经配置,任何情况下不得吸取超过500mA的电流。如果设备进入suspend状态,low power设备任何情况下不得吸取超过500uA电流,high power设备在已经正确配置并且远程唤醒功能被主机使能的情况下不得吸取超过2.5mA的电流,否则不得超过500uA(2008年USB-IF对suspend电流规定进行了变更,原来的500uA电流的规定过于严格,因此所有USB设备suspend电流放宽到2.5mA。)。从规范的规定来看,USB对电源管理是有严格要求的,因此,有些USB设备或者非USB设备不管三七二十一就从VBUS取电是违反USB规范的。还有一种自供电和总线供电混合类型设备,其对VBUS的使用规定和总线供电设备相同。

但是在实际使用中,USB电源往往被滥用 。许多厂商的USB设备并不送到USB-IF进行认证,此种情况下,其USB电源的设计往往未必满足USB规范。

从duoduo所观察过的PC主板和HUB来看, 许多主板/HUB并没有在VBUS的供电上严格遵从USB规范,通常是直接从电源模块送+5V到VBUS上,有的甚至连VBUS过流检测 电路都没有。主板的VBUS供电能力还和主机使用的开关电源有很大关系,一些劣质电源向VBUS提供的电流根本就达不到500mA或者是大电流下VBUS电压降的很厉害导致设备不能正常工作 ;而没有VBUS过流检测的主板在USB外设故障情况下有导致主板烧毁的危险。HUB有无源和有源两种,有源HUB和HOST的VBUS指标相同,无源HUB由于本身没有电源,挂在其下的所有设备吸取的电流总和不能超过该HUB上行端口所能够获得的电流。目前市面上流行的各种USB设备,在VBUS电源设计上能够满足规范的其实也不多,很大一个原因是一些终端用户喜欢的功能特性其实无法满足USB规范;不过,USB是一个发展变化很快的技术,需求与规范的矛盾都在逐渐的解决中,典型的如USB-IF新发布的USB充电器规范就是为了解决此前USB设备既想满足规范但又希望利用VBUS电源给电池充电的矛盾。

但是如果你的USB设备需要通过USB-IF的认证以获得在设备上使用USB logo的权利,那麽电源设计就将真的要小心了,你的设备必须严格遵从USB规范中的电源规定,否则功亏一篑,数千美金的认证费就会白白扔掉了。在设备使用VBUS供电的时候除了考虑电流大小之外还必须考虑VBUS的电压以及设备刚接入时的浪涌电流大小,USB规范中VBUS电压在4.4V-5.5V之间,根据HOST/HUB的不同,少数劣质HOST/HUB会超出这个规定,如果设备使用3.3V或更低电源,简单从VBUS加个低功耗LDO就可以了,但是如果设备直接使用VBUS作为自身电源则必须考虑设备能否在4.4V-5.5V下都能够正常工作,否则兼容性问题会让你大伤脑筋。另外据说有的笔记本电脑仅能向VBUS提供100mA电流,这个duoduo没有研究,哪位可以补充一下。至于浪涌电流,是USB-IF认证中的一项,我们通常习惯性的在设备电源入口加一个数十uF乃至数百uF电容的做法此时根本是不可能通过浪涌测试的;从duoduo的经验上来看,这个电容一般取小于4.7uF或者2.2uF,由于后面的电路也在设备的VBUS电源入口处存在等效电容,因此实际取值应该根据浪涌测试结果进行调整。

USB设备的电源设计考虑相关推荐

  1. USB设备仿真框架设计指南——7.USB设备模拟器示例

    本节描述DSF中包含的USB设备模拟器示例. 本节包括以下内容: DSF USB HID通用样本 DSF USB Loopback设备仿真 DSF USB音频设备示例 USB键盘样本 英文原文连接:h ...

  2. USB设备仿真框架设计指南——11.在托管代码中开发DSF应用程序

    在DSF COM对象的托管代码中开发DSF测试应用程序有多种方法.对于托管代码与COM对象进行通信,必须将COM类型导入到COM类包装器中. 您可以使用以下任何方法创建COM类包装器: 通过类型库导入 ...

  3. USB设备仿真框架设计指南——4.DSF中的COM对象

    DSF使用COM自动化对象将DSF服务暴露给设备模拟器.您可以从任何具有COM客户端能力的语言访问这些对象.几乎所有对象都公开了只使用OLE自动化兼容数据类型的双接口. 返回对象的COM方法和属性总是 ...

  4. 嵌入式linux查看usb设备驱动程序,嵌入式Linux下USB驱动程序的设计

    嵌入式Linux下USB驱动程序的设计 usb概念:  USB(Universal Serial Bus)即通用串行总线,是一种全新的双向同步传输的支持热插拔的数据传输总线,其目的是为了提供一种兼容不 ...

  5. USB开发基础:USB设备的开发流程

    USB设备的开发一般包括主机端(上位机)驱动程序的开发(如果您的USB设备符合某一标准设备类且主机端已经提供了此类设备的驱动程序的话,则可以省掉此步骤)和USB设备端驱动程序的开发,有时还可能包括主机 ...

  6. 硬件工程师(电源设计)

    IEEE 802.3at标准规定,class0和class3的PD,最大可以消耗的功率分别是多少? 13W,13W 根据EEE 802.3at,各个Class等级的PD,最大可消耗的功率如下:Clas ...

  7. Linux USB设备驱动程序设计 和 USB下载线驱动设计

    Linux USB设备驱动程序设计 和 USB下载线驱动设计 USB设备驱动模型 USB设备包括配置(configuration).接口(interface)和端点(endpoint),一个USB设备 ...

  8. 未知USB设备(设备描述符请求失败)终于解决。网上查到的所有方法我都试过了,全部失败。我的成功方法就是调整“电源选项”

    我试过了网上所说的所有方法,卸载usb设备再扫描.bios.开启服务.除静电重启.更新驱动--没有一个成功. 今天无意中解决了问题,一句话就说清楚:调一下电池的"电源选项"--设置 ...

  9. 计算机限制打开移动硬盘,移动硬盘一接到电脑上就显示“一个USB设备超过其集线器端口的电源限制”...

    当把移动硬盘插到USB接口上去的时候,跳出一个"集线器端口上的电涌"的消息框,说"一个USB设备超过其集线器端口的电源限制".这个问题的解决方案如下: 这是供电 ...

最新文章

  1. ASP.NET Core Web Razor Pages系列教程一:使用ASP.NET Core 创建一个Razor Pages网络应用程序
  2. python绘制条形图-python 中条形图绘制
  3. Visual Studio Code设置断点时出现Unverified breakpoint该咋办
  4. 《大道至简——软件工程实践者的思想》阅读笔记之一
  5. paip.js input onclick失灵不起作用无反应的解决.txt
  6. python开发助理s_如何使用Python构建自己的AI个人助理
  7. 设置eclipse中的编辑区的背景颜色、注释文字的颜色、修改注释内作者名和时间...
  8. PMP课程学习第五天
  9. TIA Openness开发入门(1)
  10. 基于Elasticsearch 实现站内全文搜索
  11. 开机时自动启动的AutoHotkey脚本
  12. 华为+android+root权限获取root,华为root权限怎么开启怎么获取(简单华为手机ROOT教程)...
  13. html制作日期计划表,【时间计划表】_每日时间计划表
  14. 问题:未连接到互联网 代理服务器出现问题,或者地址有误。
  15. 描写火车站场景_求几段描写火车站的段落,而且是描写的极好的段落
  16. 如何购买企业SSL数字证书?
  17. 快速复制蜜芽商城多个商品主图及细节图保存
  18. AutoCAD版本、.NET SDK、.NET Framework版本、注册表中的数值参数、DWG文件版本、Internal Version、天正SYS文件对照表
  19. 演讲稿丨钟义信 弘扬 Simon的源头创新精神开拓“AI”的新理念新路径
  20. 双线性插值及Matlab实现

热门文章

  1. C# event关键字
  2. Python科学计算库 — Pandas数学统计方法
  3. android 通话蓝牙耳机,通话质量/降噪,安卓真无线耳机选哪个?Sony vs. 华为
  4. 将所有的碎片信息放进去的结构 ,大大减轻大脑的负担,更容易地解决问题
  5. 汇编显示ASCII码表
  6. matlab中scope怎么保存,如何保存Matlab中Scope的图像以及进行编辑
  7. fanuc机器人与示教器配对_FANUC工业机器人手动示教的方法
  8. linux mrtg 安装,17.1.2 Linux下MRTG的安装与配置
  9. 常见邮箱IMAP服务使用说明
  10. 面向高频量化交易的软硬件一体化解决方案:超低时延卡助力极速交易场景