PN 512 : Problem config for reader tag

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

PN 512 : Problem config for reader tag

833 Views
valentin_plotea
Contributor I

Hello,
Currently in one of my applications I use the PN5320 to make the card reader to manage access.
For cost reasons, I want to switch to the PN512 model.

It's been a week since I try to make it work in the same way as the PN5320 (AutoWakeUp during a card detection and reading the data to have the ID tag).

For the moment, I manage to launch the Polling however when I present a card, nothing happens (no exchange with the oscilloscope), nothing in the data, nor of interruption.

My configuration code is as follows:

    writePN512(TModeReg, 0x8D);    
    DelayMs(2);
    writePN512(TPrescalerReg, 0x3E);
    DelayMs(2);
    writePN512(TReloadRegL, 30);
    DelayMs(2);
    writePN512(TReloadRegH, 0);
    DelayMs(2);

    writePN512(TxAutoReg, 0x40);  
    DelayMs(2);
    writePN512(ModeReg, 0x3D);    
    DelayMs(2);
    
    temp = readPN512(TxControlReg);
   if (!(temp & 0x03))
   {
      setBitMask(TxControlReg, 0x03);
   }

Do you have simple configuration examples to simply read tags?

In addition, when I want to put it in AutoWakeUp mode, I have continuous polling mode.

Thanks !

Valentin

Tags (3)
0 Kudos
2 Replies

733 Views
IvanRuiz
NXP Employee
NXP Employee

Hello,

I believe it will be helpful to start with the evaluation board and then move to a custom solution, please refer to the following link for the eval board: PN512 reader board | NXP 

Regarding the SW, there is a reader library for PN512 available in the Software section of the link previously provided; Documents and Software -> Embedded Software -> NFC Reader Library.

Hope it helps.

BR,

Ivan.

0 Kudos

733 Views
valentin_plotea
Contributor I

To clarify, when I make the following commands (sends data in Fifo and TRANSCEIVE mode), I do not observe any data sending on the 13.5Mhz signal.

 if (appData.timer.flag10ms)
            {      

                     writePN512(FIFODataReg, 0x26);    
                     writePN512(CommandReg, PCD_TRANSCEIVE);   
            }

0 Kudos