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.

[参考译文] BQ78350-R1A:+ BQ76930报告电压下的 AFE 误差与电芯电压之和的关系

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/1398741/bq78350-r1a-bq76930-afe-errors-on-reported-voltage-vs-sum-of-cell-voltages

器件型号:BQ78350-R1A
主题中讨论的其他器件:BQ78350BQ76930BQSTUDIO、BQ76930EVM EV2400、BQ78350-R1

工具与软件:

您好!

我们在使用 BQ78350和 BQ76930 AFE 的设置中发现了一个新的错误、用于使用 LG MJ1电池的8节3p 18650电池组。

在记录电池包电压(0x09)和每个电池电压(0x38-0x3f)的轮询后、我们发现有时报告的电压会从电池电压之和跳转回来、然后以250ms 的间隔返回到与电池电压之和相匹配的预期电压。 这种情况很少发生、但似乎仅在电池组正在进行充电或放电活动时发生。 在该图中、您可以看到橙色的电芯电压总和与蓝色的报告电池组电压之间的差异。

下面附上了我们的电池组数据存储器导出功能以及我们使用的原理图。 您是否对造成这些问题的原因有任何想法? 我会尝试执行更多测试、以尝试更一致地触发这些事件、从而更好地查看是否有任何寄存器在寄存器发生之前发生了变化、但我认为这也可能是 AFE 的内部。

对于我们获得这些异常读数的原因、如果有任何帮助、我们将不胜感激。

谢谢!

TIM

e2e.ti.com/.../BQ78350-Battery-Schematic.pdf

