Other Parts Discussed in Thread: BQ20Z80-V110, BQ20Z80, BQEVSW
The company I work for named Southwest Electronics in Houston, TX purchased an Aardvark I2C/SPI Host Adapter (PN TP240141). I have been tasked with interfacing between the Aardvark I2C adapter and the Texas Instruments BS-compliant gas gauge IC, bq20z80A-V110. Although I have been able to communicate with the chip with no problems up to this juncture, I have come up to a barrier in working with the Extended SBS Commands. I am using LabVIEW drivers from Total Phase and developing my own code based on those drivers. In the technical reference manual provided by TI for bq20z80A (Document no. SLUU288), I am utilizing the SBS Commands found in Appendices A through C in order to read and write to the IC. I began with the Manufacturer Access section in Appendix A and was able to read from those register addresses with not much difficulty.
However, as I am now into Appendix B, I am having difficulty with using the Extended SBS Commands.
Here are screenshots with a general description of my code and what I have been able to accomplish so far in regards to establishing a handshake with the bq20z80A-V110.
To illustrate my current dilemma, the only commands I am not having an issue in using is the Extended SBS Commands that are available whether or not the chip is sealed and full access disabled. All I have to do is write to the Manufacturer Access, send the high byte and the low byte to the IC, then read from the Manufacturer Access register. The issue is that I can’t access any of the Extended SBS commands that aren’t available when the IC is sealed and full access is disabled, EVEN THOUGH I have unsealed the chip and enabled full access.
The following figure is the list of all the Extended SBS Commands that I have been able to use, which are available whether or not the IC is sealed or unsealed.
Figure 1 – Extended SBS Commands that I can use since they are available
I was able to use the TI software package, bq Gas Gauge Evaluation Software, to verify the status of the IC, see the following screenshot:
Figure 2 – Screenshot of SBS Status of bq20z80-V110
As visible in the preceding figure, the FAS and SS flags under the Operation Status are green signifying that the IC is unsealed and in full access mode.
In my LabVIEW code, I checked to see if I was getting comparable data by writing a VI where I wrote to the manufacturer access register. The three registers I wanted to check were the following, based off the information previously acquired from the TI software:
Operation Status – 8045 hex value
Charging Status – 0200 hex value
FET Control – 0006 hex value
First, here is my Labview code and data acquired from writing and reading from the bq20z80 chip. I wrote to the Manufacturer Access address with a subsequent high byte and low byte for Operation Status. As you can see, the return value in the LabVIEW program is the same as the one acquired through the TI evaluation software, see Figure 3.
Figure 3 – Operation Status Value derived through LabVIEW code
Second, I checked the Charging Status as another test case to verify that LabVIEW code was correct, see Figure 4.
Figure 4 – Charging Status value derived from LabVIEW Code
Once again, the value was the same as that which was acquired by the TI evaluation software.
Now, as the preceding two examples are available if the IC is sealed or unsealed, I decided to check an Extended SBS Command which isn’t available if the chip is sealed and has disabled the full access feature to see the result. Also, I used a command that has verifiable evidence through the TI evaluation software. The FET Control status word is 0006.
Figure 5 – FET Control Value through LabVIEW code
Hence, as you can see above, the FET Control register was not able to be read through my software. The software read from the same Manufacturer Address, but didn’t update the value with the FET Control status word. This is representative of the results of all the other Extended SBS Commands that were also checked through the above GUI which aren’t available when the chip is sealed with full access.
I would like to get some indication as to what write and read sequence I must utilize in order to use the following SBS commands in my LabVIEW software, :
Specifically, I want to be able to write the preceding commands in red and read the addresses since they are most important.