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.

[参考译文] BQ25703A:不接受充电命令!

Guru**** 2482145 points
Other Parts Discussed in Thread: BQ25703A

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/694600/bq25703a-would-not-accept-charge-commands

器件型号:BQ25703A
主题中讨论的其他器件: BQ25703

您好!
我设计了一个使用 BQ25703A 的示例板、问题是我可以读取和写入每个寄存器、但当我尝试写入这些命令时、
ChargeCurrent、MinSystemVoltage、

 BQ25703A 似乎复位且不接受命令。

此外、当电池组断开连接时、ChargeOption0命令将生效、但当我连接电池组时、它不会获得相应的值。

这是我的代码的一些部分

INT 状态;
//ChargeOption3将所有寄存器重置为默认
BQ25703WriteReg (0x34、0x6000);


//ChargeOp0
BQ25703WriteReg (0、0x060E);
STATUS=BQ25703ReadReg (0x0);
//ChargeOpTION1
BQ25703WriteReg (0x30、0x3011
);BQ25703ReadReg (0x30、0x3011);
//WriteOption2
BQ25703WriteReg (0x32 0x02BF);
STATUS=BQ25703ReadReg (0x32);
//ChargeOpion3
BQ25703WriteReg (0x34、0x0000);
STATUS=BQ25703ReadReg (0x34);
//ProchotOption0 BQ25703ReadReg
(0x36、0x54);
STATUS=BQ25703ReadReg (0x36);
//ProchotOption1
BQ25703WriteReg (0x38、0x1000);
STATUS=BQ25703ReadReg (0x38);
//ADCOption
BQ25703WriteReg (0x3A、0xE0FF);
STATUS=BQ25703ReadReg (0x3A);
// MaxCurrent Voltage
BQ25703WriteReg (0x04、0x41A0);
status=BQ25703ReadReg (0x04);
// ChargeCurrent @1A
BQ25703WriteReg (0x02、0x0400);
status=BQ25703ReadReg (0x02);
// MinSystemVoltage @0x703C
、0x703ReadReg (0x703C);0x703ReadReg (0x70314.3C)
STATUS=BQ25703ReadReg (0x0C);
//IIN_HOST @1A
BQ25703WriteReg (0x0E、0x1400);
STATUS=BQ25703ReadReg (0x0E);
//输入电压@8.192
BQ25703ReadeReg (0x0A、0x2000);STATUS=BQ25703ReadReg
(0x0A);
//OTGVoltage @12.67V
BQ25703WriteReg (0x06、0x2000);
STATUS=BQ25703ReadReg (0x06);
//OTGCurrent @1.6A
BQ25703WriteReg (0x08、0x2000);
STATUS=BQ25703ReadReg (0x08);

读取和写入函数

 

void BQ25703WriteReg (int add、int data)
{
static HAL_StatusTypeDef myST;
unsigned char write_message[3];
write_message[0]= add;
write_message[1]= data;
write_message[2]= data>8;
mySTs=HAL_I2C_Master_transmit (&hi2c1、BQ25703_ADD、WRITE_message、3、1000);


}

int BQ25703ReadReg (int add)
{
int res=0;

unsigned char write_message[1];

write_message[0]= add;

unsigned char read_data[2]={0};
hi2C_message[1];bhi2C_message (&1、hi21000)

//开始读取 RTC 数据
HAL_I2C_Master_Receive (&hi2c1、BQ25703_ADD、READ_DATA、2、1000);

res=(READ_DATA[1]<<8)| READ_DATA[0];
返回 res;
} 

你有什么想法吗?

 

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

    "我可以读取和写入每个寄存器"您读取和写入哪个寄存器? 您写什么?您得到什么?

    "但是、当我尝试写入这些命令时、ChargeCurrent、MinSystemVoltage、BQ25703A 似乎复位并且不接受这些命令。"
    您写什么?读回什么?

    当电池组断开连接时、为什么您认为 ChargeOption0应该更改?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的王丽
    感谢您的支持、我在上一个帖子中附加了代码、我在哪些寄存器中告诉过我写了什么。

    例如、在 ChargeOption0寄存器中、我写入了0x060E
    在 ChargeOption1中写入0x9211
    写入0x02BF
    在 ChargeOption3中写入0x0000
    在 ProchotOption0中写入0x4A54
    在 ProchotOption1中写入0x1000
    写入0xE0FF
    在 MaxChargeVoltage 中写入0x41A0

    当我用0x0400写入 ChargeCurrent reg、该寄存器的充电范围@ 1A 时、Charge OK LED 将闪烁、我是说系统电压将断开并重新连接、并且每个设置都将变为默认值、 此外、当我在这个阶段回读 ChargeCurrent reg 时、我将得到0x0080、它不是零!
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    阿里

    在原始电子邮件中、您说过" BQ25703A 似乎已重置、不接受命令。"。 这个问题得到了解决、对吧?

    在您的第2个帖子中、您说:"当我用0x0400写入 ChargeCurrent reg、该寄存器的电量@ 1A 时、Charge OK LED 将闪烁"。 CHRG_OK 信号报告 VBUS 状态和故障条件。 因此、请监控 VBUS 电压以查看它是否降至 UVLO 阈值以下。 这可能会导致一些寄存器值复位。

    "此外、当我在此阶段读回 ChargeCurrent reg 时、我将得到0x0080、它不是零!" 这可能进一步证明 VBUS 压降。 此外、输出端没有电池。 因此、BQ25703A 的自动唤醒功能可在 VSRN 达到 VSYS_MIN 设置之前提供128mA 的唤醒电流。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的王丽
    感谢您的帮助、我在输出端连接了一个4S 电池组、并且我使用400W PC 电源的12v 电压为 BQ25703加电、但我仍然得到相同的结果
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    CHRG_OK 信号报告 VBUS 状态和故障条件。 因此、请监控 VBUS 电压以查看它是否降至 UVLO 阈值以下。 这可能会导致一些寄存器值复位。 您是否会在此处分享您的测试波形?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Ali、
    一个想法。
    尝试写入/读取小电流值64mA。 不是1A。
    如果它正常工作、则可能会出现原理图或板布局问题。
    Darius
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的王丽

    您好!

    感谢您的更新、我只有一个模拟示波器、但我尝试捕获该示波器、我还会在此处共享原理图和 PCB 文件、您可能可以在 too.e2e.ti.com/.../Main-Controller.rar 中找到一些内容

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你(们)好
    感谢您的提示、我已经纠正了问题、就是 PCB 中缺少多边形平面、我已将一根勾线连接到 IC 底部接地、现在一切都按预期工作、 现在的新问题是、我的芯片会发热很多、充电设置为1A 时大约为60-70度、我还测量了充电电流、它不是精确的1A、它大约为500mA、 什么会导致芯片发热而不充电@ 1A?

    当系统中未安装电池时、当我用12V 电源为电路板供电时、电路板消耗大约100mA 的电流、而芯片加热大约50度。 你有什么想法吗?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    阿里

    您是否想查看"不接受充电命令"问题或"不完全是1A"问题的原理图和布局、大约是500mA"问题?
    纠正" PCB 中缺少多边形平面"后、"不接受充电命令"是否仍然存在?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的王丽
    您好、感谢您的支持。 现在可以接受充电命令、每个命令都可以执行、现在的问题是"它不是1A、它大约是500mA"、芯片在充电或不充电时会变得很热、在充电时会变得更热。 您是否会检查原理图和 PCB 以查看是否存在任何问题? 或者还有其他东西吗?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    请帮助我验证并关闭此通信问题。 我们可以查看原理图和布局、了解"它不是精确的1A"、它大约是500mA"问题。