我们现在能看到的现象是,TI 914芯片的I2C总线无ACK应答,致使主控崩溃。
914处于slave工作模式,主控是master模式。
从抓到的数据看,有以下规律:
1,主控通过914/913给sensor初始化,会发送一个初始化指令,之后sensor马上进入初始化状态,拉低913 I2C bus的CLK 500mS
2,在sensor拉低913 I2C的CLK之前,sensor已经送出了ACK信号
3,此时,914也会同步拉低I2C 的CLK 650 mS,但是,914在拉低CLK之前,并没有发送ACK信号出来
4,650 mS之后,914 release CLK,主控之后发送ACK的pulse,但914并没有回应ACK
5,因此,主控会有无ACK应答警告,然后会引起主控出现死机的概率。
我们有几个问题需要你们的协助:
1,sensor拉低CLK 500 mS,然后再释放CLK,914为什么不会发出ACK信号?
2,914的datasheet里面描述可以设置03寄存器自动产生ACK,我们设置此寄存器之后,还是无法自动产生ACK,上面的问题依然没有改善,
如何才能自动产生ACK信号?
Kailyn Chen:
您的应用是这样的吧sensor—-913—–914—–host
那就是有三种通讯方式:1)host与914. 2)host 与913 3)Host与sensor
您现在的情况是,host和914之间的通讯,没收到ACK信号?
���123:
回复 Kailyn Chen:
Hello Kailyn:
我的应用是sensor—-913—–914—–host
我现在的情况是HOST和Sensor I2C通讯时914无ACK传送到主控,导致主控会有无ACK应答警告,然后会引起主控出现死机的概率。
请问为什么913无法通过914传送Sensor的ACK信号到主控?
我们有几个问题需要你们的协助:
1,sensor拉低CLK 500 mS,然后再释放CLK,914为什么不会发出ACK信号?
2,914的datasheet里面描述可以设置03寄存器自动产生ACK,我们设置此寄存器之后,还是无法自动产生ACK,上面的问题依然没有改善,
如何才能自动产生ACK信号?
dachao zhang:
你好,我的情况和你一样,你问题解决了吗