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.

BQ79616: bq79616 + bq79600 reverse direction command frames when BMS is running

Part Number: BQ79616

Hi !

      We have built a BMS system using bq79616 and bq79600, now we can set up the device address in both communication directions, but  then we can't change the communication direction.

Here is my code:

.WriteReg(0, CONTROL1, 0x0+0x80, 1, FRMWRT_SGL_W); //反向编地址
WriteReg(0, COMM_CTRL, 0x00, 1, FRMWRT_SGL_W);
WriteReg(0, CONTROL1, 0x80, BoardNum-1, FRMWRT_REV_ALL_W);

Best Regards,

  • WriteReg(0, CONTROL1, 0x0+0x80, 1, FRMWRT_SGL_W); 
    WriteReg(0, COMM_CTRL, 0x00, 1, FRMWRT_SGL_W);
    WriteReg(0, CONTROL1, 0x80, BoardNum-1, FRMWRT_REV_ALL_W);

    WriteReg(0, COMM_CTRL, 0x00, 1, FRMWRT_SGL_W);
    WriteReg(BoardNum-1, COMM_CTRL, 0x03, 1, FRMWRT_SGL_W);

  • The above code is not working properly

  • Hello Zhanglei, 

    Have you auto addressed and communicated with the device before executing this code?

     Please review the auto-address directions in the BQ79600 datasheet to make sure you are auto-addressing properly before changing the communication direction.

    Additionally try read the COMM_CTRL register and make sure the BQ79616 is configured properly. The BQ79600 should automatically be configured as the base device with an address of 0x00. 
    You must have a daisy chain cable between COMH of base to COML of Stack1 and a daisy chain cable between COML of base to COMH of Stack1. To communicate in the south direction, set DIR_SEL = 1. To communicate in the north direction, set DIR_SEL = 0.

    Best,

         Quentin