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.

[参考译文] TMS320F280049C:如何使用 PI 命令器 GUI 和 PMBus 目标示例进行验证(LAUNCHXL-F280049C - TMS320f280049c)

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1505934/tms320f280049c-how-to-verify-using-the-pi-commander-gui-with-a-pmbus-target-example-launchxl-f280049c---tms320f280049c

器件型号:TMS320F280049C
Thread 中讨论的其他器件:LAUNCHXL-F280049C、LM5066、LM5066EVK

e2e.ti.com/.../f28004x_5F00_pmbus_5F00_target_5F00_example-_2800_2_2900_.zip

工具/软件:CCS 20.2.

1.如下图所示、我们将 LAUNCHXL-F280049C 和 LM5066 EVK 附带的 FT2232H 微型模块连接到 PMBus 端口。

(4.7 kΩ 上拉电阻已添加到 SDA、SCL 和 SMBA 引脚的3.3V 线路上)

2.连接 PI 命令器时,如果您将其设置为0x16如下图所示,它将被扫描为16。

3.如果您在下面的照片中检查流量日志,您可以看到它设置为读取256字节块。 我想将此项更改为 LM5066 EVK、但设置没有根据需要更改、并且始终以256字节的0xFF 值进行响应。

4.对于 LM5066EVK、发生如下流量日志所示。

2025年04月22日07:12:13.364 FT2232-0 15:0 1 [S] SB{9A:CMD 9A}
2025年04月22日07:12:13.364 FT2232-0 15:0 9 [S] ?? {08 4C 4D 35 30 36 00 00 *}:".LM5066.." [P]
2025年04月22日07:12:13.366 FT2232-0 15:1 1 [S] SB{9B:CMD 9B}
2025年04月22日07:12:13.366 FT2232-0 15:1 3 [S] ?? {02 41 41*}:".AA"[P]
2025年04月22日07:12:13.368 FT2232-0 15:2 1 [S] SB{99:CMD 99}
2025年04月22日07:12:13.368 FT2232-0 15:2 4 [S] ?? {03 4E 53 43*}:".nsc"[P]
2025年04月22日07:12:14.959 FT2232-0 15:0 1 [S] SB{D8:MFR_SPECIFIC_08 LM5066-ALERT_MASK}
2025年04月22日07:12:14.959 FT2232-0 15:0 2 [R] RW {20 08*}:0820:2080 [P]
2025年04月22日07:12:14.960 FT2232-0 15:1 1 [S] SB{D7:MFR_SPECIFIC_07 LM5066-GATE_MASK}
2025年04月22日07:12:14.960 FT2232-0 15:1 1 [R] RB{00*}:00:0 [P]
2025年04月22日07:12:14.961 FT2232-0 15:2 1 [S] SB{D9:MFR_SPECIFIC_09 LM5066-DEVICE_SETUP}
2025年04月22日07:12:14.961 FT2232-0 15:2 1 [R] RB{00*}:00:0 [P]
2025年04月22日07:12:14.962 FT2232-0 15:3 1 [S] SB{DB:MFR_SPECIFIC_11 LM5066-samples_for_AVG}
2025年04月22日07:12:14.962 FT2232-0 15:3 1 [R] RB{00*}:00:0 [P]
2025年04月22日07:12:14.963 FT2232-0 15:4 1 [S] SB{57:VIN_OV_WARN_LIMIT}
2025年04月22日07:12:14.963 FT2232-0 15:4 2 [R] RW{FF 0F*}:0FFF:4095 [P]

5.如下图所示、代码使用 PMBus 目标示例、当最初接收到0x9A、0x9B 或0x99字节时、我希望发送4个字节、如以下代码所示。 但是、它无法正常工作。

它被设置为无条件响应256个字节。 如何发送所需的大小和内容? 请提供建议。

实际上、如下图所示、当您在 handle_block_read.c 中设置一个9字节数据包时、通常会将该数据包复制到 bPMBUS_STACK_HANDLER_TARGET_READ_WAIT_FOR_EOM.c 中的 ekson_buffer 和 ekson_bytes 变量

[源代码]

