M24LR64-RDW6T2 STMICROELECTRONICS [STMicroelectronics], M24LR64-RDW6T2 Datasheet - Page 124

no-image

M24LR64-RDW6T2

Manufacturer Part Number
M24LR64-RDW6T2
Description
64 Kbit EEPROM with password protection & dual interface
Manufacturer
STMICROELECTRONICS [STMicroelectronics]
Datasheet
CRC (informative)
Appendix B
B.1
B.2
124/128
CRC error detection method
The cyclic redundancy check (CRC) is calculated on all data contained in a message, from
the start of the flags through to the end of Data. The CRC is used from VCD to M24LR64-R
and from M24LR64-R to VCD.
Table 113. CRC definition
To add extra protection against shifting errors, a further transformation on the calculated
CRC is made. The One’s Complement of the calculated CRC is the value attached to the
message for transmission.
To check received messages the 2 CRC bytes are often also included in the re-calculation,
for ease of use. In this case, the expected value for the generated CRC is the residue
F0B8h.
CRC calculation example
This example in C language illustrates one method of calculating the CRC on a given set of
bytes comprising a message.
C-example to calculate or check the CRC16 according to ISO/IEC 13239
#define
#define
#define
#define
#define
#define
void main()
{
4, 0x91, 0x39};
// calculate_or_check_crc = CHECK_CRC;// This could be an other
example
ISO/IEC 13239
unsigned char array_of_databytes[NUMBER_OF_BYTES + 2] = {1, 2, 3,
unsigned int
int
int
int
calculate_or_check_crc = CALC_CRC;
if (calculate_or_check_crc == CALC_CRC)
{
CRC type
POLYNOMIAL0x8408//
PRESET_VALUE0xFFFF
CHECK_VALUE0xF0B8
NUMBER_OF_BYTES4// Example: 4 data bytes
CALC_CRC1
CHECK_CRC0
CRC (informative)
Length
16 bits
current_crc_value;
number_of_databytes = NUMBER_OF_BYTES;
calculate_or_check_crc;
i, j;
X
Doc ID 15170 Rev 10
16
+ X
12
Polynomial
+ X
CRC definition
x^16 + x^12 + x^5 + 1
5
+ 1 = 8408h
Direction
Backward
Preset
FFFFh
M24LR64-R
Residue
F0B8h

Related parts for M24LR64-RDW6T2