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.

BQ27411-G1: Battery Management Studio Support For BQ27411-G1C

Part Number: BQ27411-G1
Other Parts Discussed in Thread: BQSTUDIO, EV2400

Hi,

When i open the battery with Battery management studio, i see that some registers are shown wrong and registers are missing. For example:

 - When i check "Res Relax Time" for example, GUI's "Gas Gauging" tab shows it as zero.

- However when i read the register with Advanced Comm, the setting is right according to the datasheet as shown below:

2022-08-05 12:16:37 705 , Wr , AA , 3E , 1 , 50

2022-08-05 12:16:46 079 , Wr , AA , 3F , 1 , 01

2022-08-05 12:16:49 473 , Rd , AA , 40 , 32 , 64 19 DC 5C 60 00 7D 00 04 03 19 25 0F 14 00 00 01 F4 00 00 00 00 00 00 00 00 43 01 14 00 0B 00

- Also there are some other parameters which are shown wrong in the GUI but returns correct values when it is read by Advanced Comm. "Max Sim Rate, Min Sim Rate, ..." Especially many parameters in IT cfg and State section....

Are you sure it is safe to use BQ studio to get golden image and write it? Because when i open Battery management studio, it gives the following error.

Furthermore when i read default DM code of this chip it returns 0xA1 rather than 0xA0. That is why, i find it dangerous to use this GUI to mass program thousands of gauge with the image i get using this tool.

Is there any assurance that this tool is ok? Is there any possibility to get all register settings to an array and program it to the OTP, using an external MCU? 

I am confused and running out of time. 

I would appreciate any help.

