Forum: Mikrocontroller und Digitale Elektronik NFC tag emulieren


von Andreas R. (akwasi)


Lesenswert?

es geht um eine Umwelt Datenlogger, bei dem die Daten in ein Data-Flash 
gespeichert werden und später per NFC ausgelesen werden. Als RFID 
Frontend benutze ich einen AS3953 (14443A-Lev.4) der einem die 
Antikollisionserkennung abnimmt und für RFID Kommunikation einen FIFO 
als Daten-Link zur Verfügung stellt. Der Mikrocontroller ist ein 
ATmega16. Der Reader ist ein Android Smartphone.

Der Ansatz ist, dass der Datenlogger einen NFC Transponder emuliert.
Ich suche eine Übersicht, welche Kommandos so ein Transponder kennen 
muss.
Ich hab die ganze NDEF Format Beschreibungen durchgelesen. Aber gibt es 
irgendwo eine Beschreibung/Beispiele wie so eine Kommunikation konkret 
zwischen dem Reader und dem Transponder abläuft ?

Gruss,
Andreas

PS: ich weiss, es gibt auch andere Wege Daten zu übertragen, ich hab 
mich halt schon auf NFC festgelegt

von Patrick (Gast)


Lesenswert?

Hallo Andreas,

Guck dir mal die Spezifikation von NFCIP-1 an ("ECMA-340", kannst dir 
frei runterladen; im Gegensatz zur ISO18092). Die ECMA-340 enthält eine 
genaue Beschreibung aller Kommandos für NFC (d.h. Aktivierung und 
Datenaustausch).



lg.
Patrick

von Patrick (Gast)


Lesenswert?

Hallo nochmal,

Habe kurz in das Datenblatt des AS3953 geguckt. Der kann eh "nur" ISO 
14443-4. Das deckt dann nur NFC passiv-mode bei 106 kbit/s ab.

Die Aktivierung einer Karte bei 106 kbit/s ist auch in der ISO 14443-3A 
beschrieben; zusätzlich gibt es da auch noch jede Menge Beispiele bzw. 
App-Notes von NXP. Die Aktivierung einer Karte bei 106 kbit/s nach ISO 
14443-3A ist gleich zu NFC-passiv bei 106 kbit/s. Die Kommandos machen 
exakt das gleiche, heißt nur alles ein bisschen anders :-)

Das Transport-Protokoll ist, wie im letzten Post beschrieben, dann in 
der ECMA-340 beschrieben. Das ist dann nicht mehr kompatibel zu ISO 
14443-4 (nur noch leichte Ähnlichkeit).

Falls du noch mehr Infos brauchst - einfach bescheid sagen.

lg.
Patrick

von Andreas R. (akwasi)


Lesenswert?

Danke Patrick, das hilft mir schon mal weiter, ich schau mir jetzt mal 
die Sachen an

Gruss,
Andreas

von ./. (Gast)


Angehängte Dateien:

Lesenswert?

ST hat da ein nettes Evalkit fuer den 24S64.

Ein I2C-EEPROM mit NFC-Air-Schnittstelle.

von Andreas R. (akwasi)


Lesenswert?

ja, der 24S64 ist sicher auch eine interessante Alternative,
64K EEPROM ist aber etwas knapp, ich hab vor einen 4Mbit Flash zu 
benutzen

von Andreas R. (akwasi)


Lesenswert?

ich hab da ein Problem mit der Kommunikation mit dem NFC Reader (Android 
phone, NXP Tagwriter)

Das Android phone schickt folgende Sequenz:
0x02) // PCB header byte
0x00) // ATPDU: CLA
0xA4) // ATPDU: INS
0x04) // ATPDU: P1
0x00) // ATPDU: P2
0x07) // ATPDU: Lc  Length of data field
0xD2) // ATPDU: data byte#1
0x76) // ATPDU: data byte#2
0x00) // ATPDU: data byte#3
0x00) // ATPDU: data byte#4
0x85) // ATPDU: data byte#5
0x01) // ATPDU: data byte#6
0x01) // ATPDU: data byte#7
0x00))// ATPDU: Le

meine Antwort: 90,00

Android Phone:
NFC-FIFO: 0x00: 0x03<\n>
NFC-FIFO: 0x01: 0x00<\n>
NFC-FIFO: 0x02: 0xA4<\n>
NFC-FIFO: 0x03: 0x00<\n>
NFC-FIFO: 0x04: 0x0C<\n>
NFC-FIFO: 0x05: 0x02<\n>
NFC-FIFO: 0x06: 0xE1<\n>
NFC-FIFO: 0x07: 0x03<\n>
NFC-FIFO: 0x00: 0xB2<\n>

was erwartet das Lesegerät als Antwort ?
was bedeutet die Parameter Kombination 00,0C ?
in der ISO7816 hab ich nachgesehen, aber nicht verstanden..

von Andreas R. (akwasi)


Lesenswert?

habs herausgefunden: es erwartet wieder 90,00
mein Problem war in dem Protocol Control Byte,
ich hatte wie bei der ersten Antwort eine 0x02 gesendet,
aber anscheinend erwartet das Lesegerät jetzt eine 0x03,

ist dieses Protocol Control Byte irgendwo erklärt ?
was hat diese Block Number im bit0 zu bedeuten ?

von Altan S. (asinus)


Lesenswert?

anscheinend muss das LSB im PCB bei jeder Übertragung toggeln,
als 1-bit counter..

von Heiko B. (hbertram)


Lesenswert?

Hallo Andreas,
ich plane ein ähnliches Projekt, einen Logger für diverse Sensordaten 
(ca. 1MByte).
Der Logger soll per NFC konfigurierbar sein und sich nach Ablauf der 
Logperiode per NFC auslesen lassen.
Ganz grob denke ich an einen NXP NT3H1101 als passiven Transceiver an 
einem STM32L05.
Patrik´s obiger Hinweis auf die ECMA-340 war schon mal recht hilfreich. 
Hast Du evtl. noch Tipps für mich. Gibt´s irgendwelche Lib´s die 
hilfreich sein könnten? Auf der PC-Seite ist sicher die libNFC sinnvoll. 
Aber wie steht´s auf der Logger-Seite?

Beitrag #4937906 wurde von einem Moderator gelöscht.
Beitrag #4937907 wurde von einem Moderator gelöscht.
Beitrag #4937911 wurde von einem Moderator gelöscht.
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.