UM11942
Уровень команд PN5190
Интерфейсный NFC-контроллер
Руководство пользователя
Интерфейсный контроллер NFC PN5190
Информация о документе
Информация | Содержание |
Ключевые слова | PN5190, NFC, внешний интерфейс NFC, контроллер, уровень инструкций |
Абстрактный | В этом документе описываются команды и ответы уровня команд для работы с хост-контроллером для оценки работы внешнего контроллера NFC NXP PN5190. PN5190 — это интерфейсный контроллер NFC нового поколения. Целью данного документа является описание команд интерфейса для работы с интерфейсным контроллером NFC PN5190. Для получения дополнительной информации о работе внешнего контроллера NFC PN5190 обратитесь к техническому паспорту и дополнительной информации к нему. |
История изменений
Преподобный | Дата | Описание |
3.7 | 20230525 | • Тип и название документа изменены с приложения к техническому описанию продукта на руководство пользователя. • Редакционная очистка • Обновлены редакционные условия для сигналов SPI. • Добавлена команда GET_CRC_USER_AREA в Таблицу 8 в Разделе 4.5.2.3. • Обновлены различные детали для PN5190B1 и PN5190B2 в разделе 3.4.1. • Обновлен ответ раздела 3.4.7. |
3.6 | 20230111 | Описание ответа на расширенную проверку целостности в разделе 3.4.7. |
3.5 | 20221104 | Раздел 4.5.4.6.3 «Событие»: добавлен |
3.4 | 20220701 | • Добавлена команда CONFIGURE_MULTIPLE_TESTBUS_DIGITAL в Таблице 8 в Разделе 4.5.9.3. • Обновлен раздел 4.5.9.2.2. |
3.3 | 20220329 | Улучшено описание оборудования в Разделе 4.5.12.2.1 «Команда» и Разделе 4.5.12.2.2 «Отклик». |
3.2 | 20210910 | Номера версий прошивки обновлены с 2.1 до 2.01 и с 2.3 до 2.03. |
3.1 | 20210527 | Добавлено описание команды RETRIEVE_RF_FELICA_EMD_DATA. |
3 | 20210118 | Первая официальная выпущенная версия |
Введение
1.1 Введение
В этом документе описываются интерфейс хоста PN5190 и API. Физический интерфейс хоста, используемый в документации, — SPI. Физическая характеристика SPI в документе не рассматривается.
Разделение кадров и управление потоком данных являются частью этого документа.
1.1.1 Область применения
В документе описаны актуальные для заказчика логический уровень, код инструкций, API.
Связь с хостом оконченаview
PN5190 имеет два основных режима работы для связи с главным контроллером.
- Связь на основе HDLL используется, когда устройство срабатывает для ввода:
а. Зашифрованный режим безопасной загрузки для обновления прошивки - Связь на основе команды-ответа TLV (представлена как примерampле).
2.1 Режим HDLL
Режим HDLL используется для формата обмена пакетами для работы со следующими режимами работы IC:
- Режим безопасной загрузки прошивки (SFWU), см. раздел 3.
2.1.1 Описание HDLL
HDLL — это канальный уровень, разработанный NXP для обеспечения надежной загрузки встроенного ПО.
Сообщение HDLL состоит из 2-байтового заголовка, за которым следует кадр, содержащий код операции и полезную нагрузку команды. Каждое сообщение заканчивается 16-битной CRC, как показано на рисунке ниже:Заголовок HDLL содержит:
- Кусочек. Это указывает, является ли это сообщение единственным или последним фрагментом сообщения (кусок = 0). Или если за ним следует хотя бы еще один фрагмент (кусок = 1).
- Длина полезной нагрузки кодируется 10 битами. Таким образом, полезная нагрузка кадра HDLL может достигать 1023 байт.
Порядок байтов был определен как big-endian, что означает, что сначала Ms Byte.
CRC16 соответствует стандарту X.25 (CRC-CCITT, ISO/IEC13239) с полиномом x^16 + x^12 + x^5 +1 и значением предварительной загрузки 0xFFFF.
Он рассчитывается для всего кадра HDLL, то есть заголовка + кадра.
Sampреализация C-кода:
статический uint16_t phHal_Host_CalcCrc16(uint8_t* p, uint32_t dwLength)
{
uint32_t я;
uint16_t crc_new;
uint16_t crc = 0xffffU;
для (я = 0; я <dwLength; я++)
{
crc_new = (uint8_t)(crc >> 8) | (CRC << 8 );
crc_new ^= p[i];
crc_new ^= (uint8_t)(crc_new & 0xff) >> 4;
crc_new ^= crc_new << 12;
crc_new ^= (crc_new & 0xff) << 5;
crc = crc_new;
}
возврат контрольной суммы;
}
2.1.2 Транспортное отображение через SPI
Для каждого утверждения NTS первый байт всегда является ЗАГОЛОВКОМ (байтом индикации потока), он может иметь значение 0x7F/0xFF в зависимости от операции записи/чтения.
2.1.2.1 Запись последовательности с хоста (направление DH => PN5190)2.1.2.2 Чтение последовательности с хоста (направление PN5190 => DH)
2.1.3 Протокол HDLL
HDLL — это протокол командного ответа. Все упомянутые выше операции запускаются с помощью определенной команды и проверяются на основе ответа.
Команды и ответы соответствуют синтаксису сообщений HDLL: команда отправляется хостом устройства, ответ — PN5190. Код операции указывает тип команды и ответа.
Связь на основе HDLL, используется только при срабатывании PN5190 для перехода в режим «Безопасной загрузки прошивки».
2.2 Режим TLV
TLV означает Tag Значение длины.
2.2.1 Определение кадра
Кадр SPI начинается с заднего фронта NTS и заканчивается нарастающим фронтом NTS. SPI по физическому определению является полнодуплексным, но PN5190 использует SPI в полудуплексном режиме. Режим SPI ограничен CPOL 0 и CPHA 0 с максимальной тактовой частотой, указанной в [2]. Каждый кадр SPI состоит из 1-байтового заголовка и n-байтов тела.
2.2.2 Индикация расходаХОСТ всегда отправляет в качестве первого байта байт индикации потока, независимо от того, хочет ли он записать или прочитать данные из PN5190.
Если есть запрос на чтение и данные недоступны, ответ содержит 0xFF.
Данные после байта индикации потока представляют собой одно или несколько сообщений.
Для каждого утверждения NTS первый байт всегда является ЗАГОЛОВКОМ (байтом индикации потока), он может иметь значение 0x7F/0xFF в зависимости от операции записи/чтения.
2.2.3 Тип сообщения
Хост-контроллер должен связываться с PN5190, используя сообщения, которые передаются в кадрах SPI.
Существует три различных типа сообщений:
- Команда
- Ответ
- Событие
На приведенной выше диаграмме связи показаны разрешенные направления для различных типов сообщений, как показано ниже:
- Команда и ответ.
- Команды отправляются только с главного контроллера на PN5190.
- Ответы и события отправляются только с PN5190 на хост-контроллер.
- Ответы на команды синхронизируются с помощью вывода IRQ.
- Хост может отправлять команды только при низком уровне IRQ.
- Хост может прочитать ответ/событие только при высоком уровне IRQ.
2.2.3.1 Разрешенные последовательности и правилаРазрешенные последовательности команд, ответов и событий
- Команда всегда подтверждается ответом, событием или тем и другим.
- Хост-контроллеру не разрешено отправлять другую команду до тех пор, пока не будет получен ответ на предыдущую команду.
- События могут отправляться асинхронно в любое время (НЕ чередуясь внутри пары команда/ответ).
- Сообщения EVENT никогда не объединяются с сообщениями RESPONSE в одном кадре.
Примечание: Доступность сообщения (ОТВЕТ или СОБЫТИЕ) сигнализируется повышением уровня IRQ с низкого уровня. IRQ остается высоким до тех пор, пока не будет прочитан весь кадр ответа или события. Только после того, как сигнал IRQ станет низким, хост может отправить следующую команду.
2.2.4 Формат сообщения
Каждое сообщение кодируется в структуре TLV с полезной нагрузкой в n байтов для каждого сообщения, за исключением команды SWITCH_MODE_NORMAL.Каждый TLV состоит из:
Тип (T) => 1 байт
Бит[7] Тип сообщения
0: КОМАНДА или ОТВЕТНОЕ сообщение
1: Сообщение о СОБЫТИИ
Бит[6:0]: Код инструкции
Длина (L) => 2 байта (должно быть в формате с обратным порядком байтов)
Значение (V) => N байтов значения/данных TLV (параметры команды/данные ответа) на основе поля длины (формат с обратным порядком байтов)
2.2.4.1 Разделенный кадр
Сообщение COMMAND должно быть отправлено в одном кадре SPI.
Сообщения RESPONSE и EVENT могут быть прочитаны в нескольких кадрах SPI, например, для считывания байта длины.Сообщения RESPONSE или EVENT могут быть прочитаны в одном кадре SPI, но задержаны на NO-CLOCK между ними, например, для считывания байта длины.
Режим загрузки микросхемы – защищенный режим загрузки встроенного ПО
3.1 Введение
Часть кода прошивки PN5190 постоянно хранится в ПЗУ, а остальная часть кода и данные хранятся во встроенной флэш-памяти. Пользовательские данные хранятся во флэш-памяти и защищены механизмами защиты от разрыва, обеспечивающими целостность и доступность данных. Чтобы предоставить клиентам NXP функции, соответствующие новейшим стандартам (EMVCo, NFC Forum и т. д.), можно обновлять как код, так и пользовательские данные во FLASH.
Подлинность и целостность зашифрованной прошивки защищены асимметричной/симметричной ключевой подписью и механизмом обратного хеширования. Первая команда DL_SEC_WRITE содержит хеш второй команды и защищена подписью RSA в полезных данных первого кадра. Микропрограмма PN5190 использует открытый ключ RSA для аутентификации первой команды. Связанный хэш в каждой команде используется для аутентификации последующей команды, чтобы гарантировать, что код прошивки и данные не будут доступны третьим лицам.
Полезные данные команд DL_SEC_WRITE зашифрованы ключом AES-128. После аутентификации каждой команды содержимое полезной нагрузки расшифровывается и записывается во флэш-память микропрограммой PN5190.
Что касается прошивки NXP, NXP отвечает за доставку новых безопасных обновлений прошивки вместе с новыми пользовательскими данными.
Процедура обновления оснащена механизмом защиты аутентичности, целостности и конфиденциальности кода и данных NXP.
Схема пакетов кадров на основе HDLL используется для всех команд и ответов в режиме защищенного обновления встроенного ПО.
В разделе 2.1 представлено болееview используемой схемы пакетов кадров HDLL.
Микросхемы PN5190 поддерживают как устаревший защищенный протокол загрузки встроенного ПО с шифрованием, так и безопасный протокол загрузки встроенного ПО с аппаратным шифрованием, в зависимости от используемого варианта.
Два типа:
- Устаревший безопасный протокол загрузки встроенного ПО, который работает только с версией микросхемы PN5190 B0/B1.
- Защищенный протокол загрузки встроенного ПО с аппаратной криптографической поддержкой, который работает только с версией микросхемы PN5190B2 и использует встроенные аппаратные криптоблоки.
В следующих разделах описаны команды и ответы режима безопасной загрузки встроенного ПО.
3.2 Как включить режим «Защищенная загрузка прошивки»
На диаграмме ниже и в последующих шагах показано, как активировать защищенный режим загрузки встроенного ПО.Предварительное условие: PN5190 находится в рабочем состоянии.
Основной сценарий:
- Условие входа, при котором вывод DWL_REQ используется для входа в режим «Защищенная загрузка встроенного ПО».
а. Хост устройства устанавливает высокий уровень на выводе DWL_REQ (действительно только в случае безопасного обновления встроенного ПО через вывод DWL_REQ) ИЛИ
б. Хост устройства выполняет полный сброс для загрузки PN5190. - Условие входа, при котором вывод DWL_REQ не используется для входа в режим «Защищенной загрузки прошивки» (бесконтактная загрузка).
а. Хост устройства выполняет полный сброс для загрузки PN5190.
б. Хост устройства отправляет SWITCH_MODE_NORMAL (раздел 4.5.4.5) для входа в обычный режим приложения.
в. Теперь, когда IC находится в обычном режиме приложения, хост устройства отправляет SWITCH_MODE_DOWNLOAD (раздел 4.5.4.9), чтобы войти в режим безопасной загрузки. - Хост устройства отправляет команду DL_GET_VERSION (раздел 3.4.4), или DL_GET_DIE_ID (раздел 3.4.6), или DL_GET_SESSION_STATE (раздел 3.4.5).
- Хост устройства считывает текущую версию оборудования и прошивки, сеанс, Die-id с устройства.
а. Хост устройства проверяет состояние сеанса, если последняя загрузка была завершена
б. Хост устройства применяет правила проверки версий, чтобы решить, следует ли начать загрузку или прекратить загрузку. - Хост устройства загружается из file двоичный код прошивки, который нужно загрузить
- Хост устройства предоставляет первую команду DL_SEC_WRITE (раздел 3.4.8), которая содержит:
а. Версия новой прошивки,
б. 16-байтовый одноразовый номер произвольных значений, используемый для обфускации ключа шифрования.
в. Значение дайджеста следующего кадра,
д. Цифровая подпись самого кадра - Хост устройства загружает последовательность протоколов безопасной загрузки в PN5190 с помощью команд DL_SEC_WRITE (раздел 3.4.8).
- Когда была отправлена последняя команда DL_SEC_WRITE (раздел 3.4.8), хост устройства выполняет команду DL_CHECK_INTEGRITY (раздел 3.4.7), чтобы проверить, была ли успешно записана память.
- Хост устройства считывает новую версию прошивки и проверяет состояние сеанса, если он закрыт, для передачи отчета на верхний уровень.
- Хост устройства переводит вывод DWL_REQ в низкий уровень (если вывод DWL_REQ используется для входа в режим загрузки)
- Хост устройства выполняет полный сброс (переключение контакта VEN) на устройстве для перезагрузки PN5190.
Постусловие: Прошивка обновлена; Сообщается номер новой версии прошивки.
3.3 Подпись прошивки и контроль версий
В режиме загрузки прошивки PN5190 механизм гарантирует, что только прошивка, подписанная и доставленная NXP, будет принята для прошивки NXP.
Следующее применимо только для зашифрованной защищенной прошивки NXP.
Во время сеанса загрузки отправляется новая 16-битная версия прошивки. Он состоит из старшего и младшего числа:
- Старший номер: 8 бит (старший бит).
- Младший номер: 8 бит (LSB)
PN5190 проверяет, больше ли новый основной номер версии текущего номера или равен ему. В противном случае защищенная загрузка встроенного ПО отклоняется и сеанс остается закрытым.
3.4 Команды HDLL для устаревшей зашифрованной загрузки и аппаратной поддержки шифрования зашифрованная загрузка
В этом разделе представлена информация о командах и ответах, которые использовались для обоих типов загрузки прошивки NXP.
3.4.1 Коды операций команд HDLL
Примечание: Командные кадры HDLL выровнены по 4 байта. Неиспользованные байты полезной нагрузки остаются равными нулю.
Таблица 1. Список кодов операций команд HDLL
PN5190 B0/ B1 (старая загрузка) |
PN5190 B2 (Загрузка с помощью шифрования) |
Псевдоним команды | Описание |
0xF0 | 0xE5 | DL_RESET | Выполняет программный сброс |
0xF1 | 0xE1 | DL_GET_VERSION | Возвращает номера версий |
0xF2 | 0xDB | DL_GET_SESSION_STATE | Возвращает текущее состояние сеанса |
0xF4 | 0xDF | DL_GET_DIE_ID | Возвращает идентификатор кубика |
0xE0 | 0xE7 | DL_CHECK_INTEGRITY | Проверяет и возвращает CRC по различным областям, а также флаги состояния «пройден/не пройден» для каждой |
0xC0 | 0x8C | DL_SEC_WRITE | Записывает x байт в память, начиная с абсолютного адреса y. |
3.4.2 Коды операций ответа HDLL
Примечание: Кадры ответа HDLL выравниваются по 4 байтам. Неиспользованные байты полезной нагрузки остаются равными нулю. Только ответы DL_OK могут содержать значения полезной нагрузки.
Таблица 2. Список OP-кодов ответа HDLL
опкод | Псевдоним ответа | Описание |
0x00 | ДЛ_ОК | Команда принята |
0x01 | DL_INVALID_ADDR | Адрес не разрешен |
0x0B | DL_UNKNOW_CMD | Неизвестная команда |
0x0C | DL_ABORTED_CMD | Последовательность фрагментов слишком велика |
0x1E | DL_ADDR_RANGE_OFL_ERROR | Адрес вне диапазона |
0x1F | DL_BUFFER_OFL_ERROR | Буфер слишком мал |
0x20 | DL_MEM_BSY | Память занята |
0x21 | DL_SIGNATURE_ERROR | Несоответствие подписи |
0x24 | DL_FIRMWARE_VERSION_ERROR | Текущая версия равна или выше |
0x28 | DL_PROTOCOL_ERROR | Ошибка протокола |
0x2A | DL_SFWU_DEGRADED | Повреждение флэш-данных |
0x2D | PH_STATUS_DL_FIRST_CHUNK | Первый кусок получен |
0x2E | PH_STATUS_DL_NEXT_CHUNK | Подождите следующего фрагмента |
0xC5 | PH_STATUS_INTERNAL_ERROR_5 | Несоответствие длины |
3.4.3 Команда DL_RESET
Обмен кадрами:
PN5190 B0/B1: [HDLL] -> [0x00 0x04 0xF0 0x00 0x00 0x00 0x18 0x5B]
PN5190 B2: [HDLL] -> [0x00 0x04 0xE5 0x00 0x00 0x00 0xBF 0xB9] [HDLL] <- [0x00 0x04 STAT 0x00 CRC16] Сброс не позволяет PN5190 отправить ответ DL_STATUS_OK. Поэтому может быть получен только ошибочный статус.
STAT — статус возврата.
3.4.4 Команда DL_GET_VERSION
Обмен кадрами:
PN5190 B0/B1: [HDLL] -> [0x00 0x04 0xF1 0x00 0x00 0x00 0x6E 0xEF]
PN5190 B2: [HDLL] -> [0x00 0x04 0xE1 0x00 0x00 0x00 0x75 0x48] [HDLL] <- [0x00 0x08 STAT HW_V RO_V MODEL_ID FM1V FM2V RFU1 RFU2 CRC16] Кадр полезной нагрузки ответа GetVersion:
Таблица 3. Ответ на команду GetVersion
Поле | Байт | Описание |
СТАТ | 1 | Статус |
HW_V | 2 | Аппаратная версия |
РО_В | 3 | ПЗУ-код |
ИДЕНТИФИКАТОР МОДЕЛИ | 4 | Модель ID |
FMxV | 5-6 | Версия прошивки (используется для загрузки) |
РФЕ1-РФЕ2 | 7-8 | – |
Ожидаемые значения различных полей ответа и их сопоставление приведены ниже:
Таблица 4. Ожидаемые значения ответа команды GetVersion
Тип микросхемы | Версия аппаратного обеспечения (шестнадцатеричный) | Версия ПЗУ (шестнадцатеричный) | Идентификатор модели (шестнадцатеричный) | Версия прошивки (шестнадцатеричная) |
PN5190 B0 | 0x51 | 0x02 | 0x00 | хх.гг |
PN5190 B1 | 0x52 | 0x02 | 0x00 | хх.гг |
PN5190 B2 | 0x53 | 0x03 | 0x00 | хх.гг |
3.4.5 Команда DL_GET_SESSION_STATE
Обмен кадрами:
PN5190 B0/B1: [HDLL] -> [0x00 0x04 0xF2 0x00 0x00 0x00 0xF5 0x33]
PN5190 B2: [HDLL] -> [0x00 0x04 0xDB 0x00 0x00 0x00 0x31 0x0A] [HDLL] <- [0x00 0x04 STAT SSTA RFU CRC16] Кадр полезной нагрузки ответа GetSession:
Таблица 5. Ответ на команду GetSession
Поле | Байт | Описание |
СТАТ | 1 | Статус |
ССТА | 2 | Состояние сеанса • 0x00: закрыто • 0x01: открыть • 0x02: заблокировано (загрузка больше не разрешена) |
РФС | 3-4 |
3.4.6 Команда DL_GET_DIE_ID
Обмен кадрами:
PN5190 B0/B1: [HDLL] -> [0x00 0x04 0xF4 0x00 0x00 0x00 0xD2 0xAA]
PN5190 B2: [HDLL] -> [0x00 0x04 0xDF 0x00 0x00 0x00 0xFB 0xFB] [HDLL] <- [0x00 0x14 STAT 0x00 0x00 0x00 ID0 ID1 ID2 ID3 ID4 ID5 ID6 ID7 ID8 ID9
ID10 ID11 ID12 ID13 ID14 ID15 CRC16] Кадр полезной нагрузки ответа GetDieId:
Таблица 6. Ответ на команду GetDieId
Поле | Байт | Описание |
СТАТ | 1 | Статус |
РФС | 2-4 | |
ДИЭИД | 5-20 | Идентификатор кубика (16 байт) |
3.4.7 Команда DL_CHECK_INTEGRITY
Обмен кадрами:
PN5190 B0/B1: [HDLL] -> [0x00 0x04 0xE0 0x00 0x00 0x00 CRC16]
PN5190 B2: [HDLL] -> [0x00 0x04 0xE7 0x00 0x00 0x00 0x52 0xD1] [HDLL] <- [0x00 0x20 STAT LEN_DATA LEN_CODE 0x00 [CRC_INFO] [CRC32] CRC16] Кадр полезной нагрузки ответа CheckIntegrity:
Таблица 7. Ответ на команду CheckIntegrity
Поле | Байт | Значение / Описание | |
СТАТ | 1 | Статус | |
ДАННЫЕ ОБЪЕКТА | 2 | Общее количество разделов данных | |
ЛЕН-КОД | 3 | Общее количество разделов кода | |
РФС | 4 | Сдержанный | |
[CRC_INFO] | 58 | 32 бита (с прямым порядком байтов). Если бит установлен, CRC соответствующего раздела в порядке, в противном случае — не в порядке. | |
Кусочек | Статус целостности области | ||
[31:28] | Зарезервировано [3] | ||
[27:23] | Зарезервировано [1] | ||
[22] | Зарезервировано [3] | ||
[21:20] | Зарезервировано [1] | ||
[19] | Область радиочастотной конфигурации (PN5190 B0/B1) [2] Зарезервировано (PN5190 B2) [3] | ||
[18] | Область конфигурации протокола (PN5190 B0/B1) [2] Область конфигурации RF (PN5190 B2) [2] | ||
[17] | Зарезервировано (PN5190 B0/B1) [3] Область конфигурации пользователя (PN5190 B2) [2] | ||
[16:6] | Зарезервировано [3] | ||
[5:4] | Зарезервировано для PN5190 B0/B1 [3] Зарезервировано для PN5190 B2 [1] | ||
[3:0] | Зарезервировано [1] | ||
[CRC32] | 9-136 | CRC32 из 32 разделов. Каждый CRC состоит из 4 байтов и хранится в формате с прямым порядком байтов. Первые 4 байта CRC представляют собой бит CRC_INFO[31], следующие 4 байта CRC представляют собой бит CRC_INFO[30] и так далее. |
- [1] Этот бит должен быть равен 1, чтобы PN5190 работал правильно (с функциями и/или зашифрованной загрузкой встроенного ПО).
- [2] По умолчанию этот бит установлен в 1, но измененные пользователем настройки делают CRC недействительным. Не влияет на функциональность PN5190.
- [3] Значение этого бита, даже если оно равно 0, не имеет значения. Это значение бита можно игнорировать.
3.4.8 Команда DL_SEC_WRITE
Команду DL_SEC_WRITE следует рассматривать в контексте последовательности команд безопасной записи: зашифрованной «защищенной загрузки прошивки» (часто называемой eSFWu).
Команда безопасной записи сначала открывает сеанс загрузки и проходит аутентификацию RSA. Следующие — передача зашифрованных адресов и байтов для записи во флэш-память PN5190. Все, кроме последнего, содержат хэш следующих, поэтому информируют, что они не последние, и криптографически связывают кадры последовательности вместе.
Другие команды (кроме DL_RESET и DL_CHECK_INTEGRITY) можно вставлять между защищенными командами записи последовательности, не нарушая ее.
3.4.8.1 Первая команда DL_SEC_WRITE
Команда защищенной записи является первой тогда и только тогда, когда:
- Длина кадра 312 байт.
- С момента последнего сброса не было получено ни одной команды защищенной записи.
- Встроенная подпись успешно проверена PN5190.
Ответ на команду первого кадра будет таким: [HDLL] <- [0x00 0x04 STAT 0x00 0x00 0x00 CRC16] STAT — это статус возврата.
Примечание: По крайней мере, один фрагмент данных должен быть записан во время eSFWu, даже если длина записанных данных может составлять всего один байт. Следовательно, первая команда всегда будет содержать хеш следующей команды, поскольку команд будет как минимум две.
3.4.8.2 Промежуточные команды DL_SEC_WRITE
Защищенная команда записи является «средней» тогда и только тогда, когда:
- Код операции описан в разделе 3.4.1 для команды DL_SEC_WRITE.
- Первая команда защищенной записи уже была получена и успешно проверена ранее.
- С момента получения первой команды защищенной записи сброса не произошло.
- Длина кадра равна размеру данных + размер заголовка + размер хеша: FLEN = SIZE + 6 + 32.
- Дайджест всего кадра равен значению хеш-функции, полученному в предыдущем кадре.
Ответ на команду первого кадра будет таким: [HDLL] <- [0x00 0x04 STAT 0x00 0x00 0x00 CRC16] STAT — это статус возврата.
3.4.8.3 Последняя команда DL_SEC_WRITE
Команда защищенной записи является последней тогда и только тогда, когда:
- Код операции описан в разделе 3.4.1 для команды DL_SEC_WRITE.
- Первая команда защищенной записи уже была получена и успешно проверена ранее.
- С момента получения первой команды защищенной записи сброса не произошло.
- Длина кадра равна размеру данных + размер заголовка: FLEN = SIZE + 6.
- Дайджест всего кадра равен значению хеш-функции, полученному в предыдущем кадре.
Ответ на команду первого кадра будет таким: [HDLL] <- [0x00 0x04 STAT 0x00 0x00 0x00 CRC16] STAT — это статус возврата.
Режим загрузки микросхемы – нормальный режим работы
4.1 Введение
Обычно микросхема PN5190 должна находиться в нормальном режиме работы, чтобы получить от нее функциональность NFC.
При загрузке микросхемы PN5190 она всегда ожидает получения команд от хоста для выполнения операции, если только события, сгенерированные внутри микросхемы PN5190, не привели к загрузке микросхемы PN5190.
4.2 Список команд оконченview
Таблица 8. Список команд PN5190
Командный код | Имя команды |
0x00 | ЗАПИСЬ_РЕГИСТРАЦИЯ |
0x01 | WRITE_REGISTER_OR_MASK |
0x02 | WRITE_REGISTER_AND_MASK |
0x03 | WRITE_REGISTER_MULTIPLE |
0x04 | ЧИТАТЬ_РЕГИСТРАЦИЯ |
0x05 | READ_REGISTER_MULTIPLE |
0x06 | WRITE_E2PROM |
0x07 | ЧИТАНИЕ_E2PROM |
0x08 | TRANSMIT_RF_DATA |
0x09 | ПОЛУЧИТЬ_RF_ДАННЫЕ |
0x0A | EXCHANGE_RF_DATA |
0x0B | MFC_AUTHENTICATE |
0x0C | EPC_GEN2_INVENTORY |
0x0D | LOAD_RF_CONFIGURATION |
0x0E | UPDATE_RF_CONFIGURATION |
0x0F | GET_ RF_CONFIGURATION |
0x10 | RF_ON |
0x11 | RF_OFF |
0x12 | НАСТРОЙКА TESTBUS_DIGITAL |
0x13 | CONFIGURE_TESTBUS_ANALOG |
0x14 | CTS_ENABLE |
0x15 | CTS_CONFIGURE |
0x16 | CTS_RETRIEVE_LOG |
0x17-0x18 | РФС |
0x19 | до прошивки v2.01: RFU |
начиная с прошивки v2.03: RETRIEVE_RF_FELICA_EMD_DATA | |
0x1A | RECEIVE_RF_DATA |
0x1B-0x1F | РФС |
0x20 | SWITCH_MODE_NORMAL |
0x21 | SWITCH_MODE_AUTOCOLL |
0x22 | SWITCH_MODE_STANDBY |
0x23 | SWITCH_MODE_LPCD |
0x24 | РФС |
0x25 | SWITCH_MODE_DOWNLOAD |
0x26 | GET_DIEID |
0x27 | ПОЛУЧИТЬ_ВЕРСИЯ |
0x28 | РФС |
0x29 | до прошивки v2.05: RFU |
начиная с прошивки v2.06: GET_CRC_USER_AREA | |
0x2A | до прошивки v2.03: RFU |
начиная с прошивки версии 2.05: CONFIGURE_MULTIPLE_TESTBUS_DIGITAL | |
0x2B-0x3F | РФС |
0x40 | ANTENNA_SELF_TEST (не поддерживается) |
0x41 | PRBS_TEST |
0x42-0x4F | РФС |
4.3 Значения статуса ответа
Ниже приведены значения состояния ответа, которые возвращаются как часть ответа от PN5190 после ввода команды в действие.
Таблица 9. Значения состояния ответа PN5190
Статус ответа | Значение статуса ответа | Описание |
PN5190_STATUS_SUCCESS | 0x00 | Указывает, что операция завершена успешно |
PN5190_STATUS_TIMEOUT | 0x01 | Указывает, что выполнение команды привело к тайм-ауту |
PN5190_STATUS_INTEGRITY_ERROR | 0x02 | Указывает, что выполнение команды привело к ошибке целостности радиочастотных данных. |
PN5190_STATUS_RF_COLLISION_ERROR | 0x03 | Указывает, что выполнение команды привело к ошибке RF-конфликта. |
PN5190_STATUS_RFU1 | 0x04 | Сдержанный |
PN5190_STATUS_INVALID_COMMAND | 0x05 | Указывает, что данная команда недействительна/не реализована. |
PN5190_STATUS_RFU2 | 0x06 | Сдержанный |
PN5190_STATUS_AUTH_ERROR | 0x07 | Указывает, что аутентификация MFC не удалась (в разрешении отказано). |
PN5190_STATUS_MEMORY_ERROR | 0x08 | Указывает, что выполнение команды привело к ошибке программирования или ошибке внутренней памяти. |
PN5190_STATUS_RFU4 | 0x09 | Сдержанный |
PN5190_STATUS_NO_RF_FIELD | 0x0A | Указывает на отсутствие или наличие ошибки во внутреннем радиочастотном поле (применимо только в режиме инициатора/считывателя) |
PN5190_STATUS_RFU5 | 0x0B | Сдержанный |
PN5190_STATUS_SYNTAX_ERROR | 0x0C | Указывает, что получена неверная длина командного кадра. |
PN5190_STATUS_RESOURCE_ERROR | 0x0D | Указывает на то, что произошла внутренняя ошибка ресурса. |
PN5190_STATUS_RFU6 | 0x0E | Сдержанный |
PN5190_STATUS_RFU7 | 0x0F | Сдержанный |
PN5190_STATUS_NO_EXTERNAL_RF_FIELD | 0x10 | Указывает на отсутствие внешнего радиочастотного поля во время выполнения команды (применимо только в режиме карты/цели) |
PN5190_STATUS_RX_TIMEOUT | 0x11 | Указывает, что данные не получены после инициации RFExchange и истечения времени ожидания приема. |
PN5190_STATUS_USER_CANCELLED | 0x12 | Указывает, что текущая выполняющаяся команда прервана. |
PN5190_STATUS_PREVENT_STANDBY | 0x13 | Указывает, что PN5190 не может перейти в режим ожидания. |
PN5190_STATUS_RFU9 | 0x14 | Сдержанный |
PN5190_STATUS_CLOCK_ERROR | 0x15 | Указывает, что часы CLIF не запустились. |
PN5190_STATUS_RFU10 | 0x16 | Сдержанный |
PN5190_STATUS_PRBS_ERROR | 0x17 | Указывает, что команда PRBS вернула ошибку. |
PN5190_STATUS_INSTR_ERROR | 0x18 | Указывает на то, что выполнение команды завершилось неудачей (это может включать ошибку в параметрах инструкции, синтаксическую ошибку, ошибку в самой операции, невыполнение предварительных требований для инструкции и т. д.). |
PN5190_STATUS_ACCESS_DENIED | 0x19 | Указывает, что доступ к внутренней памяти запрещен |
PN5190_STATUS_TX_FAILURE | 0x1A | Указывает, что передача по RF не удалась. |
PN5190_STATUS_NO_ANTENNA | 0x1B | Указывает, что антенна не подключена/не присутствует. |
PN5190_STATUS_TXLDO_ERROR | 0x1C | Указывает на ошибку в TXLDO, когда VUP недоступен и RF включен. |
PN5190_STATUS_RFCFG_NOT_APPLIED | 0x1D | Указывает, что конфигурация RF не загружается при включении RF. |
PN5190_STATUS_TIMEOUT_WITH_EMD_ERROR | 0x1E | до прошивки 2.01: не ожидается |
начиная с прошивки 2.03: Указывает, что во время обмена с установленным битом LOG ENABLE в регистре FeliCa EMD наблюдалась ошибка FeliCa EMD. |
||
PN5190_STATUS_INTERNAL_ERROR | 0x7F | Указывает, что операция NVM не удалась. |
PN5190_STATUS_SUCCSES_CHAINING | 0xAF | Указывает, что, кроме того, данные ожидают чтения |
4.4 События оконченыview
Существует два способа уведомления хоста о событиях.
4.4.1 Обычные события через вывод IRQ
Эти события относятся к следующим категориям:
- Всегда включено — хост всегда уведомлен
- Управляется хостом – хост уведомляется, если в регистре установлен соответствующий бит разрешения события (EVENT_ENABLE (01h)).
Прерывания низкого уровня от периферийных IP-адресов, включая CLIF, должны полностью обрабатываться микропрограммным обеспечением, а хост должен уведомляться только о событиях, перечисленных в разделе событий.
В микропрограммном обеспечении реализованы два регистра событий в виде регистров ОЗУ, которые можно записывать/читать с помощью команд раздела 4.5.1.1/раздела 4.5.1.5.
Регистр EVENT_ENABLE (0x01) => Включить уведомления об определенных/всех событиях.
Регистр EVENT_STATUS (0x02) => Часть полезных данных сообщения о событии.
События должны быть удалены хостом после того, как хост прочитает сообщение о событии.
События по своей природе асинхронны и уведомляются хосту, если они включены в регистре EVENT_ENABLE.
Ниже приведен список событий, которые должны быть доступны хосту как часть сообщения о событии.
Таблица 10. События PN5190 (содержимое EVENT_STATUS)
Бит — Диапазон | Поле [1] | Всегда Включено (Да/Нет) | |
31 | 12 | РФС | NA |
11 | 11 | CTS_EVENT [2] | N |
10 | 10 | IDLE_EVENT | Y |
9 | 9 | LPCD_CALIBRATION_DONE_EVENT | Y |
8 | 8 | LPCD_EVENT | Y |
7 | 7 | АВТОКОЛЛ_ИВЕНТ | Y |
6 | 6 | ТАЙМЕР0_СОБЫТИЕ | N |
5 | 5 | TX_OVERCURRENT_EVENT | N |
4 | 4 | RFON_DET_EVENT [2] | N |
3 | 3 | RFOFF_DET_EVENT [2] | N |
2 | 2 | STANDBY_PREV_EVENT | Y |
1 | 1 | GENERAL_ERROR_EVENT | Y |
0 | 0 | BOOT_EVENT | Y |
- Обратите внимание, что никакие два события не объединяются, за исключением случаев ошибок. В случае ошибок во время работы будут установлены функциональные события (например, BOOT_EVENT, AUTOCALL_EVENT и т. д.) и GENERAL_ERROR_EVENT.
- Это событие будет автоматически отключено после публикации на хосте. Хост должен снова включить эти события, если он желает получать уведомления об этих событиях.
4.4.1.1 Форматы сообщений о событиях
Формат сообщения о событии различается в зависимости от возникновения события и различного состояния PN5190.
Хост должен прочитать tag (T) и длину сообщения (L), а затем прочитать соответствующее количество байтов как значение (V) событий.
Обычно сообщение о событии (см. рисунок 12) содержит EVENT_STATUS, как определено в таблице 11, а данные о событии соответствуют соответствующему биту события, установленному в EVENT_STATUS.
Примечание:
Для некоторых событий полезная нагрузка не существует. Например, если срабатывает TIMER0_EVENT, только EVENT_STATUS предоставляется как часть сообщения о событии.
В Таблице 11 также подробно указано, присутствуют ли данные о событии для соответствующего события в сообщении о событии.GENERAL_ERROR_EVENT также может возникать вместе с другими событиями.
В этом сценарии сообщение о событии (см. рисунок 13) содержит EVENT_STATUS, как определено в таблице 11, и GENERAL_ERROR_STATUS_DATA, как определено в таблице 14, а затем данные события соответствуют соответствующему биту события, установленному в EVENT_STATUS, как определено в таблице 11.Примечание:
Только после BOOT_EVENT или после POR, STANDBY, ULPCD хост сможет работать в обычном режиме работы, выдавая команды, перечисленные выше.
В случае прерывания существующей запущенной команды, только после IDLE_EVENT хост сможет работать в обычном режиме работы, выдавая команды, перечисленные выше.
4.4.1.2 Различные определения статуса СОБЫТИЯ
4.4.1.2.1 Определения битов для EVENT_STATUS
Таблица 11. Определения битов EVENT_STATUS
Бит (Ку – От) | Событие | Описание | Данные о событии соответствующего события (если есть) |
|
31 | 12 | РФС | Сдержанный | |
11 | 11 | CTS_EVENT | Этот бит устанавливается, когда генерируется событие CTS. | Таблица 86 |
10 | 10 | IDLE_EVENT | Этот бит устанавливается, когда текущая команда отменяется из-за выдачи команды SWITCH_MODE_NORMAL. | Нет данных о событии |
9 | 9 | LPCD_CALIBRATION_DONE_ СОБЫТИЕ |
Этот бит устанавливается, когда генерируется событие калибровки LPCD. | Таблица 16 |
8 | 8 | LPCD_EVENT | Этот бит устанавливается, когда генерируется событие LPCD. | Таблица 15 |
7 | 7 | АВТОКОЛЛ_ИВЕНТ | Этот бит устанавливается после завершения операции AUTOCOLL. | Таблица 52 |
6 | 6 | ТАЙМЕР0_СОБЫТИЕ | Этот бит устанавливается при возникновении события TIMER0. | Нет данных о событии |
5 | 5 | TX_OVERCURRENT_ERROR_ СОБЫТИЕ |
Этот бит устанавливается, когда ток в драйвере TX превышает порог, определенный в EEPROM. При этом условии поле автоматически ВЫКЛЮЧАЕТСЯ до уведомления хоста. См. раздел 4.4.2.2. | Нет данных о событии |
4 | 4 | RFON_DET_EVENT | Этот бит устанавливается при обнаружении внешнего радиочастотного поля. | Нет данных о событии |
3 | 3 | RFOFF_DET_EVENT | Этот бит устанавливается, когда уже существующее внешнее радиочастотное поле исчезает. | Нет данных о событии |
2 | 2 | STANDBY_PREV_EVENT | Этот бит устанавливается, когда режим ожидания предотвращается из-за наличия условий предотвращения. | Таблица 13 |
1 | 1 | GENERAL_ERROR_EVENT | Этот бит устанавливается, когда существуют какие-либо общие условия ошибки. | Таблица 14 |
0 | 0 | BOOT_EVENT | Этот бит установлен, когда PN5190 загружается в режиме POR/Standby. | Таблица 12 |
4.4.1.2.2 Определения битов для BOOT_STATUS_DATA
Таблица 12. Определения битов BOOT_STATUS_DATA
Немного | Бит от | Статус загрузки | Причина загрузки: |
31 | 27 | РФС | Сдержанный |
26 | 26 | ULP_STANDBY | Причина загрузки: выход из ULP_STANDBY. |
25 | 23 | РФС | Сдержанный |
22 | 22 | BOOT_ RX_ULPDET | RX ULPDET привел к загрузке в режиме ULP-Standby. |
21 | 21 | РФС | Сдержанный |
20 | 20 | BOOT_SPI | Причина загрузки: низкий уровень сигнала SPI_NTS |
19 | 17 | РФС | Сдержанный |
16 | 16 | BOOT_GPIO3 | Причина загрузки: переход GPIO3 с низкого уровня на высокий. |
15 | 15 | BOOT_GPIO2 | Причина загрузки: переход GPIO2 с низкого уровня на высокий. |
14 | 14 | BOOT_GPIO1 | Причина загрузки: переход GPIO1 с низкого уровня на высокий. |
13 | 13 | BOOT_GPIO0 | Причина загрузки: переход GPIO0 с низкого уровня на высокий. |
12 | 12 | BOOT_LPDET | Причина загрузки: наличие внешнего радиочастотного поля в режиме ожидания/приостановки. |
11 | 11 | РФС | Сдержанный |
10 | 8 | РФС | Сдержанный |
7 | 7 | BOOT_SOFT_RESET | Причина загрузки из-за мягкого сброса микросхемы |
6 | 6 | BOOT_VDDIO_LOSS | Причина загрузки: потеря VDDIO. См. раздел 4.4.2.3. |
5 | 5 | BOOT_VDDIO_START | Причина загрузки, если режим STANDBY введен с VDDIO LOSS. См. раздел 4.4.2.3. |
4 | 4 | BOOT_WUC | Причина загрузки: истек счетчик пробуждения во время любого режима ожидания. |
3 | 3 | BOOT_TEMP | Причина загрузки: температура микросхемы превышает настроенный пороговый предел. См. раздел 4.4.2.1. |
2 | 2 | BOOT_WDG | Причина загрузки: сброс сторожевого таймера |
1 | 1 | РФС | Сдержанный |
0 | 0 | BOOT_POR | Причина загрузки: сброс при включении питания |
4.4.1.2.3 Определения битов для STANDBY_PREV_STATUS_DATA
Таблица 13. Определения битов STANDBY_PREV_STATUS_DATA
Немного | Бит от | Предотвращение режима ожидания | Режим ожидания прерван из-за |
31 | 26 | РФС | СДЕРЖАННЫЙ |
25 | 25 | РФС | СДЕРЖАННЫЙ |
24 | 24 | PREV_TEMP | Рабочая температура микросхемы выходит за пределы порогового значения |
23 | 23 | РФС | СДЕРЖАННЫЙ |
22 | 22 | PREV_HOSTCOMM | Связь с хост-интерфейсом |
21 | 21 | PREV_SPI | Сигнал SPI_NTS находится на низком уровне |
20 | 18 | РФС | СДЕРЖАННЫЙ |
17 | 17 | PREV_GPIO3 | Сигнал GPIO3 переходит с низкого на высокий |
16 | 16 | PREV_GPIO2 | Сигнал GPIO2 переходит с низкого на высокий |
15 | 15 | PREV_GPIO1 | Сигнал GPIO1 переходит с низкого на высокий |
14 | 14 | PREV_GPIO0 | Сигнал GPIO0 переходит с низкого на высокий |
13 | 13 | PREV_WUC | Счетчик пробуждения истек |
12 | 12 | PREV_LPDET | Обнаружение малой мощности. Возникает при обнаружении внешнего радиочастотного сигнала в процессе перехода в режим ожидания. |
11 | 11 | PREV_RX_ULPDET | Обнаружение сверхнизкой мощности RX. Происходит при обнаружении радиочастотного сигнала в процессе перехода в ULP_STANDBY. |
10 | 10 | РФС | СДЕРЖАННЫЙ |
9 | 5 | РФС | СДЕРЖАННЫЙ |
4 | 4 | РФС | СДЕРЖАННЫЙ |
3 | 3 | РФС | СДЕРЖАННЫЙ |
2 | 2 | РФС | СДЕРЖАННЫЙ |
1 | 1 | РФС | СДЕРЖАННЫЙ |
0 | 0 | РФС | СДЕРЖАННЫЙ |
4.4.1.2.4 Определения битов для GENERAL_ERROR_STATUS_DATA
Таблица 14. Определения битов GENERAL_ERROR_STATUS_DATA
Немного | Немного из | Статус ошибки | Описание |
31 | 6 | РФС | Сдержанный |
5 | 5 | XTAL_START_ERROR | Ошибка запуска XTAL во время загрузки |
4 | 4 | SYS_TRIM_RECOVERY_ERROR | Произошла внутренняя ошибка обрезки памяти системы, но восстановление не удалось. Система работает в пониженном режиме. |
3 | 3 | SYS_TRIM_RECOVERY_SUCCESS | Произошла внутренняя ошибка обрезки памяти системы, восстановление прошло успешно. Хост должен выполнить перезагрузку PN5190, чтобы восстановление вступило в силу. |
2 | 2 | TXLDO_ERROR | Ошибка TXLDO |
1 | 1 | CLOCK_ERROR | Ошибка часов |
0 | 0 | GPADC_ERROR | ошибка АЦП |
4.4.1.2.5 Определения битов для LPCD_STATUS_DATA
Таблица 15. Определения байтов LPCD_STATUS_DATA
Немного | Бит от | Применимость битов состояния в соответствии с базовой операцией LPCD или ULPCD. | Описание соответствующего бита задается в байте состояния. | ||
LPCD | УЛПКД | ||||
31 | 7 | РФС | Сдержанный | ||
6 | 6 | Прерывание_HIF | Y | N | Прервано из-за активности HIF |
5 | 5 | Ошибка CLKDET | N | Y | Прервано из-за ошибки CLKDET. |
4 | 4 | Тайм-аут XTAL | N | Y | Прервано из-за тайм-аута XTAL. |
3 | 3 | VDDPA LDO перегрузки по току | N | Y | Прервано из-за перегрузки по току VDDPA LDO. |
2 | 2 | Внешнее радиочастотное поле | Y | Y | Прервано из-за внешнего радиочастотного поля |
1 | 1 | Прерывание GPIO3 | N | Y | Прервано из-за изменения уровня GPIO3. |
0 | 0 | Карта обнаружена | Y | Y | Карта обнаружена |
4.4.1.2.6 Определения битов для данных состояния LPCD_CALIBRATION_DONE
Таблица 16. Определения байтов данных состояния LPCD_CALIBRATION_DONE для ULPCD
Немного | Бит от | Статус LPCD_CALIBRATION DONE событие | Описание соответствующего бита задается в байте состояния. |
31 | 11 | Сдержанный | |
10 | 0 | Эталонное значение калибровки ULPCD | Измеренное значение RSSI во время калибровки ULPCD, которое используется в качестве эталона во время ULPCD. |
Таблица 17. Определения байтов данных состояния LPCD_CALIBRATION_DONE для LPCD
Немного | Бит от | Применимость битов состояния в соответствии с базовой операцией LPCD или ULPCD. | Описание соответствующего бита задается в байте состояния. | ||
2 | 2 | Внешнее радиочастотное поле | Y | Y | Прервано из-за внешнего радиочастотного поля |
1 | 1 | Прерывание GPIO3 | N | Y | Прервано из-за изменения уровня GPIO3. |
0 | 0 | Карта обнаружена | Y | Y | Карта обнаружена |
4.4.2 Обработка различных сценариев загрузки
Микросхема PN5190 обрабатывает различные состояния ошибок, связанные с параметрами микросхемы, как показано ниже.
4.4.2.1 Обработка сценария перегрева при работе PN5190
Всякий раз, когда внутренняя температура микросхемы PN5190 достигает порогового значения, настроенного в поле EEPROM TEMP_WARNING [2], микросхема переходит в режим ожидания. И, следовательно, если поле EEPROM ENABLE_GPIO0_ON_OVERTEMP [2] настроено на отправку уведомления хосту, то GPIO0 будет поднят на высокий уровень, чтобы уведомить микросхему о перегреве.
Как только температура микросхемы упадет ниже порогового значения, указанного в поле EEPROM TEMP_WARNING [2], микросхема загрузится с BOOT_EVENT, как указано в таблице 11, и бит состояния загрузки BOOT_TEMP будет установлен, как указано в таблице 12, а GPIO0 будет переведен в низкий уровень.
4.4.2.2 Обработка сверхтоков
Если микросхема PN5190 обнаруживает состояние перегрузки по току, микросхема отключает радиочастотное питание и отправляет сообщение TX_OVERCURRENT_ERROR_EVENT, как показано в таблице 11.
Длительностью состояния перегрузки по току можно управлять, изменяя поле EEPROM TXLDO_CONFIG [2].
Информацию о пороге превышения тока IC см. в документе [2].
Примечание:
Если есть какие-либо другие ожидающие события или ответ, они будут отправлены на хост.
4.4.2.3 Потеря VDDIO во время работы
Если микросхема PN5190 обнаруживает отсутствие VDDIO (потеря VDDIO), микросхема переходит в режим ожидания.
IC загружается только тогда, когда доступен VDDIO, при этом BOOT_EVENT указан в таблице 11, а бит состояния загрузки BOOT_VDDIO_START установлен в соответствии с таблицей 12.
Информацию о статических характеристиках микросхемы PN5190 см. в документе [2].
4.4.3 Обработка сценариев прерывания
Микросхема PN5190 поддерживает прерывание текущих выполняемых команд, а поведение микросхемы PN5190, когда такая команда прерывания, как в разделе 4.5.4.5.2, отправляется на микросхему PN5190, показано в Таблице 18.
Примечание:
Когда микросхема PN5190 находится в режиме ULPCD и ULP-Standby, ее нельзя прервать ни отправкой раздела 4.5.4.5.2, ни запуском транзакции SPI (путем понижения уровня сигнала SPI_NTS).
Таблица 18. Ожидаемый ответ на событие при завершении различных команд с помощью раздела 4.5.4.5.2
Команды | Поведение при отправке команды Switch Mode Normal |
Все команды, где не введена низкая мощность | Для EVENT_STAUS установлено значение «IDLE_EVENT». |
Переключение режима LPCD | Для EVENT_STATUS установлено значение «LPCD_EVENT», а «LPCD_ STATUS_DATA» указывает биты состояния как «Abort_HIF». |
Переключение режима ожидания | Для EVENT_STAUS установлено значение «BOOT_EVENT», а «BOOT_ STATUS_DATA» указывает биты «BOOT_SPI». |
Режим переключения автоколла (без автономного режима, автономный режим с режимом ожидания и автономный режим без режима ожидания) | Для EVENT_STAUS установлено значение «AUTOCOLL_EVENT», а биты STATUS_DATA указывают, что команда была отменена пользователем. |
4.5 Подробности инструкции по работе в обычном режиме
4.5.1 Манипуляции с регистрами
Инструкции этого раздела используются для доступа к логическим регистрам PN5190.
4.5.1.1 ЗАПИСЬ_РЕГИСТРАЦИИ
Эта инструкция используется для записи 32-битного значения (с прямым порядком байтов) в логический регистр.
4.5.1.1.1 Условия
Адрес регистра должен существовать, и регистр должен иметь атрибут READ-WRITE или WRITE-ONLY.
4.5.1.1.2 Команда
Таблица 19. Значение команды WRITE_REGISTER Запись 32-битного значения в регистр.
Поле полезной нагрузки | Длина | Значение / Описание |
Зарегистрировать адрес | 1 байт | Адрес реестра. |
Таблица 19. Значение команды WRITE_REGISTER…продолжение
Запишите 32-битное значение в регистр.
Поле полезной нагрузки | Длина | Значение / Описание |
Ценить | 4 байт | 32-битное значение регистра, которое необходимо записать. (с прямым порядком байтов) |
4.5.1.1.3 Ответ
Таблица 20. Значение ответа WRITE_REGISTER
Поле полезной нагрузки | Длина | Значение / Описание |
Статус | 1 байт | Статус операции [Таблица 9]. Ожидаемые значения приведены ниже: |
PN5190_STATUS_SUCCESS | ||
PN5190_STATUS_INSTR_ERROR |
4.5.1.1.4 событие
Для этой команды нет событий.
4.5.1.2 ЗАПИСЬ_РЕГИСТРАЦИЯ_ИЛИ_МАСК
Эта инструкция используется для изменения содержимого регистра с помощью логической операции ИЛИ. Содержимое регистра считывается и с предоставленной маской выполняется логическая операция ИЛИ. Измененное содержимое записывается обратно в регистр.
4.5.1.2.1 Условия
Адрес регистра должен существовать, и регистр должен иметь атрибут READ-WRITE.
4.5.1.2.2 Команда
Таблица 21. Значение команды WRITE_REGISTER_OR_MASK Выполняет логическую операцию ИЛИ над регистром, используя предоставленную маску.
Поле полезной нагрузки | Длина | Значение/описание |
Зарегистрировать адрес | 1 байт | Адрес реестра. |
Маска | 4 байт | Битовая маска, используемая в качестве операнда для логической операции ИЛИ. (с прямым порядком байтов) |
4.5.1.2.3 Ответ
Таблица 22. Значение ответа WRITE_REGISTER_OR_MASK
Поле полезной нагрузки | Длина | Значение / Описание |
Статус | 1 байт | Статус операции [Таблица 9]. Ожидаемые значения приведены ниже: |
PN5190_STATUS_SUCCESS | ||
PN5190_STATUS_INSTR_ERROR |
4.5.1.2.4 событие
Для этой команды нет событий.
4.5.1.3 ЗАПИСЬ_РЕГИСТРАЦИЯ_И_МАСК
Эта инструкция используется для изменения содержимого регистра с помощью логической операции И. Читается содержимое регистра и выполняется логическая операция И с предоставленной маской. Измененное содержимое записывается обратно в регистр.
4.5.1.3.1 Условия
Адрес регистра должен существовать, и регистр должен иметь атрибут READ-WRITE.
4.5.1.3.2 Команда
Таблица 23. Значение команды WRITE_REGISTER_AND_MASK Выполняет логическую операцию И над регистром, используя предоставленную маску.
Поле полезной нагрузки | Длина | Значение/описание |
Зарегистрировать адрес | 1 байт | Адрес реестра. |
Маска | 4 байт | Битовая маска, используемая в качестве операнда для логической операции И. (с прямым порядком байтов) |
4.5.1.3.3 Ответ
Таблица 24. Значение ответа WRITE_REGISTER_AND_MASK
Поле полезной нагрузки | Длина | Значение / Описание |
Статус | 1 байт | Статус операции [Таблица 9]. Ожидаемые значения приведены ниже: |
PN5190_STATUS_SUCCESS | ||
PN5190_STATUS_INSTR_ERROR |
4.5.1.3.4 событие
Для этой команды нет событий.
4.5.1.4 WRITE_REGISTER_MULTIPLE
Функциональность данной инструкции аналогична Разделу 4.5.1.1, Разделу 4.5.1.2, Разделу 4.5.1.3, с возможностью их комбинирования. Фактически, он принимает массив набора значений типа регистра и выполняет соответствующее действие. Тип отражает действие: запись в регистр, логическую операцию ИЛИ над регистром или логическую операцию И над регистром.
4.5.1.4.1 Условия
Соответствующий логический адрес регистра в наборе должен существовать.
Атрибут доступа к реестру должен разрешать выполнение требуемого действия (типа):
- Действие записи (0x01): атрибут READ-WRITE или WRITE-ONLY.
- Действие маски ИЛИ (0x02): атрибут ЧТЕНИЕ-ЗАПИСЬ
- Действие маски И (0x03): атрибут ЧТЕНИЕ-ЗАПИСЬ
Размер массива Set должен находиться в диапазоне от 1 до 43 включительно.
Поле «Тип» должно быть в диапазоне от 1 до 3 включительно.
4.5.1.4.2 Команда
Таблица 25. Значение команды WRITE_REGISTER_MULTIPLE Выполните операцию записи в регистр, используя набор пар регистр-значение.
Поле полезной нагрузки | Длина | Значение/описание | |||
Установить [1…n] | 6 байт | Зарегистрировать адрес | 1 байт | Логический адрес регистра. | |
Тип | 1 байт | 0x1 | Написать Зарегистрироваться | ||
0x2 | Регистр записи ИЛИ маска | ||||
0x3 | Запись регистра и маски | ||||
Ценить | 4 байт | 32 Значение битового регистра, которое необходимо записать, или битовая маска, используемая для логической операции. (с прямым порядком байтов) |
Примечание. В случае исключения операция не откатывается, т.е. регистры, которые были изменены до возникновения исключения, остаются в измененном состоянии. Хост должен предпринять соответствующие действия для восстановления до определенного состояния.
4.5.1.4.3 Ответ
Таблица 26. Значение ответа WRITE_REGISTER_MULTIPLE
Поле полезной нагрузки | Длина | Значение / Описание |
Статус | 1 байт | Статус операции [Таблица 9]. Ожидаемые значения приведены ниже: |
PN5190_STATUS_SUCCESS | ||
PN5190_STATUS_INSTR_ERROR |
4.5.1.4.4 событие
Для этой команды нет событий.
4.5.1.5 ЧТЕНИЕ_РЕГИСТРА
Эта инструкция используется для обратного чтения содержимого логического регистра. Содержимое присутствует в ответе в виде 4-байтового значения в формате с прямым порядком байтов.
4.5.1.5.1 Условия
Адрес логического регистра должен существовать. Атрибут доступа к регистру должен быть либо ЧТЕНИЕ-ЗАПИСЬ, либо ТОЛЬКО ЧТЕНИЕ.
4.5.1.5.2 Команда
Таблица 27. Значение команды READ_REGISTER
Прочитать содержимое реестра.
Поле полезной нагрузки | Длина | Значение / Описание |
Зарегистрировать адрес | 1 байт | Адрес логического регистра |
4.5.1.5.3 Ответ
Таблица 28. Значение ответа READ_REGISTER
Поле полезной нагрузки | Длина | Значение / Описание |
Статус | 1 байт | Статус операции [Таблица 9]. Ожидаемые значения приведены ниже: |
PN5190_STATUS_SUCCESS PN5190_STATUS_INSTR_ERROR (дополнительных данных нет) | ||
Регистровое значение | 4 байт | Считанное 32-битное значение регистра. (с прямым порядком байтов) |
4.5.1.5.4 событие
Для этой команды нет событий.
4.5.1.6 ЧТЕНИЕ_РЕГИСТРАЦИИ_MULTIPLE
Эта инструкция используется для одновременного чтения нескольких логических регистров. Результат (содержимое каждого регистра) предоставляется в ответе на инструкцию. Сам адрес регистра не включается в ответ. Порядок содержимого регистров в ответе соответствует порядку адресов регистров в инструкции.
4.5.1.6.1 Условия
Все адреса регистров в инструкции должны существовать. Атрибут доступа для каждого регистра должен быть либо ЧТЕНИЕ-ЗАПИСЬ, либо ТОЛЬКО ЧТЕНИЕ. Размер массива Register Address должен находиться в диапазоне от 1 до 18 включительно.
4.5.1.6.2 Команда
Таблица 29. Значение команды READ_REGISTER_MULTIPLE Выполняет операцию чтения регистра для набора регистров.
Поле полезной нагрузки | Длина | Значение / Описание |
Адрес регистрации[1…n] | 1 байт | Зарегистрировать адрес |
4.5.1.6.3 Ответ
Таблица 30. Значение ответа READ_REGISTER_MULTIPLE
Поле полезной нагрузки | Длина | Значение/описание | ||
Статус | 1 байт | Статус операции [Таблица 9]. Ожидаемые значения приведены ниже: | ||
PN5190_STATUS_SUCCESS PN5190_STATUS_INSTR_ERROR (дополнительных данных нет) | ||||
Значение регистра [1…n] | 4 байт | Ценить | 4 байт | Считанное 32-битное значение регистра (с прямым порядком байтов). |
4.5.1.6.4 событие
Для этой команды нет событий.
4.5.2 Манипуляции с E2PROM
Доступная область в E2PROM соответствует карте EEPROM и адресуемому размеру.
Примечание:
1. Везде, где в приведенных ниже инструкциях упоминается «Адрес E2PROM», это относится к размеру адресуемой области EEPROM.
4.5.2.1 ЗАПИСЬ_E2PROM
Эта инструкция используется для записи одного или нескольких значений в E2PROM. Поле «Значения» содержит данные для записи в E2PROM, начиная с адреса, заданного полем «Адрес E2PROM». Данные записываются в последовательном порядке.
Примечание:
Обратите внимание, что это команда блокировки. Это означает, что NFC FE блокируется во время операции записи. Это может занять несколько миллисекунд.
4.5.2.1.1 Условия
Поле «Адрес E2PROM» должно находиться в диапазоне, указанном в [2]. Количество байт в поле «Значения» должно находиться в диапазоне от 1 до 1024 (0x0400) включительно. Операция записи не должна выходить за пределы адреса EEPROM, как указано в [2]. Ответ об ошибке должен быть отправлен хосту, если адрес превышает адресное пространство EEPROM, как в [2].
4.5.2.1.2 Команда
Таблица 31. Значение команды WRITE_E2PROM Последовательная запись заданных значений в E2PROM.
Поле полезной нагрузки | Длина | Значение/описание |
Адрес Е2ПРОМ | 2 байт | Адрес в EEPROM, с которого должна начаться операция записи. (Little-endian) |
Ценности | 1 – 1024 байта | Значения, которые необходимо записать в E2PROM в последовательном порядке. |
4.5.2.1.3 Ответ
Таблица 32. Значение ответа WRITE_EEPROM
Поле полезной нагрузки | Длина | Значение / Описание |
Статус | 1 байт | Статус операции [Таблица 9]. Ожидаемые значения приведены ниже: |
PN5190_STATUS_SUCCESS PN5190_STATUS_INSTR_ERROR PN5190_STATUS_MEMORY_ERROR |
4.5.2.1.4 событие
Для этой команды нет событий.
4.5.2.2 ЧТЕНИЕ_E2PROM
Эта инструкция используется для обратного чтения данных из области памяти E2PROM. Поле «Адрес E2PROM» указывает начальный адрес операции чтения. Ответ содержит данные, считанные из E2PROM.
4.5.2.2.1 Условия
Поле «Адрес E2PROM» должно находиться в допустимом диапазоне.
Поле «Количество байт» должно быть в диапазоне от 1 до 256 включительно.
Операция чтения не должна выходить за пределы последнего доступного адреса EEPROM.
Ответ об ошибке будет отправлен хосту, если адрес превышает адресное пространство EEPROM.
4.5.2.2.2 Команда
Таблица 33. Значение команды READ_E2PROM Последовательное считывание значений из E2PROM.
Поле полезной нагрузки | Длина | Значение/описание |
Адрес Е2ПРОМ | 2 байт | Адрес в E2PROM, с которого должна начаться операция чтения. (Little-endian) |
Количество байтов | 2 байт | Количество байтов, которые необходимо прочитать. (с прямым порядком байтов) |
4.5.2.2.3 Ответ
Таблица 34. Значение ответа READ_E2PROM
Поле полезной нагрузки | Длина | Значение / Описание |
Статус | 1 байт | Статус операции [Таблица 9]. Ожидаемые значения приведены ниже: |
PN5190_STATUS_SUCCESS | ||
PN5190_STATUS_INSTR_ERROR (дополнительных данных нет) | ||
Ценности | 1 – 1024 байта | Значения, которые были считаны в последовательном порядке. |
4.5.2.2.4 событие
Для этой команды нет событий.
4.5.2.3 ПОЛУЧИТЬ_CRC_USER_AREA
Эта инструкция используется для расчета CRC для всей области пользовательской конфигурации, включая область протокола микросхемы PN5190.
4.5.2.3.1 Команда
Таблица 35. Значение команды GET_CRC_USER_AREA
Считайте CRC области конфигурации пользователя, включая область протокола.
Поле полезной нагрузки | Длина | Значение / Описание |
– | – | Нет данных в полезной нагрузке |
4.5.2.3.2 Ответ
Таблица 36. Значение ответа GET_CRC_USER_AREA
Поле полезной нагрузки | Длина | Значение/описание |
Статус | 1 байт | Статус операции [Таблица 9]. Ожидаемые значения приведены ниже: |
PN5190_STATUS_SUCCESS | ||
PN5190_STATUS_INSTR_ERROR (дополнительных данных нет) | ||
Ценности | 4 байт | 4 байта данных CRC в формате с прямым порядком байтов. |
4.5.2.3.3 событие
Для этой команды нет событий.
4.5.3 Манипулирование данными CLIF
Инструкции, описанные в этом разделе, описывают команды для радиочастотной передачи и приема.
4.5.3.1 ОБМЕН_RF_ДАННЫХ
Функция радиочастотного обмена выполняет передачу данных TX и ожидает приема любых данных RX.
Функция возвращает значение в случае приема (ошибочного или правильного) или таймаута. Таймер запускается с КОНЕЦОМ ПЕРЕДАЧИ и останавливается с НАЧАЛОМ ПРИЕМА. Значение таймаута, предварительно настроенное в EEPROM, должно использоваться в случае, если таймаут не настроен перед выполнением команды Exchange.
Если transceiver_state
- в режиме IDLE вводится режим TRANSCEIVE.
- В WAIT_RECEIVE состояние трансивера сбрасывается в TRANSCEIVE MODE, если установлен бит инициатора.
- В WAIT_TRANSMIT состояние трансивера сбрасывается в TRANSCEIVE MODE, если бит инициатора НЕ установлен.
Поле «Количество действительных битов в последнем байте» указывает точную длину передаваемых данных.
4.5.3.1.1 Условия
Размер поля «Данные TX» должен быть в диапазоне от 0 до 1024 включительно.
Поле «Количество действительных битов в последнем байте» должно находиться в диапазоне от 0 до 7.
Эту команду нельзя вызывать во время текущей радиочастотной передачи. Команда должна обеспечить правильное состояние трансивера для передачи данных.
Примечание:
Эта команда действительна только для режима чтения и режима пассивного/активного инициатора P2P.
4.5.3.1.2 Команда
Таблица 37. Значение команды EXCHANGE_RF_DATA
Запишите данные TX во внутренний буфер радиочастотной передачи и начните передачу с помощью команды приема и дождитесь приема или истечения времени ожидания, чтобы подготовить ответ хосту.
Поле полезной нагрузки | Длина | Значение / Описание | |
Количество действительных битов в последнем байте | 1 байт | 0 | Передаются все биты последнего байта |
1 – 7 | Количество битов в последнем передаваемом байте. | ||
RFExchangeConfig | 1 байт | Настройка функции RFExchange. Подробности смотрите ниже |
Таблица 37. Значение команды EXCHANGE_RF_DATA…продолжение
Запишите данные TX во внутренний буфер радиочастотной передачи и начните передачу с помощью команды приема и дождитесь приема или истечения времени ожидания, чтобы подготовить ответ хосту.
Поле полезной нагрузки | Длина | Значение / Описание |
Данные передачи | n байт | Данные TX, которые должны быть отправлены через CLIF с использованием команды приема. n = 0 – 1024 байта |
Табл. 38. Битовая маска RFexchangeConfig
b7 | b6 | b5 | b4 | b3 | b2 | b1 | b0 | Описание |
Биты 4–7 – RFU. | ||||||||
X | Включить данные RX в ответ на основе RX_STATUS, если бит установлен в 1b. | |||||||
X | Включите в ответ регистр EVENT_STATUS, если бит установлен в 1b. | |||||||
X | Включите в ответ регистр RX_STATUS_ERROR, если бит установлен в 1b. | |||||||
X | Включите в ответ регистр RX_STATUS, если бит установлен в 1b. |
4.5.3.1.3 Ответ
Таблица 39. Значение ответа EXCHANGE_RF_DATA
Поле полезной нагрузки | Длина | Значение / Описание |
Статус | 1 байт | Статус операции [Таблица 9]. Ожидаемые значения приведены ниже: |
PN5190_STATUS_INSTR_SUCCESS PN5190_STATUS_INSTR_ERROR (дополнительные данные отсутствуют) PN5190_STATUS_TIMEOUT PN5190_STATUS_RX_TIMEOUT PN5190_STATUS_NO_RF_FIELD PN5190_STATUS_TIMEOUT_WITH_EMD_ERROR |
||
RX_STATUS | 4 байт | Если запрашивается RX_STATUS (с прямым порядком байтов) |
RX_STATUS_ERROR | 4 байт | Если запрашивается RX_STATUS_ERROR (с прямым порядком байтов) |
СОБЫТИЕ_СТАТУС | 4 байт | Если запрашивается EVENT_STATUS (с прямым порядком байтов) |
Данные приема | 1 – 1024 байта | Если запрашиваются данные RX. Данные RX, полученные во время фазы приема радиочастотного обмена. |
4.5.3.1.4 событие
Для этой команды нет событий.
4.5.3.2 ПЕРЕДАЧА_RF_ДАННЫХ
Эта инструкция используется для записи данных во внутренний буфер передачи CLIF и начала передачи с использованием внутренней команды приемопередачи. Размер этого буфера ограничен 1024 байтами. После выполнения этой инструкции автоматически запускается радиочастотный прием.
Команда возвращается сразу после завершения передачи, не дожидаясь завершения приема.
4.5.3.2.1 Условия
Количество байт в поле «Данные TX» должно находиться в диапазоне от 1 до 1024 включительно.
Эту команду нельзя вызывать во время текущей радиочастотной передачи.
4.5.3.2.2 Команда
Таблица 40. Значение команды TRANSMIT_RF_DATA Запись данных TX во внутренний буфер передачи CLIF.
Поле полезной нагрузки | Длина | Значение / Описание |
Количество действительных битов в последнем байте | 1 байт | 0 Передаются все биты последнего байта. 1–7 Число битов в последнем байте, которые необходимо передать. |
РФС | 1 байт | Сдержанный |
Данные передачи | 1 – 1024 байта | Данные TX, которые будут использоваться во время следующей радиочастотной передачи. |
4.5.3.2.3 Ответ
Таблица 41. Значение ответа TRANSMIT_RF_DATA
Поле полезной нагрузки | Длина | Значение / Описание |
Статус | 1 байт | Статус операции [Таблица 9]. Ожидаемые значения приведены ниже: |
PN5190_STATUS_INSTR_SUCCESS PN5190_STATUS_INSTR_ERROR PN5190_STATUS_NO_RF_FIELD PN5190_STATUS_NO_EXTERNAL_RF_FIELD |
4.5.3.2.4 событие
Для этой команды нет событий.
4.5.3.3 ПОЛУЧИТЬ_RF_ДАННЫЕ
Эта инструкция используется для чтения данных из внутреннего буфера CLIF RX, который содержит данные RF-ответа (если таковые имеются), отправленные в него из предыдущего выполнения раздела 4.5.3.1 с возможностью не включать полученные данные в ответ или раздел 4.5.3.2. .XNUMX команда.
4.5.3.3.1 Команда
Таблица 42. Значение команды RETRIEVE_RF_DATA Чтение данных RX из внутреннего буфера приема RF.
Поле полезной нагрузки | Длина | Значение / Описание |
Пустой | Пустой | Пустой |
4.5.3.3.2 Ответ
Таблица 43. Значение ответа RETRIEVE_RF_DATA
Поле полезной нагрузки | Длина | Значение / Описание |
Статус | 1 байт | Статус операции [Таблица 9]. Ожидаемые значения приведены ниже: |
Поле полезной нагрузки | Длина | Значение / Описание |
PN5190_STATUS_INSTR_SUCCESS PN5190_STATUS_INSTR_ERROR (дополнительных данных нет) |
||
Данные приема | 1 – 1024 байта | Данные RX, полученные во время последнего успешного радиочастотного приема. |
4.5.3.3.3 событие
Для этой команды нет событий.
4.5.3.4 ПОЛУЧЕНИЕ_RF_ДАННЫХ
Эта инструкция ожидает данных, полученных через RF-интерфейс считывателя.
В режиме чтения эта инструкция возвращает либо если есть прием (ошибочный, либо правильный) или произошел тайм-аут FWT. Таймер запускается с КОНЕЦОМ ПЕРЕДАЧИ и останавливается с НАЧАЛОМ ПРИЕМА. Значение таймаута по умолчанию, предварительно настроенное в EEPROM, должно использоваться в случае, если таймаут не настроен перед выполнением команды Exchange.
В целевом режиме эта инструкция возвращает либо в случае приема (ошибочного, либо правильного), либо в случае внешней ошибки радиочастотного сигнала.
Примечание:
Эта инструкция должна использоваться с командой TRANSMIT_RF_DATA для выполнения операций TX и RX…
4.5.3.4.1 Команда
Таблица 44. Значение команды RECEIVE_RF_DATA
Поле полезной нагрузки | Длина | Значение / Описание |
ПолучениеRFConfig | 1 байт | Конфигурация функции ReceiveRFConfig. Видеть Таблица 45 |
Табл. 45. Битовая маска ReceiveRFConfig
b7 | b6 | b5 | b4 | b3 | b2 | b1 | b0 | Описание |
Биты 4–7 – RFU. | ||||||||
X | Включить данные RX в ответ на основе RX_STATUS, если бит установлен в 1b. | |||||||
X | Включите в ответ регистр EVENT_STATUS, если бит установлен в 1b. | |||||||
X | Включите в ответ регистр RX_STATUS_ERROR, если бит установлен в 1b. | |||||||
X | Включите в ответ регистр RX_STATUS, если бит установлен в 1b. |
4.5.3.4.2 Ответ
Таблица 46. Значение ответа RECEIVE_RF_DATA
Поле полезной нагрузки | Длина | Значение/описание |
Статус | 1 байт | Статус операции [Таблица 9]. Ожидаемые значения приведены ниже: |
PN5190_STATUS_INSTR_SUCCESS PN5190_STATUS_INSTR_ERROR (дополнительных данных нет) PN5190_STATUS_TIMEOUT |
Поле полезной нагрузки | Длина | Значение/описание |
PN5190_STATUS_NO_RF_FIELD PN5190_STATUS_NO_EXTERNAL_RF_FIELD |
||
RX_STATUS | 4 байт | Если запрашивается RX_STATUS (с прямым порядком байтов) |
RX_STATUS_ERROR | 4 байт | Если запрашивается RX_STATUS_ERROR (с прямым порядком байтов) |
СОБЫТИЕ_СТАТУС | 4 байт | Если запрашивается EVENT_STATUS (с прямым порядком байтов) |
Данные приема | 1 – 1024 байта | Если запрашиваются данные RX. Данные RX, полученные по RF. |
4.5.3.4.3 событие
Для этой команды нет событий.
4.5.3.5 RETRIEVE_RF_FELICA_EMD_DATA (конфигурация FeliCa EMD)
Эта инструкция используется для чтения данных из внутреннего буфера CLIF RX, который содержит данные ответа FeliCa EMD (если таковые имеются), отправленные в него после предыдущего выполнения команды EXCHANGE_RF_DATA, возвращающейся со статусом «PN5190_STATUS_TIMEOUT_WITH_EMD_ERROR».
Примечание: Эта команда доступна, начиная с версии микропрограммы PN5190 v02.03.
4.5.3.5.1 Команда
Считайте данные RX из внутреннего буфера приема RF.
Таблица 47. Значение команды RETRIEVE_RF_FELICA_EMD_DATA
Поле полезной нагрузки | Длина | Значение / Описание | |
FeliCaRFRetreveConfig | 1 байт | 00 – ФФ | Конфигурация функции RETRIEVE_RF_FELICA_EMD_DATA |
описание конфигурации (битовая маска) | бит 7..2: РФС бит 1: включить в ответ регистр RX_STATUS_ ERROR, если бит установлен в 1b. бит 0: включить в ответ регистр RX_STATUS, если бит установлен в 1b. |
4.5.3.5.2 Ответ
Таблица 48. Значение ответа RETRIEVE_RF_FELICA_EMD_DATA
Поле полезной нагрузки | Длина | Значение/описание | |||
Статус | 1 байт | Статус операции. Ожидаемые значения приведены ниже: PN5190_STATUS_INSTR_SUCCESS PN5190_STATUS_INSTR_ERROR (дополнительные данные отсутствуют) | |||
RX_STATUS | 4 байт | Если запрашивается RX_STATUS (с прямым порядком байтов) | |||
RX_STATUS_ ОШИБКА | 4 байт | Если запрашивается RX_STATUS_ERROR (с прямым порядком байтов) |
Поле полезной нагрузки | Длина | Значение/описание | |||
Данные приема | 1…1024 байт | Данные FeliCa EMD RX, полученные во время последнего неудачного радиочастотного приема с использованием команды обмена. |
4.5.3.5.3 событие
Для этой команды нет событий.
4.5.4 Переключение режима работы
PN5190 поддерживает 4 различных режима работы:
4.5.4.1 Нормальный
Это режим по умолчанию, в котором разрешены все инструкции.
4.5.4.2 Режим ожидания
PN5190 находится в режиме ожидания/сна для экономии энергии. Условия пробуждения должны быть установлены так, чтобы определить, когда снова выходить из режима ожидания.
4.5.4.3 ЛКПД
PN5190 находится в режиме обнаружения карты с низким энергопотреблением, где он пытается обнаружить карту, которая входит в рабочий объем, с минимально возможным энергопотреблением.
4.5.4.4 Автоколл
PN5190 действует как радиочастотный прослушиватель, автономно выполняя активацию целевого режима (чтобы гарантировать ограничения в реальном времени).
4.5.4.5 SWITCH_MODE_NORMAL
Команда Switch Mode Normal имеет три варианта использования.
4.5.4.5.1 Вариант использования 1: вход в нормальный режим работы при включении питания (POR)
Используйте для сброса в состояние ожидания для приема/обработки следующей команды путем входа в нормальный режим работы.
4.5.4.5.2 Вариант использования 2: Прекращение уже запущенной команды для перехода в нормальный режим работы (команда прерывания)
Используйте для сброса в состояние ожидания для приема/обработки следующей команды путем прекращения уже запущенных команд.
С помощью этой команды можно будет завершить выполнение таких команд, как режим ожидания, LPCD, Exchange, PRBS и Autocoll.
Это единственная специальная команда, на которую нет ответа. Вместо этого у него есть уведомление о СОБЫТИИ.
Обратитесь к разделу 4.4.3 для получения дополнительной информации о типах событий, происходящих во время выполнения различных базовых команд.
4.5.4.5.2.1 Вариант использования 2.1:
Эта команда сбрасывает все регистры CLIF TX, RX и Field Control в состояние загрузки. Выдача этой команды должна отключить любое существующее радиочастотное поле.
4.5.4.5.2.2 Вариант использования 2.2:
Доступно начиная с PN5190 FW v02.03:
Эта команда не должна изменять регистры CLIF TX, RX и Field Control, а только переводить трансивер в состояние IDLE.
4.5.4.5.3 Вариант использования 3: Нормальный режим работы после мягкого сброса/выхода из режима ожидания, LPCD. В этом случае PN5190 напрямую переходит в нормальный режим работы, отправляя IDLE_EVENT на хост (рис. 12 или рис. 13) и « Бит IDLE_EVENT установлен в Таблице 11.
Отправлять команду SWITCH_MODE_NORMAL не требуется.
Примечание:
После переключения микросхемы в нормальный режим все настройки RF изменяются в состояние по умолчанию. Крайне важно, чтобы соответствующая конфигурация RF и другие связанные регистры были загружены соответствующими значениями перед выполнением операции RF ON или RF Exchange.
4.5.4.5.4 Командный кадр для отправки в различных случаях использования
4.5.4.5.4.1 Вариант использования 1: Команда входа в нормальный режим работы при включении питания (POR) 0x20 0x01 0x00
4.5.4.5.4.2 Вариант использования 2: команда для завершения уже запущенных команд и перехода в нормальный режим работы.
Пример использования 2.1:
0x20 0x00 0x00
Вариант использования 2.2: (Начиная с прошивки v02.02):
0x20 0x02 0x00
4.5.4.5.4.3 Вариант использования 3: Команда для нормального режима работы после мягкого сброса/выхода из режима ожидания, LPCD, ULPCD
Никто. PN5190 напрямую переходит в нормальный режим работы.
4.5.4.5.5 Ответ
Никто
4.5.4.5.6 событие
Устанавливается BOOT_EVENT (в регистре EVENT_STATUS), указывающий, что вошел нормальный режим, и отправляется на хост. Данные о событии см. на рисунках 12 и 13.
IDLE_EVENT (в регистре EVENT_STATUS) устанавливается, указывая на переход в нормальный режим, и отправляется на хост. Данные о событии см. на рисунках 12 и 13.
Устанавливается BOOT_EVENT (в регистре EVENT_STATUS), указывающий на переход в нормальный режим, и отправляется на хост. Данные о событии см. на рисунках 12 и 13.
4.5.4.6 SWITCH_MODE_AUTOCOLL
Автоколл режима переключения автоматически выполняет процедуру активации карты в целевом режиме.
Поле «Режим автоколла» должно находиться в диапазоне от 0 до 2 включительно.
В случае, если поле «Режим автоколла» установлено на 2 (Автоколл): Поле «РЧ-технологии» (Таблица 50) должно содержать битовую маску, указывающую радиочастотные технологии, которые будут поддерживаться во время автоколла.
В этом режиме нельзя отправлять никакие инструкции.
Завершение указывается с помощью прерывания.
4.5.4.6.1 Команда
Таблица 49. Значение команды SWITCH_MODE_AUTOCOLL
Параметр | Длина | Значение / Описание | |
Радиочастотные технологии | 1 байт | Битовая маска, указывающая радиочастотную технологию, которую следует прослушивать во время автоколла. | |
Режим автоколла | 1 байт | 0 | Нет автономного режима, т.е. автоколл прекращается при отсутствии внешнего радиочастотного поля. |
Прекращение действия в случае | |||
• NO RF FIELD или RF FIELD исчезло. | |||
• PN5190 АКТИВИРОВАН в ЦЕЛЕВОМ режиме. | |||
1 | Автономный режим с режимом ожидания. Если радиочастотное поле отсутствует, Autocoll автоматически переходит в режим ожидания. Как только будет обнаружено внешнее радиочастотное поле, PN5190 снова перейдет в режим автоколла. | ||
Прекращение действия в случае | |||
• PN5190 АКТИВИРОВАН в ЦЕЛЕВОМ режиме. | |||
Начиная с PN5190 прошивки версия 02.03 и далее: Если поле EEPROM «bCard ModeUltraLowPowerEnabled» по адресу «0xCDF» установлено в «1», то PN5190 переходит в режим ожидания со сверхнизким энергопотреблением. | |||
2 | Автономный режим без режима ожидания. Если радиочастотное поле отсутствует, PN5190 ждет, пока радиочастотное поле не появится, прежде чем запускать алгоритм автоколла. Режим ожидания в этом случае не используется. | ||
Прекращение действия в случае • PN5190 АКТИВИРОВАН в ЦЕЛЕВОМ режиме. |
Таблица 50. Битовая маска RF Technologies
b7 | b6 | b5 | b4 | b3 | b2 | b1 | b0 | Описание |
0 | 0 | 0 | 0 | РФС | ||||
X | Если установлено значение 1b, включено прослушивание NFC-F Active. (Нет в наличии). | |||||||
X | Если установлено значение 1b, включено прослушивание NFC-A Active. (Нет в наличии). | |||||||
X | Если установлено значение 1b, включено прослушивание NFC-F. | |||||||
X | Если установлено значение 1b, включено прослушивание NFC-A. |
4.5.4.6.2 Ответ
Ответ лишь сигнализирует о том, что команда обработана.
Таблица 51. Значение ответа SWITCH_MODE_AUTOCOLL
Поле полезной нагрузки | Длина | Значение / Описание |
Статус | 1 байт | Статус операции [Таблица 9]. Ожидаемые значения приведены ниже: |
PN5190_STATUS_INSTR_SUCCESS PN5190_STATUS_INSTR_ERROR (режим переключения не введен из-за неправильных настроек) |
4.5.4.6.3 событие
Уведомление о событии отправляется после завершения команды и перехода в нормальный режим. Хост должен считывать байты ответа на основе значения события.
Примечание:
Если статус отличается от «PN5190_STATUS_INSTR_SUCCESS», то дальнейшие байты данных «Протокол» и «Card_Activated» отсутствуют.
Информация о технологии извлекается из регистров с помощью команд Раздела 4.5.1.5, Раздела 4.5.1.6.
В следующей таблице показаны данные о событии, которые отправляются как часть сообщения о событии (рис. 12 и рис. 13).
Таблица 52. EVENT_SWITCH_MODE_AUTOCOLL – данные AUTOCOLL_EVENT Переключение режима работы Событие автоколла
Поле полезной нагрузки | Длина | Значение / Описание | |
Статус | 1 байт | Статус операции | |
PN5190_STATUS_INSTR_SUCCESS | PN5190 АКТИВИРОВАН в ЦЕЛЕВОМ режиме. Дальнейшие данные в этом случае действительны. |
||
PN5190_STATUS_PREVENT_STANDBY | Указывает, что PN5190 не может перейти в режим ожидания. Этот статус действителен только в том случае, если для режима автоколла выбрано значение «Автономный режим с режимом ожидания». |
PN5190_STATUS_NO_EXTERNAL_RF_ ПОЛЕ | Указывает на отсутствие внешнего радиочастотного поля во время выполнения автоколла в неавтономном режиме. | ||
PN5190_STATUS_USER_CANCELLED | Указывает, что текущая выполняемая команда прерывается нормальной командой переключения режима. | ||
Протокол | 1 байт | 0x10 | Активирован как пассивный тип A |
0x11 | Активирован как пассивный TypeF 212 | ||
0x12 | Активирован как пассивный TypeF 424 | ||
0x20 | Активирован как активный типA | ||
0x21 | Активирован как активный TypeF 212 | ||
0x22 | Активирован как активный TypeF 424 | ||
Другие ценности | Неверный | ||
Карта_активирована | 1 байт | 0x00 | Нет процесса активации карты согласно ISO 14443-3. |
0x01 | Указывает, что устройство активировано в пассивном режиме. |
Примечание:
После чтения данных о событии данные, полученные от активированной карты/устройства (например, n байтов ATR_REQ/RATS согласно ISO18092/ISO1443-4), должны быть прочитаны с помощью команды раздела 4.5.3.3.
4.5.4.6.4 Коммуникацияample
4.5.4.7 SWITCH_MODE_STANDBY
Переключение режима ожидания автоматически переводит микросхему в режим ожидания. Микросхема выйдет из режима пробуждения после того, как настроенные источники пробуждения удовлетворят условиям пробуждения.
Примечание:
Истечение срока действия счетчика для ULP STANDBY и прерывание HIF для STANDBY доступны по умолчанию для выхода из режимов ожидания.
4.5.4.7.1 Команда
Таблица 53. Значение команды SWITCH_MODE_STANDBY
Параметр | Длина | Значение / Описание |
Конфигурация | 1 байт | Битовая маска, управляющая используемым источником пробуждения и входом в режим ожидания. Ссылаться на Таблица 54 |
Значение счетчика | 2 байт | Используемое значение счетчика пробуждения в миллисекундах. Максимальное поддерживаемое значение — 2690 для режима ожидания. Максимальное поддерживаемое значение — 4095 для режима ожидания ULP. Значение, которое должно быть предоставлено, имеет формат с прямым порядком байтов. Содержимое этого параметра действительно, только если «Битовая маска конфигурации» включена для пробуждения по истечении срока действия счетчика. |
Табл. 54. Битовая маска конфигурации
b7 | b6 | b5 | b4 | b3 | b2 | b1 | b0 | Описание |
X | Войдите в режим ожидания ULP, если бит установлен в 1b. Войдите в режим ожидания, если бит установлен в 0b. | |||||||
0 | РФС | |||||||
X | Пробуждение по GPIO-3, когда он высокий, если бит установлен на 1b. (Не применимо для режима ожидания ULP) | |||||||
X | Пробуждение по GPIO-2, когда он высокий, если бит установлен на 1b. (Не применимо для режима ожидания ULP) | |||||||
X | Пробуждение по GPIO-1, когда он высокий, если бит установлен на 1b. (Не применимо для режима ожидания ULP) | |||||||
X | Пробуждение по GPIO-0, когда он высокий, если бит установлен на 1b. (Не применимо для режима ожидания ULP) | |||||||
X | Счетчик пробуждения при пробуждении истекает, если бит установлен на 1b. Для ULP-Standby эта опция включена по умолчанию. | |||||||
X | Пробуждение по внешнему радиочастотному полю, если бит установлен на 1b. |
Примечание: Начиная с PN5190 FW v02.03, если поле EEPROM «CardModeUltraLowPowerEnabled» по адресу «0xCDF» установлено в «1», резервную конфигурацию ULP нельзя использовать с командой SWITCH_MODE_STANDBY.
4.5.4.7.2 Ответ
Ответ только сигнализирует о том, что команда обработана, и состояние ожидания будет введено только после того, как ответ будет полностью прочитан хостом.
Таблица 55. Значение ответа SWITCH_MODE_STANDBY Переключение режима работы в режим ожидания
Поле полезной нагрузки | Длина | Значение / Описание |
Статус | 1 байт | Статус операции [Таблица 9]. Ожидаемые значения приведены ниже: |
PN5190_STATUS_INSTR_SUCCESS PN5190_STATUS_INSTR_ERROR (режим переключения не был введен – из-за неправильных настроек) |
4.5.4.7.3 событие
Уведомление о событии отправляется после завершения команды и перехода в нормальный режим. Обратитесь к формату события, которое будет отправлено после завершения команды, как показано на рисунках 12 и 13.
В случае, если PN5190 не может перейти в режим ожидания, то бит события «STANDBY_PREV_EVENT», установленный в EVENT_STATUS, как указано в таблице 11, отправляется на хост по причине предотвращения перехода в режим ожидания, как указано в таблице 13.
4.5.4.7.4 Связь Example
4.5.4.8 SWITCH_MODE_LPCD
LPCD режима переключения выполняет обнаружение расстройки антенны из-за изменения окружающей среды вокруг антенны.
Существует 2 разных режима LPCD. Решение на базе аппаратного обеспечения (ULPCD) обеспечивает конкурентоспособное энергопотребление при пониженной чувствительности. Решение на базе FW (LPCD) обеспечивает лучшую в своем классе чувствительность при повышенном энергопотреблении.
В одиночном режиме на основе встроенного ПО (LPCD) событие калибровки не отправляется на хост.
При вызове одиночного режима калибровка и последующие измерения выполняются после выхода из режима ожидания.
Для события калибровки в одиночном режиме сначала запустите одиночный режим с командой события калибровки. После калибровки принимается событие калибровки LPCD, после чего необходимо отправить команду одиночного режима с опорным значением, полученным на предыдущем этапе, в качестве входного параметра.
Конфигурация LPCD выполняется в настройках данных EEPROM/Flash перед вызовом команды.
Примечание:
Прерывание GPIO3 для ULPCD, прерывание HIF для LPCD доступны по умолчанию для выхода из режимов низкого энергопотребления.
Пробуждение по истечении срока действия счетчика всегда включено.
Для ULPCD конфигурация DC-DC должна быть отключена в настройках EEPROM/Flash Data и должна обеспечивать питание VUP через VBAT. Должны быть выполнены необходимые настройки перемычек. Информацию о настройках EEPROM/Flash Data см. в документе [2].
Если команда предназначена для калибровки LPCD/ULPCD, хост все равно должен отправить полный кадр.
4.5.4.8.1 Команда
Таблица 56. Значение команды SWITCH_MODE_LPCD
Параметр | Длина | Значение/описание | |
бКонтроль | 1 байт | 0x00 | Введите калибровку ULPCD. Команда прекращается после калибровки, и на хост отправляется событие с эталонным значением. |
0x01 | Введите УЛПКД | ||
0x02 | LPCD-калибровка. Команда прекращается после калибровки, и на хост отправляется событие с эталонным значением. | ||
0x03 | Введите LPCD | ||
0x04 | Одиночный режим | ||
0x0C | Одиночный режим с событием калибровки | ||
Другие ценности | РФС | ||
Контроль пробуждения | 1 байт | Битовая маска, управляющая источником пробуждения, который будет использоваться для LPCD/ULPCD. Содержимое этого поля не учитывается при калибровке. Ссылаться на Таблица 57 | |
Справочное значение | 4 байт | Эталонное значение, которое будет использоваться во время ULPCD/LPCD. Для ULPCD байт 2, содержащий значение ВЧ-аттенюатора, используется как на этапе калибровки, так и на этапе измерения. Для LPCD содержимое этого поля не учитывается при калибровке и одиночном режиме. Ссылаться на Таблица 58 для правильной информации обо всех 4 байтах. |
|
Значение счетчика | 2 байт | Значение счетчика пробуждения в миллисекундах. Максимальное поддерживаемое значение — 2690 для LPCD. Максимальное поддерживаемое значение — 4095 для ULPCD. Значение, которое должно быть предоставлено, имеет формат с прямым порядком байтов. Содержимое этого поля не учитывается при калибровке LPCD. Для одиночного режима и одиночного режима с событием калибровки продолжительность режима ожидания перед калибровкой можно настроить в конфигурации EEPROM: LPCD_SETTINGS->wCheck Period. Для одиночного режима с калибровкой значение WUC должно быть отличным от нуля. |
Таблица 57. Битовая маска управления пробуждением
b7 | b6 | b5 | b4 | b3 | b2 | b1 | b0 | Описание |
0 | 0 | 0 | 0 | 0 | 0 | 0 | РФС | |
X | Пробуждение по внешнему радиочастотному полю, если бит установлен на 1b. |
Таблица 58. Информация о байтах опорного значения
Байты опорного значения | УЛПКД | LPCD |
Байт 0 | Ссылочный байт 0 | Канал 0. Опорный байт 0. |
Байт 1 | Ссылочный байт 1 | Канал 0. Опорный байт 1. |
Байт 2 | Значение ВЧ-аттенюатора | Канал 1. Опорный байт 0. |
Байт 3 | NA | Канал 1. Опорный байт 1. |
4.5.4.8.2 Ответ
Таблица 59. Значение ответа SWITCH_MODE_LPCD
Поле полезной нагрузки | Длина | Значение / Описание |
Статус | 1 байт | Статус операции [Таблица 9]. Ожидаемые значения приведены ниже: |
PN5190_STATUS_INSTR_SUCCESS PN5190_STATUS_INSTR_ERROR (режим переключения не был введен – из-за неправильных настроек) |
4.5.4.8.3 событие
Уведомление о событии отправляется после завершения команды и перехода в нормальный режим со следующими данными как часть события, упомянутого на рисунках 12 и 13.
Таблица 60. EVT_SWITCH_MODE_LPCD
Поле полезной нагрузки | Длина | Значение / Описание |
Статус LPCD | См. Таблицу 15 | См. Таблицу 154.5.4.8.4 Коммуникационный Ex.ample |
4.5.4.9 SWITCH_MODE_DOWNLOAD
Команда Switch Mode Download переходит в режим загрузки прошивки.
Единственный способ выйти из режима загрузки — выполнить сброс до PN5190.
4.5.4.9.1 Команда
Таблица 61. Значение команды SWITCH_MODE_DOWNLOAD
Параметр | Длина | Значение / Описание |
– | – | Неважно |
4.5.4.9.2 Ответ
Ответ только сигнализирует о том, что команда обработана, и режим загрузки должен быть введен после того, как ответ будет прочитан хостом.
Таблица 62. Значение ответа SWITCH_MODE_DOWNLOAD
Переключение режима работы Автоколл
Поле полезной нагрузки | Длина | Значение / Описание |
Статус | 1 байт | Статус операции [Таблица 9]. Ожидаемые значения приведены ниже: |
PN5190_STATUS_SUCCESS PN5190_STATUS_INSTR_ERROR (режим переключения не введен) |
4.5.4.9.3 событие
Нет генерации событий.
4.5.4.9.4 Связь Example
4.5.5 Классическая аутентификация MIFARE
4.5.5.1 MFC_AUTHENTICATE
Эта инструкция используется для выполнения классической аутентификации MIFARE на активированной карте. Для аутентификации по заданному адресу блока требуется ключ, UID карты и тип ключа. Ответ содержит один байт, указывающий статус аутентификации.
4.5.5.1.1 Условия
Поле Key должно иметь длину 6 байт. Поле «Тип ключа» должно содержать значение 0x60 или 0x61. Адрес блока может содержать любой адрес от 0x0 до 0xff включительно. Поле UID должно иметь длину в байтах и содержать 4-байтовый UID карты. Карту на основе продукта ISO14443-3 MIFARE Classic следует перевести в состояние АКТИВНО или АКТИВНО* перед выполнением этой инструкции.
В случае ошибки выполнения, связанной с аутентификацией, это поле «Состояние аутентификации» устанавливается соответствующим образом.
4.5.5.1.2 Команда
Таблица 63. Команда MFC_AUTHENTICATE
Выполните аутентификацию на активированной карте продукта MIFARE Classic.
Поле полезной нагрузки | Длина | Значение / Описание | |
Ключ | 6 байт | Ключ аутентификации, который будет использоваться. | |
Тип ключа | 1 байт | 0x60 | Ключ типа А |
0x61 | Ключ типа Б | ||
Блокировать адрес | 1 байт | Адрес блока, для которого необходимо выполнить аутентификацию. | |
УИД | 4 байт | UID карты. |
4.5.5.1.3 Ответ
Таблица 64. Ответ MFC_AUTHENTICATE
Ответ на MFC_AUTHENTICATE.
Поле полезной нагрузки | Длина | Значение / Описание |
Статус | 1 байт | Статус операции [Таблица 9]. Ожидаемые значения приведены ниже: |
PN5190_STATUS_INSTR_SUCCESS PN5190_STATUS_INSTR_ERROR PN5190_STATUS_TIMEOUT PN5190_STATUS_AUTH_ERROR |
4.5.5.1.4 событие
Для этой инструкции нет события.
4.5.6 Поддержка ISO 18000-3M3 (EPC GEN2)
4.5.6.1 EPC_GEN2_INVENTORY
Данная инструкция используется для проведения инвентаризации ISO18000-3M3. tags. Он реализует автономное выполнение нескольких команд в соответствии с ISO18000-3M3, чтобы гарантировать время, указанное этим стандартом.
Если она присутствует в полезных данных инструкции, сначала выполняется команда Select, а затем команда BeginRound.
Если в первом временном интервале есть действительный ответ (нет тайм-аута, нет коллизий), инструкция отправляет ACK и сохраняет полученный PC/XPC/UII. Затем инструкция выполняет действие в соответствии с полем «Поведение обработки временного интервала»:
- Если в этом поле установлено значение 0, выдается команда NextSlot для обработки следующего временного интервала. Это повторяется до тех пор, пока внутренний буфер не заполнится.
- Если в этом поле установлено значение 1, алгоритм приостанавливается.
- Если в этом поле установлено значение 2, команда Req_Rn выдается тогда и только тогда, когда было действительное tag ответ в этом временном интервалеКоманда
Поле «Выбрать длину команды» должно содержать длину поля «Выбрать команду», которая должна находиться в диапазоне от 1 до 39 включительно. Если «Выбрать длину команды» равно 0, поля «Действительные биты в последнем байте» и «Выбрать команду» не должны присутствовать.
Поле «Биты в последнем байте» должно содержать количество битов, которые будут переданы в последнем байте поля «Выбор команды». Значение должно находиться в диапазоне от 1 до 7 включительно. Если значение равно 0, передаются все биты последнего байта поля «Выбор команды».
Поле «Выбрать команду» должно содержать команду «Выбрать» в соответствии с ISO18000-3M3 без завершающего CRC-16c и должно иметь ту же длину, что указана в поле «Выбрать длину команды».
Поле «Команда BeginRound» должно содержать команду BeginRound в соответствии с ISO18000-3M3 без завершающего CRC-5. Последние 7 бит последнего байта команды BeginRound игнорируются, поскольку фактическая длина команды составляет 17 бит.
«Поведение обработки временного интервала» должно содержать значение от 0 до 2 включительно.
Таблица 65. Значение команды EPC_GEN2_INVENTORY Выполнение инвентаризации ISO 18000-3M3
Поле полезной нагрузки | Длина | Значение/описание | |
РезюмеИнвентарь | 1 байт | 00 | Начальный GEN2_INVENTORY |
01 | Возобновите команду GEN2_INVENTORY – оставшиеся
поля ниже пусты (любая полезная нагрузка игнорируется) |
||
Выберите длину команды | 1 байт | 0 | Перед командой BeginRound не задана команда Select. Поле «Действительные биты в последнем байте» и поле «Выбрать команду» не должны присутствовать. |
1 – 39 | Длина (n) поля «Выбрать команду». | ||
Допустимые биты в последнем байте | 1 байт | 0 | Передаются все биты последнего байта поля «Выбор команды». |
1 – 7 | Количество битов, которые будут переданы в последнем байте поля «Выбрать команду». | ||
Выберите команду | n байт | Если оно присутствует, это поле содержит команду Select (согласно ISO18000-3, таблица 47), которая отправляется перед командой BeginRound. CRC-16c не должен включаться. | |
Команда Начать Раунд | 3 байт | Это поле содержит команду BeginRound (согласно ISO18000-3, таблица 49). CRC-5 не должен включаться. | |
Поведение обработки временного интервала | 1 байт | 0 | Ответ содержит макс. Количество временных интервалов, которые могут поместиться в буфере ответа. |
1 | Ответ содержит только один временной интервал. | ||
2 | Ответ содержит только один временной интервал. Если временной интервал содержит действительный ответ карты, также включается дескриптор карты. |
4.5.6.1.1 Ответ
Длина ответа может быть «1» в случае возобновления инвентаризации.
Таблица 66. Значение ответа EPC_GEN2_INVENTORY
Поле полезной нагрузки | Длина | Значение / Описание | |||
Статус | 1 байт | Статус операции [Таблица 9]. Ожидаемые значения приведены ниже: | |||
PN5190_STATUS_SUCCESS (Чтение статуса временного интервала в следующем байте для Tag ответ) PN5190_STATUS_INSTR_ERROR (дополнительных данных нет) |
|||||
Временной интервал [1…n] | 3 – 69 байта | Статус временного интервала | 1 байт | 0 | Tag доступен ответ. 'Tag Длина ответа», поле «Действительные биты в последнем байте» и «Tag Поле ответа присутствует. |
1 | Tag доступен ответ. | ||||
2 | Нет tag ответил во временном интервале. 'Tag Поле «Длина ответа» и поле «Действительные биты в последнем байте» должны быть установлены на ноль. 'Tag Поле ответа не должно присутствовать. | ||||
3 | Два или более tags ответил во временном интервале. (Столкновение). 'Tag Поле «Длина ответа» и поле «Действительные биты в последнем байте» должны быть установлены на ноль. 'Tag Поле ответа не должно присутствовать. |
Tag Длина ответа | 1 байт | 0-66 | Длина 'Tag Поле «Ответ» (i). Если Tag Длина ответа равна 0, тогда Tag Поле для ответа отсутствует. | ||
Допустимые биты в последнем байте | 1 байт | 0 | Все биты последнего байта 'Tag поле ответа» являются действительными. | ||
1-7 | Количество действительных битов последнего байта 'Tag поле ответа. Если Tag Длина ответа равна нулю, значение этого байта игнорируется. | ||||
Tag Отвечать | 'н' байты | Ответ tag согласно ISO18000-3_2010, таблица 56. | |||
Tag Ручка | 0 или 2 байта | Ручка tag, если в поле «Состояние временного интервала» установлено значение «1». В противном случае поле отсутствует. |
4.5.6.1.2 событие
Для этой команды нет событий.
4.5.7 Управление радиочастотной конфигурацией
Обратитесь к разделу 6, чтобы узнать о конфигурации TX и RX для различных радиочастотных технологий и скоростей передачи данных, поддерживаемых PN5190. Значения, не попадающие в указанный ниже диапазон, следует рассматривать как ОЕФ.
4.5.7.1 ЗАГРУЗКА_RF_КОНФИГУРАЦИЯ
Эта инструкция используется для загрузки радиочастотной конфигурации из EEPROM во внутренние регистры CLIF. RF-конфигурация представляет собой уникальную комбинацию RF-технологии, режима (цель/инициатор) и скорости передачи данных. Радиочастотную конфигурацию можно загрузить отдельно для тракта приемника CLIF (конфигурация RX) и передатчика (конфигурация TX). Значение 0xFF необходимо использовать, если соответствующая конфигурация пути не подлежит изменению.
4.5.7.1.1 Условия
Поле «Конфигурация TX» должно находиться в диапазоне от 0x00 до 0x2B включительно. Если значение равно 0xFF, конфигурация передачи не изменяется.
Поле «Конфигурация RX» должно находиться в диапазоне от 0x80 до 0xAB включительно. Если значение равно 0xFF, конфигурация RX не изменяется.
Специальная конфигурация с конфигурацией TX = 0xFF и конфигурацией RX = 0xAC используется для однократной загрузки регистров загрузки.
Эта специальная конфигурация необходима для обновления конфигураций регистров (как TX, так и RX), которые отличаются от значений сброса IC.
4.5.7.1.2 Команда
Таблица 67. Значение команды LOAD_RF_CONFIGURATION
Загрузите настройки RF TX и RX из E2PROM.
Поле полезной нагрузки | Длина | Значение / Описание | |
Конфигурация передачи | 1 байт | 0xFF | Конфигурация TX RF не изменилась. |
0x0 — 0x2B | Соответствующая конфигурация TX RF загружена. | ||
Конфигурация приема | 1 байт | 0xFF | Конфигурация RX RF не изменилась. |
0x80 – 0xAB | Загружена соответствующая RF-конфигурация RX. |
4.5.7.1.3 Ответ
Таблица 68. Значение ответа LOAD_RF_CONFIGURATION
Поле полезной нагрузки | Длина | Значение / Описание |
Статус | 1 байт | Статус операции [Таблица 9]. Ожидаемые значения приведены ниже: |
PN5190_STATUS_SUCCESS PN5190_STATUS_INSTR_ERROR |
4.5.7.1.4 событие
Для этой команды нет событий.
4.5.7.2 UPDATE_RF_CONFIGURATION
Эта инструкция используется для обновления радиочастотной конфигурации (см. определение в разделе 4.5.7.1) в E2PROM. Инструкция допускает обновление при значении детализации регистра, т.е. не весь комплект нужно обновлять (хотя это можно сделать).
4.5.7.2.1 Условия
Размер массива полей Configuration должен быть в диапазоне от 1 до 15 включительно. Массив полей Configuration должен содержать набор RF Configuration, Register Address и Value. Поле RF конфигурации должно находиться в диапазоне от 0x0 – 0x2B для конфигурации TX и 0x80 – 0xAB для конфигурации RX включительно. Адрес в поле «Адрес регистра» должен существовать в соответствующей радиочастотной конфигурации. Поле Value должно содержать значение, которое должно быть записано в данный регистр, и должно иметь длину 4 байта (формат с прямым порядком байтов).
4.5.7.2.2 Команда
Таблица 69. Значение команды UPDATE_RF_CONFIGURATION
Обновите конфигурацию RF
Поле полезной нагрузки | Длина | Значение / Описание | ||
Конфигурация[1…n] | 6 байт | Радиочастотная конфигурация | 1 байт | RF Конфигурация, для которой необходимо изменить регистр. |
Зарегистрировать адрес | 1 байт | Адрес регистрации в рамках данной радиочастотной технологии. | ||
Ценить | 4 байт | Значение, которое необходимо записать в регистр. (с прямым порядком байтов) |
4.5.7.2.3 Ответ
Таблица 70. Значение ответа UPDATE_RF_CONFIGURATION
Поле полезной нагрузки | Длина | Значение / Описание |
Статус | 1 байт | Статус операции [Таблица 9]. Ожидаемые значения приведены ниже: |
PN5190_STATUS_SUCCESS PN5190_STATUS_INSTR_ERROR PN5190_STATUS_MEMORY_ERROR |
4.5.7.2.4 событие
Для этой команды нет событий.
4.5.7.3 ПОЛУЧЕНИЕ_RF_КОНФИГУРАЦИИ
Эта инструкция используется для считывания радиочастотной конфигурации. Пары адрес-значение регистра доступны в ответе. Чтобы узнать, сколько пар ожидается, можно получить информацию о первом размере из первого TLV, который указывает общую длину полезной нагрузки.
4.5.7.3.1 Условия
Поле RF конфигурации должно находиться в диапазоне от 0x0 – 0x2B для конфигурации TX и 0x80 –0xAB для конфигурации RX включительно.
4.5.7.3.2 Команда
Таблица 71. Значение команды GET_ RF_CONFIGURATION Получение радиочастотной конфигурации.
Поле полезной нагрузки | Длина | Значение / Описание |
РЧ-конфигурация | 1 байт | Конфигурация RF, для которой необходимо получить набор пар значений регистров. |
4.5.7.3.3 Ответ
Таблица 72. GET_ RF_CONFIGURATION Значение ответа
Поле полезной нагрузки | Длина | Значение / Описание | ||
Статус | 1 байт | Статус операции [Таблица 9]. Ожидаемые значения приведены ниже: | ||
PN5190_STATUS_SUCCESS PN5190_STATUS_INSTR_ERROR (дополнительных данных нет) |
||||
Пара[1…n] | 5 байт | Зарегистрировать адрес | 1 байт | Адрес регистрации в рамках данной радиочастотной технологии. |
Ценить | 4 байт | 32-битное значение регистра. |
4.5.7.3.4 событие
Для инструкции нет события.
4.5.8 Обработка радиочастотного поля
4.5.8.1 RF_ON
Эта инструкция используется для включения RF. Регулирование DPC при начальном включении FieldOn должно выполняться с помощью этой команды.
4.5.8.1.1 Команда
Таблица 73. Значение команды RF_FIELD_ON
Настройте RF_FIELD_ON.
Поле полезной нагрузки | Длина | Значение / Описание | ||
RF_on_config | 1 байт | Бит 0 | 0 | Используйте предотвращение столкновений |
1 | Отключить предотвращение столкновений | |||
Бит 1 | 0 | Нет активного P2P | ||
1 | P2P активен |
4.5.8.1.2 Ответ
Таблица 74. Значение ответа RF_FIELD_ON
Поле полезной нагрузки | Длина | Значение / Описание |
Статус | 1 байт | Статус операции [Таблица 9]. Ожидаемые значения приведены ниже: |
PN5190_STATUS_SUCCESS PN5190_STATUS_INSTR_ERROR PN5190_STATUS_RF_COLLISION_ERROR (РЧ-поле не включается из-за РЧ-коллизии) PN5190_STATUS_TIMEOUT (RF-поле не включено из-за тайм-аута) PN5190_STATUS_TXLDO_ERROR (ошибка TXLDO из-за VUP недоступна) PN5190_STATUS_RFCFG_NOT_APPLIED (конфигурация RF не применяется до этой команды) |
4.5.8.1.3 событие
Для этой инструкции нет события.
4.5.8.2 RF_OFF
Эта инструкция используется для отключения радиочастотного поля.
4.5.8.2.1 Команда
Таблица 75. Значение команды RF_FIELD_OFF
Поле полезной нагрузки | Длина | Значение / Описание |
Пустой | Пустой | пустой |
4.5.8.2.2 Ответ
Таблица 76. Значение ответа RF_FIELD_OFF
Поле полезной нагрузки | Длина | Значение / Описание |
Статус | 1 байт | Статус операции [Таблица 9]. Ожидаемые значения приведены ниже: |
PN5190_STATUS_SUCCESS PN5190_STATUS_INSTR_ERROR (дополнительных данных нет) |
4.5.8.2.3 событие
Для этой инструкции нет события.
4.5.9 Конфигурация тестовой шины
Доступные сигналы тестовой шины в выбранных конфигурациях PAD перечислены в разделе 7 для справки.
Их необходимо использовать для обеспечения конфигурации инструкций тестовой шины, как указано ниже.
4.5.9.1 НАСТРОЙКА _TESTBUS_DIGITAL
Эта инструкция используется для переключения доступного сигнала цифровой тестовой шины на выбранных конфигурациях контактных площадок.
4.5.9.1.1 Команда
Таблица 77. Значение команды CONFIGURE_TESTBUS_DIGITAL
Поле полезной нагрузки | Длина | Значение/описание | |
TB_SignalIndex | 1 байт | См. Раздел 7 | |
TB_BitIndex | 1 байт | См. Раздел 7 | |
TB_PadIndex | 1 байт | Индекс пэда, на котором будет выводиться цифровой сигнал. | |
0x00 | контакт AUX1 | ||
0x01 | контакт AUX2 | ||
0x02 | контакт AUX3 | ||
0x03 | контакт GPIO0 | ||
0x04 | контакт GPIO1 | ||
0x05 | контакт GPIO2 | ||
0x06 | контакт GPIO3 | ||
0x07-0xFF | РФС |
4.5.9.1.2 Ответ
Таблица 78. Значение ответа CONFIGURE_TESTBUS_DIGITAL
Поле полезной нагрузки | Длина | Значение / Описание |
Статус | 1 байт | Статус операции [Таблица 9]. Ожидаемые значения приведены ниже: |
PN5190_STATUS_SUCCESS PN5190_STATUS_INSTR_ERROR (дополнительных данных нет) |
4.5.9.1.3 событие
Для этой инструкции нет события.
4.5.9.2 CONFIGURE_TESTBUS_ANALOG
Эта инструкция используется для получения доступного аналогового сигнала тестовой шины на выбранных конфигурациях контактных площадок.
Сигнал на аналоговой тестовой шине можно получить в разных режимах. Они есть:
4.5.9.2.1 Режим RAW
В этом режиме сигнал, выбранный TB_SignalIndex0, сдвигается на Shift_Index0, маскируется с помощью Mask0 и выводится на AUX1. Аналогично, сигнал, выбранный TB_SignalIndex1, сдвигается Shift_Index1, маскируется с помощью Mask1 и выводится на AUX2.
Этот режим предлагает пользователю гибкость в выводе любого сигнала шириной 8 бит или меньше и не требующего преобразования знака для вывода на аналоговые площадки.
4.5.9.2.2 КОМБИНИРОВАННЫЙ режим
В этом режиме аналоговый сигнал будет представлять собой 10-битное знаковое значение ADCI/ADCQ/pcrm_if_rssi, преобразованное в беззнаковое значение, уменьшенное до 8 бит и затем выведенное на контактные площадки AUX1 или AUX2.
Только одно из преобразованных значений ADCI/ADCQ (10-бит) может быть выведено на AUX1/AUX2 в любой момент времени.
Если значение поля полезной нагрузки сигналакомбинированного режима равно 2 (комбинированный аналоговый и цифровой сигнал), то аналоговая и цифровая тестовая шина маршрутизируется на AUX1 (аналоговый сигнал) и GPIO0 (цифровой сигнал).
Сигналы, подлежащие маршрутизации, настраиваются по адресу EEPROM, указанному ниже:
0xCE9 — TB_SignalIndex
0xCEA — TB_BitIndex
0xCEB – аналоговый TB_Index
Индекс тестовой шины и бит тестовой шины должны быть настроены в EEPROM, прежде чем мы запустим комбинированный режим с опцией 2.
Примечание:
Хост должен предоставить все поля независимо от их применимости в «необработанном» или «комбинированном» режиме. Микросхема PN5190 учитывает только применимые значения полей.
4.5.9.2.3 Команда
Таблица 79. Значение команды CONFIGURE_TESTBUS_ANALOG
Поле полезной нагрузки | Длина | Значение/описание | Область применения для комбинированного режима | |
бконфиг | 1 байт | Настраиваемые биты. Ссылаться на Таблица 80 | Да | |
Сигнал комбинированного режима | 1 байт | 0 – ADCI/ADCQ 1 – pcrm_if_rssi |
Да | |
2 – Аналоговый и цифровой комбинированный | ||||
3 – 0xFF – Зарезервировано |
TB_SignalIndex0 | 1 байт | Индекс сигнала аналогового сигнала. Ссылаться на Раздел 7 | Да | |
TB_SignalIndex1 | 1 байт | Индекс сигнала аналогового сигнала. Ссылаться на Раздел 7 | Да | |
Shift_Index0 | 1 байт | Положения смещения входа DAC0. Направление будет определяться битом в bConfig[1]. | Нет | |
Shift_Index1 | 1 байт | Положения смещения входа DAC1. Направление будет определяться битом в bConfig[2]. | Нет | |
Маска0 | 1 байт | Маска ЦАП0 | Нет | |
Маска1 | 1 байт | Маска ЦАП1 | Нет |
Таблица 80. Битовая маска конфигурации
b7 | b6 | b5 | b4 | b3 | b2 | b1 | b0 | Описание | Применимо к режиму |
X | X | Сдвиг выхода DAC1 Диапазон – 0, 1, 2 | Сырой | ||||||
X | X | Сдвиг выхода DAC0 Диапазон – 0, 1, 2 | Сырой | ||||||
X | В комбинированном режиме сигнал на выводе AUX1/AUX2. 0 ➜ Сигнал на AUX1 1 ➜ Сигнал на AUX2 |
Комбинированный | |||||||
X | Направление смещения входа DAC1 0 ➜ Сдвиг вправо 1 ➜ Сдвиг влево |
Сырой | |||||||
X | Направление смещения входа DAC0 0 ➜ Сдвиг вправо 1 ➜ Сдвиг влево |
Сырой | |||||||
X | Режим. 0 ➜ Необработанный режим 1 ➜ Комбинированный режим |
Сырой/комбинированный |
4.5.9.2.4 Ответ
Таблица 81. Значение ответа CONFIGURE_TESTBUS_ANALOG
Поле полезной нагрузки | Длина | Значение / Описание |
Статус | 1 байт | Статус операции [Таблица 9]. Ожидаемые значения приведены ниже: |
PN5190_STATUS_SUCCESS PN5190_STATUS_INSTR_ERROR (дополнительных данных нет) |
4.5.9.2.5 событие
Для этой инструкции нет события.
4.5.9.3 CONFIGURE_MULTIPLE_TESTBUS_DIGITAL
Эта инструкция используется для переключения нескольких доступных сигналов цифровой тестовой шины на выбранных конфигурациях контактных площадок.
Примечание: Если эта длина равна НУЛЮ, то цифровая тестовая шина находится в состоянии СБРОС.
4.5.9.3.1 Команда
Таблица 82. Значение команды CONFIGURE_MULTIPLE_TESTBUS_DIGITAL
Поле полезной нагрузки | Длина | Значение/описание | |
TB_SignalIndex #1 | 1 байт | См. 8 ниже | |
TB_BitIndex #1 | 1 байт | См. 8 ниже | |
TB_PadIndex #1 | 1 байт | Индекс пэда, на котором будет выводиться цифровой сигнал. | |
0x00 | контакт AUX1 | ||
0x01 | контакт AUX2 | ||
0x02 | контакт AUX3 | ||
0x03 | контакт GPIO0 | ||
0x04 | контакт GPIO1 | ||
0x05 | контакт GPIO2 | ||
0x06 | контакт GPIO3 | ||
0x07-0xFF | РФС | ||
TB_SignalIndex #2 | 1 байт | См. 8 ниже | |
TB_BitIndex #2 | 1 байт | См. 8 ниже | |
TB_PadIndex #2 | 1 байт | Индекс пэда, на котором будет выводиться цифровой сигнал. | |
0x00 | контакт AUX1 | ||
0x01 | контакт AUX2 | ||
0x02 | контакт AUX3 | ||
0x03 | контакт GPIO0 | ||
0x04 | контакт GPIO1 | ||
0x05 | контакт GPIO2 | ||
0x06 | контакт GPIO3 | ||
0x07-0xFF | РФС |
4.5.9.3.2 Ответ
Таблица 83. Значение ответа CONFIGURE_MULTIPLE_TESTBUS_DIGITAL
Поле полезной нагрузки | Длина | Значение / Описание |
Статус | 1 байт | Статус операции [Таблица 2]. Ожидаемые значения приведены ниже: |
PN5190_STATUS_SUCCESS PN5190_STATUS_INSTR_ERROR (дополнительных данных нет) |
4.5.9.3.3 событие
Для этой инструкции нет события.
4.5.10 Конфигурация CTS
4.5.10.1 CTS_ENABLE
Эта инструкция используется для включения/отключения функции ведения журнала CTS.
4.5.10.1.1 Команда
Таблица 84. Значение команды CTS_ENABLE
Длина поля полезной нагрузки Значение/описание | ||||
Включить/Выключить | 1 байт | Бит 0 | 0 | Отключите функцию ведения журнала CTS |
1. Включите функцию ведения журнала CTS. |
||||
Бит 1-7 | РФС |
4.5.10.1.2 Ответ
Таблица 85. Значение ответа CTS_ENABLE
Поле полезной нагрузки | Длина | Значение / Описание |
Статус | 1 байт | Статус операции [Таблица 9]. Ожидаемые значения приведены ниже: |
PN5190_STATUS_SUCCESS PN5190_STATUS_INSTR_ERROR (дополнительных данных нет) |
4.5.10.1.3 событие
В следующей таблице показаны данные о событии, которые будут отправлены как часть сообщения о событии, как показано на рисунках 12 и 13.
Таблица 86. Это информирует хост о том, что данные были получены. EVT_CTS_DONE
Поле полезной нагрузки | Длина | Значение / Описание |
Событие | 1 байт | 00 … Произошел TRIGGER, данные готовы к приему. |
4.5.10.2 CTS_CONFIGURE
Эта инструкция используется для настройки всех необходимых регистров CTS, таких как триггеры, регистры тестовой шины и т. д.ampконфигурация ling и т. д.,
Примечание:
[1] обеспечивает лучшее понимание конфигурации CTS. Собранные данные должны быть отправлены как часть ответа на команду Раздела 4.5.10.3.
4.5.10.2.1 Команда
Таблица 87. Значение команды CTS_CONFIGURE
Поле полезной нагрузки | Длина | Значение / Описание |
PRE_TRIGGER_SHIFT | 1 байт | Определяет длину последовательности сбора данных после запуска в блоках по 256 байт. 0 означает отсутствие смещения; n означает сдвиг блока n*256 байт. Примечание. Действительно только в том случае, если TRIGGER_MODE имеет режим триггера «PRE» или «COMB». |
TRIGGER_MODE | 1 байт | Указывает используемый режим сбора данных. |
0x00 — режим POST | ||
0x01 — РФС | ||
0x02 — ПРЕДВАРИТЕЛЬНЫЙ режим | ||
0x03 – 0xFF – Неверно | ||
RAM_PAGE_WIDTH | 1 байт | Указывает объем встроенной памяти, охватываемой сбором данных. Степень детализации выбрана проектно и составляет 256 байт (т.е. 64 32-битных слова). Допустимые значения приведены ниже: 0x00h – 256 байт 0x02h – 768 байт 0x01h – 512 байт 0x03h – 1024 байт 0x04h – 1280 байт 0x05h – 1536 байт 0x06h – 1792 байт 0x07h – 2048 байт 0x08h – 2304 байт 0x09h – 2560 байт 0x0Ah – 2816 байт 0x0Bh – 3072 байта 0x0Ch – 3328 байт 0x0Dh – 3584 байта 0x0Eh – 3840 байт 0x0Fh – 4096 байт 0x10h – 4352 байт 0x11h – 4608 байт 0x12h – 4864 байт 0x13h – 5120 байт 0x14h – 5376 байт 0x15h – 5632 байт 0x16h – 5888 байт 0x17h – 6144 байт 0x18h – 6400 байт 0x19h – 6656 байт 0x1Ah – 6912 байт 0x1Bh – 7168 байта 0x1Ch – 7424 байт 0x1Dh – 7680 байта 0x1Eh – 7936 байт 0x1Fh – 8192 байт |
SAMPLE_CLK_DIV | 1 байт | Десятичное значение этого поля определяет коэффициент деления тактовой частоты, который будет использоваться во время сбора данных. Тактовая частота CTS = 13.56 МГц/2SAMPLE_CLK_DIV |
00 – 13560 кГц 01 – 6780 кГц 02 – 3390 кГц 03 – 1695 кГц 04 – 847.5 кГц 05 – 423.75 кГц 06 – 211.875 кГц 07 – 105.9375 кГц 08 – 52.96875 кГц 09 – 26.484375 кГц 10 – 13.2421875 кГц 11 – 6.62109375 кГц 12 – 3.310546875 кГц 13 – 1.6552734375 кГц 14 – 0.82763671875 кГц 15 – 0.413818359375 кГц |
||
SAMPLE_BYTE_SEL | 1 байт | Эти биты используются для указания того, какие байты двух 16-битных входных шин участвуют в механизме чередования, который генерирует данные для передачи во встроенную память. Их значение и использование зависят от SAMPЗначения LE_MODE_SEL.
Примечание. Данное значение всегда маскируется с помощью 0x0F, после чего учитывается эффективное значение. |
SAMPLE_MODE_SEL | 1 байт | Выбирает sampрежим чередования, как описано в спецификациях проекта CTS. Десятичное значение 3 зарезервировано и будет рассматриваться как 0. Примечание. Данное значение всегда маскируется с помощью 0x03, после чего учитывается эффективное значение. |
ТБ0 | 1 байт | Выбирает тестовую шину для подключения к TB0. Ссылаться на Раздел 7 (значение TB_ Signal_Index) |
ТБ1 | 1 байт | Выбирает тестовую шину для подключения к TB1. Ссылаться на Раздел 7 (значение TB_ Signal_Index) |
ТБ2 | 1 байт | Выбирает тестовую шину для подключения к TB2. Ссылаться на Раздел 7 (значение TB_ Signal_Index) |
ТБ3 | 1 байт | Выбирает тестовую шину для подключения к TB3. Ссылаться на Раздел 7 (значение TB_ Signal_Index) |
ТТБ_SELECT | 1 байт | Выбирает, какой ТВ будет подключен к источникам триггера. Ссылаться на Раздел 7 (значение TB_Signal_Index) |
РФС | 4 байт | Отправлять всегда 0x00000000 |
MISC_CONFIG | 24 байт | Возникновение триггеров, полярность и т. д. См. [1] для понимания используемой конфигурации CTS. |
4.5.10.2.2 Ответ
Таблица 88. Значение ответа CTS_CONFIGURE
Поле полезной нагрузки | Длина | Значение / Описание |
Статус | 1 байт | Статус операции [Таблица 9]. Ожидаемые значения приведены ниже: |
PN5190_STATUS_SUCCESS PN5190_STATUS_INSTR_ERROR |
4.5.10.2.3 событие
Для этой инструкции нет события.
4.5.10.3 CTS_RETRIEVE_LOG
Эта инструкция извлекает журнал данных захваченных данных тестовой шины.ampфайлы, хранящиеся в буфере памяти.
4.5.10.3.1 Команда
Таблица 89. Значение команды CTS_RETRIEVE_LOG
Поле полезной нагрузки | Длина | Значение / Описание | |
Размер чанка | 1 байт | 0x01-0xFF | Содержит количество ожидаемых байтов данных. |
4.5.10.3.2 Ответ
Таблица 90. Значение ответа CTS_RETRIEVE_LOG
Поле полезной нагрузки | Длина | Значение / Описание |
Статус | 1 байт | Статус операции [Таблица 9]. Ожидаемые значения приведены ниже: |
PN5190_STATUS_SUCCESS PN5190_STATUS_INSTR_ERROR (дополнительных данных нет) PN5190_STATUS_SUCCSES_CHAINING |
||
Данные журнала [1…n] | CTSRequest | Захвачено Sampблок данных les |
Примечание:
Максимальный размер «Данных журнала» зависит от «ChunkSize», указанного как часть команды.
Общий размер журнала должен быть доступен в ответе заголовка TLV.
4.5.10.3.3 событие
Для этой инструкции нет события.
4.5.11 Команды TEST_MODE
4.5.11.1 АНТЕННА_САМОТЕСТ
Эта инструкция используется для проверки того, подключена ли антенна и установлены/собраны ли соответствующие компоненты.
Примечание:
Эта команда пока недоступна. Доступность см. в примечаниях к выпуску.
4.5.11.2 PRBS_TEST
Эта инструкция используется для генерации последовательности PRBS для различных конфигураций протоколов режима чтения и скоростей передачи данных. Как только инструкция будет выполнена, тестовая последовательность PRBS будет доступна на RF.
Примечание:
Перед отправкой этой команды хост должен убедиться, что соответствующая конфигурация радиочастотной технологии загружена с помощью раздела 4.5.7.1 и радиочастота включена с помощью команды раздела 4.5.8.1.
4.5.11.2.1 Команда
Таблица 91. Значение команды PRBS_TEST
Поле полезной нагрузки | Длина | Значение / Описание | |
prbs_type | 1 байт | 00 | PRBS9 (по умолчанию) |
01 | PRBS15 | ||
02-ФФ | РФС |
4.5.11.2.2 Ответ
Таблица 92. Значение ответа PRBS_TEST
Поле полезной нагрузки | Длина | Значение / Описание |
Статус | 1 байт | Статус операции [Таблица 9]. Ожидаемые значения приведены ниже: |
PN5190_STATUS_SUCCESS PN5190_STATUS_INSTR_ERROR PN5190_STATUS_NO_RF_FIELD |
4.5.11.2.3 событие
Для этой инструкции нет события.
4.5.12 Команды информации о чипе
4.5.12.1 ПОЛУЧИТЬ_DIEID
Эта инструкция используется для считывания идентификатора кристалла микросхемы PN5190.
4.5.12.1.1 Команда
Таблица 93. Значение команды GET_DIEID
Поле полезной нагрузки | Длина | Значение / Описание |
– | – | Нет данных в полезной нагрузке |
4.5.12.1.2 Ответ
Таблица 94. Значение ответа GET_DIEID
Поле полезной нагрузки | Длина | Значение/описание |
Статус | 1 байт | Статус операции [Таблица 9]. Ожидаемые значения приведены ниже: |
PN5190_STATUS_SUCCESS PN5190_STATUS_INSTR_ERROR (дополнительные данные отсутствуют) |
||
Ценности | 16 байт | 16-байтовый идентификатор кристалла. |
4.5.12.1.3 событие
Для этой команды нет событий.
4.5.12.2 ПОЛУЧИТЬ_ВЕРСИЮ
Эта инструкция используется для считывания версии аппаратного обеспечения, версии ПЗУ и версии встроенного ПО чипа PN5190.
4.5.12.2.1 Команда
Таблица 95. Значение команды GET_VERSION
Поле полезной нагрузки | Длина | Значение / Описание |
– | – | Нет данных в полезной нагрузке |
В режиме загрузки доступна команда DL_GET_VERSION (раздел 3.4.4), которую можно использовать для считывания версии аппаратного обеспечения, версии ПЗУ и версии встроенного ПО.
4.5.12.2.2 Ответ
Таблица 96. Значение ответа GET_VERSION
Поле полезной нагрузки | Длина | Значение / Описание |
Статус | 1 байт | Статус операции [Таблица 9]. Ожидаемые значения приведены ниже: |
PN5190_STATUS_SUCCESS PN5190_STATUS_INSTR_ERROR (дополнительных данных нет) |
||
HW_V | 1 байт | Аппаратная версия |
РО_В | 1 байт | ПЗУ-код |
FW_V | 2 байта | Версия прошивки (используется для загрузки) |
РФЕ1-РФЕ2 | 1-2 байтов | – |
Ожидаемый ответ для другой версии микросхемы PN5190 указан в разделе 3.4.4.
4.5.12.2.3 событие
Для этой команды нет событий.
Приложение (Примерampв)
Это приложение состоит из бывшихampфайлы для вышеупомянутых команд. ЭксampФайлы предназначены только для иллюстративных целей, чтобы показать содержимое команды.
5.1 пр.ampфайл для WRITE_REGISTER
Следующая последовательность данных, отправленных с хоста, для записи значения 0x12345678 в регистр 0x1F.
Командный кадр отправлен на номер PN5190: 0000051F78563412.
Хост ждет прерывания.
Когда хост считывает ответный кадр, полученный от PN5190 (что указывает на успешную операцию): 00000100 5.2 Пример.ampфайл для WRITE_REGISTER_OR_MASK
Следующая последовательность данных, отправляемых с хоста для выполнения логической операции ИЛИ над регистром 0x1F с маской 0x12345678.
Командный кадр отправлен на номер PN5190: 0100051F78563412.
Хост ждет прерывания.
Когда хост считывает ответный кадр, полученный от PN5190 (что указывает на успешную операцию): 01000100
5.3 пр.ampфайл для WRITE_REGISTER_AND_MASK
Следующая последовательность данных, отправляемых с хоста для выполнения логической операции И над регистром 0x1F с маской 0x12345678.
Командный кадр отправлен на номер PN5190: 0200051F78563412.
Хост ждет прерывания.
Когда хост считывает ответный кадр, полученный от PN5190 (что указывает на успешную операцию): 02000100
5.4 пр.ampфайл для WRITE_REGISTER_MULTIPLE
Следующая последовательность данных, отправляемых с хоста для выполнения логической операции И над регистром 0x1F с маской 0x12345678, логической операции ИЛИ над регистром 0x20 с маской 0x11223344 и записи в регистр 0x21 со значением 0xAABBCCDD.
Командный кадр отправлен на PN5190: 0300121F03785634122002443322112101DDCCBBAA
Хост ждет прерывания.
Когда хост считывает ответный кадр, полученный от PN5190 (что указывает на успешную операцию): 03000100
5.5 пр.ampфайл для READ_REGISTER
Следующая последовательность данных, отправленных с хоста для чтения содержимого регистра 0x1F и предполагающая, что регистр имеет значение 0x12345678.
Командный кадр отправлен на PN5190: 0400011F
Хост ждет прерывания.
Когда хост считывает ответный кадр, полученный от PN5190 (что указывает на успешную операцию): 0400050078563412
5.6 пр.ampфайл для READ_REGISTER_MULTIPLE
Следующая последовательность данных, отправленных с хоста, для чтения содержимого регистров 0x1F, содержащих значение 0x12345678, и регистра 0x25, содержащих значение 0x11223344.
Командный кадр отправлен на номер PN5190: 0500021F25.
Хост ждет прерывания.
Когда хост прочитал ответ, получен кадр от PN5190 (указывающий на успешную операцию): 050009007856341244332211.
5.7 пр.ampфайл для WRITE_E2PROM
Следующая последовательность данных, отправленных с хоста для записи в ячейки E2PROM от 0x0130 до 0x0134 с содержимым 0x11, 0x22, 0x33, 0x44, 0x55.
Командный кадр отправлен на номер PN5190: 06000730011122334455.
Хост ждет прерывания.
Когда хост читает ответ, получен кадр от PN5190 (указывающий на успешную операцию): 06000100
5.8 пр.ampфайл для READ_E2PROM
Следующая последовательность данных, отправленных с хоста для чтения из ячеек E2PROM от 0x0130 до 0x0134, где сохраненное содержимое: 0x11, 0x22, 0x33, 0x44, 0x55.
Командный кадр отправлен на номер PN5190: 07000430010500.
Хост ждет прерывания.
Когда хост прочитал ответ, получен кадр от PN5190 (указывающий на успешную операцию): 070006001122334455.
5.9 пр.ampфайл для TRANSMIT_RF_DATA
Следующая последовательность данных, отправленных с хоста для отправки команды REQA (0x26), с количеством передаваемых битов как «0x07», при условии, что необходимые регистры установлены заранее и RF включен.
Командный кадр отправлен на номер PN5190: 0800020726.
Хост ждет прерывания.
Когда хост читает ответ, получен кадр от PN5190 (указывающий на успешную операцию): 08000100
5.10 пр.ampфайл для RETREIVE_RF_DATA
Следующая последовательность данных, отправленных с хоста, для получения данных, полученных/сохраненных во внутреннем буфере CLIF (при условии, что был получен 0x05), при условии, что TRANSMIT_RF_DATA уже отправлен после включения RF.
Командный кадр отправлен на номер PN5190: 090000.
Хост ждет прерывания.
Когда хост читает ответ, получен кадр от PN5190 (указывающий на успешную операцию): 090003000400
5.11 пр.ampфайл для EXCHANGE_RF_DATA
Следующая последовательность данных, отправленных с хоста для передачи REQA (0x26), с количеством битов в последнем байте для отправки, установленным как 0x07, со всем статусом, который должен быть получен вместе с данными. Предполагается, что необходимые регистры RF уже установлены и RF включен.
Командный кадр отправлен на PN5190: 0A0003070F26
Хост ждет прерывания.
Когда хост прочитал ответ, получен кадр от PN5190 (указывающий на успешную операцию): 0A000 F000200000000000200000000004400
5.12 пр.ampфайл для LOAD_RF_CONFIGURATION
Следующая последовательность данных, отправляемых с хоста для установки радиочастотной конфигурации. Для передачи 0x00 и для приема 0x80.
Командный кадр отправлен на PN5190: 0D00020080
Хост ждет прерывания.
Когда хост читает ответ, получен кадр от PN5190 (указывающий успешную операцию): 0D000100.
5.13 пр.ampфайл для UPDATE_RF_CONFIGURATION
Следующая последовательность данных, отправляемых с хоста для обновления конфигурации RF. Для TX: 0x00, с адресом регистра CLIF_CRC_TX_CONFIG и значением 0x00000001.
Командный кадр отправлен на PN5190: 0E0006001201000000
Хост ждет прерывания.
Когда хост прочитал ответ, получен кадр от PN5190 (указывающий успешную операцию): 0E000100.
5.14 пр.ampфайл для RF_ON
Следующая последовательность данных, отправленных с хоста для включения радиочастотного поля с использованием предотвращения коллизий и отсутствия активности P2P. Предполагается, что соответствующая конфигурация RF TX и RX уже установлена в PN5190.
Командный кадр отправлен на номер PN5190: 10000100.
Хост ждет прерывания.
Когда хост читает ответ, получен кадр от PN5190 (указывающий на успешную операцию): 10000100
5.15 пр.ampфайл для RF_OFF
Следующая последовательность данных, отправленных с хоста для выключения радиочастотного поля.
Командный кадр отправлен на номер PN5190: 110000.
Хост ждет прерывания.
Когда хост читает ответ, получен кадр от PN5190 (указывающий на успешную операцию): 11000100
Приложение (индексы конфигурации RF-протокола)
В этом приложении представлены указатели конфигурации радиочастотного протокола, поддерживаемые PN5190.
Настройки конфигурации TX и RX должны использоваться в командах Раздела 4.5.7.1, Раздела 4.5.7.2, Раздела 4.5.7.3.
Приложение (сигналы CTS и TESTBUS)
В таблице ниже указаны различные сигналы, доступные от PN5190 для захвата с помощью инструкций CTS (раздел 4.5.10) и инструкций TESTBUS.
Их необходимо использовать для команд Раздела 4.5.9.1, Раздела 4.5.9.2, Раздела 4.5.10.2.
Сокращения
Таблица 97. Сокращения
Сокр. | Значение |
КЛК | Часы |
ДВЛ_РЕК | PIN-код запроса на загрузку (также называемый DL_REQ) |
EEPROM | Электрически стираемая программируемая память только для чтения |
FW | Прошивка |
Земля | Земля |
GPIO | Вход/выход общего назначения |
HW | Аппаратное обеспечение |
I²C | Межинтегральная схема (последовательная шина данных) |
IRQ | Запрос на прерывание |
ISO / IEC | Международная организация по стандартизации/Международное электротехническое сообщество |
НФК | Связь ближнего поля |
OS | Операционная система |
PCD | Устройство бесконтактной связи (бесконтактный считыватель) |
ПИЦК | Бесконтактная интегральная карта (бесконтактная карта) |
ПМУ | Блок управления питанием |
ПОР | Сброс при включении |
RF | Радиочастотный |
РСТ | Перезагрузить |
SFWU | безопасный режим загрузки прошивки |
СПИ | Последовательный периферийный интерфейс |
ВЕН | V Включить контакт |
Ссылки
[1] Конфигурационная часть CTS панели управления NFC, https://www.nxp.com/products/:NFC-COCKPIT[2] Технический паспорт ИС PN5190, https://www.nxp.com/docs/en/data-sheet/PN5190.pdf
Юридическая информация
10.1 Определения
Черновик — Статус черновика документа указывает на то, что его содержимое все еще находится на внутренней проверке.view и подлежит официальному утверждению, что может привести к изменениям или дополнениям. NXP Semiconductors не дает никаких заявлений или гарантий относительно точности или полноты информации, включенной в черновую версию документа, и не несет ответственности за последствия использования такой информации.
10.2 Заявление об ограничении ответственности
Ограниченная гарантия и ответственность — Информация в этом документе считается точной и надежной. Тем не менее, NXP Semiconductors не дает никаких заявлений или гарантий, явных или подразумеваемых, относительно точности или полноты такой информации и не несет ответственности за последствия использования такой информации. NXP Semiconductors не несет ответственности за содержание этого документа, если оно предоставлено источником информации за пределами NXP Semiconductors.
Ни при каких обстоятельствах NXP Semiconductors не несет ответственности за любые косвенные, случайные, штрафные, особые или косвенные убытки (включая, помимо прочего, упущенную выгоду, потерянные сбережения, прерывание деятельности, расходы, связанные с удалением или заменой каких-либо продуктов или сборами за доработку), независимо от того, такие убытки не основаны на деликте (включая халатность), гарантии, нарушении договора или любой другой правовой теории.
Несмотря на любой ущерб, который клиент может понести по какой-либо причине, совокупная и совокупная ответственность NXP Semiconductors перед клиентом за продукты, описанные в настоящем документе, ограничивается в соответствии с
Условия коммерческой продажи NXP Semiconductors.
Право на внесение изменений — NXP Semiconductors оставляет за собой право вносить изменения в информацию, опубликованную в этом документе, включая, помимо прочего, спецификации и описания продуктов, в любое время и без предварительного уведомления. Этот документ отменяет и заменяет всю информацию, представленную до его публикации.
Пригодность для использования — продукция NXP Semiconductors не разработана, не одобрена и не имеет гарантии на пригодность для использования в системах или оборудовании жизнеобеспечения, жизненно важных или важных с точки зрения безопасности системах или оборудовании, а также в приложениях, в которых можно обоснованно ожидать отказа или неправильной работы продукта NXP Semiconductors. привести к телесным повреждениям, смерти или серьезному материальному ущербу или ущербу окружающей среде. NXP Semiconductors и ее поставщики не несут ответственности за включение и/или использование продуктов NXP Semiconductors в таком оборудовании или приложениях, и поэтому такое включение и/или использование осуществляется на собственный риск клиента.
Приложения — Приложения, описанные здесь для любого из этих продуктов, предназначены только для иллюстративных целей. NXP Semiconductors не делает заявлений и не гарантирует, что такие приложения будут пригодны для указанного использования без дальнейшего тестирования или модификации.
Клиенты несут ответственность за разработку и работу своих приложений и продуктов, использующих продукты NXP Semiconductors, и NXP Semiconductors не несет никакой ответственности за любую помощь в разработке приложений или продуктов клиента. Клиент несет единоличную ответственность за определение того, подходит ли продукт NXP Semiconductors для приложений клиента и запланированных продуктов, а также для запланированного применения и использования сторонними клиентами клиента. Клиенты должны обеспечить соответствующие проектные и эксплуатационные меры безопасности, чтобы свести к минимуму риски, связанные с их приложениями и продуктами.
NXP Semiconductors не несет никакой ответственности, связанной с любым невыполнением обязательств, ущербом, затратами или проблемами, которые основаны на какой-либо слабости или невыполнении обязательств в приложениях или продуктах клиента, а также в приложении или использовании его сторонними клиентами. Заказчик несет ответственность за проведение всех необходимых испытаний приложений и продуктов заказчика с использованием продуктов NXP Semiconductors во избежание выхода из строя приложений и продуктов или приложений или их использования сторонними заказчиками заказчика. NXP не несет никакой ответственности в этом отношении.
NXP BV — NXP BV не является операционной компанией и не распространяет и не продает продукты.
Лицензии 10.3
Покупка ИС NXP с технологией NFC. Покупка ИС NXP Semiconductors, соответствующей одному из стандартов беспроводной связи ближнего радиуса действия (NFC) ISO/IEC 18092 и ISO/IEC 21481, не дает подразумеваемой лицензии по каким-либо патентным правам, нарушаемым внедрением любой из этих стандартов. Покупка микросхем NXP Semiconductors не включает лицензию на какой-либо патент NXP (или другое право интеллектуальной собственности), охватывающий комбинации этих продуктов с другими продуктами, будь то аппаратное или программное обеспечение.
Торговые марки 10.4
Примечание. Все упомянутые бренды, названия продуктов, сервисов и товарные знаки являются собственностью соответствующих владельцев.
NXP — словесный знак и логотип являются товарными знаками NXP BV.
EdgeVerse — торговая марка NXP BV.
FeliCa — торговая марка Sony Corporation.
MIFARE — торговая марка NXP BV.
MIFARE Classic — торговая марка компании NXP BV.
Обратите внимание, что важные уведомления, касающиеся настоящего документа и описанных в нем продуктов, включены в раздел «Юридическая информация».
© 2023 NXP BV
Для получения более подробной информации посетите сайт: http://www.nxp.com
Все права защищены.
Дата выпуска: 25 мая 2023 г.
Идентификатор документа: UM11942
Документы/Ресурсы
![]() |
Интерфейсный контроллер NXP PN5190 NFC [pdf] Руководство пользователя PN5190, PN5190 Внешний контроллер NFC, Внешний контроллер NFC, Контроллер, UM11942 |