This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TRF7970 MIfareUltralight

Hello,I use the TRF7970, and I'm trying to communicate with the MIFAREultralight.

However , it does not modulated waveform is changed by sending any command in the DM2.

If I reset with 0x03 command,when I get a normal modulated waveform , but because the radio waves is interrupted , I can not use .

I want to know how modulation waveform is output correctly .

I send the REQA command , it has been completed to receive the ATQA.

For communication using the SEL command of the next step , not the normal modulation waveform is output , it can not be performed .

Thanks

If this is happening, it probably means you are either running your SPI slow or that you have a lot of latency in your system.  Typically with the 0x8F cause 0 bytes in the FIFO, it's because it was sent so late that the RX bytes had already started to be received.  Try speeding up your SPI and see if that helps.  

For reading blocks in MIFARE Classic, you first have to authenticate the Tag.  Mifare Classice doesn't support ISO14443A-4 commands, it has a proprietary set of commands.  

I'm going to be releasing an app-note and example code this week that should help you out.   I'll link it here when it's up.  It will be for our TRF7970A EVM.  

Thanks,

  • Hello,

    I am not sure I fully understand the issue you are having. That said if you are using Mifare Ultralight (and not Mifare Classic), DM2 will work just fine in terms of communication with the tags. You will need to make sure to set the ISO Control register for the correct ISO14443A bitrate, and that will handle using the correct modulation. For tag detection and anticollision, you also will want to receive without CRC. This means the ISO Control Register for Mifare Ultralight Polling (REQA) and anticollision (SEL commands, etc.) would need to be 0x88. Also when sending commands such as REQA and SEL, make sure to transmit without CRC (Direct command 0x90).
  • Thank you for your reply.
    Currently , the following procedure , it is communicating with the MifareUltralight.
    The following communication is I'm going in the DM2.

    REQA-Part
     TX:0x8F→0x90→0x3D→0x00→0x0F→0x26
     IRQ
     TX:0x6C
     RX:0x80→0x3E
     TX:0x8F→0x00
     IRQ
     TX:0x6C
     RX:0x40→0x3E
     TX:0x5C
     RX:0x02
     TX:0x7F
     RX:0x44→0x00
     I have successfully received ATQA.
    Next,
    SELCommand-Part
     TX:0x8F→0x90→0x3D→0x00→0x20→0x93(SEL)→0x20(NUV)
     IRQ
    ↑ In this step , it is not observed change in the modulation waveform .
      (For example,0x93→0x00,0x20→0x00 or 0x93→0xFF,0x20→0x00)
    However , after using the direct command 0x03(Soft inituialize) are , we get a normal waveform(0x93,0x20) .
    Do you know why the normal waveform is not output ?
    Even send any command , what is the thing that modulation waveform does not change ? I want to know if there is something try out things .
  • Hello,

    Thanks for sharing the command flow. There doesn't appear to be anything off with it at first glance, although we typically reset the FIFO (0x8F) after receiving data as well. I would expect if the part is setup and configured correctly those commands would work though.

    We have a number of different code examples available which will read ISO14443A tags like Mifare Ultralight. Which hardware platform do you have for evaluation? I could point you to one of our existing code bases which can read Mifare Ultralight tags out of the box. That would ensure that at least from a software standpoint everything is being handled correctly, especially how the device is started at power-up.

    Also I am still a little bit unclear about you are looking at for the Modulation Waveform? Which line(s) are you tapping to see the modulation waveform?
  • Dear Ralph Jacobi

    Thank you for reply.

    I use for measuring coil, is measuring the modulation waveform. (Attach the the waveform images)

    Hardware is TRF 7970 + Nano100 (Nuvoton, ARM).

    In this environment, it reads the Idm and private area of ​​Felica TAG we can.

    I know changing the modulation waveform at the time you notify 0x90 and the normal waveform is output in POR.

    (Attach the the waveform images)

     Best Regard

  • you need to a couple things here to cover:

    Please check that you have made the registers 0x01 (ISO control register) = to 0x88, Register 0x09 (Clock and Mod Depth) = to 0x01 and already issued a REQA and gotten an ATQA back before you attempt to  start anti-collision.

    REQA string will be: 0x8F 0x90 0x3D 0x00 0x0F 0x26

    First Anticollision Command string will be: 0x8F 0x90 0x3D 0x00 0x20 0x93 0x20, from which you shall get back UID CLn with which to keep going in that process