Nxp Pn5190 Nfc Frontend Controller User Manual

PN5190 NFC Frontend Controller

Product Information

The PN5190 NFC frontend controller is a next generation
controller that allows for communication with the host controller
via HDLL-based communication and TLV command-response-based
communication. The instruction layer commands and responses
described in this user manual are relevant for customers who wish
to evaluate the operation of the PN5190 NFC frontend controller.
The document provides information on the logical layer, instruction
code, APIs and physical host interface used in the documentation
which is SPI. The HDLL-based communication is used for packet
exchange format to work with Secure firmware download mode
(SFWU).

Product Usage Instructions

Before using the PN5190 NFC frontend controller, it is
recommended to refer to the data sheet and complementary
information for more information on its operation. The following
instructions should be followed:

  1. Ensure that the host controller is compatible with the PN5190
    NFC frontend controller and supports HDLL-based communication or
    TLV command-response-based communication.
  2. Connect the PN5190 NFC frontend controller to the host
    controller using the physical host interface, which is SPI.
  3. If using HDLL-based communication, ensure that the device is
    triggered to enter Secure firmware download mode (SFWU).
  4. Send instruction layer commands and receive responses from the
    PN5190 NFC frontend controller as described in this user
    manual.
  5. Follow the frame separation and flow control guidelines
    provided in this document to ensure reliable communication between
    the host controller and the PN5190 NFC frontend controller.

It is important to note that all information provided in this
document is subject to legal disclaimers.

UM11942
PN5190 instruction layer
Rev. 3.7 — 25 May 2023

User manual

Document Information

Information

Content

Keywords

PN5190, NFC, NFC frontend, controller, instruction layer

Abstract

This document describes the instruction layer commands and responses to work from a host controller, for evaluating the operation of NXP PN5190 NFC frontend controller. PN5190 is a next generation NFC frontend controller. The scope of this document is to describe the interface commands to work with PN5190 NFC frontend controller. For more information on the operation of PN5190 NFC frontend controller, refer to the data sheet and its complementary information.

NXP Semiconductors

UM11942
PN5190 instruction layer

Revision history

Revision history Rev Date

3.7

20230525

3.6

20230111

3.5

20221104

3.4

20220701

3.3

20220329

3.2

20210910

3.1

20210527

3.0

20210118

Description
· Document type and title changed from product data sheet addendum to user manual · Editorial cleanup · Updated editorial terms for SPI signals · Added command GET_CRC_USER_AREA in Table 8 in Section 4.5.2.3 · Updated various differentiated details for PN5190B1 and PN5190B2 in Section 3.4.1 · Updated response of Section 3.4.7
Enhanced Check Integrity response description in Section 3.4.7
Section 4.5.4.6.3 “Event”: added
· Added command CONFIGURE_MULTIPLE_TESTBUS_DIGITAL in Table 8 in Section 4.5.9.3
· Updated Section 4.5.9.2.2
Hardware description improved in Section 4.5.12.2.1 “Command” and Section 4.5.12.2.2 “Response”
Firmware version numbers updated from 2.1 to 2.01 and 2.3 to 2.03
RETRIEVE_RF_FELICA_EMD_DATA command description added
First official released version

UM11942
User manual

All information provided in this document is subject to legal disclaimers.
Rev. 3.7 — 25 May 2023

© 2023 NXP B.V. All rights reserved.
2 / 79

NXP Semiconductors

UM11942
PN5190 instruction layer

1 Introduction
1.1 Introduction
This document describes the PN5190 Host Interface and the APIs. The physical host interface used in the documentation is SPI. SPI physical characteristic is not considered in the document. Frame separation and flow control are part of this document.
1.1.1 Scope The document describes the logical layer, instruction code, APIs which are relevant for the customer.

UM11942
User manual

All information provided in this document is subject to legal disclaimers.
Rev. 3.7 — 25 May 2023

© 2023 NXP B.V. All rights reserved.
3 / 79

NXP Semiconductors

UM11942
PN5190 instruction layer

2 Host communication overview

PN5190 has two main modes of operation to communicate with the host controller.
1. HDLL-based communication is used when the device is triggered to enter: a. Encrypted Secure download Mode to update its firmware
2. TLV command-response-based communication (given as an example).

2.1 HDLL mode
HDLL mode is used for packet exchange format to work with below IC operating modes: 1. Secure firmware download mode (SFWU), see Section 3

2.1.1 Description of HDLL
HDLL is the link layer developed by NXP to ensure a reliable FW download. An HDLL message is made of a 2 byte header, followed by a frame, comprising the opcode and the Payload of the command. Each message ends with a 16-bit CRC, as described on the picture below:

HDLL header

Frame

End

5-bit

1bit

10-bit

8-bit

(L-1) Bytes

16-bit

RFU

Ch unk

M S B

Packet Length (L)

L S B

Byte 0

Byte 1

MSB

LSB

Op Code Byte 2

Payload Byte 3 … Byte [1+L]

CRC

Byte [2+L]

Byte [3+L]

Figure 1.HDLL Frame

The HDLL header contains:

· A chunk bit. Which indicates if this message is the only or last chunk of a message (chunk = 0). Or if, at least, one other chunk follows (chunk = 1).
· The length of the Payload coded on 10 bits. So, the HDLL Frame Payload can go up to 1023 Bytes.

The byte order has been defined as big-endian, meaning Ms Byte first.

The CRC16 is compliant to X.25 (CRC-CCITT, ISO/IEC13239) standard with polynomial x^16 + x^12 + x^5 +1 and pre-load value 0xFFFF.

It is calculated over the whole HDLL frame, that is, Header + Frame.

Sample C-code implementation:

static uint16_t phHal_Host_CalcCrc16(uint8_t* p, uint32_t dwLength)

{

uint32_t i ;

uint16_t crc_new ;

uint16_t crc = 0xffffU;

for (I = 0; i < dwLength; i++)

{

crc_new = (uint8_t)(crc >> 8) | (crc << 8 );

UM11942
User manual

All information provided in this document is subject to legal disclaimers.
Rev. 3.7 — 25 May 2023

© 2023 NXP B.V. All rights reserved.
4 / 79

NXP Semiconductors

UM11942
PN5190 instruction layer

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; } return crc; }
2.1.2 Transport mapping over the SPI For every NTS assertion, the first byte is always a HEADER (flow indication byte), it can be either 0x7F/0xFF with respect to write/read operation.
2.1.2.1 Write Sequence from the host (direction DH => PN5190)

NTS COTI

Host performs chipselect

Possible gap

HDLL Header Byte 0

HDLL Header Byte 1

HDLL OpCode

HDLL Payload Byte 0

HDLL Payload Byte n

HDLL CRC 2

HDLL CRC 1

CITO
Figure 2.SPI Write sequence
2.1.2.2 Read Sequence from the host (Direction PN5190 => DH)

NTS COTI
CITO

Host performs chip-select

HDLL Header Byte 0

HDLL Header Byte 1

HDLL OpCode

HDLL Payload Byte 0

Figure 3.SPI Read sequence

HDLL Payload Byte n

HDLL CRC 2

HDLL CRC 1

UM11942
User manual

All information provided in this document is subject to legal disclaimers.
Rev. 3.7 — 25 May 2023

© 2023 NXP B.V. All rights reserved.
5 / 79

NXP Semiconductors

UM11942
PN5190 instruction layer

2.1.3 HDLL protocol
HDLL is a command-response protocol. All the operations mentioned above are triggered through a specific command and validated based on the response. Commands and responses follow HDLL message syntax, the command being sent by the device host, the response by the PN5190. The opcode indicates the command and response type. HDLL-based communications, only used when the PN5190 is triggered to enter the “Secure firmware download” mode.
2.2 TLV mode
TLV stands for Tag Length Value.
2.2.1 Frame definition
A SPI frame starts with the falling edge of NTS and ends with the rising edge of NTS. SPI is per physical definition full duplex but PN5190 uses SPI in a half-duplex mode. SPI mode is limited to CPOL 0 and CPHA 0 with a max clock speed as specified in [2]. Every SPI frame is composed of a 1 byte header and n-bytes of body.
2.2.2 Flow indication

NTS COTI CITO

WRITE request via SPI

SOF=0 0xxxxxxx
0xFF

byte 0xFF

byte 0xFF

READ request via SPI

0xFF 0xFF

dummy

dummy

1st byte

2nd byte

INVALID access

Invalid byte
10xxxxxx
0xFF

byte 0xFF

byte 0xFF

Figure 4.Flow indication The HOST always sends as a first byte the flow indication byte, whether it wants to write or read data from the PN5190. If there is a read request and no data is available, the response contains 0xFF. The data after the flow indication byte is one or several messages. For every NTS assertion, the first byte is always a HEADER (flow indication byte), it can be either 0x7F/0xFF with respect to write/read operation.
2.2.3 Message type
A host controller shall communicate with PN5190 using messages which are transported within SPI frames. There are three different message types: · Command · Response · Event

UM11942
User manual

All information provided in this document is subject to legal disclaimers.
Rev. 3.7 — 25 May 2023

© 2023 NXP B.V. All rights reserved.
6 / 79

NXP Semiconductors

UM11942
PN5190 instruction layer

Figure 5.Communication of host controller
The communication diagram above shows the allowed directions for the different message types as below:
· Command and response. · Commands are only sent from host controller to PN5190. · Responses and events are only sent from PN5190 to host controller. · Command responses are synchronized using the IRQ pin. · Host can send the commands only when IRQ is low. · Host can read the response/event only when IRQ is high.

2.2.3.1 Allowed sequences and rules

Host Controller

PN5190

Command Response
Event

Command Response

Command Event

Figure 6.Allowed sequences and rules
Allowed sequences of command, response, and events
· A command is always acknowledged by a response, or an event, or both. · Host controller is not allowed to send another command before have not received a response to the previous
command. · Events may be sent asynchronously at any time (NOT interleaved within a command/response pair). · EVENT messages are never combined with the RESPONSE messages within one frame.

UM11942
User manual

All information provided in this document is subject to legal disclaimers.
Rev. 3.7 — 25 May 2023

© 2023 NXP B.V. All rights reserved.
7 / 79

NXP Semiconductors

UM11942
PN5190 instruction layer

Note: The availability of a message (either RESPONSE or EVENT) is signalized with the IRQ going high, from low. IRQ stays high until all the response or event frame is read. Only after IRQ signal is low, the host can send the next command.
2.2.4 Message format
Each message is coded in a TLV structure with n-bytes payload for each message except for SWITCH_MODE_NORMAL command.

Figure 7.Message format Each TLV is composed of:

Figure 8.TLV format
Type (T) => 1 byte Bit[7] Message Type 0: COMMAND or RESPONSE message 1: EVENT message Bit[6:0]: Instruction code Length (L) => 2 bytes (should be in big-endian format) Value (V) => N bytes of value/data of the TLV (Command Parameters / Response data) based on Length field (big-endian format)
2.2.4.1 Split frame COMMAND message must be sent in one SPI frame. RESPONSE and EVENT messages can be read in multiple SPI frames, e.g. to read out the length byte.

NTS COTI CLK

HEADER

TYPE

LENGTH

CLOCK

Figure 9.Reading response/events in multiple SPI frames

HEADER

VALUE

CLOCK

UM11942
User manual

All information provided in this document is subject to legal disclaimers.
Rev. 3.7 — 25 May 2023

© 2023 NXP B.V. All rights reserved.
8 / 79

NXP Semiconductors

UM11942
PN5190 instruction layer

RESPONSE or EVENT messages can be read in single SPI frame but delayed by NO-CLOCK in between, e.g., to read out the length byte.

NTS COTI CLK

HEADER

TYPE

LENGTH

CLOCK

Figure 10.Reading of response/events in single SPI frame

VALUE CLOCK

UM11942
User manual

All information provided in this document is subject to legal disclaimers.
Rev. 3.7 — 25 May 2023

© 2023 NXP B.V. All rights reserved.
9 / 79

NXP Semiconductors

UM11942
PN5190 instruction layer

3 IC operating boot mode – secured FW download mode
3.1 Introduction
Part of the PN5190 firmware code is permanently stored in the ROM, while the rest of the code and the data are stored in the embedded flash. User data is stored in flash and is protected by anti-tearing mechanisms that ensure the integrity and availability of the data. In order to provide NXPs’ customers with features that are compliant with the latest standards (EMVCo, NFC Forum, and so on), both the code and user data in FLASH can be updated.
The authenticity and integrity of the encrypted firmware is protected by asymmetric/symmetric key signature and reverse chained hash mechanism. The first DL_SEC_WRITE command contains the hash of the second command and is protected by an RSA signature on the payload of first frame. PN5190 firmware uses the RSA public key to authenticate the first command. The chained hash in each command is used to authenticate the subsequent command, to ensure that the firmware code and data are not accessed by third parties.
The payloads of the DL_SEC_WRITE commands are encrypted with an AES-128 key. After authentication of each command, the payload content is decrypted and written to flash by PN5190 firmware.
For NXP firmware, NXP is in charge of delivering new secure firmware updates, together with new User data. The update procedure is equipped with a mechanism to protect the authenticity, integrity, and confidentiality of NXP code and data.
HDLL-based frame packet schema is used for all command and responses for secured firmware upgrade mode. The Section 2.1 provides the overview of HDLL frame packet schema used.
PN5190 ICs supports both legacy encrypted secured FW download and hardware crypto assisted encrypted secure FW download protocol depending upon the variant used.
The two types are:
· Legacy secure FW download protocol that works with PN5190 B0/B1 IC version only. · Hardware crypto assisted secure FW download protocol that works with PN5190B2 IC version only, that uses
the on-chip hardware crypto blocks
The following sections explain the commands and responses of Secure firmware download mode.
3.2 How to trigger the “Secured firmware download” mode
Below diagram, and subsequent steps, show on how to trigger Secured firmware download mode.

UM11942
User manual

All information provided in this document is subject to legal disclaimers.
Rev. 3.7 — 25 May 2023

© 2023 NXP B.V. All rights reserved.
10 / 79

NXP Semiconductors

UM11942
PN5190 instruction layer

PN5190 Hard Reset
Get session
no Session == Closed
yes Get FW version
OK Version checking rules
NOK

Load new FW binary Perform authentification Write new FW to PN5190
Get Integrity Check Integrity Check OK
PN5190 Hard Reset

Figure 11.Procedure to enter Secured firmware download mode
Pre-condition: PN5190 is in Operation state.
Main scenario:
1. Entry condition where DWL_REQ pin is used to enter “Secured firmware download” mode. a. Device host pulls DWL_REQ pin high (valid only if secure firmware update through DWL_REQ pin) OR b. Device host performs a hard-reset to boot the PN5190
2. Entry condition where DWL_REQ pin is not used for entering into “Secured firmware download” mode (pinless download). a. Device host performs a hard-reset to boot the PN5190 b. Device host sends SWITCH_MODE_NORMAL (Section 4.5.4.5) to enter into normal application mode. c. Now when IC is in normal mode of application, Device host sends SWITCH_MODE_DOWNLOAD (Section 4.5.4.9) to enter into secure download mode.
3. Device host sends DL_GET_VERSION (Section 3.4.4), or DL_GET_DIE_ID (Section 3.4.6), or DL_GET_SESSION_STATE (Section 3.4.5) command.
4. Device host reads the current hardware and firmware version, session, Die-id from the device. a. Device host checks session status if last download was completed b. Device host applies the version checking rules to decide whether to start the download or exit download.
5. Device host loads from a file the firmware binary code to be downloaded 6. Device host provides a first DL_SEC_WRITE ( Section 3.4.8) command that contains:
a. The version of the new firmware, b. A 16-byte nonce of arbitrary values used for encryption key obfuscation c. A digest value of the next frame, d. The digital signature of the frame itself

UM11942
User manual

All information provided in this document is subject to legal disclaimers.
Rev. 3.7 — 25 May 2023

© 2023 NXP B.V. All rights reserved.
11 / 79

NXP Semiconductors

UM11942
PN5190 instruction layer

7. The device host loads the secure download protocol sequence to the PN5190 with DL_SEC_WRITE (Section 3.4.8) commands
8. When the last DL_SEC_WRITE (Section 3.4.8) command has been sent, the device host executes the DL_CHECK_INTEGRITY (Section 3.4.7) command to check if the memories have been successfully written.
9. Device host reads the new firmware version and checks the session status if closed for reporting to the upper layer
10. Device host pulls the DWL_REQ pin to low (if DWL_REQ pin is used to enter download mode) 11. Device host performs hard reset (toggling VEN pin) on the device to reboot the PN5190
Post-condition: The firmware is updated; new firmware version number is reported.

3.3 Firmware signature and version control
In the PN5190 firmware download mode, a mechanism ensures that only a firmware signed and delivered by NXP will be accepted for NXP firmware.
Following is applicable only for the encrypted secure NXP firmware.
During a download session, a new 16 bits firmware version is sent. It is composed of a major and a minor number:
· Major number: 8 bits (MSB) · Minor number: 8 bits (LSB) The PN5190 checks if the new major version number is bigger or equal to the current one. If not, the secured firmware download is rejected, and the session is kept closed.

