I2C 和上拉电阻

I2C and pullup resistors

我有一个 EY88 10DOF IMU 在我的树莓平台上工作,没有任何上拉电阻。我在网上做了一些阅读,它说毫无疑问需要上拉电阻?

  1. SDA 和 SCL 线需要上拉电阻吗?
  2. 这可能会提高数据传输速度吗?

谢谢 米莎

绝对需要上拉。 I2C 设备与总线有 open-drain 个连接,这意味着它们不能驱动高电平信号,它们只能将其驱动为低电平或 "release"。上拉是驱动 SDA/SCL 信号变高的原因。请参阅 Sparkfun 的介绍性文章。

有几件事可能在这里起作用:

  1. accelerator/gyro 安装在某种集成了上拉电阻的评估板上。

  2. Pi 上的 I/O 线路启用了内部上拉。

The Raspberry Pi has 1.8K pullups on the SCL and SDA lines.

这取决于您总线的总 Cb(电容负载 - 指每个设备的数据sheet)以及选择的 i2c 模式。 SDA 和 SCL 线路上覆盆子的 1.8 KOhm 电阻可能就足够了。

这里 online tool 用于在不同的总线频率下正确调整电阻器的大小。