ACS ACR1283L User Manual

ACR1283L
Contactless Reader
Standalone
Reference Manual V1.00
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. Architecture ............................................................................................................... 7
4.0. Hardware Design ....................................................................................................... 8
4.1. USB ........................................................................................................................................ 8
4.1.1. Communication Parameters ......................................................................................... 8
4.1.2. Endpoints ...................................................................................................................... 8
4.2. Contact Smart Card Interface ................................................................................................ 8
4.2.1. Smart Card Power Supply VCC (C1) ............................................................................ 8
4.2.2. Card Type Selection...................................................................................................... 8
4.2.3. Interface for Microcontroller-based Cards .................................................................... 8
4.3. Contactless Smart Card Interface ......................................................................................... 9
4.3.1. Carrier Frequency ......................................................................................................... 9
4.3.2. Card Polling ................................................................................................................... 9
5.0. Software Design ...................................................................................................... 10
5.1. CCID Protocol ...................................................................................................................... 10
5.2. CCID Commands ................................................................................................................. 11
5.2.1. CCID Command Pipe Bulk-OUT Messages ............................................................... 11
5.2.2. CCID Bulk-IN Messages ............................................................................................. 15
5.3. Contactless Smart Card Protocol ........................................................................................ 17
5.3.1. ATR Generation .......................................................................................................... 17
5.3.2. Pseudo APDUs for Contactless Interface ................................................................... 19
5.4. Peripherals Control .............................................................................................................. 31
5.4.1. Get Firmware Version ................................................................................................. 31
5.4.2. Set Default LED and Buzzer Behaviors ...................................................................... 32
5.4.3. Read Default LED and Buzzer Behaviors ................................................................... 33
5.4.4. Set Automatic PICC Polling ........................................................................................ 34
5.4.5. Read Automatic PICC Polling ..................................................................................... 36
5.4.6. Set the PICC Operating Parameter ............................................................................ 37
5.4.7. Read the PICC Operating Parameter ......................................................................... 38
5.4.8. Set Auto PPS .............................................................................................................. 39
5.4.9. Read Auto PPS ........................................................................................................... 40
5.4.10. Set Antenna Field ........................................................................................................ 41
5.4.11. Read Antenna Field Status ......................................................................................... 42
5.4.12. Two LEDs Control ....................................................................................................... 43
5.4.13. LED Status .................................................................................................................. 44
5.4.14. Four LEDs Control ...................................................................................................... 45
5.4.15. Buzzer Control ............................................................................................................ 46
5.4.16. LCD Control Command ............................................................................................... 47
List of Figures
Figure 1 : ACR1283L Architecture ......................................................................................................... 7
Figure 2 : LCD Display Font Table ....................................................................................................... 49
Page 2 of 55
Version 1.00
www.acs.com.hk
List of Tables
Table 1 : USB Interface Wiring ............................................................................................................... 8
Table 2 : Mifare 1K Memory Map ......................................................................................................... 23
Table 3 : Mifare 4K Memory Map ......................................................................................................... 23
Table 4 : Mifare Ultralight Memory Map ............................................................................................... 24
Table 5 : Scrolling Period ...................................................................................................................... 53
Table 6 : Scrolling Direction .................................................................................................................. 53
Page 3 of 55
Version 1.00
www.acs.com.hk
1.0. Introduction
The ACR1283L Standalone Contactless Reader is a device that is used for accessing contactless cards. Its contactless interface is used to access ISO 14443 Types A and B cards and Mifare series. ACR1283L also has Secure Access Module (SAM) interface that ensures a high level of security in contactless smart card applications.
ACR1283L can operate in both PC-linked and Standalone mode. In PC-linked application, the ACR1283L serves as an intermediary device between the PC and the smart card. The reader is connected to the PC via its USB port and carries out the PC’s commands – whether the command is used in order to communicate with a contactless or SAM card, or control the device peripherals (e.g. LCD, keypad, LEDs, and buzzer). This document provides a detailed guide in implementing PC/SC APDU commands for device peripherals and contactless cards following the PC/SC specifications.
Page 4 of 55
Version 1.00
www.acs.com.hk
2.0. Features
Dual Operation Modes:
o PC-linked
o Standalone
PC-linked Operation:
o USB 2.0 Full Speed Interface
o CCID Compliance
o Supports PC/SC
o Supports CT-API (through wrapper on top of PC/SC)
Standalone Operation:
o Support for third-party application programming
o Over 400 KB memory space for third-party application
o Over 500 KB memory space for data storage
o Supported development platform:
IAR Embedded Workbench, Version 5.50 or above
CoIDE(GCC), Version 1.3.0 or above
Smart Card Reader:
o Read/Write speed of up to 848 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 and Mifare series
o Built-in anti-collision feature (only one tag is accessed at any time)
o Four ISO 7816 compliant SAM slots
Built-in Peripherals:
o Two-line graphic LCD
o Four user-controllable LEDs
o User-controllable buzzer
o Twelve-key capacitive touch keypad
Real-time clock (RTC) with independent back up battery
In-device AES (128 and 256), DES and 3DES encryption
Supports Android
USB Firmware Upgradability
TM
OS 3.1 and above
Page 5 of 55
Version 1.00
www.acs.com.hk
Compliant with the following standards:
o ISO 14443
o CE
o FCC
o PC/SC
o CCID
o Microsoft® WHQL
o RoHS
Page 6 of 55
Version 1.00
www.acs.com.hk
3.0. Architecture
The protocol between ACR1283L and the PC is using CCID protocol. All the communication between PICC and SAM are PCSC-compliant.
Figure 1: ACR1283L Architecture
Page 7 of 55
Version 1.00
www.acs.com.hk
4.0. Hardware Design
4.1. USB
The ACR1283L is connected to a computer through a USB following the USB standard.
4.1.1. Communication Parameters
The ACR1283L is connected to a computer through USB as specified in the USB Specification 2.0. The ACR1283L is working in full speed mode, i.e. 12 Mbps.
Pin Signal Function
1 V
2 D-
3 D+
4 GND
Note: In order for ACR1283L to function properly through USB interface, the driver should be installed.
BUS
+5 V power supply for the reader.
Differential signal transmits data between ACR1283L and PC.
Differential signal transmits data between ACR1283L and PC.
Reference voltage level for power supply.
Table 1: USB Interface Wiring
4.1.2. Endpoints
The ACR1283L uses the following endpoints to communicate with the host computer:
Control Endpoint For setup and control purpose
Bulk OUT For command to sent from host to ACR1283L (data packet size is 64 bytes)
Bulk IN For response to sent from ACR1283L to host (data packet size is 64 bytes)
Interrupt IN For card status message to sent from ACR1283L to host (data packet size is 8
bytes)
4.2. Contact Smart Card Interface
The interface between the ACR1283L and the inserted smart card follows the specifications of ISO 7816-3 with certain restrictions or enhancements to increase the practical functionality of the ACR1283L.
4.2.1. Smart Card Power Supply VCC (C1)
The current consumption of the inserted card must not be higher than 50 mA.
4.2.2. Card Type Selection
Before activating the inserted card, the controlling PC always needs to select the card type through the proper command sent to the ACR1283L. This includes both memory card and MCU-based cards.
For MCU-based cards the reader allows to select the preferred protocol, T=0 or T=1. However, this selection is only accepted and carried out by the reader through the PPS when the card inserted in the reader supports both protocol types. Whenever a MCU-based card supports only one protocol type, T=0 or selected by the application.
T=1, the reader automatically uses that protocol type, regardless of the protocol type
4.2.3. Interface for Microcontroller-based Cards
For microcontroller-based smart cards only the contacts C1 (VCC), C2 (RST), C3 (CLK), C5 (GND)
Page 8 of 55
Version 1.00
www.acs.com.hk
and C7 (I/O) are used. A frequency of 4.8 MHz is applied to the CLK signal (C3).
4.3. Contactless Smart Card Interface
The interface between the ACR1283L and the contactless interface follows the specifications of ISO 14443 with certain restrictions or enhancements to increase the practical functionality of the ACR1283L.
4.3.1. Carrier Frequency
The carrier frequency for ACR1283L is 13.56 MHz.
4.3.2. Card Polling
The ACR1283L automatically polls the contactless cards that are within the field. ISO 14443-4 Type A, ISO 14443-4 Type B and Mifare cards are supported.
Page 9 of 55
Version 1.00
www.acs.com.hk
5.0. Software Design
5.1. CCID Protocol
ACR1283L shall interface with the host with USB connection. A specification, namely CCID, has been released within the industry defining such a protocol for the USB chip-card interface devices. CCID covers all the protocols required for operating smart cards and PIN.
The configurations and usage of USB endpoints on ACR1283L shall follow CCID section 3. An overview is summarized below:
Control Commands are sent on control pipe (default pipe). These include class-specific requests and USB standard requests. Commands that are sent on the default pipe report information back to the host on the default pipe.
CCID Events are sent on the interrupt pipe.
CCID Commands are sent on BULK-OUT endpoint. Each command sent to ACR1283L has
an associated ending response. Some commands can also have intermediate responses.
CCID Responses are sent on BULK-IN endpoint. All commands sent to ACR1283L have to be sent synchronously. (i.e. bMaxCCIDBusySlots is equal to 1 for ACR1283L).
The supported CCID features by ACR1283L are indicated in its class descriptor:
Offset Field Size Value Description
0
1
2
4
5
6
10
14
18
bLength
bDescriptorType
bcdCCID
bMaxSlotIndex
bVoltageSupport
dwProtocols
dwDefaultClock
dwMaximumClock
bNumClockSupported
1 36h Size of this descriptor, in bytes.
1 21h CCID Functional Descriptor type.
CCID Specification Release
2 0110h
1 04h
1 07h
4 00000003h
4 00000FA0h
4 00000FA0h
1 00h
Number in Binary-Coded decimal.
Five slots are available on ACR1283L.
ACR1283L can supply 1.8 V, 3.0 V and 5.0 V to its slot.
ACR1283L supports T=0 and T=1 Protocol.
Default ICC clock frequency is 4 MHz.
Maximum supported ICC clock frequency is 4 MHz.
Does not support manual setting of clock frequency.
19
23
27
28
dwDataRate
dwMaxDataRate
bNumDataRatesSupported
dwMaxIFSD
4 00002A00h
4 0001F808h
1 00h
4 00000200h
Default ICC I/O data rate is 10752 bps.
Maximum supported ICC I/O data rate is 344100 bps.
Does not support manual setting of data rates.
Maximum IFSD supported by ACR1283L for protocol T=1 is
512.
Page 10 of 55
Version 1.00
www.acs.com.hk
Offset Field Size Value Description
32
36
40
44
48
49
50
52
dwSynchProtocols
dwMechanical
dwFeatures
dwMaxCCIDMessageLength
bClassGetResponse
bClassEnvelope
wLCDLayout
bPINSupport
4 00000000h
4 00000000h
4 00040040h
4 0000020Ah
1 00h
1 00h
2 0000h No LCD.
1 00h No PIN Verification.
ACR1283L does not support synchronous card.
ACR1283L does not support special mechanical characteristics.
ACR1283L supports the following features:
Automatic parameters negotiation made by the CCID
Short and Extended APDU level exchange with CCID
Maximum message length accepted by ACR1283L is 522 bytes.
Indicates that the CCID echoes the class of the APDU.
Indicates that the CCID echoes the class of the APDU.
53
bMaxCCIDBusySlots
1 01h
Only one slot can be simultaneously busy.
5.2. CCID Commands