3.4 HDLL commands for legacy encrypted download and hardware crypto assisted encrypted download
This section provides the information about the commands and responses that were used for both types of downloads for NXP firmware download.

3.4.1 HDLL Command OP codes

Note: HDLL command frames are 4 bytes aligned. Unused payload bytes are left nil.

Table 1. List of HDLL command OP codes

PN5190 B0/ PN5190 B2

Command Alias

B1 (Legacy (Crypto assisted

download) download)

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

0xC0

0x8C

DL_SEC_WRITE

Description
Performs a soft reset Returns the version numbers Returns the current session state Returns the die ID Checks and return the CRCs over the different areas as well as pass/fail status flags for each Writes x bytes to memory starting at absolute address y

UM11942
User manual

All information provided in this document is subject to legal disclaimers.
Rev. 3.7 — 25 May 2023

© 2023 NXP B.V. All rights reserved.
12 / 79

NXP Semiconductors

UM11942
PN5190 instruction layer

3.4.2 HDLL Response Opcodes

Note: HDLL response frames are 4 bytes aligned. Unused payload bytes are left nil. Only DL_OK responses can contain payload values.

Table 2. List of HDLL response OP codes

Opcode

Response Alias

0x00

DL_OK

0x01

DL_INVALID_ADDR

0x0B

DL_UNKNOW_CMD

0x0C

DL_ABORTED_CMD

0x1E

DL_ADDR_RANGE_OFL_ERROR

0x1F

DL_BUFFER_OFL_ERROR

0x20

DL_MEM_BSY

0x21

DL_SIGNATURE_ERROR

0x24

DL_FIRMWARE_VERSION_ERROR

0x28

DL_PROTOCOL_ERROR

0x2A

DL_SFWU_DEGRADED

0x2D

PH_STATUS_DL_FIRST_CHUNK

0x2E

PH_STATUS_DL_NEXT_CHUNK

0xC5

PH_STATUS_INTERNAL_ERROR_5

Description Command passed Address not allowed Unknown command Chunk sequence is too large Address out of range Buffer is too small Memory busy Signature mismatch Current version equal or higher Protocol error Flash data corruption First chunk received Wait for the next chunk Length mismatch

3.4.3 DL_RESET command
Frame exchange: 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] The reset prevents the PN5190 from sending the DL_STATUS_OK answer. Therefore, only erroneous status can be received. STAT is the return status.

3.4.4 DL_GET_VERSION command

Frame exchange: PN5190 B0/B1: [HDLL] -> [0x00 0x04 0xF1 0x00 0x00 0x00 0x6E 0xEF] PN5190 B2: [HDLL] -> [0x00 0x04 0xE1 0x00 0x00 0x00 0x75 0x48] [HDLL] <- [0x00 0x08 STAT HW_V RO_V MODEL_ID FM1V FM2V RFU1 RFU2 CRC16] The payload frame of the GetVersion response is:

Table 3. Response to the GetVersion command

Field

Byte

STAT

1

Status

Description

UM11942
User manual

All information provided in this document is subject to legal disclaimers.
Rev. 3.7 — 25 May 2023

© 2023 NXP B.V. All rights reserved.
13 / 79

NXP Semiconductors

UM11942
PN5190 instruction layer

Table 3. Response to the GetVersion command …continued

Field

Byte

Description

HW_V

2

Hardware version

RO_V

3

ROM code

MODEL_ID

4

Model ID

FMxV

5-6

Firmware version (used for download)

RFU1-RFU2

7-8

Expected values of different fields of response and their mapping is as below:

Table 4. Expected values of the response of the GetVersion command

IC Type

HW Version (hex)

ROM Version (hex) Model ID

(hex)

PN5190 B0

0x51

0x02

0x00

PN5190 B1

0x52

0x02

0x00

PN5190 B2

0x53

0x03

0x00

FW Version (hex)
xx.yy xx.yy xx.yy

3.4.5 DL_GET_SESSION_STATE command

Frame exchange: 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] The payload frame of the GetSession response is:

Table 5. Response to the GetSession command

Field

Byte

Description

STAT

1

Status

SSTA

2

Session state

· 0x00: closed

· 0x01: open

· 0x02: locked (download no more allowed)

RFU

3-4

3.4.6 DL_GET_DIE_ID command
Frame exchange: PN5190 B0/B1: [HDLL] -> [0x00 0x04 0xF4 0x00 0x00 0x00 0xD2 0xAA] PN5190 B2: [HDLL] -> [0x00 0x04 0xDF 0x00 0x00 0x00 0xFB 0xFB] [HDLL] <- [0x00 0x14 STAT 0x00 0x00 0x00 ID0 ID1 ID2 ID3 ID4 ID5 ID6 ID7 ID8 ID9 ID10 ID11 ID12 ID13 ID14 ID15 CRC16] The payload frame of the GetDieId response is:

UM11942
User manual

All information provided in this document is subject to legal disclaimers.
Rev. 3.7 — 25 May 2023

© 2023 NXP B.V. All rights reserved.
14 / 79

NXP Semiconductors

UM11942
PN5190 instruction layer

Table 6. Response to the GetDieId command

Field

Byte

Description

STAT

1

Status

RFU

2-4

DIEID

5-20

ID of the die (16 bytes)

3.4.7 DL_CHECK_INTEGRITY command

Frame exchange: 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] The payload frame of the CheckIntegrity response is:

Table 7. Response to the CheckIntegrity command

Field

Byte

Value/Description

STAT

1

Status

LEN_DATA

2

Total number of data sections

LEN_CODE

3

Total number of code sections

RFU

4

Reserved

[CRC_INFO]

5-8

32 bits (little-endian). If a bit is set, the CRC of the corresponding section is OK, otherwise Not OK.

Bit

Area integrity status

[31:28] Reserved [3] [27:23] Reserved [1] [22]

Reserved [3] [21:20] Reserved [1] [19]

RF configuration area (PN5190 B0/B1) [2]

Reserved (PN5190 B2) [3] [18]

Protocol configuration area (PN5190 B0/B1) [2]

RF configuration area (PN5190 B2) [2] [17]

Reserved (PN5190 B0/B1) [3]

User configuration area (PN5190 B2) [2] [16:6]

Reserved [3] [5:4]

Reserved For PN5190 B0/B1 [3]

Reserved For PN5190 B2 [1] [3:0]

Reserved [1] [CRC32]

9-136

CRC32 of the 32 sections. Each CRC is of 4 bytes stored in little-endian format.
First 4 bytes of CRC is of bit CRC_INFO[31], next 4 bytes of CRC is of bit CRC_ INFO[30] and so on.

Notes:

UM11942
User manual

All information provided in this document is subject to legal disclaimers.
Rev. 3.7 — 25 May 2023

© 2023 NXP B.V. All rights reserved.
15 / 79

NXP Semiconductors

UM11942
PN5190 instruction layer

· [1] This bit must be 1 for the PN5190 to function properly (with features and or encrypted FW download). · [2] This bit is set to 1 by default, but user modified settings invalidate the CRC. No effect on PN5190
functionality..
· [3] This bit value, even if it is 0, is not relevant. This bit value can be ignored..

3.4.8 DL_SEC_WRITE command
The DL_SEC_WRITE command is to be considered in the context of a sequence of secure write commands: the encrypted “secured firmware download” (often referred to as eSFWu).
The secure write command first opens the download session and passes the RSA authentication. The next ones are passing encrypted addresses and bytes to write into the PN5190 Flash. All but the last one contains the next ones hash, therefore informing they are not the last, and cryptographically bonding the sequence frames together.
Other commands (except DL_RESET and DL_CHECK_INTEGRITY) can be inserted between the secured write commands of a sequence without breaking it.

3.4.8.1 First DL_SEC_WRITE command
A secured write command is the first one if and only if:
1. The frame length is 312 bytes 2. No secured write command has been received since last reset. 3. The embedded signature is successfully verified by the PN5190.
The response to the first frame command would be as below:
[HDLL] <- [0x00 0x04 STAT 0x00 0x00 0x00 CRC16] STAT is the return status.
Note: At least one chunk of data must be written during a eSFWu even though the data written may only be one-byte long. Therefore, the first command will always contain the hash of the next command, since there will at least be two commands.

