Part Number: BQ34110
I recently acquired a bq34110 along with an ev2400 adapter, and am running bqstudio (with the latest version and firmware installed) to interact. Upon reading the documentation related to the bq34110 (specifically the technical reference manual and "Using I2C Communications With the bq34110, bq35100, and bq34z100-G1 Seriers of Gas Guages"), I began to perform some I2C communications in order to practice reading and writing various fields from the board. Upon starting with the data flash memory, however, I began to ran into some issues. I am able to read data flash just fine, but I am unable to write to data flash memory, despite following the documents step-by-step. I checked to see if the board was in full access mode (which it is), and I have voltage at a stable 3V (above the 2.8V minimum for Flash Update OK Voltage). Attached is a screenshot of the logs for one of the memory addresses I have tried to write to, but to no avail.
Attempting to write to Manufacturer Info Block A06 (attempt to write 22, current value is 00)
We are glad that we were able to resolve this issue, and will now proceed to close this thread.
If you have further questions related to this thread, you may click "Ask a related question" below. The newly created question will be automatically linked to this question.
In reply to Matt Sunna:
I already looked through the trm and I2C-specific documentation in regards to writing to the Manufacturing Information Block. I have attempted to follow the documentation step-by-step in order to try and get the writes to go through, but no luck. I tried again after reading your post, but still nothing. Here's the logs of that second attempt.
(Still trying to write to block A06; write value 12, current value is 22)
In reply to Moises Martinez:
I think I see the problem. You are writing '36 7d' to address 60 (MacDataLen). You have the right idea - this should be the length command, data, checksum, and length bytes. However, you need to convert the '36' to hex. Instead, write '24 7d' to address 60.
Otherwise, your steps are correct. Another thing to watch out for - make sure the device is unsealed. I think this is not an issue in your case because you were able to modify the value in the Data Flash window when you set the data to '22'.
So I definitely didn't notice that I had the data length in decimal. I converted it to hex, and left everything else the same, but still nothing.
And yes, the device is in unsealed mode. I've been modifying the memory through the data memory window, as you said. Although I'm trying to rely on the I2C communications to do the modifying vs. the data mem. window.
Screenshot of my recent attempt:
It works when I try it. Please see the screenshot below.
Ok, it seems to work now! Thanks for the help.
Here's what I did (I tried two different values just to make sure):
All content and materials on this site are provided "as is". TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with regard to these materials, including but not limited to all implied warranties and conditions of merchantability, fitness for a particular purpose, title and non-infringement of any third party intellectual property right. TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with respect to these materials. No license, either express or implied, by estoppel or otherwise, is granted by TI. Use of the information on this site may require a license from a third party, or a license from TI.
TI is a global semiconductor design and manufacturing company. Innovate with 100,000+ analog ICs andembedded processors, along with software, tools and the industry’s largest sales/support staff.