Forum: Mikrocontroller und Digitale Elektronik RFID (Pollin) & Em4102 tags, Parity?


von Ehrhardt B. (ehbal)


Angehängte Dateien:

Lesenswert?

Frohe Osterfesttage zusammen.

Ich habe seit längerer Zeit die Pollin-RFID-Hardware und EM4102 
Schlüsselkeys liegen. Bisher sind alle Leseversuche der Keys an 
fehlerhaften Parity-Bits gescheitert (originale und auch bekannte C & 
Assemblersourcen). Um ein wenig zu spielen und weil ich mich damit 
beschäftigen wollte, habe ich die einfache State-Mashine mal in Luna 
umgesetzt.

Soweit so gut. Synchronisierung ok, Header erkannt, Datenbits gelesen.
Auf dem angehängten Bild "rfid-out" ist zu sehen, dass die Parity-Bits 
z.T. nicht stimmen. Laut Datenblatt der EM4102 tags kommen nach den 9 
Headerbits jeweils 4 Datenbits und ein Parity-bit, welches high sein 
sollte.

Mir ist es leider bisher nicht gelungen einen Key zu lesen, bei welchem 
alle Parity-Bits valid sind. Erstaunlicherweise sind die Datenbytes 
selbst soweit wohl korrekt, wenn man dem Aufdruck auf den 
Schlüsselanhängern glauben schenken darf. Die Customer-ID, also das 
erste Byte des Datenstroms nach dem Header ist bei allen mir 
vorliegenden Schlüsseln gleich, jedoch fehlen Vergleichswerte.

Dazu muss man sagen das die Pollin-Hardware und die damals mitgelieferte 
Spule nicht wirklich zusammenpassten. Es mussten 12 Windungen abgenommen 
werden und es wurde ein 330 Ohm Widerstand in Reihe geschalten, bis das 
Signal sauber war und kein Radio Moskau zu empfangen war. Mangels 
Induktivitätsmessgerät kann ich hier jedoch leider nur raten.

Habe ich etwas übersehen oder ist meine Umsetzung der State-Maschine 
falsch? Liegt es möglicherweise an der Hardware?

Mit bestem Ostergruß, Ehrhardt

von Erfid (Gast)


Lesenswert?

Ehrhardt Balstein schrieb:
> Laut Datenblatt der EM4102 tags kommen nach den 9
> Headerbits jeweils 4 Datenbits und ein Parity-bit, welches high sein
> sollte.

Wieso sollte das folgende Paritybit high sein? Dessen Zustand hängt doch 
vom vorherigen Daten-Nibble ab.

Vermutlich empfängt die Hardware so schlecht, dass entweder Datenbits 
oder eines der Paritybits falsch eingelesen werden und somit der 
Parity-Check fehlschlägt.

von Bond (Gast)


Lesenswert?

Tippe auch auf besch**** Empfangs-HW, wenn das mit dem
Parity nicht stimmt.
Aus Versuchen in grauer Vorzeit mit 125kHz-Teilen von
EM, mit EM-Original Sende-Empfangschip weiß ich daß
hier der Knackpunkt sein wird.
Schaue auch mal nach der Parity-Erzeugung, ist im
Datenblatt beschrieben. Das Parity-Bit hängt vom
Datenbyte ab.

Wenn Du einen Oszi hast schau Dir mal das "Antennen-Signal"
an, wenn hier schon "Schrott" vorhanden ist, wird es mit
der Dekodierung problematisch. Man kann aus der Absenkung der
Amplitude (durch den RF-ID-Baustein) schon einiges sehen.
Wenn, wie Du schreibst die HW nicht gepaßt hat, ist die
Fehlerursache dort zu suchen.

von Erfid (Gast)


Lesenswert?

Bond schrieb:
> Wenn Du einen Oszi hast schau Dir mal das "Antennen-Signal"
> an

siehe Abbildung oben: da kommt nach den 9 Startbits als erstes Nibble 
eine 1000, gefolgt vom Paritybit 0, was aber 1 sein müsste.
Dann folgt 0001 mit dem Paritybit 0 was ebenfalls eine 1 sein müsste 
usw...

D.h. laut Oszilloskopbild kommen schon fehlerhafte Daten aus dem U2270.
Also wahrscheinlich Antennenfehler (Schwingkreis falsch abgestimmt).

