Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Generisanje checksum-a (kontrolne sume)

[es] :: Art of Programming :: Generisanje checksum-a (kontrolne sume)

[ Pregleda: 3630 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

BigFoot
Boban Jovanović
Arilje

Član broj: 1098
Poruke: 991
*.ptt.yu



+35 Profil

icon Generisanje checksum-a (kontrolne sume)02.10.2004. u 13:55 - pre 237 meseci
Zna li neko kako je generisan dole navedeni checksum? U dokumentaciji piše:

Citat:

Početak karaktera paketa se zove STX i jednak je 0x7E. Kraj karaktera paketa se zove ΕΟΜ i jednak je 0x7F. Takođe, mi definišemo karakter za izlaz ESC jednak za 0x7D. Ovi karakteri se koriste za formulisanje operacija u skladu sa HDLC/PPP (RFC 1662). Sledeći paragraf opisuje proceduru za kreiranje paketa.

KREIRANJE PAKETA
Za kreiranje paketa protokola serijske komunikacije, vršimo sledeće korake:

1. Kontrola zbira se izračuna i dodaje na podatke (HIGH BYTE prvo, onda LOW BYTE).
2. ...


Code:

 A  B  C  D  E  F  G
------------------
7E 5B 00 00 5B 5B 7F
7E 5B 01 00 5B 5C 7F
7E 5B 02 00 5B 5D 7F
7E 5B 03 00 5B 5E 7F
...
7E 5B FF 00 5B 5A 7F

**************

7E 5B 00 01 5C 5C 7F
7E 5B 01 01 5A 5D 7F
7E 5B 02 01 58 5E 7F
7E 5B 03 01 5A 5F 7F
7E 5B 04 01 64 60 7F <-
7E 5B 05 01 5A 61 7F
7E 5B 06 01 58 62 7F
7E 5B 07 01 5A 63 7F

7E 5B 08 01 5C 64 7F
7E 5B 09 01 5A 65 7F
7E 5B 0A 01 58 66 7F
7E 5B 0B 01 5A 67 7F
7E 5B 0C 01 54 68 7F <-
7E 5B 0D 01 5A 69 7F
7E 5B 0E 01 58 6A 7F
7E 5B 0F 01 5A 6B 7F

**************

7E 5B 00 02 5D 5D 7F
7E 5B 01 02 59 5E 7F
7E 5B 02 02 59 5F 7F
7E 5B 03 02 65 60 7F
7E 5B 04 02 65 61 7F
7E 5B 05 02 59 62 7F
7E 5B 06 02 59 63 7F
7E 5B 07 02 5D 64 7F

7E 5B 08 02 5D 65 7F
7E 5B 09 02 59 66 7F
7E 5B 0A 02 59 67 7F
7E 5B 0B 02 55 68 7F
7E 5B 0C 02 55 69 7F
7E 5B 0D 02 59 6A 7F
7E 5B 0E 02 59 6B 7F
7E 5B 0F 02 5D 6C 7F


Vrednosti A i G su STX i EOM (okvir paketa). Vrednosti B, C i D su podaci, a E i F traženi checksum, pri čemu je F suma po modulu 256 podataka. Pitanje je kako se dobija E vrednost?
Two beer or not two beer...
 
Odgovor na temu

Gojko Vujovic
Amsterdam, NL

Administrator
Član broj: 1
Poruke: 13651



+165 Profil

icon Re: Generisanje checksum-a (kontrolne sume)02.10.2004. u 18:41 - pre 237 meseci
http://www.faqs.org/rfcs/rfc1662.html

Ceo odeljak C na pomenutom linku (C, C.2. i C.3.).
 
Odgovor na temu

BigFoot
Boban Jovanović
Arilje

Član broj: 1098
Poruke: 991
*.ptt.yu



+35 Profil

icon Re: Generisanje checksum-a (kontrolne sume)02.10.2004. u 22:24 - pre 237 meseci
Citat:
Gojko Vujovichttp://www.faqs.org/rfcs/rfc1662.html

Ceo odeljak C na pomenutom linku (C, C.2. i C.3.).

Nažalost izgleda da nije to. Već sam probao pomenuti CRC-16 algoritam, ali checksum-i koje treba da dobijem su suviše pravilni da bi bili CRC. Evo još jednog dužeg primera:
Code:

7E 5C 00 00 52 41 5A 4E 4F 00 00 00 00 00 00 00 00 00 00 00 41 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 E4 27 7F


0x7E i 0x7F su okvir poruke. Checksum bajtovi su 0xE4 i 0x27 (na kraju). Kako njih dobiti?
Two beer or not two beer...
 
Odgovor na temu

[es] :: Art of Programming :: Generisanje checksum-a (kontrolne sume)

[ Pregleda: 3630 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.