Thank you.

  • Hello,

    It looks like you might not be using the right firmware package for your gauge. Please go to the default path: "C:\ti\BatteryManagementStudio\config"

    Within the config file, please look for "bq27411G1C.bqz". If you do not see it, please make sure you are using the most updated version of bqStudio. Or, you could download the test version just to be the most updated. 

    Once you make sure you have the right firmware package, please go to advance command and try reading from a register, and see if you get the expected value back. This will ensure that you have an accurate reading gauge.

    Regards,
    Jose Couso

  • Hello, 

    After i configure the device settings via MCU, I open battery management studio, then select the BQ27411-G1C as shown below;

    After i press finish button, the GUI shows the following warning;

    The i continue to the main screen of the GUI. As It is shown below, it shows the right gauge name, slave ID, fw id, chemical ID. However DM ID is different than what i read from MCU. (MCU reads 0xA1, GUI has only 0xA0 option...)

    The registers are shown in the GUI as below: 

    Then i read the registers using Advanced Comm. section, and the device replies as follows(After unsealing)

    Advanced Comm Transaction Log

    TimeStamp , Read/Write , Address , Register , Length , Data ,
    2022-08-06 12:32:46 112 , Wr , AA , 61 , 1 , 00
    2022-08-06 12:32:55 643 , Wr , AA , 3E , 1 , 02
    2022-08-06 12:33:03 018 , Wr , AA , 3F , 1 , 00
    2022-08-06 12:33:09 177 , Rd , AA , 40 , 32 , 02 26 00 00 32 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    2022-08-06 12:33:41 689 , Wr , AA , 3E , 1 , 24
    2022-08-06 12:33:47 501 , Wr , AA , 3F , 1 , 00
    2022-08-06 12:33:52 489 , Rd , AA , 40 , 32 , 00 19 28 63 5F FF 62 00 32 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    2022-08-06 12:34:04 455 , Wr , AA , 3E , 1 , 30
    2022-08-06 12:34:11 159 , Wr , AA , 3F , 1 , 00
    2022-08-06 12:34:26 272 , Rd , AA , 40 , 32 , 0E 74 FD FF 38 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    2022-08-06 12:34:45 470 , Wr , AA , 3E , 1 , 31
    2022-08-06 12:34:50 846 , Wr , AA , 3F , 1 , 00
    2022-08-06 12:34:56 037 , Rd , AA , 40 , 32 , 0A 0F 02 05 32 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    2022-08-06 12:35:06 909 , Wr , AA , 3E , 1 , 40
    2022-08-06 12:35:12 550 , Wr , AA , 3F , 1 , 00
    2022-08-06 12:35:16 087 , Rd , AA , 40 , 32 , 25 D8 0F A1 00 14 04 00 09 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    2022-08-06 12:35:26 641 , Wr , AA , 3E , 1 , 44
    2022-08-06 12:35:32 612 , Wr , AA , 3F , 1 , 00
    2022-08-06 12:35:36 491 , Rd , AA , 40 , 32 , 05 00 32 01 C2 14 14 00 00 09 92 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    2022-08-06 12:35:53 798 , Wr , AA , 3E , 1 , 50
    2022-08-06 12:35:59 189 , Wr , AA , 3F , 1 , 00
    2022-08-06 12:36:02 693 , Rd , AA , 40 , 32 , 02 BC 01 2C 00 1E 00 C8 C8 14 08 00 3C 0E 10 00 0A 46 05 14 05 0F 03 20 00 64 46 50 0A 01 90 00
    2022-08-06 12:36:13 048 , Wr , AA , 3E , 1 , 50
    2022-08-06 12:36:18 814 , Wr , AA , 3F , 1 , 01
    2022-08-06 12:36:22 273 , Rd , AA , 40 , 32 , 64 19 DC 5C 60 00 7D 00 04 03 19 25 0F 14 00 00 01 F4 00 00 00 00 00 00 00 00 43 01 14 00 0B 00
    2022-08-06 12:36:36 939 , Wr , AA , 3E , 1 , 50
    2022-08-06 12:36:42 081 , Wr , AA , 3F , 1 , 02
    2022-08-06 12:36:48 258 , Rd , AA , 40 , 32 , 00 0B B8 01 2C 0A 00 00 00 C8 00 64 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    2022-08-06 12:37:06 815 , Wr , AA , 3E , 1 , 51
    2022-08-06 12:37:12 799 , Wr , AA , 3F , 1 , 00
    2022-08-06 12:37:16 430 , Rd , AA , 40 , 32 , 00 78 01 5A 02 08 00 3C 3C 01 B3 B3 01 90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    2022-08-06 12:38:46 362 , Wr , AA , 3E , 1 , 52
    2022-08-06 12:38:51 362 , Wr , AA , 3F , 1 , 00
    2022-08-06 12:38:54 973 , Rd , AA , 40 , 32 , 00 00 00 00 00 00 0E E0 0E A8 00 00 00 00 1C C1 00 00 00 C8 00 32 00 14 03 E8 00 00 00 10 9A 00
    2022-08-06 12:39:07 736 , Wr , AA , 3E , 1 , 52
    2022-08-06 12:39:13 534 , Wr , AA , 3F , 1 , 01
    2022-08-06 12:39:20 584 , Rd , AA , 40 , 32 , 00 10 F4 00 00 00 00 00 00 02 BC 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

    Given these info, lets check compare ResRelax Time which is shown in IT Cfg section at row 48.  

    When i look at the GUI, it clearly shows zero.... 

    However when i read it via advanced Comm. section, 

    2022-08-06 12:36:13 048 , Wr , AA , 3E , 1 , 50  (Adress: 0x50)
    2022-08-06 12:36:18 814 , Wr , AA , 3F , 1 , 01  (The parameters is in block 1)
    2022-08-06 12:36:22 273 , Rd , AA , 40 , 32 , 64 19 DC 5C 60 00 7D 00 04 03 19 25 0F 14 00 00    ( 01 F4)   00 00 00 00 00 00 00 00 43 01 14 00 0B 00

    It clears says it is 500. There are also other issues with regards to other settings. For example there is no parameter as Design Voltage in BQ27411-G1C settings. Also there are no settings as QMax Max Delta, Max % Default Qmax, etc...

    And also Max Sim Rate, Min Sim Rate, Ra Max Delta shows different values then what is actually programmed in gauge.( You can compare it by Advanced Comm. values and GUI values)

    That is why i think there is something wrong about the GUI or the settings file of the GUI.

    Looking forward to hearing from you.

    Serdar

  • Hello Serdar,

    If the device is compatible, it should get autodetected by default. You would not have to manually select the target device. 

    Did you try downloading the test version?

    Also, what is the voltage reading at BAT pin? In order for the gauge to work, the voltage at BAT pin has to be greater than 2V.



    If your device is not automatically detected when you start bqStudio, then you shouldn't proceed until this happens. 



    Please check if it’s the USB-I2C adapter or the gauge.

    1. Select the gauge from the list
    2. Go to advanced communications
    3. Read from the gauge
      1. If it says that there’s a problem with the communications adapter, then the EV2x00 doesn’t work. Plug it into another USB port and make sure the drivers are installed

    If it says that the device doesn’t respond (NACKs) then it’s the gauge. Make sure that the I2C is connected. It may be in ROM mode. Check if it’s in ROM mode.

    Regards,
    Jose Couso

  • GUI slectes the device type automatically when i open it. 

  • Hello Serdar,

    If bqStudio automatically detects the device type, under what scenario do you see the following error?

  • I just wanted to see the selection page and unplugged the EV2400 board. 

  • Serder,

    This thread is a repeat of the questions found in https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/1123087/bq27411-g1-bq27411-settings so this thread will be closed to avoid confusion between posts. Please refer to the thread I have linked to resolve any questions.

    Thanks and Best Regards,

    Jackson

  • Actually, i have provided much more info about the issue in this topic. Therefore, i will mark other thread as resolved and continue here. But i still did not get my answer to the problem. 

  • Okay no problem,

    When you captured the images of the GUI showing 0 for ResRelax Time, did you let BQStudio autodetect or did you manually select a .bqz file?

  • The bqStudio behavior you are experiencing is due to an incorrect .bqz file. Even though your .bqz file shares similar name, it doesn't match the correct address map. Hence, bqStudio will not be able to display the correct values. 

    To better assist you we need the correct .bqz file (exact device and FW and build version). This is indicated by the numbers that bqStudio detects and displays below the dialog when it starts up.

    Regards,
    Jose Couso

  • So, how am i gonna find correct bqz file? It says bqz file is only provided by Texas Instruments. 

  • Would you please provide your device number, FW version, and build version? This is indicated by the numbers that bqStudio detects and displays below the dialog when it starts up.

  • I am currently using Battery Management Studio 1.3.111. 

    Battery Management Studio ( bqStudio )

    Version : 1.3.111 Build 1

    Copyright © 2022, Texas Instruments Incorporated

    Build Date : April 7, 2022

    On the left GUI shows the following:

    When i send commands using command section, i get the following replies:

    As you can see DM code is different than 0xA0. 

  • The DM Code is variable. You can set it to any value from 0-255. It follows the value of DF Version:



    It has no intrinsic meaning for the FW but can be used to track configuration versions. The G1x versions with the same FW use different default DF Version numbers.

    Try configuring your DF version to A0, and see if it works. If not, please use the attached bqz file

    8875.0421_1_09_A0-bq27411G1C.bqz

    Regards,
    Jose Couso

  • Not working... The same issues remain. 

  • Hello Serdar,

    Would you please elaborate more on what you are defining as "Not working"? What were your steps to tackle my last reply?

    Regards,
    Jose Couso

  • Hi,

    I meant the same issues that i created this topic for do still exist. 

    To use the .bqz file that you created, i went to "D:\ti\BatteryManagementStudio\config" folder, found "0421_1_09_A0-bq27411G1C.bqz" file and deleted it. Afterwards i opened the Battery Management Studio, as expected it could not detect the device type and directed me to the device selection page. That is how i verified that i deleted the correct file.

    Then i copied the file that you provided to that folder. Opened Battery Management Studio, and saw that the problems that i have defined in this topic still remains. 

    Regards,

    Serdar

  • Hello Serdar,

    I see that you are using the bqStudio - TEST version. Can you download the stable version instead?



    If when you open bqStudio there is no error, then it means you have the right bqz file, hence it should map perfectly with the registers and you shouldn't run into those issues.  

    Regards,
    Jose Couso

  • Hello again, 

    I have deleted the test version and loaded the stable version;

    I have written some of the registers via MCU and view those parameters on GUI. ResRelaxTime is shown as zero(Picture below).

    Then i switch to the advanced Comm section and use raw commands to read the registers. Below reading register 0x50, block 01 which includes  resRelaxTime in 16 row(starting with 0)

    So, when i read the register it says it is 500, not zero. 

    Therefore, the values do not match with the datasheet. Also there is no parameter as design voltage in BQ27411-G1C datasheet, but GUI still asks for it. 

    The issues that  mentioned above still remains.

    Thank you,

    Serdar

  • Hello,

    I have written some of the registers via MCU and view those parameters on GUI. ResRelaxTime is shown as zero(Picture below).

    Are you accessing the data memory in UNSEALED mode? Refer to TRM section 6.1.1

    Also there is no parameter as design voltage in BQ27411-G1C datasheet, but GUI still asks for it.

    Design Voltage is obtained from battery cell manufacturer datasheet.

    Regards,
    Jose Couso

  • - Yeah, before accessing parameters, i unseal the device. (Bottom right)

    - I meant there is a design voltage parameter in the GUI in the Data section. However, in the datasheet; there is no mention of that in that register:

    - There are also other parameters that do not match with the datasheet. Parameters which are shown in green, only appears in datasheet; whereas it is not shown in the GUI. Parameters which are shown in red, only appears on GUI; whereas it is not mentioned in datasheet.

    Thank you,

    Serdar AKTAŞ

  • Hello Serdar,

    After doing some digging, we (the team) have come to the following conclusion.

    The bq27411 have default values for all parameters programmed into a memory, which can only be programmed one time (bits from 0 to 1). This is named "OTP" One Time Programmable.

    The bq27411 has most parameters cleared to 0 so that a customer can program their own values into OTP. This works by setting the values, e.g. format. This gauge has I2C instructions that program this OTP memory. The advantage of this is that host (uC) in the end application does not need to bother configuring the gauge when the gauge is power cycled/reset because the gauge will automatically load its configuration from OTP.

    Please let me clarify your confusion if still on DM CODE. The gauge uses the DM Value (code) just as an informal value. The DM code does not have a functional meaning. TI pre-programs this DM Version value (this is a private parameter) in OTP to the OTP version. The TRM was not updated with the right version. Which in your case is 0xA1.

    Regarding the confusion on bqStudio and TRM parameters.

    ResRelaxTime by default  for this gauge is 0, and must be programmed to something reasonable like 500 (as shown in TRM). So bqStudio correctly displays 0.

    Regarding to "However when i read it via advanced Comm. section"

     This is happening because you are writing to the wrong location in memory. The 0x01 0xF4 = 0x01F4 = 500 was written to offset 16. However, ResRelaxTime is located at offset 18. Let me explain this.

    ResRelaxTime is at offset 48 according to the TRM. The first block 0 is 32 bytes (48 - 32 = 16). So your thinking process is right, but in reality it's in block 1, offset 18.

    How can you get this information? In bqStudio, you would just need to enable Advanced Views:
    Window -> Preferences -> Show Advanced Views





    Please let me know if this clarifies your doubts.

    Regards,
    Jose Couso

  • Hello,

    In this case it is safe to say that the TRM is wrong. Because it says: 

    "Occasionally, a Data Memory class is larger than the 32-byte block size. In this case, the DataBlock() command designates in which 32-byte block the desired locations reside. The correct command address is then given by 0x40 + offset modulo 32."

    In that case it also makes sense why my learning sessions fail, because my parameters are in the wrong place.