CRC-kontroll

Elektronikrelaterade (på komponentnivå) frågor och funderingar.
Användarvisningsbild
tusse
Inlägg: 1364
Blev medlem: 19 augusti 2003, 21:56:17
Ort: Järfälla

CRC-kontroll

Inlägg av tusse »

Någon som kan förklara för mig hur man räknar ut CRC koden på DS18S20, anledningen att jag frågar är att jag läst av den unika adressen på kretsen och blev nyfiken på hur sista byten ska kunna vara en kontrollbyte.
Användarvisningsbild
erixon
Inlägg: 380
Blev medlem: 27 augusti 2003, 10:21:58

Inlägg av erixon »

Tja... teorin bakom crc är ganska krånglig (tycker jag i alla fall)

men om du vill göra ett program som räknar ut crc skulle kunna se ut något så här

(sematisk cod)

Kod: Markera allt

crc en 8bitars variabel (ungsingd)

bitarin en 56bitars variabel

test en bitars variabel

Start
crc = 0

for n = 0 to 55
  test = crc(0) xor bitarin(n)
  crc = crc >> 1
  if test = 1 then
     crc = crc xor 0b00001100
  end if
end for 
edit: rätta till coden lite gran.... tips kolla på figur6 i databladet
Senast redigerad av erixon 24 november 2003, 00:14:16, redigerad totalt 1 gång.
Skriv svar