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: No communication error while BQ79616 disconnected

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

Hello, I have encountered issue that when I disconnect BQ79616 board which is connected directly to BQ79600 from communication line, BQ79600 will not detect this interruption and will not set fault pin nor will set error bit in registers. The configuration used (timeout register) for BQ79600 is default one.

Thank you for assistance.

  • Samuel,

    The communication timeout in the BQ79600 is looking for both UART/SPI and the daisy chain to be empty for the time defined in COMM_TIMEOUT. Commands from the MCU or USB2ANY to the BQ79600 will reset the timeout timer. If you are using the BQAutoEval program it is likely that it has disabled this timeout so that the device won't shut off or send errors between every human input. 

    Regards,

    Ben

  • We are using self developed board and we need to check for daisy chain communication timeout while uart is still working. 

  • Samuel,

    If the devices are in SLEEP mode you can use the built-in heartbeat to detect communication failures. If you are not in SLEEP mode, the only way to detect communication failure is if response frames are missing or compromised. Since the devices only send response frames after reads, we cannot use a simple timeout scheme. However, reads are extremely common and can be easily added to most command sequences and even if one read fails, we can be reasonably sure of communication failure.

    To combat communication failure, the devices are designed to support a ring architecture and can communicate in either direction by CONTROL1[DIR_SEL]. There are also the registers DIR0_ADDR and DIR1_ADDR so that stacks can be set up in both directions ahead of time. 

    Regards,

    Ben