Как декодировать тип IC тега NFC с помощью Android?

Я разрабатываю приложение Android NFC.

Это приложение может сканировать метку NFC (здесь у меня есть метка повышения NXP NTAG 5, которая является меткой NFC Forum Type 5).

Из UID я уже знаю, как расшифровать производителя микросхемы с помощью этот документ, который является вторым байтом.

На данный момент я хотел бы расшифровать тип IC, как это делает приложение NXP TagInfo, чтобы выяснить, является ли отсканированный тег более NTAG 5 boost или NTAG I2C plus, например.

Вот изображение того, что отображает приложение NXP TagInfo:

введите здесь описание изображения

Вы знаете, где я могу найти регистр типа IC, чтобы расшифровать эту часть UID?


person Martin Denion    schedule 03.05.2021    source источник


Ответы (2)


Только производитель кодируется в UID, больше ничего не кодируется в UID.

Как тип IC определяется этим приложением, может быть несколько возможных способов.

Некоторые чипы NFC предоставляют некоторые данные в протоколе нижнего уровня, такие как ATQA и SAK для NfcA, которые используются для определения типа и размера семейства тегов, в основном это относится к серии чипов Mifare Classic.

Скорее всего, для чипов NXP, которые вы определили, большинство чипов NXP имеют команду originality signature, например. в https://www.nxp.com/docs/en/data-sheet/NTA5332.pdf раздел 8.2.4.7, и эта подпись используется для проверки типа микросхемы.

К сожалению, как расшифровать и проверить, что originality signature хранится в соглашении о неразглашении. Конечно, приложение, которое вы показываете, написано NXP, поэтому они будут иметь доступ к данным, необходимым для расшифровки этой подписи, и узнать, что она содержит. (Есть намек на то, что разные ключи используются на разных чипах, поэтому, если вы знаете процесс и то, как ключи сопоставляются с ИС, это подскажет вам тип ИС).

person Andrew    schedule 03.05.2021
comment
Спасибо за подробный ответ, помогло! Я свяжусь с NXP, чтобы узнать больше о расшифровке этой подписи оригинальности. - person Martin Denion; 04.05.2021

На самом деле ответ более прост.. Прежде всего, вы должны понимать, что существуют разные протоколы NFC, Android поддерживает, например, TagTechnologies NFC-A, NFC-B, NFC-V и ISO-DEP. NTAG 2xx вкл. NTAG I2C подпадает под категорию NFC-A, тогда как микросхемы NTAG5 подпадают под технологию NFC-V. Сверху, например. Микросхемы NTAG 21x поддерживают команду Get_Version (60h), которая возвращает основную и дополнительную версии продукта, а также объем памяти. См., например. таблица 28 в https://www.nxp.com/docs/en/data-sheet/NTAG213_215_216.pdf и таблицу 21 в https://www.nxp.com/docs/en/data-sheet/NT3H2111_2211.pdf

person ErikM    schedule 10.05.2021