本帖最后由 穿prada的008 于 2015-8-5 16:20 编辑
最近楼主拿到的popmetal板上的陀螺仪芯片使用不正常,可读到设备号,却没办法读到数据,经过测试,发现所有挂载在IIC总线上的设备全都不正常,然后在别人的另一块板上可正常运行,发现两块板的IR旁的编号不一样,别人板编号是1445,而楼主的板是1522,估计是新板,在询问芯客的工程师后,他们在检测之后,发现是新板中i2c-1总线上的SDA信号被干扰了,sda线被强制拉低,故只要将对应的干扰信号的线隔断就好。考虑到大家买到新板后可能没办**常使用陀螺仪,故在这里分享给大家如何解决。
首先会有问题的板是这种板,图中橙色框框的位置数值为1522,红色圈圈上有两根排针,排针后面的位置就是下一张图的绿色圈圈,仔细看可以看到绿色圈圈上引出的排针引出的两个线,割左边那条线,但是切记不要太用力,最好割着差不多就测试一下。
然后需要割的位置在这边,绿色圈圈
楼主“割”出来是这样子的
测试方法如下
先烧官方固件,然后烧录帖子里的kernel与resource(里面有打开l3g4200d驱动)
然后用adb工具把i2cdetect push到板子里去,然后进入到i2cdetect的位置 执行
chmod 777 i2c*
./i2cdetect -y 1
如果0x69的位置变成UU就代表陀螺仪设备被挂上总线,即是干扰线成功被割断
附件:见原帖:http://bbs.chipspark.com/forum.p ... &extra=page%3D1
|