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 | Опис відповіді Enhanced Check Integrity у Розділі 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 використовується, коли пристрій запускає вхід:
a. Зашифрований безпечний режим завантаження для оновлення мікропрограми - Зв'язок на основі команд-відповідей TLV (наведено як напрample).
2.1 Режим HDLL
Режим HDLL використовується для формату обміну пакетами для роботи з наведеними нижче режимами роботи IC:
- Режим захищеного завантаження мікропрограми (SFWU), див. розділ 3
2.1.1 Опис HDLL
HDLL — це рівень зв’язку, розроблений NXP для забезпечення надійного завантаження FW.
Повідомлення 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 i ;
uint16_t crc_new ;
uint16_t crc = 0xffffU;
для (I = 0; i < dwLength; i++)
{
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;
}
повернення crc;
}
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: повідомлення COMMAND або RESPONSE
1: повідомлення ПОДІЯ
Біт [6:0]: код інструкції
Довжина (L) => 2 байти (має бути у форматі big-endian)
Значення (V) => N байт значення/даних TLV (параметри команди / дані відповіді) на основі поля довжини (формат старшого порядку байтів)
2.2.4.1 Розділений кадр
Повідомлення COMMAND має бути надіслано в одному кадрі SPI.
Повідомлення RESPONSE і EVENT можна зчитувати в кількох кадрах SPI, наприклад, щоб зчитувати байт довжини.Повідомлення RESPONSE або EVENT можна прочитати в одному SPI-кадрі, але із затримкою NO-CLOCK між ними, наприклад, щоб зчитати байт довжини.
Операційний режим завантаження IC – захищений режим завантаження програмного забезпечення
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 підтримують як застаріле зашифроване захищене завантаження програмного забезпечення, так і зашифрований захищений протокол завантаження програмного забезпечення з апаратним шифруванням залежно від використовуваного варіанту.
Це два типи:
- Застарілий безпечний протокол завантаження FW, який працює лише з версією PN5190 B0/B1 IC.
- Захищений протокол завантаження FW з апаратним криптографуванням, який працює лише з версією PN5190B2 IC, яка використовує апаратні криптоблоки на чіпі
У наступних розділах пояснюються команди та відповіді режиму безпечного завантаження мікропрограми.
3.2 Як запустити режим «Захищене завантаження прошивки».
На схемі нижче та наступних кроках показано, як запустити режим безпечного завантаження мікропрограми.Попередня умова: PN5190 знаходиться в робочому стані.
Основний сценарій:
- Умова входу, коли PIN-код DWL_REQ використовується для входу в режим «Захищене завантаження мікропрограми».
a. Хост пристрою отримує високий рівень контакту DWL_REQ (дійсно, лише якщо безпечне оновлення мікропрограми через контакт DWL_REQ) АБО
b. Хост пристрою виконує апаратне скидання для завантаження PN5190 - Умова входу, коли PIN-код DWL_REQ не використовується для входу в режим «Захищене завантаження прошивки» (безпінове завантаження).
a. Хост пристрою виконує апаратне скидання для завантаження PN5190
b. Хост пристрою надсилає 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.
a. Хост пристрою перевіряє статус сеансу, якщо останнє завантаження було завершено
b. Хост пристрою застосовує правила перевірки версії, щоб вирішити, розпочати завантаження чи завершити завантаження. - Хост пристрою завантажується з a file двійковий код мікропрограми для завантаження
- Хост пристрою надає першу команду DL_SEC_WRITE (розділ 3.4.8), яка містить:
a. Версія нової прошивки,
b. 16-байтовий nonce довільних значень, які використовуються для обфускації ключа шифрування
в. Значення дайджесту наступного кадру,
d. Цифровий підпис самого кадру - Хост пристрою завантажує безпечну послідовність протоколу завантаження в 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 біт (MSB)
- Друге число: 8 біт (LSB)
PN5190 перевіряє, чи новий номер основної версії більший або дорівнює поточному. Якщо ні, захищене завантаження мікропрограми відхиляється, а сеанс залишається закритим.
3.4 Команди HDLL для старого зашифрованого завантаження та апаратного шифрування зашифроване завантаження
У цьому розділі міститься інформація про команди та відповіді, які використовувалися для обох типів завантажень для завантаження мікропрограми NXP.
3.4.1 Коди OP команди HDLL
Примітка: Кадри команд HDLL вирівняні по 4 байти. Невикористані байти корисного навантаження залишаються нульовими.
Таблиця 1. Список кодів OP команд 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 | DL_OK | Команда пройшла |
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
Поле | Байт | опис |
STAT | 1 | Статус |
HW_V | 2 | Апаратна версія |
РО_В | 3 | код ПЗУ |
MODEL_ID | 4 | Ідентифікатор моделі |
FMxV | 5-6 | Версія мікропрограми (використовується для завантаження) |
RFU1-RFU2 | 7-8 | – |
Очікувані значення різних полів відповіді та їх відображення наведені нижче:
Таблиця 4. Очікувані значення відповіді команди GetVersion
Тип IC | Версія HW (шістнадцяткова) | Версія ПЗУ (шістнадцяткова) | ID моделі (шістнадцятковий) | Версія FW (шістнадцяткова) |
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
Поле | Байт | опис |
STAT | 1 | Статус |
SSTA | 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
Поле | Байт | опис |
STAT | 1 | Статус |
РФУ | 2-4 | |
DIEID | 5-20 | ID кубика (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
Поле | Байт | Значення/опис | |
STAT | 1 | Статус | |
ДАНІ LEN | 2 | Загальна кількість розділів даних | |
КОД LEN | 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] Область конфігурації РЧ (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 — статус повернення.
Режим завантаження IC – звичайний режим роботи
4.1 Вступ
Зазвичай мікросхема PN5190 має працювати в нормальному режимі, щоб отримати від неї функціональність NFC.
Коли PN5190 IC завантажується, він завжди очікує на отримання команд від хоста для виконання операції, якщо тільки події, згенеровані в PN5190 IC, не призвели до завантаження PN5190 IC.
4.2 Перелік командview
Таблиця 8. Список команд PN5190
Код команди | Назва команди |
0x00 | WRITE_REGISTER |
0x01 | WRITE_REGISTER_OR_MASK |
0x02 | WRITE_REGISTER_AND_MASK |
0x03 | WRITE_REGISTER_MULTIPLE |
0x04 | READ_REGISTER |
0x05 | READ_REGISTER_MULTIPLE |
0x06 | WRITE_E2PROM |
0x07 | READ_E2PROM |
0x08 | TRANSMIT_RF_DATA |
0x09 | RETRIEVE_RF_DATA |
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 | до FW v2.01: RFU |
починаючи з версії FW 2.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 | GET_VERSION |
0x28 | РФУ |
0x29 | до FW v2.05: RFU |
починаючи з версії FW 2.06 і далі: GET_CRC_USER_AREA | |
0x2A | до FW v2.03: RFU |
починаючи з FW v2.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 | Вказує на те, що виконання команди призвело до помилки радіочастотного зіткнення |
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 і минув час очікування RX. |
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 | Вказує на те, що TX через RF не вдалося |
PN5190_STATUS_NO_ANTENNA | 0x1B | Вказує на відсутність антени |
PN5190_STATUS_TXLDO_ERROR | 0x1C | Вказує на наявність помилки в TXLDO, коли VUP недоступний і радіочастоту ввімкнено. |
PN5190_STATUS_RFCFG_NOT_APPLIED | 0x1D | Вказує на те, що РЧ конфігурація не завантажується, коли РЧ увімкнено |
PN5190_STATUS_TIMEOUT_WITH_EMD_ERROR | 0x1E | до FW 2.01: не очікується |
починаючи з FW 2.03 і далі: Вказує на те, що під час обміну з LOG ENABLE BIT встановлено в реєстрі 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 | AUTOCOLL_EVENT | Y |
6 | 6 | TIMER0_EVENT | 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 calibrationdone. | Таблиця 16 |
8 | 8 | LPCD_EVENT | Цей біт встановлюється, коли генерується подія LPCD. | Таблиця 15 |
7 | 7 | AUTOCOLL_EVENT | Цей біт встановлюється після завершення операції AUTOCOLL. | Таблиця 52 |
6 | 6 | TIMER0_EVENT | Цей біт встановлюється, коли відбувається подія 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 | Причина завантаження через програмне скидання IC |
6 | 6 | BOOT_VDDIO_LOSS | Причина завантаження через втрату VDDIO. Див. розділ 4.4.2.3 |
5 | 5 | BOOT_VDDIO_START | Причина завантаження, якщо в режим очікування введено з 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 | Bootup Reason через скидання живлення |
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 | ULPCD | ||||
31 | 7 | РФУ | Зарезервовано | ||
6 | 6 | Abort_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 IC обробляє різні умови помилок, пов’язані з параметрами IC, як показано нижче.
4.4.2.1 Обробка сценарію перегріву, коли PN5190 працює
Щоразу, коли внутрішня температура мікросхеми PN5190 досягає порогового значення, налаштованого в полі TEMP_WARNING EEPROM [2], мікросхема переходить у режим очікування. І, отже, якщо поле EEPROM ENABLE_GPIO0_ON_OVERTEMP [2] налаштоване для надсилання сповіщення хосту, тоді GPIO0 буде піднятий на високий рівень, щоб сповістити IC про перегрівання.
Коли температура IC падає нижче порогового значення, налаштованого в полі EEPROM TEMP_WARNING [2], IC завантажуватиметься з BOOT_EVENT, як у таблиці 11, а біт стану завантаження BOOT_TEMP встановлюється, як у таблиці 12, і GPIO0 буде знижено.
4.4.2.2 Управління надструмом
Якщо PN5190 IC виявляє умову перевантаження по струму, IC вимикає радіочастотне живлення та надсилає 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 IC див. у документі [2].
4.4.3 Обробка сценаріїв переривання
PN5190 IC підтримує переривання поточних команд виконання, і поведінка PN5190 IC, коли така команда переривання, наприклад Розділ 4.5.4.5.2, надсилається до PN5190 IC, як показано в таблиці 18.
Примітка:
Коли мікросхема PN5190 перебуває в режимі очікування ULPCD і ULP, її не можна перервати, надіславши Розділ 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 WRITE_REGISTER
Ця інструкція використовується для запису 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-розрядне значення регістра, яке потрібно записати. (Little-endian) |
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 WRITE_REGISTER_OR_MASK
Ця інструкція використовується для зміни вмісту реєстру за допомогою логічної операції АБО. Зчитується вміст реєстру та виконується логічна операція АБО з наданою маскою. Змінений вміст записується назад до реєстру.
4.5.1.2.1 Умови
Адреса реєстру повинна існувати, і реєстр повинен мати атрибут READ-WRITE.
4.5.1.2.2 Команда
Таблиця 21. Значення команди WRITE_REGISTER_OR_MASK Виконайте логічну операцію АБО над регістром за допомогою наданої маски.
Поле корисного навантаження | Довжина | Значення/опис |
Адреса реєстрації | 1 байт | Адреса реєстру. |
Маска | 4 байт | Бітова маска, яка використовується як операнд для логічної операції АБО. (Little-endian) |
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 WRITE_REGISTER_AND_MASK
Ця інструкція використовується для зміни вмісту реєстру за допомогою логічної операції І. Зчитується вміст реєстру та виконується логічна операція І з наданою маскою. Змінений вміст записується назад до реєстру.
4.5.1.3.1 Умови
Адреса реєстру повинна існувати, і реєстр повинен мати атрибут READ-WRITE.
4.5.1.3.2 Команда
Таблиця 23. Значення команди WRITE_REGISTER_AND_MASK Виконайте логічну операцію І над реєстром, використовуючи надану маску.
Поле корисного навантаження | Довжина | Значення/опис |
Адреса реєстрації | 1 байт | Адреса реєстру. |
Маска | 4 байт | Бітова маска, яка використовується як операнд для логічної операції І. (Little-endian ) |
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): атрибут READ-WRITE
- Дія маски AND (0x03): атрибут READ-WRITE
Розмір масиву «Set» повинен бути в діапазоні від 1 до 43 включно.
Поле «Тип» має бути в діапазоні від 1 до 3 включно
4.5.1.4.2 Команда
Таблиця 25. Значення команди WRITE_REGISTER_MULTIPLE Виконайте операцію запису регістру, використовуючи набір пар «Регістр-значення».
Поле корисного навантаження | Довжина | Значення/опис | |||
Набір [1…n] | 6 байт | Адреса реєстрації | 1 байт | Логічна адреса реєстру. | |
Тип | 1 байт | 0x1 | Напишіть Реєстр | ||
0x2 | Напишіть Реєстр АБО Маска | ||||
0x3 | Напишіть Реєстр І Маска | ||||
Значення | 4 байт | 32 Значення регістра біта, яке потрібно записати, або бітова маска, що використовується для логічної операції. (Little-endian) |
Примітка: у випадку виняткової ситуації операція не відкочується, тобто регістри, які були змінені, поки не станеться виняткова ситуація, залишаються в зміненому стані. Хост повинен вжити належних заходів для відновлення до визначеного стану.
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 READ_REGISTER
Ця інструкція використовується для читання вмісту логічного регістру. Вміст присутній у відповіді як 4-байтове значення у форматі little-endian.
4.5.1.5.1 Умови
Адреса логічного регістру має існувати. Атрибут доступу до реєстру має бути READ-WRITE або READ-ONLY.
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-розрядне значення регістра, яке було зчитано. (Little-endian) |
4.5.1.5.4 Подія
Для цієї команди немає подій.
4.5.1.6 READ_REGISTER_MULTIPLE
Ця інструкція використовується для читання кількох логічних регістрів одночасно. Результат (вміст кожного реєстру) надається у відповіді на вказівку. Сама реєстраційна адреса не включена у відповідь. Порядок вмісту реєстру у відповіді відповідає порядку адрес реєстру в інструкції.
4.5.1.6.1 Умови
Усі адреси реєстру в інструкції повинні існувати. Атрибут доступу для кожного регістру має бути READ-WRITE або READ-ONLY. Розмір масиву «Адреса реєстрації» має бути в діапазоні від 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 WRITE_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.
Поле корисного навантаження | Довжина | Значення/опис |
Адреса E2PROM | 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 READ_E2PROM
Ця інструкція використовується для зчитування даних із області пам’яті E2PROM. Поле «Адреса E2PROM» вказує початкову адресу операції читання. Відповідь містить дані, зчитані з E2PROM.
4.5.2.2.1 Умови
Поле «Адреса E2PROM» має бути в допустимому діапазоні.
Поле «Кількість байтів» має бути в діапазоні від 1 до 256 включно.
Операція читання не повинна виходити за межі останньої доступної адреси EEPROM.
Відповідь про помилку надсилається на хост, якщо адреса перевищує адресний простір EEPROM.
4.5.2.2.2 Команда
Таблиця 33. Значення команди READ_E2PROM Послідовне зчитування значень з E2PROM.
Поле корисного навантаження | Довжина | Значення/опис |
Адреса E2PROM | 2 байт | Адреса в E2PROM, з якої починається операція читання. (Little-endian) |
Кількість байтів | 2 байт | Кількість байтів для зчитування. (Little-endian) |
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 GET_CRC_USER_AREA
Ця інструкція використовується для обчислення CRC для повної області конфігурації користувача, включаючи область протоколу PN5190 IC.
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 у форматі little-endian. |
4.5.2.3.3 Подія
Для цієї команди немає подій.
4.5.3 Маніпулювання даними CLIF
Інструкції, описані в цьому розділі, описують команди для радіочастотної передачі та прийому.
4.5.3.1 EXCHANGE_RF_DATA
Функція радіочастотного обміну виконує передачу даних TX і очікує на отримання будь-яких даних RX.
Функція повертається у разі прийому (помилкового або правильного) або тайм-ауту. Таймер запускається з КІНЦЕМ ПЕРЕДАЧІ та зупиняється з ПОЧАТКОМ ОТРИМАННЯ. Значення тайм-ауту, попередньо налаштоване в EEPROM, має використовуватися, якщо тайм-аут не налаштовано перед виконанням команди Exchange.
Якщо transceiver_state є
- в IDLE вводиться режим TRANSCEIVE.
- У WAIT_RECEIVE стан трансивера скидається до РЕЖИМУ ПЕРЕДАЧІ, якщо встановлено біт ініціатора
- У WAIT_TRANSMIT стан трансивера скидається до TRANSCEIVE MODE, якщо біт ініціатора НЕ встановлений
Поле «Кількість дійсних бітів в останньому байті» вказує точну довжину даних для передачі.
4.5.3.1.1 Умови
Розмір поля «TX Data» має бути в діапазоні від 0 до 1024 включно.
Поле «Кількість дійсних бітів в останньому байті» має бути в діапазоні від 0 до 7.
Команду не можна викликати під час поточної радіочастотної передачі. Команда повинна забезпечувати правильний стан трансивера для передачі даних.
Примітка:
Ця команда дійсна лише для режиму читання та режиму пасивного/активного ініціатора P2P.
4.5.3.1.2 Команда
Таблиця 37. Значення команди EXCHANGE_RF_DATA
Запишіть дані передачі у внутрішній буфер радіочастотної передачі та почніть передачу за допомогою команди передачі та зачекайте до прийому або тайм-ауту, щоб підготувати відповідь хосту.
Поле корисного навантаження | Довжина | Значення/опис | |
Кількість дійсних бітів в останньому байті | 1 байт | 0 | Передаються всі біти останнього байта |
1 – 7 | Кількість бітів в останньому байті для передачі. | ||
RFExchangeConfig | 1 байт | Конфігурація функції RFExchange. Подробиці дивіться нижче |
Таблиця 37. Значення команди EXCHANGE_RF_DATA… продовження
Запишіть дані передачі у внутрішній буфер радіочастотної передачі та почніть передачу за допомогою команди передачі та зачекайте до прийому або тайм-ауту, щоб підготувати відповідь хосту.
Поле корисного навантаження | Довжина | Значення/опис |
Дані передачі | 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 (порядок редагування) |
Дані RX | 1 – 1024 байт | Якщо запитуються дані RX. RX-дані, отримані під час фази радіочастотного прийому радіочастотного обміну. |
4.5.3.1.4 Подія
Для цієї команди немає подій.
4.5.3.2 TRANSMIT_RF_DATA
Ця інструкція використовується для запису даних у внутрішній буфер передачі CLIF і початку передачі за допомогою внутрішньої команди transceive. Розмір цього буфера обмежений 1024 байтами. Після виконання цієї інструкції автоматично розпочнеться радіочастотний прийом.
Команда повертається відразу після завершення передачі, не чекаючи завершення прийому.
4.5.3.2.1 Умови
Кількість байтів у полі «TX Data» має бути в діапазоні від 1 до 1024 включно.
Команду не можна викликати під час поточної радіочастотної передачі.
4.5.3.2.2 Команда
Таблиця 40. Значення команди TRANSMIT_RF_DATA Запис даних передачі у внутрішній буфер передачі 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 RETRIEVE_RF_DATA
Ця інструкція використовується для читання даних із внутрішнього буфера CLIF RX, який містить дані радіочастотної відповіді (якщо такі є), опубліковані в ньому після попереднього виконання Розділу 4.5.3.1 з опцією не включати отримані дані у відповідь або Розділ 4.5.3.2 .XNUMX команда.
4.5.3.3.1 Команда
Таблиця 42. Значення команди RETRIEVE_RF_DATA Читання даних прийому з внутрішнього буфера прийому РЧ.
Поле корисного навантаження | Довжина | Значення/опис |
Порожній | Порожній | Порожній |
4.5.3.3.2 Відповідь
Таблиця 43. Значення відповіді RETRIEVE_RF_DATA
Поле корисного навантаження | Довжина | Значення/опис |
Статус | 1 байт | Статус операції [Таблиця 9]. Очікувані значення: |
Поле корисного навантаження | Довжина | Значення/опис |
PN5190_STATUS_INSTR_SUCCESS PN5190_STATUS_INSTR_ERROR (Дані відсутні) |
||
Дані RX | 1 – 1024 байт | Дані RX, які були отримані під час останнього успішного прийому радіочастот. |
4.5.3.3.3 Подія
Для цієї команди немає подій.
4.5.3.4 RECEIVE_RF_DATA
Ця інструкція очікує даних, отриманих через радіочастотний інтерфейс зчитувача.
У режимі зчитування ця інструкція повертається, якщо є прийом (помилковий або правильний) або виник тайм-аут FWT. Таймер запускається з КІНЦЕМ ПЕРЕДАЧІ та зупиняється з ПОЧАТКОМ ОТРИМАННЯ. Значення часу очікування за замовчуванням, попередньо налаштоване в EEPROM, має використовуватися, якщо час очікування не налаштовано перед виконанням команди Exchange.
У цільовому режимі ця інструкція повертається у разі прийому (помилкового або правильного) або зовнішньої радіочастотної помилки.
Примітка:
Цю інструкцію слід використовувати з командою TRANSMIT_RF_DATA для виконання операцій TX і RX…
4.5.3.4.1 Команда
Таблиця 44. Значення команди RECEIVE_RF_DATA
Поле корисного навантаження | Довжина | Значення/опис |
ReceiveRFConfig | 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 (порядок редагування) |
Дані RX | 1 – 1024 байт | Якщо запитуються дані RX. Дані RX отримані через радіочастоту. |
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 FW 02.03.
4.5.3.5.1 Команда
Зчитування даних RX із внутрішнього буфера прийому RF.
Таблиця 47. Значення команди RETRIEVE_RF_FELICA_EMD_DATA
Поле корисного навантаження | Довжина | Значення/опис | |
FeliCaRFRetrieveConfig | 1 байт | 00 – FF | Конфігурація функції RETRIEVE_RF_FELICA_EMD_DATA |
опис конфігурації (бітової маски). | біт 7..2: RFU біт 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 (порядок редагування) |
Поле корисного навантаження | Довжина | Значення/опис | |||
Дані RX | 1…1024 байт | Дані FeliCa EMD RX, які були отримані під час останнього невдалого радіочастотного прийому за допомогою команди Exchange. |
4.5.3.5.3 Подія
Для цієї команди немає подій.
4.5.4 Перемикання режиму роботи
PN5190 підтримує 4 різних режими роботи:
4.5.4.1 Нормальний
Це стандартний режим, у якому дозволені всі інструкції.
4.5.4.2 Режим очікування
PN5190 перебуває в режимі очікування/сну для економії енергії. Необхідно встановити умови пробудження, щоб визначити, коли знову виходити з режиму очікування.
4.5.4.3 LPCD
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: завершення вже запущеної команди для переходу в нормальний робочий режим (команда переривання)
Використовуйте для повернення до стану очікування для отримання/обробки наступної команди шляхом припинення виконання вже запущених команд.
Такі команди, як standby, 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 і регістри керування полем, а лише переводить трансивер у стан IDLE.
4.5.4.5.3 UseCase3: нормальний режим роботи після м’якого скидання/виходу з режиму очікування, LPCD У цьому випадку PN5190 безпосередньо переходить у звичайний режим роботи, надсилаючи IDLE_EVENT на хост (Малюнок 12 або Малюнок 13) і « IDLE_EVENT” біт встановлено в таблиці 11.
Немає вимоги надсилати команду SWITCH_MODE_NORMAL.
Примітка:
Після того, як IC переходить у звичайний режим, усі параметри радіочастот змінюються до стану за замовчуванням. Вкрай важливо, щоб відповідна конфігурація РЧ та інші пов’язані регістри були завантажені з відповідними значеннями перед виконанням операції РЧ УВІМКНЕННЯ або РЧ обміну.
4.5.4.5.4 Командний кадр для надсилання для різних варіантів використання
4.5.4.5.4.1 Випадок використання1: команда переходить у звичайний робочий режим після ввімкнення (POR) 0x20 0x01 0x00
4.5.4.5.4.2 UseCase2: команда для завершення вже запущених команд для переходу в нормальний режим роботи
Випадок використання 2.1:
0x20 0x00 0x00
Випадок використання 2.2: (Починаючи з FW v02.02 і далі):
0x20 0x02 0x00
4.5.4.5.4.3 UseCase3: команда для нормального режиму роботи після м’якого скидання/виходу з режиму очікування, 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
Автоматичний режим перемикання автоматично виконує процедуру активації картки в цільовому режимі.
Поле «Autocoll Mode» має бути в діапазоні від 0 до 2 включно.
У випадку, якщо для поля «Режим автоколл» встановлено значення 2 (Автоколл): Поле «РЧ-технології» (Таблиця 50) має містити бітову маску, що вказує РЧ-технології, які підтримуються під час автоколл.
У цьому режимі не можна надсилати жодні інструкції.
Завершення позначається за допомогою переривання.
4.5.4.6.1 Команда
Таблиця 49. Значення команди SWITCH_MODE_AUTOCOLL
Параметр | Довжина | Значення/опис | |
радіочастотні технології | 1 байт | Бітова маска, що вказує радіочастотну технологію, яку потрібно прослухати під час автоматичного збору. | |
Режим Autocoll | 1 байт | 0 | Немає автономного режиму, тобто Autocoll припиняється, коли зовнішнє радіочастотне поле відсутнє. |
Розірвання в разі | |||
• НЕМАЄ РЧ-ПОЛЯ або РЧ-ПОЛЕ зникло | |||
• PN5190 АКТИВОВАНО в режимі TARGET | |||
1 | Автономний режим з режимом очікування. Якщо радіочастотне поле відсутнє, Autocoll автоматично переходить у режим очікування. Після виявлення зовнішнього радіочастотного поля PN5190 знову переходить у режим автоматичного встановлення. | ||
Розірвання в разі | |||
• PN5190 АКТИВОВАНО в режимі TARGET | |||
Від PN5190 FW v02.03 і далі: якщо поле EEPROM «bCard ModeUltraLowPowerEnabled» за адресою «0xCDF» встановлено на «1», тоді PN5190 переходить у режим очікування з наднизьким енергоспоживанням. | |||
2 | Автономний режим без режиму очікування. Якщо радіочастотне поле відсутнє, PN5190 очікує, поки радіочастотне поле буде присутнім, перш ніж запускати алгоритм Autocoll. Режим очікування в цьому випадку не використовується. | ||
Розірвання в разі • PN5190 АКТИВОВАНО в режимі TARGET |
Таблиця 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», тоді додаткові байти даних «Protocol» і «Card_Activated» відсутні.
Технологічна інформація отримується з реєстрів за допомогою команд Розділу 4.5.1.5, Розділу 4.5.1.6.
У наступній таблиці показано дані про подію, які надсилаються як частина повідомлення про подію (рис. 12 і рис. 13).
Таблиця 52. EVENT_SWITCH_MODE_AUTOCOLL – дані AUTOCOLL_EVENT Подія Autocoll перемикання режиму роботи
Поле корисного навантаження | Довжина | Значення/опис | |
Статус | 1 байт | Статус операції | |
PN5190_STATUS_INSTR_SUCCESS | PN5190 АКТИВОВАНО в режимі TARGET. Подальші дані в цій події дійсні. |
||
PN5190_STATUS_PREVENT_STANDBY | Вказує на те, що PN5190 не може перейти в режим очікування. Цей статус дійсний лише тоді, коли режим Autocoll вибрано як «Автономний режим із режимом очікування». |
PN5190_STATUS_NO_EXTERNAL_RF_ ПОЛЕ | Вказує на відсутність зовнішнього радіочастотного поля під час виконання Autocoll в неавтономному режимі | ||
PN5190_STATUS_USER_CANCELLED | Вказує на те, що поточну команду, що виконується, перервано командою перемикання нормального режиму | ||
Протокол | 1 байт | 0x10 | Активовано як пасивний тип A |
0x11 | Активовано як Passive TypeF 212 | ||
0x12 | Активовано як Passive TypeF 424 | ||
0x20 | Активовано як Active TypeA | ||
0x21 | Активований як Active TypeF 212 | ||
0x22 | Активований як Active TypeF 424 | ||
Інші цінності | Недійсний | ||
Card_Activated | 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
Перемикання режиму очікування автоматично переводить мікросхему в режим очікування. IC вийде з режиму сну після того, як налаштовані джерела пробудження відповідають умовам пробудження.
Примітка:
За замовчуванням для виходу з режимів очікування доступні лічильник закінчення для ULP STANDBY і скасування HIF для STANDBY.
4.5.4.7.1 Команда
Таблиця 53. Значення команди SWITCH_MODE_STANDBY
Параметр | Довжина | Значення/опис |
Конфігурація | 1 байт | Бітова маска, яка керує джерелом пробудження, яке буде використовуватися, і режимом очікування для переходу. Відноситься до Таблиця 54 |
Лічильник значення | 2 байт | Використане значення для лічильника пробудження в мілісекундах. Максимальне підтримуване значення становить 2690 для режиму очікування. Максимальне підтримуване значення становить 4095 для режиму очікування ULP. Значення, яке потрібно надати, має формат від маленького кінця. Вміст цього параметра дійсний, лише якщо «Бітова маска конфігурації» ввімкнено для пробудження після закінчення терміну дії лічильника. |
Таблиця 54. Конфігурація Bitmask
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 Комунікація Прample
4.5.4.8 SWITCH_MODE_LPCD
Режим перемикання LPCD виконує виявлення розстроювання антени через зміну середовища навколо антени.
Є 2 різні режими LPCD. Рішення на основі HW (ULPCD) пропонує конкурентоспроможне енергоспоживання зі зниженою чутливістю. Рішення на основі FW (LPCD) пропонує найкращу в своєму класі чутливість із збільшеним енергоспоживанням.
В єдиному режимі FW на основі (LPCD) подія калібрування не надсилається на хост.
Коли активовано одиночний режим, калібрування та послідовні вимірювання виконуються після виходу з режиму очікування.
Для події калібрування в одиночному режимі спочатку видайте одиночний режим командою події калібрування. Після калібрування надходить подія калібрування LPCD, після чого необхідно надіслати команду одного режиму з опорним значенням, отриманим на попередньому кроці, як вхідний параметр.
Конфігурація LPCD виконується в налаштуваннях EEPROM/Flash Data перед викликом команди.
Примітка:
Переривання 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
Параметр | Довжина | Значення/опис | |
bКонтроль | 1 байт | 0x00 | Введіть калібрування ULPCD. Команда припиняється після калібрування, і подія з еталонним значенням надсилається на хост. |
0x01 | Введіть ULPCD | ||
0x02 | Калібрування LPCD. Команда припиняється після калібрування, і подія з еталонним значенням надсилається на хост. | ||
0x03 | Введіть LPCD | ||
0x04 | Одномісний режим | ||
0x0C | Одиночний режим із подією калібрування | ||
Інші значення | РФУ | ||
Контроль пробудження | 1 байт | Бітова маска, що керує джерелом пробудження, яке буде використовуватися для LPCD/ULPCD. Вміст цього поля не враховується для калібрування. Відноситься до Таблиця 57 | |
Довідкове значення | 4 байт | Еталонне значення для використання під час ULPCD/LPCD. Для ULPCD байт 2, який містить значення HF Attenuator, використовується під час фази калібрування та вимірювання. Для 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. Інформація про байт контрольного значення
Довідкове значення байтів | ULPCD | 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 Зв'язок Пр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
Переключити режим роботи Autocoll
Поле корисного навантаження | Довжина | Значення/опис |
Статус | 1 байт | Статус операції [Таблиця 9]. Очікувані значення: |
PN5190_STATUS_SUCCESS PN5190_STATUS_INSTR_ERROR (режим перемикання не введено) |
4.5.4.9.3 Подія
Немає генерації подій.
4.5.4.9.4 Комунікація Прample
4.5.5 Класична автентифікація MIFARE
4.5.5.1 MFC_AUTHENTICATE
Ця інструкція використовується для виконання MIFARE Classic Authentication на активованій картці. Для автентифікації за вказаною адресою блоку потрібні ключ, UID картки та тип ключа. Відповідь містить один байт, що вказує на статус автентифікації.
4.5.5.1.1 Умови
Ключ поля має мати довжину 6 байт. Тип ключа поля має містити значення 0x60 або 0x61. Адреса блоку може містити будь-яку адресу від 0x0 до 0xff включно. Поле UID має мати довжину в байтах і містити 4-байтовий UID картки. Перед виконанням цієї інструкції картку ISO14443-3 MIFARE Classic слід перевести в стан ACTIVE або ACTIVE*.
У разі помилки виконання, пов’язаної з автентифікацією, це поле «Статус автентифікації» встановлюється відповідно.
4.5.5.1.2 Команда
Таблиця 63. Команда MFC_AUTHENTICATE
Виконайте автентифікацію на активованій картці продукту MIFARE Classic.
Поле корисного навантаження | Довжина | Значення/опис | |
ключ | 6 байт | Ключ автентифікації для використання. | |
Тип ключа | 1 байт | 0x60 | Тип ключа А |
0x61 | Тип ключа B | ||
Блокувати адресу | 1 байт | Адреса блоку, для якого необхідно виконати аутентифікацію. | |
UID | 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 відповідь у цьому timeslotCommand
Поле «Select Command Length» має містити довжину поля «Select Command», яка має бути в діапазоні від 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 | Жодна команда Select не встановлена перед командою BeginRound. Поля «Дійсні біти в останньому байті» та «Вибір команди» не повинні бути присутніми. |
1 – 39 | Довжина (n) поля «Вибрати команду». | ||
Дійсні біти в останньому байті | 1 байт | 0 | Передаються всі біти останнього байта поля «Вибір команди». |
1 – 7 | Кількість бітів, які потрібно передати в останньому байті поля «Вибір команди». | ||
Виберіть команду | n байт | Якщо присутнє, це поле містить команду Select (відповідно до ISO18000-3, таблиця 47), яка надсилається перед командою BeginRound. CRC-16c не включається. | |
Команда BeginRound | 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 Відповісти | 'n' Bytes | Відповідь в tag згідно ISO18000-3_2010, табл. 56. | |||
Tag Ручка | 0 або 2 байти | Ручка tag, якщо для поля «Статус тимчасового інтервалу» встановлено значення «1». Інакше поле відсутнє. |
4.5.6.1.2 Подія
Для цієї команди немає подій.
4.5.7 Керування радіочастотною конфігурацією
Зверніться до Розділу 6 щодо конфігурації TX і RX для різних радіочастотних технологій і швидкості передачі даних, які підтримує PN5190. Значення, які не знаходяться в діапазоні, зазначеному нижче, повинні розглядатися як RFU.
4.5.7.1 LOAD_RF_CONFIGURATION
Ця інструкція використовується для завантаження радіочастотної конфігурації з EEPROM у внутрішні регістри CLIF. Радіочастотна конфігурація стосується унікальної комбінації радіочастотної технології, режиму (ціль/ініціатор) і швидкості передачі даних. Радіочастотну конфігурацію можна завантажити окремо для приймача CLIF (конфігурація RX) і передавача (конфігурація TX). Значення 0xFF необхідно використовувати, якщо відповідна конфігурація для шляху не буде змінена.
4.5.7.1.1 Умови
Поле «TX Configuration» має бути в діапазоні від 0x00 до 0x2B включно. Якщо значення дорівнює 0xFF, конфігурація TX не змінюється.
Поле 'RX Configuration' має бути в діапазоні від 0x80 до 0xAB включно. Якщо значення дорівнює 0xFF, конфігурація RX не змінюється.
Спеціальна конфігурація з конфігурацією TX = 0xFF і конфігурацією RX = 0xAC використовується для одноразового завантаження регістрів завантаження.
Ця спеціальна конфігурація потрібна для оновлення конфігурацій реєстру (як TX, так і RX), які відрізняються від значень скидання IC.
4.5.7.1.2 Команда
Таблиця 67. Значення команди LOAD_RF_CONFIGURATION
Завантажте параметри RF TX і RX з E2PROM.
Поле корисного навантаження | Довжина | Значення/опис | |
Конфігурація TX | 1 байт | 0xFF | Конфігурація TX RF не змінена. |
0x0 – 0x2B | Завантажено відповідну конфігурацію TX RF. | ||
Конфігурація RX | 1 байт | 0xFF | Конфігурація RX RF не змінена. |
0x80 – 0xAB | Завантажено відповідну конфігурацію RX RF. |
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 включно. Адреса в полі Register Address має існувати у відповідній радіочастотній конфігурації. Поле «Значення» має містити значення, яке має бути записане в даний регістр і має мати довжину 4 байти (формат порядкового порядку).
4.5.7.2.2 Команда
Таблиця 69. Значення команди UPDATE_RF_CONFIGURATION
Оновіть конфігурацію РЧ
Поле корисного навантаження | Довжина | Значення/опис | ||
Конфігурація[1…n] | 6 байт | Конфігурація радіочастот | 1 байт | Конфігурація РЧ, для якої необхідно змінити реєстр. |
Адреса реєстрації | 1 байт | Реєстрація адреси в рамках даної радіочастотної технології. | ||
Значення | 4 байт | Значення, яке необхідно внести до реєстру. (Little-endian) |
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 GET_ RF_CONFIGURATION
Ця інструкція використовується для зчитування радіочастотної конфігурації. Пари реєстру адреса-значення доступні у відповіді. Щоб дізнатися, скільки пар слід очікувати, першу інформацію про розмір можна отримати з першого TLV, який вказує загальну довжину корисного навантаження.
4.5.7.3.1 Умови
Радіочастотна конфігурація поля має бути в діапазоні від 0x0 до 0x2B для конфігурації TX та 0x80 –0xAB для конфігурації RX включно.
4.5.7.3.2 Команда
Таблиця 71. Значення команди GET_ RF_CONFIGURATION Отримати радіочастотну конфігурацію.
Поле корисного навантаження | Довжина | Значення/опис |
Конфігурація радіочастот | 1 байт | Радіочастотна конфігурація, для якої необхідно отримати набір пар значень регістру. |
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
Ця інструкція використовується для ввімкнення РЧ. Регулювання 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 (радіочастотне поле не ввімкнено через тайм-аут) PN5190_STATUS_TXLDO_ERROR (помилка TXLDO через VUP недоступна) PN5190_STATUS_RFCFG_NOT_APPLIED (радіочастотна конфігурація не застосовується до цієї команди) |
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 у будь-який час.
Якщо значення поля корисного навантаження Combined_Mode Signal дорівнює 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
Поле корисного навантаження | Довжина | Значення/опис | Польова застосовність для комбінованого режиму | |
bConfig | 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 байт | Маска DAC0 | немає | |
Маска1 | 1 байт | Маска DAC1 | немає |
Таблиця 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 ➜ Режим Raw 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, таких як тригери, регістри тестової шини, sampконфігурація 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 – RFU | ||
0x02 – режим PRE | ||
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режим чергування ling, як описано в специфікаціях дизайну CTS. Десяткове значення 3 зарезервовано та розглядатиметься як 0. Примітка. Дане значення завжди маскується 0x03, а потім враховується ефективне значення. |
TB0 | 1 байт | Вибирає тестову шину для підключення до TB0. Зверніться до Розділ 7 (TB_ Signal_Index значення) |
TB1 | 1 байт | Вибирає тестову шину для підключення до TB1. Зверніться до Розділ 7 (TB_ Signal_Index значення) |
TB2 | 1 байт | Вибирає тестову шину для підключення до TB2. Зверніться до Розділ 7 (TB_ Signal_Index значення) |
TB3 | 1 байт | Вибирає тестову шину для підключення до TB3. Зверніться до Розділ 7 (TB_ Signal_Index значення) |
TTB_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
Поле корисного навантаження | Довжина | Значення/опис | |
ChunkSize | 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 | Полонений Сamples Послідовність даних |
Примітка:
Максимальний розмір «Даних журналу» залежить від «ChunkSize», який було надано як частину команди.
Загальний розмір журналу має бути доступним у відповіді заголовка TLV.
4.5.10.3.3 Подія
Для цієї інструкції немає події.
4.5.11 Команди TEST_MODE
4.5.11.1 ANTENNA_SELF_TEST
Ця інструкція використовується, щоб перевірити, чи антену під’єднано, а відповідні компоненти заповнено/зібрано.
Примітка:
Ця команда ще не доступна. Перегляньте примітки до випуску щодо доступності.
4.5.11.2 PRBS_TEST
Ця інструкція використовується для генерації послідовності PRBS для різних конфігурацій протоколів режиму читання та швидкості передачі даних. Після виконання інструкції тестова послідовність PRBS буде доступна на радіочастоті.
Примітка:
Перед надсиланням цієї команди хост повинен переконатися, що за допомогою розділу 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 GET_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 байт die ID. |
4.5.12.1.3 Подія
Для цієї команди немає подій.
4.5.12.2 GET_VERSION
Ця інструкція використовується для зчитування версії HW, версії ROM та версії FW мікросхеми PN5190.
4.5.12.2.1 Команда
Таблиця 95. Значення команди GET_VERSION
Поле корисного навантаження | Довжина | Значення/опис |
– | – | Немає даних у корисному навантаженні |
Існує команда DL_GET_VERSION (Розділ 3.4.4), доступна в режимі завантаження, яку можна використовувати для зчитування версії HW, версії ROM і версії FW.
4.5.12.2.2 Відповідь
Таблиця 96. Значення відповіді GET_VERSION
Поле корисного навантаження | Довжина | Значення/опис |
Статус | 1 байт | Статус операції [Таблиця 9]. Очікувані значення: |
PN5190_STATUS_SUCCESS PN5190_STATUS_INSTR_ERROR (Дані відсутні) |
||
HW_V | 1 байт | Апаратна версія |
РО_В | 1 байт | код ПЗУ |
FW_V | 2 байти | Версія мікропрограми (використовується для завантаження) |
RFU1-RFU2 | 1-2 байт | – |
Очікувана відповідь для іншої версії PN5190 IC згадується в (Розділ 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, із усім статусом, який буде отримано разом із даними. Припущення полягає в тому, що необхідні радіочастотні регістри вже налаштовані, а РЧ увімкнено.
Командний кадр, надісланий до PN5190: 0A0003070F26
Хост для очікування переривання.
Коли хост прочитав відповідь, кадр, отриманий від PN5190 (вказує на успішну операцію): 0A000 F000200000000000200000000004400
5.12 Прикладampфайл для LOAD_RF_CONFIGURATION
Наступна послідовність даних, надіслана з хоста для встановлення конфігурації РЧ. Для TX, 0x00 і для RX, 0x80
Командний кадр, надісланий на PN5190: 0D00020080
Хост для очікування переривання.
Коли хост читає відповідь, кадр, отриманий від PN5190 (вказує на успішну операцію): 0D000100
5.13 Прикладampфайл для UPDATE_RF_CONFIGURATION
Наступна послідовність даних, надіслана з хоста для оновлення конфігурації РЧ. Для TX, 0x00, з адресою реєстру для CLIF_CRC_TX_CONFIG і значенням 0x00000001
Командний кадр, надісланий до PN5190: 0E0006001201000000
Хост для очікування переривання.
Коли хост прочитав відповідь, кадр, отриманий від PN5190 (вказує на успішну операцію): 0E000100
5.14 Прикладample для RF_ON
Наступна послідовність даних, надісланих із хоста для ввімкнення радіочастотного поля з використанням уникнення зіткнень і відсутності активного P2P. Передбачається, що відповідна конфігурація RF TX і RX вже встановлена в PN5190.
Командний кадр, надісланий до PN5190: 10000100
Хост для очікування переривання.
Коли хост читає відповідь, кадр, отриманий від PN5190 (вказує на успішну операцію): 10000100
5.15 Прикладample для RF_OFF
Наступна послідовність даних, надіслана з хоста для вимкнення радіочастотного поля.
Командний кадр, надісланий до PN5190: 110000
Хост для очікування переривання.
Коли хост читає відповідь, кадр, отриманий від PN5190 (вказує на успішну операцію): 11000100
Додаток (індекси конфігурації радіочастотного протоколу)
Цей додаток містить індекси конфігурації радіочастотного протоколу, які підтримуються 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. Скорочення
скорочення | Значення |
CLK | Годинник |
DWL_REQ | Завантажити PIN-код запиту (також називається DL_REQ) |
EEPROM | Електрично стирається програмована постійна пам'ять |
FW | Прошивка |
GND | Земля |
GPIO | Вхідний вихід загального призначення |
HW | Обладнання |
I²C | Міжінтегральна схема (послідовна шина даних) |
IRQ | Запит на переривання |
ISO / IEC | Міжнародна організація зі стандартизації / Міжнародне електротехнічне співтовариство |
NFC | Комунікація ближнього поля |
OS | Операційна система |
PCD | Пристрій безконтактного з’єднання (безконтактний зчитувач) |
PICC | Безконтактна картка з інтегральною схемою (безконтактна картка) |
PMU | Блок управління живленням |
POR | Скидання увімкнення живлення |
RF | Радіочастота |
RST | Скинути |
SFWU | безпечний режим завантаження прошивки |
SPI | Послідовний периферійний інтерфейс |
VEN | V Увімкнути пін |
Список літератури
[1] Частина конфігурації CTS кабіни NFC, https://www.nxp.com/products/:NFC-COCKPIT[2] Специфікація PN5190 IC, 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 IC не включає ліцензію на будь-який патент 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
Документи / Ресурси
![]() |
Інтерфейсний контролер NFC NXP PN5190 [pdfПосібник користувача PN5190, PN5190 інтерфейсний контролер NFC, інтерфейсний контролер NFC, контролер, UM11942 |