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.

BQ79600-Q1: unable to Read with the uart after Autoaddrssing

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

Hai,

Currently using BQ79600 as a bridge between TMS570LS0714PGE and cell balancer(bq79616).

The  sample code available for bq79600  is with the help of SPI interface 

we want to use the bq79600 with Uart interface,

We are able to wake up the bridge and cellbalancer with the help of uart 

before auto addressing we able to read (checked ), after auto addressing we are unable to read the data, so please help me with the steps to be followed after auto addressing

and please help me to under stand stack read and stack write

Thank You,

M. Poorna chandu

  • Hello,

    The devices should be ready to communicate after auto-addressing. Can you please share your auto-addressing routine to check what could be the issue?

    The types for commands available are single device write/read, broadcast write/read and stack write/read. A broadcast write/read command is executed by all the devices, including the bridge (bq79600) and the stack devices (bq79616). The difference with a stack command, is that a stack write will only write to the stack devices, so the bridge will just forward the data but not execute the command itself, and a stack read will only read from the stack devices and not from the bridge.

     

    Best regards,

    Leslie

  • Hai Leslie,

    Down i am Sharing the steps followed in the auto addressing  and after the auto addressing

    Steps followed in auto addressing(for communication through Uart):

     

       WriteReg(0, OTP_ECC_TEST, 0X00, 1, FRMWRT_ALL_W);

       //ENABLE AUTO ADDRESSING MODE

       WriteReg(0, CONTROL1, 0X01, 1, FRMWRT_ALL_W);

     //Set address for every board

      for(currentBoard=0; currentBoard<2; currentBoard++)

       {

            WriteReg(0, DIR0_ADDR, currentBoard, 1, FRMWRT_ALL_W);

            delayms(2);

       }

     

       WriteReg(0, COMM_CTRL, 0x02, 1, FRMWRT_ALL_W); //set everything as a stack device first

     

       if(TOTALBOARDS==1) //if there's only 1 board, it's the base AND top of stack, so change it to those

       {

           WriteReg(0, COMM_CTRL, 0x01, 1, FRMWRT_SGL_W);

       }

        else //otherwise set the base and top of stack individually

       {

            WriteReg(TOTALBOARDS-1, COMM_CTRL, 0x03, 1, FRMWRT_SGL_W);

       }

        //SYNCRHONIZE THE DLL WITH A THROW-AWAY READ

        ReadReg(0, OTP_ECC_TEST, autoaddr_response_frame, 1, 0, FRMWRT_ALL_R);  

        }

    After auto addressing(for SPI):

        WriteReg(0, ACTIVE_CELL, 0x0A, 1, FRMWRT_ALL_W);    //set all cells to active

    //delay

        WriteReg(0, ADC_CTRL1, 0x06, 1, FRMWRT_ALL_W);      //continuous run and MAIN_GO

    //Delay

    //Finally reading cell voltages

    Check and if there is any wrong Please let me know the exact steps to follow(we have very less time)

     

    Thank You,

    M. Poorna Chandu

     

  • Hi Poorna,

    Thanks for sharing the code. The procedure looks correct.

    • How many 616 devices do you have in the stack?
    • Are you waking up the 600 and the 616 before auto-addressing? Steps:
      • Send WAKE ping: When using UART, send a WAKE ping on MOSI/RX by pulling the line low for 2.75 ms (tHLD_WAKE) to wake the BQ79600-Q1. Then wait at least 3.5 ms to allow BQ79600 device to enter ACTIVE mode.
      • Send a single device write to BQ79600-Q1 to set CONTROL1[SEND_WAKE]=1, which wakes up all stacked BQ79616-Q1 devices. Then wait appropriate time to allow all devices to receive the WAKE tone and enter ACTIVE mode before starting Auto-Address sequence. For 1 616 device the time would be around 11.6ms, for 2 stacked devices around 11.6ms*2, for 3 devices 11.6ms*3 and so on.

    Can you please check that the stacked devices are awake and that you wait the appropriate time before starting auto-addressing?

    Regards,

    Leslie