3.4.8.2 Middle DL_SEC_WRITE commands
A secured write command is a `middle one’ if and only if:
1. The opcode is as described in Section 3.4.1 for DL_SEC_WRITE command. 2. A first secured write command has already been received and successfully verified before 3. No reset has occurred since receiving the first secured write command 4. The frame length is equal to the data size + header size + hash size: FLEN = SIZE + 6 + 32 5. The digest of the whole frame is equal to the hash value received in the previous frame
The response to the first frame command would be as below:
[HDLL] <- [0x00 0x04 STAT 0x00 0x00 0x00 CRC16] STAT is the return status.

3.4.8.3 Last DL_SEC_WRITE command
A secured write command is the last one if and only if: 1. The opcode is as described in Section 3.4.1 for DL_SEC_WRITE command. 2. A first secured write command has already been received and successfully verified before

UM11942
User manual

All information provided in this document is subject to legal disclaimers.
Rev. 3.7 — 25 May 2023

© 2023 NXP B.V. All rights reserved.
16 / 79

NXP Semiconductors

UM11942
PN5190 instruction layer

3. No reset has occurred since receiving the first secured write command 4. The frame length is equal to the data size + header size: FLEN = SIZE + 6 5. The digest of the whole frame is equal to the hash value received in the previous frame
The response to the first frame command would be as below:
[HDLL] <- [0x00 0x04 STAT 0x00 0x00 0x00 CRC16] STAT is the return status.

UM11942
User manual

All information provided in this document is subject to legal disclaimers.
Rev. 3.7 — 25 May 2023

© 2023 NXP B.V. All rights reserved.
17 / 79

NXP Semiconductors

UM11942
PN5190 instruction layer

4 IC operating boot mode – Normal Operation mode

4.1 Introduction
Generally PN5190 IC must be in normal mode of operation to get the NFC functionality from it. When PN5190 IC boots, it is always waiting for commands to be received from a host to perform operation, unless events generated within PN5190 IC resulted in PN5190 IC boot.

4.2 Commands list overview

Table 8.PN5190 command list

Command code

Command name

0x00

WRITE_REGISTER

0x01

WRITE_REGISTER_OR_MASK

0x02

WRITE_REGISTER_AND_MASK

0x03

WRITE_REGISTER_MULTIPLE

0x04

READ_REGISTER

0x05

READ_REGISTER_MULTIPLE

0x06

WRITE_E2PROM

0x07

READ_E2PROM

0x08

TRANSMIT_RF_DATA

0x09

RETRIEVE_RF_DATA

0x0A

EXCHANGE_RF_DATA

0x0B

MFC_AUTHENTICATE

0x0C

EPC_GEN2_INVENTORY

0x0D

LOAD_RF_CONFIGURATION

0x0E

UPDATE_RF_CONFIGURATION

0x0F

GET_ RF_CONFIGURATION

0x10

RF_ON

0x11

RF_OFF

0x12

CONFIGURE TESTBUS_DIGITAL

0x13

CONFIGURE_TESTBUS_ANALOG

0x14

CTS_ENABLE

0x15

CTS_CONFIGURE

0x16

CTS_RETRIEVE_LOG

0x17-0x18

RFU

0x19

up to FW v2.01: RFU

from FW v2.03 onwards: RETRIEVE_RF_FELICA_EMD_DATA

0x1A

RECEIVE_RF_DATA

0x1B-0x1F

RFU

UM11942
User manual

All information provided in this document is subject to legal disclaimers.
Rev. 3.7 — 25 May 2023

© 2023 NXP B.V. All rights reserved.
18 / 79

NXP Semiconductors

UM11942
PN5190 instruction layer

Table 8.PN5190 command list…continued

Command code

Command name

0x20

SWITCH_MODE_NORMAL

0x21

SWITCH_MODE_AUTOCOLL

0x22

SWITCH_MODE_STANDBY

0x23

SWITCH_MODE_LPCD

0x24

RFU

0x25

SWITCH_MODE_DOWNLOAD

0x26

GET_DIEID

0x27

GET_VERSION

0x28

RFU

0x29

up to FW v2.05: RFU

from FW v2.06 onwards: GET_CRC_USER_AREA

0x2A

up to FW v2.03: RFU

from FW v2.05 onwards: CONFIGURE_MULTIPLE_TESTBUS_DIGITAL

0x2B-0x3F

RFU

0x40

ANTENNA_SELF_TEST (Not Supported)

0x41

PRBS_TEST

0x42-0x4F

RFU

4.3 Response status values

Following are the response status values, that are returned as part of the response from PN5190 after the command is operationalized.

Table 9.PN5190 response status values Response status
PN5190_STATUS_SUCCESS PN5190_STATUS_TIMEOUT
PN5190_STATUS_INTEGRITY_ERROR
PN5190_STATUS_RF_COLLISION_ERROR
PN5190_STATUS_RFU1 PN5190_STATUS_INVALID_COMMAND
PN5190_STATUS_RFU2 PN5190_STATUS_AUTH_ERROR
PN5190_STATUS_MEMORY_ERROR

Response status value 0x00 0x01
0x02
0x03
0x04 0x05
0x06 0x07
0x08

Description
Indicates that operation completed successfully
Indicates that the operation of the command resulted in timeout
Indicates that the operation of the command resulted in RF data integrity error
Indicates that the operation of the command resulted in RF collision error
Reserved
Indicates that the given command is invalid/not implemented
Reserved
Indicates that MFC authentication failed (permission denied)
Indicates that the operation of the command resulted in a programming error or internal memory error

UM11942
User manual

All information provided in this document is subject to legal disclaimers.
Rev. 3.7 — 25 May 2023

© 2023 NXP B.V. All rights reserved.
19 / 79

NXP Semiconductors

UM11942
PN5190 instruction layer

Table 9.PN5190 response status values…continued

Response status

Response status value

PN5190_STATUS_RFU4

0x09

PN5190_STATUS_NO_RF_FIELD

0x0A

PN5190_STATUS_RFU5 PN5190_STATUS_SYNTAX_ERROR

0x0B 0x0C

PN5190_STATUS_RESOURCE_ERROR PN5190_STATUS_RFU6 PN5190_STATUS_RFU7 PN5190_STATUS_NO_EXTERNAL_RF_FIELD

0x0D 0x0E 0x0F 0x10

PN5190_STATUS_RX_TIMEOUT
PN5190_STATUS_USER_CANCELLED
PN5190_STATUS_PREVENT_STANDBY
PN5190_STATUS_RFU9 PN5190_STATUS_CLOCK_ERROR PN5190_STATUS_RFU10 PN5190_STATUS_PRBS_ERROR PN5190_STATUS_INSTR_ERROR

0x11
0x12
0x13
0x14 0x15 0x16 0x17 0x18

PN5190_STATUS_ACCESS_DENIED PN5190_STATUS_TX_FAILURE PN5190_STATUS_NO_ANTENNA PN5190_STATUS_TXLDO_ERROR

0x19 0x1A 0x1B 0x1C

PN5190_STATUS_RFCFG_NOT_APPLIED

0x1D

PN5190_STATUS_TIMEOUT_WITH_EMD_ERROR 0x1E

PN5190_STATUS_INTERNAL_ERROR PN5190_STATUS_SUCCSES_CHAINING

0x7F 0xAF

Description
Reserved
Indicates that there no or error in internal RF field presence (applicable only if initiator/reader mode)
Reserved
Indicates that invalid command frame length is received
Indicates that an internal resource error occurred
Reserved
Reserved
Indicates that no external RF field is present during the execution of the command (Applicable only in card/target mode)
Indicates that data is not received after RFExchange is initiated and RX is timed out.
Indicates that the present command in-progress is aborted
Indicates that PN5190 is prevented to go into Standby mode
Reserved
Indicates that clock to the CLIF did not start
Reserved
Indicates that the PRBS command returned an error
Indicates that operation of the command is failed (it may include, the error in instruction parameters, syntax error, error in operation itself, pre-requirements for the instruction is not met etc.)
Indicates that access to internal memory is denied
Indicates that TX over RF is failed
Indicates that no antenna is connected/present
Indicates that there is an error in TXLDO when the VUP is not available and RF is switched ON.
Indicates that RF configuration is not loaded when RF is switched ON
up to FW 2.01: not expected
from FW 2.03 onwards: Indicates that during Exchange with LOG ENABLE BIT is set in FeliCa EMD register, FeliCa EMD Error was observed
Indicates that the NVM operation failed
Indicates that, furthermore data is pending to be read

UM11942
User manual

All information provided in this document is subject to legal disclaimers.
Rev. 3.7 — 25 May 2023

© 2023 NXP B.V. All rights reserved.
20 / 79

NXP Semiconductors

UM11942
PN5190 instruction layer

4.4 Events Overview
There are two ways events are notified to the host.

4.4.1 Normal events over IRQ pin

These events are categories as below:
1. Always enabled ­ Host is always notified 2. Controlled by Host ­ Host is notified, if the respective Event Enable bit is set in the register
(EVENT_ENABLE (01h)).
Low-level interrupts from the peripheral IPs including the CLIF shall be completely handled within the firmware and host shall be notified only of the events listed in the events section.
Firmware implements two event registers as RAM registers that can be written / Read using Section 4.5.1.1 / Section 4.5.1.5 commands.
The register EVENT_ENABLE (0x01) => Enable specific/all event notifications.
The register EVENT_STATUS (0x02) => Part of the Event message payload.
Events shall be cleared by the host once the event message is read-out by the host.
Events are asynchronous in nature and are notified to the host, if they are enabled within the EVENT_ENABLE register.
Following is the list of events that shall be available to the host as part of event message.

Table 10.PN5190 events (contents of EVENT_STATUS)

Bit – Range

Field [1]

31

12 RFU

11

11 CTS_EVENT [2]

10

10 IDLE_EVENT

9

9 LPCD_CALIBRATION_DONE_EVENT

8

8 LPCD_EVENT

7

7 AUTOCOLL_EVENT

6

6 TIMER0_EVENT

5

5 TX_OVERCURRENT_EVENT

4

4 RFON_DET_EVENT [2]

3

3 RFOFF_DET_EVENT [2]

2

2 STANDBY_PREV_EVENT

1

1 GENERAL_ERROR_EVENT

0

0 BOOT_EVENT

Always Enabled (Y/N) NA N Y Y Y Y N N N N Y Y Y

[1] Note that no two events are clubbed except in case of errors. In case of errors during the operation, functional event (e.g. BOOT_EVENT, AUTOCALL_EVENT etc.) and GENERAL_ERROR_EVENT will be set.
[2] This event will automatically be disabled after it is posted to the host. The host should enable again these events if it wishes to get these events notified to it.

UM11942
User manual

All information provided in this document is subject to legal disclaimers.
Rev. 3.7 — 25 May 2023

© 2023 NXP B.V. All rights reserved.
21 / 79

NXP Semiconductors

UM11942
PN5190 instruction layer

4.4.1.1 Event message formats
The event message format differs depending upon the occurrences of an event and different state of the PN5190.
Host must read tag (T) and length of the message (L) and then read the corresponding number of bytes as value (V) of the events.
In general, the event message (see Figure 12) contains the EVENT_STATUS as defined in Table 11 and event data corresponds to the respective event bit set in EVENT_STATUS.
Note: For some events, payload does not exist. For e.g. If TIMER0_EVENT is triggered, only EVENT_STATUS is provided as part of the event message. The Table 11 also details out whether the event data is present for the corresponding event in the event message.

Figure 12.Event message format when no errors occurred
GENERAL_ERROR_EVENT may also occur with other events.
In this scenario, the event message (see Figure 13) contains the EVENT_STATUS as defined in Table 11 and GENERAL_ERROR_STATUS_DATA as defined in Table 14 and then the event data corresponds to the respective event bit set in EVENT_STATUS as defined in Table 11.

Figure 13.Event message format when an error occurred
Note: Only after the BOOT_EVENT or after POR, STANDBY, ULPCD, the host will be able to work in the normal operation mode by issuing the commands listed above. In case of aborting an existing running command, only after IDLE_EVENT, the host will be able to work in the normal operation mode by issuing the commands listed above.

4.4.1.2 Different EVENT status definitions

4.4.1.2.1 Bit definitions for EVENT_STATUS

Table 11.Definitions for EVENT_STATUS bits
Bit (To ­ Event From)

Description

31 12 RFU

Reserved

Event data of the corresponding event (if any)

UM11942
User manual

All information provided in this document is subject to legal disclaimers.
Rev. 3.7 — 25 May 2023

© 2023 NXP B.V. All rights reserved.
22 / 79

NXP Semiconductors

UM11942
PN5190 instruction layer

Table 11.Definitions for EVENT_STATUS bits…continued

Bit (To ­ Event From)

Description

Event data of the corresponding event (if any)

11

11 CTS_EVENT

This bit is set, when CTS event is generated.

Table 86

10 10 IDLE_EVENT

This bit is set, when the ongoing command is canceled due to issue of SWITCH_MODE_NORMAL command.

No event data

9

9 LPCD_CALIBRATION_DONE_ This bit is set when the LPCD calibration- Table 16

EVENT

done event is generated.

8

8 LPCD_EVENT

This bit is set, when the LPCD event is generated.

Table 15

7

7 AUTOCOLL_EVENT

This bit is set, when the AUTOCOLL operation is completed.

Table 52

6

6 TIMER0_EVENT

This bit is set, when the TIMER0 event is No event data occurred.

5

5 TX_OVERCURRENT_ERROR_ This bit is set, when the current on the TX No event data

EVENT

driver is higher than the defined threshold

in the EEPROM. Upon this condition, the

field is automatically switched OFF before

the notification to the host. Please refer to

Section 4.4.2.2.

4

4 RFON_DET_EVENT

This bit is set, when the external RF field No event data is detected.

3

3 RFOFF_DET_EVENT

This bit is set, when already existing external RF field disappears.

No event data

2

2 STANDBY_PREV_EVENT

This bit is set, when standby is prevented Table 13 because of prevention conditions exist

1

1 GENERAL_ERROR_EVENT

This bit is set, when any general error conditions exist

Table 14

0

0 BOOT_EVENT

This bit is set, when PN5190 is booted with POR/Standby

Table 12

4.4.1.2.2 Bit definitions for BOOT_STATUS_DATA

Table 12.Definitions for BOOT_STATUS_DATA bits

Bit to

Bit From

Boot status

31

27

RFU

26

26

ULP_STANDBY

25

23

RFU

22

22

BOOT_ RX_ULPDET

21

21

RFU

20

20

BOOT_SPI

19

17

RFU

Boot reason due to
Reserved Bootup Reason due to exiting from ULP_STANDBY. Reserved RX ULPDET resulted in boot in ULP-Standby mode Reserved Bootup Reason due to SPI_NTS signal being pulled low Reserved

UM11942
User manual

All information provided in this document is subject to legal disclaimers.
Rev. 3.7 — 25 May 2023

© 2023 NXP B.V. All rights reserved.
23 / 79

NXP Semiconductors

UM11942
PN5190 instruction layer

Table 12.Definitions for BOOT_STATUS_DATA bits…continued

Bit to

Bit From

Boot status

Boot reason due to

16

16

BOOT_GPIO3

Bootup Reason due to transitioning of GPIO3 from low to high.

15

15

BOOT_GPIO2

Bootup Reason due to transitioning of GPIO2 from low to high.

14

14

BOOT_GPIO1

Bootup Reason due to transitioning of GPIO1 from low to high.

13

13

BOOT_GPIO0

Bootup Reason due to transitioning of GPIO0 from low to high.

12

12

BOOT_LPDET

Bootup Reason due to external RF field presence during STANDBY/SUSPEND

11

11

RFU

Reserved

10

8

RFU

Reserved

7

7

BOOT_SOFT_RESET

Bootup Reason due to soft reset of IC

6

6

BOOT_VDDIO_LOSS

Bootup Reason due to loss of VDDIO. Refer to Section 4.4.2.3

5

5

BOOT_VDDIO_START

Bootup Reason if STANDBY entered with VDDIO LOSS. Refer to Section 4.4.2.3

4

4

BOOT_WUC

Bootup Reason due to wake-up counter elapsed during either STANDBY operation.

3

3

BOOT_TEMP

Bootup Reason due to IC temperature is more than the configured threshold limit. Please refer to Section 4.4.2.1

2

2

BOOT_WDG

Bootup Reason due to watchdog reset

1

1

RFU

Reserved

0

0

BOOT_POR

Bootup Reason due power-on reset

4.4.1.2.3 Bit definitions for STANDBY_PREV_STATUS_DATA

Table 13.Definitions for STANDBY_PREV_STATUS_DATA bits

Bit to Bit From Standby prevention

Standby prevented due to

31 26

RFU

RESERVED

25 25

RFU

RESERVED

24 24

PREV_TEMP

ICs operating temperature is out of threshold

23 23

RFU

RESERVED

22 22

PREV_HOSTCOMM

Host interface communication

21 21

PREV_SPI

SPI_NTS signal being pulled low

20 18

RFU

RESERVED

17 17

PREV_GPIO3

GPIO3 signal transitioning from low to high

16 16

PREV_GPIO2

GPIO2 signal transitioning from low to high

15 15

PREV_GPIO1

GPIO1 signal transitioning from low to high

14 14

PREV_GPIO0

GPIO0 signal transitioning from low to high

UM11942
User manual

All information provided in this document is subject to legal disclaimers.
Rev. 3.7 — 25 May 2023

© 2023 NXP B.V. All rights reserved.
24 / 79

NXP Semiconductors

UM11942
PN5190 instruction layer

Table 13.Definitions for STANDBY_PREV_STATUS_DATA bits…continued

Bit to Bit From Standby prevention

Standby prevented due to

13 13

PREV_WUC

Wake-up counter elapsed

12 12

PREV_LPDET

Low-power detection. Occurs when an external RF signal is detected in the process of going into standby.

11 11

PREV_RX_ULPDET

RX ultra-low power detection. Occurs when RF signal is detected in the process of going to ULP_STANDBY.

10 10

RFU

RESERVED

9

5

RFU

RESERVED

4

4

RFU

RESERVED

3

3

RFU

RESERVED

2

2

RFU

RESERVED

1

1

RFU

RESERVED

0

0

RFU

RESERVED

4.4.1.2.4 Bit definitions for GENERAL_ERROR_STATUS_DATA

Table 14.Definitions for GENERAL_ERROR_STATUS_DATA bits Bit to Bit from Error status

31 6

RFU

5

5

XTAL_START_ERROR

4

4

SYS_TRIM_RECOVERY_ERROR

3

3

SYS_TRIM_RECOVERY_SUCCESS

2

2

1

1

0

0

TXLDO_ERROR CLOCK_ERROR GPADC_ERROR

Description
Reserved
XTAL start failed during boot
Internal system trim memory error occurred, but recovery is failed. System works in downgraded mode.
Internal system trim memory error occurred, and recovery was successful. Host must perform reboot of the PN5190 for the recovery to take effect.
TXLDO error
Clock error
ADC error

4.4.1.2.5 Bit definitions for LPCD_STATUS_DATA

Table 15.Definitions for LPCD_STATUS_DATA bytes

Bit to Bit From Status bits applicability as per the underlying operation Description for the corresponding bit

of LPCD or ULPCD

is set in status byte.

LPCD

ULPCD

31 7

RFU

Reserved

6

6

Abort_HIF

Y

N

Aborted due to HIF activity

5

5

CLKDET error

N

Y

Aborted due to CLKDET error occurred

4

4

XTAL Timeout

N

Y

Aborted due to XTAL Timeout occurred

3

3

VDDPA LDO Overcurrent N

Y

Aborted due to VDDPA LDO overcurrent

occurred

UM11942
User manual

All information provided in this document is subject to legal disclaimers.
Rev. 3.7 — 25 May 2023

© 2023 NXP B.V. All rights reserved.
25 / 79

NXP Semiconductors

UM11942
PN5190 instruction layer

Table 15.Definitions for LPCD_STATUS_DATA bytes…continued

Bit to Bit From Status bits applicability as per the underlying operation Description for the corresponding bit

of LPCD or ULPCD

is set in status byte.

2

2

External RF field

Y

Y

Aborted due to external RF field

1

1

GPIO3 Abort

N

Y

Aborted due to GPIO3 level change

0

0

Card Detected

Y

Y

Card is detected

4.4.1.2.6 Bit definitions for LPCD_CALIBRATION_DONE Status data

Table 16.Definitions for LPCD_CALIBRATION_DONE status data bytes for ULPCD

Bit to Bit From Status of LPCD_CALIBRATION DONE event

Description for the corresponding bit is set in status byte.

31 11

Reserved

10 0

Reference value from ULPCD calibration

The measured RSSI value during ULPCD calibration which is used as reference during ULPCD

Table 17.Definitions for LPCD_CALIBRATION_DONE status data bytes for LPCD

Bit to Bit From Status of LPCD_CALIBRATION DONE event

Description for the corresponding bit is set in status byte.

31 16

Channel 1 reference

The measured channel 1 values during LPCD calibration

15 0

Channel 0 reference

The measured channel 0 values during LPCD calibration

4.4.2 Handling of different boot scenarios The PN5190 IC handles different error conditions related to IC parameters as below.

4.4.2.1 Handling of over temperature scenario when PN5190 is under operation
Whenever the PN5190 IC’s internal temperature is reaching to the threshold value as configured in the EEPROM field TEMP_WARNING [2], the IC enters into the standby. And consequently if EEPROM field ENABLE_GPIO0_ON_OVERTEMP [2] is configured to raise a notification to the host, then GPIO0 will be pulled high to notify the IC over temperature.
As and when the IC temperature falls below the threshold value as configured in the EEPROM field TEMP_WARNING [2], the IC will bootup with BOOT_EVENT as in Table 11 and BOOT_TEMP boot status bit is set as in Table 12 and GPIO0 will be pulled low.
4.4.2.2 Handling of overcurrent
If PN5190 IC senses the overcurrent condition, the IC switches off RF power and sends the TX_OVERCURRENT_ERROR_EVENT as in Table 11.
The duration of the overcurrent condition can be controlled by modifying the EEPROM field TXLDO_CONFIG [2].
For information on IC over current threshold, refer to document [2].
Note:

UM11942
User manual

All information provided in this document is subject to legal disclaimers.
Rev. 3.7 — 25 May 2023

© 2023 NXP B.V. All rights reserved.
26 / 79

NXP Semiconductors

UM11942
PN5190 instruction layer

If there are any other pending events or response, they will be sent to the host.

4.4.2.3 Loss of VDDIO during operation
If PN5190 IC encounters that there is no VDDIO (VDDIO loss), the IC enters into standby. IC boots only when the VDDIO is available, with BOOT_EVENT as in Table 11 and BOOT_VDDIO_START boot status bit is set as in Table 12. For information on PN5190 IC static characteristics, refer to document [2].

4.4.3 Handling of abort scenarios

The PN5190 IC has a support of aborting the present executing commands and the behavior of the PN5190 IC, when such abort command such as Section 4.5.4.5.2 is sent to PN5190 IC is as shown in Table 18.
Note:
When PN5190 IC is in ULPCD and ULP-Standby mode, it cannot be aborted either by sending a Section 4.5.4.5.2 OR by starting a SPI transaction (by pulling low on SPI_NTS signal).

Table 18.Expected event response when different commands terminated with Section 4.5.4.5.2

Commands

Behavior when Switch Mode Normal command is sent

All commands where low power is not entered

EVENT_STAUS is set to “IDLE_EVENT”

Switch Mode LPCD

EVENT_STATUS is set to “LPCD_EVENT” with “LPCD_ STATUS_DATA” indicating status bits as “Abort_HIF”

Switch Mode Standby

EVENT_STAUS is set to “BOOT_EVENT” with “BOOT_ STATUS_DATA” indicating bits “BOOT_SPI”

Switch Mode Autocoll(No Autonomous mode, autonomous EVENT_STAUS is set to “AUTOCOLL_EVENT” with mode with standby and autonomous mode without standby) STATUS_DATA bits indicating command was user canceled.

4.5 Normal Mode Operation Instruction Details

4.5.1 Register Manipulation Instructions of this section are used to access the logical registers of PN5190.

4.5.1.1 WRITE_REGISTER This instruction is used to write a 32-bit value (little-endian) to a logical register.

4.5.1.1.1 Conditions
The address of the register must exist, and the register must either have the READ-WRITE or WRITE-ONLY attribute.

4.5.1.1.2 Command

Table 19.WRITE_REGISTER command value Write a 32-Bit value to a register.

Payload Field

Length

Value/Description

Register Address

1 Byte

Address of the register.

UM11942
User manual

All information provided in this document is subject to legal disclaimers.
Rev. 3.7 — 25 May 2023

© 2023 NXP B.V. All rights reserved.
27 / 79

NXP Semiconductors

UM11942
PN5190 instruction layer

Table 19.WRITE_REGISTER command value…continued Write a 32-Bit value to a register.

Payload Field

Length

Value/Description

Value

4 Bytes

32-Bit register value which must be written. (Little-endian)

4.5.1.1.3 Response

Table 20.WRITE_REGISTER response value

Payload Field

Length

Value/Description

Status

1 Byte

Status of the operation [Table 9]. Expected values are as below:

PN5190_STATUS_SUCCESS

PN5190_STATUS_INSTR_ERROR

4.5.1.1.4 Event There are no events for this command.

4.5.1.2 WRITE_REGISTER_OR_MASK
This instruction is used to modify the content of register using a logical OR operation. The content of the register is read and a logical OR operation is performed with the provided mask. The modified content is written back to the register.

4.5.1.2.1 Conditions The address of the register must exist, and the register must have the READ-WRITE attribute.

4.5.1.2.2 Command

Table 21.WRITE_REGISTER_OR_MASK command value Perform a logical OR operation on a register using provided mask.

Payload field

Length

Value/description

Register Address

1 Byte

Address of the register.

Mask

4 Bytes

Bitmask used as operand for logical OR operation. (Little-endian)

4.5.1.2.3 Response

Table 22.WRITE_REGISTER_OR_MASK response value

Payload Field

Length

Value/Description

Status

1 Byte

Status of the operation [Table 9]. Expected values are as below:

PN5190_STATUS_SUCCESS

PN5190_STATUS_INSTR_ERROR

4.5.1.2.4 Event There are no events for this command.

UM11942
User manual

All information provided in this document is subject to legal disclaimers.
Rev. 3.7 — 25 May 2023

© 2023 NXP B.V. All rights reserved.
28 / 79

NXP Semiconductors

UM11942
PN5190 instruction layer

4.5.1.3 WRITE_REGISTER_AND_MASK
This instruction is used to modify the content of register using a logical AND operation. The content of the register is read and a logical AND operation is performed with the provided mask. The modified content is written back to the register.

4.5.1.3.1 Conditions The address of the register must exist, and the register must have the READ-WRITE attribute.

4.5.1.3.2 Command

Table 23.WRITE_REGISTER_AND_MASK command value Perform a logical AND operation on a register using provided mask.

Payload field

Length

Value/description

Register Address

1 Byte

Address of the register.

Mask

4 Bytes

Bitmask used as operand for logical AND operation. (Little-endian )

4.5.1.3.3 Response

Table 24.WRITE_REGISTER_AND_MASK response value

Payload Field

Length

Value/Description

Status

1 Byte

Status of the operation [Table 9]. Expected values are as below:

PN5190_STATUS_SUCCESS

PN5190_STATUS_INSTR_ERROR

4.5.1.3.4 Event
There are no events for this command.
4.5.1.4 WRITE_REGISTER_MULTIPLE
This instruction functionality is similar to the Section 4.5.1.1, Section 4.5.1.2, Section 4.5.1.3, with the possibility to combine them. In fact, it takes an array of register-type-value set and performs appropriate action. The type reflects the action which is either write register, logical OR operation on a register or logical AND operation on a register.
4.5.1.4.1 Conditions
The respective logical address of the register within a set must exist. The register access attribute must allow execution of required action (type): · Write action (0x01): READ-WRITE or WRITE-ONLY attribute · OR mask action (0x02): READ-WRITE attribute · AND mask action (0x03): READ-WRITE attribute The size of `Set’ array must be in the range from 1 ­ 43, inclusive. Field `Type’ must be in the range of 1 ­ 3, inclusive

UM11942
User manual

All information provided in this document is subject to legal disclaimers.
Rev. 3.7 — 25 May 2023

© 2023 NXP B.V. All rights reserved.
29 / 79

NXP Semiconductors

UM11942
PN5190 instruction layer

4.5.1.4.2 Command

Table 25.WRITE_REGISTER_MULTIPLE command value Perform a write register operation using a set of Register-Value pairs.

Payload field

Length

Value/description

Set [1…n]

6 Bytes

Register Address 1 Byte

Type

1 Byte

Value

4 Bytes

Logical address of the register.
0x1 Write Register
0x2 Write Register OR Mask
0x3 Write Register AND Mask
32 Bite register value which must be written, or bitmask used for logical operation. (Little-endian)

Note: In case of an exception the operation is not rolled-back, i.e. registers which have been modified until exception occurs remain in modified state. Host must take proper actions to recover to a defined state.

4.5.1.4.3 Response

Table 26.WRITE_REGISTER_MULTIPLE response value

Payload Field

Length

Value/Description

Status

1 Byte

Status of the operation [Table 9]. Expected values are as below:

PN5190_STATUS_SUCCESS

PN5190_STATUS_INSTR_ERROR

4.5.1.4.4 Event There are no events for this command.

4.5.1.5 READ_REGISTER
This instruction is used to read back the content of a logical register. The content is present in the response, as 4-byte value in little-endian format.

4.5.1.5.1 Conditions
The address of the logical register must exist. The access attribute of the register must either be READ-WRITE or READ-ONLY.

4.5.1.5.2 Command

Table 27.READ_REGISTER command value Read back content of a register.

Payload Field

Length

Value/Description

Register Address

1 Byte

Address of the logical register

UM11942
User manual

All information provided in this document is subject to legal disclaimers.
Rev. 3.7 — 25 May 2023

© 2023 NXP B.V. All rights reserved.
30 / 79

NXP Semiconductors

UM11942
PN5190 instruction layer

4.5.1.5.3 Response

Table 28.READ_REGISTER response value

Payload Field

Length

Status

1 Byte

Register Value

4 Bytes

Value/Description
Status of the operation [Table 9]. Expected values are as below:
PN5190_STATUS_SUCCESS PN5190_STATUS_INSTR_ERROR (No further data is present)
32-Bit register value which has been read out. (Little-endian)

4.5.1.5.4 Event There are no events for this command.

4.5.1.6 READ_REGISTER_MULTIPLE
This instruction is used to read multiple logical registers at once. The result (content of each register) is provided in the response to the instruction. Register address itself is not included in the response. The order of the register contents within the response corresponds to the order of the register addresses within the instruction.

4.5.1.6.1 Conditions
All register addresses within the instruction must exist. The access attribute for each register must either be READ-WRITE or READ-ONLY. The size of `Register Address’ array must be in the range from 1 ­ 18, inclusive.

