在笔者的冷链记录仪压力测试仪表读卡器等项目中,均涉及到了USB数据线充电,一般的USB接口只能提供5V/500mA的电源,而电源适配器则可以提供1A以上的输出,为了兼顾安全充电和快速充电,充电器识别是非常必要的。本文将介绍如何使用Silicon Labs(亦称芯科科技)的USB桥接芯片-CP2102N让单节锂/锂聚合物电池充电管理芯片具有充电识别功能的方法。
电池充电管理芯片典型应用电路中,RIREF为充电电流编程电阻,配置成不同的阻值对应不同的恒流充电电流。我们这里选择2000mAh的锂离子电池作为案例展开介绍。我们一般选择两档充电电流500mA或900mA。因此,需要对输入电源类型加以识别,并且配置到最佳的充电电流。
Silicon Labs提供的新一代USB转串口桥接芯片CP2102N不但较上一代产品更有成本效益,而且在功能上有很多创新。其中,符合USB-BCS 1.2规范的充电器识别功能就是一大亮点。CP2102N有三个充电器识别功能的专用引脚,分别是CHREN、CHR0和CHR1,这三个引脚均为高电平有效。CP2102N电路如图所示:
我们选择的电池是2000mAh的锂离子电池,推荐快速充电电流为0.5C,也就是1000mA。因此我们的设计目标是接入电脑USB接口时充电电流尽可能为500mA,接入电源适配器,充电电流尽可能最大。因此CP2102N的CHREN连接电池充电管理芯片的EN,用于控制充电芯片的启停。
根据芯片官方手册中描述,在IREF≥100mA的情况下,IREF = 12230 /RIREF - 8 (mA)。CHR0通过NMOS选通24.3k电阻,用于使能500mA充电。CHR1通过NMOS选通31k电阻,用于使能390mA充电。由于CHR1高电平时,CHR0必定也是高电平,所以此时的RIREF为24.3k和31k电阻的并联,总的充电电流预期是890mA,接近电池充电管理芯片的额定最大值900mA。
实现芯片硬件后,我们需要使用Simplicity Studio V4的Xpress Config组件对CP2102N进行简单的配置来启用充电器识别功能。配置过程如下:
将CP2102N接入电脑的USB接口;
启动Simplicity Studio,选定已连接的设备,并打开Xpress Configurator组件;
在Configuration Groupings栏目里面查找PortConfiguration:GPIO标签,在Battery Charging选项列表中,由“Disabled”改变为“Greater than 500mA”,此时,在GPIO设置标签中的三个专用引脚CHREN、CHR0、CHR1的IO状态自动由“Open Drain”强制设置为“Push-Pull”且手动设置无效;
选择保存下载,当芯片配置生效后Xpress Config会对其自动复位并完成配置。
需特别注意:配置后的芯片,如使用电脑USB接口充电时,会在某些操作系统的电脑上出现芯片自动关闭,现象就是CHREN、CHR0、CHR1均会输出低电平,而且在VCP串口被打开时不会出现。分析判断得知,这是由于操作系统允许设备掉电以节约电能,我们只需要如下步骤即可关闭:
在设备管理器中找到“端口(COM和LPT)”并展开,找到“Silicon Labs CP210x USB to UART Bridge(COMn)”的设备;
双击此设备或右键打开“属性”,找到“电源”标签页;
将选项“允许计算机关闭此设备以节约电源(A)”的勾选去掉,并单击“确定”,设备就不再会自动进入节能模式了。
经过如上两组设置步骤,整个充电电路即可正常工作了。我们将USB插头接入电脑USB端口或电源适配器的时候,就会通过识别功能检测接入的设备类型,并且在三个端口上有所体现。
USB插头接入电脑USB接口时,CHR1输出低电平,CHREN和CHR0输出高电平,表示可以提供500mA的电流。而接入5V1A电源适配器的时候,三个端口均输出高电平,表示可以提供500mA以上的电流。当USB不接入任何电源的时候,三个端口均输出低电平,符合设计目标。
以上就是如何使用CP2102N让电池充电管理芯片具有充电识别功能的方法,由于CP2102应用非常广,如果您的产品正好具有锂电池充电功能,那赶快升级CP2102N吧!
全部0条评论
快来发表一下你的评论吧 !