5.2.1. CCID Command Pipe Bulk-OUT Messages

ACR1283L shall follow the CCID Bulk-OUT Messages as specified in CCID section 4. In addition, this specification defines some extended commands for operating additional features. This section lists the CCID Bulk-OUT Messages to be supported by ACR1283L.
5.2.1.1. PC_to_RDR_IccPowerOn
This command is used to activate the card slot and return ATR from the card.
Offset Field Size Value Description
0
1
2
5
6
bMessageType
dwLength
bSlot
bSeq
bPowerSelect
1 62h
4 00000000h Size of extra bytes of this message.
1 Identifies the slot number for this command.
1 Sequence number for command.
Voltage that is applied to the ICC.
1
00h = Automatic Voltage Selection 01h = 5 V 02h = 3 V
7
abRFU
2 Reserved for future use.
Page 11 of 55
Version 1.00
www.acs.com.hk
The response to this message is the RDR_to_PC_DataBlock message and the data returned is the Answer To Reset (ATR) data.
5.2.1.2. PC_to_RDR_IccPowerOff
This command is used to deactivate the card slot.
Offset Field Size Value Description
0
1
5
6
7
The response to this message is the RDR_to_PC_SlotStatus message.
bMessageType
dwLength
bSlot
bSeq
abRFU
1 63h
4 00000000h Size of extra bytes of this message.
1 Identifies the slot number for this command.
1 Sequence number for command.
3 Reserved for future use.
5.2.1.3. PC_to_RDR_GetSlotStatus
This command is used to get the current status of the slot.
Offset Field Size Value Description
0
1
5
6
7
bMessageType
dwLength
bSlot
bSeq
abRFU
1 65h
4 00000000h Size of extra bytes of this message.
1 Identifies the slot number for this command.
1 Sequence number for command.
3 Reserved for future use.
The response to this message is the RDR_to_PC_SlotStatus message.
5.2.1.4. PC_to_RDR_XfrBlock
This command is used to transfer data block to the ICC.
Offset Field Size Value Description
0
1
5
6
7
8
10
bMessageType
dwLength
bSlot
bSeq
bBWI
wLevelParameter
abData
1 6Fh
4 Size of abData field of this message
1 Identifies the slot number for this command
1 Sequence number for command
Used to extend the CCIDs Block Waiting Timeout
1
2 0000h RFU (TPDU exchange level)
Byte
array
for this current transfer. The CCID will timeout the block after “this number multiplied by the Block Waiting Time” has expired.
Data block sent to the CCID. Data is sent “as is” to the ICC (TPDU exchange level)
Page 12 of 55
Version 1.00
www.acs.com.hk
The response to this message is the RDR_to_PC_DataBlock message.
5.2.1.5. PC_to_RDR_Escape
This command is used to access extended features.
Offset Field Size Value Description
0
1
5
6
7
10
The response to this command message is the RDR_to_PC_Escape response message.
bMessageType
dwLength
bSlot
bSeq
abRFU
abData
1 6Bh
4 Size of abData field of this message.
1 Identifies the slot number for this command.
1 Sequence number for command.
3 Reserved for Future Use.
Byte array Data block sent to the CCID.
5.2.1.6. PC_to_RDR_GetParameters
This command is used to get slot parameters.
Offset Field Size Value Description
0
1
5
6
7
bMessageType
dwLength
bSlot
bSeq
abRFU
1 6Ch
4 00000000h Size of extra bytes of this message.
1 Identifies the slot number for this command.
1 Sequence number for command.
3 Reserved for future use.
The response to this message is the RDR_to_PC_Parameters message.
5.2.1.7. PC_to_RDR_ResetParameters
This command is used to reset slot parameters to default value.
Offset Field Size Value Description
0
1
5
6
7
The response to this message is the RDR_to_PC_Parameters message.
bMessageType
DwLength
BSlot
BSeq
AbRFU
1 6Dh
4 00000000h Size of extra bytes of this message.
1 Identifies the slot number for this command.
1 Sequence number for command.
3 Reserved for future use.
5.2.1.8. PC_to_RDR_SetParameters
This command is used to set the slot parameters.
Offset Field Size Value Description
0
bMessageType
1 61h
Page 13 of 55
Version 1.00
www.acs.com.hk
Offset Field Size Value Description
1
5
6
7
8
10
Protocol Data Structure for Protocol T=0 (dwLength=00000005h)
Offset Field Size Value Description
abProtocolDataStructure
dwLength
bSlot
bSeq
bProtocolNum
abRFU
4 Size of extra bytes of this message.
1
1 Sequence number for command.
1
2 Reserved for future use.
Byte
array
Identifies the slot number for this command.
Specifies what protocol data structure follows.
00h = Structure for protocol T=0 01h = Structure for protocol T=1 The following values are reserved for
future use: 80h = Structure for 2-wire protocol 81h = Structure for 3-wire protocol 82h = Structure for I2C protocol
Protocol Data Structure.
B7-4 – FI – Index into the table 7 in ISO/IEC 7816-3:1997 selecting a clock rate conversion
10
11
12
13
14
bmFindexDindex
bmTCCKST0
bGuardTimeT0
bWaitingIntegerT0
bClockStop
1
1
1
1 WI for T=0 used to define WWT
1
factor B3-0 – DI - Index into the table 8 in ISO/IEC 7816-3:1997 selecting a baud rate
conversion factor
B0 – 0b, B7-2 – 000000b B1 – Convention used (b1=0 for direct, b1=1 for
inverse) Note: The CCID ignores this bit.
Extra Guardtime between two characters. Add 0 to 254 etu to the normal guardtime of 12etu. FFh is the same as 00h.
ICC Clock Stop Support. 00h = Stopping the Clock is not allowed 01h = Stop with Clock signal Low 02h = Stop with Clock signal High 03h = Stop with Clock either High or Low
Page 14 of 55
Version 1.00
www.acs.com.hk
Protocol Data Structure for Protocol T=1 (dwLength=00000007h)
Offset Field Size Value Description
B7-4 – FI – Index into the table 7 in ISO/IEC 7816-3:1997 selecting a clock rate conversion
10
11
12
bmFindexDindex
BmTCCKST1
BGuardTimeT1
1
1
1
factor B3-0 – DI - Index into the table 8 in ISO/IEC 7816-3:1997 selecting a baud rate
conversion factor
B7-2 – 000100b B0 – Checksum type (b0=0 for LRC, b0=1 for
CRC B1 – Convention used (b1=0 for direct, b1=1 for
inverse) Note: The CCID ignores this bit.
Extra Guardtime (0 to 254 etu between two characters). If value is FFh, then guardtime is reduced by 1 etu.
13
14
15
16
The response to this message is the RDR_to_PC_Parameters message.
BwaitingIntegerT1
bClockStop
bIFSC
bNadValue
1
1
1 Size of negotiated IFSC
1 00h Only support NAD = 00h
B7-4 = BWI values 0-9 valid B3-0 = CWI values 0-Fh valid
ICC Clock Stop Support. 00h = Stopping the Clock is not allowed 01h = Stop with Clock signal Low 02h = Stop with Clock signal High 03h = Stop with Clock either High or Low

5.2.2. CCID Bulk-IN Messages

The Bulk-IN messages are used in response to the Bulk-OUT messages. ACR1283L shall follow the CCID Bulk-IN Messages as specified in CCID section 4. This section lists the CCID Bulk-IN Messages to be supported by ACR1283L.
5.2.2.1. RDR_to_PC_DataBlock
This message is sent by ACR1283L in response to PC_to_RDR_IccPowerOn, PC_to_RDR_XfrBlock and PC_to_RDR_Secure messages.
Offset Field Size Value Description
0
1
5
6
7
bMessageType
dwLength
bSlot
bSeq
bStatus
1 80h
4 Size of extra bytes of this message.
1 Same value as in Bulk-OUT message.
1 Same value as in Bulk-OUT message.
1
Indicates that a data block is being sent from the CCID.
Slot status register as defined in CCID section
4.2.1.
Page 15 of 55
Version 1.00
www.acs.com.hk
Offset Field Size Value Description
8
9
10
bError
bChainParameter
abData
1
1 00h RFU (TPDU exchange level).
Byte array
Slot error register as defined in CCID section
4.2.1 and this specification section 5.2.8.
This field contains the data returned by the CCID.
5.2.2.2. RDR_to_PC_Escape
This message is sent by ACR1283L in response to PC_to_RDR_Escape messages.
Offset Field Size Value Description
0
1
5
6
7
8
bMessageType
dwLength
bSlot
bSeq
bStatus
bError
1 83h
4 Size of abData field of this message.
1 Same value as in Bulk-OUT message.
1 Same value as in Bulk-OUT message.
1
1
Slot status register as defined in CCID section 4.2.1.
Slot error register as defined in CCID section 4.2.1 and this specification section
5.2.8.
9
10
bRFU
abData
1 00h RFU.
Byte array
This field contains the data returned by the CCID.
5.2.2.3. RDR_to_PC_SlotStatus
This message is sent by ACR1283L in response to PC_to_RDR_IccPowerOff, PC_to_RDR_GetSlotStatus, PC_to_RDR_Abort messages and class specific ABORT request.
Offset Field Size Value Description
0
1
5
6
7
8
9
bMessageType
dwLength
bSlot
bSeq
bStatus
bError
bClockStatus
1 81h
4 00000000h Size of extra bytes of this message.
1 Same value as in Bulk-OUT message.
1 Same value as in Bulk-OUT message.
1
1
1
Slot status register as defined in CCID section
4.2.1.
Slot error register as defined in CCID section
4.2.1 and this specification section 5.2.8.
Value: 00h = Clock running 01h = Clock stopped in state L 02h = Clock stopped in state H 03h = Clock stopped in an unknown state All other values are RFU.
Page 16 of 55
Version 1.00
www.acs.com.hk
5.2.2.4. RDR_to_PC_Parameters
This message is sent by ACR1283L in response to PC_to_RDR_GetParameters, PC_to_RDR_ResetParameters and PC_to_RDR_SetParameters messages.
Offset Field Size Value Description
0
1
5
6
7
8
9
10
bMessageType
dwLength
bSlot
bSeq
bStatus
bError
bProtocolNum
abProtocolDataStructure
1 82h
4 Size of extra bytes of this message.
1 Same value as in Bulk-OUT message.
1 Same value as in Bulk-OUT message.
1
1
1
Byte
array
Slot status register as defined in CCID section 4.2.1.
Slot error register as defined in CCID section 4.2.1 and this specification section
5.2.8.
Specifies what protocol data structure follows.
00h = Structure for protocol T=0 01h = Structure for protocol T=1 The following values are reserved for
future use: 80h = Structure for 2-wire protocol 81h = Structure for 3-wire protocol 82h = Structure for I2C protocol
Protocol Data Structure as summarized in section 5.2.3.
5.3. Contactless Smart Card Protocol

5.3.1. ATR Generation

If the reader detects a PICC, an ATR is sent to the PCSC driver for identifying the PICC.
5.3.1.1. ATR Format for ISO 14443 Part 3 PICCs
Byte Value (Hex) Designation Description
0 3B Initial Header
Higher nibble 8 means: no TA1, TB1, TC1 only TD1
1 8N T0
2 80 TD1
3 01 TD2
is following. Lower nibble N is the number of historical bytes
(HistByte 0 to HistByte N-1)
Higher nibble 8 means: no TA2, TB2, TC2 only TD2 is following.
Lower nibble 0 means T = 0
Higher nibble 0 means no TA3, TB3, TC3, TD3 following.
Lower nibble 1 means T = 1
Page 17 of 55
Version 1.00
www.acs.com.hk
Loading...
+ 38 hidden pages