UM11942
PN5190 инструкциски слој
NFC Frontend контролер
Упатство за употреба
PN5190 NFC Frontend контролер
Информации за документот
Информации | Содржина |
Клучни зборови | PN5190, NFC, NFC преден дел, контролер, инструкциски слој |
Апстракт | Овој документ ги опишува командите и одговорите на инструкцискиот слој за работа од контролорот на домаќинот, за проценка на работата на предниот контролер NXP PN5190 NFC. PN5190 е следна генерација NFC преден контролер. Обемот на овој документ е да ги опише командите на интерфејсот за работа со контролерот PN5190 NFC предниот дел. За повеќе информации за работата на предниот контролер PN5190 NFC, погледнете го листот со податоци и неговите дополнителни информации. |
Историја на ревизии
Св | Датум | Опис |
3.7 | 20230525 | • Типот и насловот на документот се сменија од додаток на листот со податоци за производот во упатство за корисникот • Уредувачко чистење • Ажурирани уредувачки термини за SPI сигнали • Додадена е команда GET_CRC_USER_AREA во Табела 8 во Дел 4.5.2.3 • Ажурирани различни диференцирани детали за PN5190B1 и PN5190B2 во Дел 3.4.1 • Ажуриран одговор од Дел 3.4.7 |
3.6 | 20230111 | Подобрен опис на одговорот за проверка на интегритет во Дел 3.4.7 |
3.5 | 20221104 | Дел 4.5.4.6.3 „Настан“: додаден |
3.4 | 20220701 | • Додадена е команда CONFIGURE_MULTIPLE_TESTBUS_DIGITAL во Табела 8 во Дел 4.5.9.3 • Ажуриран дел 4.5.9.2.2 |
3.3 | 20220329 | Описот на хардверот е подобрен во Дел 4.5.12.2.1 „Команда“ и Дел 4.5.12.2.2 „Одговор“ |
3.2 | 20210910 | Броевите на верзијата на фирмверот се ажурирани од 2.1 до 2.01 и 2.3 до 2.03 |
3.1 | 20210527 | Додаден е опис на командата RETRIEVE_RF_FELICA_EMD_DATA |
3 | 20210118 | Првата официјална објавена верзија |
Вовед
1.1 Вовед
Овој документ го опишува интерфејсот на домаќинот PN5190 и API-ите. Физичкиот интерфејс на домаќинот што се користи во документацијата е SPI. Физичката карактеристика на SPI не се разгледува во документот.
Одвојувањето на рамката и контролата на протокот се дел од овој документ.
1.1.1 Опсег
Документот го опишува логичкиот слој, инструкцискиот код, API-ите кои се релевантни за клиентот.
Домаќинот на комуникација завршиview
PN5190 има два главни начини на работа за да комуницира со контролерот на домаќинот.
- Комуникацијата базирана на HDLL се користи кога уредот се активира за да влезе:
а. Шифриран безбедносен режим за преземање за ажурирање на фирмверот - TLV комуникација базирана на команда-одговор (дадена како прampле).
2.1 HDLL режим
Режимот HDLL се користи за формат за размена на пакети за работа со долунаведените IC режими на работа:
- Безбеден режим за преземање фирмвер (SFWU), видете во Дел 3
2.1.1 Опис на HDLL
HDLL е слојот за врски развиен од NXP за да се обезбеди сигурно преземање FW.
Пораката HDLL е направена од заглавие од 2 бајти, проследено со рамка, која го содржи оптичкиот код и Payload на командата. Секоја порака завршува со 16-битен CRC, како што е опишано на сликата подолу:Заглавието HDLL содржи:
- Парче. Што покажува дали оваа порака е единствениот или последниот дел од пораката (парче = 0). Или ако, барем, следи уште едно парче (парче = 1).
- Должината на товарот кодирана на 10 бита. Значи, оптоварувањето на рамката HDLL може да достигне до 1023 бајти.
Редоследот на бајти е дефиниран како big-endian, што значи првин г-ѓа Бајт.
CRC16 е усогласен со стандардот X.25 (CRC-CCITT, ISO/IEC13239) со полином x^16 + x^12 + x^5 +1 и вредност на пред-оптоварување 0xFFFF.
Се пресметува преку целата HDLL рамка, односно Header + Frame.
SampИмплементација на C-кодот:
статички uint16_t phHal_Host_CalcCrc16(uint8_t* p, uint32_t dwDength)
{
uint32_t i ;
uint16_t crc_new ;
uint16_t crc = 0xffffU;
за (I = 0; i < dwДолжина; 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, првиот бајт е секогаш HEADER (бајт за индикација на проток), може да биде или 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 Индикација за протокHOST секогаш го испраќа како прв бајт бајтот за индикација за проток, без разлика дали сака да пишува или чита податоци од PN5190.
Ако има барање за читање и нема достапни податоци, одговорот содржи 0xFF.
Податоците по бајтот за индикација за проток се една или неколку пораки.
За секое тврдење NTS, првиот бајт е секогаш HEADER (бајт за индикација на проток), може да биде или 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: Порака COMAND или RESPONSE
1: Порака за НАСТАН
Bit[6:0]: Инструкциски код
Должина (L) => 2 бајти (треба да биде во биг-ендијански формат)
Вредност (V) => N бајти вредност/податоци на TLV (Командни параметри / податоци за одговор) врз основа на полето Должина (голем-ендијален формат)
2.2.4.1 Сплит рамка
Пораката COMMAND мора да се испрати во една SPI рамка.
Пораките RESPONSE и EVENT може да се читаат во повеќе SPI рамки, на пр. за читање на должината на бајтот.Пораките RESPONSE или EVENT може да се читаат во единечна SPI рамка, но задоцнети за NO-CLOCK помеѓу, на пр., за да се прочита должината на бајтот.
Работен режим на подигање IC – обезбеден режим на преземање FW
3.1 Вовед
Дел од кодот на фирмверот PN5190 е трајно зачуван во ROM-от, додека остатокот од кодот и податоците се складирани во вградениот блиц. Корисничките податоци се чуваат во блиц и се заштитени со механизми против кинење кои обезбедуваат интегритет и достапност на податоците. Со цел на клиентите на NXP да им се обезбедат функции кои се во согласност со најновите стандарди (EMVCo, NFC форум и така натаму), и кодот и корисничките податоци во FLASH може да се ажурираат.
Автентичноста и интегритетот на шифрираниот фирмвер се заштитени со асиметричен/симетричен потпис на клучот и механизам за хеширање со обратен синџир. Првата команда DL_SEC_WRITE го содржи хашот на втората команда и е заштитена со потпис RSA на товарот од првата рамка. Фирмверот PN5190 го користи јавниот клуч RSA за автентичност на првата команда. Синџираниот хаш во секоја команда се користи за автентичност на следната команда, за да се осигура дека до кодот на фирмверот и податоците нема пристап од трети страни.
Товарите на командите DL_SEC_WRITE се шифрираат со клуч AES-128. По автентикацијата на секоја команда, содржината на товарот се дешифрира и се запишува да трепка со фирмверот PN5190.
За фирмверот NXP, NXP е задолжен за испорака на нови безбедни ажурирања на фирмверот, заедно со нови кориснички податоци.
Постапката за ажурирање е опремена со механизам за заштита на автентичноста, интегритетот и доверливоста на NXP кодот и податоците.
Шемата за пакети со рамки базирана на HDLL се користи за сите команди и одговори за обезбеден режим на надградба на фирмверот.
Одделот 2.1 го дава надview од шемата за HDLL пакет пакети што се користи.
PN5190 IC поддржува и наследно шифрирано безбедно преземање FW и хардверски крипто асистиран шифриран безбедносен протокол за преземање FW во зависност од користената варијанта.
Двата вида се:
- Наследен безбеден протокол за преземање FW кој работи само со верзијата на IC PN5190 B0/B1.
- Безбеден протокол за преземање FW со помош на хардвер, кој работи само со верзијата IC PN5190B2, која користи хардверски крипто блокови на чип
Следниве делови ги објаснуваат командите и одговорите на режимот за преземање на безбедно фирмвер.
3.2 Како да го активирате режимот „Сигурно преземање фирмвер“.
Подолу дијаграмот и следните чекори, покажуваат како да се активира режимот за преземање заштитен фирмвер.Предуслов: PN5190 е во оперативна состојба.
Главното сценарио:
- Услов за влез каде што пинот DWL_REQ се користи за да влезе во режимот „Заштитено преземање фирмвер“.
а. Домаќинот на уредот го повлекува пинот DWL_REQ високо (важи само ако безбедно ажурирање на фирмверот преку пинот DWL_REQ) ИЛИ
б. Домаќинот на уредот врши хард-ресетирање за да го подигне PN5190 - Услови за влез кога пинот DWL_REQ не се користи за влегување во режимот „Сигурно преземање фирмвер“ (симнување без иглички).
а. Домаќинот на уредот врши хард-ресетирање за да го подигне PN5190
б. Домаќинот на уредот испраќа SWITCH_MODE_NORMAL (Дел 4.5.4.5) за да влезе во нормален режим на апликација.
в. Сега кога IC е во нормален режим на апликација, домаќинот на уредот испраќа SWITCH_MODE_DOWNLOAD (Дел 4.5.4.9) за да влезе во режим на безбедно преземање. - Домаќинот на уредот испраќа команда DL_GET_VERSION (Дел 3.4.4) или DL_GET_DIE_ID (Дел 3.4.6) или DL_GET_SESSION_STATE (Дел 3.4.5).
- Домаќинот на уредот ја чита тековната верзија на хардвер и фирмвер, сесија, Die-id од уредот.
а. Домаќинот на уредот го проверува статусот на сесијата ако последното преземање е завршено
б. Домаќинот на уредот ги применува правилата за проверка на верзијата за да одлучи дали да започне преземањето или да излезе од преземањето. - Домаќинот на уредот се вчитува од a file бинарниот код на фирмверот што треба да се преземе
- Домаќинот на уредот обезбедува прва команда DL_SEC_WRITE ( Дел 3.4.8) која содржи:
а. Верзијата на новиот фирмвер,
б. Произволни вредности од 16 бајти што се користат за замаглување на клучот за шифрирање
в. Дигест вредност на следната рамка,
г. Дигитален потпис на самата рамка - Домаќинот на уредот ја вчитува низата на протокол за безбедно преземање на PN5190 со команди DL_SEC_WRITE (Дел 3.4.8).
- Кога е испратена последната команда DL_SEC_WRITE (Дел 3.4.8), домаќинот на уредот ја извршува командата DL_CHECK_INTEGRITY (Дел 3.4.7) за да провери дали мемориите се успешно напишани.
- Домаќинот на уредот ја чита новата верзија на фирмверот и го проверува статусот на сесијата ако е затворена за известување до горниот слој
- Домаќинот на уредот ја повлекува иглата DWL_REQ на ниско ниво (ако иглата DWL_REQ се користи за да влезе во режимот за преземање)
- Домаќинот на уредот врши тешко ресетирање (префрлање VEN пин) на уредот за да се рестартира PN5190
Пост-состојба: Фирмверот е ажуриран; пријавен е нов број на верзија на фирмверот.
3.3 Потпис на фирмверот и контрола на верзијата
Во режимот за преземање фирмвер PN5190, механизам гарантира дека само фирмверот потпишан и испорачан од NXP ќе биде прифатен за фирмверот NXP.
Следното е применливо само за шифрираниот безбеден фирмвер NXP.
За време на сесијата за преземање, се испраќа нова верзија на фирмверот од 16 бити. Тој е составен од голем и мал број:
- Главен број: 8 бита (MSB)
- Мал број: 8 бита (LSB)
PN5190 проверува дали бројот на новата голема верзија е поголем или еднаков на тековниот. Ако не, обезбеденото преземање на фирмверот се одбива и сесијата се одржува затворена.
3.4 HDLL команди за наследно шифрирано преземање и хардверски крипто-помош шифрирано преземање
Овој дел ги дава информациите за командите и одговорите што се користеа за двата типа преземања за преземање на фирмверот NXP.
3.4.1 HDLL командни OP кодови
Забелешка: 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 | 0х8С | 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 | Непозната команда |
0х0С | 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_OK.US Затоа, може да се прими само погрешен статус.
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 RFU16 одзивот за примачот е CVRCXNUMX.
Табела 3. Одговор на командата GetVersion
Поле | Бајт | Опис |
СТАТ | 1 | Статус |
HW_V | 2 | Хардверска верзија |
RO_V | 3 | ROM код |
MODEL_ID | 4 | ID на модел |
FMxV | 5-6 | Верзија на фирмверот (се користи за преземање) |
RFU1-RFU2 | 7-8 | – |
Очекуваните вредности на различни полиња на одговор и нивното пресликување е како што следува:
Табела 4. Очекувани вредности на одговорот на командата GetVersion
Тип на IC | HW верзија (хексадецимален) | Верзија на ROM (хексадечни) | 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
Поле | Бајт | Опис |
СТАТ | 1 | Статус |
SSTA | 2 | Состојба на сесија • 0x00: затворено • 0x01: отворено • 0x02: заклучено (не е дозволено повеќе преземање) |
RFU | 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
ID10 ID11 ID12 ID13 ID14 ID15 CRC16] Рамката за носивост на одговорот GetDieId е:
Табела 6. Одговор на командата GetDieId
Поле | Бајт | Опис |
СТАТ | 1 | Статус |
RFU | 2-4 | |
УМРЕ | 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 е одговорот на платите:
Табела 7. Одговор на командата CheckIntegrity
Поле | Бајт | Вредност/Опис | |
СТАТ | 1 | Статус | |
ПОДАТОЦИ ЗА ЛЕН | 2 | Вкупен број на податочни делови | |
ЛЕН КОД | 3 | Вкупен број на секции со код | |
RFU | 4 | Резервирано | |
[CRC_INFO] | 58 | 32 бита (малку-ендијан). Ако е поставен бит, CRC на соодветниот дел е во ред, во спротивно не е во ред. | |
Бит | Статус на интегритет на областа | ||
[31:28] | Резервирано [3] | ||
[27:23] | Резервирано [1] | ||
[22] | Резервирано [3] | ||
[21:20] | Резервирано [1] | ||
[19] | Област за конфигурација на RF (PN5190 B0/B1) [2] Резервирана (PN5190 B2) [3] | ||
[18] | Област за конфигурација на протокол (PN5190 B0/B1) [2] Област за конфигурација на RF (PN5190 B2) [2] | ||
[17] | Резервирано (PN5190 B0/B1) [3] Корисничка конфигурациска област (PN5190 B2) [2] | ||
[16:6] | Резервирано [3] | ||
[5:4] | Резервирано за PN5190 B0/B1 [3] Резервирано за PN5190 B2 [1] | ||
[3:0] | Резервирано [1] | ||
[CRC32] | 9-136 | CRC32 од 32 секции. Секој CRC е од 4 бајти зачувани во малку ендиски формат. Првите 4 бајти CRC се од бит CRC_INFO[31], следните 4 бајти CRC се од бит CRC_ INFO[30] и така натаму. |
- [1] Овој бит мора да биде 1 за PN5190 да функционира правилно (со карактеристики и или шифрирано преземање FW).
- [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 IC мора да биде во нормален режим на работа за да ја добие функционалноста 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 |
0х0С | EPC_GEN2_INVENTORY |
0x0D | LOAD_RF_CONFIGURATION |
0x0E | UPDATE_RF_CONFIGURATION |
0x0F | ДОБИЈ RF_CONFIGURATION |
0x10 | RF_ON |
0x11 | RF_OFF |
0x12 | КОНФИГУРИРАЈТЕ ТЕСТБУС_ДИГИТАЛ |
0x13 | CONFIGURE_TESTBUS_ANALOG |
0x14 | CTS_ENABLE |
0x15 | CTS_CONFIGURE |
0x16 | CTS_RETRIEVE_LOG |
0х17-0х18 | RFU |
0x19 | до FW v2.01: RFU |
од FW v2.03 наваму: RETRIEVE_RF_FELICA_EMD_DATA | |
0x1A | RECEIVE_RF_DATA |
0x1B-0x1F | RFU |
0x20 | SWITCH_MODE_NORMAL |
0x21 | SWITCH_MODE_AUTOCOLL |
0x22 | SWITCH_MODE_STANDBY |
0x23 | SWITCH_MODE_LPCD |
0x24 | RFU |
0x25 | SWITCH_MODE_POWNLOAD |
0x26 | GET_DIEID |
0x27 | GET_VERSION |
0x28 | RFU |
0x29 | до FW v2.05: RFU |
од FW v2.06 па натаму: GET_CRC_USER_AREA | |
0x2A | до FW v2.03: RFU |
од FW v2.05 па натаму: CONFIGURE_MULTIPLE_TESTBUS_DIGITAL | |
0x2B-0x3F | RFU |
0x40 | ANTENNA_SELF_TEST (Не е поддржано) |
0x41 | PRBS_TEST |
0x42-0x4F | RFU |
4.3 Вредности на статусот на одговорот
Следниве се вредностите на статусот на одговор, кои се враќаат како дел од одговорот од PN5190 откако командата ќе се операционализира.
Табела 9. Вредности на статусот на одговорот PN5190
Статус на одговор | Вредност на статусот на одговорот | Опис |
PN5190_STATUS_SUCCESS | 0x00 | Укажува дека операцијата е успешно завршена |
PN5190_STATUS_TIMEOUT | 0x01 | Укажува дека операцијата на командата резултирала со истек на време |
PN5190_STATUS_INTEGRITY_ERROR | 0x02 | Укажува дека работата на командата резултирала со грешка во интегритетот на податоците на RF |
PN5190_STATUS_RF_COLLISION_ERROR | 0x03 | Укажува дека работата на командата резултирала со грешка при судир на RF |
PN5190_STATUS_RFU1 | 0x04 | Резервирано |
PN5190_STATUS_INVALID_COMMAND | 0x05 | Укажува дека дадената команда е невалидна/не имплементирана |
PN5190_STATUS_RFU2 | 0x06 | Резервирано |
PN5190_STATUS_AUTH_ERROR | 0x07 | Покажува дека автентикацијата на MFC не успеа (дозволата е одбиена) |
PN5190_STATUS_MEMORY_ERROR | 0x08 | Укажува дека операцијата на командата резултирала со програмска грешка или грешка во внатрешната меморија |
PN5190_STATUS_RFU4 | 0x09 | Резервирано |
PN5190_STATUS_NO_RF_FIELD | 0x0A | Покажува дека нема или има грешка во присуството на внатрешно RF поле (применливо само во режим на иницијатор/читач) |
PN5190_STATUS_RFU5 | 0x0B | Резервирано |
PN5190_STATUS_SYNTAX_ERROR | 0х0С | Укажува дека е примена неважечка должина на командната рамка |
PN5190_STATUS_RESOURCE_ERROR | 0x0D | Укажува дека настанала внатрешна грешка во ресурсите |
PN5190_STATUS_RFU6 | 0x0E | Резервирано |
PN5190_STATUS_RFU7 | 0x0F | Резервирано |
PN5190_STATUS_NO_EXTERNAL_RF_FIELD | 0x10 | Покажува дека не е присутно надворешно RF поле за време на извршувањето на командата (Применливо само во режим на картичка/целна) |
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_ANTENA | 0x1B | Покажува дека ниедна антена не е поврзана/присутна |
PN5190_STATUS_TXLDO_ERROR | 0х1С | Покажува дека има грешка во TXLDO кога VUP не е достапен и RF е вклучен. |
PN5190_STATUS_RFCFG_NOT_APPLIED | 0x1D | Покажува дека RF конфигурацијата не е вчитана кога RF е вклучено |
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, ќе бидат целосно обработени во рамките на фирмверот и домаќинот ќе биде известен само за настаните наведени во делот за настани.
Фирмверот имплементира два регистри на настани како регистри на RAM меморија кои можат да се напишат / читаат со помош на командите од Дел 4.5.1.1 / Секција 4.5.1.5.
Регистарот EVENT_ENABLE (0x01) => Овозможи специфични/сите известувања за настани.
Регистарот EVENT_STATUS (0x02) => Дел од товарот на пораката за настанот.
Домаќинот ќе ги расчисти настаните штом домаќинот ќе ја прочита пораката за настанот.
Настаните се асинхрони по природа и се известуваат до домаќинот, доколку се овозможени во регистарот EVENT_ENABLE.
Следува список на настани што ќе му бидат достапни на домаќинот како дел од пораката за настанот.
Табела 10. PN5190 настани (содржини на EVENT_STATUS)
Бит – опсег | Поле [1] | Секогаш Овозможено (Д/Д) | |
31 | 12 | RFU | 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 | RFU | Резервирано | |
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 | Овој бит е поставен кога ќе се открие надворешното RF поле. | Нема податоци за настанот |
3 | 3 | RFOFF_DET_EVENT | Овој бит се поставува кога веќе постоечкото надворешно RF поле ќе исчезне. | Нема податоци за настанот |
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 | RFU | Резервирано |
26 | 26 | ULP_STANDBY | Причина за подигнување поради излегување од ULP_STANDBY. |
25 | 23 | RFU | Резервирано |
22 | 22 | BOOT_ RX_ULPDET | RX ULPDET резултираше со подигање во ULP-Standby режим |
21 | 21 | RFU | Резервирано |
20 | 20 | BOOT_SPI | Причина за подигнување поради намалениот сигнал SPI_NTS |
19 | 17 | RFU | Резервирано |
16 | 16 | BOOT_GPIO3 | Причина за подигнување поради транзиција на GPIO3 од ниско на високо. |
15 | 15 | BOOT_GPIO2 | Причина за подигнување поради транзиција на GPIO2 од ниско на високо. |
14 | 14 | BOOT_GPIO1 | Причина за подигнување поради транзиција на GPIO1 од ниско на високо. |
13 | 13 | BOOT_GPIO0 | Причина за подигнување поради транзиција на GPIO0 од ниско на високо. |
12 | 12 | BOOT_LPDET | Причина за подигнување поради присуство на надворешно RF поле за време на STANDBY/SUSPEND |
11 | 11 | RFU | Резервирано |
10 | 8 | RFU | Резервирано |
7 | 7 | BOOT_SOFT_RESET | Причина за подигнување поради меко ресетирање на IC |
6 | 6 | BOOT_VDDIO_LOSS | Причина за подигнување поради губење на VDDIO. Видете во Дел 4.4.2.3 |
5 | 5 | BOOT_VDDIO_START | Подигнување Причина ако STANDBY влезе со VDDIO LOSS. Видете во Дел 4.4.2.3 |
4 | 4 | BOOT_WUC | Подигнување Причина поради истекување бројач за будење за време на двете операции STANDBY. |
3 | 3 | BOOT_TEMP | Причината за подигнување поради температурата на IC е повеќе од конфигурираниот праг. Ве молиме погледнете го делот 4.4.2.1 |
2 | 2 | BOOT_WDG | Причина за подигнување поради ресетирање на чуварот |
1 | 1 | RFU | Резервирано |
0 | 0 | BOOT_POR | Подигнување Причина поради ресетирање на вклучувањето |
4.4.1.2.3 Дефиниции на битови за STANDBY_PREV_STATUS_DATA
Табела 13. Дефиниции за STANDBY_PREV_STATUS_DATA битови
Малку до | Бит од | Превенција во мирување | Спречено мирување поради |
31 | 26 | RFU | РЕЗЕРВИРАНО |
25 | 25 | RFU | РЕЗЕРВИРАНО |
24 | 24 | PREV_TEMP | Работната температура на ИЦ е надвор од прагот |
23 | 23 | RFU | РЕЗЕРВИРАНО |
22 | 22 | PREV_HOSTCOMM | Комуникација со интерфејс на домаќинот |
21 | 21 | PREV_SPI | SPI_NTS сигналот се спушта на ниско ниво |
20 | 18 | RFU | РЕЗЕРВИРАНО |
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 | Откривање на ниска моќност. Се појавува кога ќе се открие надворешен RF сигнал во процесот на влегување во мирување. |
11 | 11 | PREV_RX_ULPDET | RX откривање со ултра ниска моќност. Се појавува кога RF сигнал е откриен во процесот на одење до ULP_STANDBY. |
10 | 10 | RFU | РЕЗЕРВИРАНО |
9 | 5 | RFU | РЕЗЕРВИРАНО |
4 | 4 | RFU | РЕЗЕРВИРАНО |
3 | 3 | RFU | РЕЗЕРВИРАНО |
2 | 2 | RFU | РЕЗЕРВИРАНО |
1 | 1 | RFU | РЕЗЕРВИРАНО |
0 | 0 | RFU | РЕЗЕРВИРАНО |
4.4.1.2.4 Дефиниции на битови за GENERAL_ERROR_STATUS_DATA
Табела 14. Дефиниции за GENERAL_ERROR_STATUS_DATA битови
Малку до | Малку од | Статус на грешка | Опис |
31 | 6 | RFU | Резервирано |
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 | Грешка во ADC |
4.4.1.2.5 Дефиниции на битови за LPCD_STATUS_DATA
Табела 15. Дефиниции за LPCD_STATUS_DATA бајти
Малку до | Бит од | Применливост на битови за статус според основната операција на LPCD или ULPCD | Описот за соодветниот бит е поставен во статус бајт. | ||
LPCD | ULPCD | ||||
31 | 7 | RFU | Резервирано | ||
6 | 6 | Abort_HIF | Y | N | Прекинат поради активност на ФЗОМ |
5 | 5 | Грешка CLKDET | N | Y | Се прекина поради грешка CLKDET |
4 | 4 | Истекување на XTAL | N | Y | Прекинат поради XTAL истек на време |
3 | 3 | VDDPA LDO Прекумерна струја | N | Y | Прекинат поради VDDPA LDO прекумерна струја |
2 | 2 | Надворешно RF поле | Y | Y | Прекинат поради надворешно RF поле |
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 | Надворешно RF поле | Y | Y | Прекинат поради надворешно RF поле |
1 | 1 | Прекинете го GPIO3 | N | Y | Прекинат поради промена на нивото на GPIO3 |
0 | 0 | Откриена картичка | Y | Y | Картичката е откриена |
4.4.2 Ракување со различни сценарија за подигање
ИЦ PN5190 се справува со различни услови на грешка поврзани со параметрите на IC како што е подолу.
4.4.2.1 Ракување со сценарио за прекумерна температура кога PN5190 е во функција
Секогаш кога внатрешната температура на IC на PN5190 ја достигнува прагот вредноста како што е конфигурирана во полето EEPROM TEMP_WARNING [2], ИЦ влегува во мирување. И, следствено, ако полето EEPROM ENABLE_GPIO0_ON_OVERTEMP [2] е конфигурирано да подига известување до домаќинот, тогаш GPIO0 ќе се повлече високо за да го извести ИЦ за температурата.
Како и кога температурата на IC ќе падне под прагот на вредноста како што е конфигурирана во полето EEPROM TEMP_WARNING [2], ИЦ ќе се подигне со BOOT_EVENT како во Табела 11 и битот за статус на подигање BOOT_TEMP е поставен како во Табела 12 и GPIO0 ќе се повлече на ниско ниво.
4.4.2.2 Ракување со прекумерна струја
Ако PN5190 IC ја почувствува состојбата на прекумерна струја, IC го исклучува RF напојувањето и го испраќа TX_OVERCURRENT_ERROR_EVENT како во Табела 11.
Времетраењето на состојбата со прекумерна струја може да се контролира со менување на полето EEPROM TXLDO_CONFIG [2].
За информации за ИЦ над тековниот праг, погледнете во документот [2].
Забелешка:
Доколку има други настани или одговор што чекаат, тие ќе бидат испратени до домаќинот.
4.4.2.3 Губење на VDDIO за време на работата
Ако PN5190 IC се сретне дека нема VDDIO (губење на VDDIO), IC влегува во мирување.
IC се подига само кога VDDIO е достапен, со BOOT_EVENT како во Табела 11 и BOOT_VDDIO_START бит за статус на подигање е поставен како во Табела 12.
За информации за статичките карактеристики на PN5190 IC, погледнете во документот [2].
4.4.3 Ракување со сценарија за абортус
ИЦ PN5190 има поддршка за прекинување на сегашните извршни команди и однесувањето на PN5190 IC, кога таквата команда за прекин како што е Дел 4.5.4.5.2 е испратена до PN5190 IC е како што е прикажано во Табела 18.
Забелешка:
Кога PN5190 IC е во режим ULPCD и ULP-Standby, тој не може да се прекине ниту со испраќање на Дел 4.5.4.5.2 ИЛИ со започнување на трансакција SPI (со повлекување на сигналот SPI_NTS на ниско ниво).
Табела 18. Очекуван одговор на настанот кога различни команди ќе завршат со Дел 4.5.4.5.2
Наредби | Однесување кога се испраќа Нормална команда Switch Mode |
Сите команди каде што не е внесена мала моќност | EVENT_STAUS е поставен на „IDLE_EVENT“ |
Switch Mode LPCD | EVENT_STATUS е поставен на „LPCD_EVENT“ со „LPCD_ STATUS_DATA“ што ги покажува статусните битови како „Abort_HIF“ |
Префрли го режимот на подготвеност | EVENT_STAUS е поставен на „BOOT_EVENT“ со „BOOT_ STATUS_DATA“ што покажува битови „BOOT_SPI“ |
Автоматско собирање на режим на префрлување (без автономен режим, автономен режим со мирување и автономен режим без режим на подготвеност) | EVENT_STAUS е поставен на „AUTOCOLL_EVENT“ со битови STATUS_DATA што укажуваат дека командата е откажана од корисникот. |
4.5 Детали за инструкциите за работа во нормален режим
4.5.1 Манипулација со регистар
Инструкциите од овој дел се користат за пристап до логичките регистри на PN5190.
4.5.1.1 ЗАПИШИ_РЕГИСТРИРАЈ
Оваа инструкција се користи за запишување на 32-битна вредност (малку-ендијан) во логички регистар.
4.5.1.1.1 Услови
Адресата на регистарот мора да постои, а регистарот мора или да има атрибут READ-WRITE или WRITE-ONLY.
4.5.1.1.2 Команда
Табела 19. Вредност на командата WRITE_REGISTER Напишете 32-битна вредност во регистарот.
Поле за носивост | Должина | Вредност/Опис |
Регистрирајте адреса | 1 бајт | Адреса на регистарот. |
Табела 19. Вредност на командата WRITE_REGISTER…продолжува
Напишете 32-битна вредност во регистарот.
Поле за носивост | Должина | Вредност/Опис |
Вредност | 4 бајти | 32-битна регистерска вредност која мора да се запише. (малку-ендијан) |
4.5.1.1.3 Одговор
Табела 20. Вредност на одговор WRITE_REGISTER
Поле за носивост | Должина | Вредност/Опис |
Статус | 1 бајт | Статус на операцијата [Табела 9]. Очекуваните вредности се како што следува: |
PN5190_STATUS_SUCCESS | ||
PN5190_STATUS_INSTR_ERROR |
4.5.1.1.4 настан
Нема настани за оваа команда.
4.5.1.2 WRITE_REGISTER_OR_MASK
Оваа инструкција се користи за менување на содржината на регистарот користејќи логичка операција ИЛИ. Се чита содржината на регистарот и се врши логичка операција ИЛИ со дадената маска. Изменетата содржина се запишува назад во регистарот.
4.5.1.2.1 Услови
Адресата на регистарот мора да постои, а регистарот мора да има атрибут READ-WRITE.
4.5.1.2.2 Команда
Табела 21. Вредност на командата WRITE_REGISTER_OR_MASK Изведете логичка операција ИЛИ на регистар користејќи ја дадената маска.
Поле за носивост | Должина | Вредност/опис |
Регистрирајте адреса | 1 бајт | Адреса на регистарот. |
Маска | 4 бајти | Бит-маска се користи како операнд за логичка операција ИЛИ. (малку-ендијан) |
4.5.1.2.3 Одговор
Табела 22. Вредност на одговор WRITE_REGISTER_OR_MASK
Поле за носивост | Должина | Вредност/Опис |
Статус | 1 бајт | Статус на операцијата [Табела 9]. Очекуваните вредности се како што следува: |
PN5190_STATUS_SUCCESS | ||
PN5190_STATUS_INSTR_ERROR |
4.5.1.2.4 настан
Нема настани за оваа команда.
4.5.1.3 WRITE_REGISTER_AND_MASK
Оваа инструкција се користи за менување на содржината на регистарот користејќи логичка операција И. Се чита содржината на регистарот и се врши логичка операција И со дадената маска. Изменетата содржина се запишува назад во регистарот.
4.5.1.3.1 Услови
Адресата на регистарот мора да постои, а регистарот мора да има атрибут READ-WRITE.
4.5.1.3.2 Команда
Табела 23. Вредност на командата WRITE_REGISTER_AND_MASK Изведете логичка И операција на регистар користејќи ја дадената маска.
Поле за носивост | Должина | Вредност/опис |
Регистрирајте адреса | 1 бајт | Адреса на регистарот. |
Маска | 4 бајти | Бит-маска се користи како операнд за логичка И операција. (малку-ендијан) |
4.5.1.3.3 Одговор
Табела 24. Вредност на одговор WRITE_REGISTER_AND_MASK
Поле за носивост | Должина | Вредност/Опис |
Статус | 1 бајт | Статус на операцијата [Табела 9]. Очекуваните вредности се како што следува: |
PN5190_STATUS_SUCCESS | ||
PN5190_STATUS_INSTR_ERROR |
4.5.1.3.4 настан
Нема настани за оваа команда.
4.5.1.4 WRITE_REGISTER_MULTIPLE
Оваа инструкциска функционалност е слична на Секцијата 4.5.1.1, Дел 4.5.1.2, Дел 4.5.1.3, со можност за нивно комбинирање. Всушност, потребно е низа од регистерски тип-вредност сет и врши соодветно дејство. Типот го одразува дејството што е или запишување регистар, логичка ИЛИ операција на регистар или логичка И операција на регистар.
4.5.1.4.1 Услови
Соодветната логичка адреса на регистарот во множество мора да постои.
Атрибутот за пристап до регистарот мора да дозволи извршување на бараното дејство (тип):
- Акција за пишување (0x01): атрибут READ-WRITE или WRITE-ONLY
- ИЛИ дејство на маска (0x02): атрибут READ-WRITE
- И дејство на маска (0x03): атрибут READ-WRITE
Големината на низата „Постави“ мора да биде во опсег од 1 – 43, вклучително.
Полето „Тип“ мора да биде во опсег од 1 – 3, вклучително
4.5.1.4.2 Команда
Табела 25. Вредност на наредбата WRITE_REGISTER_MULTIPLE Изведете операција за запишување на регистар користејќи множество од парови Register-Value.
Поле за носивост | Должина | Вредност/опис | |||
Поставете [1…n] | 6 бајти | Регистрирајте адреса | 1 бајт | Логичка адреса на регистарот. | |
Тип | 1 бајт | 0x1 | Напиши Регистрирај се | ||
0x2 | Напишете Регистрирај се ИЛИ маска | ||||
0x3 | Напиши Регистрирај се И Маска | ||||
Вредност | 4 бајти | 32 Вредност на регистарот за залак која мора да се запише или бит-маска да се користи за логичка операција. (малку-ендијан) |
Забелешка: Во случај на исклучок, операцијата не се враќа назад, т.е. регистрите кои се модифицирани додека не се појави исклучок остануваат во изменета состојба. Домаќинот мора да преземе соодветни активности за да се врати во дефинирана состојба.
4.5.1.4.3 Одговор
Табела 26. WRITE_REGISTER_MULTIPLE вредност на одговор
Поле за носивост | Должина | Вредност/Опис |
Статус | 1 бајт | Статус на операцијата [Табела 9]. Очекуваните вредности се како што следува: |
PN5190_STATUS_SUCCESS | ||
PN5190_STATUS_INSTR_ERROR |
4.5.1.4.4 настан
Нема настани за оваа команда.
4.5.1.5 READ_REGISTER
Оваа инструкција се користи за читање на содржината на логички регистар. Содржината е присутна во одговорот, како вредност од 4 бајти во малку ендиски формат.
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-битна регистерска вредност која е прочитана. (малку-ендијан) |
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 од која ќе започне операцијата за запишување. (малку ендиски) |
Вредности | 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 Address“ ја означува почетната адреса на операцијата за читање. Одговорот ги содржи податоците прочитани од E2PROM.
4.5.2.2.1 Услови
Полето „E2PROM адреса“ мора да биде во важечки опсег.
Полето „Број на бајти“ мора да биде во опсег од 1 – 256, вклучително.
Операцијата за читање не смее да оди подалеку од последната достапна EEPROM адреса.
Одговорот за грешка ќе се испрати до домаќинот, доколку адресата го надминува адресниот простор на EEPROM.
4.5.2.2.2 Команда
Табела 33. Вредност на командата READ_E2PROM Прочитајте ги вредностите од E2PROM последователно.
Поле за носивост | Должина | Вредност/опис |
E2PROM адреса | 2 бајт | Адреса во E2PROM од која ќе започне операцијата за читање. (малку ендиски) |
Број на бајти | 2 бајт | Број на бајти што треба да се прочитаат. (малку-ендијан) |
4.5.2.2.3 Одговор
Табела 34. Вредност на одговорот READ_E2PROM
Поле за носивост | Должина | Вредност/Опис |
Статус | 1 бајт | Статус на операцијата [Табела 9]. Очекуваните вредности се како што следува: |
PN5190_STATUS_SUCCESS | ||
PN5190_STATUS_INSTR_ERROR (Нема дополнителни податоци) | ||
Вредности | 1 – 1024 бајти | Вредности кои се прочитани по редослед. |
4.5.2.2.4 настан
Нема настани за оваа команда.
4.5.2.3 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 податоци во малку ендиски формат. |
4.5.2.3.3 настан
Нема настани за оваа команда.
4.5.3 CLIF манипулација со податоци
Упатствата опишани во овој дел ги опишуваат командите за пренос и прием на RF.
4.5.3.1 EXCHANGE_RF_DATA
Функцијата за размена на RF врши пренос на TX податоци и чека прием на какви било податоци RX.
Функцијата се враќа во случај на прием (или погрешен или точен) или се случи истек на време. Тајмерот се стартува со КРАЈ на ПРЕНОС и запира со СТАРТ на ПРИМАЊЕ. Вр
Ако transceiver_state е
- во IDLE се внесува режимот TRANSCEIVE.
- Во WAIT_RECEIVE, состојбата на трансиверот се ресетира на TRANSCEIVE MODE во случај да е поставен бит на иницијаторот
- Во WAIT_TRANSMIT, состојбата на трансиверот се ресетира на TRANSCEIVE MODE во случај битот на иницијаторот да НЕ е поставен
Полето „Број на валидни битови во последниот бајт“ ја покажува точната должина на податоците што треба да се пренесат.
4.5.3.1.1 Услови
Големината на полето „TX Data“ мора да биде во опсег од 0 – 1024, вклучително.
Полето „Број на валидни битови во последниот бајт“ мора да биде во опсег од 0 до 7.
Командата не смее да се повика за време на тековен RF пренос. Командата треба да обезбеди правилна состојба на примопредавателот за пренос на податоците.
Забелешка:
Оваа команда е валидна само за режимот читач и режимот P2P“ пасивен/активен иницијатор.
4.5.3.1.2 Команда
Табела 37. Вредност на командата EXCHANGE_RF_DATA
Запишете TX податоци во внатрешниот тампон за пренос на RF и го започнува преносот со помош на командата transceive и почекајте до приемот или Time-Out за да подготвите одговор до домаќинот.
Поле за носивост | Должина | Вредност/Опис | |
Број на валидни битови во последниот бајт | 1 бајт | 0 | Сите битови од последниот бајт се пренесуваат |
1 – 7 | Број на битови во последниот бајт што треба да се пренесат. | ||
RFExchangeConfig | 1 бајт | Конфигурација на функцијата RFExchange. Детали видете подолу |
Табела 37. Вредност на командата EXCHANGE_RF_DATA...продолжува
Запишете TX податоци во внатрешниот тампон за пренос на RF и го започнува преносот со помош на командата transceive и почекајте до приемот или Time-Out за да подготвите одговор до домаќинот.
Поле за носивост | Должина | Вредност/Опис |
TX податоци | n бајти | TX податоци кои мора да се испратат преку CLIF со помош на командата transceive. 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 (малку-ендијан) |
EVENT_STATUS | 4 бајти | Ако се бара EVENT_STATUS (малку-ендијан) |
RX податоци | 1 – 1024 бајти | Ако се бараат податоци RX. RX податоци добиени за време на фазата на прием на RF од размената на RF. |
4.5.3.1.4 настан
Нема настани за оваа команда.
4.5.3.2 ПРЕНЕСУВАЊЕ_RF_Податоци
Оваа инструкција се користи за запишување податоци во внатрешниот бафер за пренос на CLIF и за започнување на пренос користејќи интерна команда transceive. Големината на овој бафер е ограничена на 1024 бајти. Откако ќе се изврши оваа инструкција, автоматски се вклучува RF прием.
Командата се враќа веднаш по завршувањето на Преносот, не чекајќи да заврши приемот.
4.5.3.2.1 Услови
Бројот на бајти во полето „TX Data“ мора да биде во опсег од 1 – 1024, вклучително.
Командата не смее да се повика за време на тековен RF пренос.
4.5.3.2.2 Команда
Табела 40. Вредност на командата TRANSMIT_RF_DATA Запишете TX податоци во внатрешниот бафер за пренос CLIF.
Поле за носивост | Должина | Вредност/Опис |
Број на валидни битови во последниот бајт | 1 бајт | 0 Сите битови од последниот бајт се пренесуваат 1 – 7 Број на битови во последниот бајт што треба да се пренесат. |
RFU | 1 бајт | Резервирано |
TX податоци | 1 – 1024 бајти | TX податоци кои ќе се користат при следниот RF пренос. |
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 бафер, кој ги содржи податоците за одговорот на RF (доколку ги има) објавени на него од претходното извршување на Дел 4.5.3.1 со опција да не се вклучуваат примените податоци во одговорот или Дел 4.5.3.2 .XNUMX команда.
4.5.3.3.1 Команда
Табела 42. Вредност на наредбата RETRIEVE_RF_DATA Читање на податоците RX од внатрешниот бафер за прием на RF.
Поле за носивост | Должина | Вредност/Опис |
Празен | Празен | Празен |
4.5.3.3.2 Одговор
Табела 43. Вредност на одговор RETRIEVE_RF_DATA
Поле за носивост | Должина | Вредност/Опис |
Статус | 1 бајт | Статус на операцијата [Табела 9]. Очекуваните вредности се како што следува: |
Поле за носивост | Должина | Вредност/Опис |
PN5190_STATUS_INSTR_SUCCESS PN5190_STATUS_INSTR_ERROR (Нема дополнителни податоци) |
||
RX податоци | 1 – 1024 бајти | RX податоци кои се примени при последниот успешен RF прием. |
4.5.3.3.3 настан
Нема настани за оваа команда.
4.5.3.4 RECEIVE_RF_DATA
Оваа инструкција ги чека податоците добиени преку RF интерфејсот на читачот.
Во режимот на читач, оваа инструкција се враќа или ако има прием (или погрешен или точен) или ако се случи истек на FWT. Тајмерот се стартува со КРАЈ на ПРЕНОС и запира со СТАРТ на ПРИМАЊЕ. Стандардната вредност на истекот на времето претходно конфигурирана во EEPROM ќе се користи во случај да не е конфигуриран истек на време пред извршувањето на командата Exchange.
Во целниот режим, оваа инструкција се враќа или во случај на прием (или погрешен или точен) или во случај на надворешна RF грешка.
Забелешка:
Оваа инструкција ќе се користи со командата TRANSMIT_RF_DATA за извршување на операцијата TX и RX…
4.5.3.4.1 Команда
Табела 44. Вредност на командата RECEIVE_RF_DATA
Поле за носивост | Должина | Вредност/Опис |
ReceiveRFCconfig | 1 бајт | Конфигурација на функцијата ReceiveRFConfig. Види Табела 45 |
Табела 45. ReceiveRFCconfig битмаска
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 (малку-ендијан) |
EVENT_STATUS | 4 бајти | Ако се бара EVENT_STATUS (малку-ендијан) |
RX податоци | 1 – 1024 бајти | Ако се бараат податоци RX. RX податоци добиени преку RF. |
4.5.3.4.3 настан
Нема настани за оваа команда.
4.5.3.5 RETRIEVE_RF_FELICA_EMD_DATA (конфигурација FeliCa EMD)
Оваа инструкција се користи за читање податоци од внатрешниот CLIF RX бафер, кој содржи податоци за одговор FeliCa EMD (доколку ги има) објавени на него од претходното извршување на командата EXCHANGE_RF_DATA што се враќа со статус „PN5190_STATUS_TIMEOUT_WITH_EMD_ERROR“.
Забелешка: Оваа команда е достапна од PN5190 FW v02.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 кои се примени при последниот неуспешен RF прием со помош на командата 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 делува како RF слушател, автономно врши активирање на целниот режим (за да гарантира ограничувања во реално време)
4.5.4.5 SWITCH_MODE_NORMAL
Командата Switch Mode Normal има три случаи на употреба.
4.5.4.5.1 UseCase1: Влезете во нормален режим на работа по вклучувањето (POR)
Користете за ресетирање во состојба на мирување за примање/обработка на следната команда со влегување во нормален режим на работа.
4.5.4.5.2 UseCase2: Прекинување на веќе извршената команда за да се префрли во нормален режим на работа (команда за прекин)
Користете за ресетирање во состојба на мирување за примање/обработка на следната команда со прекинување на веќе извршените команди.
Наредбите како што се standby, LPCD, Exchange, PRBS и Autocoll ќе можат да се прекинат со користење на оваа команда.
Ова е единствената специјална команда што нема одговор. Наместо тоа, има известување за НАСТАН.
Погледнете во делот 4.4.3 за повеќе информации за типот на настани што се случуваат при различни основни извршување на команди.
4.5.4.5.2.1 UseCase2.1:
Оваа команда ќе ги ресетира сите CLIF TX, RX и регистри за контрола на терен во состојба на подигање. Издавањето на оваа команда ќе го исклучи секое постоечко RF поле.
4.5.4.5.2.2 UseCase2.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 ќе се префрли во нормален режим, сите поставки на RF се менуваат во стандардна состојба. Неопходно е соодветната конфигурација на RF и другите поврзани регистри да се вчитаат со соодветни вредности пред да се изврши операција за RF ON или RF Exchange.
4.5.4.5.4 Командна рамка за испраќање за различни случаи на употреба
4.5.4.5.4.1 UseCase1: Команда внесете нормален режим на работа по вклучувањето (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
Switch Mode Autocoll автоматски ја извршува процедурата за активирање на картичката во целниот режим.
Полето „Autocoll Mode“ мора да биде во опсег од 0 – 2, вклучително.
Во случај ако полето „Autocoll Mode“ е поставено на 2 (Autocoll): Полето „RF Technologies“ (Табела 50) мора да содржи бит-маска што укажува на RF Technologies што треба да се поддржат за време на Autocoll.
Не смее да се испраќаат инструкции додека сте во овој режим.
Престанокот е означен со користење на прекин.
4.5.4.6.1 Команда
Табела 49. Вредност на командата SWITCH_MODE_AUTOCOLL
Параметар | Должина | Вредност/Опис | |
RF технологии | 1 бајт | Битмаска што ја покажува RF технологијата за слушање за време на Autocoll. | |
Режим на автоматско собирање | 1 бајт | 0 | Нема автономен режим, т.е. Autocoll завршува кога надворешното RF поле не е присутно. |
Престанок во случај на | |||
• НИТУ RF FIELD или RF FIELD не исчезна | |||
• PN5190 е АКТИВИРАН во режимот TARGET | |||
1 | Автономен режим со мирување. Кога нема RF поле, Autocoll автоматски влегува во режим на подготвеност. Откако ќе се открие надворешно RF поле, PN5190 повторно влегува во режим на автоматско собирање. | ||
Престанок во случај на | |||
• PN5190 е АКТИВИРАН во режимот TARGET | |||
Од PN5190 FW v02.03 па натаму: Ако полето EEPROM „bCard ModeUltraLowPowerEnabled“ на адресата „0xCDF“ е поставено на „1“, тогаш PN5190 влегува во мирување со ултра ниска енергија. | |||
2 | Автономен режим без режим на подготвеност. Кога нема RF поле, PN5190 чека додека не биде присутно полето RF пред да го стартува алгоритмот Autocoll. Во овој случај не се користи мирување. | ||
Престанок во случај на • PN5190 е АКТИВИРАН во режимот TARGET |
Табела 50. Битмаска за RF технологии
b7 | b6 | b5 | b4 | b3 | b2 | b1 | b0 | Опис |
0 | 0 | 0 | 0 | RFU | ||||
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 податоци Префрли режим на работа Автоматско собирање настан
Поле за носивост | Должина | Вредност/Опис | |
Статус | 1 бајт | Статус на операцијата | |
PN5190_STATUS_INSTR_SUCCESS | PN5190 е АКТИВИРАН во режимот TARGET. Дополнителни податоци за овој настан се валидни. |
||
PN5190_STATUS_PREVENT_STANDBY | Покажува дека PN5190 е спречен да премине во режим на подготвеност. Овој статус е валиден само кога режимот за автоматско собирање е избран како „Автономен режим со мирување“. |
PN5190_STATUS_NO_EXTERNAL_RF_ FIELD | Покажува дека нема надворешно RF поле за време на извршувањето на Autocoll во неавтономен режим | ||
PN5190_STATUS_USER_CANCELLED | Укажува дека сегашната команда во тек е прекината со нормалната команда на режимот на прекинувач | ||
Протокол | 1 бајт | 0x10 | Активиран како пасивен тип А |
0x11 | Активиран како Пасивен TypeF 212 | ||
0x12 | Активиран како Пасивен TypeF 424 | ||
0x20 | Активиран како Active TypeA | ||
0x21 | Активиран како Active TypeF 212 | ||
0x22 | Активиран како Active TypeF 424 | ||
Други вредности | Неважечки | ||
Картичка_Активирана | 1 бајт | 0x00 | Нема процес на активирање на картичката според ISO 14443-3 |
0x01 | Покажува дека уредот е активиран во Пасивен режим |
Забелешка:
По читањето на податоците за настанот, податоците добиени од картичката/уредот што бил активиран (како што се 'n' бајти на ATR_REQ/RATS според ISO18092/ISO1443-4), ќе се читаат со помош на командата Дел 4.5.3.3.
4.5.4.6.4 Комуникација прample
4.5.4.7 SWITCH_MODE_STANDBY
Префрли режим на подготвеност автоматски го поставува IC во режим на подготвеност. IC ќе се разбуди откако конфигурираните извори за будење ќе ги исполнат условите за будење.
Забелешка:
Истекот на бројачот за ULP STANDBY и прекинот на HIF за STANDBY се стандардно достапни за излез од режимите на подготвеност.
4.5.4.7.1 Команда
Табела 53. Вредност на командата SWITCH_MODE_STANDBY
Параметар | Должина | Вредност/Опис |
Конфигурација | 1 бајт | Бит-маска што го контролира изворот за будење што треба да се користи и режимот на подготвеност за влез. Се однесува на Табела 54 |
Противвредност | 2 бајти | Искористена вредност за бројач за будење во милисекунди. Максималната поддржана вредност е 2690 за мирување. Максималната поддржана вредност е 4095 за мирување ULP. Вредноста што треба да се обезбеди е во формат малку ендиски. Содржината на овој параметар е валидна само ако „Config Bitmask“ е овозможена за будење по истекување на бројачот. |
Табела 54. Config Bitmask
b7 | b6 | b5 | b4 | b3 | b2 | b1 | b0 | Опис |
X | Влезете во мирување ULP ако битот е поставен на 1b Влезете во мирување ако битот е поставен на 0b. | |||||||
0 | RFU | |||||||
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 | Будење на надворешно RF поле, ако битот е поставен на 1b. |
Забелешка: Од PN5190 FW v02.03, ако полето EEPROM „CardModeUltraLowPowerEnabled“ на адресата „0xCDF“ е поставено на „1“, ULP standby конфигурацијата не може да се користи со командата 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
Switch Mode 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
Параметар | Должина | Вредност/опис | |
бКонтрола | 1 бајт | 0x00 | Внесете ја калибрацијата ULPCD. Командата запира по калибрацијата и настан со референтна вредност се испраќа до домаќинот. |
0x01 | Внесете ULPCD | ||
0x02 | LPCD калибрација. Командата запира по калибрацијата и настан со референтна вредност се испраќа до домаќинот. | ||
0x03 | Внесете LPCD | ||
0x04 | Единечен режим | ||
0х0С | Единечен режим со настан за калибрација | ||
Други вредности | RFU | ||
Контрола на будење | 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 | RFU | |
X | Будење на надворешно RF поле, ако битот е поставен на 1b. |
Табела 58. Информации за бајт за референтна вредност
Бајти на референтна вредност | ULPCD | LPCD |
Бајт 0 | Референтен бајт 0 | Канал 0 Референтен бајт 0 |
Бајт 1 | Референтен бајт 1 | Канал 0 Референтен бајт 1 |
Бајт 2 | Вредност на атенуатор HF | Канал 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 на активирана картичка. Потребни се клучот, 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 и го зачувува примениот компјутер/XPC/UII. Потоа, инструкцијата врши дејство според полето „Однесување на обработено временско слот“:
- Ако ова поле е поставено на 0, се издава команда NextSlot за да се справи со следниот временски слот. Ова се повторува додека не се наполни внатрешниот тампон
- Ако ова поле е поставено на 1, алгоритмот паузира
- Ако ова поле е поставено на 2, командата Req_Rn се издава ако, и само ако, имало валидна tag одговор во оваа TimeslotCommand
Полето „Избери должина на командата“ мора да ја содржи должината на полето „Избери команда“, кое мора да биде во опсег од 1 – 39, вклучително. Ако „Изберете ја должината на командата“ е 0, полињата „Валидни битови во последниот бајт“ и „Изберете команда“ не смеат да бидат присутни.
Полето Битови во последниот бајт треба да го содржи бројот на битови што треба да се пренесат во последниот бајт од полето „Избери команда“. Вредноста мора да биде во опсег од 1 – 7, вклучително. Ако вредноста е 0, се пренесуваат сите битови од последниот бајт од полето „Избери команда“.
Полето „Избери команда“ треба да содржи команда Изберете според ISO18000-3M3 без заостанува CRC-16c и мора да има иста должина како што е наведено во полето „Избери должина на командата“.
Полето „BeginRound Command“ треба да содржи команда BeginRound според ISO18000-3M3 без заостанува CRC-5. Последните 7 бита од последниот бајт на „BeginRound Command“ се игнорираат бидејќи командата има вистинска должина од 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 не треба да биде вклучен. | |
Започнете Кружна команда | 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 (Прочитајте го статусот на Timeslot во следниот бајт за Tag одговор) PN5190_STATUS_INSTR_ERROR (Нема дополнителни податоци) |
|||||
Временски слот [1…n] | 3 – 69 бајти | Статус на Timeslot | 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' бајти | Одговор на tag според ISO18000- 3_2010, Табела 56. | |||
Tag Рачка | 0 или 2 бајти | Рачка на tag, во случај полето „Статус на временско место“ е поставено на „1“. Во спротивно полето не е присутно. |
4.5.6.1.2 настан
Нема настани за оваа команда.
4.5.7 Управување со конфигурација на RF
Погледнете го делот 6, за конфигурација на TX и RX за различни RF технологии и стапки на податоци поддржани од PN5190. Вредностите не се присутни во опсегот споменат подолу, треба да се сметаат како RFU.
4.5.7.1 LOAD_RF_CONFIGURATION
Оваа инструкција се користи за вчитување на RF конфигурацијата од EEPROM во внатрешните CLIF регистри. RF конфигурацијата се однесува на уникатна комбинација на RF технологија, режим (целна/иницијатор) и брзина на бауд. RF конфигурацијата може да се вчита одделно за патеката на CLIF приемникот (RX конфигурација) и предавателот (TX конфигурација). Вредноста 0xFF мора да се користи ако соодветната конфигурација за патека не се менува.
4.5.7.1.1 Услови
Полето „Конфигурација TX“ мора да биде во опсег од 0x00 – 0x2B, вклучително. Ако вредноста е 0xFF, конфигурацијата TX не се менува.
Полето „RX Configuration“ мора да биде во опсег од 0x80 – 0xAB, вклучително. Ако вредноста е 0xFF, RX конфигурацијата не се менува.
Специјална конфигурација со TX Configuration = 0xFF и RX Configuration = 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
Оваа инструкција се користи за ажурирање на RF конфигурацијата (видете ја дефиницијата во Дел 4.5.7.1) во рамките на E2PROM. Инструкцијата дозволува ажурирање на вредноста на грануларноста на регистарот, односно не треба да се ажурира целосниот сет (иако, тоа е можно да се направи).
4.5.7.2.1 Услови
Големината на низата на полето Конфигурацијата мора да биде во опсег од 1 – 15, вклучително. Низата поле Конфигурација мора да содржи множество од RF конфигурација, адреса на регистрација и вредност. Конфигурацијата на полето RF мора да биде во опсег од 0x0 – 0x2B за конфигурација TX и 0x80 – 0xAB за конфигурација RX, вклучително. Адресата во полето Регистрирај адреса мора да постои во соодветната RF конфигурација. Вредноста на полето треба да содржи вредност што треба да се запише во дадениот регистар и мора да биде долга 4 бајти (малку-ендијански формат).
4.5.7.2.2 Команда
Табела 69. Вредност на командата UPDATE_RF_CONFIGURATION
Ажурирајте ја конфигурацијата на RF
Поле за носивост | Должина | Вредност/Опис | ||
Конфигурација[1…n] | 6 бајти | RF конфигурација | 1 бајт | RF Конфигурација за која регистарот мора да се смени. |
Регистрирајте адреса | 1 бајт | Регистрирајте ја адресата во рамките на дадената RF технологија. | ||
Вредност | 4 бајти | Вредност која мора да биде запишана во регистарот. (малку-ендијан) |
4.5.7.2.3 Одговор
Табела 70. Вредност на одговор UPDATE_RF_CONFIGURATION
Поле за носивост | Должина | Вредност/Опис |
Статус | 1 бајт | Статус на операцијата [Табела 9]. Очекуваните вредности се како што следува: |
PN5190_STATUS_SUCCESS PN5190_STATUS_INSTR_ERROR PN5190_STATUS_MEMORY_ERROR |
4.5.7.2.4 настан
Нема настани за оваа команда.
4.5.7.3 ДОБИЈ_ RF_CONFIGURATION
Оваа инструкција се користи за читање на RF конфигурација. Регистарот адреса-вредност-парови се достапни во одговорот. Со цел да се знае колку парови треба да се очекуваат, информациите за првата големина може да се извлечат од првиот TLV, што ја означува вкупната должина на товарот.
4.5.7.3.1 Услови
Конфигурацијата на полето RF мора да биде во опсег од 0x0 – 0x2B за конфигурација TX и 0x80 –0xAB за конфигурација RX, вклучително.
4.5.7.3.2 Команда
Табела 71. Вредност на командата GET_ RF_CONFIGURATION Преземете ја конфигурацијата RF.
Поле за носивост | Должина | Вредност/Опис |
RF конфигурација | 1 бајт | RF Конфигурација за која мора да се превземат множеството на парови на вредности на регистарот. |
4.5.7.3.3 Одговор
Табела 72. GET_ RF_CONFIGURATION Вредност на одговорот
Поле за носивост | Должина | Вредност/Опис | ||
Статус | 1 бајт | Статус на операцијата [Табела 9]. Очекуваните вредности се како што следува: | ||
PN5190_STATUS_SUCCESS PN5190_STATUS_INSTR_ERROR (Нема дополнителни податоци) |
||||
Пар[1…n] | 5 бајти | Регистрирајте адреса | 1 бајт | Регистрирајте ја адресата во рамките на дадената RF технологија. |
Вредност | 4 бајти | 32-битна вредност на регистарот. |
4.5.7.3.4 настан
Нема настан за наставата.
4.5.8 Ракување со RF на терен
4.5.8.1 RF_ON
Оваа инструкција се користи за да се вклучи RF. Регулативата DPC на почетниот FieldOn ќе се постапува во оваа команда.
4.5.8.1.1 Команда
Табела 73. Вредност на командата RF_FIELD_ON
Конфигурирајте го RF_FIELD_ON.
Поле за носивост | Должина | Вредност/Опис | ||
RF_on_config | 1 бајт | Бит 0 | 0 | Користете избегнување судир |
1 | Оневозможи избегнување судир | |||
Бит 1 | 0 | Нема активен P2P | ||
1 | P2P активен |
4.5.8.1.2 Одговор
Табела 74. Вредност на одговорот RF_FIELD_ON
Поле за носивост | Должина | Вредност/Опис |
Статус | 1 бајт | Статус на операцијата [Табела 9]. Очекуваните вредности се како што следува: |
PN5190_STATUS_SUCCESS PN5190_STATUS_INSTR_ERROR PN5190_STATUS_RF_COLLISION_ERROR (RF полето не е вклучено поради судир на RF) PN5190_STATUS_TIMEOUT (RF полето не е вклучено поради истекот на времето) PN5190_STATUS_TXLDO_ERROR (грешката TXLDO поради VUP не е достапна) PN5190_STATUS_RFCFG_NOT_APPLIED (РФ конфигурацијата не се применува пред оваа команда) |
4.5.8.1.3 настан
Нема настан за оваа инструкција.
4.5.8.2 RF_OFF
Оваа инструкција се користи за оневозможување на RF полето.
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 | RFU |
4.5.9.1.2 Одговор
Табела 78. Вредност на одговорот CONFIGURE_TESTBUS_DIGITAL
Поле за носивост | Должина | Вредност/Опис |
Статус | 1 бајт | Статус на операцијата [Табела 9]. Очекуваните вредности се како што следува: |
PN5190_STATUS_SUCCESS PN5190_STATUS_INSTR_ERROR (Нема дополнителни податоци) |
4.5.9.1.3 настан
Нема настан за оваа инструкција.
4.5.9.2 CONFIGURE_TESTBUS_ANALOG
Оваа инструкција се користи за да се добие достапен аналоген тест магистрален сигнал на избраните конфигурации на подлогата.
Сигналот на аналогната тест магистрала може да се добие во различни режими. Тие се:
4.5.9.2.1 режим RAW
Во овој режим, сигналот избран од TB_SignalIndex0 се поместува за Shift_Index0, маскиран со Mask0 и излегува на AUX1. Слично на тоа, сигналот избран од TB_SignalIndex1 се поместува со Shift_Index1, маскиран со Mask1 и излегува на AUX2.
Овој режим нуди флексибилност за клиентот да емитува сигнал што е широк или помал од 8 бита и не бара конверзија на знаци за да се емитува на аналогните подлоги.
4.5.9.2.2 КОМБИНИРАН режим
Во овој режим, аналогниот сигнал ќе биде 10-битна потпишана вредност ADCI/ADCQ/pcrm_if_rssi конвертирана во неозначена вредност, намалена на 8 бита и потоа излезена на подлогата AUX1 или AUX2.
Само една од ADCI/ADCQ (10-битни) конвертираните вредности може да се емитува на AUX1/AUX2 во секое време.
Ако вредноста на полето за носивост на сигналот за комбиниран режим е 2 (аналоген и дигитален комбиниран), тогаш аналогната и дигиталната магистрала за тестирање се пренасочуваат на AUX1 (аналоген сигнал) и GPIO0 (дигитален сигнал).
Сигналите што треба да се насочат се конфигурирани во адресата EEPROM спомената подолу:
0xCE9 – TB_SignalIndex
0xCEA – TB_BitIndex
0xCEB – Аналоген TB_Index
Индексот на тест магистралата и битот за тест магистрала треба да се конфигурираат во EEPROM пред да го издадеме комбинираниот режим со опција 2.
Забелешка:
Домаќинот ќе ги обезбеди сите полиња, без оглед на применливоста на полето во „суров“ или „комбиниран“ режим. PN5190 IC ги зема предвид само применливите вредности на полето.
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 ➜ Необработен режим 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 | RFU | ||
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 | RFU |
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 Logging |
||||
Бит 1-7 | RFU |
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конфигурација на линг итн.,
Забелешка:
[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 MHz / 2SAMPLE_CLK_DIV |
00 – 13560 kHz 01 – 6780 kHz 02 – 3390 kHz 03 – 1695 kHz 04 – 847.5 kHz 05 – 423.75 kHz 06 – 211.875 kHz 07 – 105.9375 kHz 08 – 52.96875 kHz 09 – 26.484375 kHz 10 – 13.2421875 kHz 11 – 6.62109375 kHz 12 – 3.310546875 kHz 13 – 1.6552734375 kHz 14 – 0.82763671875 kHz 15 – 0.413818359375 kHz |
||
SAMPLE_BYTE_SEL | 1 бајт | Овие битови се користат за да се определи кои бајти од двете влезни магистрали од 16 бити придонесуваат за механизмот за преклопување кој генерира податоци што треба да се пренесат во меморијата на чипот. Значењето и употребата на нив зависи од СAMPLE_MODE_SEL вредности.
Забелешка: Дадената вредност секогаш се маскира со 0x0F и потоа се разгледува ефективната вредност. |
SAMPLE_MODE_SEL | 1 бајт | Го избира сampling interleave режим како што е опишано со спецификациите за дизајн на CTS. Децималната вредност 3 е резервирана и ќе се третира како 0. Забелешка: Дадената вредност секогаш се маскира со 0x03, а потоа се разгледува ефективната вредност. |
ТБ0 | 1 бајт | Избира која магистрала за тестирање да се поврзе со TB0. Се однесуваат на Дел 7 (ТБ_ вредност на сигналот_индекс) |
ТБ1 | 1 бајт | Избира која магистрала за тестирање да се поврзе со TB1. Се однесуваат на Дел 7 (ТБ_ вредност на сигналот_индекс) |
ТБ2 | 1 бајт | Избира која магистрала за тестирање да се поврзе со TB2. Се однесуваат на Дел 7 (ТБ_ вредност на сигналот_индекс) |
ТБ3 | 1 бајт | Избира која магистрала за тестирање да се поврзе со TB3. Се однесуваат на Дел 7 (ТБ_ вредност на сигналот_индекс) |
TTB_SELECT | 1 бајт | Избира која ТБ да се поврзе со изворите на активирањето. Се однесуваат на Дел 7 (Вредност на TB_Signal_Index) |
RFU | 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
Оваа инструкција го враќа дневникот на податоци на заробените податоци за тест магистралата sampзачувани во меморискиот бафер.
4.5.10.3.1 Команда
Табела 89. Вредност на командата CTS_RETRIEVE_LOG
Поле за носивост | Должина | Вредност/Опис | |
Големина на парче | 1 бајт | 0x01-0xFF | Го содржи бројот на очекувани бајти податоци. |
4.5.10.3.2 Одговор
Табела 90. Вредност на одговор CTS_RETRIEVE_LOG
Поле за носивост | Должина | Вредност/Опис |
Статус | 1 бајт | Статус на операцијата [Табела 9]. Очекуваните вредности се како што следува: |
PN5190_STATUS_SUCCESS PN5190_STATUS_INSTR_ERROR (Нема дополнителни податоци) PN5190_STATUS_SUCCSES_CHAINING |
||
Податоци за евиденција [1…n] | CTSRequest | Заробен Сamples Парче на податоци |
Забелешка:
Максималната големина на „Log Data“ зависи од „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 ќе биде достапна на RF.
Забелешка:
Домаќинот треба да се увери дека соодветната конфигурација на RF технологијата е вчитана со помош на Дел 4.5.7.1 и RF е вклучена со помош на командата Секција 4.5.8.1 пред да ја испрати оваа команда.
4.5.11.2.1 Команда
Табела 91. Вредност на командата PRBS_TEST
Поле за носивост | Должина | Вредност/Опис | |
prbs_type | 1 бајт | 00 | PRBS9 (стандардно) |
01 | PRBS15 | ||
02-ФФ | RFU |
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
Оваа инструкција се користи за читање на ID на матрицата на чипот 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 бајт | Хардверска верзија |
RO_V | 1 бајт | ROM код |
FW_V | 2 бајти | Верзија на фирмверот (се користи за преземање) |
RFU1-RFU2 | 1-2 бајти | – |
Очекуваниот одговор за различна верзија на PN5190 IC е споменат во (Дел 3.4.4)
4.5.12.2.3 настан
Нема настани за оваа команда.
Додаток (Прampлес)
Овој додаток се состои од прamples за горенаведените команди. Поранешниотamples се само за илустративна цел за прикажување на содржината на командата.
5.1 Прample за WRITE_REGISTER
Следната низа на податоци испратени од домаќинот за да се запише вредност 0x12345678 во регистарот 0x1F.
Командна рамка испратена до PN5190: 0000051F78563412
Домаќинот да чека прекин.
Кога домаќинот ја чита рамката за одговор добиена од PN5190 (што укажува на успешно работење): 00000100 5.2 Пр.ample за WRITE_REGISTER_OR_MASK
Следната низа на податоци испратени од домаќинот за да се изврши логичка операција ИЛИ на регистарот 0x1F со маска како 0x12345678
Командна рамка испратена до PN5190: 0100051F78563412
Домаќинот да чека прекин.
Кога домаќинот ја чита рамката за одговор добиена од PN5190 (што покажува успешна работа): 01000100
5.3 Прample за WRITE_REGISTER_AND_MASK
Следниот редослед на податоци испратени од домаќинот за извршување на логичка И операција на регистарот 0x1F со маска како 0x12345678
Командна рамка испратена до PN5190: 0200051F78563412
Домаќинот да чека прекин.
Кога домаќинот ја чита рамката за одговор добиена од PN5190 (што покажува успешна работа): 02000100
5.4 Прample за WRITE_REGISTER_MULTIPLE
Следната низа на податоци испратени од домаќинот за извршување на логичка И операција на регистарот 0x1F со маска како 0x12345678 и на логичката операција ИЛИ на регистарот 0x20 со маска како 0x11223344 и запишување во регистарот 0x21 со вредност како 0xAABBCCDD.
Командна рамка испратена до PN5190: 0300121F03785634122002443322112101DDCCBBAA
Домаќинот да чека прекин.
Кога домаќинот ја чита рамката за одговор добиена од PN5190 (што покажува успешна работа): 03000100
5.5 Прample за READ_REGISTER
Следејќи ја секвенцата на податоци испратени од домаќинот за читање на содржината на регистарот 0x1F и претпоставувајќи дека регистарот има вредност од 0x12345678
Командна рамка испратена до PN5190: 0400011F
Домаќинот да чека прекин.
Кога домаќинот ја чита рамката за одговор добиена од PN5190 (што покажува успешна работа): 0400050078563412
5.6 Прample за READ_REGISTER_MULTIPLE
Следната низа на податоци испратени од домаќинот за читање на содржината на регистрите 0x1F што ја содржат вредноста 0x12345678 и регистарот 0x25 што ја содржи вредноста 0x11223344
Командна рамка испратена до PN5190: 0500021F25
Домаќинот да чека прекин.
Кога домаќинот го прочита одговорот, рамката добиена од PN5190 (што укажува на успешна работа): 050009007856341244332211
5.7 Прample за WRITE_E2PROM
Следната низа на податоци испратени од домаќинот за пишување на E2PROM локации 0x0130 до 0x0134 со содржина како 0x11, 0x22, 0x33, 0x44, 0x55
Командна рамка испратена до PN5190: 06000730011122334455
Домаќинот да чека прекин.
Кога домаќинот го чита одговорот, рамката добиена од PN5190 (што покажува успешна работа): 06000100
5.8 Прample за READ_E2PROM
Следниот редослед на податоци испратени од домаќинот за читање од E2PROM локации 0x0130 до 0x0134 каде што се складирани содржините: 0x11, 0x22, 0x33, 0x44, 0x55
Командна рамка испратена до PN5190: 07000430010500
Домаќинот да чека прекин.
Кога домаќинот го прочита одговорот, рамката добиена од PN5190 (што укажува на успешна работа): 070006001122334455
5.9 Прample за TRANSMIT_RF_DATA
Следната низа на податоци испратени од домаќинот за да се испрати команда REQA (0x26), со број на битови што треба да се пренесат како '0x07', под претпоставка дека потребните регистри се поставени претходно и RF е вклучено.
Командна рамка испратена до PN5190: 0800020726
Домаќинот да чека прекин.
Кога домаќинот го чита одговорот, рамката добиена од PN5190 (што покажува успешна работа): 08000100
5.10 Прample за RETRIEVE_RF_DATA
Следејќи ја секвенцата на податоци испратени од домаќинот за примање на податоците примени/зачувани во внатрешниот CLIF бафер (претпоставувајќи дека е примена 0x05), под претпоставка дека TRANSMIT_RF_DATA е веќе испратен откако RF е вклучено.
Командна рамка испратена до PN5190: 090000
Домаќинот да чека прекин.
Кога домаќинот го чита одговорот, рамката добиена од PN5190 (што покажува успешна работа): 090003000400
5.11 Прample за EXCHANGE_RF_DATA
Следната низа на податоци испратени од домаќинот за пренос на REQA (0x26), со бројот на битови во последниот бајт за испраќање поставен како 0x07, при што целиот статус треба да се прими заедно со податоците. Претпоставката е дека потребните RF регистри се веќе поставени и RF е вклучен.
Командна рамка испратена до PN5190: 0A0003070F26
Домаќинот да чека прекин.
Кога домаќинот го чита одговорот, рамката е добиена од PN5190 (што укажува на успешно работење): 0A000 F000200000000000200000000004400
5.12 Прample за LOAD_RF_CONFIGURATION
Следниот редослед на податоци испратени од домаќинот за да ја поставите конфигурацијата на RF. За TX, 0x00 и за RX, 0x80
Командна рамка испратена до PN5190: 0D00020080
Домаќинот да чека прекин.
Кога домаќинот го чита одговорот, рамката добиена од PN5190 (што покажува успешна работа): 0D000100
5.13 Прample за UPDATE_RF_CONFIGURATION
Следен редослед на податоци испратени од домаќинот за ажурирање на RF конфигурацијата. За TX, 0x00, со регистарска адреса за CLIF_CRC_TX_CONFIG и вредност како 0x00000001
Командна рамка испратена до PN5190: 0E0006001201000000
Домаќинот да чека прекин.
Кога домаќинот го чита одговорот, рамката добиена од PN5190 (што покажува успешна работа): 0E000100
5.14 Прample за RF_ON
Следниот редослед на податоци испратени од домаќинот за да се вклучи полето RF со користење на избегнување судир и без активен P2P. Се претпоставува дека соодветните RF TX и RX конфигурации се веќе поставени во PN5190.
Командна рамка испратена до PN5190: 10000100
Домаќинот да чека прекин.
Кога домаќинот го чита одговорот, рамката добиена од PN5190 (што покажува успешна работа): 10000100
5.15 Прample за RF_OFF
Следниот редослед на податоци испратени од домаќинот за исклучување на полето RF.
Командна рамка испратена до PN5190: 110000
Домаќинот да чека прекин.
Кога домаќинот го чита одговорот, рамката добиена од PN5190 (што покажува успешна работа): 11000100
Додаток (индекси за конфигурација на протокол RF)
Овој додаток се состои од индекси за конфигурација на протоколот RF поддржани од PN5190.
Поставките за конфигурација TX и RX треба да се користат во командите на Дел 4.5.7.1, Дел 4.5.7.2, Дел 4.5.7.3.
Додаток (CTS и TESTBUS сигнали)
Табелата подолу ги специфицира различните сигнали достапни од PN5190 за снимање со користење на CTS инструкции (Дел 4.5.10) и инструкции TESTBUS.
Тие треба да се користат за командата Секција 4.5.9.1, Дел 4.5.9.2, Дел 4.5.10.2.
Кратенки
Табела 97. Кратенки
Абр. | Значење |
CLK | Часовник |
DWL_REQ | Пин за барање за преземање (исто така наречен DL_REQ) |
EEPROM | Електрично бришечка програмабилна меморија само за читање |
FW | Фирмвер |
ГНД | Земјата |
GPIO | Влезен излез за општа намена |
HW | Хардвер |
I²C | Интер-интегрирано коло (сериска магистрала за податоци) |
IRQ | Барање за прекин |
ISO/IEC | Меѓународна организација за стандарди / Меѓународна електротехничка заедница |
NFC | Комуникација во близина на терен |
OS | Оперативен систем |
PCD | Уред за спојување во близина (бесконтактен читач) |
PICC | Proximity Integrated Circuit Card (Безконтактна картичка) |
ЕУП | Единица за управување со енергија |
ПОР | Ресетирање на вклучување |
RF | Радио фрекфенција |
РСТ | Ресетирање |
SFWU | безбеден режим за преземање фирмвер |
СПИ | Сериски периферен интерфејс |
ВЕН | V Овозможи пин |
Референци
[1] CTS конфигурациски дел од NFC Cockpit, 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 IC со NFC технологија - Купување на NXP IC за полупроводници што е во согласност со еден од стандардите за комуникација на блиско поле (NFC) ISO/IEC 18092 и ISO/IEC 21481 не пренесува имплицирана лиценца под која било имплементација на патент на прекршено некој од тие стандарди. Купувањето на NXP Semiconductors IC не вклучува лиценца за кој било NXP патент (или друго право на IP) што покрива комбинации на тие производи со други производи, без разлика дали се работи за хардвер или софтвер.
10.4 трговски марки
Забелешка: Сите референцирани брендови, имиња на производи, имиња на услуги и заштитни знаци се сопственост на нивните соодветни сопственици.
NXP — зборот и логото се заштитни знаци на NXP BV
EdgeVerse — е заштитен знак на NXP BV
FeliCa — е заштитен знак на Sony Corporation.
MIFARE — е заштитен знак на NXP BV
MIFARE Classic — е заштитен знак на NXP BV
Имајте предвид дека важните известувања во врска со овој документ и производот(ите) опишани овде, се вклучени во делот „Правни информации“.
© 2023 NXP BV
За повеќе информации, посетете: http://www.nxp.com
Сите права се задржани.
Датум на издавање: 25 мај 2023 година
Идентификатор на документ: UM11942
Документи / ресурси
![]() |
NXP PN5190 NFC Frontend контролер [pdf] Упатство за користење PN5190, PN5190 NFC преден контролер, NFC преден контролер, контролер, UM11942 |