Forum: Mikrocontroller und Digitale Elektronik Ein paar Fragen zum EM4102 Transponder


von Thomas B. (escamoteur)


Lesenswert?

Hi,

ich versuche gerade meinen eigenen RFID-Leser mit dem MLX90109 von 
Melexis zum laufen zu bringen.

Als Testtranponder habe ich hier EM4102 Karten von Pollin.

Dem MLX90109 kann man sagen, ob er die rohen Transponderdaten oder 
bereits Manchester oder Biphase dekodiert ausgeben soll.

Wenn ich den Datenausgang des MLX mit meinem LA betrachte, so erkenne 
ich in beiden dekodiermodi (Biphase als auch Manchester) sich 
wiederholende 8 Byte Sequenzen. Allerdings haben diese überhaupt nichts 
gemein mit den Seriennummern die auf den Karten aufgedruckt sind.

Weiß einer von euch, ob die Pollin Transponder in Manchester oder 
Biphase übertragen?

Wenn ich es richtig verstanden habe, so sendet der EM4102 seine ID 
kontinuierlich aus. Woran erkenne ich den Start der ID? Bei den Karten 
die ich hier habe beginnen die Sequencen immer gleich mit 00,02,A4,CA, 
ab da ändern sie sich dann. Aber woran erkenne ich den Anfang wenn ich 
eine fremde Karte lesen will?

Gruß
Tom

von Marcel B. (mcb)


Angehängte Dateien:

Lesenswert?

Zum Dekodieren benutze ich den Pollin RFID-Empfänger mit U2270B und der 
Software aus dem Forum.

> Allerdings haben diese überhaupt nichts
> gemein mit den Seriennummern die auf den Karten aufgedruckt sind.
Auf meinem Tag steht z.B. 0005284246
Ausgegeben wird dann 430050A196
Wandelt man die Seriennummer in eine Hex-Zahl um, so ergibt diese 
50A196.
==> Die Seriennummer, die auf dem Tag aufgedruckt ist, ist dezimal 
dargestellt.

> Weiß einer von euch, ob die Pollin Transponder in Manchester oder
> Biphase übertragen?
Pollin macht dazu leider keine Angaben.

> Woran erkenne ich den Start der ID?
Im Datenblatt des EM4102 kannst du auf Seite 4 unter "Memory Array for 
Manchester & Bi-Phase encording ICs" herauslesen, dass der EM4102 zuerst 
9 header bits sendet, die alle logisch "1" sind. Darauf kommen 20 Zeilen 
mit je vier Datenbits und einem row parity bit. Am Schluss kommen vier 
column parity bits und das stop bit, das immer logisch "0" ist.

> Bei den Karten
> die ich hier habe beginnen die Sequencen immer gleich mit 00,02,A4,CA,
> ab da ändern sie sich dann.
00,02,A4,CA umgewandelt in eine Binär-Zahl ergibt 0010 1010 0100 1100 
1010.
Schaut man sich nun wieder die Tabelle auf Seite 4 an, so sieht man, 
dass das die ersten 8 Bits nach den header bits die "Kundennummer" ist. 
Nach jeweils 4 Bits folgt ein parity bit. Ordnet man nun die obige 
Binär-Zahl so an, dass sie in das Schema der Tabelle passt, erhält man 
00101 01001 00 110 01010. Die ersten beiden Blöcke werden also die 
"Kundennummer" sein. Daraus kann man jetzt folgern, dass das parity bit 
immer "1" ist, wenn die vorherigen 4 bits gerade waren, und immer "0" 
ist, wenn die vorherigen 4 bits ungerade waren.
==> Die Kundennummern deiner Tags sind deshalb gleich, weil sie alle vom 
gleichen Hersteller stammen. Zufällig ist dann das nächste Byte bei 
allen "CA" also 1100 1010. Da jeder EM4102 eine weltweit einzigartige 
Kombination hat, müssen die darauffolgenden unterschiedlich sein.

> Aber woran erkenne ich den Anfang wenn ich
> eine fremde Karte lesen will?
Wie gesagt: An den 9 header bits.

von Thomas B. (escamoteur)


Lesenswert?

Vielen Dank ich hatte das den Abschnitt Speicheraufteilung im Datenblatt 
erst nicht so verstanden, dass das genau das ist, was der Transponder 
aussendet. In der Zwischenzeit läuft es prima.

Gruß
Tom

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.