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.

[参考译文] BQ76942:由于电源时序导致的 BQ76942 热敏电阻错误读数

Guru**** 2943350 points

Other Parts Discussed in Thread: BQ76942

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/1651667/bq76942-bq76942-thermistor-misread-due-to-power-sequencing

器件型号: BQ76942

摘要

我们看到基于 BQ76942 的 BMS 上的热敏电阻错误读数出现、似乎直接与 BAT 和 REGIN 引脚的电源时序相连。 正确排序后、问题不会发生、我们有 30 块电路板始终展示这种行为。


硬件配置

  • BQ7694202PFBR
  • 热敏电阻电容与数据表中的建议相匹配(所有热敏电阻引脚上都为 1.3nF)
  • REG18 在规格中确认
  • 在任何热敏电阻线路上均未发现短路
  • 您可以在热敏电阻采样期间观察 3 个独特的 ADC 多路复用器信号上拉 REG18
  • 正确排序后、在所有 30 个电路板上运行软件

失效模式

用例 1 - BAT 之前的 REGIN:
CD(放电和预充电 FET 的中点)启动 REGIN 和 REG18、但由于 BAT 尚未到达、BQ76942 内核尚未上电。 IC 初始化为未定义状态。 温度低至–84°C、有时为–273C。 在这些值上非常一致。  

案例 2 - REGIN 和 BAT 同时:
首次对热敏电阻引脚采样时、REG18 尚未稳定、这违反了 VREG18 + 0.3V 绝对最大额定值并锁存不良读数。 看到高达 273K 的温度。

案例 3 - BAT 在前、REGIN ~1s 在后:
每次在所有 30 个电路板上都能正常工作。


针对硬件根本原因的证据

  • 所有 30 个电路板的运行方式相同、正确的时序始终有效
  • 热敏电容器的电阻值
  • 正常运行期间、REG18 在规格中确认
  • 未找到短路或超出规格的组件
  • ADC 多路复用器信号在采样过程中看起来正确

