background image

ACR30                   Reference Manual 

Version 3.3                     January 2009 

Page 5 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. 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Summary of Contents for ACR30

Page 1: ...Advanced Card Systems Ltd Website www acs com hk Email info REFERENCE MANUAL acs com hk A AC CR R3 30 0 ...

Page 2: ...tion 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 Leng...

Page 3: ...d 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...

Page 4: ...30 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 Appendix B Response Status Codes 42 Appendix C Technical Specifications 43 ...

Page 5: ...ars 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 spe...

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

Page 7: ...TE 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 ISO7...

Page 8: ... 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 T 1 the reader automatically uses that protocol type regardless of the protocol...

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

Page 10: ...he 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 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 m...

Page 11: ...e 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 Communication problems between the ACR30 and a PC can occur if a 25 pin to 9 pin RS 232 adapter or a cable is ...

Page 12: ...g in low speed mode i e 1 5 Mbps USB Interface Wiring Pin Signal Function 1 VBUS 5V power supply for the reader 2 D Differential signal transmits data between ACR30 and PC 3 D Differential signal transmits data between ACR30 and PC 4 GND 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 d...

Page 13: ... 4 N 3 0 N 255 N 4 Header Instruction Data length N Data Checksum Header Always 01H to indicate the start of a command Instruction The instruction code of the command to be carried out by the ACR30 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...

Page 14: ...um 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 p...

Page 15: ...ists 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 6 7 N 6 N 0 N 7 Header SW1 SW2 Data length N Data Checksum FFH Data Length N Header Always 01H to indicate the start of the response SW1 Indicates the command execution status 90 H command successfully executed 60 H error in command data command cannot be executed 67 H e...

Page 16: ...terface In either case the reader transmits one time a Reset Message which has the same structure as the normal response to a command and the following contents byte 1 2 3 4 5 6 Header SW1 SW2 Data length Data Checksum 01 H FF H 00 H 01 H BAUD 12 H BAUD Indicates the hardware baud rate setting default baud rate which is set to 9600 bps this is only valid in the RS232 reader The reader does not exp...

Page 17: ...otocol The start of a command to the reader or a response from the reader including the Reset Message and Card Status Messages is indicated by the respective party through the transmission of the single byte Start of Text STX character with the value 02H The end of a command or response is indicated through the single byte End of Text ETX character with the value 03H Within the command and respons...

Page 18: ... 33H 44H 39H 46H 03H For the representation of the hex halfbyte values as the corresponding ASCII characters in commands the ACR30 accepts both upper case characters A F 41H 46H and lower case characters a f 61H 66H byte 1 2 3 4 5 6 7 8 9 10 11 12 STX 0 1 A 2 0 1 3 D 9 F ETX 02H 30H 31H 41H 32H 30H 31H 33H 44H 39H 46H 03H is equivalent to byte 1 2 3 4 5 6 7 8 9 10 11 12 STX 0 1 a 2 0 1 3 d 9 f ETX...

Page 19: ...ating status such as the firmware revision number the maximum data length of a command and response the supported card types and whether a card is inserted and powered up Command format Instruction Code Data length 01 H 00 H Response data format INTERNAL MAX_C MAX_R C_TYPE C_SEL C_STAT INTERNAL 10 bytes data for internal use only MAX_C The maximum number of command data bytes MAX_R The maximum num...

Page 20: ...on 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 Command format Instruction Code Data length Data DELAY N 03 H 01 H to change only the Delay Factor for RS232 reader only or Instruction Code Data length Data DELAY N BAUD RATE 03 H 02 H to change the Delay Factor and the Baud Rate for RS232 read...

Page 21: ... 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 Data length Data TYPE 02 H 01 H TYPE See Appendix A for the value to be specified in this command for a part...

Page 22: ...s 60 20H 9 1 5 SET_NOTIFICATION This command disables enables the Card Status Messages transmitted by the reader to notify the host computer of the insertion or removal of a card Command format Instruction Code Data length Data NOTIFY 06 H 01 H NOTIFY Specifies whether the Card Status Message shall be transmitted to notify the host computer of card insertion removal 01H transmit Card Status Messag...

