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.

[参考译文] TMS570LC4357:与具有双重用途 I2C 和 SPI 引脚的 SPI 器件进行通信

Guru**** 2455560 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1210867/tms570lc4357-communicating-with-a-spi-device-that-has-dual-use-i2c-and-spi-pins

器件型号:TMS570LC4357

我们正在使用 TMS5704357处理器并尝试与 MMC5983器件进行通信、我们还尝试了 MCU9250、并遇到了类似的问题、即无法进行通信。 这两款 器件的相似之处在于、它们都是磁力计、均具有 SPI I2C 双用引脚、我们有一个适用于这两种器件的不同处理器、但我们的 TMS5704357有所不同、不 允许通信。

我们认为是交易

这是工作处理器的逻辑分析仪  

第一个事务似乎总是与其余事务不同

后续交易遵循我们的预期

而对于 TMS5704357、所有的事务都与此类似、这里没有回复

更改 MOSI 在 TMS570上的开始方式、以尝试使其更接近有效模式

我们已经对设置做了很多更改、以尝试匹配不同处理器的工作事务、但似乎不能完全重复、我们看到的差异如下:

-低电平信号提前半个时钟周期

-芯片选择降低,接近交易

8位之后更长的一个时钟脉冲周期

有什么建议吗?  

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

    Dan、您好!

    我不明白您提及的交易到底有什么错误。 SPI 将发送我们写入 DAT1寄存器中的任何数据。 如果我们能够发送正确的数据、则 SPI 从设备应处理数据、并应使用所需的数据进行回写。

    我将在 LC4357上附加一个 SPI 主设备示例项目、请验证一次。  

    注意:在此示例中、我将字符长度配置为16位、我们使用数组"TX_DATA"发送数据、使用"Rx_DATA"数组接收数据。

    --

    谢谢。此致、
    Jagadish。

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

    首先使工作事务和非工作事务相同的是设置

    1) 1)在时钟之前更改 MISO 线路?

    2) 2)在事务之前更改芯片选择的延迟时间?

    3) 3)在8位之后添加延迟以允许周转时间?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    首先使工作事务和非工作事务具有相同的设置

    您认为、即使您对  MCU9250 和 TMS5704357进行了相同的配置 、但您会观察到它们生成的波形的差异。  

    我的理解是否正确?

    1)更改时钟前的 MISO 行?

    TMS5704357是否在时钟之前发送数据?  

    这就是你说的吗?

    2) 2)在事务之前更改芯片选择的延迟时间?

    3) 3)在8位之后添加延迟以允许周转时间?

    [/报价]

    TMS5704357会发生这种情况吗?

    您能解释得更清楚吗?

    --

    谢谢。此致、
    Jagadish。

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


    5983=3573 733 1655

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

    它看起来像 wDelay、这是我为了在字之间施加延迟并获得响应而需要的。

    以及将 MOSI 更改为 GPIO 并将其更改为所需的正确设置