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.

[参考译文] MSPM0L1105:共享 SPI 和 I2C 总线

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1294439/mspm0l1105-sharing-spi-and-i2c-bus

器件型号:MSPM0L1105

大家好。

我们是否可以使用同一个引脚来连接具有 SPI 接口的从 IC、并使用相同的总线来连接另一个具有 I2C 接口的 IC? 我 在数据表中看到 可以更改引脚配置、以使用两种类型的接口。考虑到两个从 IC 都有片选或可以关闭、我们可以成功地与每个 IC 进行通信、而另一个 IC 关闭。

内部上拉电阻器是否可用于 I2C? 或者、您会推荐一个外部上拉电阻器吗? 我知道 I2C 的内部上拉电阻有点高、但我想知道它是否可以使用。

谢谢

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

    我建议您不要尝试在总线上混合使用 SPI 和 I2C 外设。 I2C 使用带内(SLA 字节)寻址、而不是 SPI 的/CS 寻址。 如果 SPI 目标恰好在 POCI (nee MISO)上仅发送正确的位组合、则 I2C 目标器件可能会唤醒并尝试摆动导线、从而导致电气和逻辑冲突。

    如果保持时钟较慢且导线较短、您可能可以在 I2C 上使用内部上拉电阻。 正如您提到的、上拉不是很强、所以边沿会很慢而且有点波涛汹涌。 但对于桌面实验可能是可以的。

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

    尊敬的  Francisco:

    我 同意 Bruce 的描述。

    如果您混合了这两种接口、似乎没有硬件合并。  您可以使用 CS 信号来关闭 SPI 从器件、但对于 I2C 从器件、它始终会接收到该信号。 因此、对于逻辑冲突可能存在一些担忧。

    内部电阻为40k、可用于 I2C、但请确保先启用上拉电阻、然后使用 I2C 模块。

    B.R.

    萨尔

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

    感谢您的回答。

    我还想出了另一个想法:我们可以将外部上拉电阻器 直接连接到 MCU IO、而不是 VCC。 然后、当需要使用 I2C 时、我们将配置为高输出、但当我们不使用它时、我们会将其配置为输入、以避免任何冲突。

    我们将使用上述同一 IO 为 I2C 器件加电。 因此、I2C 总线不会感知任何数据、因为器件会关闭


    你怎么看?