首頁(yè) > 評(píng)測(cè) > 支持無(wú)線充電和USBPD的電源管理IC-ROHM BD99954開發(fā)板評(píng)測(cè)
支持無(wú)線充電和USBPD的電源管理IC-ROHM BD99954開發(fā)板評(píng)測(cè)
- [導(dǎo)讀]
- 最近移動(dòng)設(shè)備已實(shí)現(xiàn)可高達(dá)100W充電,采用USB PD的應(yīng)用已經(jīng)越來(lái)越多。同時(shí)采用有線充電加無(wú)線充電(無(wú)線供電)兩種充電方式的趨勢(shì)也有增無(wú)減。然而,要滿足USB PD這類的大范圍功率需求和同時(shí)采用兩種充電方式,需要再增加充電IC和外置部件,并通過(guò)微控制器來(lái)控制充電切換,這些在工程實(shí)踐中復(fù)雜度與成本都會(huì)帶來(lái)不小的壓力。 為應(yīng)對(duì)這些問題,ROHM新推出了一款電池充電IC:BD99954GW/MWV。此款芯片支持USB PD和無(wú)線充電,還可以通過(guò)OTP一次寫入默認(rèn)配置,當(dāng)作無(wú)源片直接使用,非常有助于創(chuàng)建更便捷的充電環(huán)境。
反向供電的時(shí)候一定要確認(rèn)兩個(gè)輸入都關(guān)閉了,否則就短路了,會(huì)燒壞器件的。
反向供電的配置在第二個(gè)界面,默認(rèn)是關(guān)閉的,VCC,VBUS兩個(gè)接口都可以配置輸出。
圖 反向輸出配置
圖 反向buck boost輸出
功能演示3:自定義控制
根據(jù)上文所貼的原理圖可知,官方的配置軟件是通過(guò)USB轉(zhuǎn)I2C接口來(lái)對(duì)BD99954芯片進(jìn)行控制的。既然這樣,如果要進(jìn)行自定義的控制,用戶可以另外使用主控芯片來(lái)通過(guò)I2C總線來(lái)進(jìn)行。當(dāng)然大多數(shù)應(yīng)用不需要這種自定義通信,因?yàn)樵撔酒旧砭途邆涑S脵z測(cè)與切換功能。本文只是展示一種可能,以供有高級(jí)自定義控制需求的用戶參考。
另外提一下子,其實(shí)官方提供的GUI軟件有腳本編程進(jìn)行自定義控制的功能。但是可能是工程測(cè)試版本的原因,在本人電腦上一直不能成功運(yùn)行。不過(guò)這也不是大問題,因?yàn)閷?shí)際應(yīng)用中要么完全不控制按照默認(rèn)配置來(lái)工作,要么會(huì)通過(guò)外接的主控來(lái)通過(guò)I2C來(lái)控制。
圖 MCR運(yùn)行異常
BD99954的I2C設(shè)備地址為0x09,速率為10KHz到400KHz,其讀寫格式、波形分別如下圖:
圖 讀word格式
圖 寫word格式
圖 通信波形圖
由此可見其通信跟一般的I2C器件沒有什么不同,只要按照其命令格式即可通過(guò)I2C總線與之通信。該芯片命令集有三套:基本/擴(kuò)展/調(diào)試,通過(guò)MAP_SET命令進(jìn)行切換:
圖 命令集切換圖
具體的命令請(qǐng)查閱數(shù)據(jù)手冊(cè),此處不一一列出。
這里使用Arduino Uno開發(fā)板與之通信。連接信號(hào)在J47上:
圖 J47上的SCL/SDA信號(hào)
圖 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)友評(píng)論
- 聯(lián)系人:巧克力娃娃
- 郵箱:board@21ic.com
- 我要投稿
-
歡迎入駐,開放投稿
- NRF52810藍(lán)牙數(shù)字耳機(jī)找人定制
預(yù)算:¥30005天前
- 125KW模塊式PCS軟硬件外包開發(fā)
預(yù)算:¥1100000015小時(shí)前
- 12V汽車啟動(dòng)電源項(xiàng)目BMS設(shè)計(jì)
預(yù)算:¥50000023小時(shí)前
- 數(shù)據(jù)可視化軟件 開發(fā)
預(yù)算:¥5000023小時(shí)前
- PLC項(xiàng)目調(diào)試修改
預(yù)算:¥100001天前
- 起動(dòng)電機(jī)控制器開發(fā)
預(yù)算:¥1100001天前