RFID RDM 630 - Checksum

Gast #2724448
Lesenswert?
• ▲
▼
Hallo,

ich kämpfe gerade mit meinem RFID Reader RDM 630 UART von 
http://iteadstudio.com.

Ich denke ich habe einen systematischen Fehler in der 
Checksummenbildung, finde ihn aber nicht. Anbei die Spec des Moduls.

Ich lese folgende Hex

e.g. received date: 02 | 30 32 30 30 34 44 42 30 30 35 | 46 43 | 03
Aufbau: start | 10 ascii characters | checksum | end specified in spec

decoded hex date | 02h 00h 4Dh B0h 05h | FCh

xor Operation on the 5 bytes, I get 02 XOR 00 XOR 4d XOR b0 XOR 05 = FAh

Vielen Dank schon einmal vorab für Eure Hilfe.

Jojo
Angehängte Dateien:
#2724465
Lesenswert?
• ▲
▼
FC kann eigentlich nicht stimmen.
Also das Beispiel aus dem Datenblatt:
1
char test[] = {0x62,0xE3,0x08,0x6C,0xED};
2
unsigned char check=0;
3
for(i = 0; i<5;i++){
4
        check ^= test[i];
5
}
ergibt bei mir genauso wie auf S.4 0x08.
1
char test[]= {0x02,0x00, 0x4D,0xB0,0x05};
ergibt bei mir ebenfalls 0xFA und nicht 0xFC;
Gast #2724785
Lesenswert?
• ▲
▼
Danke für den "Nachtest". Ich kann das Spec Beispiel ebenfalls 
nachvollziehen.
Leider klappt es mit der echten TagId und den übertragenen Checksumme 
nicht; 4 weitere Tags zeigen die "gleichen" Abweichungen.

Auffällig ist, dass sogar einmal ein 0x3b also ";" Byte als 
Checksummenbyte ankommt.

Vielleicht hat doch noch einer eine Idee wo der Checksummenfehler 
entsteht und wie ich ihn in einer Prüfung verarbeiten kann.

Danke
Jojo
Gast #2792268
Lesenswert?
• ▲
▼
Hallo jojo

Ich habe das geliche Problem. Es hat mich 5 Stunden Programmierung un 
100 Euro für einen 8-PortScanner gekostet um nachzuweisen, dass meine 
125kHz Tags auf Basis EM4100 nicht das auf dem RDM630(0) bewirken, was 
sie sollten. Nach langer Analyse des EM4100 hat sich gezeigt, dass wohl 
das RDM630 die Checksume generiert. Auf welche weise das geschiet, 
entzieht sich mangelnder Dokumentation des RDM630 meiner Kenntnissen.
Die Werte ";" und "<" hatte ich auch. Sind übrgines dann als gültig zu 
verstehen, wenn man dem Hersteller der Karte zugibt, vergessen zu haben, 
dass zwischen ASCII "9" und "A" noch weitere Werte sind. oder andersrum: 
bei 5 von 10 Karten hätte die Checksume gepasst, würde ich nur '9' 
abziehen.

Bis jetzt habe ich keine stabile Umsetzung gefunden.

Gruss,
Markus

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.