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.

[参考译文] Linux/TPS53681:TPS53681:无输出电压

Guru**** 2589280 points
Other Parts Discussed in Thread: TPS53681

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/754830/linux-tps53681-tps53681-no-output-voltage

器件型号:TPS53681

工具/软件:Linux

大家好、我们将调试 TPS53681、它将 通过 PMBus 命令控制 A 通道以输出 PWM1/PWM2/PWM3、并通过三芯 片 CSD95490Q5MC 获得0.42V 电压、现在用于读取/写入寄存器的 IIC 全部正常、我的配置如下所示: 0x00寄存器设置为0x00、0x03寄存器设置为0x00、0x04寄存器设置为0x02、0x01寄存器设置为0x80、0x02寄存器设置为0x1B、 0x24寄存器设置为0x0029、0x2B 寄存器设置为0x001B、0x21寄存器设置为0x001D、其他寄存器使用默认值、 但 在 TPS53681输出端点未测量到 PWM、 因此现在我需要了解如何通过   发送 PMBus 命令通过 TPS53681输出预期的 PWM、或者是否有相应的开发演示代码、希望在此作出回应、谢谢。

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

    检查寄存器设置后、似乎没有什么特别之处、因此这些不应该是目前的根本原因。 要帮助调试此问题、还需要了解其他一些内容:

    1) 1)寄存器03h -> 00h 清除了所有故障、但在您写入该寄存器之前、是否有任何状态寄存器报告了故障情况? 如果存在过流、过压/欠压、过热等故障、我们可以解决该问题。

    2) 2)通道 A 的 CSP4是否连接到3.3V 以根据数据表的表1正确设置三相运行? 如果配置不正确、则可能会阻止启动。

    3) 3)您是否使用通道 B 为电路板上的第二个电源轨供电? 如果不是、BCSP1、BCSP2、BVSP 和 BVSN 是否根据数据表正确配置以关闭电源轨? 如果不是、这可能是导致您出现问题的原因。

    4) 4)查看示波器上的 VOUT 在您通过 PMBus 发送开启命令时是否开始上升? VOUT、PWM1和 VIN 的示波器截图会有所帮助。

    如果您可以与我共享原理图、我可以查看它以查找任何其他错误。 请随时提出您可能遇到的任何其他问题。

    谢谢、

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

    建议按照以下步骤通过 PMBus 启用 TPS53681以获得0.42V 输出:

    PAGE (0x00)= 0x00

    2.相位(0x04)= 0xFF

    3. VBOOT (0xDB)= 0x0023 (高字节、低字节)= 0.42V

    Vout_command (0x21)= 0x0023 (高字节、低字节)= 0.42V

    5. Vout_min (0x2B)= 0x001D (高字节、低字节) = 0.39V

    6. Vout_MAX (0x24)= 0x0029 (高字节、低字节)= 0.45V

    7. ON_OFF_CONFIG (0x02)= 0x18仅运行、忽略 VR_EN 引脚  

    8。运行(0x01)= 0x80 =打开、裕量无  

    请注意,您可能还需要调整环路补偿器和 IOUT,... 限制、以使 VR 稳定运行。 上述过程将尝试启用 VR、但如果控制器不稳定、 或者故障限制等设置不正确、它们可能会导致控制器设置故障-在这种情况下、您可以查看 PMBus 状态寄存器以了解更多信息。我建议您查阅 TPS53681 TRM 文档以了解寄存器映射。  www.ti.com/.../sluubo4.pdf

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

    您好、 Carmen:

    检查寄存器设置后、似乎没有什么特别之处、因此这些不应该是目前的根本原因。 要帮助调试此问题、还需要了解其他一些内容:

    感谢您的回复、附件是我们的原理图和代码。

    IIC 使用 GPIO 进行仿真。

    1) 1)寄存器03h -> 00h 清除了所有故障、但在您写入该寄存器之前、是否有任何状态寄存器报告了故障情况? 如果存在过流、过压/欠压、过热等故障、我们可以解决该问题。

          当我编译十六进制文件并将其下载到电路板时、首次运行时、寄存器状态如下:   

         寄存器:0x78/0x79/0x7E 都 提示存在一些其他通信故障。   

    =================== start===================
    (0x78) ReadBuf:0x42                        
    (0x79) ReadBuf:0x08、0x42
    (0x7A) ReadBuf:0x00
    (0x7B) ReadBuf:0x00
    (0x7C) ReadBuf:0x00
    (0x7D) ReadBuf:0x00
    (0x7E) ReadBuf:0x02
    (0x7f) ReadBuf:0x00
    (0x80) ReadBuf:0x00

    /*Register 03h -> 00h 之后的过程是  建议通过  PMBus 启用 TPS53681以获得0.42V 输出:*/
    TPS5361_PAGE (0x00) ReadBuf:0x00
    TPS5361_PHASE (0x04) ReadBuf:0xFF
    TPS5361_VBOOT (0xDB) ReadBuf:0x23
    TPS5361_VOUT_COMMAND (0x21) ReadBuf:0x00、0x23
    TPS5361_VOUT_MIN (0x2B) ReadBuf:0x00、0x1D
    TPS5361_VOUT_MAX (0x24) ReadBuf:0x00、0x29
    TPS5361_ON_OFF_CONFIG (0x02) ReadBuf:0x1b
    TPS5361_Operate (0x01) ReadBuf:0x80

    //但 在执行该过程后、读取 状态寄存器如下所示、其中没有其他通信故障。 我不知道为什么?

    (0x78) ReadBuf:0x40
    (0x79) ReadBuf:0x08、0x40
    (0x7A) ReadBuf:0x00
    (0x7B) ReadBuf:0x00
    (0x7C) ReadBuf:0x00
    (0x7D) ReadBuf:0x00
    (0x7E) ReadBuf:0x00
    (0x7f) ReadBuf:0x00
    (0x80) ReadBuf:0x00


    =================== ========================================================


    2) 2)通道 A 的 CSP4是否连接到3.3V 以根据数据表的表1正确设置三相运行? 如果配置不正确、则可能会阻止启动。

    是的、我们 将 A 通道的 PWM1和 PWM2以及 PWM3都设置为输出、并且 ACSP4也连接到3.3V。 您可以在原理图中看到这一点。


    3) 3)您是否使用通道 B 为电路板上的第二个电源轨供电? 如果不是、BCSP1、BCSP2、BVSP 和 BVSN 是否根据数据表正确配置以关闭电源轨? 如果不是、这可能是导致您出现问题的原因。

    否、我们不使用通道 B 为电路板上的传感器轨供电、其中 BCSP1和 BCSP2全部连接到3.3V、BVSP/BVSN 全部 未连接到 GND 或 V3.3V。

    如数据表所示、BCSP1 shoud 连接到 GND、BCSP2连接到3.3V、BVSP/BVSN 连接到 GND、此配置是否正确?

    我们已将它们更改为测试、现在 PWM1/PWM3波形通过 示波器快照出现、但 PWM2没有。

    然后运行大约15分钟、寄存器的值发生了变化、没有出现 PWM 波形。寄存器如下所示:

    (0x78) ReadBuf:0x63
    (0x79) ReadBuf:0x98、0x63
    (0x7A) ReadBuf:0x80
    (0x7B) ReadBuf:0x00
    (0x7C) ReadBuf:0x00
    (0x7D) ReadBuf:0x00
    (0x7E) ReadBuf:0x02
    (0x7f) ReadBuf:0x00
    (0x80) ReadBuf:0x08

    因此 存在过流或过压/欠压、但现在我们仍然不知道如何解决。


    4) 4)查看示波器上的 VOUT 在您通过 PMBus 发送开启命令时是否开始上升? VOUT、PWM1和 VIN 的示波器截图会有所帮助。


    如果您可以与我共享原理图、我可以查看它以查找任何其他错误。 请随时提出您可能遇到的任何其他问题。

    附件是我们的原理图和代码。

    e2e.ti.com/.../6332.SchematicAndCode.zip

    谢谢、

    王亚灵

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

    您好、Matt:
    正如 Carmen 所说的那样、在按照建议的步骤更改硬件后、现在 PWM1/PWM3波形通过示波器快照出现、 但 PWM2没有。

     现在出现了卡门响应中描述的过流或过压/欠压、但我们仍然不知道如何解决。

    非常感谢。

    王亚灵

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

    感谢您随原理图和代码一起发送。 通过查看原理图、我看到另一个可能导致启动问题的错误。

    在 CSD95490功率级上、LSet 电阻器未从我们的参考设计更新为220nH 电感器的正确值。 该电阻器有助于为功率级内部的电流感应电路提供有关输出不处于稳态时启动等条件下的电流应是多少的信息。 它的值根据设计中使用的电感器而变化、请参阅数据表中的图17和18。 对于220nH、我们建议 R129、R135和 R220的值为169kΩ Ω。

    如果您可以更改这些电阻器、然后使用 Matt 的步骤再次尝试启动、这将非常好。

    谢谢、

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

    尊敬的 Carmen:

      由于  LSET 引脚的电阻器手头没有169KΩ Ω 电阻、R129、R135、R220已更改为168KΩ Ω、但仍然过压。

      2.我们的硬件工程师希望了解您提到的220nH 电感器与三个电阻器之间的关系, 此外,我们在附件中只显示了两本手册 ,而且在 CSD95490数据表中没有找到图17和图18。 您能否与我们分享相应的数据表?

       通过示波器截图、我们在电路板上电时测量了 VOUT_A 的波形、如图1所示。 图2是图1的扩展细节。在图中、Y2光标是达到6.95V 的瞬时过压。   从上次发送给您的原理图和代码中、您能找出导致这种情况的原因吗?

       4.有时、电路板的电源不会出现过压、过压会在寄存器配置后出现。 现在 电路板上电时的过压很可能是一个问题。

       从 原理图中可以看出、VOUT_A 的输出端有很多滤波电容器 但在图1和图2中、测量了大量高频脉冲。 我们不知道为什么、您有什么建议吗?

       6、 另一个问题是上电时、不要用 Matt 的程序写入寄存器、而是先读取寄存器、然后再写入。 这些寄存器都是数据表中描述的默认值。 只有在每次加电再次写入这些寄存 器后、配置才会生效、因此我想知道是否要将一些寄存器的值写入 NVM、下次加电时它们不会丢失。 在下图的流程中、应将数据字节1写入数据字节 n、是在断电后保存的寄存器地址、还是应将数据写入寄存器。 是否有 NVM 方法的参考代码?

    e2e.ti.com/.../Figures-and-Datasheet.zip

    非常感谢、期待您的回复。

    王亚灵

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

    1、168kΩ 工作正常。

    2.我将向您发送一条私人消息、以连接有关数据表的信息。

    3.仔细检查反馈线路,确保它们实际上与负载有连接,以便控制器在启动期间不会开环运行。 此外、输入电压上似乎没有任何大容量去耦。 您能否在启动期间检查示波器上的 VIN 并查看它是否完全折叠?

    这似乎与电源定序和使能有关。 当发生12V、3.3V、5V 和使能信号时。

    5.它可能与 VIN 故障或反馈线路问题有关,如我在3中所述。 绝对值得调查

    6.是的、您可以使用 TPS53681数据表第94页上的步骤将数据存储到 NVM 中。

    谢谢、

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

    尊敬的 Carmen:

       感谢您的回复。

       我已经同意您的请求、您可以给我发一封私人信函或发送电子邮件至 ylwang@cynosure-chain.com、了解  您提到的220nH 电感器与三个电阻器之间的关系、

       我们 根据 TPS53681数据表的图50配置了电源排序和启用:先为3.3V 上电、然后为5V 上电、然后将 PS_EN 拉高、再插入12V 电源、再将 AVR_EN 引脚拉高。   我想知道 PS_EN 是否是寄存器0XDE 的位7、即 DPS_EN?

        此外、我 想知道 电源排序和使能是否需要任何时间、例如3.3V 上拉和5V 上拉之间的中间延迟等?

       附件 是我们的代码。( PA0 是 Ave_EN)现在运行后,日志如下:

       

    =================== SPI_SET_POWER_EN…
    (0x78) ReadBuf:0x43
    (0x79) ReadBuf:0x28、0x43
    (0x7A) ReadBuf:0x00
    (0x7B) ReadBuf:0x00
    (0x7C) ReadBuf:0x08
    (0x7D) ReadBuf:0x00
    (0x7E) ReadBuf:0x02
    (0x7f) ReadBuf:0x00
    (0x80) ReadBuf:0x00

    TPS5361_PAGE (0x00) 0 ReadBuf:0x00
    TPS5361_PAGE (0x00) 1 ReadBuf:0x00
    TPS5361_PHASE (0x04) 0 ReadBuf:0xFF
    TPS5361_PHASE (0x04) 1 ReadBuf:0xFF
    TPS5361_VBOOT (0xDB) 0 ReadBuf:0x00                  //不是其复位值
    TPS5361_VBOOT (0xDB) 1 ReadBuf:0x1D
    TPS5361_VOUT_COMMAND (0x21) 0 ReadBuf:0x00、0x83
    TPS5361_VOUT_COMMAND (0x21) 1 ReadBuf:0x00、0x1D
    TPS5361_VOUT_MIN (0x2B) 0 ReadBuf:0x00、0x00
    TPS5361_VOUT_MIN (0x2B) 1 ReadBuf:0x00、0x15
    TPS5361_VOUT_MAX (0x24) 0 ReadBuf:0x00、0xFF
    TPS5361_VOUT_MAX (0x24) 1 ReadBuf:0x00、0x29
    TPS5361_ON_OFF_CONFIG (0x02) 0 ReadBuf:0x17
    TPS5361_ON_OFF_CONFIG (0x02) 1 ReadBuf:0x1b
    TPS5361_Operate (0x01) 0 ReadBuf:0x00
    TPS5361_Operate (0x01) 1 ReadBuf:0x00
    TPS5361_MFR_SPECIFIC_14 (0xDE) 0 ReadBuf:0x00、0x00      //不是其复位值
    TPS5361_MFR_SPECIFIC_14 (0xDE) 1 ReadBuf:0x00、0x80


    输入12V
    1
    2.
    3.
    (0x78) ReadBuf:0x43
    (0x79) ReadBuf:0x28、0x43
    (0x7A) ReadBuf:0x00
    (0x7B) ReadBuf:0x00
    (0x7C) ReadBuf:0x08
    (0x7D) ReadBuf:0x00
    (0x7E) ReadBuf:0x02
    (0x7f) ReadBuf:0x00
    (0x80) ReadBuf:0x00


    (0x78) ReadBuf:0x40
    (0x79) ReadBuf:0x08、0x42   //bit1
    (0x7A) ReadBuf:0x00
    (0x7B) ReadBuf:0x00
    (0x7C) ReadBuf:0x00
    (0x7D) ReadBuf:0x00
    (0x7E) ReadBuf:0x02         //bit1
    (0x7f) ReadBuf:0x00
    (0x80) ReadBuf:0x00

         当 电路板刚刚上电时、寄存器0XDE 和0XDB 不是它们的默认值。 您知道原因吗?

         从配置后的状态寄存器值可以看出、0x79和0x7E 的位1设置为1: 其他通信故障 或通信、存储器或逻辑故障。这是什么原因?

         此外、仍然没有 VOUT 输出、还有其他调整建议吗?

    我们可以看到寄存器0XDB 的复位值为0x00,  这是否意味 着一旦输入电压 高于0V 就会发生过压保护?

    e2e.ti.com/.../codes.zip

       

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

    您好、Yaling、

    如果在寄存器 DBH 中看到00h、则意味着一旦器件被启用、缺省引导电压将为0V、并且没有任何错误。 过压故障根本不会改变该值、只能通过预编程或在启用 IC 之前直接写入寄存器。

    查看您的最新日志、尽管根据寄存器79h 中标记的错误、问题似乎出在输入端。

    假设日志开头的0x28表示79h 的 MSB、那么根据数据表第100页上的寄存器描述、会发生输入电压或电流故障。 正如我在上一条消息中提到的、控制器附近的12V 上没有很多去耦、只有一些陶瓷电容器。 请注意以下几点:  

    • 在 VIN 上放置一个示波器探针、穿过功率级的输入电容器、在 VOUT 和使能线路上再放置两个示波器。 启用时触发。

    1) 1) 1)当您启用器件时、VIN 是否会降至寄存器59h 的 VIN_UV_FAULT_LIMIT 以下? 默认为9.5V。 如果是、则在12V 上添加更多大容量去耦。

    2) 2) VIN 是否摆幅高于寄存器55h 的 VIN_OV_FAULT_LIMIT? 默认为17V。 可能是由于缺少 CIN、具体取决于 VOUT 发生的情况。 当器件关断时、VIN 上的负载瞬态事件可能会导致这种情况。

    3) 3)检查控制器的 IIN 警告和故障限制、以确保它们未更改。 56.0A 和63.5A。 如果可能、请尝试在启动期间获取 READ_IIN 命令、以检查是否消耗了过多电流。

    4) 4)检查12V 电源的电流限制、确保其设置不会过低。

    5) 5)为12V 电压上升和使能变为高电平之间的时间增加更多延迟。 如果电源尝试一次为电路板上的所有器件供电、那么它可能会跳过其过流。

    如果您有任何疑问、请告诉我。

    谢谢、

    Carmen

    3)