2025-07-10 1:19 PM - edited 2025-07-10 1:28 PM
We're looking to use the lsm6dsv320x in our product. I'm using this senser on the on the STEVAL-MKI247A adapter board for testing. We're currently in development using the adapter board with the Nordic nRF52840DK board. I'm having issues with getting the correct value from the WHO_AM_I with certain SPI pin configurations on the nRF52840DK. I can only get one SPI configuration to output the correct value of 0x73 which is SPI1. If I try change the pins or use one of the other SPI's available on the 52840, I consistently get a value of 0x64. Does that value mean anything to anyone? I've tried lowering the frequency to 500kHz, tried all four of SPI modes, I've tried performing a reset using the FUNC_CFG_ACCESS and CTRL3 registers before reading the WHO_AM_I register, but I still get the value of 0x64 except with the one configuration mentioned. I'm using the ST fsm_example for this test. We would like to change the SPI pins as the we want to use the smaller package of the nRF52840 which doesn't have some of the default pins for this SPI! bus. I've looked at the waveforms on an analyzer and there seems to be plenty of setup and hold with the address and data. Any significance to the value of 0x64?
2025-07-10 8:35 PM - edited 2025-07-10 8:36 PM
You're reading register address 0x8F. The WHO_AM_I register is register address 0x0F.
2025-07-11 10:37 AM
2025-07-11 10:50 AM - edited 2025-07-11 10:51 AM
@fk wrote:I've looked at the waveforms on an analyzer
Does it show any difference between "working" and "non-working" cases?
PS:
Check also with an oscilloscope for any issues in the analogue domain.
Have you checked carefully that the Nordic DK doesn't have anything attached to the "non-working" pins?
2025-07-11 2:27 PM
The difference between the waveforms is that it accurately shows the data value that is being received by the 52840. 0x64 which is the incorrect value and 0x73 which is the correct value. So, the waveforms are accurately showing the incorrect/correct data being produced by the lsm6dsv320x.
2025-07-11 2:57 PM - edited 2025-07-11 2:57 PM
How confident are you that it's a lsm6dsv320x chip? Does the marking on top match up? Apart from the WHO_AM_I register, does the chip behave as expected? Could just be a bad datasheet value.
It looks like the STEVAL-MKI247A board comes with a different chip (LSM6DSV80X). You replaced it with this one?
STEVAL-MKI247A - LSM6DSV80X adapter board for a standard DIL24 socket - STMicroelectronics
Doubt any of that solves it, but I'm out of ideas.
2025-07-11 3:18 PM
Thanks for trying but yes, I have tried another module with the same result. On the 528140, the module works in one pin configuration, but not in the other pin configurations. It also works as expected using another Nordic kit, the nRF54L15. So, it seems to be something with the 54840, but I have no idea why the sensor puts out this incorrect value while the communication looks clean.