This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] BQ25887:BQ25887

Guru**** 2386620 points
Other Parts Discussed in Thread: BQ25887
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/1036090/bq25887-bq25887

器件型号:BQ25887

大家好、我是 Babu、

我已经创建了一个控制板、它使用 BQ25887和 MEGA2560为7.4V 2节锂离子电池充电、但在测试电路时、使用 EVAL 板上的确切电路图和元件模型、我将获得255的所有寄存器值。 请告知我出了什么问题?

打印的寄存器值为: schematic

register values

我使用的代码为:

#include

int cd = 7;
int INTRPT = 10;
int STAT =9;
INT PG = 8;
const float SNS =A0;
void setup()


PinMode (CD、输出);
引脚模式(CD、输入);
引脚模式(PG、输入);
引脚模式(INTRPT、输入);
引脚模式(STAT、输入);
引脚模式(SNS、输入);
引脚模式(LED_BUILTIN、输出);
Serial.begin(9600);//开始串行输出

Wire.begin();//加入 i2c 总线(主机的可选地址)

违反//电池电压限制条件

空 CELLVOLT()

Wire.beginTransmission(106);
Wire.write (0x00);
wire.endTransmission ();
Wire.RequestFrom (106、7);

字节 d = Wire.read();
serial.println ("电池电压寄存器");
serial.println(d);

违反//充电电流限制
void chargecurentlimit()

Wire.beginTransmission(106);
Wire.write (0x01);
wire.endTransmission ();

Wire.RequestFrom (106、7);
字节 e = Wire.read();
serial.println ("charge 当前寄存器");
serial.println(e);


违反//输入电压限制
空 inputvoltagelimitviolation()

Wire.beginTransmission(106);
Wire.write (0x02);
wire.endTransmission ();
Wire.RequestFrom (106、7);
字节 f = Wire.read();
serial.println ("输入电压限制寄存器");
serial.println(f);

违反//输入电流限制
空 inputcurrentviolation()

Wire.beginTransmission(106);
Wire.write (0x03);
wire.endTransmission ();
Wire.RequestFrom (106、7);
字节 A = Wire.read();
serial.println ("输入电流限制寄存器");
serial.println(A);



//充电状态监控
void chargestatusmonitoring()

Wire.beginTransmission(106);
Wire.write (11);//0x0B
wire.endTransmission ();
Wire.RequestFrom (106、7);
字节 x = Wire.read();
serial.println ("充电状态寄存器");
serial.println(x);


//充电状态监控 VBUS 适配器
void chargestatusmonitor()

Wire.beginTransmission(106);
Wire.write (12);//0x0C
wire.endTransmission ();
Wire.RequestFrom (106、7);
字节 b = Wire.read();
serial.println ("费用类型寄存器");
serial.println(b);


//温度条件
void temp()

Wire.beginTransmission(106);
Wire.write (13);//0x0D
wire.endTransmission ();
Wire.RequestFrom (106、7);
字节 y = Wire.read();
serial.println ("温度寄存器");
serial.println(y);


void loop()

serial.println("电荷感应电流:");
float SNS_CURRENT = analogRead (A0);
serial.println (SNS_CURRENT);
延迟(3000);
int pg = digitalRead (PG);
serial.println ("电源指示灯(Good [0]或 Bad [1] source:");
serial.println(pg);
延迟(2000年);
serial.println ("充电状态指示器{0 -充电;1 -完成/禁用)");
int stat = digitalRead (STAT);
serial.println (stat);
延迟(3000);
serial.println ("中断信号、0中断信号或故障");
int itrpt = digitalRead (INTRPT);
serial.println (itrpt);
延迟(1000);
CELLVOLT();
延迟(2000年);
chargecurentlimit();
延迟(2000年);
inputvoltagelimitviolation();
延迟(2000年);
inputcurrentviolation();
延迟(2000年);
chargestatusmonitoring();
延迟(2000年);
chargestatusmonitor();
延迟(2000年);
temp();
延迟(40000);

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Babu、

    如果充电器通电、您应该能够读取寄存器。 这很可能是主机侧的固件问题、或充电器未通电。 从我可以看到、只要 VCC 为上拉电阻器供电并且连接了 VBUS 或 VBAT、您就应该能够进行通信。

    遗憾的是、我们无法帮助调试代码、因为我们不知道您使用的通信 API 的依赖项或库结构。

    此致、

    Wyatt Keller  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    感谢您的评论 Wyatt Keller 先生、但相同的代码在 BQ25887评估模块上运行、但在我设计的 PCB 板中无法正常工作。

    我的另一个问题是、在购买此 IC BQ25887时、是否按照数据表将所有寄存器设置为默认模式、或者我们是否必须按照任何步骤将寄存器设置为默认模式。 我是说在购买 IC 后

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Babu、

    您也可以共享布局吗? 这种情况是在多个电路板上发生还是仅在一个电路板上发生?

    如前所述、只要上拉电阻良好且充电器有电源、您就应该能够与充电器通信。 我想知道您的板上的某个位置是否连接不良。

    此致、

    Wyatt Keller

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    1)您也可以共享您的布局吗?

    答:当然、Wyatt Keller 先生。

    2)这种情况发生在多个电路板上还是仅发生在一个电路板上?

    这种情况会在我设计的3块 PCB 板上出现。

    某处表示与 I2C 或 IC 的任何其他引脚相关的引脚

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Babu、

    您要充电的电流是多少? 您的布局布线非常小、我建议遵循与 EVM 类似的布局、对高电流路径使用多项式覆铜。

    只要充电器断电、然后再次上电、或者触发看门狗计时器、寄存器就会处于默认模式。

    此致、

    Wyatt Keller

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我一直使用笔记本电脑的 USB 输入作为输入电源、我希望为电池充电的充电电流为1500mA。

    我的问题是如何检查 IC 的 I2C 是否正常工作。

    在该布局中专门使用多层覆铜表面、以实现 IC 的完美工作

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Babu、

    在当前布局中、如果没有热或 EMI 问题、则很难达到该电流。 通常、我们希望所有高电流路径尽可能宽和短、以减少 IR 损耗和热量。

    在尝试与充电器通信时、您能否共享 I2C 线路的示波器捕获或逻辑分析仪捕获? 捕获的一个事务有助于确定问题所在。

    此致、

    Wyatt Keller

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    实际上问题已经解决、问题的原因主要是 REGN 引脚附近的电容器未正确焊接。 我非常感谢您 Wyatt Keller 先生清除了我的所有疑问和疑问。  

    您能告诉我可以连接到 IC REGN 引脚的电容器的最大值吗?

    为了在下次正确设计 PCB 布局、如果您不介意、可以为我提供此 IC 的.sch 和返修文件。

    我的邮件 ID 是:babuvishwanath.h-epe2020@tggs.kmutnb.ac.th

    非常感谢您对建议的帮助

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Babu、

    我在另一个线程上回答了有关 REGN 电容的问题。

    我在 E2E 上向您发送了一份请求。

    此致、

    Wyatt Keller

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Wyatt Keller 先生、

    我接受了您朋友的请求、感谢您的指导。  

    我将检查我设计的 PCB 板的工作情况、如果该板不能按预期工作、您可以在相同 BQ25887 IC 的设计方面为我提供帮助吗?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Babu、

    我们建议查看数据表上的热性能布局指南、并使用 EVM 进行通用组件布局。

    如果需要、我们可以在私人聊天中进一步讨论。

    此致、

    Wyatt Keller

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    感谢 Wyatt Keller 先生的支持