首页 > 评测 > 支持无线充电和USBPD的电源管理IC-ROHM BD99954开发板评测

支持无线充电和USBPD的电源管理IC-ROHM BD99954开发板评测

  • 作者:21ic
  • 来源:21ic
  • [导读]
  • 最近移动设备已实现可高达100W充电,采用USB PD的应用已经越来越多。同时采用有线充电加无线充电(无线供电)两种充电方式的趋势也有增无减。然而,要满足USB PD这类的大范围功率需求和同时采用两种充电方式,需要再增加充电IC和外置部件,并通过微控制器来控制充电切换,这些在工程实践中复杂度与成本都会带来不小的压力。 为应对这些问题,ROHM新推出了一款电池充电IC:BD99954GW/MWV。此款芯片支持USB PD和无线充电,还可以通过OTP一次写入默认配置,当作无源片直接使用,非常有助于创建更便捷的充电环境。

反向供电的时候一定要确认两个输入都关闭了,否则就短路了,会烧坏器件的。

反向供电的配置在第二个界面,默认是关闭的,VCC,VBUS两个接口都可以配置输出。

image26.png

图 反向输出配置

image27.jpg

图 反向buck boost输出

功能演示3:自定义控制

根据上文所贴的原理图可知,官方的配置软件是通过USB转I2C接口来对BD99954芯片进行控制的。既然这样,如果要进行自定义的控制,用户可以另外使用主控芯片来通过I2C总线来进行。当然大多数应用不需要这种自定义通信,因为该芯片本身就具备常用检测与切换功能。本文只是展示一种可能,以供有高级自定义控制需求的用户参考。

另外提一下子,其实官方提供的GUI软件有脚本编程进行自定义控制的功能。但是可能是工程测试版本的原因,在本人电脑上一直不能成功运行。不过这也不是大问题,因为实际应用中要么完全不控制按照默认配置来工作,要么会通过外接的主控来通过I2C来控制。

image28.png

图 MCR运行异常

BD99954的I2C设备地址为0x09,速率为10KHz到400KHz,其读写格式、波形分别如下图:

image29.png

图 读word格式

image30.png

图 写word格式

image31.png

图 通信波形图

由此可见其通信跟一般的I2C器件没有什么不同,只要按照其命令格式即可通过I2C总线与之通信。该芯片命令集有三套:基本/扩展/调试,通过MAP_SET命令进行切换:

image32.png

图 命令集切换图

具体的命令请查阅数据手册,此处不一一列出。

这里使用Arduino Uno开发板与之通信。连接信号在J47上:

image33.png

图 J47上的SCL/SDA信号

image34.jpg

图 BD99954+Arduino Uno

这里以配置反向输出为7V为例,代码如下:

//Arduino Uno control the BD99954 chip.

//Author: zhanzr@foxmail.com

#include

#define BD_ADDR 0x09

//Bit 14 Trigger VRBOOST

#define VIN_CTRL_SET 0x0A

#define VRBOOST_SET 0x19

#define CHIP_ID 0x38

#define CHIP_REV 0x39

#define MAP_SET 0x3F

void setup() {

Wire.begin(); // join i2c bus (address optional for master)

pinMode(LED_BUILTIN, OUTPUT);

pinMode(7, INPUT);

Serial.begin(115200);

}

void wr16(uint8_t cmd, uint16_t d16)

{

uint8_t dl = (uint8_t)d16;

uint8_t dh = (uint8_t)(d16>>8);

Wire.beginTransmission(BD_ADDR); // transmit to device

Wire.write(cmd);

Wire.write(dl);

Wire.write(dh);

Wire.endTransmission(); // stop transmitting]

  • 本文系21ic原创,未经许可禁止转载!

网友评论