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: Fraction of boards not detected by bqProduction SBB

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

Hello,

a big percentage of several lots of boards with BQ40z50-R1 are not detected by bqProduction SBB. They are connected to the calibration board HPA169 Rev B. Error message: "772; No acknowledge from device". The same goes with Battery Management Studio. The other fraction of the same design is working without such problems. Is there a way to determine whether the device is running any code at all? Is it possible to determine if the device is running the preprogrammed firmware or if it is in bootloader- or rom-mode?

Thanks,

Sebastian

  • Hi Sebastian,

    Are you using the EV2300 to connect the to the bqProduction SBB? If so, what version is the firmware? If it is version 3.1C it will need to be updated.

    After confirming that the EV2300/EV2400 is using the most recent firmware:

    1. Please also try connecting a 'fail board' directly to the EV2300/2400 with bqStudio. Does the device Acknowledge?

    2. If you pack is configured to use External thermistors, power the device and scope the TS1-4 pins. Is a pulse seen on any of the pins? If so, the device is running firmware.

    Sincerely,
    Bryan Kahler
  • Hello Bryan,

    yes, we are using the EV2300. The one I'm using to reproduce the issue is labelled with "firmware version >= 3.1m". I don't know how to verify this. I'm going to try checking the firmware version on the one used for production.

    1. The "fail boards" do not acknowledge when connected to bqStudio.
    2. In this design, TS2 to TS3 are not used and connected to GND. TS1 is pulsing on the "working boards". TS1 ist not pulsing on the "fail boards".

    I measured the supply current (current flowing into BAT-pin). The current in the "working boards" was dynamically changing between 1.0 to 1.5 mA. The current in the "fail boards" was constant 1.21 mA.

    So it seems like on the "fail boards" the regular firmware is not running. I don't know if the device is running some kind of fallback code or if there is no code running at all.

    Thanks,
    Sebastian
  • Update:

    I attached a bus logger to the smbus. Results are shown below:

    The "fail boards" do send an ACK bit after receiving their smbus address, so I guess that some code should be running. 

    The commands in indices 4 and upwards seem reasonable to me. However I have no idea what the commands in indices 1 to 3 are intended for. 

    The working boards send a NACK bit after 22 3E and the sequence stops. The "fail boards" send an ACK bit after 22 3E and the master keeps sending clock cycles and reads back his own zeros. So I'm assuming that the master is expecting a NACK after 22 3E but the "fail boards" do not behave as expected. Can you confirm?

    Thanks,

    Sebastian

  • Hi Sebastian,

    You're correct - the failing boards are most likely in ROM mode. With the boards connected to bqStudio, there are a few options:

    To see if there is firmware on the device, you may try pressing the 'EXECUTE FIRMWARE' button in bqStudio and repeat your test. Alternatively, you could use the advanced comm tab and send command 0x08.

    To program the device, open up bqStudio and select the firmware version and gauge that matches your SREC file. Select the execute after programming check box and program the device. It should program and boot up.

    Please let me know if these steps solve the issue.

    Sincerely,
    Bryan Kahler
  • Hi Bryan,

    I can't find any "execute firmware button" in bqStudio except for the checkbox below the program button. However programming the device resolves the issue. After programming the firmware anew, the calibration setup with bqproduction is detecting the boards.

    Thank you,
    Sebastian