background image

 

ACR39x – Reference Manual

 

[email protected] 

Version 1.03 

www.acs.com.hk 

Page 4 of 35

 

 

 

1.0. Introduction 

The ACR39x  PC-linked Smart Card Reader acts as an interface for the communication between a 
computer and a smart card. Different types of smart cards have different commands and different 
communication protocols, which, in most cases, prevent direct communication between a smart card 
and a computer. The ACR39x Smart Card Reader establishes a uniform interface from the computer 
to the smart card for a wide variety of cards. By taking care of the card’s particulars, it releases the 
computer software programmer from being responsible with smart card operations’ technical details, 
which in many cases, are not relevant to the implementation of a smart card system. 

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 

Abbreviation 

Description 

ATR 

Answer-To-Reset 

CCID 

Chip/Smart Card Interface Device 

ICC 

Integrated Circuit Cards 

IFSC 

Information Field Sized for ICC for protocol T=1 

IFSD  

Information Field Sized for CCID for protocol T=1 

NAD 

Node Address 

PPS 

Protocol and Parameters Selection 

RFU 

Reserved for future use

1

 

TPDU 

Transport Protocol Data Unit 

USB 

Universal Serial Bus 

Table 1

: Symbols and Abbreviations 

                                                      

1

 Must be set to zero unless stated differently.

 

Summary of Contents for ACR39x

Page 1: ...Subject to change without prior notice info acs com hk www acs com hk Reference Manual V1 03 ACR39x Smart Card Reader...

Page 2: ...3 PC_to_RDR_GetSlotStatus 12 7 1 4 PC_to_RDR_XfrBlock 13 7 1 5 PC_to_RDR_GetParameters 13 7 1 6 PC_to_RDR_ResetParameters 13 7 1 7 PC_to_RDR_SetParameters 14 7 2 CCID Bulk IN Messages 16 7 2 1 RDR_to_...

Page 3: ...MORY_CARD Only SLE4442 and SLE5542 30 8 4 4 READ_PROTECTION_BITS 30 8 4 5 WRITE_MEMORY_CARD 31 8 4 6 WRITE_PROTECTION_MEMORY_CARD 32 8 4 7 PRESENT_CODE_MEMORY_CARD Only SLE4442 and SLE5542 32 8 4 8 CH...

Page 4: ...l 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...

Page 5: ...roprocessor cards with T 0 and T 1 protocol o Supports memory cards o Supports PPS Protocol and Parameters Selection o Features Short Circuit Protection Application Programming Interface o Supports PC...

Page 6: ...other than the default parameters the ACR39x 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...

Page 7: ...a between ACR39x and computer 3 D Differential signal transmits data between ACR39x and computer 4 GND Reference voltage level for power supply Table 2 USB Interface Wiring 4 2 Endpoints The ACR39x us...

Page 8: ...s 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 thro...

Page 9: ...6 1 Status LED The LED indicates the activation status of the smart card interface Flashing slowly turns on 200 ms every 2 seconds Indicates ACR39x is powered up and in the standby state Either the sm...

Page 10: ...All commands sent to ACR39x have to be sent synchronously e g bMaxCCIDBusySlots is equal to 01h for ACR39x The ACR39x supported CCID features are indicated in its Class Descriptor Offset Field Size V...

Page 11: ...rs Automatic baud rate change according to frequency and FI DI parameters TPDU level change with ACR39x 44 dwMaxCCIDMessageLength 4 Maximum message length accepted by ACR39x is 271 bytes 48 bClassGetR...

Page 12: ...age Selection 01h 5 V 02h 3 V 7 abRFU 2 Reserved for future use The response to this message is the RDR_to_PC_DataBlock message and the data returned is the Answer to Reset ATR data 7 1 2 PC_to_RDR_Ic...

Page 13: ...ICC TPDU exchange level The response to this message is the RDR_to_PC_DataBlock message 7 1 5 PC_to_RDR_GetParameters This command gets the slot parameters Offset Field Size Value Description 0 bMessa...

Page 14: ...ructure for 3 wire protocol 82h Structure for I2C protocol 8 abRFU 2 Reserved for future use 10 abProtocolDataStructure Byte array Protocol Data Structure Protocol Data Structure for Protocol T 0 dwLe...

Page 15: ...in ISO IEC 7816 3 1997 selecting a baud rate conversion factor 11 bmTCCKST1 1 B7 2 000100b B0 Checksum type b0 0 for LRC b0 1 for CRC B1 Convention used b1 0 for direct b1 1 for inverse Note The CCID...

Page 16: ...atus 1 Slot status register as defined in CCID Rev 1 0 Section 4 2 1 8 bError 1 Slot status register as defined in CCID Rev 1 0 Section 4 2 1 9 bChainParameter 1 00h RFU TPDU exchange level 10 abData...

