177 lines
9.2 KiB
Plaintext
177 lines
9.2 KiB
Plaintext
Title : PC to VideoCrypt and/or Smart Card interface via RS232 port.
|
|
Author: Alex Ivopol (cyborg@actrix.gen.nz)
|
|
Date : 10 Jan 1995
|
|
|
|
The following interface has been built and used succesfully. It is loosely
|
|
based on Markus Kuhn's ADAPTER.TXT and can be used in three modes:
|
|
|
|
* PC listens to traffic between VideoCrypt decoder and Smart Card.
|
|
* PC pretends to be the Smart Card and talks to the VideoCrypt decoder.
|
|
* PC pretends to be a VideoCrypt decoder and talks to the Smart Card.
|
|
|
|
DB9F 7ÚÄÄÄÄÄÄÄÄÄoÄÄÄÄÄÄÄÄÄoÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿1
|
|
PLUG ÚÄÄÄÄÁÄÄÄÄÄ¿ ³ R ³ R ÚÄÄÄÄÁÄÄÄÄ¿
|
|
5³ MAX233 ³ 2 ÀÄ/\/\/Ä¿ ÀÄ/\/\/Ä¿ 2³ VCC ³6
|
|
DCD(1)ÄÄÄÄÅÄÄÄo<ÃÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄoÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄ´RST VPPÃÄ N/C
|
|
18³ ³ 1 ³ ³ 7³ SC1 ³3
|
|
RXD(2)ÄÄÄÄÅÄÄÄo<ÃÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄoÄÄÄÄÄÄÄ´I/O CLKÃÄ * see
|
|
4³ ³ 3 R ³ / E ³ GND ³ options
|
|
TXD(3)ÄÄÄÄÅÄÄÄ´>oÄÄÄÄÅÄÄÄ/\/\/ÄÄÄÅÄÄÄÄÄÄÄ´ TR ÀÄÄÄÄÂÄÄÄÄÙ
|
|
19³ ³20 R / E \ C ³
|
|
RTS(7)ÄÄÄÄÅÄÄÄ´>oÄÄÄÄÅÄÄÄ/\/\/Ä´ TR ³ ³
|
|
ÃÄÄÄÄÄÄÄÄÄÄ´ \ C ³ ³
|
|
8 ÄÄ´C1+ C2+ÃÄ¿ 11 ³ ³ ³
|
|
13 ÄÄ´C1- C2+ÃÄÙ 15 ³ ³ ³
|
|
12 ÚÄ´V- C2-ÃÄ¿ 10 ³ ³ ³
|
|
17 ÀÄ´V- C2-ÃÄÙ 16 ³ ³ ³
|
|
14 ÄÄ´V+ GND GND³ ³ ³ ³
|
|
ÀÄÄÄÄÂÄÄÄÂÄÙ ³ ³ ³
|
|
6³ 9³ ³ ³ ³
|
|
GND(5)ÄÄÄÄÄÄÄÄÄoÄÄÄoÄÄÄÄÄÄÄÄÄÄÄÄÄoÄÄÄÄÄÄÄÄÄoÄÄÄÄÄÄÄÄÄÄÄÄÙ
|
|
|
|
Option 1: Option 2:
|
|
8 5 3 5 8
|
|
VCC oÄÂÄÄÄÄÄÄ¿ ÚÄÄo CLK output VCC oÄÂÄÄÄÄÄÄÂÄÄÂÄÄ¿
|
|
³ ÚÄÁÄÄÁÄ¿ ³ ÚÄÁÄÄÁÄÄÁÄ¿2
|
|
100 ÍØÍ ³ OSC1 ³ 100 ÍØÍ 1Ä´ EXO-3C ÃÄÄo CLK output
|
|
nF ³ ÀÄÂÄÄÂÄÙ nF ³ ÀÄÂÄÄÂÄÄÂÄÙ
|
|
GND oÄÁÄÄÄÄÄÄÄÄÄÙ GND oÄÁÄÄÄÄÄÄÁÄÄÁÄÄÙ
|
|
1 4 4 6 7
|
|
|
|
Qty Part Package Description
|
|
1x SC1 - Smart card connector
|
|
1x DB9F DB9F Female 9 pin D connector
|
|
1x MAX232 DIL 20 RS232 <-> TTL level translator
|
|
2x TR TO92 BC558 general purpose PNP transistor
|
|
4x R - 10k resistor
|
|
|
|
Optionally, one of the following:
|
|
Qty Part Package Description
|
|
1x OSC1 DIL 8 Crystal Oscillator Module 3.579545Mhz
|
|
1x EXO-3C DIL 8 Programmable Oscillator 14.31818Mhz max frequency
|
|
|
|
For those who have access to a Radio Spares store, the following components
|
|
can be obtained through them:
|
|
|
|
Part RS Stock #
|
|
MAX233 655-290
|
|
EXO-3C 296-885
|
|
SC1 453-785
|
|
|
|
The rest of the components are easy to get and not critical in value.
|
|
|
|
CIRCUIT DESCRIPTION
|
|
|
|
The interface is designed to be connected to a PC with a 9 pin RS232 port. As
|
|
such the interface has a Female 9 pin D connector like that found on a serial
|
|
mouse. An extension cable is necessary between the PC's serial port and the
|
|
location of the interface. The wiring of the extension cable is straight thru
|
|
with a male DB9 at one end and a female DB9 at the other. Those who know how
|
|
to do it, can replace the female DB9 with a female DB25 if their PC has a 25
|
|
pin serial port.
|
|
|
|
The PC's RS232 port operates with signals that swing from +12V to -12V. The
|
|
smart card however, operates with TTL signals that swing between +5V and 0V.
|
|
An RS232 -12V level corresponds to a TTL high (+5V) and a RS232 +12V level
|
|
corresponds to a TTL low (0V).
|
|
|
|
Due to this incompatibility, a signal level translator such as the MAX233
|
|
must be used. The MAX233 is powered from a single +5V supply and generates
|
|
internally the +/-12V voltages necessary for the RS232 communication. Unlike
|
|
it's MAX232 brother, the MAX233 needs no external components to achieve this.
|
|
Thus in the above diagram, all signal lines to the left of the MAX233 are at
|
|
RS232 levels while all signal lines to the right of the MAX233 are at TTL
|
|
levels.
|
|
|
|
The DCD line is used to monitor the state of the RST line on the smart card.
|
|
This allows us to detect when a reset takes place.
|
|
|
|
The RTS line allows us to force a card reset. When the interface is not
|
|
connected to a PC, pin 19 of the MAX233 is pulled to GND via an internal
|
|
resistor producing a high level on pin 20. This forces the transistor to
|
|
"open" (think of the transistor as a switch), effectively disconnecting pin
|
|
20 from the card's RST line. The same happens when the interface is connected
|
|
to the PC and the RTS line is placed at -10V (inactive state).
|
|
|
|
When the RTS line is activated (placed at +10V), pin 20 goes low and the
|
|
transistor "closes", forcing the card's RST line low and causing a reset.
|
|
|
|
The RXD line is used to receive data from the smart card.
|
|
|
|
The TXD line is used to transmit data to the smart card. When the interface
|
|
is not connected to the PC, the line is pulled to GND via an internal
|
|
resistor producing a high level on pin 3. This "opens" the transistor, in
|
|
effect disconnecting the TXD line from the card's I/O pin. When the interface
|
|
is connected to a PC and the PC is not transmiting data to the smart card,
|
|
the TXD line is idle (-10V) and is again disconnected from the card's I/O pin.
|
|
|
|
Only when the PC transmits a zero, the TXD line goes to +10V making pin 3 go
|
|
low and forcing the card's I/O pin low. At all other times, the card's I/O
|
|
line is pulled high via the resistor R. This allows the PC to send data to
|
|
the card.
|
|
|
|
All TTL signals from the MAX233 go to SC1 which is a smart card connector
|
|
accepting cards with contact locations that conform to the ISO7816-2 standard,
|
|
section 4, fig 2.
|
|
|
|
The final part of the circuit is an optional oscillator. This is only needed
|
|
if you intend to have the PC exchange data with a smart card. At all other
|
|
times the oscillator must be disconected. In the prototype the oscillator was
|
|
built on the board and a jumper is used to connect or diconect the oscillator
|
|
output to the card's CLK pin.
|
|
|
|
There are many options for building oscillators. Some people use discrete
|
|
components. In this age of electronic miniaturisation however, we have two
|
|
appealing options.
|
|
|
|
Option 1 is a Crystal Oscillator Module housed in a metal package. It can be
|
|
found in two sizes. Either a DIL (Dual In Line) 14 pin or a DIL 8 pin. These
|
|
have pins spaced so that they can plug directly into a 14 pin or an 8 pin IC
|
|
socket. Regardless of the package, only the corner pins are fitted. Pin one
|
|
on either package is a No Connection. When this oscillator module has power
|
|
applied, a TTL level clock signal of the appropriate frequency can be observed
|
|
at the output. The card divides the CLK input signal by 372 (usually) to clock
|
|
the serial I/O data in or out. Therefore, if we want to talk to the card at
|
|
9600 bps, we must fit an oscillator of 372*9600=3.571200Mhz. Unfortunately
|
|
these are hard to come by, but modules of 3.579545Mhz are quite easy to find
|
|
producing 9622 bps which works just fine.
|
|
|
|
Option 2 is a programmable frequency divider. This is a DIL 8 pin chip with
|
|
a built in crystal oscillator. The one in this project has a base frequency of
|
|
14.31818Mhz. Three pins on the chip allow a divisor between 2^1 to 2^8 to
|
|
be selected allowing frequencies between 7.15909Mhz and 55.93khz to be
|
|
produced. A separate output, provides the undivided base frequency. In this
|
|
project a divisor of 2^2=4 was selected effectively providing an output
|
|
frequency of 3.579545Mhz.
|
|
|
|
Oscillators are really noisy devices. They produce a lot of noise on the
|
|
power line. Therefore, a 100nF capacitor _must_ be fitted as close to the
|
|
supply lines of the oscillator as possible. This not only eliminates the
|
|
noise on the supply lines but improves the sqareness of the generated
|
|
waveform.
|
|
|
|
The working prototype was built on a PCB of 95mm x 45mm, 1.6mm thickness. The
|
|
PCB holds the DB9 connector, the SC1 connector, MAX233 with a 10uF 25V
|
|
tantallum capacitor across the power supply lines, oscillator in option 2 with
|
|
its 100nF capacitor across the power supply lines, 4 resistors, 2 transistors,
|
|
a jumper (for connecting the oscillator) and a power plug (for connecting an
|
|
external +5V supply when talking to the card, otherwise the interface draws
|
|
power from the decoder). Total current drawn at 5V with oscillator active is
|
|
7.6mA. See PPLACE.BMP for parts placement.
|
|
|
|
In addition there is a .6mm thickness single sided PCB of the exact dimentions
|
|
of a smart card (see INSERT.BMP). In the decoder used, the card protrudes by
|
|
about 20mm so the contacts are brought to the outside. A piece of 5 wire flat
|
|
ribbon cable brings these contacts to the interface PCB (see IRD_V3.BMP) where
|
|
they are soldered directly on the trace side to the coresponding pins on SC1.
|
|
|
|
WARNING: Before attempting to connect the interface to any decoder, use a high
|
|
impedance DMM to measure the AC voltage difference between the interface GND
|
|
and the decoder's GND. If the difference is not close to 0VAC, earth the
|
|
decoder's GND before connecting the interface. Use at your own risk. If you
|
|
damage something you have no one to blame but yourself for stuffing with it
|
|
in the first place. Take care.
|
|
|
|
Alex Ivopol (cyborg@actrix.gen.nz)
|
|
|