ACR1252U-A1 Application Programming Interface V1.05

ACR1252U-A1 Application Programming Interface V1.05
ACR1252U-A1
NFC Forum Certified
Reader
Application Programming Interface V1.05
Subject to change without prior notice
info@acs.com.hk
www.acs.com.hk
Table of Contents
1.0.
Introduction ............................................................................................................. 4
2.0.
Features ................................................................................................................... 5
3.0.
Acronyms and Abbreviations ................................................................................. 6
4.0.
Architecture ............................................................................................................. 7
5.0.
Host Programming (PC-linked) API ........................................................................ 8
5.1.
PCSC API .............................................................................................................................. 8
SCardEstablishContext ................................................................................................. 8
SCardListReaders ......................................................................................................... 8
SCardConnect............................................................................................................... 8
SCardControl ................................................................................................................ 8
ScardTransmit ............................................................................................................... 8
ScardDisconnect ........................................................................................................... 8
APDU Flow .................................................................................................................... 9
Escape Command Flow .............................................................................................. 10
5.2.
Contactless Smart Card Protocol ........................................................................................ 11
5.2.1.
ATR Generation .......................................................................................................... 11
5.3.
Pseudo APDU for Contactless Interface ............................................................................. 14
5.3.1.
Get Data ...................................................................................................................... 14
5.4.
PICC Commands for MIFARE® Classic (1K/4K) Memory Cards........................................15
5.4.1.
Load Authentication Keys ........................................................................................... 15
5.4.2.
Authentication for MIFARE® Classic (1K/4K) ............................................................. 16
5.4.3.
Read Binary Blocks ..................................................................................................... 19
5.4.4.
Update Binary Blocks .................................................................................................. 20
5.4.5.
Value Block Operation (INC, DEC, STORE) .............................................................. 21
5.4.6.
Read Value Block........................................................................................................ 22
5.4.7.
Copy Value Block ........................................................................................................ 23
5.5.
Accessing PCSC-compliant tags (ISO 14443-4) ................................................................. 24
5.6.
Accessing FeliCa tags ......................................................................................................... 26
5.7.
Peripherals Control .............................................................................................................. 27
5.7.1.
Get Firmware Version ................................................................................................. 27
5.7.2.
LED Control ................................................................................................................. 28
5.7.3.
LED Status .................................................................................................................. 29
5.7.4.
Buzzer Control ............................................................................................................ 30
5.7.5.
Buzzer Status .............................................................................................................. 31
5.7.6.
Set LED and Buzzer Status Indicator Behavior for PICC Interface ............................32
5.7.7.
Read LED and Buzzer Status Indicator Behavior for PICC Interface .........................33
5.7.8.
Set Automatic PICC Polling ........................................................................................ 34
5.7.9.
Read Automatic PICC Polling ..................................................................................... 36
5.7.10.
Set PICC Operating Parameter .................................................................................. 37
5.7.11.
Read PICC Operating Parameter ............................................................................... 38
5.8.
NFC Peer-to-Peer Mode-related Commands ...................................................................... 39
5.8.1.
Initiator Mode-related Commands............................................................................... 39
5.8.2.
Target Mode-related Commands ................................................................................ 46
5.9.
NFC Card Emulation Mode-related Commands .................................................................. 56
5.10.
ACR122U Compatible Commands ...................................................................................... 64
5.10.1.
Bi-color LED and Buzzer Control ................................................................................ 64
5.10.2.
Get Firmware Version ................................................................................................. 66
5.10.3.
Get the PICC Operating Parameter ............................................................................ 67
5.10.4.
Set the PICC Operating Parameter ............................................................................ 68
5.1.1.
5.1.2.
5.1.3.
5.1.4.
5.1.5.
5.1.6.
5.1.7.
5.1.8.
Appendix A.
SNEP Message .......................................................................................... 69
Page 2 of 69
ACR1252U-A1 – Application Programming Interface
Version 1.05
info@acs.com.hk
www.acs.com.hk
List of Figures
Figure 1 : ACR1252U-A1 Architecture ................................................................................................... 7
Figure 2 : ACR1252U-A1 APDU Flow .................................................................................................... 9
Figure 3 : ACR1252U-A1 Escape Command Flow .............................................................................. 10
Figure 4 : Peer-to-Peer Flow for Initiator Mode .................................................................................... 39
Figure 5 : Peer-to-Peer Flow for Target Mode ..................................................................................... 46
List of Tables
Table 1 : Acronyms and Abbreviations ................................................................................................... 6
Table 2 : MIFARE® Classic 1K Memory Map ...................................................................................... 17
Table 3 : MIFARE® Classic 4K Memory Map ...................................................................................... 17
Table 4 : MIFARE® Ultralight® Memory Map ...................................................................................... 18
Table 5 : MIFARE® Ultralight® Memory Map (53 bytes) ..................................................................... 57
Table 6 : FeliCa Memory Map (160 bytes) ........................................................................................... 58
Page 3 of 69
ACR1252U-A1 – Application Programming Interface
Version 1.05
info@acs.com.hk
www.acs.com.hk
1.0. Introduction
The ACR1252U-A1 NFC Forum Certified reader is an USB PC-linked contactless card reader/writer
with SAM access. It is an NFC card reader/writer, and capable to support card emulation and peer-topeer communication modes. The ACR1252U-A1 reader is also NFC library compliant to support
Bluetooth and Wi-Fi NFC pairing/log-in.
ACR1252U-A1 is compliant to ISO 14443 Parts 1 to 4 supporting contactless card, MIFARE® cards,
FeliCa cards and ISO 18092 NFC tags.
ACR1252U-A1 has two reader interfaces, namely the PICC and SAM interface. Both interfaces follow
the PC/SC specifications. This API document will discuss in detail how the PC/SC APDU commands
were implemented for the contactless interface and device peripherals of ACR1252U-A1.
Page 4 of 69
ACR1252U-A1 – Application Programming Interface
Version 1.05
info@acs.com.hk
www.acs.com.hk
2.0. Features
•
USB 2.0 full speed (12 Mbps)
•
Microsoft® CCID Compliant for both SAM and PICC interface
•
Smart Card Reader:
o
Read/Write speed of up to 424 Kbps
o
Built-in antenna for contactless tag access, with card reading distance of up to 50 mm
(depending on tag type)
o
Support for ISO 14443 Part 4 Type A and B Cards, MIFARE® Classic, MIFARE® Mini,
MIFARE® Ultralight®, FeliCa, Topaz, and all four types of NFC (ISO/IEC 18092 tags)
o
Built-in anti-collision feature (only one tag is accessed at a time)
o
NFC Support
o
•
•

Card reader/writer mode

Peer-to-Peer mode

Card emulation mode
ISO 7816-compliant SAM slot (Class A)
Application Programming Interface:
o
Supports PC/SC
o
Supports CT-API (through wrapper on top of PC/SC)
Built-in peripherals
o
User-controllable bi-color LED
o
User-controllable buzzer
•
USB Firmware Upgradability
•
Supports Android 3.1 and above
•
Compliant with the following standards:
™
o
ISO 18092 (NFCIP-1)
o
ISO 14443 Parts 1 -4
o
ISO 7816 Class A (for SAM slot)
o
NFC Forum
o
LASCOM
o
CE
o
FCC
o
VCCI
o
MIC
o
KC
o
PC/SC
o
CCID
o
RoHS 2
o
FeliCa Performance Certification
o
Microsoft® WHQL
Page 5 of 69
ACR1252U-A1 – Application Programming Interface
Version 1.05
info@acs.com.hk
www.acs.com.hk
3.0. Acronyms and Abbreviations
Acronym/Abbreviation
Description
ATR
Attribute Request and Attribute Response
DEP
Data Exchange Protocol Request and Data Exchange Protocol
Response
DSL
Deselect Request and Deselect Response
PSL
Parameter Selection Request and Parameter Selection Response
RLS
Release Request and Release Response
WUP
Wakeup Request and Wakeup Response
DID
Device ID
BS
Sending bit duration
BR
Receiving bit duration
PP
Protocol Parameters
Gi
Optional information field for Initiator
PFB
Control information for transaction
FSL
maximum value for the Frame Length
LLCP
Logical Link Control Protocol
Table 1: Acronyms and Abbreviations
Page 6 of 69
ACR1252U-A1 – Application Programming Interface
Version 1.05
info@acs.com.hk
www.acs.com.hk
4.0. Architecture
For communication architecture, the protocol used between ACR1252U-A1 and the computer is CCID
protocol. All communications between PICC and SAM are PC/SC compliant.
ACR1252 PCSC
ACR1252 PCSC
SAM Interface
PICC Interface
USB
Interface
(CCID)
PCSC Layer
ISO 7816 Parts 1-4
T=CL & T=1
SAM Interface
Emulation
ACR1252U-A1
ISO 14443 Parts 1-4 /
ISO 18092
PICC Interface
Physical
Interface
SAM (Socket)
PICC
(Built-in Antenna)
Figure 1: ACR1252U-A1 Architecture
Page 7 of 69
ACR1252U-A1 – Application Programming Interface
Version 1.05
info@acs.com.hk
www.acs.com.hk
5.0. Host Programming (PC-linked) API
5.1. PCSC API
This section will describe some of the PCSC API for application programming usage. For more
details, please refer to Microsoft MSDN Library or PCSC workgroup.
5.1.1.
SCardEstablishContext
The SCardEstablishContext function establishes the resource manager context within which database
operations are performed.
Refer to: http://msdn.microsoft.com/en-us/library/windows/desktop/aa379479%28v=vs.85%29.aspx
5.1.2.
SCardListReaders
The SCardListReaders function provides the list of readers within a set of named reader groups,
eliminating duplicates.
The caller supplies a list of reader groups, and receives the list of readers within the named groups.
Unrecognized group names are ignored. This function only returns readers within the named groups
that are currently attached to the system and available for use.
Refer to: http://msdn.microsoft.com/en-us/library/windows/desktop/aa379793%28v=vs.85%29.aspx
5.1.3.
SCardConnect
The SCardConnect function establishes a connection (using a specific resource manager context)
between the calling application and a smart card contained by a specific reader. If no card exists in
the specified reader, an error is returned.
Refer to: http://msdn.microsoft.com/en-us/library/windows/desktop/aa379473%28v=vs.85%29.aspx
5.1.4.
SCardControl
The SCardControl function gives you direct control of the reader. You can call it any time after a
successful call to SCardConnect and before a successful call to SCardDisconnect. The effect on the
state of the reader depends on the control code.
Refer to: http://msdn.microsoft.com/en-us/library/windows/desktop/aa379474%28v=vs.85%29.aspx
Note: Commands from Section 5.6 – Peripherals Control are using this API for sending.
5.1.5.
ScardTransmit
The SCardTransmit function sends a service request to the smart card and expects to receive data
back from the card.
Refer to: http://msdn.microsoft.com/en-us/library/windows/desktop/aa379804%28v=vs.85%29.aspx
Note: APDU Commands (i.e. the commands sent to connected card and Section 5.3
Commands) are using this API for sending.
5.1.6.
- PICC
ScardDisconnect
The SCardDisconnect function terminates a connection previously opened between the calling
application and a smart card in the target reader.
Refer to: http://msdn.microsoft.com/en-us/library/windows/desktop/aa379475%28v=vs.85%29.aspx
Page 8 of 69
ACR1252U-A1 – Application Programming Interface
Version 1.05
info@acs.com.hk
www.acs.com.hk
5.1.7.
APDU Flow
Start
SCardEstablishContext
SCardListReaders
No
Reader
present?
Yes
SCardConnect
No
Connection
successful?
Yes
SCardTransmit
SCardDisconnect
End
Figure 2: ACR1252U-A1 APDU Flow
Page 9 of 69
ACR1252U-A1 – Application Programming Interface
Version 1.05
info@acs.com.hk
www.acs.com.hk
5.1.8.
Escape Command Flow
Start
SCardEstablishContext
SCardListReaders
No
Reader
present?
Yes
SCardConnect
SCardControl
SCardDisconnect
End
Figure 3: ACR1252U-A1 Escape Command Flow
Page 10 of 69
ACR1252U-A1 – Application Programming Interface
Version 1.05
info@acs.com.hk
www.acs.com.hk
5.2. Contactless Smart Card Protocol
5.2.1.
ATR Generation
If the reader detects a PICC, an ATR will be sent to the PCSC driver for identifying the PICC.
5.2.1.1.
ATR Format for ISO 14443 Part 3 PICCs
Byte
Value
Designation
0
3Bh
Initial Header
Description
1
8Nh
T0
Higher nibble 8 means: no TA1, TB1, TC1 only
TD1 is following.
Lower nibble N is the number of historical bytes
(HistByte 0 to HistByte N-1)
2
80h
TD1
Higher nibble 8 means: no TA2, TB2, TC2 only
TD2 is following.
Lower nibble 0 means T = 0
3
01h
TD2
Higher nibble 0 means no TA3, TB3, TC3, TD3
following.
Lower nibble 1 means T = 1
80h
T1
4
4Fh
Application identifier Presence Indicator
0Ch
Length
To
RID
3+N
Category indicator byte, 80 means A status
indicator may be present in an optional
COMPACT-TLV data object
Tk
SS
Registered Application Provider Identifier (RID) #
A0 00 00 03 06
Byte for standard
C0 .. C1h
Bytes for card name
00 00 00 00h
RFU
RFU # 00 00 00 00
UU
TCK
Exclusive-oring of all the bytes T0 to Tk
4+N
Example:
ATR for MIFARE Classic 1K = {3B 8F 80 01 80 4F 0C A0 00 00 03 06 03 00 01 00 00 00 00 6Ah}
Where:
Length (YY)
= 0Ch
RID
= {A0 00 00 03 06h} (PC/SC Workgroup)
Standard (SS)
= 03h (ISO 14443A, Part 3)
Card Name (C0 .. C1)
= {00 01h} (MIFARE Classic 1K)
Standard (SS)
= 03h: ISO 14443A, Part 3
= 11h: FeliCa
Card Name (C0 .. C1)
00 01: MIFARE Classic 1K
00 30: Topaz and Jewel
Page 11 of 69
ACR1252U-A1 – Application Programming Interface
Version 1.05
info@acs.com.hk
www.acs.com.hk
00 02: MIFARE Classic 4K
00 03: MIFARE Ultralight
00 26: MIFARE Mini
5.2.1.2.
00 3B: FeliCa
FF 28: JCOP 30
FF [SAK]: undefined tags
ATR Format for ISO 14443 Part 4 PICCs
Byte
Value
Designation
0
3Bh
Initial Header
Description
1
8Nh
T0
Higher nibble 8 means: no TA1, TB1, TC1 only
TD1 is following.
Lower nibble N is the number of historical bytes
(HistByte 0 to HistByte N-1)
2
80h
TD1
Higher nibble 8 means: no TA2, TB2, TC2 only
TD2 is following.
Lower nibble 0 means T = 0
3
01h
TD2
Higher nibble 0 means no TA3, TB3, TC3, TD3
following.
Lower nibble 1 means T = 1
XX
T1
Historical Bytes:
ISO 14443-A:
The historical bytes from ATS response. Refer to
the ISO14443-4 specification.
4
to
3+N
4+N
ISO 14443-B:
XX
XX
XX
Tk
UU
TCK
Byte1-4
Byte5-7
Byte8
Application
Data from
ATQB
Protocol Info
Byte from
ATQB
Higher
nibble=MBLI
from ATTRIB
command
Lower nibble
(RFU)=0
Exclusive-oring of all the bytes T0 to Tk
Example 1:
ATR for MIFARE® DESFire® = { 3B 81 80 01 80 80h} // 6 bytes of ATR
Note: Use the APDU “FF CA 01 00 00h” to distinguish the ISO 14443A-4 and ISO 14443B-4 PICCs,
and retrieve the full ATS if available. ISO 14443A-3 or ISO 14443B-3/4 PICCs do have ATS returned.
APDU Command = FF CA 01 00 00h
APDU Response = 06 75 77 81 02 80 90 00h
ATS = {06 75 77 81 02 80h}
Page 12 of 69
ACR1252U-A1 – Application Programming Interface
Version 1.05
info@acs.com.hk
www.acs.com.hk
Example 2:
ATR for EZ-Link = {3B 88 80 01 1C 2D 94 11 F7 71 85 00 BEh}
Application Data of ATQB = 1C 2D 94 11h
Protocol Information of ATQB = F7 71 85h
MBLI of ATTRIB = 00h
Page 13 of 69
ACR1252U-A1 – Application Programming Interface
Version 1.05
info@acs.com.hk
www.acs.com.hk
5.3. Pseudo APDU for Contactless Interface
5.3.1.
Get Data
This command returns the serial number or ATS of the “connected PICC”.
Get UID APDU Format (5 Bytes)
Command
Class
INS
P1
P2
Le
Get Data
FFh
CAh
00h
01h
00h
00h
(Max Length)
If P1 = 00h, Get UID Response Format (UID + 2 Bytes)
Response
Result
Data Out
UID
(LSB)
…
UID
(MSB)
…
SW1
SW2
SW1
SW2
If P1 = 01h, Get ATS of a ISO 14443 A card (ATS + 2 Bytes)
Response
Data Out
Result
ATS
Response Codes
Results
SW1
SW2
Meaning
Success
90h
00h
The operation is completed successfully.
Warning
62h
82h
End of UID/ATS reached before Le bytes (Le
is greater than UID Length).
Error
6Ch
XXh
Wrong length (wrong number Le: ‘XX’
encodes the exact number) if Le is less than
the available UID length.
Error
63h
00h
The operation is failed.
Error
6Ah
81h
Function not supported
Examples:
To get the serial number of the “connected PICC”:
UINT8 GET_UID[5] = {FF, CA, 00, 00, 00};
To get the ATS of the “connected ISO 14443 A PICC”:
UINT8 GET_ATS[5] = {FF, CA, 01, 00, 00};
Page 14 of 69
ACR1252U-A1 – Application Programming Interface
Version 1.05
info@acs.com.hk
www.acs.com.hk
5.4. PICC Commands for MIFARE® Classic (1K/4K) Memory Cards
5.4.1.
Load Authentication Keys
This command will load the authentication keys into the reader. The authentication keys are used to
authenticate the particular sector of the MIFARE Classic 1K/4K Memory Card. Two kinds of
authentication key locations are provided: volatile and non-volatile key locations.
Load Authentication Keys APDU Format (11 bytes)
Command
Class
INS
P1
P2
Lc
Data In
Load
Authentication
Keys
FFh
82h
Key
Structure
Key
Number
06h
Key
(6 bytes)
Where:
Key Structure
1 byte.
00h = Key is loaded into the reader volatile memory.
Other = Reserved.
Key Number
1 byte.
00h ~ 01h = Volatile memory for storing a temporally key. The key will
disappear once the reader is disconnected from the PC. Two volatile
keys are provided. The volatile key can be used as a session key for
different sessions. Default Value = {FF FF FF FF FF FFh}
Key
6 bytes.
The key value loaded into the reader. e.g., {FF FF FF FF FF FFh}
Load Authentication Keys Response Format (2 bytes)
Response
Result
Data Out
SW1
SW2
Load Authentication Keys Response Codes
Results
SW1 SW2
Meaning
Success
90 00h
The operation is completed successfully.
Error
63 00h
The operation is failed.
Example:
// Load a key {FF FF FF FF FF FFh} into the volatile memory location 00h.
APDU = {FF 82 00 00 06 FF FF FF FF FF FFh}
Page 15 of 69
ACR1252U-A1 – Application Programming Interface
Version 1.05
info@acs.com.hk
www.acs.com.hk
5.4.2.
Authentication for MIFARE® Classic (1K/4K)
This command uses the keys stored in the reader to do authentication with the MIFARE Classic
1K/4K card (PICC). Two types of authentication keys are used: TYPE_A and TYPE_B.
Load Authentication Keys APDU Format (6 bytes) [Obsolete]
Command
Class
INS
P1
P2
P3
Data In
Authentication
FFh
88h
00h
Block
Number
Key Type
Key Number
Load Authentication Keys APDU Format (10 bytes)
Command
Class
INS
P1
P2
Lc
Data In
Authentication
FFh
86h
00h
00h
05h
Authenticate
Data Bytes
Authenticate Data Bytes (5 bytes)
Byte1
Byte 2
Byte 3
Byte 4
Byte 5
Version 01h
00h
Block Number
Key Type
Key Number
Where:
Block Number
1 byte. The memory block to be authenticated.
For MIFARE Classic 1K card, it has a total of 16 sectors and each sector
consists of four consecutive blocks (e.g., Sector 00h consists of blocks
{00h, 01h, 02h and 03h}; sector 01h consists of blocks {04h, 05h, 06h
and 07h}; the last sector 0Fh consists of blocks {3Ch, 3Dh, 3Eh and
3Fh}. Once the authentication is done successfully, there is no need to
do the authentication again provided that the blocks to be accessed are
belonging to the same sector. Please refer to the MIFARE Classic 1K/4K
specification for more details.
Note: Once the block is authenticated successfully, all the blocks
belonging to the same sector are accessible.
Key Type
1 byte.
60h = Key is used as a TYPE A key for authentication.
61h = Key is used as a TYPE B key for authentication.
Key Number
1 byte.
00 ~ 01h = Volatile memory for storing keys. The keys will disappear
when the reader is disconnected from the PC. Two volatile keys are
provided. The volatile key can be used as a session key for different
sessions.
Load Authentication Keys Response Format (2 bytes)
Response
Result
Data Out
SW1
SW2
Page 16 of 69
ACR1252U-A1 – Application Programming Interface
Version 1.05
info@acs.com.hk
www.acs.com.hk
Load Authentication Keys Response Codes
Results
SW1
SW2
SW2
Meaning
Success
90 00h
00h
The operation is completed successfully.
Error
6300h
00h
The operation is failed.
Sectors
(Total 16 sectors. Each sector
consists of 4 consecutive
blocks)
Data Blocks
(3 blocks, 16 bytes per
block)
Trailer Block
(1 block, 16 bytes)
Sector 0
00h – 02h
03h
Sector 1
04h – 06h
07h
..
..
..
..
..
..
Sector 14
38h – 0Ah
3Bh
Sector 15
3Ch – 3Eh
3Fh
1K
bytes
Table 2: MIFARE® Classic 1K Memory Map
Sectors
(Total 32 sectors. Each
sector consists of 4
consecutive blocks)
Data Blocks
(3 blocks, 16 bytes per
block)
Trailer Block
(1 block, 16 bytes)
Sector 0
00h ~ 02h
03h
Sector 1
04h ~ 06h
07h
..
2K
bytes
..
Sector 30
78h ~ 7Ah
7Bh
Sector 31
7Ch ~ 7Eh
7Fh
Sectors
(Total 8 sectors. Each
sector consists of 16
consecutive blocks)
Data Blocks
(15 blocks, 16 bytes
per block)
Trailer Block
(1 block, 16 bytes)
Sector 32
80h ~ 8Eh
8Fh
Sector 33
90h ~ 9Eh
9Fh
..
2K
bytes
..
Sector 38
E0h ~ EEh
EFh
Sector 39
F0h ~ FEh
FFh
Table 3: MIFARE® Classic 4K Memory Map
Page 17 of 69
ACR1252U-A1 – Application Programming Interface
Version 1.05
info@acs.com.hk
www.acs.com.hk
Byte Number
0
1
2
3
Page
Serial Number
SN0
SN1
SN2
BCC0
0
Serial Number
SN3
SN4
SN5
SN6
1
Internal/Lock
BCC1
Internal
Lock0
Lock1
2
OTP
OPT0
OPT1
OTP2
OTP3
3
Data read/write
Data0
Data1
Data2
Data3
4
Data read/write
Data4
Data5
Data6
Data7
5
Data read/write
Data8
Data9
Data10
Data11
6
Data read/write
Data12
Data13
Data14
Data15
7
Data read/write
Data16
Data17
Data18
Data19
8
Data read/write
Data20
Data21
Data22
Data23
9
Data read/write
Data24
Data25
Data26
Data27
10
Data read/write
Data28
Data29
Data30
Data31
11
Data read/write
Data32
Data33
Data34
Data35
12
Data read/write
Data36
Data37
Data38
Data39
13
Data read/write
Data40
Data41
Data42
Data43
14
Data read/write
Data44
Data45
Data46
Data47
15
512 bits
or
64 bytes
Table 4: MIFARE® Ultralight® Memory Map
Examples:
// To authenticate the Block 04h with a {TYPE A, key number 00h}. PC/SC V2.01, Obsolete
APDU = {FF 88 00 04 60 00h};
// To authenticate the Block 04h with a {TYPE A, key number 00h}. PC/SC V2.07
APDU = {FF 86 00 00 05 01 00 04 60 00h}
Note: MIFARE Ultralight does not need to do any authentication. The memory is free to access.
Page 18 of 69
ACR1252U-A1 – Application Programming Interface
Version 1.05
info@acs.com.hk
www.acs.com.hk
5.4.3.
Read Binary Blocks
This command is used for retrieving a multiple of “data blocks” from the PICC. The data block/trailer
block must be authenticated first before executing the “Read Binary Blocks” command.
Read Binary APDU Format (5 bytes)
Command
Class
INS
P1
P2
Le
Read Binary Blocks
FFh
B0h
00h
Block
Number
Number of Bytes to
Read
Where:
Block Number
1 byte.
The starting block.
Number of Bytes to Read
1 byte.
Multiple of 16 bytes for MIFARE Classic 1K/4K or Multiple of
4 bytes for MIFARE Ultralight.
Maximum of 16 bytes for MIFARE Ultralight.
Maximum of 48 bytes for MIFARE Classic 1K (Multiple
Blocks Mode; 3 consecutive blocks).
Maximum of 240 bytes for MIFARE Classic 4K (Multiple
Blocks Mode; 15 consecutive blocks).
Example 1: 10h (16 bytes). The starting block only (Single Block Mode).
Example 2: 40h (64 bytes). From the starting block to starting block+3 (Multiple Blocks
Mode).
Note: For security reasons, the Multiple Block Mode is used for accessing Data Blocks only.
The Trailer Block is not supposed to be accessed in Multiple Blocks Mode. Please use Single
Block Mode to access the Trailer Block.
Read Binary Block Response Format (Multiply of 4/16 + 2 bytes)
Response
Result
Data Out
Data (Multiple of 4/16 bytes)
SW1
SW2
Read Binary Block Response Codes
Results
SW1
SW2
Meaning
Success
90h
00h
The operation is completed successfully.
Error
63h
00h
The operation is failed.
Examples:
// Read 16 bytes from the binary block 04h (MIFARE Classic 1K or 4K)
APDU = FF B0 00 04 10h
// Read 240 bytes starting from the binary block 80h (MIFARE Classic 4K)
// Block 80h to Block 8Eh (15 blocks)
APDU = FF B0 00 80 F0h
Page 19 of 69
ACR1252U-A1 – Application Programming Interface
Version 1.05
info@acs.com.hk
www.acs.com.hk
5.4.4.
Update Binary Blocks
This command is used for writing a multiple of “data blocks” into the PICC. The data block/trailer block
must be authenticated first before executing this command.
Update Binary APDU Format (Multiple of 16 + 5 bytes)
Command
Class
INS
P1
P2
Lc
Data In
Update Binary
Blocks
FFh
D6h
00h
Block
Number
Number
of bytes
to update
Block Data
(Multiple of 16 bytes)
Where:
Block Number
1 byte. The starting block to be updated.
Number of bytes to update
1 byte.
Block Data
•
Multiple of 16 bytes for MIFARE Classic 1K/4K or 4 bytes
for MIFARE Ultralight.
•
Maximum 48 bytes for MIFARE Classic 1K (Multiple
Blocks Mode; 3 consecutive blocks).
•
Maximum 240 bytes for MIFARE 4K (Multiple Blocks
Mode; 15 consecutive blocks).
Multiple of 16 + 2 bytes, or 6 bytes. The data to be written
into the binary block/blocks.
Example 1: 10h (16 bytes). The starting block only (Single Block Mode).
Example 2: 30h (48 bytes). From the starting block to starting block +2 (Multiple Blocks
Mode).
Note: For safety reasons, the Multiple Block Mode is used for accessing data blocks only.
The Trailer Block is not supposed to be accessed in Multiple Blocks Mode. Please use Single
Block Mode to access the Trailer Block.
Update Binary Block Response Codes (2 bytes)
Results
SW1
SW2
Meaning
Success
90
00h
The operation is completed successfully.
Error
63
00h
The operation is failed.
Examples:
// Update the binary block 04h of MIFARE Classic 1K/4K with Data {00 01 .. 0Fh}
APDU = {FF D6 00 04 10 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0Fh}
// Update the binary block 04h of MIFARE Ultralight with Data {00 01 02 03h}
APDU = {FF D6 00 04 04 00 01 02 03h}
Page 20 of 69
ACR1252U-A1 – Application Programming Interface
Version 1.05
info@acs.com.hk
www.acs.com.hk
5.4.5.
Value Block Operation (INC, DEC, STORE)
This command is used for manipulating value-based transactions (e.g., increment a value of the value
block).
Value Block Operation APDU Format (10 bytes)
Command
Class
INS
P1
P2
Lc
Value Block
Operation
FFh
D7h
00h
Block
Number
05h
Data In
VB_OP
VB_Value
(4 Bytes)
{MSB .. LSB}
Where:
Block Number
1 byte. The value block to be manipulated.
VB_OP
1 byte.
00h = Store the VB_Value into the block. The block will then be
converted to a value block.
01h = Increment the value of the value block by the VB_Value. This
command is only valid for value block.
02h = Decrement the value of the value block by the VB_Value. This
command is only valid for value block.
VB_Value
4 bytes. The value used for value manipulation. The value is a signed
long integer (4 bytes).
Example 1: Decimal –4 = {FFh, FFh, FFh, FCh}
VB_Value
MSB
FFh
LSB
FFh
FFh
FCh
Example 2: Decimal 1 = {00h, 00h, 00h, 01h}
VB_Value
MSB
00h
LSB
00h
00h
01h
Value Block Operation Response Format (2 bytes)
Response
Result
Data Out
SW1
SW2
Value Block Operation Response Codes
Results
SW1
SW2
Meaning
Success
90
00h
The operation is completed successfully.
Error
63
00h
The operation is failed.
Page 21 of 69
ACR1252U-A1 – Application Programming Interface
Version 1.05
info@acs.com.hk
www.acs.com.hk
5.4.6.
Read Value Block
This command is used for retrieving the value from the value block. This command is only valid for
value block.
Read Value Block APDU Format (5 bytes)
Command
Class
INS
P1
P2
Le
Read Value Block
FFh
B1h
00h
Block Number
04h
Where:
Block Number
1 byte. The value block to be accessed.
Read Value Block Response Format (4 + 2 bytes)
Response
Result
Data Out
Value
{MSB .. LSB}
SW1
SW2
Where:
Value
4 bytes. The value returned from the card. The value is a signed long integer (4
bytes).
Example 1: Decimal –4 = {FFh, FFh, FFh, FCh}
Value
MSB
FFh
LSB
FFh
FFh
FCh
Example 2: Decimal 1 = {00h, 00h, 00h, 01h}
Value
MSB
00h
LSB
00h
00h
01h
Read Value Block Response Codes
Results
SW1
SW2
Meaning
Success
90
00h
The operation is completed successfully.
Error
63
00h
The operation is failed.
Page 22 of 69
ACR1252U-A1 – Application Programming Interface
Version 1.05
info@acs.com.hk
www.acs.com.hk
5.4.7.
Copy Value Block
This command is used for copying a value from a value block to another value block.
Copy Value Block APDU Format (7 bytes)
Command
Class
INS
P1
P2
Lc
Value Block
Operation
FFh
D7h
00h
Source
Block
Number
02h
Data In
03h
Target
Block
Number
Where:
Source Block Number
1 byte. The value of the source value block will be copied to the
target value block.
Target Block Number
1 byte. The value block to be restored. The source and target
value blocks must be in the same sector.
Copy Value Block Response Format (2 bytes)
Response
Result
Data Out
SW1
SW2
Copy Value Block Response Codes
Results
SW1
SW2
Meaning
Success
90
00h
The operation is completed successfully.
Error
63
00h
The operation is failed.
Examples:
// Store a value “1” into block 05h
APDU = {FF D7 00 05 05 00 00 00 00 01h}
// Read the value block 05h
APDU = {FF B1 00 05 04h}
// Copy the value from value block 05h to value block 06h
APDU = {FF D7 00 05 02 03 06h}
// Increment the value block 05h by “5”
APDU = {FF D7 00 05 05 01 00 00 00 05h}
Page 23 of 69
ACR1252U-A1 – Application Programming Interface
Version 1.05
info@acs.com.hk
www.acs.com.hk
5.5. Accessing PCSC-compliant tags (ISO 14443-4)
Basically, all ISO 14443-4 compliant cards (PICCs) understands the ISO 7816-4 APDUs. The
ACR1252U-A1 reader just has to communicate with the ISO 14443-4 compliant cards through
exchanging ISO 7816-4 APDUs and responses. ACR1252U will handle the ISO 14443 Parts 1-4
Protocols internally.
MIFARE Classic (1K/4K), MIFARE Mini and MIFARE Ultralight tags are supported through the T=CL
emulation. Just simply treat the MIFARE tags as standard ISO 14443-4 tags. For more information,
please refer to Section 4.3.
ISO 7816-4 APDU Format
Command
Class
INS
P1
P2
Lc
ISO 7816
Part 4
Command
Data In
Length of the
Data In
Le
Expected
length of the
Response
Data
ISO 7816-4 Response Format (Data + 2 bytes)
Response
Data Out
Result
Response Data
SW1
SW2
Common ISO 7816-4 Response Codes
Results
SW1 SW2
Meaning
Success
90 00h
The operation is completed successfully.
Error
63 00h
The operation is failed.
Typical sequence may be:
1. Present the tag and connect the PICC Interface.
2. Read/Update the memory of the tag.
To do this:
1. Connect the tag.
The ATR of the tag is 3B 88 80 01 00 00 00 00 33 81 81 00 3Ah.
In which,
The Application Data of ATQB = 00 00 00 00, protocol information of ATQB = 33 81 81. It is
an ISO 14443-4 Type B tag.
2. Send an APDU, Get Challenge.
<< 00 84 00 00 08h
>> 1A F7 F3 1B CD 2B A9 58h [90 00h]
Note: For ISO 14443-4 Type A tags, the ATS can be obtained by using the APDU “FF CA 01
00 00h.”
Page 24 of 69
ACR1252U-A1 – Application Programming Interface
Version 1.05
info@acs.com.hk
www.acs.com.hk
Example:
// Read 8 bytes from an ISO 14443-4 Type B PICC (ST19XR08E)
APDU = {80 B2 80 00 08h}
Class = 80h
INS = B2h
P1 = 80h
P2 = 00h
Lc = None
Data In = None
Le = 08h
Answer: 00 01 02 03 04 05 06 07h [$9000h]
Page 25 of 69
ACR1252U-A1 – Application Programming Interface
Version 1.05
info@acs.com.hk
www.acs.com.hk
5.6. Accessing FeliCa tags
For FeliCa access, the command is different with PCSC-compliant and MIFARE tags. The command
follows the FeliCa specification with an added header.
FeliCa Command Format
Command
Class
INS
P1
P2
Lc
Data In
FeliCa
Command
FFh
00h
00h
00h
Length of
the Data In
FeliCa Command (start
with Length Byte)
FeliCa Response Format (Data + 2 bytes)
Response
Data Out
Result
Response Data
Read Memory Block Example:
1. Connect the FeliCa.
The ATR = 3B 8F 80 01 80 4F 0C A0 00 00 03 06 11 00 3B 00 00 00 00 42h
In which, 11 00 3Bh = FeliCa
2. Read FeliCa IDM.
CMD = FF CA 00 00 00h
RES = [IDM (8bytes)] 90 00h
e.g., FeliCa IDM = 01 01 06 01 CB 09 57 03h
3. FeliCa command access.
Example: “Read” Memory Block.
CMD = FF 00 00 00 10 10 06 01 01 06 01 CB 09 57 03 01 09 01 01 80 00h
where:
Felica Command = 10 06 01 01 06 01 CB 09 57 03 01 09 01 01 80 00h
IDM = 01 01 06 01 CB 09 57 03h
RES = Memory Block Data
Page 26 of 69
ACR1252U-A1 – Application Programming Interface
Version 1.05
info@acs.com.hk
www.acs.com.hk
5.7. Peripherals Control
The reader’s peripherals control commands are implemented by using PC_to_RDR_Escape.
5.7.1.
Get Firmware Version
This command is used for getting the reader’s firmware message.
Get Firmware Version Format (5 bytes)
Command
Class
INS
P1
P2
Lc
Get Firmware Version
E0h
00h
00h
18h
00h
Get Firmware Version Response Format (5 bytes + Firmware Message Length)
Response
Class
INS
P1
P2
Le
Data Out
Result
E1h
00h
00h
00h
Number of bytes to receive
Firmware Version
Example:
Response = E1 00 00 00 0F 41 43 52 31 32 35 32 55 5F 56 31 30 30 2E 31
Firmware Version (HEX) = 41 43 52 31 32 35 32 55 5F 56 31 30 30 2E 31
Firmware Version (ASCII) = “ACR1252U_V100.1”
Page 27 of 69
ACR1252U-A1 – Application Programming Interface
Version 1.05
info@acs.com.hk
www.acs.com.hk
5.7.2.
LED Control
This command is used for controlling the LED’s output.
LED Control Format (6 bytes)
Command
Class
INS
P1
P2
Lc
Data In
LED Control
E0h
00h
00h
29h
01h
LED Status
LED Control Response Format (6 bytes)
Response
Class
INS
P1
P2
Le
Data Out
Result
E1h
00h
00h
00h
01h
LED Status
LED Status (1 byte)
LED Status
Description
Description
Bit 0
RED LED
1 = ON; 0 = OFF
Bit 1
GREEN LED
1 = ON; 0 = OFF
RFU
RFU
Bit 2 - 7
Page 28 of 69
ACR1252U-A1 – Application Programming Interface
Version 1.05
info@acs.com.hk
www.acs.com.hk
5.7.3.
LED Status
This command is used for checking the existing LED’s status.
LED Status Format (5 bytes)
Command
Class
INS
P1
P2
Lc
LED Status
E0h
00h
00h
29h
00h
LED Status Response Format (6 bytes)
Response
Class
INS
P1
P2
Le
Data Out
Result
E1h
00h
00h
00h
01h
LED Status
LED Status (1 byte)
LED Status
Description
Description
Bit 0
RED LED
1 = ON; 0 = OFF
Bit 1
GREEN LED
1 = ON; 0 = OFF
RFU
RFU
Bit 2 - 7
Page 29 of 69
ACR1252U-A1 – Application Programming Interface
Version 1.05
info@acs.com.hk
www.acs.com.hk
5.7.4.
Buzzer Control
This command is used for controlling the buzzer output.
Buzzer Control Format (6 bytes)
Command
Class
INS
P1
P2
Lc
Data In
Buzzer Control
E0h
00h
00h
28h
01h
Buzzer On Duration
Where:
Buzzer On Duration
1 byte.
00h = Turn OFF
01 to FFh = Duration (unit: 10 ms)
Buzzer Control Response Format (6 bytes)
Response
Class
INS
P1
P2
Le
Data Out
Result
E1h
00h
00h
00h
01h
00h
Page 30 of 69
ACR1252U-A1 – Application Programming Interface
Version 1.05
info@acs.com.hk
www.acs.com.hk
5.7.5.
Buzzer Status
This command is used for checking the existing buzzer status.
Buzzer Status Format (5 bytes)
Command
Class
INS
P1
P2
Lc
Buzzer Status
E0h
00h
00h
28h
00h
Buzzer Status Response Format (6 bytes)
Response
Class
INS
P1
P2
Le
Data Out
Result
E1h
00h
00h
00h
01h
00h
Page 31 of 69
ACR1252U-A1 – Application Programming Interface
Version 1.05
info@acs.com.hk
www.acs.com.hk
5.7.6.
Set LED and Buzzer Status Indicator Behavior for PICC Interface
This command is used for setting the behaviors of LEDs and buzzer as status indicators for PICC
interface.
Note: The setting will be saved into non-volatile memory.
Set LED and Buzzer Status Indicator Behavior Format (6 bytes)
Command
Class
INS
P1
P2
Lc
Data In
Set LED and Buzzer
Status Indicator Behavior
E0h
00h
00h
21h
01h
Behavior
Behavior (1 byte)
Behavior
Mode
Description
Bit 0
Card Operation Blinking LED
To blink the LED whenever the PICC
card is being accessed
Bit 1
PICC Polling Status LED
To show the PICC Polling Status
1 = Enable; 0 =Disable
Bit 2
PICC Activation Status LED
To show the activation status of the
PICC interface
1 = Enable; 0 =Disable
Bit 3
Card Insertion and Removal
Events Buzzer
To make a beep whenever a card
insertion or removal event is detected
(For PICC)
1 = Enable; 0 =Disabled
Bit 4
RFU
RFU
Bit 5
PN512 Reset Indication Buzzer
To make a beep when the PN512 is
reset.
1 = Enable; 0 = Disable
Bit 6
Color Select (GREEN)
GREEN LED for status change
1 = Enable; 0 = Disable
Bit 7
Color Select (RED)
RED LED for status change
1 = Enable; 0 = Disable
Note: Default value of Behavior = 7Fh
Set LED and Buzzer Status Indicator Behaviors for PICC Interface Response Format (6 bytes)
Response
Class
INS
P1
P2
Le
Data Out
Result
E1h
00h
00h
00h
01h
Default Behaviors
Page 32 of 69
ACR1252U-A1 – Application Programming Interface
Version 1.05
info@acs.com.hk
www.acs.com.hk
5.7.7.
Read LED and Buzzer Status Indicator Behavior for PICC Interface
This command is used for reading the current default behaviors of LEDs and buzzer for PICC
interface.
Read LED and Buzzer Status Indicator Behavior Format for PICC Interface (5 bytes)
Command
Class
INS
P1
P2
Lc
Read LED and Buzzer Status Indicator
Behavior
E0h
00h
00h
21h
00h
Read LED and Buzzer Status Indicator Behavior Response Format for PICC Interface (6 bytes)
Response
Class
INS
P1
P2
Le
Data Out
Result
E1h
00h
00h
00h
01h
Behaviors
Behavior (1 byte)
Behavior
Mode
Description
Bit 0
Card Operation Blinking LED
To blink the LED whenever the PICC
card is being accessed
Bit 1
PICC Polling Status LED
To show the PICC Polling Status
1 = Enable; 0 =Disable
Bit 2
PICC Activation Status LED
To show the activation status of the
PICC interface
1 = Enable; 0 =Disable
Bit 3
Card Insertion and Removal
Events Buzzer
To make a beep whenever a card
insertion or removal event is
detected(For PICC)
1 = Enable; 0 =Disabled
Bit 4
RFU
RFU
Bit 5
PN512 Reset Indication Buzzer
To make a beep when the PN512 is
reset.
1 = Enable; 0 = Disable
Bit 6
Color Select (GREEN)
GREEN LED for status change
1 = Enable; 0 = Disable
Bit 7
Color Select (RED)
RED LED for status change
1 = Enable; 0 = Disable
Note: Default value of Behavior = 7Fh
Page 33 of 69
ACR1252U-A1 – Application Programming Interface
Version 1.05
info@acs.com.hk
www.acs.com.hk
5.7.8.
Set Automatic PICC Polling
This command is used for setting the reader’s polling mode.
Whenever the reader is connected to the PC, the PICC polling function will start the PICC scanning to
determine if a PICC is placed on/removed from the built-in antenna.
You can send a command to disable the PICC polling function. The command is sent through the
PCSC Escape command interface. To meet the energy saving requirement, special modes are
provided for turning off the antenna field whenever the PICC is inactive, or no PICC is found. The
reader will consume less current in power saving mode.
Note: The setting will be saved into non-volatile memory.
Set Automatic PICC Polling Format (6 bytes)
Command
Class
INS
P1
P2
Lc
Data In
Set Automatic PICC Polling
E0h
00h
00h
23h
01h
Polling Setting
Set Automatic PICC Polling Response Format (6 bytes)
Response
Class
INS
P1
P2
Le
Data Out
Result
E1h
00h
00h
00h
01h
Polling Setting
Polling Setting (1 byte)
Polling
Setting
Mode
Description
Bit 0
Auto PICC Polling
1 = Enable; 0 =Disable
Bit 1
Turn off Antenna Field if no
PICC is found.
1 = Enable; 0 =Disable
Bit 2
Turn off Antenna Field if the
PICC is inactive.
1 = Enable; 0 =Disable
Bit 3
Activate the PICC when
detected.
1 = Enable; 0 =Disable
PICC Poll Interval for PICC
<Bit 5 – Bit 4>
<0 – 0> = 250 ms
<0 – 1> = 500 ms
<1 – 0> = 1000 ms
<1 – 1> = 2500 ms
Bit 5 .. 4
Bit 6
RFU
Bit 7
Enforce ISO 14443-A Part 4
1= Enable; 0= Disable.
Note: Default value of Polling Setting = 8Fh.
Page 34 of 69
ACR1252U-A1 – Application Programming Interface
Version 1.05
info@acs.com.hk
www.acs.com.hk
Reminders:
1. It is recommended to enable the option “Turn Off Antenna Field if the PICC is inactive”, so
that the “Inactive PICC” will not be exposed to the field all the time to prevent the PICC from
“warming up”.
2. The longer the PICC Poll Interval, the more efficient of energy saving. However, the response
time of PICC Polling will become longer. The Idle Current Consumption in Power Saving
Mode is about 60 mA, while the Idle Current Consumption in Non-Power Saving mode is
about 130mA.
Note: Idle Current Consumption = PICC is not activated.
3. The reader will activate the ISO 14443A-4 mode of the “ISO 14443A-4 compliant PICC”
automatically. Type B PICC will not be affected by this option.
4. The JCOP30 card comes with two modes: ISO 14443A-3 (MIFARE Classic 1K) and ISO
14443A-4 modes. The application has to decide which mode should be selected once the
PICC is activated.
Page 35 of 69
ACR1252U-A1 – Application Programming Interface
Version 1.05
info@acs.com.hk
www.acs.com.hk
5.7.9.
Read Automatic PICC Polling
This command is used for checking the current PICC polling setting.
Read Automatic PICC Polling Format (5 bytes)
Command
Class
INS
P1
P2
Lc
Read Automatic PICC Polling
E0h
00h
00h
23h
00h
Read the Configure Mode Response Format (6 bytes)
Response
Class
INS
P1
P2
Le
Data Out
Result
E1h
00h
00h
00h
01h
Polling Setting
Polling Setting (1 byte)
Polling
Setting
Mode
Description
Bit 0
Auto PICC Polling
1 = Enable; 0 =Disable
Bit 1
Turn off Antenna Field if no
PICC is found.
1 = Enable; 0 =Disable
Bit 2
Turn off Antenna Field if the
PICC is inactive.
1 = Enable; 0 =Disable
Bit 3
Activate the PICC when
detected.
1 = Enable; 0 =Disable
PICC Poll Interval for PICC
<Bit 5 – Bit 4>
<0 – 0> = 250 ms
<0 – 1> = 500 ms
<1 – 0> = 1000 ms
<1 – 1> = 2500 ms
Bit 5 .. 4
Bit 6
RFU
Bit 7
Enforce ISO 14443-A Part 4
1= Enable; 0= Disable.
Note: Default value of Polling Setting = 8Fh.
Page 36 of 69
ACR1252U-A1 – Application Programming Interface
Version 1.05
info@acs.com.hk
www.acs.com.hk
5.7.10.
Set PICC Operating Parameter
This command is used for setting the PICC operating parameter.
Note: The setting will be saved into non-volatile memory.
Set the PICC Operating Parameter Format (6 bytes)
Command
Class
INS
P1
P2
Lc
Data In
Set the PICC Operating
Parameter
E0h
00h
00h
20h
01h
Operation Parameter
Set the PICC Operating Parameter Response Format (6 bytes)
Response
Class
INS
P1
P2
Le
Data Out
Result
E1
00h
00h
00h
01h
Operation Parameter
Operating Parameter (1 byte)
Operating
Parameter
Parameter
Description
Option
Bit 0
ISO 14443 Type A
1 = Detect
0 = Skip
Bit 1
ISO 14443 Type B
1 = Detect
0 = Skip
Bit 2
FeliCa 212 Kbps
Bit 3
FeliCa 424 Kbps
1 = Detect
0 = Skip
Bit 4
Topaz
1 = Detect
0 = Skip
Bit 5 - 7
The Tag Types to be detected during
PICC Polling.
RFU
RFU
1 = Detect
0 = Skip
RFU
Note: Default value of Operation Parameter = 1Fh.
Page 37 of 69
ACR1252U-A1 – Application Programming Interface
Version 1.05
info@acs.com.hk
www.acs.com.hk
5.7.11.
Read PICC Operating Parameter
This command is used for checking the current PICC operating parameter.
Read the PICC Operating Parameter Format (5 bytes)
Command
Class
INS
P1
P2
Lc
Read the PICC Operating Parameter
E0h
00h
00h
20h
00h
Read the PICC Operating Parameter Response Format (6 bytes)
Response
Class
INS
P1
P2
Le
Data Out
Result
E1h
00h
00h
00h
01h
Operation Parameter
Operating Parameter (1 byte)
Operating
Parameter
Parameter
Description
Option
Bit 0
ISO 14443 Type A
1 = Detect
0 = Skip
Bit 1
ISO 14443 Type B
1 = Detect
0 = Skip
Bit 2
FeliCa 212 Kbps
Bit 3
FeliCa 424 Kbps
1 = Detect
0 = Skip
Bit 4
Topaz
1 = Detect
0 = Skip
Bit 5 - 7
The Tag Types to be detected during
PICC polling.
RFU
RFU
1 = Detect
0 = Skip
RFU
Note: Default value of Operation Parameter = 1Fh.
Page 38 of 69
ACR1252U-A1 – Application Programming Interface
Version 1.05
info@acs.com.hk
www.acs.com.hk
5.8. NFC Peer-to-Peer Mode-related Commands
5.8.1.
Initiator Mode-related Commands
This section provides the commands that can be used in Initiator Mode. The figure below shows the
peer-to-peer flow of commands for Initiator Mode.
Figure 4: Peer-to-Peer Flow for Initiator Mode
Page 39 of 69
ACR1252U-A1 – Application Programming Interface
Version 1.05
info@acs.com.hk
www.acs.com.hk
5.8.1.1.
Set Initiator Mode Timeout
This command is used to set the timeout for Initiator Mode.
Set Initiator Mode Timeout Command Format (7 bytes)
Command
Class
INS
P1
P2
Lc
Set Initiator Mode
E0h
00h
00h
41h
02h
Data In
Timeout
(MSB)
Timeout
(LSB)
Note: Unit = 10 ms, default value of Initiator Mode Timeout = 00 64h (100 * 10 ms = 1000 ms).
Set Initiator Mode Timeout Response Format (7 bytes)
Response
Class
INS
P1
P2
Le
Result
E1h
00h
00h
00h
02h
Data Out
Timeout
(MSB)
Timeout
(LSB)
Where:
Timeout
2 bytes. Timeout for Initiator Mode (unit = 10 ms).
Page 40 of 69
ACR1252U-A1 – Application Programming Interface
Version 1.05
info@acs.com.hk
www.acs.com.hk
5.8.1.2.
Enter Initiator Mode
This command is to set the reader into Initiator Mode, in order to send out SNEP Message.
Enter Initiator Mode Command Format (8 bytes)
Command
Class
INS
P1
P2
Lc
Enter Initiator
Mode
E0h
00h
00h
40h
03h
Data In
NFCMode
OpMode
Speed
Enter Initiator Mode Response Format (8 bytes)
Response
Class
INS
P1
P2
Le
Result
E1h
00h
00h
00h
03h
Data Out
NFCMode
OpMode
Speed
Where:
NFCMode
1 byte. NFC Device Mode.
01h = MIFARE Ultralight Card Emulation Mode
03h = FeliCa Card Emulation Mode
08h = Peer-to-Peer Initiator Mode
00h = Card Read/Write Mode
OpMode
1 byte. Active Mode/Passive Mode.
01h = Active Mode
02h = Passive Mode
Speed
1 byte. Communication Speed.
01h = 106 Kbps
02h = 212 Kbps
03h = 424 Kbps
After executing Enter Initiator Mode command, the reader will wait for the NFC device, which in Target
Mode, will present and send out the pre-set SNEP Message to it. The reader will stop all other tasks
until the SNEP Message is sent successfully.
Page 41 of 69
ACR1252U-A1 – Application Programming Interface
Version 1.05
info@acs.com.hk
www.acs.com.hk
5.8.1.3.
Send ATR Request
This command is used to send an ATR_REQ to peer-to-peer Target Mode device within the field.
ATR Request Command Format
Command
Class
INS
P1
P2
Lc
ATR
Request
E0h
00h
00h
42h
Len
Data In
11h
Mode
(1 byte)
Speed
(1 byte)
NFCID
(10 bytes)
DID
(1 byte)
Data In
BS
(1 byte)
BR
(1 byte)
LLCP Parameter
PP
(1 byte)
GiLen (1 byte)
Gi (GiLen bytes)
ATR Request Response Format
Response
Class
INS
P1
P2
Le
Data Out
Result
E1h
00h
00h
00h
Len
ATR Response (Len bytes)
Where:
Mode
1 byte. Operation Mode.
01h = Active
02h = Passive
Speed
1 byte. Communication Speed.
01h = 106 Kbps
02h = 212 Kbps
03h = 424 Kbps
NFCID
10 bytes. Initiator device’s NFCID.
DID
1 byte. Initiator device’s Device Identification.
BS
1 byte. Initiator device’s support send-bit rates.
BR
1 byte. Initiator device’s support bit rates.
PP
1 byte. Initiator device’s optional parameters.
Gi
N bytes. LLCP parameter.
Page 42 of 69
ACR1252U-A1 – Application Programming Interface
Version 1.05
info@acs.com.hk
www.acs.com.hk
5.8.1.4.
Exchange DEP
This command is used to exchange DEP with target device.
DEP Exchange Command Format
Command
Class
INS
P1
P2
Lc
DEP
Exchange
E0h
00h
00h
43h
Len
Data In
11h
PFB
(1 byte)
DepLen
(1 byte)
Dep
(N bytes)
DEP Exchange Response Format
Response
Class
INS
P1
P2
Le
Data Out
Result
E1h
00h
00h
00h
Len
Dep Response (Len bytes)
Where:
PFB
1 byte. Control the data transmission and error recovery.
DepLen
1 byte. DEP message length.
Dep
N bytes. DEP message for peer-to-peer communication.
Page 43 of 69
ACR1252U-A1 – Application Programming Interface
Version 1.05
info@acs.com.hk
www.acs.com.hk
5.8.1.5.
Send DSL Request
This command is used to send DSL request to target device.
DSL Request Command Format
Command
Class
INS
P1
P2
Lc
DSL request
E0h
00h
00h
44h
02h
Data In
11h
DID
(1 byte)
Where:
DID
1 byte. Device Identification.
DSL Request Response Format
Response
Class
INS
P1
P2
Le
Data Out
Result
E1h
00h
00h
00h
02h
Return Code (2 bytes)
Return Code
Results
SW1 SW2
Meaning
Success
90 00h
The operation is completed successfully.
Error
63 00h
The operation is failed.
Page 44 of 69
ACR1252U-A1 – Application Programming Interface
Version 1.05
info@acs.com.hk
www.acs.com.hk
5.8.1.6.
Send RLS Request
This command is used to send RLS request to target device.
RLS Request Command Format
Command
Class
INS
P1
P2
Lc
RLS request
E0h
00h
00h
45h
02h
Data In
11h
DID
(1 byte)
Where:
DID
1 byte. Device Identification.
RLS Request Response Format
Response
Class
INS
P1
P2
Le
Data Out
Result
E1h
00h
00h
00h
02h
Return Code (2 bytes)
Return Code
Results
SW1 SW2
Meaning
Success
90 00h
The operation is completed successfully.
Error
63 00h
The operation is failed.
Page 45 of 69
ACR1252U-A1 – Application Programming Interface
Version 1.05
info@acs.com.hk
www.acs.com.hk
5.8.2.
Target Mode-related Commands
This section provides the commands that can be used when in Target Mode. The figure below shows
the peer-to-peer flow of commands for Target Mode.
Figure 5: Peer-to-Peer Flow for Target Mode
Page 46 of 69
ACR1252U-A1 – Application Programming Interface
Version 1.05
info@acs.com.hk
www.acs.com.hk
5.8.2.1.
Set Target Mode Timeout
This command is used to set the timeout for the reader in Target Mode.
Set Target Timeout Command Format
Command
Class
INS
P1
P2
Lc
Set Target
Timeout
E0h
00h
00h
59h
02h
Data In
Timeout
(MSB)
Timeout
(LSB)
Note: Unit = 100 µs, default value of Target Timeout = 00 C8h (200 * 100 µs = 20 ms).
Set Target Timeout Response Format
Response
Class
INS
P1
P2
Le
Result
E1h
00h
00h
00h
02h
Data Out
Timeout
(MSB)
Timeout
(LSB)
Where:
Timeout
2 bytes. Timeout for Target Mode (unit =100 µs).
Page 47 of 69
ACR1252U-A1 – Application Programming Interface
Version 1.05
info@acs.com.hk
www.acs.com.hk
5.8.2.2.
Enter Target Mode
This command is used to set the reader into Target Mode to receive SNEP Message.
Enter Target Mode Command Format (8 bytes)
Command
Class
INS
P1
P2
Lc
Enter Target Mode
E0h
00h
00h
51h
02h
Data In
Speed
OpMode
Enter Target Mode Response Format (8 bytes)
Response
Class
INS
P1
P2
Le
Result
E1h
00h
00h
00h
02h
Data Out
Speed
OpMode
Enter Target Mode Response Format
Response
Class
INS
P1
P2
Le
Result
E1h
00h
00h
00h
02h
Data Out
Speed
OpMode
Where:
Speed
1 byte. Communication Speed.
01h = 106 Kbps
02h = 212 Kbps
03h = 424 Kbps
OpMode
1 byte. Active Mode/Passive Mode.
01h = Active Mode
02h = Passive Mode
After executing Enter Target Mode, the reader will wait for the NFC device, which in Initiator Mode,
will present and receive the SNEP message. The reader will stop all other tasks until the SNEP
Message is exchanged successfully.
Page 48 of 69
ACR1252U-A1 – Application Programming Interface
Version 1.05
info@acs.com.hk
www.acs.com.hk
5.8.2.3.
Send ATR Response
This command is used to send ATR response for the Initiator’s ATR request.
ATR Response Command Format
Command
Class
INS
P1
P2
Lc
Data In
ATR
Response
E0h
00h
00h
52h
Len
LLCP Parameter
(N bytes)
Where:
LLCP Parameter
N bytes. ATR response’s General Byte.
ATR Response Format
Response
Class
INS
P1
P2
Le
Data Out
Result
E1h
00h
00h
00h
02h
Return Code
(2 bytes)
Return Code
Results
SW1 SW2
Meaning
Success
90 00h
The operation is completed successfully.
Error
63 00h
The operation is failed.
Page 49 of 69
ACR1252U-A1 – Application Programming Interface
Version 1.05
info@acs.com.hk
www.acs.com.hk
5.8.2.4.
Send DEP Response
This command is used to send DEP response for the Initiator’s DEP request.
DEP Response Command Format
Command
Class
INS
P1
P2
Lc
DEP
Response
E0h
00h
00h
53h
Len
Data In
PFB
(1 byte)
DEP
Message
(N bytes)
Where:
PFB
1 byte. Control the data transmission and error recovery.
DEP Message
N bytes. DEP response.
DEP Response Format
Response
Class
INS
P1
P2
Le
Data Out
Result
E1h
00h
00h
00h
02h
Return Code
(2 bytes)
Return Code
Results
SW1 SW2
Meaning
Success
90 00h
The operation is completed successfully.
Error
63 00h
The operation is failed.
Page 50 of 69
ACR1252U-A1 – Application Programming Interface
Version 1.05
info@acs.com.hk
www.acs.com.hk
5.8.2.5.
Send DSL Response
This command is used to send DSL response for the Initiator’s DSL request.
DSL Response Command Format
Command
Class
INS
P1
P2
Lc
DSL Response
E0h
00h
00h
54h
00h
DSL Response Format
Response
Class
INS
P1
P2
Le
Data Out
Result
E1h
00h
00h
00h
02h
Return Code
(2 bytes)
Return Code
Results
SW1 SW2
Meaning
Success
90 00h
The operation is completed successfully.
Error
63 00h
The operation is failed.
Page 51 of 69
ACR1252U-A1 – Application Programming Interface
Version 1.05
info@acs.com.hk
www.acs.com.hk
5.8.2.6.
Send RLS Response
This command is used to send RLS response for the Initiator’s RLS request.
RLS Response Command Format
Command
Class
INS
P1
P2
Lc
RLS Response
E0h
00h
00h
55h
00h
RLS Response Format
Response
Class
INS
P1
P2
Le
Data Out
Result
E1h
00h
00h
00h
02h
Return Code
(2 bytes)
Return Code
Results
SW1 SW2
Meaning
Success
90 00h
The operation is completed successfully.
Error
63 00h
The operation is failed.
Page 52 of 69
ACR1252U-A1 – Application Programming Interface
Version 1.05
info@acs.com.hk
www.acs.com.hk
5.8.2.7.
Send PSL Response
This command is used to send PSL response for the Initiator’s PSL request.
PSL Response Command Format
Command
Class
INS
P1
P2
Lc
PSL
Response
E0h
00h
00h
56h
02h
Data In
BRS
(1 byte)
FSL
(1 byte)
Where:
BRS
1 byte. BRS Parameter.
FSL
1 byte. FSL Parameter.
PSL Response Format
Response
Class
INS
P1
P2
Le
Data Out
Result
E1h
00h
00h
00h
02h
Return Code (2 bytes)
Return Code
Results
SW1 SW2
Meaning
Success
90 00h
The operation is completed successfully.
Error
63 00h
The operation is failed.
Page 53 of 69
ACR1252U-A1 – Application Programming Interface
Version 1.05
info@acs.com.hk
www.acs.com.hk
5.8.2.8.
Send WUP Response
This command is used to send WUP response for the Initiator’s WUP request.
WUP Response Command Format
Command
Class
INS
P1
P2
Lc
WUP
Response
E0h
00h
00h
55h
00h
WUP Response Format
Response
Class
INS
P1
P2
Le
Data Out
Result
E1h
00h
00h
00h
02h
Return Code (2 bytes)
Return Code
Results
SW1 SW2
Meaning
Success
90 00h
The operation is completed successfully.
Error
63 00h
The operation is failed.
Page 54 of 69
ACR1252U-A1 – Application Programming Interface
Version 1.05
info@acs.com.hk
www.acs.com.hk
5.8.2.9.
Get Received Data
This command is used to get the data received from NFC Initiator device.
Get Received Data Command Format (5 bytes)
Command
Class
INS
P1
P2
Lc
Get Received Data
E0h
00h
00h
58h
00h
Get Received Data Response Format (11 bytes)
Response
Class
INS
P1
P2
Le
Data Out
Result
E1h
00h
00h
00h
SNEP Message Len
SNEP Message
Where:
SNEP Message Len
1 byte. Length of the received SNEP Message.
SNEP Message
Received SNEP message from Initiator devices.
Page 55 of 69
ACR1252U-A1 – Application Programming Interface
Version 1.05
info@acs.com.hk
www.acs.com.hk
5.9. NFC Card Emulation Mode-related Commands
5.9.1.1.
Enter Card Emulation Mode
This command is used to set the reader into card emulation mode, in order to emulate a MIFARE
Ultralight or a FeliCa Card.
Note: Lock byte is not supported in emulated MIFARE Ultralight. UID is user programmable.
Enter Card Emulation Mode Command Format (8 bytes)
Command
Class
INS
P1
P2
Lc
Enter Card Emulation
Mode
E0h
00h
00h
40h
03h
Data In
NFCMode
00h
00h
Enter Card Emulation Mode Response Format (8 bytes)
Response
Class
INS
P1
P2
Le
Result
E1h
00h
00h
00h
03h
Data Out
NFCMode
01h
01h
Where:
NFCMode
1 byte. NFC Device Mode.
01h = MIFARE Ultralight Card Emulation Mode
03h = FeliCa Card Emulation Mode
06h = Peer-to-Peer Initiator Mode
Other = Card Read/Write Mode
Page 56 of 69
ACR1252U-A1 – Application Programming Interface
Version 1.05
info@acs.com.hk
www.acs.com.hk
Byte Number
0
1
2
3
Byte Address
access by USB
Serial Number
SN0
SN1
SN2
BCC0
Nil
Serial Number
SN3
SN4
SN5
SN6
Nil
Internal/Lock
BCC1
Internal
Lock0
Lock1
Nil
Data read/write
Data0
Data1
Data2
Data3
0-3
Data read/write
Data4
Data5
Data6
Data7
4-7
Data read/write
Data8
Data9
Data10
Data11
8-11
Data read/write
Data12
Data13
Data14
Data15
12-15
Data read/write
Data16
Data17
Data18
Data19
16-19
Data read/write
Data20
Data21
Data22
Data23
20-23
Data read/write
Data24
Data25
Data26
Data27
24-27
Accessible
area
Data read/write
Data28
Data29
Data30
Data31
28-31
(52 bytes)
Data read/write
Data32
Data33
Data34
Data35
32-35
Data read/write
Data36
Data37
Data38
Data39
36-39
Data read/write
Data40
Data41
Data42
Data43
40-43
Data read/write
Data44
Data45
Data46
Data47
44-47
Data read/write
Data48
Data49
Data50
Data51
48-51
Table 5: MIFARE® Ultralight® Memory Map (53 bytes)
Where:
Default SN[0-6]
{04h, 96h, 50h, 01h, F4h, 02h, 80h}
Default Data[0-3]
{E1h, 10h, 06h, 00h} //NFC Type2Tag
Page 57 of 69
ACR1252U-A1 – Application Programming Interface
Version 1.05
info@acs.com.hk
www.acs.com.hk
Memory
1 Block data (16 Byte)
Byte Address
access by USB
Data read/write
Block 0
0-15
Data read/write
Block 1
16-31
Data read/write
Block 2
32-47
Data read/write
Block 3
48-63
Data read/write
Block 4
64-79
Data read/write
Block 5
80-95
Data read/write
Block 6
96-111
Data read/write
Block 7
112-127
Data read/write
Block 8
128-143
Data read/write
Block 9
144-159
Table 6: FeliCa Memory Map (160 bytes)
Where:
Default:
Block 0 data: {10h, 01h, 01h, 00h, 09h, 00h, 00h,
00h, 00h, 00h, 01h, 00h, 00h, 00h, 00h, 1Ch}
Default Block 0 data
NFC Type3 Tag Attribute Information Block
Notes:
1. FeliCa card emulation support Read/Write without Encryption
2. FeliCa Card Identification Number in IDm is user programmable while Manufacturer Code is
fixed at (03 88).
Page 58 of 69
ACR1252U-A1 – Application Programming Interface
Version 1.05
info@acs.com.hk
www.acs.com.hk
5.9.1.2.
Read Card Emulation Data (MIFARE® Ultralight® or FeliCa)
This command is used to read the emulated card content.
Read Card Emulation Data Command Format (9 bytes)
Command
Class
INS
P1
P2
Lc
Read Card
Emulation
Data
E0h
00h
00h
60h
04h
Data In
00h
NFCMode
StartOffset
Length
Read Card Emulation Data Response Format (8 bytes)
Response
Class
INS
P1
P2
Le
Data Out
Result
E1h
00h
00h
00h
Length
Data being read
Where:
NFCMode
1 byte. NFC Device Mode.
01h = MIFARE Ultralight Card Emulation Mode
03h = FeliCa Card Emulation Mode
StartOffset
1 byte. Address start to read.
Length
1 byte. Number of byte going to read.
Data being read
The output data.
Page 59 of 69
ACR1252U-A1 – Application Programming Interface
Version 1.05
info@acs.com.hk
www.acs.com.hk
5.9.1.3.
Write Card Emulation Data (MIFARE® Ultralight® or FeliCa)
This command is used to write to the emulated card.
Write Card Emulation Data Command Format
Command
Class
INS
P1
P2
Lc
Data In
Write Card
Emulation
Data
E0h
00h
00h
60h
Length
+4
01h
NFCMode
StartOffset
Length
Data to
write
Write Card Emulation Data Response Format (8 bytes)
Response
Class
INS
P1
P2
Le
Result
E1h
00h
00h
00h
03h
Data Out
Write length
90h
00h
Where:
NfcMode
1 byte. NFC Device Mode.
01h = MIFARE Ultralight Card Emulation Mode
03h = FeliCa Card Emulation Mode
StartOffset
1 byte. Address start to read.
Length
1 byte. Number of bytes to write.
Data to Write
The binary data to write.
Page 60 of 69
ACR1252U-A1 – Application Programming Interface
Version 1.05
info@acs.com.hk
www.acs.com.hk
5.9.1.4.
Set Card Emulation of MIFARE® Ultralight® UID
This command is used to set the UID of the emulated MIFARE Ultralight card.
Set Card Emulation MIFARE Ultralight UID Command Format (12 bytes)
Command
Class
INS
P1
P2
Lc
Data In
Set Card Emulation
E0h
00h
00h
61h
07h
7 bytes UID
Set Card Emulation MIFARE Ultralight UID Response Format (7 bytes)
Response
Class
INS
P1
P2
Le
Data Out
Result
E1h
00h
00h
00h
02h
90h
00h
Where:
UID
7 bytes. 7 bytes MIFARE UID.
Page 61 of 69
ACR1252U-A1 – Application Programming Interface
Version 1.05
info@acs.com.hk
www.acs.com.hk
5.9.1.5.
Set Card Emulation FeliCa IDm
This command is to set the 6-byte FeliCa Card Identification number on emulated FeliCa card.
Set Card Emulation FeliCa Card Identification number Command Format (11 bytes)
Command
Class
INS
P1
P2
Lc
Data In
Enter Initiator Mode
E0h
00h
00h
64h
06h
IDm
Set Card Emulation FeliCa Card Identification number Response Format (11 bytes)
Response
Class
INS
P1
P2
Le
Data Out
Result
E1h
00h
00h
00h
06h
IDm
Where:
IDm
6 bytes.
Page 62 of 69
ACR1252U-A1 – Application Programming Interface
Version 1.05
info@acs.com.hk
www.acs.com.hk
5.9.1.6.
Set Card Emulation Lock Data in NFC
This command is to set the lock for card emulation data in NFC communication. If the data is locked, it
is protected from being overwritten via NFC.
Set Card Emulation Lock Data in NFC Command Format (6 bytes)
Command
Class
INS
P1
P2
Lc
Data In
Enter Initiator Mode
E0h
00h
00h
65h
01h
Lock
Set Card Emulation lock data in NFC Response Format (7 bytes)
Response
Class
INS
P1
P2
Le
Data Out
Result
E1h
00h
00h
00h
01h
Lock
Where:
Lock
1 byte. Protect the data from being overwritten via NFC.
Lock Parameter
Bit
Parameter
Description
7-2
Reserved
Reserved
1
FeliCa Lock Enable
0
MIFARE Ultralight
Lock Enable
Data cannot be modified via NFC.
The data can still be modified by
using the USB escape command.
Option
0: Lock disable
1: Lock enable
0: Lock disable
1: Lock enable
Page 63 of 69
ACR1252U-A1 – Application Programming Interface
Version 1.05
info@acs.com.hk
www.acs.com.hk
5.10. ACR122U Compatible Commands
5.10.1.
Bi-color LED and Buzzer Control
This command is used to control the states of the Bi-Color LED and Buzzer.
Bi-Color LED and Buzzer Control Command Format (9 bytes)
Command
Class
INS
P1
P2
Lc
Data In (4 Bytes)
Bi-Color LED and
Buzzer Control
FFh
00h
40h
LED State
Control
04h
Blinking Duration
Control
P2: LED State Control
Bi-color LED and Buzzer Control Format (1 byte)
CMD
Item
Description
Bit 0
Final Red LED State
1 = On; 0 = Off
Bit 1
Final Green LED State
1 = On; 0 = Off
Bit 2
Red LED State Mask
1 = Update the State
0 = No change
Bit 3
Green LED State Mask
1 = Update the State
0 = No change
Bit 4
Initial Red LED Blinking State
1 = On; 0 = Off
Bit 5
Initial Green LED Blinking State
1 = On; 0 = Off
Bit 6
Red LED Blinking Mask
1 = Blink
0 = Not Blink
Bit 7
Green LED Blinking Mask
1 = Blink
0 = Not Blink
Data In: Blinking Duration Control
Bi-color LED Blinking Duration Control Format (4 bytes)
Byte 0
Byte 1
Byte 2
Byte 3
T1 Duration
Initial Blinking State
(Unit = 100 ms)
T2 Duration
Toggle Blinking State
(Unit = 100 ms)
Number of
repetition
Link to Buzzer
Where:
Byte 3
Link to Buzzer. Control the buzzer state during the LED Blinking.
00h = The buzzer will not turn on.
01h = The buzzer will turn on during the T1 Duration.
02h = The buzzer will turn on during the T2 Duration.
03h = The buzzer will turn on during the T1 and T2 Duration.
Page 64 of 69
ACR1252U-A1 – Application Programming Interface
Version 1.05
info@acs.com.hk
www.acs.com.hk
Data Out
SW1 SW2. Status Code returned by the reader.
Status Code
Results
SW1
SW2
Meaning
Success
90h
Current LED State
The operation is completed successfully.
Error
63h
00h
The operation is failed.
Current LED State (1 byte)
Status
Item
Description
Bit 0
Current Red LED
1 = On; 0 = Off
Bit 1
Current Green LED
1 = On; 0 = Off
RFU
RFU
Bits 2 – 7
Reminders:
1. The LED State operation will be performed after the LED Blinking operation is completed.
2. The LED will not change if the corresponding LED Mask is not enabled.
3. The LED will not blink if the corresponding LED Blinking Mask is not enabled. Also, the
number of repetition must be greater than zero.
4. T1 and T2 duration parameters are used for controlling the duty cycle of LED blinking and
Buzzer Turn-On duration. For example, if T1=1 and T2=1, the duty cycle = 50%.
Note: Duty Cycle = T1 / (T1 + T2).
5. To control the buzzer only, just set the P2 “LED State Control” to zero.
6. To make the buzzer operate, the “number of repetition” must greater than zero.
7. To control the LED only, just set the parameter “Link to Buzzer” to zero.
Page 65 of 69
ACR1252U-A1 – Application Programming Interface
Version 1.05
info@acs.com.hk
www.acs.com.hk
5.10.2.
Get Firmware Version
This command is used to retrieve the firmware version of the reader.
Get Firmware Version Command Format (5 bytes)
Command
Class
INS
P1
P2
Le
Get Firmware
FFh
00h
48h
00h
00h
Get Firmware Version Response Format (X bytes)
Response
Data Out
Result
Firmware Version
Example:
Response = 41 43 52 31 32 35 32 55 5F 56 31 30 30 2E 31h = ACR1252U_V100.1 (ASCII)
Page 66 of 69
ACR1252U-A1 – Application Programming Interface
Version 1.05
info@acs.com.hk
www.acs.com.hk
5.10.3.
Get the PICC Operating Parameter
This command is used to get the PICC operating parameter of the reader.
Get the PICC Operating Parameter Command Format (5 bytes)
Command
Class
INS
P1
P2
Le
Get PICC Operation Parameter
FFh
00h
50h
00h
00h
Get the PICC Operating Parameter Response Format (2 byte)
Response
Data Out
Result
90h
PICC Operating Parameter
PICC Operating Parameter
Bit
Parameter
Description
Option
7
Auto PICC Polling
To enable the PICC Polling
1 = Enable
0 = Disable
6
Auto ATS Generation
To issue ATS Request whenever an
ISO14443-4 Type A tag is activated
1 = Enable
0 = Disable
5
Polling Interval
To set the time interval between
successive PICC Polling.
1 = 250 ms
0 = 500 ms
4
FeliCa 424 Kbps
1 = Detect
0 = Skip
3
FeliCa 212 Kbps
1 = Detect
0 = Skip
2
Topaz
1 = Detect
0 = Skip
The Tag Types to be detected during
PICC Polling.
1
ISO14443 Type B
1 = Detect
0 = Skip
0
ISO14443 Type A
Note: To detect the
MIFARE Tags, the Auto
ATS Generation must be
disabled first.
1 = Detect
0 = Skip
Page 67 of 69
ACR1252U-A1 – Application Programming Interface
Version 1.05
info@acs.com.hk
www.acs.com.hk
5.10.4.
Set the PICC Operating Parameter
This command is used to set the PICC operating parameter of the reader.
Set PICC operation Parameter Command Format (5 bytes)
Command
Class
INS
P1
P2
Le
Set PICC Operation
Parameter
FFh
00h
51h
PICC Operating Parameter
00h
Set PICC operation Parameter Response Format (2 bytes)
Response
Data Out
Result
90h
PICC Operating Parameter
PICC Operating Parameter
Bit
Parameter
Description
Option
7
Auto PICC Polling
To enable the PICC Polling
1 = Enable
0 = Disable
6
Auto ATS Generation
To issue ATS Request whenever an
ISO14443-4 Type A tag is activated
1 = Enable
0 = Disable
5
Polling Interval
To set the time interval between
successive PICC Polling.
1 = 250 ms
0 = 500 ms
4
FeliCa 424 Kbps
1 = Detect
0 = Skip
3
FeliCa 212 Kbps
1 = Detect
0 = Skip
2
Topaz
1 = Detect
0 = Skip
The Tag Types to be detected during
PICC Polling.
1
ISO14443 Type B
1 = Detect
0 = Skip
0
ISO14443 Type A
Note: To detect the
MIFARE tags, the Auto
ATS Generation must be
disabled first.
1 = Detect
0 = Skip
Page 68 of 69
ACR1252U-A1 – Application Programming Interface
Version 1.05
info@acs.com.hk
www.acs.com.hk
Appendix A. SNEP Message
For the data format, please refer to NFC Forum NFC Data Exchange Format (NDEF) Specifications
1.0.
Example:
SNEP Message = {D1 02 0F 53 70 D1 01 0B 55 01 61 63 73 2E 63 6F 6D 2E 68 6Bh}
Offset
Content
Length
Description
0
D1
1
NDEF header. TNF = 01h, SR=1, MB=1, ME=1
1
02
1
Record name length (2 bytes)
2
0F
1
Length of the Smart Poster data (15 bytes)
3
53 70 (“Sp”)
2
Record name
5
D1
1
NDEF header. TNF = 01h, SR=1, MB=1, ME=1
6
01
1
Record name length (1 byte)
7
0B
1
The length of the URI payload (11 bytes)
8
55 (“U”)
1
Record type: “U”
9
01
1
Abbreviation: “http://www.”
10
61 63 73 2E 63 6F
6D 2E 68 6B
10
The URL itself. “acs.com.hk”
Android is trademark of Google Inc.
Microsoft is a registered trademark of Microsoft Corporation in the United States and/or other countries.
MIFARE, MIFARE Classic, MIFARE DESFire and MIFARE Ultralight are registered trademarks of NXP B.V.
Page 69 of 69
ACR1252U-A1 – Application Programming Interface
Version 1.05
info@acs.com.hk
www.acs.com.hk
Was this manual useful for you? yes no
Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Download PDF

advertising