Page 17: ...Same value as in Bulk OUT message 6 bSeq 1 Same value as in Bulk OUT message 7 bStatus 1 Slot status register as defined in CCID Rev 1 0 Section 4 2 1 8 bError 1 Slot error register as defined in CCI...

Page 18: ...SCardConnect API please refer to PC SC Specifications Command format abData field in the PC_to_RDR_XfrBlock Pseudo APDU CLA INS P1 P2 Lc Card Type FFh A4h 00h 00h 01h 01h Response data format abData...

Page 19: ...ess location of the memory card MEM_L Length of data to be read from the memory card Response data format abData field in the RDR_to_PC_DataBlock BYTE 1 BYTE N SW1 SW2 Where BYTE x Data read from the...

Page 20: ...ACR39x Reference Manual info acs com hk Version 1 03 www acs com hk Page 20 of 35 Response data format abData field in the RDR_to_PC_DataBlock SW1 SW2 Where SW1 SW2 90 00h if no error...

Page 21: ...n the PC_to_RDR_XfrBlock Pseudo APDU CLA INS P1 P2 Lc Card Type FFh A4h 00h 00h 01h 02h Response data format abData field in the RDR_to_PC_DataBlock SW1 SW2 Where SW1 SW2 90 00h if no error 8 2 2 SELE...

Page 22: ...Byte Address Memory address location of the memory card MEM_L Length of data to be read from the memory card Response data format abData field in the RDR_to_PC_DataBlock BYTE 1 BYTE N SW1 SW2 Where B...

Page 23: ...ce Manual info acs com hk Version 1 03 www acs com hk Page 23 of 35 BYTE X Data to be written to the memory card Response data format abData field in the RDR_to_PC_DataBlock SW1 SW2 Where SW1 SW2 90 0...

Page 24: ...the PC_to_RDR_XfrBlock Pseudo APDU CLA INS P1 P2 Lc Card Type FFh A4h 00h 00h 01h 05h Response data format abData field in the RDR_to_PC_DataBlock SW1 SW2 Where SW1 SW2 90 00h if no error 8 3 2 READ_...

Page 25: ...icates the password is locked exceeded maximum number of retries Other values indicate the last verification failed DUMMY Two bytes dummy data read from the card SW1 SW2 90 00h if no error 8 3 4 READ_...

Page 26: ...ection bit of BYTE x in the response data 0 byte is write protected 1 byte can be written 8 3 5 WRITE_MEMORY_CARD Command Format abData field in the PC_to_RDR_XfrBlock Pseudo APDU CLA INS Byte Address...

Page 27: ...he memory card Byte x Byte values to be compared with the data in the card starting at Byte Address BYTE 1 is compared with the data at Byte Address BYTE N is compared with the data at Byte Address N...

Page 28: ...ta Format abData field in the RDR_to_PC_DataBlock SW1 SW2 ErrorCnt 90h Where SW1 90h SW2 ErrorCnt Error Counter FFh indicates successful verification 00h indicates that the password is locked or excee...

Page 29: ...to_RDR_XfrBlock Pseudo APDU CLA INS P1 P2 Lc Card Type FFh A4h 00h 00h 01h 06h Response Data Format abData field in the RDR_to_PC_DataBlock SW1 SW2 Where SW1 SW2 90 00h if no error 8 4 2 READ_MEMORY_C...

Page 30: ...00h 04h Response Data Format abData field in the RDR_to_PC_DataBlock ERRCNT DUMMY 1 DUMMY 2 DUMMY 3 SW1 SW2 Where ERRCNT The value of the presentation error counter 07h indicates that the last verifi...

Page 31: ...1 P16 P15 P14 P13 P12 P11 P10 P9 P18 P17 Where Px is the protection bit of BYTE x in the response data 0 byte is write protected 1 byte can be written 8 4 5 WRITE_MEMORY_CARD Command Format abData fie...

Page 32: ...TE 1 is compared with the data at Byte Address BYTE N is compared with the data at Byte Address N 1 Response Data Format abData field in the RDR_to_PC_DataBlock SW1 SW2 Where SW1 SW2 90 00h if no erro...

Page 33: ...cate that the current verification has failed 8 4 8 CHANGE_CODE_MEMORY_CARD Only SLE4442 and SLE5542 This command is used to write the specified data as new secret code in the card The current secret...

Page 34: ...reader Note This command can only be used after the logical smart card reader communication has been established using the SCardConnect API For details of SCardConnect API please refer to PC SC speci...

Page 35: ...ATR_TCK F6h SLOTERROR_ICC_PROTOCOL_NOT_SUPPORTED F5h SLOTERROR_ICC_CLASS_NOT_SUPPORTED F4h SLOTERROR_PROCEDURE_BYTE_CONFLICE F3h SLOTERROR_DEACTIVATED_PROTOCOL F2h SLOTERROR_BUSY_WITH_AUTO_SEQUENCE E0...

Reviews: