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.

[参考译文] DRV8711EVM:BOOST-DRV8711 SPI SDATO 问题

Guru**** 2513185 points
Other Parts Discussed in Thread: DRV8711, BOOST-DRV8711

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

https://e2e.ti.com/support/motor-drivers-group/motor-drivers/f/motor-drivers-forum/1554103/drv8711evm-boost-drv8711-spi-sdato-issue

器件型号:DRV8711EVM
主题中讨论的其他器件:BOOST-DRV8711、DRV8711

工具/软件:

我正在尝试使用 STM32C011 读取 BOOST-DRV8711 评估板上 8711 的寄存器。 STM32 SPI 设置为主器件、全双工、16 位数据大小、时钟极性高、时钟相位第二个边沿和 MISO 上的上拉 (SDATO)。 SCLK  频率为 1、5MHz。 SCS 设置为高电平 、在第一个 SCLK 脉冲前 7、3us、在最后一个  SCLK 脉冲后 15 μ s。
读取寄存器时来自 STM32 的 SCS、SCLK、SDAI 输出对应于 DRV8711 数据表中的图 18、但 SDATO 上的默认寄存器值与数据表中指定的值不对应。 如果我首先写入寄存器、然后读回、则写入的位不会显示。

第一件让我震惊的事情是、读取时 SDATO 上的输出不符合图 18、其中 SDATO (MISO) 应该在前 4 位处于高电平(非活动)。 但我的迹线显示、在读取位计时后、SDATO 在 SCLK 下降沿被拉低。   

当尝试读取 CTRL 寄存器默认值 0x0C10 时、该迹线下方、但返回值为 0



我可以看到其他用户在读取寄存器时遇到问题、建议 8711 断开。 但如果我读取扭矩寄存器(默认值 0x01ff)、则得到 0x003F。 请参阅下面的迹线。 8711 似乎在输出一些东西。 问题是什么? 以及为什么不知道扭矩寄存器值。




此致
垫子

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

    您好:Mats、

    感谢您的问题。 对于每个数据帧、SCS 必须在帧开始时从低电平变为高电平、在帧结束时从高电平变为低电平。 请参阅以下内容。 在您的捕获中、SCS 看起来始终为高电平。  

    此外、SDATA0 引脚需要上拉 2.2kΩ。 谢谢你。

    此致、Murugavel  

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

    您好 Murugavel、

    正如我最初写道:“ SCS 在第一个 SCLK 脉冲之前设置为高电平 7,3us ,在最后一个 SCLK 脉冲之后设置为 15us “和“STM32 SPI 被设置为...上拉 MISO (SDATO)“。

    下面的 CTRL 读取捕获结果显示了 SCS 的处理



    下面的另一条迹线显示了在读取 CTRL 之后对 CTRL 进行写入、可以看出 8711 对写入位做出反应、不会像对同一寄存器进行读取那样在第二个 SCLK 正侧面上驱动 SDATO。



    因此、它看起来像 SDATO 输出驱动器和读/写逻辑有效。 但出于某种原因、8711 内部 SPI 接口和寄存器之间的连接没有。 现在、我不知道会导致这种情况的原因。

    此致
    垫子   

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

    您好 Murugavel、

    一些附加信息:8711 5V 引脚= 4.98V、8711 VINT 引脚= 1.798V、因此这两个值都可以正常工作

    此致
    垫子

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

    您好:Mats、

    您提到的 5V 引脚和 VINT 引脚电压正常。

    我正在尝试使用 STM32C011 读取 BOOST-DRV8711 评估板上 8711 的寄存器。 STM32 SPI 设置为主器件、全双工、16 位数据大小、时钟极性高、时钟相位第二个边沿和 MISO 上的上拉 (SDATO)。 SCLK  频率为 1、5MHz。 SCS 设置为高电平 、在第一个 SCLK  脉冲前 7、3us、在最后一个 SCLK 脉冲后 15 μ s。

    我在您之前的帖子中错过了这些信息、抱歉。 感谢您的澄清。 我不熟悉上述的 MCU、我无法评论与 DRV8711 通信的正确设置。

    请参阅下面的屏幕截图、了解我们设置中与 DRV8711 成功进行的 SPI 通信。 以下示例显示了读取扭矩寄存器并显示其默认值、然后使用 0x1F0 写入此寄存器、最后读取此寄存器的内容以进行验证。 希望这能为您提供有用的参考资料。

    读取扭矩寄存器、地址 0x01:结果为 0x1FF

    写入扭矩寄存器、地址 0x01、数据 0x1F0:

    读取扭矩寄存器、地址 0x01:结果为 0x1F0

    数据表 SPI 时序要求必须符合要求。 谢谢你。   

    此致、Murugavel  

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

    您好 Murugavel、

    发现问题。 SDATO 上拉电阻过弱。 使用 2.2k 上拉电阻、我可以在 1.5MHz 处运行 SPI

    此致
    垫子

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

    您好:Mats、

    很高兴您发现了这个问题。 谢谢你。

    此致、Murugavel