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.

[参考译文] DRV8912-Q1:SPI 菊花链读取和写入

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

https://e2e.ti.com/support/motor-drivers-group/motor-drivers/f/motor-drivers-forum/1312824/drv8912-q1-spi-daisy-chain-read-and-write

器件型号:DRV8912-Q1

大家好、

客户使用 stm32f103vct6通过菊花链控制3个 DRV8912芯片。  当 SLEEP 引脚设置为1时、故障指示灯将亮起。  他试图关闭开路检测、但仍然没有响应。  客户认为这是 SPI 读取和写入问题。  

操作 DRV8912寄存器时、他是否仅需将 nSCS 引脚拉至低电平、等待8个传输字节完成后将其拉至高电平?客户了解到、需要为 nSCS 提供一个脉冲信号才能开始读取和写入。

通过 SPI 读取和写入 DRV8912时、可以使用全双工模式还是只能使用半双工模式?  尤其是以菊花链形式连接时。

根据 SPI 通信协议、在全双工模式下、读取和写入是同时执行的。  当他发送第一个标头字节(HDR1)时、他能否接收状态位(S3)、或者他是否必须等待发送8个字节然后发送一个空字节来接收数据?

此致、

安妮

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

    尊敬的 Annie:

    感谢您发布此问题。  

    "当操作 DRV8912寄存器时、他是否只需将 nSCS 引脚拉为低电平、等待8个传输字节完成后将其拉为高电平?客户的理解是、需要向 nSCS 提供一个脉冲信号才能开始读取和写入。" 不得向 nSCS 发出脉冲来开始读取或写入。 正如您提到的、nSCS 通常必须设置为高电平。 必须在事务开始时将其拉低、并且在数据包中的所有字节(8个字节)发送后、nSCS 必须设置为高电平。 请参见下方的。

    "当通过 SPI 读取和写入 DRV8912时、是否可以使用全双工模式、或者只能使用半双工模式?  尤其是菊花链连接时。" 4线 SPI 始终是全双工。 SDI 为 DRV8912计时数据、而 SDO 会同时为数据计时。 请参见下方的。

    "根据 SPI 通信协议、在全双工模式下、读取和写入是同时执行的。  当他发送第一个标头字节(HDR1)时、是否能够接收状态位(S3)。。。" 是的、这是正确的。 如果客户使用的 MCU 中配置正确的 SPI 外设、则会自动执行此操作。

    我们提供了 EVM 源代码(用于 MSP430)、可从 EVM 文件夹下载这些源代码。 客户可以将其用作参考。  

    此致、Murugavel