ACS ACK30 User Manual

@
REFERENCE MANUAL
AACCRR3300
Advanced Card Systems Ltd.
Website: www.acs.com.hk Email: info
ACR30
Table of Contents
1.0. Introduction ............................................................................................................... 5
2.0. Features ..................................................................................................................... 6
3.0. Supported Card Types .............................................................................................. 7
3.1. Memory-based smart cards (synchronous interface) (*) ....................................................... 7
3.2. Microcontroller-based smart cards (asynchronous interface) ............................................... 7
4.0. Smart Card Interface ................................................................................................. 8
4.1. Smart Card Power Supply VCC (C1) .................................................................................... 8
4.2. Programming Voltage VPP (C6) ............................................................................................ 8
4.3. Card Type Selection .............................................................................................................. 8
4.4. Interface for Microcontroller-based Cards ............................................................................. 8
4.5. Card Tearing Protection ......................................................................................................... 8
5.0. Power Supply ............................................................................................................ 9
6.0. Serial Interface ........................................................................................................ 10
6.1. Communication Parameters ................................................................................................ 10
6.1.1. Hardware Baud Rate .................................................................................................. 10
6.1.2. Software Baud Rate Selection .................................................................................... 10
6.2. Interface Wiring .................................................................................................................... 10
7.0. USB Interface ........................................................................................................... 12
7.1. Communication Parameters ................................................................................................ 12
8.0. Communication protocol ........................................................................................ 13
8.1. Command ............................................................................................................................ 13
Normal Command (Length < 255 bytes) ........................................................................................ 13
8.1.1. Extended Command ................................................................................................... 13
8.2. Response ............................................................................................................................. 14
8.2.1. No transmission error with normal response (Length < 255 bytes) ............................ 14
8.2.2. No transmission error with extended response .......................................................... 15
8.2.3. Transmission error ...................................................................................................... 16
8.3. Reset Message .................................................................................................................... 16
8.4. Card Status Message .......................................................................................................... 16
8.5. Transmission Protocol ......................................................................................................... 17
9.0. Commands ............................................................................................................... 19
9.1. Control Commands .............................................................................................................. 19
9.1.1. GET_ACR_STAT ........................................................................................................ 19
9.1.2. SET_PROTOCOL ....................................................................................................... 20
ACR30 Reference Manual
Version 3.3 January 2009
Page 2 of 44
ACR30
SELECT_CARD_TYPE .............................................................................................. 21
9.1.3.
9.1.4. RESET ........................................................................................................................ 21
9.1.5. SET_NOTIFICATION .................................................................................................. 22
9.1.6. SET_OPTION ............................................................................................................. 22
9.2. Card Commands .................................................................................................................. 23
'104' - type non-reloadable Token Counter Cards (*) ..................................................................... 23
9.2.1.1.RESET (*) ................................................................................................................... 23
9.2.1.2.POWER_OFF (*) ........................................................................................................ 24
9.2.1.3.READ_DATA (*) ......................................................................................................... 24
9.2.1.4.WRITE_DATA (*) ....................................................................................................... 24
9.2.1.5.PRESENT_TRANSPORT_CODE (*) ......................................................................... 25
9.2.1.6.AUTHENTICATE_CARD_SLE4436 (firmware 2.10 onwards) (*) .............................. 26
9.2.1.7.AUTHENTICATE_CARD_SLE5536 (firmware 2.10 onwards) (*) .............................. 27
9.2.2. I2C-Bus cards (standard and extended addressing) (*) ............................................. 28
9.2.2.1.RESET (*) ................................................................................................................... 28
9.2.2.2.POWER_OFF (*) ........................................................................................................ 28
9.2.2.3.READ_DATA (*) ......................................................................................................... 28
9.2.2.4.WRITE_DATA (*) ....................................................................................................... 29
9.2.3. Siemens SLE 4432/4442 intelligent 256 Byte Memory Card (*) ................................. 29
9.2.3.1.RESET (*) ................................................................................................................... 29
9.2.3.2.POWER_OFF (*) ........................................................................................................ 30
9.2.3.3.READ_DATA (*) ......................................................................................................... 30
9.2.3.4.WRITE_DATA (*) ....................................................................................................... 31
9.2.3.5.WRITE_PROTECTION (*) ......................................................................................... 31
9.2.3.6.PRESENT_CODE (only SLE 4442) (*) ..................................................................... 32
9.2.3.7.CHANGE_CODE (only SLE 4442) (*) ....................................................................... 33
9.2.4. Siemens SLE 4418/4428 intelligent 1K Byte Memory Card (*) .................................. 33
9.2.4.1.RESET (*) ................................................................................................................... 33
9.2.4.2.POWER_OFF (*) ........................................................................................................ 33
9.2.4.3.READ_DATA (*) ......................................................................................................... 34
9.2.4.4.WRITE_DATA (*) ....................................................................................................... 35
9.2.4.5.WRITE_PROTECTION (*) ......................................................................................... 35
9.2.4.6.PRESENT_CODE (only SLE 4428) (*) ..................................................................... 36
9.2.5. MCU-based Card ........................................................................................................ 36
9.2.5.1.RESET ....................................................................................................................... 36
9.2.5.2.POWER_OFF ............................................................................................................. 37
9.2.5.3.EXCHANGE_APDU ................................................................................................... 37
9.2.5.4.EXCHANGE_T1_FRAME .......................................................................................... 38
ACR30 Reference Manual
Version 3.3 January 2009
Page 3 of 44
ACR30
Security Application Module (SAM) (**) ...................................................................... 38
9.2.6.
9.2.6.1.ACTIVATE_SAM (**) .................................................................................................. 38
9.2.6.2.DEACTIVATE_SAM (**) ............................................................................................. 39
9.2.6.3.EXCHANGE_SAM_APDU (**) ................................................................................... 39
9.2.6.4.EXCHANGE_SAM_T1_FRAME (**) .......................................................................... 40
Appendix A: Supported Card Types ................................................................................ 41
Appendix B: Response Status Codes .............................................................................. 42
Appendix C: Technical Specifications ............................................................................. 43
ACR30 Reference Manual
Version 3.3 January 2009
Page 4 of 44
ACR30

