微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 硬件电路设计 > TI电源管理交流 > bq28550-r1相关问题

bq28550-r1相关问题

时间:10-02 整理:3721RD 点击:

bq28550具有监测和保护功能,保护功能是不是不需要软件干预,硬件就可以完成啊?

我的板子焊完了,还没有编程,想先通电测试一下保护部分,可以吗?

常规的锂电池安全保护都是基于硬件的,可以没有编程的情况下测试这个板子的锂电池常规保护的部分。

请问,图片中的例子Subclass ID (576) + Offset (13)是怎么得出来的。

编程时,低电压阈值写入的是一个范围还是一个数值?

这个很简单的,你在TRM上找到对应的需要修改值的Row Location, Hex Address: 0x0112 ,因为0x01YY这个SBS  data中只有YY后两位才是表示row号码的,所以根据16进制可以知道 此时的row号码为18,那么乘以每个row中的32列 即可以得到18*32=576 ,这里注意因为offset是从subclass那个行的第一位为基准来算偏移量,所以在TRM中查到的bit offset要减1,即得到13。所以实际uv条件存放的位置就是576+13=589.

 

低电压阀值是一个确定的值,根据你的电池特性选择,一般锂电池选择3V.

0x0112中的后两位12表示的是18row,offset 13在编程时好像没用到是吗?

例子的作用是写低电压阈值,写数据顺序是什么?

0x2f指令的作用是什么?

0x12=16*1+2=18 ,offset13是用来找到UV条件在18行的哪一列,是有用的。

先找到对应的行,将行的数据读出来以后修改对应offset的值,再将修改过的行写入。见TRM的page 58。

0x2f的作用就是block的读,可以用这个命令来多多个字节的数据,而不是单个字节。因为Smbus没有i2c的Multe-byte read和write,所以是用block write和read来实现对多个数据访问的。在调用这个函数时,除了给command,还要给byte counter设置操作的byte数,比如示列中的32.

如果我想改变欠压阈值,编程思想是:

S(开始) 从地址+写 A(应答) 0x00(命令码) A   0x112(行地址)   A

S(开始) 从地址+读 A(应答) 0x2F(命令码) A   S(开始) 从地址+写 A(应答) Data Byte(长度32)

改变对应偏移量的值

S(开始) 从地址+写 A(应答) 0x00(命令码) A   0x112(行地址)   A    修改过后的Data Byte(每发送一个字节产生一次应答)

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top