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.

[参考译文] CCS:DRV8301 SPI 通信、MISO 不工作。

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/963915/ccs-drv8301-spi-communication-miso-is-not-working

主题中讨论的其他器件:DRV8301TMS320F28377D

工具/软件:Code Composer Studio

我们尝试使用 DRV8301并进行 SPI 通信、但无法接收来自 MISO 的消息。

MCU:TMS320F28377D

CLK:2.5MHz

EN_GATE 设置为高电平。

黄:MISO

绿色:MOSI

蓝色:CLK

LED:CS

SPI 设置代码是  

void SPI_init()

SPI_disableModule (SPIB_BASE);
SPI_setConfig (SPIB_BASE、DEVICE_LSPCLK_FREQ、SPI_PROT_POL0PHA0、
SPI_MODE_MASTER、2500000、16);
SPI_enableFIFO (SPIB_BASE);
SPI_resetTxFIFO (SPIB_BASE);

SPI_enableTalk (SPIB_BASE);
SPI_disableLoopback (SPIB_BASE);
SPI_setEmulationMode (SPIB_BASE、SPI_emulation_free_run);
SPI_enableModule (SPIB_BASE);

以及我们的 DRV8301原理图

问题出在哪里? 您能帮我们读取寄存器吗?

感谢您的快速回复。

此致。

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

    我发现以下内容:  

    这是 DVDD 引脚。 根据数据表、DVDD 引脚的输出应为3.3V。

    但信号不稳定且非常奇怪。

    该引脚是 AVDD。 我认为这个引脚应该是输出6V。 但该引脚也很奇怪。

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

    您可以查看以下链接、其中包含 DRV8301的参考硬件设计文件和实施代码。

    https://www.ti.com/tool/BOOSTXL-DRV8301

    如果您使用基于 driverlib 的配置、请参考以下代码。

    //必须在配置 SPI 之前将其复位
    SPI_disableModule (obj->spiHandle);

    // SPI 配置。 使用500kHz SPICLK 和16位字大小、25MHz LSPCLK
    SPI_setConfig (obj->spiHandle、device_LSPCLK_FREQ、SPI_PROT_POL0PHA0、
    SPI_MODE_MASTER、400000、16);

    spi_disableLoopback (obj->spiHandle);

    SPI_setEmulationMode (obj->spiHandle、SPI_emulation_free_run);

    spi_enableFIFO (obj->spiHandle);
    SPI_setTxFifoTransmitDelay (obj->spiHandle、0x10);

    SPI_clearInterruptStatus (obj->spiHandle、SPI_INT_TXFF);

    //配置完成。 启用模块。
    spi_enableModule (obj->spiHandle);

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

    你好,罗燕明

    感谢您的回复。  

    我有疑问

    正如您看到我对 DVDD AVDD 的回复、对吗?  

    DVDD 电压看起来像正弦波、Vrms 几乎为3.714v。 对吗?

    感谢你的答复。

    -加拉姆公园(Garam Park)

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

    我们已尝试使用您的代码、但 MISO 仍然无法正常工作。

    加拉姆帕克

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

    您可以查看 DRV8301的参考原理图和数据表、确保 DRV8301首先运行良好。 我将您的主题转发给 DRV 器件专家。  

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

    您好、Garam、

    是的、AVDD 和 DVDD 的这些波形是根本原因。 遗憾的是、这些是在内部生成的、因此没有太多可检查的内容。 大多数时候、其原因是:

    1. 组装问题
      1. 特别是在引脚接触不良和电源板接触不良的情况下
    2. 布局错误
      1. 具体而言、引脚的 GND 很长、很细或跨接很多过孔、电容器远离引脚
    3. 电容器值不正确、或者电容器值已降额

    这是按概率顺序排列的。

    组装问题:

    这一个很难证明、并且大多是系统检查。 我建议:

    • 更换 DRV8301并查看问题是否消失
    • 使用已知良好的主板、并将器件换用为已知良好的主板、以查看部件是否出现问题。 然后将器件交换回原电路板、以查看是否存在组装问题(假设它在第2块电路板上运行良好)。 这称为 ABA 交换
    • 将波形与 EVM 进行比较(我假设您使用自己的电路板)并检查 EVM 上的 FW

    在您尝试其中的一些方法后、我们可以查看您的布局、看看我们是否可以进行一些改进。

    最棒的

    Cole

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

    感谢您的回复。

    我们已经解决了这个问题。

    我们将 AVDD、DVDD、GVDD 的电容换成了更高的电容。

    然后、我们得到稳定的 AVDD、DVDD、GVDD 的结果。  

    但我们仍然是问题所在。  

    GH_X 输出为无。 因此、我们已将自举电容器更改为低于以前的电容器。

    我们解决了所有问题。

    谢谢你。