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.

BQ75614-Q1: Startup communication via UART with MCU

Part Number: BQ75614-Q1
Other Parts Discussed in Thread: BQ79616, BQ79616-Q1

Tool/software:

Hi,

I'm trying to implement a library to use the BQ75614 with a STM32 and I'm facing some issues while communicating with it. 

First of all, do you confirm that the BQ75614 only supports a baud rate of 1MB/s and nothing else ? 

Then, I used the BQAutoEval GUI to communicate with the BQ75614EVM-0021 evaluation board and I analyzed all UART packets sent by the GUI. In those packets, there is a lot of frames that are broadcast frames which are not supposed to be necessary as they are not described in the BQ75614 datasheet. Also even if the BQ75614 is not stackable like the BQ79616, it seems to still require those broadcast frames and registers like DIR0_ADDR to be set although it's not mentioned in datasheet. The GUi also does all the auto addressing stuff even if it's not necessary because we use the non stackable chip.

Am I missing something or is the datasheet missing some important details ? I know there is a software design reference document (BQ79616-Q1 Software Design Reference (Rev. B) to help design a library, but it asks for commands that are supposed to be "reserved" if we follow BQ75614 datasheet. 

So must I simply follow the BQ79616 software commands or is there a procedure to avoid auto addressing stuff (which is present nowhere in datasheet) and have a fully functional BMS ? 

Plus, is there a way to make the BMS wake up at POR ?

For more precise information about what I do to have the BQ75614 responding me, I do the following:

  • send a Wake up ping
  • broadcast write value 1 to register CONTROL1
  • broadcast write value 0 to register DIR0_ADDR
  • now I can read some info from the BQ75614

Thanks a lot for your answers,

Best regards 

  • Hi Gab,

    do you confirm that the BQ75614 only supports a baud rate of 1MB/s and nothing else ? 

    Yes, it supports a baud rate of 1MB/s. There is a debug mode that switches it to 250kB/s for debugging purposes, but this requires a command with 1MB/s to use this mode.

    The GUi also does all the auto addressing stuff even if it's not necessary because we use the non stackable chip.

     The software sends broadcast reads and writes but those are just as applicable as sending single read and write commands to perform the same actions.

    So must I simply follow the BQ79616 software commands or is there a procedure to avoid auto addressing stuff (which is present nowhere in datasheet) and have a fully functional BMS ? 

    The BQ75614's address is 0x01. The device will respond to single read/write commands with an address of 0x01 so broadcast commands are not necessary unless you want to change the device's address to 0x00.

    Plus, is there a way to make the BMS wake up at POR ?

    A wake ping is required to go from POR to active mode.

    • send a Wake up ping
    • broadcast write value 1 to register CONTROL1
    • broadcast write value 0 to register DIR0_ADDR
    • now I can read some info from the BQ75614

    This procedure is correct for auto addressing the BQ75614. Hope this helps!

    Regards,

    David

  • Hi David,

    Thanks a lot for your answers :) 

    Indeed, I tested everything with the address 0x01 and it works without broadcast commands now. This address was written as the default value for Factory Configuration Default = 0x01 at the register DIR0_ADDR_OTP and DIR1_ADDR_OTP but I missed that part unfortunately.

    I think I mistaken with the Hardware Reset values to 0 which are only applicable after a Hardware reset ping or an error on OTP initial loading

    Once again, thanks for your answer,

    Regards,

    Gabriel