Design of a microprocessor controlled data interface system

advertisement
Design of a microprocessor controlled data interface system
by Dennis Ivan Smith
A thesis submitted in partial fulfillment of the requirements for the degree of MASTER OF SCIENCE
in Electrical Engineering
Montana State University
© Copyright by Dennis Ivan Smith (1975)
Abstract:
The subject of this thesis is the design of a microprocessor controlled data interface system. The system
presented may be used as a remote data acquisition system or a type of industrial controller. Several of
these systems may be connected together to create a complex data collection system.
The system requirements and specifications are relatively few. After the specifications of the data bus
are given, several interface circuits are described. This is followed by a description of the controller
requirements. A microprocessor was chosen and a controller designed around it. The programming
techniques required by this specific system are presented as well as the operation of the entire system. STATEMENT OF PERMISSION TO COPY
In presenting th is thesis in p a r tia l f u lfillm e n t of the re q u ire ­
ments fo r an advanced degree a t Montana State U n iv e rs ity , I agree
th a t the Library shall make i t fr e e ly a v a ila b le fo r inspection.
I.
fu rth e r agree th a t permission fo r extensive copying, o f th is thesis
fo r scholarly purposes may be granted by my major professor, o r, in
his absence, by the D irecto r of L ib ra rie s .
I t is understood th a t
any copying or pu b licatio n on th is thesis fo r fin a n c ia l gain shall
not be allowed without my w ritte n permission.
Signature
Date
Tc
.
-
— —
;
-
DESIGN OF A MICROPROCESSOR CONTROLLED
DATA INTERFACE SYSTEM
by
DENNIS IVAN SMITH
A thesis submitted in p a r tia l f u lfillm e n t
o f.th e requirements fo r the degree
of
MASTER OF SCIENCE
in
E le c tric a l Engineering
Approved:
Head, Major Department
ChaIrman5 Examining Coptic tee
Graduate TDeah
7
/
MONTANA STATE UNIVERSITY
. Bozeman, Montana
June, 1975
iii
ACKNOWLEDGMENT
I
_
The design and development of the data in te rfa c e system pre­
sented in th is thesis has involved several in d iv id u a ls .
The w rite r
would e s p e cia lly lik e to thank Mr. Dick Weaver o f Western Tele­
computing Corporation o f Bozeman, Montana, fo r providing suggestions
fo r improving the o rig in a l design, and fo r designing several of the
in te rfa c e c ir c u its .
Of course, the author is e s p e cia lly g ratefu l
to Dr. Donald K. Weaver fo r his assistance and support o f the
p ro je c t.
D. I . S.
iv
TABLE OF CONTENTS
Chapter
V I T A . . . . ............................. ............................................. . . . . J . .
.
Page
..........
ii
ACKNOWLEDGMENT...................... ...................................... .......................... ............m
TABLE OF CONTENTS................... ........................ ............................ : . . . . .
....
iv
LIST OF TABLES.......................................... .............. .......................... ................ vi
LIST OF FIGURES...................... ................ ................ .......................................... v ii
ABSTRACT............................ ............ ............. .............. ................... ...................... vi i i
I.
INTR O D U CTIO N ................. ......................................................
I
Background................ ........................................................... .................... . I
Organization o f Chapters .............................. ........ . . . . ___ . . .
II.
III.
4.5
DESCRIPTION OF THE SYSTEM B U S . . . . . . . . . . . . . ...........
Description of the System Bus Lines...... .............................
5
Description of the Data Transfer O p eratio n ............................ .
7
INTERFACE CIRCUITS.,....................................
H
Counter-Tim er..............................................
11
Memory............................................................ .................................. .......... ie
S e ria l Output............................................................................ ..
IV . SYSTEM CONTROLLER.. . . ' ..........................
13
20
Control I er Requi rements......................................................................20
Microprocessor Requirements...................................
22
In te l 8008 Microprocessor D e s c r ip t i o n . ... ..................... .......... 23
Description of the Microprocessor C o n tro lle r...........
26
V
Chapter
V.
'
Page
DESCRIPTION OF THE MICROPROCESSOR CONTROLLED SYSTEM............... 40
System C onfiguration...........................
.40
Program Considerations..........................................................
40
Operation of the System.............................................. i ..................... 43
V I.
CONCLUSION......................................................................
REFERENCES...........................................................................................
46
49
LIST OF TABLES
,Page
Table I .
Sample System Configuration
....
41
'
.
:
V ii
. -
■
LIST OF FIGURES
’
'
n
Page
Figure I .
Bus Timing D ia g r a m ...............................................
Figure 2.
Counter-Timer C irc u it:
, C ounter..............................
12
Figure 3.
Counter-Timer C irc u it:
T im e r ............................
13
Figure 4.
Counter-Timer C irc u it:
Control. . . . . . . . . . . . . . . . . .
15
Figure 5.
...C o n tro lle r Block Diagram. .. . . . . . . . . . . . . . — . . . . . .
27
Figure 6.
.C o n tro lle r C irc u it:
Figure 7.
C o n tro lle r C irc u it:
Figure 8.
C o n tro lle r C ir c u it : - D e c o d e r .................
34
Figure 9,
C o n tro lle r C irc u it;
Channel S e l e c t . . J . . . . . . . . . . .
35.
Figure 10.
C o n tro lle r C irc u it:
Transfer C o n t r o l...............
36
Figure 11.
C o n tro lle r C irc u it:
Status Input & Bus D riv e rs ..
37
Figure 12.
C o n tro lle r C irc u it:
Front Panel Control . . . . . . . . .
38
Figure 13.
C o n tro lle r C irc u it:
Front Panel Address Register
39,
Figure 14.
8
I nput . . . . . . . . . . . . . . . 3 2
C P U , . . . ..............................
33
Sample Data Transfer Program Segment. ^. . . ---------... 44
viii
ABSTRACT
The subject of th is thesis is the design o f a microprocessor
contro lled data in te rfa c e system. The system presented may be used
as a remote data a c q u is itio n system or a type of in d u s tria l con­
tr o lle r .
Several of these systems may be connected together to
create a complex data c o lle c tio n system.
. The system requirements and s p e c ific a tio n s are r e la t iv e ly few.
A fte r the s p e c ific a tio n s o f the data bus are given, several in t e r ­
face c ir c u its are described. This is followed by a description of
the c o n tro lle r requirements. A microprocessor was chosen and a
c o n tro lle r designed around i t .
The programming techniques required,
by th is , s p e c ific system are presented as w ell as the operation of
the e n tire system.
CHAPTER I
INTRODUCTION
A data in te rfa c e system is a term ascribed to various systems
capable o f obtaining inform ation or data from various devices, such
as instruments, sensors, transducers, or computer type memory, and
routing th is data to other devices, such as another memory or a
te le p r in te r .
Exactly how the data are obtained and where they are
routed is dependent on the c h a ra c te ris tic s o f a given systems.
In
one system, the data may be stored in memory fo r la t e r use while other
systems may require immediate use o f the data, in which case the data
would be routed to the w aiting device immediately.
The complexity
of the system is dependent on the number and p a rtic u la r types of
devices in terfa c ed to i t as well as the complexity of the c o n tro lle r.
This data in te rfa c e system has been designed to provide an
economical data a c q u is itio n system or a. control u n it.
One p a r tic ­
u la r requirement met by including a microprocessor in the c o n tro lle r
is th a t o f including the a b i l i t y to e a s ily preprocess raw data from
the in te rfa c e c ir c u its before sending them to an external device.
BACKGROUND
Many systems have been developed th a t could be c la s s ifie d as
data in te rfa c e systems.
Computers could be c la s s ifie d as such since
they in te rfa c e memory to external p erip h era ls .
This in te rfa c e may
2
be through the central processor or. through such schemes as d ire c t
memory access or separate I/O processors used in conjunction with
m u lti-p o rt memory.
Data a c q u isitio n systems could also be c la s s i­
fie d as data in te rfa c e systems since they in te rfa c e transducers and
■:
sensors to meters, counters, recorders, e tc .
The data in te rfa c e system described in th is thesis has evolved
from previous data a c q u is itio n systems and present techniques, of
d i g it a ll y bussing data through a system.
The i n i t i a l ob jective of
th is p ro je c t was to update and replace the present data acquisition .
system a t Spring Creek.
p a rtic u la r system.
Refer to William s (6) fo r a report on th a t
That system was designed to measure various .
weather and stream parameters along Spring Creek and to transm it the
corresponding data back to Montana S tate U niversity using telephone
lin e s .
The system was remotely contro lled by an HP2115A minicomputer
located in a laboratory a t MSU.
A ll conversions of the raw data to
reasonable units took place in the computer.
The design of th is data
a c q u is itio n system made i t very d i f f i c u l t to allow the computer to do
much more than i n i t i a t e the transmission o f the current data..
The
control program in the computer in it ia t e d the system p e rio d ic a lly
to c o lle c t the data and store i t in memory.
When not c o lle c tin g data,
the program would enable a user to c a ll the computer and access the
data stored in memory.
The data th a t could have been collected
between system in it ia t io n s were lo s t.
I f the data could be collected .
3
continuously and preprocessed on s it e , the computer's program could
be made more f le x ib le as to when to access the system.
could then be allowed, to access several systems.
The computer
Many o f these fac­
tors prompted the development o f a new data a c q u isitio n system.
Several types of system a rc h ite c tu re were in vestig ated as
possible structures fo r the new system.
The a rc h ite c tu re most
applicable to the i n i t i a l system requirements was a bus oriented
s tru c tu re .
The Register Transfer Modules, designed and manufactured
by the D ig ita l Equipment Corporation ( I ) , and the standard in s tru ­
ment in te rfa c e system proposed by the In te rn a tio n a l E lectrotechnical
Commission (3 ) were in v e s tig a te d .. The re s u ltin g system is s im ila r in
many respects to each system.
The Register Transfer Modules use a
sixteen b i t data bus in conjunction with a fiv e b it control bus.
Control is re a liz e d by a hardwired program using evoke modules or by
a microprogrammed c o n tro lle r.
The In te rn a tio n a l E lectrotechnical
Commission's system u t iliz e s an e ig h t b i t data bus, a fiv e b it
management bus, and a three b it handshake bus.
The control functions
are performed by one o f the instruments connected to the bus.
Commands
are transm itted in the same manner th a t data are transm itted.
A bus organization was developed by combining several features
of both o f the above systems.
This organ izatio n , described in
Smith ( 4 ) , used an e ig h t b it data bus, a six b it control bus, and four
nonbussed lin e s to each channel.
Western Telecomputing Corporation
4
made several additions and changes to th is i n i t i a l bus organization
to use in one o f t h e ir new product lin e s -c a lle d the WTC Data In te r ­
face System.
This modified organization was used in th is thesis
because i t was both convenient and fu n c tio n a lly adequate to. do so.
This bus organization uses an e ig h t b it data bus, an eleven b it
control bus, and two non-bussed control lin e s to each channel.
i n i t i a l design lim its th is system to sixteen channels.
The
Each channel
may have the c a p a b ility o f being both a source and a destinatio n fo r
data tra n s fe rs .
Like the Register Transfer Modules, there is only
one channel acting as the source and one channel acting as the des­
tin a tio n fo r each tra n s fe r.
Control is re a liz e d by a cen tralize d
system c o n tro lle r which may range from a c o n tro lle r with a hard­
wired sequence o f commands to a microprocessor based c o n tro lle r.
With the microprocessor c o n tro lle r, data may be preprocessed before
being transm itted to the external world.
ORGANIZATION OF CHAPTERS
.
This thesis w i l l discuss in g reater d e ta il the various aspects
and parts of the data in te rfa c e system.
Chapter I I w ill cover the
bus lin e s arid the data tra n s fe r sequences.
The descriptio n of several
in te rfa c e c ir u c its is contained in Chapter I I I .
C o n tro lle r develop­
ment fo r the system w ill be covered in Chapter IV w ith a look a t the
o v e rall system in Chapter V.
CHAPTER I I
DESCRIPTION OF THE SYSTEM BUS
This chapter presents a description of the system bus lines
and the sequence of signals necessary to perform the data tra n s fe rs .
DESCRIPTION OF THE SYSTEM BUS LINES
Several lin e s are necessary to control the tra n s fe r of data
between channels.
Eleven bussed Tines control the tra n s fe r operations.
Two nonbussed lin e s from the c o n tro lle r to each o f the sixteen channels
s e le c t which channels are to p a rtic ip a te in the data tra n s fe rs .
data is tran s fe rred via a b id ire c tio n a l e ig h t b it data bus.
The
A ll the
lin e s are ground tru e to allow OR operations using open c o lle c to r TTL.
Lines DB0 - DB? (Data Bus) form the e ig h t b it data bus.
Any
channel can be selected as the data source or the data d e stin atio n .
The selected source channel puts data on the bus, and the destinatio n
channel loads the data from the bus in to one o f it s in te rn a l re g is te rs .
A lte rn a tiv e ly , the c o n tro lle r may also a c t as e ith e r the source or the
d e s tin a tio n .
A fte r the c o n tro lle r has-determined the source and destination
channels, a single b y te .(e ig h t b its ) tra n s fe r is performed using the
EDT, DAV, and DAC lin e s .
The c o n tro lle r sets the EDT (Enable Data
Transfer) lin e tru e to i n i t i a t e the operation.
The selected source
then places e ig h t b its of data on the data bus and sets DAV (Data
6
A v a ila b le ) tru e .
When the d estinatio n detects th a t DAV has gone
tru e , i t tran sfers the data to it s re g is te r and sets DAC (Data
Accepted) tru e .
The c o n tro lle r then sets EDT fa ls e , which in turn
causes the source and destination channels to set DAV and DAC fa ls e
re s p e c tiv e ly .
G enerally, a source transmits a s trin g of bytes to the destinatio n
and the handshake described above is performed fo r each byte.
Nor­
m ally the source determines how many bytes are to be tran s fe rred .
The end of the byte s trin g is usually indicated by s e ttin g the SKP
(SKiP) lin e tru e .
The SKP lin e may also be set true by the des­
tin a tio n to in d ic a te th a t i t cannot accept fu rth e r data.
I f the
c o n tro lle r is programmable, i t may use the SKP lin e fo r conditional
branching.
Two o f the bus lin e s , SC0 and SCI (Source Channel) , are used .to
address one of four possible separate source re g is te rs or to se le c t
one of four possible operating modes.
The source may o p tio n a lly ig ­
nore these lin e s or use them in any way th a t would improve the use­
fulness of the channel.
Two other bus lin e s , DC0 and DCl (Destina­
tio n Channel ) , s im ila r ly control a d e s tin a tio n .
One o f four des­
tin a tio n s or one of four modes of operation can be selected.
Any channel can .request service by S e ttin g SRQ (S e rv ic e .ReQuest )
tru e .
This lin e is OR tie d to enable several channels to request
service simultaneously.
To service the request, the c o n tro lle r sets
7
ESC (Enable Status Check) tru e .
This converts a ll the individual
SSC and SDC lin e s (described below) in to status lin e s to the con­
tr o lle r .
This allows the c o n tro lle r to id e n tify which channels
requested servicing and to take the appropriate actio n .
The remaining bussed lin e is the RST (R eSet). lin e .
When th is
lin e is set true by the c o n tro lle r, a ll the channels are placed in to
a known s ta te .
This is done when the system is s tarted or when
recovering from a power fa ilu r e .
The SSC (S e le c t Source Channel) and SDC (S elect Destination
Channel) lin e s are riot p a rt of the bus s tru c tu re , but are individual
lin e s from the c o n tro lle r to each channel.
These Tines are used by
the c o n tr o lle r to s e le c t the data source and destin atio n channels
fo r the data tra n s fe rs , and to bring status from the channels to the
c o n tro lle r when ESC is tru e .
DESCRIPTION OF THE DATA TRANSFER OPERATION
Several operations occur.simultaneously during each byte trans­
fe r .
The follow ing paragraphs describe the e ffe c t of the bus Tines
on the source and d estinatio n channels as well as the e ffe c ts on the
c o n tro lle r.
A tim ing diagram fo r the bus lin es involved in a byte
tra n s fe r is given in Figure I .
I f the source is ready to transm it data, i t w i l l set it s SSC
lin e true when i t detects th a t ESC is tru e .
When both the channel's
8
«!T " ] j
FSC ~
X
pw
SS f
SDc
CDT
X
y
Ul
" U
Il n
n n
Ji__ji__
in_ n
_n_ n
n
Pa V
DP4-7
Pt) c
---------o - <
IT "
r
r
r
r
<
U
U
\
UP
Figure I .
Bus Timing Diagram
L
IT
\ ____ T
9
SSC and the EDT lin e s are tru e , the source re g is te r selected by SC0
and SCI w i l l place it s data on the bus.
A fte r an appropriate delay
to allow the data to s e ttle on the bus, DAV is set true to indicate
th a t the source has placed it s data on the bus.
When EDT goes fa ls e
s ig n a llin g the end of the byte tra n s fe r, DAV is set fa ls e and the
data is removed from the bus.
On the tra n s fe r of the la s t byte,
SKP is set true during the same in te rv a l th a t v a lid data is placed
on the bus.
I f the destin atio n is ready to accept data, i t w ill set it s SDC
lin e tru e when i t detects th a t ESC is tru e .
When both the channel's
SDC and EDT lin e s are tru e , the destinatio n re g is te r selected by
DC0 and DCl w ill be loaded with the data from the data bus when the
destin atio n channel detects th a t DAV has gone tru e .
Concurrent with
the tra n s fe r from the bus to a r e g is te r, DAC w ill be set true to
in d ic a te th a t the destinatio n has accepted the data from the bus. .
When EDT goes fa ls e a t the end of a tra n s fe r, the destinatio n sets
DAC fa ls e .
I f the destinatio n cannot accept any more data, i t w ill
set SKP true when i t accepts it s l a s t possible byte.
This feature
must be included in several channels to prevent the destinatio n from
"hanging up" the system.
The c o n tro lle r checks the readiness o f the channels by settin g
ESC true and checking the in divid ual SSC and SDC lin e s .
SC0, SCI,
DC0, and DCl may be used to check the status of any o f the four
10
re g is te rs of each source and d estin atio n s.
To enable a byte tra n s fe r
the c o n tro lle r selects the desired channels by s e ttin g the appro­
p ria te SSC, SDC, SC0, SCI, DC0 and DCl lin e s .
i n i t i a t e the tra n s fe r.
EDT is set true to
When DAC is set true by the d e s tin a tio n , the
c o n tro lle r responds by s e ttin g EDT fa ls e .
CHAPTER I I I
INTERFACE CIRCUITS
This chapter describes several of the in te rfa c e c irc u its th a t
have been designed fo r the system.
The f i r s t c ir c u it , the counter-
tim e r, w i l l be described in greater d e ta il than the subsequent
c ir c u its since the handshake and bus in te rfa c e c ir c u its are
e s s e n tia lly the same fo r a ll the c ir c u its and.are of primary in te re s t
in th is chapter.
COUNTER-TIMER
This in te rfa c e c ir c u it contains both an event counter and an
in te rv a l tim er.
The event counter advances one count whenever an
input pulse is received from an external source, such as a d ig ita l
anemometer.
The in te rv a l tim er measures the time in te rv a l between
any two consecutive pulses.
In the case o f the anemometer,,the coun­
te r w i l l hold the wind flo w , and the tim er w ill hold the reciprocal
o f the wind speed.
•
The counter portion of the c ir c u it , shown in Figure 2, is a four
d ig it decade counter.
Whenever the data in te rfa c e system wants to
access it s contents, the count is latched in to T r i-s ta te latches, which
.
■
'
■
V
each place th e ir d ig its onto the bus in tu rn , the most s ig n ific a n t
digit fir s t.
The tim e r, shown in Figure 3, is much the same as the counter,
12
LATCH
74-151
O e l> u i/ n c # d \
L A TC h
Pulse
CU M A/
Gl 61(i
Figure 2.
Counter-Timer C irc u it:
Counter
13
lT r
61 B
A 7 W
(i Cia
P------T 3 ------------
Figure 3.
Counter-Timer C irc u it:
Timer
14
except an in te rn a l clock is counted.
When an input pulse is received
the time counter contents are latched, the counter cleared , and
counting is resumed.
When the tim er is accessed by the system, the
contents of the latches are latched in T r i -s ta te latch es, which place
th e ir d ig its on the bus in tu rn , the most s ig n ific a n t d ig it f i r s t .
Provisions are included to in h ib it fu rth e r counting when the four
d ig it decade counter overflows.
Overflow is indicated by a 0000
output.
The control po rtion o f th is in te rfa c e performs several func­
tio n s .
I t must control whether the counter or the. tim er is to place
data on the bus, id e n tify which one is to be accessed, and f i l l out
the d ig its from e ith e r to form ASCII characters.
The control wi l l
always in d ic a te th a t i t is ready to transm it data whenever i t is
in terrogated by the ESC lin e .
the tim er.
SC0 is used to s e le c t the counter or
SC0 is fa ls e fo r the counter and true fo r the tim er.
When the system requests th a t the channel transm it it s data, the
control f i r s t sends an id e n tify in g ASCII alphabetic character.
This
character is selected by in s e rtin g jumper diodes in to the appropriate
places of the c ir c u it as shown in Figure 4.
Then the four ASCII
decimal d ig its are tran sm itted , the most s ig n ific a n t d i g it f i r s t .
Concurrent with the la s t d i g it , SKP is set true to signal the end
o f the byte s trin g .
SSC and EDT are ANDed together to detect when
the system is requesting it s data.
This signal is used to enable
15
c?
Cl
Cl
C0
T?
Tl
Tl
TO
Dj
Oi
Dl
Dff1
Figure 4.
Counter-Timer C irc u it:
Control
16
bus d riv e rs , and to advance the character counter.
A delayed signal
is used fo r DAV to allow the data to s e ttle on the bus.
This in t e r ­
face c ir c u it does not use SRQ since very vew circumstances require
An in te rfa c e c ir c u it very s im ila r to the above counter-tim er
is the quad counter.
This in te rfa c e has four event counters.
Oper­
a tio n is id e n tic a l to the counter portion of the counter-tim er.
The
control portion is much the same except th a t one of four sources
must be selected and id e n tifie d ra th e r than one. of two.
MEMORY
Memory is used in th is data in te rfa c e system fo r both data
storage and control program storage.
I t is most e a s ily implemented
in m u ltip les o f 256 bytes since the data bus is e ig h t b its wide.
However, i t is assumed here and in subsequent chapters to be 4096
bytes per channel.
This allows s u ffic ie n t space fo r a r e la tiv e ly
complex control program as well as some data storage space.
Besides
being able to access the contents of the memory, i t is necessary to
specify which p a rtic u la r byte is to be accessed.
re g is te r is included to accomodate th is .
A twelve b it address
When.using the memory fo r
data storage, i t is convenient to keep track of how many bytes have
been stored and where the next byte is to be stored.
A byte counter
and an auto-increment address re g is te r are included to accomodate
th is fe a tu re .
17
. The DC0 and DCT Tines are used to s e le c t the memory, the address
re g is te r, or the byte counter as the d e s tin a tio n .
and DCl tru e to s e le c t the address re g is te r.
DC0 is set fa ls e
Since 4096
bytes re ­
quire twelve b its o f address, two bytes must be received to completely
specify the address.
The f i r s t byte contains the highest four b its
and the second byte the lower e ig h t b its .
f i r s t byte are ignored.
both DC0 and DCl tru e .
The higher four b its of the
The byte counter is accessed by se ttin g
This allows the counter to be set p rio r to
reading from memory when in the data dump mode**.
has two possible modes.
Actual memory access
The.mode used by the c o n tro lle r fo r it s
normal memory w rite operations is selected by s e ttin g both DC0 and
DCl fa ls e .
N either the address re g is te r nor the byte counter is
a lte re d in th is mode.
The other mode, selected by s e ttin g SC0 true
and SCI fa ls e , is used when storing a s trin g of bytes in memory from
one o f the other system channels.
Both the address re g is te r and the
byte counter are incremented by one count fo r each byte stored.
Simi I ary, SC0 and SCI are used to se le c t the memory, the address
re g is te r, or the byte counter as the source.
SCI true to se le c t the address re g is te r.
as two bytes.
The address is transm itted
The higher four b its o f the f i r s t byte are set to 0
since they are not used in the actual address.
the second byte.
counter.
SC0 is Set fa ls e and
SKP is set true on .
Both SC0 and SCI are set true to access the byte
As in the destinatio n mode, there are two modes o f memory
18
access in the source mode.
For normal memory read accesses by the
c o n tr o lle r, both SC0 and SCI are set fa'lse.
The other mode, selected
by s e ttin g SC0 true and SCI fa ls e , is used when dumping stored data
to another channel.
The address re g is te r is incremented and the byte
counter decremented fo r each byte accessed.
SKP is set true when
the byte counter returns to zero.
SERIAL OUTPUT
The s e ria l output in te rfa c e designed by Western Telecomputing
Corporation (5) in terfa c es EIA RS 232C compatible modems and s e ria l
p rin te rs to the data in te rfa c e system.
Ground true TTL compatible
and twenty m illiampere compatible outputs are a v a ila b le in addition
to the EIA le v e ls .
There is one c o n tro l-o u t s ig n a l, one c o n tro l-in
s ig n a l, and the s e ria l character data output lin e on the external side
of the in te rfa c e .
The data from the in te rfa c e are transm itted in
b it s e ria l form on the data output lin e .
the bus are always transm itted.
The lower seven b its from
There are several options
selected by jumpers fo r the eighth b it .
This b it may be the even or
odd p a rity b it of the lower seven b its , a mark, a space, or the eighth
b it from the bus (DB?).
E ith e r one or two stop b its are transm itted,
depending on another jumper of the in te rfa c e .
Several d iffe r e n t data
.
.
.
'
rates may be selected by y e t another jumper and the choice of two
clock c rys ta l frequencies.
The c o n tro l-o u t lin e may be used to
19 . . .
control a modem c a r r ie r or a p r in te r motor.
The c o n tro l-in lin e
is used to enable the transmission o f data from the in te rfa c e and
to control some o f the in te rfa c e operations.
This in te rfa c e operates only as a destination channel.
E ith er
the control r e g is te r .o r the data re g is te r may be addressed during a
byte tra n s fe r by using DC0.
re g is te r.
DB0 sets the c o n tro l-o u t lin e , 0 turning i t o f f and I
turning i t on.
channel.
DC0 is set true to set the control
DB! is used to control the RQS operation o f the
DB! is 0 to enable the operation and I to in h ib it i t .
remaining s ix b its are ignored.
The
A data byte can be placed in the
data re g is te r by s e ttin g DC0 fa ls e during a byte tra n s fe r to th is
channel.
The handshake w ill be completed when the transmission of
the previous character has been completed and the c o n tro l-in lin e is
on.
During a status check by the ESC lin e , th is channel's SDC lin e
w i l l be fa ls e i f the channel is busy tran sm ittin g a character or the
c o n tro l-in lin e is o f f .
I t w ill be tru e only when the channel is
ready to accept another character and the c o n tro l-in lin e is on.
RQS
w ill be set tru e , i f enabled by the control b it described above, when
the c o n tro l-in lin e is on and the channel is not tran s m ittin g a charac
te r .
The RST lin e w i l l set the control re g is te r so th a t the c o n tro l-
out lin e is o f f and the RQS operation is enabled.
CHAPTER IV
SYSTEM CONTROLLER
This chapter presents a description of the basic requirements
of the system c o n tro lle r and the minimum, requirements f o r . a microprocessor to be used in a complex c o n tro lle r.
A microprocessor th a t
f i t s these requirements was selected and designed in to a system
c o n tro lle r.
CONTROLLER REQUIREMENTS
The system c o n tro lle r is in charge o f a ll data tran sfers per­
formed on the bus.
As described in Chapter I I , th e c o n tro lle r
in it ia t e s and terminates each data tra n s fe r sequence.
The status
of each channel is used by the c o n tro lle r to decide which course
o f action i t should fo llo w .
One of the simplest c o n tro lle rs is one in which a s trin g of data
bytes is transm itted upon re c e ip t of a SRQ s ig n al.
One p a ir of.
channels tra n s fe r a s trin g o f bytes u n til the SKP lin e is set true
by the source.
Then another, p a ir of channels tra n s fe r another u n til
'
SKP becomes true again.
'•
. ,
•
-
Upon re c e ip t of the l a s t SKP s ig n a l, the
system enters an id le state u n til the next SRQ signal is .d e te c te d .
When SRQ is received again, the above sequence is repeated.
The
sequence of the pairs o f channels p a rtic ip a tin g in the data tran sfers
can be modified by changing jumpers in the c o n tro lle r.
This con-
21
t r o l l er does not check the status of the in divid ual channels, but
depends on the fa c t th a t the tra n s fe r handshake sequence wi l l be
completed only when both the source and destinatio n channels are
ready to do so.
A.more sophisticated c o n tro lle r contains a microprocessor which
chooses.its course of action on the basis of the in stru ctio n s of the
control program.
These in stru ctio n s d ire c t the c o n tro lle r to check
s ta tu s , i n i t i a t e data tra n s fe rs , and process the data c o lle cte d ,
the control program w i l l be located in a memory located e ith e r in one
of the system channels or in the c o n tro lle r.
In most cases, the
speed of the system w i l l be lim ite d by the speed of the microprocessor
I f the control program memory is located in one o f the system channels
in s tru c tio n fetching may be s lig h t ly slower than i f the program
memory was located in the c o n tro lle r.
However, the memory located
in one o f the system channels should be more general purpose since
i t could also be used fo r data storage using channel to channel
tra n s fe rs .
Using, the memory described in Chapter I I I ,
the in s tru c tio n fetch
or memory read operation would be executed as follow s.
The memory
address would be sent to the memory channel address r e g is te r, the
highest four b its f i r s t followed by the lower e ig h t b i t s .
Then the
contents of the addressed memory lo catio n would be sent from the
memory channel to the c o n tro lle r.
22
The memory w rite operation would be executed as follow s.
The
memory address would be sent to the memory channel address r e g i s t e r ,
in the same way i t was sent fo r the memory read operation.
Then the
data to be stored in the addressed lo catio n would be sent from the
c o n tro lle r to the memory channel.
Data tran sfers between channels are enabled during the exe­
cution o f p a rtic u la r in s tru c tio n s , usually c e rta in I/O in stru c tio n s .
Under normal operation, only one byte may be tran sferred per single,
execution of these in s tru c tio n s .
There would usually be a few
in s tru c tio n fetch operations between data byte tran sfers between
channels.
I f the destinatio n channel or the source channel is one. of
the memory channels, i t should be a d iffe r e n t channel than the one
in stru c tio n s are c u rre n tly being fetched from since the fetch
operation would change the address re g is te r i f they were both access-,
ing the same channel.
MICROPROCESSOR REQUIREMENTS
The c o n tro lle r must be designed so the microprocessor can fetch
it s in stru ctio n s from a memory channel, store data in a memory channel
and enable byte transfers, between channels.
Since the data bus is
e ig h t b its wide, i t is only lo g ic a l th a t the microprocessor u t i liz e
in stru ctio n s and data th a t are e ig h t b its wide.
To allow enough
programming space fo r r e la t iv e ly complex.programs, and to be com­
23
p a tib le with the memory presented in Chapter I I I , the microprocessor
must be capable of addressing a t le a s t 4096 bytes o f memory.
The
in s tru c tio n set should be capable of allowing a r e la t iv e ly complex
program to be e a s ily re a liz e d .
There should be a set of p a rtic u la r
in stru c tio n s to be used to set up and enable tran sfers between system
channels.
Since the time required to access memory depends on the speed
of the handshake, sequences, which may vary considerably, the processor
.
should have the c a p a b ility of being held in an i d l e s ta te u n til the
operation being executed is completed.
The in s tru c tio n execution
time should be short enough to allow the system to respond ra p id ly
to any condition th a t needs immediate a tte n tio n .
INTEL 8008 MICROPROCESSOR DESCRIPTION
The In te l 8008 microprocessor, described in d e ta il in In te l ( 2 ) ,
is the le a s t expensive processor th a t f u l f i l l s the requirements fo r
the system c o n tro lle r.
I t is an e ig h t b it processor with fo rty -e ig h t
data oriented in s tru c tio n s .
o f memory.
It.c a n be used with any type and speed
An address of fourteen b its allows addressing of up to
16,384 bytes of memory.
By using the 1/0 in s tru c tio n s , a data tran s ­
fe r between channels can e a s ily be set up and executed.
cycle time fo r the 8008 is twenty microseconds.
The basic
A fa s te r version,
the 8008-1, has a basic cycle time o f twelve and one h a lf micro­
24
seconds.
deep.
An in te rn a l stack allows nesting subroutines up to seven
Seven re g is te rs are accessable by the program.
One of these
is the accumulator while the other s ix are used fo r temporary data
storage^
,
The processor communicates via an eigh t b it b id ire c tio n a l bus.
Time m ultiplexing of the bus allows control inform ation, fourteen
b i t addresses, and data to be tran sferred between the processor and
external c ir c u its .
Besides.two inputs fo r the two phase non-over-
'
lapping clock, two inputs and four outputs are used fo r processor
c o n tro l.
The sta te outputs (SO, S I, and 52) and the SYNC output
in d ic a te the sta te the processor is in during in s tru c tio n cycles.
The READY lin e is used to hold the processor in an id le state u n til
i t is set tru e .
The 8008 has lim ite d in te rru p t c a p a b ility through
the use of it s INTERRUPT input.
Due. to the r e la tiv e d i f f i c u lt y of
saving the s ta te of the processor during in te rru p t s e rv ic in g , i t is
usually not used except when i n i t i a l l y s ta rtin g execution of the
program.
There are e ig h t states the processor may e n te r. . Five of these
are entered during the normal execution of a ty p ic a l in s tru c tio n .
The lower byte of the address is transm itted during s ta te T l.
The
higher six b its of the address and two control b its are transm itted
during T2.
The two control b its designate what type of in stru ctio n
cycle is being executed.
Both D6 and D7 are 0 fo r the in stru c tio n
25
fe tch cycle.
D6 is O and D7 is I fo r cycles in which addition al bytes
of data or address are fetched from memory.
fo r the memory w rite cycle.
cution cycle.
Both D6 and D7 are I
D6 is I and D7 is 0 fo r the I/O exe­
For the I/O cycle, the contents of the accumulator
is transm itted during T l.
The lower s ix b its of the byte tran s-, .
niitted during T2 contain the I/O device address and specify whether
the in s tru c tio n is an input or output in s tru c tio n .
During T3, the
data from memory or ah input device is received by the processor,
or the data to be stored in memory is transm itted by the processor.
Execution of the in stru ctio n s occurs during states T4 and T5.
in stru ctio n s w ill skip one or both of these la s t s ta te s .
Some
State Tl
is replaced by Tl I when the processor has been in terru p ted to in - .
dicate to the external c ir c u itr y th a t the in te rru p t has been recog­
nized.
This is usually used to signal the c ir c u itr y to jam an in - .
s tru c tio n in to the processor to replace the in s tru c tio n normally
fetched from memory.
The program counter is not advanced during a
cycle beginning with sta te Tl I .
The processor w ill enter state
WAIT immediately a f t e r T2 i f the READY lin e is low.
The processor
w ill remain in WAIT u n til READY is set high, enabling the processor
to enter T3. . The STOPPED state is entered a fte r sta te T3 when a
HALT in s tru c tio n has been received by the processor.
26
DESCRIPTION OF THE MICROPROCESSOR CONTROLLER
B a s ic a lly , the configuration o f the system with a microprocessor
c o n tro lle r is th a t of a simple computer.
In structio ns are fetched
from memory and executed, data is w ritte n in memory, and data trans­
fe rs are set up and executed.
To re a liz e a c o n tro lle r with the In te l 8008, the time m u lti­
plexed data on the processor's bus must be demultiplexed so th a t i t
can be used a t the system's speed, which w ill be qu ite d iffe r e n t
than the speed of the processor.
C irc u itry must also be included to
allow the input data from the bus, status re g is te rs , or in te rru p t
in s tru c tio n re g is te r to be received by the processor during T3.
The
byte transm itted by the processor during T2 is latched and decoded,
to determine what type of cycle is being executed.
The follow ing
paragraphs describe the operations of the d iffe r e n t cycles as
executed by the design shown in the block diagram of Figure 5.
The
schematic diagram is Figures 6 through 12.
The Tl latch contains the low byte of the memory address fo r the
in s tru c tio n fetch or memory read cycle.
The T2 latch contains the
higher s ix b its of the memory address.
The highest two b its of the
address are used to s e le c t one of the f i r s t four system channels
as the destinatio n fo r the next two tran sfers and the source fo r the
th ird tra n s fe r.
The higher address byte is tran sferred from the T2
la tc h f i r s t , followed by the lower address byte from the Tl la tc h .
27
06 0-7
Df(Z)-T
-If
SfC
0n-if fDc
Iv r* AM
DK* AD*
—
AM
SVlTfHfI
LtMt AD*
LtMD AlM---
Figure 5.
FtOVT
PAVfL
AbDAfif
J
KfGHTtR
DATAl
C o n tro lle r Block Diagram
28
Then the selected channel is instructed to transm it the contents of
the addressed memory lo catio n to the c o n tro lle r.
in the INPUT la tc h .
This byte is latched
The contents of th is latch are tran sferred a t
the proper time to the processor fo r in s tru c tio n decoding and
execution.
The Tl la tc h also contains the low byte of the memory address
fo r the memory w rite cycle.
of the address.
The T2 la tc h contains the higher six b its
The highest two b its o f the address are used to
s e le c t one o f the f i r s t four system channels as the destinatio n fo r
the next three tra n s fe rs .
The higher address byte is tran sferred
f i r s t from the T2 la tc h followed by the lower address byte from the
Tl la tc h ,
then the data byte contained in the T3 la tc h is trans­
fe rre d .
For the I/O in s tru c tio n s , the T2 la tc h contains the device
address and an in d ic a tio n of whether an IN or OUT in s tru c tio n is
being executed.
The contents of the Tl la tc h are the same as the
contents o f the processor's accumulator.
The device address and the
type of in s tru c tio n determine how the c o n tro lle r executes the I/O
in s tru c tio n .
An OUT IOB (the B indicates octal or base eight numbers)
in s tru c tio n w ill cause the contents of the Tl latch to be stored in
the XFER SSC la tc h .
This la tc h is used to se le c t the source channel
during a tra n s fe r between channels.
I f the highest b it is tru e , the
c o n tro lle r is specified to be the source channel.
An OUT IlB Tnstruc-
29
tio n w ill cause the contents o f the Tl la tc h to be stored in the
XFER SDC latch, which is used to s e le c t the d estinatio n channel during
a tra n s fe r between channels.
I f the highest b it is tru e , the con­
t r o l l e r is sp e c ifie d to be the d e s tin atio n channel-
An IN 0 in s tru c ­
tio n enables the tra n s fe r of a data byte; between the source and
destin atio n channels specified by the la s t OUT IOB and OUT IlB
in s tru c tio n s .
I f the c o n tro lle r is sp ecified to be the source
channel, the contents o f the Tl la tc h are placed bn the data,bus.
When the byte has been tra n s fe rre d , SKP is latched in to the SRQ/SKP
la tc h and the data byte latched in the INPUT la tc h .
The contents
o f the INPUT la tc h are then transm itted to the processor's accumulator.
The IN I in s tru c tio n is id e n tic a l to the IN 0 in s tru c tio n except th a t
SKP is not latched.
The IN 2 in s tru c tio n is used to load the status
of the channels in to .th e processor's accumulator.
The contents of the
Tl la tc h are used to s e le c t which e ig h t channels are to have th e ir
status sent to the processor.
The IN 3 in s tru c tio n causes the con­
tents o f the SRQ/SKP la tc h to be sent to the processor's accumulator.
In order fo r th is c o n tro lle r to be u s e fu l, several operator
controls must be provided.
An operator should be able to s ta r t and
stop the execution o f the control program.
Also, he should be able
to examine and a lt e r the contents of the program memory.. This design
provides these co n tro ls.
30
Wheri the RUN/STOP switch is operated, an in te rru p t request is
sent to the processor.
I f the processor was stopped, a .RST 0 in s tru c ­
tio n is sent to the processor during the in te rru p t cycle to s ta r t the
execution of the program a t address 00000B.
Whenever the processor
is s ta rte d , the fro n t panel address re g is te r is cleared.
I f th e ,.
processor was executing the program when the RUN/STOP switch was
operated, a HALT in s tru c tio n w ill be sent to the processor during the
in te rru p t cycle.
When the processor has been stopped, the contents
o f the fro n t panel address re g is te r (cleared when the processor was
s ta rte d ) w ill be transm itted to the channel sp ecified by the highest
two b its o f the address.
The contents of th a t memory location
w ill then be transm itted to the c o n tro lle r where i t w ill be displayed,
in the DATA DISPLAY.
The DATA DISPLAY is designed to monitor the
data bus, latchin g the data whenever DAC goes tru e .
The follow ing controls w ill operate only when the processor has
been stopped.
The MANUAL RESET switch w ill set RST tru e momentarily
to reset the lo g ic o f a l l the system channels.
The LOAD ADR switch
w ill cause, the ADR switches to be loaded in to the fr o n t panel address
re g is te r.
DISPLAY.
The contents o f th is re g is te r are displayed in the ADDRESS
INCR ADR w ill increment th is re g is te r, and DECR ADR w ill
decrement i t .
Any o f these la s t three Switches w ill cause the con- ..
tents o f the fro n t panel address re g is te r to be sent to the channel
sp e c ifie d by the highest two b its o f the r e g is te r.
The channel w ill
31
then send the contents o f the addressed memory lo catio n back to the
c o n tro lle r to be displayed in the DATA DISPLAY.
The LOAD MEM switch
causes the DATA switches to be transm itted to the memory location
specified by the la s t LOAD ADR, INCR ADR, or DECR ADR operation.
32
11>
i-t Io
>»
M-K
>5
7M/7$
ct
JO
fkf> O -
C S7 ------
T l----
Figure 6.
C o n tr o lle r C i r c u i t :
Input
33
u/ ool
Figure 7.
C o n tr o lle r C i r c u i t :
CPU
34
JO
Figure 8.
JO
C o n tr o lle r C i r c u i t :
Decoder
35
I —— £) J f c o I
2------ Q f f C O i
4--- 0 $fCot
to — Q src»o
<►
- Cl
-
SfCL
—Osocoo
74111
0 0
esc a
Figure 9.
C o n tr o lle r C i r c u i t :
Channel S e lec t
36
J-CL^W
T l Di
Figure 10.
C o n tr o lle r C i r c u i t :
Transfer Control
37
SSCL
—OPP0
DOt
Ool
DO
Doi-
—O DM
- O Dfr2
- 0 08?
IfOt-
—O P &4
—OD bs
-O D %
Dot-
DOfc
—O D67
It
I fc
74 it;
IC *
'Cf
'C l
#-
If?
3 Cf
Xl
s u D o o -----------UCOI C h —
(SC O J Q -------------
I
S-S'OjQ-----SJc O U O -------------
SJr O f Q ----SSC O
fcO
-------------
Xl
X3
IC0
sst o?Q----------
ICl
SJt « 0 ------
IC3
JJf Oio-------------
Xi
Xl
X3
SJC ID O---------ssc 11 O ---------Sjc 11 0 ------------
SJf 13 I ------
Cfi#
'Cl
C fl
<1
era
CO
CsQ-
rc f
C
J
fe
cr?
sit w O ------
K(P
S
IC
ij O-------------
ICI
s pc 00 0 -----------s o c o i o -----------Ipt O l Q ------
IU
Iri
Xd
JBeoi O-----IprotKJ------
Xl
lea
sptofc O ----------
74-1 S ?
s pe 07 O -------------
SDCOgO-----------
IC(P
s p to iO ---------'P t IOO ---------; or Ii O - --------
IC I
Jpc 110 ------
ICO
le t
lea
41
IC I
IC 3
SPCUO---------Spc IfcO
set i t O ----------
Figure 11.
4»
X?
>Pt or O ---------
ic3
C o n tr o lle r C i r c u i t :
Status Input & Bus Drivers
38
+;
O #UT
B
O
JNCR
1t> 30
4
*
M DATA
Figure 12.
C o n tr o lle r C i r c u i t :
Front Panel Control
39
--------- DO (a
—k) ?
CU CD
ADDRESS'
Figure 13.
C o n tr o lle r C i r c u i t :
DISPLAY
Front Panel Address Register
CHAPTER V
.
DESCRIPTION OF THE MICROPROCESSOR CONTROLLED SYSTEM
This chapter describes the requirements and operation o f the
complete microprocessor controlled data in te rfa c e system.
. SYSTEM CONFIGURATION
The configuration o f the system is almost e n tir e ly up to the
system user.
There is one c o n strain t to be considered, however.
program memory must be located in the lowest numbered channels.
The
If
the memory is a t the f u l l 16,384 byte capacity of the 8008, the
memory would be located in channels 0 through 3, 4096 bytes per channel
I f only 4096 bytes o f memory are to be used, i t must be located in
channel 0.
Keeping the above r e s tric tio n s in mind, a sample system
is configured as shown in Table I , assuming th a t 16,384 bytes of
memory are to be used.
PROGRAMMING CONSIDERATIONS
Developing the control program should be r e la t iv e ly s tra ig h t
forward.
None of the 8008 in stru ctio n s except the 1/0 in stru ctio n s
require any special considerations.
The main considerations with the
1/0 in stru ctio n s is the format o f the data being input or output. .
A ll the OUT in stru ctio n s have the same format.
I f the address
of the output device is OOB, the source channel is being s p e c ifie d .
41
Table I
Sample System Configuration
Channel
Number
0
I
2
3
4
5
6
7
8-15
Channel
Use
Memory (00000B-07777B)
Memory ( I 0000B-17777B)
Memory (20000B-27777B)
Memory (30000B-37777B)
S e ria l Output
Counter-Timer
Quad Counter
Quad Counter
Not used
42
and b its I and O o f the accumulator specify SCI and SC0 re sp ec tiv e ly .
Bits 5 through 2 o f the accumulator specify which one o f the s ix ­
teen channels is to be the.source channel on the next byte tra n s fe r
between channels.
channel.
I f b i t 7 i s . I , the c o n tro lle r w ill be the source
I f the device address is 11B, the contents o f the
accumulator specify which channel is to be the destin atio n channel,
DCl, and DC0.
I f b it 7 is I , the c o n tro lle r w ill be the destination
channel.
Some o f the IN in stru ctio n s require the accumulator to be pre­
set.
I f the input address is 0 or I and the c o n tro lle r has been
sp e c ifie d as the source channel, the accumulator must contain the data
to be transm itted a t the time the IN in s tru c tio n is executed.
The
accumulator w ill always contain the byte th a t was tran sferred upon
completion o f the execution of the IN in s tru c tio n .
I f the input
address is 2, the accumulator must be set to specify which e ig h t
channels are to transm it t h e ir status to the c o n tro lle r.
The lowest
two b its o f the accumulator specify SCI and SC0, and DCl and DC0.
I f b i t 5 o f the accumulator is 0, channels 0 through 7 w ill transm it
th e ir status to the c o n tro lle r.
I f b i t 5 is I , channels 8 through 15
w ill send t h e ir status to the c o n tro lle r.
channels w ill have t h e ir status checked.
I f b i t 6 is 0, the source
I f b it 6 is I , the des­
tin a tio n channels w ill have th e ir status checked.
The accumulator
w ill contain the status o f the selected e ig h t channels a f t e r execution
43
of the IN 2 in s tru c tio n is completed.
The status is received in in ­
verted form, th a t is when a channel is read, the corresponding b it of
the accumulator is set fa ls e .
is not ready.
The b it w ill be set true i f the channel
The accumulator has no e ffe c t on the IN 3 in stru c tio n
and does not need to be preset.
The accumulator w ill contain the
present SRQ and the latched SKP signals upon completion o f the
execution of the IN 3 in s tru c tio n .
SKP in b it 0.
SRQ w ill be stored in b it 7 and
The remaining b its w ill be 0.
Figure 14 presents a possible sequence of in s tru c tio n to command
the system to tra n s fe r the contents of the counter of the counter­
tim er channel to the s e ria l output channel.
The sample configuration
given in Table I is assumed by the program.
OPERATION OF THE SYSTEM
While th is system may be considerably slower than a system with
a hardwired c o n tro lle r, i t is much more f le x ib le and powerful.
The
simple system ju s t needs to be powered up and possibly reset to put
the system in to operation.
The microprocessor controlled system
requires th a t a program be loaded in the program memory before i t can
be s ta rte d .
In the system presented in th is th e s is , loading the program
requires loading the program by hand through the fro n t panel switches
or loading a bootstrap program through the fro n t panel and using th is
44
I
LOOP:
MVI
OUT
MVI
OUT
MVI
IN
MVI
OUT
MVI
OUT
MVI
IN
ANI
JNZ
IN
IN
RAR
JNC
A,200B
IOB
A,21B
IlB
A ,3
I
A,24B
I OB.
A,20B
IlB
IOOB
2
20B
LOOP
O
3
LOOP
CONTROLLER
IS SOURCE
SERIAL OUTPUT
CONTROL IS DESTINATION
TURN ON CONTROL-OUT
AND DISABLE SRQ
SET COUNTER OF
COUNTER-TIMER AS SOURCE
SET DATA REGISTER OF
SERIAL OUTPUT AS DESTINATION
GET STATUS
OF LOWER 8 DESTINATIONS
ISOLATE SERIAL OUTPUT
NOT READY YET
READY: DO A TRANSFER
GET SKP DATA
PUT IN CARRY BIT
SKP NOT SET: DO ANOTHER TRANSFER
SKP SET: FALL OUT OF LOOP .
Figure 14. Sample Data Transfer Program Segment .
45
bootstrap program to load the control program.
The system could be
made e a sie r to load i f the bootstrap were contained in a read-only
memory.
In th is case, only a JMP in s tru c tio n and the bootstrap
address would need to be loaded.
Once the program has been loaded by one of the above methods,
a ll th a t is required to put the system in to operation is to operate
the RUN/STOP switch.
This w ill cause the processor to s t a r t fetching
and executing in stru c tio n s s ta rtin g a t memory address 00000B.
Unless
the program has a HALT in s tru c tio n included or the RUN/STOP switch
is operated, the program w ill continue fetching and executing .
in s tru c tio n s .
By using a b a tte ry system th a t is kept charged by the
commercial mains or some other means, the system w ill be power f a i l
safe.
i
CHAPTER VI
CONCLUSION
The microprocessor controlled data in te rfa c e system is
economically r e a liz a b le using the design presented in th is th esis.
i
.
.
This data in te rfa c e system can be operated with a number o f b e n e fits .
Changing a hardwired c o n tro lle r is elim inated since only a minor
program change is a l l th a t is required in the microprocessor con­
tr o lle d system.
In a d d itio n , some data reduction may be performed
in the processor before being transm itted to the external world.
By designing special in te rfa c e c ir c u it s , th is system may communicate
w ith another s im ila r system or even with instruments connected to a
bus such as the bus stru ctu re proposed by the In te rn a tio n a l E lectro­
technical Commission.
The ease of in te rfa c in g to the system presented here is also
valuable.
Only a small handful of components is required to perform
the in te rfa c e functions.
A ll th a t is required of the device being
in te rfa c e d is th a t i t should be e a s ily adapted to allow it s data to
be time m ultiplexed onto the bus.
The system should be powered by a power f a i l safe source.
Present
semiconductor memories w ill lose t h e ir contents i f the power to them
is in te rru p te d .
Since th is e n tire system is solid s ta te and operates
on r e la tiv e ly low voltages, a possible source may be an automotive
lead-acid b a tte ry kept charged by a t r ic k le charger th a t is connected
47
to the commercial mains.
Cost has been one fa c to r not discussed in d e ta il in th is th e s is ,
but was very important in designing the c o n tro lle r fo r the system.
In t e l's 8008 microprocessor was the le a s t expensive processor on the
market th a t met the system requirements.
This c o n tro lle r should be
producable a t a r e la t iv e ly small fra c tio n of the to ta l system cost,
though i t w ill probably be more expensive than a ty p ic a l in te rfa c e
c ir c u it .
The most expensive in te rfa c e c ir c u it w ill probably be the
memory channel due to the r e la t iv e ly high cost of semiconductor
memories, though th is is dropping f a i r l y ra p id ly .
REFERENCES
49
REFERENCES
1.
D ig ita l Equipment Corporation, Register Transfer Modules,
D ig ita l Equipment Corporation, Dec. 1973.
2.
In te l Corporation, In te l MCS-8 Users Manual, In te l Corporation,
Nov. 1974.
3.
In te rn a tio n a l Electrotechnical Commission, Standard In terfa c e
Systems fo r Programmable Measuring Apparatus, Part 2^: ByteS e r ia l-P a r a lle l In te rfa c e Systems, In tern a tio n a l E le c tro ­
technical Commission, March 1974.
4.
Smith, Dennis, D ig ita l Data A cquisition Systems In terfa c e
S p e c ific a tio n s , Unpublished, June 1974.
5.
Western Telecomputing Corporation, WTC-700, TOO A S e ria l Output
In te rfa c e Card S p e c ific a tio n s , Unpublished, A p ril 1975.
6.
W illiam s, Robert M ., Development of the Spring Creek Data
A cquisition System, M aster's th e s is , Montana State U n iv e rs ity ,
Electronics Research Laboratory Report 3174, August 1974.
MONTANA STATE UNIVERSITY LIBRARIES
3
762 1001 5507 4
N378
Sm54U
cop.2
Smith , Dennis I
Design of a micro­
processor controlled
data interface system
DATE
ISSUED TO
~Jh-y
(J
y. ^Z )
m m #
Download