von Bond (Gast)


Lesenswert?

Mit dem Atmel-chip hatte damals nicht gearbeitet,
jedoch mit dem EM4095, das ist das Front-End-Teil, das bei
www.emmicroelectronic.com hergestellt wird.
Im Datanblatt sind auch einige Oszillogramme direkt
an der Antennenspule! gemessen.
emmicroelectronic ist der Hersteller deiner RFID-Chips.


Auch wenn die in der französischsprachigen Schweiz sitzen,
man spricht außer frpnzösisch auch deutsch und englisch.
Eine freundliche Anfrage wird in der Regel hilfsbereit beantwortet.

von Ehrhardt B. (ehbal)


Lesenswert?

Hallo Erfid/Bond,

danke für eure Ideen/Tips.

Habe mir nun die Signale direkt an Spule und parallel zusätzlich auch 
nochmal am Output angesehen: Ohne Vorwiderstand und Originalspule ist 
Radio Moskau frei empfangbar. Selbst wenn kein Key in der Spule liegt 
werden hier lustige Ausgangssignale vom U2270B erzeugt.

Die modifizierte Spule mit Vorwiderstand ist "sauber". Will heißen ohne 
Key keine Signale, mit Key normaler Output. Der Hinweis bezüglich der 
Parity-Bits in Abhängigkeit der vorhergehenden Nibble-Werte führt mich 
gleich nochmal dazu das Datenblatt zu den Keys/Tags zu studieren.

Über diese Pollin-Hardware liest man ja desöfteren "geht nicht". 
Zumindest habe ich gegenüber der Originalsoftware den Erfolg überhaupt 
Ergebnisse zu sehen. Mit der Bascom-Software lässt sich auch nichts 
anfangen, da 1. Bascom und 2. ein alleinstehender Befehl dessen interne 
Arbeitsweise sich im Code nicht nachvollziehen und ändern lässt.

Gruß, Ehrhardt

von Ehrhardt B. (ehbal)


Angehängte Dateien:

Lesenswert?

Nachtrag:

Ich hatte tatsächlich Zweifel ob die Synchronisierung ordnungsgemäß ist, 
aber sie ist es (siehe Oszillogramm).

von Ehrhardt B. (ehbal)


Angehängte Dateien:

Lesenswert?

So, einen Dank für den Denkanstoß!

Die Parity-Bits sind in Empfangsrichtung je Nibble eine XOR-Verknüpfung. 
D.h. Die Hardware und auch die Software ist in Ordnung, nur das Hirn 
spielte nicht mit.

Im Anhang noch der passende Quelltext mit eingepflegter Parity-Prüfung 
und optionaler Hex-Ausgabe der Tags.
Hinweis dazu: ich nutze die Hardware noch für andere Spielereien und 
habe einen 16 Mhz-Quarz verbaut. Für den original 8 Mhz-Quarz einfach 
die Konstante F_CPU entsprechend anpassen.

Ich habe den Quelltext als Beispiel an die Luna-AVR-Heimseite 
(http://avr.myluna.de) weitergegeben, falls sich jemand noch um die 
LCD-Einbindung kümmern will. Ohne Ausgaberoutinen belegt diese 
RFID-Dekodierungsroutine 866 Bytes (ca. 40%), also noch ausreichend 
Platz auf dem Attiny2313.

Schöne Ostern!
Ehrhardt

von Harald (Gast)


Angehängte Dateien:

Lesenswert?

Moin Ehrhardt,

danke für den RFID-Reader, geht prima!

habe die Lcd-Ansteuerung eingebaut und gleichzeitig noch zwei kleine 
Fehler im Compiler gefunden. Gestern mitgeteilt, heute wurde es schon 
von Richard behoben.

Harald

von kwell (Gast)


Lesenswert?

Würdest Du den Quelltext bitte hier posten? Myluna zeigt nichts an.

von Harald (Gast)


Lesenswert?

kwell schrieb:
> Würdest Du den Quelltext bitte hier posten? Myluna zeigt nichts an.

siehe einen Beitrag darüber "rfid-lcd.luna"
auf der Webseite ist er unter Beispiel-Sourcen zu finden:

http://avr.myluna.de/doku.php?id=de:beispiel-sourcen

Harald

von Mirko (Gast)


Lesenswert?

super, funktioniert einwandfrei!

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.