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.

[参考译文] BQ76952:DSG FET 不'不保持启用状态。

Guru**** 2401185 points
Other Parts Discussed in Thread: INA180, BQ76200, BQ76952, BQSTUDIO

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/1256648/bq76952-dsg-fet-doesn-t-stay-enabled

器件型号:BQ76952
主题中讨论的其他器件:BQ76200、INA180、 BQSTUDIO

大家好、我正在使用 BQ7695201 IC 开发一款 BMS 产品、我已经为 IC 上电、并通过 SPI 与板上的主机 MCU 进行通信。

我打算使用 BQ76952来替代较早 BMS 产品上 Linear 的 LTC6803。 在该产品中、主机 MCU 控制所有电池平衡、电流监控和 FET 控制、因此我希望也可以对 BQ76952执行相同的操作、因此可以将其用作电池电压监控器、平衡器(与 LTC6803配合使用)、充电电流监控器(与 INA180配合使用) 和高侧 FET 控制器(通过 BQ76200实现)。 如果我可以使用 BQ76952来完成所有这些操作、它将极大地简化 BOM 和空间要求。 我不打算使用自动保护功能、而是使用主机 MCU 轮询数据、然后通过 BQ76952手动控制 FET 和平衡、但我需要首先解决这个问题。

我在使 DSG FET 保持开启时遇到问题。

这是 BQ76952的原理图。

TS1和 TS3电阻器以及充电 FET Q2当前未组装。

我在 LOAD+/LOAD-路径中具有一个带前置电阻器的 LED、以便轻松查看 DSG FET 何时启用。

我将从工作台电源为 PACK+和 PACK-提供15V 电压。

下面是我的启动脚本的简短摘要:

Starting procedure

//enter CFG_UPDATE 0x0090
//REG0 config 0x9237, 0x01, enable BREG
//REGREG12 config 0x9236, 0x0D, set REG1 to 3V3 and enable
//SPI config 0x923C, 0x60, set SPI to use REG1 voltage
//FET options 0x9308, 0x0C, set mosfet configuration to parallel mode (disable body diode protection)
//DSG FET A protections options 0x9269, 0x00, disable all protections
//DSG FET B protections options 0x926A, 0x00, disable all protections
//DSG FET C protections options 0x926B, 0x00, disable all protections
//enabled protections A protections options 0x9261, 0x00, disable all protections
//enabled protections B protections options 0x9262, 0x00, disable all protections
//enabled protections C protections options 0x9263, 0x00, disable all protections
//protection configuration options 0x925F, 0x00, 0x00, disable all protection
//TS1 config 0x92FD, 0x00, not used and not used for any protection
//TS3 config 0x92FF, 0x00, not used and not used for any protection
//exit CFG_UPDATE 0x0092

当我退出 CFG_UPDATE 模式时、DSG FET 会在短时间(~1s)内被激活、我想我看到其他人报告了相同的行为、这似乎是标称值。

如果我在慢环路中重复调用 DSGTEST 0x0020、DSG FET 后面负载路径上的 LED 会闪烁一次(短暂闪烁)并熄灭。 它不会持续运行。

如果我不是 DSGTEST、则调用 FET_EN (0x0022)以更改为正常工作模式、然后在循环中调用 ALL_FETS_ON (0x0096)、也不会发生任何情况。

我首先怀疑 DSG FET 被一些集成保护功能禁用、但我尝试禁用针对这种功能的所有可能的配置标志。 此行为是否存在任何其他可能的固件方面的原因、或者这更可能是硬件问题?

我已经测得 CP1电荷泵电容器被充电至预期的11V、因此它看起来正常运行。

