IDT I2C Interface
Revision 1.5
Integrated Device Technology, Inc.
CPS-16/12/8 User Manual
4 - 5
July 10, 2012
for (bit_Pos = 0; bit_Pos < 8; +) {
carry = crc[15];
if (bit_Pos_Mask & byte)
serial_data = 1;
else
serial_data = 0;
for (i=15; i>=0; i--) {
if (i == 15) {
crc[i] = carry ^ crc[i-1];
} else if (i == 2) {
crc[i] = carry ^ crc[i-1];
} else if (i == 0) {
crc[i] = carry ^ serial_data;
} else {
crc[i] = crc[i-1];
}
}
bit_Pos_Mask >>= 1;
}
}
for (i=15; i>=0; i--) {
remainder |= (crc[i] << i);
}
return (remainder);
}
4.3.6
Register Map Example
The following is a list of registers to be configured through an I2C EEPROM, and the I2C values required to
set those registers.
Table 4.2 Register Map Example
Register
Value
Comment
0x00015C
0x00600000
Block 1
0xE00000
0x01
Block 2
0xE00004
0x02
-
0xE00008
0x03
-
0xE0000C
0x04
-
0xE00010
0x05
-
0xE00014
0x06
-
0xE00018
0x07
-
0xE0001C
0x08
-
0x6c
0x14
Block 3