ICM-20690
12.21 REGISTER 38 – I2C SLAVE 0 REGISTER ADDRESS
Register Name: I2C_SLV0_REG
Register Type: READ/WRITE
Register Address: 38 (Decimal); 26 (Hex)
BIT
[7:0]
NAME
I2C_SLV0_REG
FUNCTION
I2C slave 0 register address from where to begin data transfer
12.22 REGISTER 39 – I2C SLAVE 0 CONTROL
Register Name: I2C_SLV0_CTRL
Register Type: READ/WRITE
Register Address: 39 (Decimal); 27 (Hex)
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 I2C
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]
[4]
I2C_SLV0_REG_DIS
I2C_SLV0_GRP
When set, the transaction does not write a register value, it will only read data, or
write data
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
Number of bytes to be read from I2C slave 0
12.23 REGISTER 40 – I2C SLAVE 1 PHYSICAL ADDRESS
Register Name: I2C_SLV1_ADDR
Register Type: READ/WRITE
Register Address: 40 (Decimal); 28 (Hex)
BIT
[7]
NAME
FUNCTION
1 – Transfer is a read
0 – Transfer is a write
Physical address of I2C slave 1
I2C_SLV1_RNW
I2C_ID_1
[6:0]
Page 53 of 76
Document Number: DS-000178
Revision: 1.0