AnsweredAssumed Answered

ADM1166 crc problem

Question asked by graham.os on Oct 27, 2015
Latest reply on Nov 2, 2015 by graham.os

Hi,

I am trying to get the ADM1166 crc working with a block read from ram register 0xA0 over the smbus.

I am issuing the following data to ADM1166 and receiving back 32 bytes + the PEC

 

set the pointer to register A0

0x68 0xA0

 

enter a block read command

0x68 0xfd 0x69

 

read the byte count

0x20

 

read the 32 bytes

0x4d 0x7b 0x67 0x40 0x5e 0x19 0x58 0xd9 0x8e 0xc6 0x7c 0x85 0x95 0x1f 0x7b 0xa3 0x70 0x4c 0x53 0x46 0x5e 0x06 0x64 0x85 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00

 

read the pec

0x74

 

From what I understand the pec is calculated on all the bytes including the block read command, byte count,32bytes data and the pec.

I am using the CRC8 protocol.

0x68 0xfd 0x69 0x20 0x4d 0x7b 0x67 0x40 0x5e 0x19 0x58 0xd9 0x8e 0xc6 0x7c 0x85 0x95 0x1f 0x7b 0xa3 0x70 0x4c 0x53 0x46 0x5e 0x06 0x64 0x85 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x74

 

The checksum result I get is always 0xEB when I am expecting 0x00.

Can anyone see where I am going wrong?


Outcomes