4.5.1.6.2 Command

Table 29.READ_REGISTER_MULTIPLE command value Perform a read register operation on a set of registers.

Payload Field

Length

Value/Description

Register Address[1…n] 1 Byte

Register Address

4.5.1.6.3 Response

Table 30.READ_REGISTER_MULTIPLE response value

Payload field

Length

Value/description

Status

1 Byte

Status of the operation [Table 9]. Expected values are as below:

PN5190_STATUS_SUCCESS PN5190_STATUS_INSTR_ERROR (No further data is present)

Register Value [1…n] 4 Bytes

Value

4 Bytes

32-Bit register value which has been read out (little-endian).

4.5.1.6.4 Event There are no events for this command.

UM11942
User manual

All information provided in this document is subject to legal disclaimers.
Rev. 3.7 — 25 May 2023

© 2023 NXP B.V. All rights reserved.
31 / 79

NXP Semiconductors

UM11942
PN5190 instruction layer

4.5.2 E2PROM Manipulation
The accessible area in E2PROM is as per EEPROM map and addressable size. Note: 1. Wherever the `E2PROM Address’ is mentioned in the below instructions, shall refer to the size of the
addressable EEPROM area.

4.5.2.1 WRITE_E2PROM
This instruction is used to write one or more values to E2PROM. The field `Values’ contains the data to be written to E2PROM starting at the address given by field `E2PROM Address’. The data is written in sequential order.
Note:
Note that this is a blocking command, this means the NFC FE is blocked during the write operation. This can take several milliseconds.

4.5.2.1.1 Conditions
`E2PROM Address’ field must be in the range as per [2]. The number of bytes within `Values’ field must be in the range from 1 ­ 1024 (0x0400), inclusive. Write operation must not go beyond EEPROM address as mentioned in [2]. Error response shall be sent to the host if address exceeds the EEPROM address space as in [2].

4.5.2.1.2 Command

Table 31.WRITE_E2PROM command value Write given values sequentially to E2PROM.

Payload field

Length

E2PROM Address

2 Byte

Values

1 ­ 1024 Bytes

Value/description
Address in EEPROM from which write operation shall start. (Littleendian )
Values which must be written to E2PROM in sequential order.

4.5.2.1.3 Response

Table 32.WRITE_EEPROM response value

Payload Field

Length

Status

1 Byte

Value/Description
Status of the operation [Table 9]. Expected values are as below:
PN5190_STATUS_SUCCESS PN5190_STATUS_INSTR_ERROR PN5190_STATUS_MEMORY_ERROR

4.5.2.1.4 Event There are no events for this command.

4.5.2.2 READ_E2PROM

This instruction is used to read back data from E2PROM memory area. The field `E2PROM Address’ indicates the start address of the read operation. The response contains the data read from E2PROM.

UM11942
User manual

All information provided in this document is subject to legal disclaimers.
Rev. 3.7 — 25 May 2023

© 2023 NXP B.V. All rights reserved.
32 / 79

NXP Semiconductors

UM11942
PN5190 instruction layer

4.5.2.2.1 Conditions `E2PROM Address’ field must be in a valid range. `Number of bytes’ field must be in the range from 1 ­ 256, inclusive. Read operation must not go beyond the last accessible EEPROM address. Error response shall be sent to the host, if address exceeds the EEPROM address space.

4.5.2.2.2 Command

Table 33.READ_E2PROM command value Read out values from E2PROM sequentially.

Payload field

Length

E2PROM Address

2 Byte

Number of Bytes

2 Byte

Value/description
Address in E2PROM from which read operation shall start. (Littleendian )
Number of bytes to be read out. (Little-endian)

4.5.2.2.3 Response

Table 34.READ_E2PROM response value

Payload Field

Length

Status

1 Byte

Values

1 ­ 1024 Bytes

Value/Description Status of the operation [Table 9]. Expected values are as below: PN5190_STATUS_SUCCESS PN5190_STATUS_INSTR_ERROR (No further data is present) Values which have been read out in sequential order.

4.5.2.2.4 Event There are no events for this command.

4.5.2.3 GET_CRC_USER_AREA
This instruction is used to calculate the CRC for the complete user configuration area including the protocol area of PN5190 IC.

4.5.2.3.1 Command

Table 35.GET_CRC_USER_AREA command value Read out CRC of user configuration area including protocol area.

Payload Field

Length

Value/Description

No data in payload

4.5.2.3.2 Response

Table 36.GET_CRC_USER_AREA response value

Payload field

Length

Value/description

Status

1 Byte

Status of the operation [Table 9]. Expected values are as below:

UM11942
User manual

All information provided in this document is subject to legal disclaimers.
Rev. 3.7 — 25 May 2023

© 2023 NXP B.V. All rights reserved.
33 / 79

NXP Semiconductors

UM11942
PN5190 instruction layer

Table 36.GET_CRC_USER_AREA response value…continued

Payload field

Length

Value/description

PN5190_STATUS_SUCCESS

PN5190_STATUS_INSTR_ERROR (No further data is present)

Values

4 Bytes

4 bytes of CRC data in little-endian format.

4.5.2.3.3 Event
There are no events for this command.
4.5.3 CLIF data Manipulation
The instructions described within this section describe the commands for RF transmission and reception.
4.5.3.1 EXCHANGE_RF_DATA
The RF exchange function performs a transmission of the TX data and is waiting for the reception of any RX data. The function returns in case of a reception (either erroneous or correct) or a timeout happened. The timer is started with the END of TRANSMISSION and stopped with the START of RECEPTION. Timeout value preconfigured in EEPROM shall be used in case timeout not configured before execution of Exchange command. If transceiver_state is · in IDLE the TRANSCEIVE mode is entered. · In WAIT_RECEIVE, the transceiver state is reset to TRANSCEIVE MODE in case of initiator bit is set · In WAIT_TRANSMIT, the transceiver state is reset to TRANSCEIVE MODE in case initiator bit is NOT set The field `Number of valid bits in last Byte’ indicate the exact data length to be transmitted.
4.5.3.1.1 Conditions
Size of `TX Data’ field must be in the range from 0 ­ 1024, inclusive. `Number of valid bits in last Byte’ field must be in the range from 0 ­ 7. The command must not be called during an ongoing RF transmission. Command shall ensure the right state of the transceiver for transmitting the data. Note: This command is valid only for Reader mode and P2P” Passive/Active initiator mode.

4.5.3.1.2 Command

Table 37.EXCHANGE_RF_DATA command value Write TX data to internal RF transmission buffer and starts transmission using transceive command and wait until reception or Time-Out to prepare a response to the host.

Payload Field

Length

Value/Description

Number of valid bits in 1 Byte last Byte

0

All bits of last byte are transmitted

1 ­ 7 Number of bits within last byte to be transmitted.

RFExchangeConfig 1 Byte

Configuration of the RFExchange function. Details see below

UM11942
User manual

All information provided in this document is subject to legal disclaimers.
Rev. 3.7 — 25 May 2023

© 2023 NXP B.V. All rights reserved.
34 / 79

NXP Semiconductors

UM11942
PN5190 instruction layer

Table 37.EXCHANGE_RF_DATA command value…continued Write TX data to internal RF transmission buffer and starts transmission using transceive command and wait until reception or Time-Out to prepare a response to the host.

Payload Field

Length

Value/Description

TX Data

n bytes

TX data which must be sent out via CLIF using transceive command. n = 0 ­ 1024 bytes

Table 38.RFexchangeConfig Bitmask b7 b6 b5 b4 b3 b2 b1 b0
X X X X

Description Bits 4 ­ 7 are RFU Include RX Data in response based on RX_STATUS, if bit set to 1b. Include EVENT_STATUS register in response, if bit set to 1b. Include RX_STATUS_ERROR register in response, if bit is set to 1b. Include RX_STATUS register in response, if bit is set to 1b.

4.5.3.1.3 Response

Table 39.EXCHANGE_RF_DATA response value

Payload Field

Length

Value/Description

Status

1 Byte

Status of the operation [Table 9]. Expected values are as below:

PN5190_STATUS_INSTR_SUCCESS PN5190_STATUS_INSTR_ERROR (No further data is present) PN5190_STATUS_TIMEOUT PN5190_STATUS_RX_TIMEOUT PN5190_STATUS_NO_RF_FIELD PN5190_STATUS_TIMEOUT_WITH_EMD_ERROR

RX_STATUS

4 Bytes

If RX_STATUS is requested (little-endian)

RX_STATUS_ERROR 4 Bytes

If RX_STATUS_ERROR is requested (little-endian)

EVENT_STATUS

4 Bytes

If EVENT_STATUS is requested (little-endian)

RX Data

1 ­ 1024 Bytes

If RX data is requested. RX data received during RF reception phase of RF exchange.

4.5.3.1.4 Event
There are no events for this command.
4.5.3.2 TRANSMIT_RF_DATA
This instruction is used to write data into the internal CLIF transmission buffer and start transmission using transceive command internally. The size of this buffer is limited to 1024 bytes. After this instruction has been executed, an RF reception is started automatically. The command returns immediately after Transmission is complete not waiting for the reception completion.

UM11942
User manual

All information provided in this document is subject to legal disclaimers.
Rev. 3.7 — 25 May 2023

© 2023 NXP B.V. All rights reserved.
35 / 79

NXP Semiconductors

UM11942
PN5190 instruction layer

4.5.3.2.1 Conditions The number of bytes within the `TX Data’ field must be in the range from 1 ­ 1024, inclusive. The command must not be called during an ongoing RF transmission.

4.5.3.2.2 Command

Table 40.TRANSMIT_RF_DATA command value Write TX data to internal CLIF transmission buffer.

Payload Field

Length

Value/Description

Number of valid bits in 1 Byte last Byte

0 All bits of last byte are transmitted 1 ­ 7 Number of bits within last byte to be transmitted.

RFU

1 Byte

Reserved

TX Data

1 ­ 1024 Bytes

TX data which shall be used during next RF transmission.

4.5.3.2.3 Response

Table 41.TRANSMIT_RF_DATA response value

Payload Field

Length

Value/Description

Status

1 Byte

Status of the operation [Table 9]. Expected values are as below:

PN5190_STATUS_INSTR_SUCCESS PN5190_STATUS_INSTR_ERROR PN5190_STATUS_NO_RF_FIELD PN5190_STATUS_NO_EXTERNAL_RF_FIELD

4.5.3.2.4 Event There are no events for this command.

4.5.3.3 RETRIEVE_RF_DATA
This instruction is used to read data from the internal CLIF RX buffer, which contains the RF response data (if any) posted to it from the previous execution of Section 4.5.3.1 with option not to include the received data in the response or Section 4.5.3.2 command.

4.5.3.3.1 Command

Table 42.RETRIEVE_RF_DATA command value Read RX data from internal RF reception buffer.

Payload Field

Length

Value/Description

Empty

Empty

Empty

4.5.3.3.2 Response

Table 43.RETRIEVE_RF_DATA response value

Payload Field

Length

Value/Description

Status

1 Byte

Status of the operation [Table 9]. Expected values are as below:

UM11942
User manual

All information provided in this document is subject to legal disclaimers.
Rev. 3.7 — 25 May 2023

© 2023 NXP B.V. All rights reserved.
36 / 79

NXP Semiconductors

UM11942
PN5190 instruction layer

Table 43.RETRIEVE_RF_DATA response value…continued

Payload Field

Length

Value/Description

PN5190_STATUS_INSTR_SUCCESS PN5190_STATUS_INSTR_ERROR (No further data is present)

RX Data

1 ­ 1024 Bytes

RX data which has been received during last successful RF reception.

4.5.3.3.3 Event There are no events for this command.

