Post Go back to editing

LTC6813 Reversible isoSPI Communication

Category: Hardware
Product Number: LTC6813

I am working on a BMS project which uses secondary boards with LTC6813s in a daisy-chain configuration to monitor the cells. The system has a separate primary board with an MCU running embedded C which uses two LTC6820s to interface with the LTC6813s on the secondary boards. Each LTC6820 is connected to each end of the daisy-chain.

Communication works perfectly in the forward direction (LTC6820 --> (Port A | Port B) --> (Port A | Port B) --> LTC6820); however, when trying to communicate in the reverse direction, I can only communicate with the first LTC6813 connected to the LTC6820. The HW design includes an LED connected to some of the circuitry of the DRIVE pin which turns on when the LTC is not in SLEEP mode. I can see the LED come up for both secondary boards which means they both are receiving the wake up signal transitioning into STANDBY mode.

In software, I am sending a dummy byte for my wake up signal as it seems all I need to do is assert and deassert CSB. My initialization sequence sends two of these wake up signals which wait for t_wake and t_ready respectively (closer to 1ms each as it is bare metal, but this is nowhere close to t_sleep or t_idle, so I assume this is alright). Then I write to CFGAR and read my configuration was successful. When I read CFGAR, I am not getting data back from the second LTC6813. As I said before, this only fails when in the reverse direction, forward direction works perfectly. Is there anything else I missed? Something I need to configure to communicate in this direction?

Thank you.

Parents
  • Have you followed the recommended guidelines while designing the hardware? Since isoSPI is working in one direction i can assume that you have connected isomd to VREG and icmp and ibias pin are configured for high threshold output. 

    How many 6813s are connected in daisy chain? Are you sending sufficient wakeups for each part to get into ready state? you will need to send 1 wake up signal per IC connected in daisy chain. 

    As a debug step i can recommend you to send few more wake ups and check if it is communicating or not. 

    for HW connection have you made sure that top IC IPB and IMB pins are connected to 2nd 6820 IP IM pins? check below diargram for reference - 

    You can also refer to "Figure 24. Reversible isoSPI State Diagram" in datasheet and ensure if all steps are being followed.

  • Sorry, forgot to close this ticket, I figured it out. It is like you say, we needed to send 1 wake up signal per IC. We were using wakeup method 1 (only one wake up signal per daisy chain), but this doesn't work in reverse since the state diagram says the device will not transmit the pulse on port A when waking up from a wake up signal on port B.

Reply Children
No Data