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.

[参考译文] McSPI 无法通过发送和接收模式接收正确的数据

Guru**** 2601585 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/648340/mcspi-can-not-receive-the-correct-data-by-transmit-and-receive-mode

您好!
我想实现 SPI 主从设备来发送和接收1字节数据
在两个器件上(时钟= 12MHz)、但有一个问题、
当我将主器件侧设置为发送1个字节(MCSPI_TX = 0xA1)、将从器件侧设置为发送1个字节(MCSPI_TX = 0x65)时

从器件侧接收数据(MCSPI_RX = 0xA1)正确、
但主器件侧接收错误(MCSPI_RX = 0x33)

我们完成了几个测试模式、如下所示
当从机发送0xAA 时、主机获取0xCC
当从机发送0xAB 时、主机获取0xCF
当从器件发送0xAC 时、主器件获得0xF0
当从机发送0xAD 时、主机获取0xF3
当从机发送0xB1时、主机获取0x03
当从机发送0xB2时、主机获取0x0C

状态看起来像一个常规状态、
当从器件发送"0x65"时、主接收器0101 (bit0 ~ bit3)、
但主机接收00110011、看起来每个位接收两次。

我是否应该修改任何位置或流程?

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

    您好、Shawn、

    您使用哪种器件?
    您的 SDK 版本是什么?

    此致、
    Yordan

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Shawn、
    您能否确认两个控制器已设置为相同的 SPI 模式? 即时钟未激活状态、数据采样边沿?
    此外、什么是从器件?

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

    你(们)好

    我们的两个 SoC 器件是 J6 dra75x、它们 的硬件环境类似  

    SDK 版本为3.02.00.03

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你好,Stan
    主控模式:
    WL = 0x7
    MS = 0x0
    EN = 0x1
    ePol = 0x1
    POL = 0x0
    PhA = 0x1
    CLKD = 0x2
    IRQSTATUS = 0x0

    从机模式:
    WL = 0x7
    MS = 0x1
    EN = 0x1
    ePol = 0x1
    POL = 0x0
    PhA = 0x0
    CLKD = 0x2
    IRQSTATUS = 0x0
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Shawn、

    您可以在两个器件上尝试使用 PHA=0吗?

    此致、

    STAN