我还读取了所有警报、故障和 PF 寄存器、但它们都不会报告任何故障、DSG FET 只是没有保持启用状态。

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

    尊敬的 Simo:

    我想跟你仔细检查一下这件事。 PACK+是否定义为电池组顶部? 通常、BAT+用于电池顶部、PACK+是负载的正端子。 如果您可以发送稍大的原理图照片、那么能够看到 VCx 引脚的完整输入可能会有所帮助。 我只问这个问题、因为我希望确保您的 FET 在发生意外时都不会被反向偏置。

    当 DSGTEST 闪烁时、导通、关断和再次导通之间的编程延迟有多长? 此外、您在 load+节点上的负载是多少? 器件可能由于低电流而进入睡眠模式、然后启用 Settings:FET:Chg Pump Control[SFMODE_SLEEP]、这样可确保 DSG 电压大约比其源电压高1V 至2V、从而尽可能减少电流流动。 您能否确认当 DSG 引脚发生故障时在 DSG 引脚上观察到了什么电压以及0x7F FET Status 寄存器是否显示 DSG FET 处于开启或关闭状态? 这些参数有助于根据器件是否认为 FET 已启用来确定这是软件问题还是硬件问题。

    我对原理图进行了一些小改动、可能会导致泄漏问题或提供额外的保护:

    1. R8和 R15应为10MEG 而不是1MEG。

    2.在每个 FET 上并联并从充电器+和负载+到充电器-添加100nF 电容器,以处理 ESD 问题。

    3.在 C9至 GND 的相同节点上添加一个1uF 电容、以作为 BAT 引脚的输入。

    4.在 RST_SHUT 上添加10k 下拉电阻器。 如果它处于空闲状态、则可能导致 FET 关断并进入软关断状态。

    此致!
    A·内德尔费尔德

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

    谢谢你的答复,我明天会回来与你.

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

    这听起来不错。 让我知道情况如何

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我想与您再次核对一件事。 PACK+是否定义为电池组顶部? 通常、BAT+用于电池顶部、PACK+是负载的正端子。

    在我的原理图中、我将物理电池端子连接 PACK+/-(TI 命名规则中的 BAT)、充电器连接充电器+/-(TI 命名规则中的 CPACK)和放电路径 LOAD+/-(TI 命名规则中的 PACK)命名为、因为我使用并联 FET 配置。

    如果您可以发送稍大一些的原理图照片,则能够查看 VCx 引脚的完整输入可能会有所帮助。 我只问这个问题,因为我想确保你的 FET 没有发生意外的反向偏置。[/报价]

    目前完全未连接任何电芯、因此所有电芯侧的连接都是开路的。 CHG FET Q2目前未组装、并通过在漏极和源极之间桥接一根导线进行测试。  Settings:Configuration:Vcell Mode 全部为0、因此应禁用所有电芯保护。 我应如何向您发送 完整的原理图 PDF?

    此外,load+节点的负载是多少? 器件可能由于电流较低而进入睡眠模式、然后启用 Settings:FET:Chg Pump Control[SFMODE_sleep]、以确保 DSG 电压大约比其源电压高1-2V、从而尽可能减少电流流动。[/报价]

    LOAD 只有一个带3k3欧姆前端电阻器的小型蓝色 LED、可轻松查看其状态。 当被启用时、负载电流应该在~μ A 4mA 左右、电源电压为15V。  Settings:FET:Chg Pump Control[SFMODE_sleep] is disabled.

    当您闪烁 DSGTEST 时,打开、关闭、 然后再次打开?
    [/quote]
    您能否确认 DSG 引脚发生故障时在哪个电压以及0x7F FET 状态寄存器是否显示 DSG FET 已打开或关闭? 这些命令将有助于根据器件是否认为 FET 已启用来确定这是软件问题还是硬件问题。

    我编写了一个简短的测试循环、未调用 FET_EN、因此 FET 应处于测试模式、我正在调用 DSGTEST 并在0x7F 处读取 FET_STATUS 寄存器。 下面是循环的伪代码摘要。 先前的启动配置脚本在进入循环之前执行。

    //Delay 2000ms
    //wake-up BQ76952 comms with couple dummy reads
    //send DSGTEST 
    //delay 100ms
    //read FET_status, toggle on-board LED ON if [DSF_FET] (bit 2) is 1 and off if it's 0

    因此、使用该环路测试代码时、LED 每~4s 闪烁一次、当它开始时、FET_STATUS 会显示 DSG FET 的状态从1变为0、但当它从0切换到1时没有任何反应。 因此 DSG_FET 位正在打开和关闭、但只有当状态位从1转换为0时、LED 才会短暂闪烁。 下面是从 DSG FET 的栅极(黄色)和源极(青色)的此闪烁捕获的示波器、接地为电池侧负极。 第一幅图像显示较大时间标度上的整个闪烁脉冲、第二幅图像显示 FET 关闭时脉冲结束。

    脉冲长度在20-300ms 之间变化、不能保持恒定的长度。 在栅极放电期间、它显示了 TI 数据表中如下所示的典型行为、并且栅极上升至高于 DSG FET 的源极电压11V、应该如此。

    BQ76952本身中的 DSG FET 驱动器似乎工作正常。

    4. 在 RST_SHUT 上添加了10k 下拉电阻器。 如果空闲为高、则可能导致 FET 关闭并进入软关断状态。

    RST_SHUT 引脚由主机 MCU 驱动、因此不会悬空。

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

    尊敬的 Simo:

    我向您发送了一个朋友请求、因此您可以在私人邮件中向我发送原理图、而不是在公共论坛中发送。

    有趣的是、范围在20-300ms 之间。 每250ms 轮询一次器件的许多输入和命令、包括检查 CFETOFF、DFETOFF 和任何命令。 这意味着如果您发送命令、处理命令可能需要0-250ms 之间的任何时间。 由于您只延迟100ms、这可能会使其看起来在错误的时间开启和关闭。 我已附加了一段来自 TRM 第6.9节的摘录、其中突出显示了器件的时序模式。

    如果您使用的是 BQStudio、您能否共享用于对器件进行编程的.gg 文件。 如果不是、您能否共享 SCD、OCD、DFETOFF 和 FET Options 寄存器的配置? 最后一个步骤会特别有用、因为 HOST_FET_EN 位会决定主机 MCU 是否可以修改 FET 状态。 如果您共享.gg 文件、我可以尝试在 EVM 上运行、以查看在打开 DFET 时是否会出现相同的问题。

    此致!
    A·内德尔费尔德

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

    我知道是什么原因造成的。 我将在这里留下诊断进度描述、以防其他人碰碰它。

    我注意到、如果我在环路中持续对 RST_SHUT 线(只是一个1ms 的短正脉冲)进行脉冲、并导致部分复位、 它会通过调用 FET_EN 和 ALL_FETS_ON 使 DSG FET 保持启用 状态、然后在 RST_SHUT 线路下降沿后进入环路并持续1秒、 因此、如果我在1个信号之前持续对 RST_SHUT 脉冲、BQ76952会正常运行、此时它还可以与 ALL_FETS_OFF 命令一起工作、以便可以根据需要将其打开和关闭、 只要我在1s 时间之前不断地对 RST_SHUT 执行脉冲。

    我还尝试  在没有任何影响的情况下增加[13.3.2.8 Settings:Configuration:Comm Idle Time]、因为 DSG FET 一直保持开启、尽管我仅在环路中持续脉冲 RST_SHUT 线路、而没有发生任何 SPI 通信、因此看起来并不是这样。 尝试设置 [13.3.7.1设置:Current Thresholds:DSG Current Threshold] 为零,以防我的低负载电流导致它检测到"无负载"情况,无影响。 我曾尝试在禁用 RST_SHUT 脉冲的情况下调用 sleep_disable 命令、但这没有效果、因为它再次停止工作、所以 BQ76952似乎不会进入睡眠模式、那么它进入了什么模式?

    然后、我想知道在禁用 DSG FET 之前1s 的延迟可能来自何处、因此我搜索了"技术参考手册"[sluuby2b]中的"1s"字符串、在可能的可配置寄存器中只有几个命中点、这是默认值。 我注意到了两个有趣的寄存器[13.4.1.3 Power:Shutdown:Low V Shutdown Delay ],默认延迟为1秒,默认延迟为0.25秒[ 13.4.1.6 Power:Shutdown:FET Off Delay ], 这将与我通过 DSG FET 和 DSGTEST 命令看到的奇怪20-300ms 的导通时间对齐。

    这就是原因。 BQ76952从低电池组电压进入关断模式、即使我对 BAT+ I 的电源电压高于6V 默认值并且[ 13.4.1.1 Power:Shutdown:Shutdown Cell Voltage ]设置为0、因此被禁用。 我测试了将低 V SHUTDOWN 延迟设置为30秒的情况、并且 DSG FET 在关闭之前保持了30秒的开启状态、而没有对 RST_SHUT 产生脉冲。 然后将[13.4.1.2 Power:Shutdown:Shutdown Stack Voltage]设置为0,完全消除该行为,因为它不会再尝试自行关闭。

    我需要检查 BAT+电压的测量结果以检查 BQ76952实际测量的值、如果电池状态寄存器中的位13为1、则指示待定关断状态、 我可以想象在低 V SHUTDOWN 延迟后进入该模式。

    感谢您对布局的帮助和改进建议!