Page 1
Version 1.9 02-2006 Unit 1008, 10th Floor, Hongkong International Trade and Exhibition Centre 1 Trademart Drive, Kowloon Bay, Hong Kong Tel: +852 2796 7873 Fax: +852 2796 1286 Email: info@acs.com.hk Website: www.acs.com.hk...
Power Supply........................... 7 Status LED............................7 USB Interface ........................... 8 Communication Parameters ....................... 8 Endpoints ............................8 Communication protocol ......................9 Command to ACR38........................... 9 Response from ACR38........................9 Card Status Message ........................10 Commands ..........................11 Control Commands........................... 11 8.1.1 GET_ACR_STAT ........................
NOTE - Although the ACR38 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 ACR38, for the sake of readability and because these designations are commonly in use for this kind of devices.
0) and that particular mode is not supported by the ACR38, 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.
NOTE - The ACR38 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.
Flashing slowly (turns on 200ms for every 2 seconds) Indicates that the ACR38 is powered up and is in the standby state. Either the smart card has not been inserted or the smart card has not been powered up (if it is inserted).
Reference voltage level for power supply NOTE - In order for the ACR38 to function properly through USB interface, either ACS proprietary device driver or ACS PC/SC device driver has to be installed. Please refer to the Device Driver Installation Guide for more detail.
1.9 February 2006 7. Communication protocol In the normal operation, the ACR38 acts as a slave device with regards to the communication between a computer and the reader. The communication is carried out in the form of successive command-response exchanges.
After transmitting a status message, the reader waits for the next command from the computer. Note: Card status messages are sent from ACR38 to the host computer through INTERRUPT IN endpoint. Advanced Card Systems Ltd.
The commands executed by the ACR38 can generally be divided into two categories, namely, Control Commands and Card Commands. Control Commands control the internal operation of the ACR38. They do not directly affect the card inserted in the reader and are therefore independent of the selected card type.
ACR38 Reference Manual version 1.9 February 2006 8.1.2 SELECT_CARD_TYPE This command sets the required card type. The firmware in the ACR38 adjusts the communication protocol between reader and the inserted card according to the selected card type. Command format Header...
ACR38 Reference Manual version 1.9 February 2006 Command format Header Instruction Data length Data Request Length of PPS request. Typical value is “4” PPS Request PPS Request to send to the card (Please refer to ISO/IEC 7816-3:1997 Section 7 for...
Answer-To-Reset as transmitted by the card according to ISO7816-3. NOTE - The ATR is only returned in the ACR38 response if the communication protocol of the card is compatible with the reader, i.e., if the card can be processed by the ACR38. Otherwise, the ACR38 returns an error status and deactivates the smart card interface.
Answer-To-Reset as transmitted by the card according to ISO7816-3. NOTE - The ATR is only returned in the ACR38 response if the communication protocol of the card is compatible with the reader, i.e., if the card can be processed by the ACR38. Otherwise, the ACR38 returns an error status and deactivates the smart card interface.
SW1, SW2 Status code returned by the card. 8.2.1.5 EXCHANGE_TPDU_T1 To exchange an APDU (Application Protocol Data Unit) command/response pair between the MCU card inserted in the ACR38 and the host computer using T1 protocol. Command format Header Instruction Data length LEN...
ACR38 Reference Manual version 1.9 February 2006 Command format Header Instruction Data length Data Card Type Response data format Header Status Data length BYTE 1 … … BYTE N BYTE x ATR from card (if any) SW1, SW2 = 90 if no error 8.2.2.2...
ACR38 Reference Manual version 1.9 February 2006 Byte Address Memory address location of the memory card. MEM_L Length of data to be read from the memory card. Response data format Header Status Data length BYTE 1 … … BYTE N...
ACR38 Reference Manual version 1.9 February 2006 8.2.3 Memory Card – 32,64,128,256,512,1024 kbit I2C card 8.2.3.1 SELECT_CARD_TYPE This command powers down and up the selected card inserted in the card reader and performs a card reset. Notes: This command must be the first command after card insertion!
ACR38 Reference Manual version 1.9 February 2006 Response data format Header Status Data length SW1, SW2 = 90 if no error 8.2.3.3 READ_MEMORY_CARD Command format Header Instruction Data length Data Byte Address MEM_L = B0 for 32,64,128,256,512kbit iic card = 1011 000* for 1024kbit iic card, where * is the MSB of the 17 bit addressing Byte Address Memory address location of the memory card.
ACR38 Reference Manual version 1.9 February 2006 Response data format Header Status Data length SW1, SW2 = 90 if no error 8.2.4 Memory Card – ATMEL AT88SC153 8.2.4.1 SELECT_CARD_TYPE This command powers down and up the selected card inserted in the card reader and performs a card reset.
ACR38 Reference Manual version 1.9 February 2006 Response data format Header Status Data length BYTE 1 … … BYTE N BYTE x Data read from memory card SW1, SW2 = 90 if no error 8.2.4.3 WRITE_MEMORY_CARD Command format Header Instruction...
ACR38 Reference Manual version 1.9 February 2006 where the two bits “rp” indicate the password to compare r = 0 : Write password, r = 1: Read password, p: Password set number, rp = 01 for the secure code. Response data format...
ACR38 Reference Manual version 1.9 February 2006 8.2.5 Memory Card – ATMEL AT88SC1608 8.2.5.1 SELECT_CARD_TYPE This command powers down and up the selected card inserted in the card reader and performs a card reset. It will also select the page size to be 16-byte page write.
ACR38 Reference Manual version 1.9 February 2006 Response data format Header Status Data length BYTE 1 … … BYTE N BYTE x Data read from memory card SW1, SW2 = 90 if no error 8.2.5.3 WRITE_MEMORY_CARD Command format Header Instruction...
ACR38 Reference Manual version 1.9 February 2006 = 0000 rp where the four bits “rp ” indicate the password to compare: r = 0: Write password, r = 1: Read password, : Password set number. = 0111 for the secure code).
ACR38 Reference Manual version 1.9 February 2006 Response data format Header Status Data length SW1, SW2 = 90 if no error 8.2.6 Memory Card – SLE4418/4428 8.2.6.1 SELECT_CARD_TYPE This command powers down and up the selected card inserted in the card reader and performs a card reset.
ACR38 Reference Manual version 1.9 February 2006 Response data format Header Status Data length BYTE 1 … … BYTE N PROT 1 … … PROT L BYTE x Data read from memory card PROT y Bytes containing the protection bits of the data bytes read...
ACR38 Reference Manual version 1.9 February 2006 8.2.6.4 WRITE_MEMORY_CARD Command format Header Instruction Data length Data Byte Address MEM_L Byte 1 ..Byte N MSB Byte Address = 0000 00A is the memory address location of the memory card.
ACR38 Reference Manual version 1.9 February 2006 Response data format Header Status Data length SW1, SW2 = 90 if no error 8.2.6.6 PRESENT_CODE_MEMORY_CARD (only SLE 4428) To submit the secret code to the memory card to enable the write operation with the SLE4428 card. The following actions are executed: search a ‘1’...
Page 31
ACR38 Reference Manual version 1.9 February 2006 Response data format Header Status Data length ERRCNT DUMMY 1 DUMMY 2 ERRCNT The value of the presentation error counter. DUMMY Two bytes dummy data read from the card. SW1, SW2 = 90 if no error ...
ACR38 Reference Manual version 1.9 February 2006 8.2.7 Memory Card – SLE4432/4442 8.2.7.1 SELECT_CARD_TYPE This command powers down and up the selected card inserted in the card reader and performs a card reset. Notes: This command must be the first command after card insertion!
ACR38 Reference Manual version 1.9 February 2006 Response data format Header Status Data length BYTE 1 … … BYTE N PROT 1 PROT 2 PROT3 PROT 4 BYTE x Data read from memory card PROT y Bytes containing the protection bits from protection memory...
ACR38 Reference Manual version 1.9 February 2006 Command format Header Instruction Data length Data Byte MEM_L Byte 1 ..Byte N Address Byte Address = 000A to 1F ) is the protection memory address location of the memory card.
ACR38 Reference Manual version 1.9 February 2006 Response data format Header Status Data length ERRCNT CODE Byte 1 Byte 2 Byte 3 ERRCNT The value of the presentation error counter after the code presentation. CODE The three bytes secret code read from the card.
ACR38 Reference Manual version 1.9 February 2006 Response data format Header Status Data length SW1, SW2 = 90 if no error Advanced Card Systems Ltd. Page 36 of 43...
ACR38 Reference Manual version 1.9 February 2006 8.2.8 Memory Card – SLE4406/4436/5536 Only ACR38 reader with firmware v1.10 onwards can support this memory card type SLE4406/4436/5536. 8.2.8.1 SELECT_CARD_TYPE This command powers down and up the selected card inserted in the card reader and performs a card reset.
ACR38 Reference Manual version 1.9 February 2006 Response data format Header Status Data length BYTE 1 … … BYTE N BYTE x Data read from memory card SW1, SW2 = 90 if no error 8.2.8.3 WRITE_ONE_BYTE_MEMORY_CARD To write one byte to the specified address of the inserted card. The byte is written to the card with LSB first, i.e., the bit at card address 0 is regarded as the LSB of byte 0.
'1' bit in the presentation counter and write the bit to '0' present the specified code to the card The ACR38 does not try to erase the presentation counter after the code submission! This must be done by the application software through a separate 'Write with carry' command.
CLK pulses for each bit of authentication data computed by the card read 16 bits of authentication data from the card reset the card to normal operation mode The ACR38 returns the 16 bits of authentication data calculated by the card in the response. Command format Header Instruction...
ACR38 Reference Manual version 1.9 February 2006 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.
ACR38 Reference Manual version 1.9 February 2006 Appendix B: Response Status Codes The following table summarizes the possible status code returned by the ACR38: Status Code Status OK – command successfully executed SLOTERROT_PROCEDURE_BYTE_CONFLICT SLOTERROR_BAD_LENGTH SLOTERROR_BAD_FIDI SLOTERROR_BAD_ATR_TS SLOTERROR_ICC_NOT_POWERED_UP SLOTERROR_ICC_NOT_INSERTED SLOTERROR_HW_ERROR SLOTERROR_XFE_OVERRUN...
1.9 February 2006 Appendix C: Technical Specifications 19.0 96.5 73.0 Device ACR38 Smart Card Reader/Writer Universal Serial Bus Interface Type..........USB full speed, four lines: +5V, GND, D+ and D- Power source ........From USB Speed ..........12 Mbps Smart Card Interface Standard .........ISO-7816 Class A, B and C (5V, 3V, 1.8V), T=0 and T=1...
Need help?
Do you have a question about the ACR38 and is the answer not in the manual?
Questions and answers