Forum: Mikrocontroller und Digitale Elektronik Probleme mit PN512


von Daniel B. (daniel00)


Lesenswert?

Hallo Zusammen,

ich habe irgendwie ein kleines Problem beim Arbeiten mit dem NXP PN512.

Es ist ein RFID Reader/Writer Chip, mit dem ich vergeblich versuche 
meine TAG's zu lesen und zu beschreiben. Vorerst habe ich hier die 
original Tag's von NXP und versuche die MIFARE Ultralight zu lesen und 
zu beschreiben.

Folgendes habe ich schon Probiert:

NFC_executeCommand(CMD_SOFTRESET);
NFC_setRegister(0x0C, 0x10); // ControlReg - PN512 acts as initiator
NFC_setRegister(0x14, 0x83); // TxControlReg - InvTx2On=1, Tx2RFEn, 
Tx1RFEn
NFC_setRegister(0x15, 0x77); // TxASKReg - Force100ASK
NFC_setRegister(0x18, 0x75); // RxThresholdReg - MinLevel, CollLevel
NFC_setRegister(0x19, 0x4D); // DemodReg
NFC_setRegister(0x24, 0x26); // ModwidthReg - Modwidth
NFC_setRegister(0x26, 0x59); // RFCfgReg - RxGain
NFC_setRegister(0x27, 0xF4); // GsNReg - CWGsN, ModGsN
NFC_setRegister(0x28, 0x3F); // CWGsPReg - CWGsP
NFC_setRegister(0x29, 0x03); // ModGsPReg - ModGsP
NFC_executeCommand(CMD_TRANSCEIVE);


NFC_setRegister(0x0A, 0x80); // Flush FIFO
NFC_setByteInFIFO(0x26); // REQA - Request code
NFC_setRegister(0x0D, 0x87); // BitframingReg - StartSend, TxLastBits
NFC_getRegister(0x06); // ErrorReg

Nachdem ich dann den FIFO auslese steht dann auch der richtige ATQA-Wert 
0x44 0x00 drin.

Aber wenn ich dann die erste Anti-Collision versuche, bekomme ich keine 
Antwort, dh. der FIFO ist leer.

NFC_setRegister(0x0A, 0x80); // Flush FIFO
NFC_setByteInFIFO(0x93); // Anti-Coll 1
NFC_setByteInFIFO(0x20); // Anti-Coll 2
NFC_setRegister(0x0D, 0x87); // BitframingReg - StartSend, TxLastBits
NFC_getRegister(0x06); // ErrorReg

Hat da jemand schon Erfahrung von euch damit gemacht und kann mir 
eventuell einen Tipp geben, was ich hier falsch mache?

Kleine Neben-Info: Den Selbst-Test der vom Chip angeboten wird habe ich 
erfolgreich durchgeführt, es steht danach genau das im FIFO, was auch in 
der Spezifikation steht.

Ich bedanke mich schon mal im voraus.

Viele Grüße
Daniel

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.