发作品签到
标准版

916 - BQ24735的3端电源管理开发板

工程标签

1.4k
0
0
7

简介

BQ24735是一款具备VSYS_VBUS_VBAT的三端电源管理方案

简介:BQ24735是一款具备VSYS_VBUS_VBAT的三端电源管理方案

开源协议

CC BY-NC-SA 4.0

创建时间:2023-07-24 09:19:53更新时间:2023-09-11 09:50:44

描述

零 : 更新日志

事先申明 : 我目前还没有完成对它的开发 , 阅读本文并不能让你快速入门

至今还没有让他的电池充电功能正常运作, 可能是我疏漏了一些细节,但是由于将近2周没有弄出想要的效果,于是把这个板子以开发板的形式开源

--更新了电源接口

2023-8-7 初稿

一 : 简介

这是一款BQ24735的开发板,搭载的主控为STM32G030C8T6

GunIYIu4QUBXHBa4HYiapbTLzjpaoPUpNfQWz96R.jpegbDszTTL44sM39NHWTanqIyjxmwkgHn580B5ItZjC.jpeg

o92wCHg7tsyZdlVkxY57pPuxnPMWVbFjlrrOc7Ac.png

 

mJBhyQAynQ3yx34OvyjWROZbSolcAEOJFcMDcxtl.png

以上是BQ24735的部分特性,附件中上传了资料书(Rev.B)

大致结构:

NexRMShekfPp7QgBFLWKVTNIxHTZgkZRgEWULOGz.png

 

二 : 参数

实际上我参考的设计原理图与资料书中的下图基本一致

wMQ6GabXQyLhlLGttgnV2n9QRtGTx4z1bjeuinlJ.png

适配器端(VBUS)输入电压范围:17.7 - 24V

输入限制电流:拟定7A

电池端(VBAT)充电拟定电压 : 12.592V

充电电流 : 拟定为2A

 

显然 , 充电电路是降压型,所以典型应用场景可以是20V输入的笔记本充电方案 , 也确实有笔记本采用了本方案, 之前在TI E2E论坛上看到过

 

三 : 配置

 

首先交代一下我的IIC读写函数,基于HAL库

首先BQ24735是基于SMbus总线的,也就是IIC的一个分支

cGNBRHisHqmCswfVAtSIWWm8qNkpaXthZQDiegus.png

但是我这里以100K速率的IIC(CubeMX中直接勾选IIC启用,全部参数都是默认值)就可以正常读写,且发现是先低位,再高位,无论读写.

这个是测试没有问题的

 

void v_BQ24735_Write8b(uint8_t uc_Reg, uint8_t uc_Val)
{
    HAL_I2C_Mem_Write(&BQ24735_IIC_LANE, BQ24735_DEV_ADDR, uc_Reg, I2C_MEMADD_SIZE_8BIT, &uc_Val, 1, HAL_TIMEOUT);
}

void v_BQ24735_Wrtie16b(uint8_t uc_Reg, uint16_t us_Val)
{
    uint8_t uc_temp[2];
    /*先发送低位*/
    uc_temp[0] = us_Val & 0xFF;
    /*再发送高位*/
    uc_temp[1] = (us_Val >> 8) & 0xFF;
    HAL_I2C_Mem_Write(&BQ24735_IIC_LANE, BQ24735_DEV_ADDR, uc_Reg, I2C_MEMADD_SIZE_8BIT, uc_temp, 2, HAL_TIMEOUT);
}

uint8_t uc_BQ24735_Read8b(uint8_t uc_Reg)
{
    uint8_t uc_temp[1];
    HAL_I2C_Mem_Read(&BQ24735_IIC_LANE, BQ24735_DEV_ADDR, uc_Reg, I2C_MEMADD_SIZE_8BIT, uc_temp, 1, HAL_TIMEOUT);
    return uc_temp[0];
}

uint16_t us_BQ24735_Read16b(uint8_t uc_Reg)
{
    uint8_t uc_temp[2];
    HAL_I2C_Mem_Read(&BQ24735_IIC_LANE, BQ24735_DEV_ADDR, uc_Reg, I2C_MEMADD_SIZE_8BIT, uc_temp, 2, HAL_TIMEOUT);
    uint16_t us_Result = uc_temp[1];
    us_Result <<= 8;
    us_Result |= uc_temp[0];
    return us_Result;
}

 

跑出来经过逻辑分析仪抓包 + 写后读取验证 , 是可以正常操作寄存器的

L0egqBErTkONeOwssaaAn2BX6k7uG2oAjeF1Av85.png

K7FJfIU4d8ZSp93lwnmwoIeWpYHJlQJlagBYgxSr.png

实际上BQ24735只有4个需要配置的寄存器

0X12配置一些工作模式上的细节

0X14配置充电电流

0X15配置充电电压

0X3F配置输入限制电流

下方的0XFF的设备ID寄存器 , 最新的数据表中有误, 我读出来是0X000B , 这个问题也去E2E论坛找到了官方的回答 , 的确是是资料有误, 我读出来的值是正确的

设备ID寄存器可能起到了微弱的辨别TI正品的作用

 

四 : 细节

 

1:ACDET引脚是从输入端检测分压

YkLq8thdoyajRSrvuStNsdtsh7j3UhPfe0Eh94Ji.png

这个ACDET引脚处于0.6V以上,才可以进行SMbus通讯

 

2:屏幕为一个独立的规格化项目

LoveTomb115 -> i6hzhVNBX5AOvArXMW7LVdzXOYxI4l3oTGKFA1a6.png

这个独立的屏幕模块支持竖插焊接 , 亦支持 FPC排线连接

也支持背光开关 , 细节会另外开贴开源

 

 

待更新 ......

 

五 : 问题

 

即使VBUS处于满足的输入电压范围(此时ACDET引脚处于2.4-3.15V之间)

QAC和QRB这对位于VBUS和VSYS之间的NMOS有时不能很好的被驱动

E2E论坛提出过类似问题

 

最大的问题还是BUCK 充电电路没有正常启动, 我反复读写了我配置好的充电电压电流寄存器, VBAT端依旧得不到正常的输出电压 , 最新的测试情况来看一直是5.6V左右 , 插入电池也没有任何反应

目前写好的操作源码也会放置在附件,用的是CubeMX软件配置 , 使用KEIL5开发

7iNDVbH67PLGANp4xpZfwYO2Jad4ExwrRVx6N3v1.png

 

 

 

设计图

原理图(1 / 2)
PCB

BOM

IDNameDesignatorFootprintQuantity
1BQ24735RGRRBQPWRGR20-2050X2050TP1
247nFCBS1C06031
32.2uFCC1C06031
4100nFCCS1,CCS2,CCS3,CCS4,CCS5,CCS6,CDRV2C04027
52.2nFCDRV1C04021

附件

序号文件名称下载次数
1
bq24735.pdf
33
2
LoveTomb916_BQ24735.7z
44
克隆工程
添加到专辑
0
0
分享
侵权投诉

评论

全部评论(1)
按时间排序|按热度排序
粉丝0|获赞0
相关工程
暂无相关工程

底部导航