急求!BQ30Z554 SMBUS通信问题
时间:10-02
整理:3721RD
点击:
各位大神们,还请帮忙看看这个通信问题主要出现在哪个地方呢? 问题如下:
用STM8 IO口模拟SMBUS通信 从机为BQ30Z554 Demo(四路电池管理) 主机为STM8 通信频率为15KHz,通过SMBUS通信读取电池的电流电压温度等值,正常通信一阵子后就会出现如下图片中的波形和数据,这里面的两种情况是我对主机的SMBC 脚进行不同的配置,SMBD 和SMBC 分别加了4.7K上拉电阻,其中图一为将SMBC设置为开漏输出,图二将SMBC设置为推挽输出,数据截图如图3(截取的为读取电池温度数据,其中02990左右的数据为正常数据,其他的为SMBC拉不高出现问题的数据),还请各位有经验的大神们看下到底是什么原因造成的呢?是SMBUS通信时序问题,还是模拟IO口的问题,还是上拉电阻的问题(10K上拉验证也是一样的),还是通信频率问题(尝试了50K的通信频率出现的问题点一致)?
SMBC开漏输出
SMBC推挽输出
读取数据截图
求帮助!
BQ30Z554内部是否有中断?
请问解决了么?我这边也发现有这个问题,设为开漏输出,电平就正常了。但是还是会有数据错误的情况~~~
到目前为止还没实质性的解决根本问题,我暂时是使用PEC进行校验获取数据,或者软件滤波,问题的根源没有解决,你通信使用的是硬件I2C还是软件模拟,我设置的也是开漏输出。我个人认为可能是通信时序导致BQ芯片保护或者中断,也有可能是I2C外设稳定性问题,因为我看了其上位机的通信波形,前后读取的波形差异性很大,但是上位机不会出现以上现象。你觉得呢?