[调试]

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

    尊敬的 EunKyu:

    是否收到了四个字节中的任何一个?  

    Unknown 说:
    实际上、如下图所示、当您在 handle_block_read.c 中设置一个9字节数据包时、通常会将该数据包复制到 mbus_stack_handler_target_read_wait_for_EOM.c
    中的 ekson_buffer 和 ekson_bytes 变量。

    如果需要读取4个字节、为什么将其设置为9个字节?  

    此外、您正在正确处理命令、以便在执行块读取之前设置当前命令。 其他文件(如 PMBUS_STACK_CONFIG)是否已更新以匹配您所需的设置?

    此致、

    Aishwarya

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

    4个字节和9个字节都无法正常工作。
    当从 PI-Commander 发送0x9A、0x9B 和0x99时、我使用以下代码、和检查了处理程序中的顺序

    PMBusStack_targetIdleStateHandler、PMBusStack_targetReadBlockStateHandler、PMBusStack_targetReadWaitForEOMStateHandler 这三个函数的序列按照标记为"ekson Sequence"的部分中的数字顺序进行。

    开关(PMBusStackObject_getNextState (句柄))

    case PMBUS_STACK_STATE_IDLE://序列执行:1 (start)、2、4、7、9、12、14
    PMBusStack_targetIdleStateHandler (handle);
    休息;
    case PMBUS_STACK_STATE_RECEIVE_BYTE_WAIT_FOR_EOM://无
    PMBusStack_targetReceiveByteWaitForEOMStateHandler (句柄);
    休息;
    case PMBUS_STACK_STATE_READ_BLOCK://序列执行:6、11、16 (end)
    PMBusStack_targetReadBlockStateHandler (handle);
    休息;
    case PMBUS_STACK_STATE_READ_WAIT_FOR_EOM://序列执行:3、5、10、13、15
    PMBusStack_targetReadWaitForEOMStateHandler (handle);
    休息;
    ...

    我检查了 PMBusStack_targetReadWaitForEOMStateHandler 函数的内容。
    以下内容位于 PMBusStack_targetReadWaitForEOMStateHandler 函数中。
    if (((status & PMBSTS_EOM)!= 0U)&&((status & PMBUS_PMBSTS_NACK)!= 0U))
    我强制在 IF 语句内添加 PMBUS_putTargetData (base、buffer、nbytes、true)、以强制传输所需数据。 因此、PI 指挥官收到了预期的数据进行响应。  (只能容纳4个字节或更少)

    问题是我在 PMBUS_putTargetData ()函数前面设置了一个断点,但提前发送了256字节的0xff 值。 我想知道问题是什么。

    问题是什么? 由于我无法按原样使用库示例、因此我请求帮助。

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

    该示例是否与 PI 指挥官不兼容?
    我想知道如何将其与 PI 指挥官结合使用。

    或者、我需要一个可以与 PMBus GUI 进行通信的示例。

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

    将值0xff 传输为256字节的器件估计为下图中带下划线的器件。
    如果注释掉该器件、则不会传输256个字节、但在空闲状态下从 PI 指挥官接收到的命令数据将不会显示。
    此问题似乎与开始时的"快速命令"部分有关。

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

    EunKyu,

    感谢您提供相关信息。 我们将进一步探讨这一点。

    我们没有任何与 PI 指挥官连接的具体示例、但该示例应能够针对不同的用例进行修改。

    此致、

    Aishwarya

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

    感谢您查看我的问题。


    如果可以进行 PMBus 通信、固件可以达到完成阶段、但移植尚未完成、从而导致项目生产计划出现问题。

    我想使用 PI-Commander 以类似于 LM5066EVK 的方式监控 PMBus 目标示例(或通过 I2C)。


    此外、当使用 PMBus (I2C 2线制)示例时、256字节的数据不会作为0xff 传入、而是与未知的随机数据混合。

    有必要确认此问题是由于监控程序和示例之间的兼容性造成的、还是示例使用不当造成的。

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

    此外,还有一个特殊的问题。 当您在 FAST 命令处理程序中输入假值并确保块写入不超过4个字节时、PI-Commander 日志窗口中会显示有意义的值、如下图所示。 但是、如果块写入超过4个字节、则会发送无意义的0xff 值。

    1.我不明白在 handle_block_read.c 内的处理程序函数中传输超过4字节的数据时、为什么会发送无意义的值(数据必须为4字节或更少)。
    2.我不明白为什么 handle_quick_command.c 中的处理程序函数应该发送无意义的数据。

    向快速命令中添加虚拟数据

    为块写入命令添加块读取响应序列(<4字节)

    下面附上了到目前为止使用的示例代码。

    e2e.ti.com/.../f28004x_5F00_pmbus_5F00_target_5F00_example.zip

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

    尊敬的 EunKyu:

    对不起,延迟,我们仍在研究这一点,将尽快回复您。

    此致、

    Aishwarya

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

    EunKyu,

    我想使用 PI-Commander 监控 PMBus 目标示例(或通过 I2C)、方式与 LM5066EVK 类似。

    让我联系  LM5066 EVK  支持团队以获得有关此问题的进一步支持、因为他们可以更好地帮助您了解如何使用该器件。  

    我已经向我们的软件专家介绍了其他两个问题。  

    此致、

    Aishwarya