I2C问题请教
没遇到过,唤醒是唤醒Gyro还是cpu?CPU这端的i2c是GPIO配的的吗?
既然不是百分百那问题不在上拉电阻。
主机内部端口配置错误,可能是output low level。
把这部分的单元电路贴上来看一下
期待答案
ken ding shi ruan jian wen ti le
软件端口配置的问题
应该是软件配置问题。
交叉测试,排除IC单体不良的问题,然后好好看下GPIO是不是在其他地方重新配置了。
学习啦 谢谢各位啦
个人觉得,先取下陀螺仪的IC,然后看唤醒时,I2C的线路是否正常,若正常则去查下陀螺仪的规格书,看看唤醒时发送的I2C地址是否正确。若I2C线不正常,则看没有进入待机状态时是否正常,若正常,则查询软件。若不正常请判断线路是否OK!~
个人觉得应该是唤醒时,I2C的时序有问题。
看看spec上是不是open-drain的,如果不是就把上拉电阻去掉,看看GPIO的时序,多半是GPIO本身的属性问题,如果GPIO配错了,那么开机初始化之后就应该为低的,IO在初始化之前都有默认电平的,可以使用延时锁定的方法来规避。
IIC的上拉电阻是不是有点小,陀螺仪是否正常 还有就是软件是否正确
LZ检查一下SoC端口在ON和SUSPEND下的配置, 估计你是搞错了.
1、如上面多数人所说的,GPIO配置和时序问题。
2、电路设计问题:看看总线上是否有挂接电容? 以前碰到过别人设计的电路,说是为了滤波,在线路上挂接了电容(还比较大 330P)情况,然后就出现根lz类似的问题,不操作I2C都正常,一操作I2C接口就挂死,且信号线上点平为低,实际测试是主机发出的信号不能满足设备的上升时间要求,设备没有ACK回应,总线一直保持为低,把电容去掉后正常。
可能是软件配置的问题
楼上的回复不是一般的水啊。
不错的资料,谢谢小编
時序是不是不匹配,查看一下兩個芯片的SPEC,再試一下兩個的I2C線號對比,如果沒有問題,找驅動的看程序
应该是GPIO进出睡眠配置问题吧?另外查一下3205的状态,是否上电时序、Reset有问题
应该是待机后 陀螺仪IC处于power off状态,IIC GPIO引脚芯片对地阻抗过低上拉反而造成分压很低,建议改变上电时序