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.

bq27510 Data Flash Read Problem

Other Parts Discussed in Thread: BQ27510, BQ27510-G2, BQEVSW

what is the correct flow of writing Design Capacity in Data Flash??

I am unable to read current Value of Design Capacity stored in Data Flash. I have successfully read Standard Commands (ex Voltage(0x08)).

Even i am unable to read Data Flash in bq evalution Software using i2c Pro. Same thing is happening here, i can read Standard Command value using Read/Write I2C byte.

And another problem in bq evalution Software is that in Data Flash Tab i am unable to change Design Capacity value. whenever i change that value and click "write all" it automatically changes to its default value 1000.  i have to change it using bqEasy configuration.

  • Ritesh,

    I just started working with the BQ27510, so I am still learning as well.

    One thing you want to check I think is whether the device is SEALED or not.  Look at the FAS and SS bits in the Control Status of Data RAM.  If it is SEALED then you need to unseal it first.

    Hope that helps.

  • Stefani,

    Thanks for the Reply.

    I have checked the FAS & SS bits, and its not sealed. And also i write 0x00 to address 0x61(BlockDataControl()) before reading or writing to the DataFlash.

    After Searching to the Forum i came to know that First we have to enter into the ROM mode from Guage mode by writing 0x000f at 0x00. But i still unable to write a single Dataflash address. Currently i am configuring the ic by bqEasy. But i looking for some way to configure by writing some code in my controller for production.

    Then i find one document named SLUA449E (Going to Production with the bq275xx). In that they says to use generated .dfi file by bqEasy to configure the ic. But now my confusion is: How to import that .dfi file into my controller code? Then i came to know a software called FlashStream it convert .dfi file to some .bqfs & . dffs file. and then we can use these files (Refer SLUA541A). 

    But i still in some confusion. If you find some easy way please Reply...

  • Ritesh,

    You are welcome.  There is not much traffic and response in this forum on this part anymore.

    I just came across the document SLUS948 (BQ27510-G2 Datasheet), on page 13 Table 5 where it indicates that the Design Capacity are Read Only.  From that I don't think you can modify it by using a command.

    When you do the learning cycle in BQEasy, I think one of the steps is to input the design capacity.  Mine was left at the default (1000 mAh), although the battery is actually a 680 mAh.

    Regarding importing the DFI file, yes you can use Flashsream.  Do you have that? Somewhat when I tried to use it it gives me an error message:  Invalid waiting time.  I was also already too far in writing the code to program the DFI so I ended up not using the bqfs and dffs file.  I wrote a program to read the binary file and create a file of constant array.  Then my firmware includes that file and use that array to program the DFI.  I am still not completely successful / done in that, but that is the path I have taken.

  • Stefani,

    I think you are right. Design Capacity can't be changed by writing commands. And the only way to change it by using BQEasy. I am using 2380 mAh and currently i have changed by BQEasy.

    And I have FlashStream. But i find this way too complicated. So currently i have decided to use EV2300 Module to load .dfi into the ic at production. Then whenever i got some free time i will figure-out another way. 

    About Which binary file you are talking? BQEasy isn't generating any binary file. Can you describe briefly How to generate binary file and how to make an array. It would be very helpful to me.

  • Ritesh,

    If you can use EV2300 module to load the DFI file to the device at production using BQEVSW, then that is great.  I think that is the best way.

    The .dfi file is a binary file.  To program it into the device in my firmware I wrote a Windows console program (outside of my firmware, I use Visual Studio).  What it does is open the .dfi file, read and "print"  the data to another file, then close both files.

    If you have a way of attaching the EV2300 during production though using TI's software is probably easier and better.  It is hard for us to do that, so I have to have it in my firmware.