Tool/software:
Hello,
I'm working with a BQ79656-based daisy chain in a Ring architecture using an STM32F105VCT7 microcontroller. Forward communication (DIR_SEL = 0) works well. However, when I attempt to switch to reverse communication (DIR_SEL = 1), I am unable to get any response from the stack.
Forward Communication
-
Send WAKE tone.
-
Broadcast CONTROL1 (0x0309) with ADDR_WR = 1 (0x01).
-
Broadcast DIR0_ADDR sequentially (0x0306) for all boards.
-
Broadcast COMM_CTRL (0x0308) = 0x02 to set all as stack devices.
-
Single write to COMM_CTRL = 0x03 for the top-of-stack device.
Reverse Communication
-
Single device write to base device CONTROL1 (0x0309) = 0x80 (DIR_SEL = 1).
-
Broadcast write reverse to COMM_CTRL (0x0308) = 0x00 to clear stack settings.
-
Broadcast write reverse to CONTROL1 = 0x80 (DIR_SEL = 1) for all devices.
-
Broadcast write reverse to CONTROL1 = 0x81 (ADDR_WR = 1 | DIR_SEL = 1).
-
Broadcast DIR1_ADDR (0x0307) sequentially for all devices.
-
Broadcast COMM_CTRL = 0x02.
-
Single write to COMM_CTRL = 0x03 to mark the new ToS
Is there anything I’m missing?
Thank you!