4.5.3.4 RECEIVE_RF_DATA
This instruction waits for the data received through RF Interface of the reader.
In reader mode, this instruction returns either if there is a reception (either erroneous or correct) or an FWT timeout occurred. The timer is started with the END of TRANSMISSION and stopped with the START of RECEPTION. The default timeout value preconfigured in EEPROM shall be used in case timeout not configured before execution of Exchange command.
In target mode, this instruction returns either in case of reception (either erroneous or correct) or External RF error.
Note: This instruction shall be used with TRANSMIT_RF_DATA command to perform TX and RX operation…

4.5.3.4.1 Command

Table 44.RECEIVE_RF_DATA command value

Payload Field

Length

Value/Description

ReceiveRFConfig

1 Byte

Configuration of the ReceiveRFConfig function. See Table 45

Table 45.ReceiveRFConfig bitmask b7 b6 b5 b4 b3 b2 b1 b0
X X X X

Description Bits 4 ­ 7 are RFU Include RX Data in response based on RX_STATUS, if bit set to 1b. Include EVENT_STATUS register in response, if bit set to 1b. Include RX_STATUS_ERROR register in response, if bit is set to 1b. Include RX_STATUS register in response, if bit is set to 1b.

4.5.3.4.2 Response

Table 46.RECEIVE_RF_DATA response value

Payload field

Length

Value/description

Status

1 Byte

Status of the operation [Table 9]. Expected values are as below:

PN5190_STATUS_INSTR_SUCCESS PN5190_STATUS_INSTR_ERROR (No further data is present) PN5190_STATUS_TIMEOUT

UM11942
User manual

All information provided in this document is subject to legal disclaimers.
Rev. 3.7 — 25 May 2023

© 2023 NXP B.V. All rights reserved.
37 / 79

NXP Semiconductors

UM11942
PN5190 instruction layer

Table 46.RECEIVE_RF_DATA response value…continued

Payload field

Length

Value/description

PN5190_STATUS_NO_RF_FIELD

PN5190_STATUS_NO_EXTERNAL_RF_FIELD

RX_STATUS

4 Bytes

If RX_STATUS is requested (little-endian)

RX_STATUS_ERROR 4 Bytes

If RX_STATUS_ERROR is requested (little-endian)

EVENT_STATUS

4 Bytes

If EVENT_STATUS is requested (little-endian)

RX Data

1 ­ 1024 Bytes

If RX data is requested. RX data received over RF.

4.5.3.4.3 Event There are no events for this command.

4.5.3.5 RETRIEVE_RF_FELICA_EMD_DATA (FeliCa EMD Configuration)
This instruction is used to read data from the internal CLIF RX buffer, which contains a FeliCa EMD response data (if any) posted to it from the previous execution of EXCHANGE_RF_DATA command returning with Status `PN5190_STATUS_TIMEOUT_WITH_EMD_ERROR’.
Note: This command is available from PN5190 FW v02.03 onwards.

4.5.3.5.1 Command

Read RX data from internal RF reception buffer.

Table 47.RETRIEVE_RF_FELICA_EMD_DATA command value

Payload Field

Length

Value/Description

FeliCaRFRetrieveConfig

1 Byte

00 – FF

configuration (bitmask) description

Configuration of the RETRIEVE_RF_FELICA_ EMD_DATA function
bit 7..2: RFU
bit 1: Include RX_STATUS_ ERROR register in response, if bit is set to 1b.
bit 0: Include RX_STATUS register in response, if bit is set to 1b.

4.5.3.5.2 Response

Table 48.RETRIEVE_RF_FELICA_EMD_DATA response value

Payload field Length

Value/description

Status

1 Byte

Status of the operation. Expected values are as below: PN5190_STATUS_INSTR_SUCCESS PN5190_STATUS_INSTR_ERROR (No further data is present)

RX_STATUS

4 Byte

If RX_STATUS is requested (little-endian)

RX_STATUS_ ERROR

4 Byte

If RX_STATUS_ERROR is requested (little-endian)

UM11942
User manual

All information provided in this document is subject to legal disclaimers.
Rev. 3.7 — 25 May 2023

© 2023 NXP B.V. All rights reserved.
38 / 79

NXP Semiconductors

UM11942
PN5190 instruction layer

Table 48.RETRIEVE_RF_FELICA_EMD_DATA response value…continued

Payload field Length

Value/description

RX Data

1…1024 Byte

FeliCa EMD RX data which has been received during last unsuccessful RF reception using Exchange Command.

4.5.3.5.3 Event There are no events for this command.
4.5.4 Switching Operation Mode PN5190 supports 4 different operation modes:
4.5.4.1 Normal This is the default mode, where all instructions are allowed.
4.5.4.2 Standby PN5190 is in standby/sleep state to save power. Wake-up conditions must be set to define when to leave standby again.
4.5.4.3 LPCD PN5190 is in low-power card detection mode, where it tries to detect a card which is entering the operating volume, with lowest possible power consumption.
4.5.4.4 Autocoll PN5190 is acting as RF listener, performing target mode activation autonomously (to guarantee real-time constraints)
4.5.4.5 SWITCH_MODE_NORMAL The Switch Mode Normal command has three use-cases.
4.5.4.5.1 UseCase1: Enter normal operation mode upon power up (POR) Use to reset to Idle state for receiving / processing the next command by entering normal operation mode.
4.5.4.5.2 UseCase2: Terminating already running command to switch to normal operation mode (abort command) Use to reset to Idle state for receiving / processing the next command by terminating the already running commands. Commands such as standby, LPCD, Exchange, PRBS, and Autocoll shall be possible to be terminated using this command. This is the only special command, that does not have a response. Instead, it has an EVENT notification. Refer to Section 4.4.3 for more information on the type of events occur during different underlying command execution.

UM11942
User manual

All information provided in this document is subject to legal disclaimers.
Rev. 3.7 — 25 May 2023

© 2023 NXP B.V. All rights reserved.
39 / 79

NXP Semiconductors

UM11942
PN5190 instruction layer

4.5.4.5.2.1 UseCase2.1: This command shall reset all the CLIF TX, RX, and Field Control Registers to Boot state. Issuing this command shall turn OFF any existing RF Field.
4.5.4.5.2.2 UseCase2.2: Available from PN5190 FW v02.03 onwards: This command shall not modify CLIF TX, RX, and Field Control Registers but shall only move the transceiver to IDLE state.
4.5.4.5.3 UseCase3: Normal operation mode upon soft-reset/exit from standby, LPCD In this case, the PN5190 directly enters into the normal operation mode, by sending the IDLE_EVENT to the host (Figure 12 or Figure 13) and “IDLE_EVENT” bit is set in Table 11. There is no requirement to send SWITCH_MODE_NORMAL command. Note: After the IC is switched to normal mode, all the settings of RF are modified to default state. It is imperative that, respective RF configuration and other related registers must be loaded with appropriate values before performing an RF ON or RF Exchange operation.
4.5.4.5.4 Command frame to send for different use-cases
4.5.4.5.4.1 UseCase1: Command enter normal operation mode upon power up (POR) 0x20 0x01 0x00
4.5.4.5.4.2 UseCase2: Command to terminating already running commands to switch to normal operation mode Use case 2.1: 0x20 0x00 0x00 Use case 2.2: (From FW v02.02 onwards): 0x20 0x02 0x00
4.5.4.5.4.3 UseCase3: Command for normal operation mode upon soft-reset/exit from standby, LPCD, ULPCD None. PN5190 enters normal operation mode directly.
4.5.4.5.5 Response None
4.5.4.5.6 Event A BOOT_EVENT (in EVENT_STATUS register) is set indicating that the normal mode is entered and is sent to the host. Refer to Figure 12 and Figure 13 for the event data.

UM11942
User manual

All information provided in this document is subject to legal disclaimers.
Rev. 3.7 — 25 May 2023

© 2023 NXP B.V. All rights reserved.
40 / 79

NXP Semiconductors

UM11942
PN5190 instruction layer

VBAT power up

PN5190 state from customer perspective
PN5190 internal state

BOOT phase boot

NORMAL operation full power

EVT switch mode Normal

PN5190 à HOST communication
HOST à PN5190 communication

no allowance of SPI comm

SPI comm allowed

CMD switch mode Normal (usecase 1)

Figure 14. UseCase1: Event for Normal Operation mode upon power up (POR, Cold Boot)
An IDLE_EVENT (in EVENT_STATUS register) is set indicating the normal mode is entered and is sent to the host. Refer to Figure 12 and Figure 13 for the event data.

PN5190 state from customer perspective
PN5190 internal state

From earlier boot process

NORMAL operation full power

AUTOCOLL mode

stby

boot

NORMAL operation Full Power

RSP swich mode autocoll

PN5190 à HOST communication
HOST à PN5190 communication

SPI comm allowed

CMD switch mode Normal (usecase 2)
EVT switch mode normal

CMD switch mode autocoll

Figure 15. UseCase2: Event sent for terminating already running commands to switch to Normal Operation mode (Abort command)
A BOOT_EVENT (in EVENT_STATUS register) is set indicating the normal mode is entered and is sent to the host. Refer to Figure 12 and Figure 13 for the event data.

UM11942
User manual

All information provided in this document is subject to legal disclaimers.
Rev. 3.7 — 25 May 2023

© 2023 NXP B.V. All rights reserved.
41 / 79

NXP Semiconductors

UM11942
PN5190 instruction layer

VEN (WarmBoot)

VBAT power up

PN5190 state from customer perspective
PN5190 internal state

BOOT phase boot

NORMAL operation full power

BOOT phase boot

NORMAL operation full power

EVT switch mode Normal

EVT switch mode Normal

PN5190 à HOST communication
HOST à PN5190 communication

no allowance of SPI comm

SPI comm allowed

no allowance of SPI comm

SPI comm allowed

CMD switch mode Normal (usecase 1)

Figure 16. UseCase3: Event for Normal Operation mode upon Warm Boot/Soft-reset of PN5190

4.5.4.6 SWITCH_MODE_AUTOCOLL
The Switch Mode Autocoll automatically performs the card activation procedure in target mode. Field `Autocoll Mode’ must be in the range from 0 ­ 2, inclusive. In case if field `Autocoll Mode’ is set to 2 (Autocoll): Field `RF Technologies’ (Table 50) must contain a bitmask indicating the RF Technologies to support during Autocoll. No instructions must be sent while being in this mode. Termination is indicated using an interrupt.

4.5.4.6.1 Command

Table 49.SWITCH_MODE_AUTOCOLL command value

Parameter

Length

Value/Description

RF Technologies

1 Byte

Bitmask indicating the RF technology to listen for during Autocoll.

Autocoll Mode

1 Byte

0

No Autonomous mode, i.e. Autocoll terminates when external

RF field is not present.

Termination in case of

· NO RF FIELD or RF FIELD has disappeared

· PN5190 is ACTIVATED in TARGET mode

1

Autonomous mode with standby. When no RF field is

present, Autocoll automatically enters Standby mode. Once

RF external RF field is detected, PN5190 enters again Autocoll

mode.

Termination in case of

· PN5190 is ACTIVATED in TARGET mode

From PN5190 FW v02.03 onwards: If EEPROM Field “bCard ModeUltraLowPowerEnabled” at address `0xCDF’ is set to `1′,
then PN5190 enters Ultra low-power standby.

2

Autonomous mode without standby. When no RF field is

present, PN5190 waits until RF field is present before starting

Autocoll algorithm. Standby is not used in this case.

Termination in case of

UM11942
User manual

All information provided in this document is subject to legal disclaimers.
Rev. 3.7 — 25 May 2023

© 2023 NXP B.V. All rights reserved.
42 / 79

NXP Semiconductors

UM11942
PN5190 instruction layer

Table 49.SWITCH_MODE_AUTOCOLL command value…continued

Parameter

Length

Value/Description

· PN5190 is ACTIVATED in TARGET mode

Table 50.RF Technologies Bitmask b7 b6 b5 b4 b3 b2 b1 b0 0 000
X X X X

Description RFU If set to 1b, listening for NFC-F Active is enabled. (Not available). If set to 1b, listening for NFC-A Active is enabled. (Not available). If set to 1b, listening for NFC-F is enabled. If set to 1b, listening for NFC-A is enabled.

4.5.4.6.2 Response

The response only signalizes that the command has been processed.

Table 51.SWITCH_MODE_AUTOCOLL response value

Payload Field

Length

Value/Description

Status

1 Byte

Status of the operation [Table 9]. Expected values are as below:

PN5190_STATUS_INSTR_SUCCESS
PN5190_STATUS_INSTR_ERROR (Switch mode is not been entered due to wrong settings)

4.5.4.6.3 Event
The event notification is sent when the command has finished, and the normal mode is entered. Host shall readout the response bytes based on the event value.
Note: When the status is not “PN5190_STATUS_INSTR_SUCCESS”, then further “Protocol” and “Card_Activated” data bytes are not present. Technology information is retrieved from the registers using Section 4.5.1.5, Section 4.5.1.6 commands. Following table shows the event data which is sent as part of the event message Figure 12 and Figure 13.

Table 52.EVENT_SWITCH_MODE_AUTOCOLL ­ AUTOCOLL_EVENT data Switch operation mode Autocoll event

Payload Field Length Value/Description

Status

1 byte

Status of the operation

PN5190_STATUS_INSTR_SUCCESS

PN5190 is ACTIVATED in TARGET mode. Further data in this event are valid.

PN5190_STATUS_PREVENT_STANDBY

Indicates that PN5190 is prevented to go into Standby mode. This status is valid only when the Autocoll mode is selected as “Autonomous mode with standby”.

UM11942
User manual

All information provided in this document is subject to legal disclaimers.
Rev. 3.7 — 25 May 2023

© 2023 NXP B.V. All rights reserved.
43 / 79

NXP Semiconductors

UM11942
PN5190 instruction layer

Table 52.EVENT_SWITCH_MODE_AUTOCOLL ­ AUTOCOLL_EVENT data…continued Switch operation mode Autocoll event

Payload Field Length Value/Description

PN5190_STATUS_NO_EXTERNAL_RF_ Indicates that no external RF field is present

FIELD

during the execution of Autocoll in Non-

Autonomous mode

PN5190_STATUS_USER_CANCELLED Indicates that the present command in-progress is aborted by the switch mode normal command

Protocol

1 byte

0x10

Activated as Passive TypeA

0x11

Activated as Passive TypeF 212

0x12

Activated as Passive TypeF 424

0x20

Activated as Active TypeA

0x21

Activated as Active TypeF 212

0x22

Activated as Active TypeF 424

Other values

Invalid

Card_Activated 1 byte

0x00

No card activation process as per ISO 14443-3

0x01

Indicates that device is activated in Passive mode

