Data Sheet
ICM-20948
Document Number: DS-000189 Page 70 of 89
Revision: 1.3
11.6 I2C_SLV0_CTRL
Name: I2C_SLV0_CTRL
Address: 5 (05h)
Type: USR3
Bank: 3
Serial IF: R/W
Reset Value: 0x00
BIT
NAME
FUNCTION
7
I2C_SLV0_EN
1 – Enable reading data from this slave at the sample rate and storing data at the first
available EXT_SENS_DATA register, which is always EXT_SENS_DATA_00 for I
2
C slave 0.
0 – Function is disabled for this slave.
6
I2C_SLV0_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_SLV0_REG[0] = 1, or if the last byte
read has a register address lsb = 0.
For example, if I2C_SLV0_REG = 0x1, and I2C_SLV0_LENG = 0x4:
1) The first byte read from address 0x1 will be stored at EXT_SENS_DATA_00,
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_02, and the data read from address 0x3 will be
stored at EXT_SENS_DATA_01,
3) The last byte read from address 0x4 will be stored at EXT_SENS_DATA_03.
0 – No swapping occurs; bytes are written in order read.
5
I2C_SLV0_REG_DIS
When set, the transaction does not write a register value, it will only read data, or write
data.
4
I2C_SLV0_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_SLV0_LENG[3:0]
Number of bytes to be read from I
2
C slave 0.
11.7 I2C_SLV0_DO
Name: I2C_SLV0_DO
Address: 6 (06h)
Type: USR3
Bank: 3
Serial IF: R/W
Reset Value: 0x00
BIT NAME FUNCTION
7:0
I2C_SLV0_DO[7:0]
Data out when slave 0 is set to write.
11.8 I2C_SLV1_ADDR
Name: I2C_SLV1_ADDR
Address: 7 (07h)
Type: USR3
Bank: 3
Serial IF: R/W
Reset Value: 0x00
BIT
NAME
FUNCTION
7
I2C_SLV1_RNW
1 – Transfer is a read.
0 – Transfer is a write.
6:0
I2C_ID_1[6:0]
Physical address of I
2
C slave 1.