Hi,
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,
Hi Kat,
That sequence is correct and is a standard sequence at the beginning of any bqfs file. The purpose is to erase the flash before you begin writing it, and the value of 00 would mean that it was successful. The 02 means it wasn't, so I'd check a couple of things.
First, try extending the delay from 200 to something longer. Also, verify that your code is really waiting 200ms before checking register 66.
The only other reason I can think that the erase might fail is if the voltage drooped during the erase. The erasure will take a relatively large amount of current briefly, and I've seen erases and writes fail if the power supply constrained the current somehow. For example, when using an SMU (source measurement unit), even though I had the compliance set high (like 100mA or more), the measurement range was set to autorange and the SMU didn't switch ranges quickly enough to and limited the current to the gauge IC while flash was being written, so it would fail. That's just one example, but the point is to make sure you are getting a good stable voltage at the REGIN and VCC pins during the write, so check those pins with a scope and make sure there is no droop during your writing.
hi dmax,
i appreciate your quick response.
We tried to extend the delay from 200ms to 2 seconds but still we got same result (register 0x66 returns 0x02 value). There was no droop on the VCC of the fuel gauge during the erase. In fact, we can successfully program the fuel gauge in our product unit with DFI file using TI EV2300 hardware and software, assuming DFI programming erases flash at the start.
Currently we are still using TI EV2300 in the production but this takes longer tach times and we cannot include it to our custom automation test software. That's why we opted to use a USB to I2C dev boar with drivers for our custom software.
Question:
1. Does BQ27510-G2 support same I2C format both in ROM mode and non-ROM mode? Any unique setting of ACK/NAK bits in ROM mode?
Thanks,
Kat
hi dMax:
Can you tell what's the meanning of these instrutions(in red) in the bqfs file:
writing IF:
C: 16 66 00
W: 16 00 05
W: 16 64 05 00
X: 170
C: 16 66 00
C: 16 04 83 FA 72 9E
W: 16 00 0C 00 00 00 83 DE
W: 16 64 6D 01
....
writing DFI:
C: 16 66 00
W: 16 00 08
W: 16 64 08 00
X: 2
C: 16 66 00
C: 16 04 2E 51 i know this is the checksum(0x512E) of dfi data
W: 16 00 05
W: 16 64 05 00
X: 170
C: 16 66 00
C: 16 04 83 FA 72 9E
W: 16 00 01 00 00 05 54 54 15
W: 16 64 C3 00
X: 20
C: 16 66 00
W: 16 00 05
W: 16 64 05 00
X: 170
C: 16 66 00
C: 16 04 D8 4E 48 9E
i can't get the correct checksum of IF and ALL FLASH,can you tell how to do?
thank you very much!