Iso14a command group

This command group implements the low-level ISO 14443-3 (Type A) commands according to the ISO 14443-3 (Type A) standard.

A PICC compliant to ISO 14443-3 (Type A) is always in one of five states:

  1. Power off state
  2. Idle state
  3. Ready state
  4. Active state
  5. Halt state

As long as the PICC is not present in the HF field, it is in power off state. When the PICC gets into the field of the antenna, it automatically switches to the idle state. Once the Iso14a.Request command is invoked, PICCs in idle state will switch to the ready state. From there, a certain PICC, only one at the same time, may be switched to the active state via the Iso14a.Select command. This mechanism is identical for all ISO 14443 Type A PICCs.

PICC communication by means of APDU exchanges is subject to the ISO 14443-4 standard which is explained in detail in the Iso14L4 command group documentation. Only PICCs which are compliant to ISO 14443-4 are able to execute commands transmitted according to ISO 14443-4, providing these PICCs are in the active state. However, before the first APDU exchange can be performed, the command Iso14a.RequestATS has to be executed in order to enable the ISO 14443-4 mode in the PICC. The command Iso14a.PerformPPS can be optionally invoked after Iso14a.RequestATS in order to increase communication speed.

For proprietary PICCs that are not compliant to the ISO 14443-4 standard, the command Iso14a.TransparentCmd should be used for communication. It provides a raw communication channel between application and PICC, without any interpretation of the transferred data within the reader, and therewith allows to send/receive arbitrary command/response data to/from the PICC.

After data exchange is completed, the PICC may be switched to the halt state so that it will not respond to any command which may follow. Depending on the PICC being in 14443-4 mode or not, either a special command of the ISO 14443-4 command group or the Iso14a.Halt command have to be used for this purpose. PICCs in halt state can only be reactivated by setting as special flag in the Iso14a.Request command.

WARNING: This command set is not available in all Baltech reader firmware variants.

Status codes

BRP status BRP Library Error Code Mnemonic Description
0x01 0x1301 (4865) Iso14a.ErrNoTag No card in field of antenna or card in field of antenna does not match the given VHL-file.
0x02 0x1302 (4866) Iso14a.ErrCollision

More than one PICC answered in the same time slot and none of them could therefore be requested correctly.

In case this status code is returned by the Iso14a.Request command, when two or more ISO 14443 Type A PICCs of different types (e.g. one Mifare Classic card and one Mifare DESFire card) are present in the HF field of the reader, the AQTA response will still be returned and the card selection procedure can be continued normally with the Iso14a.Select command.
0x04 0x1304 (4868) Iso14a.ErrHf General HF error.
0x06 0x1306 (4870) Iso14a.ErrKey Key error (Only triggered by Mifare authentication).
0x07 0x1307 (4871) Iso14a.ErrFrame Bit error, Parity error or Frame error (start/stop bit).
0x08 0x1308 (4872) Iso14a.ErrCrc CRC checksum error.
0x10 0x1310 (4880) Iso14a.ErrCom Error in communication with reader chip.
0x21 0x1321 (4897) Iso14a.ErrEeprom Error accessing EEPROM of the reader chip.
0x22 0x1322 (4898) Iso14a.ErrCardNotSupported Reader chip does not support card type.
0x23 0x1323 (4899) Iso14a.ErrHwNotSupported Command not supported by hardware.
0x30 0x1330 (4912) Iso14a.BreakErr Command has been interrupted.