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.

BQ34Z100-G1 Testing

Other Parts Discussed in Thread: BQ34Z100-G1, BQ27520-G4, EK-TM4C123GXL, BQ34Z100EVM, BQSTUDIO, EV2400, BQ34Z100

Hello, I am planning to develop a system-side battery Gauging system for an already-running project with a uC T4M123g. It is actually being powered externally. Now I was selected to do the development of a charging and fuel gauging system for a pack of Li-Ion 5200mAh batteries. I have big concerns with the package of the ICs because I can't really solve the soldering of the BGA products (i.e. bq27520-g4) nor in testing phase nor in production phase. So I decided to look at the 14TSSOP bq34z100-g1 with quite a lot of interest.

Now, my problem is, I've seen that there is an evaluation module (bq34z100EVM) to buy from TI. I have the Launchpad EK-TM4C123GXL evaluation kit to work with. What I'm wondering is if I will be able to use the BQStudio software without the EV2300 module, I mean, connecting the bq34z100EVM directly to the I2C ports of the EK-TM4C123GXL kit and from there to the USB Host PC Port, or is it mandatory to channel the communication through the EV2300 module?


Is this solution possible? Thank you very much.. I am quite lost with this new project because I have no experience in embedded systems like this.

  • Ariel
    The bqStudio program only works with the EV2300 and EV2400 adapters.
    Tom
  • Thank you very much Thomas. In case I don't have the EV2300 or EV2400.. Is it possible to configure all the parameters in the BQ34Z100-G1 by sending I2C messages through the I2C interface of the EK-TM4C123GXL kit? I am a student and learning all about this, that's the reason for my neverending doubts. I appreciate any guidance and help in this matter.
  • Hi Ariel,

    I recently did the same and it is possible. The only thing that did not work for me was that I needed to program another chemistry.

    As far as I understand you need to update the firmware for this. You can get the df.fs file from the bqstudio program but only if you have connected your board with an EV2300..... Fortunately Thomas Cosby was sending me the necessary files so in the end everything works now.

    For programming and such things I implemented a USB-CDC device on my Mikrocontroller that translates the commands I send with a serial terminal into I2C commands. This makes things very convenient as you can easyly adjust parameters and see whats happening with the BQ34Z100G1 using a normal serial terminal program.

    You might have to dig very deep in the app notes to understand what bqstudio does.

    If you have openoffice I might supply you with a spreadsheet that I used to calculate values to program into flash and to calculate the checksums you need.

    Bye, Willem.

  • Thank you Willem, I have a couple of questions about what you mentioned:


    1) Did you use a Li-Ion battery? If that's the case, doesn't the IC come preprogrammed to interact with this kind of chemistry? That's what I'd read in the Datasheet, but maybe there are different chemistries for Li-Ion batteries that I'm unaware of.

    2) When you talk about programming... You mean flashing the golden file to the other, discrete ICs BQ34Z100, for serial production, right? About this matter, I mean, flashing or programming the ICs, I haven't decided yet when to do it... I thought it would be possible to do the initial parameter configuration directly on the final board through an I2C communication, isn't it possible? I mean, without the need to develop a platform to flash the ICs and golden files... Use directly the final PCB with the Host Microcontroller and send a script with the configuration lines...

    3) Regarding what you are saying about calculate values to send to the IC, why do you need it exactly? I thought I could talk to the IC with the commands listed in the datasheet through the I2C bus. Is this wrong?


    Thanks in advance, Ariel.

  • Hi Ariel,

    1. I used a Lead Acid Battery but I think even for a LiION Battery there exist many different profiles. It is not only the chemistry that you select but more how the charge/discharge profile of your battery looks like.

    2. By programming I meant writing any data via I2C to the BQ34Z100-G1. Configuration and other stuff. For clarification. I think the BQ34Z100-G1 has two flash parts. One is accessible at I2C address 0xAA Lets say user flash. This is also the flash part that you will find documented in the datasheet. Then there is a second flash which is accessible at I2C address 0x16. You have to set the BQ34Z100-G1 in a special mode by writing a I2C sequence to get access to this flash. Otherwise the BQ34 won't even response to I2C address 0x16. In this mode you can overwrite the dataflash memory. This might be a golden image file or also only the portion of the dataflash that stores the battery profile.

    Concerning your question
    Of course you can do all the initial parameter configuration just by sending I2C commands.
    In fact all programming of the BQ34Z100-G1 is done with I2C commands. Also the dataflash programming with a golden image file is done with I2C commands. If you take a look at a bq.fs golden image file this is just a list with I2C commands.

    I implemented the USB CDC device because it made things easier to test on the fly. If it is possible for you to send a script with configuration lines to your mikrocontroller which are translated into I2C commands for the BQ34Z100-G1 it would have the same functionality.


    3. By calculate I mean that you have to programm different values like cc_gain which are in a somewhat strange four byte format or there are also some two byte values. So I made a spreadsheet to help me calculate the bytes that have to be programmed via I2C bus. It is of course possible to do all the calculation with a calculator or whatever.
    Just take a look at cc_gain and try to figure out what four bytes you would program for your design. Maybe then you know what I mean with calculate.

    If you would like to try it out just do it, is definitly possible.