树莓派-I2C问题解析-SDA线被抬高

电路setup
树莓派-I2C问题解析-SDA线被抬高_第1张图片
问题:
1, 元器件1 - 可以通讯
树莓派-I2C问题解析-SDA线被抬高_第2张图片
树莓派-I2C问题解析-SDA线被抬高_第3张图片
2, 元器件2: 不可以通讯

  • SDA线有电压抬高
  • vdd基本可以

树莓派-I2C问题解析-SDA线被抬高_第4张图片
分析:

  • 直接接树莓派的I2C脚,问题一样。
    树莓派-I2C问题解析-SDA线被抬高_第5张图片

  • 更换到树莓派4上面,问题一样 (带10k上拉电阻)
    树莓派-I2C问题解析-SDA线被抬高_第6张图片

  • 树莓派4,无上拉电阻
    树莓派-I2C问题解析-SDA线被抬高_第7张图片

  • 另外一个树莓派+另外一个系统
    树莓派-I2C问题解析-SDA线被抬高_第8张图片

  • 新的树莓派+新的系统lite
    树莓派-I2C问题解析-SDA线被抬高_第9张图片

  • Module + Kita
    树莓派-I2C问题解析-SDA线被抬高_第10张图片

  • SEK + kita
    树莓派-I2C问题解析-SDA线被抬高_第11张图片
    调查发现:
    MCU端存在上拉电阻,并且上拉电阻过小。

  • 树莓派端上拉电阻为1.8K

  • kita的MCU端的上拉电阻为2.2K
    树莓派-I2C问题解析-SDA线被抬高_第12张图片
    解决方法:

  • 增加MCU端的上拉电阻阻值大小,同理,i2c器件端的上拉电阻也应该增加,因为存在同样的问题–》 阻值范围参考i2c规范的定义

  • 减少串联series电阻的组织

验证:

  • STM32:增加MCU的上拉电阻到10K
    树莓派-I2C问题解析-SDA线被抬高_第13张图片
  • 树莓派:将R23,R24从1.8k改成10k后
    树莓派电路图:
    树莓派-I2C问题解析-SDA线被抬高_第14张图片
    修改成10k后的i2c信号
    树莓派-I2C问题解析-SDA线被抬高_第15张图片

参考:
如果传感器的每个脚对着kita的每个脚 --》 线序不正确的连接
树莓派-I2C问题解析-SDA线被抬高_第16张图片
用kita的传感器转接板–》 线序正确的话
树莓派-I2C问题解析-SDA线被抬高_第17张图片

你可能感兴趣的:(单片机,嵌入式硬件)