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.

BQ78350: Unable to Access AFE CELL MAP from MCU

Part Number: BQ78350
Other Parts Discussed in Thread: BQSTUDIO, , EV2400

Hello,

I am trying to access AFE cell map data (address in flash section as per TRM is 0x44AC) in my SW. As per the TRM of BQ78350, I am sending the the below bytes on the SMBUS but I am getting JUNK data.

To set address, Start SMBUS comm, Send dev address with SMBUS write mode, 0x44, 0x02, 0xAC, 0x44,, , end SMBUS comm.

To read back, Start SMBUS comm, Send dev address with SMBUS read mode, 0x44,,0x05,

After this I was expecting 4 bytes of data, 2 bytes will be 0xAC and 0x44 and 2 bytes will be the AFE CELL map content

 However I am getting response as 

bufferrx[0] uint8_t 0x22 (Hex)
bufferrx[1] uint8_t 0xac (Hex)
bufferrx[2] uint8_t 0x44 (Hex)
bufferrx[3] uint8_t 0x10 (Hex)
bufferrx[4] uint8_t 0x0 (Hex)
bufferrx[5] uint8_t 0x0 (Hex)
bufferrx[6] uint8_t 0x0 (Hex)
bufferrx[7] uint8_t 0x2 (Hex)

.... so on up to 34 bytes in total which corresponds to 0x22, the first byte.

in bqstudio I am able to read AFE cell map register as 0x001f which is rightly configured as per our application.

Please guide me about where I am going wrong.

What is the correct procedure to acess Data flash memory contents?

Best Regards,

Rajeev

  • Most folks are out for the July 4th Holidays. We should get back to you after the break.
  • HI Rajeev,

    You seem to be doing the correct operations.

    The read flash command will return the start address followed by 32 bytes of data (regardless of the address you requested). The first byte is the data length, the next 2 bytes correspond to the address that you requested, and the next 32 bytes correspond to the data that you requested.
    In your case, you can ignore the extra 30 bytes, but you still have to read them.

    In this case, your AFE cell map shows 0x0010 for the map. Which is not what we would expect.
    Have you tried to use the Advanced Comm SMB in BQ Studio to see whether it returns the same values?
    I would also recommend that you look at the SMBus data with a logic analyzer to see why BQ Studio reads 0x1F and you read 0x10.

    Regards,
    Michel
  • Hi Micheal,

    I have even tried it using the Advanced Comm SMB in BQ studio. Even there the data is same !
    It gives the same payload.

    I forgot to mention the same while posting my question.

    -
    Rajeev
  • HI Rajeev,

    I'm going with the most obvious stuff here to make sure we didn't miss the basic stuff:

    In BQ Studio, when you configured the cell map, did you click on Write All? After I write, I always click on Read All to make sure that the configuration was written (it sometimes took me 2-3 tries to make register my changes).

    If you have a logic analyzer, you could always check to see what data or commands are sent to retrieve the AFE cell map.

    Regards,

    Michel

  • Hi Micheal,

    Yes I did verify the changes by 'Read All' and my changes were reflecting properly. I even went a step ahead and did a power cycle(on ->off ->on) of the entire board and still the configuration was present as i had set.

    Anyway I shall hook up a logic analyzer and check what could be happening when bq studio is reading data flash register and see what I could be missing.

    -
    Rajeev
  • Hi Micheal,

    I am able to resolve the issue .

    Here is what happened-

    After connecting the logic analyzer, I read the afe cell map from BQ studio and observed that it was accessing the register 0x4469, instead of 0x44ac. Then my attention went to the chip my EVM is using. My EVM uses BQ78350 and NOT BQ78350-R1

    The register addresses are different and thus must use appropriate TRM.

    BQ78350 is marked as NRND on its product page and suggested to use BQ78350-R1 instead. And there was no reference links for TRM of BQ78350. So I was in assumption that BQ78350-R1 backward is compatible with BQ78350 and was referring BQ78350-R1 TRM.

    Not all register addresses are mapped equally (not sure about accurate word to use here though :) ). Thus AFE cell map for BQ78350 is 0x4469 and for BQ78350-R1 it is 0x44AC. This is just an example. There are many registers which have different addresses.

    Unfortunately TI has not mentioned this info anywhere and also TRM for BQ78350 is not easily available from TI website.

    Thanks to lord google, I found the TRM and thus posting the link for others here - www.ti.com/.../sluuan7b.pdf

    Regards,

    Rajeev
  • Hi Rajeev,

    The BQ78350-R1 is the same as the original BQ78350 but it has an updated firmware. So it's the same hardware, just different software. You can update the firmware using the TI tools. Make sure that you use the EV2300 (not the EV2400).

    This means that your BQ78350 does not include the latest updates (there was a bug fix for the SC protection, among other things). I highly recommend that you update the firmware of your device to avoid any problems.

    Regards,

    Michel

  • Hi Micheal,

    Do you have link to this new frimware?

    I did update my Chip's firmware but still it was reading 4469 instead of 44ac for are cell maps.

    Regards,
    Rajeev
  • Hi Rajeev,
    Can you verify that you used the FW from the BQ78350-R1 product page?
    Regards,
    Michel
  • Hi Micheal,


    I initially used firmware from BQ78350 page ( www.ti.com/.../toolssoftware). This was still reading 0x4469 location for AFE cell map.

    Today out of curiosity, I used the firmware preset in BQ78350-R1 (www.ti.com/.../toolssoftware). Now it is accessing 44AC location.

    Please confirm that above procedure is correct?

    -Rajeev
  • Hi Rajeev,

    Yes, this is correct.

    The BQ78350 and BQ78350-R1 are the same hardware, but different firmware version. For manufacturing reasons, they have a different product number.

    Regards,

    Michel