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.

BQ40Z50-R1: Battery status read results always 0x00E7 by using STM32, and 0x00E0 by using EV2300

Part Number: BQ40Z50-R1
Other Parts Discussed in Thread: EV2400

Hello Sir:

Our battery status has 0x00E7 (7 means unknown error code) by using STM32 MCU.

If we use EV2300 which battery status value will be 0x00E0.

And we have been checked other parameters which are the same results, that only battery status is not the same result.

Please refer these tested results as below.

1. 0XE0 by scope (EV2300)

  

2. 0xE0 by LA (EV2300)

3. 0xE7 by scope (STM32 MCU)

4. 0xE7 by LA (STM32 MCU)

Can you let us know why the battery status value has not the same results?

Please provide recommendations and let us know how to fix this.

Thanks a lot.

  • Hi Statham,

    Please make sure that your gauge is fully powered and is not in shutdown mode. If your smbus comms is interrupted by any other device you can get wrong data. If everything else fails, please reflash the fw.

    Best regards,

  • Hi Nick:

    We compare other data parameters are all correct.

    It is only battery status abnormal.

    Please refer the attached file which is our gg file.

    Does there has other points that we need to pay attention?

    Does there has risk or side effect when we get 0x00E7?

    Please provide your recommendations for us.

    Thanks a lot.X66-GS-190808.gg.csv

  • Hi Statham,

    Can you try reading at a higher frequency > 20khz ?  Also this gauge should be used with ev2400.

    Best regards,

  • Hello Nick:

    We try to read the battery status by using 50KHz and 100KHz, and we got the same tested result, 0x00E7.

    Whatever we are using EV2300 or EV2400 I can get the right value, 0x00E0.

    If we use STM32 MCU to make the same thing that feedback value will be 0x00E7.

    Does there has other points that we need to pay attention?

    Does there has risk or side effect when we get 0x00E7?

    Please provide your recommendations for me.

    Thanks.

     

  • Hi Statham,

    Looking at the ST logic waveforms it looks like there is a higher delay between commands than our ev2400. This may be what is causing the error. You can make sure all the timing requirements listed in the datasheet are being followed.

    Best regards,

  • Statham,

    The signal quality when using the STM32 looks like it is not being pulled sufficiently to ground. I suspect the gauge is not correctly understanding the signals. Please try to use a stronger pulldown or weaker pull up. Once the signal is clean i suspect you will get the correct result. 

    Thanks,

    Eric Vos

  • Hi Nick and Vos:

    Thanks a lot your recommendations.

    We can use STM32 to get a lot of information from gauge in the same time, such as voltage, current, temperature or other operation/safety/PF status and more other registers, except battery status is abnormal. 

    We can try to check the Hi/Low threshold again, but I think if the threshold is not in right range that STM32 can not get registers data form gauge. Am I right?

    Whatever I post that STM32 get information for you reference.

    If you have recommendations please let us know.

    Thanks a lot.  

    IPS-M540H_20210322074351.docx

  • Statham,

    The error code 0x00E7 means "Unknown SMB error" IT is often when an SMB transaction is incomplete. This seems to be an issue with the STM device. I suggest doing a scope capture using the EV2400 and compare the signals. I would look particularly at the start/stop/repeated start of the two and see how they are different. 

    It looks like you are using two different logic analyzers. it is hard to tell, but it looks like the STM has a start condition after the initial target address. 

    Thanks,

    Eric Vos