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: How to use for system-side implementation and interfacing with battery pack with only HDQ interface exposed.

Part Number: BQ40Z50
Other Parts Discussed in Thread: BQ2050H, BQ34Z950, BQ40Z60, BQSTUDIO, GPCCHEM, EV2400, BQ20Z65, BQMTESTER, BQEVSW

Tool/software:

Hello, 

I am evaluating the BQ40z50 as a potential battery gauge in my design. Actually, the BQ2050H is exactly suitable for our purposes, however the temp rating does not meet our standards and the BQ40z50 is listed as the latest version of this product. I have a removal battery pack which only exposes three lines, +, -, and HDQ. I believe this battery pack contains a BQ34z950 but the designers have only exposed the HDQ interface. I am trying to conclude whether or not the BQ40z50 is suitable for a host-side battery gauge design, to me it seems it is suitable for both battery and system-side (as the previous model 40z60 is listed as implementing both...) however I have some questions. 

  • What to do with VC1 if unused? Datasheet does not specify. 
  • What to do with the SMBus lines? Can this be attached to the host or is it intended to attach to the battery? Is the BQ40z50 able to implement SMBus protocol with only results of the Impedance Track algorithm?

Thank you for any assistance you may be able to provide. 

  • Hello,

    What to do with VC1 if unused? Datasheet does not specify. 

    VC1 is the connection for the least positive cell in the stack. This pin will need to be used in all applications, since if there is only one cell attached it needs to be connected to VC1. Can you please go more into depth about how the gauge is planning to be used?

    What to do with the SMBus lines? Can this be attached to the host or is it intended to attach to the battery? Is the BQ40z50 able to implement SMBus protocol with only results of the Impedance Track algorithm?

    The SMBus lines should be attached to the host, since this will allow the host to read out data and send commands to and from the battery gauge.

    Regards,

    Anthony

  • Hello Anthony, 

    Regarding VC1, the gauge will be connected to the host system and connect to a removal battery pack, the battery pack only has three connections, +, -, and HDQ. We are primarily interested in the LED display feature but SMBus would be a great addition if it is able to operate fully without being connected internal to the battery pack. 

    The battery pack is external and has an HDQ interface which is read only, will this cause problems with the SMBus implementation? In other words can the gauge firmware support this kind of system-side or host-side implementation? 

    Thank you very much for your reply. 

  • Hello,

    Understood, thank you for the clarification. I believe that this can be used system side, however there are issues that can arise with the calculations of the gauge if certain procedures are not taken when cells are switched out and removed. We typically recommend for gauges to be used pack side so they can keep connection to the cell and constantly track measurements and data, creating the best performance.

    If the gauge is solely being used for its LED functionality, then it still needs to collect the proper measurements such as SOC that will be reflected by the LED. Having the gauge system side can reduce accuracy of the SOC measurement at times.

    For this set up, the + and - sides of the removable pack will need to be connected to VC1 and BAT-. To communicate with the gauge, the host will need to be able to communicate with SMBus.

    Regards,

    Anthony

  • Thank you for all the clarification. Anthony. 

    Would + and - not be connected to SRP and SRN? Or should + connect to both SRP and VC1 and same for - ? 

    Additionally, the product bq40z60 is listed as a system-side implementation. Would you recommend that part or does it have the same cons of reduced accuracy?

  • Hello,

    Would + and - not be connected to SRP and SRN? Or should + connect to both SRP and VC1 and same for - ? 

    If + and - are the direct connections to the cell, then these will need to be connected to VC1 and BAT-. SRP and SRN are the inputs for the sense resistor. Below is the bq40z50 EVM Users Guide, which contains a schematic that can be used as reference for the connections.

    https://www.ti.com/lit/pdf/sluuav7 

    Additionally, the product bq40z60 is listed as a system-side implementation. Would you recommend that part or does it have the same cons of reduced accuracy?

    I believe that the bq40z60 uses the Impedance Track Algorithm, which is normally where these challenges are found when doing system side implementation.

    Regards,

    Anthony

  • Hello Anthony, 

    Thank you so much for your thorough answers. Regarding VC1, there seems to be some conflicting information in the datasheet regarding the voltage rating of this pin. Can you please elaborate on this?

    Thank you again.

  • Hello,

    Sorry for the confusion, can you please point out where there is conflicting information in the datasheet?

    Regards,

    Anthony

  • Hi Anthony,

    Sorry for late reply I am juggling a few projects. 

    The first table under section 7.1 lists the max voltage rating for VC1 as "VSS + 8.5, or VSS + 30" so we are wondering what is the "or" based on. 

    Two more questions, sorry, 

    Where can I find the stable version of BQStudio? It seems only Beta is available for download. 

    We have an interest in using this chip to drive a single tri-color LED, as opposed to 3 or more LEDs, can this chip support a common anode or common cathode configuration to enable us to do this? 

    Thank you for all your help so far. 

  • Hello,

    The first table under section 7.1 lists the max voltage rating for VC1 as "VSS + 8.5, or VSS + 30" so we are wondering what is the "or" based on.

    This information is in reference to the Absolute Maximum Ratings of the device. We would recommend following the Recommended Maximum Ratings specified in Section 7.3 to ensure the functionality of the device. Please see the warning below:

    Where can I find the stable version of BQStudio? It seems only Beta is available for download. 

    The bqStudio TEST download has our most up to date version, so we would recommend downloading this version.

    We have an interest in using this chip to drive a single tri-color LED, as opposed to 3 or more LEDs, can this chip support a common anode or common cathode configuration to enable us to do this?

    I believe this should be similar to how it would be set up for 3 individual LEDs, please see the FAQ below.

    https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/1167559/faq-how-do-i-configure-the-gauge-to-drive-fewer-than-5-leds 

    Regards,

    Anthony

  • Thank you Anthony, this is all very helpful. 

    We have followed the procedure in the user guide of the EVM, we have an electronic load connected to the PACK +/- and the battery is connected across VC1, we are simulating a 3 cell battery with resistors. We are able to communicate with the chip and update firmware. In BQStudio we can see the voltage reading, however we cannot see the charge level. I have attached a screenshot. 

    We also followed the calibration procedure described in the guide, with no results. When we measure voltage across the resistors on the EVM we see it fluctuate between zero and some small mV values, a bit too fast to take measurements. Does this sound like expected behavior? 

    Thank you again. 

  • Hi sardonic,

    The charge level here is depicting that the Relative State of Charge is 0%, Can you please tell us what the DA Configuration is set to currently? Since only one cell is attached, this should reflect in DA Configuration.

    Also, if you are trying to get the gauge to see the current passing from the electronic load, the [XDSG] and [XCHG] bits are currently set, which are disabling the charge and discharge FETs. Normally, this is caused by the FET_EN command not being sent yet, or if there is a protection being triggered. Please check the SafetyStatus and PFStatus registers to see if anything is set there.

    Regards,

    Anthony

  • Hi Anthony, 

    Here is the register front page. 

    Thank you for pointing us toward the DA Configuration register. Now, we are seeing a charge level of 100% even though this is not accurate.

    What we have done is use our battery as a power supply and the VC pins as a voltage divider with 100kohm to simulate a 3 cell battery as described in the user guide. Is there somewhere where we are supposed to set a value for max/nominal voltage of the battery? (in the screenshot above it is displaying only two cells because I had gotten my red and green switched when setting the DA configuration, after updating it with a value of 3 cells it was able to read the full voltage accurately approx. 8V, our battery has a max of 12 and nominal 10 approx)

    Can you please elaborate more on the FET_EN command? Should that be sent automatically or manually? 

    With gratitude,

    Layanne 

  • Hi Layanne,

    Understood, thank you for clarifying.

    Thank you for pointing us toward the DA Configuration register. Now, we are seeing a charge level of 100% even though this is not accurate.

    For the charge level to become accurate, a learning cycle will need to be completed to the device. The document below contains the instructions on how to accomplish this and the parameters that need to be set:

    https://www.ti.com/lit/pdf/slua903 

    What we have done is use our battery as a power supply and the VC pins as a voltage divider with 100kohm to simulate a 3 cell battery as described in the user guide. Is there somewhere where we are supposed to set a value for max/nominal voltage of the battery? (in the screenshot above it is displaying only two cells because I had gotten my red and green switched when setting the DA configuration, after updating it with a value of 3 cells it was able to read the full voltage accurately approx. 8V, our battery has a max of 12 and nominal 10 approx)

    There are overvoltage protections and parameters within the gauge that can be set to reflect the maximum voltage of the cell. From a charging perspective, the main ones are the Valid Charge Termination and Full Charge parameters, which can be found in section 4.6 and 4.7 of the TRM below:

    https://www.ti.com/lit/pdf/sluua43 

    Can you please elaborate more on the FET_EN command? Should that be sent automatically or manually? 

    The FET_EN command gives control of the charge and discharge FETs to the gauge based on what is being seen from the sense resistor. If the current observed is greater than the Chg Current Threshold, the CHG FET will become active, and vise versa with the Dsg Current Threshold and the DSG FET. This can be sent from the commands side of bqStudio:

    Regards,

    Anthony

  • Hello Anthony, 

    Thank you so much for your help so far. 

    Since this is a system-side configuration we do not have cell information and must go through the chemistry identification procedure before we can initiate the learning cycle.

    I am wondering what to do about the temperature readings since we do not have direct access to the cells? 

    Additionally, I am reading through the document ti.com/lit/an/slva725a/slva725a.pdf it says

    "This guide describes how to obtain the required log file without using a TI EVM or TI bqStudio software." and "An easy recording method utilizes TI's bqStudio software utility called GPC Packager that reads data directly from a TI fuel-gauge." Where is this GPC Packager tool? Is there a document which describes how to obtain the log file with the TI EVM and bqStudio? 

  • Sorry Anthony, I have made a little progress. 

    I thought I could read the temperature information off the HDQ interface on the battery pack, however I have been having some trouble using bqStudio and the 2300 and 2400 adapter modules to read from the HDQ interface. bqStudio does not automatically detect the device connected but it behaves that way with the bq40z50 also, it does not detect and when I select the device from the list I get a popup that tells me bqstudio does not support the device. 

    I was able to find the GPC Packager tool though and see that we can use the register logging option to collect the data. So my only question is regarding the temperature reading needed for the GPCCHEM tool. Will the values collected from the gauge's registers be sufficient, if not, what is the best software to use with the ev2300 or ev2400 to read a HDQ comm line? 

    Thanks. 

  • Hi Sardonic,

    I thought I could read the temperature information off the HDQ interface on the battery pack, however I have been having some trouble using bqStudio and the 2300 and 2400 adapter modules to read from the HDQ interface. bqStudio does not automatically detect the device connected but it behaves that way with the bq40z50 also, it does not detect and when I select the device from the list I get a popup that tells me bqstudio does not support the device. 

    I am slightly confused on what you mean by reading the HDQ interface since I do not believe that the BQ40z50 supports HDQ. This device should be communicated with using SMBus. Can you go more into detail regarding how this pack's communication is set up?

    Regards,

    Anthony

  • Hi Anthony, sorry about the confusion, 

    We are evaluating the gauge for use in a host-side implementation. The bq40z50 will be attached to our host via SMBus. The battery pack that will attach to our host/gauge also has a TI Impedance Track gauge with a HDQ API. In order to determine an appropriate Chem ID to use in the learning cycle for this battery I believe the most accurate way to get temperature information is to read it from the battery pack's HDQ interface, however I have not had success using the EV2300 or EV2400 to read data from the battery's HDQ.

    My question is how to read the battery's HDQ, and also if this is necessary or if the temperature data collected by the gauge itself will be sufficient for the GPCCHEM tool. 

  • Hi sardonic,

    Understood, thank you for the clarification. I believe that both of the EV2400 and EV2300 have the capability to use HDQ, which should be available using the bqStudio software. I see above that one of the issues is that bqStudio is not auto detecting the device, can you please send the screen that shows up when it tells you to choose a device?

    Regards,

    Anthony

  • Good morning Anthony, 

    We are running some tests on the battery, trying to experimentally measure the charge term taper current, but here are screens using the EV2400 with the bq40z50. You can see it does not auto detect and I also get a pop up telling me that the device I selected is not compatible with the software. When trying to read from HDQ of the battery and I reach this screen I am not sure which device to select since I do not know what is in the battery pack. I have tried selecting some random devices from the list but I don't have success. 

    I also have a question relating to the learning cycle. There are some differences in the update status states based on whether it is a system or pack side gauge. Since the bq40z50 is a pack side gauge but we are using it in a system side configuration should we expect the update status to match the states of the pack side or system side?

    Additionally, would it be possible to send the battery in to be tested for it's Chemistry ID?  

    Thank you. 

  • Hi sardonic,

    We are running some tests on the battery, trying to experimentally measure the charge term taper current, but here are screens using the EV2400 with the bq40z50. You can see it does not auto detect and I also get a pop up telling me that the device I selected is not compatible with the software.

    Thank you for sharing these files. if there is nothing coming up in the "Auto Detect Device" section at the bottom, this normally means the device is not being powered up correctly and is in a shutdown state. The device can be checked by scoping the TS1 pin of the device and looking at the interval of the pulses being sent. Please let us know if this is possible to be tested.

    I also have a question relating to the learning cycle. There are some differences in the update status states based on whether it is a system or pack side gauge. Since the bq40z50 is a pack side gauge but we are using it in a system side configuration should we expect the update status to match the states of the pack side or system side?

    The Update Status should move in the same fashion whether it is pack side or system side. If a log file can be shared, we can look further into this.

    Additionally, would it be possible to send the battery in to be tested for it's Chemistry ID?  

    Typically, we only accept cells being sent in for chemID creation. If testing for a chemID match is being looked for, this must be completed by the customer.

    Regards,

    Anthony

  • Hello Anthony, 

    In terms of autodetecting our gauge, with a power supply connected across pack+ and pack- it is able to autodetect, but not if the only power supplied to the chip is from the battery. 

    We were blocked for a while by a problem with our battery and charger but now we are almost ready to start the learning cycle. We have identified the cells in the battery and unfortunately there is no match in the database of Chem IDs, the cells are also in a 2P3S configuration, I am not sure how this factors into the chemistry id selection. I am still attempting to communicate with the battery pack's hdq communication line, but I have not had any luck so far. I cannot scope the TS1 pin. I have also identified that our battery has a bq40z655 gauge, however I don't see this gauge on the list of selectable parts. I am trying the bq40z60 for now, however what I see is that bqstudio is not detecting that I am connected to the HDQ port on the EV2400, it attempts to read from the chip using SMB protocol and then reports a failure. 

    To be clear, I am connecting the battery's DQ line and ground to the EV2400, as far as I can tell BAT+ should not be connected to the EV2400. I am applying a small load across the battery as well. Bqstudio reports "no acknowledge from device" if I try to refresh the register page. 

    I am grateful for all the assistance you have provided. 

    Best,

    Layanne

  • Hello Anthony, 

    I found the BQEVSW related to the BQ20z65 (apologies, there is a typo in my previous reply, the chip in the battery pack is the bq20z655) from the advanced BQMTESTER page and updated to use the alternative for the EV2300. However, I am still getting errors when I try to use this software. Here are some screenshots of the errors. 

    At launch:

    attempting to read data flash after launch:

  • Hello,

    The team is currently out of office today. We will get back to you next week.

    Regards,

    BMS Apps Team

  • Hi Sardonic,

    . I am trying the bq40z60 for now, however what I see is that bqstudio is not detecting that I am connected to the HDQ port on the EV2400, it attempts to read from the chip using SMB protocol and then reports a failure. 

    I believe that this might be due to the bq40z60 and bq20z655 not having HDQ functionality. Is there any issues with the bqStudio communication if these are connected to the EV2400 SMB port for communication?

    I have also identified that our battery has a bq40z655 gauge, however I don't see this gauge on the list of selectable parts.

    This might be due to a missing bqz file. Are there any other computers that are able to detect the bq20z655 around you?

    Regards,

    Anthony

  • Hello Anthony, thank you for your reply. 

    That's interesting. We do not manufacture this battery so I don't have details or access to the SMB connections, I will have to look into this. There must be another chip in the battery pack implementing HDQ because that is what the manufacturers defines as their communication spec. 

    Unfortunately we don't have any computers which have worked with this product line before. 

  • Hi Sardonic,

    Understood, please let us know if other questions arise.

    Regards,

    Anthony

  • Hello Anthony, 

    We are about to start our learning cycle but I am having some trouble with the thermistors. They are reporting some crazy values. 

    Int Temp: 64

    TS1 temp: -343.4

    TS2 temp: 2108.9 

    etc 

    When I try to calibrate with room temperature I get an error message stating that the calculated temperature correction is out of range. This is interfering with the operation of the CHG and DSG FETs so I am wondering what we should do and if this is required for the learning cycle? 

    With gratitude,

  • Hi Sardonic,

    For TS1 and TS2, can you confirm what type of thermistor is being used and whether they are 10kOhms at 25degC? 

    Regards,

    Anthony

  • Anthony, 

    We are still using the EVM so I am referring to the thermistors on the EVM.  

  • Hi Sardonic,

    Understood, thank you for confirming. Can you please check the continuity of TS1 and ensure that there is a pulse being received every 1s while the gauge is in normal mode at this time?

    Regards,

    Anthony

  • Hello Anthony, 

    That EVM was dead, we acquired a new one and it worked great out of the box. Right now though, we are considering adding a microcontroller to our design to read status directly from the battery pack. I have some questions about some of the timing discrepancies across datasheets. 

    In the HDQ Basics application note "slua408a.pdf" the legacy timing requirements for a chip such as the 40z50 are described as follows

    whereas in the datasheet for the 40z50 the timing requirements are below

    There are some pretty big differences so I was hoping to clarify what this discrepancy means. So far, using the timing requirements as described in the HDQ Communication Basics document has not allowed me to communicate with the battery pack. 

  • Hi Sardonic,

    I do not believe that the bq40z50 supports HDQ communication. Are there any current issues while communicating with SMBus?

    Regards,

    Anthony