cancel
Showing results for 
Search instead for 
Did you mean: 

ISM330 Not Responding on SPI to STM32G0B1CE

jbendes
Associate

Hello,

I'm trying to setup communication over SPI between an STM32G0B1CE and an ISM330 but am unable to get responses from the ISM330 despite a logic analyzer showing good bus signals.

Below is a successful transaction performed with an arduino as the host and the ISM330 as the slave. Note that we are reading the 0x0F register and are seeing a response of 0x6B. Note that a read requires a 1 for the first r/w bit and therefore shows as 0x8F.

Screenshot 2024-07-02 at 2.53.40 PM.png

This response is what we would expect to see when we replace the arduino with the STM32. However when replaced with the STM32, the logic analyzer shows the following:

Screenshot 2024-07-02 at 2.56.33 PM.png

We cannot figure out what the meaningful difference between these 2 captures is that would cause this response from the chip. Additionally when we force a slight pause in between the two 8 bit parts of the transaction to mimic the arduino waveform, we see the same response (and sometimes we see absolutely no response at all).

Are there certain timing requirements of SPI that we're not adhering to? Are there any other explanations anyone can think of that would cause this?

Thanks in advance for the help!

1 REPLY 1
jbendes
Associate

We figured this out - it wound up being that if you ever write/read to address 0 in the ism330, it does not respond to future requests