首頁 > 評測 > 支持無線充電和USBPD的電源管理IC-ROHM BD99954開發(fā)板評測

支持無線充電和USBPD的電源管理IC-ROHM BD99954開發(fā)板評測

  • 作者:21ic
  • 來源:21ic
  • [導讀]
  • 最近移動設備已實現(xiàn)可高達100W充電,采用USB PD的應用已經(jīng)越來越多。同時采用有線充電加無線充電(無線供電)兩種充電方式的趨勢也有增無減。然而,要滿足USB PD這類的大范圍功率需求和同時采用兩種充電方式,需要再增加充電IC和外置部件,并通過微控制器來控制充電切換,這些在工程實踐中復雜度與成本都會帶來不小的壓力。 為應對這些問題,ROHM新推出了一款電池充電IC:BD99954GW/MWV。此款芯片支持USB PD和無線充電,還可以通過OTP一次寫入默認配置,當作無源片直接使用,非常有助于創(chuàng)建更便捷的充電環(huán)境。

反向供電的時候一定要確認兩個輸入都關閉了,否則就短路了,會燒壞器件的。

反向供電的配置在第二個界面,默認是關閉的,VCC,VBUS兩個接口都可以配置輸出。

image26.png

圖 反向輸出配置

image27.jpg

圖 反向buck boost輸出

功能演示3:自定義控制

根據(jù)上文所貼的原理圖可知,官方的配置軟件是通過USB轉(zhuǎn)I2C接口來對BD99954芯片進行控制的。既然這樣,如果要進行自定義的控制,用戶可以另外使用主控芯片來通過I2C總線來進行。當然大多數(shù)應用不需要這種自定義通信,因為該芯片本身就具備常用檢測與切換功能。本文只是展示一種可能,以供有高級自定義控制需求的用戶參考。

另外提一下子,其實官方提供的GUI軟件有腳本編程進行自定義控制的功能。但是可能是工程測試版本的原因,在本人電腦上一直不能成功運行。不過這也不是大問題,因為實際應用中要么完全不控制按照默認配置來工作,要么會通過外接的主控來通過I2C來控制。

image28.png

圖 MCR運行異常

BD99954的I2C設備地址為0x09,速率為10KHz到400KHz,其讀寫格式、波形分別如下圖:

image29.png

圖 讀word格式

image30.png

圖 寫word格式

image31.png

圖 通信波形圖

由此可見其通信跟一般的I2C器件沒有什么不同,只要按照其命令格式即可通過I2C總線與之通信。該芯片命令集有三套:基本/擴展/調(diào)試,通過MAP_SET命令進行切換:

image32.png

圖 命令集切換圖

具體的命令請查閱數(shù)據(jù)手冊,此處不一一列出。

這里使用Arduino Uno開發(fā)板與之通信。連接信號在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原創(chuàng),未經(jīng)許可禁止轉(zhuǎn)載!

網(wǎng)友評論