ACS ACR30 Reference Manual

ACS ACR30 Reference Manual

Card and reader technologies
Hide thumbs Also See for ACR30:
Table of Contents

Advertisement

Quick Links

REFERENCE MANUAL
A
C
R
3
0
A
C
R
3
0
Advanced Card Systems Ltd.
Website: www.acs.com.hk
Email:
info
@acs.com.hk

Advertisement

Table of Contents
loading
Need help?

Need help?

Do you have a question about the ACR30 and is the answer not in the manual?

Questions and answers

Subscribe to Our Youtube Channel

Summary of Contents for ACS ACR30

  • Page 1 REFERENCE MANUAL Advanced Card Systems Ltd. Website: www.acs.com.hk Email: info @acs.com.hk...
  • Page 2: Table Of Contents

    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. ...
  • Page 3 ACR30     9.1.3. SELECT_CARD_TYPE ....................21     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  ...
  • Page 4 ACR30     9.2.6. Security Application Module (SAM) (**) ..............38     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 ...
  • Page 5: Introduction

    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.
  • Page 6: Features

    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...
  • Page 7: Supported Card Types

    0) and 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.
  • Page 8: Smart Card Interface

    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.
  • Page 9: Power Supply

    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.
  • Page 10: Serial Interface

    Parity none Data Bits Stop Bits 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. 6.1.1. Hardware Baud Rate The default hardware baud rate setting is 9600 bps.
  • Page 11 PC send a command to the ACR30. NOTE - Communication problems between the ACR30 and a PC can occur if a 25 pin to 9 pin RS-232 adapter 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.
  • Page 12: Usb Interface

    Reference voltage level for power supply 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.
  • Page 13: Communication Protocol

    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.
  • Page 14: Response

    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.
  • Page 15: No Transmission Error With Extended Response

    8.2.2. No transmission error with extended response 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 7 ... N+6 (N>0)
  • Page 16: Transmission Error

    8.2.3. Transmission error If the receiving party of a command (i.e., the ACR30) or a response (i.e., the computer) detects an error in the data length or the checksum of a command, it disregards the received data and sends a "NOT ACKNOWLEDGE"...
  • Page 17: Transmission Protocol

    ACR30 Card Status Message for Card Insertion byte Header Data Checksu length Card Status Message for Card Removal byte Header Data Checksu length A card status message is transmitted only once for every card insertion or removal event. The reader does not expect an acknowledge signal from the computer.
  • Page 18 ) and lower case characters 'a' ... 'f' (61 ... 66 byte ... is equivalent to: byte In its response messages, the ACR30 uses upper case characters 'A' ... 'F'. ACR30 Reference Manual Page 18 of 44 Version 3.3 January 2009...
  • Page 19: Commands

    The commands executed by the ACR30 can generally be divided into two categories, namely, Control Commands and Card Commands. Control Commands control the internal operation of the ACR30. They do not directly affect the card inserted in the reader and are therefore independent of the selected card type.
  • Page 20: Set_Protocol

    9.1.2. SET_PROTOCOL This command is used to control the line speed of the communication channel between ACR30 reader and host device. The line speed of the communication is controlled by two factors, namely, the Delay Factor and the Baud Rate.
  • Page 21: Select_Card_Type

    ACR30 has sent out the response string to the SET_PROTOCOL command. 9.1.3. SELECT_CARD_TYPE This command sets the required card type. The firmware in the ACR30 adjusts the communication protocol between reader and the inserted card according to the selected card type. Command format Instruction Code...
  • Page 22: Set_Notification

    ACR30 Command format Instruction Data length Code Response data format The answer-to-reset string returned by the card. The return status code for this command is 90 00 when the inserted card is a T=0 card, 90 01 when the inserted card is a T=1 card, and 90 10 when the inserted card is a memory card;...
  • Page 23: Card Commands

    9.2. Card Commands The available commands and the parameters specified in the card commands as well as the data transmitted in the response from the ACR30 depend on the selected card type. '104' - type non-reloadable Token Counter Cards (*) 9.2.1.1.
  • Page 24: Power_Off (*)

    ACR30 9.2.1.2. POWER_OFF (*) This command powers off the card inserted in the card reader. Command format Instruction Data length Code Response data format No response data 9.2.1.3. READ_DATA (*) To read the specified number of bytes from the specified address of the card inserted. The bytes are read from the card with LSB first, i.e., the bit at card address 0 is regarded as the LSB of byte 0.
  • Page 25: Present_Transport_Code (*)

    '1' bit in the presentation counter and write the bit to '0' present the specified code to the card The ACR30 does not try to erase the presentation counter after the code submission! The application software through a separate ‘Write with carry’ command must do this.
  • Page 26: Authenticate_Card_Sle4436 (Firmware 2.10 Onwards) (*)

    16 bits of authentication data from the card reset the card to normal operation mode The ACR30 returns the 16 bits of authentication data calculated by the card in the response. Command format Instructio Data...
  • Page 27: Authenticate_Card_Sle5536 (Firmware 2.10 Onwards) (*)

    16 bits of authentication data from the card reset the card to normal operation mode The ACR30 returns the 16 bits of authentication data calculated by the card in the response. Command format Instructio Data...
  • Page 28: I2C-Bus Cards (Standard And Extended Addressing) (*)

    ACR30 9.2.2. I2C-Bus cards (standard and extended addressing) (*) 9.2.2.1. RESET (*) This command powers up the card inserted in the card reader. No action is taken if the card is powered up when the command is being issued. Command format...
  • Page 29: Write_Data (*)

    ACR30 Response data format BYTE BYTE BYTE BYTE BYTE x Data bytes read from the card memory 9.2.2.4. WRITE_DATA (*) To write the specified data bytes to the specified address of the card inserted. Command format Instruction Data length Data...
  • Page 30: Power_Off (*)

    ACR30 Command format Instruction Data Code length Response data format Four bytes Answer-To-Reset read from the card. The ATR bytes are read from the card with LSB first, i.e., the first bit read from the card is the LSB of the first ATR byte.
  • Page 31: Write_Data (*)

    ACR30 The protection bits are only returned in the response data if the start address ADDR specified in the command is < 20 , i.e., it is lying within the first 32 bytes of card memory which can be write protected.
  • Page 32: Present_Code (Only Sle 4442) (*)

    To submit the secret code to the card to enable the write operation with the SLE 4442 card. The following actions are executed by the ACR30: search a '1' bit in the presentation error counter and write the bit to '0'...
  • Page 33: Change_Code (Only Sle 4442) (*)

    ACR30 9.2.3.7. CHANGE_CODE (only SLE 4442) (*) To write the specified data as new secret code in the card. The current secret code must have been presented to the card with the PRESENT_CODE command prior to the execution of this command!
  • Page 34: Read_Data (*)

    ACR30 Command format Instruction Data length Code Response data format No response data 9.2.4.3. READ_DATA (*) To read the specified number of bytes from the specified address of the card inserted. Command format Instruc Data Data tion length Code ADDR ADDR Byte address of first byte to be read from the card.
  • Page 35: Write_Data (*)

    ACR30 '0' : byte is write protected '1' : byte can be written 9.2.4.4. WRITE_DATA (*) To write the specified data bytes to the specified address of the card inserted. Command format Instruction Data length Data Code ADDR BYTE BYTE...
  • Page 36: Present_Code (Only Sle 4428) (*)

    To submit the secret code to the card to enable the write operation with the SLE 4442 card. The following actions are executed by the ACR30: search a '1' bit in the presentation error counter and write the bit to '0'...
  • Page 37: Power_Off

    The ATR is only returned in the ACR30 response if the communication protocol of the card is compatible with the reader, i.e., if the card can be processed by the ACR30. Otherwise, the ACR30 returns an error status and deactivates the smart card interface.
  • Page 38: Exchange_T1_Frame

    SW1, SW2 Status code returned by the card. 9.2.5.4. EXCHANGE_T1_FRAME To exchange an APDU (Application Protocol Data Unit) command/response pair between the MCU card inserted in the ACR30 and the host computer using T1 protocol. Command format Instruction Data length...
  • Page 39: Deactivate_Sam (**)

    The ATR is only returned in the ACR30 response if the communication protocol of the SAM is compatible with the reader, i.e., if the SAM can be processed by the ACR30. Otherwise, the ACR30 returns an error status and deactivates the SAM.
  • Page 40: Exchange_Sam_T1_Frame (**)

    Hence, only either Lc or Le can be greater than 0 in an EXCHANGE_SAM_APDU command when a T=0 card is in the reader. If both parameters have a value greater than 0, the ACR30 does not execute the command and returns an error status. Response data format...
  • Page 41: Appendix A: Supported Card Types

    ACR30 Appendix A: Supported Card Types The following table summarizes which values must be specified in the SET_CARD_TYPE command for a particular card type to be used, and how the bits in the response to the GET_ACR_STAT command correspond with the respective card types.
  • Page 42: Appendix B: Response Status Codes

    ACR30 Appendix B: Response Status Codes The following table summarizes the possible status code bytes SW1, SW2 returned by the ACR30: Status OK – command successfully executed OK – using T=1 protocol (only in response to the RESET command) OK – synchronous protocol is used (only in response to the RESET command).
  • Page 43: Appendix C: Technical Specifications

    ACR30 Appendix C: Technical Specifications Device ACR30 Smart Card Reader/Writer Power supply Supply voltage........ Regulated 5V DC Supply current ........ < 100mA (without smart card) Serial Communication Interface Type ..........RS-232C, five lines: RxD, TxD, CTS, DTR, GND Power source ......... From PS/2 mouse interface Speed ..........
  • Page 44 ACR30 Weight ..........85g (± 5g allowance for cable) – Cyberfrog casing Cable length, cord, connector ..1.5 meters, Fixed (non-detachable), USB A / RS-232C Operating Conditions Temperature ........0 - 50° C Humidity ......... 40% - 90% Standard/Certifications EMV Level 1, ISO7816-1/2/3, PC/SC, CE, FCC, NETS, Microsoft WHQL 98, ME, 2K, NT 4.0 (Serial), XP...

Table of Contents