1.0. Introduction

The ACS Smart Card Reader/Writer ACR30 is 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 different communication protocols. This prevents in most cases the direct communication between a smart card and a computer. The ACR30 Reader/Writer establishes a uniform interface from the computer to the smart card for a wide variety of cards. By taking care of the card specific particulars, it releases the computer software programmer of getting involved with the technical details of the smart card operation, which are in many cases not relevant for the implementation of a smart card system.
The ACR30 Smart Card Reader/Writer is connected to the computer through a serial asynchronous interface (RS-232) or USB interface. The reader accepts commands from the computer, carries out the specified function at the smart card and returns the requested data or status information.
NOTE - Although the ACR30 is a true card reader/writer as it can read and write smart cards, the terms card reader or reader will be used indifferently to refer to the ACR30, for the sake of readability and because these designations are commonly in use for this kind of devices.
ACR30 Reference Manual
Version 3.3 January 2009
Page 5 of 44
ACR30

2.0. Features

ISO7816-1/2/3 compatible smart card interface  Supports CPU-based cards with T=0 and/or T=1 protocol  (*) Supports commonly used memory cards (I2C, SLE4406, SLE4418/28, SLE4432/42)  Support PPS (Protocol and Parameters Selection) with 9600 – 96000 bps in reading and writing
smart cards
RS-232 interface or USB interface to PC with simple command structure  Supports memory cards SLE4436 and SLE5536 (firmware 2.10 onwards)  Security application modules (SAM) inside the reader supporting CPU-based cards with T=0
and/or T=1 protocol (SAM Reader only)
Note (*) – SAM Reader does not support for memory cards
ACR30 Reference Manual
Version 3.3 January 2009
Page 6 of 44
ACR30

3.0. Supported Card Types

The ACR30 can operate MCU card with T=0 and T=1 protocol. The table presented in Appendix A explains which card type selection value must be specified for the various card types supported by the reader.

3.1. Memory-based smart cards (synchronous interface) (*)

'104' type EEPROM non-reloadable token counter cards, including:
Gemplus GPM103, Siemens SLE 4406 Siemens SLE4436 and SLE5536 (firmware 2.10 onwards)
Cards following the I
minimum 4 bytes page write capability, including:
Atmel AT24C01/02/04/08/16 Gemplus GFM2K, GFM4K SGS-Thomson ST14C02C,14C04C
Siemens SLE4432/4442 intelligent 256 bytes EEPROM with write protect function:
SLE 4432, SLE 4442
Siemens SLE 4418/4428 intelligent 1K bytes EEPROM with write-protect function:
SLE 4418, SLE 4428
2
C bus protocol (free memory cards) with memory capacity up to 16 Kbit and
NOTE (*) SAM READER DOES NOT SUPPORT FOR MEMORY-BASED SMART CARD

