Professional Documents
Culture Documents
9 or higher
Revision A, 03/21/2007
1 Programming Desktop........................................................................................................................... 4
1.1 Introduction .................................................................................................................................... 4
1.2 Quick Start ..................................................................................................................................... 5
1.3 Operation ....................................................................................................................................... 6
1.3.1 Navigation ............................................................................................................................... 6
1.3.2 Edit Modes .............................................................................................................................. 7
1.3.2.1 Standard Mode ................................................................................................................ 7
1.3.2.2 Advanced Mode............................................................................................................... 7
1.3.2.3 Edit Configuration File manually...................................................................................... 7
1.3.3 Command Description ............................................................................................................ 7
1.3.4 Representation of Command Lines ........................................................................................ 8
1.3.5 Command Dialogues .............................................................................................................. 8
1.4 Command Groups.......................................................................................................................... 9
1.4.1 Sync Command ...................................................................................................................... 9
1.4.2 Init Command.......................................................................................................................... 9
1.4.3 Start Command....................................................................................................................... 9
1.4.4 Format Command................................................................................................................. 10
1.4.4.1 Conversion Methods...................................................................................................... 10
1.4.4.1.1 No Conversion ........................................................................................................... 10
1.4.4.1.2 Swap Nibbles and convert BCD to ASCII.................................................................. 10
1.4.4.1.3 Convert Nibbles BCD to ASCII .................................................................................. 10
1.4.4.1.4 Swap Nibbles............................................................................................................. 11
1.4.4.1.5 Convert 1 Byte Hex to 2 Digits decimal ASCII .......................................................... 11
1.4.4.1.6 Convert 1 Byte Hex to 3 Digits decimal ASCII .......................................................... 11
1.4.4.1.7 Convert each Nibble Hex to 2 Digits decimal ASCII.................................................. 11
1.4.4.1.8 Convert 2 Byte Hex to 4 Digits decimal ASCII .......................................................... 11
1.4.4.1.9 Convert 2 ASCII digits to 1 Byte Hex......................................................................... 12
1.4.4.1.10 Swap each Pair of Bytes ......................................................................................... 12
1.4.4.1.11 Swap Nibbles and convert Hex to ASCII................................................................. 12
1.4.4.1.12 Convert Nibbles Hex to ASCII ................................................................................. 12
1.4.4.1.13 User defined Conversion ......................................................................................... 12
1.5 Command Types.......................................................................................................................... 12
1.5.1 Reader Command ................................................................................................................ 12
1.5.2 Chip Card Command ............................................................................................................ 12
1.5.3 Component Command.......................................................................................................... 12
2 Chip Card Basics................................................................................................................................. 13
2.1 Introduction .................................................................................................................................. 13
2.1.1 Definition of Chip Cards ........................................................................................................ 13
2.1.2 Applications for Chip Cards .................................................................................................. 13
2.1.3 Advantages of Chip Cards.................................................................................................... 13
2.1.4 Types of Chip Cards ............................................................................................................. 14
2.1.5 Data Exchange ..................................................................................................................... 15
2.1.6 Protective Measures ............................................................................................................. 15
2.2 Details .......................................................................................................................................... 16
2.2.1 General ................................................................................................................................. 16
2.2.1.1 Memory.......................................................................................................................... 16
2.2.1.1.1 Memory Types ........................................................................................................... 17
2.2.1.1.2 Size Comparison of Memory Types .......................................................................... 17
2.2.1.2 Architecture.................................................................................................................... 18
2.2.1.2.1 Operating System ...................................................................................................... 18
2.2.1.2.2 Command Set............................................................................................................ 18
2.2.1.2.3 Data Structures.......................................................................................................... 18
2.2.1.2.4 File Types .................................................................................................................. 19
2.2.1.2.5 Data Security ............................................................................................................. 19
2.2.2 Contact Chip Cards .............................................................................................................. 20
2.2.2.1 Standards ...................................................................................................................... 20
2.2.2.2 Mechanical Specifications ............................................................................................. 20
2.2.2.3 Electrical Specifications................................................................................................. 21
2.2.2.4 Communication.............................................................................................................. 22
Page 1 of 73
Help Manual for Chip Reading Programming Desktop V 1.1.9 or higher
Revision A, 03/21/2007
Page 2 of 73
Help Manual for Chip Reading Programming Desktop V 1.1.9 or higher
Revision A, 03/21/2007
Page 3 of 73
Help Manual for Chip Reading Programming Desktop V 1.1.9 or higher
Revision A, 03/21/2007
1 PROGRAMMING DESKTOP
1.1 Introduction
The programming desktop offers a comfortable possibility for programming the chip reading in the card
channel 7711.
In most cases profound chip card know-how is not necessary. Modest Chip Card Basics, however,
facilitates the comprehension for working with the programming desktop. For more profound knowledge
refer to the relevant specialized literature and standards (e.g.: ISO/IEC 7816 for contact chip cards).
Generally the chip card reading is programmed via configuration files which contain all necessary
commands. These configuration files carry the ending CCR (Configure Chip card Reader). On principle
they can be edited with any text editor. For the manual creation and editing, however, a very specific and
comprehensive expert knowledge is necessary regarding chip cards, chip card reader, and component
7711. In this documentation no expert knowledge will be imparted. However, by using the programming
desktop no expert knowledge is necessary.
The programming desktop automatically generates a configuration file based on a few clearly structured
user inputs. BICOS sends the configuration file data in converted form to the component 7711. The latter
interprets these data and operates the chip card reader accordingly.
The programming desktop leads the user through the creation of a new configuration by means of an
assistant (also refer to chapters Quick Start and Operation). In this process basic absolutely necessary
information is asked for concerning the chip card to be read. Afterwards, the user programs the chip card
reading on his own by using suitable chip card commands or control commands. The available command
set depends on the Chip Card Reader.
Page 4 of 73
Help Manual for Chip Reading Programming Desktop V 1.1.9 or higher
Revision A, 03/21/2007
Page 5 of 73
Help Manual for Chip Reading Programming Desktop V 1.1.9 or higher
Revision A, 03/21/2007
1.3 Operation
1.3.1 Navigation
For navigating within the programming desktop there are several possibilities according Windows
standard:
- Clicking with the left mouse button or double-clicking, respectively.
- With Tabulator key go to the next button, with Shift/Tabulator go back to the previous button,
respectively.
- Space bar enables/disables check boxes.
- Arrow keys navigate within pop-up windows.
- Execute/accept with Enter key.
- Abort with Escape key.
Page 6 of 73
Help Manual for Chip Reading Programming Desktop V 1.1.9 or higher
Revision A, 03/21/2007
Note: Configurations created in the advanced mode or created manually should only be displayed but
should not be edited in the standard mode. Otherwise, the standard automatisms could lead to
inadvertent changes. In order to prevent this the opened command dialogues should be quit with the
Escape key instead of the Enter key.
Page 7 of 73
Help Manual for Chip Reading Programming Desktop V 1.1.9 or higher
Revision A, 03/21/2007
Page 8 of 73
Help Manual for Chip Reading Programming Desktop V 1.1.9 or higher
Revision A, 03/21/2007
Page 9 of 73
Help Manual for Chip Reading Programming Desktop V 1.1.9 or higher
Revision A, 03/21/2007
1.4.4.1.1 No Conversion
The read data are not converted but transferred unchanged.
Example:
Before conversion After No Conversion
31 32 33 hex. 31 32 33 hex. = „123“
Page 10 of 73
Help Manual for Chip Reading Programming Desktop V 1.1.9 or higher
Revision A, 03/21/2007
Page 11 of 73
Help Manual for Chip Reading Programming Desktop V 1.1.9 or higher
Revision A, 03/21/2007
Page 12 of 73
Help Manual for Chip Reading Programming Desktop V 1.1.9 or higher
Revision A, 03/21/2007
2.1 Introduction
Page 13 of 73
Help Manual for Chip Reading Programming Desktop V 1.1.9 or higher
Revision A, 03/21/2007
Page 14 of 73
Help Manual for Chip Reading Programming Desktop V 1.1.9 or higher
Revision A, 03/21/2007
Chip cards are completely passive. Supply voltage and clock must always be supplied from outside.
Meanwhile there are also extremely flat batteries available for the integration into plastic cards (super chip
cards) so that a certain self-sufficient range of functions is possible (e.g. readout of the current credit
balance). Position and layout of the contacts and coupling fields, are standardized. Also is the type and
sequence of the electrical wiring.
The data transmission always takes place according to serial protocols.
Page 15 of 73
Help Manual for Chip Reading Programming Desktop V 1.1.9 or higher
Revision A, 03/21/2007
2.2 Details
2.2.1 General
2.2.1.1 Memory
In chip cards predominantly ROM, EEPROM and RAM are used. Meanwhile FRAM is also used as a
replacement for EEPROM. Only very limited memory capacity is available on the card due to a strongly
restricted chip area.
Trend of memory capacities within chip cards:
ROM [KB] RAM [KB] EEPROM [KB]
Start time (1986) 6 0,256 2
Today (2002) 96 4 64 (FRAM)
160 6 68
Comparison with magnetic stripe: approx. 1 KBit.
Memory cards have a typical memory capacity of a few dozens of bytes up to some hundred bytes.
Page 16 of 73
Help Manual for Chip Reading Programming Desktop V 1.1.9 or higher
Revision A, 03/21/2007
EEPROM
FRAM
ROM
In order to reduce the area consumption the RAM in particular is held as small as possible
(size ratio SRAM/ROM approx. 16/1).
Page 17 of 73
Help Manual for Chip Reading Programming Desktop V 1.1.9 or higher
Revision A, 03/21/2007
2.2.1.2 Architecture
Examples:
SELECT FILE File selection
READ BINARY Reading data
UPDATE BINARY Writing data
VERIFY Verifying the input, e.g. PIN number
INTERNAL AUTHENTICATE Card authentication by the outside world
EXTERNAL AUTHENTICATE Outside world authentication by the card
GET CHALLENGE Requesting a random number
Processor cards (smart cards) have a hierarchically organized file management system with symbolic and
thus hardware-independent addressing.
The file management is optimized to a minimum memory consumption. The addressing of files is done by
means of hexadecimal codes. This is possible because a computer (terminal) serves as a communication
partner; a man-machine-interface is not available.
Operating systems are object-oriented, i.e. all information on a file is stored in the file itself (header
carries administration data, body carries application data).
Page 18 of 73
Help Manual for Chip Reading Programming Desktop V 1.1.9 or higher
Revision A, 03/21/2007
The file types are hierarchically structured. MF corresponds to the trunk of a tree, DF to branches, and EF
to leaves, respectively.
There is only one MF. This may contain EFs and DFs. DFs may again contain DFs and EFs.
• Encoding (Ciphering)
Data are encoded to protect them against unwarranted interception. Either by means of software or in
a separate cryptographic processor.
Various encoding procedures have prevailed, e.g.
- DEA (Data Encryption Algorithm), DES (Data Encryption Standard) respectively:
symmetrical code.
Triple-DES with three different keys increases the security accordingly.
- RSA (Rivest/Shamir/Adleman):
asymmetrical code, arithmetic of large prime numbers.
- DSA (Digital Signature Algorithm), DSS (Digital Signature Standard) respectively:
predominantly used for digital signature, but also possible for encoding. Discreet logarithm.
Stream cipher: each character is separately encoded prior to transfer; used in most cases.
Block cipher: several characters are collected into a block and then encoded prior to transfer. This is,
however, compute-intensive and therefore more uncommon.
• Authentication
It often is sufficient to check only the authenticity of the terminal and the chip card. The data itself can
then be sent unencrypted. During authentication mutual knowledge of a joint secret (cryptographic
key) is tested. By means of the secret key a Message Authentication code (MAC) is generated (e.g.
with DSA) and attached to the message. In this way the recipient may test if the message is
unchanged (electronic signature).
Page 19 of 73
Help Manual for Chip Reading Programming Desktop V 1.1.9 or higher
Revision A, 03/21/2007
2.2.2.1 Standards
• ISO 7816:
This is the most important standard for contact chip cards. It is based on the standards ISO 7810,
7811, 7812, 7813 for identification cards (embossing, magnetic stripes, etc.).
ISO 7816 takes into account that the chip card functions are integrated simultaneously to all hitherto
existing functional elements (e.g. magnetic stripes, embossing field, ...), i.e. is compatible to these.
Part 1 regulates measurements and physical properties,
Part 2 regulates measurements and position of the contacts,
Part 3 regulates electrical signals and transfer protocols,
Part 4 regulates commands and data structures,
Part 5 regulates numbering system for applications,
Part 6 regulates generally usable data elements,
Part 7 regulates additional commands as supplement to part 4.
• GSM 11.11:
Detailed description for chip cards to be used in digital mobile phones. Based on ISO 7816.
Definition of commands, file structures, Answer To Reset, etc.
• EMV (Europay Mastercard Visa) specification:
Description for cards to be used with financial applications. Based on ISO 7816. Defines commands,
file structures, transfer protocols and secure messaging.
• ISO 10373:
describes test methods for ID-cards.
Part 1 describes general tests,
Part 2 describes magnetic stripe tests,
Part 3 describes tests for contact chip cards and accessory interface devices.
Page 20 of 73
Help Manual for Chip Reading Programming Desktop V 1.1.9 or higher
Revision A, 03/21/2007
• Layout of Contacts
Page 21 of 73
Help Manual for Chip Reading Programming Desktop V 1.1.9 or higher
Revision A, 03/21/2007
2.2.2.4 Communication
• Data Transmission
Only one I/O line is available for data exchange. Therefore, terminal and chip card can only mutually
send and receive (half duplex). At present full duplex is not yet feasible but will be possible in future
by using the free contact fields. Only in this way a data encryption inside the chip card is feasible in
real time.
The communication is always initiated by the terminal (master). The chip card (slave) only responds
to the commands received, i.e. it never transmits independently.
• Connection set up
In order to set up a communication with the chip card the terminal must meet a certain standardized
power on sequence. For closing the connection there is a standardized power off sequence. If these
sequences are not met the chip card could be irreparably damaged.
With contact chip cards ground must be connected first, the supply voltage thereafter, only then the
clock (cold reset). A warm reset can be initialized with a low/high pulse on the reset line.
• Answer To Reset (ATR)
In answer to a reset the chip card sends an ATR (Answer To Reset) within 400-40,000 clock cycles in
accordance with a standardized protocol. The ATR contains various information on data transmission
like, for example, frequency divider, applied protocol, EEPROM programming voltage, memory size.
According to ISO 7816-3 the ATR has a maximum length of 33 bytes. 372 is invariably used as
divider.
• Protocol Type Selection (PTS)
The terminal may alter one or several data transmission parameters. For this the PTS mechanism
exists (sometimes also called PPS Protocol Parameter Selection). The terminal sends a PTS record
to the chip card. The latter returns the record if the PTS request is supported. Otherwise, the terminal
must send a new reset.
• Protocols
- Memorycards (e.g. phone card) operate with clock synchronous serial data transmission. This is
strongly linked with the hardware and is built as simple as possible.
Synchronous transfer protocols are not standardized. The terminal must directly access memory
addresses on the chip. Transmission errors cannot be recognized.
Some chip card types with appropriate transfer protocols:
I²C-Bus
4404/4406 memory cards (2-wire-protocol)
4418/4428 memory cards (3-wire-protocol)
4432/4442 memory cards (2-wire-protocol)
Page 22 of 73
Help Manual for Chip Reading Programming Desktop V 1.1.9 or higher
Revision A, 03/21/2007
• Data Exchange
Between smart card and terminal data are exchanged in form of international standardized protocol
independent data units, so-called APDUs (Application Protocol Data Units). A distinction must be
drawn between command-APDUs and response-APDUs.
Command-APDU:
Header Body
CLA INS P1 P2 Lc Data Le
Response APDU:
Body Trailer
Data SW1 SW2
The body is optional and contains the response data.
The trailer always contains the return code.
• Typical Sequence
Page 23 of 73
Help Manual for Chip Reading Programming Desktop V 1.1.9 or higher
Revision A, 03/21/2007
Since it is possible to also have several contactless chip cards simultaneously in the terminal’s
electromagnetic field (e.g. jointly in a wallet) fast anti-collision algorithms prevent data exchange from
being disturbed by one another. On principle there are four different anti-collision procedures:
- Time multiplex (TDMA: Time Division Multiple Access); is mostly used. E.g. ALOHA, slotted ALOHA
- Space multiplex (SDMA: Space Division Multiple Access); only for a few particular applications
- Frequency multiplex (FDMA: Frequency Division Multiple Access); only for a few particular
applications
- Code multiplex (CDMA: Code Division Multiple Access)
Due to different power consumption during read/write the ranges are limited:
• Read range:
- Memorycard up to 1 m,
- Smartcard few mm.
• Write range:
- Memorycard approx. 10 cm only
- Smartcard few mm
Page 24 of 73
Help Manual for Chip Reading Programming Desktop V 1.1.9 or higher
Revision A, 03/21/2007
Page 25 of 73
Help Manual for Chip Reading Programming Desktop V 1.1.9 or higher
Revision A, 03/21/2007
2.2.3.4 Standards
• ISO 10536:
Basic standard for contactless chip cards in the close-coupling range (close range with touch of
terminal).
Is compatible with ISO 7816 and describes additional characteristics of the contactless technique.
Part 1 regulates physical characteristics (difference is ESD compatibility, for the rest same as
ISO 7816),
Part 2 regulates position and layout of the coupling elements (simultaneously inductive and
capacitive),
Part 3 regulates modulation procedures and data transmission
Part 4 henceforth regulates a full duplex protocol to be also used for contact chip cards
• ISO 14443:
describes remote-coupling cards in the „proximity“ range (up to 10 cm distance to the terminal). The
variants A and B describe different modulation procedures. A terminal must support both procedures.
Part 1 regulates physical characteristics,
Part 2 regulates high frequency energy transmission and signal interface,
Part 3 regulates initialization and anti-collision procedures,
Part 4 regulates transfer protocol.
• ISO 15693:
describes remote-coupling cards in the „vicinity“ range (up to 100 cm distance to the terminal).
Part 1 regulates physical characteristics,
Part 2 regulates air interface and initialization,
Part 3 regulates anti-collision procedure and transfer protocol.
• ISO 10373:
describes test methods for ID cards.
Part 6 describes tests for proximity cards,
Part 7 describes tests for vicinity cards.
In the early stages of contactless chip cards (approx. 1995) the Austrian company Micron has developed
the MIFARE system specifically for payment applications in public transport. This has gained acceptance
as a de facto industrial standard and was later taken over by Philips. MIFARE is fully compatible to
ISO 14443A and describes a protocol as well as cryptology. It is possible to have 16 independent
applications per card (e.g. public transport ticket, car rental agency, parking ticket, gas station card,
bonus card for department stores, bonus card for restaurants, ski ticket, ...)
Moreover, there also exists:
- MIFARE LIGHT with only one application per card and a smaller memory
- MIFARE PLUS as a Dual-Interface-Card
- MIFARE PRO with larger memory and large scale encryption
Page 26 of 73
Help Manual for Chip Reading Programming Desktop V 1.1.9 or higher
Revision A, 03/21/2007
1: inductive coupling transformers (for energy transmission, in most cases also data)
2: capacitive coupling areas (sometimes data)
3: Chip contacts
Combined Cards:
They have both contact pads and coupling fields as well, respectively an antenna.
Page 27 of 73
Help Manual for Chip Reading Programming Desktop V 1.1.9 or higher
Revision A, 03/21/2007
2.2.3.7 Communication
• Connection set up
In order to set up or close the communication with a chip card the terminal must comply with a certain
standardized power on sequence, similar to the one used with contact chip cards, concerning, above
all, the electric field for power supply.
• Data Exchange
Further data exchange is similarly to the one with contact chip cards having ATR (Answer To Reset),
PTS (Protocol Type Selection), standardized protocols and protocol independent APDUs (Application
Protocol Data Units).
Page 28 of 73
Help Manual for Chip Reading Programming Desktop V 1.1.9 or higher
Revision A, 03/21/2007
Company:
Address:
Client
Name:
Phone:
Email:
Additional information
(please specify):
Other Chip Card Type
Please specify:
Additional information
(please specify):
Page 29 of 73
Help Manual for Chip Reading Programming Desktop V 1.1.9 or higher
Revision A, 03/21/2007
4.1 CREAM130
• Memory Cards:
Supported chip card types:
SLE 4404/4406 or compatible
SLE 4436 or compatible
SLE 4418/4428 or compatible
SLE 4432/4442 or compatible
I2C-bus up to 64 kByte
Chip voltage:
5V
• Processor Cards:
Supported protocols:
International protocol T=0
International protocol T=1
Chip voltage:
default 5 V
3V
Chip frequency:
default 3,686 MHz
Adjustable in steps from 0.595 MHz to 9.216 MHz. The chip frequencies possible accrue from
divisor factor 2...31 related to the CREAM130 clock frequency of 18.432 MHz.
The CREAM130 is able to process macro scripts automatically. These macro scripts must be loaded
once after power on and contain all Commands for reading the chip card. As soon as the CREAM130
receives the Start Chip Card Reading command it processes the internally saved macro script on its own.
As a single answer the accordingly read and selected data are transmitted. This method is extremely
runtime-efficient since only a minimal communication between component 7711 and CREAM130 is
necessary.
4.1.2 Commands
The CREAM130 command set is structured as follows:
• Reader Commands:
for operating the CREAM130 and setting up its macro interpreter.
• Chip Card Commands:
for reading the chip card and setting up communication and protocol parameters as well.
• Control Commands:
for controlled data extraction and for conditional macro script processing.
Page 30 of 73
Help Manual for Chip Reading Programming Desktop V 1.1.9 or higher
Revision A, 03/21/2007
The return data during processing a macro script are separately described for all Chip Card Commands.
Page 31 of 73
Help Manual for Chip Reading Programming Desktop V 1.1.9 or higher
Revision A, 03/21/2007
Answer
from offset 2: Response Status Code ‘9200‘
from offset 6: version string, e.g. `BOEWE-CREAM V3.0a`
Answer
from offset 2: Response Status Code ‘00‘
Answer
from offset 2: Response Status Code ‘00‘
Answer
from offset 2: Response Status Code ‘9201‘
Answer
from offset 2: Response Status Code ‘00‘
from offset 4: read chip card data
Page 32 of 73
Help Manual for Chip Reading Programming Desktop V 1.1.9 or higher
Revision A, 03/21/2007
Page 33 of 73
Help Manual for Chip Reading Programming Desktop V 1.1.9 or higher
Revision A, 03/21/2007
4.1.2.3.2.3 Power On
The Power On command executes the power on sequence for the processor card and reads the ATR
(Answer To Reset)
This command is automatically generated once and cannot be deleted.
Command: Power On
Command class: -
Command type: Chip card command
Command group: Init command
Command parameters:
Chip card voltage Chip voltage selection
Range: selection list 5V, 3V respectively
Default: 5V
ATR Timing ATR timing selection.
For non standard complying chip cards a change could be
advantageous.
Range: selection list T=0, T=1 respectively
Default: T=1
Return data:
Offset 0: Status: okay = 82 hex.
refer to chapter Runtime Return Code 4.1.2.3.2.7.1 for T=0
or 4.1.2.3.2.8.1 for T=1
From offset 1: ATR data
Page 34 of 73
Help Manual for Chip Reading Programming Desktop V 1.1.9 or higher
Revision A, 03/21/2007
Page 35 of 73
Help Manual for Chip Reading Programming Desktop V 1.1.9 or higher
Revision A, 03/21/2007
Page 36 of 73
Help Manual for Chip Reading Programming Desktop V 1.1.9 or higher
Revision A, 03/21/2007
Page 37 of 73
Help Manual for Chip Reading Programming Desktop V 1.1.9 or higher
Revision A, 03/21/2007
Page 38 of 73
Help Manual for Chip Reading Programming Desktop V 1.1.9 or higher
Revision A, 03/21/2007
Page 39 of 73
Help Manual for Chip Reading Programming Desktop V 1.1.9 or higher
Revision A, 03/21/2007
Page 40 of 73
Help Manual for Chip Reading Programming Desktop V 1.1.9 or higher
Revision A, 03/21/2007
Page 41 of 73
Help Manual for Chip Reading Programming Desktop V 1.1.9 or higher
Revision A, 03/21/2007
Page 42 of 73
Help Manual for Chip Reading Programming Desktop V 1.1.9 or higher
Revision A, 03/21/2007
Page 43 of 73
Help Manual for Chip Reading Programming Desktop V 1.1.9 or higher
Revision A, 03/21/2007
Page 44 of 73
Help Manual for Chip Reading Programming Desktop V 1.1.9 or higher
Revision A, 03/21/2007
Page 45 of 73
Help Manual for Chip Reading Programming Desktop V 1.1.9 or higher
Revision A, 03/21/2007
4.1.2.3.3.6 I2C
Page 46 of 73
Help Manual for Chip Reading Programming Desktop V 1.1.9 or higher
Revision A, 03/21/2007
Page 47 of 73
Help Manual for Chip Reading Programming Desktop V 1.1.9 or higher
Revision A, 03/21/2007
Page 48 of 73
Help Manual for Chip Reading Programming Desktop V 1.1.9 or higher
Revision A, 03/21/2007
Page 49 of 73
Help Manual for Chip Reading Programming Desktop V 1.1.9 or higher
Revision A, 03/21/2007
- The Extract with Offset and Length command writes the extracted data into the extract buffer.
- The commands Extract with Tag Search and Extract explicitly selected Data Bytes extract data from
the extract buffer and write them into the output buffer.
- If the configuration exclusively contains Extract with Offset and Length commands the extract buffer is
used as output buffer.
- If the configuration also contains commands Extract with Tag Search or Extract explicitly selected
Data Bytes only the data inside the output buffer are sent as response.
- When using several Extract with Offset and Length commands it could be advantageous to clear the
extract buffer by means of the Clear Extract Buffer command. This ensures the correct function of
command Extract with Tag Search, respectively facilitates offset determination for command Extract
explicitly selected Data Bytes.
Page 50 of 73
Help Manual for Chip Reading Programming Desktop V 1.1.9 or higher
Revision A, 03/21/2007
Page 51 of 73
Help Manual for Chip Reading Programming Desktop V 1.1.9 or higher
Revision A, 03/21/2007
Page 52 of 73
Help Manual for Chip Reading Programming Desktop V 1.1.9 or higher
Revision A, 03/21/2007
Important Note: with T=1 processor cards the send-sequence bit must toggle with each APDU/Protocol
command. This is automatically done by the Programming Desktop during command generation. Skip
commands can not be taken into consideration because otherwise the send-sequence bit ought to be
changed at runtime during conditional processing.
Consequence: APDU/Protocol commands always have to be skipped in pairs. If necessary an additional
APDU/Protocol command has to be inserted.
Page 53 of 73
Help Manual for Chip Reading Programming Desktop V 1.1.9 or higher
Revision A, 03/21/2007
Page 54 of 73
Help Manual for Chip Reading Programming Desktop V 1.1.9 or higher
Revision A, 03/21/2007
Page 55 of 73
Help Manual for Chip Reading Programming Desktop V 1.1.9 or higher
Revision A, 03/21/2007
Page 56 of 73
Help Manual for Chip Reading Programming Desktop V 1.1.9 or higher
Revision A, 03/21/2007
4.1.3.1 T=0
Commands generated in programming desktop:
Configuration file:
*
* Example T=0
*
Comment=*
CSync=Y
CInit=I
CStart=S
RCode=R
RTime=T
DTime=L
Format=Z
Tag=X
Reverse=W
CrLfOn=0
Baud=19200,8,n,1
Protocol=>,:,1,1,0,3
Reader=CREAM130
*
* Get CREAM version (Sync command)
Y<00:
R$07BOEWE-CREAM
T50
* Reset Macro Buffer (Init command)
I<2001:
R$0300
T50
* Select Protocol T=0 (Init command)
I<2002$02$F1$03:
R$0300
T50
* Select Chip Card Frequency 4.608 MHz (Init command)
I<2002$04$F8$04$05$04:
R$0300
T50
* Power On, 5V, ATR Timing T=0 (Init command)
I<2002$01$01:
R$0300
T50
* Select File 2FE2 (Init command)
I<2002$0A$04$A0$A4$00$00$02$02$00$2F$E2:
R$0300
T50
* Stop if last Chip Card Command Response is not 82 hex. at Offset 0 (Init command)
I<2002$00$03$01$00$82:
R$0300
T50
* Read Binary 10 Bytes (Init command)
I<2002$08$04$A0$B0$00$00$0A$00$0A:
R$0300
T50
Page 57 of 73
Help Manual for Chip Reading Programming Desktop V 1.1.9 or higher
Revision A, 03/21/2007
Page 58 of 73
Help Manual for Chip Reading Programming Desktop V 1.1.9 or higher
Revision A, 03/21/2007
4.1.3.2 T=1
Commands generated in programming desktop:
Configuration file:
*
* Example T=1
*
Comment=*
CSync=Y
CInit=I
CStart=S
RCode=R
RTime=T
DTime=L
Format=Z
Tag=X
Reverse=W
CrLfOn=0
Baud=19200,8,n,1
Protocol=>,:,1,1,0,3
Reader=CREAM130
*
* Get CREAM version (Sync command)
Y<00:
R$07BOEWE-CREAM
T50
* Reset Macro Buffer (Init command)
I<2001:
R$0300
T50
* Select Protocol T=1 (Init command)
I<2002$02$F1$07:
R$0300
T50
* Select Chip Card Frequency 4.608 MHz (Init command)
I<2002$04$F8$04$05$04:
R$0300
T50
* Power On, 5V, ATR Timing T=1 (Init command)
I<2002$02$01$01:
R$0300
T50
* Change Information field Length to 64 Bytes (Init command)
I<2002$06$04$00$C1$01$40$80:
R$0300
T50
* Select File 1122 (Init command)
I<2002$0D$04$00$00$08$00$A4$00$00$02$11$22$00$9D:
R$0300
T50
* Read Binary 16 Bytes (Init command)
I<2002$0A$04$00$40$05$00$B0$00$00$10$E5:
R$0300
T50
* Extract 16 read Data Bytes from Offset 0 (Init command)
I<2002$00$03$02$04$10:
R$0300
T50
Page 59 of 73
Help Manual for Chip Reading Programming Desktop V 1.1.9 or higher
Revision A, 03/21/2007
Page 60 of 73
Help Manual for Chip Reading Programming Desktop V 1.1.9 or higher
Revision A, 03/21/2007
Configuration file:
*
* Example SLE 4404/4406
*
Comment=*
CSync=Y
CInit=I
CStart=S
RCode=R
RTime=T
DTime=L
Format=Z
Tag=X
Reverse=W
CrLfOn=0
Baud=19200,8,n,1
Protocol=>,:,1,1,0,3
Reader=CREAM130
*
* Get CREAM version (Sync command)
Y<00:
R$07BOEWE-CREAM
T50
* Reset Macro Buffer (Init command)
I<2001:
R$0300
T50
* Select Chip Type SLE 4404/4406 (Init command)
I<2002$02$F1$01:
R$0300
T50
* Read Card Data; 4404: 52 Bytes, 4406: 16 Bytes (Init command)
I<2002$01$01:
R$0300
T50
* Stop if last Chip Card Command Response is equal FF hex. at Offset 1 (Init command)
I<2002$00$03$0B$01$FF:
R$0300
T50
* Extract 16 read Data Bytes from Offset 0 (Init command)
I<2002$00$03$02$01$10:
R$0300
T50
* End of Macro (Init command)
I<2003:
R$0300
T50
* Activate Macro (Init command)
I<0120:
R$039201
T50
* Start Chip Card Reading (Start command)
S<02:
R$0300
T200
* Convert 16 Bytes from Offset 0: No conversion (Format command)
Z$00$04$10
Page 61 of 73
Help Manual for Chip Reading Programming Desktop V 1.1.9 or higher
Revision A, 03/21/2007
Configuration file:
*
* Example SLE 4418/4428
*
Comment=*
CSync=Y
CInit=I
CStart=S
RCode=R
RTime=T
DTime=L
Format=Z
Tag=X
Reverse=W
CrLfOn=0
Baud=19200,8,n,1
Protocol=>,:,1,1,0,3
Reader=CREAM130
*
* Get CREAM version (Sync command)
Y<00:
R$07BOEWE-CREAM
T50
* Reset Macro Buffer (Init command)
I<2001:
R$0300
T50
* Select Chip Type SLE 4418/4428 (Init command)
I<2002$02$F1$0C:
R$0300
T50
* Read 6 Bytes from Address 006B hex. (Init command)
I<2002$04$02$00$6B$06:
R$0300
T50
* Stop if last Chip Card Command Response is equal FF hex. at Offset 1 (Init command)
I<2002$00$03$0B$01$FF:
R$0300
T50
* Extract 6 read Data Bytes from Offset 0 (Init command)
I<2002$00$03$02$01$06:
R$0300
T50
* Power Off (Init command)
I<2002$01$08:
R$0300
T50
* End of Macro (Init command)
I<2003:
R$0300
T50
* Activate Macro (Init command)
I<0120:
R$039201
T50
* Start Chip Card Reading (Start command)
S<02:
R$0300
Page 62 of 73
Help Manual for Chip Reading Programming Desktop V 1.1.9 or higher
Revision A, 03/21/2007
T200
* Convert 6 Bytes from Offset 0: Convert Nibbles BCD to ASCII (Format command)
Z$02$04$06
Page 63 of 73
Help Manual for Chip Reading Programming Desktop V 1.1.9 or higher
Revision A, 03/21/2007
Configuration file:
*
* Example SLE 4432/4442
*
Comment=*
CSync=Y
CInit=I
CStart=S
RCode=R
RTime=T
DTime=L
Format=Z
Tag=X
Reverse=W
CrLfOn=0
Baud=19200,8,n,1
Protocol=>,:,1,1,0,3
Reader=CREAM130
*
* Get CREAM version (Sync command)
Y<00:
R$07BOEWE-CREAM
T50
* Reset Macro Buffer (Init command)
I<2001:
R$0300
T50
* Select Chip Type SLE 4432/4442 (Init command)
I<2002$02$F1$0B:
R$0300
T50
* Read first 128 Bytes Card Data (Init command)
I<2002$02$02$00:
R$0300
T50
* Extract all read Data Bytes from Offset 48 (Init command)
I<2002$00$03$02$31$00:
R$0300
T50
* Extract 7 Data Bytes from Offset 2 starting at Tag 81 hex. (Init command)
I<2002$00$04$04$81$02$07:
R$0300
T50
* Extract 12 Data Bytes from Offset 2 starting at Tag 82 hex. (Init command)
I<2002$00$04$04$82$02$0C:
R$0300
T50
* Power Off (Init command)
I<2002$01$08:
R$0300
T50
* End of Macro (Init command)
I<2003:
R$0300
T50
* Activate Macro (Init command)
I<0120:
Page 64 of 73
Help Manual for Chip Reading Programming Desktop V 1.1.9 or higher
Revision A, 03/21/2007
R$039201
T50
* Start Chip Card Reading (Start command)
S<02:
R$0300
T200
* Convert 19 Bytes from Offset 0: No conversion (Format command)
Z$00$04$13
Page 65 of 73
Help Manual for Chip Reading Programming Desktop V 1.1.9 or higher
Revision A, 03/21/2007
Configuration file:
*
* Example SLE 4436
*
Comment=*
CSync=Y
CInit=I
CStart=S
RCode=R
RTime=T
DTime=L
Format=Z
Tag=X
CrLfOn=0
Baud=19200,8,n,1
Protocol=>,:,1,1,0,3
Reader=CREAM130
*
* Get CREAM version (Sync command)
Y<00:
R$07BOEWE-CREAM
T50
* Reset Macro Buffer (Init command)
I<2001:
R$0300
T50
* Select Chip Type SLE 4436 (Init command)
I<2002$02$F1$0D:
R$0300
T50
* Read 48 Bytes Card Data (Init command)
I<2002$01$11:
R$0300
T50
* Stop if last Chip Card Command Response is equal Reference value at Offset 1 (Init command)
I<2002$00$03$0B$01$FF:
R$0300
T50
* Extract 48 Bytes from Offset 0 (Init command)
I<2002$00$03$02$01$30:
R$0300
T50
* Power Off (Init command)
I<2002$01$12:
R$0300
T50
* End of Macro (Init command)
I<2003:
R$0300
T50
* Activate Macro (Init command)
I<0120:
R$039201
T50
* Start Chip Card Reading (Start command)
S<02:
R$0300
T200
* Convert 48 Bytes from Offset 0: No conversion (Format command)
Page 66 of 73
Help Manual for Chip Reading Programming Desktop V 1.1.9 or higher
Revision A, 03/21/2007
Z$00$04$30
Page 67 of 73
Help Manual for Chip Reading Programming Desktop V 1.1.9 or higher
Revision A, 03/21/2007
4.1.3.7 I²C
Commands generated in programming desktop:
Configuration file:
*
* Example I2C
*
Comment=*
CSync=Y
CInit=I
CStart=S
RCode=R
RTime=T
DTime=L
Format=Z
Tag=X
Reverse=W
CrLfOn=0
Baud=19200,8,n,1
Protocol=>,:,1,1,0,3
Reader=CREAM130
*
* Get CREAM version (Sync command)
Y<00:
R$07BOEWE-CREAM
T50
* Reset Macro Buffer (Init command)
I<2001:
R$0300
T50
* Select Chip Type I2C (Init command)
I<2002$02$F1$04:
R$0300
T50
* Deactivate Automatic Power Off (Init command)
I<2002$02$0A$01:
R$0300
T50
* Get I2C Memory Size (Init command)
I<2002$01$09:
R$0300
T50
* Skip next 5 Commands if last Chip Card Command Response is equal 01 hex. at Offset 1 (Init
command)
I<2002$00$04$06$01$01$05:
R$0300
T50
* Select I2C Memory Size Up to 2 kByte (Init command)
I<2002$02$09$00:
R$0300
Page 68 of 73
Help Manual for Chip Reading Programming Desktop V 1.1.9 or higher
Revision A, 03/21/2007
T50
* Select Chip Address A0 hex. (Init command)
I<2002$02$07$A0:
R$0300
T50
* Select Page No. 0 (Init command)
I<2002$02$06$00:
R$0300
T50
* Read 128 Bytes from Address 00 hex. (Init command)
I<2002$03$01$00$80:
R$0300
T50
* Skip next 3 Commands (Init command)
I<2002$00$02$08$03:
R$0300
T50
* Select I2C Memory Size Up to 64 kByte (Init command)
I<2002$02$09$01:
R$0300
T50
* Select Chip Address A0 hex. (Init command)
I<2002$02$07$A0:
R$0300
T50
* Read 128 Bytes from Address 0000 hex. (Init command)
I<2002$04$01$00$00$80:
R$0300
T50
* Extract all read Data Bytes from Offset 47 (Init command)
I<2002$00$03$02$30$00:
R$0300
T50
* Extract 7 Data Bytes from Offset 2 starting at Tag 81 hex. (Init command)
I<2002$00$04$04$81$02$07:
R$0300
T50
* Extract 12 Data Bytes from Offset 2 starting at Tag 82 hex. (Init command)
I<2002$00$04$04$82$02$0C:
R$0300
T50
* Power Off (Init command)
I<2002$01$0B:
R$0300
T50
* End of Macro (Init command)
I<2003:
R$0300
T50
* Activate Macro (Init command)
I<0120:
R$039201
T50
* Start Chip Card Reading (Start command)
S<02:
R$0300
T200
* Convert all Bytes from Offset 0: No conversion (Format command)
Z$00$04$00
Page 69 of 73
Help Manual for Chip Reading Programming Desktop V 1.1.9 or higher
Revision A, 03/21/2007
4.1.4.1 Preparation
1) Treat the Start command:
Ø Make a note of the displayed response time
Ø Increase the response time to 10.000 ms
For chip cards with extremely long response time increase of this parameter may lead to success. In
this case a reduced card throughput in the card channel is expected.
Page 70 of 73
Help Manual for Chip Reading Programming Desktop V 1.1.9 or higher
Revision A, 03/21/2007
4.1.4.2 Execution
The execution of dependent scripts with Skip Commands may be tested by insertion of suitable Stop
Commands.
2) Insert new command “Skip unconditionally“ directly behind previously generated Extract command.
Adjust parameters as follows:
Skip Counter Number of all following commands up to “Power Off”
Leave all other parameters unchanged.
Page 71 of 73
Help Manual for Chip Reading Programming Desktop V 1.1.9 or higher
Revision A, 03/21/2007
Page 72 of 73
Help Manual for Chip Reading Programming Desktop V 1.1.9 or higher
Revision A, 03/21/2007
4.1.4.3 Conclusion
1) Deactivate “Advanced edit mode“ in <F12> Menu.
Page 73 of 73