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.

[参考译文] bq77PL900:TOUT 电源未进入独立模式

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/611345/bq77pl900-tout-supply-is-not-coming-in-stand-alone-mode

器件型号:bq77PL900

我仅使用 EVM 原理图开发了 bq77PL900。 但是、当它在 Vreg1和2上加电时、Tout 引脚显示为零(应等于 vlog)、Tin 引脚也是如此。 我相信这也会对 vGood 产生影响、因为所有这些都在 同一条总线上  

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

    您好、Sanjay、

    如第6页方框图和图20所示、TOUT 被切换到 VREG2 (3.3V)。  在主机模式下、主机通过寄存器位控制交换机。  在独立模式下、器件占空比会对该开关进行循环、以减少电池上的负载。  开关每秒大约打开10ms。  因此、在独立模式下将 TOUT 测量为大约零是正常的。

    可以过滤 TIN 以稳定该值、过多的滤波将改变引脚的可用电压。  当器件在采样结束时检测到 TIN 低电平、它将关闭 FET 输出。  相关规格请参阅电气特性表的 TOUT、热敏电阻电源部分。  下面显示了具有保护功能的示例脉冲。

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

    尊敬的 WM5295:

                   感谢您的回复、我验证了 CRO 上的情况、结果还是可以的。 IC 根据预先规定的 OV 和 UV 限制正常工作。 但是、我仍然不明白为什么 VGood 引脚未设置为高电平、因此我无法对 EEPROM 进行编程。  请帮我解决这个问题。

    PS:我能够读取状态寄存器为0xC0、状态控制寄存器为0x00、功能控制寄存器为0x00。

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

    我将此代码用于使用 STM32F3作为 MCU 进行 EEPROM 编程

    空 EEPROM_Config (空)


    i2c1_write (bms、0x07、uvw);// 1.8V UV 配置

    i2c1_WRITE (BMS、0x0B、EEPROMW);// EEPROM 电源启用(EEPROMW=0x62)

    i2c1_WRITE (BMS、0x0B、EEPROMR);// EEPROM 写入使能(EEPROMR=0x41)
    HAL_DELAY (1);                 // 1毫秒延迟
    if (STATUS_REG=0xE0)              //检查是否设置了 vGood

    HAL_GPIO_WritePin (GPIOD、GPIO_PIN_5、GPIO_PIN_SET); //EEPROM 引脚设置
    HAL_DELAY (100);                                     // 100ms 延迟
    //i2c1_write (BMS、0x0B、EEPROMRT);                     // EEPROM 复位(EEPROMRT=0x00)
    HAL_GPIO_WritePin (GPIOD、GPIO_PIN_5、GPIO_PIN_RESET); //EEPROM 引脚复位

    请检查上述程序是否正常、并建议进行任何更改、因为我无法向 EEPROM 写入所需的值

    每当我们将0x62发送到0x0B reg i.e、EEPROM reg 时、都会设置 vGood。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Sanjay、
    我们不建议在系统中进行编程、因为如果编程发生在错误的时间并且有可能超过写入周期、那么器件可能会损坏。 但是、如果正确执行、编程应该起作用。
    我无法帮助您处理代码、但从注释中可以看到基本上遵循编程流程图。 E0的状态测试会检查所有状态位、而不仅仅是 vGood 位。 如果电源电压在范围内并且 EEPROM 寄存器被写入0x41、内部电源应该打开并且 VGood 应该被置位、否则部件必须被损坏。 您可以确认施加的电压、确认发送到 EEPROM 寄存器0x0B 的寄存器值以及返回的状态寄存器值。 确保编程期间电源电压不会下降。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 、WM5295、

               我通过 batt +端子和仿真 6节电池(即200欧姆电阻器)提供大于20V (20.5~21V)的电压。 每当我在0x0B reg i.e 中传递0x62时、EEPROM reg 状态寄存器返回0xE0 (i.e、vGood 设置)、而 EEPROM reg 返回0x41。  但是、当我在程序中调用 EEPROM_Config 函数时、它不能满足条件 STATUS_REG=0xE0。 我认为每次 调用同一函数时都不会设置 vGood。 那么、它的功能或器件是否已损坏?? 因为即使现在仅在 EEPROM reg status_reg 中发送0x62返回0xE0 i.e、也会设置 vGood?  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Sanjay、
    EEPROM 寄存器0x62不打开 vGood。
    EEPROM 寄存器0x41打开 vGood
    如果您可以通过手动设置寄存器来获得 vGood、但该函数不起作用、则该函数将被损坏。 这可能是一个延迟问题、也许是外设仍在执行 I2C 写入时代码运行的延迟。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、WW5295、
    我感到困惑、请帮助处理 EEPROM 写入序列首先我们发送所需的 i2c 命令来写入 EEPROM 寄存器(0x06-0x0a)、然后在0x0B 中发送0x62 (用于预写入)、然后在0x0B 中再次发送0x41以启用对 EEPROM 的写入。 然后、我们在0x0B 中检查 vgOD 并设置 EEPROM 引脚和 agin 传递0x00、然后重置 EEPROM 引脚。

    我的问题是
    1.在 EEPROM 寄存器中启用写入后、我们是否需要传递12c 写入命令、即0x41、还是仅在流程图中提到的之前传递?
    2. EEPROM 是否检查 vGood、或者我们应该在代码上检查它?
    3.验证 OV/UV/SC/OC 值意味着我们需要使用从0x06-0x0a reg 读取的 i2c 来读取它们,并建议是否有
    要遵循的读取序列?
    在数据表中、我们需要将0xE2传递到 EEPROM reg 以启用 prog。 即启用 VGood I Guess。 那么、我们应该通过0xE2
    写入序列之前写入 EEPROM 寄存器中?
    最后、我们是否可以在 atime i.e 中以单个写入序列写入所有寄存器0x06-0x0a、或者需要一次发送单个寄存器?

    请帮助我清除这些疑问、这对我非常有帮助
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Sanjay、
    1.按照流程图进行操作。 在时间被指出的地方、它们需要在实际时间内发生。
    2.部件未检查良好、用户应检查。 如果您在没有 vGood 的情况下继续进行编程、则器件可能会损坏。
    3、是、OV/UV/SC/OC 表示寄存器0x06至0x0A。 验证方法以确认您写入的寄存器值是否位于 EEPROM 寄存器中。 编程不需要验证、但建议验证、因为 EEPROM 写入的数量有限。 TI 评估软件可能无法验证寄存器内容、因为它信任写入的内容。
    4、0xE2仅在第36页显示、不在编程流程图或寄存器定义中。 按照流程图操作、不需要0xE2。 在序列开始之前写入它应该是可以接受的、但是在序列中写入它会中断编程。
    5.是的,所有 EEPROM 都是同时写入的。 编程前、所有 EEPROM 寄存器应设置为所需的值。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、WM5295、
    感谢您的回复、问题是当我在0x0B EEPROM 寄存器中通过0x62并读取0x0B 寄存器时、它显示0x41且设置了 vGood、但当我在0x0B EEPROM 寄存器中通过0x41时、它显示零值且 vGood 被复位。 这是正常还是异常? EEPROM 写入序列中的 Beacuse、当我必须按顺序通过0x0B EEPROM reg 中的0x62和0x41时、我猜 VGood 会按该顺序复位、而 EEPRO 写入失败。 你对此说什么?

    输入电源、(PACK++)>20V 例如(20.5~21V)

    如果不考虑电源条件、则需要满足哪些条件才能设置 vGood? ESP 是否有要发送到 EEPROM reg 的值?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Sanjay、
    描述的行为异常。 地址0x0B 是一个读/写寄存器、不是一个来自内部进程的状态。 您所读的是所写的内容。 如果您写入0x62并读取0x41、则会运行另一个 MCU 进程来执行意外写入或总线错误。 由于您在预期写入0x41之后读取0、因此 MCU 可能不会在您认为在的位置执行、或者您的仿真器可能会在与其显示的位置不同的位置停止。 除了写入寄存器、唯一的变化应该是在器件复位时清除、例如从循环通电。
    VGood 是根据内部编程电源上的简单比较器进行设置的、当寄存器为0x41时、该比较器被使能。 它不能预测未来 EEPROM 写入过程是否成功、但在读取时表明电压显然足够。 如果您向0x0B 寄存器写入不同的值、则 vGood 比较器将关闭、EEPROM 写入序列将终止。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 WM5295:
    感谢您的帮助、问题是我的 i2c 函数由于写入错误的值而出错。 然后再确定它工作正常