
debug 过程
手上有两个测试板,测试流程完全一样,测试结果也完全一样。
1. 最开始按照图中所示的原理图上电测试,iic通讯失败,然后发现原理图错误,主要是VDD_SEL错误。
2. 修改vdd_sel,将其拉低,然后测试发现VDD11 都是1.7v多,而不是1.1v. 这个时候通过iic读取寄存器,仍然错误。
3. 后来将其无源晶振换成有源的24M晶振。发现并没有改变测试结果。
4. 在以前的电路上,将vdd_sel拉高,选择外部供1.1v,然后跳线实现对其vdd11供1.1v。然后测试发现没有变化,iic 通讯仍然错误。
经过示波器的测量发现,iic失败的原因就是DS90UB954没有ack,导致iic通讯中止。
5. 后来换了一个DS90UB954器件,发现IIC通讯不再报错,但是所有能读的寄存器都是0xff。这个0xff说明,iic 通讯时,DS90UB954能够返回ack信号,但是当需要DS90UB954 返回数据时,并没有返回数据。SDA的电平一直处于高电平状态。
问题:
1. 更换前的芯片坏了吗?为什么会损坏?
2. 电路设计上有什么需要特别注意到地方,会导致IIC无法通讯吗?
