by laurent lamesch (luxembourg) ic t est er · 74xx and 40xx series. the elementary building block...
TRANSCRIPT
MICROPROCESSOR DESIGN CONTEST ————— Elektor Electronics EXTRA 3 - 1/98
All input pins of the device under test
(DUT) inserted in the Textool zero-inser-
tion force socket, ZIF1, may be pulled
to the logic high (H) or logic low (L) level
by means of the outputs on the Z80PIOs
and current limiting resistors. The same
PIOs also enable the logic states of the
DUT outputs to be checked, while ports
1, 4 and 5 of the 80C535 are used to
detect which DUT pins represent a high
impedance. Furthermore, the supply
voltage pins of the DUT may be con-
This article supplies a condensed description of a
stand-alone IC tester for SSI (small-scale integration)
logic ICs (with up to 24 pins) from the well-known
74xx and 40xx series. The elementary building blocks
that make up the design are an 80C535 microcon-
troller, a large EPROM, an LCD display, a small key-
board and an RS232 interface. The latter allows the
tester to receive new IC test vectors produced by a
test vector compiler which runs on a PC. Another
DOS program allows new test vectors to be tested
using the same RS232 interface, so you don’t have
to re-program the system EPROM or dig up an
EPROM emulator.
By Laurent Lamesch (Luxembourg)
35343332313029
BSTB17
BRDY21
IEO22
IEI24
INT23
CLK25
IORQ36
RD35
M137
CE4
C/DSE5
ASTBY16
B/ASE6
ARDY18
A77
A68
A59
A410
A312
A213
A114
A015
B734
B633
B532
B431
B330
B229
B128
B027
D72
D63
D538
D439
D340
D21
D120
D019
IC4
Z80BPIO
BSTB17
BRDY21
IEO22
IEI24
INT23
CLK25
IORQ36
RD35
M137
CE4
C/DSE5
ASTBY16
B/ASE6
ARDY18
A77
A68
A59
A410
A312
A213
A114
A015
B734
B633
B532
B431
B330
B229
B128
B027
D72
D63
D538
D439
D340
D21
D120
D019
IC2
Z80BPIO10
10
1111
1212
1313
1414
1515
1616
1717
1818
19192
02
0
11
22
33
44
55
66
77
88
99
IC5
GAL16V8
R32 180GND
R31 180R30 180R29 180R28 180R27 180R26 180R25 180
R40 180R39 180R38 180R37 180R36 180R35 180R34 180R33 180
GND
GND
VCC
XTALSDA13A14
/PSEN/RDB7B6
/WR
A16A17
LCDE/PIO0/IORQ
/PIO1
/EPROEPHI
123456789
1011121314
LCD1
LTN211
P1.036
P1.1P1.2P1.3P1.4P1.5P1.6P1.7
VC
C7
VS
S8
P0.052
P0.153
P0.254
P0.355
P0.456
P0.557
P0.658
P0.759
P2.041
P2.142
P2.243
P2.344
P2.445
P2.546
P2.647
P2.748
P4.01
P4.12
P4.23
P4.35
P4.46
P4.57
P4.68
P4.79
P3.0 RxD21
P3.1 TxD22
P3.2 INT023
P3.3 INT124
P3.4 T025
P3.5 T126
P3.6 WR27
P3.7 ED28
P5.067
P5.166
P5.265
P5.364
P5.463
P5.562
P5.661
P5.760
P6.020
P6.119
P6.218
P6.317
P6.416
P6.515
P6.614
P6.713
VAREF11
VAGND12
PE4
EA51
ALE50
XTAL140
XTAL239
VC
C6
8
RESET10
PSEN49
IC3
80C535
A012
A111
A210
A39
A48
A57
A66
A75
A827
A926
A1023
A1125
A124
A1328
A1429
A153
A162
A1730
E22
G24
DQ113
DQ214
DQ315
DQ417
DQ518
DQ619
DQ720
DQ821
IC7
27C512,27C010,27C020
A8A9A10A11A12A13A14A15
D0D1D2D3D4D5D6D7
ALE
GND
D0D1D2D3D4D5D6D7
A0A1A2A3A4A5A6A7
A6A5A4A3A2A1A0
OC1
C11
1D2
2D3
3D4
4D5
5D6
6D7
7D8
8D9
1Q19
2Q18
3Q17
4Q16
5Q15
6Q14
7Q13
8Q12
IC8
74HC573
A7A8A9A10A11A12A13A14A15
D0D1D2D3D4D5D6D7
GND
XTAL1
12MHz
C1210p
C910p
GNDGND
GND
123456789101112 13
1415161718192021222324
ZIF1
TEXTOOL24
+
C151u
GND
R9610k
VCC
VCC
VCC VCC
GND
123456789
RN1
8x4.7k
123456789
RN2
8x4.7k
VCC
VCC
12345
RN3
4x4.7k
12345
RN4
4x4.7k
VCC
VCC
R1 10kR2 10kR3 10kR4 10kR5 10kR6 10kR7 10kR8 10kR9 10kR10 10kR11 10kR12 10kR24 10kR23 10kR22 10kR21 10kR20 10kR19 10kR18 10kR17 10kR16 10kR15 10kR14 10kR13 10k
R48 180R47 180R46 180R45 180R44 180R43 180R42 180R41 180
GND
GND
GND
GND
D0D1D2D3D4D5D6D7
D0D1D2D3D4D5D6D7
ZIF1
ZIF3ZIF4ZIF5ZIF6ZIF7ZIF8ZIF9ZIF10ZIF11
ZIF12 ZIF13ZIF14ZIF15ZIF16ZIF17ZIF18ZIF19ZIF20ZIF21ZIF22ZIF23
ZIF[1..24]
D[0..7]A[0..17]
ZIF2
A11A14
A11A14
GND
A16
A1
7
A1
3A
14
A1
6A
17
SDSCLKSSTR
B6B7PHI/RD/IORQSOE/PIO1
/EPROE
A14A15LCDEND0D1D2D3D4D5D6D7
GND
VCC
R81
10k
GND
VCC
C1+1
C1-3
C2+4
C2-5
V+2
V-6
VC
C1
6G
ND
15
T1IN11
T2IN10
R1OUT12
R2OUT9
R2IN8
R1IN13
T2OUT7
T1OUT14
IC10
MAX232
GND
VCC
+ C1710u
+ C1810u
+
C16
10u
+ C21
10uGND
12345678
J4
KeyboardConnector
XTAL
12
J6
/PSEN
ALE
/WR/RD
R97
2.2k
T2
BC547C
GND
R7910k
VCC
SOE
VCC
GND
ZIF[1..24]
SCLKSD
SSTRSOE
SDSCLKSSTRSOE
AN0
972020 - 11
VCC10
VCC9
VCC12GND24
R80
3901
J5
GND
123
J1
/SOE
VCC
/RD
SOE
ZIF24
ZIF1ZIF2ZIF3ZIF4ZIF5ZIF6ZIF7ZIF8
ZIF9ZIF10ZIF11ZIF12ZIF13ZIF14ZIF15ZIF16
ZIF17ZIF18ZIF19ZIF20ZIF21ZIF22ZIF23ZIF24
ZIF1ZIF2ZIF3ZIF4ZIF5ZIF6ZIF7ZIF8ZIF9ZIF10ZIF11ZIF12ZIF13ZIF14ZIF15ZIF16ZIF17ZIF18ZIF19ZIF20ZIF21ZIF22ZIF23ZIF24
Z1Z2Z3Z4Z5Z6Z7Z8Z9Z10Z11Z12Z13Z14Z15Z16Z17Z18Z19Z20Z21Z22Z23Z24
Z1Z2Z3Z4Z5Z6Z7Z8
Z9Z10Z11Z12Z13Z14Z15Z16
Z17Z18Z19Z20Z21Z22Z23Z24
Z1Z2Z3Z4Z5Z6Z7Z8
Z9Z10Z11Z12
Z13Z14Z15Z16
Z17Z18Z19Z20Z21Z22Z23Z24
I C t e s t e r
Figure 1. Circuit diagram of the digital control circuit and the RS232 interface.
so
ftware·a
vailab
le·on·cd
-rom
µP-µChard &software'97-'98
INT
ER
NA
TIO
NA
L F
IRS
T P
RIZ
E
199
7 I
nte
rna
tio
na
l M
icro
pro
ce
ss
or
Co
mp
eti
tio
n
4 - 1/98 Elektor Electronics EXTRA ————— MICROPROCESSOR DESIGN CONTEST
nected to GND or a current-limited volt-
age source via switching transistors.
This voltage source (built around IC6)
supplies 5.2 V, and its output current is
limited to about 0.2 A. The actual out-
put current is converted into a propor-
tional voltage for measurement by the
controller.
Depending on the size of the test
vector files, the control program of the
IC tester is contained in a 27C512,
27C010 or 27C020 EPROM. If multiple
banks are present inside the EPROM,
then the selection between the 64-
kByte chunks is accomplished by out-
puts B6 and B7 of IC2. The 80C535 also
controls an LC display and a keyboard
with 6 keys. A GAL, IC5, looks after the
address decoding, and also generates
the PHI signal for the Z80PIOs.
The reason for using the Z80PIO to
control and monitor the DUT inputs and
outputs is that this chip is the only
widely available 16-bit parallel port IC
of which all port line directions are indi-
vidually controllable, while the output
drivers for all port lines consist of push-
pull circuits.
Jumper J1 selects between a 28-pin
and a 32-pin EPROM in position IC7.
When a 28-pin EPROM is used, J1-1 is
connected to J1-2. When a 32-pin
EPROM is used, connect J1-2 to J1-3.
A 9-way sub-D socket is connected
to J6. This enables you to connect the
IC tester to the RS232 serial port on your
PC. Ground for the serial interface is
taken from J2. The pin connections of
the sub-D socket are as follows:
9-way sub-D J6 J2
2 1
3 2
5 2
Adjustment
The only adjustment in the circuit is the
DUT supply output voltage. This is set to
5.2 V ±0.05 V using preset R82.
Operation
The tester is operated using six keys
labelled Enter, Escape, dn (scroll down),
up, dn2 (fast scroll down), and up2 (fast
scroll up). The up and dn keys have an
auto-repeat function which causes the
repeat rate to be automatically
increased as the key is held depressed.
LED D5 lights to indicate that the IC
under test is being powered, and
should not be removed from the ZIF
socket.
Pressing the escape key takes you to
the main menu. There, the following
functions may be selected:
1. Test IC: the user picks an IC from
an IC library, and the DUT is
checked for correct operation. The
test may be repeated. If indicated
by the test vectors, the current
consumption of the IC under test is
measured and displayed.
2. Identify: this allows you to identify
the type number of an unknown
IC. If the GND and Vcc pins are
unknown, only those test vectors
are used that have the GND and
Vcc pins at the same positions. The
GND/Vcc pin entry is optional.
Next, you can select the libraries
that have to be scanned.
3. Retest IC: once an IC has been
tested or identified, it may be
tested again without having to pick
it from the libraries.
4. Trace: all test vectors and the
response of the DUT to these vec-
tors appear in succession on the
LC display.
5. Options: here, you can define
global options.
6. Info: information on version and
copyright.
7. Self Check: the IC tester hardware
15
T14
BC639-16
GND
R71
1k
R75
10k
GND
T15
BC639-16
GND
R70
1k
RN5-8
10k
GND
T16
BC639-16
GND
R69
1k
RN5-7
10k
GND
T17
BC639-16
GND
R68
1k
RN5-6
10k
GND
T18
BC639-16
GND
R67
1k
RN5-5
10kGND
T19
BC639-16
GND
R66
1k
RN5-4
10k
GND
T20
BC639-16
GND
R65
1k
RN5-3
10k
GND
T21
BC639-16
GND
R63
1k
RN5-1
1k
GND
T22
BC639-16
GND
R64
1k
RN5-2
10k
GND
R54
1k
R61
10k
T4
BC640-16
R49
1k
R56
10k
T5
BC640-16
R51
1k
R58
10k
T6
BC640-16
R50
1k
R57
10k
T7
BC640-16
R52
1k
R59
10k
T8
BC640-16
R53
1k
R60
10k
T9
BC640-16
R55
1k
R62
10k
T10
BC640-16
R74
1k
R78
10k
T11
BC640-16
R73
1k
R77
10k
T12
BC640-16
R72
1k
R76
10k
T13
BC640-16
ZIF[1..24]
STR1
D2
CLK3
OE15
Q14
Q25
Q36
Q47
Q514
Q613
Q712
Q811
QS9
QS10
IC9
74HC4094
STR1
D2
CLK3
OE
Q14
Q25
Q36
Q47
Q514
Q613
Q712
Q811
QS9
QS10
IC1
74HC4094
12
J2 D4
1N4001
GND
+C10
470uF35V
GND
GND
Vin1
GND
3
+5V2
IC11
7805
VCC
T3 BD139-16
T1
BC547C
R9210k
R9847k
12
13
14
IC6D
LM324
3
21
411IC6A
LM324
10
9
8
IC6C
LM324
R95
1R 1%
R94
1R 1%
R86100k 1%
R87100k 1%
R881M 1%
R851M 1%
GND
R99
27
R931k 1%
GND
C?C
C?C
GND GND
C19
1nF
C1
1nF
D3
1N4148
D1
1N4148
R9010k
R8939k
GND
R91
100k
R821k
R831k
R846.8k
GND
VCC
SCLKSD
SSTRSOE
VCC10VCC9
VCC12GND24
AN0
+9..15V
GND
1 2 3
J3
CON3
D2
1N4001
1 2 3
C1100nF
C5100nF
GND GND
C7100nF
C8100nF
GND GND
C11100nF
C13100nF
GND GND
C20100nF
GND
C6100nF
GND
+C210uF
+C1410uF
GND GND
GND
Pin4 Pin4 Pin20 Pin32,31 Pin20
Pin26 Pin26 Pin10 Pin16 Pin10Pin8
Pin16 Pin16
Pin8
IC1 IC2 IC4 IC5 IC7 IC8 IC9
GND
C23100nF
GND
5
67
IC6B
LM324
G7G10
G12G15
G17
G20G21G22
V16
V17V19
V20V21
V22V24
V9V10V12G24
ZIF7
ZIF10
ZIF12
982020 - 12
ZIF9
ZIF16
ZIF17
ZIF19
ZIF20
ZIF21
ZIF22
ZIF24
ZIF20
ZIF21
ZIF22
ZIF24
ZIF17
ZIF10
ZIF15
ZIF12
G24
G22
G21
G20
G7
G17
G10
G15
G12
V24
V22
V21
V20
V17
V19
V16
V9
V10
V12
Figure 2. Circuit diagram showing the DUT interface and the power supplies.
MICROPROCESSOR DESIGN CONTEST ————— Elektor Electronics EXTRA 5 - 1/98
may be checked using this func-
tion and a voltmeter.
8. Remote Mode: connect a PC to
the RS232 interface and debug
test vectors using the DOS program
TVCHK.EXE.
The up/dn keys are used to scroll one
item up or down. The up2/dn2 keys do
the same, but then five items at a time.
The ent(er) key is used to confirm a
selection. Esc, finally, jumps to the main
menu.
Test vector compiler anddebugger
ICVC.EXE is the test vector compiler
which generates a Test Vector Binary
File from the Test Vector Source File. The
Binary File has to be appended to
microcontroller program, ICT.BIN,
before an EPROM may be pro-
grammed for the IC tester. File append-
ing is achieved with the simple
‘copy /b ...’ command.
ICTVC.EXE is launched by typing
ICTVC scrfile.TVC at the DOS prompt.
So, for instance, ICTVC VECT.TVC. It gen-
erates the following files:
TVC.OUT:Test Vector Binary File
ERR.OUT: Error report
LIST.OUT: List file containing information
on the source file, the binary file, a
copy of the source file with line num-
bers, plus, for each line, the bytes that
were generated from this line.
TMP.OUT: temporary file, used by
ICTVC.EXE.
If an error occurs during the compila-
tion phase, the relevant error reports
are written to ERR.OUT. Error reports are
not displayed on the PC monitor.
TVCHK is a shell program which calls
ICTVC.EXE, and enables the generated
test vectors to be debugged. This pro-
gram has to be launched using the
COM port to which the IC tester is con-
nected, or the address and interrupt
line of this COM port, as an appended
switch. So, for instance, TVCHK 2.
The batch file EDT.BAT is used to
launch an external text editor (word
processor). If another editor than
EDIT.COM is used, this batch file has to
be modified accordingly. The batch file
launches the editor and conveys the
first batch file parameters. The Test Vec-
tor Source File is relatively large, so your
external editor may not be able to load
it entirely. If that happens, you should
create a file which only contains the
new test vectors (if new test vectors are
being debugged). Once the new vec-
tors have been debugged, they may
be appended to VECT.TVC without
using the TVCHK program. the option
‘Compile tv source code’ is then used
to compile the complete file.
A file called SMALL.TVC is supplied
for practicing. Select option 2 (Edit &
compile tv source file) in the TVCHK pro-
gram and then enter SMALL.TVC
instead of VECT.TVC.
Building this project
As already mentioned, this article pre-
sents a condensed description of a
Library: 74xxx74:0074:01*74:0274:0374:0474:0574:06Parent: 74:0574:0774:0874:0974:1074:1174:12*74:1374:1474:15*74:1674:1774:18*74:19*74:2074:2174:22*74:24*74:2574:2674:2774:28*74:3074:31*74:3274:3374:34*
74:35*74:3774:3874:39*74:4074:4274:4574:46*74:4774:48*74:49*74:51 St,S*74:51 LS,L74:54*74:55*74:7374:7474:7574:7674:8374:86 -C,-L74:86 C,L*74:9074:9274:9374:95A,B74:10074:10774:10974:11974:12574:126*74:128*74:131*74:132
74:133*74:136*74:13774:13874:13974:140*74:14774:145*74:14874:15074:15174:153*74:15474:15574:156*74:15774:158*74:159*74:16074:16174:16274:16374:16474:16574:16674:168*74:16974:17074:17374:17474:17574:180*74:184*74:185*74:190
74:19174:19274:19374:19474:237*74:238*74:23974:24074:24174:242*74:24374:24474:24574:247* 74:248* 74:249* 74:250* 74:25174:25374:25774:258* 74:25974:260* 74:26674:27374:28074:28374:290* 74:29374:29974:32374:347* 74:348* 74:352* 74:353*
74:36574:366* 74:36774:368* 74:37374:37474:37574:377* 74:386* 74:39074:39374:41274:425* 74:426* 74:445* 74:447* 74:465* 74:466* 74:467* 74:468* 74:518* 74:519* 74:520* 74:52174:522* 74:533* 74:534* 74:540* 74:54174:563* 74:564* 74:57374:57474:576* 74:580* 74:59074:591* 74:592
74:59574:596* 74:620* 74:621* 74:622* 74:623* 74:638* 74:639* 74:64074:641* 74:642* 74:643* 74:644* 74:64574:64674:647* 74:648* 74:649* 74:668* 74:669* 74:67074:68274:683* 74:68474:685* 74:68874:689* 74:69974:746* *74:747* *74:756* 74:757* 74:758 74:759* 74:760* 74:762* 74:763* 74:810*
74:811* 74:1000*74:1002*74:1003*74:1004*74:1008*74:1010*74:1020*74:1032*74:1034*74:1035*74:1036*74:1240*74:1244*74:1245*74:1640*74:1645*74:2240*74:2241*74:2244*74:2540*74:2541*74:7245*74:7266*74:7540*74:7541*Library: 40xxx400140024009*4010*4011401240134014* 4015 4016 4017
4019 4020 4021 4022* 4023 4024 4025 4027 4028 4029 4030 4040 4041* 4042 4043 4044* 4049* *4050* *4051 4052 4053 4056 4060 4066 4067 4068 -RCA*4068 RCA* 4069 4070 4071 4072 4073 4075 4076 4077 4078 -RCA*4078 RCA* 4081
4082* 4093 4094 4099* 40014*401024010340105401064016040161401624016340174401754019240193401944502 4508 4510 4511 4512 4514 4515*4516*4518 4520 4522 4526 4529 4539 4543*4555 4556*4584 4724
Index of IC test vectors in VECT.TVC
* Test vector for this IC not yet verified with a correctly operating IC.* * This IC has not been fully tested using the IC test vectors.: Any TTL family identifier, except if the type number has a suffix.-X Test vectors not valid for X family device of this IC (e.g. 74:86 -C means not
for 74C86).
X Test vectors apply only to X family device of this IC (e.g. 74:86 C means for74C86 only).
12345678
J8
1 2 3 4 5 6 7 8
RN6 7x10k
SW3
'DN2'
SW2
'DN'
SW1
'ESC'
SW5
'UP'
SW6
'UP2'
SW4
'ENT'
982020 - 13
D5
Led red 3mm
1
J7
Figure 3. The keyboard circuit.
6 - 1/98 Elektor Electronics EXTRA ————— MICROPROCESSOR DESIGN CONTEST
fairly large project which consists of
hardware, software and extensive doc-
umentation. Unfortunately, the overall
size of the project as submitted by the
author is such that it is not possible to
reproduce it in full in this supplement.
After all, we want to show you some of
the other prize-winning entries, too!
The IC tester project will be
described as a project for home con-
struction in a future issue of Elektor
Electronics, complete with a printed
circuit board, a
ready-programmed
EPROM and tested
project software on
disk.
Meanwhile, the
design (as we received
it) will be included on a
Contest Compilation
CD-ROM which we
hope to publish by the end of January
1998. (982020-1)
Development tools used
IC Tester firmware: Metalink 8051 Cross Assembler V1.2hSignetics HEX2BIN.EXE
PC programs: Borland Turbo C+ + V3.0Schematic layout1: Protel Advanced Schematic V3.5PCB layout2: Easytrax V2.06GAL assembler: c’t Galio
1 cosmetic changes by Elektor 2 layouts not reproduced in this article
The PIC micro controller range from
Microchip has become one of the
leading micro controllers used by engi-
neers and hobbyists to solve simple
and medium complexity embedded
problems. Personally I have used PICs
in pagers, Virtual Reality peripherals,
home security systems and even ham-
ster treadmill measurements.
One of the major advantages of PICs
is that they are relatively inexpensive.
The basic development tools are also
fairly cheap and this makes it easy for
the hobbyist (Elektor Electronics reader)
to develop software for it. The major
drawback is that PIC debugging tools
and In Circuit Emulators (ICE) are very
expensive. This creates the common
scenario that average Joe Hobbyist
has the development tools but also has
to burn and erase endless number of
times to get the solution ‘just right’. Most
of the time he tries to figure out ‘what
goes on’ inside the PIC since he cannot
afford or justify the cost of an ICE.
This project addresses the PIC
debugging issue by providing an
almost non-intrusive solution for PIC
telemetry (remote debugging). It allows
you to pause PIC execution, look at the
internal registers (files), edit them and
continue till the next ‘break point’, etc.
PIC on the Rocks is a system for PIC users that allows
them to do in-circuit debugging of PIC programs. It
uses a simple serial connection with a host PC run-
ning Windows 95 or NT. The PIC program the user
wants to check also needs to embed a small piece
of telemetry code. This code enables the PIC side of
the telemetry link. The project software includes
source code for both the PIC and the host PC. It also
comprises a manual in Word format and some
examples.
By Ben de Waal (USA)
P I C o n t h e Ro c k s
Figure 1. The opamp solution. Note: depending on the serial cable, you may have to
swap pins 2 and 3 as well as pins 4 & 6. DSR should be an output.
FIR
ST
NA
TIO
NA
L P
RIZ
E U
K19
97
In
tern
ati
on
al
Mic
rop
roc
es
so
r C
om
pe
titi
on
so
ftware·a
vailab
le·on·cd
-romµP-µChard &software'97-'98
Elektor Electronics 3/98
In the January 1998 issue we promiseda full-blown and tested version of theIC Tester, complete with PCB layoutsand a ready-programmed GAL andEPROM. Many of you will haveeagerly looked forward to the presentarticle, which, we hope, lives up toexpectation.
The IC tester is a fairly complexproject, and an interesting combina-tion of mixed-mode (analogue/digital)electronics on the one hand, and soft-ware (microprocessor as well as PC-hosted), on the other. The IC tester iscapable of working in stand-alonemode, i.e., any connection to a PC isentirely optional. The standard versionof the tester is capable of testing all ICslisted in Table 1. A number of softwareutilities are available which allowadvanced users to add ICs to thelibrary as listed in Table 1, and thissubject will be covered in detail inpart 2 of this article. We do, however,reckon that the ‘default’ library will besufficient in the majority of cases —extending it with ‘new’ devices is spe-cialist work!
This tester is a great tool for anyonewho’s ever had to do go/non-go testingon a vast amount of integrated circuitsfrom the ‘74’ TTL and ‘4000’ CMOSseries. These ICs are still extensivelyused by hobbyists because (1) they canoften be salvaged from surplus equip-ment or bought ‘ten a penny’ or at leastat knock-down prices, and (2) theirdatasheets are widely available, so youknow how to use them in a design ofyour own. As a matter of course, thetester is also perfectly suitable for usein an electronics repair shop, where itwill be necessary from time to time tocheck suspect devices. Lastly, the ICtester may also be used to identifyunknown ICs, i.e., those with obscureprint or a label someone painstakinglyground off…
H O W I T W O R K S
The circuit diagram of the IC tester isshown in Figure 1. It may be dividedinto a digital control (microcontroller)section, a precision power supply, anRS232 interface, a zero-insertion-force(ZIF) socket (which receives the deviceunder test, DUT), a keyboard section,an LCD and a power supply.
This article describes a stand-alone IC tester forlogic ICs (with up to 24 pins) from the well-known74xx (TTL) and 40xx (CMOS) series. The elemen-tary building blocks that make up the design are
an 80C535 microcontroller, a large EPROM, anLCD display, a small keyboard and an RS232
interface. In this first instalment, our main subjectswill be hardware-related.
50
Design by L. Lamesch
IC tester
This design was awarded the International First prize in the Elektor Electronics
1997 Design Competition. A condensed description of the project appeared in
the January 1998 Supplement on prize-winning contest entries.
Part 1: circuit descriptionand construction
Around the DUTLet’s start with a look at the electron-ics around the ZIF socket, positionIC12. All input pins of the DUTinserted in the zero-insertion forcesocket may be pulled to the logic high(H) or logic low (L) level using currentlimiting resistors and appropriate con-trol levels at the outputs of twoZ80PIO I/O blocks, IC2 and IC4. Theoutput states of the DUT may be inter-rogated via the same PIOs for subse-quent evaluation by the CPU (IC3).The power supply pins of DUTs with14, 16, 18, 20, 22 and 24 pins may beconnected to ground or a current-lim-ited supply voltage via BC639/BC640switching transistors. These are con-trolled by outputs on counter cascadeIC1-IC9. While the PIOs enable theexact logic states of the DUT outputsto be checked (i.e., 0 or 1), ports P1, P4and P5 of the 80C535 are used todetect which DUT pins represent ahigh impedance (high-Z).
DUT power supplyThe voltage source used to power theDUT is built around quad opamp IC6.It supplies an accurately regulatedvoltage of 5.2 V, and its output currentis limited to about 0.2 A. The outputcurrent is converted into a propor-tional voltage for measurement by the
80C535 CPU via its AN0 (analogue)input. The current-sense resistors areR94 and R95. The output voltage is5.2 V rather than 5.0 V (the typical sup-ply voltage of all TTL ICs) in order tocompensate the collector-emitter dropof the BC640 transistors when they areswitched on.Logic circuitry and firmware EPROMThe control program of the IC testerand the test vectors for the ICs thatmay be tested are contained in a sin-gle 27C512 EPROM, which may beobtained ready-programmed from thePublishers under order code 986507-1.Larger (32-pin) EPROMs like the27C020 or 27C021 may also be used inthis design. For the 27C021 EPROM,jumper JP1 has to be set to the A17position. More about this in nextmonth’s concluding instalment. Theselection between the 64-kByte banksin the EPROM is accomplished by out-puts B6 and B7 of IC2. These lines areapplied to GAL IC5, which containslogic to control the A16 and A17address lines of EPROM IC7. Basically,when a 28-pin EPROM is used, JP1 isset to the bevelled edge position (‘A’).When a 32-pin EPROM is used, theA17 signal is required, so JP1 is set tothe other position.
The 80C535 CPU runs at a clockspeed of 12 MHz. The CPU does notcontain firmware code, and fetches all
of its instructions and data from thesystem EPROM. None the less, itdirectly controls the LC display and akeyboard with 6 keys. The GAL, IC5,looks after the address decoding, andalso generates the PHI signal for theZ80PIOs, as well as other essential con-trol signals in the circuit. The GAL, likethe EPROM, is supplied ready-pro-grammed by the Publishers, the ordercode is 986506-1.
The reason for using the Z80PIO tocontrol and monitor the DUT inputsand outputs is that this chip is the onlywidely available 16-bit parallel port ICof which all port line directions areindividually controllable, while theoutput drivers for all port lines consistof push-pull circuits.
User I/OThe system interacts with the user viaa small keyboard (circuit diagram inFigure 2), an LED, D6, and an LCD(liquid crystal display). The LCD is ageneral-purpose type with 2↔16 char-acters, optionally with back-lighting.Its contrast is adjustable with presetP1. The LED lights to inform the userthat the DUT is being powered andshould not be removed from the ZIFsocket.
An RS232 serial interface, tradition-ally designed around the MAX232,enables the IC tester to (optionally)
51Elektor Electronics 3/98
Visit our Web site at http://ourworld.compuserve.com/homepages/elektor_uk
Library: 74xxx
74:00
74:01*
74:02
74:03
74:04
74:05
74:06
Parent: 74:05
74:07
74:08
74:09
74:10
74:11
74:12*
74:13
74:14
74:15*
74:16
74:17
74:18*
74:19*
74:20
74:21
74:22*
74:24*
74:25
74:26
74:27
74:28*
74:30
74:31*
74:32
74:33
74:34*
74:35*
74:37
74:38
74:39*
74:40
74:42
74:45
74:46*
74:47
74:48*
74:49*
74:51 St,S*
74:51 LS,L
74:54*
74:55*
74:73
74:74
74:75
74:76
74:83
74:86 -C,-L
74:86 C,L*
74:90
74:92
74:93
74:95A,B
74:100
74:107
74:109
74:119
74:125
74:126*
74:128*
74:131*
74:132
74:133*
74:136*
74:137
74:138
74:139
74:140*
74:147
74:145*
74:148
74:150
74:151
74:153*
74:154
74:155
74:156*
74:157
74:158*
74:159*
74:160
74:161
74:162
74:163
74:164
74:165
74:166
74:168*
74:169
74:170
74:173
74:174
74:175
74:180*
74:184*
74:185*
74:190
74:191
74:192
74:193
74:194
74:237*
74:238*
74:239
74:240
74:241
74:242*
74:243
74:244
74:245
74:247*
74:248*
74:249*
74:250*
74:251
74:253
74:257
74:258*
74:259
74:260*
74:266
74:273
74:280
74:283
74:290*
74:293
74:299
74:323
74:347*
74:348*
74:352*
74:353*
74:365
74:366*
74:367
74:368*
74:373
74:374
74:375
74:377*
74:386*
74:390
74:393
74:412
74:425*
74:426*
74:445*
74:447*
74:465*
74:466*
74:467*
74:468*
74:518*
74:519*
74:520*
74:521
74:522*
74:533*
74:534*
74:540*
74:541
74:563*
74:564*
74:573
74:574
74:576*
74:580*
74:590
74:591*
74:592
74:595
74:596*
74:620*
74:621*
74:622*
74:623*
74:638*
74:639*
74:640
74:641*
74:642*
74:643*
74:644*
74:645
74:646
74:647*
74:648*
74:649*
74:668*
74:669*
74:670
74:682
74:683*
74:684
74:685*
74:688
74:689*
74:699
74:746**
74:747**
74:756*
74:757*
74:758
74:759*
74:760*
74:762*
74:763*
74:810*
74:811*
74:1000*
74:1002*
74:1003*
74:1004*
74:1008*
74:1010*
74:1020*
74:1032*
74:1034*
74:1035*
74:1036*
74:1240*
74:1244*
74:1245*
74:1640*
74:1645*
74:2240*
74:2241*
74:2244*
74:2540*
74:2541*
74:7245*
74:7266*
74:7540*
74:7541*
Library: 40xxx
4001
4002
4009*
4010*
4011
4012
4013
4014*
4015
4016
4017
4019
4020
4021
4022*
4023
4024
4025
4027
4028
4029
4030
4040
4041*
4042
4043
4044*
4049**
4050**
4051
4052
4053
4056
4060
4066
4067
4068 -RCA*
4068 RCA*
4069
4070
4071
4072
4073
4075
4076
4077
4078 -RCA*
4078 RCA*
4081
4082*
4093
4094
4099*
40014*
40102
40103
40105
40106
40160
40161
40162
40163
40174
40175
40192
40193
40194
4502
4508
4510
4511
4512
4514
4515*
4516*
4518
4520
4522
4526
4529
4539
4543*
4555
4556*
4584
4724
Table 1. Index of ICs that may be tested (default EPROM contents)
* Test vector for this IC not yet verified with a correctly operating IC.
** This IC has not been fully tested using the IC test vectors.
: Any TTL family identifier, except if the type number has a suffix.
-X Test vectors not valid for X family device of this IC (e.g. 74:86 -C means not for 74C86).
X Test vectors apply only to X family device of this IC (e.g. 74:86 C means for 74C86 only).
communicate with a PC running spe-cially written programs. Details onthese programs will be given in nextmonth’s final instalment. Briefly, thePC may be used to write your own IC
test vectors and debug them withoutremoving the system EPROM. Thelink between the 9-way sub-D socketand the MAX232 on the board isaccomplished via pinheader K1 as
52 Elektor Electronics 3/98
74HC573
ZIF 24
8x 4k7
8x 4k7
4x 4k7
4x 4k7
12MHz
IC12
R100
R101
100n
100n
390Ω
180Ω
180Ω
180Ω
180Ω
180Ω
180Ω
180Ω
180Ω
180Ω
180Ω
180Ω
180Ω
180Ω
180Ω
180Ω
180Ω
180Ω
180Ω
180Ω
180Ω
180Ω
180Ω
180Ω
180Ω
R82
R81
10k
10k
10k
10k
10k
10k
10k
10k
R1010k
R1110k
R1210k
10k
R2410k
R2310k
R2210k
R2110k
R1910k
R1810k
R1710k
R2010k
R1610k
R1510k
R1410k
R1310k
Z10
Z11
Z12
Z13
Z14
Z15
Z16
Z17
Z18
Z19
Z20
Z21
Z23
Z24
Z10
Z11
Z12 Z13
Z14
Z15
Z16
Z17
Z18
Z19
Z20
Z21
Z23
Z24
A10
A11
A12
A13
A14
A15
A10
A11
A12
A13
A14
A15
A16
C1
27p
C12
27p
IC8
R80
R39
R38
R37
R40
R36
R35
R34
R33
R31
R30
R29
R32
R28
R27
R26
R25
R47
R46
R45
R48
R44
R43
R42
R41
Z10
Z11
Z12
Z13
Z14
Z15
Z16
Z17
Z18
Z19
Z20
Z21
Z24
Z23
Z24
10
11
12 13
14
15
16
17
18
19
20
21
22
23
24
R2
R3
R4
R1
R5
R6
R7
R8
R9
D0
D1
D2
D3
D4
D5
D6
D7
D0
D1
D2
D3
D4
D5
D6
D7
Z1
Z2
Z3
Z4
Z5
Z6
Z7
Z8
Z9
Z1
Z2
Z3
Z4
Z5
Z6
Z7
Z8
Z9
A8
A9
A0
A1
A2
A3
A4
A5
A6
A7
A0
A1
A2
A3
A4
A5
A6
A7
A8
A9
D0
D1
D2
D3
D4
D5
D6
D7
K4
C5
X1
C9
12
13
14
15
16
17
18
19
EN
11C1
1D
D0
D1
D2
D3
D4
D5
D6
D7
D0
D1
D2
D3
D4
D5
D6
D7Z1
Z2
Z3
Z4
Z5
Z6
Z7
Z8
Z9
1
2
3
4
5
6
7
8
9
1
2 3 4 5 6 7 8 9
1
2 3 4 5 6 7 8 9
1
2 3 4 5
1
2 3 4 5
2
3
4
7
8
9
5
6
1
OE/VPP
27C021
EPROM
IC7
A10
A11
A12
A13
A14
A15
A16
A17
12A0
16
24
22
CS
32
13D0
11A1
10A2
A3
A4
A5
A6
A727
A826
A923
25
28
29
30
31
14D1
15D2
17D3
18D4
19D5
20D6
21D7
9
8
7
6
5
4
3
2
MAX232
R1OUT
R2OUT
T1OUT
T2OUT
IC10
T1IN
T2IN
R1IN
R2IN
100n
C17
C18
C1–
C1+
C2+
C2–
C16
C21
C22
10µ16V 11
12
10
13
14
15
16V+
V-
10µ / 16V
K17
89
3
1
4
5
2
6
PIO0
RD
IORQ
SOE
PHI
A11
A14
PIO1
RD
IORQ
SOE
A11
A14
PHI
100n
C8
Z80-PIO
IC4
ARDY
ASTB
IORQ
BSTB
BRDY
PA0
PA1
PA2
PA3
PA4
PA5
PA6
PA7
INT
IEI
IEO
C/D
B/A
CLK
PB7
PB6
PB2
PB3
PB4
PB5
PB0
PB1
19
20
40
39
38
23
24
22
35
36
37
25
11
26
15
14
13
12
10
18
16
33
34
21
17
D0
D1
D2
D3
D4
D5
D6
D7
CE
RD
M1
29
30
31
32
27
28
1
3
2
4
5
6
9
8
7
B6
B7
V9
V10
V12
G24
RD
WR
SSTR
SCLK
SD
R79
10
k
T2
BC547
SOE
R97
2k2
74HC4094
IC9
SRG8
EN3
C1/
15
11
12
13
14
C2
1D 2D
10
3
2
1
7
6
5
43
9
74HC4094
IC1
SRG8
EN3
C1/
15
11
12
13
14
C2
1D 2D
10
3
2
1
7
6
5
43
9
V17
V19
V21
V20
V16
V22
V24
G22
G21
G20
G7
G10
G17
G12
G15
SSTR
SOE
SCLK
SD
SOE
SCLK
T1
BC547
T3
BD139R98
47k
R92
10
k
R90
10
k
R89
39
k
R88
1M
1%
JP1
A17
IC5
16V8GAL
19
20
10
I0
I1
I2
I3
I4
I5
I6
I7
I8
F7
11I9
12F0
13F1
14F2
15F3
16F4
17F5
18F6
1
2
3
6
7
8
4
5
9
EPROE
100n
C13
A13
A15
A16
A17
XTAL
SD
WR
PSEN
RD
B7
B6
PIO1
PHI
EPROE
IORQ
PIO0
LCDE
K3
R83
1k
R84
6k8
R93
1k
R95
1 Ω1%
R94
1 Ω1%
R86
100k1%
R85
1M
1%
R99
27Ω
6
5
7IC6b
9
10
8IC6c
2
3
1IC6a
13
12
14IC6d
D1
1N4148
D3
1N4148
C19
1n
C3
1n
R87
100k1%
1k
P2
R91
100k
C14
10µ 25V
C4
100n
P1.0 INT3 CCO
P1.1 INT4 CC1
P1.2 INT5 CC2
P1.3 INT6 CC3
P1.6 CLKOUT
P1.4 INT2
P1.5 T2EX
P3.2 INT0
P3.3 INT1
P3.1 TxD
P3.0 RxD
P1.7 T2
P3.4 T0
P3.5 T1
P3.6 WR
P3.7 RD
80C535
RESETVAGND
VAREF
IC3P4.0
P4.1
P4.2
P4.3
P4.4
P4.5
P4.6
P4.7
P5.0
P5.1
P5.2
P5.3
P5.4
P5.5
P5.6
P5.7
P0.0
P0.1
P0.2
P0.3
P0.4
P0.5
P0.6
P0.7
P2.0
P2.1
P2.2
P2.3
P2.4
P2.5
P2.6
P2.7
PSEN
VSS
VCC VCC
AN0
AN1
AN2
AN3
AN4
AN5
AN6
AN7
ALE
38 40
X1
39
X2
37 68
20
19
18
17
16
15
14
13
67
66
65
64
63
62
61
60
36
35
34
33
32
31
30
29
52
53
54
55
56
57
58
59
41
42
43
44
45
46
47
48
22
21
23
24
25
26
27
28
50
PE
49
10
51
EA
12
11
1
2
3
5
6
7
8
9
4
PSEN
C15
4µ7 16V
R96
10
k
10K
P1
A14
A15
LCDE
D0
D1
D2
D3
D4
D5
D6
D7
Z22
Z22
XTA
L
IN U+U
K2
D4
1N4001
D5
1N4001
D21N4001
7805
IC11
C10
470µ35V
IC8
20
10
IC1
16
8
IC9
16
8
C20
100n
C11
100n
C6
100n
IC6
4
11
C23
100n
INUIC6 = LM324
5V 5V
5V
5V
5V 5V
5V
5V
5V5V
5V
5V5V
5V 5V
5V
A
Z80-PIO
IC2
ARDY
ASTB
IORQ
BSTB
BRDY
PA0
PA1
PA2
PA3
PA4
PA5
PA6
PA7
INT
IEI
IEO
C/D
B/A
CLK
PB7
PB6
PB2
PB3
PB4
PB5
PB0
PB1
19
20
40
39
38
23
24
22
35
36
37
25
11
26
15
14
13
12
10
18
16
33
34
21
17
D0
D1
D2
D3
D4
D5
D6
D7
CE
RD
M1
29
30
31
32
27
28
1
3
2
4
5
6
9
8
7
5V
RS
232
LED
LCDE
10µ16V
10µ / 16V
INU
U–
U–
SSTR
C2
10µ16V
1%
9 ... 15V100n
C7
5V
* *
*
* R25 ... R48 = SMD
27C512/
Figure 1. Circuit diagram of the ICtester, an interesting mixed-modedesign based in the powerful 80C535microcontroller from Siemens.
1
illustrated in Figure 2. Note that noactive handshaking is used; the ICtester only uses RxD (received data),GND (ground) and TxD (transmitteddata).
Power supplyThe on-board 5-volt power supply forthe IC tester is based on a single 78053-pin voltage regulator (IC11). A smallnegative voltage is created mainly forolder LCDs by a stealer diode (D5)between the negative line of theunregulated input voltage and the cir-cuit ground. This negative voltage pro-vides a proper range for the LCD con-trast setting, P1.
The circuit may be powered by aninexpensive mains adaptor with anoutput voltage between 9 VDC and15 VDC. Battery powering is also pos-sible. The unregulated voltage is alsoapplied to the DUT supply discussedabove. The current consumption of thecircuit will be of the order of 150 mA.
C O N S T R U C T I O N
As you can see from the photographson this article and the artwork in Fig-ure 3, the printed circuit boarddesigned for the IC tester is denselypopulated. The board being double-sided and through-plated, productionwith hobbyists tools will be almostimpossible, hence our recommenda-tion to buy it ready-made through ourReaders Services or one of the kit sup-pliers advertising in this magazine.Remember, successful constructionalmost entirely depends on accuracyand soldering skills.
Start by separating the keyboardfrom the main board. Put the key-board section aside for later.
Populating the main board maytake quite some time as there are rela-tively many components to sort andsolder in place.Resistors, diodes, capacitors, crystalStart by fitting the SMD (surface-mount device) resistors, R25-R48.This should be done with a low-power (8-watt) soldering iron andlots of care and precision. Use anohm-meter to check your work oneach and every SMD resistor. Allother resistors are mounted uprightto save space on the board. Makesure you know the value of each andevery resistor and capacitor beforemounting it. If necessary, use yourDMM and the component overlayprinted on the board (and shown inFigure 3) to be absolutely sure. Also,the SIL resistor arrays on the boardmust be fitted the right way around,so make sure you know where the‘common’ terminal goes. Likewise,observe the orientation of the elec-trolytic capacitors and diodes. Capac-itors C1 (100 nF miniature ceramic)and C2 (10µF, 16V, also miniature) aremounted at the solder side of theboard. The two presets are fitted andset to mid-travel.SemiconductorsFitting the transistors and the voltageregulator should not present problems,
although you have to be careful not tomix up the BC639s and the BC640s. AllICs are mounted in sockets. With thepossibility of future extensions inmind, it is recommended to fit a 32-pinIC socket in position IC7. However, as32-pin wide-DIL are few and farbetween, you may have to make oneyourself by truncating a 40-pin socket.If you use the ready-programmed (28-pin) 27C512 EPROM supplied throughthe Readers Services, its pin 14 shouldgo in socket pin 16. In other words, theEPROM is then inserted with its cor-ner pins 14/15 close to the edge of theboard.
The CPU socket has a bevellededge which is also indicated on theoverlay to assist in positioning.
The socket in position IC12 is notintended for an integrated circuit andit is fitted at the solder side of theboard. You can (carefully) solder thesocket pins at the component side ofthe board.
Do not insert the ICs in their sock-ets yet.
Connectors and ZIF socketSimple 3-way pinheaders are used inpositions K1 and JP1. The formerreceives a mating socket, the second, ajumper. There are two longer pin-headers, K4 and K3. The latter is
53Elektor Electronics 3/98
Visit our Web site at http://ourworld.compuserve.com/homepages/elektor_uk
T4
R61
10
k
R75
10
k
R54
1k
R71
1k
T14
V24
Z24
T5
R56
10
k
R49
1k
R70
1k
T15
8x 10k1
9 8 7 6 5 4 3 2
R103
T6
R58
10
k
R51
1k
R69
1k
T16
U+
U+
U+
T7
R57
10
k
R50
1k
R68
1k
T17
U+
T8
R59
10
k
R52
1k
U+
T9
R60
10
k
R53
1k
R66
1k
T19
U+
T10
R62
10
k
R55
1k
U+ R63
1k
T21
T13
R76
10
k
R72
1k
R64
1k
T22
U+
T12
R77
10
k
R73
1k
R65
1k
T20
U+
T11
R78
10
k
R74
1k
T18
U+ R67
1k
G24
V22
Z22
G22
V21
Z21
G21
V20
G20
Z20
V19
Z19
V17
Z17
G17
V16
Z16
Z15
G15
V12
Z12
G12
V10
Z10
G10
V9
Z9
Z7
G7
980029 - 11
T4 ... T13 = BC640T14 ... T22 = BC639
S1
ENT
S2
UP2
S3
UP
S4
ESC
S5
DWN
S6
DWN2
K5
8x 10k1
2 3 4 5 6 7 8 9
R102
5V'
5V'
D6
LED
1
2
3
4
5
6
7
8
9
K1'
DB9
980029 - 12
DCD
DSR
RXDRTS
TXD
CTS
DTR
GND
2Figure 2. RS232 con-nection diagram andcircuit diagram of thekeyboard.
54 Elektor Electronics 3/98
980029-1
C1
C2
C3
C4
C5
C6
C7
C8
C9
C10
C11
C12
C13
C14C15
C16
C17C18
C19
C20
C21
C22
C23 D1
D2
D3
D4
D5
H1 H2
H3H4
IC1
IC2
IC3
IC4
IC5
IC6
IC7
IC8
IC9
IC10
IC1
1
JP1
K1
K2
K3
K4
P1
P2
R1R2R3R4R5R6R7R8
R9R10R11R12
R13
R24
R25
R26
R27
R28
R29
R30
R31
R32
R33
R34
R35
R36
R37
R38
R39
R40
R41
R42
R43
R44R45
R46
R47
R48
R49R50R51R52R53
R54
R55
R56
R57R58R59R60
R61
R62
R63
R64
R65
R70
R71
R72
R73
R74
R75
R76R77R78
R79
R80
R81
R82
R83
R84
R85
R90
R91
R92R93
R94
R95
R96
R97
R98
R99
R10
0
R10
1
R103
T1
T2
T3
T4
T5
T6
T7
T8
T9
T10
T11
T12
T13
T14
T15
T16
T17
T18
T19
T20
T21
T22
X1
A
0+
LED
- - - -
--
--
--
--
--
--
- - - - --
980029-1
IC1
2
980029-1
COMPONENTS LIST
Resistors:R1-R24,R56-R62,R75-
R79,R90,R92,R96 = 10kΩR25-R48 = 180Ω SMDR49-R55,R63-R74,R83 = 1kΩR80 = 390ΩR81,R82 = SIL resistor array 4 x
4kΩ7R84 = 6kΩ8R85,R88 = 1MΩ 1%R86,R87 = 100kΩ 1%R89 = 39kΩR91 = 100kΩ
R93 = 1kΩ 1%R94,R95 = 1Ω 1%R97 = 2kΩ2R98 = 47kΩR99 = 27ΩR100,R101 = SIL resistor array 8 x
4kΩ7R102 = SIL resistor array 8 x 10kΩR103 = SIL resistor array 8 x 10kΩP1 = 10kΩ presetP2 = 1kΩ preset
Capacitors:C1,C4-C8,C11,C13,C20,C22,C23 =
100nF
C2,C16,C17,C18,C21 = 10µF 16Vradial
C3,C19 = 1nFC9,C12 = 27pFC10 = 470µF 35V radialC14 = 10µF 25V radialC15 = 4µF7 16V radial
Semiconductors:D1,D3 = 1N4148D2,D4,D5 = 1N4001D6 = LEDT1,T2 = BC547T3 = BD139T4-T13 = BC640
Visit our Web site at http://ourworld.compuserve.com/homepages/elektor_uk
mounted at the solder side of theboard (and soldered at the componentside). Its long pins receive a matingsocket whose pins are soldered to the14 copper spots on the LCD module.Doing so allows the LCD to be given aslant angle for optimum viewing.
Insert a second 24-pin socket intothe one you soldered at the solder sidein position IC12, and then insert theZIF socket to make a nice stack.
K2 is a two-way PCB mount termi-nal block which receives the mainsadaptor output voltage.
55Elektor Electronics 3/98
980029-1
98
00
29
-1
980029-1
D6
H1 H2
H3H4
K5
R10
2
S1
S2
S3
S4
S5
S6
ESC
DWN
UP
ENT
DWN2
UP2
98
00
29
-1
LED
Figure 3. Copper track layouts and componentoverlays (actual size) of the double-sided,through-plated printed circuit board.
T14-T22 = BC639IC1,IC9 = 74HC4094IC2,IC4 = Z80PIOIC3 = SAB80C535-NIC5 = GAL 16V8 (order code
986506-1)IC6 = LM324IC7 = EPROM 27C512 (order code
986507-1) (but use 32-pin socket!)IC8 = 74HC573IC10 = MAX232IC11 = 7805IC12 = 24-pin ZIF-socket (wide slots;
Aries, Farnell)
Miscellaneous:X1 = 12MHz quartz crystalK1 = 3-pin SIL headerK2 = 2-way PCB terminal block
(pitch 5mm)K3 = 14-pin SIL headerK4,K5 = 8-pin SIL headerS1-S6 = Digitast push button (ITT
Schadow), 4 black caps, 1 white(Ent), 1 red (Esc)
JP1 = 3-pin SIL header + jumperLCD module, 2x16 characters9-way sub-D socket (female)
Items available from the Publishers:
PCB, disk, GAL and EPROM; set, order code 980029-C.
PCB only, order code 980029-1.
GAL 16V8 only, order code 986506-1.
EPROM 27C512 only, order code 986507-1.
Disk only, order code 986014-1.
KeyboardThis is a simpler and smaller boardwhich should not present any diffi-culty. Although a connector (K5) isindicated on the overlay, the 8-wayflatcable between the keyboard PCBand the main board may be soldereddirectly to the spots at the solder side.One separate wire is used to controlthe LED, D6. It goes to a solder pinmarked ‘LED’ on the main board.
That concludes the construction of thePCBs. Now’s a good time to reviewyour work so far. Any blatant errors?
T E S T I N G
With the ICs still waiting to be insertedin the respective sockets, connect-upthe input voltage and run a quickcheck on the presence of the 5-voltsupply voltage at the relevant pins ofall IC sockets. Switch off and insert theLM324 (IC6). Connect the DMM toground and the top wire of R61,switch on again and adjust P2 for areading of 5.2 V.
Switch off and carefully insert allICs. Note their orientations on theboard! Switch on again. The LCDshould read
IC Tester1:Test
Okay so far? Congratulations!
A D J U S T M E N T S
The DUT supply output voltage, U+,has to be set to 5.2 V ±0.05 V usingpreset P2. Next, P1 is adjusted for opti-mum contrast of the texts that appearon the LCD.
O P E R A T I O N
The tester is operated using six keyslabelled Ent (enter), Esc (escape), dn(scroll down), up, dn2 (fast scrolldown), and up2 (fast scroll up). The upand dn keys have an auto-repeat func-tion which causes the repeat rate to beautomatically increased as the key isheld depressed. LED D6 lights to indi-cate that the IC under test is beingpowered, and should not be removedfrom the ZIF socket. All ICs to betested should be aligned towardspins 12/13 of the ZIF socket. Their‘top’ notch is at the side of the ZIFsocket lever.
Pressing the Esc (escape) key takesyou to the main menu. There, the fol-lowing functions may be selected:1. Test IC: the user picks an IC from anIC library, and the DUT is checked forcorrect operation. The test may berepeated. If indicated by the test vec-tors, the current consumption of the ICunder test is measured and displayed.2. Identify: this allows you to identifythe type number of an unknown IC. Ifthe GND and Vcc pins are unknown,
only those test vectors are used thathave the GND and Vcc pins at thesame positions. The GND/Vcc pinentry is optional. Next, you can selectthe libraries that have to be scanned.3. Retest IC: once an IC has beentested or identified, it may be testedagain without having to pick it fromthe libraries.4. Trace: all test vectors and theresponse of the DUT to these vectorsappear in succession on the LC dis-play.5. Options: here, you can define globaloptions.6. Info: information on version andcopyright.7. Self Check: the IC tester hardwaremay be checked using this functionand a voltmeter.
8. Remote Mode: connect a PC to theRS232 interface and debug test vectorsusing the DOS program TVCHK.EXE.
The up/dn keys are used to scroll oneitem up or down. The up2/dn2 keysdo the same, but then five items at atime. The Ent key is used to confirm aselection. Esc, finally, jumps to themain menu.
N E X T M O N T H
Next month’s second and final instal-ment will discuss the structure of thevarious menus which appear on theLCD, as well as the ins and outs of testvector creation, downloading, debug-ging and EPROM programming.
(980029-1)
57Elektor Electronics 3/98
Visit our Web site at http://ourworld.compuserve.com/homepages/elektor_uk
4Figure 4. The LCD ismounted at a slantangle of about 15degrees at the solderside of the board.
5
Figure 5. General viewof the completed mainboard and keyboard.
Elektor Electronics 4/98
the functions of the (few) keys on thekeyboard. Fortunately, the use of thesekeys is consistent in most menus. Tohelp you stay oriented, the structureof each of the major sub-menusoffered by the tester is shown inFigures 1 through 8. Where a key hasa non-standard function, this is indi-cated separately.
Many of you will be perfectlyhappy to use the ‘1:Test’ menu most ofthe time, or the ‘3:Retest’ menu if youare looking at a pile of identical ICswhich should be subjected to ago/non-go test.
T E S T V E C T O R F I L E
From here on, we are addressing the
more advanced users among you whorequire a deeper knowledge of theway the instrument uses built-in soft-ware to test logic integrated circuits.For a good understanding of the hard-ware/software interaction, it is neces-sary to analyse the structure of the fileTest Vector File which is permanentlystored in the system EPROM, togetherwith the program executed by themicrocontroller.
A copy of the test vector file whichis compiled, converted to binary andthen stored in the ‘default’ systemEPROM (order code 986507-1) may befound on the project diskette, ordercode 986014-1, as well as on the ‘µP-µCHard & Software 97-98’ CD-ROM, order
Last month we gaveyou the low-down onthe hardware aspects
of this powerful andversatile IC tester. In
this second and con-cluding instalment,
we turn to program-ming matters.
To be able to apply the informationpresented in this instalment, you haveto have a working IC tester available,together with all the files found on thediskette with order number 986014-1 orCD-ROM 986001-1 (see further on).The tester is very likely to functionproperly if the message
IC Tester1:Test
appears on the LCD when you switchthe power on. However, this projectfeatures a number of clever hardwarechecking options. Although you maynot need to do any hardware checkingat all, the relevant routines are brieflymentioned further on. For now, it isassumed that the tester works properly.
M E N U S T R U C T U R E
As already mentioned in last month’sinstalment, you are looking at a testinstrument which offers three commu-nication channels with the real world:a keyboard, an LCD and a serial com-puter interface. Throughout the oper-ation of the IC tester, menus are used tointeract with you, the user. Selectingfrom the plethora of functions offeredby the instrument is basically very sim-ple and easy to learn once you know
46
Design by L. Lamesch
IC testerPart 2: menu structure
and test-vector building
IC Tester1:Test
Select Library74 xxx
Insert IC,Press Enter
Testing, don'tremove IC !
ICCL :ICCH :
x mAx mA
up/dnentesc
===
scroll up/downaccept next menureturn to main menu
up/dnentesc
Select IC:74 : 00
up/dnentesc
entesc
D6 lights
ent = repeat testesc
ent = repeat testesc
OKAY
Test okEnt: rep Esc: exit
any key
980029 - 2 - 11
Test failed:Ent: rep Esc: exit
not OKAY
Normal keyboard functions:
Figure 1. Structure ofMenu option 1: Test.
1
code 986001-1 (look in the subdirectory/INT/BIN). The file is called VECT.TVC, andcontains all information the systemneeds to check the massive amount ofICs listed in Table 1 in last month’sinstalment. For now, let’s load‘VECT.TVC’ into a word processor, andexamine the syntax used. What do allthese keywords mean?
;Comment delimiter. All characters fol-lowing the semicolon are treated ascomment, and ignored by the system.
LIBRARY lib_nameDefines the start of an IC library. Thisshould be the first keyword in the .TVC
file (except comment, of course). All IC
types which follow this keywordbelong to the library with the name‘lib_name’. The name of the librarymay consist of up to 15 characters.There is no limit to the number oflibraries in a .TVC file.
NAME ic_nameDefines the start of IC data, andlaunches the test vector set for the IC
with the name ‘ic_name’ (max. lengthis 15 characters). There is no limit tothe number of ICs in a library. The endof the test vector set is marked by thenext occurrence of ‘NAME’, ‘LIBRARY’, orthe end of the .TVC file.
CHILD parent_ic_nameIf an IC employs the same test vectorsas one already defined, it is sufficientto identify it as a ‘child’ of a ‘parent’.For example, the 74:132 has the samefunction and pinout as the 74:00,except that the gates are of the Schmitttrigger type (which is not recognisedby the tester). A 74:132 is defined asfollows:
NAME 74:132 ;define new IC
CHILD 74:00 ;declare as 74:00
offspring
A parent may have up to 100 children.
PINS pin_countUnless a certain IC is a ‘child’, its testvectors have to be defined. In thatcase, the first keyword to use is always‘PINS’ which defines the number ofpins on the IC.
PINORDER pin_orderLinks the individual IC pins to thecolumns that supply the test vectors.‘PINORDER’ may only follow ‘PINS’, andthe pins are identified using their pinnumbers. Individual pin numbersshould be separated by a space char-acter. All IC pins have to be identifiedin ‘pin_order’, including pins whichare not tested.
PINDEF pin_definition
This defines the function of each indi-vidual pin. The following functions areavailable:O outputI inputG ground pinV Vcc (+supply) pinThe individual pin functions may be
separated by spaces (not obligatory,though), and all pins must be includedin ‘pin_definition’. Pins which shouldnot be tested are defined as outputs(‘O’), and not tested in the ‘VECT’ line(‘X’). ‘PINDEF’ should precede the first‘VECT’. After a ‘VECT’ line, the pin func-tions may be redefined using ‘PINDEF’.
47Elektor Electronics 4/98
IC Tester2:Identify
Select Pincount:14
Select VCC Pin:Unknown
Select GND Pin:Unknown
Mark Libraries:Cancel
up/dnentesc
===
scroll up/downaccept next menureturn to main menu
up/dnentesc
up/dnentesc
up/dnentesc
Mark Libraries: 74 xxx
up/dnentesc
up/dn ent = return to main menuesc
ent = return to main menu
Library of IC found is shown
up/dnentesc
press dn to scrollto last but one entry
980029 - 2 - 12
Mark Libraries:Accept
Insert ICPress Enter
74 xxx74 : 00
IC found, Parent:74 : 00
No IC foundPress Enter
Normal keyboard functions:
press dn to scrollto last entry
no IC foundIC found
Child ICs:74 : 24
Library:74 xxx
Ent: ContinueEsc: Exit
has 'child' ICs
duringscan
up = show previous child IC (if available), else parent ICdn = show next child IC (if available), else library of IC foundent = continue scanningesc = return to main menu
dn = show child ICs (if available), else library of IC foundent = continue scanningesc = return to main menu
up = show previous child IC (if available), else parent ICdn = show ent/esc optionent = continue scanningesc = return to main menu
up = show library of IC foundent = continue scanningesc = return to main menu
2
Figure 2. Structure ofMenu option 2: Identify.
Visit our Web site at http://ourworld.compuserve.com/homepages/elektor_uk
VECT test_vectorA test vector may consist of the fol-lowing elements:1 output pin: check if pin is at 1;
input pin: apply 1 to pin.0 output pin: check if pin is at 0;
input pin: apply 0 to pin.
Z test if pin is at high impedance.X do not test this pin.
The individual elements may be sep-arated by spaces (not obligatory). If apin is defined as ‘GND’, it should havea 0 at the relevant position in the test
vector. Likewise, ‘VCC’ should bematched with a 1.
REPEAT count, ENDR
This keyword allows a loop to beimplemented, containing test vectors(VECT) and pin function definitions(PINDEF). The loop is repeated ‘count’
times. Each loop has to beterminated with an ‘ENDR’keyword. Nested loopsare not allowed.
PULL on_offThis keyword tells the IC tester hard-ware to connect the IC outputs to pull-down resistors during the test (on_off= 1) or not (on_off = 0). When on_offis at 0, the outputs are continuouslyloaded by a pull-up resistor, and test-ing for a high-Z state is not possible.
ICCL
When this instruction is encountered,the regulated power supply measuresthe IC supply current. After the test,the supply current is indicated as‘ICCL’. ‘ICCL’ may only be used once forany one IC.
ICCH
When this instruction is encountered,the regulated power supply measuresthe IC supply current. After the test,the supply current is indicated as‘ICCH’. ‘ICCH’ may only be used once forany one IC.
The following points should be notedwhen writing your own test vectorsfor ICs not included in the defaultlibrary.
All IC inputs have to be made logic 0and logic 1 at least once, in a mannerthat ensures that this change can bedetected on at least one IC output. All IC outputs have to go 0 and 1 atleast once during the test, and also ‘Z’(high-impedance or tri-state) when anoutput can assume this state. With ICs having a sequential internalcircuit, IC inputs driving the clockinput of a register flip-flop may notchange state in unison with inputs ofthese flip-flops, if this transition equalsthe active edge of the clock input. Forexample, the clock input of a 74:74may not change from 0 to 1 when thelevel at the data input changes at thesame time. This proviso also applies toclock and enable inputs of synchro-nous counters. If an enable input of a latching flip-
flop toggles, the level atthe data input of the flip-flop is not allowed to tog-gle at the same time. Thisapplies to rising as well as
falling pulse edges.
To close off this section, Figure 9 shows
48 Elektor Electronics 4/98
IC Tester3:Retest
74 xxx74 : 00
Insert IC,Press Enter
Testing, don'tremove IC !
up/dnentesc
===
scroll up/downaccept next menureturn to main menu
entesc
ent = repeat testesc
ent = repeat testesc
insert IC in socket
test OKAY
Test okEnt: rep Esc: exit
test not OKAY
Test failed!Ent: rep Esc: exit
any key
980029 - 2 - 13
Normal keyboard functions:
IC Tester4:Trace
Select Library74 xxx
Select IC:74 : 00
Insert IC:Press Enter
V1100110
0
0111110
0G
up/dnentesc
===
scroll up/downaccept next menureturn to main menu
up/dnentesc
up/dnentesc
entesc
ent = repeat testesc
ent, up/dn = next test vectorescdn = skip repeat loop (if used)
measure ICCH, ICCL,end of test
980029 - 2 - 14
Normal keyboard functions:
pin 1 = lower left-hand positionpin 14 = upper left-hand positionV = Vcc pinG = GND pin0 = IC input at 01 = IC input at 1Z = IC output at high-Z (3-state)0
0 = IC output at 0, should be 00
1 = IC output at 1, should be 00
Z = IC output at Z, should be 01
0 = IC output at 0, should be 11
1 = IC output at 1, should be 11
Z = IC output at Z, should be 1ERR = error in output state
Ent: RestartEsc: Exit
D6 lights
3
4
Figure 3. Structure ofMenu option 3: Retest IC.
Figure 4. Structure ofMenu option 4: Trace.
an example of a set of test vectors writ-ten for the type 4040 CMOS 12-stage rip-ple-carry binary counter. Although notall compiler keywords are used, theexample is still useful to unravel thestructure of the vectors in relation tothe internal operation of the IC. Apinout diagram is included for yourconvenience. Note how the ‘repeat’instruction is used to toggle the logiclevel at the clock pulse input (cp).Depending on the number of clockpulses applied in this way, a particularIC output (Qx) should go high. Thehardware monitors this output, and itslevel is compared with that stated bythe test vector. For example, a logic 1should occur on output Q8 of the 4040after 128 clock pulses. If this logic oneis not measured after the ‘endr’instruction, in other words, if theresponse of the IC under test does notmatch the test vector after ‘endr’, theIC is identified as faulty, and may bebinned! Comment is also used in thistest vector script: the fourth line con-tains the logic labels of the IC pins.Note that some manufacturers of the4040 start with output label Q1 ratherthan Q0 as indicated by the comment.This does not affect the operation ofthe IC, however.
More IC test vector scripts and inter-nal diagrams are given on this month’sDatasheets.
T E S T V E C T O R
C O M P I L I N G A N D
D E B U G G I N GThe purpose of analysing the mastertest-vector file as we just did is toenable you to write your own testscripts for ICs not included in thedefault library (see Table 1 in part 1).In principle, you only need a datasheetof the IC to reason how it should work.Eventually, you may want to add thenew test vectors to the ones alreadyavailable in ‘vect.tvc’, and burn the lotinto a new system EPROM. The pro-grams and general procedures to do sowill be described below. Rememberthat all of the information presentedbelow may be totally academic to youif you are satisfied with the collectionof ICs in the default library.
Do not launch the programsdirectly from the floppy disk. First runCHECK 1 from the DOS prompt asindicated on the floppy to make surethe data is intact and virus-free. Next,copy all files on the floppy to a suitablynamed subdirectory on the hard disk.
ICTVC.EXE
This is the Test Vector Compiler. Itsfunction is to turn a test vector sourcefile (like VECT.TVC) into a test vectorbinary file. Next, the latter file has tobe appended to the microcontrollerprogram, ICT.BIN, to create a largebinary file that can be burned into an
EPROM. File appending, by the way, isachieved with the aid of the DOS com-mand copy ict.bin+vect.out
/b eprom.bin.The compiler is invoked by typing
ICTVC [source file.TVC]
For example,
ICTVC VECT.TVC.
It generates the following files:
TVC.OUT: test vector file (binary);ERR.OUT: error report;LIST.OUT: list-file containing informa-tion on the source file, binary file, acopy of the source file with line num-
49Elektor Electronics 4/98
IC Tester5:Options
Mark Options: Disp ICC
Mark Options:Accept
up/dnentesc
===
scroll up/downaccept next menureturn to main menu
up/dnent = mark /unmarkesc
up/dnent = return to main menuesc = return to main menu
up/dnent esc
press dn tolast entry
980029 - 2 - 15
Mark Options:Cancel
Normal keyboard functions:
Options:Disp ICC: show ICCL or ICCH after IC testIdent: show all IC types during scanningRetain Selectn: selected ICs, libraries, pin count, Vcc/GND pin positions, are always retained.
press dn tolast but one entry
IC Tester7:Self Check
HW Check:1:GND switches
HW Check:2:VCC switches
HW Check:3:Set Pins
HW Check:4:Pull
HW Check:5:ICC
Test GND transistors
Test VCC transistors
Set/Clear DUT pins
connect pull up/downto DUT pins
Show I CC value
ent = start testescup/dnup2/dn2
980029 - 2 - 17
IC Tester6:Info
IC Tester 1.0 (C)L. Lamesch 1997
980029 - 2 - 16
any key main menu
5
6
7
Figure 5. Structure ofMenu option 5: Options.
Figure 6. Structure ofMenu option 6: Info.
Figure 7. Structure ofMenu option 7: SelfCheck.
Visit our Web site at http://ourworld.compuserve.com/homepages/elektor_uk
bers added as well as the bytes gener-ated from each line;TMP.OUT: temporary file used byICTVC.EXE.
Any errors occurring during the com-pilation process are recorded inERR.OUT only. They do not appear onthe PC screen.
TVCHK.EXE
This is a kind of shell program thatlaunches ICTVC.EXE, and enables testvector scripts to be debugged. For thisprogram to operate you have to con-nect the IC Tester to your PC via the 3-wire serial link. TVCHK should belaunched with an appended parame-ter which is either the COM port num-ber (1-4), or the COM port address (inhex) followed by the associated inter-rupt line (1-7). Example: TVCHK 2.Obviously, we are talking of the COM
port to which the IC Tester is con-nected! A screendump illustratingsome of the options offered by TVCHK
is shown in Figure 9.
EDT.BAT
This extremely small batch file is usedto launch the word processor you willbe using to load, modify and save testvector files. If you do not want toemploy EDIT.COM, change EDT.BAT asrequired to make it point to yourfavourite DOS text editor. Type thename of the file you want to processafter ‘EDT’. In case ‘VECT.TVC’ is toolarge for your wordprocessor, considercreating the part to be appended as aseparate file. Once the new test-vector
50 Elektor Electronics 4/98
IC Tester8:Remote Mode
Waiting for HostEsc: Cancel
* * Connected * *Esc: Exit
up/dnentesc
===
scroll up/downaccept next menureturn to main menu
esc
esc
sync detected onRS232 i / f ?
980029 - 2 - 18
Normal keyboard functions:
yes
no
Synchronized to host
1
2
3
4
5
6
7
8 9
10
11
12
13
14
15
16VDD
GND
Q11
CD4040
Q10
Q9
Q7
Q8
R
CLKQ1
Q2
Q3
Q6
Q4
Q11Q5
Q0
Q10
Q9
Q7
Q8
RESET
CLOCK
Q0
Q5
Q4
Q6
Q3
Q2
Q1
980029 - 2 - 19
name 4040
; 12-bit CMOS ripple carry counter
pins 16
pinorder 10 11 1 15 14 12 13 4 2 3 5 6 7 9 8 16
; /cp mr q11 q10 q9 q8 q7 q6 q5 q4 q3 q2 q1 q0 gnd vcc
pindef I I O O O O O O O O O O O O G V
vect 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1
vect 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
vect 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
vect 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1
vect 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1
vect 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1
vect 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1
vect 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1
vect 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1
vect 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1
repeat 4
vect 0 0 0 0 0 0 0 0 0 0 0 X X X 0 1
vect 1 0 0 0 0 0 0 0 0 0 0 X X X 0 1
endr
vect 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1
repeat 8
vect 0 0 0 0 0 0 0 0 0 0 X X X X 0 1
vect 1 0 0 0 0 0 0 0 0 0 X X X X 0 1
endr
vect 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1
repeat 16
vect 0 0 0 0 0 0 0 0 0 X X X X X 0 1
vect 1 0 0 0 0 0 0 0 0 X X X X X 0 1
endr
vect 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1
repeat 32
vect 0 0 0 0 0 0 0 0 X X X X X X 0 1
vect 1 0 0 0 0 0 0 0 X X X X X X 0 1
endr
vect 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1
repeat 64
vect 0 0 0 0 0 0 0 X X X X X X X 0 1
vect 1 0 0 0 0 0 0 X X X X X X X 0 1
endr
vect 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1
repeat 128
vect 0 0 0 0 0 0 X X X X X X X X 0 1
vect 1 0 0 0 0 0 X X X X X X X X 0 1
endr
vect 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1
repeat 256
vect 0 0 0 0 0 X X X X X X X X X 0 1
vect 1 0 0 0 0 X X X X X X X X X 0 1
endr
vect 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1
repeat 512
vect 0 0 0 0 X X X X X X X X X X 0 1
vect 1 0 0 0 X X X X X X X X X X 0 1
endr
vect 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1
repeat 1024
vect 0 0 0 X X X X X X X X X X X 0 1
vect 1 0 0 X X X X X X X X X X X 0 1
endr
vect 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1
vect 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1
vect 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
iccl ; measure IC current
icch ; measure IC current
9
8
Figure 9. Exampleillustrating the opera-tion of a test vectorscript. The diagramand the script are allyou need to put the4040 12-bit counterthrough its paces.
Figure 8. Structure ofMenu option 8:Remote mode.
scripts have beendebugged, they may beappended to VECT.TVC with-out using TVCHK. Next, theoption ‘Compile tv source’from TVCHK is used to com-pile the complete file for burning anEPROM.
A good start for practising is the file‘SMALL.TVC’. To get the feel, try replac-ing ‘VECT.TVC’ by ‘SMALL.TVC’ undermenu option 2 in TVCHK.
The main menu of TVCHK comprisesthe following options:
Test Vector Compiler1: Test vector source: VECT.TVC
Indicate name of test vector source file.2: Edit & Compile tv source file.3: Compile tv source file.4: View error report ERR.OUT.5: View list file LST.OUT.6: EPROM binary file: EPROM.BIN
Indicate the nameof the binary fileto be burned intothe EPROM.7: Generate EPROM
file.Remember, theoutput format isbinary!8: Write GAL sourcefile GAL.PLD.
Test VectorCheckingA: Lib name:74xxxIndicate name of
the library contain-ing the test-vectorset to betested/debugged.B: IC name: 74:00Indicate name oftest-vector set to be
tested/debugged.C: Test ICThis may take a while when many testvectors have to be applied (e.g., morethan 10 minutes when testing a scriptfor the 4020).D: Trace Test VectorsThis is the actual debugging tool. Foreach test vector, the expected logicstates and the ones actually measuredon the DUT are indicated. Errors arehighlighted in red. Pin 1 is alwaysindicated at the left-hand side, and thepin with the highest pin number, atthe right-hand side. REPEAT…ENDR
loops may be skipped by pressing the‘s’ key.Z: Exit
Quit the program.COM Port Addr: xxx Int: yTell the PC which COM port to use forcommunication with the IC Tester.
L A R G E R e p r o m S
Those of you who wish to add testvector scripts for ICs not supported bythe default system EPROM may soonfind that the size of the .BIN file gen-erated by TVCHK option ‘7’ exceeds thecapacity of a 512-kbit (64-kByte) EPROM
like the 27(C)512. That is not a prob-lem, however, because the IC testerhardware accommodates largerEPROMs like the 2-Mbit (256-kByte)27020 without problems. Because thesegiant EPROMs are divided into 64-kBytebanks, bank-switching then has to beimplemented by means of outputs B6and B7 of PIO device IC2. Address lineA17 is then also required, so you haveto set jumper JP1 to the ‘not-A’ positionwhen using a 27C020 EPROM.
C O N C L U S I O N
You have been reading an article dis-cussing a test instrument which, in itsstandard version, allows a vast num-ber of integrated logic circuits from the74 (TTL) and 4000 (CMOS) series to besubjected to some pretty thoroughtesting. If you are not satisfied with therange of ICs that can be tested, a num-ber of powerful software tools areavailable to ‘roll your own’, just usinga common-or-garden PC (runningplain old DOS) and, optionally, anEPROM programmer capable of han-dling EPROMs with a capacity of at least512 kbits. Happy testing!
(980029-2)
51Elektor Electronics 4/98
Figure 10. The TVCHCK
program offers a use-ful shell around theutilities for test vectortesting and compiling.
The 100% DIY approachAlthough the best guarantee to successful construction of this pro-ject is to order a ready-programmed GAL and EPROM from thePublishers, together with a PCB and a floppy disk (order as a set, ordercode 980029-C), there is are two alternative, cheaper, ways for themore audacious.The CD-ROM entitled ‘µP-µC Hard & Software 97-98’ (order code986001-1) contains THE WORKS, i.e., all files to program your ownGAL and EPROM for this project, in addition to the ‘master’ test vectorfile, the 535’s executable code, source code files in C and assem-bly language, and all software utilities mentioned in this instalment.So, if you are completely self-supporting, that is, have access to a PC,a GAL programmer and an EPROM programmer, we suggest buying justthe PCB and the CD-ROM. The relevant subdirectory on the CD-ROM is/INT. Remember, you can not run the test vector utilities from the CD-ROM since they need to create files!The second option for the more advanced among you is to buy onlythe PCB and the floppy disk. The floppy contains a sub-set of the fileson the CD-ROM: not included are the assembler files and the PCB art-work and circuit diagrams as originally supplied by the author. For the rest, everything is included to create and debugyour own test vector files, and prepare a binary file for burning into an EPROM, as described in this article. The .JED filefor programming your own GAL is also included.Whichever option you choose, remember that any hardware or software component needed to build (and understand)this project is available separately through our Readers Services.
Visit our Web site at http://ourworld.compuserve.com/homepages/elektor_uk
D A TA S H E E T 4 / 9 8
IC Tester
Elektor ElectronicsMarch & April 1998
AD557
Integrated circuitsSpecial Applications D A TA S H E E T 4 / 9 8
61E
lektor E
lectron
ics4/98
AD557
DACPORT, Low-Cost Complete µP-Compatible 8-
bit DAC
Manufacturer
Analog Devices, One Technology Way, P.O. Box
9106, Norwood, MA 02062-9106, USA. Tel. (617)
329-4700, fax (617) 326-8703.
Internet: www.analog.com.
Features
Complete 8-Bit DAC
Voltage Output: 0 V to 2.56 V
Internal Precision Band-Gap Reference
Single-Supply Operation: + 5 V (± 10%)
Full Microprocessor Interface
Fast: 1 µs Voltage Settling to ± 1⁄2 LSB
Low Power: 75 mW
No User Trims Required
Guaranteed Monotonic Over Temperature
All Errors Specified TMIN to TMAX
Small 16-Pin DIP or 20-Pin PLCC Package
Low Cost
General description
The AD557 DACPORT® is a complete voltage-out-
put 8-bit digital-to-analogue converter, including out-
put amplifier, full microprocessor interface and preci-
sion voltage reference on a single monolithic chip.
No external components or trims are required to
interface, with full accuracy, an 8-bit data bus to an
analogue system.
The low cost and versatility of the AD557 DACPORT
are the result of continued development in monolithic
bipolar technologies.
The complete microprocessor interface and control
logic is implemented with integrated injection logic
(I2L), an extremely dense and low-power logic struc-
ture that is process-compatible with linear bipolar
fabrication. The internal precision voltage reference
is the patented low-voltage band-gap circuit which
permits full-accuracy performance on a single + 5 V
power supply.
Thin-film silicon-chromium resistors provide the sta-
bility required for guaranteed monotonic operation
over the entire operating temperature range, while
laser-wafer trimming of these thin-film resistors per-
mits absolute calibration at the factory to within
± 2.5 LSB; thus, no user-trims for gain or offset are
required. A new circuit design provides voltage set-
tling to ± 1⁄2 LSB for a full-scale step in 800 ns.
The AD557 is available in two package configura-
tions. The AD557JN is packaged in a 16-pin plastic,
0.3” -wide DIP. For surface mount applications, the
AD557JP is packaged in a 20-pin JEDEC standard
PLCC. Both versions are specified over the operating
temperature range of 0ºC to + 70ºC.
Application Example
PC-aided BJT transistor tester revisited, Elektor Elec-
tronics April 1998.
IC Test Vectors (illustrated examples) Extract from: vect.tvc
Note: tabbed formatting and IC functional diagrams added for clarity’s sake, these are not available in file ‘vect.tvc’.
1 = logic high 0 = logic low G = ground V = positive supply voltage
I = input O = output nc = not connected XX = don’t care
* = vectors not yet verified with a correctly operating IC
iccl = measure supply current icch = measure supply current
name 4001
pins 14
pinorder 1 2 3 6 5 4 13 12 11 8 9 10 7 14
pindef I I O I I O I I O I I O G V
vect 0 0 1 1 1 0 1 1 0 1 1 0 0 1
vect 1 0 0 1 1 0 1 1 0 1 1 0 0 1
vect 0 1 0 1 1 0 1 1 0 1 1 0 0 1
vect 1 1 0 0 0 1 1 1 0 1 1 0 0 1
vect 1 1 0 0 1 0 1 1 0 1 1 0 0 1
vect 1 1 0 1 0 0 1 1 0 1 1 0 0 1
vect 1 1 0 1 1 0 0 0 1 1 1 0 0 1
vect 1 1 0 1 1 0 0 1 0 1 1 0 0 1
vect 1 1 0 1 1 0 1 0 0 1 1 0 0 1
vect 1 1 0 1 1 0 1 1 0 0 0 1 0 1
vect 1 1 0 1 1 0 1 1 0 0 1 0 0 1
vect 1 1 0 1 1 0 1 1 0 1 0 0 0 1
vect 1 1 0 1 1 0 1 1 0 1 1 0 0 1
iccl
vect 0 0 1 0 0 1 0 0 1 0 0 1 0 1
icch
name 4002
pins 14
pinorder 2 3 4 5 1 12 11 10 9 13 7 14 6 8
; 1a 1b 1c 1d 1y 2a 2b 2c 2d 2y gnd vcc nc nc
pindef I I I I O I I I I O G V O O
vect 1 0 0 0 0 0 0 0 0 1 0 1 X X
vect 0 1 0 0 0 0 0 0 0 1 0 1 X X
vect 0 0 1 0 0 0 0 0 0 1 0 1 X X
vect 0 0 0 1 0 0 0 0 0 1 0 1 X X
vect 0 0 0 0 1 1 0 0 0 0 0 1 X X
vect 0 0 0 0 1 0 1 0 0 0 0 1 X X
vect 0 0 0 0 1 0 0 1 0 0 0 1 X X
vect 0 0 0 0 1 0 0 0 1 0 0 1 X X
vect 0 0 0 1 0 0 0 0 1 0 0 1 X X
iccl
vect 0 0 0 0 1 0 0 0 0 1 0 1 X X
icch
functional block diagram
pin configuration (DIP)
4001
10
11
12
13
14
4A
4B
4Y
3Y
3A
3B
1A
1B
1Y
2Y
2A
2B
1
2
3
4
5
6
7 8
9
983004 - 13
4002
10
11
12
13
141Y
1A
1B
1C
1D
NC
2Y
1A
1B
1C
1D
NC
1
2
3
4
5
6
7 8
9
983004 - 14
IC Tester
Elektor ElectronicsMarch & April 1998
AD557
Integrated circuitsSpecial Applications D ATA S H E E T 4 / 9 8D ATA S H E E T 4 / 9 8
62E
lekt
or
Ele
ctro
nic
s4/
98
Electrical Specifications (@ TA = + 25ºC, VCC = + 5 V unless otherwise noted)
Model Min Typ Max Units
RESOLUTION 8 Bits
RELATIVE ACCURACY1 0 to + 70ºC ± 1/2 1 LSB
OUTPUT Ranges
Current Source
Sink+ 5
0 to + 2.56
Internal Passive
Pull-Down to Ground2
V
mA
OUTPUT SETTLING TIME3 0.8 1.5 µs
FULL-SCALE ACCURACY4 @ + 25ºC
TMIN to TMAX
± 1.5
± 2.5
± 2.5
± 4.0
LSB
LSB
ZERO ERROR @ + 25ºC
TMIN to TMAX
± 1
± 3
LSB
LSB
MONOTONICITY5 TMIN to TMAX Guaranteed
DIGITAL INPUTS TMIN to TMAX
Input Current
Data Inputs, Voltage Bit On— Logic “1”
Bit On— Logic “0”
Control Inputs, Voltage On— Logic “1”
On— Logic “0”
Input Capacitance
2.0
0
2.0
0
4
± 100
0.8
0.8
µA
V
V
V
V
pF
TIMING tW Strobe Pulse Width
TMIN to TMAX
tDH Data Hold Time
TMIN to TMAX
tDS Data Setup Time
TMIN to TMAX
225
300
10
10
225
300
ns
POWER SUPPLY Operating Voltage Range (VCC)
2.56 Volt Range
Current (ICC)
Rejection Ratio
+ 4.5
15+ 5.5
250.03
V
mA%%
POWER DISSIPATION, VCC = 5 V 75 125 mW
OPERATING TEMPERATURE RANGE 0 + 70 ºC1 Relative Accuracy is defined as the deviation of the code transition points from the ideal transfer point on a straight line from the zero
the the full scale of the device.2 Passive pull-down resistance is 2 kΩ.3 Settling time is specified for a positive-going full-scale step to ± 1⁄2 LSB. Negative-going steps to zero are slower, but can be improved
with an external pull-down.4 The full-scale output voltage is 2.55 V and is guaranteed with a + 5 V supply.5 A monotonic converter has a maximum differential linearity error of ± 1 LSB.
Specifications subject to change without notice.
name 4009*
pins 16
pinorder 3 2 5 4 7 6 9 10 11 12 14 15 8 11 16 13
pindef I O I O I O I O I O I O G I V O
vect 1 0 1 0 1 0 1 0 1 0 1 0 0 1 1 X
vect 0 1 1 0 1 0 1 0 1 0 1 0 0 1 1 X
vect 1 0 0 1 1 0 1 0 1 0 1 0 0 1 1 X
vect 1 0 1 0 0 1 1 0 1 0 1 0 0 1 1 X
vect 1 0 1 0 1 0 0 1 1 0 1 0 0 1 1 X
vect 1 0 1 0 1 0 1 0 0 1 1 0 0 1 1 X
vect 1 0 1 0 1 0 1 0 1 0 0 1 0 1 1 X
vect 1 0 1 0 1 0 1 0 1 0 1 0 0 1 1 X
iccl
vect 0 1 0 1 0 1 0 1 0 1 0 1 0 1 1 X
icch
name 4010*
pins 16
pinorder 3 2 5 4 7 6 9 10 11 12 14 15 8 1 16 13
pindef I O I O I O I O I O I O G I V O
vect 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 X
vect 0 0 1 1 1 1 1 1 1 1 1 1 0 1 1 X
vect 1 1 0 0 1 1 1 1 1 1 1 1 0 1 1 X
vect 1 1 1 1 0 0 1 1 1 1 1 1 0 1 1 X
vect 1 1 1 1 1 1 0 0 1 1 1 1 0 1 1 X
vect 1 1 1 1 1 1 1 1 0 0 1 1 0 1 1 X
vect 1 1 1 1 1 1 1 1 1 1 0 0 0 1 1 X
vect 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 X
icch
vect 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 X
iccl
name 4011
pins 14
pinorder 1 2 3 6 5 4 13 12 11 8 9 10 7 14
pindef I I O I I O I I O I I O G V
vect 0 0 1 1 1 0 1 1 0 1 1 0 0 1
vect 0 1 1 1 1 0 1 1 0 1 1 0 0 1
vect 1 0 1 1 1 0 1 1 0 1 1 0 0 1
vect 1 1 0 0 0 1 1 1 0 1 1 0 0 1
vect 1 1 0 0 1 1 1 1 0 1 1 0 0 1
vect 1 1 0 1 0 1 1 1 0 1 1 0 0 1
vect 1 1 0 1 1 0 0 0 1 1 1 0 0 1
vect 1 1 0 1 1 0 0 1 1 1 1 0 0 1
vect 1 1 0 1 1 0 1 0 1 1 1 0 0 1
vect 1 1 0 1 1 0 1 1 0 0 0 1 0 1
vect 1 1 0 1 1 0 1 1 0 0 1 1 0 1
vect 1 1 0 1 1 0 1 1 0 1 0 1 0 1
vect 1 1 0 1 1 0 1 1 0 1 1 0 0 1
iccl
vect 1 0 1 1 0 1 1 0 1 1 0 1 0 1
icch
4011
10
11
12
13
14
4A
4B
4Y
3Y
3A
3B
1A
1B
1Y
2Y
2A
2B
1
2
3
4
5
6
7 8
9
983004 - 17
4010
VCC VDD
2Y
2A
10
11
12
13
14
15
16
1Y
1A
3Y
3A
4A
4Y
5A
5Y
NC
6A
6Y
1
2
3
4
5
6
7
8 9
983004 - 16
4009
VCC VDD
2Y
2A
10
11
12
13
14
15
16
1Y
1A
3Y
3A
4A
4Y
5A
5Y
NC
6A
6Y
1
2
3
4
5
6
7
8 9
983004 - 15
CORRECTIONS& updates
Intelligent IC Tester
March 1998, 980029
Pin 39 of the processor (IC3) isconnected to pin 1 of the firmwareGAL (IC5). Due to specific signal
load conditions, this connectionmay cause problems with cer tainGAL brands.The remedy is simple: instead ofpin 39, use pin 40 of the proces-sor as the oscillator output. The
two PCB drawings show how themodification is made. Using asharp hobby knife, a track is cut.Next, the new connection is madeusing a shor t length of thin, insu-lated wire.
Switchboard allows PRIVATE READERS of Elektor Electronics oneFREE advertisement of up to 106 characters, including spaces, com-mas, numerals, etc., per month. The advertisement MUST relate toelectronics, and it MUST INCLUDE a private telephone number orname and address; post office boxes are NOT acceptable.Elektor Electronics (Publishing) can not accept responsibility for anycorrespondence or transaction as a result of a free advertisement orof any inaccuracy in the text of such an advertisement.Advertisements will be placed in the order in which they arereceived. Elektor Electronics (Publishing) reserve the right to refuseadvertisements without giving reasons or without returning them.
FOR SALE Handheld Dataman S4,
complete with mains charger, manu-
al, s/w and MCS51 ROM. £175.
Phone Mike on (01749) 670016.
FOR SALE Kits of 1992/93 Elektor
1.2GHz Multifunction Frequency Meter,
complete with case, front panel foil and
all par ts. Superb design and project,
few available, £75 plus P&P. Anita, Sib-
berkerkstr. 100, NL-6301-AW, Valken-
burg, Netherlands. Email
techtext@ worldonline.nl.
FOR SALE Ex-hobbyist’s tools, oscil-
loscope, transformers, many compo-
nents. Phone Rae Kozary on (0181)
9429377.
FOR SALE Graphtec MP3100 plotter
(A3). WANTED Gould OS300 mains
transformer (or dead scope). Phone G.
Coast on 01634 314999
WANTED Book 2 of ‘Formant Music
Synthesizer’, by M. Aigner. Klaus
Nielsen, Viborggade 4, 4th. DK-2100,
Coperhagen, Denmark.
LAB CLEAROUT Surplus components
for sale: digital & analogue ICs, resis-
tors, capacitors, switches, pots, bare
PCBs (all unused) plus test equipment,
incl. Microprocessor development sys-
tem, PROM programmer, UV light, etc.,
Send SAE for list to D. Fittes, 8 Elisa-
beth Court, Warwick CV34 6QB, or tel.
01926 493092.
FOR SALE Lotus Smartsuite for Win-
dows (123 Spreadsheet, Amipro word
processor & Harvard Graphics), £20.
Blackwells Idealist for Windows, data-
base and retrieval system, unopened,
unregistered, £20. All original disks
with manuals. J. Hopkins, tel. 01243
784159.
WANTED A VHF to UHF convertor, or
circuits, as I have a display unit with a
VHF output, and I wish to connect a
TV. Mr. T. Collins, 215 Arlott Crescent,
Oldbrook, Milton Keynes MK6 2QT.
FOR SALE EPROM programmer GP
EP8000 £75, Spectron D-586 datas-
cope £185, Intel MDS + ICE with
manuals etc. £100. P. Clark (01344)
868985.
FOR SALE Due to workshop clear-
ance: 3 multimeters, transistor tester,
frequency counter, valve voltmeter.
Phone for detailed list. Ken Phillips,
phone (01376) 323164 (Essex).
FOR SALE Sony SMC-70GP video ti-
tler with books, software, etc. Twin
3.5” drives, integral keyboard, gen-
locker, PAL superimposer and separate
colour monitor. Job lot: untested and
sold ‘as seen’. First £50 secures.
Trevor Wiltshire, Reading (0118)
9701163.
FOR SALE PSU PCB’s, 45W, I/P
240VAC, O/P DC + 5V (x2), + 12V,
–12V, £5 each. Tel. Paul on (01942)
706769 after 6pm.
SWITCHBOARD
8x 4k7 4x 4k7
12MHz
R101 R81
27p
C12
27p
X1
C9
1
2 3 4 5 6 7 8 9
1
2 3 4 5
C17
C18
10µ16V 11
12
10
9
3
1
4
5
RD
WR
SSTR
SCLK
SD
R79
10
k
T2
BC547
SOE
R97
2k2
R93
1k
Ω
7C6b
P3.2 INT0
P3.3 INT1
P3.1 TxD
P3.0 RxD
P3.4 T0
P3.5 T1
P3.6 WR
P3.7 RD
RESETVAGND
PSEN
VSS
AN4
AN5
AN6
AN7
38 40
X1
39
X2
16
15
14
13
22
21
23
24
25
26
27
28
PE
49
10
51
EA
12
4
PSEN
C15
4µ7 16V
R96
10
k
XTA
L
K2
IC6
4 C23
100n
INUC6 = LM324
5V
5V 5V
10µ16V
1%
9 ... 15V
980029-1
35Elektor Electronics 9/98