3.2. Microcontroller-based smart cards (asynchronous interface)

The ACR30 supports EEPROM microcontroller-based cards with internal programming voltage (VPP) generation and the following programming parameters transmitted in the ATR:
PI1 = 0 or 5 I = 25 or 50
The ACR30 performs the Protocol and Parameters Selection (PPS) procedure as specified in ISO7816-3:1997.
When the card ATR indicates the specific operation mode (TA that particular mode is not supported by the ACR30, the reader will reset the card to set it to negotiable mode. If the card cannot be set to negotiable mode, the reader will reject the card.
When the card ATR indicates the negotiable mode (TA
not present) and communication parameters
2
other than the default parameters, the ACR30 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 ISO7816, part 3.
present; bit b5 of TA2 must be 0) and
2
ACR30 Reference Manual
Version 3.3 January 2009
Page 7 of 44
ACR30

4.0. Smart Card Interface

The interface between the ACR30 and the inserted smart card follows the specifications of ISO7816-3 with certain restrictions or enhancements to increase the practical functionality of the ACR30.

4.1. Smart Card Power Supply VCC (C1)

The current consumption of the inserted card must not be higher than 50mA.

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 ACR30. 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 has to always select the card type through the proper command sent to the ACR30 prior to activating the inserted card. This includes both the memory cards 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 an 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.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 3.6864 / 4 MHz is applied to the CLK signal (C3).

4.5. Card Tearing Protection

The ACR30 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 ACR30 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 ACR30 does never by itself switch on the power supply to the inserted card. This must explicitly be done by the controlling computer through the proper command sent to the reader.
ACR30 Reference Manual
Version 3.3 January 2009
Page 8 of 44
ACR30

5.0. Power Supply

The ACR30 requires a voltage of 5V DC, 100mA regulated power supply. The ACR30 gets the power supply from PC (through the cable supplied along with each type of reader).
Status LEDs- Green LED on the front of the reader indicates the activation status of the smart card interface.
Green LED - Indicates power supply to the smart card is switched on, i.e., the smart card is activated.
ACR30 Reference Manual
Version 3.3 January 2009
Page 9 of 44
p
ACR30

6.0. Serial Interface

The ACR30 is connected to a computer through a serial asynchronous interface following the RS-232 standard.

6.1. Communication Parameters

The following communication parameters are used by the ACR30 and cannot be modified by the host computer:
The ACR30 provides two means to select the transmission speed (baud rate) used by the reader in the normal operation, by hardware and/or by software.
Transmission protocol : serial asynchronous Parity : none Data Bits : 8 Sto
Bits : 1

6.1.1. Hardware Baud Rate

The default hardware baud rate setting is 9600 bps.

6.1.2. Software Baud Rate Selection

The SET_PROTOCOL command allows setting the transmission speed (baud rate) and a delay time inserted between the bytes transmitted by the reader to the PC. Please note that the setting made with this command is volatile and will be lost when the reader is being reset or powered up next time.

6.2. Interface Wiring

For the communication between the ACR30 and a computer, five lines of the RS-232 interface are used: RxD, TxD, CTS, DTR and GND.
ACR30 Reference Manual
Version 3.3 January 2009
Page 10 of 44
RS-232 Interface Wiring
ACR30
Pin PC Cyber-
Function
mouse 2 RxD TxD 3 TxD RxD 4 DTR RESET
Data transmitted from PC to ACR30. Data transmitted from ACR30 to PC. RESET input signal. Allows performing hardware reset of the
reader module through the RS-232 interface. Applying a logic '1' signal (negative voltage according to the
RS-232 convention) to this pin causes a hardware reset of the ACR30.
5 GND GND 8 CTS BUSY
Reference voltage level for power supply and serial interface. CTS (Clear To Send) signal to the PC. Indicates to the PC
whether the ACR30 is ready to receive the next command. A logic '0' signal (positive voltage according to the RS-232
convention) is applied to this pin while the ACR30 is executing a command. Only when a '1' signal (negative voltage according to the RS-232 convention) is present at this pin can the PC send a command to the ACR30.
NOTE - Communicatio n problems between the ACR30 and a PC can occ ur if a 25 pin to 9 pin RS-232 adapt er or a cable is used in which not all 9 signal lines are connected. Adapters supplied with computer mouse frequently have not all lines connected. For the c orrect operation of the re ader, use only a 9 pin to 25pin ada pter and a serial interface cable in which all 9 signal lines are connected!
NOTE - To prevent any radio interference bet ween the A CR3 0 and other electrical and el ectronic equipm ent, do
use an RS-232 cable longer than 3 meters!
not
ACR30 Reference Manual
Version 3.3 January 2009
Page 11 of 44