e2e.ti.com/.../26.gg.csv

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

    抱歉、也意味着包括其中一个事件的放大图、下降到低于预期电压的事件遵循类似的结构、只是反转、我们在大约10ms 时进行的采样不完全是正确的、但我们可以确认每个步长为250ms、这与 AFE 的更新时间相匹配。

    再次感谢您花时间观看本视频、感谢您提供任何帮助或建议。

    TIM

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

    好的、关于这一点的另一项更新、通过探究我记录的事件、误差以2的幂增量发生、它首先减小2^14、然后减小2^12、然后再减小2^10等、直到它返回到准确的水平。 我还不能截取 AFE 和 Bq78350之间的消息以确定数据损坏的位置、是否是 AFE 发送垃圾数据、或者 Bq78350是否读取错误并错误报告。 如果您对造成此问题的原因有任何建议、我们将不胜感激。

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

    考虑到2个问题的幂、这看起来确实是一个通信问题。

    我认为这不是 AFE 与电量监测计之间的通信、因为您从0x09读取的电压来自于各个电芯的电压测量值相加、所以这不是 AFE 与电量监测计通信的转换结果、而是电量监测计通过各个电芯电压测量值计算得出的值。 请注意、这不是简单的电池电压加法、而是对电池电压之和的滤波版本。 该电量监测计使用一阶 IIR 滤波器、因此会存在差异、但它不会像您所看到的那样极端、它的功率为2^14。 这表明测量仪表与主机之间的通信存在问题、因此我会进一步研究这一点。

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

    您好感谢您的回复和分析。  

    我明白你在说什么。 您认为它不在 AFE 中或 AFE 与电量监测计之间的通信线路中、因为总总和是在 BQ78350而不是 BQ76930中计算的? 由于根据数据表、BQ76930会报告其在0x2A 和0x2B 处各自增加的单个电芯电压、因此 BQ78350是否不会读取该寄存器、而是自行计算电芯电压之和?  

    至于它关闭的数量是2^14、 您是说这应该意味着这是从电量监测计到操作员的通信错误(无论我们用来与 BQ78350通信的是什么)?  是这样吗? 我们要读取的寄存器是 Bq78350 (0x09)、而从 BQ76930发送到 BQ78350的总电压(0x2A 和0x2B)均为16位。 但是各个电池电压都是14位的、因此我最初怀疑 AFE 增加了这些电压、这就是问题发生的地方、因为这可能是抛出的最高有效位。  

    我们还有另一个向其中提供电池包的组、他们发现发生了这个完全相同的问题、但他们使用完全不同的系统、供操作员与 BQ78350通信、在一些方面让我认为它不在 BQ78350的输出侧、 尽管我认为 BQ78350引脚与 SDA 和 SCL 输出引脚之间可能偶尔会损坏数据、但我认为这种错误不太可能仅在一个寄存器上以非常明确和不频繁的方式发生。 此外、因为在这些事件期间、会在许多读数中看到不正确的数据、这与可能源于错误读取的单次关断测量不同。 就像如果对 BQ78350的查询返回垃圾结果一样、我会假设只有一个读数会出现问题、但我们看到它会在连续数十次读数中出现问题、并且通过2个步骤的怪异幂返回到校正状态。

    因此、在我看来、BQ78350要么干扰了加法计算、从而报告了错误、要么是由于我们如何在2之间连接 I2C 出现问题、要么因为它影响了加法计算、所以从 BQ76930获取了错误的数据。 随着一些 BQ76930寄存器的更新周期大约为250ms、这似乎进一步与 AFE 存在某种问题相关、对吗?

    感谢您的帮助、感谢您提供的任何其他想法。

    TIM

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

    我专门介绍了 bq78350固件的源代码。 使用命令0x09 (Voltage)读取的是电量监测计从 AFE 接收的电池电压的滤波总和。 因此、如果电池电压正确、则 AFE 和电量监测计之间的通信不是根本原因。

    该电量监测计在内部对所有电压使用16位整数。

    单个位错误通常会指向通信问题(例如、当 SDA 电压电平介于有效逻辑电平时、主机对逻辑状态进行采样)。 但这也可能是由于其他一些问题导致的-看一小部分文本和原理图是不可能的。 这需要进一步调试(例如、检查总线的信号完整性、时序、电平和斜率)。 bq78350并不是一种新型电量监测计、而是建立了多年、因此您不大可能检测到隐藏的问题。 您的系统中的某些内容更有可能导致数据传输不可靠。

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

    "对于一些 BQ76930寄存器、更新周期大约为250ms、这似乎进一步与 AFE 存在某种问题相关、对吗?"

    它肯定看起来可疑。 我不能发布源代码、但是您从0x09读取的数据的计算方法如下、伪代码:

    每250ms、

    电压总和= 0
    在所有串联电芯上迭代:
      CellV[CELL]=滤波器(ADCELL[CELL])
      电压总和+= ADCFuel[CELL]

    Voltage (0x09)=滤波器(电压总和)

    因此、如果 AFE 存在问题、它会显示在 CellV[CELL]中、这是您的橙色数据。 损坏电压(0x09)的唯一可能性是滤波器出现问题(滤波器是所有电量计中都使用的超简单一阶 IIR)、加法(这两者都不太可能)或通信。

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

    因此、在获得更多对误差的数据点后、我能够找到一个独特的相关性。

    该错误发生在寄存器从15位变为16位的级别。 我要考虑的一件事是尝试使用评估模块、我们必须查看该错误是否在相同的电压电平下发生。 此外、我希望现在可以偶尔触发这个错误、我将看看我是否能够实际做到这一点、如果可以、尝试几种方法来捕获芯片的输出、希望今天我能重温相关信息。

    加法函数是否对15位和16位数字具有任何独特的功能? 即典型 unsigned int 与 signed int 的差值。

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

    否、该函数只是将有符号整数相加。 您是否有在总线上捕获此信号的设置、以便可以检查来自电量计的数据是否确实不正确、还是 MCU 上的位采样不正确?

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

    我目前正在进行这方面的设置、需要首先验证是否可以触发错误。

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

    我有更新。 我可以通过2^15 (32768mv)级别非常重复地触发错误。

    为了将我和我的团队从公式中设计的任何东西放到 TI 制造的评估板 BQ76930EVM 上、我们将读取其中的内部电池仿真器分压器、将它连接到 TI 接口适配器 EV2400上、然后我刷写了 TI 发布的针对已发布的3个版本(R1、R2)中的每一个版本的固件、 和 R3、每次刷写后进行的唯一更改是将 AFE 电池映射寄存器从默认的3节电池更改为全部10节电池、才能获得足够高的电压以达到32768。 我将 BQStudio 设置为仅查看电压、电流和电芯寄存器、并将数据记录速率设置为0.5s、然后将为评估板供电的电源和分压器在电压上行和下行传递32768电压多次的电压。 所有3个固件版本显示了完全相同的电压寄存器错误。

    因此、此最新测试中的内容不是我们自己的设计、这是100% TI 器件和编程、但它仍然有错误。  BQ78350-R1或 BQ76930或它们之间的相互作用都会产生问题。 或者、我想这可能是评估板或 EV2400中的错误、但似乎不太可能、因为这种情况 同时发生在评估板和我们内部设计的板以及 TI EV2400和3个不同的内部设计主机上。  

    以下是使用评估板 ev2400、bqstudio 和3个固件版本执行的3个测试的日志文件。 这个问题没有我用自己的主机录制视频时那么清楚、因为 bqstudio 无法让我以足够快的速度录制以全面捕获每个事件、但您可以看到每次2^15及格时、它会上升或下降。

    TI 可以深入探究这个问题吗? 请告诉我可以帮助您解决这个问题的其他信息。

    谢谢!

    TIM

    e2e.ti.com/.../test-volt-err-eval-board-plain-r3-firm.log

    e2e.ti.com/.../test-volt-err-eval-board-plain-r2-firm.log

    e2e.ti.com/.../test-volt-err-eval-board-plain-r1-firm-2.log

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

    我将把这篇文章转发给对应器件的软件工程师、并将更新结果。

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

    谢谢! 期待看到他们所说的内容。

    谢谢!

    TIM

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

    大家好、我只是想看看有没有关于这个问题的反馈。

    谢谢!

    TIM

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

    以下是来自固件工程师的反馈:高于32767的电压会使固件进入溢出状态。  似乎的随机性取决于多条代码路径、对于特定用例、必须研究这些代码路径。 重要的一点是、在不使用 VSCALE 的情况下、器件绝不会读取超过32767mV 的电压。 建议使用 VSCALE = 1 (这会将该值除以10)。

    VSCALE 位于 SBS Configuration->Data->Specification Information 中。 请参阅 TRM、17.28。