TI达人:
我使用MSP430G2553与BQ76930、BQ78350同时通讯,与BQ76930的硬件增加一个ISO1541D隔离,开机工作一段时间都是完好的,数据读写都正常,波形也无异常。但是工作5分钟之后,I2C总线上无波形再输出了,SCL为高电平3.3V,SDA为低电平,电压在0.6V左右。这时硬件复位MSP430G2553都无效!只有断掉系统电源才能恢复!这种问题是如何引起的?
期望各位的解答,谢谢!
Seven Han:
可否贴上您的原理图?
灰小子:
建议上传下电路图,觉得硬件问题可能性居多。
junying yuan1:
回复 灰小子:
谢谢各位!
问题已经解决!不是硬件的问题,主要是和BQ78350的通讯上面引起的。主要是在BQ78350读取两个字节以上时,BQ78350最后一定给一个校验字节,如果没有发送NACK,它会一直发送校验字节,直到收取到NACK。而MSP430G2553在接收数据时,接收寄存器的值没有读取走,就不会发送NACK,之前是先读取后发NACK,改为先发NACK后读取就正常了。而两种问题碰到一起就导致MSP430G2553的I2C控制器异常!必须断电。
另外BQ76930上电后需要等待一段时间才能工作正常,需要上电时序后工作到现在一直正常。
灰小子:
回复 junying yuan1:
感谢楼主分享原因。解决时序问题的最好办法就是用逻辑分析仪观察时序,这样更直观,更快捷