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.

[参考译文] DRV8889-Q1EVM:我的 SPI 的行为很怪异

Guru**** 2448780 points


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

https://e2e.ti.com/support/motor-drivers-group/motor-drivers/f/motor-drivers-forum/1374791/drv8889-q1evm-my-spi-behaves-weirdly

器件型号:DRV8889-Q1EVM

工具与软件:

我正在尝试从电机驱动器中读取寄存器0x00。

我将向驱动程序发送0x4000、并获得一个未设置数据字的前两位的响应。

请查看我的捕获

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

    您好!  

    请给我们几天时间来回复此问题。  

    此致、
    Karan

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

    Viji、您好!

    感谢发帖。 根据屏幕截图、您可以看到 Logic 不正确的解码器设置。 有关同一器件 EVM、请参阅以下捕获示例。 注意 SPI 时钟有效边沿。 另请参阅数据表第44页的 图7-32。 SPI 事务。 确保 MCU SPI 模式和逻辑解码器设置正确。

    请参阅下面用于上述捕获的解码器设置。 我希望这有助于解决您的 SPI 问题。 谢谢。

    此致、Murugavel

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

    感谢您提供的输出。

    我对 x04000的响应不是0xC000。

    但是、当我尝试向电机驱动器写入时、该值不持续。

    我很抱歉打扰到我不熟悉这个驱动器。

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

    在之前的注释中有一个拼写错误、对于0x4000、我的响应是0xC000

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

    Viji、您好!

    0x4000的0xC000响应表明您的系统中未记录错误。 这是正常的预期响应。  

    根据数据报、您要将值0x03写入寄存器0x05。 此事务中的读取值将显示写入前的前一个数据。 您将得到0xC000。 如果对0x05寄存器进行(读取或其他写入)操作、您将看到值0x03。  

    此致、Murugavel

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

    我理解这一点、

    但我会将0x03连续写入寄存器0x05。 我的所有回答都是相同的。 我的意思是、在我首次将0x03写入0x05寄存器后 、我对0x05寄存器 的第二次写入应该将0x03回馈到我的回读操作中、给出与 oxC003相同的响应。

    但我始终获得0xC003。  

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

    我的意思是、我始终得到0xC000。 我想更像是我的 SPI 写入失败了。

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

    Viji、您好!

    您是否使用过 TI EVM 或构建了 PCB 并通过其进行测试?  您是否能够读取 CTRL8寄存器并验证您是否能够读取0xC003? 然后、阅读 CTRL4并告诉我们您读出了什么? 谢谢。

    此致、Murugavel

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

    我正在使用 EVM 板、但我使用外部控制器来控制电机。  

    读取 CTRL8寄存器时、我获取 0xC002。

    读取  CTRL4 寄存器时、I 获取0xC030。

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

    Viji、您好!

    我注意到您的数据交易有问题。 在每次寄存器读取和写入结束时、nSCS 必须更改为逻辑高电平。 nSCS 的上升沿将数据锁存到寄存器、以执行写入操作。  

    请参阅以下问题:

    下面是寄存器写入操作的正确事务示例:

    请修复此问题、您的写入操作应能正常工作。 读取操作在没有上升沿的情况下有效、但建议在写入或读取操作后在 nSCS 上具有上升沿。

    此致、Murugavel

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

    感谢您的参与