This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Hi
I'm reading about ten registers from bq40z50 via smbus/i2c with an STM32L0
Once every second I perform a "read block" and everything works well for a lot of time (lets' say hours)
Then the I2C stop working and SCL is pulled down.
What I do is always the same. For example to read the device type I send
16 44 02 01 00
Then
16 44
and then I perform a read and receive correctly:
01 00 00 45
Nevertheless sometimes the I2C get stuck because SCL remains low.
Anybody can help me?
I'll try. It's not easy 'cause it's a very rare event.
Anyway I don't think I'm doing something strange, because I'm using the HAL library provided by STM
and I didn't see any particular time-constraint to observe in order to read properly from bq40z50
Thanks I will let you know
Hi ,
My application is similar with yours , and I think we are in the same situation. SCL remain low and the communication get stuck and never return normal until remove the battery pack and reset the MCU .
Have you figured out the root cause and solution ? if Yes ,please help to share your solution ,thanks a lot !
---------------------------------------------------------------
Here's Update ,I added the waveform just captured ,Please check if we are encountering the same stuck condition .
The waveform shows that the communication get stuck after FET is Off , the communication is scheduled to read BQ40Z50 via a MCU routinely,I still don't find the reason why the FET is off when all the condition is normal . Each time the FET is Off after 8s .After the SMBus get stuck ,I can't read the register and find out which fault is occurred .
I list the BQ40Z50 Application schematic below the waveform ,please help to check if there is any improper circuit.
Thanks !
Benson
HI Ben
Sorry If I'm late to reply.
In my case the SMBUS failed very randomly, sometimes after few minutes others after hours. Unlikely you I didn't have any load connected: I just polled some registers every seconds. I used the evalkit of TEXAS and I was connected to it with an STM32.
Now, when the communication fails I re-initialize my I2C. I don't know if this have definitely solved the problem but I never had a stuck (at least up to now: I test for several days). Anyway I noticed that sometimes (very rarely to tell the truth) even the BqStudio receive a NACK from the evalkit.
If I can help you, don't hesitate to ask. I will be glad to reply for what I can: it's just a couple of month that I'm engaged with this project.
Bye
Marco
Hi Marco,
It is pretty difficult to tell what might be the cause since you mentioned that the SMBUS failed very randomly.
I am not an expert on any STM32 microcontroller, but my concern is that your issue might due to the i2c module of the STM32 microcontroller you are using now.
Anyway, I will run a long time testing by myself and see if we can see something similar on BQ40Z50-R2.
Andy
Hi
We solve this by calibrate BQ40Z50 correctly and download the the firmware on the other board ,I believe the incorrectly calibrated firmware may trig some OC, OV fault thing.
Hopefully My solution helps!
Benson