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.

[参考译文] DRV8316-Q1:DRV8316RQ SDO 无法响应正确的数据

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

https://e2e.ti.com/support/motor-drivers-group/motor-drivers/f/motor-drivers-forum/1393855/drv8316-q1-drv8316rq-sdo-can-not-reponse-right-data

器件型号:DRV8316-Q1
主题中讨论的其他器件:DRV8316

工具与软件:

我们正在使用8316RQ 进行开发、并且需要通过 SPI 修改配置、因为电流增益不够。 在修改过程中,我们发现 MISO (即8316RQ 的输出不是预期的,它总是3V3)它花了很长时间,但我仍然没有找到原因...请帮助分析.谢谢.

以下是解锁所有寄存器的时序流程

在下面的照片:

CLK 和 SDO(始终为高电平)

如以下照片所示  

时钟约为3M (<5M)、MOSI 的两个字节分别为0x06 (寄存器地址3、偶校验:1)和0x03 (未锁定)

CLK 和 nSCS

CLK 和 nSleep

Sch

对寄存器0执行读取操作。 SDO 也始终很高!

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

    可能是时钟极性和时钟相位设置不正确。 您能检查一下这些设置吗?

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

    我一开始有我的怀疑,并抓住了波形。

    、我发送的 MOSI 的两个字节分别是0x06 (寄存器地址3、偶校验:1)和0x03 (解锁)。

    发送的(与实际波形匹配。)cpol=0、cpha=1 μ s

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

    好的、感谢您的确认。 时钟极性和时钟相位正确。

    这可能是由于 PCB 上的短路、或由于微控制器将 MISO 线路拉至3.3V。 您能否使用万用表检查是否存在短路? 您能否将连接到 SDO 的微控制器引脚暂时设置为输入模式、以便确保它与 SDO 线路断开连接、并检查在从 SPI 读取时 SDO 线路是否仍卡在3.3V? 或者、您可以拆焊将 SDO 线路连接到微控制器的电阻。

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

    1. 我测量了 AVDD (drv8316 LDO 输出、引脚25)和 SDO (引脚33)之间的电阻、它的电阻为4.7K 欧姆、这与原理图相匹配、排除了3V3短路。

    2.移除 R3220 ( 将 SDO 线连接到微控制器)Ω 的电阻

    发送命令以读取寄存器0 (1000 0001b)、SDO 引脚保持为3V3 (上拉电阻器4.7K)

    CLK 和 MOSI

    CLK 和 MISO

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

    我能否就该问题提供更多详细信息?

    SPI 写入是否成功完成? 例如、如果写入增益寄存器并更改增益、增益是否更改了、或者命令是否无效?

    您是否已尝试过其它电路板来排除芯片损坏的可能性?

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

    我在另一个板上进行了尝试、结果是相同的。μ s

    我计划使用 SPI 的返回值来确定写入是否成功、当我意识到这一点时

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

    您能否回答此问题、以便帮助我缩小问题的根源范围、问题是由芯片无法识别输入、还是由输出存在某些问题所致。

    SPI 写入是否成功完成? 例如、如果写入增益寄存器并更改增益、增益是否更改了、或者命令是否无效?

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

    好的、我将获取电机并尝试它。

    此外、nsleep 变为高电平需要多长时间才能使用 SPI 总线?

    如果间隔现在是300us、这很重要

    CLK 和休眠

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

    指定的唤醒时间最大为1ms、因此在 nSLEEP 拉至高电平后至少1ms 安全等待、然后再发送 SPI 命令。

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

    现在、SDO 波形是正常的。 但驱动电机时、电流增益效应没有差异。 您能告诉我、在使用 SPI 配置控制寄存器、下拉 nsleep 然后再再次上拉后、drv8316的寄存器信息是否会再次回到默认状态吗?

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

    是的、将 nSLEEP 拉至低电平会将 DRV8316置于睡眠模式并复位寄存器。 当您再次将 nSLEEP 拉至高电平时、您将需要通过 SPI 重新写入所有寄存器。