Note: After reading the event data, data received from the card/device that was activated (such as `n’ bytes of ATR_REQ/RATS as per ISO18092/ISO1443-4), shall be read using Section 4.5.3.3 command.

4.5.4.6.4 Communication example

Card activation done

RF field detected

PN5190 state from customer perspective
PN5190 internal state

From earlier boot process

PN5190 à HOST communication
HOST à PN5190 communication

NORMAL operation full power

RSP swich mode autocoll

AUTOCOLL operation

stby

boot

NORMAL operation Full Power

EVT switch mode autocoll

SPI comm allowed

CMD switch mode autocoll

Figure 17.Communication example

4.5.4.7 SWITCH_MODE_STANDBY

The Switch Mode Standby automatically sets the IC into Standby mode. The IC will wake up after configured wake-up sources meeting the wake-up conditions.
Note: Counter expiry for ULP STANDBY and HIF abort for STANDBY are available by default to exit standby modes.

UM11942
User manual

All information provided in this document is subject to legal disclaimers.
Rev. 3.7 — 25 May 2023

© 2023 NXP B.V. All rights reserved.
44 / 79

NXP Semiconductors

UM11942
PN5190 instruction layer

4.5.4.7.1 Command

Table 53.SWITCH_MODE_STANDBY command value

Parameter

Length

Value/Description

Config

1 Byte

Bitmask controlling the wake-up source to be used and the Standby mode to enter. Refer to Table 54

Counter Value

2 Bytes

Used value for wake-up counter in milliseconds. Maximum supported value is 2690 for standby. Maximum supported value is 4095 for ULP standby. The value to be provided is in little-endian format. This parameter contents are valid only if the “Config Bitmask” is enabled for wake-up on counter expire.

Table 54.Config Bitmask b7 b6 b5 b4 b3 b2 b1 b0 Description

X

Enter ULP standby if bit is set to 1b

Enter standby if bit is set to 0b.

0

RFU

X

Wake-up on GPIO-3 when it is high, if bit is set to 1b. (Not applicable for ULP

standby)

X

Wake-up on GPIO-2 when it is high, if bit is set to 1b. (Not applicable for ULP

standby)

X

Wake-up on GPIO-1 when it is high, if bit is set to 1b. (Not applicable for ULP

standby)

X

Wake-up on GPIO-0 when it is high, if bit is set to 1b. (Not applicable for ULP

standby)

X

Wake-up on wake-up counter expires, if bit is set to 1b. For ULP-Standby, this

option is by default enabled.

X Wake-up on external RF field, if bit is set to 1b.

Note: From PN5190 FW v02.03, if EEPROM Field “CardModeUltraLowPowerEnabled” at address `0xCDF’ is set to `1′, ULP standby configuration cannot be used with SWITCH_MODE_STANDBY Command.

4.5.4.7.2 Response

The response only signalizes that the command has been processed and the standby state will be entered only after the response is fully read by the host.

Table 55.SWITCH_MODE_STANDBY response value Switch operation mode standby

Payload Field

Length

Value/Description

Status

1 Byte

Status of the operation [Table 9]. Expected values are as below:

PN5190_STATUS_INSTR_SUCCESS
PN5190_STATUS_INSTR_ERROR (Switch mode has not been entered ­ due to wrong settings)

UM11942
User manual

All information provided in this document is subject to legal disclaimers.
Rev. 3.7 — 25 May 2023

© 2023 NXP B.V. All rights reserved.
45 / 79

NXP Semiconductors

UM11942
PN5190 instruction layer

4.5.4.7.3 Event
The event notification is sent when the command has finished, and the normal mode is entered. Refer to the format of the event that will be sent after completion of the command as in Figure 12 and Figure 13. In case if PN5190 is prevented to go in Standby mode, then the event “STANDBY_PREV_EVENT” bit set in EVENT_STATUS as mentioned Table 11 is sent to the host along the reason of standby prevention as mentioned in Table 13.
4.5.4.7.4 Communication Example

RF field detected/NSS transition / Wakeup counter elapsed

PN5190 state from customer perspective
PN5190 internal state

From earlier boot process

PN5190 à HOST communication
HOST à PN5190 communication

NORMAL operation full power

STANDBY operation

Boot Process

stby

boot

RSP swich mode standby

SPI comm allowed

no allowance of SPI comm

EVT switch mode Standby

NORMAL operation Full Power
SPI comm allowed

CMD switch mode standby

Figure 18.Communication example
4.5.4.8 SWITCH_MODE_LPCD
The Switch Mode LPCD performs a detuning detection on the antenna due to changing environment around the antenna.
There are 2 different modes of LPCD. The HW-based (ULPCD) solution offers a competitive power consumption with a reduced sensitivity. The FW-based (LPCD) solution offers a best-in-class sensitivity with an increased power consumption.
In the Single Mode of FW based(LPCD), there is no calibration event sent to host.
When Single mode is invoked, calibration and successive measurements are all done after exiting standby.
For calibration event in single mode, first issue single mode with calibration event command. After calibration, an LPCD calibration event is received after which the single mode command must be sent with the reference value obtained from the previous step as the input parameter.
The configuration of the LPCD is done in the EEPROM/Flash Data settings before the command is called.
Note: GPIO3 abort for ULPCD, HIF abort for LPCD are available by default to exit low-power modes. Wake-up due to counter expire is always enabled. For ULPCD, DC-DC configuration should be disabled in EEPROM/Flash Data settings and should provide VUP supply through VBAT. The necessary jumper settings should be made. For EEPROM/Flash Data settings, refer to document [2]. If the command is for LPCD/ULPCD calibration, the host still has to send the complete frame.

UM11942
User manual

All information provided in this document is subject to legal disclaimers.
Rev. 3.7 — 25 May 2023

© 2023 NXP B.V. All rights reserved.
46 / 79

NXP Semiconductors

UM11942
PN5190 instruction layer

4.5.4.8.1 Command

Table 56.SWITCH_MODE_LPCD command value

Parameter

Length Value/description

bControl

1 Byte 0x00

Enter ULPCD calibration. Command stops after calibration and an event with reference value is sent to the host.

0x01

Enter ULPCD

0x02

LPCD calibration. Command stops after calibration and an event with reference value is sent to the host.

0x03

Enter LPCD

0x04

Single mode

0x0C

Single mode with calibration event

Other Values RFU

Wake-up Control 1 Byte Bitmask controlling the wake-up source to be used for LPCD/ULPCD. Content of this field is not considered for calibration. Refer to Table 57

Reference Value 4 Bytes

Reference value to be used during ULPCD/LPCD. For ULPCD, Byte 2 which holds the HF Attenuator value is used during both the calibration and measurement phase. For LPCD, Content of this field is not considered for calibration and Single mode. Refer to Table 58 for the correct info on all the 4 bytes.

Counter Value

2 Bytes

Value for wake-up counter in milliseconds. Maximum supported value is 2690 for LPCD. Maximum supported value is 4095 for ULPCD. The value to be provided is in little-endian format. Content of this field is not considered for LPCD calibration. For single mode and single mode with calibration event, the duration of standby before calibration can be configured from the EEPROM configuration: LPCD_SETTINGS->wCheck Period. For single mode with calibration, WUC value to be non-zero.

Table 57.Wake-up Control Bitmask b7 b6 b5 b4 b3 b2 b1 b0 0 000000
X

Description RFU Wake-up on external RF field, if bit is set to 1b.

Table 58.Reference Value byte info

Reference value bytes

ULPCD

Byte 0

Reference Byte 0

Byte 1

Reference Byte 1

Byte 2

HF Attenuator value

Byte 3

NA

LPCD Channel 0 Reference Byte 0 Channel 0 Reference Byte 1 Channel 1 Reference Byte 0 Channel 1 Reference Byte 1

UM11942
User manual

All information provided in this document is subject to legal disclaimers.
Rev. 3.7 — 25 May 2023

© 2023 NXP B.V. All rights reserved.
47 / 79

NXP Semiconductors

UM11942
PN5190 instruction layer

4.5.4.8.2 Response

Table 59.SWITCH_MODE_LPCD response value

Payload Field

Length

Value/Description

Status

1 Byte

Status of the operation [Table 9]. Expected values are as below:

PN5190_STATUS_INSTR_SUCCESS
PN5190_STATUS_INSTR_ERROR (Switch mode has not been entered ­ due to wrong settings)

4.5.4.8.3 Event

The event notification is sent when the command has finished, and the normal mode is entered with the following data as part of the event mentioned in Figure 12 and Figure 13.

Table 60.EVT_SWITCH_MODE_LPCD

Payload field

Length

LPCD Status

4 bytes

Value/description Refer to Table 15

4.5.4.8.4 Communication Example

Card is detected and activated/NSS
transition / Wakeup counter elapsed

PN5190 state from customer perspective
PN5190 internal state

From earlier boot process

PN5190 à HOST communication
HOST à PN5190 communication

NORMAL operation full power

Low power operation
Low-power poll

Boot Process
boot

RSP swich mode LPCD

SPI comm allowed

no allowance of SPI comm

EVT switch mode LPCD

NORMAL operation Full Power
SPI comm allowed

CMD switch mode LPCD

Figure 19.Communication example

4.5.4.9 SWITCH_MODE_DOWNLOAD The Switch Mode Download command enters the Firmware download mode. Only way to come out download mode, is to issue a reset to PN5190.

4.5.4.9.1 Command

Table 61.SWITCH_MODE_DOWNLOAD command value

Parameter

Length

Value/Description

No value

UM11942
User manual

All information provided in this document is subject to legal disclaimers.
Rev. 3.7 — 25 May 2023

© 2023 NXP B.V. All rights reserved.
48 / 79

NXP Semiconductors

UM11942
PN5190 instruction layer

4.5.4.9.2 Response

The response only signalizes that the command has been processed and the Download mode shall be entered after the response is read by the host.

Table 62.SWITCH_MODE_DOWNLOAD response value Switch operation mode Autocoll

Payload Field

Length

Value/Description

Status

1 Byte

Status of the operation [Table 9]. Expected values are as below:

PN5190_STATUS_SUCCESS PN5190_STATUS_INSTR_ERROR (Switch mode has not been entered)

4.5.4.9.3 Event No event generation.

4.5.4.9.4 Communication Example

4.5.5 MIFARE Classic Authentication

4.5.5.1 MFC_AUTHENTICATE
This instruction is used to perform a MIFARE Classic Authentication on an activated card. It takes the key, card UID, and the key type to authenticate at given block address. The response contains one byte indicating the authentication status.

4.5.5.1.1 Conditions
Field Key must be 6 bytes long. Field Key Type must contain the value 0x60 or 0x61. Block address may contain any address from 0x0 ­ 0xff, inclusive. Field UID must be bytes long and should contain the 4byte UID of the card. An ISO14443-3 MIFARE Classic product-based card should be put into state ACTIVE or ACTIVE* prior to execution of this instruction.
In case of a runtime error related to the authentication, this field `Authentication Status’ is set accordingly.

4.5.5.1.2 Command

Table 63.MFC_AUTHENTICATE Command Perform authentication on an activated MIFARE Classic product-based card.

Payload Field

Length

Value/Description

Key

6 Bytes

Authentication key to be used.

Key Type

1 Byte

0x60 Key Type A

0x61 Key Type B

Block Address

1 Byte

The address of the block for which the authentication must be performed.

UID

4 Bytes

UID of the card.

UM11942
User manual

All information provided in this document is subject to legal disclaimers.
Rev. 3.7 — 25 May 2023

© 2023 NXP B.V. All rights reserved.
49 / 79

NXP Semiconductors

UM11942
PN5190 instruction layer

4.5.5.1.3 Response

Table 64.MFC_AUTHENTICATE Response Response to MFC_AUTHENTICATE.

Payload Field

Length

Status

1 Byte

Value/Description
Status of the operation [Table 9]. Expected values are as below:
PN5190_STATUS_INSTR_SUCCESS PN5190_STATUS_INSTR_ERROR PN5190_STATUS_TIMEOUT PN5190_STATUS_AUTH_ERROR

4.5.5.1.4 Event There is no event for this instruction.

4.5.6 ISO 18000-3M3 (EPC GEN2) Support

4.5.6.1 EPC_GEN2_INVENTORY
This instruction is used to perform an inventory of ISO18000-3M3 tags. It implements an autonomous execution of several commands according to ISO18000-3M3 in order to guarantee the timings specified by that standard.
If present in payload of the instruction, first a Select command is executed followed by a BeginRound command. If there is a valid response in the first timeslot (no timeout, no collision), the instruction sends an ACK and saves the received PC/XPC/UII. The instruction then performs an action according to the field `Timeslot Processed Behavior’:
· If this field is set to 0, a NextSlot command is issued to handle the next timeslot. This is repeated until the internal buffer is full
· If this field is set to 1, the algorithm pauses · If this field is set to 2, a Req_Rn command is issued if, and only if, there has been a valid tag response in this
timeslotCommand
Field `Select Command Length’ must contain the length of the field `Select Command’, which must be in the range from 1 ­ 39, inclusive. If `Select Command Length’ is 0, the fields `Valid Bits in last Byte’ and `Select Command’ must not be present.
The field Bits in last Byte should contain the number of bits to be transmitted in the last byte of the `Select Command’ field. The value must be in the range from 1 ­ 7, inclusive. If the value is 0, all bits from last byte from `Select Command’ field are transmitted.
The field `Select Command’ should contain a Select command according to ISO18000-3M3 without trailing CRC-16c and must have the same length as indicated in field `Select Command Length’.
Field `BeginRound Command’ should contain a BeginRound command according to ISO18000-3M3 without trailing CRC-5. The last 7 bits of the last byte of `BeginRound Command’ are ignored as the command has an actual length of 17 bits.
`Timeslot Processed Behavior’ must contain a value from 0 ­ 2, inclusive.

Table 65.EPC_GEN2_INVENTORY command value Perform an ISO 18000-3M3 Inventory

Payload field

Length

Value/description

ResumeInventory

1 Byte

00 Initial GEN2_INVENTORY

UM11942
User manual

All information provided in this document is subject to legal disclaimers.
Rev. 3.7 — 25 May 2023

© 2023 NXP B.V. All rights reserved.
50 / 79

NXP Semiconductors

UM11942
PN5190 instruction layer

Table 65.EPC_GEN2_INVENTORY command value…continued Perform an ISO 18000-3M3 Inventory

Payload field

Length

Value/description
01 Resume the GEN2_INVENTORY command ­ the remaining fields below are empty (any payload is ignored)

Select Command Length

1 Byte

0

No Select command is set prior to BeginRound command. `Valid

Bits in last Byte’ field and `Select command’ field shall not be

present.

1 – Length (n) of the `Select command’ field. 39

Valid Bits in last Byte 1 Byte

0

All bits of last byte of `Select command’ field are transmitted.

1 ­ Number of bits to be transmitted in the last byte of `Select

7

command’ field.

Select Command

n Bytes

If present, this field contains the Select command (according to ISO18000-3, Table 47) which is sent prior to BeginRound command. CRC-16c shall not be included.

BeginRound Command 3 Bytes

This field contains the BeginRound command (according to ISO18000-3, Table 49). CRC-5 shall not be included.

Timeslot Processed Behavior

1 Byte

0

Response contains max. Number of timeslots which may fit in

response buffer.

1

Response contains only one timeslot.

2

Response contains only one timeslot. If timeslot contains valid

card response, also the card handle is included.

4.5.6.1.1 Response

The length of the Response might be “1” in case of resume Inventory.

Table 66.EPC_GEN2_INVENTORY response value

Payload Field

Length

Value/Description

Status

1 Byte

Status of the operation [Table 9]. Expected values are as below:

PN5190_STATUS_SUCCESS (Read Timeslot status in next byte for Tag response)
PN5190_STATUS_INSTR_ERROR (No further data is present)

Timeslot [1…n]

3 ­ 69 Bytes

Timeslot Status 1 Byte 0

Tag response available. `Tag Reply Length’ field, `Valid bits in last byte’ field, and `Tag reply’ field present.

1

Tag response available.

2

No tag replied in timeslot. `Tag

Reply Length’ field and `Valid bits

in last byte’ field, shall be set to

zero. `Tag reply’ field shall not be

present.

3

Two or more tags responded in

the timeslot. (Collision). `Tag Reply

Length’ field and `Valid bits in last

byte’ field, shall be set to zero. `Tag

reply’ field shall not be present.

UM11942
User manual

All information provided in this document is subject to legal disclaimers.
Rev. 3.7 — 25 May 2023

© 2023 NXP B.V. All rights reserved.
51 / 79

NXP Semiconductors

UM11942
PN5190 instruction layer

Table 66.EPC_GEN2_INVENTORY response value…continued

Payload Field

Length

Value/Description

Tag Reply Length 1 Byte

0-66 Length of `Tag Reply’ field (i). If Tag Reply Length is 0, then the Tag Reply field is not present.

Valid bits in last 1 Byte 0 Byte

All bits of last byte of `Tag reply’ field are valid.

1-7 Number of valid bits of last byte of `Tag reply’ field.
If Tag Reply Length is zero, the value of this byte shall be ignored.

Tag Reply

`n’ Bytes Reply of the tag according to ISO180003_2010, Table 56.

Tag Handle

0 or 2 Bytes

Handle of the tag, in case field `Timeslot Status’ is set to `1′. Otherwise field not present.

4.5.6.1.2 Event
There are no events for this command.
4.5.7 RF configuration management
Refer to the Section 6, for TX and RX configuration for different RF technologies and data rates supported by PN5190. The values are not present in the range mentioned below, should be considered as RFU.
4.5.7.1 LOAD_RF_CONFIGURATION
This instruction is used to load the RF configuration from EEPROM into internal CLIF registers. RF configuration refers to a unique combination of RF Technology, mode (target/initiator) and baud rate. RF configuration can be loaded separately for the CLIF receiver (RX configuration) and transmitter (TX configuration) path. The value 0xFF must be used if the corresponding configuration for a path shall not be changed.
4.5.7.1.1 Conditions
Field `TX Configuration’ must be in the range from 0x00 ­ 0x2B, inclusive. If the value is 0xFF, TX configuration is not changed. Field `RX Configuration’ must be in the range from 0x80 ­ 0xAB, inclusive. If the value is 0xFF, RX configuration is not changed. A special configuration with TX Configuration = 0xFF and RX Configuration = 0xAC is used to load the Boot-up registers one time. This special configuration is required to update the register configurations (both TX and RX) that are different from the IC reset values.

UM11942
User manual

All information provided in this document is subject to legal disclaimers.
Rev. 3.7 — 25 May 2023

© 2023 NXP B.V. All rights reserved.
52 / 79

NXP Semiconductors

UM11942
PN5190 instruction layer

4.5.7.1.2 Command

Table 67.LOAD_RF_CONFIGURATION command value Load RF TX and RX settings from E2PROM.

Payload Field

Length

Value/Description

TX Configuration

1 Byte

0xFF

TX RF Configuration not changed.

0x0 ­ 0x2B Corresponding TX RF Configuration loaded.

RX Configuration

1 Byte

0xFF

RX RF Configuration not changed.

0x80 ­ 0xAB Corresponding RX RF Configuration loaded.

4.5.7.1.3 Response

Table 68.LOAD_RF_CONFIGURATION response value

Payload Field

Length

Value/Description

Status

1 Byte

Status of the operation [Table 9]. Expected values are as below:

PN5190_STATUS_SUCCESS PN5190_STATUS_INSTR_ERROR

4.5.7.1.4 Event
There are no events for this command.
4.5.7.2 UPDATE_RF_CONFIGURATION
This instruction is used to update the RF configuration (see definition in Section 4.5.7.1) within E2PROM. The instruction allows updating at register granularity value, i.e. not the complete set needs to be updated (though, it is possible to do it).
4.5.7.2.1 Conditions
The size of the field array Configuration must be in the range from 1 ­ 15, inclusive. The field array Configuration must contain a set of RF Configuration, Register Address and Value. The field RF configuration must be in the range from 0x0 ­ 0x2B for TX Configuration and 0x80 ­ 0xAB for the RX configuration, inclusive. The address within field Register Address must exist within the respective RF configuration. Field Value should contain a value which has to be written into the given register and must be 4 bytes long (little-endian format).

4.5.7.2.2 Command

Table 69.UPDATE_RF_CONFIGURATION command value Update the RF configuration

Payload Field

Length

Value/Description

Configuration[1…n] 6 Bytes

RF

1 Byte

Configuration

Register Address

1 Byte

Value

4 Bytes

RF Configuration for which the register must be changed.
Register Address within the given RF technology.
Value which must be written into the register. (Little-endian)

UM11942
User manual

All information provided in this document is subject to legal disclaimers.
Rev. 3.7 — 25 May 2023

© 2023 NXP B.V. All rights reserved.
53 / 79

NXP Semiconductors

UM11942
PN5190 instruction layer

4.5.7.2.3 Response

Table 70.UPDATE_RF_CONFIGURATION response value .

Payload Field

Length

Value/Description

Status

1 Byte

Status of the operation [Table 9]. Expected values are as below:

PN5190_STATUS_SUCCESS PN5190_STATUS_INSTR_ERROR PN5190_STATUS_MEMORY_ERROR

4.5.7.2.4 Event
There are no events for this command.
4.5.7.3 GET_ RF_CONFIGURATION
This instruction is used to read out an RF configuration. The register address-value-pairs are available in the response. In order to know how many pairs are to be expected, first size information can be retrieved from the first TLV, which indicates the total length of the payload.

4.5.7.3.1 Conditions
The field RF configuration must be in the range from 0x0 ­ 0x2B for TX Configuration and 0x80 ­ 0xAB for the RX configuration, inclusive.

4.5.7.3.2 Command

Table 71.GET_ RF_CONFIGURATION command value Retrieve the RF configuration.

Payload Field

Length

Value/Description

RF Configuration

1 Byte

RF Configuration for which the set of register value pairs must be retrieved.

4.5.7.3.3 Response

Table 72.GET_ RF_CONFIGURATION Response value

Payload Field

Length

Value/Description

Status

1 Byte

Status of the operation [Table 9]. Expected values are as below:

PN5190_STATUS_SUCCESS PN5190_STATUS_INSTR_ERROR (No further data is present)

Pair[1…n]

5 Bytes

Register Address 1 Byte

Register Address within the given RF technology.

Value

4 Bytes 32-Bit register value.

4.5.7.3.4 Event There is not event for the instruction.

UM11942
User manual

All information provided in this document is subject to legal disclaimers.
Rev. 3.7 — 25 May 2023

© 2023 NXP B.V. All rights reserved.
54 / 79

NXP Semiconductors

UM11942
PN5190 instruction layer

4.5.8 RF Field Handling

4.5.8.1 RF_ON
This instruction is used to enable the RF on. The DPC regulation at initial FieldOn shall be handled in this command.

4.5.8.1.1 Command

Table 73.RF_FIELD_ON command value Configure RF_FIELD_ON.

Payload Field

Length

RF_on_config

1 Byte

Value/Description

Bit 0

0 Use collision avoidance

1 Disable collision avoidance

Bit 1

0 No P2P active

1 P2P active

4.5.8.1.2 Response

Table 74.RF_FIELD_ON response value

Payload Field

Length

Status

1 Byte

Value/Description
Status of the operation [Table 9]. Expected values are as below:
PN5190_STATUS_SUCCESS PN5190_STATUS_INSTR_ERROR PN5190_STATUS_RF_COLLISION_ERROR (RF field is not switched on due to RF collision) PN5190_STATUS_TIMEOUT (RF field is not switched on due to timeout) PN5190_STATUS_TXLDO_ERROR (TXLDO error due to VUP is not available) PN5190_STATUS_RFCFG_NOT_APPLIED (RF configuration is not applied prior to this command)

4.5.8.1.3 Event There is no event for this instruction.

4.5.8.2 RF_OFF This instruction is used to disable the RF Field.

4.5.8.2.1 Command

Table 75.RF_FIELD_OFF command value

Payload Field

Length

Empty

Empty

Value/Description empty

UM11942
User manual

All information provided in this document is subject to legal disclaimers.
Rev. 3.7 — 25 May 2023

© 2023 NXP B.V. All rights reserved.
55 / 79

NXP Semiconductors

UM11942
PN5190 instruction layer

4.5.8.2.2 Response

Table 76.RF_FIELD_OFF response value

Payload Field

Length

Status

1 Byte

Value/Description Status of the operation [Table 9]. Expected values are as below: PN5190_STATUS_SUCCESS PN5190_STATUS_INSTR_ERROR (No further data is present)

4.5.8.2.3 Event There is no event for this instruction.

4.5.9 Test bus configuration
The available test bus signals on the selected PAD configurations are listed in Section 7 for the reference. These must be referred for providing the configuration for test bus instructions as mentioned below.

4.5.9.1 CONFIGURE _TESTBUS_DIGITAL This instruction is used to switch available digital test bus signal on selected pad configurations.

4.5.9.1.1 Command

Table 77.CONFIGURE_TESTBUS_DIGITAL command value

Payload field

Length

Value/description

TB_SignalIndex

1 Byte

Refer to Section 7

TB_BitIndex

1 Byte

Refer to Section 7

TB_PadIndex

1 Byte

The pad index, on which the digital signal to be output

0x00

AUX1 pin

0x01

AUX2 pin

0x02

AUX3 pin

0x03

GPIO0 pin

0x04

GPIO1 pin

0x05

GPIO2 pin

0x06

GPIO3 pin

0x07-0xFF

RFU

4.5.9.1.2 Response

Table 78.CONFIGURE_TESTBUS_DIGITAL response value

Payload Field

Length

Value/Description

Status

1 Byte

Status of the operation [Table 9]. Expected values are as below:

PN5190_STATUS_SUCCESS PN5190_STATUS_INSTR_ERROR (No further data is present)

UM11942
User manual

All information provided in this document is subject to legal disclaimers.
Rev. 3.7 — 25 May 2023

© 2023 NXP B.V. All rights reserved.
56 / 79

NXP Semiconductors

UM11942
PN5190 instruction layer

4.5.9.1.3 Event There is no event for this instruction.

4.5.9.2 CONFIGURE_TESTBUS_ANALOG This instruction is used to get available analog test bus signal on selected pad configurations. The signal on analog test bus can be obtained in different modes. They are:

4.5.9.2.1 RAW mode
In this mode, the signal chosen by TB_SignalIndex0 is shifted by Shift_Index0, masked with Mask0 and output on AUX1. Similarly, the signal chosen by TB_SignalIndex1 is shifted by Shift_Index1, masked with Mask1 and output on AUX2.
This mode offers flexibility for the customer to output any signal that is 8 bits wide or lesser and not requiring sign conversion to be output onto the analog pads.

4.5.9.2.2 COMBINED mode
In this mode, analog signal will be the 10 bit signed ADCI/ADCQ/pcrm_if_rssi value converted to an unsigned value, scaled back to 8 bits and then output on either AUX1 or AUX2 pads. Only one of either ADCI/ADCQ (10-bit) converted values can be output to AUX1/AUX2 at any time. If the Combined_Mode Signal payload field value is 2 (Analog and Digital Combined), then analog and digital test bus is routed on AUX1(Analog Signal) and GPIO0(Digital Signal). The signals to be routed are configured in the EEPROM address mentioned below: 0xCE9 ­ TB_SignalIndex
0xCEA ­ TB_BitIndex
0xCEB ­ Analog TB_Index
The test bus Index and test bus bit have to be configured in EEPROM before we issue the combined mode with option 2. Note: The host shall provide all the fields, regardless of field applicability in “raw” or “combined” mode. The PN5190 IC only considers the applicable field values.

4.5.9.2.3 Command

Table 79.CONFIGURE_TESTBUS_ANALOG command value

Payload field

Length

Value/description

bConfig
Combined_Mode Signal

1 Byte 1 Byte

UM11942
User manual

0 ­ ADCI/ADCQ
1 ­ pcrm_if_rssi
2 ­ Analog and Digital Combined
3 – 0xFF ­ Reserved

Configurable bits. Refer to Table 80

All information provided in this document is subject to legal disclaimers.
Rev. 3.7 — 25 May 2023

Field applicability for combined mode Yes Yes
© 2023 NXP B.V. All rights reserved.
57 / 79

NXP Semiconductors

UM11942
PN5190 instruction layer

Table 79.CONFIGURE_TESTBUS_ANALOG command value…continued

Payload field

Length

Value/description

TB_SignalIndex0 1 Byte

TB_SignalIndex1 1 Byte

Shift_Index0

1 Byte

Shift_Index1

1 Byte

Mask0 Mask1

1 Byte 1 Byte

Signal index of the analog signal. Refer to Section 7
Signal index of the analog signal. Refer to Section 7
DAC0 input shift positions. Direction will be decided by bit in bConfig[1].
DAC1 input shift positions. Direction will be decided by bit in bConfig[2].
DAC0 mask
DAC1 mask

Field applicability for combined mode Yes
Yes
No
No
No No

Table 80.Config bitmask b7 b6 b5 b4 b3 b2 b1 b0 Description

XX

DAC1 output shift Range ­ 0, 1, 2

XX

DAC0 output shift Range ­ 0, 1, 2

X

In combined mode, signal on AUX1/AUX2 pin

0 Signal on AUX1

1 Signal on AUX2

X

DAC1 input shift direction

0 Shift right

1 Shift left

X

DAC0 input shift direction

0 Shift right

1 Shift left

X Mode. 0 Raw mode 1 Combined mode

Applicable to mode Raw Raw Combined
Raw
Raw
Raw/Combined

4.5.9.2.4 Response

Table 81.CONFIGURE_TESTBUS_ANALOG response value

Payload Field

Length

Value/Description

Status

1 Byte

Status of the operation [Table 9]. Expected values are as below:

PN5190_STATUS_SUCCESS PN5190_STATUS_INSTR_ERROR (No further data is present)

4.5.9.2.5 Event There is no event for this instruction.

UM11942
User manual

All information provided in this document is subject to legal disclaimers.
Rev. 3.7 — 25 May 2023

© 2023 NXP B.V. All rights reserved.
58 / 79

NXP Semiconductors

UM11942
PN5190 instruction layer

4.5.9.3 CONFIGURE_MULTIPLE_TESTBUS_DIGITAL This instruction is used to switch multiple available digital test bus signal on selected pad configurations. Note: If this length is ZERO then a Digital test bus is RESET.

4.5.9.3.1 Command

Table 82.CONFIGURE_MULTIPLE_TESTBUS_DIGITAL command value

Payload field

Length

Value/description

TB_SignalIndex #1 1 Byte

Refer to 8 below

TB_BitIndex #1

1 Byte

Refer to 8 below

TB_PadIndex #1

1 Byte

The pad index, on which the digital signal to be output

0x00

AUX1 pin

0x01

AUX2 pin

0x02

AUX3 pin

0x03

GPIO0 pin

0x04

GPIO1 pin

0x05

GPIO2 pin

0x06

GPIO3 pin

0x07-0xFF

RFU

TB_SignalIndex #2 1 Byte

Refer to 8 below

TB_BitIndex #2

1 Byte

Refer to 8 below

TB_PadIndex #2

1 Byte

The pad index, on which the digital signal to be output

0x00

AUX1 pin

0x01

AUX2 pin

0x02

AUX3 pin

0x03

GPIO0 pin

0x04

GPIO1 pin

0x05

GPIO2 pin

0x06

GPIO3 pin

0x07-0xFF

RFU

4.5.9.3.2 Response

Table 83.CONFIGURE_MULTIPLE_TESTBUS_DIGITAL response value

Payload Field

Length

Value/Description

Status

1 Byte

Status of the operation [Table 2]. Expected values are as below:

PN5190_STATUS_SUCCESS PN5190_STATUS_INSTR_ERROR (No further data is present)

UM11942
User manual

All information provided in this document is subject to legal disclaimers.
Rev. 3.7 — 25 May 2023

© 2023 NXP B.V. All rights reserved.
59 / 79

NXP Semiconductors

UM11942
PN5190 instruction layer

4.5.9.3.3 Event There is no event for this instruction.

4.5.10 CTS Configuration

4.5.10.1 CTS_ENABLE This instruction is used to enable/disable the CTS logging feature.

4.5.10.1.1 Command

Table 84.CTS_ENABLE command value

Payload Field

Length

Enable/Disable

1 Byte

Value/Description

Bit 0

0 Disable the CTS Logging Feature

1 Enable the CTS Logging Feature

Bit 1-7

RFU

4.5.10.1.2 Response

Table 85.CTS_ENABLE response value

Payload Field

Length

Status

1 Byte

Value/Description Status of the operation [Table 9]. Expected values are as below: PN5190_STATUS_SUCCESS PN5190_STATUS_INSTR_ERROR (No further data is present)

4.5.10.1.3 Event

Following table shows the event data which will be sent as part of the event message as shown in Figure 12 and Figure 13.

Table 86.This informs the host that data had been received. EVT_CTS_DONE

Payload Field

Length

Value/Description

Event

1 byte

00 … TRIGGER has occurred, data is ready for reception.

4.5.10.2 CTS_CONFIGURE
This instruction is used to configure all the required CTS registers such as triggers, test bus registers, sampling configuration etc.,
Note: [1] provides a better understanding of CTS configuration. The captured data to be sent as part of the response to Section 4.5.10.3 command.

UM11942
User manual

All information provided in this document is subject to legal disclaimers.
Rev. 3.7 — 25 May 2023

© 2023 NXP B.V. All rights reserved.
60 / 79

NXP Semiconductors

UM11942
PN5190 instruction layer

4.5.10.2.1 Command

Table 87.CTS_CONFIGURE command value

Payload Field

Length

Value/Description

PRE_TRIGGER_SHIFT

1 Byte

Defines the length of the after-trigger acquisition sequence in 256 bytes units.
0 means no shift; n means n*256 bytes block shift.
Note: Valid only if TRIGGER_MODE is “PRE” or “COMB” trigger mode

TRIGGER_MODE

1 Byte

Specifies Acquisition mode to be used.

0x00 – POST mode

0x01 – RFU

0x02 – PRE Mode

0x03 – 0xFF – Invalid

RAM_PAGE_WIDTH

1 Byte

Specifies the amount of on-chip memory that is covered by an acquisition. Granularity is chosen by design as 256 Bytes (i.e. 64 32-bits words). Valid values are as below: 0x00h – 256 bytes 0x02h – 768 bytes 0x01h – 512 bytes 0x03h – 1024 bytes 0x04h – 1280 bytes 0x05h – 1536 bytes 0x06h – 1792 bytes 0x07h – 2048 bytes 0x08h – 2304 bytes 0x09h – 2560 bytes 0x0Ah – 2816 bytes 0x0Bh – 3072 bytes 0x0Ch – 3328 bytes 0x0Dh – 3584 bytes 0x0Eh – 3840 bytes 0x0Fh – 4096 bytes 0x10h – 4352 bytes 0x11h – 4608 bytes 0x12h – 4864 bytes 0x13h – 5120 bytes 0x14h – 5376 bytes 0x15h – 5632 bytes 0x16h – 5888 bytes 0x17h – 6144 bytes 0x18h – 6400 bytes 0x19h – 6656 bytes 0x1Ah – 6912 bytes 0x1Bh – 7168 bytes 0x1Ch – 7424 bytes 0x1Dh – 7680 bytes 0x1Eh – 7936 bytes 0x1Fh – 8192 bytes

UM11942
User manual

All information provided in this document is subject to legal disclaimers.
Rev. 3.7 — 25 May 2023

© 2023 NXP B.V. All rights reserved.
61 / 79

NXP Semiconductors

UM11942
PN5190 instruction layer

Table 87.CTS_CONFIGURE command value…continued

Payload Field

Length

Value/Description

Note: if values provided is more than 0x1F, the value will be masked with 0x1F and resultant value will be considered.

SAMPLE_CLK_DIV

1 Byte

The decimal value of this field specifies the clock rate division factor to be used during acquisition. CTS clock = 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 Byte

These bits are used to specify which bytes of the two 16-bits input buses contribute to the interleave mechanism that generates data to be transferred to the on-chip memory. The meaning and usage of them is depending from the SAMPLE_MODE_SEL values.
Note: Given value is always masked with 0x0F and then effective value is considered.

SAMPLE_MODE_SEL

1 Byte

Selects the sampling interleave mode as described by the CTS design specs. Decimal value 3 is reserved and will be treated as 0.
Note: Given value is always masked with 0x03, and then effective value is considered.

TB0

1 Byte

Selects which test bus to be connected to TB0. Refer to Section 7 (TB_

Signal_Index value)

TB1

1 Byte

Selects which test bus to be connected to TB1. Refer to Section 7 (TB_

Signal_Index value)

TB2

1 Byte

Selects which test bus to be connected to TB2. Refer to Section 7 (TB_

Signal_Index value)

TB3

1 Byte

Selects which test bus to be connected to TB3. Refer to Section 7 (TB_

Signal_Index value)

TTB_SELECT

1 Byte

Selects which TB to be connected to the trigger sources. Refer to Section 7 (TB_Signal_Index value)

RFU

4 Bytes

Send always 0x00000000

MISC_CONFIG

24 Bytes

Trigger occurrences, polarity etc. Refer to [1] for understanding of CTS configuration to use.

UM11942
User manual

All information provided in this document is subject to legal disclaimers.
Rev. 3.7 — 25 May 2023

© 2023 NXP B.V. All rights reserved.
62 / 79

NXP Semiconductors

UM11942
PN5190 instruction layer

4.5.10.2.2 Response

Table 88.CTS_CONFIGURE response value

Payload Field

Length

Status

1 Byte

Value/Description Status of the operation [Table 9]. Expected values are as below: PN5190_STATUS_SUCCESS PN5190_STATUS_INSTR_ERROR

4.5.10.2.3 Event There is no event for this instruction.

4.5.10.3 CTS_RETRIEVE_LOG This instruction retrieves the data log of the captured test bus data samples stored in the memory buffer.

4.5.10.3.1 Command

Table 89.CTS_RETRIEVE_LOG command value

Payload Field

Length

Value/Description

ChunkSize

1 byte

0x01-0xFF

Contains the number of bytes of data expected.

4.5.10.3.2 Response

Table 90.CTS_RETRIEVE_LOG response value

Payload Field Length

Value/Description

Status

1 Byte

Status of the operation [Table 9]. Expected values are as below:

PN5190_STATUS_SUCCESS PN5190_STATUS_INSTR_ERROR (No further data is present) PN5190_STATUS_SUCCSES_CHAINING

Log Data [1…n] CTSRequest Captured Samples Data chunk

Note: Maximum size of `Log Data’ is depended upon the `ChunkSize’ that has been provided as part of the command. Total Log size shall be available in the TLV header response.

4.5.10.3.3 Event There is no event for this instruction.
4.5.11 TEST_MODE Commands
4.5.11.1 ANTENNA_SELF_TEST This instruction is used to verify if the antenna is connected and the matching components are populated / assembled. Note:

UM11942
User manual

All information provided in this document is subject to legal disclaimers.
Rev. 3.7 — 25 May 2023

© 2023 NXP B.V. All rights reserved.
63 / 79

NXP Semiconductors

UM11942
PN5190 instruction layer

This command is not yet available. See the release notes for the availability.

4.5.11.2 PRBS_TEST
This instruction is used to generate the PRBS sequence for the different configurations of the Reader mode protocols and bit-rates. Once the instruction is executed, the PRBS test sequence will be available on RF.
Note: Host should make sure that appropriate RF technology configuration is loaded using Section 4.5.7.1 and RF is switched ON using Section 4.5.8.1 command before sending this command.

4.5.11.2.1 Command

Table 91.PRBS_TEST command value

Payload Field

Length

prbs_type

1 Byte

Value/Description 00 01 02-FF

PRBS9(default) PRBS15 RFU

4.5.11.2.2 Response

Table 92.PRBS_TEST response value

Payload Field

Length

Status

1 Byte

Value/Description
Status of the operation [Table 9]. Expected values are as below:
PN5190_STATUS_SUCCESS PN5190_STATUS_INSTR_ERROR PN5190_STATUS_NO_RF_FIELD

4.5.11.2.3 Event There is no event for this instruction.

4.5.12 Chip Info Commands

4.5.12.1 GET_DIEID This instruction is used to read-out the die ID of the PN5190 chip.

4.5.12.1.1 Command

Table 93.GET_DIEID Command value

Payload Field

Length

Value/Description No data in payload

UM11942
User manual

All information provided in this document is subject to legal disclaimers.
Rev. 3.7 — 25 May 2023

© 2023 NXP B.V. All rights reserved.
64 / 79

NXP Semiconductors

UM11942
PN5190 instruction layer

4.5.12.1.2 Response

Table 94.GET_DIEID response value

Payload field

Length

Status

1 Byte

Values

16 Bytes

Value/description Status of the operation [Table 9]. Expected values are as below: PN5190_STATUS_SUCCESS PN5190_STATUS_INSTR_ERROR (no further data is present) 16 bytes die ID.

4.5.12.1.3 Event There are no events for this command.

4.5.12.2 GET_VERSION This instruction is used to read-out the HW version, ROM version, and the FW version of the PN5190 chip.

4.5.12.2.1 Command

Table 95.GET_VERSION command value

Payload Field

Length

Value/Description No data in payload

There is a command DL_GET_VERSION (Section 3.4.4) available in download mode that can be used to readout HW version, ROM version, and FW version.

4.5.12.2.2 Response

Table 96.GET_VERSION response value

Payload Field

Length

Status

1 Byte

HW_V RO_V FW_V RFU1-RFU2

1 byte 1 byte 2 bytes 1-2 bytes

Value/Description Status of the operation [Table 9]. Expected values are as below: PN5190_STATUS_SUCCESS PN5190_STATUS_INSTR_ERROR (No further data is present) Hardware version ROM code Firmware version (used for download) –

The expected response for different version of PN5190 IC is mentioned in (Section 3.4.4)

4.5.12.2.3 Event There are no events for this command.

UM11942
User manual

All information provided in this document is subject to legal disclaimers.
Rev. 3.7 — 25 May 2023

© 2023 NXP B.V. All rights reserved.
65 / 79

NXP Semiconductors

UM11942
PN5190 instruction layer

5 Appendix (Examples)

This appendix consists of the examples for the above mentioned commands. The examples are only for illustrative purpose to show the contents of command.

5.1 Example for WRITE_REGISTER
Following sequence of data sent from host to write a 0x12345678 value into register 0x1F. Command frame sent to PN5190: 0000051F78563412 Host to wait for an interrupt. When host reads the response frame received from PN5190 (indicating successful operation): 00000100

5.2 Example for WRITE_REGISTER_OR_MASK
Following sequence of data sent from host to perform logical OR operation on register 0x1F with a mask as 0x12345678 Command frame sent to PN5190: 0100051F78563412
Host to wait for an interrupt. When host reads the response frame received from PN5190 (indicating successful operation): 01000100

5.3 Example for WRITE_REGISTER_AND_MASK
Following sequence of data sent from host to perform logical AND operation on register 0x1F with a mask as 0x12345678 Command frame sent to PN5190: 0200051F78563412
Host to wait for an interrupt. When host reads the response frame received from PN5190 (indicating successful operation): 02000100

5.4 Example for WRITE_REGISTER_MULTIPLE
Following sequence of data sent from host to perform logical AND operation on register 0x1F with a mask as 0x12345678, and on logical OR operation on register 0x20 with a mask as 0x11223344, and a write to register 0x21 with a value as 0xAABBCCDD. Command frame sent to PN5190: 0300121F03785634122002443322112101DDCCBBAA
Host to wait for an interrupt. When host reads the response frame received from PN5190 (indicating successful operation): 03000100

5.5 Example for READ_REGISTER

Following sequence of data sent from host to read the contents of register 0x1F and assuming the register has the value of 0x12345678 Command frame sent to PN5190: 0400011F
Host to wait for an interrupt.
When host reads the response frame received from PN5190 (indicating successful operation): 0400050078563412

UM11942
User manual

All information provided in this document is subject to legal disclaimers.
Rev. 3.7 — 25 May 2023

© 2023 NXP B.V. All rights reserved.
66 / 79

NXP Semiconductors

UM11942
PN5190 instruction layer

5.6 Example for READ_REGISTER_MULTIPLE
Following sequence of data sent from host to read the contents of registers 0x1F that contain the value of 0x12345678, and register 0x25 that contain the value of 0x11223344 Command frame sent to PN5190: 0500021F25 Host to wait for an interrupt. When host read the response, frame received from PN5190 (indicating successful operation): 050009007856341244332211
5.7 Example for WRITE_E2PROM
Following sequence of data sent from host to write to E2PROM locations 0x0130 to 0x0134 with the contents as 0x11, 0x22, 0x33, 0x44, 0x55 Command frame sent to PN5190: 06000730011122334455 Host to wait for an interrupt. When host reads the response, frame received from PN5190 (indicating successful operation): 06000100
5.8 Example for READ_E2PROM
Following sequence of data sent from host to read from E2PROM locations 0x0130 to 0x0134 where the contents stored are: 0x11, 0x22, 0x33, 0x44, 0x55 Command frame sent to PN5190: 07000430010500 Host to wait for an interrupt. When host read the response, frame received from PN5190 (indicating successful operation): 070006001122334455
5.9 Example for TRANSMIT_RF_DATA
Following sequence of data sent from host to send a REQA command (0x26), with number of bits to be transmitted as `0x07′, assuming that required registers are set before and RF is switched ON. Command frame sent to PN5190: 0800020726 Host to wait for an interrupt. When host reads the response, frame received from PN5190 (indicating successful operation): 08000100
5.10 Example for RETREIVE_RF_DATA
Following sequence of data sent from host to receive the data received/stored in the internal CLIF buffer (assuming that 0x05 was received), assuming that a TRANSMIT_RF_DATA is already sent after RF is switched ON. Command frame sent to PN5190: 090000 Host to wait for an interrupt. When host reads the response, frame received from PN5190 (indicating successful operation): 090003000400

UM11942
User manual

All information provided in this document is subject to legal disclaimers.
Rev. 3.7 — 25 May 2023

© 2023 NXP B.V. All rights reserved.
67 / 79

NXP Semiconductors

UM11942
PN5190 instruction layer

5.11 Example for EXCHANGE_RF_DATA
Following sequence of data sent from host to transmit a REQA (0x26), with number of bits in last byte to send set as 0x07, with all status to be received along with the data. Assumption is that required RF registers are already set and RF is switched ON. Command frame sent to PN5190: 0A0003070F26 Host to wait for an interrupt. When host read the response, frame received from PN5190 (indicating successful operation): 0A000 F000200000000000200000000004400
5.12 Example for LOAD_RF_CONFIGURATION
Following sequence of data sent from host to set the RF configuration. For TX, 0x00 and for RX, 0x80 Command frame sent to PN5190: 0D00020080 Host to wait for an interrupt. When host reads the response, frame received from PN5190 (indicating successful operation): 0D000100
5.13 Example for UPDATE_RF_CONFIGURATION
Following sequence of data sent from host to update the RF configuration. For TX, 0x00, with register address for CLIF_CRC_TX_CONFIG and value as 0x00000001 Command frame sent to PN5190: 0E0006001201000000 Host to wait for an interrupt. When host read the response, frame received from PN5190 (indicating successful operation): 0E000100
5.14 Example for RF_ON
Following sequence of data sent from host to switch ON the RF field using collision avoidance and No P2P active. It is assumed, the corresponding RF TX and RX configuration are already set in PN5190. Command frame sent to PN5190: 10000100 Host to wait for an interrupt. When host reads the response, frame received from PN5190 (indicating successful operation): 10000100
5.15 Example for RF_OFF
Following sequence of data sent from host to switch OFF the RF field. Command frame sent to PN5190: 110000 Host to wait for an interrupt. When host reads the response, frame received from PN5190 (indicating successful operation): 11000100

UM11942
User manual

All information provided in this document is subject to legal disclaimers.
Rev. 3.7 — 25 May 2023

© 2023 NXP B.V. All rights reserved.
68 / 79

NXP Semiconductors

UM11942
PN5190 instruction layer

6 Appendix (RF protocol configuration indexes)
This appendix consists of the RF protocol configuration indexes supported by the PN5190. The TX and RX config settings have to be used in Section 4.5.7.1, Section 4.5.7.2, Section 4.5.7.3 commands.

Figure 20.RF Protocol configuration indexes

UM11942
User manual

All information provided in this document is subject to legal disclaimers.
Rev. 3.7 — 25 May 2023

© 2023 NXP B.V. All rights reserved.
69 / 79

NXP Semiconductors

UM11942
PN5190 instruction layer

7 Appendix (CTS and TESTBUS signals)
Below table specifies the different signals available from PN5190 to capture using CTS instructions (Section 4.5.10) and TESTBUS instructions.

Figure 21.CTS and TESTBUS signals These have to be used for Section 4.5.9.1, Section 4.5.9.2, Section 4.5.10.2 command.

UM11942
User manual

All information provided in this document is subject to legal disclaimers.
Rev. 3.7 — 25 May 2023

© 2023 NXP B.V. All rights reserved.
70 / 79

NXP Semiconductors

UM11942
PN5190 instruction layer

8 Abbreviations

Table 97.Abbreviations

Abbr.

Meaning

CLK

Clock

DWL_REQ

Download Request pin (also called DL_REQ)

EEPROM

Electrically Erasable Programmable Read Only Memory

FW

Firmware

GND

Ground

GPIO

General Purpose Input Output

HW

Hardware

I²C

Inter-Integrated Circuit (serial data bus)

IRQ

Interrupt Request

ISO/IEC

International Standard Organization / International Electrotechnical Community

NFC

Near Field Communication

OS

Operating System

PCD

Proximity Coupling Device (Contactless reader)

PICC

Proximity Integrated Circuit Card (Contactless card)

PMU

Power Management unit

POR

Power-on reset

RF

Radiofrequency

RST

Reset

SFWU

secure firmware download mode

SPI

Serial Peripheral Interface

VEN

V Enable pin

UM11942
User manual

All information provided in this document is subject to legal disclaimers.
Rev. 3.7 — 25 May 2023

© 2023 NXP B.V. All rights reserved.
71 / 79

NXP Semiconductors

UM11942
PN5190 instruction layer

9 References
[1] CTS configuration part of NFC Cockpit, https://www.nxp.com/products/:NFC-COCKPIT [2] PN5190 IC data sheet, https://www.nxp.com/docs/en/data-sheet/PN5190.pdf

UM11942
User manual

All information provided in this document is subject to legal disclaimers.
Rev. 3.7 — 25 May 2023

© 2023 NXP B.V. All rights reserved.
72 / 79

NXP Semiconductors

UM11942
PN5190 instruction layer

10 Legal information

10.1 Definitions
Draft — A draft status on a document indicates that the content is still under internal review and subject to formal approval, which may result in modifications or additions. NXP Semiconductors does not give any representations or warranties as to the accuracy or completeness of information included in a draft version of a document and shall have no liability for the consequences of use of such information.
10.2 Disclaimers
Limited warranty and liability — Information in this document is believed to be accurate and reliable. However, NXP Semiconductors does not give any representations or warranties, expressed or implied, as to the accuracy or completeness of such information and shall have no liability for the consequences of use of such information. NXP Semiconductors takes no responsibility for the content in this document if provided by an information source outside of NXP Semiconductors. In no event shall NXP Semiconductors be liable for any indirect, incidental, punitive, special or consequential damages (including – without limitation lost profits, lost savings, business interruption, costs related to the removal or replacement of any products or rework charges) whether or not such damages are based on tort (including negligence), warranty, breach of contract or any other legal theory. Notwithstanding any damages that customer might incur for any reason whatsoever, NXP Semiconductors’ aggregate and cumulative liability towards customer for the products described herein shall be limited in accordance with the Terms and conditions of commercial sale of NXP Semiconductors.
Right to make changes — NXP Semiconductors reserves the right to make changes to information published in this document, including without limitation specifications and product descriptions, at any time and without notice. This document supersedes and replaces all information supplied prior to the publication hereof.
Suitability for use — NXP Semiconductors products are not designed, authorized or warranted to be suitable for use in life support, life-critical or safety-critical systems or equipment, nor in applications where failure or malfunction of an NXP Semiconductors product can reasonably be expected to result in personal injury, death or severe property or environmental damage. NXP Semiconductors and its suppliers accept no liability for inclusion and/or use of NXP Semiconductors products in such equipment or applications and therefore such inclusion and/or use is at the customer’s own risk.
Applications — Applications that are described herein for any of these products are for illustrative purposes only. NXP Semiconductors makes no representation or warranty that such applications will be suitable for the specified use without further testing or modification. Customers are responsible for the design and operation of their applications and products using NXP Semiconductors products, and NXP Semiconductors accepts no liability for any assistance with applications or customer product design. It is customer’s sole responsibility to determine whether the NXP Semiconductors product is suitable and fit for the customer’s applications and products planned, as well as for the planned application and use of customer’s third party customer(s). Customers should provide appropriate design and oper

References

Documents / Resouces

Download manual
Here you can download full pdf version of manual, it may contain additional safety instructions, warranty information, FCC rules, etc.


Related Manuals