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.

BQ28Z610: BQ28Z610 Shutdown Mode

Part Number: BQ28Z610
Other Parts Discussed in Thread: BQSTUDIO

Hi David,

              We have some questions for BQ28Z610 on Shutdown mode configuration, could you please help us, thanks

            1.  We want to set the Shutdown Mode(0x0010) of BQ28Z610, how can we configure this register and what does the sequence is right?
                   For example: I2CAddr_W + 0x3E + 0x10 + 0x00

          2. How to confirm the Shutdown Mode command is completed?

                For example: to check the OperationStatus () (00054) command [SDM] bit?

         

           3. How to confirm the OperationStatus()(00054) command is completed?

                For example: Is the following sequence correct?

                                       I2CAddr_W + 0x3E + 0x54 + 0x00

                                       I2CAddr_W + 0x3E + I2CAddr_R , read 36 Bytes ?

               And then, we read the sequence data:  0x54,0x00,0x86,0x03,0x00,0x00,.......

                So, how to find the SDM bit on the above data? For example: 0x03 bit0 is SDM bit?

BR,

Jingle 

 

  • your question will be answered in the next few days by me, kindly bear with me until then.
  • Sorry, any update on it ?
  • Hi Jingle,

    The SDM bit is represented in the 5th byte in little endian format.

    For eg once you send the shutdown command and then initiate a read of 0x54 if you get data back 54 00 80 61 01 00 xx xx xx xx  xx xx xx xx  xx xx xx xx  xx xx xx xx  xx xx xx xx  xx xx xx xx xx xx, then the 01 highlighted in yellow shows the SDM bit.

  • Hi Batt,
    As we check, the response data is : 0x54,0x00,0x86,0x03,0x00,0x00,......., so SDM bit is no flag,
    Maybe the configuration procedure needs to check, please teach us how to set the shutdown mode step by step?

    For example: 1. Set I2CAddr_W + 0x3E + 0x10 + 0x00 (Is it right?)
    2. Set I2CAddr_W + 0x3E + 0x54 + 0x00 (Is it right?)
    I2CAddr_W + 0x3E + I2CAddr_R , read 36 Bytes ?
    3. Initiate a read of 0x54 and to get the data back.

    BR,
    Jingle
  • 1. First disable the dashboard in bqstudio. Do this by clicking the green bar on dashboard for auto refresh until it turns red.
    2. Send the shutdown command 0x10
    3. Write manufacturer access. i2c address 0xaa, start register 0x32, data to write 54 00.
    4. Read back manufacturer access, i2c address 0xaa, start register 0x32, read data.

    Now you can see the status.

  • Hi Batt,

              Now we use  MCU to access the Gauge by I2C interface, and without using the bqstudio and dashboard,

               the next register is our use,  

               

               So,  could you teach us how to set and confirm the Gauge into shutdown mode step by step? please!

               If the above is not a proper procedure, please teach us how to do this sequence into shutdown mode?

    BR,

    Jingle

  • Hi Jingle,

    I'm sorry, I made a small error there. I typed 0x32 instead of 0x3e and messed up the command list.

    If you are not using bqstudio it is very simple.

    1. Set i2c address to 0xaa. Send the shutdown command 0x10 t0 0x00
    2. Write manufacturer access. register 0x3e the command 0x 54 00
    3. Wait one second
    4. Read 32 bytes from manufacturer access, register 0x3e
    5. Here bit 16 will give you SDM status.
    6. If you actually want to shutdown, then you must have the pack pin disconnected. Only then will the gauge shutdown.

    Is this clear?
  • Hi Batt,

                 When we set with the above sequence,and our pack pin is connected at the same time, the SDM bit is still no flag, 

                Would you please to explain the sequence for details to us, thanks.

    BR,

    Jingle

  • Is your gauge sealed or unsealed? If it is sealed, send 0x10 twice, back to back.
  • Hi Batt, 

                 Okay, we will try it by sending 0x10 twice, but which step is right? 

                For 1,

                         0XAA+0X00+0X10+0X00

                         0XAA+0X00+0X10+0X00

                Or for 2

                        0XAA+0X00+0X10+0X00+0X10+0X00

    BR,

    Jingle

      

  • Hi Jingle,

    I'm not asking you to send the gauge's address twice. I'm asking you to write to the register twice. So, it will be 0x10 0x00 written twice to register 0x00. Then follow up with writing 0x54 0x00 to register 0x3e and then read back 36 bytes from 0x3e. Your SDM flag status will be seen in bit 16.

    See the log attached here,

    Advanced Comm Transaction Log

    TimeStamp , Read/Write , Address , Register , Length , Data ,
    2018-06-26 11:41:54 076 , Wr , aa , 3e , 2 , 54 00
    2018-06-26 11:41:54 816 , Rd , aa , 3e , 36 , 54 00 86 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 24 08
    2018-06-26 11:42:17 913 , Wr , aa , 00 , 2 , 10 00
    2018-06-26 11:42:24 154 , Wr , aa , 3e , 2 , 54 00
    2018-06-26 11:42:25 550 , Rd , aa , 3e , 36 , 54 00 80 61 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 C9 08

    SDM is highlighted.

  • Hi Batt, 

                Sorry, we didn't finish this issue,

                We wrote 0xAA(i2c write) + 0x00(register) + 0x10 00(shipmode) twice, but SDM flag still not set to 1.(PACK+ is connected.)

                Could you tell us the sequence step by step:

                For example: 1.   Wr  0xAA(i2c write) + 0x00(register) + 0x10 00(shipmode)+0x00(register) + 0x10 00(shipmode), and then

                                      2.   Wr , aa , 3e , 2 , 54 00

                                      3.  Rd , aa , 3e , 36 , 54 00 86 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 24 08

                                      4. Wr , aa , 00 , 2 , 10 00

                                      5. Wr , aa , 3e , 2 , 54 00

                                      6. Rd , aa , 3e , 36 , 54 00 80 61 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 C9 08

           If the above sequence isn't success, is there anything we ignore about that?

     

    BR,

    Jingle

  • Jingle,

    Please try with bqstudio and see if the sequence works. If it does and your driver doesn't, then you have a problem with your comms. We can't do anything about your comm issues.

    On the other hand you may want to try sending the data in big endian.

    With that I mean to i2c address 0xaa, register 0x00 write data 0x0010 once, or twice back to back if necessary. Then read SDM and see if it's set.

    This is the best we can do. If bqstudio works and this doesn't, its your device or MCU that has comm issues.