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.

[参考译文] DS90UH927QEVM:DS90UH927QEVM 如何发送4字节数据。

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1314507/ds90uh927qevm-ds90uh927qevm-how-to-send-4-byte-data

器件型号:DS90UH927QEVM
主题中讨论的其他器件:ALP

您好

我已收到客户进行测试所需的电路板。

根据客户的要求、我发出了 I2C 命令、旨在最终控制 MCU 的 PWM 占空比。

但是、由于 PWM 没有改变、因此我使用逻辑分析仪来验证 I2C 信号。

我想发送4字节的 I2C 数据、但在实际测量中、

它被分为两个单独的传输。

[系统模块]

[客户 MCU I2C 命令]

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

    您好、Adams、

    您能否为 PWN LED 控制而写入的寄存器提供更多信息?  如果您可以共享该部分 MCU PWM 控制、我们可以进一步了解它的工作原理。
    MCU 上用于控制此信号的寄存器是什么? "Add"2字节的功能是什么?  

    此致、
    伊克拉姆

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

    尊敬的 Ikram

    由于我们是客户的 OEM 制造商、因此 MCU 固件不是由我们设计的。

    我们需要使用 DS90UH927在生产过程中测试客户的电路板。

    客户提供了 I2C 通信规范和控制命令、例如 PWM 100%(0xE2、0x02、0xFF、0x03)。

    例如、当使用   board.WriteI2C(0xE2, 0x02, [0xFF, 0x03])要发送 I2C 命令一次、

    通过逻辑分析仪测量的 DS90UH928发送的数据似乎分为两组 3字节数据:0xE2、0x02、0xFF 和0xE2、0x02、 0x03。

    我不确定这种差异是否会导致 PWM 响应不足。

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

    您好、Adams、

    发送到 MCU 的其他 I2C 命令是否根据需要正常工作? 我们想知道是否存在寻址问题。
    在 您的帖子中、您分享了 ALP 上使用的脚本。 您能否在此分享完整的初始化脚本?  

    似乎多字节写入命令被拆分为两个事务。 我将在实验室中对其进行测试、并在星期三之前与您联系。

    此致、
    伊克拉姆

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

    尊敬的 Ikram:

    我使用另一个 EVB 板编写了一个简单的 I2C 传输程序、并将其连接到 DS90UH928和 MCU 的 I2C 总线。

    通过发送(PWM 占空比100%) 0xE2、0x02、0xFF、0x03和(PWM 占空比0%) 0xE2、0x02、0x00、0x00、我可以成功地控制 MCU 的 PWM。

    这证实了 MCU 可被正确控制。  

    WriteI2C(0xE2, 0x02, [0xFF, 0x03])在模拟 Launchpad 上并测量 DS90UH928的 I2C、I2C 数据分为两组:0xE2、0x02、0xFF 和0xE2、0x03、 0x03。

    这似乎就是无法正确控制 MCU 的原因。

    如何解决发送4字节 I2C 数据被拆分为两组3字节数据的问题?

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

    谢谢 Adams、我将在实验练习中测试该结果、然后回复给您。

    此致、
    伊克拉姆

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

    尊敬的  Ikram:

    在测试 I2C 数据的读取时、我发现在尝试读取超过4字节的命令时出现错误。

    在脚本中发出命令之前、是否需要任何其他配置?

    我觉得我可能漏掉了一步。

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

    您好、Adams、 您可以

    使用以下命令执行 I2C 读取: 引脚6。 ReadI2C (addr、reg、reg_length) 例如电路板。 用于4字节地址的 ReadI2C (0xE2、0x70、4) 此致、 伊克拉姆  


     


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

    尊敬的 Ikram:
    关于发送4字节 I2C 数据被拆分为两组3字节数据的问题、

    你现在对这件事有什么想法吗?
    我仍然找不到解决方案。

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

    您好、Adams、  

    我仍在努力、以便使用相同的 EVM 提出并捕获交易。 另一个问题是、您能够从这个 MCU 读取吗? 是否有其他成功的写入1字节寄存器的操作? 我想知道这是否只是2字节寄存器的问题。

    -伊克拉姆

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

    尊敬的 Ikram:

    在过去的几天里、我一直在尝试其他方法来解决问题。

    1.board.WriteI2C(0xE2, 0x02, [0xFF, 0x03])从 Analog LaunchPAD 发送命令时,我观察到来自 DS90UB927 EVM 上 Atmel MCU 的 I2C 输出已经拆分为两组数据:0xE2, 0x02, 0xFF0xE2, 0x03, 0x03

    当数据为1个字节时、读取 DS90UB927或 DS90UH928不是问题。 因此、使用board.ReadI2C是可以接受的。 但是,尝试0xE2, 0x30, 0xE3, 0x30, 0x010xE2, 0x00, 0xE3, 0x00, 0x07通过 Analog LaunchPAD 读取客户提供的 MCU READ 命令(和)似乎不成功。

    3.我试图使用另一个 EVB 连接到 DS90UB927 EVM 上 Atmel MCU 的 I2C ,以直接发送信号到 DS90UB927,作为 Analog LaunchPAD 的替代产品,但到目前为止,它还没有成功。

    此致、

    亚当斯

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

    您好、Adams、

    这是 关于 Atmel MCU 数据已被拆分的一个很好的观察结果。  

    我试图使用另一个连接到 DS90UB927 EVM 上 Atmel MCU I2C 的 EVB 来直接发送信号到 DS90UB927

    您是说尝试在927 EVM 上使用外部 I2C 控制器吗? 如果可能、您可以尝试使用单独的 MCU 板写入该总线吗?  如果这是您尝试的方法、逻辑分析仪是否仍然存在相同的问题?

    此致、
    伊克拉姆

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

    尊敬的  Ikram:

    是的、如图所示、我已经将 ESP32 EVB 连接到 DS90UB927EVM。

    通过 ESP32 I2C 对 MCU 进行读取/写入的功能正常。

    但是、在 DS90UB927EVM 上电时仍存在问题;尝试使用 I2C 直接从 ESP32配置 DS90UB927的寄存器将不起作用。

    似乎需要使用 ALP 进行初始配置,我不确定 ALP 是否会在 DS90UB927EVM 上对 Atmel AVR 进行任何其他设置。

    目前、我建议的解决方案是将927和928的寄存器设置合并到一个 Python 脚本中、并使用 ALP 执行一次。

    后续将对 ESP32 EVB 进行测试。

    此致、

    亚当斯

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

    您好、Adams、

    使用 连接到927的 ESP32、您现在是否能够写入928上的远程 MCU?  

    使用927 EVM I2C、您应该能够运行初始化脚本以设置 I2C 直通。  您提到该函数现在无法正常工作。 器件是否不确认 I2C 事务?

    -伊克拉姆