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.

[参考译文] TPS65912:上电时需要禁止 VCC 输出

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/1209959/tps65912-need-forbid-vcc-output-when-poweron

器件型号:TPS65912

如上图所示, MCU 上电后, 首先进行 GPIO 初始化,然后设置 寄存器使能 ENx 引脚、AVS 电压、OP 电压等。

TPS65912将立即输出默认电压、这将破坏由 TPS65912供电的其他器件

那么、我应该怎么做才能避免默认电压输出呢?  是否唯一的解决方案是 使用定制 OTP?

我使用三 通道 DCDC1 DCDC3 DCDC4、INIT 代码的流程如下所示:

GPIO_SET_Pin (G_PMU_CONFIG2、 GPIO_PV_HIGH);
GPIO_SET_Pin (G_PMU_CONFIG1、 GPIO_PV_LOW);
GPIO_SET_Pin (G_PMU_PWRHOLD、 GPIO_PV_HIGH);
GPIO_SET_Pin (G_PMU_nPWRON、 GPIO_PV_LOW);
GPIO_SET_Pin (G_PMU_SLEEP、 GPIO_PV_LOW);
gpiohs_set_pin (HG_PMU_EN1、 GPIO_PV_LOW);
gpiohs_set_pin (HG_PMU_EN3、 GPIO_PV_LOW);
gpiohs_set_pin (HG_PMU_EN4、 GPIO_PV_LOW);

usleep (30 *  1000);   //在30ms 期间,默认电压输出显示为 示波器,这是意外的
tps_set_reg (TPS65912_EN1_SET2、 0x04);
tps_set_reg (TPS65912_EN3_SET2、 0x10);
TPS_SET_reg (TPS65912_EN4_SET2、 0x20);
TPS_SET_reg (TPS65912_DCDC1_CTRL、 0x1C);
TPS_SET_reg (TPS65912_DCDC3_CTRL、 0x1C);
TPS_SET_reg (TPS65912_DCDC4_CTRL、 0x1C);

TPS_SET_reg (TPS65912_DCDC1_OP、 0x0);
tps_set_reg (TPS65912_DCDC3_OP、 0x0);
TPS_SET_reg (TPS65912_DCDC4_OP、 0x0);

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

    您好!

    您在使用什么 TPS65912 OPN?

    谢谢。

    丹尼尔 W

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

    您好,TPS659122

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

    尊敬的 Zhanbo:

    加电期间、ENx 引脚中是否有任何一个为高电平? 如果是、请将其保持在低电平、直到根据需要对器件进行重新编程

    谢谢。

    丹尼尔 W

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

    我可以肯定,但输出电压设置为0直到寄存器设置,我搜索 TI ,所以我们必须使用 定制 OTP ,它可以将 EN1连接到 DCDC1 , EN3连接到 DCDC3 , EN4连接到 DCDC4上电时读取 OTP?

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

    尊敬的 Zhanbo:

    您可以在 PWRON 设置为低电平之前重写寄存器吗? 这将阻止主电源序列启动、并允许您根据需要设置资源。

    谢谢。

    丹尼尔 W

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

    Daniel、您好!

    在写入寄存器后将 PWRON 设置为低电平似乎没有区别、

    GPIO_SET_Pin (G_PMU_CONFIG2GPIO_PV_HIGH);
    GPIO_SET_Pin (G_PMU_CONFIG1GPIO_PV_LOW);
    GPIO_SET_Pin (G_PMU_PWRHOLDGPIO_PV_HIGH);
    GPIO_SET_Pin (G_PMU_nPWRONGPIO_PV_HIGH);
    GPIO_SET_Pin (G_PMU_SLEEPGPIO_PV_LOW);
    gpiohs_set_pin (HG_PMU_EN1GPIO_PV_LOW);
    gpiohs_set_pin (HG_PMU_EN3GPIO_PV_LOW);
    gpiohs_set_pin (HG_PMU_EN4GPIO_PV_LOW);
    写入寄存器...

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

    尊敬的 Zhanbo:

    PWRHOLD 高电平也将启动电源序列。 在写入寄存器之前、请将 nPWRON 和 PWRHOLD 保持为低电平

    谢谢。

    丹尼尔 W

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

    符合所示的规格。 我们必须设置 PWRON 拉低 或 PWRHOLD = HIGH 来保持关闭状态,I2C   在启动排序前处于复位状态,我已经试过你说过的, I2C 处于复位状态的现象符合规范,   

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

    尊敬的 Zhanbo:

    是的、我同意在启动上电序列之前 I2C 将处于复位状态。  似乎需要一个没有默认输出的 OTP 来使该策略有效。

    谢谢。

    丹尼尔 W

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

    Daniel、您好!
    感谢您的帮助,我会找到其他  OPN 与我的需求比较.
    B&R。