Accessing I2C_SLV0* registers in burst mode (MPU9250/SPI)

By bpdsxhappxhr , 3 December 2014

Hi,
We are developing DMA based driver for MPU9250, and everything works perfect except part responsible for accessing magnetometer.
We are using MPU9250 connected via SPI interface and it's internal registers I2C_SLV0_ADDR/I2C_SLV0_REG/I2C_SLV0_CTRL for making connection to AK8963 magnetometer.
We have problems with burst write (3 bytes) starting from register I2C_SLV0_ADDR (0x25). It does not work, the data seems to be not transfered by internal I2C to AK8963 device.
Please see pictures below including signals registered on SPI lines.
https://copy.com/xwgfZTvEoUwOqOXv
https://copy.com/NrjUhET2vsbcz2fp
It looks like there is need of small delay (1ms is enough) between writing to I2C_SLV0_ADDR and I2C_SLV0_REG and I2C_SLV0_CTRL. Is it true?
I can't find any detailed information regarding accessing AK8963 registers. (time limits?)

Best regards
Krzysiek

phpbb Topic ID
16800