User Manual

MPU-9250 Register Map and Descriptions
Document Number: RM-MPU-9250A-00
Revision: 1.4
Release Date: 9/9/2013
BIT
NAME
FUNCTION
[6]
I2C_SLV1_BYTE_SW
1 Swap bytes when reading both the low and high byte of
a word. Note there is nothing to swap after reading the first
byte if I2C_SLV1_REG[0] = 1, or if the last byte read has a
register address lsb = 0.
For example, if I2C_SLV1_EN = 0x1, and I2C_SLV1_LENG
= 0x3 (to show swap has to do with I2C slave address not
EXT_SENS_DATA address), and if I2C_SLV1_REG = 0x1,
and I2C_SLV1_LENG = 0x4:
1) The first byte read from address 0x1 will be stored
at EXT_SENS_DATA_03 (slave 0’s data will be in
EXT_SENS_DATA_00, EXT_SENS_DATA_01, and
EXT_SENS_DATA_02),
2) the second and third bytes will be read and
swapped, so the data read from address 0x2 will be
stored at EXT_SENS_DATA_04, and the data read
from address 0x3 will be stored at
EXT_SENS_DATA_05,
3) The last byte read from address 0x4 will be stored at
EXT_SENS_DATA_06
0 no swapping occurs, bytes are written in order read.
[5]
I2C_SLV1_REG_DIS
When set, the transaction does not write a register value, it
will only read data, or write data
[4]
I2C_SLV1_GRP
External sensor data typically comes in as groups of two
bytes. This bit is used to determine if the groups are from
the slave’s register address 0 and 1, 2 and 3, etc.., or if the
groups are address 1 and 2, 3 and 4, etc..
0 indicates slave register addresses 0 and 1 are grouped
together (odd numbered register ends the group). 1
indicates slave register addresses 1 and 2 are grouped
together (even numbered register ends the group). This
allows byte swapping of registers that are grouped starting
at any address.
[3:0]
I2C_SLV1_LENG[3:0]
Number of bytes to be read from I2C slave 1
4.15 Registers 43 to 45 – I
2
C Slave 2 Control
Register 43 - I2C_SLV2_ADDR
Serial IF: R/W
23 of 55