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.

[参考译文] TPS65219:PMIC I2C 地址

Guru**** 2516170 points
Other Parts Discussed in Thread: TPS65220

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/1334294/tps65219-pmic-i2c-address

器件型号:TPS65219
主题中讨论的其他器件:TPS65220

您好!

我在定制电路板中使用 TPS6521902RHBR 型号。
根据数据表、 默认情况下该 PMIC 的 I2C 地址应为0x30、但在0x24地址上探测时它会应答。  

在装有 TPS65220的开发板 AM64-SK 上使用相同的软件、可以正确地找到0x30的 I2C 地址。
除了设置了错误的地址、PMIC 似乎正常工作:它提供了正确的电压、我可以使用新地址正确访问所有寄存器。

由于我们从未对定制板上的 PMIC 进行过重新编程(我们本周组装了此板)、因此我对这种情况感到困惑。
为什么地址被更改? 在发布-02-型号时、工厂中是否会发生这种情况、或者这是否意味着出现故障?

感谢您的帮助、
保罗·马蒂尼

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

    尊敬的 Paolo:

    我检查了 TPS6521902的 NVM、I2C 地址应设置为0x30。 这在 TRM 中得到了证实: https://www.ti.com/lit/ug/slvucl0/slvucl0.pdf 

    这也在我为该 NVM 修订版本找到的寄存器转储中得到了确认。 因此、我不确定您的器件是如何显示地址0x24的。 您是否在多个器件上验证过此功能?

    此致、

    马特

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

    您好、Matt、
    感谢您的快速回答。
    目前、我们只有这一个板。

    我们 将继续进行软件开发、作为一种权变措施、我们将让 I2C 主设备在初始化阶段在0到128之间执行搜索、但 我不希望在最终产品中使用此搜索。 我有点担心、这种意外的地址更改可能表示存在一些潜在故障。

    如果您对此问题有任何更新、敬请告知。

    此致、
    保罗

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

    尊敬的 Paolo:

    最好在多一个器件上确认这一点。 我没有听说过任何其他人报告您所描述的问题、因此验证器件的 NVM 配置是否真的存在错误非常重要。 您是否正在读取 I2C 地址寄存器的值以同时进行确认?

    此致、

    马特

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

    Matt、您好!

    很抱歉这么晚才回复。

    我检查了 I2C_ADDRESS_REG、它设置为0xB0而不是0x30。

    我还检查了 包含0x60的 FACTORY_CONFIG_2。 根据 TRM、它应该包含0x3。

    此外、我尝试将 LDO1更改为0.9V (从工作状态)、我可以设置该值并将其存储在 NVM 中、但输出电压不会改变、它始终设置为1.8V、这也是错误的、因为根据 TRM 应该是3.3V。

    我唯一能可靠执行的操作是关闭然后再次打开稳压器。

    很遗憾、我仍然无法在另一个电路板上测试此电路板、我要求生产第二个电路板、但我不知道何时可以提供。

    如果您对正在发生的事情有任何想法、请告诉我。

    此致、
    保罗·马蒂尼

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

    尊敬的 Paolo:

    如果寄存器字段" I2C_ADDRESS_REG "是读取0xB0、这意味着至少有一个默认寄存器设置发生了更改。 如下面的截图所示、该寄存器包括 I2C 地址(位# 6-0)。 位#7指示是否已向 PMIC 发送重新编程命令。 如果将0xB0更改为二进制、您会注意到十六进制的 bit # 6-0等于0x30。

    如果 LDO1输出电压不是从1.8V 变化、这可能是因为该电源轨是通过 VSEL_SD 引脚控制的。 当 VSEL_SD 引脚为低电平时、LDO1用作固定1.8V LDO。 您能否共享原理图和来自所有 PMIC 寄存器的回读?

    谢谢。

    布伦达

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

    您好!  
    请根据要求在下方找到原理图和寄存器转储。  

    当我在注意到没有实际变化之前尝试更改 LDO1输出并对 NVM 进行编程时、会设置 I2C_ADDRESS_REG 中的#7位。

    今天、我曾尝试更改 寄存器 MFP_1_CONFIG 中的 VSEL_SD_I2C_CTRL 位、但一旦我将其设置为1、PMIC 就会关闭所有电源轨(可能会转换以进行初始化)。
    根据我从数据表中了解到的、应该可以在 VSEL_DDR 模式下控制 LDO1输出、请分享一些有关如何执行该操作的说明。

    e2e.ti.com/.../5238.pmic.pdf

    寄存器转储:
    TI_DEV_ID 0x00
    NVM_ID 0x02
    ENABLE_CTRL 0x7F
    BUCK_CONFIG 0x0B
    LDO4_VOUT 0xA6
    LDO3_VOUT 0x98
    LDO2_VOUT 0x05
    LDO1_VOUT 0x06
    BUCK3_VOUT 0x94
    Buck2_VOUT 0xA4
    BUCK1_VOUT 0x86
    LDO4_SEQUIEST_SLOT 0x22
    LDO3_SEQUERY_SLOT 0x22
    LDO2_sequence_slot 0x50
    LDO1_SEQUIEST_SLOT 0x22
    BUCK3_SEQUERY_SLOT 0x30
    Buck2_sequence_slot 0x22
    BUCK1_SEQUIEST_SLOT 0x42
    nRST_sequence_slot 0x80
    GPIO_sequence_slot 0x60
    GPO2_sequence_slot 0x02
    GPO1_SEQUIEST_SLOT 0x60
    POWER_UP_SLOT_DURATION_1 0xC9
    POWER_UP_SLOT_DURATION_2 0xCD
    POWER_UP_SLOT_DURATION_3 0xC0
    POWER_UP_SLOT_DURATION_4 0x00
    POWER_DOWN_SLOT_DURATION_1 0xCC
    POWER_DOWN_SLOT_DURATION_2 0x00
    POWER_DOWN_SLOT_DURATION_3 0x00
    POWER_DOWN_SLOT_DURATION_4 0x00
    GENERAL_CONFIG 0x02
    MFP_1_CONFIG 0x41
    MFP_2_CONFIG 0xDE
    STBY_1_CONFIG 0x7F
    STBY_2_CONFIG 0x02
    OC_DEGL_CONFIG 0x00
    INT_MASK_UV 0x00
    MASK_CONFIG 0xE0
    I2C_ADDRESS_REG 0xB0
    USER_GENERAL_NVM_STORAGE_REG 0x00
    MANUFACTURE_VER 0x02
    MFP_CTRL 0x00
    DISCHARGE_CONFIG 0x7F
    INT_SOURCE 0x00
    INT_LDO_3_4 0x00
    INT_LDO_1_2 0x00
    INT_BUCK_3 0x00
    INT_BUCK_1_2 0x00
    INT_SYSTEM 0x00
    INT_RV 0x00
    INT_TIMEOUT_RV_SD 0x00
    INT_PB 0x04
    USER_NVM_CMD_REG 0x00
    POWER_UP_STATUS_REG 0x18
    SPARE_2 0x00
    SPARE_3 0x00
    FACTORY_CONFIG_2 0x60

    感谢您的帮助、
    保罗

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

    尊敬的 Paolo:

    请在下方查找我的反馈、如果您有任何问题、请告诉我们。 建议从 Sitara 处理器团队申请完整的原理图审核(PMIC +外设+ MCU)。  

    • LDO1输出电压未变化的原因可能是您需要执行以下操作:通过更改说明将 VSEL 引脚配置从"SD"重新编程为"DDR"  VSEL_DDR_SD 位域 (地址0x1F、位#0)。 保留" VSEL_SD_I2C_CTRL "进行设置(0x1/LDOx_VOUT 寄存器设置)。

    • 降压稳压器输出电容:此 NVM 将降压稳压器配置为在准固定频率和高带宽下运行。 规格中的下表显示了对局部和负载点(POL)电容的要求。 47uF 电容(降额后)每个降压转换器上通常使用局部电容。 请相应地增加输出电容。  

    • 默认情况下、GPO1处于禁用状态、只能在 PMIC 完成上电序列后(在 nRSTOUT 被释放之后)通过 I2C 启用。

    • 如果 PMIC nRSTOUT 引脚用于驱动处理器 MCU_PORz、则客户必须具有缓冲器、逻辑门或任何其他允许将电压电平从3.3V 更改为1.8V 的电路。 原因是 MCU_PORz 使用1.8V 域。   

    • VSYS 引脚需要一个靠近引脚的最小2.2uF 的输入电容。 原理图未显示任何内容。  

    • 建议使用前置稳压器(VCC_3V3_SYS_EXT)为 VPP LDO (U7/TLV755x)供电。

    • 如果  MODE/RESET 引脚由 RESETSTATZ 驱动、则处理器建议使用10K Ω 下拉电阻器(连接到 GND)、而不是上拉电阻器、以在处理器从复位状态释放之前将信号保持为低电平。

    谢谢。

    布伦达