inter
iSBC®
80/30
SINGLE BOARD COMPUTER
mabie Interrupt Controller, to the
I/O
line drivers as-
sociated with the 8255A Programmable Peripheral
Interface, and to the 8041A18741A Universal Pro-
grammable Interface, or may be routed as inputs to
the 8255A and 8041A18741A chips. The gate/trig-
ger inputs may be routed to
I/O
terminators associ-
ated with the 8255A
or
as output connections from
the 8255A. The third interval timer in the 8253 pro-
vides the programmable baud rate generator for the
iSSC
80/30
RS232C USART serial port.
In
utilizing
the iSSC 80/30, the systems designer simply config-
ures, via software, each timer independently to meet
system requirements.
Whenever a given time delay or count
is
needed,
software commands to the programmable timers/
event counters select the desired function. Seven
functions are available, as shown in Table'
2.
The
Table 2.
Programmable
Timer
Functions
Function
Operation
Interrupt on When terminal count
is
Terminal Count reached,
an
interrupt request
is
generated. This function
is
extremely useful for generation
of real-time clocks.
Programmable Output goes low upon receipt of
One-Shot
an
external trigger edge or
software command and returns
high when terminal count is
reached. This function
is
retriggerable.
Rate Divide by N counter. The output
Generator will go low for one input clock
cycle, and the period from one
low-going pulse to the next
is
N
times the input clock period.
Square-Wave Output will remain high until
Rate Generator one-half the count has been
completed, and go low for the
other half of the count.
Software Output remains high until
Triggered software loads count (N). N
Strobe , counts after count is loaded,
output goes low for one input
clock period.
Hardware Output goes low for one clock
Triggered period N counts after rising
Strobe edge
on
counter trigger input.
The counter
is
retriggerable.
Event Counter
On
a jumper selectable basis,
the clock input becomes
an
input from the external system.
CPU
may read the number of
events occurring after the
counting "window" has been
enabled or an interrupt may be
generated after N events occur
in
the system.
3-30
contents of each counter may
be
read at any time
during system operation with simple read operations
for event counting applications, and special com-
mands are included so that the contents of each
counter can
be
read
"on
the fly".
Interrupt Capability
The iSSC
80/30
provides vectoring for 12 interrupt
levels. Four of these levels are handled directly by
the interrupt
proceSSing
capability of the 8085A
CPU
and represent the four highest priority interrupts of
the iSSC
80/30.
Requests are routed to the 8085A
interrupt inputs, TRAP, RST 7.5, RST 6.5, and RST
5.5 (in decreasing order of priority) and each input
generates a unique memory address (TRAP: 24H;
RST 7.5: 3CH; RST 6.5: 34H; and RST 5.5: 2CH). An
8085A jump instruction at each of these addresses
then provides linkage to interrupt service routines
located independently anywhere in memory. All in-
terrupt inputs with the exception of the trap interrupt
may be masked via software. The trap interrupt
should be used for conditions such as power-down
sequences which require immediate attention by the
8085A
CPU.
The Intel 8259A Programmable Inter-
rupt Controller
(PIC)
provides vectoring for the next
eight
interrupt levels. As shown in Table
3,
a selec-
tion of four priority processing modes is available to
the systems designer for use
in
designing request
processing configurations to match system require-
ments. Operating mode and priority assignments
may be reconfigured dynamically via software
at
any
time during system operation. The
PIC
accepts inter-
rupt requests from the programmable parallel and
serial
I/O
interfaces, the programmable timers, the
system bus, or directly from peripheral equipment.
The
PIC
then determines which of the incoming re-
quests
is
of the highest priority, determines whether
this request
is
of
hig
her priority than the level cur-
renty
being serviced, and, if appropriate, issues
an
interrupt to the
CPU.
Any combination of interrupt
levels may be masked, via software, by storing a
single byte
in
the interrupt mask register of the
PIC.
The
PIC
generates a unique memory address for
each interrupt level. These addresses are equally
spaced at intervals of 4 or 8 (software selectable)
bytes. This 32- or 64-byte block may be located to
begin at any 32- or 64-byte boundary
in
the 65,536-
byte memory space. A single 8085A jump instruction
at each of these addresses then provides linkage to
locate each interrupt service routine independently
anywhere in memory.
Interrupt
Request
Generation-Interrupt
requests
may originate from 18 sources. Two jumper select-
able interrupt requests can be automatically gener-
ated by the programmable peripheral interface when