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.

[参考译文] BQ76940:BQ76940:REGOUT 引脚到组问题

Guru**** 2494635 points
Other Parts Discussed in Thread: BQ76940

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/717456/bq76940-bq76940-regout-pin-to-grnd-issue

器件型号:BQ76940

您好、WM、

我在 BMS 的12S 配置中使用 BQ76940 AFE。 我按照数据表中的表8.3进行了连接。

IC 工作正常。 设置 SYS_CTRL2寄存器后、我能够从 AFE 观察 DSG 引脚电压。

我能够在 REGOUT 引脚上观察到2.6V 的电压。  

当我调试代码时、REGOUT 的所有突然输出变为零。

我移除了连接并检查了 REGOUT 引脚和 GND 之间的电阻。

我能够在该引脚之间观察到35欧姆。

这样做的原因是什么?

谢谢

Imran

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

    看起来设备已损坏。 您能否描述在 REGOUT 引脚电压变为零之前的调试过程中的序列?

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

    请在下面找到代码序列以供参考。

    我首先配置寄存器、然后读取控制和电压寄存器、然后根据 SYS_STAT 寄存器设置放电引脚在将其清零后进行读取。

    i2cwrite (0x01、0x00);// celbal1为 ox00
    delay();
    i2cwrite (0x02、0x00);//celbal2设为0x00
    delay();
    i2cwrite (0x03、0x00);//celbal3设为0x00
    delay();
    i2cwrite (0x04、0x10);//ADC 启用
    delay();
    //i2cwrite (0x05、0x41);
    //delay();
    i2cwrite (0x06、0x9F);// SCD 延迟和 THRESH_HOLD 被置位
    delay();
    i2cwrite (0x07、0x7F);//设置 OCD 延迟和阈值
    delay();
    i2cwrite (0x08、0x30);// UV 延迟和 OV 延迟已设置
    delay();
    i2cwrite (0x09、0xAD);//可 V THRESH HOLD 被置位
    delay();
    i2cwrite (0x0A、0x97);//设置 UV 阈值
    delay();
    i2cwrite (0x0B、0x19);// CC_CFG 设置为0x19
    delay();
    // i2cwrite (0x05、0x41);
    //delay();
    //--------------------------------
    SlaveAddress = 0x08;// AFE 地址
    // 1. 主循环
    while (1)

    i2cwrite (0x01、0x00);//celbal2设为0x00
    delay();
    i2cwrite (0x02、0x00);//celbal2设为0x00
    delay();
    i2cwrite (0x03、0x00);//celbal3设为0x00
    delay();
    //1.1打开所有 LED
    //LATGbits.LATG15 = 1;
    TMR1 = 0;
    // time = ReadTimer1();
    // while (TMR1 <DELAY)

    //读取所有控制和电压寄存器并设置放电引脚电压
    i2cread (0x00);
    STAT = MasterRead1();
    SS=统计;
    if (ss =8)

    中断;

    如果(ss==4)

    中断;

    CelBal1 = MasterRead ();
    CelBal2 = MasterRead ();
    CelBal3 = MasterRead1();
    //delay();
    //ctrl_1 = MasterRead ();
    i2cread (0x05);
    CTRL_2 = MasterRead1();
    CTRL = CTRL_2;
    //prot1 = MasterRead ();
    //prot2 = MasterRead ();
    //prot3 = MasterRead ();
    //OV_TRIP = MasterRead ();
    //uV_TRIP = MasterRead ();
    i2cread (0x0B);
    CC_CFG = MasterRead ();
    delay();
    //i2cread (0x0c);
    //delay();
    //delay();
    V1h = MasterRead ();
    delay();
    //delay();
    //delay();
    V1l=MasterRead1();
    delay();
    V1=((V1h<8)| V1l);
    delay();
    VC1 = 0.00037*V1+0.046;
    delay();
    //if (VC1=4&VC1<5)

    //腹腔(0x01、0x01、VC1);

    i2cread (0x0E);
    delay();
    V2h = MasterRead ();
    V2l = MasterRead1();
    v2=(V2h*256 | V2l);
    VC2 = 0.00037*V2+0.046;
    //if (VC2>=4&VC2<5)

    //腹腔(0x01、0x02、VC2);

    i2cread (0x10);
    delay();
    V3h = MasterRead ();
    V3l = MasterRead1();
    v3=(V3h*256 | V3l);
    delay();
    VC3 = 0.00037*V3+0.046;
    delay();
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Imran:

    我看不到您的代码有问题。 实际上、我认为您看到的故障不可能是代码导致的。 您在 REGOUT 引脚上观察到的接地电压和电阻明显损坏。 这必须是由外部应力引起的、在这种应力下、损坏不是立即发生的(因为您之前观察到了正确的电压)、或者以某种方式它暂时短接至另一个引脚。

    我知道您以前遇到过 E2E 帖子中的器件损坏问题。 您是否认为此问题可能与之前的问题之一相关?

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

    几天以来、我没有听到您的反馈。 您是否能够确定什么会损坏您的 REGOUT 引脚?

    谢谢、
    Matt