7.0. USB Interface

The ACR30 is connected to a computer through a USB following the USB standard.

7.1. Communication Parameters

The ACR30 is connected to a computer through USB as specified in the USB Specification. The ACR30 is working in low speed mode, i.e. 1.5 Mbps.
USB Interface Wiring Pin Signal Function
ACR30
1 V 2 D­3 D+ 4 GND
NOTE - In order for the ACR30 functioning properly through USB interface, either ACS proprietary device drive or ACS
PC/SC device driver has to be installed. Please refer to the Device Driver Installation Guide for more detail.
BUS
+5V power supply for the reader Differential signal transmits data between ACR30 and PC. Differential signal transmits data between ACR30 and PC. Reference voltage level for power supply
ACR30 Reference Manual
Version 3.3 January 2009
Page 12 of 44
ACR30

8.0. Communication protocol

In the normal operation, the ACR30 acts as a slave device with regard to the communication between a computer and the reader. The communication is carried out in the form of successive command­response exchanges. The computer transmits a command to the reader and receives a response from the reader after the command has been executed. A new command can be transmitted to the ACR30 only after the response to the previous command has been received.
There are two cases where the reader transmits data without having received a command from the computer, namely, the Reset Message of the reader and the Card Status Message.

8.1. Command

Normal Command (Length < 255 bytes)

A command consists of four protocol bytes and a variable number of data bytes and has the following structure:
byte 1 2 3 4 ... N+3 (0<N<255) N+4
Header Instruction Data length =
Data Checksum
N
Header Always 01
to indicate the start of a command.
H
Instruction The instruction code of the command to be carried out by the ACR3 0 Data Length Number of subsequent data bytes. (0 < N < 255) Data Data contents of the command.
For a READ command, for example, the data bytes would specify the start address
and the number of bytes to be read. For a WRITE command, the data bytes would specify the start address and the data to be written to the card.
The data bytes can represent values to be written to a card and/or command
parameters such as an address, a counter, etc.
Checksum The checksum is computed by XORing all command bytes including header,
instruction, data length and all data bytes.
The following example shows the structure of a command with instruction code = 91 bytes with the values 11
, 22H and 33H, respectively:
H
and three data
H
byte 1 2 3 4 5 6 7
01
91 H 03
H
11
H
22
H
33
H
93 H
H

8.1.1. Extended Command

A command consists of six protocol bytes and a variable number of data bytes and has the following structure:
ACR30 Reference Manual
Version 3.3 January 2009
Page 13 of 44
ACR30
byte 1 2 3 4 5 6 ... N+5
N+6
(N>0)
Header Instruction Data Length = N Data Checksum
FFH Data Length N
Header Always 01
to indicate the start of a command.
H
Instruction The instruction code of the command to be carried out by the ACR30. Data Length Number of subsequent data bytes, and is encoded in 3 bytes. The first byte is FF
.
H
The second byte and the third byte represent data length N. Data Data contents of the command. For a READ command, for example, the data bytes would specify the start address
and the number of bytes to be read. For a WRITE command, the data bytes would
specify the start address and the data to be written to the card. The data bytes can represent values to be written to a card and/or command
parameters such as an address, a counter, etc. Checksum The checksum is computed by XORing all command bytes including header,
instruction, data length and all data bytes.

8.2. Response

The response from the ACR30 to any command depends if the command where received by the reader without error (e.g., checksum error).

8.2.1. No transmission error with normal response (Length < 255 bytes)

The response by the ACR30 to a correctly received command consists of three protocol bytes, two status bytes and a variable number of data bytes and has the following structure:
byte 1 2 3 4 5 ... N+4
(0<N<255)
Header SW1 SW2 Data length = N Data Checksum
Header Always 01
to indicate the start of the response.
H
SW1 Indicates the command execution status:
90
= command successfully executed
H
60
= error in command data; command cannot be executed
H
67
= error detected in command execution
H
FF
= status message initiated by the reader
H
SW2 Further qualification of the command execution status. A table listing the possible values of the status bytes SW1 and SW2 and the
corresponding meaning is given in Appendix B.
N+5
ACR30 Reference Manual
Version 3.3 January 2009
Page 14 of 44
Loading...
+ 30 hidden pages