I2C调试总结

I2C调试总结:
http://mirrors.edge.kernel.org/pub/software/utils/i2c-tools/
I2C-tools工具源代码
https://blog.csdn.net/weixin_43824344/article/details/120694693
Linux下I2C-tools工具使用
https://blog.csdn.net/childbor/article/details/104308893
i2c时序图的详细讲解

i2cdetect -l    // 查看当前系统的I2C总线
i2cdetect -y 3  // 查看总线3上所有从设备

"--"表示地址被检测到了,但是没有芯片,
"UU"表示地址正在被某一个驱动使用,而16进进制的I2C设备地址号

i2c_detect_loop.sh文件内容如下:
!/bin/bash
while ture
do
    i2cdetect -y 3
	sleep 1
done

把I2C-tools工具push到设备的/system/bin下
然后:
adb push i2c_detect_loop.sh /system/bin/

adb root && adb remount -R
adb root && adb shell i2c_detect_loop.sh // 每个1秒检测一次。

1,先执行i2c_detect_loop.sh脚本,通过i2cdetect扫描每一个总线的所有设备。
2,i2c设备的SCL和SDA pin引脚连接示波器,采集波形图。
示波器的采样率设置为5M,波形稳定后,点击Run/Stop按钮停止。放大观察波形。
对照i2c时序图对比观察SCL和SDA的波形。


i2cdump:查看某个总线上,某个从设备所有寄存器的值。
如:查看i2c3上0x5d设备所有寄存器的值
i2cdump -f -y 3 0x5d

总结:
i2c总线一般速度范围:[100Kb/s~400Kb/s]
i2c设备的VDD电压一般是:1.8V或2.8V等等
SCL和SDA pin引脚电压是:1.8V
(注意:有的tp触摸板设备VDD超过3.0V不工作,通过i2cdetect也检测不到设备地址号,
把VDD改成3.0V一下就正常了)

调试设备:
万用表
烙铁
可调直流电源
示波器
电路板和电路原理图
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值