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.

[参考译文] AWRL6844EVM:通过 SPI 一个标头传输以太网

Guru**** 2555630 points
Other Parts Discussed in Thread: AWRL6844

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

https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/1528202/awrl6844evm-transfer-of-ethernet-over-spi-a-header

器件型号:AWRL6844EVM
主题:AWRL6844 中讨论的其他器件

工具/软件:

我们已配置 SPI A、需要在 AWRL6844 EVM 上将其配置为主器件、并尝试通过 SPI A 接头引脚与 AD3306(从器件)进行通信。 通过 SPI 发送数据时、MCSPI_TRANSFER 期间没有任何响应、它会挂起。

请查看下面的设置和配置详细信息:

  1. 为了使用 SPI A 接头引脚、我打开了 S4.3 开关和 S1.3 开关。 这种硬件配置是否足以使用 SPI 接头而不是 FTDI SPI USB?
  2. 此外、您能否帮助我识别 SPI 评估板接头 J2 连接器上的引脚编号 1、是最左侧还是最右侧的引脚?
  3. 以下是 MCSPI0 的配置。 您能否验证此配置?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Mitraj:

    要使用 SPIA 接头、打开 S4.3 应该就足够了。 在将 SPIA 接头与外部器件一起使用时、您是否也连接 VCC3V3 和 GND?

    最左边的引脚为 GND、右边的引脚为 3V3。 其余信号按照原理图中的顺序排列。

    谢谢、
    昆丹

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

    感谢您确认连接和交换机配置 Kundan Somala、但我仍然遇到问题。 发送 MCSPI_TRANSFER 后一直等待。

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

    还会添加一个额外的详细信息。 我已连接 MOSI(Master)<->MOSI(Slave) 和 MISO(Master)<->MISO(Slave)。 此连接是否正常?
    也在下面的代码中、我们将设置低中断低电平、但我认为这适用于 FTDI SPI。 对于 SPI 标头、我们是否需要执行此操作? 正如我在环回示例中看到的 、未使用 GPIO_pinWriteLow。  
    另外、哪种模式更适合在这里使用中断、轮询或 DMA?


      //初始化 SPI 事务
      MCSPI_Transaction_init (&spiTransaction);
      spiTransaction.channel = gConfigMcspi0ChCfg[0].chNum//假设通道 0;根据需要进行调整
      spiTransaction.dataSize = 32//以位为单位的数据大小(每字节 8 位)
      spiTransaction.count = nSize//要传输的总字节
      spiTransaction.txBuf =(void *) pWriteData//指向 TX 缓冲区的指针
      spiTransaction.rxBuf =(void *) pReadData //指向 RX 缓冲区的指针
      spiTransaction.csDisable = true     //如果需要、在传输之间保持 CS 处于活动状态
      spiTransaction.args   = NULL

      /*切换主机中断 GPIO 以触发主机打开新 SPI 帧*/
       GPIO_pinWriteLow (gSPIHostIntrBaseAddrLed、gSPIHostIntrPinNumLed);

      //执行 SPI 传输
      transferStatus = MCSPI_TRANSFER (gMcspiHandle[CONFIG_MCSPI0]、&spiTransaction);
      
      if(transferOK !=0)
      
        cli_write(“[AWRL6844][error] SPI 原始数据传输失败\r\n“)
      }

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

    尊敬的 Mitraj:

    主器件的每个引脚应连接到同一个从器件引脚。 这意味着、主器件的 MISO 应连接到从器件的 MISO、MOSI 则连接到主器件的 MISO。

    请在更改连接后重试一次、如果您仍然遇到问题、请告诉我们。

    谢谢、
    昆丹

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

    您好、Kundan、

    我在上述问题中也提到了这一点。 我连接了 MOSI 和 MISO-MISO。 我想连接没问题。 但我仍然面临着同样的问题。

    您能否验证 MCSPI 的配置并告诉我。

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

    嗨、Mitraj、  

    您是否也可以共享 MCSPI 通道配置设置? 您的整体设置似乎没问题。

    此致、

    Kristien

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

    您好 Kristen、这里是通道配置

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

    嗨、Mitraj、

    您的设置似乎正常。 您是否也正确格式化 SPI pWriteData 缓冲区以符合 OA-SPI 事务?  我会将逻辑分析仪连接到 AWRL6844 和  AD3306 之间的 MOSI 和 MISO 线路、并验证是否正在发送数据。 如果发送控制命令事务、并且 SPI 事务格式正确、则应在 MISO 线路上获得响应。

    此致、

    Kristien

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

    您好 Kristien、

    在调试模式下构建数据、发出数据并接收回数据后、问题就会得到解决。 但在释放模式下、我看到同一软件的 TX 缓冲区中没有数据更新、这就是它卡在 MCSPI_Transfer 的原因。 你知道为什么会发生这种情况吗?

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

    您好 Kristien、

    SPI 在轮询模式下工作正常、但在 DMA 模式下工作不正常。 您能告诉我 DMA 模式的配置吗