BQ79600-Q1: two-device daisy chain wakes up but cannot complete auto-addressing

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

Tool/software:

Hello,

We are working on a custom BQ79600+BQ79616 application with galvanically-isolated daisy chain. Below are some setup details:

  • The daisy chain is set up as a two-device chain and we are setting the address 1 BQ79616 device as a stack device and as the stack top in the same SPI frame
  • The daisy chain is connected as a ring architecture: BQ79600 COMH is connected to BQ79616 COML and BQ79616 COMH is connected to BQ79600 COML
  • Wakeup seems to work fine as the BQ79616 AVDD, DVDD, NEG5V, etc. all come online
  • We are able to read faults from address 0 on the daisy chain after attempting auto addressing
  • Please find below the schematics for the BQ79616, BQ79600, and the daisy-chain circuits. The daisy-chain is repeated on both stack devices.

I'm attaching two .sal files with the following data transmissions:

  1. initial problem.sal - a wakeup + auto-addressing sequence where, as soon as we send the first dummy read command, the SPI_RDY pin just drops low and never re-asserts.
  2. faults and debug 2.sal - reading fault and debug registers from device 0

We would appreciate if you can point us in the right direction to debug this issue. Thanks!

  • forgot to attach the files, but it doesn't seem like there's a field for it. sorry for my ignorance

  • here is an image of the last frame we send as part of the auto-addressing sequence. I'm not sure how to upload the .sal files.

  • Zhe,

    This is indicative of an error in some part of the wakeup or auto-addressing sequence. Please double check your sequence against the ones found in section 7.3.2.3 of the datasheet.

    Regards,

    Bo

  • Thanks for your response Bo. We believe we've done our due diligence on reading that part and the two quick-start guides, but we'll keep looking at it. It would help if you could help us identify whether this is a physical or protocol layer issue.

    Another item we'd like your confirmation on is whether our daisy-chain setup is permissible under the daisy-chain protocol. Please find the setup in the diagram below.

  • Zhe,

    As far as I am aware, this setup is permissible under the daisy chain protocol. If you could share the entire Saleae log, that would be most helpful. To send it in a reply you can either drag and drop the file into the response box or use the insert->image/video/file button on the bottom of the reply box. 

    Regards,

    Bo

  • Thank you for those instructions. Please find attached the Saleae logs.

    bq_debug.zip

  • Zhe,

    Could you try to not set the BQ79600 as a stack device? In these commands you set all devices as stack devices, then set the top of stack, but never remove the stack device status from the bridge:

    Additionally, if you have any other BQ79600s, could you attempt to try on other boards? This could help us confirm where the problem lies.

    Regards,

    Bo

  • Hi Bo, according to the BQ79600 datasheet, the chip does not have the register that contains the "base" vs "stack" configuration (addr 0x308). Presumably, this is because all BQ79600 devices are considered as base devices.

    Based on your feedback, we have tried the following without success:

    • Write to register 0x308 of the bridge device even though it does not seem to exist (write anyway.sal)
    • Attempt device wakeup twice before auto-addressing (wake twice.sal)
    • Wakeup and auto-address as normal, but do not write all devices when setting the stack configuration (no write all.sal)
    • Wakeup twice before auto-addressing on a second copy of the hardware (2nd board.sal)

    Thanks for your continued support.

    Zhe250902.zip

  • Hi Bo, please see my post below. Are you able to help us out more with this?