问题

  1. 数据表中缺失的 BAT 和 REGIN/REG18 之间是否有建议的电源时序要求?
  2. 是否有子命令或寄存器写入在进入此不良状态后无需完全下电上电即可恢复热敏电阻读数?
  3. 同时上电期间热敏电阻引脚上的 VREG18 + 0.3V 违例是否是锁存读数不良的已知原因?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Devon、

    您能分享一下原理图吗?

    1. 数据表中没有电源序列要求。 REG18 来自 BAT、因此您无法控制该电源轨的任何时序。 然而、通常情况下、BAT 引脚在连接电池时由第一个引脚供电、然后 REGIN 通过共漏极由同一电源供电。 您提到电池是可拆卸的吗? 您能详细说明一下吗?
    2. 我不知道有用于此目的的子命令。 是否可以尝试发送设备重置命令或?
    3. 我不这么认为。 这种违规会损坏 IC。 如果器件随后与 POR 配合使用并按照正常运行的电源序列操作、我怀疑引脚已损坏。 您有这样的波形吗? 由于热敏电阻上拉为 VREG18、因此我无法想象该引脚的电压是否高于该值。

    此致、
    Michael

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

    您好、Michael:

    感谢您的回答。 一些后续评论:

    1. 在我们的当前设置中,我们的电池连接到 BAT(电池组顶部)以及通过高侧 NFET 开关的顶部。 这会将 CD 节点馈入体二极管、然后通过二极管、电阻器和 BJT 馈入 REGIN。 根据数据表、在理想情况下、这些引脚连接到同一点、但是当它们同时出现时会出现问题。 使用两个单独的电源并首先上电 BAT、然后启用高侧路径、每次该芯片都会正确引导。 只有当他们走到一起、我们才会看到这个问题。

    2. 注意到引脚损坏,只是好奇如果三个 是软件命令(我是硬件家伙)

    3、示波器 理解,将尝试抓取示波器捕捉,如果这有助于

    跟进问题

    • 您是否遇到过这样的问题:误序会导致读数超出范围、甚至无法触发保护? 我们特别看到–273°C 似乎低于故障阈值、从而导致器件根本不会记录欠温故障。
    • 您是否在随附的原理图中看到可以解释此行为的任何内容?
    • 内部还使用了什么 REGIN?为什么在数据表显示它们连接到典型应用中的同一点的情况下、器件对 BAT 和 REGIN 同时出现敏感?

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

    您好 Devon、

    1. 注意到、我认为它们是分开的、因为您有一个案例、在 BAT 之前为 REGIN 供电。 我认为 BJT 会停止 REGIN 通电、直到 BAT 通电并有时间初始化 BREG 引脚。
    2. 应有一个软件复位选项以及硬件复位引脚。 我不知道这是否会影响您看到的热敏电阻读数。
    3. 谢谢。
    您是否遇到过这样的问题:错误排序导致读数超出了保护甚至无法触发的范围? 我们特别注意到–273°C 似乎低于故障阈值、从而导致器件根本不会记录欠温故障。

    我以前没有见过这种情况。

    您是否在随附的原理图中看到任何可以解释此行为的内容?

    我没有注意到任何明显解释这种行为的因素。

    还有什么 REGIN 在内部使用、为什么在数据表显示它们连接到典型应用中的同一点的情况下器件对 BAT 和 REGIN 同时出现敏感?

    REGIN 仅用作 REG1 和 REG2 LDO 电源轨的输入。

    请告诉我硬件引脚或软件复位命令是否可以修复此行为。 如果没有、我将尝试在 EVM 上复制此内容。

    此致、
    Michael

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

    您好、Michael:

    感谢您的答复。 我查看了 EVM 原理图、并注意到 BJT 集电极上没有一个电容器、这在我们的原理图中是不存在的。 我想知道这是否用作时间常数来延迟 REGIN 上升、从而让 BAT 首先稳定下来。 我尝试在其中一个使用更大电容器的电路板上复制此内容、但遗憾的是、它无法解决问题。

    神秘的继续:

    切换 RST_SHUT 线路后、我可以让一些电路板开始正确读取热敏电阻。 虽然这是一种安全关键型应用、但我们不能依赖 BMS IC 的手动复位来恢复正常运行。

    比较通过复位恢复的电路板与未连接的电路板、我们发现的主要区别是仅连接 BAT 且断开 CD、工作板在~2.3V 下测量 REG1、而非恢复的电路板在~3.0V 下测量 REG1。 这表明在没有 CD 存在的情况下、正在为未恢复的板上的 REGIN 供电、这不应该发生。 对此有什么想法吗? 仅进行 CD 接触是 FET 的中点、然后进入二极管以进入 REGIN。

    我们已验证 Q6 未损坏。 发射极 (REGIN) 为 5.5V、集电极为 9V、基极为 6V、NPN 电压看起来正确。

    我们内部有一个 EVM、并计划尝试在其上重现问题。 这将是非常有帮助的,如果你能够重现它在你的结束

    最后、我们注意到数据表提到 REGIN 和 BAT 之间有一个二极管。 在正常运行中、我们的设计中绝不会出现这种情况、但在基准测试期间、我们在存在 BAT 之前通过 CD 节点为 REGIN 供电。 这是否会正向偏置该内部二极管并对 IC 造成永久损坏、我们观察到的 REG1 电压差是否是这种损坏的症状?


    您的任何想法都将是伟大的! 谢谢!

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

    关于我的最后一条评论、我认为 BJT 将关断、直到 BAT 完全上升、因为它在基极上导通、所以我觉得我们不会过度强调 CD (REGIN) 中的引脚导通且 BAT 关断

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

    您好 Devon、

    比较通过复位恢复的电路板与不通过复位恢复的电路板、我们发现的主要区别是仅连接 BAT 且断开 CD 的情况下、工作板的 REG1 测量值为~2.3V、而非恢复电路板的 REG1 测量值为~3.0V。 这表明在没有 CD 存在的情况下、正在为未恢复的板上的 REGIN 供电、这不应该发生。 对此有什么想法?

    我认为、使用 BJT 前置稳压器时、BREG 将为 REGIN 提供电压、并导致 REG1 和 REG2 电源轨通电(当负载极轻时)。 这里的差异似乎是可疑的。

    REG18 是否正常工作? 这是用于读取热敏电阻的上拉电阻。

    数据存储器中热敏电阻引脚的配置是什么? 您使用哪个命令来读取热敏电阻? 如何配置热敏电阻方程系数?

    此致、
    Michael

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

    您好、

    在两种情况下(连接了 BAT 和 CD)和(仅连接 BAT)、REG18 都看起来良好。 1.8V 清洁。

    1.  
    This->I2CSetConfigRegister(BQ76941_CONFIG PIN_CFG_thermistor、 1)
    This->I2CSetConfigRegister(BQ76942_CONFIG PIN_CFG_thermistor、 1)
    This->I2CSetConfigRegister(BQ76942 TS3_CONFIG PIN_CFG_thermistor、 1)
    This->I2CSetConfigRegister(BQ76942_HDQ_PIN_CONFIG PIN_CFG_THERMAL、 1)

    2.  
    constexpr uint16_t BQ76942_temperature = 0x70;
    constexpr uint16_t BQ76942_temperature = 0x72;
    constexpr uint16_t BQ76942 TS3_temperature = 0x74;
    constexpr uint16_t BQ76942_HDQ_TEMPERATURE = 0x76;

    3.看起来我们使用的不是特殊系数。 我们有一个标准的 10k NTC、因此我们认为我们不需要做任何疯狂的事情。

     

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

    您好 Devon、

    此配置意味着 Settings:Configuration:TS1 Config = 0x70? 还是 1?

    我们使用的是特殊系数。 我们有一个标准的 10k NTC、因此我们认为我们不需要做任何疯狂的事情。

    这是真的。 根据温度特性、报告的值可能不准确、但不会被锁存。

    此致、
    Michael

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

    Hi Michael,

    This should answer your question.

    this->I2CSetConfigRegister(BQ76942_TS1_CONFIG, PIN_CFG_THERMISTOR, 1);
    this->I2CSetConfigRegister(BQ76942_TS2_CONFIG, PIN_CFG_THERMISTOR, 1);
    this->I2CSetConfigRegister(BQ76942_TS3_CONFIG, PIN_CFG_THERMISTOR, 1);


    Any other ideas on this issue? We are pretty stumped on our side.

    Thanks

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

    您好 Devon、

    该函数好像是将 TSX_CONFIG 寄存器设置为 PIN_CFG_THERMAL 的值。 我不确定该变量的值是多少、因此我认为它不能回答我的问题。 我想看看设置了哪些位。

    此致、
    Michael

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

    您好、Michael:

    对不起,不是一个软件家伙道歉,感谢与我在这里轴承.  

    以下是该 代码:

    constexpr uint16_t BQ76942_TS1_CONFIG = 0x92FD;

    constexpr uint16_t BQ76942_config = 0x92FE;

    constexpr uint16_t BQ76942 TS3_CONFIG = 0x92FF;

    constexpr uint16_t BQ76942_HDQ_PIN_CONFIG = 0x9300;


    constexpr uint16_t PIN_CFG_THERMISTOR = 0x07; // Configure pin as thermistor for cell protections

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

    您好 Devon、

    感谢您提供最新信息。 这是引脚的正确设置。 我假设温度是从直接命令读取的、对吗? 从子命令 (DataStatus6 或 DataStatus7) 读取以获取原始计数时是否存在任何差异?

    此外、我还记得 RST_SHUT 引脚上的硬件复位更正了某些电路板的读数。 软件复位命令是否也影响读数?

    当器件读取到错误的温度时、可以探测 TS1 和其他热敏电阻引脚的波形吗?

    此致、
    Michael

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

    您好、Michael:

    一些最新的新闻。 移除 REG1 电阻并为后处理器和支持电路提供电源后、问题就解决了。 这是我让 BMS 启动后等待几秒钟为 STM32 供电的时候。 我知道您的第一个问题是我们会使 LDO 过载、但电源只会拉动 8mA。 我觉得我们的 STM32 在初始化之前可能会非常快地出现并尝试轮询 BMS。

    BMS 是否有足够的时间可以开始写入 I2C 总线?

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

    嗨、Devon、

    感谢您提供的信息! 我想你可能对 BMS 轮询太快了。 你有时间吗?

    BMS 是否有足够的时间才能开始在 I2C 总线上编写?

    我认为、在启用 FET 的情况下、器件完全唤醒需要 300ms、但您应该能够在 POR 后 200ms 开始读取数据。

    此致、
    Michael