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/TMDS570LS31HDK:SPI2主器件至 SPI4从器件:CS0、CLK、SIMO 3线连接外部不可通话

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/765440/ccs-tmds570ls31hdk-spi2-master-to-spi4-slave-cs0-clk-simo-3-wire-connection-externally-not-talking

器件型号:TMDS570LS31HDK
主题中讨论的其他器件:HALCOGENTMS570LS3137

工具/软件:Code Composer Studio

我已经将 SPI2配置为主器件、将 SPI4配置为具有互补属性的从器件。

我已在外部连接它们、但我甚至没有从 SPI2获取输出。 我看到 SPI2连接到 SD 插槽。 这是否会导致问题?

我分别在 J11上使用了 NHET 100、102和103来代替 SPI4输入 CLK、CS0和 SIMO。

SPI2输出在 J10上标记。

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

    我忘记了提一下、我已按如下方式更改了 pinmux.c、以使用 J11上的 SPI4引脚。

    // pinMuxReg ->PINMUX4 = PINMUX_BLE_M1_GIOA_7 | PINMUX_BLE_M5_ETMDATA_25 | PINMUX_BLE_V2_HET1_01 | PINMUX_BLE_U1_HET1_03;

    PinMuxReg ->PINMUX4 = PINMUX_BLE_M1_GIOA_7 | PINMUX_BLE_M5_EMIF_DATA_9 | PINMUX_BLE_V2_SPI4NENA | PINMUX_BLE_U1_SPI4NCS_0;

    // pinMuxReg ->PINMUX5 = PINMUX_BLE_K18_HET1_0 | PINMUX_BLE_W5_HET1_02 | PINMUX_BLE_V6_HET1_05 | PINMUX_BLE_N5_ETMDATA_26;

    PinMuxReg ->PINMUX5 = PINMUX_BLE_K18_SPI4CLK | PINMUX_BLE_W5_SPI4SIMO| PINMUX_BLE_V6_HET1_05 | PINMUX_BLE_N5_EMIF_DATA_10;

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!
    SPI2也连接到 SD 卡连接器和 J10连接器、但这不是问题。 如果一切配置正确、则 SPI2上应该有信号。 如何观察 SPI2引脚上没有信号?
    对于 SPI2、您必须在 HALCoGen 中的 PINMUX 选项卡中清除冲突。
    您的更改看起来很好。 NHET103信号通过多路复用器(原理图的 U43、第15页)进行路由、因此请检查信号是否由多路复用器直接路由。

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

    谢谢、

    自从我上一篇文章以来、我已经使用 CCS 8.2.0.00007和 HALCogen 04.07.00再次开始了。

    不过,我也有类似的问题。 我正在尝试在 SPI4上执行内部回送。 我的代码似乎表明它正在工作、但我收到的所有数据都是零。

    我是否错过了什么? 我附上相关的 code.e2e.ti.com/.../3857.sys_5F00_main.ce2e.ti.com/.../0576.spi.ce2e.ti.com/.../3666.pinmux.c

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

    我找到了问题。 出于某种原因、HALCogen 生成的 spiTransmitData 版本在传输后读取接收缓冲区。

    删除此行意味着仍有一些内容需要 spiReceiveData 读取:

    /*SAFETYMCUSW 28 D MR:NA "硬件状态位读取检查"*/

    while ((SPI->FLG & 0x00000100U)!= 0x00000100U)

    }/*等待*/

    //为什么它正在读取接收缓冲区!!!!

    // SpiBuf = SPI->BUF

    块大小----

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

    尊敬的 Thomas:

    附加的是使用 SPI4发送/接收的项目、而使用 TMS570LS3137的内部回路。

    e2e.ti.com/.../8625.SPI_5F00_TMS570LS3137_5F00_INT_5F00_LOOPBACK.ZIP

    此致、

    米罗

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

    我必须在 TransmitData 过程中返回'READ'、以使外部连接的 SPI2与 SPI4通信正常工作。

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

    这解决了我的问题