Page 23: ...mands 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 RESET This command powers up the card inserted in the card reader and performs a card reset If the card is powered up when the command is being issued only a reset of the card is carried out the p...

Page 24: ...0 H 03 H 00 H ADDR Byte address of first byte to be read from the card LEN Number N of data bytes to be read from the card 0 N MAX_R Response data format BYT E 1 BYT E 2 BYT E 3 BYT E N BYTE x Data bytes read from the card memory 9 2 1 4 WRITE_DATA To write one byte to the specified address of the card inserted The byte is written to the card with LSB first i e the bit at card address 0 is regarde...

Page 25: ...format Instruction Code Data length Data ADDR MODE BYTE 91 H 04 H 00 H ADDR Byte address of byte to be written MODE Specifies the write mode and backup option SLE4436 00H write 01H write with carry 02H write with backup enabled 03H write with carry and with backup enabled BYTE Byte value to be written to the card Response data format No response data 9 2 1 5 PRESENT_TRANSPORT_CODE To submit the tr...

Page 26: ...s specified in the command o present the challenge data specified in the command to the card o generate the specified number of CLK pulses for each bit of authentication data computed by the card o read 16 bits of authentication data from the card o 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 Ins...

Page 27: ... authentication data from the card o 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 n Code Data length Data KEY CLK_CN T BYTE 1 BYTE 6 96 H 08 H KEY Key to be used for the computation of the authentication certificate 00H key 1 with no cipher block chaining 01H key 2 with no cipher block ...

Page 28: ...t No response data 9 2 2 2 POWER_OFF This command powers off the card inserted in the card reader Command format Instruction Code Data length 81 H 00 H Response data format No response data 9 2 2 3 READ_DATA To read the specified number of bytes from the specified address of the card inserted Command format Instruction Code Data length Data ADDR LEN 90 H 03 H ADDR Byte address of first byte to be ...

Page 29: ...first byte to be written The high byte of the address is specified as the first byte of ADDR BYTE x Byte values to be written to the card starting at address ADDR BYTE 1 is written to address ADDR BYTE N is written to address ADDR N 1 Response data format No response data Note SAM Reader does not support for memory cards 9 2 3 Siemens SLE 4432 4442 intelligent 256 Byte Memory Card 9 2 3 1 RESET Th...

Page 30: ...struction Code Data length 81 H 00 H Response data format No response data 9 2 3 3 READ_DATA To read the specified number of bytes from the specified address of the card inserted Command format Instruction Code Data length Data ADDR LEN 90 H 03 H ADDR Byte address of first byte to be read from the card The high byte of the address is specified as the first byte of ADDR LEN Number N of data bytes t...

Page 31: ...of BYTE x in the response data 0 byte is write protected 1 byte can be written 9 2 3 4 WRITE_DATA To write the specified data bytes to the specified address of the card inserted Command format Instruction Code Data length Data LEN ADDR BYTE 1 BYTE N 91 H LEN Number of data bytes to be written to the card N 2 ADDR Byte address in the card of the first byte to be written The high byte of the address...

Page 32: ...se data 9 2 3 6 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 present the specified code to the card try to erase the presentation error counter Command format Instruction Code Data length Data CODE 92 H 03 H...

Page 33: ...upport for memory cards 9 2 4 Siemens SLE 4418 4428 intelligent 1K Byte Memory Card 9 2 4 1 RESET This command powers up the card inserted in the card reader and performs a card reset If the card is powered up when the command is being issued only a reset of the card is carried out the power supply to the card is not switched off Command format Instruc tion Code Data length 80 H 00 H Response data...

Page 34: ...of data bytes to be read from the card Len 224 bytes Response data format BYTE 1 BYTE 2 BYTE 3 BYTE N PROT 1 PROT L BYTE x Data bytes read from the card memory PROT y Bytes containing the protection bits of the data bytes read 1 4 bytes The number L of protection bytes returned in the response is determined by the number N of data bytes read from the card as follows L 1 INT N 8 if N is not multipl...

