Welche art Prüfsumme wird hier verwendet ?

Gast #5017844
Lesenswert?

Hallo Zusammen,

mir ist da etwas merkwürdiges über den Weg gelaufen was mich nicht mehr 
einschlafen lässt.

Ich belausche einen I2C Bus bei dem immer ein bestimmtes "Register" 
abgefragt wird.
Das Register besteht aus drei Byte, D1, D2 und D3.
D2 ist immer 0xFF, in D3 wird der Zustand im Klartext übermittelt.

D1 scheint eine Prüfsumme zu enthalten den D3 korreliert mit der 
Anzeige.

Interessant wird es wenn man D1 und D3 addiert.
Es gibt nur vier unterschiedliche Summen :
- 99
- 227
- 355
- 483

Gruppiert man nach den Summen erkennt man schnell das die Elemente von 
D1 gleich D3 sind und in so einer Beziehung stehen :
1
D1 - D3 - Summe
2
1  - 4  -  5
3
2  - 3  -  5
4
3  - 2  -  5
5
4  - 1  -  5

Wie nennt sich diese Prüfsumme bzw wie finde ich eine allgemeingültige 
Rechenvorschrift die alle vier Sonderfälle abdeckt ?
Ich kann mir nicht vorstellen das man vier Sonderfälle Programmiert.
Vermutlich sollen die Blöcke das ganze noch robuster machen.

Nach dem Prinzip :

Ich habe auch versucht mit Modulo, XOR und BitShift da ranzugehen habe 
aber keinen zusammenhang gesehen...
Angehängte Dateien:
Gast #5018485
Lesenswert?

Quasi :

99= (d1 + d3) mod 128

Dann bekomme ich ein ernsthaftes Problem beim umstellen.
Denn die umkehrung von mod 128... Dürfte wegen der unendlich vielen 
lösung unbestimmt sein.

Weiss jemand wie das verfahren dazu heisst ?
Beitrag #5018728 wurde von einem Moderator gelöscht.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren