Api Acr1252u 1.09
Api Acr1252u 1.09
Api Acr1252u 1.09
Page 2 of 80
List of Figures
Figure 1 : ACR1252U Architecture ......................................................................................................... 7
Figure 2 : ACR1252U APDU Flow ......................................................................................................... 9
Figure 3 : ACR1252U Escape Command Flow.................................................................................... 10
Figure 4 : Peer-to-Peer Flow for Initiator Mode .................................................................................... 59
Figure 5 : Peer-to-Peer Flow for Target Mode ..................................................................................... 63
List of Tables
Table 1 : Acronyms and Abbreviations ................................................................................................... 6
Table 2 : MIFARE® Classic 1K Memory Map ...................................................................................... 31
Table 3 : MIFARE® Classic 4K Memory Map ...................................................................................... 31
Table 4 : MIFARE® Ultralight® Memory Map ...................................................................................... 32
Table 5 : MIFARE® Ultralight® Memory Map (52 bytes) ..................................................................... 70
Table 6 : FeliCa Memory Map (160 bytes) ........................................................................................... 71
Page 3 of 80
Page 4 of 80
Page 5 of 80
Page 6 of 80
USB
Interface
(CCID)
PCSC Layer
Physical
Interface
PICC
SAM (Socket)
(Built-in Antenna)
Page 7 of 80
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 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 Pseudo APDU for
Contactless Interface) are using this API for sending.
5.1.6. 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 80
Start
SCardEstablishContext
SCardListReaders
No
Reader
present?
Yes
SCardConnect
No
Connection
successful?
Yes
SCardTransmit
SCardDisconnect
End
Page 9 of 80
Start
SCardEstablishContext
SCardListReaders
No
Reader
present?
Yes
SCardConnect
SCardControl
SCardDisconnect
End
Page 10 of 80
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)
Page 11 of 80
ISO 14443-A:
The historical bytes from ATS response. Refer to
the ISO14443-4 specification.
ISO 14443-B:
4
XX Byte1-4 Byte5-7 Byte8
to
XX Tk
3+N Application Protocol Info Higher
XX Data from Byte from nibble=MBLI
ATQB ATQB from ATTRIB
command
Lower nibble
(RFU)=0
Page 12 of 80
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.
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 80
Response Codes
Examples:
To get the serial number of the “connected PICC”:
UINT8 GET_UID[5] = {FF, CA, 00, 00, 00};
Page 14 of 80
Where:
Functions 1 byte.
00h = Manage Session
01h = Transparent Exchange
02h = Switch Protocol
Other = RFU
Response Format
Every command returns SW1 and SW2 together with the response data field (if available). The SW1
SW2 is based on ISO 7816. SW1 SW2 from the C0 data object below should also be used.
Page 15 of 80
The first value byte indicates the number of the erroneous data object XX, while the last two bytes
indicate the explanation of the error. SW1 SW2 values based on ISO 7816 are allowed.
If there are more than one data object in the C-APDU field and one data object failed, IFD can
process the following data objects if they do not depend on the failed data objects.
Page 16 of 80
Where:
Data Object (1 byte)
Page 17 of 80
Page 18 of 80
Value
Tag Length (1 byte)
Tag Len Value
FF 6Dh Var TLV_Objects
TLV_Objects
Value
Tag Length (1 byte)
Tag Len Value
FF 6Eh Var TLV_Objects
TLV_Objects
Page 19 of 80
Page 20 of 80
Where:
Data Object (1 byte)
Value
Tag Length (1 byte)
bit Description
0 – append CRC in the transmit data
0
1 – do not append CRC in the transmit data
90h 02h 0 – discard CRC from the received data
1 1 – do not discard CRC from the received data (i.e. no CRC
checking)
Page 21 of 80
Value
Tag Length (1 byte)
bit Description
0-2 Number of valid bits of the last byte (0 means all bits are valid)
91h 01h
3-7 RFU
Transmission bit framing data object shall be together with “transmit” or “transceive” data object only.
If this data object does not exist, it means all bits are valid.
Value
Tag Length (1 byte)
bit Description
0-2 Number of valid bits of the last byte (0 means all bits are valid)
92h 01h
3-7 RFU
If this data object does not exist, it means all bits are valid.
Page 22 of 80
Value
Tag Length (1 byte) Byte 0
Byte 1
Bit Description
0 – CRC is OK or no checked
0
1 – CRC check fail If a collision is
0 – no collision detected, these bytes
96h 02h 1 will tell the collision
1 – collision detected position. Otherwise,
0 – no parity error “00h” will be shown.
2
1 – parity error detected
Page 23 of 80
4-7 RFU
Page 24 of 80
Where:
Data Object (1 byte)
Value
Tag Length (1 byte)
Byte 0 Byte 1
00h – If no layer separation
00h – ISO/IEC14443 Type A
02h – Switch to Layer 2
01h – ISO/IEC14443 Type B
8Fh 02h 03h – Switch or activate to layer 3
03h – FeliCa
04h – Activate to layer 4
Other – RFU
Other - RFU
Page 25 of 80
Page 26 of 80
4. Set the PCB to 0Ah and enable the CRC, parity and protocol prologue in the transmit data.
Command: FF C2 00 01 0A 90 02 00 00 FF 6E 03 07 01 0A
Response: C0 03 00 90 00 90 00
Page 27 of 80
Page 28 of 80
Where:
Key Structure 1 byte.
00h = Key is loaded into the reader memory.
Other = Reserved.
Key Number 1 byte.
00h ~ 01h = Volatile memory for storing a temporary key. The key will
disappear once the reader is disconnected from the computer. 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}
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 29 of 80
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 computer. Two volatile keys
are provided. The volatile key can be used as a session key for different
sessions.
Page 30 of 80
Sectors
Data Blocks
(Total 16 sectors. Each sector Trailer Block
(3 blocks, 16 bytes per
consists of 4 consecutive (1 block, 16 bytes)
block)
blocks)
Sector 0 00h – 02h 03h
Sector 1 04h – 06h 07h
.. .. ..
1 KB
.. .. ..
Sector 14 38h – 0Ah 3Bh
Sector 15 3Ch – 3Eh 3Fh
Sectors
Data Blocks
(Total 32 sectors. Each Trailer Block
(3 blocks, 16 bytes per
sector consists of 4 (1 block, 16 bytes)
block)
consecutive blocks)
Sector 0 00h ~ 02h 03h
Sector 1 04h ~ 06h 07h
..
2 KB
..
Sector 30 78h ~ 7Ah 7Bh
Sector 31 7Ch ~ 7Eh 7Fh
Sectors
Data Blocks
(Total 8 sectors. Each Trailer Block
(15 blocks, 16 bytes
sector consists of 16 (1 block, 16 bytes)
per block)
consecutive blocks)
Sector 32 80h ~ 8Eh 8Fh
Sector 33 90h ~ 9Eh 9Fh
.. 2 KB
..
Sector 38 E0h ~ EEh EFh
Sector 39 F0h ~ FEh FFh
Page 31 of 80
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 32 of 80
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.
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 33 of 80
Where:
Block Number 1 byte. The starting block to be updated.
Number of bytes to update 1 byte.
• 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).
Block Data Multiple of 16 bytes, or 4 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.
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 34 of 80
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).
VB_Value
MSB LSB
FFh FFh FFh FCh
VB_Value
MSB LSB
00h 00h 00h 01h
Page 35 of 80
Where:
Block Number 1 byte. The value block to be accessed.
Where:
Value 4 bytes. The value returned from the card. The value is a signed long integer (4
bytes).
Value
MSB LSB
FFh FFh FFh FCh
Value
MSB LSB
00h 00h 00h 01h
Page 36 of 80
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.
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 37 of 80
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.
Page 38 of 80
Class = 80h
INS = B2h
P1 = 80h
P2 = 00h
Lc = None
Data In = None
Le = 08h
Page 39 of 80
Page 40 of 80
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 41 of 80
Page 42 of 80
Page 43 of 80
Where:
Buzzer On Duration 1 byte.
00h = Turn OFF
01 to FFh = Duration (unit: 10 ms)
Page 44 of 80
Page 45 of 80
Behavior (1 byte)
Set LED and Buzzer Status Indicator Behaviors for PICC Interface Response Format (6 bytes)
Page 46 of 80
Read LED and Buzzer Status Indicator Behavior Format for PICC Interface (5 bytes)
Read LED and Buzzer Status Indicator Behavior Response Format for PICC Interface (6 bytes)
Behavior (1 byte)
Page 47 of 80
Polling
Mode Description
Setting
Bit 0 Auto PICC Polling 1 = Enable; 0 =Disable
Turn off Antenna Field if no
Bit 1 1 = Enable; 0 =Disable
PICC is found.
Turn off Antenna Field if the
Bit 2 1 = Enable; 0 =Disable
PICC is inactive.
Activate the PICC when
Bit 3 1 = Enable; 0 =Disable
detected.
<Bit 5 – Bit 4>
<0 – 0> = 250 ms
Bit 5 .. 4 PICC Poll Interval for PICC <0 – 1> = 500 ms
<1 – 0> = 1000 ms
<1 – 1> = 2500 ms
Bit 6 RFU
Bit 7 Enforce ISO 14443-A Part 4 1= Enable; 0= Disable.
Page 48 of 80
Page 49 of 80
Polling
Mode Description
Setting
Bit 0 Auto PICC Polling 1 = Enable; 0 =Disable
Turn off Antenna Field if no
Bit 1 1 = Enable; 0 =Disable
PICC is found.
Turn off Antenna Field if the
Bit 2 1 = Enable; 0 =Disable
PICC is inactive.
Activate the PICC when
Bit 3 1 = Enable; 0 =Disable
detected.
<Bit 5 – Bit 4>
<0 – 0> = 250 ms
Bit 5 .. 4 PICC Poll Interval for PICC <0 – 1> = 500 ms
<1 – 0> = 1000 ms
<1 – 1> = 2500 ms
Bit 6 RFU
Bit 7 Enforce ISO 14443-A Part 4 1= Enable; 0= Disable.
Page 50 of 80
Operating
Parameter Description Option
Parameter
1 = Detect
Bit 0 ISO 14443 Type A
0 = Skip
1 = Detect
Bit 1 ISO 14443 Type B
0 = Skip
The Tag Types to be detected during 1 = Detect
Bit 2 FeliCa 212 Kbps
PICC Polling. 0 = Skip
1 = Detect
Bit 3 FeliCa 424 Kbps
0 = Skip
1 = Detect
Bit 4 Topaz
0 = Skip
Bit 5 - 7 RFU RFU RFU
Page 51 of 80
Operating
Parameter Description Option
Parameter
1 = Detect
Bit 0 ISO 14443 Type A
0 = Skip
1 = Detect
Bit 1 ISO 14443 Type B
0 = Skip
The Tag Types to be detected during 1 = Detect
Bit 2 FeliCa 212 Kbps
PICC polling. 0 = Skip
1 = Detect
Bit 3 FeliCa 424 Kbps
0 = Skip
1 = Detect
Bit 4 Topaz
0 = Skip
Bit 5 - 7 RFU RFU RFU
Page 52 of 80
Command
Response
Where:
Max Tx Speed Maximum Tx Speed (1 Byte)
Current Tx Speed Current Tx Speed (1 Byte)
Max Rx Speed Maximum Rx Speed (1 Byte)
Current Rx Speed Current Rx Speed (1 Byte)
00h = 106 Kbps; default setting, equal to No Auto PPS
01h = 212 Kbps
02h = 424 Kbps
Notes:
1. Normally, the application should know the maximum connection speed of the PICCs being
used. The environment also affects the maximum achievable speed. The reader just uses the
proposed communication speed to talk with the PICC. The PICC will become inaccessible is
the PICC or environment does not meet the requirement of the proposed communication
speed.
2. The reader supports different speed between sending and receiving.
Page 53 of 80
Command
Response
Where:
Max Tx Speed Maximum Tx Speed (1 Byte)
Current Tx Speed Current Tx Speed (1 Byte)
Max Rx Speed Maximum Rx Speed (1 Byte)
Current Rx Speed Current Rx Speed (1 Byte)
00h = 106 Kbps; default setting, equal to No Auto PPS
01h = 212 Kbps
02h = 424 Kbps
Page 54 of 80
Where:
Serial Number N bytes. Maximum 20 bytes.
Return Code
Page 55 of 80
Where:
Serial Number N bytes. Maximum 20 bytes.
Return Code
Page 56 of 80
Page 57 of 80
Page 58 of 80
Note: Unit = 10 ms, default value of Initiator Mode Timeout = 00 64h (100 * 10 ms = 1000 ms).
Page 59 of 80
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 60 of 80
BS BR PP LLCP Parameter
(1 byte) (1 byte) (1 byte) GiLen (1 byte) Gi (GiLen 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.
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 61 of 80
Where:
DID 1 byte. Device Identification.
Return Code
Where:
DID 1 byte. Device Identification.
Return Code
Page 62 of 80
Page 63 of 80
Note: Unit = 100 µs, default value of Target Timeout = 00 C8h (200 * 100 µs = 20 ms).
Where:
Timeout 2 bytes. Timeout for Target Mode (unit =100 µs).
Where:
Speed 1 byte. Communication Speed.
01h = 106 Kbps
02h = 212 Kbps
03h = 424 Kbps
Page 64 of 80
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.
Where:
LLCP Parameter N bytes. ATR response’s General Byte.
Return Code
Where:
PFB 1 byte. Control the data transmission and error recovery.
DEP Message N bytes. DEP response.
Page 65 of 80
Return Code
Return Code
Page 66 of 80
Return Code
Where:
BRS 1 byte. BRS Parameter.
FSL 1 byte. FSL Parameter.
Return Code
Page 67 of 80
Return Code
Where:
SNEP Message Len 1 byte. Length of the received SNEP Message.
SNEP Message Received SNEP message from Initiator devices.
Page 68 of 80
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 69 of 80
Where:
Default SN[0-6] {04h, 96h, 50h, 01h, F4h, 02h, 80h}
Default Data[0-3] {E1h, 10h, 06h, 00h} //NFC Type2Tag
Page 70 of 80
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).
Where:
NFCMode 1 byte. NFC Device Mode.
01h = MIFARE Ultralight Card Emulation Mode
03h = FeliCa Card Emulation Mode
Page 71 of 80
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.
Set Card Emulation MIFARE Ultralight UID Command Format (12 bytes)
Where:
UID 7 bytes. 7 bytes MIFARE UID.
Page 72 of 80
Set Card Emulation FeliCa Card Identification number Command Format (11 bytes)
Set Card Emulation FeliCa Card Identification number Response Format (11 bytes)
Where:
IDm 6 bytes.
Where:
Lock 1 byte. Protect the data from being overwritten via NFC.
Lock Parameter
Page 73 of 80
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 74 of 80
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 75 of 80
Example:
Response = 41 43 52 31 32 35 32 55 5F 56 31 30 30 2E 31h = ACR1252U_V100.1 (ASCII)
Page 76 of 80
Page 77 of 80
Page 78 of 80
Example:
SNEP Message = {D1 02 0F 53 70 D1 01 0B 55 01 61 63 73 2E 63 6F 6D 2E 68 6Bh}
Page 79 of 80
6. Click Transmit Control Command, and then check the Respond Data.
e.g.,Response Data = 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 80 of 80