Hi,
I want to know if BQ34z110 can be programmed using some microcontroller I2C interface?
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.
Hi,
I am not able to find any documents to describe how to communicate with BQ34z110 through I2C interface using a micro-controller or how to program, modify or read its data flash contents without using eval software. Can you please suggest any documents or any guidance. I will be obliged.
Thanks,
Amarveer
Amarveer,
You can download FlashStream 028 and it has some examples of interfacing with the MSP430.
http://e2e.ti.com/members/317599/files/default.aspx
Tom
Hi,
I have been trying to communicate my own circuit using BQ34z110 through I2C interface with my PC via EV2300 and bq34z110 v0.04 evaluation software. But it is returning No Acknowledge: VB_T2H_NACK error. No screens are active. Any help or advice would be appreciated.
Thanks,
Amarveer
I would look at the SMBus signals with an oscilloscope and check to make sure that the signal levels are within spec. Check to see whether the device is returning an ACK for the address word. You should be using SMB address 16. Another possibility could be that the device is in ROM mode. You can go to the Firmware screen and press the Execute button to return the device to normal mode.
Amarveer,
Make sure that you have the cable connected to the I2C port on the EV2300. Go ahead and click through the error messages and look at the I2C signals with the oscilloscope to make sure that the signal integrity looks good.
Tom
Hi Tom,
BQ34z110 IC is working fine. But I am not able to establish any communication. If I try to read or write then SCL goes low and then high again but no communication yet. Comm error code: 772 is displayed.
Best Regards,
Amarveer
Error code 772 means NACK. Can you provide an oscilloscope picture of the SCL and SDA signals when you are initiating communications?
Can BQ34Z110 be programmed without using TI's EV2300/EV2400 board and without the related software (bq34z110 Evaluation Software )? And if yes, how can it be done? Using I2C interface? What can not be done without using TI's tools(software+EV2300/EV2400) ?
You can communicate with the device without using the EV2300 or EV2400. The Going to Production (SLUA665) document provides some code examples for programming the device.
Hi!
I am able to communicate with the BQ34Z110 over I2C.
But I do not understand how to interpret the values for CC Gain and CC Delta.
How is F4 (Float) calculated? (Note 3 Not IEEE Float? )
Thanks!
Best regards
Falk
These parameters are used to calibrate the ADC in the current sensing interface and their value will be close to the value of the sense resistor. You should use the bqEVSW calibration tool to calibrate these parameters. There is some information on converting the F4 data in one of our calibration documents. Search for SLVA148A on the TI website.
Hi,
I don't use TI's software, but my own MCU to communicate with the gauge over I2C.
The I2C communication is a bit confusing.
Especially the Control() command.
To read e.g. the Status Flags, I do this over I2C:
1. AA 00 00 00
2. AA 00 AB 00 21 (Gauge returns 00 21)
Which one is the high and which the low byte?
To enter CC Offset Calibration I do this:
AA 00 0A 00
But the flags aren't changing.
Where is the problem?
By the way, is there a minimum time I have to wait between two consecutive I2C commands?
Best regards
Hi Thomas,
I have read the whole post yesterday.
Could you please answer my questions about flags (high byte low byte) and the wait time between i2c sequences?
Is my sequence for starting the CC Offset Calibration right?
Thanks and best regards!
Thanks!
I found out, that for Control() Subcommands, I have to wait at least 500µs between them.
Next Problem: I setup 0xFFFFFFFF for both, the unseal and full-access key.
Now I only can reset the SS bit, but not the FAS bit :(
Is there any way to go into full access mode?
Best regards!
Falk,
Going to FAS is the same process and unseal. The high and low words have to be sent within 4 seconds of one another and you have to wait 4 seconds to try retry in the event that it fails. Are you sure that that FAS code was not changed as well?
Tom
Hi Tom,
I am sure, that for both keys I set 0xFFFFFFFF.
Can you confirm, that in this case, I can go from unsealed to FA mode?
Falk
Falk,
I tried it and you are correct. I could not go to FAS. We have not heard about this limitation before, but I will look into it. Can you provide an email address, so that we can continue the discussion offline?
Tom
Hi Tom,
thanks for the validation.
I don't want to provide my address here. Can I send you a pm?
regards
Hi Tom,
If I want to go through all DESIGN STEPS of bq34z110 (datasheet, page 29) I need Data Flash access and to do that bq34z110 have to be in unsealed security mode. Am I right?
If so, to provide unsealed mode I have to switch off SS AND FAS flags in CONTROL_STATUS? (datasheet, page 10) There is ambiguity with setting Design Capacity. According to datasheet I can set every parameter via Data Flash (bq34z110 has to be in unsealed mode), but according to Table 19. in sealed and unsealed mode this parameter can be read only. How?
I am begginer in programming, it goes quiet hard for me.
datasheet of bq34z110: http://www.ti.com/lit/ds/slusb55a/slusb55a.pdf
Tomo,
The I2C Standard commands and most of the Control Subcommands can be read while in the Sealed state. These commands cannot write to the data flash when the device is sealed. In general, write access to the data flash is restricted when the device is sealed. I recommend that you leave the device unsealed until you development has completed. You can seal the device before the pack is shipped.
Tom
I have already samples of bq34z110 and I want to use it for 3 cell battery. Now I would like to do achieve all necessary design steps that my device will work properly. Would You like to answer my question from previous message about unsealing the fuel gauge?
appreciate and thank you
Tomo,
You can unseal the device by entering the Unseal code into the "Control" field located on the DataRAM screen. (It is the register located at the top of the table.)
Enter 0414 and press the <Enter> key on your computer.
Enter 3672 and press the <Enter> key on your computer. This should set the SS flag to green.
Enter FFFF and press the <Enter> key on your computer.
Enter FFFF and press the <Enter> key on your computer. This should set the FAS flag to green.
Tom
I am sorry, but I didn't mentioned that I am trying to do that by using my MCU through I2C only and without any TI software. There is a problem to set few bits in data flash with my experience. I was just wondering is that all to do if I want to unseal it ? (change these two bits: SS and FAS)
EDIT
It would be great If there is some kind of map of that data flash memory, because I wanted to unseal it to configure it by data flash block transfer (as far as I know, that is the only way to configure it without TI software)
You cannot just change the SS and FAS bits to return the device to full access mode. You have to enter the codes that I mentioned. This can be done through your uC, but you will have to send the data byte swapped. e.g 1404 7236, etc.
We do not provide the data flash map and you will need to access the DF in 32 byte chucks using the SubClass locators and Offsets.
Hi Tom
I will communicate with bq34z110 using arduino (to preempt any questions my colleague will help me with arduino, I do not know how to use it). The benchmark for making any changes by my colleague is that code:
http://e2e.ti.com/support/power_management/battery_management/f/180/t/372162.aspx
I have got a question:
Is there any possibility that I will tell You how I would like to re-design my bq34z110 (which led configuration, what capacity design and all the rest of DESIGN STEPS I would like to change) and You send me that Golden Image File with all those settings in? For me it is the easiest way - I would have to unseal it, load that Golden Image file data and then get some kind of chcecksum to veryfie that all goes right and seal it back, right?
Thank You very much for Your time.
EDIT:
My colleague told me that the program code from attached link is not the proper one - he has other processor on his arduino - I just wanted to mention that. If it is possible it would be great to get that Golden Image File.
In my application I will use (according to DESIGN STEPS; page 29 in datasheet):
If I resign with doing it via golden file I do not have to do optimization cycle?
I have to finish my school project already and I would like to run bq34z110 in my aplication on the easiest way and change only these things which are necessary to change. Could You lead me through this by the easiet way?
You have to enter the codes that I mentioned. This can be done through your uC, but you will have to send the data byte swapped. e.g 1404 7236, etc.
Is that all commands that I have to send to device to unseal it? Could you send me this bytes in hex?
you will need to access the DF in 32 byte chucks using the SubClass locators and Offsets
Could You explain how does the SubClass locators and Offsets works? Datasheet does not provide clear enough description. I don't understand how I can according to offset and subclass values know what is the data location in hex.
I just see a 3.67V on those pins, I have read a lot of people saying that they need a pull up resistor, do I need to add that to the board?
thanks