MPU-6000/MPU-6050 Register Map and
Descriptions
Document Number: RM-MPU-6000A-00
Revision: 4.2
Release Date: 08/19/2013
20 of 46
I2C_SLV0_GRP specifies the grouping order of word pairs received from registers. When cleared to
0, bytes from register addresses 0 and 1, 2 and 3, etc (even, then odd register addresses) are paired
to form a word. When set to 1, bytes from register addresses are paired 1 and 2, 3 and 4, etc. (odd,
then even register addresses) are paired to form a word.
I2C data transactions are performed at the Sample Rate, as defined in Register 25. The user is
responsible for ensuring that I2C data transactions to and from each enabled Slave can be
completed within a single period of the Sample Rate.
The I2C slave access rate can be reduced relative to the Sample Rate. This reduced access rate is
determined by I2C_MST_DLY (Register 52). Whether a slave’s access rate is reduced relative to the
Sample Rate is determined by I2C_MST_DELAY_CTRL (Register 103).
The processing order for the slaves is fixed. The sequence followed for processing the slaves is
Slave 0, Slave 1, Slave 2, Slave 3 and Slave 4. If a particular Slave is disabled it will be skipped.
Each slave can either be accessed at the sample rate or at a reduced sample rate. In a case where
some slaves are accessed at the Sample Rate and some slaves are accessed at the reduced rate,
the sequence of accessing the slaves (Slave 0 to Slave 4) is still followed. However, the reduced rate
slaves will be skipped if their access rate dictates that they should not be accessed during that
particular cycle. For further information regarding the reduced access rate, please refer to Register
52. Whether a slave is accessed at the Sample Rate or at the reduced rate is determined by the
Delay Enable bits in Register 103.
Parameters:
I2C_SLV0_RW When set to 1, this bit configures the data transfer as a read operation.
When cleared to 0, this bit configures the data transfer as a write operation.
I2C_SLV0_ADDR 7-bit I2C address of Slave 0.
I2C_SLV0_REG 8-bit address of the Slave 0 register to/from which data transfer starts.
I2C_SLV0_EN When set to 1, this bit enables Slave 0 for data transfer operations.
When cleared to 0, this bit disables Slave 0 from data transfer operations.
I2C_SLV0_BYTE_SW When set to 1, this bit enables byte swapping. When byte swapping is
enabled, the high and low bytes of a word pair are swapped. Please refer to
I2C_SLV0_GRP for the pairing convention of the word pairs.
When cleared to 0, bytes transferred to and from Slave 0 will be written to
EXT_SENS_DATA registers in the order they were transferred.
I2C_SLV0_REG_DIS When set to 1, the transaction will read or write data only.
When cleared to 0, the transaction will write a register address prior to
reading or writing data.
I2C_SLV0_GRP 1-bit value specifying the grouping order of word pairs received from
registers. When cleared to 0, bytes from register addresses 0 and 1, 2 and
3, etc (even, then odd register addresses) are paired to form a word. When
set to 1, bytes from register addresses are paired 1 and 2, 3 and 4, etc.
(odd, then even register addresses) are paired to form a word.
I2C_SLV0_LEN 4-bit unsigned value. Specifies the number of bytes transferred to and from
Slave 0.
Clearing this bit to 0 is equivalent to disabling the register by writing 0 to
I2C_SLV0_EN.