Forum: Mikrocontroller und Digitale Elektronik RFID Lesezyklus


von Marco (Gast)


Lesenswert?

Hallo Leute. Ich habe noch ein Verständnisproblem mit dem RFID Tag und
dem Lesen eines solchen. Woher weiß der Microcontroller, wann das
übertragene Paket beginnt und endet? Bei DCF 77 ist es ja die lange
"Stille" bei der 59ten Sekunde. Aber der Tag kommt doch in das
RF-Feld und beginnt zu senden. Macht der das genau einmal, oder
mehrmals mit einer bestimmten Bitfolge als Referenz? Irgendwie bin ich
aus den bis jetzt gefundenen Dokumenten noch nicht wirklich schlau
geworden. Ich such zwar weiter, aber Rückendeckug von euch wäre super.
Danke.

von Günther S. (guenther)


Lesenswert?

Hi Marco,

Das kann man nicht so genau sagen. Es gibt RFID-Tags, die lediglich ein
bit senden ("bin da", wie bei Diebstahlschutz), dann gibt es welche
die senden richtig Daten.

Mal so zur kurzen Info:

http://www.rfid-handbook.de/german/chipkarten.html

Üblicherweise haben die Tags ne Adresse, über die der Master abfragt.
Da gibt es dann Kollisionsdetektion und -vermeidung. Dann liefern sie
dem Master die angeforderten Daten. Wie sie das machen hängt nun wieder
davon ab, welche Kodierung eingesetzt wird.

Du siehst: schwierig zu sagen.

Günther

von Marco (Gast)


Lesenswert?

Ich habe mir das Datenblatt vom EM4102 Glastag angeschaut und denke mal,
dass ich dass ganze so zu verstehen habe, dass am Anfang 9 Bits "1"
sind und das letzte Bit 0. Insgesammt sind es 64 manchestercodierte
Bits.... ich werde es herrausfinden :-). Sollte ich was erreichen,
werde ich es hier vielleicht noch reinstellen... bei Interesse.

von Jörg S. (Gast)


Lesenswert?

Hab diese Woche ne Low-Level Routine für den EM4102 geschrieben :)
Leider für die Firma, somit kann ich es nicht veröffentlichen, aber der
EM4102 ist recht einfach.

Wie do schon gemerkt hast, kommt vor den 9 Header Bits ne 0. Somit
schaust du einfach mit einem Timer nach ob das Eingangssignal länger
als 256µS lang gleich bleibt (das bedeutet das ein logischer
Pegelwechsel stattgefunden hat). Folgen auf diesen "Trigger" 18
Pegelwechsel (jeweils <=256µS), ist der Header gefunden.

von TravelRec. (Gast)


Lesenswert?

Oder Du fragst in der Manchesterroutine einfach auf 9 Einsen ab, danach
kommen dann die gültigen Daten. Das ist zuverlässiger, als direkt auf
eine reine Zeitspanne abzufragen, da sich die Breite der Bits je nach
Entfernung zu Antennenspule und der Stärke des induzierten Feldes
leicht ändern können (Erfahrung).

von Jörg S. (Gast)


Lesenswert?

Irgendwo muss man aber ne Zeit abfragen. Man muss ja erkenne ob ein
kurzer Wechsel kommt (logisch 0 folgt auf 0 bzw. 1 folg auf 1) oder
eine lange Impulsdauer kommt (logisch 0 folgt auf 1 bzw. 1 folgt auf
0). Das muss ja nicht 100%ig sein. Es muss halt ein "Fenster
"getroffen" werden.

von TravelRec. (Gast)


Lesenswert?

Jörg, das ist richtig - wie sonst willst Du die Manchesterdekodierung
machen? Tip: programmiere einen Timer so, daß er Dir ein Fenster
schafft, daß etwa 90% bis 110% des kurzen Pegelwechsels beträgt. Paßt
Dein empfangener Bitstrom da hinein, ist alles okay, wenn nicht, kommen
eh nur Fehler oder Dein Transponder ist bereits außer Reichweite.

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.