Page 2
GEMPLUS reserves the right to change the functions and specifications of its products at any time without prior notice. This document was prepared by GEMPLUS for both its clients and for its own internal use. The information contained herein is the sole property of GEMPLUS and shall not under any circumstances be reproduced without prior consent of the company.
The following paragraphs tell you where to find information when you need it. Read this section in order to use this guide to its full potential. Preface Read the Preface for a general description of the GPR400 and of its environment. GPR400 Hardware Read the “GPR400 Hardware”...
GPR400 Architecture Overview............3 The 2K byte Memory..............4 PCCard Configuration..............5 SENDING COMMANDS TO THE READER Sending Commands to the GPR400 ..........6 Command and Response Format ........... 8 Description of the TLV Field ............ 8 Chaining TLV fields ..............9 GPR400 Commands ..............
Page 5
Maximum Operating Values............19 Standard Operating Conditions............. 20 AC Test Conditions ..............21 AC Characteristics............... 21 APPENDIX B - PIN-OUT DESCRIPTION APPENDIX C - SAMPLE GPR400 SCENARIOS Scenario 1................25 Scenario 2................25 Scenario 3................27 APPENDIX D - STATUS CODES...
Smartcard, and that fits into a standard PCMCIA slot. When fitted into the PCMCIA slot, the GPR400 leaves enough space for a Smartcard also to be inserted into the PCMCIA slot beneath it, with its edges touching the Smartcard’s module as shown in Figure 1 below.
Smartcards. The GPR400 is connected to a portable PC using a PCMCIA slot (socket). The PCMCIA Connector The GPR400 is compatible with all PCMCIA sockets that accept type II PC Cards (5.0 mm in thickness). The GPR400 includes a standard 68 pin connector.
THE GPR400 HARDWARE The 2K byte Memory The GPR400 has 2K bytes of RAM included in the specific component. These 2K bytes are mapped as follows: 2016 Bytes Attribute MEMORY External RAM Space Smartcard registers I/O Start Address 32 Bytes I/O BUFFER Figure 3.
: 0300h, 0320h, 0340h, 0200h, 220h, 0240h or any space 32-byte long memory space. Configuration Option Register structure (see also PCCard Standard): bit 7: set to 1, this bit initializes the GPR400 (minimum pulse of 5 µs) bit 6-5 : reserved (reset to 0)
SENDING COMMANDS TO THE READER You can send the same commands to a Smartcard from the GPR400 as those from any other reader. The command parameters will vary according to the Smartcard, and they are listed in this section. For details regarding available commands for each Smartcard, read the appropriate documentation.
Page 12
2 : BUSY/IREQ : this bit is an image of the PCMCIA pin IREQ (Interrupt Request). The GPR400 sets this bit to 1 after command execution, forcing the IREQ pin to 0. The host can receive the command response and then reset this bit to 0.
The PRG Data register (refer to the “Using the PRG” section) is located at address 01h in the I/O buffer. Command and Response Format The GPR400 command and response are structured in the TLV format. This is as follows: Type, Length, Variable...
Note that by default the Smartcard interface is configured for ISO T = 0 protocol, with the clock equal to 3.68 MHz. The T=1 protocol is automatically set if the GPR400 recognizes the T=1 Smartcard during an “OPEN SESSION” command.
This command sends a request to a Smartcard (T=0 or T=1 or use o f downloaded drivers). In this mode, the GPR400 relays the Transport Protocol Data Unit (TPDU) command to the Smartcard, and then returns the TPDU response from the Smartcard to the application.
Activate Driver This command validates a downloaded IC driver or a specific command (subroutine) for the GPR400. The data corresponding to this driver or this specific command must first be downloaded using the “LOAD MEMORY” command. The downloaded IC Driver is used to exchange data with Smartcards that do not support T=0 or T=1 (e.g.
SENDING COMMANDS TO THE READER Reset GPR This command is not controlled by the GPR400. It is directly accessed from the Handshake Register (refer to the “Handshake Register” section). Power Down GPR This command puts the GPR400 in low-consumption mode (Standby or Power Down modes).
L = Length of V field Variable V = Reader Status Code , Answer User Data (user defined). Status GPR This command provides 3 types of information on the GPR400’s status: firmware, Smartcard and driver information. Command Format T = A0h L = 01 V = b7...b0...
Page 23
Length L = Length of V field Variable V = Reader Status Code , information Data for GPR400 firmware information (7 bytes), Data=OS version: Binary Coded Decimal byte Mem: 00h if Flash Memory absent 11h if Flash Memory present General Setup Register byte DIR and ADR bytes of the “Validate Driver”...
APPENDIX A - OPERATING SPECIFICATIONS This appendix specifies the GPR400's operating conditions, including : • maximum operating values • operating conditions • AC test conditions • AC characteristics Maximum Operating Values Table 3 lists the GPR400's maximum operating conditions. Table 3. GPR400 Maximum Operating Conditions...
APPENDIX A - OPERATING SPECIFICATIONS Standard Operating Conditions Table 4 lists the GPR400's standard operating conditions. Table 4. GPR400 Standard Operating Conditions Symbol Parameter Limits Unit Test Conditions Operating º C temperature Vcc supply voltage 5.25 Vpph Active Vpp supply...
APPENDIX A - OPERATING SPECIFICATIONS AC Test Conditions The GPR400 AC Test conditions are listed below: Input rise and fall times 10 ns Input pulse levels Vol and Voh Input timing reference level Vil and Vih Output timing reference level...
APPENDIX B - PIN-OUT DESCRIPTION Table 5 describes the GPR400 PIN-OUT. Table 5. GPR400 PIN-OUT. Signal Function Signal Function Ground Ground Data bit 3 Card Detect 1 Data bit 4 N.C. Data bit 5 N.C. Data bit 6 N.C. Data bit 7 N.C.
Page 29
BVD1, BVD2 (outputs): battery voltage detection. These signals are internally driven high to maintain SRAM Smartcard compatibility. RST (= RESET) : must be set to 1 by the host to reset the GPR400, then reset to 0 during at least 20 ms.
This appendix provides sample scenarios. Scenario 1 GPR400 configuration at address 0240h in the host PC system resources. This scenario is automatically done by the Socket and Card Services (PCMCIA Standard) if it is found in the host (in compliance with PCMCIA standard rel 2.1).
Page 31
APPENDIX C - SAMPLE GPR400 SCENARIOS Open Session: T.L.V. = 20.00. write I/O @0242h 20h, @0243h 00h. write I/O @0240h : bit 1 set to 1 wait for Interrupt Request ( IREQ ) then write I/O @0240h bit 2 reset to 0...
APPENDIX C - SAMPLE GPR400 SCENARIOS Scenario 3 Send an ISO command to a new Smartcard. (protocol T = X, clock = 3.68 MHz ) Reset GPR : write I/O at @ 0240h (Handshake Register) : bit 0 set to 1 reset to 0,5 us later.
Page 33
APPENDIX C - SAMPLE GPR400 SCENARIOS T.L.V. = 50.01.00 selection of Smartcard driver, clock = 3.68 MHz write I/O @0242h: 50 01 00 write I/O @0240h : bit 1 set to 1 wait for Interrupt Request (IREQ) then write I/O @0240h bit 2 reset to 0 read I/O @0242h : 52.01.00.
Page 34
APPENDIX C - SAMPLE GPR400 SCENARIOS Close Session: T.L.V. = 10.00. write I/O @0242h: 10.00 write I/O @0240h : bit 1 set to 1 wait for Interrupt Request (IREQ) then write I/O @0240h bit 2 reset to 0 read I/O @0242h : 12.01.00.
APPENDIX D - STATUS CODES Status codes provided by the GPR400 are listed in the table below: Code Meaning Command successfully executed. Unknown reader command. The first byte of the request is not a valid command type. Unknown Smartcard driver. The driver was not loaded.