Page 35: ...e data format No response data 9 2 4 5 WRITE_PROTECTION To write the protection bits for the specified addresses in the card Each of the bytes specified in the command is internally in the card compared with the byte stored at the specified address and if the data match the corresponding protection bit is irreversibly programmed to 0 Command format Instructio n Code Data length Data LEN ADDR BYTE ...

Page 36: ...N Response data format ERRC NT CODE ERRCNT The value of the presentation error counter after the code presentation CODE The two bytes secret code read from the card If the correct code has been presented to the card the value of ERRCNT is FFH and the value of CODE is identical to the code data specified in the command Note SAM Reader does not support for memory cards 9 2 5 MCU based Card 9 2 5 1 R...

Page 37: ...tocol Data Unit command response pair between the MCU card inserted in the ACR30 and the host computer Command format Instructi on Code Data length Data LEN CLA INS P1 P2 Lc BYTE 1 2 BYT E N Le A0 H LEN Length of APDU command data N 6 0 N MAX_R CLA APDU instruction class byte INS APDU instruction P1 APDU parameter byte 1 P2 APDU parameter byte 2 Lc APDU command data length BYTE x APDU command data...

Page 38: ...d in the ACR30 and the host computer using T1 protocol Command format Instruction Code Data length Data LEN T1 BLOCK FRAME A1 H LEN Length of APDU command data N DATA T1 Block frame to be sent to the card Response data format BYTE 1 BYTE N BYTE x Response T1 Block from card if any 9 2 6 Security Application Module SAM 9 2 6 1 ACTIVATE_SAM To power up and reset the specified SAM and transmit the SA...

Page 39: ...f the SAM Command format Instruction Code Data length 89 H 00 H Response data format No response data 9 2 6 3 EXCHANGE_SAM_APDU To exchange an APDU Application Protocol Data Unit command response pair between the SAM card inserted in the ACR30 and the host computer Command format Instruction Code Data length Data LEN CLA INS P1 P2 Lc BYTE 1 2 BYT E N Le B0 H LEN Length of APDU command data N 6 0 N...

Page 40: ...he command and returns an error status Response data format BYT E 1 BYT E N SW1 SW2 BYTE x Response data from card if any SW1 SW2 Status code returned by the card 9 2 6 4 EXCHANGE_SAM_T1_FRAME To exchange an APDU Application Protocol Data Unit command response pair between the SAM card inserted in the ACR30 and the host computer using T1 protocol Command format Instructi on Code Data length Data L...

Page 41: ...respective card types Cyber mouse card type code Card Type 00H Auto select T 0 or T 1 communication protocol 01H GPM103 SLE4406 SLE4436 SLE5536 firmware 2 10 onwards 02H I2C 05H SLE4418 SLE4428 06H SLE4432 SLE4442 0CH MCU based cards with T 0 communication protocol 0DH MCU based cards with T 1 communication protocol C0H SAM cards with T 0 communication protocol SAM Reader only D0H SAM cards with T...

Page 42: ..._CARD_TYPE command 60 01 No card type selected 60 02 No card in reader 60 03 Wrong card type specified 60 04 Card not powered up This status code is also returned in a response if the card was temporarily removed during a card access 60 05 Invalid Instruction Code 60 20 Card failure 60 22 Short circuit at card connector 62 01 Secret code verify failed 67 01 Command incompatible with card type 67 0...

Page 43: ...00 bps Universal Serial Bus Interface Power source From USB Speed 1 5 Mbps Low Speed Smart Card Interface Standard ISO 7816 1 2 3 T 0 and T 1 Supply current max 50mA Smart card read write speed 9600 96000 bps Short circuit protection 5V GND on all pins The presence of the smart card power supply voltage is indicated through a green LED on the reader CLK frequency 3 6864 4 MHz Card connector slidin...

Page 44: ...d to comply with the limits for a Class B digital device pursuant to Part 15 of the FCC Rules These limits are designed to provide reasonable protection against harmful interference in a residential installation This equipment generates uses and can radiate radio frequency energy and if not installed and used in accordance with the instructions may cause harmful interference to radio communication...

Reviews: