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.

[参考译文] TMS570LS0914:在从模式中使用 mibspi

Guru**** 2589280 points
Other Parts Discussed in Thread: TMS570LS0914, HALCOGEN, TMS570LS1224

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/857714/tms570ls0914-using-mibspi-in-slave-mode

器件型号:TMS570LS0914
主题中讨论的其他器件:HALCOGENTMS570LS1224

尊敬的支持团队:

我想与采用隔离式网络高速收发器的其他器件进行通信(SPI4 = TX、mibspi5 = RX)。 发送和接收的数据为6 * 8字节。 每次将数据(SPI4)发送到收发器时、都会生成该数据的回波并发回(mibspi5)。 应用程序可以忽略此数据。 但是 、应正确接收6 * 8字节的后续响应、该响应当前不起作用。

IM 使用 spiTransmitData 函数发送数据、该函数工作正常。 尝试使用 mibspiGetData (mibspiREG5、0、receiveData)和"uint16_t receiveData[AFE_SPI_length]"接收数据、但接收到的缓冲区总是用零填充。

是否有人可以帮助我并告诉我我需要进行哪些其他设置?

此致

康斯坦蒂

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

    器件型号:TMS570LS0914

    尊敬的论坛成员:

    IM 使用两个不同的 SPI 端口与其他器件进行通信。 通信的结构使我首先通过 SPI 5发送消息、大约20us 后、预计会对 SPI 4做出应答。 我的问题是、使用生成的 halcogen 代码时、spiReceiveData 函数卡在 while 循环中。

    我很高兴得到帮助。

    此致

    Konstanty Kuczynski

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

    您好!

    如何使用时钟馈送 SPI4?

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

    您好、Miro、

    为了更加精确、我希望与 隔离式网络高速收发器 MC33664进行通信。 每次发送或接收帧时、收发器都会生成时钟信号。

    此致、

    康斯坦蒂

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

    您好!

    附加的项目使用 TMS570LS1224作为从器件。 项目中的 MCU 不同、但可用作参考。

    e2e.ti.com/.../7181.MIBSPI_5F00_SLAVE_5F00_TMS570LS1224PGE.ZIP

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

    您好、Miro、

    感谢您的示例。 我已根据示例调整了设置。 尽管如此、我的缓冲器始终填充为0。 我尝试在发送消息后直接调用函数 mibspi (spi5)来读取已发送消息(SPI4)的回波。 这是我发送出去的数据{0x00、0x01、0x01、0x00、0x02、 0x85}和接收(CH1-SPI4_TX、CH2-mibspi5_RX、CH3-mspi5_CS0、Ch4-mibspi5_CLK):

    由于我始终期望数据包为6*8字节,因此我调用该函数如下:

    缓冲区或 ram->Rx 如何只包含零? 为什么没有收到数据?

    mibspiInit 函数可在附录中找到。 e2e.ti.com/.../3463.mibspiInit.txt

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

    您好!

    请检查 TG0的 TGENA 位是否被置位。

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

    您好!

    TGENA 在调用 mibspiGetData 之前和之后等于0。 TG0CTRL 的内容为0x40700000。

    我刚尝试在调用 spiIf transmitPolling 之前启用 mibspiTransfer。 仍然无法接收数据。

    虽然我只想接收数据、但我是否仍然必须在某个点使用 mibspiSetData 和 mibspiTransfer?

    此致、

    康斯坦蒂

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

    您好!

    我现在已经在初始化之后直接执行了 mibspiSetData 和 mibspiTransfer。 因为这样、我会接收到正确的数据。 非常感谢你的帮助。

    此致

    康斯坦蒂