Skip to main content
Senior
April 23, 2020
Solved

Meaning of NFCID of NFC-A Card emulation mode in X-CUBE-NFC6

  • April 23, 2020
  • 3 replies
  • 1254 views

In X-CUBE-NFC6 demo, the NFCID of NFC-A CE mode is set to:

static uint8_t ceNFCA_NFCID[] = {0x02, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66};

I wonder if this is randomly generated or there some rule to set it. For example, if I need set uid0 (first byte) to some manufacture ID ?

Best regards.

    This topic has been closed for replies.
    Best answer by Ulysses HERNIOSUS

    Hi,

    0x02 is really reserved for STM - us needing to assure uniqueness of the other bytes. So unless you would want to apply for your own manufacturer ID I recommend to go the way of using a 4 byte UID with

    • uid0=08h and other 3 bytes really randomly generated
    • uid0=*Fh and other 3.5 bytes fixed to some arbitrary number.

    In our opinion this is the safest way. Again, please refer to Table 11 ISO_IEC_14443-3_2016.

    Regards, Ulysses

    3 replies

    Ulysses HERNIOSUS
    ST Technical Moderator
    April 23, 2020

    Hi,

    well in this case the 0x02 is the manufacturer ID of STMicroelectronics according to ISO7816-6, some (old?) list available here for example:

    https://www.kartenbezogene-identifier.de/de/chiphersteller-kennungen.html

    For the 7-byte UID it is mandatory to have byte 0 as manufacturer ID and the next 6 bytes as a real UID.

    For the 4-byte UIDs you are allowed to use first byte 0x08 and have the next three bytes randomly generated.

    Please refere to ISO14443-3 for exact information.

    Regards, Ulysses

    divergerAuthor
    Senior
    April 23, 2020

    Thanks for your answer.

    Another question, if I use the chip in my product, *may* I use '0x02' as 'uid0' ?

    Ulysses HERNIOSUS
    ST Technical Moderator
    April 23, 2020

    Hi,

    0x02 is really reserved for STM - us needing to assure uniqueness of the other bytes. So unless you would want to apply for your own manufacturer ID I recommend to go the way of using a 4 byte UID with

    • uid0=08h and other 3 bytes really randomly generated
    • uid0=*Fh and other 3.5 bytes fixed to some arbitrary number.

    In our opinion this is the safest way. Again, please refer to Table 11 ISO_IEC_14443-3_2016.

    Regards, Ulysses