The ACR83, a cost-effective PC-linked PINpad Reader, serves as an interface for the communication
between a computer (for example, a PC) and a smart card. Different types of smart cards have
different commands and communication protocols, and the ACR83 PINeasy establishes a uniform
interface from the computer to the smart card for a wide variety of cards.
The ACR83 is connected to the computer through a USB interface and uses the CCID interface to
communicate with the USB port. CCID is the Device Class Specification for USB chip/Smart Card
Interface Devices, and defines the communication protocol and commands for the USB chip-card
interface devices.
Furthermore, the ACR83 supports CCID Secure PIN Entry (SPE) functionality which provides a
secure user interface for PIN entry without the danger of the PIN being observed by a third party.
ACR83 is a specific smart card reader which can do the PIN verification and modification in the card
reader.
1.1. Reference Documents
The following related documents are available from WWW.USB.ORG
•Universal Serial Bus Specification 2.0 (also referred to as the USB specification), April 27,
2000
• Universal Serial Bus Common Class Specification 1.0, December 16, 1997
• Universal Serial Bus Device Class: Smart Card CCID Specification for Integrated Circuit(s)
Cards Interface Devices, Revision 1.1, April 22, 2005
The following related documents can be ordered through WWW.ANSI.ORG
•ISO/IEC 7816-1; Identification Cards – Integrated circuit(s) cards with contacts - Part 1:
Physical Characteristics
•ISO/IEC 7816-2; Identification Cards – Integrated circuit(s) cards with contacts - Part 2:
Dimensions and Locations of the contacts
•ISO/IEC 7816-3; Identification Cards – Integrated circuit(s) cards with contacts - Part 3:
Electronic signals and transmission protocols
1.2. Symbols and Abbreviations
Symbol Abbreviation
ATR
EMV
PPS
SPE
USB
Answer-to-Reset
Europay MasterCard VISA
Protocol and Parameters Selection
Secure PIN Entry
Universal Serial Bus
Page 4 of 49
ACR83 – Reference Manual info@acs.com.hk
Version 1.05
www.acs.com.hk
2.0. Features
• 14-key keypad
• 2 rows x 16 characters dot matrix LCD, each character has 5x8 dots
• Supports ISO 7816 Microprocessor Smart Cards with the following features:
o Class A, B, C (5 V, 3 V and 1.8 V respectively)
o T=0 and/or T=1 protocol
• Supports Secure PIN Entry (SPE)
• EMV Level 1 Certified
• Full-speed USB Interface (12 Mbps)
• Compliant to the following standards:
o PC/SC
o WHQL
o CCID
o CE/FCC
o RoHS
Page 5 of 49
ACR83 – Reference Manual info@acs.com.hk
Version 1.05
www.acs.com.hk
3.0. Supported Card Types
The ACR83 supports MCU cards with either T=0 or T=1 protocol. The card ATR indicates the specific
operation mode (TA2 present; bit b5 of TA2 must be 0) and when that the particular mode is not
supported by the ACR83 PINeasy, the reader will reset the card to a negotiable mode. If the card
cannot be set to negotiable mode, the reader will then reject the card.
When the card ATR indicates the negotiable mode (TA2 not present) and communication parameters
other than the default parameters, the ACR83 will execute the PPS and try to use the communication
parameters that the card suggested in its ATR. If the card does not accept the PPS, the reader will
use the default parameters (F=372, D=1).
For the meaning of the aforementioned parameters, please refer to ISO 7816 Part 3.
Page 6 of 49
ACR83 – Reference Manual info@acs.com.hk
Version 1.05
www.acs.com.hk
4.0. Smart Card Interface
ACR83 PINeasy Smart Card Reader has a 14-key keypad and LCD display consisting of 2 rows with
16 characters dot matrix.
4.1. Smart Card Power Supply VCC (C1)
The current consumption of the inserted card must not be higher than 100 mA.
4.2. Programming Voltage VPP C6
According to ISO 7816-3, the smart card contact C6 (VPP) supplies the programming voltage to the
smart card. Since all common smart cards in the market are EEPROM-based and do not require the
provision of an external programming voltage, the contact C6 (VPP) has been implemented as a
normal control signal in the ACR83 (CCID). The electrical specifications of this contact are identical to
those of the signal RST (at contact C2).
4.3. Card Type Selection
The controlling PC always has to select the card type through the proper command sent to the ACR83
prior to activation the inserted card.
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 an MCU-based card supports only one protocol
type, T=0 or T=1, the reader automatically uses that protocol type, regardless of the protocol type
selected by the application.
4.4. Interface for Microcontroller-based Cards
For microcontroller-based smart cards only the contacts C1 (VCC), C2 (RST), C3 (CLK), C5 (GND)
and C7 (I/O) are used. A frequency of 4 MHz is applied to the CLK signal (C3).
4.5. Card Tearing Protection
The ACR83 (CCID) provides a mechanism to protect the inserted card when it is suddenly withdrawn
while it is powered up. The power supply to the card and the signal lines between the ACR83 (CCID)
and the card are immediately deactivated when the card is being removed. As a general rule,
however, to avoid any electrical damage, a card should only be removed from the reader while it is
powered down.
Note: The ACR83 (CCID) does never, by itself, switch on the power supply to the inserted card. This
must be explicitly done by the controlling computer through the proper command sent to the reader.
Page 7 of 49
ACR83 – Reference Manual info@acs.com.hk
Version 1.05
www.acs.com.hk
5.0. Power Supply
The ACR83 (CCID) requires a voltage of 5 V DC, 100 mA regulated power supply. The ACR83
(CCID) gets the power from PC through the cable supplied along with each type of reader.
Page 8 of 49
ACR83 – Reference Manual info@acs.com.hk
Version 1.05
www.acs.com.hk
6.0. USB Interface
The ACR83 (CCID) is connected to a computer through a USB port following the USB standard.
6.1. Communication Parameters
The ACR83 (CCID) is connected to a computer through USB as specified in the USB Specification
1.1. The ACR83 (CCID) is working in full-speed mode, i.e. 12 Mbps.
Pin Signal Function
1 VBUS
2 D-
3 D+
4 GND
Note: ACR83 PINeasy is a PC/SC Device. In order for the ACR83 (CCID) to function properly
through USB interface, an ACS PC/SC driver has to be installed. Please refer to the Device Driver
Installation Guide for more details.
+5 V power supply for the reader
Differential signal transmits data between ACR83 and PC
Differential signal transmits data between ACR83 and PC
Reference voltage level for power supply
Table 1: USB Interface Wiring
6.2. Endpoints
The ACR83 (CCID) 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 ACR83 (CCID) (data packet size is 64
bytes)
Bulk IN For response to sent from ACR83 (CCID) to host (data packet size is 64
bytes)
Interrupt IN For card status message to sent from ACR83 (CCID) to host (data packet
size is 8 bytes)
Page 9 of 49
ACR83 – Reference Manual info@acs.com.hk
Version 1.05
www.acs.com.hk
7.0. Communication Protocol
ACR83 (CCID) 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 ACR83 (CCID) 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 ACR83 (CCID)
has an associated ending response. Some commands can also have intermediate responses.
•CCID Responses are sent on BULK-IN endpoint. All commands sent to ACR83 (CCID) have
to be sent synchronously. (i.e. bMaxCCIDBusySlots is equal to 1 for ACR83 (CCID)).
The supported CCID features by ACR83 (CCID) are indicated in its Class Descriptor:
Offset Field Size Value Description
0
1
2
4
5
6
10
14
18
19
bLength
bDescriptorType
bcdCCID
bMaxSlotIndex
bVoltageSupport
dwProtocols
dwDefaultClock
dwMaximumClock
bNumClockSupported
dwDataRate
1 36h Size of this descriptor (in bytes)
1 21h CCID Functional Descriptor type
2 0100h
1 00h
1 07h
4 00000003h
4 00000FA0h
4 00000FA0h
1 00h
4 00002A00h
CCID Specification Release
Number in Binary-coded decimal
One slot is available on ACR83
(CCID)
ACR83 (CCID) can supply 1.8 V,
3.0 V and 5.0 V to its slot
ACR83 (CCID) 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
Default ICC I/O data rate is
10752 bps
23
27
28
32
dwMaxDataRate
bNumDataRatesSupported
dwMaxIFSD
dwSynchProtocols
4 0001F808h
1 00h
4 00000Feh
4 00000000h
Maximum supported ICC I/O
data rate is 250000 bps
Does not support manual setting
of data rates
Maximum IFSD supported by
ACR83 (CCID) for protocol T=1
is 254
ACR83 (CCID) does not support
synchronous card
Page 10 of 49
ACR83 – Reference Manual info@acs.com.hk
Version 1.05
www.acs.com.hk
Offset Field Size Value Description
ACR83 (CCID) does not support
36
40
44
dwMechanical
dwFeatures
dwMaxCCIDMessageLength
4 00000000h
4 00010030h
4 0000010Fh
special mechanical
characteristics
ACR83 (CCID) supports the
following features:
•Automatic ICC clock
frequency change according
to parameters
•Automatic baud rate change
according to frequency and
FI,DI parameters
•TPDU level exchange with
ACR83 (CCID)
Maximum message length
accepted by ACR83 (CCID) is
271 bytes
4. CM_IOCTL_GET_FEATURE_REQUEST (PC/SC 2.0 Part 10)
5. FEATURE_VERIFY_PIN_DIRECT
6. FEATURE_MODIFY_PIN_DIRECT
7. FEATURE_IFD_PIN_DROP
Page 12 of 49
ACR83 – Reference Manual info@acs.com.hk
Version 1.05
www.acs.com.hk
END
PIN?
9.0. Operation Flow for PIN Verification and Modification
(PC/SC 2.0 Part 10)
ACR83 reader supports PC/SC 2.0 Part 10. The flowchart below shows the PIN verification and
modification operation.
START
Connect to ACR83
(SCardConnect)
Get Feature Request
(SCardControl)
Modify the
Verify PIN Direct
(SCardControl)
Modify PIN Direct
(SCardControl)
Disconnect ACR83
(SCardDisconnect)
Figure 1: PIN Verification and Modification Operation Flowchart
Yes
In order to use PIN verification and modification, the SCardControl API must be called with Get
Feature Request control code. This API will return a list of supported features from the reader.
In ACR83, only Verify PIN Direct, Modify PIN Direct and IFD PIN Properties are supported. To use
these features, you can get the control codes from the list. For more information, please refer to
PC/SC 2.0 Specification Part 10.
Page 13 of 49
ACR83 – Reference Manual info@acs.com.hk
Version 1.05
www.acs.com.hk
10.0. CCID SPE Data Structure
The ACR83 SPE is based on the CCID SPE which is fully compatible to CCOD SPE.
If the application program uses the CCID SPE, it must use the CCID PC_to_RDR_Secure to send the
APDU.
According to CCID specification, the SPE has two modes:
1. PIN Verification
2. PIN Modification
The Modes setting is based on CCID abPINOperationDataStructure (Please refer to CCID
specification 6.1.11.1).
bPINOperation:
00h: PIN Verification
01h: PIN Modification
Any other values will not be supported by ACR83.
Page 14 of 49
ACR83 – Reference Manual info@acs.com.hk
Version 1.05
www.acs.com.hk
11.0. PIN Verification Data Structure
For PIN Verification, we need to understand the PIN Verification Data Structure.
bTimeOut: Number of seconds for key press (00h: default value = 60 seconds)