引言
USB为便携设备供电与其串行通信功能一样,已经成为一种标准应用。如今,USB供电已经扩展到电池充电、交流适配器及其它供电形式的应用。应用的普及带来的一个显著效果是便携设备的充电和供电可以互换插头和适配器。因此,相对于过去每种装置都采用专用适配器的架构相比,目前的解决方案允许采用多种电源进行充电。
毋庸置疑,USB电源的最大用途是能够为便携产品的电池充电。但是,无论是USB电源还是其它电源,电池充电都不仅仅是从电源取电这样简单。对于Li+电池尤其如此,充电不正确不仅会缩短电池寿命,而且存在安全隐患。设计合理的充电器可以优化安全性并增强用户体验,同时它还降低了退货、维修担保等风险,进而降低成本。
通过USB为电池充电需要权衡电池“维护和保养”,考虑USB功率限制以及便携式消费产品设计中存在的体积和成本问题。本文讨论了如何在这些因素中达到最佳平衡。
供电端口
USB规范已经经历了几代电源管理技术。最初的USB 1和USB 2.0规范规定了两种类型的电源(分别是5V 500mA和5V 100mA),为所连接的设备供电。这些规范并非针对电池充电,而是用于小型外设供电,例如麦克风和键盘。但这并不妨碍设计人员设计出自己的USB电池充电装置。然而,如果没有统一指导,不同装置和充电器之间的互操作性就得不到保证。这种限制促使近期开发了USB规范补充说明:电池充电规范,1.1版,4/15/2009 (BC1.1)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方式相同。其它部分兼容和不兼容标准的充电方法将在随后讨论。
器件可利用自身软件检测接口,或采用独立于系统资源、通过USB D+和D-数据线之间的互动进行检测的接口IC。这些功能设计的划分具体取决于系统架构。例如,已经采用微控制器或专用IC管理电源的设备,可能更倾向于使用IC进行端口检测和电流选择。由于这些设备能够通过USB连接主机并进行通信,可根据枚举和配置结果选择充电。这些选择可以由应用处理器控制,或者是由负责电源管理及其它系统功能的独立微控制器控制。系统检测端口类型、枚举,并向充电器发送相应指令。充电器负责处理充电的硬件和安全事项,具有内置门限,使系统不会损害电池(图1)。
?
图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还允许利用“哑”操作确定端口类型,所以,有些端口无需枚举即可充电。