15693 data template

Overview

Use the ISO 15693 Memory Template to read data from a VICC compliant with ISO 15693-3. The reader may either

  • Read arbitrary data; the data will be transmitted in hexadecimal format. To do so, select the RAW mode in TOF register.
  • Read a number (decimal output). To do so, select the decimal mode in TOF register.
  • Read a string (ASCII-encoded data). To do so, select either the Short String or the Long String mode in TOF register.

The target data is pointed to by an absolute block number (yet the data may occupy more than one block). According to the standard, the size of every block depends of the card (its a manufacturer's choice). Typical block sizes are 1, 2, 4 or 8 bytes. The reader accepts block sizes up to 64 bytes. The block number is specified in the LOC register.

Configuration

Register t0: select the data template and look for ISO 15693 (NFC-V) cards

Register 03t0 (1 byte) selects the template.

Value Meaning Notes
54 Accept ISO 15693-3 VICCs

Register t1: output format

Register 03t1 defines the output format. Refer to Template engine : Output Format register.

Register t2: output prefix

Register 03t2 defines the output prefix. Refer to Template engine : Output Prefix.

Location of data (LOC register)

Register 03t3 (1, 2 or 3 Bytes) specifies the adress of the 1st page to be read, and an (optional) offset within the data. The length to be read is deduced from the output length specified in register 03t1.

Bytes Content Notes / Valid range
0 (mandatory) Address of 1st page Depends on the PICC's actual memory size
1 (optional) Offset within the 1st page 00 to 03
2 (optional) Shift bits to the left 00 to 07

Miscellaneous options (OPT register)

If register 03t4 is set, the reader adds a token to its output to tell the receiver what kind of object has been read.

Bytes Bits Meaning
0 7-4 RFU
3-2 Position of the “card type” token in the output
00: Before the PFX constant
01: After the PFX constant, but before the actual data
10: After the actual data
11: RFU
0-1 Add a “card type” token to the output
00: Do not add the “card type” token
01: Add a 56 as “card type” token
10: Add a V as “card type” token
11: Add 00