HechtThomas1977

CALIFORNIA STATE UN:::VERSITY, NORTHRIDGE
HICROPROCESSORS
/
p~ojc~t report s~~oitted in partial satisfaction of
the requirements for the degree of Master of Science in
A graduate
Engineering
by
Thor,las Carson Hecht
~-
.January 1977
.. I
i
The graduate project report of Thomas Carson Hecht is approved:
California State University, Northridge
Oitober 1976
ii
TABLE OF CONTENTS
TITLE PAGE
i.
1-.PPROVAL PAGE
i.i
LIST OF FIGURES
i.v
ABSTRP.C'I'
vii
INTRODUCTION
1
INTRODUCTION 1'0 MICROPROCESSORS
3
THE 6800 HINIHAL SYSTEM
7
THE HICROCOMPUTER
... , ..
,~
..
c•<~c•••••••••••••,.tt•••••••.••,•·•••••-~~·•'~••oo
}!ICROELECTRONIC P.ESISTOiZS AND RESISTOR TRH'lMING
AJ!FL ICATT.O!'·! OF THE HICROCOI'-1PUTER TO LASER
18
31
TRIH~llNG
R),DJIR ERRORS AND THEIR CORRECTION
65
THE ERROR COF,RECI'TON SYSTEM
69
• • • • • • • c • • • • . , • • • • • • • • • • • • • • • .. •-ta•••••·•
THE HICROPROCESSOR SYSTEN
34
LIHJ.TATWNS AND ACCURACY
97
SUNNARY
APPENDIX A 6800
100
IN.~)J'RUC.TIO.N S.&T ••••••••••••••••••••
APPEND IX E HOTOIWLA 6800 .CI.ROJ LTS
-t.~
......
~
...
,
.............
~
102
...............
.
105
lJ:'FENDIX C C.ALCJJL.A.TOR .CHIP DATA SH.EET •• , , .•••• , .•••.•••••••••••• llO
'I
BIBLlOGR.t,PHY •••••••••
+
..
.;:,.
..
t
•·
II
"
•
•
115
•
otto'W
Li.i
......
ll9
LIST OF FIGURES
FIGURE 1: THE 6800 Mli'Hr·L'\L SYSTEH
FIGURE 2: OPERATION OF THE ACIA
FIGURE 3: OPERATION OF THE PIA
FIGURE Lf: BLOCK DIAGRP..H OF THE PIA/CALCULATOR CHIP INTERFACE
FIGURE 5: SCHEHATIC AND TRUTH TABLE OF THE PRIOP.ITY ENCODER
FIGURE 6: SCHElv!ATIC OF THE QUAD AND
FIGURE 7: SCHEHATIC OF 'I'JIE TNTERRUPT PRIORITY CIRCUIT
FIGURE
8:
LOCATIONS ADDRESSED
BY
THE MPU FOR DIFFERENT PRIORITY
Ii'fTERlWPTS
FIGURE 9: .tv1EHORY H1\P OF THE MICROCOl1PUTER
FIGURE 10: CALCULATION OF RESISTANCE USING SQUARES AND SHEET
RESISTANCE
FIGURE
11:
TYPES
DIFFERENT
OF TRIHS
FIGURE 12: RESISTANCE AS A FUNCTION OF TRHllviiNG
FIGURE 13: PLOT OF % OF INCREASE IN RESISTANCE VS. K (EQUATION {10))
FIGURE 14: COMPARISON OF THE SENSITIVITY OF S'i'RAIGHT AND 1-CUTS TO K
FIGURE
15:
1-CUT TO
GIVE MAXIMUH
RESISTANCE
FIGURE 16: RES IS TOR TRH'.!HED \.viTH A SERPENTINE CUT
FIGURE 17: THE
HANUl~L
LASER TRU1t1I.i{G SYSTEH
FIGURE 18: THE AUTOHATED LASER TRU1MING SYSTEH
FIGURn 19:
DIAGR/~.!1
OF THE PRORE C t;RD
FIGURE 20: DIAGR.l\.1"1 OF THE PROBE CA.'{D, THE RE:FEk£NCE CARr, AND THE
RELAY }<lATRIX
FIGURE 21: SGHEHATIC OF THE RELA'l MA'i'RIX
F.':i:GURE 22: i1TACRA.t'1 OF THE Omi HE fER
i.v
FIGURE 2.4: D IAGRP..J1 OF THE HON ITOR
FIGURE 25:·SCHEMATIC OF THE CLIPPER CIRCUIT
FIGURE 26: ".FLOWCHART OF THE AUTOMATED TRIM,"'liNG SYSTEM PROGRAM
FIGURE 27: DIAGRP..N OF THE ±X DIRECTION COUNTER
FIGURE 28: DIAGRlilvl OF THE ±Y DIRECTION COUNTER
FIGURE
20· PRESENT
RADAR/SPARS INTERFACE
I
I
FIGURE 30: TUHNG OF THE RADAR/SPARS INTERFACE
FIGURE 31: TIMING OF THE kADAR/HICROPROCESSOR SYSTEM/SPARS
FlGURE 32; REAL TIHE RADA 1.\ ERROP. CORRECTION SYSTEM
FIGURE
':l":l·
-J.J•
30 VOLT TO FIVE VOLT, ZERO VOLT TO ZERO VOLT CONVERTER
FIGURE J!:,; 5 VOLT TO 30 'IOL T, ZERO VOLT TO ZERO VOLT CONVERTER
FIGURE 35: RADAR TO NICROPROCESSOR SYSTEM INTERFACE
FIGURE 36: HICROPROCESSOR SYSTD1 TO SPARS INTERFACE
FIGURE 37: PROGRA"'1 Mot-:ITOR CIRCUIT
FIGURE 38: RELAY CONTROL CIRCUIT
FIGURE 39: THE RELAY SYSTEl-1
FIGURE lfO: HEHORY REQUIREMENTS FOR TRIGONOMETRIC LOOK-UP TABLES
FIGURE
41:
VALUES STORED FOR VARIOUS FUNCTIONS AND ANGLES
FIGURE l~.2: PROGRAl\1 FLOHCHART FOR HANDLING THE SIGN OF TRIGONOHETRIC
FUNCTIONS
FIGURE L13: SIZE AND Nm'lBER OF SIGNIFICANT DIGITS REQUIRED FOR THE
RP.NGE COEFFICIENTS
FIGURE i~4: SIZE AND NUHBl:;;R OF SIGNiFICANT ·DIGITS REQUIRED FOR THE
AZIHUTH
COEFFICIENTS
v .
FIGURE
/, <:; '
-"C#J.
SIZE AND NUNBER O:l?
SICNIF1CAN1~
DIGITS REQCIRED FOR THE
ELEVATION COEFFICIENTS
FIGURE 1-t-6: TIME REQUIRED TO CALCULATE THE RADAR ERROR TERHS
fiGURE
47: MPU DUTIES
FIGURE
48: PORT INTERFACES BETWEEN THE MPU's
FIGURE 49: ESTIMATED ERROR
IN CALCULATING
TI-lE ERROR
FIGURE I: l10TOROI .A HC6800 CLOCK
EX:C'RESSIONS
I
FIGURE II: HOTOROLA 11C6800 RESET CIRCUIT
FIGURE III: HOTOROLA MC6800 HALT AND SINGLE CYCLE CIRCUIT
FIGURE IV: HOI'OROLA MC6800 TELETYPEWRITER• INTERFACE
vi
ABSTRACT
MICROPROCESSORS
JIJW THEIR APPLICATIONS
by
Thomas Carson Hecht
Haster of Science in Engineering
January' 1"977
This paper chronicles the development of t\.vo microprocessor
systems. It first provides an introduction to microprocessors and
.
.l«e mlcroprocessor syscems
describes the design of a microcompucer • "l'l...
~.
designed 6re used in process control and data processing applications.
In tbe contro1. applicatiou the first microcomputer is :.Ised to
aut:orr,ate a
In
~he
s~ntem
that. uses a laser to trim microcircuit resistors.
data precessing application the second microprocessor system
is used for real time error correction of radar Jata.
vi.i
INTRODUCTION
This r.eport describes two seperate projects. Whiie these projects
are independent they both use microprocessors to solve technological
problems. These two projects use microprocessors in both control and
data processing applications.
The first project uses a microprocessor in a control application.
It consists of automating a laser tria1ming system. Laser trimming is
a means of adjusting the resistance of an integrated circuit by
cutting part of the resistor away. Because of the small size of
t.hese resistors, laser trimming is a very delicate process. 1;-n1en
done manually it could take hours to trim one integrated circuit.
DndPr
compu~e~
coLtrol the trimming time can be cut to minutes.
This saving of time (and money) is the motivation for.the project.
The second project considers the use of microprocessors in a
data processing application. Electronic, mechanical, and environmental effects introduce errors iHto radar
system>~,
wh:i.ch in turn,
results in errors in the radar data. It is possible to compensate
fo~
these effects by using a set of radar error correction
co~npensati.on
At present this
equations~
is not done in real time at Point Hugu.
It would be desirable to have the corrected radar data available
immediate} y
aft·~
e an ope:cation. Accordingly, an invest igat:i.on was
conducted into the possibility of using a microprocessor system to
provide radar error correction in real tirue.
The
firs~
section of this report gives an overview of micro-
1
,,
L
processors and deals with the development of a microcomputer. Followj_ng a genc-"ral discussion of microprocessors, the Motor-ola 6800
microprocessor system is covered in detail. This is followed by a
description of a complete microcomputer system.
The Eecond section of this report covers the application of
the microcomputer to laser trimming. It begins with an int-roduction
to microcircuit. resJ.stors and laeer trimming. This is followed by
descriptions o:c the existing manual trimming system and the proposed
new
comp~ter
controlled
1-
•
~
~.-rlnHill.ng
.L.
sys~.-em.
The i: h:i.rd section of this report deals w1.th the appl icati.on
of a microprocessor system to real time radar error correction.
First the radar
erro~
cquaticns are presented. This is followed
by the description of the organizntion, the hardware,
and expected perforillanc8 of the real time
er~or
software~
correction
system.
The fourth and last section of this repo.rt consists of st.:rnmary
and conclusions.
INTRODUCTION TO HICROPROCESSORS
The first microprocessor was a by-product of the calculator
industry. In the late sixties several different desk top calculators
required several different custom l10S LSI circuits for each cnlculator. In order to avoid developing all tl-1ese custorn
architecture vr01s developed that allm.;red many
differE~nt
chips~
an
calculators
to be implemented with only four different chip types. Later it was
realized that these
~our
standard circuits
wer~
flexible enough to
be used jn other applications besides calculators. This development
led to the
fi:t~st
microc:orcputer f£-.mily, thr:: Tnli3l MCS- 4,
~.;rhich
"!J,cas
!
marketed in 1971. Since then just about everyone has jumped on the
microprocessor band.vmgon, either by designing a ne\v microprocessor.
or else by using a microprocessor in a new application.
The original microprocessor, the Intel MCS-4, marketed in 1971,
vias a 4 bit machine. By 1975 many companies ,,iere offering 8 bit
m:i.croproces.sors and a few companies \vere selling 16 bit microprocessors.
By 1975 most major semiconductor companies,
~s
well as a host of
others, vwre off.erir.g their own microprocessors.
At present tHo 8 bit microprocessors are the most popular,
the Intel 8080 and the Hotorola 6800. The Intel 8080 enjoys a
slight edge in popular:ity probably because of its being introduced
f~rst.
Bot1t microprocessors have the same basic computing capabilities
and cost. If these capabilities '"er:e compared, a slight advantage
3
L;.
held by Hotorola :in one ere13. (for example: .sddressing) wrmld be
h:1lanced by a slight advantage held by Intel in ai1othe-r area(for
example:interrupt handling). The Motorola 6800 microprocessor was
selected as the basis for this project primarily because it requires
o!'l.ly one pow·er supply(+ 5V) as opposed to the Intel 8080 v7hich
requires three pouer supplies(+5V,-5V~ and+l2VL
A microprocessor that is !'lewer t:ha.n both the U080 and the 6800
thet is w0rth
mentioni~1g
is the !1os Technology 6502. This device:
~vas
developed by some of the same reople who had developed the 6800 for
Notorolc.1, The Hos Technology 6502 has the sar.1e basic computing
capabilities and cost as the 6800 and the 2080. The 6502, like the
6800 t requires only one power supply (a 1 so + SV). The innovative
feature of the 6502 is its on-the-chip clock. Had the
selec~ion
b::;en made today the Nos Technology 6502 microproces3o:r.· \voul d be
the one selected for this project.
The next section of this report will _attempt to provide an
introduction to microprocessor systems. First a distinction should
be made between a microprocessor unit and a microprocessor system.
A microprocesso~ unit, such as the 6800 or the 8080 5 is a single
LSI chip. A microprocessor system =onsists of a microprocessor chip
pius some additional circuitry. A typical microprocessor system
consists of a microprocessor
ciceuitry, and a
po~ver
chip~
some memory, some inteiface
supply. In trd.s report the term "mfcro-
:r>rocessor·" mean:; the single mic.coprocessor chip and not a mlero ..
processor &ysLern, a microprocessor family, or a microcomputer.
In the fi:rst pa·ragraph of this chapt,=;r it was
ment:i.o1h:~d
l'116t
5
the first microproce.ssor family) the Intel HCS-4, w·as composed of
four
standar~
circuits. Present microprocessor systems are still
composed of these sane four standard circuits. These standard circuits
are
Mi-croprocessing UnU (MPU)
~
Read Only Hemory (ROH), Random
Access Hemory(RAH), and the interface circuits. These circuits will
be discussed in the following paragraphs.
The r:tPU is the Cel"tral processing u:ait of the micro'processor
system. ROH is nonvolatile memory that is used for permanent storage
of data or prograri\s. RON can on1 y bE r:ead and can not 0e writte;:J
into. ROHs are usually custom prr>grf!mmed at the factory although
there are special types af ROMs, called PROMsJ that can have their
contents erased and reprogrammed using special equipment. The RP,H
is different 'from the ROM in that it can be written into as well
as being read. The RAM is programmed by signals from the MPU so that
it is possible to access directly any word of RAM using s. teletypev~riter
or some other input /output means. RAM is used for the
temporary storage of data and programs. RAM is also used to store
data .or programs that will change in the course of running a
prog-ram.
There is a great variety of types of interface circuits used in
microprocessor systems. These interface circuits are used to interface the microprocessor system witb the outside world. They are often
called ports or input/output ports(l/0 ports). The original microprocessor system, the Intel MCS-4, used shift registers for ports.
Bidirectional buffers or latches could also be used for ports.
Hotorola has
d~veloped
two interfnce circuits to be used as ports
6
in their microprocessor system. These
ci~cuits
are the Peripheral
Interface Adapter ( PIA ) and the Asynchronous Communications Interface Adapter ( ACIA ). The ACIA allows an eight bit word to be
transmitted .serially to and from the MPU and the outside
world~
The
microcomputer designed for this project uses one PIA and several
eight bit latehes as interfaces with the outside world. The PIA and
ACIA vli.ll be discussed more in the next chapter.
THE 6800 MINIMAL SYSTEM
The 6SOO minimal system described in this chapter is defined by
the author to consist of the minimum number of 6800 family devices
and the minimum amount of peripheral circuitry necessary for the
~icroprocessor system to function. First the 6000 system configuration
tdll be described. Next. the 6300 family devices that make up this
system will be discussed. Third the information flow in the system
will be described. Finally the software used by the 6800 MPU will
be discussed.
Fj_gure 1 shmvs a block diagram of the minimal 6800 system. The
t-'.lPU is the heart of the 6800 systcn. It cont·rol s the rest o£ the
6800 family devices. It also controls the program flow in the
system~
as well as the execution of instructions.
The start up unit accomplishes two functions: It provides reset
capability •md allot-Js a program to be run one instruction at a time.
The reset is used vJhen the power is first turned on or when a program is hung up by an infinite loop or some other difficulty. The
reset sets the program counter at a specific addresso The program
starting at. that address will then be executed. The mode of stepping
through programs one instruction
~t
a time is used in debugging
programs.
'I'he clock of the. system is a two-phase clock, where
a~c square waves of 180° phase difference.
7
¢',
and
8
I~
START- Uf' - - ·
]--
l
.
r-------~
¢,
CONTROL BUS
~.
MPU
--·
CLOCK
DATA
'--·-------·-·-
'-·-·_,
________
BUS
ADDRESS BUS
I
RAH
'---·--·-·-~--
~----L-.J
.---------__J
PIA
t
l_j_
I
FIGURE 1: THE 6800 MINIMAL SYSTEM
TTY
I
1
I
9
The Peripheral Interface Adapter(PIA) is a special interface
·built on a integrated circuit, that is used to interface the 6800
system with the outside world. For the minimal system shown in
Figure 1 the PIA chip is used to interface the 6800 system with a
teletypewriter(TTY).·
The t1IKBUG ROM shown in Figure 1 is a chip that is programmed
py Motorola. This program is part of the interface bet\<leen the TTY
and the rest of the system. The program allmvs an operator using the
TTY to change the contents of memory, set the program counter, set
interrtcpt vectors, copy the contents of memo-::-y onto a
punched
tape, and place the information from a punched tape into memory.
Most of the RAM chip shown in Figure 1 serves as a scratch pad
memory for the HIKBUG ROH. The remaiuing memory locations in the
RAM chip. could be used for
~vhatever
purpose the programmer desired.
For example, to store a short program.
The 6800 system uses three buses. The control bus handles the
interrupt requests and the reset line. It also serves as a chip
select. Each 6800 family device has certain inputs that when high
\or low) disable the device. Examples of this are given in the next
section. The address bus is used primarily to address different'
memory locations; hoHever, the address bus is also used as a chip
select. The data bus is used to transport 8 bit \-JOrds to and fror.1
the MPU.
The Motorola 6800 family consists basically of five different
types of chips:the HPU, ROH, RAH, PIA, and the Asynchronous
Communications Interface Adapter(ACIA).
10
The Notorola 6830L ROH(The NIKBUG ROH) is organized into 1024
bytes of eight bits each. The ROH has four chip select J.nputs and
ten inputs that are connected to ten of the address lineso The ROH
is also coti:"nected to the eight lines of the data bus. The ROH, as
well as the rest of the 6800 family, offers tri-state operation.
The three
state~
of the tri-state operation are low, high, and the
high impedance state. The low and high states are the familiar TTL
logic levels. When a 6800 family device is disabled it goes into
·the high impedance state. In this state a device does not load
down the rest of the system.
The Motorola 6810L RAH is organized into 128 bytes of eight
bits each. The RAM has six chi.p select inputs and seven inputs that
are connected to seven of the address lines. The RAH is also
connected to the eight lines of the data bus. Another input to the
RAH is connected to the Read/irlrHe line (R/W line) whi.c:h is part of
the control bus. When the R/W line is low the MPU can write into
the enabled device and when i t is high the MPU can read from the
enabled device.
The ACIA is not used in the 6800 minimal system, nor is it
used in the microcomputer. However the: ACIA is an ireportant member
of the 6800 family. As shown in Figure 2 the ACIA is used to interface serial data with the 6800 eight bit data bus. An ACIA could
be used to i1i.terface the l1PU with CRT terminals, TTY terminals, or
modems. A,modem is a circuit that is used to interface a digi.tnl
electronic system to a telephone line.
The l:'l!,(F:Lgure 3) is an extremely versatile intc::fo.ce: circuit.
11
SERIAL
DATA
I
,· L
L __ _
-r--..L- -;.:.li
1
ACIA_j-1-'~BI-,--Pto.w-- PARALLEL DATA
( TO DATA BUS )
FIGURE 2: OPERATION OF THE ACIA
.
.
1-
··------·-~~.....-.- ~-,_·--- -~.
t-
--
r-,n
LATCH A
t-
DATA
BUS
J
---~~+-----
OUTSIDE
t-
t1-
i
~---_-_=±
LINES TO
1-
--f-
t=
LATCH B
-
FIGURE 3:: OPERNT ION OF TilE PIA
WOP.LD
\
\
PERIPHERAL
t-·
r
t--
}: OUTSIDE
t-
t--
"'--
J
t--
~-----'
LINES TO
I
ltJORLD
12
It eonsists of sorr.e central circuitry and two eight bit latches
(latch A and latch B) that are connected in parallel to the data bus.
The versatil i.ty of the PIA results from its programmability. By
using softwA.re the :!vJPU can program each of the peripheral lines as
<
either an input or an output line. Another feature that adds flexi.bil ity to the PIA is its
ab~lity
to be reprogrammed in the course
of a program. Thus a peripheral line that starts out as a input line
could be reprogrammed as an output line at a later point. in a program An exa~ple of the programmable and reprogrammable feature of
the PIA can be found in the next chapter where the calculator chip
interface circuit is described.
The next section of this report will attempt to explain the,
operation of the tvJPU. Eleven 1 ines going to the MPU make up the
bidirectional control bus. The data bus (also bidirectional) is
composed of eight lines. Sixteen output lines from the MPU make up
the address bus (see Figure 1). The MPU can address 65,536 memory
locations. After selecting a memory location the MPU can read or
w1·ite an eight bit word into that location by using the data bus.
There are four types of control signals used. Control can
originate either from an external system or from the MPU. The first
set of control lines consists of the two phase cloek,
¢, and¢,_ •
The second set of control lines are tho Valid Memory Address
(VMA) line and the Read/Write (R/H) line. These two lines are 'used
to indicate the status of the Data Bus and Address Bus, respectively.
The
R/~-J
line is lov! when the !1PU writes into RAM and high when the
HPU reads from RAM. The R/H li.ne is also used to disable tl:;e
RO~
13
Data
B~..1s
buffers \lhen the KPU is in the
~'lrite
mode. The VHA line is
used to enable all the family deviccso A high VNA line indicates to
m-smory and I/0 that the MPU is performing a read or 'vrite operation.
A l.ovl on the VMA line prevents data transfer by disabling the Add-
ress Bus buffers.
The third set of control lines is made up of the Data Bus Enable
.(DBE) li.ne and the Three State Control
(TSC) 'line. These two lines
are :i.nputs to the MPUo When the DBE line goes low the Data Bus of
the l1PU goes into its high impedance state. When the TSC line goes
high the Address Bus and the R/W line go into high impedance stateso
The DEE and TSC lines are used to remove the buses during a Direct
Memory Access (DHA). DHA is a method of allowing other devices to
usc the system memory. For example, during DHA
t~1o
microprocessing
units might share the same memory.
The Halt line is used to stop the MPU. When the Halt line goes
low the lvf..PU will stop processing and its buffers will go into a high
impedance state. When this happens the Bus Available (BA) line wi.ll
eo
high. The BA line is an output of the MPU. It is used to signal
external hard•·mre that the HPU is off the bus so that DMA can be
used. The BA 1 ine also goes high if a software 1: AIT instruct ion
is used.
The final set of control lines are the interrupt lines. The
interrupt line with the highest priority is th0 Reset line. It is
used to reset the MPU
hen the po"VJer is turned on or Hhen the :tv1PU
¥.7
experiences difficulties in running a program. The Non-Maskable
lr;terrupt (NMI) line requests MPU service. Hhen the NMI line goes
14
low the HPU program counter is set at a specific address. The program
starting at that address is then run. The NMI line provides an inter· rupt request that can not be blocked by software. In thi~ respect
------- ----
the NMI 1 fne differs fro;n the Interrupt Request (IRQ) 1 ine. The
IRQ line is similiar,to the NMI line in that when the IRQ line goes
low the program counter is set to a specific address (a different
address than the NMI uses ). The difference between the IRQ and the
NHI is that the NMI can not be blocked by sofbmre, \<lhereas the IRQ
can. By using a certain soft\vare instruction the programmer can
prevent the IRQ from being serviced until that instruction is
rescinded.
The Data Bus consists of eight lines that connect the MPU to
memory and other peripherals. The eight bit \vords used by the system
travel to and from the MPU via the Data Bus.
There are six registers in the NPU. These are the: Program
Counter, Stack Pointer, Condition Codes, Accumulator A, Accumulator
B, and Index Register. The Program Counter and Stack Pointer Registers
are used to keep track of the location of the MPU in a program. The
number of sixteen bit words the Stack Pointer (SP) can store is
limited by the amount of memory the programmer reserves for that·
purpose. Thus, if desired the 6800 system could handle an almost
unlimited number of subroutines.
The t,,ro 'accumulators are both eight bit registers. Hany of the
instructions used by the MPU perform arithmetic o-:..· Boolean alg2br.a
operations on the cont2nts of one or both accumulators. The HPU can
also
p~rform
arithmetic vr Boolean algebra operations on the
cont~nts
15
of a memory location and either one of the accumulators. Finally the
l1PU has the capability to transfer data between the accumulators and
memory locations.
The Condition Codes Register contains six bits. The value of
each of these bits is set as the result of the MPU executing a
program instruction. The six bits are the H,I,N,Z,V, and C bits.
The C bit is the carry bit. If the MPU perf0rms an arithmetic operation and a carry results, then C is set high. The V bit is the
overflm-.r bit. If the MPU performs an arithmetic operation and an
overflo~
results then V is set high. The Z bit is the zero bit. If
the HPU pm:-forrns a Boolean or arithmetic operation and the result
is zero then Z is set high. The N bit is the negative bit. If the
MPU performs'an arithmetic operation and the result is negative,
then N is set high. The I bit is the interrupt mask bit. The I bit
is set high by a specific software instruction
(SEI~
which stands
for Set Interrupt). When I is set high the MPU \<7ill not service an
Interrupt Request (ho\<Tever the MPU will still service a Non-Haskable
Interrupt). As soon as the I bit goes low IRQ would be serviced.
The H bit is the half--carry bit. If the MPU is performing an
arithmetic operation on two eight bit numbers and the result involv~s
a carry from the foui least significant bits to the four most significant bits, then H is set high.
The status of the Condition Codes Register is used by the MPU
to keep track of carries, to provide interrupt control, overflow
indicati.on, and r.:iigr: information when branching. This last function
of the Condition Codes Register requires an examle. Aseume the MPU
16
performs an arithmetic operation. Assume the MPU wants to branch
to another part of the program if the result of this operation is
negativa. To accomplish this goal the
arithme~ic
operation is follow-
ed by a BL-'1' (Branch if Less Than Zero) instruction. Upon reading the
BLT instruction the MPU checks the N bit in the Condition Codes
Register. If the N bit is high the program branches, if it is low
the program does not branch.
The Index Register is a sixteen bit register. The Index Register is used in a special type of addressing known as indexed
addressing. The function of the Index Register will be descibed in
the next section vlhich discusses the different types of addressing
available with the l1otorola 6800 MPU.
The six< types of addressing used by the Motorola 6800 MPU are
extended, direct, indexed, relative, implied, and immediate. Extended
addressing allows the MPU to select any memory loc.stion. Direct
addressing limits the
~lPU
to selecting one of the first 256 memory
locations (but it is faster than extended addressing). Indexed
addressing allm>Js the MPU to select a memor-y location relative to
the address stored in the Index Register. Relative addressing allows
the MPU to select a memory location relative to the address stored
in the Program Counter. Implied addressing does not require the MPU
to specify an address (for example, adding the contents of the two
accumulators does not require that an address be specified by the
MPU). Immediate addressing is used by
th(~
MPU to insert a number
directly into a memory location.
The Motorola 6800 system has 71 jnstructions in its soft\-Jare
17
repertoire. ThP.se instruct:i.ons are divided into fou'r broad categories.
The first category of instructions perf:ormsoperations on the accumulators and memory. This includes arithmetic operations
~uch
as
a.dding and··subtracting. Also this set of instructions includes Boolean algebra operations such as logic anding, oring, and complementing. This set of instructions also includes data test operations
such as comparing or sign testing. The final set of instructions in
this category are the data handling instructions. These instructions
allovl the movement of eight bit words between the accumulators and
memory. They also allow these words to be shifted, rotated,
incremented, and decremented.
The second category of instructions performsoperations on the
Index and Stack Pointer Registers. These instructions perform data
test and data handling operations similiar to those that are performed on the accumulators and memory except the operations are
performed on the Index Register, Stack Pointer, and memory.
The third category of instructions are the jump and branch
instructions. They provide conditional and unconditional branching,
jumping~
subroutine control, and software interrupt control.
The final category of instructions are the Condition Codes,
Register manipulation instructions. They allow the bits in the
Condition Codes Register to be set directly with software. a complete
list of tl:.e 6800 instruction set is given in Appendix A. _
THE MICROCOMPUTER
Using the Hotorola 6800 family> a microcompute·1· ~.;ras developed.
The objective was to develop a microcomputer that was
versa~ile
enough to be used for a variety of application3, not just laser
trimming. For example, the microcomputer d·i.scussed in thi.s chapter
could be used
in other systems ) such
as an automat:i.c tester, or
for data processing.
Inside the back cover there is a system diagram of the microcomputer. This diagram shows ho,.;r the different elements relate to
each 0ther and also how the different elements .<n:e enabled by
signals froril the MPU. The first section of this chapter describes
the system configuration of the microcomputer. The second section
of this chapter describes the interface and control circuitry that
makes the microcomputer run.
The microcomputer and the 6800 minimal. system have a lot in
conunon. Both use the same MPU, ROM, RAM, and PIA chips. Both have
the same TTY interface • .And both have the same clock,
h~1lt/singJ.e
cycle and reset circuitry. There are two major advantages the microcomputer has over the minimal system. First the microcomputer has
more computational poHe"J;"? and second the microcomputer is better
able to interface wit:h the outside world •.
The microcomputer gains its advantage in computational power
vJJt.h its increased
RAM
and its calculator chip. The 6800 minimal
system had only one RAH chip ( corresponding to R.AH #1 on the
18
19
microcomputer diagram ) •. The microcomputer has R.'\11 #2 and the 4K
RAN b::>ard. RPM #2 can store only 128 1·JOrds and is primarily used
for interrupt prioritizing anyway. The greatest
microcomputer comes from the
L].K
about 100 times more memory than
RAM board.
~vas
adv~:mtage
cf the
The Rllt-1 boa'rd provides
available with the minimal
system. The second computational advantage enjoyed by the microcomputer js due to the National MM5760 calculator chip. The minimal
system \>Jould have had to employ many different softuare routines
to take logs, square roots, sines, etc. The microcomputer uses a
single general program that allows it to use any of the over
twenty operations the calculator chip can handle. This allows a
savings in memory and provides more versatility in performing
mathematic operations.
The microcomputer also enjoys an advantage in its ability to
interface "'ith the outside world. The 6800 minimal system had only
two interrupts ( IRQ and NMI ) and could interface only \·lith the
TTY. The microcomputer also has e NMI input and can interface with
a TTY. However the microcomputer has an interrupt priority
circuit that allows eight different interrupt requests to be
funnelled into the IRQ input. The interrupt priority circuit sees
to it that each interrupt request is serviced in order of its
importance. The biggest advantage of the microcomputer in interfac:i.ng is its Input/Output ports. The MPU addresBes an l/0 port
1 ike any other memory location .. When the HJ?U reads an Input port
i.t reads the voltages ( TTL co;npati ble ) the user has placed there.
When the HJ:'U vn:ites to an Output port Lh8 user can read the TTL
20
compatible voltages appearing there.
Three final differences between it and the 6800 minimal system
are that the Addre:3s and the Data Bus are buffered and also the
~
Address Bus is decoded for the microcomputer. The Address Bus is
decoded to facilitaLe enabling chips. This allows only one line to
be used as a chip enable. It also allows easier memory expansion
at a later point in tj_Irce. This is the reason the Address and Data
Bus come. off-board in the microcomputer system. The Address and
Data Bus are buffered because the 6800 family devices can drive
only one TTL load. The MPU alone could not drive the 6800 family
devices, the 74154 decoders ( TTL ) , and other potential off- board
devices. Therefore the 8T97 buffers are used. The 8T97 buffers
present only one-sixth of a TTL load to the MPU.
Appendix B shows schematics of the 6800 clock, the Rc,set
circuit, the halt/single cycle circuit, and the PlA··TTY inter·face circuit. These circuits are basically identical to the circuits
found in the Motorola applications manual;
Before describing the operation of the CalculatGr Chip/PIA
interface circuit it is necessary to briefly describe the operation
of the calculator chip. The chip uses word times and digit times
as a time base. The chip has nine digit times. Each digic time is
high for one-ninth of the word Lime. The calcttlator chip has four
inputs and e1ght output·s. The chip decides \<.'hat calculation to
perform on the basis 0£ what input is high during which digit time.
The eight outputs normally drive a seven segment LED display.
The calc:ul
ato1~
chip also has a reAdy 1 ine l:lwL i.t usE:s to indicate
21
Hhen it can, and can not accept a
ne~v
instruction. To interface with
t.he calcDJ.ator chip the first objective is to have the MPU present
signals to the four calculator chip inputs that are high at the
-~
appropriate. digit times to accomplish the desired operation. The
secor:d objective is to have the MPU decode the output of the calculator. Appendix C shows hovJ the calculator chip works.
Figure
L;
shows a block diagram of the t:alculator Chip/PIA
interface. figure 5 shows the schematic and the truth table of the
Priority Encoder. Figure 6 shows the schematic of the Quad AND
circuit. The CD4010'S
are CMOS buffer
gates
~.
The digital
comparator is a 7486 TTL 4-bit magnitude comparator. The tri-state
buffer can be enabled or disabled by the voltage on the line coming
from CB2.
To write an instruction into the calculator first the tri-stete
buffer is disabled. As shown in Figure 4 the digit times are changed
to a 4-bit number. These four bits are one
~nput
to the comparator.
On the MPU side, the MPU writes a eight bit number corresponding
to the calculator instruction. The first four bits of this instruction
are identical to the four bits corresponding to the.digit time in
·which the instruction ·is to be sent ( as sho\vn in the table of
Fizure 5 ). The second four bits of the MPU 1 s eight bit word are
the TTL levels that are desired on Kl, K2, K3, and
digit tin1e spe·.:::ifh•d by the first four
b~~ts.
Kl-1-
during the
For example, to clear·
the cdculator K2 should be bronght high during digit time D8.
F..-om the table in Figure 5 dur.ir:g digit time DS, ABCD is 0111.
For K2 to
oe
bigh Hill! Kl, KJ, and K4 low the MPU should put out
...
22
I
l_j ______,_,
I
MH 5760
CALCULATOR
CHIP
{
CB2
~-~------
DO-D8
DIGIT
TIMES
PIA3
CD4010
BUFFER
Kl
IotTA~-~~
?)l.~_A.t~_n _j. ---·--t-------
1
1-
K3
K4
SEGHENT
OUTPUTS
PIAA
I
K2
CD4010
.
BUFFER
CA2·---t
L"'__J
.
[------·---+---~,---}
1
1
LREAD.Y_ __
CD4010
BUFFER
F'IGURE 4: BLOCK DIAGIL\r~ OF THE :PIA/CALCULATOR CHIP INTERFACE
23
9
:;:..A
..- - - ·
>---·--------.·~···-
- - -
~ :-·------D-~·
~---
7 >·-
3
.
·~----L_~--L_---4.\-- ·_ . .
8 >-
4
I
---i__.}
--
--
>-------T)~-·
'
;.---~~---z_
2
0
1
0
3
Lf
0
0
1
,o 0
0 0
0 0
0 0
0 0
0 0
0
0
0
1
0
0
0
0
0
5
0
0
0
0
6
0
0
0
0
7 8
0 0
0 0
0 0
0 0
1
0
0
0
0
0
l
0
0
0
0
0
1
0
0
0
0
0
1
0
--;> \_;
OUTPUT
A B C D
0 0 0 0
0 0 0 1
0 0 1 0
0 0 1 1
0 1 0 0
0 1 0 1
0 1 1 0
0 1 1 1
1 0 0 0
DIGIT TU1ES
1
1
0
0
0
0
0
0
0
0
~B
-L__}
/ '
9
0
0
0
0
0
0
0
0
1
>
FIGURE 5: SCHEMATIC AND TRUTH TABLE OF THE PRIORITY ENCODER
FROH DI
--~r-- - ) -: 7LfC08
.
1- - - - 1 - · - ·I __. t
--->TO K1
I
FOUR
LSE
---~~-[\
!
~
r-----+---·--~-~--·------? TO K2
I
OF
1
r
d - - - -.....:...t
I
~
:
'
TO
)---.---·---·-··--·-~,.
.
K3
,,
I
I
-
1
I
I
------· ·---L_-~:.-:_··~~?__ )~_·-_:-------;>
FIGURE 6: SCHEHATIC OF THE QUAD /'.ND
TO KL;.
24
0100
~ili~1
these bits correspond to Kl, K2, K3, and K4 respectively.
Therefore to clear the calculator the i''IPU will Hait for the ready
line ( see Figure 4 ) to indicate the calculator can accept an
instniCtion. Then the MPU would write 0111 0100 at PIAB. Note that
this assumes PIAB has been programmed as an output port. Hhen the
Priority Encoder puts out the four bit number that corresponds to
the digit time put out by the HPU, the outptl.t of the digital comparator goes high. This enables the Quad And. When the Quad And,is
enabled the digital signals appearing at the four least significant
bits of PIAB are transmitted to K1, K2, K3, and K4. Thus the Kl,
K2, K3, and K4 inputs of the calculator receive the appropriate
inputs at the correct digit times. The ready line continually notifies the HPU ( via the PIA ) when a new instruction can be given.
To read the output of: the calculator chip the MPU takes the
following steps. First the tri-state buffer is enabled and second
the top four connections of PIAB ( those connectted to the tristate buffer ) are reprogrammed asinput ports. This allows the HPU
to read the digit times as 'they come from the Priority Encoder.
Also the HPU reads the outputs of the calculator chip via PI.AA
( which is programmed as an input port ) • The }1PU reads the digit
times at PI.AB and the segment outputs at PIAAo Then the MPU uses
software
to
decode the two in order to come up with the numerical
output of the calculator.
The only major circuit whose operation remains to be explained
is the Interrupt Priority Circuit. When the HPU receives an interrupt request
it loads the contents of addresses FFF8 and FFF9
25
( using.a hexadecimal addressing system) into the Program Counter.
HoH8Ver these addresses are part of the program stored in .the MIKBUG
ROM. So after an interrupt request the MIKBUG ROM program puts the
contents of addresses AOOO and AOOl into the Program Counter. The
eight most significant bits .are stored at .AOOO and the eight least
significant bits are stored at AOOl. Hhat this means is that after
receiving an interrupt request the MIKBUG ROM will cause 'the i'1PU
to execute the instructions that start at the address stored in
addresses AOOO and AOOl.
It is desired ·to have the VJ.PU handla interrupts of different
priority. Therefore the l':!PU should execute programs at different
locations in.memory depending upon the priority of the interrupt"
This goal is accomplished by using external hardware to fool the
Jv.IPU. The MPU Hill think i t is calling addresses AOOO and AOOl but
actually, because of the external hardware, the MPU
~vill
be looking
at one of eight ( the number of interrupts allovJed ) different pairs
of addresses. The
priori~y
of the interrupt determines which of
these eight address pairs the MPU is looking at.
Notice the logic circuitry beneath RAH #2 on the micro::!omputer
diag-;_·am. This serves as a chip enable/disable circuit. When the MPU
calls addresses BXXX, AOOO) or AOOl RAM 1!2 is enabled and RAH ifl
is disabled. Also .-Then address AOOO or AOOl is called the l:in2 going
into the
Inte1~rupt
Prfority Circuit goes high.
Figure 7 shows a schematic of the Interrupt Priority Circuit
and the truth table for the MC14532 8-Bit Priority Encoder, Notice
that \vhenever an interrupt request is received the MCJ.l+532 p:Jts a
26
INTERRUPT REQUEST
ENABLE LINE
+5
14532
SELECT
D1
INTERRUPT
REQUESTS
D
D2
ID3
Df+
D5
D6
<,--
D
Q,
Q'2.
-
Al
A2
A3
D
11E
D7
No C.
Eo
v'\1\/'---H t--·
10 K
-----
100
IPF.____
>TO IRQ ON THE H._ou
TRUTH TABLE OF THE HC 14532
D7 D6 D5 D4 D3 D2 D1 DO Q Q Qo
0 0 0 0 0 0
0 0
0 0 0
1 X X X X X X X
1 1 1
1 X X X X X <T
A
1 1 0
0
0 0
1 X X X X X
1 0 1
0 0 0
1 X X X X
1 0 0
0 0 0
0
1 X X X
0
1 1
0 0 0 0 0
1 X X
0
1 0
0 0 0 0 0 0 1 X
0 0
1
0 0 o. 0 0 0 0
1
0 0 0
Eo
l
0
0
0
0
0
0
0
0
FIGURE 7: SCHEMi1.TIC OF THE INTERRUPT PRIORITY CIRCUIT
INPUT
OF
RAM
#2
27
lovT en f.he IRQ input of the MPU ( via the Eo output ) and it outputs
a three bit number whose value depends
interrupt (via Qo, Q , and Q
0.11
the priority of .the
). When IRQ goes low the MPU (via
the MIKBUG ROM ) will try to read addresses AOOO and AOOl. This
will disable RAH ill and enable both RAM #2 and the Interrupt Priority
Circuit. The Interrupt Priority Circuit is enabled by the Interrupt
Request Enable line going high. ( Figure 7 ) • The 74-75 latch stores
the values of Qo, Q1 , and Q '2. when Eo goes low ( that is,' <vhen an
interrupt request is received·). The Rc network delays the storage
of
Qo~
Q 1 , and Q?.. until their proper
valt~es
have propagated through
the MC14532. Hhen the Inte:crupt Request Enable line goes high it
brings the select input of the 74257 chip high. The 74257 is beihg
used as a three line data selector. When its select
the
Al~
inp~t
is low
A2, and A3 lines of the Address Bus are connected to the
Al, A2, and A3 inputs of RAM #2. When an interrupt request is made
the select input goes high
and Qo, _Q 1 , and Q '2. are connected to
the Al, A2, and A3 inputs of RAM #2. This means that after an
interrupt :>:"equest Qo, Q1 $ and Q 2.. are addressing RAM i/=2 not 1 ines
Al, A2, and A3 o:f the Address Bus. Since Qo, Q,, and Q 2 are different
for different priority·ipterrupts, different locations in RAM #2
will be addressed for different priority interruptso The programmer
can have any desired addresses in these locations by having previously
m~itten the numbers in when Ri'M =/,1=2 Has addressed at BXXX. ,Figure 8
sho\vs the address the f>:lPU \·lill reach when it tries to address AOOO
and AOOl for different priority interrupts.
Tte final feature of the microcomputer that remains to be ex-
28
INTERRUPT
PRIORITY
MPU
NPU ATTEHPTS
TO ADDRESS
AOOO
Q Q Qo
1
1
1
d
ACTU.ALLY
ADDRESSES
BOOE
A001
1
1
1
1
BOOF
AOOO
1
1
0
0
BOOC
A001
1
1
0
1
BOOD
AOOO
1
0
1
0
BOOA
A001
1
0
1
1
BOOB
AOOO
1
0
0
0
BOOB
AOOl
1
Q
0
1
B009
AOOO
0
1
1
0
B006
AOOl
0
1
1
1
B007
AOOO
0
1
0
0
B004
A001
0
1
0
1
BOOS
AOOO
0
0
1
0
B002
A001
0
0. l
1
B003
i\000
0
0
0
0
BOOO
AOOl
0
0
0
1
BOOl
AO
ls~
2nd
3rd
lj.th
5th
6th
7th
8th
FIGURE 8: LOCATIONS ADDRESSED BY THE MPU FOR
DIFFERENT PRIORITY INTERRUPTS
29
plained is the address decocl'ing circuitry. It is desired to have
the MPU address only one location at a_time. To insure that this
occurs the address decoding circuitry t's used to enable only one
device at a 'time. The 74154
!+
to 16 line decoders are used as
Address Bus decoders. The four bit binary number appearing at the
input of a
7l+l5L~
is transformed into a hexadecimal number. The
output line of the 74154 that corresponds to this hexadecimal number
goes low while the other fifteen output lines remain high. For
example, if the input is 0001 line 1 goes low, if the input is 0101
line A goes low, and if the input is 1111 line F goes low. as shown
in the microcomputer diagram, Decoder 1 is used to enable the various
devices composing the microcomputer and Decoder 3 is used to select
¥Jhich of the sixteen l/0 ports will be enabled. Figure 9 shows
the memory map of the microcomputer. The memory map shows the
hexadecimal addresses where each microcomputer device is enabled.
30
DEVICE
~RAM
ADDRESS LOCATION
BOARD
0000 TO OFFF ( 4K )
PIA ffl
8003 TO 8007
PIA 1/:2
9000 TO 9003
RAN 4,1:1
A002 TO A07F
RAM 4/2
AOOO TO AOOl ALSO BOOO TO B07F
I/0 PORTS
cxxo TO CXXF
MIKBUG
ROM
FIGURE 9: ME10RY MAP
EOOO TO FFFF
OF THE !1ICROCOHPUTER
MICROELECTRONIC RESISTORS AND RESISTOR TRIMMING
This chapter will serve as a introduction to the application
of a microcomputer in a laser trimming systemo First this chapter
will discuss microcircuit resistors. Secondly it will cover the
reason for, and theory behind, laser trimming.
Microelectronic resistors can be divided into two basic
types~
thin film and thick filmo Both types of resistors have the same
basic structureo That is, conductive strips are deposited on a
substrate. A substrate is a thin insulating slab that serveA as
the foundation for a integrated circuit. The conductive strips
would typically be a metal such as aluminum or gold. To complete
3
the resistor a resistive material is deposited between the conductorso
Thin film resistors are formed by depositing conductive and
resistive films using vacuum evaporation, cathode sputtering, or
clect1:·on-beam evaporation. Films deposited by these techniques
I~
~·Till
have a thickness of typically 30 Angstroms. Thick film resistors
are formed by applying and firing pastes onto a ceramic substrate.
These pastes are usually applied using a silk-screen method. A
thick film t·esist:or will have a typical thickness of 100 1 000
s
.a.ngst 1;om~.
Two other concepts that are important to microcircuit resistors
are the concept of the
equation (1)
<>t
'IT
~quard
and the sheet resistance (Rs). In
should be a constanto This constant is sometimes
31
32
·called the sheet resistanceo It would be expressed in ohmso If a
resistor is a square with conductors on opposite sides of the resistor» then the length will equal the width. If
~
equals W in
equa~
tion (1) tlfen R equals 'YT (the sheet resistance). This is significant because a Bquare1 of any size will have the same resistance.
This fact can often be used to calculate the value of a micrdcircuit
resistor. The resistor would be divided up into
the
1
squares 1 would be counted. The number of
1
1
squarei'. Then
squares 1 times the
<>heet resistance \'i'Ould give the total resistance. An example of
this is shown in Figure lOo
1
CONDUCTOR
I
2
.,_____ j ___ I
_ l . _ . _ _ _ _ .,
,.2_i
:
....
"
I
CONDUCTOR
~·----1,_-,----_
ASSUME THAT Rs == 10 K ohms
FIGURE 10: CALCULATION OF RESISTANCE USING
SQUARES AND SHEET RESISTANCE
There are three squares and Rs == 10 K ohmso The total resistance
is the product of these two quantities, 30 K ohms.
Unfo~tunately,
because of the complexity of the manufacturing
process, microcircuit resistors can not be produced with the accuracy
required for today's electronic circuits. An electronic circuit will
typically require resiP.tqrs ',;hose values are ,knmvn
'~<lith
A microelectronics resistor, however, will. often vary
from the
n
.± l%'o
20% or more
desired value. This means that microelectronic resis-
tors would have too wide a variation in resistance for the complete
33
circuit to function prciperly. To correct this
proble~
microelectronic
resistors are adjusted so their values will fall within the tolerance required for the citcuit to function. The resistor is adj~sted
by cutting ··part of it av.ray with a laser. This is what is me8nt by
laser trimming.
Laser trimming is based on equation (l).
R
= P*L
(1)
T*W
\vhere;
R
=
p =
Resistance
Resistivity of the Hat erial
L
--
T
= Thickness
Length of the Resistor
of the Resistor
W = Width of the Resistor
Equation (1) shows
the resistance
i~
proportional to the length
and inversely proportional to the width. Therefore by increasing
t~e
length and/or decreasing the width the resistance can be in-
creased. This is the idea behind laser trimming.
The first step in producing an accurate resistor is to deposit
an initi.al, inaccErat e resi.stor. The initial resistor is nec::'.essarily
inaccurate because of manufactoring vsriables. It is essential that
the initial resistance be less than the final resistance. This means
if the process engineer can only produce 20% resistors but he wants
to produce a
1/~
resistor he will aim at depositing an initial resistor
whose value is at least 20% less than the desired final resistance.
For example assume the integrated eircuit rec;uires a 100 K ;!·I %
34
resistor? The process ~ngineer might deposit a 75 K !20% resistor.
This would insur<e that the initial resistance was less than the
desired resistance.
The
n~x~
step in producing an accurate microcircuit resistor
is to trim the resistor to increase its
resistance~
Trimming consists
of cutting part of a resistor away. By trimming a resistor in the
appropriate manner the resistor width can
b~
decreased and the
resistor le:1gth can be increased. Therefore according to equation (1)
the resistance can be increased by trimming. As the resistor is
trimmed its resistance is monitored. When the resistance reaches
the desired value the trim is stopped.
There arc three types of of cuts used in trimming resistors.
These are the straight cut, the L-Cut, and the serpentine cut.
These cuts are shown in Figure 11.
For the straight cut the resistance is a function of how far
the cut extends into the resistor. A derivation of this relationship
follows (see Figure 12 ).
C
= % of
H
= Width
L
= Length
K:
= Fractional
Resistor Cut Through
of Resistor Before Trim
of· Section
Part of Resistor Cut Through ((~)
Rs - Sheet Resistance ( ~)
Rt
-~
Tr.:irmned Resistance
Rn ""' Untrimmed Resistance
ASSUHPTTONS
(1)
Current flovJ is negligible in the cross hatched area
35
ct'JNDUCTOR
T__
RESIS_T_O_R_ _ _ _
-CONDU~lOR
A) STARTING RESISTOR
i
r-~1---~--L__
B) STRAIGET CUT
----------r-~
-
..,____.[_--7"'-~,~-------.
C) L-CUT
_l.~l_D) SERPENTINE CUT
FIGTJRE 11: DIFFERENT TYPE'S OF TRIMS
36
(2) There is uniform current flow in and out of terminations
R
dR
-
'( 2)
Rs*X
w(x)
--
W(X)
(3)
Rs'i:dX
WTx)
\
(4)
= W(1 -~;
'(5)
(6)
Rt
== _!{s*L
vl
f_! ln(--1-)]
1--K-
(7)
~K
(8)
Note: Rn - Rs*L
w
so
Rt
::::
Rn[~
Rt :;;; 1 1n(
Rn
K
ln(
1
1
1
~
K)]
K)
(9)
(10)
It can be seen from Figure 13 that as K approaches 1 ( that:
is the resistor ia almost cut through ) the resistance increases
very quickly. This means \vhen trimming a resistor in this region
a slight ove·rshoot can lead to a resistance that is much higher
than desired. To avoid the extreme sensiti'Iety of Rt to K, as K
approaches one, the L-Cut is sometimes used.
37
c
_l
TERHINATION
TERMINATION
w
l_ ~-·-·--1.....\.
X
0
FIGURE 12:
RESIST&~CE
__
j
-----7
L
AS A FUNCTION OF TRIMHING
150
~~
RESISTANCE
INCREASED
100
50
-~
-~
0
o
I ----...----r---tt--··----~,..----r---t---r----t--1
0.1 0.2 0.3 0.4 0.5 0.6 0.7 o.s 0.9 1.0
RESISTOR WIDTH CUT THROUGH ( K )
FIGURE 13: PLOT OF
% OF INCREASE IN RESISTANCE VS. K
( .EQUATION ( 10 ) )
38
figure 14 provides an
exE~rnple
of hm·7 L-Cuts are less sensitive
to K than straight cuts.
In part A
(11)
Rt :::: Ra + Rb
from equation ElO)
Ra -~ 0.4Rn
(12)
Rb '2£ 1.6Rn
(13)
Rt - 0.4Rn + 1.6Rn
(14)
so
(15)
Notice that trimming the resistor (1-K)*\.J further w:i.ll
cut through the resistor, giving Rt ::::
00
•
In part B
Rt -- Ra + Rb + Rc
(16)
from equation (10)
Ra ...., 0.4Rn
(17)
Rc ~ 0.4Rn
(18)
since L ""'\-1 11 Rs
end the
1
= Rn.
Using the concepts of the sheet resistance
square 1 :
(19)
80
Rt ~ 0 .6,Rn + 3 .ORn + 0 .4Rn
(20)
and finally
, Rt
= 3.8Rn
-./
(21)
39
1/
L
·---lr=.::.::---~-·-
i
a I
:-..
I
A)
I
I
'
b
---
''
'1\
----i"\--
1
''
I
I
K :::: 0.8
KH
'
~--IlL..------------·-'·_'_,--"! l_l_
I
I
r--
-1
3 (W •· KH)
1---;:---------T,--lf-~:_h\.
a
b
I c
\
B)
I
L == H
\
\
I
FIGURE
11.~:
Cat-'.!PAR ISON OF THE SENSITIVITY OF
STRAIGHT AND L-CUTS TO K
K
= 0.8
40
Notice that under :i.dentical conditic;ns trimming a distance of
(1.- K)W \vith the straight cut would increase the resistance from
2Kn to oo • However trimming three times this distance ( 3 (1 - K)W )
only increased the resistance. from 2Rn to 3.8Rn.
Now examine what
~muld
,happen to the resistor in Figure 14 if
the L-Cut was continued all'the way to the conductor. This is shown
in Figure 15.
In Figure 15 the total resistance is:
Rt
=
Ra + Rb
(22)
as before
Ra
~
Rb
= Rs *
0.4Rn
(23)
(23)
nmv
4(W - KW)
K)W
<1-
= 4Rs
(24)
since L ·-- W
Rb
= 4Rs = 4Rn
(25)
and finally
Rt
~
0.4Rn + 4Rn
= 4.4Rn
(26)
This example shows the basic limitation of the L-Cut. Using
an L-Cut the final resistance can only be a few times more than the
intial resistance. It is true that a large final resistance can
be achieved if the value of K approaches one. However a large (near
one ) value of K creates. two problems. First. there is the:danger of
overshoot when making the trim. Second ·as,K approaches one the
resistor may be cut too narrow to carry a required current. In
practice K is often limited to about 0.6 or less. To summarize, i t
· a
r
TI
l
b
,.i..-------·-·~
.·
:-------~-
KW
tc.:l(----4(vl 1
KW) · - - -
I
_J__L __.
~
L
. L =' W ·
FIGURE 15: L-CUT TO GIVE HAXIHUM RESIST/>.J~CE
~
42
I
L
=:=
K
= 0.8
I
I
L_l_~
A
--r
I
.5
1
1
~l
1
1
1
1
1
1
1
1
.4
.4
---- -'i
L
.
1
.
sl
_ _ _j -~B
FIGURE 16: RESISTOR TRH1MED WITH A S.ERPENTINE CUT
\.J
43
is often difficult to achieve a large increase in resistance by
using a
s~raight
cut or an
L-Cut~
in these cases a serpentine cut
is used.
Figure
~6
(a) shows a resistor that has been trimmed \-Jith a
serpentine cut. Figure 16(b) shows the resistor portioned off so
an approximate value for its resistance can be calculated. Counting
the squares gives a value for Rt of about
12~8Rn.
To sununarize the results of the different types of trims with
a K of 0.8, the straight cut gave Rt "' 2Rn, the L-Cut gave Rt
Rn, and the serpentine cut gave Rt
=
= 3.8*
12.8Rno These ratios will
change for different resistors and for different values of K but
the order will remain the same. In general, when only a slight increase in resistance is needed a straight cut is used, vhen a moderate increase
~s
desired an L-Cut is used, and a serpentine cut
is used '\\7hen a large increase in resistance is required.
APPLICATION OF THE HICROCm1PUTER TO LASER 'TRJ:t--1HING
This chapter will first describe the original, manual laser
trimming system used by the Hicroelectronics Branch. Next the system
and circuits of the
new~
automated laser trinlming system will be
discussed. Finally the software used in the automated trimming system
will be described.
Figure 17 shows a block diagram of the manual trimming system.
To trim a resistor the operator would first position the probes on
the conductors adjoining the resistor. This would be done by hand.
Since the probes are like sewing needles and the
condu~tors
might
be as narrow as five mils, positioning the prcbes wotild be a very
painstaking, time consuming proeess.
Next the operator \·muld measure the resistor with the ohm meter.
By knowing the present value and the desired value of the resistor
the operatol' \vould decide what type of trim he needed to make. If
he JAranted to make an L-Cut he would have to specify where the corner
of the L-Cut would be. Xhe operator would calculate this using a
nomograph along with information such as the maximum allmvable
K
and the sheet resistance. The nomograph >vould give the percentage
of the final desired resistance at w·hich the trim should turn the
corner. If he was making an L-Cut the operator would dial this
percentage into the monitor. Also the operator would dial the final
desired resistance into the monitor.
TV CAMERA
TV MONITOR
--~
1/
I/
.-f'------------1
,-----
/
LASER
CONTROL
UNIT
PROBE
f'ROBE
RESISTOR
-----·~·---·----------1--<ll--l
FIGURE 17: THE MANUAL LASER TRH1HING SYSTEtvJ
MONITOR
J
li-6
After the operator had decided the type of cut to make and its
direction he would punch this information into the controlling unit.
For example, he might punch in that he wanted to make an L-Cut that
started
ou~
in the+Y direction
a~d
then turned the corner and went
in the+X direction until' the final resistance value was reached.
Next the operator would position the laser on the resistor.
He vlould use the TV monitor and camera to do this. The intersection
of the crosshairs on the TV monitor corresponds to the position of
the laser beam and the TV camera shows the resistor. The operator
1 ines up the crosshairs ,.,here he '"ants the laser to start: the trim.
Finally the operator is ready to start the trim. To do this
he pushes the appropriate button on the controlling unit. If a
straight or L-Cut is being made the trim will be completed automatically and the laser will be turned off when the resistor reaches
its final desired value.
If a serpentine cut is being made the process is slightly more
complicated. The operator sets up the system· as if he was making a
straight cut. However after starting the cut he stops the trim
manually. The operator then sets up to make another straight cut
from the oth0r side of the resistor. He starts this cut and again
stops it marn1ally. The operator continues making straight cuts from
alternate sides of the resistor. He stops these cuts manually until
the final desired resistance value is reached. When this
~appens
the monitor will stop the trim automalical)y.
Trimming resistors using a manual system like the one just
described is a very time consuming process. Using an automar:ed
47
trimm:lng system provides e.great saving of time and
a corr·esponding
saving of money. For example a Collins Radio group w·as using a manual
trimming system to trim an integrated circuit that had thirty
resistors on it. Using a manual trimming system they \ve-r·e spending
about three hours trimming these resistors. Eventually they switched
to an automated trimming system; With the automated system they
spent five minutes trimming the identical integrated circuit. Tl-.e
source
this information came from did not describe the type of
•
E,
automated system Collins Radio was us1ng. However there are only
tv10 types of automated laser· trimming systems commonly used. These
two types will be discussed at the end of this chapter.
A block diagram of the automated laser trimming system is
shown in Figure lB. The microcomputer shown is used to control the
rest of the system. This is the same microcomputer discussad
previously in this report,
The controlling unit shown in Figure 18 is almost the same as
the
contn~lling
unit used in the manual trimming system. The con-
trolling unit for the automated system is_ the same as that in the
manual except that its switches are not closed manually. Instead
of having an operator pushing buttons, the switches on the
auto~ated
controlling unit are controlled electronically by signals from the
microcomputer. The automated controlling unit enables the microcomputer to position
th~
laser beam, to select the type
o~
cut,
and to start and stop the cut.
The laser and the resistor would be the same in both the automated and the manual trimming systems.
48
MICROCOMPUTER
E:~NC~ CAR-;-~
~
l
_L__,
REL,AY HATRIX
j---·---------
----r-~~=~
,t-----t--1
c:~~~ ~---r
TTY
L-·------·
FJ.GURE 18: THE AUTOMATED LASER 'Il'.Uflv!ING SYST:SH
.,
49
The prasence of the probe card is a major difference between
the manual and automated laser trj_mming systems. The probe card consists of a printed circuit board with a hole cut through'it. The hole
is slightlf larger than the integrated circuit that is being trimmed.
Numerous stiff wires.are mounted along the edge of the hole. These
wires extend toward the center of the hole. The wires are positioned
so that •N"hen the probe card is lowered over the integrated circuit
the wires will make contact with the conductors that adjoin all the
resistors being trimmed. Conductors ·r:un from the stiff wires to the
edge of the card. A drawing of the probe card is shown in Figure 19.
The probe card is mounted in a socket that is attached to a jig.
The socket makes electrical contact with the wires on the probe
card. The jig enables the probe card to be raised and lowered over
an integrated circuit. The stiff wires on the card make contact
with the ends of each resistor that is to be trimmed. By connectting
an ohm meter to the appropriate contacts at the edge of the card it
would be possible to measure or monitor the value of any one of the
resistors.
The relay matrix serves to interface the probe card and the
reference
ca~d
with the monitor and the ohm meter. The relay matrix
consists of 64 relays that are controlled by the microcomputer.
These 64 relays are divided into two banks, Bank A, and, Bank B,
each consisting of 32 relays. B~nk A serves to connect any one of
32 piobe card contacts to a common line. Bank B serves to connect
any one cf 32 reference card contacts to this same common line.
This common line is connected
to both the motdtor and the ohm
50
FIGURE 19; DIAGRAM OF THE PROBE CARD
.
(
51
meter. Figure 20 shows·how the relay matrix is connected
Figure
21 shows a schematic of the relay matrix.
The values of the resistors on the reference card are equal
to the fin§l desired values of
th~
corresponding resistors on the
integrated circuit. That is, Rn1 is to be trimmed to the value of
Rref1: Rnz ta Rre£2, etc. The reference resistors are discrete precision resistors. A custom reference card must be prepared for each
different integrated circuit that is going to be trimmed.
To see the significance of connectting the resistors to the
plus and minus power supply voltages it is helpful to examine Figure
22 and Figure 24. Figure 22 shows the ohm meter. The ohm meter con·-
sists of a buffer amplifier and a analog to digital converter.
The AID .converter converts the voltage E to a digital form so the
microcomputer can interpret it. The microcomputAr al read.y kno<·lS the
voltage V and the resistance of Rrefx. Using the quantities E, V,
and Rrefx the microcomputer can calculate the value of Rnx as
follows:
I
Rnx
= E- (- V)
Rref
(27)
-
{28)
+V-E
I
The microcomputer uses the ohm meter to measure the value of
Rnx far tHo purposesc First the microcomputer must decide whether
to make an L-Cut or a serpentine cut. This deci.sion is bas'ed on the
following derivation. Figure 23 shows a resistor that has been
tri.mmed using a L-Cut.
52
TO MONITOR AND OHM NETER
~:---
l
'I
J
J
II
I
REFERENCE CARD
I
I
n
:L_ __ ,. . ,
Rref
~
I
I
~~-
Rref
BANK B
-V
RELAY 1
.
r-<!~ -v
~
I
Lq~
·
.
n~·-<) v
Rref
.
+~ELAY
3
_,.--
'$ A
~~~---··- - ~- - -:v
n~-o
Rref
RELAY 2
. .
~'::
I RELAY 32 1
'~~-· -···----~J
j .
I
.
L ___ ··---~--~~·~
1
.. _________
FIGURE 20: DI.AGRAH OF. THE PROBE CARD, THE REFERENCE CARD,
AND THE RELAY HATRIX
53
+12
------l~-1~
l/0
74154
PORT
TO
PROBE
j_
'-~----
CARD
BAl'lK A OF
RELAY HATRIX
4
.....:;). ABCD
~~-t-r:-·- ~CD
I/0
PORT
L____
f-
-t
Gl
G2
1
-
._____
..J
- BANK B OF
RELAY MATRIX
FIGURE 21: SCHEMATIC OF THE RELAY HATRIX
54
MICRO-
lAI-D
-fC0~1PT~T~~\
--
I/0
PORT
E__J CONV.
l
L_
TO MONITOR.
_v
.
FIGURE 22: DIAGRA"l
OF. THE OHV
.
i l HETER
l
---1
--~-
I
...
---~t_____
........,..._....
___I.
55
l
B
I
~~I [
""
-T""''
.I
-·~
~
r .
·---'----'---·
I
--·-----1---·
'
r~~
' I
O.SL---=i
FI,GURE 23: THE L -CUT
(29) '
Rmax
= 0.2ln{
~
1 )Rn
\:l-K
+
~~Rn
1-K
Assuming a maximum K of 0.5
Rtnax
=
lv 9 Rn
That is a resistance can be increased 90% hi using an L-Cut
If a greater increase is required a serpentine cut must be used.
To allow for a safety factor;
If 1a3 Rt
~
Rmax then the microcomputer
would make an L-Cut.
And
If l. 3 Rt ?: Rmax then the microcomputer
would make a serpentine cut.
The microcomputer uses the ohm meter to measure Rn, then
i~
ca~culates
Rrna21:., Fina1ly it compares Rt to Rm8x and decides v:hat type of cut
to make. The microcomputer does not make provision for making a
straight cut. lf the resistor js such that it could be
trim~ed
using
.56
J
~
Rnx
E
.>-<!'-----~TO
OHM METER
j
-l
TO STOP TRIH
~----~__u_r_P_P_E_R---~~~~~----------
FIGURE 2l:: DIAGRAM OF THE MONITOR
57
a straight cut the microcomputer will calculate that a L-Cut should
be used"to trim the resistor. The system'would start to make ~n 1-Cut
but the final., desired resistance \<TOuld be reached and the trim
would be stopped before the L-Cut would turn the corner.
The. second purpose o·£ the ohm meter is to serve as a check.
After the resistor is trimme'd the ohm meter is used to measure Rn
again. The microcomputer then makes sure this value of Rn is
within the
r~quired
tolerances.
Figure· 24 shows the monitor circuit. Amplj_fier Al is a buffer
amplifier. At the start of the trim Rrefx is larger ~han Rnx! therefore the voltage E is positive. When Rnx is greater than Rrefx E
is negative. Amplifier A2 serves as a zero crossing detector for E.
Wben the two resistors are equal E will be zero volts. Ther1 the
output of A2 \vill jump from
+Vsupply to
-Vsupply. This 1>ignal is
clipped to TTL levels by the clipper circuit. The output of the
clipper circuit stops the trim. A schematic of the clipper circuit
is shown in Figure 25. +Vsupply is clipped to five volts and
-Vsupply is clipped to zero volts.
Vz ;:: 3.6 VOLTS
10 K
Vin
o-;/\/'vl\._ __,~-i
!'-""'
--~[~
910
..n..
13 K
"--~~-v\fV......_;_---·D + 15 VOLTS
~
1 Vo
FIGURE 25; SCHEMATIC OF THE C1" IPPER CIRCUIT
Vo
58
The te:t etypewriter sho1im in Figure 18 enables the operator to
give the mic;:ocoinputer the information it needs to trim the resistors.
Next the complete automated laser trimming process will be
described. As a preliminary step the operator places the integrated
circuit in a jig and lowers the probe card over it. The rest of the
trimming process can be understood by examining Figure 26. It shows
the flowchart of the program that controls the automated laser
trimmer.
As shown in Figure 26 the operator would first use the TTY to
give the microcomputer the data concerning the integrated circuit.
This data would consist of the position of the resistors, the values
the resistors \vere to be trimmed to, and how far each resistor
could be cut J.nto (the K in equation (10) ) • After it had this data
the program would determine if all the resistors had been trimmed.
If so, the program would stop. If not, the appropriate contacts (on
the probe and reference cards ) for the next resistor would be
selected. Then the ohm meter would be used to
meas~re
Rn. If Rri was
greater than Rt: an error message would be typed. If not, the microcomputer would calculate Rmax and 1.3 Rt. As described previously
if 1.3 Rt \vas less than .Rmax the system would make an L-Cut. If
1.3 Rt was greater
th~n
Rmax the system would make a serpentine
cut.
If the microcomputer decides to make an L-Cut it would first
position the laser and select the direct ion in vlhich the cut would
be made. The microcomputer would accomplish this action by grounding
the appropriate pins on the cGntrolling unit. The controlling unit
59
I
~r
/-------·----------J
READ DAI'A - - ]
[~~ST
R?
YES
~~TOP . -~
!""~PROBES
·~--1
=.J
C~~1P ARE R -~ _BAD ~ ERROR
L- CUT
I
SERPENTINE CUT
Es~~
FIND CORNER
J
~-s
=~J
r;_,URN CORNE;-1
~~
I
I
___j
MONITOR
r;:OP CUT
L
I
J
I
YES~
·:=J·
~
·-{;
MAX
I
--,---1
NO
---~- ~0
I
I ERROR
~--------
I
I
CUTS HADE? I
~s
\!. ______l
IERRC;I
l
STO~ ~ES-f-~K?
Noj
I
II
. J
--ERROR
I
__j
FIGURE 26; FLOWCHART OF THE AUTOHATED TRU:!MING SYSTEH PROGRAM
vis
60
was constructed by the "factory so that the same functioh that was
performed by pushbut:tons in the manual system could-be performed
by TTL logic
v~vel
s in an automated system. TTL levels could be used
directly to control some functions. For other functions TTL levels
,.muld be used to trigger relays that bypassed certain switches.
The integrated circuit is considered to be tovered by a grid.
This enables the positions of the resistors to be specified by X-Y
co-ordinates. The laser beam is positioned by stepping motors. The
stepping motors are controlled by pulses from the controlling unit.
These pulses are counted by the counter circuits shmvn in Figures
27 and 28. The outputs of these counter circuits give the micro-
computer the laser beam position in terms of X and Y. By monitoring
the counter circuits the microcomputer can locate the laser beam
accurately. The digital comparators in Figures 27 and 28 are used
to prevent the laser from cutting to far into the resistor. The
microcomputer calculates the limit of how far into the resistor the
laser can trim. This number is given to the 'b' inputs of the comparator. The comparator will indicate when the corner will be
turned 't7hen making the L-Cut.
Now the system starts the trim. In some cases Rt is reached
before the laser
turn~
the corner. In this case the monitor in
Figure 14 will stop the trim. In other cases the comparator shown
in Figure 27 or 28 will cause the laser to turn the corner ( via
1 ine A or B ) • Then the monitor will stop the trim 'vhen the resistance reaches Rt.
Next the ohtn mP.ter j_s used to measure the resistance. If the
resistance does not equal Rt ( within tolerance ) then the
micro~
61
~------·----~--r---1
·:_t
4
-X
+X.
=0-
PULSE
INPUT
FROH
CONTROL
UNIT
r/DOWN
COUNTERS I
I
r-~~-~
'
4
:J
OUTPUT
PORT
L--r-
I
1-:---
lrouR-h
.BIT
__
DIGITAL
4
COHP.
. .
INPlJ1:J'
PORT
4
.
I
4
OUTPUT
PORT
I
4
4
B
"------~ TO INTERRUPT
OR DOl-IN
SFLECT FROH
CONTROL
UNIT
UP
FIGURE 27: DIAGRAH OF THE ±X DIRECTION COUNTER
PRIORITY
CIRCUIT
62
-~--+--lr--·-.
4
INPUT
'
PORT
--·--·---L-.
PULSE
INPUT
FROM
CONTROL
--·
J
I
UP/DOWN
UNIT
COUNTERS
J
'
TP~~T
---1---JrPORT
ou
FOUR
BIT
.J.
4
1
I
-1--~
4
4
l____j
---1--
L_
:
-- l_--·------:7
--~TO INTERRUPT
PRIORITY
CIRCUIT
UP OR DOHN
SELECT FROH
CGNTROL
UNIT
FIGURE 28
DIAGRAM OF THE ±Y nB.ECTION
COUNTER
63
computer prints a error messagee I£ the resistance does equal Rt
( within tolerance ) then the program loops back to determine if this
was the last resistor to be trimmed.
Had the microcomputer decided to make a serpentine cut instead
of a L-Cut (that is.if 1.3 Rn had been less than Rt ) then the program would have taken the following steps. First the laser beam
\Wuld be positioned using the counter
circui~s
and the comparators.
Next the limit on how far the trim could go into the resistor
would be put into the comparator. Then the trim would be started.
'This trim would be stopped by either the comparator or .the monitor.
If the comparator stopped the trim then the microcomputer would
determine if the maxirnum number of cuts had been made. If not, then
the laser be.am would be repositionP.d and another cut would be made.
If the maximum number of cuts had been made, then no more cuts could
be made witlwut cutting beyond the limits specified for the resistor.
Since the resistance would not equal Rt an error message would be
printed.
If the monitor stopped the trim then the ohm meter would mea-·
sure the resistance. If the resistance was not equal to Rt an error
message would be printed. If the resistance did equal Rt ( within
tolerance ) then the program would loop back to determine if this
was the last resistor to be trimmed.
It should be mentioned that there are two alternate methods
used to interface automated laser trimming systems to the resistors
that are to be trimmed. One way is to use a probe card and a switchii:,t:; matrix as v1as done for tlns project. The other common ~vay is to
64
use only two probes and have them positioned by stepping motors
anywhere on the integrated circuit being trimmed. The second method
is more versatile than the first. Using motorized probes .also eliminates the need for a probe card and a switching matrix. The second
method has the disadvantage that extreme precision is required in
constructing the motorized probe-assembly. The first method has the
advantage that even if the microcomputer is dovm s the probe card
and switching matrix cen be used manually. This \vould cut the
trimming time in half compared to a completely manual trimming
system a
Neither automated system would require the television monitcr
and camera ( although it would be desirable to retain the television
system as a back-up for manual operation ). Both automated systems
would require about the same amount of memory (12K ) to store the
trimming program. Because of the difficulty in constructing a
sufficiently accurate motorized probe assembly it was decided to
use a probe card and switching matrix system in this project.
This concludes the discussion of the first project. It is
hoped that satisfactory introductions to both laser trimming and
automation ( via microprocessors ) have been presented. The
description of the second project ( radar error correction in
real time ) begins in the next chapter.
RADAR ERRORS AND THEIR CORRECTION
Electronic, mechanical, and environmental effects introduce
errors into radar systems. These effects can cause errors of 100
fe.et or more in the location of a target. Fortunately it is possible
to compensate for these effects, and improve .the accuracy of the
radar data by an order of
magnit~de.
In the late 1960's the Joint Range Instrurr.entation Accuracy
JJ!l!xcovement Group ( JRIAIG ) was formed to identify and correct
1r.3jor radEr errors. This group was composed of both government
and industry representatives. They formulated a list of SO
significant radar errors ( errors
estimated to be greater
than
.
.
ten feet in range or ten arcseconds in angle ). This group c:lrso
derived a set of mathematical expressions which indicaLe how to
compensate for most of these errors.
7
In tl1e present system at PMTC the uncorrected data is stored
as it is generated by the radar. Later a
~omputer
is used to apply
the error corfection equations to the raw data.
This project proposes to use a microprocessor system to
ap~ly
the radar error equations to the raw data in real time.
Having radars that employ error correction in real time '\vould
be useful for programs that require accurate positi0u information
during or immediately after an operation. Real time radar error
correction would also enharice such systems as the Sensor Positioning
8
and Reed back System ( SPL'.KS ) at the Pe.cific l1issile Test Center.
65
66
SPARS iG a communication netvmrk that takes date. from a radar system
&nd distributes it to the computer and tq other radars. SPARS is
often 11sed .to slave one radar to anoth~r. The ~aster radar locks
on a target and then transmits the position of the target to the
slave radar. The slave radar then uses this information to lock
on the target. If the data from the master radar is inaccurate
( uncorrected ) then the slave radar might not be able t~ find
the target. Correcting the data as it leaves the master radar
increases t6e chance that the slave radar will be able to lock on
the target.
Equations (32), (33), and (34) shovl the radar error equations
for range, azimuth, and elevation respectively. These equations
are one of the major results of the JRIAIG study. Appendix D
contains the definitions of the symbols appearing in the error
equations.
b,R
= r 731
r
(BW)R(t) + r 732 CBH)R(t) + r 435 CS/N) +
'~35 (S/N)2.
+ (R/C)R (t) + r 133 CosE*SinA +
r• 133 CosE*SinE +
r"r3 ~
SinE+ r
712
+ rt,31 +
(32)
D.A= a
11
',.:HA(t) +
(a 221 SinA-
a'?_ 2 .1 CosA)TanE +
a 431 TanE + (K 1 Cos (A+¢ 1 ) + K2.Cos (2A-f·¢z.) +
K_;,Cos
(3A+¢3 ) + K:6 Cos (16A-t-s0 16.). + K32. Cos (32A+ r}:rz) +
K~s.Cos(48A+¢.._: 6 > ) + a2.:nSecE + a 2 &1 + a~n'l +
(a 131 CosA + a'.!31 SinA)*SecE/R +
(a ~:n
Si nA - a ' 137 Co sA) -;~,TanE
(33)
67
b. E = en Ht2.E(t) + e;:n. l.SinA + e'2.1..2. CosA + e s;uCotE +
(K 1 Cos (E+y\ )
-l·
KLCos (2E+ 1~) + K 3 Gos (3E+¢3 ) +
K 16 cos ( 16E+ ¢ 1 c) + K 37_Cos (32E+¢,n) + Klf 8 Cos (48E+~'IB ) ) +
e~n,
(34)
1o
WfiERE
R -- UNCORRECTED RANGE
A -· UNCORRECTED AZU1UTH
E = UNCORRECTED ELEVATION
The values of the three computed errors,oR,
I~A,
and 4E,
are used in equations (35), (36), and (37) to calculate th•'" corre.:;t
values of the range ( Rc ), azimuth ( Ac ), and elevation ( Ec)
respectively.
Rc = R + ~R
(35)
Ac ::: A + l':.A
(36)
Ec -
(37)
E +.6E
It is possible to measure the values of all the coefficients
sh~wn
in the error equations. Some of these coefficients are
relatively stnble. For example it is necessary to measure i:he 'encoder
Q
coefficients ( see Appendix D ) only monthly or bimonthly.' Other
coefficients must be measured within hours of the radar operation
(for example, the mislevel coefficients ).
68
A microprocessor system thac could provide real time radar
error correction is introduced in the next chapter.
'
THE ERROR CORRECTION SYSTEM
Figure 29 shows how SPARS is used to interface with a radar
system.
SPARS uses the Direction Data Line to tell the radar where
to look for a target.
By transmitting a pulse on the Interrogate Line, SPARS readies
the radar to transmit data. Then each time that SPARS transmits
a pulse on the Shift Line the radar will transmit one bit from the
Range
R ), Azimuth ( Az), and Elevation ( El ) Shift Registers.
SPARS has a maximum interrogation rate of 40 PPS and a maximum
shift raLe of B,OOO PPS. A timing diagram of the
r~dar
and SPARS
interface is show11 in Figure 30.
The radar is capable of transmitting the contents of it's
shift registers at a rate of 100,000 PPS. Thus if SPARS was
operating at it's maximum rate ( 40 PPS ) a microprocessor system
\·muld have 25 milliseconds to receive the radar data, correct it,
and transmit it to SPARS. Figure 31 shows a corresponding timing
diagram.
Figure 32 shows a diagram of the real time error correction
system. The .microcomputer uses TTL compatible logic levels while
both the radar and SPARS use logic high of 30 volts and logic low
of ze1:o volts. Interface circuits are needed to convert the radar
and SPARS logic levels to TTL levels and vice-·versa. w·e have designed
the interface circuits and
t~ey
are shown in Figures 33 and 34.
69
l.
70
INTERROGATE LINE
I
SHIFT LINE
J
~--~ADAR. -1
I
R -,
23 BIT
SHIFT
REGISTER
rc;~E;--~
T
~,_,;1
I
RADARS
~-.,.,..,...--
....,,_,
AZ
17 BIT
SHIFT
REGISTER
SPARS
A~~~---·--·l
EL
17 BIT
SHIFT
REGISTER
I
.
~--
---.. -·r--
___.
L.__l__j
~
L__~_. _____._.._.._DIRECT).ON
DATA
LINE
FIGURE 29: PRESENT RADAR/SPARS INTERFACE
{-----'I
OMPUTER
71
U:..IE---· 25 MSEC
1._
INTERROGATE
PULSE LINE
.-1
__,J_~
-~
.r
0.125 MSEC
_JLAMJA
-·--/f·-l
. l
SHIFT
PULSE LINE
t
__nr~,r----/-~!}·----~
--23 PULSES
2.9 HSEC
R LINE
DATA
AZ LINE
-~--ILJl_-1/---?r-
I
L
EL LINE
FIGURE 30
~
_n
-.
i
~
23 BlTS
L
ll
1
1;---l
I
L-rJ--_
TIMING OF THE RADAR/SPARS INTERFACE
-)>
72
25
HSEC
INTERROGATE
PULSE LINE
FROH SPARS
TIHE REQUIRED
FOR THE RADAR
TO TRANSFER
DATA TO THE
MICROPROCESSOR
SYSTEH
= 0.25 HSEC
. .__ ;:: 21.75 ---'<1
:tv! SEC
TIHE AVAILABLE
TO APPLY TEE
ERROR
CORREC'J'ION
EQUATIONS
-·
TIHE
REQUIRED FOR THE
HICROPROCESSOR
SYSTEH TO TRANSFER
THE CORRECTED
DATA TO SPARS
FIGURE 31: TIMlNG OF THE RADAR/MICROPROCESSOR SYSTEH/SPARS
73
E-<
H
;:::>
u
p:;
~-l
ROP!\.OCESSOR
SYSTEM
u
~
~
...
<C
(/)
....:1
H
<r:
J:>.<
I
~l
_j,_ __,__,
~
. I
I
l
~ L-~r+J~·---r-c'-~-±~t-.-1·~ L_ ___I LJ J
L- - - - · - - - · : ; . <4
~
N
J
~
t:::._.______ ·-~-·---~·-
FIGURE
~")
._}
.
.:.. "
REAL TIHE RAD1\R
ERf~OR
co:<.RECTION SYSTEM
74
+30
v
+5
v
1 K
27 K
Vin
_f'
-1.--)C>~-o
~/
Vo
CMOS CD L1009
-1~
4. 7 K
I
=----~---·--<--~--·-J
.1
SYMBOL
'
Vin
--~::~~~ Vo
fiGURE 33: 30 VOLT TO FIVE VOLT, ZERO VOLT TO ZERO VOLT CONVERTER
'"
I-
+30
v
]
S1o
K
/
Vin
Vo
0
51
<("->
II
~-
SYi'1BOL
--
~
470
l
Vin
FIGURE 34: 5 VOLT TO 30 VOLT, ZERO VOLT TO ZERO VOLT CONVERTER
76
Sh~ft
registers are also used in the interfaces to transform
bet.ween the parallel form of data in the,microproceessor and the
serial form of data in SPARS and the radar system. Thus serial-in,
parallel-out shift registers are used to transfer data from the
radar to the microcomputer, ?nd parallel-in, serial-out shift
registers are used to transfer data from the microcomputer to
SPARS •.
Figure 35 shows the interface circuit needed between one radar
shift register and the microcomputer. Circuits identical to this
one ( with the exception of the Shift and, Interrogate Lines ) are
needed at the output of the Range, Azimuth, and Elevation shift
registers.
SPARS has three inputs receiving the range, azimuth, and
elevation data. Therefore three circuits such as.the one shown
in Figure 36 are needed to interface the microcomputer to SPARS.
However, parts of the circuit shown .in Figure 36 are common to
the rest of the SPARS interface circuit. These are the two lines
from SPARS, the shift load line, and the Q line from the 7474
flip-flop. The microcomputer would store the corrected values
for range, azimuth, and elevation in the three shift.register circuits. Signals from SPARS
~vould
then shift this data out serially,
starting with the least significant bit.
The control panel iri Figure 32 has thre~ functions. F~rst it
lets the radar operator activate the erroi correction system.
Secondly it allows him to stipply the microcomputer with the values
of those error equations coefficients that change hourly ( The
77
RADAR.
·---·-·--,r .~~=·~·~~-1~~-- l!f.ll1l:::.!SY~Cif>J~~J~~INff-{i.Zio_}--- ~~~~E~lCROPROCESSOR
RADAR
SHI171~
REGISTER
_
I
..
,----~--~- ~TO FAILSAFE CIRCUIT
I
L - -..._ .
,I
1
I
+5
SERIAL- IN
y
J
r~ ~~·~~L.
1
PARALLEL-OUT'
/SHIFT
yf REGISTER
q
'7
SHIFT
LINE
TO
MICROPROCESSOR
c
FROM MICROPROCESSOR
SYSTEH
TO {)THF:R 7M6l> >S
CONNECTTED TJ Tl:-:!E
OTHER T\\0 RADAR
Q ....
:;-/J
l
SYSTEH
'l
_.j_J C
Q'
~~
L~----·-··J
SEIFT REGISTERS
FIGURE ~\5: RL\DAR TO ~1ICB:JPROCI~SSOR SYST'•:H :LNTERFi\CE
78
TO OTHER ClRCUrrs USED TO
INTERFACE THE HICROPROCESSOR
SYSTEH TO SPARS
'
FR0!'1
NICROl:'ROCESSOR
SYSTEH
HIGH TO (.)UTPUT
. II
FROH
MICROPRO-
Ct?S~nR
I LOAD
J
.
CO-RRECTED'
DATA
SERIAL IN
! 7L~l65
CI
A TO H
L______
QH
I
-_,L....;)
'8
CI
SEI~lAL-OUT
I
I LOAD
I
S!IIFT REGISTER
t")lt . l f .
~
I
I
l
l"7',J-."rl·. --···-·c,_-...1
"t
--··--··----~~----·.:-··
t
~
1--
.J.;:}J..t'~b
L
I
.
QHJ-,---~
~~~?~~~~RocEssoR' s ·
l ··'
I
I~,.
SER hL TN
SfllFT
L TNE
'l
I
~~~s
I<
...J
7416'5
I CORRECTED
~~~~ -~~---·"-'\A TO H
'
---r·-~
~~~{~~
I
30 I 5
t~-
t---~-------~~~~!~T-~~
P/\RAT,T,G"- IN,
:
UGl'
~--------..-~-· _ __J
1
·
t' _J.~.()JLIQ..1..QJ.JD_=-~-:;,.[ SHIFT - C:t~
1\.
'
SERIAL IN
-·--....,~ ,7~165
CI
1
!
1
r,-·
I
4--J
I
l
II
,
I' ·-·
I
1
sno
CORRECTEli IJATA FROH ~---·-f....::jt A TO H
QH J--·---l~ 'l.-~ TO
MICROPROCESSOR SYSTEH
8
---.----·
'--'
SPARS
FROH
HICROE!WCESSO!<.
SYST.r;:M
~71.74
------·-------·--J
'L--J?--~·-·-·
A
i.ow oN
THIS LINE
ol_l
FLIP-FLOP
~
CLEP.R
l
PREVENTS SPARS
FROM GETT1NG DAT,\
BEFORE THE HFU
I
I
SYSTEM
+5 0-·___j,_Hi\S CORRECTED I'T
CLOCK
-·--'
r-=:=L00--
30/5
FRO:tvl SP!JtS
INTERROGATE
, LH\E
FIGURE 36: HTCF:OPROcm;soR SYSTJ':H TO SPARS INTERFACE
•
79
stable coefficients are
sto~ed
in PROM). Thirdly it provides feed-
back to the operator. Before, during, and after an O?eration takes
place, the ·error equations coefficients that w3re being used to
correct the radar data would be pri;-1ted.
The failsafe system ( Figure 32 ) is used to protect the radar
data. If the microcomputer
f~iled
the failsafe system would bypass
the microcomputer and connect the rAdar directly to SPARS. The
circuits shown in Figures 37, 38, and 39 form the failsafe system.
The microcomputer requires five: MPUs. Every five milliseconds
the
prog£an~
of eecl1 MPU ger;erf:ltes a pulse. The circuit in Figure
37 detects the rising edge of these pulses and
tr~nsmits
a pulse
to the counter every millisecond if all five MPUs are running
prl)perly.
The second building block of the failsefe system is shown
in Figure .38. After eight pulses the BCD counter puts a high on
pin CB. However if the MPUs are running properly the output of the
Program Monitor Circuit ( Figure 37 ) will contint1ously reset the
counter and pin CB will remain low. The Relay Control Circuit puts
out lS volts if the MPUs run pcoperly and zero volts if they do not.
The
Rr~lay
System. is shown in Figur.e 39 .. The Relay Control
Circuit holds the relays closed
rt~hen
the JvlPUs run properly. If any
of the NPUs malfunctioned the relays would
open~
causing the error
correction system lo be bypassed,
At present) reel-tG-rf::'.el tape recGrders at the ra.dar site
are used to store the radar data &s it is generated. These tape
80
TO COUNTER
f'IGURI<: 37; PROGRAM HONITOR ClRCUIT
81
OSCILLATOR
'( 555 )
OUTPUT
L__
-1
~~<-r--- 200 uSEC
JLru-UL
.--~rn-;mfuT·.,...
A
.. RESET
COUNTER
( 7ll90 )
INPUT
CB
CLt
C2
FROM PROGRAM MONITOR CIRCUIT
( FIGURE 37 )
Bil
Cl
--6~-~·.
N.C. N.C.
r - - - - - - - - - " " } > T O CONTROL PANEL
+5
.
CLR P R - J
CLK
.
Qf--------~. ..
FLIP-FLOP
~ 7 4 7 tl_)_ ____.
__
:::___j
TO RELAYS
~
L.,__
+.
0 K
".J
10 K.
~---~1\;"-o
2.5 v
FIGURE 38: RELAY CONTROL CIRCUIT
+5
82
SHIFT
LINE
INTERROGATE
LINE
o---..--0--';{)1----+
RANGE
DATA
AZU1UTH
DATA
TO
MICROPRO··
- CESSJ.R
SYSTEH
ELEVATION
DATA
AZIMUTH
~-------~
o--'~
DATA
RA!\4GE
DATA
INTERROGATE
LINE
-
?
{)~1~~--~~
1-------C/--~---·- - -
FIGURE 39: THE RELAY SYSTEM
-------»
83
system. Then even if both the microcomputer and failsafe systems
failed the radar data would still be saved by the tape recorders.
The next chapter describes the software and the hardware of
the microcomputer.
THE MICROPROCESSOR SYSTEM
The m:Lcrocompnter uould use the radar error equations (32),
(33), and (34) to correct tlte radar data. Hmvever these equations
are not in their most convenient form for fast computations. It
takes muc:i longer ( an order o:f. magnitude ) for
E:l
microprocessor
to multiply or divide than it does to add or subtract. A major
constraint on the operation of the microcomputer is the amount of
time it has to correct the radar data. Accordingly, an important
goal in "'-Titing the system 1 s softr.Ja:ce is to minimiz:; the number
o~
multiplications employed. One way of realizing this goal is to
re1:rrite the radar error equations into a si:m:.ler form. This
shown below in equcitfons (38),
(39), and (40) •
.
6 R- (Ka + (R/C))*R(t) + Kb*R(t) + Kc +
(KxSinA+KyCosA)CosE +
KzSin~
(38)
WHERE
Kx -- r 13 .~; Ky = r'u 3
, Kz""' r"t::'>?.
.
b A - Kd*A(t) + (Ke+KfSinA+KgCosA)*TanE +
(Kh+(KiCosA+Kj5inA)/R)*SecE +
Kk + K1.
(39)
J.s
85
Kd- a
11
't.<t , _Ke
=
Kg::: -(a 1 :1.2..1+a 1 131
Kk
a
),
Kf ::: a,__J..~ + a 131
4 ;. 1
Kb -- a:;L::I3, Ki =:a
l?d
is available from a look-up table (this will be
explained later), Kl = a 2"1
E -
+ a S3"i
Km*E (t:) + Kn*SinA + Ko*CosA
-l-o
Kp*CotE + Kq"'CosE +
( (K·r:SinA+KsCosA)·kSinE + KtCosE) /R +
Ku + Kv
(40)
vJHER.E
Km -
e\ 1
,
'i?_ ,
Kn
= e;a:.U.
+ e 1~ 8
Kr
=e
Ko "'' e
1 ;;:z.
1
;<LZ
TT
,,s
-- e
+ e
1 1 "?.7_
1
'
136
Kt -
"'I 1.37- '
"'
Ku is available from a look-up table (this v-1ill be
explained later), Kv
=
e~b~ + e~3,IO
The revised set of error equations are more efficient than the
original set. For example equation (32)
requi~es
eight multiplications.
Equation (38) requires six multiplications. Similar savings in
n;u1
t:i.plication ( and time ) -would 1.·esult when the microcomputer
solved equations (39) and (40) instead of equations (33) and (34).
The
;:dc!~ccomputer
could also save a gre1:1t deal of time by
using look-up tables which increases the amount of storage required.
Calculatin~
trigonometric functions using TA.y1or Seri.es or digital
approximation techuiques would require large numbers of mult.iplications~Look-up tables for the trigonometric functions could be
used instead. To achieve the desired accuracy in data correction,
the microcomputer has to use sine and cosine terms with two place ..
86
accuracy. The tangent, cotangem::, anci secant terms used must t)e
known
~,;ith
three
rl.a,~e.
acct:racy.
Figure hO shows the memory requirements for the trigonome.tric
look-up table" This table,would contain fixed decimal point values
in BCD representation. Figure 41 shows examples of hov-1 the functions
are. rounded off. It also shows the form of the numbers stored in
the look-up .table. The cosine terms would be in the same form as
the sine terms. The secant and tangent terms Vlullld be stored in
the same form as the cotangent terms. The table v.muld not :include
tangent or secant ierms larger than ten. •
The look-up table v.muld include the valu.2s o£ the trigonometric
functions from approximately zero to 45 degrees. Therefore all the
nu;nbers stored would be positive.. Branch staten1ents ( see Ap;:-rmdix
A ) Hould be used to oetermine the sign of the function, which
would be carried through the program seperately from the magnitude.
Figure 42 shous a
pro~ ram flo~,,chart
for accomplishing this.
A Look-up table is also useful to calculate the encoder nonlinearity terms for both azimuth ( Kk) and elevation ( Ku ).
The encoders are circular plates (marked with the Gray code ) thRt
ace geared to the axle on which the antenna turns. The encoder
nonlinearity is due to the play in its gear system and inaccuracies
in its mantifacture. As shmvn in Appendix D the encoder nonlinearity
Ls
a function of angle. Satisfactory accuracy can be achieved by
storing the values of the encoder terms in angle increments of
0.5 degree. Each value would be represented by eight bits. The
azimuth ranges from zero to 360 degrees.
Therefo~e
720 eight hit
87
or
EIGHT-BIT
v!ORDS
REQUIREl2
FUNCTION
-------
NUHBER
ENTRIES
IN TABLE
MEMORY
1JOCATIONS
~J?QUIR~~-
SINE
1
100
100
COSTNE
1
100
100
TANGENT
2
100
200
COT AN CENT
2
512
1024
SECANT
2
100
200
FIGURE l:.o: MEt·10RY REQUIREHENTS FOR TRIGONONETRIC
LOOK-UP TABLES
FUNCTION
----
VALUE
----
SIN oo<>)
0.5
SIN(l
0
~
)
<J
SIN (6,2e>)
STORE
~~---
50
0.02
02
0.67
67
COT(3°)
~
19.1
0191
COT(l4°)
~
4.0
0040
0.9
0009
,.,
COT (t~sc')
FIGURE 41: VAl.. UES
STORED FOR VARIOUS FUNCTIONS
AND ANGLES
.
88
FIGURE
L~2:
PROGRAH FLOY-TCHART FOR HANDL INC~ 'I'HE S lGN
OF TRIGONOMETRIC FUNCTIONS
89
r,;•urds \voulG. be stored for Kk. The elevation canges from -10!) to
] ()1)!1.
-'-
f.T"0"'8\ nr
'-~ '
for reasons discussed in the next chapter th0 error
correction·system could only be used between -10
,0
8 ·-1
'
0
{\
, ..
__.o
()
<}
to -1 , I
0
to
t.o 17
~ '" eJ·.. ght
" b1' t~. V{oras
'
_ 9<1 , and 181° to 190" • 'Tl1ere f.ore, 3bo
Hould !Je stored for Ku.
Figures 43, 44, and 45
~how
the
~agnitude
of the coefficients
U;l~
used in the system's error equations. These figures also .stow the
number of si;_;;1if:!.cant digits that the microcomputer would need to
compute the error equations accurately. There is a subroutine in
the Hotorola
H:i.cro~rocessor
Applicat:i.ons Hanual that mul tipiies
two BCD numbers. This program can find the product of a one-digit
number by a t>vo-digit number in two milliseconds, the product of.
t>vo
t~,'o-digit
numbers in three milliseconds, and t1te product of
a three·-di.g-r.t: numb2r by a five-digit numbr>.r in f:i.ve milliseconds.
Since the number of digits in the error correction equations
1.s
kno>m it is possible to estimate the total time required t(_'
solve the error correction equations. This is shown in Figure 46.
As
s~Jwn
in Figure 31, there are approximately 22 milliseconds
between interrogation
~ulses
available for calculations. Sinca our
estimate indicated that 77 milliseconds would be required to solve
the er-cor equations, dt least four HPUs would have to be used.
When we include the time used to access the look-up tables, find
the
ta~get
esti.m.:~te
1
s
veloeity anj
acceleration~
and for ovPrhead, we
that another MPU -vmulcl be needed_. Figure 1"7 shovJs the
quantities that each of the .five MPUs would be computing during
each time period,
90
COEFFICIENT
----·------
SIZE
DIGITS
·----
Ka
0 .OOOl.J.
l
R/C
.
0.028
2
R (t)
6000 YD/SEC
2
Kb
..
0.1
2
R(t)
2.000 YD/SEC~
2
Kx
99 YD
"-
Ky
99 YD
2
Kz
99 YD
2
K:.::
200 YD
3
')
FIGURE liJ: SIZE AND NUHBER OF SIGNIFICANT DIGITS
REQUIRED FOR THE RANGE COEFFICIENTS
91
COE.FFICIENT
SIZE
DIGITS
---
Kd-
0.0002
2
A(t)
800 NIL/SEC
2
.v.,e
0.25 HIL
l
Kf
0.5 NIL
2
Kg
0.5 HlL
2
Kh
0.25 l1lL
1
1/R
0.01
2
Ki
o.s
MIL
2
K'J
0.5 HIL
2
Kk
1 MIL
3
Kl
1
M''T.•
.l.L
3
FIGURE Ltl<: SlZE AND NUHBER OF SIGNIFICANT DIGITS
REQUIRED FOR THE AZI11UTH COEFFICIENTS
92
COEFFICIENT
SIZE
DIGITS
--
Km
0.0002
2
E (t)
800 tilL /SEC
2
j_n
K
0.5 MIL
2
Ko
0.5 MIL
2
Kp
0.25 HIL
1
v
---q
0.5 MIL
2
Kr
0.5 HIL
2
Ks
0.5 MIL
2
Kt
0.5 MIL
2
1/R
0.01
2
Kn
1
MIL
3
Kv
1
HIL
3
-·----~--
.
FIGURE 45: SIZE AND Nm1BER OF SIGNIFICANT DIGITS
REQUIRED FOR THE ELEVATION COEFFICIENTS
93
TIME TO CGHPUTE
( IN HILL ISECONDS
c
(Ka+R/C)-i:R(t)
3
Klp'<R(t)
3
(KxSinA+KyCosA)CosE
9
KzSinE
3
SUHHATION OF RANGE TER.i1S
1
.
Kd*A(t)
3
(Ke+KfSinA+KgCosA)TanE
10
(Kh+(KiCosA+KjSinA)/R)SecE
13
Sm.!HA'l'ION OF AZIMUTH TERHS
1
3
KnSinA
3
KoCosA
3
KpCotA
3
KqCosE
3
((KrSinA+KsCosA)SinE+KtCosE)/R
15
SUNHATION OF ELEVATION TERMS
1
TOTP..L
77
FIGURE 46: TIME REQUIRED TO CALCULATE TilE RADAR ~~RROR' TERJvlS
)
94
HPU
TIHE
(HS)
w
'.
KbR(t)
u
Q)
C/)
p:;
~
Ul
..,
~
+
<C
UJ
0
u
'-'
+
~
f;.l
I
I
I!
C/)
~r·J
I
~
i
'~
8
Ul
~
,~
+
§ jl
'../
~- ~ ~-~"
FIGURE !+7: HPU DuTIES
95
Figure 47 shows t~at a great deal of interaction b~tween the
f:i.ve Wr?Us ';Joul.d be required. For exaiuple, HPU #5 would be distri-
buting the values of the'trigonometric functions to the other
HPUs. Figure
Lf8
shows the extent to which the design of interface
c:i.rcuits between the different MPUs has been completed. The microcomputer. would also need additional l/0 ports to interface with the
radar, the control panel, and SPARS.
Each MPU system in Figure 48 would require from 2K to 4K
wo~ds
of PROi-1 to store the look--up tables and the error correction program.
Each HI?U system 'l'lOuld also need se·.;eral hundred words of RAM for
interfac:~ng
and for scratchpad memory.
9G
I
,--~-----------~
I1
·-;=~=.-~-==~-ll ~ =~~i
,- ~ ~~~~
l ~-~-----·-=---~~-~
1I
MPU ill
I
II
i
,-~--
Il I
I
I,
,
1
..---
I
,.
1
i
I
1
l __
PORT
-·-
0 PORT
---,
I
I
i
.lI I
I
~
i
'.-
•
-LI 0 PORT
I PORT
o
~o~!
MPU if 3
'
*P~R:·
I
•
II
j
·
l
II
I
I
I
I
,r--··-·---·----------·-·---~--, I
I PORT
0 PORT ~-1
I PORT
I PORT
1. L,--~~
___J;
I
~---~'---·
I
r-_j
-1
I
l.
I PORT
-
L'
I
0 PORT
'~~----·--·--·-.1
L~~ i ~~~i
. ~ ~~~~
I
II
' ----1"·-----~l
L________ __.--I_J ()
1
i
://:2
Ii
I PORT
L_l
-
HPU
POiZT
I
1 I
J
o
* .
I ________ __jl
1 II I I I
-1 I I I
l
i ~~~~ ~---_______:~_!
i ~~~:~ l l
II
l
PORT
MPU
#
4
J
I
-------------- j'
I PORT
1
I
PDR'f
I POf:1'
L-~·----~ I
0 PORT
_0 PORT
LI II
1-l
~-_l------1--~
PORT
0 ElRT
H·-0 U 1-If-')
t_
0 !>Or<.T
~---·-,.--.. - -
l.~~"~·-·~---·-·~-~~L~ORI ----·--- -~:.J-·----·--F IGURF. •'f.S: PORT INTERFACES BEHJEEN THE Ml'lJ' s
I
-~-J
LIMITATIONS AND ACCURACY
It was mentioned earlier in this report that the error correction
systeiT could be used only at certain elevation angles. This limitation
is due to the tangent, cotangent, and secant te;_·ms in the radar
error equations. As the elevation approaches zero nr 180 degrees
the CotE
tF~rm
in equation (40) gets very large. As the elevation
approaches 90 degrees the TanE and SecE terms in eqw:;tion (39)
becom~
very large. Because of the size and rate of
increas~
of these
functions, it \vould be difficult for the microcomputer to tlcc:urately
d<~i:ermine
their values. It would also be difficult for the micro-
computer to use these 1 arge 1rwnbers in sol vi.ng the error equ:::t ions,
Fortunately. it is extremely rare to us0
R
deErEe elevation. Radars are also seldom UEed at
radar near
elevatio~3
ninty
d
ertremely
close to zero or to 180 degrees. However it is not uncommon to cs::!
radars at elevation angles of one or two degrees ( or 178 to 179
degrees ).
In order to save memory and computing time, the real time error
correction system would only te used in the following ranges: -10 to
-J
degrees~
1 to B4 degrees, 96 to 179 degrees, and 181 to 190
clegrees. If the elevation should ever fall outside of these ranges
the radar data
~·Joulr!
pass through the
systr~1n t,Jitho~t
being. corrected.,
Th:i.s dElta could possibly be corrected by Lhe main comrn1tf::r aftm:· the
operation. However, it is li_kely to be so
beyond correction.
o-,
-'I
ino.ccura~e
as to be
98
Figure 49 shows an estimate of the inaccuracy in each error
~umulative
eqLJat:ion i.:enn af!:e1.· its correction. The
error is equal
to the square root of the sum of the squares of the individual
er1:orsc Therefore the curnulat;Lve errors are:
CUMULATIVE RANGE ERROR
r--
JC-..1
=I'~
')J ..)
~
+15
•
+ 1
---..
+ 1
3. 7 YARDS
,------~--~-
+ 2
CUHU:LATIVE AZIMUTH ERROR ?:. \/12
~
CUHULATIVE ELEVATION ERROR
13
~
+ 2
+ 3
(42)
II
J 12
. ,.. 13
~"""\
+ 3
._.....,.,._--~·-~--·~---,.,
+ 2
II
+ 2
+ 1
+ 1
+ 3
+ 3
(43)
These er1:or 0stimr:tes are based on using two-place accuracy·
for sine aDd cosine functions, three-place accuracy for tangent,
cotnngent, and secane terms, and five per cent accuracy in measuring
the iarget 1 s velocity and acceleration.
99
EST H1ATED ERROR AFTER
CORRECTION ( WORST CASE )
ERROR
Er'DATION
TERH_
- - - - - - ____
:£ _______________
,
RANGE
(Ka+R/C) "•R(t)
3 YD
Kb-J•R (t)
1.5 YD
(KxSinA+KyCosA)CosE+KzSinE
1 YD
Kc
1 YD
.'
AZIJvlUTH
(Ke+KfSinA+KgCosA)TanE
2"
(Kn+(KiCosA+KjSinA)/R)SecE
2"
Kk
Kl
ELEVATION
Km~·E
(t)
12"
KnSinA; KoC0sA
KpCotE
2"
KqCosE
((KrSinA+KsCosA)SinE+KtCosE)/R
1"
Ku
Kv
FIGURE 49: ESTIHATED ERROR IN CALClJLATING THE ERROR EXPRESS IONS
This report has dealt with microprocessors, microcomputers,
and tHo
~reas
of the;ir
ap~1licatinn.
Although the first section of
this repor·t concentrated on a specifj_c micrapr;:)cessor, the HotoroL:•
6800 1 most present microprocessors have a
si~ilar
basic architecture.
vJith thiB in mind it is hoped that that section \•lOUld provicle general
information to users of other microprocessors as well. As mentioned
ea~lier,
the microcomputer discussed in the first section has the
potential of beini used for a variety of appii~ations.
The second sectit'n of this report, '\\ hich dealt: with the <mto7
mation of a laser trimming system attempted to realize two goals.
Tl:e first ,,;as to provide a general introducU_()B to a part.ic.nlar
branch of electronic technology. The second goal of that section
\>WS
to provide an outline of how a mf_croprocessor conld be used
to control a manufacturing process. The control of
manufacturi~g
is a vast) -.ri:.:tual1.y untapped, region with great potential as far
as microprocessors are concerned.
The
a~plication
of microprocessors to renl tiree radar
correction 1s discussed in the third
se~t:ion,
c~r0r
This is truly a
state of the art application. This application is very new. The
rf.ldur e.;:-ro·r· equations themselves have not b~:c:el! completely defined
yet, Some of the newest radars in existance offer some real time
t":'
currection but not to the extent proposed in this report: This
p<~ojcc:t
l1as the potential to
pi.~ovide
a sigr.if:i.c:Aut C•)nccii:.".lt.iC>n
100
101
toward
irnprovin~
the capabilities of the
Pacific Missile Test Center.
rada~s
employed by the
APPI':~DTX
A
HC6800 INSTRUCTION SET
102
lC)
Co.n)are l\cn;l!rs
1
Com:>:cmP!, I';
Comp:l!l!UII, 2's
(U.;~J\e)
I,,. .,,,.
( Dc.ci;nc:l /vJiu~!. :.\
I
bdu,ive Of<
i b-:reme-r.!
I
Or. !nr.lusive'
Push Data
Pull llat>
Sh;il l::ft,
A.n:hrn~tic
ASt. A
I
;~SLS
II
Shft fl:i•Ji'lt,l\:lli"met;c
lI
Sh!h Right, Lo:;ic.
ASRB
lSR
lSRA
I!
I~nt;:r:.cl
lSHB
fi::U!:': 1,.-;mlu
S:U8A
~:'-'br;,:t ,bc'!•l\i.
I
'iu1d.~r
I
ST "''
STAC
SU88
Sv~.lt'. W!ft"l
c. . ,-'{
SB/,
SBC:"~.
SHCU
1\.crnluz
T.~~t Z~>r~~
I
ASfl
ASRA
I
I
ASL
·r,vi
·; 01-'.
or Mi:t•11
Tt'T
I~
I
h:A
i"<;:7A
B<cnch If Nol Eq-ual
ZN·'l
BNE
26
!?.'r:th If
0\~rllu~
CE'Jr
eve
28
ecar1d": lf
Ov~rf!11w
Set
~vs
129
B;anch if f·lus
BPL
j2A
4
Brao::h To SubrfJIJfir.!'
e>R
g-rJ
r
Jump
Jf;~lP
&E
4
jSR
i\0
8
.!u:-.1p l
:J
S·1broutifl£'
No Opera1ron
NOP
Rerum From lnt!i!rrupt
r.n
I
APPENDIX B
HOTOROLA HC6800 CIRCUITS
105
106
+5
+5
FIGURE I: HOT'OROLA !'iC6800 CLOCK
+5
+5
107
+5
J.
">
<_,1.3 K
<r
r-~---~---··
I
I
,--.
i
y
I
I'
+5
?l
--~---··--··--'
I
!
I
I
~1.3K
___[ ___ L__---r_)o-
FIGURE II: HOTOROLA HC6800 RESE'l' CIRCUIT
108
+5
FIGCRE HI: MOTOROLA MC6800 HALT AFD SINGLE CYCt.E CIRCUIT
109
r----·----- -·--~
I
PJA
6. 2
I
K
..
. ~/
r
OUT
r---,/V\/'---~.
PIA
I
II
:,~A
i
CD 4009
. .
1---<X._J
-v,~
.
/l__tv""'1_
t
7400
~
0,151-!F
.
7404
<... 6.2
<:""
PIA '
.
l
~--v
OUT
TTY PAPER TAPE
K
;::f
Jl,5 K
__t _
J+S
.
_;---"-.IVV~ _
LL
·~
7404
. INPUT
J--·•< F~OH TTY
I!
510 .
y·t5
>
~Vv-~ ~;imP.
22 K
DELAY
SELECT
13 K
I
TIMER
I
I
INPUT TO
TlHEl~
iot;TPUT OF
I
TINER
I
!..--.~--·----·.,··~·---
F-;:.G:JKE
n .·:
HOTOROLA NC6800 TELETYPE\JRITER It{TERFACE
APPENDIX C
CALCULATOR CHIP DATA SHEET
1]0
111
0CTO£lEil H174
MM57GO sl;dc rule calculator
f.::atures.
Th~! !tit~g~s-chip MtA:J7Gt) ~;iido? Huie Calcul.ltol \".'as:.
dev;.:'!Dp·;:_i u:;inn E! nt'_;~al-gJ.to:-;, P-chJfln21 r:nh;:~n,.-_emcnt
end depl·~tion rt•ccL~ iv'!OS/LSI t~r.hilo!o~~V V'.'itF-. the
pria1.;ry D~JJrctive o·: IO\'/ enci-product co'it. A compi:::te
t:;:,l·~uit:lt(~r as !:.ho•:;n in {ir::.rn! 1 require~ only the
~/,1\.)~JlG(.i_
!l
kcytJn .. l d,
LED dispf.s·t lH•'"i d 9V
[)~ .. ;~:2G 1l
!.l~•tl(·P.' \Vith
c.!~qit
dr!i:l]f,
Ll
Full 8 di9it entry and di>rlay capacitv
n
Compiete c!f·ctr 011:c siidf;! rule c2pzbi!ity
1\rithrno.tic funciions:
9
Logarithmic functions: In>:, log x, c~
t>
Ot'1cr function<: Y". n.
chang~
'1/x, x 2
,;gn, exchange,
><? ·}-
nu.·mor'/ -+ mernor•t, radia.ns
r;cgrce> to radiZJr.S
dcr:odir·g ;-,nd
e.5
..J;..
eo Trigonometric fu;Jctlons: o;in x. cos x. tan Y, arc
sin x, arc"cos x, arc tar. x
~.JS/\298
?.ppr opriate hardware.
Xc·;· !lebo'.Jilr.f: circuitry_ a!l
dock t:>~'d tirn:r\~1 ~>;ncr~tt;c,rl ctn~l 7 ~t::9r,.12nt ou!put disJl~f.l"{ cncoti;r:y vn.· ;:lclt~c!~d on-cn:p ;:,·,d rcqui;e no
P.xternz.i t:O>~•POilf:nts Se~J;l".e:H-; cz:n u:.ua::y (){? driv!!n
dlrcctly from !he f>.~,\,S/60. i"'S It t·y oir:-.1Py s0vrces :!bO'Jt
Kev·board
t, -, x,
+,
e
~
to degtces,
Three·ng:stcr u,...H.::·ationltf stack
w I:Kk;J:;ndr·nt il·.::cun.~Jiating storane register with store,
r~cal!, n1e!'nory r!u$ an •..i memory minus. functions
in/\ Of ;-·t:d;~ CHrent. {f:ot~:: tfq~ t\'f).Cd; Ju~y C\'C!•:
of etJ::-h diJit is 0.1(!4; 2'!C'<iC LED s.r:.ynr·;Ji curr·:nt ;3
Hu:rt'fcJiC ;:.pjVG>.!n1a~r:v ll.t;9 nLI\.i Thr left·r,Jc~t di~tit
is tiJPd fo1 the ·n!~~·i·-:•.iv'.! .li~.Fl or t~lC d~c:r~l,;;d point of 0.1
a
F~c..:;(ing po~nt i,-;~HJt
r.
Di:ect 9V btH!Cry comf.Wtib!!ity:·low-power
nu;n~·er !~:::;s lha~
~
~~o r.!Xle:nal ccmf;Onr.nts r~quircd o:her th~n display
d:sit dri; er, '<~o\"Dao·d and LED di,piay for complete
L'•il)'
l:.n i::.1crncli pe;'/.'Cr·on clear cirr;uit dears .all u:uisi.crs,
in.~:ludtng the p.cmory: wh2n Vn() end V 55 are initially
appl1r'u to til'! chip.
Tr.Ji!inp zero su;-:pr_fss!on ailn'.vs convenient reading of
t!i~ Lf~ ;: ::::-;;f·C ..:f~p:;r,·, ~:.:..1 co[·.~e··v::,; p:-::·.·:cr. T:.c.
DM8tHs.-·~ d':Jlt ~1:-n·:--( .:-: cap<Jbk uf ~~.::nsmg -R low battery
vo~t3~J0 and pro:. idir·j a sinna; during Digit 9 time that
con L,r: tJS!Jd tc i.l::r! on one of the scqment> as an
ind'ic.-J~cr. 1yp,,:-.:d u::rent drZ:in of a complete Cillcui(110r
Lve ~~~-;~·'is .30 n)/\. l\utomatic display cutoff
is ~nchH.:t-(l. If no Ley c!osu; e occurs for ccproximately
Jb se~:or:cis, ali nur:~b~r:; rtre blankfd crd all der.::ir~1al
points di:.playcd.
and outpu1
calc:;loior
~'
[n.Jr intl:caticr. for over range, ovcrflo•N and invalid
ope(ations
!\l
Left justif\ed r:~try ?.nd resuits \'Vith
1:,
Au~o!"nai.ic
r.
Br.vc:~e
disrlcy cut0H
p:-Jiish notation
Oi.:.piL~ying
T};e f!e;•d:r· u:.:tput. ~,i~:Li.;~ is us..;£J ·to 1ndicatf c3kulator
"tt:~(US. It i~ ll'; 1!-ful !,"\ r:rv·.t;ding synchoorization inforrnc.:·
ti•)n durin~~ te~tir.J c.Pd wht.:P the ~~:vi:Jtc;o !:. used w!~h
o:.~b lo'jic evr i;Hr~-;:2i~?:J c:rcHi~s; f::.g .• witi1 the Mt.-'i~i7G5
Pr..:g;arnrr)•.:r (Fi:_.'t:n· .)).
Th:r i:y-t\··,·o kWfl :?r~· c:~rr~'-'tlf:;~ in a tottr·D·{·:~irw matrix
{Fi!)U/f.' /j. ll! ;t::J•~:;((;:·I iC SG\'';'r> ar~t!·HT~CtJC fun•.:tiry··,~
pit1'1 lc•{)"lrit~'!n:c, lf i~;."..t~o.,H·:tfic ~-HI ?r:r.tmlulntinn nwrn·
c.ry !t~n·..:tiY:'i, !l-.:.>.(?'n:1ato; i~ capJb!,; of c:~ku!ating yx.
~(;d:ii'J ~hr:' sq~H· e ci }~ tn rr.0o"lory, ;·;u!O!'lla~n::ziiy
entNing <i ~CJd pr;_..,·;dn£J d·-~~,li'Ces/r.::dion -con·;c:sion:.
1h~ u:.er h3s .)r..:·r·:·) to iour re~i~.tcrs dP~i:Jn?.tf;d X. Y. Z
end H. X is i,!·:r• l!:,p!.;y antJ f'nuy tcgist2r. ;..n:--J 10:. :Jw
br11t0n:1 c-i ~! "pu~.~l·IJp" stvd: thc.:t a_iso ir;dJd-::'~ re~Ji~H.!<:;
Y ~nd Z:
r;·-----------..·--------, z
"----~·-·--·-··.
·----- - ~--·-·---1
·-----·-·····-] y
~~- ·--··--·---~--·
!..!.......~. ·-----·- ··-·-- -----.
f-,},•.dc:
t.
~-'NI'r
1'r·nt•'1:;d t y ;1
~·:1-.,r
:r•:!>"~
,:::;'!~~~l t··~~·:r
<I·
~i9n;,tr,
V:r.
r/~fit
:r.
t:,c
-ZP'l~N
connection diagrarn
Ova!-!n-l.ine Pn.kaga
trailin~ :ot•fo
112
op2rating voliogc range
Vc·lta~.j(' at
Acly Pm nclati•if! to V~;s Vr:s + 0.3V t0 V!>s- 12V
(fdi other pins r;f~;1nccted to Vss)
Amb!i:nt Orw:--ati:HJ rcmpefatilre
OoC to +70-:..C
An-1b:•:nt Stor"d~/~ Ternperatu1e
-{)~;/'c to +150°C
Lrad Tcmpcrl)ilHY (~olde:ing. 10 !tcconds}
:'oo"c
6.5V ~ V;,s- VDo ~ 9.f>V
Vss is alvvc.ys defined ;:15 the n1o:;t positive suppiy volt.19e.
)
-de eiectrica! characteristic:s
'i --------·--·----
f
- - - - , r~~~~ TYI'.
CcHJDiliONS
-~~•er~;~3 Su~~(:~::r-,t-(-'"~~-------·~r~~-0-~-V-~~~~~-V-.-TA ~-:l-S-"C-.- Keybo;:rc! Scan fnpi.Jt l_cvcls
(Kl, K2. f~3and K•ll
log;cill Hogh Le,ol
l.ogicllllc 1N Lr:vt::
1 V55 -6.5V
Vp 0
:..:
S V00
Vs 5 -G.5V
:;
.
1
I
,1
l
r-----1--------·
Vs,·95V
Scnrnc:nt Output Cu:tcnt
(Sa \hrou~,/1 Sg a;1r-J Vtt.:irnal_ Pomt)
R~.ad"y
(;Jtput
L;;·:;:..!s.
I
v
Vso-5.0
Vss·-u.o
Lo~·;
_____________
-____ f
Le\·el {V nL)
·
~ ~i.2
v
v
kl"l (o .'Do
v
V;: 5 -G.S'J:; Vr:rJ ~ V-:. 5 ·-H.G\1
V 00 = Vs 5 -6.5V
\'
v
Voo ~ V,; 5 -9.5V
.,
L(l::_;:~-al I '•!1~ 1 C·'Jcl {V Ott}
tcr1icvt
[lLOAD
l.JNITS
16.()
Vss-2.5
Voo ::- Yss-!i.SV
I
MAX
]
luu l
-::
--o.-1
mr~\.
louT ~ lC.u/\
I
I
II
I!
ae electe ic<1l churacteristics
----------------------~----------
PArlAMETl[l
.
I
CONDITIONS
__. ---------------1--
-~-------·--·-----·--v.:ord T;"'r. (Figure 2;
-----'
·-r
.
lliyit Tim(> (F igurc 7\
MUJ
TYf'
I'M1X
0.32
0.65
13
35
70
145
4.5
9
2
Oi!"it Output Transit1on Times.
(l nt. . t. and tr
t~cyhv.-:r•}
II .
CLO'-C' ~
100 pF,
C._ 0
100 pF
RLOI\D = !i.1)
f:D
lH~iTS
1------rns
IH
ps
2
/-'S
4
I''
l-.i....L;
1npuh •~i::;h to Lm-v
,, 0 ~
'"'"s.iti!..,n ":1m::> /•,fl•. r
Kq· HtiL'a~'~
f1r.::d•; Ou',{H.tt Pn_;:>Jq.:;!l(,fl Tirne
{r.~·pun:>
3i
Lo·.v tr: !i'!J.h Lrv.:·l (!t·c 1,.)
tt;L!~: t~ i <l•.·., t e•:d itr:-;: ~
Key f·- i~Pt l rr>"'r.:
t.-:~p~~-y
Ct..!ntl T.:pe
uite1 the !t·~(
!tnl''
{ro.::!ue
th:~t
zll
v~·ili~ ~:ry
r;:up~·e·~
\"·":1 :,e
bfJn~3·!i .:;•l(l tl!l t_(t'{.lr;·,;/ p;11r:t~
d... pr ·r·d.l
I
l
CtOA~)
~
CLOl.. D -;:.
100 pF
100 pF
!JO
10
ps
ms
i
C'Ut
t:r:y [ntn{
l:•:y fldt;,,c
fi in•
I
2.B
6.0
11.7
ms
~.1
10.4
:~n.:;
rm
10
22
4d
sc-~:"ond
fiGltrlE 1. Coms:lelc Calculator.
Sch~mntir.::
D -7 C C Ll :.1 ::1 I
C/ I Ll _.f, I _!.L I
f.l-~--
-·---
f!GURE 2.
The
content~
of tht
S~(VUiT
C01C>:i.\fl/j'\
- - · IH
Displ~y
JCL.Ui71Uiatirln St'.);Jq~ r(gL~t<?r f.~ 3~c
rc-pbr.rd with th:: co!ll~~rHs of the X rcq!st•.:!i by'-'~ ~~lQ tl~e
''STO" ke·,r. J.';;.'!':::dinq .. , •. or''·-" \':ith th~ '·t,nc·· k.~v
SUll1\ X ipt:_() f\1, cr :;:u~>tr.lr.t'l X frOiil ~-.'' ''(-;_!1C' ;r~r!<.i\'r;d
Uy ··s·,-oH O:,qi.l,)t('::. X illld ~llrll;. it into the r))POVi~ ,,
v.:ithout ch.ln~,;,,~·; the: va~;!e of X. T:H: m<:rn01y Jt.:{>lli
•~ev, "ECL.'i rl~;;:f:i \'; irno X \'.'lt!~c.-; ~;i,;t~;;tHli~l ~it·~
\'~,!~'~:of M. Stt·.·,J~L· rP~:::.~,·r i~·l iJ rlr.:nr.d ,-,.,;,J'O"U!H.~ . ii!y ;Jt
Dii"~~"arn
Tirning
pr..~-.·,c;·on or
di~1it~
0
Lv sto;-i:v;.j a 7cra.. A1l1 rgis.tcr~ c0:1~Jk~ ei£ht
and sign information.
Input~.
ore entered and
CHJtiVJ:s dispiJ'/·~d
P',);nt. The ouiput fts'.dt'
al\'ld'{.>
jHt'Cl~d·"]S
the
up~·r.H1cn
t/Jl'ill; thi:; !:, h~~··nl'd
{S··c- l'Ydnlp!....,"S.f
~::;1e
t~.,
;,s
tiuncal:t::d.
kr:ys th.:.t
F,evf~r;..·•
in floa1irFJ
LJ.?-!,1 entry·
c·p';i"t·t~:
Pl1!1~h
oa
r•ot:Jtwn.
]_ 11-t
BEADY SIG:'!/1L OPEflf\TiON
Th~ r\·Ht,t;~j7GC
kryb~);Hd~.
fafs~
i5
dr:;t~m·.:d
·.·.hich are
\o interhce V. !fh n1ost !ow co~t
thr 12:•:-.t de~iraU!e from a
The Hc~tdy signal indicJtf.}- calodator status.. \\';~r.:;-) the:
calc.ulalof i.). in an "iu!r~" statP. tt1c output is al. a ll_\Jrca:
High ~-c:vel {rv~rJr V 5 s}. \'.'tl~n a key IS clo';Cd the lflternal
1
oft~:n
or rw.:liiplt! entry !.tanc!pc,int.
kEy entry ti•ncr is started. HeGdy n:n).Jins .h;~J~l tmtd :he
cornp!et~d a net t:oe key er-;try i:; .:-Jccc-p:cd -a_;
vafid. then goes low as ind;c.J.ted in Figurrs 4 <.ncl 5_ It
ren1-Jins at a l o~ical Lo•:.' L~vel until the function ir:it:;::ed
by th~ key is r,om~~lcted vnd the key is rEiea5ed. The Jo•.v
to his.;h tr~r-.sitian IPdicate:; th:: CJk:ulatnr ha~ returned to
A k\!y closurt! is. ~en~ed by the Cd!cu!ator r:hip whrn one
of the key if,fJ:Jt'i, K 1. i<2, K3 St' ~-:4 is foJcecl rnore
· po-;ilivc thiJn the Lo~]ico:!l Hi~h Lev,~ I \pt:cifit::d in t'1e [lectricaf Specificv:ion· .. !v1 intr:rn;-d counter i:. stc:ftcd dS a
H.':)llft of th~~ cfo~-ll:e. lh~; b~)f 0per,-::!on O•.:Ogios aft1~r nine
,Nord tirn!.:'S if th~ kAy :Ppu~ is still .Jt J ~.C':Jic-!1 High.Lt'v(!l.
A$ fc.Jnu tts lhr: ke•t :s hcid do-..-:n (anr! the key input rernains hiqh) r~0 further entry is ciJrJ·Ni!t.l. Vihpn the k~y
ir.pul chang·.:: t.:; v Lojical Lov1 Lcv::i, th12 in~er na! coun~~r
-s.J.ano; a s!:v.:t1~-::n vvon3 tinv~-out f:-.r k~:y 1e!edse. D'JrliJ9
bot\1 entry ::::--d ri~lc:-.s'::! t!n11~-outs Lw kCy inputs .ar~~
!-an_lplr:cf .;:ppan~in:a.tely cvt;ry other word tinw for valid
lcvd5-. I! they i.!n: fvund invalid. th:::! counter is rr~et and
the c<:fcu!lttor c;:;<;.uinc·s _the last v~lfid key input state.
ti1ne·out is
an idle starr. vnd
II r:C> kC't i:; (!"pre;:.~ed for approxirn-Jtely 35 seconds, an
inh:rn;i ?utcrna!ic di5f)lily cutofi ci:--cuit will blank all
V!~i':l'-.Ht~ ;.;)\\ (l!c,;;l;;y nip~ d•.:'C'~!"f:2! f'C1i1ts. /\ny key rlcflF~~~i:..Jil \viii res;:r:-:-t: !he display; to n•storc the drsp/;.y
CS,"
~
P..fter 2r:y k~·/ rxcer.t "AHC." it t!"":;;::: X, }P..:::~--~~ Y
down to X, 7 t;) y and pltlc.r~s () ?.UC· i:~ : 1_, si.Jb~-"~1..: ;:~~·.t
depre::;sions p~rforrn the sami! iunct;(:n; ~h:Js, t:HE-C.- ·-c"
dcprr;.~sion!, after a r.umtJer NHI'{ ~-·nil c:E::'r a r,c~n~J!etl.!·t
1\''t"O
J--1
VOH
•
,
\1
'
~---<>·---
ft>ADV
••
-i
V.,..
~--------1 ..,.}.·-
1\.----··-···<,_.___ j
-~ ._ .,_
.
I
display~d.)
Clear l<cy, "C"
deprt!~:iion~.
OICIT
Cit~ercd.
for the (;onJitions of Tab!e I.
KEY OPf:RI\TIONS
(Note: flcgistcr X is always
\"iithc-ut !no,;dying the ;:tatus. of the calculator, use
be
The Z ·rC~Jis:.~:- is au~omatico!iy cle;Jrcd and th:: Y- ;:rd
M-re(ste;s are S;)vcd /\n error c:.;1diucn is c!~:trt:ri by
dqHc::.o;ing any key except "1/X," "-:·," "LOG ;<·' Gr
"LN X." OpcPt:O;l on the X iCfJistr:r with dn crn.J:displaycd will he rn:rformcd l1:1 if X ·:0;·,\aincd a l~ro.
1\UTOM/,T!C DISPI.I\Y CUTOFF
~
CiHl
In th~ event L,f cr~ OflCratino error. fhe l'-.~M57GO ;.vi:t
display 'Jil'zrrcs and !111 d::ci~ne} r-."'in!:.. In i)(l.jj;_;o:~ tC•
normal ca!cu!ator ovcrflo·:.; .situa1ior!s \il•ich rJc.:ur as z:
rcsu!t of .:ddi:1g, $Ubtractii•J. muitip!yin~ or tiividi;~g and
including di·;ision hy ?cro, the ·~rrur indrcation i;; di;~bycd
sign.
!-:ey
ERHOR :r,!DICi\TIOtJ
One of the flt)p~rlar lypo;s of IO'N·cost keyboards avail~bi!J~ the ::~astt-:-n~ric conductor tyr·:!, tus a i~t:y prc-;~urc
vtrsus C'u'lt.a:_:t r£"sistanc~ d~J,<lcteri~tJ(: thal ccn (y.:n2rt,tc
rc.~nti1lUOU'J POi~~ c.iuri=l] "teJ::;inJ'. or lo'-.·..- pH:s·)urc key
dc:;rcs.sion~ l t-:c f:H\~~l7GQ rccogn1zes a seril:5 contact rc~i;1anct t•p h_) 50 I< H as ~ v.~·did key closure. assuring a
reliable i;1tr.:1 face for that type of kcybourd.
(:han~e
~ nc·N
_ .
"""''
fiLURE q. Hcudy Timiny
tTN
nYI:
liH'flE~EO
I
l
~---
s ··•onos - -
:\.HIS
Mttt.S{O
_j
~~£~ _J.:__J"!____n___JL~ _ n_ JL. . _!,...... ----···-<-'-------· c·l.
~~L ______________ _e-'··~:~2~~;Y~~·~~_}--,
/.!.
"~!'I:'J!:C..t·
"'~:(iiSE"
j
~! \-,~·J'~:';
t.J
!i -1
t.n r;r 1 t.·.~~
rm
r.t.H-'1 __________:..___________
l
MW
!
rrv
l
r
h-'IS
u:u
r.tY
ii.lllf,fC{rlf!l
(MlH
f.Yi:AlUili·1Cfl
'j t!l t: f y ~.~-\ y
lUiOH.!J.
ttMUt.s:o.
API?ENDL\ D
DEFINITION OF RADAR ERROR TERHS
11.5
13_6
RANGE ERRORS
TERH
NAME
.
r .731 ( BW) R ( t )
VELOCITY SERVO LAG
r·nz (BH)R (t)
ACCELERATION SERVO LAG
.
r~;"')
t..li.?.S
.,;:, 1'i
.
+r •.:.; 3 'S (S/"''
, n /
2
·
TRANSPONDER DELAY
R(t)*R/C
TRANSIT TIHE
r1 3 )CosES:inA+
SURVEY AND GEOIDAL
SEPERATION
r' 13 :o CosESinE+r 1' 1 :;:;, SinE
RANGE ZERO SET
TRANS!'1ITTER DELAY
TRANSPONDER DELAY SET
INTO TRANSHITTER
117
AZIHUTH ERRORS
NAME
TERH
a
'
it !<}'1& P.\(~)
{a ;t:u S inA- a
a
~ 31
VELOCITY SERVO LAG
1
;>.?.I
Co sA) TanE
TanE
K 1 Cos(A+!li 1 ) + K,_cos(2A+¢z) +
K3Cos (3A+;63 ) + K lv Cos ( 16A+¢1& ) +
K3zCos(32A+¢ 3 L) + K~ 8 Cos(48A+¢~ 8 )
MISLEVEL
NONO~THOGONAL
TTY
AZIHTJTH ENCODER
NONLINEARITY
RF AL IGN!v1ENT
(a n
1
CosA+a 113 1 SinA)SecE/R
SURVEY AND GEOIDAL
SEPERATION
AZ lHUTH ZERO SET
DEFL fi'.CT IONS OF THE
VERTICAL
RF A/OS SHIFT DUE TO
DIFFEREi'~CE BETVlEEN
L !NEAR/CIRCULAR TRACK
POINT , AZ H1UTH
• i.
118
ELEVATION ERRORS
TERr-:1
NAME
VELOCITY SERVO LAG
MISLEVEL
RES lDUAL TROPOSPHERIC
REFRACTION
K\ Cos (E+¢ 1 ) + K:t.CCls (2E+¢;t) +
K.1Cos UE-l¢3) + K 1;,Cos (16IH\J;,.-) +
KJ~Cos(32E+¢ 3 L)
+
ELEVATION ENCODER
NONLINEARITY
K~8Cos(48E+~ 4 g)
DROOP
(e 13.1. SinASi.nJ:i:+e '.3>4. Co sASinE+
e''t 3 ~ CosE) /R
SURVEY AND GEOIDAL
SEPI:RA.THJN
ELEVf>.TlON ZERO
SET
DEFLECT IONS o:!'' THE
VERTICAL
RF AXIS SHIFT DUE TO
DIFFERENCE BETHEEN
L INEAR/ClRCULAR Ti\.M~K
POINT , ELEVATION
BIBL lOGRf'.P.HY
Cushman~
"EDN 1 s Second Annu2.l Microprocessor Directory,"
EJ?~~ vol. 20, pp. Lf2--59, Nov. 1975
l
R. H.
3
E. P. \lest man, Reft:!:~ence Data for Radio
Yo rl:: Ho-vmrd W. Sams, 1968
4
1. I. Haissd e.nd F.. Glang~ ~.?_ndbo_?k of Th:tu Film Tech_!:_?l.o_g_y~
New York: McGraw Hill, 1970
5
C. A, Harper, Ba~"!._r!_~9_9_l~ ~i Thj.~k Film !:!_ybri_i !1_~i.c!'oele~.i::..'!-~onj:~~·
New Yock: [·JcGrmv Hill; 197lf
6
J. J:onE,:.; ~ J?hysicist at Nicroelect ronics Factl ity, Code 4333,
Pacific Missile Test Center
7
H. Bendel i.d, Ph. D., "Report of thP. Second ad hoc Radar l'-1ajor
Ern•r S0cJrce Study Group JvJeeti.ng)" PMR Inte:cna1 Publicoticn,
.Jan"
~1_g_in~-e~~.•
New
19~/.t-t
8
::rec~l~LC:::~}_ I1£~.l_l~.c_1J. ~.Y..?.!.er~ Qr.~ratL<?.12 .?..r.t.~l t~<:J-~2.1.!~!2~~,~~ _?e~.s.or
!~~~j!_~~-~£j_ir1 g ~:~ -~~~~.?.~~}J?ac_~ ~~2-~!~-~ -~§__~) J\R~2. P '=2.~~~M No.
2.~:~~?;?8~. Salt Lake City, Utah: Sperry 1Jnivac
9
''Systs:.n;s Performance Improvement Sect ion Monthly Heasurement
Rr::nc1rt for Eeriod Ending-31 Oct.ober: 19/5, 11 Pf.ffC Internal
Pub.i ic:at..Lon
lC
C. Hasting!>, .!::.f!.E.!~~~!:!~~.!:_ions for Q.~-8..~~-<.!-l -~~~~~J?..'-.lters. Princeton,
N. J.; Prirceton University Press, 1955
11
H.
Bond,~-;1 id; Ph. D., '~Position Uncertainty Due to Systematic
Errors :f.n E3ch I':FS·-16 and M:l'S-- 25 Categorized by Task,"
PMR
Inte~nal
Publ!cati~n,
Mar. 1975
J2.
"Repo1:t c.:1 FPS·l6 and r·1I'S--25 Rada·c Err.·or Models for Operation
1213666- 2] June 1971) 11 Range 1:c"i.st·_cilJ1entBtion .Perfornlance
Evali.!at:L::;n Bt·,:J.nch, PNR 'lorkin;; Noce t·lo. Ril'E-325-71., July 1971
U
i~~~~~r2.!.:!!:!':E L1::.<:'..£~E~~~ ~Qr2L:!J.:,_~1.~~~~~':.L<:·~I!c ~~.S.~"!~ .~-l?.~c.i.J 5~~~£::L~.:?.2:~ f~~..!: he
~!-~g_ ~_5~~~~~-L }~.~~!:~. ~~~-~!~::~:.!_! !~-~ ~~-·i_?._i]: 1~~~~?-~~ _g_9_E!I~~:.!-:~~£ ~~~.s?..:c.i.£Z~ • r-1o nrc~ s town ,
N • J . : 1~Ch./ GC:.:;