The ACR122L is a module for accessing both contact and contactless cards with LCD Display. It can
support 3 SAMs access and ISO14443 Part 4 Type A & B, MIFARE, FeliCa and NFC tags.
ACR122L-ACS Design Specification
Version 0.03 19/05/2010
Page
5
of
50
ACR122L
-
ACS
2.0. Feature
• Serial Interface. Baud Rate = 9600 bps (default) or 115200 bps, 8-N-1. Initial Baud Rate is
determined by the existence of R12. A command is also provided for changing the baud rate
while the reader is running.
• CCID-liked Frame Format.
• Support ISO14443 Part 4 Type A & B, MIFARE, FeliCa and NFC tags.
• Built-in Antenna for contactless tags access.
• Support ISO7816 T=0 cards. (SAM Socket)
• 3 X SAM Interface
• 4 LEDs.
• Buzzer.
ACR122L-ACS Design Specification
Version 0.03 19/05/2010
Page
6
of
50
ACR122L
-
ACS
3.0. Hardware Interfaces
3.1. Serial Interface
The ACR122L is connected to a Host through the RS232C Serial Interface at 9600 bps and 115200
bps. 8-N-1
Pin Signal Function
1 VCC
2 TXD
3 RXD
4 GND
+5V power supply for the reader (Max 200mA, Normal 100mA)
The signal from the reader to the host.
The signal from the host to the reader.
Reference voltage level for power supply
3.2. LEDs
• 4 x User-controllable single color LEDs
• Can select control by firmware or by User
• From Left to right, the color of the LED is: Green, Blue, Yellow and Red
3.3. Buzzer
• User-controllable Mono-Tone buzzer.
• The default Buzzer State is OFF
3.4. SAM Interface
• 3 x SAMs socket is provided.
• Support ISO7816 Parts 1-3 T=0 cards
3.5. LCD
• User-controllable LCD
• User-controllable Yellow-Green Backlight
• 2 Line x 16 Character, 5 x 8 dot matrix, STN Yellow Green LCD Type
• 6 O’clock view angle
3.6. Built-in Antenna
• 3 turns symmetric loop antenna. Center tapped.
• The estimated size = 46mm x 64mm.
• The loop inductance should be around ~ 1.6uH to 2.5uH
• Operating Distance for different Tags ~ up to 50mm (depend on the Tag)
• Only one Tag can be accessed at any one time.
ACR122L-ACS Design Specification
Version 0.03 19/05/2010
Page
7
of
50
ACR122L
-
ACS
Second SAM
4.0. Implementation
4.1. The ACR122L is built based on the AC1038-2, AC1038s and
PN5321 chips.
Built-In
Antenna
Contactless Interface
Carrier = 13.56MHz
Contactless
Tag
PN5321
NFC Interface
Chip
Serial Interface
115200 Kbps
<Peripherals>
- 4 x LEDs
- Buzzer
- LCD
- I/O Ports
SAM 2
AC1038-2
Controller
SAM 1
Main
Controller
AC1038
Controller
Serial
Interface
9600 bps
Host
Controller
ACR122L-ACS Design Specification
Version 0.03 19/05/2010
Controller
AC1038
SAM 3
Controller
Third SAM
Controller
Figure 1.ACR122L System Block Diagram
Page
8
of
50
ACR122L
-
ACS
4.2. Communication between the Host and the Contactless
interface, SAM and Peripherals.
The Contactless interface & Peripherals are accessed through the use of Pseduo-APDUs.
The SAM interface are accessed through the use of standard APDUs.
Host
Serial
Interface
(CCID-liked
protocol)
ACR122L
Peripherals
SAM 1
PCSC Layer
ISO 7816 Parts 1-3
+
T=0 SAM Interfaces
Contactless
Interface
SAM 3 SAM 2
RF
Interface
ACR122L-ACS Design Specification
Version 0.03 19/05/2010
Contactless Tag
(Built-In Antenna)
Page
9
of
50
ACR122L
-
ACS
5.0. Serial Interface (CCID-liked FRAME Format)
Communication setting: 9600 bps, 8-N-1
The communication protocol between the Host and ACR122L is very similar to the CCID protocol.
ACR122L Command Frame Format
STX Bulk-OUT Header APDU Command
Or
Parameters
1 Byte 10 Bytes M Bytes
(If applicable)
ACR122L Status Frame Format
STX Status Checksun ETX
1 Byte 1 Byte 1 Byte 1 Byte
ACR122L Response Frame Format
STX Bulk-IN Header APDU Response
Or
abData
1 Byte 10 Bytes N Bytes
(If applicable)
Checksum = XOR {Bulk-OUT Header, APDU Command or Parameters}
Checksum = XOR {Bulk-IN Header, APDU Response or abData}
Checksum
1 Byte 1 Byte
Checksun
1 Byte 1 Byte
ETX
ETX
For control SAM Socket 1, the STX must be equal to 0x02 and ETX must be equal to 0x03.
For control SAM Socket 2, the STX must be equal to 0x12 and ETX must be equal to 0x13.
For control SAM Socket 3, the STX must be equal to 0x22 and ETX must be equal to 0x23.
For control access contactless interface, peripherals (i.e. LEDs, LCD and Buzzer), the STX must be
equal to 0x02 and ETX must be equal to 0x03, which is the same with control SAM Socket1.
In general, we would make use of three types of Bulk-OUT Header.
• HOST_to_RDR_IccPowerOn: To activate the SAM interface. The ATR of the SAM will be
returned if available.
• HOST_to_RDR_IccPowerOff: To deactivate the SAM interface.
• HOST_to_RDR_XfrBlock: To exchange APDUs between the Host and ACR122L.
#The SAM1 interface must be activated in order to use the Contactless interface and Peripherals. In
short, all the APDUs are exchanged through the SAM1 Interface.
Similarly, two types of Bulk-IN Header are used.
• RDR_to_HOST_DataBlock: In response to the “HOST_to_RDR_IccPowerOn” and
“HOST_to_RDR_XfrBlock” Frames.
• RDR_to_HOST_SlotStatus: In response to the “HOST_to_RDR_IccPowerOff” Frame.
ACR122L-ACS Design Specification
Version 0.03 19/05/2010
Page
10
of
50
ACR122L
-
ACS
62 00 00 00 00 00 01 01 00 00
2. RDR sends back a
positive status frame
3. RDR sends back the
00 00 00 01 00 00 00 3B 2A 00
80 65 24 B0 00 02 00 82 90 00 [Checksum]
1. HOST sends a
02 62 00 00 00 00 00 01 01 00 00
ack a
negative status frame
3. HOST sends the frame
02 62 00 00 00 00 00 01 01 00 00
4. RDR sends back a
positive status frame
5. RDR sends back the
02 80 0D 00 00 00 00 01 00 00 00 3B 2A 00
80 65 24 B0 00 02 00 82 90 00 [Checksum]
RDR = ACR122L; HOST = Host Controller.
HOST_to_RDR = Host Controller -> ACR122L
RDR_to_HOST = ACR122L -> Host Controller
Protocol Flow Examples(Use SAM Interface 1 as Example)
1) Activate a SAM
1. HOST sends a frame
immediately
.. After some processing delay...
response of the command
HOST
02
[Checksum] 03
02 00 00 03 (positive status frame)
02 80 0D 00
03
RDR
2) Activate a SAM (Incorrect Checksum, HOST)
corrupted frame
2. RDR sends b
immediately
again.
immediately
.. After some processing delay...
response of the command
HOST
[Incorrect Checksum] 03
02 FF FF 03 (negative status frame)
[Checksum] 03
02 00 00 03 (positive status frame)
03
RDR
ACR122L-ACS Design Specification
Version 0.03 19/05/2010
Page
11
of
50
ACR122L
-
ACS
02 62 00 00 00 00 00 01 01 00 00
2. RDR sends back a
positive status frame
3. RDR sends back the
response (corrupted) of
4. HOST sends a NAK
frame to get the
5. RDR sends back the
02 80 0D 00 00 00 00 01 00 00 00 3B 2A 00
80 65 24 B0 00 02 00 82 90 00 [Incorrect
02 00 00 00 00 00 00 00 00 00 00 00 03
02 80 0D 00 00 00 00 01 00 00 00 3B 2A 00
80 65 24 B0 00 02 00 82 90 00 [Checksum]
3) Activate a SAM (Incorrect Checksum, RDR)
1. HOST sends a frame
immediately
.. After some processing delay...
the command
response again.
response of the command
HOST
[Checksum] 03
02 00 00 03 (positive status frame)
Checksum] 03
(NAK)
RDR
03
Remarks:
If the frame sent by the HOST is correctly received by the RDR, a positive status frame = {02 00 00
03} will be sent to the HOST immediately to inform the HOST the frame is correctly received. The
HOST has to wait for the response of the command. The RDR will not receive any more frames while
the command is being processed.
In case of errors, a negative status frame will be sent to the HOST to indicate the frame is either
corrupted or wrong formatted.
- CheckSum Error Frame = {02 FF FF 03}
- Length Error Frame = {02 FE FE 03}. The length “dDwLength” is greater than 0x0105 bytes.
- ETX Error Frame = {02 FD FD 03}. The last byte is not equal to ETX “0x03”.
- TimeOut Error Frame = {02 FC FC 03}. Not Complete Package Received.
The NAK Frame is only used by the HOST to get the last response.