Professional Documents
Culture Documents
FAMILY
1th EDITION
JANUARY 1990
USE IN LIFE SUPPORT DEVICES FOR SYSTEMS MUST BE EXPRESSLY AUTHORIZED
SGS-THOMSON PRODUCTS ARE NOT AUTHORIZED FOR USE AS CRITICAL COMPONENTS IN LIFE SUPPORT
DEVICES OR SYSTEMS WITHOUT THE EXPRESS WRITTEN APPROVAL OF THE PRESIDENT OF SGS-THOMSON
Microelectronics. As used herein:
1. Life support devices or systems are those which (a) are 2. A critical component is any component of a life support
intended for surgical implant into the body, or (b) support device or system whose failure to perform can reason·
or sustain life, and whose failure to perform, when ably be expected to cause the failure of the life support
properly used in accordance with instructions for use device or system, or to affect its safety or effectiveness.
provided with the product, can be reasonably expected
to result in significant injury to the user.
TABLE OF CONTENTS
PRODUCT GUIDE 7
zao FAMILY OVERVIEW 8
CROSS REFERENCE 9
PART NUMBER IDENTIFICATION 10
3
ALPHANUMERICAL INDEX
Type Page
Function
Number Number
5
PRODUCT GUIDE
7
zaD FAMILY OVERWIEW
8
CROSS REFERENCE
SUFFIX DESCRIPTION
TEMP. SUFFIX
SGS-THOMSON Z84XX * A B H B F D C na 1 6 2
ZILOG Z084XX na 04 06 08 P D C V L S E M
SGS-THOMSON Z84CXX na A B H B na D C na na 6 2
TOSHIBA TMPZ84XX na * -6 -8 P na na T na na * na
ZILOG Z084CXX na 04 06 08 P D C V L S E M
SHARP LH508X na * na na * na na na na na * na
NEC I'PD70008AXX na -4 -6 -8 * na na na na na * na
DEVICE TYPE
9
PART NUMBER IDENTIFICATION
Example: Z8400
Circuit Designator _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _-----'
Speed
No letter 2.5 MHz
A 4.0
B 6.0
H 8.0
Package _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ~
B Plastic
D Ceramic
F Frit-Seal
C Leaded Plastic - Chip Carrier
Temperature Range _ _ _ _ _ _ _ _ _ _ _ _ _ _,--_ _ _ _ _ _ _ _ _----"
1 0 to + 70°C
6 -40 to + 85°C
2 -55 to + 125°C
10
CMOS FAMILY DATASHEETS
11
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
Z84COO
l8DC CPU CMOS VERSION
•
HANDLING CAPABILITIES IN THE MICRO-
COMPUTER INDUSTRY
• THE Z80C MICROPROCESSORS AND ASSO-
CIATED FAMILY OF PERIPHERAL CONTROL-
LERS ARE LINKED BY A VECTORED C
INTERRUPT SYSTEM. THIS SYSTEM MAY BE PLCC44
DAISY-CHAINED TO ALLOW IMPLEMENTA- (Plastic)
TION OF A PRIORITY INTERRUPT SCHEME. (Ordering Information at the end of the datasheet)
LITTLE, IF ANY, ADDITIONAL LOGIC IS RE-
QUIRED FOR DAISY-CHAINING
• DUPLICATE SETS OF BOTH GENERAL-PUR- LOGIC FUNCTIONS
POSE AND FLAG REGISTERS ARE PRO-
VIDED, EASING THE DESIGN AND
._\
iii Ao
OPERATION OF SYSTEM SOFTWARE A,
A,
THROUGH SINGLE-CONTEXT SWITCHING, rOi\a A,
A,
ADDRESS
BUS
.~\
GRAM PROCESSING OF TABLES AND AR- A"
RAYS Z84COO
Au
0,
• LOW POWER CONSUMPTION:
_ 9 mA TYP. AT 4 MHz
_ 15 mA TYP. AT 6 MHz
13
Z84COO
DESCRIPTION
laO CMOS Family is fabricated using SGS-THOM- to the programmer. The alternate set allows oper-
SON' CMOS Silicon Gate Technology, which pro- ation in foreground-background mode or it may be
vides low power operation and high performance. reserved for very fast interrupt response.
The laOC CPU is third-generation single-chip The laOC also contains a Stack Pointer, Program
microprocessors with exceptional computational Counter, two index registers, a Refresh register
power. They offer higher system throughput and (counter), and an Interrupt register.
more efficient memory utilization than comparable The CPU is easy to incorporate into a system since
second-and third-generation microprocessors. The it requires only a single + 5 V power source, all out-
internal registers contain 20a bits of readlwrite put signals are fully decoded and timed to control
memory that are accessible to the programmer. standard memory or peripheral circuits, and is sup-
These registers include two sets of six general-pur- ported by an extensive family of peripheral control-
pose registers which may be used individually as lers. The internal block diagram (figure 3) shows the
either a-bit registers or as 16-bit register pairs. In ad- primary functions of the laOC processors. Subse-
dition, there are two sets of accumulator and flag quent text provides more detail on the laOC 1/0 con-
registers. A group of "Exchange" instructions makes troller family, registers, instruction set, interrupts and
either set of main or alternate registers accessible daisy chaining, and CPU timing.
Figure 1 : Dual in Line Pin Configuration. Figure 2 : Chip Carrier Pin Configuration.
An A"
An As u
., ., ., ., ., ., :r
~ ~
:;' .,
~
A"
Au
As
A,
elK
z
6 , , J , 7 ,I. 4) 1.1 "'" " A,
A"
eLK
As
A, 04
"
J8 A4
O. ... 0)
0,
03 A,
06
"
0, A,
N.e
"
0, A,
vee
"
,J
ZB4COO
Vee As
0,
0, GHO
07
"
0, ftfSH
0" M1
00
0,
"
0, RESET
!NT BUSREO
,8 19 70
" 77 21 ]1. ~5 16 77
" 5-1I1~ I
MAED w-
10AO Ali
2/32
14
Z84COO
Vee __
GND~
CLOCK -..
CPU REGISTERS
Figure 4 shows three groups of registers within the bit registers: a principal set and an alternate set
CPU. The first group consists of duplicate sets of 8- (designated by '[prime), e.g., A'). Both sets consist
IMFa IMFb
o o INTERRUPT MODE 0
o 1 NOT USED
1 o INTERRUPT MODE 1
1 1 INTERRUPT MODE 2
3/32
15
----_. -----
Z84COO
of the Accumulator Register, the Flag Register, and The Z80C has a single response mode for interrupt
six general-purpose registers. Transfer of data be- service for the non-maskable interrupt. The mask-
tween these duplicate sets of registers is accom- able interrupt, INT, has three programmable re-
plished by use of "Exchange" instructions. The sponse modes available.
result is faster response to interrupts and easy, ef- These are:
ficient implementation of such versatile programm- • Mode 0 - compatible with the 8080 microproces-
ing techniques as background-foreground data sor.
processing. The second set of registers consists of • Mode 1 - Peripheral Interrupt service, for use with
six registers with assigned functions. These are the non-8080/Z80 systems.
I (Interrupt Register), the R (Refresh Register), the • Mode 2 - a vectored interrupt scheme, usually
IX and IV (Index Registers), the SP (Stack Pointer), daisy-chained, for use with Z80 Family and com-
and the PC (Program Counter). The third group con- patible peripheral devices.
sists of two interrupt status flip-flops, plus and addi-
tional pair of flip-flops which assists in identifying the The CPU services interrupts by sampling the NMI
interrupt mode at any particular time. Table 1 pro- and INT signals at the rising edge of the last clock
vides further information on these registers. of an instruction. Further interrupt service process-
ing depends upon the type of interrupt that was de-
tected. Details on interrupt responses are shown in
INTERRUPTS: GENERAL OPERATION the CPU Timing Section.
The CPU acc~ two interrupt input signals: NMI NON-MASKABLE INTERRUPT (NMI)
and INT. The NMI is a non-maskable interrupt and The non-maskable interrupt cannot be disabled by
has the highest priority. INT is a lower priority inter- program control and therefore will be accepted at all
rupt and it requires that interrupts be enabled in soft- times by the CPU. NMI is usually reserved for ser-
ware in order to operate. INT can be connected to vicing only the highest priority type interrupts, such
multiple peripheral devices in a wired-OR configu- as that for orderly shut-down after power failure has
ration. been detected.
Table 1 • CPU Registers
Register Size (Bits) Remarks
A, A' Accumulator 8 Stores an Operand or the Results of an Operation
F, F' Flags 8 See Instruction Set.
B, B' General Purpose 8 Can be used separately or as a t6-bit register with C.
C, C' General Purpose 8 See B, above.
D, D' General Purpose 8 Can be used separately or as a 16-bit regis1er with E.
E, E' General Purpose 8 See D, above.
H, H' General Purpose 8 Can be used separately or as a 16-bit register with L.
L, L' General Purpose 8 See H, above.
Note: The (B, C), (D, E), and (H, L) sets are combined as
follows:
B-High Byte C-Low Byte
D-High Byte E-Low Byte
H-High Byte L-Low Byte
I Interrupt Register 8 Stores upper eight bits of memory address for vectored
interrupt processing.
R Refresh Register 8 Provides user-transparent dynamic memory refresh. Lower
seven bits are automatically incremented and all eight are
placed on the address bus during each instruction fetch
cycle refresh time.
IX Index Register 16 Used for indexed addressing.
IY Index Register 16 Same as IX, above.
SP Stack Pointer 16 Holds address of the top of the stack. See Push or Pop in
Instruction Set.
PC Program Counter 16 Holds address of next instruction.
IFF1-IFF2 Interrupt Enable Flip-Flops Set or reset to indicate interrupt status (see figure 4).
IMFa-IMFb Interrupt Mode Flip-Flops Reflect Interrupt Mode (see figure 4).
4/32
16
Z84COO
After recognition of the NMI signal (providing BUS- plies the low-order byte of the 2-byte vector, bit 0
REO is not active), the CPU jumps to restart loca- (Ao) must be a zero.
tion 0066H. Normally, software starting at this
INTERRUPT PRIORITY (Daisy Chaining and
address contains the interrupt service routine.
Nested Interrupts).
MASKABLE INTERRUPT (INT) The interrupt priority of each peripheral device is
Regardless of the interrupt mode set by the user, determined by its physical location within a daisy-
the Z80C response to a maskable interrupt input fol- chain configuration. Each device in the chain has an
lows a common timing cycle. After the interrupt has interrupt enable input line (lEI) and an interrupt en-
been detected by the CPU (provided that interrupts able output line (lEO), which is fed to the next lower
are enabled and BUSREQ is not active) a special priority device. The first device in the daisy chain has
interruQLprocessing cycle begins. This is a special its lEI input hardwired to a High level. The first de-
fetch (MI) cycle in Which IORQ..Qecomes active vice has highest priority, while each succeding de-
rather than MREQ, as in normal M1 cycle. vice has a corresponding lower priority. This
arrangement permits the CPU to select the highest
In addition, this special M1 cycle is automatically ex-
priority interrupt from several simultaneously inter-
tended by two WAIT states, to allow for the time re-
rupting peripherals.
quired to acknowledge the interrupt request.
The interrupting device disables its lEO line to the
MODE 0 INTERRUPT OPERATION next lower priority peripheral until it has been ser-
This mode is similar with the 8080 microprocessor viced. After servicing, its lEO line is raised, allowing
interrupt service procedures. The interrupting de- lower priority peripherals to demand interruptservic-
vice places an instruction on the data bus. ing.
This is normally a Restart Instruction, which will in- The Z80C CPU will nest (queue) any pending inter-
itiate a call to the selected one of eight restart loca- rupts or interrupts received while a selected periph-
tions in page zero of memory. Unlike the 8080, the eral is being serviced.
Z80 CPU responds to the Call instruction with only
INTERRUPT ENABLE/DISABLE OPERATION
one interrupt acknowledge cycle followed by two
memory read cycles. Two flip-flops, IFF1 and IFF2, referred to in the reg-
ister description are used to signal the CPU inter-
MODE 1 INTERRUPT OPERATION rupt status. Operation of the two flip-flops is
Mode 1 operation is very similar to that for the NMI. described in table 2. For more details, refer to the
The principal difference is that the Mode 1 interrupt Z80 CPU Technical Manual.
has a restart location of 0038H only.
Table 2_ State of Flip-Flops
MODE 2 INTERRUPT OPERATION Action IFF2 IFF2 Comments
This interrupt mode has been designed to utilize CPU Reset 0 0 Maskable Interrupt
most effectively the capabilities of the Z80C micro- INT Disabled
processor and its associated peripheral family. The DI Instruction 0 0 Maskable Interrupt
interrupting peripheral device selects the starting Execution INT Disabled
address of the interrupt service routine. It does this EI Instruction 1 1 Maskable Interrupt
by placing an 8-bit vector on the data bus during the Execution INT Enabled
interrupt acknowledge cycle. The CPU forms a LD A, I Instruction IFF2 -7 Parity Flag
pointer using this byte as the lower 8-bits and the Execution
contents of the I register as the upper 8-bits. This LD A, R Instruction IFF2 -7 Parity Flag
points to an entry in a table of addresses for inter- Execution
rupt service routines. The CPU then jumps to the Accept NMI 0 IFF1 IFF1 -7IFF2
routine at that address. This flexibility in selecting (maskable
the interrupt service routine address allows the pe- interrupt
ripheral device to use several different types of ser-
vice routines. RETN Instruction IFF2 . INT disabled)
IFF2 -7 IFF1 at
Execution Co~tion of
These routines may be located at any available lo- an NMI Service
cation in memory. Since the interrupting device sup- Routine.
5/32
17
Z84COO
NO
5ET NMI ftF
NON
\ MASKA8L£
INTERRUPT
NO
IMA$KABl.(
INTERRUPT
"001'
Notes: 1. INT and NMI are always acted on at the end of an instruction.
2. BUSRQ is acted on at the end of a machine cycle. _ _
3. While the CPU is in the DMA MODE, it will not respond to active inputs on INT or NMI.
4. These three inputs are acted on in the following order of priority.
1) BUSRQ -- highest
2) NMI
3) INT -- lowest.
6/32
18
Z84COO
INSTRUCTION SET
The Z8DC microprocessor has one of the most • 16-BIT ARITHMETIC OPERATIONS
powerful and versatile instruction sets available in • ROTATES AND SHIFT
any 8-bit microprocessor. It includes such unique • BIT SET, RESET, AND TEST OPERATIONS
operations as a block move for fast, efficient data • JUMPS
transfers within memory or between memory and • CALLS, RETURNS, AND RESTARTS
1/0. It also allows operations on any bit in any loca- • INPUT AND OUTPUT OPERATIONS
tion in memory. A variety of addressing modes are implemented to
The following is a summary of the Z8DC instruction permit efficient and fast data transfer between vari-
set and shows the assembly language mnemonic, ous registers, memory locations, and input/output
the operation, the flag status, and gives comments devices. These addressing modes include:
on each instruction. The Z80 CPU Technical Manual • Immediate
and Z80 CPU Programming Manual contain sig nifi- • Immediate extended
cantly more details for programming use. • Modified page zero
The instructions are divided into the following ca- • Relative
tegories: • Extended
• 8-BIT LOADS • Indexed
• 16-BIT LOADS • Register
• EXCHANGES, BLOCK TRANSFERS, AND • Register indirect
SEARCHES • Implied
• 8-BIT ARITHMETIC AND LOGIC OPERATIONS • Bit
• GENERAL-PURPOSE ARITHMETIC AND CPU
CONTROL
00 BC
00 rrl 001 01 DE
INC ss
INC IX
ss~ss+1
IX ~ IX + 1
X
X
X
X
· ··"
00
11
ssO 011
011 101 DD
1
2
1
2
6
10
10
11
IX
SP
00 100011 23
INC IY IY ~ IV + 1 X .X · ·· 11 111 101 FD 2 2 10
rr
00 Be
Reg.
00 100011 23
DEC ss
DEC IX
ss
IX
+->
~
ss - 1
IX - 1
X
X
X
X
· ·· 00
11
ssl 011
011 101 DD
1
2
1
2
6
10
01 DE
10 IY
00 101 011 2B 11 SP
DEC IY IY~ IY-l X .X · · 11 111 101 FD 2 2 10
00 101 011 2B
Notes: ss is any 6f the register pairs Be, DE, HL, SP.
pp is any of the register pairs Be, DE, IX, SP.
rr is any of the register pairs Be, DE, IY, SP.
7/32
19
Z84COO
8/32
20
Z84COO
<-- n ~
<-- n ~
LD IX, (nn) IXH <-- (nn + 1) . X • X . 11 011 101 DD 4 6 20
IXL <-- (nn) 01 101 010 2A
<-- n ~
<-- n ~
LD IV, (nn) IVH<--(nn+1)
IV L <-- (nn)
• X • X · 11 111 101
00 101 010
FD
2A
4 6 20
<-- n ~
<-- n ~
LD (nn), HL (nn + 1) <-- H
(nn) <-- L
• X • X · 00 100 010
<-- n --->
22 3 5 16
<-- n ~
LD (nn), dd (nn + 1) <-- ddH . • X • X · 11 101 101 ED 4 6 20
(nn) <-- ddL 01 ddO 011
<-- n ~
<-- n ~
LD (nn), IX (nn+1)<--IXH
(nn) <-- IXL
• X • X · · 11 011 101
00100010
DD
22
4 6 20
<-- n ~
<-- n ~
LD (nn), IV (nn+1)<--IVH
(nn) <-- IVL
• X • X · 11 111 101
00 100010
FD
22
4 6 20
<-- n ~
<-- n ~
Notes: dd is any of the register pairs BC, DE, HL, SP.
qq is any of the registers pairs AF, BC, DE, HL.
(PAIR)H, (PAIR)c refer to high order and low order eight bits of the register pair respectively,
e.g., BCL = C, AFH = A.
9/32
21
Z84COO
·· · · ·· ·· ··
LD SP, HL SPr HL X X 11 111 001 F9 1 1 6
LD SP, IX SPr IX • X • X 11 011 101 DD 2 2 10
11 111 001 F9
LD SP, IV SP r IV
·· · ··
X • X 11
11
111
111
101
001
FD
F9
2 2 10
PUSH qq (SP - 2) r
(SP - 1) r
qqL
qqH
·· · · ··
X X 11 qqO 101 1 3 11 qq
00
Pair
Be
SP~SP-2 01 DE
PUSH IX (SP - 2) r
(SP -1) r
IXL
IXH
· · ··
• X • X 11 011 101
11 100101
DD
E5
2 4 15 10
11
HL
AF
SP~SP-2
PUSH IV (SP - 2) r
(SP - 1) r
IVL
IVH
· · ··
• X • X 11 111 101
11 100101
FD
E5
2 4 15
SP~SP-2
POP qq qqH r (SP + 1)
qqL r (SP)
· • X • X ·· 11 qqO 001 1 3 10
SP~SP+2
POP IX IXH r (SP + 1)
IXL r (SP)
· · ··
• X • X 11 011 101
11 100001
DD
El
2 4 14
SP~SP+2
POP IV IVH r (SP + 1)
IVL r (SP)
· · ··
• X • X 11 111 101
11 100001
FD
El
2 4 14
SP~SP+2
Notes: 1. If the result of B-1 is zero the Z flag is set, otherwise it is reset.
2. Z flag is set upon instruction completion only.
10132
22
Z84COO
11/32
23
Z84COO
12/32
24
Z84COO
1M 1
Mode 0
Set Interrupt . ··
X X
01
11
000 110 46
101 101 ED 2 2 8
Mode 1 01 010 110 56
1M2 Set Interrupt
Mode 2
·· · X
·· X 11
01
101 101 ED
011 110 5E
2 2 8
Notes: IFF indicates the interrupt enable flip-flop. CY indicates the carry flip-flop .• indicates interrupts are not sampled at the end of EI
or DI.
13/32
25
Z84COO
<-d-->
00~110 Instruction format
SLAm t x a x pot
m ~ r,(HL),(IX+d),(IY+d)
SRAm ~~XOXPO~
m ~ r,(HL),(IX+d),(IY+d)
RLD ~ A (HL)
x a x PO. 11 101 101 ED 2 5 18 Rotate digit left and
01101111 6F right between the
RRD
~ A HLi
t X a x PO. 11 101 101 ED
01 100 111 67
2 18 accumulator and
location (HL), The content
of the upper half of
the accumulator is
unaffected,
14/32
26
Z84COO
15/32
27
Z84COO
16/32
28
Z84COO
17/32
29
Z84COO
CD
INI (HL) <- (C) X t X X X X 1 X 11 101 101 ED 2 4 16 C to Ao _ A7
B<-B-l 10 100 010 A2 B to As - A '5
HL <- HL + 1
INIR (HL) <- (C) X 1 X X X X 1 X 11 101 101 ED 2 5 21 C 10 AD _ A7
B<-B-l 10 110 010 B2 (if B*O) B to As - A '5
HL<-HL+l 2 4 16
Repeat unil B = a (if B=O)
CD
OUT I (C) <- (HL) X t X X X X 1 X 11 101 101 ED 2 4 16 C to AD _ A7
B<-B-l 10 100 all A3 B to As _ A15
HL <- HL + 1
OTIR (C) <- (HL) X 1 X X X X 1 X 11 101 101 ED 2 5 21 C to Ao _ A7
B<-B-l 10 110 all B3 (if B*O) B to As _ A15
HL<-HL+l 2 4 16
Repeat until B = a (if B=O)
CD C 10 AD _ A7
aUTO (C) <- (HL)
B<-B-t
X •
- X X X X 1 X 11
10
101 101
101 all
ED
AB
2 4 16 B to As _ A,
HL <- HL - 1
CD
OTOR (C) <- (HL) X 1 X X X X 1 X 11 101 101 ED 2 5 21 C to Ao _ A7
B<-B-l 10 111 all (if B*O) B to As _ A,
HL <- HL + 1 2 4 16
Repeat until B = a (if B=O)
Note: 1. If the result of B-1 is zero the Z flag is set, otherwise it is reset.
18/32
30
"~4(;UU
19/32
31
Z84COO
SYMBOLIC NOTATION
07 Do
PIV N Comments
Instruction
S Z H
C
ADD A, s ; ADC A, s t t X t X V 0 t 8-bit Add or Add with Carry.
SUB s; SBC A, s ; CP s ; t t X t X V 1 t 8-Bit subtract, subtract with carry, compare and
NEG negate accumulator.
AND s t t X 1 X P 0 0
Logical Operations
OR s, XOR s t t X 0 X P 0 0
INC s t t X t X V 0 8-bit Increment
DEC s
ADD DD, ss
t t X
X
t
X
X
X
V
.
1
0
·t 8-bit Decrement
16-bit Add
ADC HL, ss t t X X X V 0 t 16-bit Add with Carry
SBC HL, ss t t X X X V 1 t 16-bit Subtract with Carry.
RLA, RLCA, RRA ; RRCA . X 0 X 0 t Rotate Accumulator.
RL m ; RLC m ; RR m ; t t X 0 X P 0 t Rotate and Shift Locations.
RRC m ; SLA m
SRAm ;SRLm
RLD ; RRD
DAA
t t
A
t
X
X
0
t
X
X
P
P
0
·t Rotate Digit Left and Right
Decimal Adjust Accumulator.
CPL ..
v
X 1 X 1
· Complement Accumulator
SCF . X 0 X . 0 1 Set Carry
CCF X X X 0 t Complement Carry
IN r (C)
INI, IND, OUTI ; OUTD
t t
X t
X
X
0
X
X
X
P
X
0
1
· Input Register Indirect
20/32
32
Z84COO
PIN DESCRIPTIONS
Ao-A15. Address Bus (Output, Active High, 3-state). an interrupt response vector can be placed on the
Ao-A15 form a 16-bit address bus. The Address Bus data bus.
provides the address for memory data bus ex- M1. Machine Cvcle One (Output, Active Low). M 1,
changes (up to 64 K bytes) and for 1/0 device ex- together with MREO, indicates that the curr~nt ma-
changes. chine cycle is the opcode fetch cycle of an Instruc-
BUSACK. Bus Acknowledge (Output, Active Low). tion execution. M1, together with 10RO, indicates an
Bus Acknowledge indicates to the requesting device interrupt acknowledge cycle.
that the CPU address bus, data bus, and control sig- MREQ. Memory Request (Output, Active Low, 3-
nals MREO, 10RO, RD, and WR have entered their state). MREO indicates that the address bus holds
high-impedance states. The external circuitry can a valid address for a memory read or memory write
now control these lines. operation.
BUSREO. Bus Request (Input, Active Low). Bus NMI. Non-Maskable Interrupt (Input, Negative
Request has a higher priority than NMI and is always ~e-triggered). NMI has a higher priority than INT.
recognized at the end of the current machine cycle. NMI is always recognized at the end of the current
BUSREO forces the CPU addressJ2!!s, dal£.Qus, instruction, independent of the status of the interrupt
and control signals MREO, 10RO, RD, and WR to enable flip-flop, and automatically forces the CPU
go to a high-impedance state so that other devices to restart at location 0066H.
can control these lines. BUSREO is normally wire-
ORed and requires an external pullup for these ap- RD. Read (Output, Active Low, 3-state). RD indi-
plications. Extended BUSREO periods due to cates that the CPU wants to read data from mem-
extensive DMA operations can prevent the CPU ory or an 1/0 device. The addressed 1/0 device or
from properly refreshing dynamic RAMs. memory should use this signal to gate data onto the
CPU data bus.
00-07. Data Bus (Input/Output), active High, 3-
state). 00-07 constitute an 8-bit bidirectional data RESET. Reset (Input, Active Low). RESET in-
bus, used for data exchanges with memory and 1/0. itializes the CPU as follows : it resets the interrupt
enable flip-flop, clears the PC and Registers I and
HALT. Halt State (Output, Active Low). HALT indi- R and sets the interrupt status to Mode O. During
cates that the CPU has executed a Halt instruction r~set time, the address and data bus go to a high-
and is awaiting either a non-maskable or a mask- impedance state, and all control output signals go
able interrupt (with the mask enabled) before oper- to the inactive state.
ation can be resumed.
Note that RESET must be active for a minimum of
While halted, the CPU executes NOPs to maintain three full clock cycles before the reset operation is
memory refresh. complete.
INT. Interrupt Request (Input, Active Low). Interrupt RFSH. Refresh (Output, Active Low). RFSH,
Request is generated by 1/0 devices. The CPU ho- together with MREO, indicates that the lower seven
nors a request at the end of the current instruction bits of the system's address bus can be used as a
if the internal software-controlled interrupt enable refresh address to the system's dynamic memories.
flip-flop (IFF) is enabled. INT is normally wire-O~ed
and requires an external pullup for these applica- WAIT. Wait (Input, Active Low). WAIT indicates to
tions. the CPU that the addressed memory or 1/0 devices
are not ready for a data transfer. The CPU continues
IORQ. Input/Output Request (Output, Active Low, to enter a Wait state as long as this signal is active.
3-state). 10RO indicates that the lower half of the Extended WAIT periods can prevent the CPU from
address bus holds a valid I/O address for an 1/0 read refreshing dynamic memory properly.
or write operation.
WR. Write (Output, Active Low, (3-state). WR indi-
10RO is also generated concurrently with M1 dur- cates that the CPU data bus holds valid data to be
ing an interrupt acknowledge cycle to indicate that stored at the addressed memory or 1/0 location.
21/32
33
Z84COO
CPU TIMING
The ZaDC CPU executes instructions by proceed- Counter (PC) on the address bus at the start of the
ing through a specific sequence of operations: cycle (figure 5). Approximately one-ha!f..Q!ock cycle
• Memory read or write later, MREQgoes active. When active, RD indicates
• I/O device read or write that the memory data can be enabled onto the CPU
• Interrupt acknowledge data bus.
The basic clock period is referred to as a T time or The CPU samples the WAIT input with the falling
cycle, and three or more T cycles make up a ma- edge of clock state T2. During clock states T3 and
chine cycle (M1, M2 or M3 for instance). Machine T4 of an M1 cycle dynamic RAM refresh can occur
cycles can be extended either by the CPU automati- while the CPU starts decoding and executing the in-
cally inserting one or more Wait states or by the in- struction. When the Refresh Control signal
sertion of one or more Wait states by the user. becomes active, refreshing of dynamic memory can
take place.
INSTRUCTION OPCODE FETCH
The CPU places the contents of the Program
Figure 5 : Instruction Opcode Fetch.
\----------~;----
--------------~o
RFSH
Note: T wRWait cycle added when necessary for slow ancilliary devices.
22132
34
Z84COO
MEMORY READ OR WRITE CYCLES becomes active when the address bus is stable.
Figure 6 shows the timing of memoruead or write The WR line is active when the data bu.§..Js stable,
cycles other than an opcode fetch (M 1) cycle. The so that it can be used directly as an R/W pulse to
MREQ and RD signals function exactly as in the most semiconductor memories.
fetch cycle. In a memory write cycle, MREQ also
T, T, Tw T,
CI.-:1l
Iro-A.,\S
iiiiEQ
WAiT
@--
-1
iii>
OPERATION ~
,
Do-D 7 •
-1
Wii
:
j
OPERATION
OO-D7 -
; DATA OUT
23132
35
Z84COO
CLOCK
WAIT -+---+----1I------..JIo.-.L.-I'~'--'
110 {
READ
OPERATION
--I®I--
WR I~__________~(~__________-J~I-~®~l----
WRI~~ { -®-
_ _ _ _ _ _~----------I'~---~~~~--~
OPERATION
00-07 ~ DATA OUT
24/32
36
Z84COO
CLOCK
AO-A1. ____________4--J~------------~--~----~~,~----~--~-J~---
WAIT ____________~------------------------~----$--J
DO-D7====="'jMD~·2~
1- __--eC.I'=E~
(H( ;
Noles: 1. TL = Last state of previous instruction.
2. Two Wait cycles automatically inserted by CPU (').
25/32
~ SGS·THOMSON
..
.,I ~ll©DiI@~~I<©1i'DiI@li\Illl©$
37
Z84COO
AO-A11 _ _ _ _ _ _ _ _ _ _---1t-'.I'-+_---p-C----t-'~------t.-.-F.-.S-H+-----y
IIli
@I
___, /4-
• Although NM I is an asynchronous input, to guarantee its being recognized on the following machine cycle, NMl's falling edge must oc-
cur no later than the rising edge of the clock cycle preceding TLAST.
26/32
38
Z84COO
BUS REQUEST/ACKNOWLEDGE CYCLE to a high-impedance state with the rising edge of the
next clock pulse. At that time, any external device
The CPU samples BUSREQ with the rising edge of
can take control of these lines, usually to transfer
the last clock period of any machine cycle
data between memory and I/O devices.
(figure 10). If BUSREQ is active,Jb? CPU sets its
address, data, and MREQ, 10RQ, RD, and WR lines
Figure 10 : Z-Bus Request/Acknowledge Cycle.
T,
CLOCK
®
111
----------------+--------------------------
HALT UNCHANGED
27/32
39
Z84COO
HALT ACKNOWLEDGE CYCLE for the CPU to properly accept it. As long a RESET
remains active, the address and data buses float.
When the CPU receives an Halt instruction it ex-
and the control outputs are inactive. Once RESET
ecutes.NOP states until either an INT or NMi input
goes inactive, three internal T cycles are consumed
IS received. When in the Halt state, the HALT out-
b~fore the CPU resumes normal processing oper-
put is active and remains so until an interrupt is pro-
ation. RESET clears the PC register, so the first op-
cessed (figure 11).
code fetch will be to location 0000 (figure 12).
RESET CYCLE
RESET must be active for at least three clock cycles
Figure 11 : Halt Acknowledge Cycle.
_ _ _ I-TV'
MM. ~---------------------
CLOCK
-@--
M1 ________________________ ....J7
~--------------~r77J~~------;~'l~--------------------~r-------------
.u':i~"K
HALT
IIOW \'------
28/32
40
Z84COO
POWER DOWN When the system clock is supplied to the CPU ClK
terminal, CPU restarts operation continuously from
When the CPU system clock is stopped at either a
the state when power down function has been im-
high or low level, the CPU stops Its operation and
plemented.
maintains registers and control signals.
Note the followings when release from power down
However 1002 Stand-by Supply Current is guaran-
state.
teed only when the supplied system clock is stopped
at a low level during T 4 state of the following ma- (1) When external oscillator has been stopped to
chine cycle (actually that is M1 cycle and executes enter power down state, some warming-up time
NOP instruction) next to OPcode fetch cycle of may be required to obtain precious and stable
HALT instruction. The timing diagram when system clock for release from power down state.
POWER DOWN function is implemented by HALT (2) When HALT instruction is executed to enter
instruction is shown in figure 13. power down state, the CPU will enter HALT
This function can be easily realized when a clock state. An interrupt signal (NMI or INT) or RESET
generator controller is connected with the CPU. signal must be generated after the system clock
is supplied to release power down state. other-
RELEASE FROM POWER DOWN STATE wise the CPU is stili in HALT state·even if the
The system clock must be supplied to the CPU to system clock is supplied.
release power down state.
Figure 13 : Timing Diagram of Power Down Function by Halt Instruction.
L . . -_ _ _ _ _- l 1 1 - - -
';-1096
29132
41
Z84COO
AC CHARACTERISTICS
Z84COOA Z84COOB Z84COOH
N° Symbol Parameter
Min. Max. Min. Max. Min. Max.
(ns) (ns) (ns) (ns) (ns) (ns)
1 TcC Clock Cycle Time 250 DC 165 DC 125 DC
2 TwCh Clock Pulse Width (high) 110 DC 65 DC 55 DC
3 TwCI Clock Pulse Width (low) 110 DC 65 DC 55 DC
4 TfC Clock Fall Time 30 20 10
5 TrC Clock Rise Time 30 20 10
6 TdCr(A) Clock t to Address Valid Delay 110 90 80
7 TdA(MREQf) Address Valid to MREQ J, Delay 65 35 20
8 TdCf(MREQf) Clock J, to MREQ J, Delay 85 70 60
9 TdCr(MREQr) Clock t to MREQ t Delay 85 70 60
10 TwMREQh MREQ Pulse Width (high) 110 65 45
11 TwMREQI MREQ Pulse Width (low) 220 135 100
12 TdCf(MREQr) Clock J, to MREQ l' Delay 85 70 60
13 TdCf(RDf) Clock J, to RD J, Delay 95 80 70
14 TdCr(RDr) Clock t to RD t Delay 85 70 60
15 TsD(Cr) Data Setup Time to Clock t 35 30 30
16 ThD(RDr) Data Hold Time to RD t 0 0 0
17 TsWAIT(Cf) WAIT Setup Time to Clock J, 70 60 50
18* ThWAIT(Cf) WAIT Hold Time after Clock J, 10 10 10
19 TdCr(Mlf) Clock t to MI J, Delay 100 80 70
20 TdCr(Mlr) Clock t to MI t Delay 100 80 70
21 TdCr(RFSHf) Clock t to RFSH J, Delay 130 110 95
22 TdCr(RFSHr) Clock t to RFSH t Delay 120 100 85
23 TdCf(RDr) Clock J, to RD t Delay 85 70 60
24 TdCr(RDf) Clock t to RD J, Delay 85 70 60
25 TsD(Cf) Data Setup to Clock J, during 50 40 30
M 2 , M 3 , M4 or M5 Cycles
26 TdA(IORQf) Address Stable Prior to IORQ J, 180 110 75
27 TdCr(IORQf) Clock t to IORQ J, Delay 75 65 55
28 TdCf(IORQr) Clock J, to IORQ t Delay 85 70 60
29 TdCf(WRf) Data Stable Prior to WR J, 80 25 5
30 TdDf(WRf) Clock J, to WR J, Delay 80 70 60
31 TwWR WR Pulse Width 220 135 100
32 TdCf(WRr) Clock J, to WR t Delay 80 70 60
33 TdD(WRf) Data Stable Prior to WR J, - 10 - 55 - 55
34 TdCr(WRf) Clock t to WR J, Delay 65 60 55
35 TdWRr(D) Data Stable from WR t 60 30 15
36 TdCf(HALT) Clock J, to HALT tor J, 300 260 225
Note: • Not compatible with NMOS Specifications.
30/32
42
Z84COO
~C CHARACTERISTICS (continued)
Z84COOA Z84COOB Z84COOH
N° Symbol Parameter
Min. Max. Min. Max. Min. Max.
(ns) (ns) (ns) (ns) (ns) (ns)
37 TwNMI NMI Pulse Width 80 70 60
38 TsBUSREO(Cr) BUSREO Setup Time to Clock 1 50 50 40
39* TcBUSUREO(Cr) BUSREO Hold Time after Clock 1 10 10 10
40 TdCr(BUSACKf) Clock 1 to BUSACK -1 Delay 100 90 80
41 TdCf(BUSACKr) Clock -1 to BUSACK 1 Delay 100 90 80
42 TdCr(Tz) Clock 1 to Data Float Delay 90 80 70
43 TdCr(CTz) Control Ou!2!!,ts Flo~
Clock 1 to 80 70 60
Delay (MREO. IORO, RD, and WR)
44 TdCr(Az) Clock 1 to Address Float Delay 90 80 70
45 TdCTr(A) MREO I, IORO I, RD I, and WR 1 to Address 80 35 20
Hold Time
46 TsRESET(Cr) RESET to Clock 1 Setup Time 60 60 45
47* ThRESET(Cr) RESET to Clock 1 Hold Time 10 10 10
48 TsINTf(Cr) INT to Clock 1 Setup Time 80 70 55
49* ThINTr(Cr) INT to Clock 1 Hold Time 10 10 10
50 TdMlf(IOROf) MI -1 to IORO -1 Delay 565 365 270
51 TdCf(IOROf) Clock -1 to IORO -1 Delay 85 70 60
52 TdCf(IOROr) Clock 1 to IORO 1 Delay 85 70 60
53 TdCf(D) Clock -1 to Data Valid Delay 150 130 115
Note: • Not compatible with NMOS Specification.
a..,I
~ SCiS·1HOMSON
~U©IRI@rn~rn©1rIil@IllU©®
31/32
43
Z84COO
DC CHARACTERISTICS
Symbol Parameter Test Conditions Min. Typ. Max. Unit
Vile Clock Input low Voltage - 0.3 - 0.6 V
VIHe Clock Input High Voltage Vee - 0.6 - Vee + 0.3 V
Vil Input low Voltage (except ClK) - 0.5 - 0.8 V
VIH Input High Voltage (except ClK) 2.2 - Vee V
VOL Output low Voltage IOl ; 2.0 mA - - 0.4 V
VOHl Output High Voltage (1) IOH;-1.6mA 2.4 - - V
VOH2 Output High Voltage (2) IOH ; - 250 JlA Vee - 0.8 - - V
III Input leakage Current Vss S; VIN S; Vee - - 10 JlA
ILO 3·State Output leakage Current in Vss + 0.4 S; VOUT S; Vce - 10 - 10 JlA
Float
lecl Operating Supply Current
4 MHz Vee; 5 V, VIL ; 0.2 V - 9 15 mA
6 MHz VIH ; Vee - 0.2 V - 15 22 mA
8 MHz - 20 25 mA
lee2(1 ) Stand·by Supply Current Vee; 5 V - 0.5 10 JlA
ClK; (1)
Vil ; Vee - 0.2 V
VIH ; 0.2 V
Note: 1. Icc2 Stand·by Current is guaranteed only when the supplied clock is stopped at a low level during T4 state of the following
machine cycle (M1) next to OPcode fetch cycle of HALT instruction.
TEST CONDITIONS
TA = - 40 "C to + 85 'c driven at Vcc - 0.6 V for a logic "1" and 0.6 V for
Vcc = 5 V ± 10 % a logic "0".
• Timing measurements are made at 2.2 V for a
VSS= 0 V logic "1" and 0.8 V for a logic "0".
AC test conditions All AC parameters assume a load capacitance of
• Inputs except ClK (clock) are driven at 2.4 V for 100 pF .
a logic "1" and 0.4 V for a logic "0". Clock input is
ORDERING INFORMATION
Type Package Temp. Clock Description
Z84COOAB6 DIP-40 (plastic) -40/+ 85°C 4 MHz Z80C Central
Z84COOAD6 DIP-40 (ceramic) -40/+ 85°C Processing Unit
Z84COOAD2 DIP-40 (ceramic) -55/+ 125°C CMOS Version
Z84COOAC6 PlCC44 (plastic chip-carrier) -40/+ 85°C
Z84COOBB6 DIP-40 (plastic) -40/+ 85°C 6 MHz
Z84COOBD6 DIP-40 (ceramic) -40/+ 85°C
Z84COOBD2 DIP-40 (ceramic) - 55/ + 125°C
Z84COOBC6 PlCC44 (plastic chip-carrier) -40/+ 85°C
Z84COOHB6 DIP-40 (plastic) -40/+ 85°C 8 MHz
Z84COOHD6 DIP-40 (ceramic) -40/+ 85°C
Z84COOHC6 PlCC44 (plastic chip-carrier) -40/+ 85°C
32132
44
Z84C10
"'~l
0,
_ 40°C TO + 85 °C BU' {
CONTROL ' .
Z84C10
DESCRIPTION .,
The Z80C DMA (Direct Memory Access) is a power-
ful and versatile device for controlling and process-
SYSTEM
CONTROL
BU'
1 __
lORa
UREa
;w '0'
CE.r..vAIT _ _ _
} DMA
CONTROL
Wi< .NT/PULSE
ing transfers of data. Its basic function of managing I I
E } INTERRUPT
CONTROL
CPU-independent transfers between two ports is
augmented by an array of features that optimize
transfer speed and control with little or no external
logic in systems using an 8- or 16-bit data bus and
a 16-bit address bus. Vee
45
Z84C10
FUNCTIONAL DESCRIPTION
IiiiiEO
BAll
Classes of Operation. The laDC DMA has threE
BAi basic classes of operation:
BUsAEa • Transfers of data between two ports (memory 01
cEiWAiT
A"
1/0 peripheral)
Au • Searches for a particular a-bit maskable byte al
Au
a single port in memory or an 1/0 peripheral
Au An
• Combined transfers with simultaneous searc~
between two ports
Figure 4 illustrates the basic functions served b~
these classes of operation.
Figure 2: Chip Carrier Pin Configuration. During a transfer, the DMA assumes control of the
system address and data buses. Data is read from
one addressable port and written to the other ad-
dressable port, byte by byte. The ports may be pro-
grammed to be either system main memory 01
6 S 4 ] 1 1 41. to) ~2 1.1 ~:;
peripheral 1/0 devices. Thus, a block of data may be
written from one peripheral to another, from one
area of main memory to another, or from a periph-
eral to main memory and vice versa.
During a search-only operation, data is read from
Z84Cl0 the source port and compared byte by byte with a
DMA-internal register containing a programmable
match byte. This match byte may optionally be
masked so that only certain bits within the match
byte are compared.
16 19 10 21 n 23 :U. ~5 25 27 26 Search rates up to 2 M bytes per second can be ob-
tained with the 4 MHz laDC DMA or 3 M bytes per
second with the 6 MHz laDC DMA.
In combined searches and transfers, data is trans-
NC ~ NO CONNECTION ferred between two ports while simultaneously
searching for a bit-maskable byte match.
memory-to-memory, and I/O-to-I/O. Dual port ad- Data transfers or searches can be programmed to
dresses are automatically generated for each trans- stop or interrupt under various conditions. In addi-
action and may be either fixed or tion, CPU-readable status bits can be programmed
incrementing/decrementing. In addition, bit-mask- to reflect the condition.
able byte searches can be performed either concur- MODES OF OPERATION
rently with transfers or as an operation in itself.
The DMA can be programmed to operate in one of
The laDC DMA contains direct interfacing to and in- three transfer andlor search modes:
dependent control of system buses, as well as soph- • 8yte-at-a-Time: data operations are performed
isticated bus and interrupt controls. Many one byte at a time. Between each byte operation
2/20
46
Z84C10
SYSTEM
BUSES zao OMA
If-!\ ~
CPU
,"'".5 v
'y---y'
DMA
!NT I -
INT
1. Search memory
,- ROY
2. Transfer memory-to-memory (optional search)
3. Transfer memory-to-IIO (optional search)
.SV
'" 4. Search 110
5. Transfer IIO-to-I/O (optional search)
T block length (cont is N-t where N is the block
k=J
lEI
,--- lCITO,
length).
CTC
.- ZCfT02 iNT f---- I- COMMANDS AND STATUS
lEa
The l80C DMA has several writable control regis-
I ters and readable status registers available to the
l
lEI lEO
I -
f-- !NT f---- CPU. Control bytes can be written to the DMA when-
-
AltCA INT
I
~ TxCA lEO I--- lEI ever the DMA is not controlling the system buses,
-
~ RI(CB
-
~ TxCB
W/AOYA I---
W/RDY8 I - - -
J ~ ROY
I
but the act of writing a control byte to the DMA dis-
ables the DMA until it is again enabled by a specific
command. Status bytes can also be read at any
such time, but writting the Read Status Byte com-
SIO DMA
mand or the Initial Read Sequence command dis-
I~
1Jc---l\
~ ~ I ables the DMA.
Control bytes to the DMA include those which effect
immediate command actions such as enable, dis-
able, reset, load starting-address buffers, continue,
the system buses are released to the CPU. The
clear counters, clear status bits and the like. In ad-
buses are requested again for each succeeding
dition, many mode-setting control bytes can be writ-
byte operation.
ten, including mode and class of operation, port
• Burst: data operations continue until a port's
configuration, starting addresses, block length, ad-
Ready line to the DMA goes inactive. The DMA
dress counting rule, match and match-mask byte,
then stops and releases the system buses after
interrupt conditions, interrupt vector, status-affects-
completing its current byte operation.
vector condition, pulse counting, auto restart,
• Continuous: data operations continue until the
Ready-line and Wait-line rules, and read mask.
end of the programmed block of data is reached
before the system buses are released. If a port's Readable status registers include a general status
Ready line goes inactive before this occurs, the
DMA simply pauses until the Ready line comes Figure 5 : Variable Cycle Lenght.
active gain.
In all modes, once a byte of data is read into the
DMA, the operation on the byte will be completed in
an orderly fashion, regardless of the state of other eLK
signals (including a port's Ready line).
Due to the DMA's high-speed buffered method of 1-.-2.CYClE -~EAALY ENOING
pleted until the next byte is read in. This means that !...- 4·CYClE t----!
total transfer or search block lengths must be two or
more bytes, and that block lengths programmed into
the DMA must be one byte less than the desired
3/20
47
Z84C10
byte reflecting Ready-line, end-of-block, byte-match be written into buffer registers during transfers,
and interrupt conditions, as well as 2-byte registers causing the Auto Restart to begin at a new location.
for the current byte count, Port A address and Port
INTERRUPTS
B address.
The Z8DC DMA can be programmed to interrupt the
VARIABLE CYCLE CPU on three conditions:
The DMA has the unique feature of programmable • Interrupt on Ready (before requesting bus)
operation-cycle length. This is valuable in tailoring • Interrupt on Match
the DMA to the particular requirements of other sys- • Interrupt on End of Block
tem components (fast or slow) and maximizes the Any of these interrupts cause an interrupt-pending
data-transfer rate. It also eliminates external logic status bit to be set, and each of them can optionally
for signal conditioning. alter the DMA's interrupt vector. Due to the buffered
There are two aspects to the variable cycle feature. constraint mentioned under "Modes of Operation",
First, the entire read and write cycles (periods) as- interrupts on Match at End of Block are caused by
sociated with the source and destination ports can matches to the byte just prior to the last byte in the
be independently programmed as 2, 3 or 4 T-cycles block.
long (more if Wait cycles are used), thereby increas- The DMA shares the Z8D Family's elaborate inter-
ing or decreasing the speed with which all DMA sig- rupt scheme, which provides fast interrupt service
nals change (figure 5). in real-time applications. In a Z8DC CPU environ-
Second, the four signals in each port specifically as- ment, the DMA passes its internally modifiable 8-bit
sociated with transfers of data (1/0 Request, Mem- interrupt vector to the CPU, which adds an additional
ory Request, Read, and Write) can each have its eight bits to form the memory address of the inter-
active trailing edge terminated one-half T -cycle rupt routine table. This table contains the address
early. This adds a further dimension of flexibility and of the beginning of the interrupt routine itself. In this
speed, allowing such things as shorter-than-normal process ; CPU control is transferred directly to the
Read or Write signals that go inactive before data interrupt routine, so that the next instruction ex-
starts to change. ecuted after an interrupt acknowledge is the first in-
ADDRESS GENERATION struction of the interrupt routine itself.
4/20
48
Z84C10
BAO .Bus Acknowledge Out (output, active Low). block lower-priority devices from interrupting while
In a multiple-DMA configuration, this pin signals that a higher-priority device is being serviced by its CPU
no other high~riority DMA has requested the sys- interrupt service routine.
tem buses. BAI and BAO from daisy chain for INT/PULSE .Interrupt Request (output, active Low,
multiple-DMA priority resolution over bus control. open drain). This requests a CPU interrupt. The
BUSREQ .Bus Request (Bidirectional, active Low, CPU acknowledges the interrupt by pulling its 10RO
open drain). As an output, it sends requests for con- output Low during an M1 cycle. It is typically con-
trol of the system address bus, data bus and con- nected to the INT pin of the CPU with a pullup resis-
trol bus to the CPU. As an input, when multiple tor and tied to all other INT pins in the system. This
DMAs are strung together in a priority daisy chain pin can also be used to generate periodic pulses to
via BAI and BAO, it senses when another DMA has an external device. It can be used this way....QD.]y
requested the buses and causes this DMA to refrain when the DMA is bus master (i.e., the CPU's BUS-
from bus requesting until the other DMA is finished. REO and BUSACK lines are both Low and the CPU
Because it is a bidirectional pin, there cannot be any cannot see interrupts).
buffers between this DMA and any other DMA. It IORQ .Input/Output Request (bidirectional; active
can, however, have a buffer between it and the CPU Low, 3-state). As an input, this indicates that the
because it is unidirectional into the CPU. A pull-up lower half of the address bus holds a valid I/O port
resistor is connected to this pin address for transfer of control or status bytes from
CE/WAIT . Chip Enable and Wait iI!QlJt, active Low). or to the CPU, r~ectively ; thl£...PMA is the ad-
Normally this functions only as a CE line, but it can dressed port if its CE pin and its WR or RD pins are
al.§Q.be programmed to serve a WAIT function. As simultaneously active. As an output, after the DMA
a CE line from the CPU, it becomes active when WR has taken control of the system buses, it indicates
and 10RO are active and the I/O port address on that the 8-bit or 16-bit address bus holds a valid port
the system address bus is the DMA's address, address for another I/O device involved in a DMA
thereby allowing a transfer of control or command transfer of data. When 10RO and M1 are both ac-
bytes from the CPU to the DMA. As a WAIT line from tive simultaneously, an interrupt acknowledge is in-
memory or I/O devices, after the DMA has received dicated.
a bus-request acknowledge from the CPU, it causes M1 .Machine Cycle One (input, active Low). Indi-
wait states to be inserted in the DMA's operation cates that the current CPU machine cycle is an in-
cycles thereby slowing the DMA to a speed that mat- struction fetch. It is used by the DMA to decode the
ches the memory or I/O device. return-from-interrupt instruction (RETI) (ED-4D)
CLK .System Clock (input). Standard Z80 single- sent b'y"!he CPU. During two-byte instruction fet-
phase clock at 4.0 MHz (Z80CA DMA) or 6.0 MHz ches, M1 is active as each opcode byte is fetched.
(Z80CB DMA). For slower system clocks, a TTL An interrupt acknowledge is indicated when both M1
gate whith a pullup resistor may be adequate to and 10RO are active.
meet the timing and voltage level specification. For
higher-speed systems, use a clock driver with an ac- MREQ .Memory Request (output, active Low, 3-
tive pullup to meet the VIH specification and risetime state). This indicates that the address bus holds a
requirements. In all cases there should be a resis- valid address for a memory read or write operation.
tive pullup to the power supply of 10K ohms (max) After the DMA has taken control of the system
to ensure proper power when the DMA is reset. buses, it indicates a DMA transfer request from or
to memory.
00-07 .System Data Bus (bidirectional, 3-state).
Commands from the CPU, DMA status, and data RO. Read(bidirectional, active Low, 3-state). As an
from memory or I/O peripherals are transferred on input, this indicates that the CPU wants to read
these lines. status bytes from the DMA's read registers. As an
lEI . Interrupt Enable In (input, active High). This is output, after the DMA has taken control of the sys-
used with lEO to form a priority daisy chain when tem buses, it indicates a DMA-controlled read from
there is more than one interrupt-driven device. A a memory or I/O port address.
High on this line indicates that no other device of ROY. Ready (input, programmable active Low or
higher priority is being serviced by a CPU interrupt High). This is monitored by the DMA to determine
service routine. when a peripheral device associated with a DMA
lEO .Interrupt Enable Out (output, active High). lEO port is ready for a read or write operation. Depend-
is High only if lEI is High and the CPU is not servic- ing on the mode of DMA operation (Byte, Burst or
ing an interrupt from this DMA. Thus, this signal Continuous), the RDY line indirectly controls DMA
5/20
49
Z84C10
activity by causing the BUSREQ line to go Low or governs and monitors the activities of these logic cir-
High. cuits. All registers are eight bits wide, with double-
WR Write (bidirectional, active Low, 3-state). As and byte information stored in adjacent registers. The
input, this indicates that the CPU wants to write con- two address counters (two bytes each) for Ports A
trol or command bytes to the DMA write registers. and B are buffered by the two starting addresses.
As an output, after the DMA has taken control of the The 21 writable control register are organized into
system buses, it indicates a DMA-controlled write to seven base-register groups, most of which have
a memory or I/O port address. multiple registers. The base registers in each writ-
able group contain both control/command bits and
pointer bits that can be set to address other regis-
INTERNAL STRUCTURE ters within the group. The seven readable status
registers have no analogous second-level registers.
The internal structure of the zaocDMA includes
a-
driver and receiver circuitry for interfacing with an The registers are designated as follows, according
bit system data bus, a 16-bit system address bus, to their base-register groups:
and system control lines (figure 6). In a zaoc CPU WRO-WR6 - Write Register groups 0 through 6
environment, the DMA can be tied directly to the (7 base registers plus 14 associated registers)
analogous pins on the CPU (figure 7) with no addi-
tional buffering, except for the CE/WAIT line. RRO-RR6 - Read Registers 0 through 6
The DMA's internal data bus interfaces with the sys- Writing to a register within a write-register group in-
tem data bus and seNices all internal logic and reg- volves first writing to the base register, with the ap-
isters. Addresses generated from this logic for Ports propriate pointer bits set, then writing to one or more
A and B (source and destination) of the DMA's single of the other register within the group. All seven of
transfer channel are multiplexed onto the system the readable status registers are accessed sequen-
address bus. tially according to a programmable mask contained
in one of the writable registers. The section entitled
Specialized logic circuits in the DMA are dedicated
"Programming" explains this in more detail.
to the various fu nctions of external bus interfacing,
internal bus control, byte matching, byte counting, A pipelining scheme is used for reading data in. The
periodic pulse generation, CPU interrupts, bus re- programmed block length is the number of bytes
quest, and address generation. A set of twenty-one compared to the byte counter, which increments at
writable control registers and seven readable status the end of each cycle. In searches, data byte com-
registers provides the means by which the CPU parisons with the match byte are made during the
SYSTEM SYSTEM
OAT A fL-J-.L......1\ ADDRESS
MUX BUS
BUS \~......-~.I
18 BIT) (16 f'IT)
CONTROL \~ _ _~/I
6/20
50
Z84C10
WR
elK
FROM FROM
I/O I/O
DEVICE DEVICE
Write Registers read cycle of the next by1e. Matches are, therefore,
discovered only after the next byte is read in.
WRO Base Register Byte
Port A starting Address (low byte) In multiple-DMA configurations, interrupt request
Port A starting Address (high byte) daisy chains are priorized by the order in which their
Block Length (low byte) lEI and lEO lines are connected. The system bus,
Block Length (high byte) however, may not be pre-empted.
WR1 Base Register Byte Any DMA that gains access to the system bus keeps
Port A Variable-timing Byte the bus until it is finished.
WR2 Base Register Byte
Port B Variable-timing Byte
WR3 Base Register Byte PROGRAMMING
Mask Byte The laDC DMA has two programmable fundamen-
Match Byte tal states: (1) an enabled state, in which it can gain
WR4 Base Register Byte control of the system buses and direct the transfer
Port B starting Address (low byte) of data between ports, and (2) a disabled state, in
Port B starting Address (high byte) which it can initiate neither bus requests nor data
Interrupt Control Byte transfers. When the DMA is powered up or reset by
Pulse Control Byte
any means, it is automatically placed into the dis-
Interrupt Vector
abled state. Program commands can be written to
WR5 Base Register Byte
it by the CPU in either state, but this automatically
WR6 Base Register Byte
Read Mask puts the DMA in the disabled state, which is main-
tained until an enable command is issued by the
CPU. The CPU must program the DMA in advance
of any data search or transfer by addressing it as an
Read Registers I/O port and sending a sequence of control bytes
RRO Status Byte using an Output instruction (such as OTIR for the
RR1 Byte Counter (low byte) laDC CPU).
RR2 Byte Counter (high byte)
WRITING
RR3 Port A Address Counter (low byte)
RR4 Port A Address Counter (high byte) Control or command by1es are written into one or
RR5 Port B Address Counter (low byte) more of the Write Register groups (WRO-WR6) by
RR6 Port B Address Counter (high byte) first writing to the base register byte in that group.
7/20
51
Z84C10
Read Register 0
0, 0, o~ 0, 0] Dz 01 Do Read Regis1er 2
~ I _1L.J1---1.1-L1--LI. .J. . . . L. . J1 BYTE COUNTER (l,OW BYTE)
ill
( X x f i [x: ! STATUS B'fTE LI
I I 1
D
~ READY
OM' TRANSfER HAS OCCURRED
:= ACTIVE
Read Register 3
8/20
52
Z84C10
I!! I)
I
1
00 HOT USE
' ' ' ' TRANSFER
0 - SEARCH
1 _ SEARCHITRANSFEA
II - PORT B __ PORT A-
am"! I
CONTINUOUS"" 0
BURST", 1
DO NOT PROGRAM", 1
I
0
1
r-r'-r-'T--r
....,..,.-,., .LOCK LENG'H '-"---''":-',.,.,.,.-'--'---' INTERRUPT CONTROL BYTE
L-"Ir'--'---'-"-'-L..J ClOW
,-,r',-,-,-r,.....,....., BLOCK LENGTH
'-JLJ--l-L-L-.L--'-_l (HIGH BYTE)
BYTE!
INTERRUPT ON ROY" I
II
STATUS AFFECTS VECTOR -= 1
I I !- INTERRUPT ON MATCH
I -' IMURRUPT AT END OF BLOCI(
I ~ PUtSE GENERATED
II !
I)
o
0
1
= PORTAlS MEMORY
, '" PORTA IS 110
= PORT A ADDRESS DECREMENTS
'" PORT It ADDRESS INCREMENTS
VECTOR IS AUTOMATICALLY {D
MOlliFieD AS SHOWN
ONLYlf··STATUS
0
1
II 0
1
Q
: INTERRUPT ON AOY
= INTERRUPT ON MATCH
'" INTERRUPT ON END OF BLOCK
11 ; 0 I ! [
O,D, 0,
'0 i,l I
Do
1 I=DONOTUSE
0.." lORa ENDS y, CYCLE EARLY
II I o "" READY ACTIVE LOW
~ READY ACTIVE HIGH
O-C£ONlY
1 = CElWAlT MULTIPLEXED
Wri.te Regtst... 2 Group o = STOP ON END OF BLOCK
1 '" AUTO RESTART ON END OF BLOCK
D,DID~D.DJD2Dlo.
l'IIIII·I·I·loASE.EG,S,E.oTTE
II !'" PORTa~"E"ORY
Write Register 6 Group
0, 0, D~ D. O, III D, 08
(I CI
1 = POR'BISIIO
::: PORT 8 ADDRESS DECREMENTS
1, ~ I ,I 1 I 1 11 I BASE REGISTER BYTE
o 1 '" PORT B ADDRESS INCAEMENTS
~ ~ I'" PORT B ADDRESS FixeD IIIII HEX
0" C3 "" RESET
COMMANI) NAME
1 = AF
Q =" A8
" DISABLE INTERRUPTS
~ ENABLE INTERRUPTS
1 1 DO NOT USE ~ 0 = A3 '" RESET AND DISABLE INTERRUPTS
o~ IORO ENDS ..... CYCLE EARLY o I '" 87 ~ ENA8lE AFTER RETI
~NA8lE 1 I
o ""8l -' DISABLE OMA
OMA =
INTERRUPT ENABLE - t
1= STOP ON MATCH G 0 1 I 1 0 '" DB = READ MAS!'; FOLLOWS
I
IIII ~ smusam
I~ om COUNTER IlOW mEl
BYTE COUNTER (HIGH BYTE)
PORT A ADDRESS (LOW BYTE)
L-"---'"---,--'-.....l.-L-'--' MATCH BYTE
POtu
PORT
A
B
ADDRESS
ADDRESS
(HIGH BYTE)
(lOW BYTE)
PORT B ADDRESS (HIGH 8TlE)
9/20
53
Z84C10
10/20
54
Z84C10
Comments O2 01 Do HEX
WRO sets DMA to receive block a a 1 79
length. Port A starting address and B--7A
temporarily sets Port B as source. Temporary for
Loading B Transfer, No Search
Address'
Port A Address (lower) a a a 50
Port A Address (upper) a a a 10
Block Length (lower) a a a 00
Block Length (upper) a a a 10
WR1 defines Port A as memory with 1 a a 14
fixed incrementing address.
WR2 defines Port B as peripheral with a 1 a 28
fixed address.
WR4 sets mode to Burst, sets DMA to 1 a 1 C5
expect Port B address. Port BLower
Address
Follows
Port B Address (lower) 1 a 1 05
WR5 Sets Ready Active High. a 1 a 8A
WR6 Loads Port B Address and 1 1 1 CF
Resets Block Counter. •
WRO Sets Port A as Source .• 1 a 1 05
A--7B Transfer, No Search
WR6 Loads Port A Address and 1 1 1 CF
Resets Block Counter.
WR6 Enables DMA to start operation. 1 1 1 87
Note: The actual number of bytes transferred is one more than specified by the block length .
• These entries are necessary only in the case of a fixed destination address.
11/20
55
Z84C10
-C~~~1-----
active.
I
_MEMORY READ_I_-JlO WRITE
T, I T2 I T3 I T, I T2 I Tw I TJ
eLK
READ f MREQ
l AD
WR'TE 1 'ORO
~ -+---4-4~----~--+'
L-+-+-t.-...J
MEMOAY
00- 0 7
12/20
56
Z84C10
other T-cycle is added, during which the CE/WAIT the bus is not in use by any other device, the follow-
line will again be sampled. The duration of transac- ing rising edge of ClK drives BUSREQ low. After
tions can thus be indefinitely extended. receiving BUSREQ the CPU acknowledges on the
BAI input either directly or through a m\d!1i.Q!e-DMA
VARIABLE CYCLE AN EDGE TIMING
daisy chain. When a low is detect on BAI for two
The ZaDC DMA's default operation-cycle length for consecutive rising edges of ClK, the DMA will begin
the source (read) port and destination (write) port transferring data on the next rising edge of ClK.
can be independently programmed. This variable-
cycle feature allows read or write cycles consisting BUS RELEASE BYTE-AT-A-TIME
of two, three of four-T-cycle (more if Wait cycles are In Byte-at-a-Time mode, BUSREQ is brought High
inserted), thereby increasing or decreasing the on the rising edge of ClK prior to the end of each
speed of all signals generated by the DMA. In addi- read cycle (search-only) or write cycle (transfer and
tion, the trailing edges of the 10RQ, MREQ, RD an transfer/search) as illustrated in figure 16. This is
WR signals can be independently terminated one- done regardless of the state of RDY. There is no
half cycle early. Figure 14 illustrates this. possibility of confusion when a ZaDC CPU is used
In the variable-cycle mode, unlike default timing, since the CPU cannot begin an operation until the
10RQ comes active one-half cycle before MREQ, following T -cycle. Most other CPUs are not bothered
RD and WR. CE/WAIT can be used to extend only by this either, although note should be taken of it.
the 3 or 4 T-cycle variable memory J<Y,cles and only The next bus request forthe next byte will come after
the 4-cycle variable I/O cycle. The CElWAIT line is both BUSREQ and BAI have returned High.
sampled at the falling edge of T2 for 3- or 4-cycle BUS RELEASE AT END OF BLOCK
memory cycles, and at the falling edge of T3 for 4-
In Burst and Continuos modes, an end of block
cycle I/O cycles. causes BUSREQ to go High usually on the same
During transfers, data is latched on the clock edge rising edge of ClK in which the DMA completes the
causing the rising edge of RD and held through the transfer of the data block (figure 17). The last byte
end of the write cycle. in the block is transferred even if RDY goes inactive
BUS REQUESTS before completion of the last byte transfer.
Figure 15 illustrates the bus request and accept- BUS RELEASE AND NOT READY
ance timing. The RDY line, which may be pro- In Burst mode, when RDY goes inactive it causes
grammed active High or low, is sampled on every BUSREQ to go High on the next rising edge of ClK
rising edge of ClK. If it is found to be active, and if after the completion of its current byte operation
I T2
110 READ - -
I Tw
--------+---
I Tl I T1
MEMORY WRITE
I T1 I
---I
T3
elK
I
1 [X II
l
I
I
'O"Q \ I
READ
Ail \ I
I 1
\ I r-
i~ -
- r---- ---
r---- --- ~ I\:
--
--~
-- ---
'm ! ,---
13/20
57
Z84C10
(figure 18). The action on BUSREQ is thus some- operation begins without affecting this bus-release
what delayed from action on the ROY line. The OMA timing.
always completes its current byte operation in an or-
derly fashion before releasing the bus. INTERRUPTS
By contrast, BUSREQ is not released in Continuos Timings for interrupt acknowledge and return from
mode when ROY goes inactive. Instead, the OMA interrupt are the same as timings for these in other
idles after completing the current byte operation, Z80 peripherals (See Applicatilonn Note "Z80 Fam-
awaiting an active ROY again. ily Interrupt Structure).
Interrupt on ROY (interrupt before requesting bus)
BUS RELEASE ON MATCH
does not directly affect the BUSREQ line. Instead,
If the OMA is programmed to stop on match in Burst the interrupt service routine must handle this by is-
or Continuous modes, a match causes BUSREQ to suing the following commands to WR6 :
go inactive on the next OMA operation, i.e., at the
1. Enable after Return From Interrupt (RETI)
end of the next read in a search or at the end of the
Command-Hex B7
following write in a transfer (figure 19). Due to the
pipelining sheme, matches are determined while the 2. Enable OMA-Hex 87
next OMA read or write is being performed. 3. An RETI instruction that reset the Interrupt
The ROY line can go inactive after the matching Under Service latch in the Z80 OMA.
Figure 14 : Variable-Cycle and Edge Timing. Figure 15 : Bus Request and Acceptance.
I T, I T, I T, I T. i
CLK~
t t t
2-CVCLE 3-CYCLE 4·CYClE
EARLY END EARLY END EARLY END
Figure 16 Bus Release (Byte-at-a-Time-Mode). Figure 17: Bus Release at End of Block (Burst
and Continuous Modes).
II ______________
~
~
-----f-f.:,;-I
DMA ACTIVE _1_ OMA INACTIVE
iiUsiiEQ
--------~~----~
14/20
58
Z84C10
Figure 18 : Bus Release When Not Ready Figure 19 : Bus Release on Match (Burst and
(Burst Mode). Continuous Modes).
cU< SLJLJ"
~J-.....---f-----
DC CHARACTERISTICS
Symbol Parameter Test Conditions Min. Typ. Max. Unit
V'Le Clock Input Low Voltage - 0.3 0.6 V
V'He Clock Input High Voltage Vee - 0.6 Vee+ 0.3 V
V,L Input Low Voltage - 0.5 0.8 V
(except ClK)
V,H Input High Voltage 2.2 Vee V
(except ClK)
VOL Output Low Voltage IOL = 3.2 mA for BUSREQ 0.4 V
IOL = 2.0 mA or all others
VO H1 Output High Voltage (1) IOH=-1.6mA 2.4 V
VOH2 Output High Voltage (2) IOH =- 250 IlA Vee - 0.8 V
III Input leakage Current Vss :s Y'N :s Vee ± 10 IlA
ILo 3-State Output Leakage Vss + 0.4 :s Y'N :s Vee ± 10 IlA
Current in Float
lec1 Operating Supply Current:
4 MHz Vce = 5 V, fCKl = 1/TeC(min) 5 7 mA
6 MHz V,H = Vce - 0.2 V, V,L = 0.2 V 6 10 mA
Ice2 Standby Supply Current Vee = 5 V, V,H = Vec - 0.2 V 10 IlA
V,L = 0.2 V
15/20
59
Z84C10
TEST CONDITIONS
TA = - 40°C to + 85 °C at Vcc - 0.6 V for a logic "1" and 0.6 V for a logic
Vcc=5V ±10% "0".
Timing measurements are made at 2.2 V for a logic
Vss = 0 V
"1" and 0.8 V for a logic "0".
AC TEST CONDITIONS
All AC parameters assume a load capacitance of
Inputs except ClK (clock) are driven at 2.4 V for a 100 pF.
logic"1" and 0.4 Vfora logic"O". Clock input is driven
CAPACITANCE
Symbol Parameter Test Conditions Min. Max. Unit
C Clock Capacitance Unmeasured Pins 5 pF
CIN Input Capacitance Returned to Ground 5 pF
COUT Output Capacitance 5 pF
16/20
60
Z84C10
"1" "0"
CLOCK U v o.a v
OUTPUT 2.0 V 0." V
INPUT 2.0 V 0.8 V
eLK
Do-D7
1£1
lEO
INTI!RRUPT _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _..J.
CONDITION
ACTIVE
RDY _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _- - '
INACTIVE
17/20
61
Z84C10
18/20
62
Z84C10
19/20
63
Z84C10
elK
J INPUT
Do-D'lOUTPUT --I-t+---++------I+----+---++..Jt-I----+--++-+-__..
--~~----H_------_+r_----~----++J~+_--~--~~-J
ORDERING INFORMATION
Type Package Temp. Clock Description
Z84C10AB6 DIP-40 (plastic) - 401 + 85°C Z80C Direct
PLCC44 (plasfic chip-carrier) - 401 + 85°C 4 MHz
Z84C10AC6 Memory Access
Z84C10BB6 DIP-40 (plastic) - 401 + 85°C Unit
Z84C10BC6 PLCC44 (plastic chip-carrier) - 401 + 85°C 6 MHz
20/20
64
Z84C20
DESCRIPTION
The ZaDC PIO Parallel 1/0 Circuit is a programm-
PORT A
able, dual-port device that provides a TTL-com-
patible interface between peripheral devices and
the CPU. The CPU configures the PIO to interface
with a wide range of peripheral devices with no other
external logic. Typical peripheral devices that are
compatible with the PIO include most keyboards,
paper tape readers and punches, printers, PROM
programmers, etc.
One characteristic of the zao peripheral controllers PORT II
65
Z84C20
Figure 1 : Dual in Line Pin Configuration. control data transfer. The Ready output indicates to
the peripheral that the port is ready for a data trans-
fer. Strobe is an input from the peripheral that indi-
cates when a data transfer has occured.
D,
D,
D.
OPERATING MODES
CE The PIO ports can be programmed to operate in four
CIO
BfA
modes: byte output (Mode 0), byte input (Mode 1),
A, byte input/output (Mode 2) and bit input/output
(Mode 3).
In Mode 0, either Port A or Port B can be pro-
grammed to output data. Both ports have output reg-
isters that are individually addressed by the CPU;
data can be written to either port at any time. When
data is written to a port, an active Ready output in-
dicates to the extemal device that data is available
at the associated port and is ready for transfer to the
Do external device. After the data transfer, the external
D,
device responds with an active Strobe input, which
generates an interrupt, if enabled.
In Mode 1, either Port A or Port B can be configured
in the input mode. Each port has an input register
Figure 2 : Chip Carrier Pin Configuration. addressed by the CPU. When the CPU reads data
from a port, the PIO sets the Ready signal, which is
detected by the external device. The external device
then places data on the 1/0 lines and strobes the 1/0
port, which latches the data into the Port Input Reg-
6 5 4 ) "1 I ':'4 4) 41 41 4:1 ister, resets Ready, and triggers the Interrupt Re-
BfA 39 AD quest, if enabled. The CPU can read the input data
J6 B7
A7 at any time, which again sets Ready.
A6 37 B6
Mode 2 is bidirectional and uses Port A, plus the in-
A5 10 ]6 '" terrupts and handshake signals from both ports.
At. 11
Port B must be set to Mode 3 and masked off. In
NC. 12
Z84C20 operation, Port A is used for both data input and out-
GND I]
put. Output operation is similar to Mode 0 except
AJ Tl.
that data is allowed out onto the Port A bus only
AZ 15 )I So when ASTB is Low. For input, operation is similar to
AI 16 ]0 Vee
Mode 1, except that the data input uses the Port B
AO 11 29 eLK
handshake signals and the Port B interrupt (if en-
,-~",.....:'9...;:::20~';...',.;'c:.,',.;'c,.J...:-'~4r15rr
'6,-;-",-r-"r--' 5-61,911 abled).
Both ports can be used in Mode 3. In this mode, the
individual bits are defined as either input or output
bits. This provides up to eight separate, individually
NC ~ NO CONNECTION
defined bits for each port. During operation, Ready
Another feature of the PIO is the ability to interrupt and Strobe are not used. Instead, an interrupt is
the CPU upon occurrence of specified status condi- generated if the condition of one input changes, or
tions in the peripheral device. For example, the PIO if all inputs change. The requirements for genera-
can be programmed to interrupt if any specified pe- ting an interrupt are defined during the programm-
ripheral alarm conditions should occur. This inter- ing operation; the active level is specified as either
rupt capability reduces the time the processor must High or Low, and the logic condition is specified as
spend in polling peripheral status. either one input active (OR) or all inputs active
The zaoc PIO interfaces to peripherals via two in- (AND). For example, if the port is programmed for
dependent general-purpose 1/0 ports, designated active Low inputs and the logic function is AND, then
Port A and Port B. Each port has eight data bits and all inputs at the specified port must go Low to gener-
two handshake signals, Ready and Strobe, which ate an interrupt.
2/14
66
Z84C20
Data outputs are controlled by the CPU and can be register specifies which of the bits in the port are ac-
written or changed at any time. tive and which are masked or inactive.
• Individual bits can be masked off The mask control register specifies two conditions:
• The handshake signals are not used in Mode 3, first, whether the active state of the input bits is High
Ready is held Low, and Strobe is disabled or Low, and second, whether an interrupt is gener-
• When using PIO interrupts, the CPU interrupt ated when anyone unmasked input bit is active (OR
mode must be set to Mode 2. condition) or if the interrupt is generated when all
unmasked input bits are active (AND condition).
INTERNAL STRUCTURE
The internal structure of the Z8DC PIO consists of a INTERRUPT CONTROL LOGIC
CPU bus interface, internal control logic, Port A I/O The interrupt control logic section handles all CPU
logic, Port B I/O logic, and interrupt control logic interrupt protocol for nested-priority interrupt struc-
(figure 3). The CPU bus interface logic allows the tures. Any device's physical location in a daisy-chain
PIO to interface directly to the CPU with no other ex- configuration determines its priority. Two lines (lEI
ternal logic. The internal control logic synchronizes and lEO) are provided in each PIO to form this daisy
the CPU data bus to the peripheral device interfaces chain. The device closest to the CPU has the hig-
(Port A and Port B). The two I/O ports (A and B) are hest priority. Within a PIO, Port A interrupts have
virtually identical and are used to interface directly higher priority than those of Port B. In the byte input,
to peripheral devices. byte output, or bidirectional modes, an interrupt can
be generated whenever the peripheral requests a
PORT LOGIC new byte transfer. In the bit control mode, an inter-
Each port contains separate input and output regis- rupt can be generated when the peripheral status
ters, handshake control logic, and the control regis- matches a programmed value. The PIO provides for
ters shown in figure 4. All data transfers between complete control of nested interrupts. That is, lower
the peripheral unit and the CPU use the data input priority devices may not interrupt higher priority de-
and output registers. The handshake logic associ- vices that have not had their interrupt service rou-
ated with each port controls the data transfers tines completed by the CPU. Higher priority devices
through the input and the output registers. The may interrupt the servicing of lower priority devices.
mode control register (two bits) selects one of the If the CPU (in interrupt Mode 2) accepts an interrupt,
four programmable operating modes. the interrupting device must provide an 8·bit inter-
The control mode (Mode 3) uses the remaining reg- rupt vector for the CPU. This vector forms a pointer
isters. The input/output control register specifies to a location in memory where the address of the in-
which of the eight data bits in the port are to be out- terrupt service routine is located. The 8-bit vector
puts and enables these bits; the remaining bits are from the interrupting device forms the least signifi-
inputs. The mask register and the mask control reg- cant eight bits of the indirect pointer while the I Reg-
ister control Mode 3 interrupt conditions. The mask ister in the CPU provides the most significant eight
DATA
OR CONTROL
) HANDSHAKE
PERIPHERAL
INTERFACE
DATA
OR CONTROL
3/14
67
Z84C20
MODE
CONTROL
REGISTER
(2 BITS}
.....
CONTROL
REGISTER
DATA
INPUT
HAN(}. READY }
INTERRUPT
CONTROl SHAKE HANDSHAKI!
lOGIC c~~~gl ~ CONTROL
bits of the pointer. Each port (A and B) has an inde- chronizes the port operations, controls the port
pendent interrupt vector. The least significant bit of mode, port addressing, selects the read/write func-
the vector is automatically set to 0 within the PIO be- tion, and issues appropriate commands to the ports
cause the pointer must point to two adjacent mem- and the interrupt logic. The PIO does not recei,@.E
ory locations for a complete 16-bit address. write input from the CPU; instead, the RD, CE, C/O
and 10RQ signals generate the write input internally.
Unlike the other Z80C peripherals, the PIO does not
enable interrupts immediately after programming. It
waits until MI goes Low (e.g., during an opcode PROGRAMMING
fetch). This condition is unimportant in the Z80C en- MODE 0,1, OR 2.
vironment but might not be if another type of CPU
is used. (Byte Input, Output, or Bidirectional). Programming
a port for Mode 0, 1, or 2 requires two words per
The PIO decodes the RETI (Return From Interrupt) port. These words are:
instruction directly from the CPU data bus so that
A MODE CONTROL WORD. Selects the port oper-
each PIO in the system knows at all times whether
ating mode (figure 5). This word may be written any
it is being serviced by the CPU interrupt service rou-
time.
tine. No other communication with the CPU is re-
quired. AN INTERRUPT VECTOR. The Z80C PIO is de-
signed for use with the Z80C CPU in interrupt
CPU BUS I/O LOGIC Mode 2 (figure 6). When interrupts are enabled, the
The CPU bus interface logic interfaces the PIO di- PIO must provide an interrupt vector.
rectly to the CPU so no external logic is necessary.
MODE3
For large systems, however, address decoders
and/or buffers may be necessary. (Bit Input/Output). Programming a port for Mode 3
operation requires a control word, a vector (if inter-
INTERNAL CONTROL LOGIC rupts are enabled), and three additional words, de-
This logic receives the control words for each port scribed as follows:
during programming and, in turn, controls the oper- I/O REGISTER CONTROL. When Mode 3 is se-
ating functions of the PIO. The control logic syn- lected, the mode control word must be followed by
4/14
68
Z84C20
Figure 5 : Mode Control Word. another control word that sets the I/O control regis~
ter, which in turn defines which port lines are inputs
and which are outputs (figure 7).
1,1 .1 ,1 .1, I ' I ' I ' I
0 0 0 0
or
~ L_ IDENTIFIES MODE
INTERRUPT CONTROL WORD. In Mode 3, hand-
shake is not used. Interrupts are generated as a
Lo CONTROL WORD
_____ MODESELECT
logic function of the input signal levels. The interrupt
control word sets the logic conditions and the logic
o 0 MdcEO
levels required for generating an interrupt. Two logic
o 1 MODE 1
conditions or functions are available: AND (if all
1 0 MODE:2
1 1 MODE 3
input bits change to the active level, an interrupt is
triggered), and OR (if anyone of the input bits
Figure 6 : Interrupt Vector Word. changes to the active level, an interrupt is triggered).
Bit 06 sets the logic function, as shown in figure 8.
The active level of the input bits can be set either
High or Low. The active level is controlled by Bit 05.
[~I~I~I~I~I~I~lol MASK CONTROL WORD. This word sets the mask
l _ _ ~~
L IDENTIFIES INTERRUPT
VECTOR
INTERRUPT DISABLE
There is one other control word which can be used
Figure 7 : I/O Register Control Word. to enable or disable a port interrupt. It can be used
without changing the rest of the interrupt control
word (figure 10).
Figure 9 : Mask Control Word.
1~1~1~1~1~1~1~1~1
I o SETS all TO OUTPUT
1 SETS 8iT TO INPUT
r
Figure 10 : Interrupt Disable Word.
0 0
10,1 ,1 ll'ID ~~'I--,,-I-'-~ IDENTInESINTE"RUPT
~
[od 0, I0, I0.1 I 1, l' I
CONTROL WORD
0 0
[0
I 0, _ 0 NO MASK WORK FOLLOWS
-~ I IDENTIFIES INTERRUPT
05 == 0 ACTIVE lEVEL IS lOW
- Os '" 1 ACTIVE lEVEllS HIGH
DISABLE WORD
5114
69
Z84C20
PIN DESCRIPTIONS
Ao-A7. Port A Bus (Bidirectional, 3-state). This a-bit BRDY. RegisterB Ready(Output, Active High). This
bus transfers data, status, or control information be- signal is similar to ARDY, except that in the Port A
tween Port A of the PIO and a peripheral device. Ao bidirectional mode this signal is High when the Port
is the least significant bit of the Port A data bus. A input register is empty and ready to accept data
ARDY. Register A Ready(Output, Active High). The from the peripheral device.
meaning of this signal depends on the mode of oper- BSTB. Port B Strobe Pulse From Peripheral Device
ation selected for Port A as follows: (Input, Active Low). This signal is similar to ASTB,
OUTPUT MODE. This signal goes active to indicate except that in the Port A bidirectional mode this sig-
that the Port A output register has been loaded and nal strobes data from the peripheral device into the
the peripheral data bus is stable and ready for trans- Po!!..A input register.
fer to the peripheral device. C/ D. Control Or Data Select (Input, High = C). This
INPUT MODE. This signal is active when the Port A pin defines the type of data transfer to be performed
input register is empty and ready to accept data from between the CPU and the PIO. A High on this pin
the peripheral device. during a CPU write to the PIO causes the data bus
to be inteIPreted as a command for the port selected
BIDIRECTIONAL MODE. This signal is active when
by the B/A Select line. A Low on this pin means that
data is available in the Port A output register for
the data bus is being used to transfer data between
transfer to the peripheral device. In this mode. data
the CPU and the PIO. Often address bit A1 from the
is not placed on the Port A data bus, unless ASTB
CPU is used for this function.
is active.
CONTROL MODE. This signal is disabled and
CEo Chip Enable (Input, Active Low). A Low on this
forced to a Low state. pin enables the PIO to accept command or data in-
puts from the CPU during a write cycle or to trans-
ASTB. Port A Strobe Pulse From Peripheral Device mit data to the CPU during a read cycle. This signal
(Input, Active Low). The meaning of this signal de- is generally decoded from four I/O port numbers for
pends on the mode of operation selected for Port A Ports A and B, data, and control.
as follows:
ClK. System Clock (Input). The ZaDC PIO uses the
OUTPUT MODE. The positive edge of this strobe is standard single-phase ZaDC system clock.
issued by the peripheral to acknowledge the receipt Do-D7. CPU Data Bus (Bidirectional, 3-state). This
of data made available by the PIO. bus is used to transfer all data and commands be-
INPUT MODE. The strobe is issued by the periph- tween the CPU and the PIO. Do is the least signifi-
eral to load data from the peripheral into the Port A cant bit.
input register. Data is loaded into the PIO when this lEI. Interrupt Enable In (Input, Active High). This sig-
signal is active. nal is used to form a priority-interrupt daisy chain
BIDIRECTIONAL MODE. When this signal is active, when more than one interrupt-driven device is being
data from the Port A output register is gated onto used. A High level on this pin indicates that no other
the Port A bidirectional data bus. The positive edge devices of higher priority are being serviced by a
of the strobe acknowledges the receipt of the data. CPU interrupt service routine.
CONTROL MODE. The strobe is inhibited intemally. lEO. Interrupt Enable Out (Output, Active High). The
Bo-B7. Port B Bus (Bidirectional, 3-state). This a-bit lEO signal is the other signal required to form a daisy
bus transfers data, status, or control information be- chain priority scheme. It is High only if lEI is High
tween Port B and a peripheral device. The Port B and the CPU is not servicing an interrupt from this
data bus can supply 1.5mA at 1.5V to drive Darling- PIO. Thus this signal blocks lower priority devices
ton transistors. Bo is the least significant bit of the from interrupting while a higher priority device is
bus. being serviced by its CPU interrupt service routine.
B/""""A-.-;:;Po-rt-:-:::BC"":O:::Cr-A;-::;S:-e/;-e--:ct (Input, High = B). This pin INT. Interrupt Request (Output, Open Drain, Active
Low). When INT is active the PIO is requesting an
defines which port is accessed during a data trans-
interrupt from the CPU.
fer between the CPU and the PIO. A Low on this pin
selects Port A; a High selects Port B. Often address lORa. Inp"utiOutput Request (Input from C~, AJd.-
bit Ao from the CPU is used for this selection func- tive Low). 10RO is used in conjunction with B/A, C/D,
tion. CE, and RD to transfer commands and data be-
6/14
7D
Z84C20
tween the CPU and the PIO. When CE, RD, and going edge of ClK, indicating data is available.
10RO are active, the port addressed by BIA trans- Ready stays active until the positive edge of the
fers datajQJhe CPU (a read operatio!JLConverse- strobe line is received, indicating that data was
Iy, when CE and 10RQ are active but RD is not, the taken by the peripheral. The positive edge of the
port addressed by BIA is written into from the CPU strobe pulse generates an INT if the interrupt enable
with e..!1her data or control information, as specified flip-flop has been set and if this device has the hig-
by C/D. Also, if 10RO and MI are active simulta- hest priority.
neously, the CPU is acknowledging an interrupt; the
INPUT MODE (MODE 1)
interrupting port automatically places its interrupt
vector on the CPU data bus if it is the highest priority When STROBE goes low, data is loaded into the
device requesting an interrupt. selected port input register (fJill!.re 14). The next ris-
ing edge of strobe activates INT, if Interrupt Enable
MI. Machine Cycle (Input from CPU, Active low). is set and this is the highest-priority requesting de-
This signal is used as a sync pulse to contr:QLsev- vice. The following falling edge of ClK resets Ready
eral internal PIO operations. When both the M1 and to an inactive state, indicating that the input register
RD signals are active, the CPU is fetching anlo.:. is full and cannot accept any more data until the CPU
struction frorn memory. Conversely, when both M1 completes a rea<L..Yllhen a read is complete, the
and 10RO are active, the CPU is acknowledging an positive edge of RD sets Ready at the next low-
interrupt. In addition, M1 has two other functions going transition of ClK. At this time new data can
within the PI~ it synchronizes the PIO interrupt be loaded into the PIO.
~ when M1 occurs without an active RD or
10RO signal, the PIO is reset. BIDIRECTIONAL MODE (MODE 2)
This is a combination of Modes 0 and 1 using all four
RD. Read Cycle $Jatus (Input from CPU, Active handshake lines and the eight Port A 1/0 lines (figure
low). I!BD is active, or C!!J 1/0_oQeration i.§JrLQro- 15). Port B must be set to the bit mode and its in-
gress, RD is used with BIA, CID, CE, and 10RO to puts must be masked. The Port A handshake lines
transfer data from the PIO to the CPU. are used for output control and the Port B lines are
used for input control. If interrupts occur, Port A's
TIMING vector will be used during port output and Port B's
The following timing diagrams show typical timing in will be used during port input. Data is allowed out
a zaoc CPU environment. For more precise speci- onto the Port A bus only when ASTB is low. The
fications refer to the composite ac timing diagram. rising edge of this strobe can be used to latch the
data into the peripheral.
WRITE CYCLE
BIT MODE (MODE 3)
Figure 11 illustrates the timing for programming the
zaoc PIO or for writing data to one of its ports. No The bit mode does not utilize the handshake signals,
Wait states are allowed for writing to the PIO other and a normal port write or port read can be executed
than the automatically inserted TWA. The PIO does at any time. When writing, the data is latched into
not receive a specific write signal; it internally gener- the output registers with the same timing as the out-
ates its own from the lack of an active RD signal. put mode (figure 16).
When reading the PIO, the data returned to the CPU
READ CYCLE is composed of output register data from those port
Figure 12 illustrates the timing for reading the data data lines assigned as outputs and input register
input from an external device to one of the PIO ports. data from those port data lines assigned as inputs.
No Wait states are allowed for reading the PIO other The input register contains data that was present
than the automatically inserted TWA. immediately prior to the falling edge of RD. An inter-
rupt is generated if interrupts from the port are en-
OUTPUT MODE (MODE 0)
abled and the data on the port data lines satisfy the
An output cycle (figure 13) is always started by the logical equation defined by the a-bit mask and 2-bit
execution of an output instruction by the CPU. The mask control registers. However, if Port A is pro-
WR* pulse from the CPU latches the data from the grammed in bidirectional mode, Port B does not
CPU data bus into the selected port's output regis- issue an interrupt in bit mode and must therefore be
ter. The WR* pulse sets the Ready flag after a low- polled.
7/14
71
Z84C20
T, T2 TWA T3 T,
eLK
=:x~----~C
C/D • ., .. =X~ _____~X::= C'D •• "
Co \ ' - -_ _ _ _ _ 1
\'-__----JI
\,---~_-,r-
\ I
DATA ___ -IX x== ----{~~>
eLK
PORT
OUTPUT _ _ _---J \--+----j~--f_-
READY
-------~
INT
INTERRUPT ACKNOWLEDGE TIMING is always Low, inhibiting lower priority devices from
During M1 time, peripheral controllers are inhibited interrupting. If it has an interrupt pending which has
from changing their interrupt enable status, permit- not yet been acknowledged, lEO is Low unless an
ting the Interrupt Enable signal to ripple through the "ED" is decoded as the first byte of a 2-byte opcode
daisy chain. The peripheral with lEI High and lEO (figure 18). In this case, lEO goes High until the next
Low during INTACK places a preprogrammed 8-bit opcode byte is decoded, whereupon it goes Low
interrupt vector on the data bus at this time again. If the second byte of the opcode was a "40",
(figure 17). lEO is held Low until a Return From In- then the opcode was an RETI instruction.
terrupt (RETI) instruction is executed by the CPU After an "ED" opcode is decoded, only the periphe-
while lEI is High. The 2-byte RETI instruction is ral device which has interrupted and is currently
decoded internally by the PIO for this purpose. under service has its lEI High and its lEO Low. This
device is the highest-priority device in the daisy
RETURN FROM INTERRUPT CYCLE chain that has received an interrupt acknowledge.
If a Z8DC peripheral has no interrupt pending and is All other peripherals have lEI = lEO. If the next op-
not under service, then its lEO = lEI. If it has an in- code byte decoded is "40", this peripheral device
terrupt under service (I.e., it has already interrupted resets its "interrupt under service" condition.
and received an interrupt acknowledge) then its lEO
8/14
72
Z84C20
NATA _____________________<=~~~~------__<
DATA BUS
alK
PORT
DATA BUS X DATA WORD 1
X DATA WORD 2
X
t
i'
INT
DATA UATCH\
CX::CURS HERE
IORQ
Rij
00- 0 7 DATA IN
;
)
9/14
73
Z84C20
~,; I I I I I I
T, T, T_ T_ T,
±.-l
elK
iOoOANDiii
INDICATE
INTERRUPT
~WLEOQE
INTACK
100
..
Figure 18: Return From Interrupt.
----~~~--------~~~-------
110 _ _ _ _ _ _ _ _ _- - - - -....... 1
10/14
Gi SGS·THOMSON
~I ~~©IiI@~~~ICiI'IiI@Il'l~©iil
74
Z84C20
AC CHARACTERISTICS
CLOCK
Ci
BlA. elD
IORQ
iii
lEI
lEO
READY
(ARDY on BMYI
STROBE
tASTB OR eSTa)
MOOED
MODE 1
MODE 2
llooE3
11/14
75
Z84C20
AC CHARACTERISTICS (continued)
Z84C20A Z84C20B
N° Symbol Parameter
Min. Max. Min. Max.
(ns) (ns) (ns) (ns)
1 TcC Clock Cycle Time 250 165
2 TwCh Clock Width (high) 105 65
3 TwCI Clock Width (low) 105 65
4 TIC Clock Fall Time 30 20
5 TrC Clock Rise Time 30 20
6 TsCS(RI) CE, BfA, CfD to RD, IORO,j. Setup Time 50 50
7 Th Any Hold Times for Specified Setup Time 40 40
8 TsRI(C) RD, lORa to Clock i Setup Time 115 70
9 TdRI(DO) RD, lORa ,j. to Data Out Delay ! 380 300
10 TdRI(DOs) RD, lORa i to Data Out Float Delay 110 70
11 TsDI(C) Data In to Clock i Setup Time 50 40
12 TdIO(DOI) IORO,j. to Data Out Delay (INTACK Cycle) 160 120
13 TsMI(Cr) MI ,j. to Clock i Setup Time 90 70
14 TsMI(Cf) MI i to Clock ,j. Setup Time (MI Cycle) 0 0
15 TdMI(IEO) MI ,j. to lEO ,j. Delay (interrupt immediately preceding M I ,j.) 190 100
16 TsIEI(IO) lEI ,j. to IORO,j. Setup Time (INTACK Cycle) 140 100
17 TdIEI(IEOf) lEI ,j. to lEO ,j. Delay 130 120
18 TdIEI(IEOr) lEI i to lEO i Delay (after ED decode) 160 150
19 TcIO(C) lORa i to Clock ,j. Setup Time 200 170
(to activate READY on Next Clock Cycle)
20 TdC(RDYr) Clock ,j. to READY i Delay 190 170
21 TdC(RDYf) Clock ,j. to READY ,j. Delay 140 120
22 TwSTB STROBE Pulse Width 150 120
23 TsSTB(C) STROBE i to Clock ,j. Setup Time 220 150
(to activate READY on Next Clock Cycle)
24 TdIO(PD) lORa i to PORT DATA Stable Delay (Mode 0) 180 160
25 TsPD(STB) PORT DATA to STROBE i Setup Time (Mode 1) 230 190
26 TdSTB(PD) STROBE ,j. to PORT DATA Stable (Mode 2), 210 180
27 TdSTB(PDr) STROBE i to PORT DATA Float Delay (Mode 2) 180 160
28 TdPD(INT) PORT DATA Match to INT ,j. Delay (Mode 2) 490 430
29 TdSTB(INT) STROBE i to INT ,j. Delay 440 350
Note: • Not compatible with NMOS specifications.
12114
76
Z84C20
DC CHARACTERISTICS (1)
Symbol Parameter Test Conditions Min. Typ. Max. Unit
VILe Clock Input low Voltage - 0.3 - 0.6 V
VIHe Clock Input High Voltage Vee - 0.6 - Vee + 0.3 V
VIL Input low Voltage - 0.5 - 0.8 V
(except ClK)
VIH Input High Voltage 2.2 - Vee V
(except ClK)
VOL Output low Voltage IOL = 2.0 mA - - 0.4 V
VOH1 Output High Voltage (1) IOH=-1.6mA 2.4 - - V
VOH2 Output High Voltage (2) IOH =- 250 IlA Vee - 0.8 - - V
III Input leakage Current Vss :5 VIN :5 Vee - - ± 10 !lA
IOL. 3-State Output leakage Vss + 0.4 :5 VOUT :5 Vee - - ± 10 IlA
Current in Float
lee1 Operating Supply Current:
4 MHz Vee =5 V, ClK =4 MHz - 2 5 mA
6 MHz VIH = Vee - 0.2 V, VIL = 0.2 V - 3 8 mA
lee2 Stand-by Supply Current Vee =5 V, ClK =Vee - 0.5 10 !lA
VIH = Vee - 0.2 V
VIL = 0.2 V
*loHo Darlington Drive Current VOH = 1.5 V, RExT = 1.1 kQ - 1.5 - - 5.0 mA
Notes: 1. • Applied to Port B only.
2. Typical value is specified at 25 ·C.
TEST CONDITIONS
T A = - 40°C to + 85 °C driven at Vcc - 0.6V for a logic "1" and 0.6V for
VCC= 5V± 10% a logic "0".
• Timing measurements are made at 2.2V for a
Vss = OV
logic "1" and 0.8V for a logic "0".
AC TEST CONDITIONS All AC parameters assume a load capacitance of
• Inputs except ClK (clock) are driven at 2.4V for 100pF.
a logic "1" and 0.4V for a logic "0". Clock input is
13/14
77
Z84C20
ORDERING INFORMATION
Type Package Temp. Clock Description
Z84C20AB6 DIP-40 (plastic) -40/+ 85°C Z80C Parallel I/O
Z84C20AD6 DIP-40 (ceramic) -40/+ 85°C Unit CMOS
4 MHz
Z84C20AD2 DIP-40 (ceramic) -55/+ 125°C Version
Z84C20AC6 PLCC44 (plastic chip-carrier) -40/+ 85°C
Z84C20BB6 DIP-40 (plaslic) -40/+ 85°C
Z84C20BD6 DIP-40 (ceramic) -40/+ 85°C
6 MHz
Z84C20BD2 DIP-40 (ceramic) -55/+ 125°C
Z84C20BC6 PLCC44 (plastic chip-carrier) -40/+ 85°C
14/14
78
Z84C30
DESCRIPTION
The zaoc CTC four-channel counter/timer can be CHANNEL
SIGNALS
programmed by system software for a broad range
of counting and timing applications. The four inde-
pendently programmable channels of the CTC sat-
isfy common microcomputer system requirements
for event counting, interrupt and interval timing, and
general clock rate generation.
System design is simplified because the CTC con-
nects directly to both the CPU and the SIO with no DAISY {
CHAIN ze4C30
lEO
additional logic. In larger systems, address de- INTERRUPT
CONTROL iNr
coders and buffers may be required.
Programming the CTC is straightforward : each
channel is programmed with two bytes ; a third is t
eLK
f
Vee GND
t
necessary when interrupts are enabled. Once
started, the CTC counts down, reloads its time con-
stant automatically, and resumes counting. Soft-
ware timing loops are completely eliminated.
79
Z84C30
2/14
8D
Z84C30
DATA INT
CPU
FROM { BUS ~IEI
ZOO CPU
"0
CONTROL
zcrro
ClKITRG
3/14
81
Z84C30
4/14
82
Z84C30
""are reset, it stops counting. When a software reset the timer is triggered automatically. The time con-
IS used, the other bits in the control word also stant word is programmed during an 1/0 write oper-
:hange the contents of the channel control register. ation, which takes one machine cycle. At the end of
A.fter a software reset a new time constant word the write operation there is a setup delay of one
must be written to the same channel. clock period. The timer starts automatically (decre-
If the channel control word has both bits 01 and 02 ments) on the rising edge of the second clock pulse
set to 1, the addressed channel stops operating, (T2) of the machine cycle following the write oper-
pending a new time constant word. The channel is ation. Once started, the timer runs continuously. At
ready to resume after the new constant is pro- zero count the timer reloads automatically and con-
grammed. In timer mode, if 03 = 0, operation is trig- tinues counting without interruption or delay, until
gered automatically when the time constant word is stopped by a reset.
loaded. When 03 is set to 1, the timer is triggered externally
through the CLKITRG input. The time constant word
CHANNEL CONTROL WORD PROGRAMMING
is programmed during an 1/0 write operation, which
The channel control word is shown in figure 5. It sets takes one machine cycle. The timer is ready for
the modes and parameters described below. operation on the rising edge of the second clock
Interrupt Enable. D~ables the interrupt, so that pulse (T2) of the following machine cycle. Note that
an interrupt output (INT) is generated at zero count. the first timer decrement follows the active edge of
Interrupts may be programmed in either mode and the CLKlTRG pulse by a delay time of one clock
may be enabled or disabled at any time. cycle if a minimum setup time to the riSing edge of
clock is met. If this minimum is not met, the delay is
OPERATING MODE
extended by another clock period. Consequently,
06 selects either timer or counter mode. for immediate triggering, the CLKITRG input must
Prescaler factor (Timer Mode Only). 05 selects fac- precede T2 by one clock cycle plus its minimum
tor-either 16 or 256. setup time. If the minimum time is not met, the timer
will start on the third clock cycle (T 3).
Trigger slope. 04 selects the active edge or slope of
the CLKlTRG input pulses. Note that reprogramm- Once started the timer operates continuously, with-
ing the CLKlTRG slope during operation is equival- out interruption or delay, until stopped by a reset.
ent to issuing an active edge. If the trigger slope is Time constant to follow. A 1 in 02 indicates that the
changed by a control word update while a channel next word addressed to the selected channel is a
is pending operation in timer mode, the result is the time constant data word for the time constant regis-
same as a CLKITRG pulse and the timer starts. ter. The time constant word may be written at any
Similarly, if the channel is in counter mode, the time.
counter decrements.
A 0 in 02 indicates no time constant word is to fol-
Trigger mode (timer mode only). 03 selects the trig- low. This is ordinarily used when the channel is al-
ger mode for timer operation. When 03 is reset to 0, ready in operation and the new channel control word
1 ENABLES INTERRUPT
o DISABLES
INTERRUPT
INTERRUPT
JJ J CONTROL OR VECTOR
o ::: VECTOR
1 -:: CONTROL WORD
MODE RESET
o SELECTS TIMER MOOE o -' CONTINUED OPERATION
1 SELECTS COUNTER MODE 1 .::: SOFTWARE RESET
5/14
83
Z84C30
is an update. A channel will not operate without a • The time constant (T), which is programmed into
time constant value. The only way to write a time the time constant register.
constant value is to write a control word with 02 set. Consequently, the time interval is the product of $ x
Software reset. Setting 01 to 1 causes a software P x T. The minimum timer resolution is 16 x $ (411s
reset, which is described in the Reset section. with a 4 MHz clock). The maximum timer interval is
Control word. Setting Do to 1 identifies the word as 256 x $ x 256 (16.4 ms with a 4 MHz clock). For
a control word. longer intervals timers may be cascaded.
~~~~J ~~~~
In most applications this signal is decoded from the
eight least significant bits of the address bus for any
of the four 1/0 port addresses that are mapped to
the four counter-timer channels.
ClK. System Clock (input). Standard singlephase
Z80C system clock.
CLKITRGo-CLKlTRG3. External ClocklTimer Trig-
ger(input, user-selectable active High or low). Four
Figure 7 : Interrupt Vector Word. pins corresponding to the four CTC channels. In
counter mode, every active edge on this pin decre-
ments the down-counter. In timer mode, an active
edge starts the timer.
CSO-CS1. Channel Select (inputs active High). Two-
L
bit binary address code selects one of the four CTC
Vl-VJ~
SUPPLIED
0 '"' INTERRUPT VECTOn. WORD
1 '" CONTROL WORD
channels for an 1/0 write or read (usually connected
to Ao and A1).
BY USER
CHANNEllDENTtnER
(AUTOMA TlCALL Y INSERTED 00-07. System Data Bus (bidirectional, 3-state).
BY eTC)
o 0 '" CHANNEL 0 Transfers all data and commands between the CPU
o 1 = CHANNEL 1
1 0 = CHANNEl:2 and the CTC.
1 1 = CHANNEL J
6/14
84
Z84C30
EO. Interrupt Enable Out (output, active High). High WRITE CYCLE TIMING
Inly if lEI is High and the CPU is not servicing an in- Figure 10 shows write cycle timing for loading con-
errupt from any CTC channel. lEO blocks lower trol, time constant or vector words.
Iriority devices from interrupting while a higher
The CTC does not have a write signal ifJQ!dt, so it
Iriority interrupting device is being serviced.
generates one internally when the readlBQ) input
NT. Interrupt Request (output, open drain, active is High during h During T2 IORO and CE inputs
.ow). Low when any CTC channel that has been are Low. M1 must be High to distinguish a write cycle
Irogrammed to enable interrupts has a zero-count from an interrupt acknowledge. A 2-bit binary code
:ondition in its down-counter. at inputs CS1 and CSa selects the channel to be ad-
ORO. Input/Output RequeslJjnput from CPU, ac- dressed, and the word being written is placed on the
ive Low). Used with CE and RD to transfer data and data bus. The data word is latched into the appro-
:hannel control words between the CPU and the priate register with the rising edge of clock cycle T 3.
~TC"J2uring a write cycle IORO and CE are active
tnd RD inactive. The CTC does not receive a spe- TIMER OPERATION
:ific write signal; rather, it internallyJJenerates its In the timer mode, a CLKlTRG pulse input starts the
)wn from the inverse of an active RD signal. In a timer (figure 11) on the second succeeding rising
ead cycle, IORO, CE and RD are active; the con-
ents of the-1!gwn-counter are read by the CPU. If Figure 8: A Typical Z80C Environment.
ORO and M1 are both true, the CPU is acknow-
edging an interrupt request, and the highest priority
nterrupting channel places its interrupt vector on the
lata bus.
1111. Machine~cle One (input from CPU, active
SYSTEM
.ow). When M1 and IORO are active, the CPU is BUSES
-
INT
ive High pulse when the down-counter decrements lEO lEO
a zero.
riMING - T-;CS
S.O
- ROY
DMA
7/14
85
Z84C30
Figure 9: Read Cycle Timing. The ZC/TO output occurs immediately after zerc
count, and follows the rising ClK edge.
_--T-----------------------
M1
_.I
, INTERNAL
TIMER --------'
START TIMING
DATA - - - - - - -
Figure 10: Write Cycle Timing. Figure 12: Counter Mode Timing.
Tl T2 TWA T3 T,
elK --.J
CSo, C S 1, CE =====x: CHANNELADORE.SS x:== CLKITRG
IORQ
INTERNAL
COUNTER - - - - - - '
ZC'TO _ _ _ _ 'C.\'-_ __
_--7---------------
~
M1 ,
DATA _ _ _ --'X\...__~X'_____
INTERRUPT OPERATION
edge of ClK. The trigger pulse is asynchronous and The CTC follows the Z8CC system interrupt proto-
it must have a minimum width. A minimum lead time col for nested priority interrupts and return from in-
(21 C ns) is required between the active edge of the terrupt, wherein the interrupt priority of a peripheral
ClK/TRG and the next rising edge of ClK to enable is determined by its location in a daisy chain. Two
the prescaler on the following clock edge. If the lines-lEI and lEO-in the CTC connect it to the sys-
ClKlTRG edge occurs closer than this, the initiation tem daisy chain. The device closest to the + 5 V sup-
of the timer function is delayed one clock cycle. This ply has the highest priority (figure 13). For additional
corresponds to the startup timing discussed in the information on the Z8CC interrupt structure, refer to
programming section. The timer can also be started the Z80 CPU Technical Manual.
automatically if so programmed by the channel con-
trol word. Figure 13: Daisy-chain Interrupt Priorities.
COUNTER OPERATION.
In the counter mode, the ClK/TRG pulse input de
crements the downcounter. The trigger is asyn-
chronous, but the count is synchronized with ClK. HIO"EST PRIORITY
Dt:VICI:
L.OWEST PRIORITY
DEVICE
86
Z84C30
INTERRUPT OPERATION
Within the CTC, interrupt priority is predetermined knowledge (M1 and IORO). All channels are in-
by channel number: Channel D has the highest hibitedJ!:9m changing their interrupt request status
priority, and Channel 3 the lowest. If a device or when--.MLis-.J!9tive-about two clock cycles earlier
channel is being serviced with an interrupt routine, than IORO. RD is High to distinguish this cycle from
it cannot be interrupted by a device or channel with an instruction fetch.
lower priority until service is complete. Higher The CTC interrupt logic determines the highest
priority devices or channels may interrupt the ser- priority channel requesting an interrupt. If the
vicing of lower priority devices or channels. CTC interrupt enable input (lEI) is High, the highest
A CTC channel may be programmed to request an priority interrupting channel within the CTC places
interrupt every time its down-counter reaches zero. its interrupt vector on the data bus when IORO goes
Note that the CPU must be programmed for inter- Low. Two wait states (TWA) are automatically in-
rupt mode 2. Some time after the interrupt request, serted at this time to allow the daisy chain to stabi-
the CPU sends an interrupt acknowledge. The CTC lize. Additional wait states may be added.
interrupt control logic determines the highest priority
channel that is requesting an interrupt. Then, if the RETURN FROM INTERRUPT TIMING
CTC lEI input is High (indicating that it has priority At the end of an interrupt service routine the RETI
within the system daisy chain) it places an 8-bit in- (Return From Interrupt) instruction initializes the
terrupt vector on the system data bus. The high- daisy chain enable lines for proper control of nested
order five bits of this vector were written to the CTC priority interrupt handling. The CTC decodes
during the programming process; the next two bits the 2-byte RETI code internally and determines
are provided by the CTC interrupt control logic as a whether it is intended for a channel being serviced.
binary code that identifies the highest priority chan- Figure 15 shows RETI timing.
nel requesting an interrupt; the low-order bit is al- If several Z8DC peripherals are in the daisy chain,
ways zero. lEI settles active (High) on the chip currently being
serviced when the opcode ED16 is decoded. If the
INTERRUPT ACKNOWLEDGE TIMING
following opcode is 4D16, the peripheral being ser-
Figure 14 shows interrupt acknowledge timing. After viced is released and its lEO becomes active. Addi-
an interrupt request, the CPU sends an interrupt ac- tional wait states are allowed.
eLK
\~--------~;----
\"-____1--
9/14
87
Z84C30
T, T, T, T,
eLK
\I..-_-J/
00-D7---{ EO
lEI - - - - - - -,
______ J
lEO r-
------------------~I
10/14
88
Z84C30
AC CHARACTERISTICS
-~DE~n~nW~
caD. cs,
--<J>-- CD--
IX 1(
1-0------- ~I
co ~ .I
.~ ~I
A.AD IORG
~ .I
1--0-+ CD-I+-I
Iiii \, L
I-<">- ~I
DATA
~ "
caD. el,
X 1(
I----<D-- ~I
iii ~ L
WAIT!
---(i)---- ~I
10RQ
\, I
I-<D- ~I
DATA )( X
I--W-- kD-1
iii
Ie-
'-I -
tt- r-<D-I
AeKNOWll!DOE iOiiii \ =-
---<D-I
DATA }-
~r -n----®
,., Ii
~
100
-(!!)- 4\..
~
-<V-
iiiT /
~
\!1)- -I
"
~
l.. .A
J
CLKlTAOo_a
(COUNTER
MODEl ~
®--11---0----11~ -<ill-
CLIlITROo_~
(T!MER
MODE) .----
\ \
~
---w4 I~
zcrroo-It
11/14
89
Z84C30
AC CHARACTERISTICS (continued)
Z84C30A Z84C30B
N° Symbol Parameter
Min. Max. Min. Max.
(ns) (ns) (ns) (ns)
1 TcC Clock Cycle Time 250 165
2 TwCh Clock Width (high) 105 65
3 TwCI Clock Width (low) 105 65
4 TfC Clock Fall Time 30 20
5 TrC Clock Rise Time 30 20
6 Th All Hold Times 0 0
7 TsCS(C) CS to Clock i Setup Time 160 100
8 TsCE(C) CE, to Clock i Setup Time 150 100
9 TsIO(C) lORa t to Clock i Setup Time 115 100
10 TsRD(C) RD, t to Clock i Setup Time 115 70
11 TdC(DO) Clock i to Data Out Delay 200 130
12 TdC(DOz) lORa, RD i to Data Float 110 90
13 TsDI(C) Data in to Clock i Setup Time 50 40
14 TsMI(C) MI to Clock i Setup Time 90 70
15 TdMI(IEO) MI t to lEO t Delay - 190 130
(interrupt immediately preceding MI)
16 TdIO(DOI) lORa t to Data Out Delay (INTA cycle) 160 110
17 TdIEI(IEOf) lEI t to lEO t Delay 130 100
18 TdIEI(IEOr) lEI i to lEO i Delay (after ED decode) 160 110
19 TdC(INT) Clock i to INT t Delay (I)TcC+140 (I)TcC+120
12/14
90
Z84C30
DC CHARACTERISTICS (1)
Symbol Parameter Test Conditions Min. Typ. Max. Unit
VILe Clock Input low Voltage - 0.3 - 0.6 V
VIHe Clock Input High Voltage vee - 0.6 - Vee + 0.3 V
VIL Input low Voltage - 0.5 - 0.8 V
(except ClK)
V IH Input High Voltage 2.2 - Vee V
(except ClK)
VOL Output low Voltage IOL = 2.0 mA - - 0.4 V
VOHt Output High Voltage (1) IOH =- 1.6 mA 2.4 - - V
VOH2 Output High Voltage (2) IOH = - 250 IJ.A vee - 0.8 - - V
III Input leakage Current Vss ::; VIN ::; Vee - - ± 10 IJ.A
ILO 3-State Output leakage Vss + 0.4 ::; VOUT ::; Vee - - ± 10 IJ.A
Current in Float
lec1 Power Supply Current
4 MHz Vee =5 V, ClK =4 MHz - 2 5 mA
6 MHz VIH = Vee - 0.2 V, VIL = 0.2 V - 4 7 mA
lee2 Stand-by Supply Current Vee = 5 V, ClK = Vee - 0.5 10 IJ.A
VIH = Vee - 0.2 V
VIL = 0.2 V
IOHD Darlington Drive Current (1) VOH = 1.5 V, RExT = 1.1 kn -1.5 - - 5.0 mA
Note: 1. Applied to zcrro,. zcrro, and zcrro,.
TEST CONDITIONS
TA = - 40°C to + 85 °C driven at Vcc-o.6 V for a logic "1" and 0.6 V for
Vcc=5V ±10% a logic "0".
• Timing measurements are made at 2.2 V for a
Vss =0 V. logic "1" and 0.8 V for a logic "0".
AC TEST CONDITIONS. All AC parameters assume a load capacitance of
• Inputs except CLK (clock) are driven at 2.4 V for 100 pF .
a logic "1" and 0.4 V for a logic "0". Clock input is
13/14
91
Z84C30
ORDERING INFORMATION
Type Package Temp. Clock Description
Z84C30AB6 DIP·28 (plastic) -40/+ 85°C Z80C Counter
Z84C30AD6 DIP-28 (ceramic) -40/+ 85°C Timer Control
4 MHz
Z84C30AD2 DIP-28 (ceramic) -55/+ 125°C CMOS Version
Z84C30AC6 PLCC44 (plastic chip·carrier) -40/+ 85°C
Z84C30BB6 Dlp·28 (plastic) -40/+ 85°C
Z84C30BD6 Dlp·28 (ceramic) -40/+ 85°C
6 MHz
Z84C30BD2 DIP-28 (ceramic) -55/+ 125°C
Z84C30BC6 PLCC44 (plastic chip-carrier) -40/+ 85°C
14114
92
Z84C40
Z84C41-Z84C42
93
Z84C40-Z84C41-Z84C42
PIN DESCRIPTIONS
Figures 1 through 6 illustrate the three pin configu- BfA. A low at CfD means that the information on the
rations (bonding options) available in the SIO. The data bus is data. Address bit A1 is often used for this
constraints of a 40-pin package make it impossible function.
to brin9.....Q1Jt the Receive Clock (RxC), Transmitt CEo Chip Enable (Input, Active low). A low level at
Clock (TxC), Data Terminal Ready (DTR) and Sync this input enables the SIO to accept command or
(SYNC) signals for both channels. Therefore, either data input from the CPU during a write cycle or to
Channel B lacks a signal or two signals are bonded transmit data to the CPU during a read cycle.
together in the three bonding options offered:
ClK. System Clock(lnput). The SIO uses the stand-
• zaoc S10-2 lacks SYNCB
• zaoc S10-1 lacks DTRB ard zao System Clock to synchronize internal sig-
• zaoc SIO-O as a four signal, but TxCB and nals. This is a single-phase clock.
RxCB are bonded together CTSA, CTSB. Clear To Send (Inputs, Active low).
The first bonding option above (SI0-2) is the When programmed as Auto Enables, a low on
preferred version for most applications. The Chip- these inputs enables the respective transmitter. If
Carrier package version, having a 44-pin facility, re- not programmed as Auto Enables, these inputs may
sume the three bonding option configurations. It is be programmed as general-purpose inputs. Both in-
named Za4C44 (figure 7). The pin description are puts are Sch mitt-trigger buffered to accommodate
as follows: slow-risetime signals. The SIO detects pulses on
these inputs and interrupts the CPU on both logic
B/A. Channel A Or B Select (Input, High Selects level transitions. The Schmitt-trigger buffering does
Channel B). This input defines which channel is ac- not guarantee a specified noise-level margin.
cessed during a data transfer between the CPU and
the SIO. Address bit Ao from the CPU is often used OO-D7. System Data Bus (Bidirectional, 3-state).
for the selection function. The system data bus transfers data and commands
between the CPU and the zaoc SIO. Do is the least
C/D. Control Or Data Select (Input, High Selects
significant bit.
Control). This input defines the type of information
transfer performed between the CPU and the SIO. DCDA, DCDB. Data Carrier Detect (Inputs, Active
A High at this input during a CPU write to the SIO low). These pins function as receiver enables if the
causes the information on the data bus to be inter- SIO is programmed for Auto Enables ; otherwise
preted as a command for the channel selected by they may be used as general-purpose input pins.
Figure 1 : zaoc S10-2 logic Functions.
D~~~
BUS
i-D.
_0,
__
-
0,
- - 0,
-_0,
_ 0 ,0,
__
OJ
R.OA
R~CA
S'(NCA - -
WiROYA
________
--
fiCA _ _
"SA - - )
em MODEM
CHANNEL A
, i-C'
~.~~~ r..;UN I MUL
oeOA _ _
--
CONTHOl
F~~~
-_
_
RESET
.,
IOH.'Q
Z84C42
RAoa_
_ _ RD R.ca_
~- __ c/o f.Cii-
-_ RIA CHANNEL ..
DAtSY {
INTE;:':;~ --
JNT
lEI
~;~
~~
__) MODEM
CONTROL
CONTROL lEO oeoa -
! I !
Vee GND CLI!.
2/24
94
Z84C40-Z84C41-Z84C42
Figure 2 : laDC S10-2 Dual in Line Pin DTRA, DTRB. Data Terminal Ready (Outputs, Ac-
Configuration. tive Low). These outputs follow the state pro-
grammed into laDC SIO. They can also be
programmed as general-purpose outputs.
D, In the laDC SIO-l bonding option, OTRB is omitted.
D,
D.
lEI. Interrupt Enable In (Input, Active High). This sig-
D.
nal is used with lEO to form a priority daisy-chain
IUHU when there is more than one interrupt-driven device.
IT A High on this line indicates that no other device of
O/A higher priority is being serviced by a CPU interrupt
Ml c/o service routine.
Vee RO
lEO. Interrupt Enable Out (Output, Active High). lEO
WmOYA
SY-NCA
is High only if lEI is High and the CPU is not servic-
RJ.DA R.D8
ing an interrupt from this SIO. Thus, this signal
R~CA blocks lower priority devices form interrupting while
T;ci a higher priority device is being serviced by its CPU
hDA interrupt service routine.
DrRA INT. Interrupt Request (Output, Open Drain, Active
RTSA
Low)~hen the SIO is requesting an interrupt, it
eTSA
pulls INT Low.
tfCDA
eLK lORa. Inp..utlOutput Request (Input from CP_U, As;.-
tive LowllORO is used in conjunction with BfA, CfO,
CE and RO to transfer commands and data between
Both pi ns are Sch mitt-trigger buffered to accommo- the CPU and the SIO. When CE, RD and 10RO are
date slow-risetime signals. The SIO detects pulses all active, the channel selected by BfA transfers data
on these pins and interrupts the CPU on both logic to the CPU (a read operation). When CE and 10RO
level transitions. Schmitt-trigger buffering does not are agive but RD is inactive, the channel selected
guarantee a specific noise-level margin. by BfA is written to by the CPU with either data or
O.
o.
R.OA
P;;CA
--
--
I---
--
0, T.OA
T-;CA
.'"{ ---
0,
DATA
BUS -- ". 5YNc:A
0, YiiiWYA CHANNEL A.
-l
o.
. ,-,I
0. iliA
CISA - - MODEM
OHIA ~ CONTROL
CE: OCDA
--
RESET
.-. Z84C41
R,OB
lORa R.:ce ~
FROM
I--------
--
Ro hOB
CPU --
---
loCfI
c<o
SYN-ci
WIROYa
8/A CHANNEL.
DAISY
CHAI"
INTERRUPT
CONTROL
{~
--
~
INT
,n
'EO
1 1 'l'1
ffie
cfSii
DCDe.
-l'-
== CONTROL
Vee GND
3/24
95
Z84C40-Z84C41-Z84C42
Figure 4: laDC S10-1 Dual in Line Pin is the highest priority device requesting an interrupt.
Configuration. M1. Machine.-0'cle (Input from laDC CPU, Active
Low). When M1 is active and RD is also active, the
laDC CPU is fetching an instruction from memory;
0, DO
when M1 is active while 10RO is active, the SIO ac-
0, 0,
cepts M1 and 10RO as an interrupt acknowledge if
0, 0,
the SIO is the highest priority device that has inter-
0, 0,
rupted the laDC CPU.
iN! IUHU
CHANNEL A
MODEM
) CONTROL
CONTROL(
FROM
CPU
CHANNEL B
MODEM
) CONTROL
4/24
96
Z84C40-Z84C41-Z84C42
Figure 6 : zaoc SIO-O Dual in Line Pin Active Low). These pins can act either as inputs or
Configuration. outputs. In the asynchronous receive mode, they
are inputs similar to CTS and DCD. In this mode,
the transitions on these lines affect the state of the
Sync/Hunt status bits in Read Register 0 (figure 14),
but have no other function. In the External Sync
mode, these lines also act as inputs. When external
synchronization is achieved, SYNC must be driven
Low on the second rising edge of RxC after that ris-
ing edge of RxC on which the last bit of the sync
character was received. In other words, after the
sync pattern is detected, the external logic must wait
for two full Receive Clock cycles to activate the
SYNC input. Once SYNC is forced Low, it should be
kept Low until the CPU informs the external syn-
chronization detect logic that synchronization has
been lost or a new message is about to start. C_har-
acter assembly begins on the rising edge of RxC
that immediately precedes the falling edge of SYNC
in the External Sync mode.
Figure 7 : Chip Carrier Pin Configuration. In the internal synchronization mode (Monosync
and Bisync) these pins act as outputs that are ac-
tive during the part of the receive clock (RxC) cycle
f(IC 7
.. . , .
I~ I" It!
a cfo o cf~ r1~! fPI
NC = No Connection.
Transmitter Clocks may be driven by the zaoc
CTC
Counter Timer Circuit for programmable baud rate
trois High and disables all interrupts. The control
generation. In the zaoc SIO-O bonding option,
TxCB is bonded together with RxCB.
registers must be rewritten after the SIO is reset and
before data is transmitted or received. TxOA, TxOB. Transmitt Data (Outputs, Active
RTSA, RTSB. Request To Send (Outputs, Active High). Serial data at TTL levels. TxD changes from
Low). When the RTS bit in Write register 5 the falling edge of TxC.
(figure 14) is set, the RTS output goes Low. When W/ROYA, W/ROYB. Wait/Ready A, Wait/Ready B
the RTS bit is reset in the Asynchronous mode, the (Outputs, Open Drain when Programmed for Wait
output goes High after the transmitter is empty. In Function, Driven High and Low when Programmed
Synchronous modes, the RTS pin strictly follows the for Ready Function). These dual-purpose outputs
state of the RTS bit. Both pins can be used as may be programmed as Ready lines for a DMA con-
general-purpose outputs. troller or as Wait lines that synchronize the CPU to
SYNCA, SYNCB. Synchronization (Inputs/Outputs, the SIO data rate. The reset state is open drain.
5/24
97
Z84C40-Z84C41-Z84C42
_ } SERIAL DATA
CHANNEL It
CONTROL
AND
STATUS
-
_) MOOEMOR
OTHER CONTROLS
CONTROL
MODEM 01>
OTHER CONTROLS
INTERRUPT
=}
INTERRUPT
CONTROL CONTROL
lOGIC
\ SERIAL OATA
CHANNEL CLOCKS
SYNC
WAlT'READY
FUNCTIONAL DESCRIPTION
The functional capabilities of the l8DC 810 can be the 810 offers valuable features such as non-vec-
described from two different points of view : as a tored interrupts, polling and simple handshake ca-
data communication device, it transmits and re- pability.
ceives serial data in a wide variety of data-communi- Figure 9 illustrates the conventional devices that the
cation protocols ; as a l8DC family peripheral, it 810 replaces.
interacts with the l8DC CPU and other peripheral
circuits, sharing the data, address and control The first part of the following discussion covers 810
buses, as well as being a part of the l8DC interrupt data-communication capabilities; the second part de-
structure. As a peripheral to other microprocessors, scribes interactions between the CPU and the 810.
.
CHANNEL
CHANN.!L
B
MICROPROCESSOR Z80C
-
.
CHANNEL
.
INTERFACE ___
"0
- CHANNEL
6/24
98
Z84C40-Z84C41-Z84C42
7/24
99
Z84C40-Z84C41-Z84C42
transmission, the status of a received frame is avail- ceived. The CPU then enables the DMA to transfer
able in the status registers. the message to memory. The SIO then issues an
The SIO can be conveniently used under DMA con- end-of-frame interrupt and the CPU can check the
trol to provide high-speed reception or transmission. status of the received message. Thus, the CPU is
In reception, for example, the SIO can interrupt the freed for other service while the message is being
CPU when the first character of a message is re- received.
STtR1 !siOP
PARITY
ASYNCHRONOUS
SYNC DATA
::MOHOSYHC
I DATA CRC, CRe,
SYNC SYNC
SiGNAL
DATA
:: BISYNC
DATA CRC, CRC~
+
I DATA
~:
EXTERNAL SYNC
DATA CRC, CRe,
SDLC/HDLC/X.25
6 BITS
---------..
SYN~ SYNC DATA DATA DATA DATA
~
" _______~~____
8----
II
8/24
100
Z84C40-Z84C41-Z84C42
5T ATU5 FLOW-CHART
Figure 12a : Status Flowchart. Figure 12b : Status Flowchart.
CIIl-l
CE.IORO_O
RD:O
CID:O
CE.IORO:O
AD=1
DO
D 1
DN
PARtTY BIT
NO
NO
NO
5-8685
9/24
t01
Z84C40-Z84C41-Z84C42
TRANSMIT INTERRUPTION
1. ADDRESS (00·07)
2. TRANSMIT DATA
(00·07)
NO
-1 CRC (O()'D15)
(7EH)
~8686
10/24
102
Z84C40-Z84C41-Z84C42
hC INPUT
elD",,1
C~. IORO.O
RO=O
CID=O
CE.IORO"O
AD=1
TRANSMIT INTERRUPTION
-m
NO
01
OO
.
07
NO
CRC (00·015)
SVNCH 1 (0()'07)
SVNCH 2 (00·07)
5-S687
11/24
103
Z84C40·Z84C41·Z84C42
12/24
104
Z84C40-Z84C41-Z84C42
510 OMA
Interrupt-on-first-received-character is typically
used with the block-transfer mode. Interrupt-on-all-
received-characters has the option of modifying the
interrupt vector in the event of a parity error. Both of
13/24
105
Z84C40-Z84C41-Z84C42
correct initialization of the next message, and the process. Table 1 list the functions assigned to each
accurate timing of the break/abort condition in ex- read or write register.
ternal logic. The logic for both channels provides formats, syn-
In a l80C CPU environment (figure 13), SIO inter- chronization and validation for data transferred to
rupt vectoring is "automatic" : the SIO passes its in- and from the channel interface. The modem control
ternally-modificable 8-bit interrupt vector to the inputs, Clear To Send (CTS) and Data Carrier De-
CPU, which adds an additional 8 bits from its inter- tect (DCD), are monitored by the external control
rupt-vector (I) register to from the memory address and status logic under program control. All external
of the interrupt-routine table. This table contains the control-and-status-Iogic signals are general-pur-
address of the beginning of the interrupt routine it- pose in nature and can be used for functions other
self. The process entails an indirect transfer or CPU than modem control.
control to the interrupt routine, so that the next in-
struction executed after an interrupt acknowledge DATA PATH
by the CPU is the first instruction of the interrupt rou- The transmit and receive data path illustrated for
ti ne itself. Channel A in figure 13 is identical for both channels.
The receiver has three 8-bit buffer registers in a
CPU/DMA BLOCK TRANSFER FIFO arrangement, in addition to the 8-bit receive
The SIO's block-transfer mode accommodates both shift register.
CPU block transfers and DMA controllers (l80C This scheme creates additional time for the CPU to
DMA or other designs). The block-transfer mode service an interrupt at the beginning of a block of
uses the Wait/Ready output signal, which is se-
lected with three bits in an internal control register.
Read Register Functions
The Wait/Ready output signal can be programmed
as a WAIT line in the CPU block-transfer mode or RRO Transmit/Receive Buffer Status, Interrupt
as a READY line in the DMA block-transfer mode. Status and External Status
RRI Special Receive Condition Status
To a DMA controller, the SIO READY output indi- Modified Interrupt Vector (channel B only)
RR2
cates that the SIO is read~ to transfer data to or from
memory. To the CPU, the WAIT output indicates the Write Register Functions
SIO is not ready to transfer data, thereby request- WRO Register pointers, CRC initialize,
ing the CPU to extend the I/O cycle. initialization commands for the various
modes, etc.
WRI Transmit/Receive Interrupt and Data
INTERNAL STRUCTURE Transfer Mode Definition
The internal structure of the device includes a l80C WR2 Interrupt Vector (channel B only)
CPU interface, internal control and interrupt logic, WR3 Receive Parameters and Control
and two full-duplex channels. WR4 Transmit/Receive Miscellaneous
Parameters and Modes
Each channel contains its own set of control and WR5 Transmit Parameters and Controls
status (write and read) registers, and control and WR6 Sync Character or SDLC Address Field
status logic that provides the interface to modems WR7 Sync Character or SDLC Flag
or other external devices.
The registers for each channel are designated as high-speed data. Incoming data is routed through
follows: one of several paths (data or CRC) depending on
WRO-WR7 - Write Registers 0 through 7 the selected mode andin asynchronous modesthe
RRO-RR2 - Read Register 0 through 2 character length.
The register group includes five 8-bit control regis- The transmitter has an 8-bit transmit data buffer reg-
ters, two sync-character registers and two status ister that is loaded from the internal data bus, and
registers. The interrupt vector is written into an ad- a 20-bit transmit shift register that can be loaded
ditional 8-bit register (Write Register 2) in Chan- from the sync-character buffers or from the transmit
nel B that may be read through another 8-bit register data register.
(Read Register 2) in Channel B. The bit assignment Depending on the operational mode, outgoing data
and functional grouping of each register is con- is routed throught one of four main paths before it is
figured to simplify and organize the programming transmitted from the Transmit Data output TxD).
14/24
106
Z84C40-Z84C41-Z84C42
TO CHANNEL a,
UTEI\NAL STATUS LOGIC,
CONTROL lOCIC. ETC
-R'"
--------------=::"..-'---------------
INHRNAL DATA flUS
---------:0...,-----"7'<::--------,
RECEiVE
AiCA_ CLOCK
lOGIC
PROGRAMMING
The system program first issues a series of com- nel B and two read registers for Channel A (RRO-
mands that initialize the basic mode of operation RR2 in figure 14) that can be to obtain the status
and then other commands that qualify conditions information; RR2 contains the internally-modifi-
within the selected mode. For example, the asyn- able interrupt vector and is only in the Channel B
chronous mode, character length, clock rate, num- register set. The status information includes error
ber of stop bits, even or odd parity might be set conditions, interrupt vector and standard com-
first; then the interrupt mode; and finally, receiver munications-interface signals.
or transmitter enable. To read the contents of a selected read register
Both channels contain registers that must be pro- other than RRO, the system program must first write
grammed via the system prQgram prior operation. the pointer byte to WRO in exactly the same way as
The chal]Del-select input (B/A) and the control/data a write register operation. Then, by executing a read
input (C/D) are the command-structure addressing instruction, the contents of the addressed read reg-
controls, and are normally controlled by the CPU ad- ister can be read by the CPU.
dress bus. Figures 17 and 18 illustrate the timing re- The status bits of RRO and RR1 are carefully
lationships for programming the write registers and grouped to simplify status monitoring. For example,
transfering data and status. when the interrupt vector indicates that a Special
Receive Condition interrupt has occurred, all the ap-
READ REGISTER propriate error bits can be read form a single regis-
The SIO contains three read registers for Chan- ter (RRI).
15/24
107
Z84C40-Z84C41-Z84C42
WRITE REGISTERS lected register; the second byte is the actual con-
trol word that is written into the register to configure
The SIO contains eight write registers for Chan-
theSIO.
nel B and seven write registers for Channel A (WRO-
WR7 in figure 15) that are programmed separately WRO is a special case in that all of the basic com-
to configure the functional personality of the chan- mands can be written to it with a single byte. Reset
nels ; WR2 contains the interrupt vector for both (internal or external) initializes the pointer bits 00-02
channels and is only in the Channel B register set. to point to WRO. This implies that a channel reset
With the exception of WRO, programming the write must not be combined with the pointing to any reg-
registers requires two bytes. The first byte is to WRO ister.
and contains three bits (00-02) that point to the se-
Figure 15: Read Register Bit Functions.
READ REGISTER 0
III ~1 L- R. CHARACTER
I~INT AVAILABLE
PENDING (CH. A ONLy)
~~gUFFER EMPTY }
SYNC/HUNT
CTS •
h UNOERRUN/EOM
BREAK/ABORT
true/IuDI' Moae
READ REGISTER It
,o,lo,io,lo.!o, io, io io, ,
L-ALlSENT
I I, I
I
0
0 0
0
IFI ElO BITS
o •
I FielD BITS IN
IN PREVIOUS SECOND PREVIOUS
eYTE
o
BYTE
3
}
I I 0 o s ·
0 0 I o •
o
I
0
0
I ,
I
o
1
•
I I I I •
Q 0 0 2 •
I~I~I~I~I~I~!~I~I
111111_~. ~!! V4
VS
llNTERRUPT
VECTOR
V'
V1
16/24
108
Z84C40-Z84C41-Z84C42
I 0
0
0
1
0
1
1
, 0,
0
1
0
1
0
REGISTER I
REGISTER 2
REGISTER 3
REGISTE.R.
1
o
o
0
I
0
SYNC MOCES ENABLE
1 STOP BITICHARACTER
1 '/, STOP BITSICHARACTER
I
1 0 REGISTER S
1 REGISTER Ii " I 2 STOP BIfSlCHARACTER
1 1 1 REGISTER T
o 0 4 BIT SYNC CHARACTER
0 0 0 NUll CODE o 1 16 BIT SYNC CHARACTER
0 0 1 SEND ABORT (SOLei 1 0 SOlC MODE (01111110 FLAC]
0 1 0 REser EXrtSTATUS INTERRUPTS 1 I EXTERNAL SYNC MOOE
,,
0 1 1 CHANNEL RESE J
0 0 ENABLE INT ON NEXT Rli CHARACTER o 0 )(1 CLOCK "ODE
0 1 RESET h INI PENDING o 1 )(16 CLOCK MODE
1
1
1
1 •
1
ER"OR RESET
RETURN FROM INT leH· ... ONLY)
I
,
0
1
Xl2 CLOCK MODE
X64 CLOCM MODE
o 0 NUll COOE
o , RESET All CRe CHECKER
1 0 RESET h CRe GENERATOR
1 I RESET fa: UNDERRUNIEOM LATCH
oo 0 RI INT DISABLE }
I R. tNT ON FIRST CHARACTER o 0 T. 5 BITS (OR LESS)lCHAAACTER
, OINT ON All nll CHARACTERS (PARITY AFFECTS VECTORJ • o 1 h 1 BITS/CHARACTER
1 1 INT ON All R. CHARACTERS (PARITY DOES NOT AFFECT t 0 TJ. 6 BITS/CHARACTER
VECTOR) I 1 Tx 8 BITS/CHARACTER
I~I~I~I~I~I~I~I~I
111~L~~!1 .
VJ
V,
V4
INTERRUPT
VECTOR
III ~I
LL-!~:H:Hl SYNC BIT 3
S'I'NC BI1 ..
SYNC Bll 5
SYNC BI1.'
•
V6 •
V1 SYNC BIT 1
IIII I~SYHC
L - R• EH.BlE
CHARACTER lO'O lNH1B"
ADDRESS SEARCH MODE ,SDLe)
AI CRe ENABLE
ENTER HUNl PHASE
AUIO ENAILES
o 0 RI 5 BITSICHARACTEA
o I AI 1 BtTSICHARACTER 'For SOle II MuSI Be P'Dqrammed
' O R .. & 8ITSICHARACTER 10 ·01111110 FOI flitU ~ecogl1<l1Ql'1
I I H&. Ifll StCHA"ACTE"
17/24
109
Z84C40-Z84C41-Z84C42
TIMING
The SIO must have the same clock as the CPU places its interrupt vector on the data bus and sets
(same phase and frequency relationship, not its internal interrupt-under-service latch.
necessarily the same driver).
RETURN FROM INTERRUPT CYCLE
READ CYCLE
Figure 19 illustrates the return form interrupt cycle.
The timing signals generated by a Z80C CPU input Normally, the Z80C CPU issues a RETI (Return
instruction to read a data or status byte from the SIO From Interrupt) instruction at the end of an interrupt
are illustrated in figure 16. sevice routine. RETI is a 2-byte opcode (ED-4D) that
resets the interrupt-under-service latch in the SIO to
WRITE CYCLE terminate the interrupt that has just been processed.
Figure 16 illustrates the timing and data signals This is accomplished by manipulating the daisy
generated by a Z80C CPU output instruction to write chain in the following way.
a data or control byte into the SIO. The normal daisy-chain operation can be used to
detect a pending interrupt; however, it cannot dis-
INTERRUPT-ACKNOWLEDGE CYCLE tinguish between an interrupt under service and a
After receiving an interrupt-request signal from an pending unacknowledged interrupt of a higher
SIO (I NT pulled Low), the Z80C CPU sends an in- priority. Whenever "ED" is decoded, the daisy chain
terrupt-acknowledge sequence (M1 Low, and 10RO is modified by forcing High the lEO of any interrupt
Low a few cycles later) as in figure 18. that has not yet been acknowledged. Thus the daisy
chain identifies the device presently under service
The SIO contains an internal daisy-chained interrupt
as the only one with an lEI High and an lEO Low. If
structure for prioritizing nested interrupts forthe vari-
the next opcode byte is "4D", the interrupt-under-
ous functions of its two channels, and this structure
service latch is reset.
can be used within an external user-defined daisy
chain that prioritizes several peripheral circuits. The ripple time of the interrupt daisy chain (both the
High-to-Low and the Low-to-High transitions) limits
The lEI of the highest-priority device is terminated
the number of devices that can be placed in the
High. A device that has an interrupt pending or
daisy chain. Ripple time can be improved with carry-
under service forces its lEO Low. For devices with
look-ahead, or by extending the interrupt-acknow-
no interrupt pending or under service, lEO = lEI.
ledge cycle.
To insure stable conditions in the daisy chain, all in-
For further information about techniques for increas-
terrupt status signals are prevented from changing
ing the number of daisy-chained devices, refer to
while M1 is Low. When 10RO is Low, the highest
the Z80C CPU Data Sheet.
priority interrupt requestor (the one with lEI High)
Figure 17 : Read Cycle. Figure 18 : Write Cycle.
T, T, T, T, T1 T~ 'w T} Tt
CLOCK
. CLOCK~
-+-___--"'-_
"""'-~
CEo C/D, !lIA _ _...J'~_ _
IORQ IORQ ~
AD t
AD I
I
Mi-------~--_--_
DATA _ _ _ _ _ _ _ ~
DATA _ _ _ _ _ _..... ~_ _ __
18/24
110
Z84C40-Z84C41-Z84C42
Figure 19: Interrupt Acknowledge Cycle. Figure 20 : Return from Interrupt Cycle.
T, T, Too Too T, T.
CLOCK
"I" .....
"1_"_ _--, .......1_"_ _--, ,-"1,--"_ _, ,..:"0:..."_ _,
L----1L--_--...JH Pia H H 510 HL---_.....J
[3) Status where PIO has requested interruption immediately before SlOs decode "ED".
By the request of PIO for interruption lEO of PIO becomes "0".
~ H Pia H ~HL------.-J
[4J As "EDH" has been decoded. the interruption request of Pia is not acknowledged. Therefore.
lEO of PIa returns to ".",
. "I" .. t .. t !NT "I" ,...:
.. I:....._ _ ~ ,...:"O:..... _ _ ~
~ .H Pia H,------,r---i 510 HL-_---1
[51 As "4DH" has been decoded. lEO of 5IOs becomes "I",
"I" "I" t (FIT "I" "I" "I"
L--1 H Pia H H 510 Hr---..
(61 Interruption request by PIa is acknowledged. and the lEO of PIa becomes "0",
19/24
111
---- ,. __._------.. _-
Z84C40-Z84C41-Z84C42
TEST CONDITIONS
TA = - 40 'c to + 85 'c driven at Vee - 0.6 V for a logic "1" and 0.6 V for
Vee = 5 V± 10 % a logic "0".
• Timing measurements are made at 2.2 V for a
Vss =0 V logic "1" and 0.8 V for a logic "0".
AC TEST CONDITIONS All AC parameters assume a load capacitance of
• Inputs except ClK (clock) are driven at 2.4 V for 100 pF
a logic "1" and 0.4 V for a logic "0". Clock input is
20124
112
Z84C40-Z84C41-Z84C42
AC CHARACTERISTICS
21/24
113
Z84C40-Z84C41-Z84C42
AC CHARACTERISTICS (continued)
Z84C40 Z84C40
/1/2A /1/28
N° Symbol Parameter Unit
Min. Max. Min. Max.
1 TcC Clock Cycle Time 250 DC 165 DC ns
2 TwCh Clock Width (high) 105 DC 70 DC ns
3 TfC Clock Fall Time 30 15 ns
4 TrC Clock Rise Time 30 15 ns
5 TwCI Clock Width (low) 105 DC 70 DC ns
6 TsCS(C) CE, C/D, B/A, lORa to Clock t Setup Time 145 60 ns
7 TsRD(C) RD to Clock t Setup Time 115 60 ns
8 TdC(DO) Clock t to Data Out Delay 220 150 ns
9 TsDI(C) Data In to Clock t Setup (write or MI Cycle) 50 30 ns
10 TdRD(D02) RD t to Data Out Float Delay 110 90 ns
11 TdI0(D01) lORa J, to Data Out Delay (INTACK cycle) 160 120 ns
12 TsMI(C) M1 to Clock t Setup Time 90 75 ns
13 TsIEI(IO) lEI to lORa J, Setup Time (INTACK cycle) 140 120 ns
14 TdMI(IEO) M1 J, to lEO J, Delay (interrupt before M1) 190 160 ns
15' TdIEI(IEOr) lEI t to lEO t Delay(after ED decode) 160 110 ns
16 TdIEI(IEOf) lEI J, to lEO J, Delay 100 70 ns
17 TdC(INT) Clock l' to INT J, Delay 200 150 ns
18 TdILO(W/RWf) lORa J, or CE J, to W/RDY J, Delay (wait mode) 210 175 ns
19 TdC(W/RR) Clock t to W/RDY J, Delay (ready mode) 120 100 ns
20 TdC(W/RWZ) Clock J, 10 W/RDY Float Delay (wait mode) 130 110 ns
21 Th, Th(CS) Any unspecified hold when setup is specified. 0 0 ns
Note:' Not compatible with NMOS Specifications.
22/24
114
Z84C40-Z84C41-Z84C42
AC CHARACTERISTICS (continued)
23/24
115
Z84C40-Z84C41-Z84C42
AC CHARACTERISTICS (continued)
\ Z84C40 Z84C40
/1/2A /1/2B
N° Symbol Parameter
Min. Max. Min. Max.
Unit
ORDERING INFORMATION
Type Package Temp. Clock Description
Z84C40/1/2AB6 DIP-40 (plastic) -40/+ 85°C zaoc Serial I/O
Z84C40/1/2AD6 DIP-40 (ceramic) -40/+ 85°C Controller
4 MHz
Z84C40/1/2AD2 DIP-40 (ceramic) -55/+ 125°C
Z84C44AC6 PlCC44 (plastic chip-carrier) -40/+ 85°C
Z84C40/1/2BB6 DIP-40 (plastic) -40/+ 85°C
Z84C40/1/2BD6 DIP-40 (ceramic) -40/+ 85°C
6 MHz
Z84C4011/2BD2 DIP-40 (ceramic) -55/+ 125°C
Z84C44BC6 PlCC44 (plastic chip-carrier) -40/+ 85°C
24124
116
NMOS FAMILY DATASHEETS
117
Z8400
zao CPU CENTRAL PROCESS UNIT
• THE INSTRUCTION SET CONTAINS 158
INSTRUCTIONS. THE 78 INSTRUCTIONS OF
THE 8080A ARE INCLUDED AS A SUBSET;
8080AAND Z80* SOFTWARE COMPATIBILITY
IS MAINTAINED
• 8MHz, 6MHz, 4MHz AND 2.5MHz CLOCKS
FOR THE Z80H, Z80B, Z80A, THE Z80 CPU,
RESULT IN RAPID INSTRUCTION EXECU-
B/F D
TION WITH CONSEQUENT HIGH DATA DIP-40 DIP-40
THROUGHPUT (Plastic ?-nd Frit-Seal) (Ceramic)
• THE EXTENSIVE INSTRUCTION SET IN-
CLUDES STRING, BIT, BYTE, AND WORD
OPERATIONS. BLOCK SEARCHES AND
BLOCK TRANSFERS TOGETHER WITH IN-
DEXED AND RELATIVE ADDRESSING RE-
SULT IN THE MOST POWERFUL DATA
HANDLING CAPABILITIES IN THE MICRO- C
COMPUTER INDUSTRY PLCC44
• THEZ80 MICROPROCESSORS AND ASSOCI- (Plastic)
ATED FAMILY OF PERIPHERAL CONTROL- (Ordering Information at the end of the datasheet)
LERS ARE LINKED BY A VECTORED
INTERRUPT SYSTEM. THIS SYSTEM MAY BE
DAISY-CHAINED TO ALLOW IMPLEMENTA-
TION OF A PRIORITY INTERRUPT SCHEME. LOGIC FUNCTIONS
LITTLE, IF ANY, ADDITIONAL LOGIC IS RE-
QUIRED FOR DAISY-CHAINING
• DUPLICATE SETS OF BOTH GENERAL-PUR- iii ..
A,
POSE AND FLAG REGISTERS ARE PRO-
VIDED, EASING THE DESIGN
OPERATION OF SYSTEM SOFTWARE
AND ...._j
CONTROL
MAro
lORa
iiO
A,
..
A,
RFSH
..
A,
A, ADDRESS
COUNTER D.~
0,
119
---------------- ---~-- ----~- ---_ ...- - . -_. ----
Z8400
DESCRIPTION
The Z80, Z80A, Z80B and Z80H CPUs are third- ground mode or it may be reserved for very fast in-
generation single-chip microprocessors with excep- terrupt response.
tional computational power. They offer higher The Z80 also contains a Stack Pointer, Program
system throughput and more efficient memory utili- Counter, two index registers, a Refresh register
zation than comparable second-and third-gener- (counter), and an Interrupt register.
ation microprocessors. The internal registers The CPU is easy to incorporate into a system since
contain 208 bits of read/write memory that are ac- it requires only a single + 5V power source. All out-
cessible to the programmer. These registers include put signals are fully decoded and timed to control
two sets of six general-purpose registers which may standard memory or peripheral circuits, and it is sup-
be used individually as either 8-bit registers or as ported by an extensive family of peripheral control-
16-bit register pairs. In addition, there are two sets lers. The internal block diagram (figure 3) shows the
of accumulator and flag registers. A group of "Ex- primary functions of the Z80 processors. Subse-
change" instructions makes either set of main or al- quent text provides more detail on the Z80 I/O con-
ternate registers accessible to the programmer. The troller family, registers, instruction set, interrupts and
alternate set allows operation in foreground-back- daisy chaining, and CPU timing.
Figure 1 : Dual in Line Pin Configuration. Figure 2 : Chip Carrier Pin Configuration.
An
. .., .., .. :r :r .
.
A"
.. ~1 .;;:
~
~ !:::! ::: 2 ~
A" At ~
A" , to2 41
6 4]
"
]
..
1,1,
Au A, CLK J9 A,
A"
°4 A,
eLK
D.
D,
...,
A, 0,
0,
0.
00
n A3
D, A,
N.c.
" Z8400
D, A,
Vee " GNO
"
J)
Vee At
0, n RFSH
0, GND
0, " Mi
D,
Do
MSi1
iii °0
"
'G
"
JO RESET
D. RESET 0,
jtir BUSREQ " BUSREQ
2/33
120
Z8400
+5V _
GND . . .
CLOCK __
3/33
121
Z8400
--6
6JJ
f- 16 B'Its --->
IX Index Register
IV Index Register
SP Stack Pointer
PC Program Counter
~
I 0 = INTERRUPTS DISABLED
1 = INTERRUPTS ENABLED
STORES IFFI
DURING NMI
SERVICE
I Interrupt Vector I R Memory Refresh
INTERRUPT MODE FLIP-FLOPS
f---- 8 Bits ------>
IMFa IMFb
o o INTERRUPT MODE 0
o 1 NOT USED
1 o INTERRUPT MODE 1
1 1 INTERRUPT MODE 2
Table 1 . CPU Registers,
Register Size (Bits) Remarks
A, A' Accumulator 8 Stores an Operand or the Results of an Operation
F, F' Flags 8 See Instruction Set.
B, B' General Purpose 8 Can be used separately or as a 16-bit register with C.
C, C' General PurpoSe 8 See B, above,
D, D' General Purpose 8 Can be used separately or as a 16-bit register with E.
E, E' General Purpose 8 See D, above,
H, H' General Purpose 8 Can be used separately or as a 16-bit register with L.
L, L' General Purpose 8 See H, above.
Note: The (B, C), (D, E), and (H, L) sets are combined as
follows:
B-High Byte C-Low Byte
D-High Byte E-Low Byte
H-High Byte L-Low Byte
I I nterrupt Register 8 Stores upper eight bits of memory address for vectored
interrupt processing.
R Refresh Register 8 Provides user-transparent dynamic memory refresh, Lower
seven bits are automatically incremented and all eight are
placed on the address bus during each instruction fetch
cycle refresh time,
IX Index Register 16 Used for indexed addreSSing,
IV Index Register 16 Same as IX, above.
SP Stack Pointer 16 Holds address of the top of the stack. See Push or Pop in
Instruction Set.
PC Program Counter 16 Holds address of next instruction.
IFF1-IFF2 Interrupt Enable Flip-Flops Set or reset to indicate interrupt status (see figure 4).
IMFa-IMFb Interrupt Mode Flip-Flops Reflect Interrupt Mode (see figure 4).
4/33
122
Z8400
5/33
123
Z8400
INTERRUPT PRIORITY (Daisy Chaining and 1/0. It also allows operations on any bit in any loca-
Nested Interrupts) tion in memory.
The interrupt priority of each peripheral device is The following is a summary of the Z80 instruction
determined by its physical location within a daisy- set and shows the assembly language mnemonic,
chain configuration. Each device in the chain has an the operation, the flag status, and gives comments
interrupt enable input line (lEI) and an interrupt en- on each instruction. The zao CPU Technical Manual
able output line (lEO), which is fed to the next lower and zao CPU Programming Manual contain signifi-
priority device. The first device in the daisy chain has cantly more details for programming use.
its lEI input hardwired to a High level. The first de- The instructions are divided into the following ca-
vice has highest priority, while each succeding de- tegories:
vice has a corresponding lower priority. This • 8-BIT LOADS
arrangement permits the CPU to select the highest • 16-BIT LOADS
priority interrupt from several simultaneously inter- • EXCHANGES, BLOCK TRANSFERS, AND
rupting peripherals. SEARCHES
The interrupting device disables its lEO line to the • 8-BIT ARITHMETIC AND LOGIC OPERATIONS
next lower priority peripheral until it has been ser- • GENERAL-PURPOSE ARITHMETIC AND CPU
viced. After servicing, its lEO line is raised, allowing CONTROL
lower priority peripherals to demand interrupt servic- • 16-BIT ARITHMETIC OPERATIONS
ing. • ROTATES AND SHIFT
• BIT SET, RESET, AND TEST OPERATIONS
The Z80 CPU will nest (queue) any pending inter-
rupts or interrupts received while a selected periph- • JUMPS
eral is being serviced. • CALLS, RETURNS, AND RESTARTS
• INPUT AND OUTPUT OPERATIONS.
INTERRUPT ENABLEIDISABLE OPERATION A variety of addressing modes are implemented to
Two flip-flops, IFF1 and IFF2, referred to in the reg- permit efficie nt and fast data transfer between vari-
ister description are used to signal the CPU inter- ous registers, memory locations, and input/output
rupt status. Operation of the two flip-flops is devices. These addressing modes include:
described in table 2. • IMMEDIATE
• IMMEDIATE EXTENDED
• MODIFIED PAGE ZERO
INSTRUCTION SET • RELATIVE
• EXTENDED
The Z80 microprocessor has one of the most power- • INDEXED
ful and versatile instruction sets available in any 8- • REGISTER
bit microprocessor. It includes such unique • REGISTER INDIREDT
operations as a block move for fast, efficient data • IMPLIED
transfers within memory or between memory and • BIT
6/33
124
Z8400
..
A <- I , X 0 X 0 11 101 101 ED 2 2 9
01 010 111 57
LD A, R A<-R t , X 0 X IFF 0 11 101 101 ED 2 2 9
01 011 111 5F
LD I, A I <- A X X 11 101 101 ED 2 2 9
01 000 111 47
LD R, A R<-A X X 11 101 101 ED 2 2 9
01 001 111 4F
Notes: " " means any of the ,egisters A, B, C, D, E, H, L. IFF the content of the interrupt enable flip-flop, (IFF) is copied into the PN
flag.
For an explanation of flag notation and symbols for mnemonic tables, see Symbolic Notation section following tables.
7/33
125
Z8400
LD IY, nn IY f- nn
· • X • X · ·. 11 111 101
00 100001
FD
21
4 4 14
f- n ~
f- n ~
f- n ~
f- n ~
f- n ~
f- n ~
f- n ~
f- n ~
~ n ~
LD (nn), HL (nn + 1) f- H
(nn) f- L
· • X • X · ·· 00 100010
f- n ~
22 3 5 16
f- n ~
f- n ~
f- n ~
f- n ~
f- n ~
f- n ~
f- n ~
Notes: dd IS any of the register pairs BC, DE, HL, SP.
qq is any of the register pairs AF, BC, DE, HL.
(PAIR)H, (PAIR)L refer to high order and low order eight bits of the register pair respectively,
e.g., BCL = C, AFH = A.
8/33
126
Z8400
9/33
127
Z8400
10/33
128
Z8400
·· · ·
ADD A, n Af-A+n , X X V a : 11 [QQQJ 110 2 7 --
2 000 B
<- n --> 001 C
ADD A, (HL) A <- A + (HL) ·, ,, X , X V a ,
,, 10 [QQj)J 110 1 2 7 010 0
ADD A, (IX+d) A <- A + (IX + d) ,· ·, ·· X X V a 11 011 101 DO 3 5 19 011 E
10 [QQQJ 110 100 H
<- d --> 101 L
ADD A, (IY +d) A <- A + (IY + d) ,· ·, X : X V a I 11 111 101 FD 3 5 19
111 A
10 [QQQJ 110
<- d -->
ADC A, S A <- A + s + CY ; ; X :
X V a , [QQ1J s is any of r, n,
SUB S
SBC A, s
A<-A-s
A <- A - s - CY ··· ··,
,
,
,
X t X
X I X
V
V
1
1
;
:
[Q1Q]
IQ1iJ
(HL), (IX+d),
(IY +d) as shown
AND s A<-AAs : , X 1 X P a a riOol for ADD
OR s A<-AVs ·, ·, X a X p a a [jjQJ instruction. The
t ·, X a X p a a UillJ
..
XOR s A<-AfBs indicated bits
CP s A-s ! I X t X V 1 W1J replace the
INC r r f- r + 1 · ··
, X t X V a 00 r [1QQ] 1 1 4 rooDl in the
t I · a riOol
t 1 ·
INC (HL) (HL) <- (HL) + 1 X X V 00 110 1 3 11 ADD set above.
INC (IX + d) (IX + d) <- X ; X V a 11 011 101 DO 3 6 23
(IX + d) + 1 00 110 riOol
<- d -->
INC (IY+d) (IY + d) <- t t X , · X V a 11 111 101 FD 3 6 23
(IY + d) +1 00 110 [1QQ]
<- d -->
DEC m mf-m-1 t I X ·· X V 1 UillJ m is any of r,
(HL), (IX+d),
(IY +d) as shown
for INC. DEC
same format
and states as
INC. Replace
riOol with
Ii01l i n apcode.
11/33
129
Z8400
12/33
130
Z8400
Symbolic
Flags Opcode N° of N° of N° of
Symbol Hex M T Comments
Operation PIV N C Bytes
S Z H 76 543210 Cycles States
ADD HL, ss HL <- HL + SS X X X a ,I 00 ssl 001 1 3 11 ss Reg.
ADC HL, ss HL <- HL + ss + CY ·· ·· X X X V a 11 101 101 ED 2 4 15
---
00 BC
13/33
131
28400
·.
accumulator.
RRCA ~
, X X
· 00001111 OF 4 Rotate right circular
·.
accumulator.
RRA CE---;-~
,
X X
·
p
00011111 IF 4 Rotate right
accumulator.
RLC r t X a X 11001011 CB 2 8 Rotate left circular
oo[~~ r register r.
RLm
C§:::.rc.~ t X a X p
@.~ and states are as shown
m ~ r,(HL),(IX+d),(iY+d) for RLC's, To form new
RRC.m
~~lc] X X p a [001] opcode rep lac e [G00l or
m ~ r,(HL),(IX+d),(iY+d) RLC's with shown code,
RRm · t X X p a [~~1]
m ~ r,(HL),(IX+d),(iY +d)
SRAm c5~ X a X p a
m ~ r,(HL),(IX+d),(iY+d)
SRLm X a X p a
0--['-. ;:]--0
m ~ r,(HL),(IX+d),(iY+d)
RLD I 7-4 I
,
3211T;]} I:HLi
v X a X p a . 11101101 ED 5 18 Rotate digit left and
14/33
132
Z8400
15/33
133
Z8400
16/33
134
Z8400
17/33
135
Z8400
Symbolic
Flags Opcode N° of
N° of N° of
Symbol Hex M T Comments
Operation S Z H PIV N C 76 543210 Bytes
Cycles States
IN A, (n) A <-- (n) X X 11 all 011 DB 2 3 11 n to Ao _ A7
<-- n --> Ace. to As - A,s
p C to Ao _ A7
IN r, (C) r <-- (C) t t X t X a 11 101 101 ED 2 3 12
B to As _ A,s
~ r = 110 only the flags 01 r 000
will be affected
CD
INI (HL) <-- (C) X t X X X X 1 X It 101 101 ED 2 4 16 C to Ao _ A7
6 <-- 6 - 1 10 100 010 A2 6 to As - A'5
HL <-- HL + 1
INIR (HL) <-- (C) X 1 X X X X 1 X 11 101 101 ED 2 5 21 C to Ao _ A7
6 <-- 6 - 1 to 110 010 62 (if 6,,0) 6 to As - A'5
HL <- HL + 1 2 4 16
Repeat unil 6 = a (if 6=0)
CD
IND (HL) <- (C) X t X X X X 1 X 11 101 101 ED 2 4 16 C to Ao _ A7
6<-6-1 10 101 010 AA 6 to As - A'5
HL <- HL - 1
INDR (HL) <- (C) X 1 X X X X 1 X 11 101 101 ED 2 5 21 C to Ao _ A7
6<-B-l 10 111 010 6A (if 6,,0) 6 to As - A'5
HL <- HL - 1 2 4 16
Repeat until 6 = a (if 6=0)
OUT (n), A (n) <- A X X 11 010 all D3 2 3 11 n to Ao _ A7
<- n --> Acc.to As-At5
C to Ao _ A7
OUT (C), r (C) <- r X X 11 101 101 ED 2 3 12
01 r 001 6 to As - At5
CD
OUTI (C) <- (HL) X t X X X X 1 X 11 101 101 ED 2 4 16 C to Ao - A7
6<-6-1 10 100 all A3 6 to As - At5
HL <- HL + 1
OTIR (C) <- (HL) X 1 X X X X 1 X 11 101 101 ED 2 5 21 C to Ao _ A7
6<-6-1 10 110 all 63 (if 6,,0) 6 to As - At5
HL <- HL + 1 2 4 16
Repeat until 6 = a (if 6=0)
CD C to Ao _ A7
OUTO (C) <- (HL) X t X X X X 1 X 11 101 101 ED 2 4 16 6 to As - At5
6<-6-1 10 101 all A6
HL <-- HL - 1
CD
OTOR (C) <- (HL) X 1 X X X X 1 X 11 101 101 ED 2 5 21 C to Ao _ A7
6<-6-1 10 111 all (if 6,,0) 6 to As - At5
HL <-- HL + 1 2 4 16
Repeat until 6 = a (if 6=0)
Note: <D. If the result of 6 - 1 is zero the Z flag is set, otherwise it is reset.
18133
136
Z8400
Instruction
07 Z H PIV N
Do
Comments
5 C
ADD A. s ; ADC A. s t t X t X V 0 t 8-bit Add or Add with Carry.
,
SUB s; SBC A, s ; CP s ; NEG t t X t X V 1
· 8-Bit subtract, subtract with carry, compare and negate
accumulator .
AND s
. t X 1 X P 0 0
Logical Operations
OR s, XOR s t ! X 0 X P 0 0
INC s
DEC s
.t ··
+ X
X
.t X
X
V
V
0
t
8-bit Increment
8-bit Decrement _..
ADD DD, ss X X X 0 t 16-bit Add
ADC HL, ss
SBC HL, ss
t
t t
·, X
X
X
X
X
X V
V 0
1
!
t
16-bit Add with Carry
.-
19/33
137
Z8400
20/33
138
Z8400
PIN DESCRIPTIONS
Ao-A15. Address Bus (Output, Active High, 3-state). M1. Machine Cycle One (Output, Active Low). M1,
Ao-A15 form a 16-bit address bus. The Address Bus together with MREO, indicates that the current ma-
provides the address for memory data bus ex- chine cycle is the opcode fetch cycle of an instruc-
changes (up to 64K bytes) and for I/O device ex- tion execution. M1, together with 10RO, indicates an
changes. interrupt acknowledge cycle.
BUSACK. Bus Acknowledge (Output, Active Low). MREQ. Memory Request (Output, Active Low, 3-
Bus Acknowledge indicates tothe requesting device state). MREO indicates that the address bus holds
that the CPU address bus, data bus, and control sig- a valid address for a memory read or memory write
nals MREO, 10RO, RD, and WR have entered their operation.
high-impedance states. The external circuitry can NMI. Non-Maskable Interrupt(lnput, negative eQgjt
now control these lines. triggered). NMI has a higher priority than INT. NMI
BUSREQ. Bus Request (Input, Active Low). Bus is always recognized at the end of the current in-
Request has a higher priority than NMI and is always struction, independent of the status of the interrupt
recognized at the end of the current machine cycle. enable flip-flop, and automatically forces the CPU
BUSREO forces the CPU address bus, data bus, to restart at location 0066H.
and control signals MREO, 10RO, RD, and WR to RD. Read (Output, Active Low, 3-state). RD indi-
go to a high-impedance state so that other devices cates that the CPU wants to read data from mem-
can control these lines. BUSREO is normally wire- ory or an I/O device. The addressed I/O device or
ORed and requires an external pullup for these ap- memory should use this Signal to gate data onto the
plications. Extended BUSREO periods due to CPU data bus.
extensive DMA operations can prevent the CPU
from properly refreshing dynamic RAMs. RESET. Reset (Input, Active Low). RESET in-
itializes the CPU as follows: it resets the interrupt
00-07. Data Bus (Input/Output, Active High, 3- enable flip-flop, clears the PC and Registers I and
state). 00-07 constitute an a-bit bidirectional data R, and sets the interrupt status to Mode O. During
bus, used for data exchanges with memory and I/O. reset time, the address and data bus go to a high-
HALT. Halt State (Output, Active Low). HALT indi- impedance state, and all control output signals go
cates that the CPU has executed a Halt instruction to the inactive state.
and is awaiting either a non-maskable or a mask- Note that RESET must be active for a minimum of
able interrupt (with the mask enabled) before oper- three full clock cycles before the reset operation is
ation can resume. While halted, the CPU executes complete.
NOPs to maintain memory refresh.
RFSH. Refresh (Output, Active Low). RFSH,
INT. Interrupt Request (Input, Active Low). Interrupt together with MREO, indicates that the lower seven
Request is generated by I/O devices. The CPU ho- bits of the system's address bus can be used as a
nors a request at the end of the current instruction refresh address to the system's dynamic memories.
if the intemal software-controlled interrupt enable
flip-flop (IFF) is enabled. INT is normallywire-ORed WAIT. Wait (Input, Active Low). WAIT indicates to
and requires an extemal pullup for these applica- the CPU that the addressed memory or I/O devices
tions. are not ready for a data transfer. The CPU continues
to enter a Wait state as long as this signal is active.
IORQ. Input/Output Request (Output, Active Low, Extended WAIT periods can prevent the CPU from
3-state). 10RO indicates that the lower half of the refreshing dynamic memory properly.
address bus holds a valid I/O address for an 110 read
or write op'eration. 10RO is also generated concur- WR. Write (Output, Active Low, 3-state). WR indi-
rently with M1 during an interrupt acknowledge cycle cates that the CPU data bus holds valid data to be
to indicate that an interrupt response vector can be stored at the addressed memory or I/O location.
placed on the data bus.
21/33
139
Z8400
CPU TIMING
The Z80 CPU executes instructions by proceeding Counter (PC) on the address bus at the start of the
through a specific sequence of operations: cycle (figure 5). Approximately one-ha~ock cycle
• Memory read or write later, MREQ goes active. When active, RD indicates
• 1/0 device read or write that the memory data can be enabled onto the CPU
• Interrupt acknowledge data bus.
The basic clock period is referred to as a T time or The CPU samples the WAIT input with the falling
cycle, and three or more T cycles make up a ma- edge of clock state T 2. During clock states T 3 and
chine cycle (M1, M2 or M3 for instance). Machine T4 of an M1 cycle dynamic RAM refresh can occur
cycles can be extended either by the CPU automati- while the CPU starts decoding and executing the in-
cally inserting one or more Wait states or by the in- struction. When the Refresh Control signal
sertion of one or more Wait states by the user. becomes active, refreshing of dynamic memory can
take place.
INSTRUCTION OPCODE FETCH
The CPU places the contents of the Program
Figure 5 : Instruction Opcode Fetch.
T, T, Tw T,
CLOCK
Ao-A15
_+----J
-Ir i
00-07 ~~--+(~«R{--':'';~-)('::;;;::-;::1'-_ _- 4_ _
RFSH -------------11.F-,------1--1'_"_0_______.•~r_
Note: Tw-Wait cycle added when necessary for slow ancilliary devices.
22/33
140
Z8400
CPU TIMING (continued) fetch cycle. In a memory write cycle, MREQ also
becomes active when the address bus is stable. The
MEMORY READ OR WRITE CYCLES WR line is active when the dat~bus is stable, so that
Figure 6 shows the timing of memo!Y.lead or write it can be used directly as an RfIN pulse to most semi-
cycles other than an opcode fetch (M1) cycle. The conductor memories.
MREQ and RD signals function exactly as in the
Figure 6 : Memory Read or Write Cycles.
T, T, Tw
OPERA;:: l AD
Do- D7
WR
OPER:::~: 1
Do-D7 ------,===~::=:~!:====~
23/33
141
Z8400
Tw' Tw
CLOCK
Ao-A
1
WR
WRI~~
OPl!RATION
Do-D7
-----~========~~==2!!!!!~==:j
Note: Tw' = One wait cycle automatically inserted by CPU.
24/33
142
Z8400
Gi SGS·THOMSON
~I Ii'AIDa:::DI@~w:ITDII@OOD«::$
25133
143
Z8400
CPU TIMING (contiued) not be disabled under software control. The sub-
sequent timing is similar to that of a normal instruc-
NON-MASKABLE INTERRUPT REQUEST tion fetch except that data put on the bus by the
CYCLE memory is ignored. The CPU instead executes a
NMI is sampled at the same time as the maskable restart (RST) operation and jumps to the NMI ser-
interrupt input INT but has higher priority and can- vice routine located at address 0066H (figure 9).
- - - L A S T M C'tCL£ -~'"''''''''''~-------------M1---------+1
LAST T TIME T, T2 T) T, '5
CLOCK
Ao .. t\11
--------------~'~--------~
--@-
• Although NMI is an asynchronous input. to guarantee its being recognized on the following machine cycle, NMl's falling edge must
occur no later than the rising edge of the clock cycle preceding TLAST.
26/33
144
Z8400
CPU TIMING (continued) data, and MREQ, 10RQ,RD, and WR lines to a high-
impedance state with the. rising edge of the next
BUS REQUEST/ACKNOWLEDGE CYCLE clock pulse. At that time, any external device can
The CPU samples BUSREQ with the rising edge of take control of these lines, usually to transfer data
the last clock period of any machine cycle (figure between memory and I/O devices.
10). If BUSREQ is active, the CPU sets its address,
CLOCK
Ao-A,S _ _ _ _ _ _ _ _ _~
11'1
-
~
______________
_________
~J
®--
t_-----~UK~H.~N.=.D--------
27/33
145
Z8400
HALT ACKNOWLEDGE CYCLE RESET must be active for at least three clock cycles
for the CPU to properly accept it. As long as RESET
When the CPU receives an Halt instruction, it ex- remains active, the address and data buses float,
ecutes NOP states until either an INT or NMI input and the control outputs are inactive. Once RESET
is received. When in the Halt state, the HALT out- goes inactive, three internal T cycles are consumed
put is active and remains so until an interrupt is re- before the CPU resumes normal processing oper-
ceived (figure 11). ation. RESET clears the PC register, so the first op-
code fetch will be to location 0000 (figure 12).
M1------~~~----------------M1----------------••+I••------------ M'
T, T2
Nil'
~-------------------
-----------------------~
CLOCK
Ao-Au ============C~--1~------~~-------t-.t======
0.-0, - @ ~~_ _ _--,:,',::LO::;AT~_ _ _ _-+________
~ 01-
-------'I
Ir. _ _ _ _ _ _ _ _ _ _ _ _ ----'7 •
:
l ,\~I ____
.u~~~
HAiT
______ . . ......Z2.I. . Z. . .2'.J7
~-------~~rT~~----__1~~(--------~---_r---------
~Z \'--_____
28/33
146
Z8400
AC CHARACTERISTICS
Z8400 Z8400A Z8400B Z8400H
N° Symbol Parameter
Min. Max. Min. Max. Min. Max. Min. Max.
(ns) (ns) (ns) (ns) (ns) (ns) (ns) (ns)
1 TcC Clock Cycle Time 400' 250' 165' 125'
2 TwCh Clock Pulse Widlh (high) 180' 110' 65' 55'
3 TwCI Clock Pulse Width (low) 180 2000 110 2000 65 2000 55 2000
4 TfC Clock Fall Time 30 30 20 10
5 TrC Clock Rise Time 30 30 20 10
6 TdCr(A) Clock i to Address Valid Delay 145 110 90 80
7 TdA (MREOf) Address Valid to MREO 1 Delay 125' 65' 35' 20'
8 TdCf (MREOf) Clock 1 to MREO 1 Delay 100 85 70 60
9 TdCr (MREOr) Clock i to MREO i Delay 100 85 70 60
10 TwMREOh MREO Pulse Width (high) 170' 110' 65' 45'
11 TwMREOI MREO Pulse Width (low) 360' 220' 135' 100'
12 TdCf(MREOr) Clock 1 to MREO i Delay 100 85 70 60
13 TdCf (RDf) Clock 1 to RD 1 Delay 130 95 80 70
14 TdCr(RDr) Clock i to RD i Delay 100 85 70 60
15 TsD(Cr) Data Setup Time to Clock i 50 35 30 30
16 ThD(RDr) Data Hold Time to RD i 0 0 0 0
17 TsWAIT(Cf) WAIT Setup Time to Clock 1 70 70 60 50
18 ThWAIT(Cf) WAIT Hold Time to Clock 1 0 0 0 0
19 TdCr(Mlf) Clock i to 1 Delay
MI 130 100 80 70
20 TdCr(Mlr) Clock i to
MI i Delay 130 100 80 70
21 TdCr(RFSHf) Clock i to
RFSH 1 Delay 180 130 110 95
22 TdCr(RFSHr) Clock i to
RFSH i Delay 150 120 100 85
23 TdCf(RDr) Clock RD i Delay
1 to 110 85 70 60
24 TdCr(RDf) Clock i to
RD 1 Delay 110 85 70 60
25 TsD(Cf) Data Setup to Clock 1 during 60 50 40 30
M2, M 3 , M4 or M5 Cycles
26 TdA(IOROf) Address Stable Prior to IORO 1 320' 180' 110' 75'
27 TdCr(IOROf) Clock i to 1 Delay
IORO 90 75 65 55
28 TdCf(IOROr) Clock 1 to IORO i Delay 110 85 70 60
29 TdCf(WRf) Data Stable Prior to WR 1 190' 80' 25' 5'
30 TdDf(WRf) Clock 1 to WR 1 Delay 90 80 70 60
31 TwWR WR Pulse Width 360' 220' 135' 100'
32 TdCf(WRr) Clock 1 to WR i Delay 100 80 70 60
33 TdD(WRf) Data Stable Prior to WR 1 20' - 10' - 55' 55'
34 TdCr(WRf) Clock i to WR 1 Delay 80 65 60 55
35 TdWRr(D) Data Stable from WR i 120' 60' 30' 15'
36 TdCf(HALT) Clock 1 to HALT i or 1 300 300 260 225
37 TwNMI NMI Pulse Width 80 80 70 60'
* For clock periods other than the minimums shown in the table, calculate parameters using the expressions in the table on the follow-
ing page.
All timings are preliminary and subject to change.
29/33
147
Z8400
AC CHARACTERIST!CS (continued)
Z8400 Z8400A Z8400B Z8400H
N° Symbol Parameter
Min. Max. Min. Max. Min. Max. Min. Max.
(ns) (ns) (ns) (ns) (n5) (ns) (n5) (n5)
38 T5BUSREQ(Cr) BUSREQ Setup Time to Clock 1 80 50 50 40
39 TcBUSREQ(Cr) BI..J$HEQ Hold Time alter Clock 1 0 0 0 0
40 TdCr(BUSACKI) Clock 1 to BUSACK -l- Delay - 120 100 90 80
41 TdCI(BUSACKr) clock -l- to BUSACK 1 Delay 110 100 90 80
42 TdCr(Tz) Clock 1 to Data Float Delay 90 90 80 70
43 TdCr(CTz) Control Ou!2.!!.ts Flo~
Clock 1 to 110 80 70 60
Delay (MREQ, IORQ, RD, and WR)
44 TdCr(Az) CIOQk 1 to Address Float Delay 110 90 80 70
45 TdCTr(A) MREQ I, IORQ I, RD I, and WR 1 160* 80* 35* 20*
to Address Hold Time
46 T5RESET(Cr) RESET to Clock 1 Setup Time 90 60 60 45
47 ThRESET(Cr) 11j:$ET to Clock 1 Hold Time 0 0 0 0
48 TsINTI(Cr) INTto Clock 1 Setup Time 80 80 70 55
49 ThINTr(Cr) INT to Clock 1 Hold Time 0 0 0 0
50 TdMII(IORQI) MJ-l- to IORQ -l- Delay 920* 565* 365* 270'
51 TdCI(IORQI) Clock -l- to IORQ -l- Delay 110 85 70 60
52 TdCI(IORQr) Clock 1 to IORQ 1 Delay 100 85 70 60
53 TdCI(D) Clock -l- to Data Valid Delay 230 150 130 115
• For clock periods other than the minimums shown in the table, calculate parameters using the expressions on the following table
All timings are preliminary and subject to change.
FOOTNOTES TO AC CHARACTERISTICS
N° Symbol Z8400 Z8400A Z8400B
1 TcC TwCh + TwCI + TrC + TIC TwCh + TwCI + TrC + TIC TwCh + TwCI + TrC + TIC
2 TwCh Although static by deSign, Although static by deSign, Although static by design,
TwCh 01 greater than 200 TwCh 01 greater than 200 TwCh 01 greater than 200
/-1s is not guaranteed. /-1s is not guaranteed. /-1s is not guaranteed.
7 TdA(MREQf) TwCh + TIC - 75 TwCh + TIC - 65 TwCh + TIC - 50
10 TwMREQh TwCh + TIC - 30 TwCh + TIC - 20 TwCh + TIC - 20
11 TwMREQI TcC - 40 TcC - 30 TcC - 30
26 TdA(IORQI) TcC - 80 TcC - 70 TcC - 55
29 TdD(WRI) TcC - 210 TcC - 170 TcC - 140
31 TwWR TcC - 40 TcC - 30 TcC - 30
33 TdD(WRI) TwCI + TrC - 180 TwCI + TrC - 140 TwCI + TrC - 140
35 TdWRr(D) TwCI + TrC - 80 TwCI + TrC - 70 TwCI + TrC - 55
45 TdCTr(A) TwCI + TrC - 40 TwCI + TrC - 50 TwCI + TrC - 50
50 TdMII(IORQI) 2TcC + TwCh + TIC - 80 2TcC + TwCh + TIC - 65 2TcC + TwCh + TIC - 50
AC Test Conditions: Vile = 0.45 V
V,H = 2.0 V VOH = 2.0 V
VIL = 0.8 V VOL = 0.8 V
V,He = Vee - 0.6 V FLOAT = ± 0.5 V
30/33
148
Z8400
31/33
149
Z8400
DC' CHARACTERISTICS
Symbol Parameter Test Conditions Min. Max. Unit
VILC Clock Input Low Voltage - 0.3 0.45 V
VIHC Clock Input High Voltage Vee - 0.6 Vee + 0.3 V
VIL Input Low Voltage - 0.3 o.a V
VIH Input High Voltage 2.0 Vcc V
VOL Output Low Voltage IOL =2 mA 0.4 V
VOH Output High Voltage IOH = - 250 !IA 2.4 V
Icc Power Supply Current
zao 150 ' mA
ZaOA 200 2 mA
ZaOB 200 mA
ZaOH 200 mA
III Input Leakage Current VIN = 0 to Vcc - 10 !IA
ILO 3·State Output Leakage Current in VOUT = 0.4 to Vcc - 10 10 !IA
Float
Notes: 1. For military grade parts, Icc is 200 rnA.
2. Typical rate lor Z8400A is 90 rnA. _
3. A,s·""', 0,.00, MREO, IORO, RO, and WR.
CAPACITANCE
Symbol Parameter Note Min. Max. Unit
CCLOCK Clock Capacitance 35 pF
CIN Input Capacitance Unmeasured pins returned to 5 pF
ground
COUT Output Capacitance 10 pF
TA = 25 'C, 1= 1 MHz.
32/33
150
Z8400
ORDERING INFORMATION
Type Package Temp. Clock Description
Z8400B1 DIP·40 (plastic) 0/+ 70°C
Z8400F1 Dlp·40 (frit seal) 0/+ 70°C
Z8400D1 DIP-40 (ceramic) 0/+ 70°C
2.5 MHz
Z8400D6 DIP-40 (ceramic) -40/+ 85°C
Z8400D2 DIP-40 (ceramic) - 55/ + 125°C
Z8400C1 PLCC44 (plastic chip-carrier) 0/ + 70°C
Z8400AB1 DIP-40 (plastic) 0/+ 70°C
Z8400AF1 DIP-40 (frit seal) 0/+ 70°C
Z8400AD1 DIP-40 (ceramic) 0/+ 70°C
4 MHz
Z8400AD6 DIP-40 (ceramic) -40/+ 85°C
Z8400AD2 DIP-40 (ceramic) -55/ + 125°C
Z8400AC1 PLCC44 (plastic chip-carrier) 0/+ 70°C Z80 Central
Processing Unit
Z8400BB1 DIP-40 (plastic) 0/+ 70°C
Z8400BF1 DIP-40 (frit seal) 0/+ 70°C
Z8400BD1 DIP-40 (ceramic) 0/+ 70°C
6 MHz
Z8400BD6 DIP-40 (ceramic) -40/+ 85°C
Z8400BD2 DIP-40 (ceramic) -55/+125°C
Z8400BC1 PLCC44 (plastic chip-carrier) 0/+ 70°C
Z8400HB1 DIP-40 (plastic) 0/+ 70°C
Z8400HF1 DIP-40 (frit seal) 0/+ 70°C
Z8400HD1 DIP-40 (ceramic) 0/+ 70°C 8 MHz
Z8400HD6 DIP-40 (ceramic) -40/+ 85°C
Z8400HC1 PLCC44 (plastic chip-carrier) 0/+ 70°C
33/33
151
Z8410
. . -1 ..'"
A,
DESCRIPTION DATA
zao BUS
The DMA (Direct Memory Access) is a power-
ful ad versatile device for controlling and processing .
..
A, SYATI."
transfers of data. Its basic function of managing ADDRESS
BUS
CPU-independent transfers between two ports is
BUS {
augmented by an array of features that optimize CONTROL A"
Au
transfer speed and control with little or no external 28410
A"
logic in systems using an a-or 16-bit data bus and Au
Au
a 16-bit address bus. A"
INTERRUPT
}
dresses are automatically generated for each trans- CONTROL
The zao
DMA contains direct interfacing to and in-
dependent control of system buses, as well as soph-
153
- - - - - - - - - - - - - - - - - - -- -------~----------- ----
Z8410
39 00
of three transfer and/or search modes:
36 0, • Byte-at-a-Time: data operations are performed
37 0] one byte at a time. Between each byte operation
36 . OJ the system buses are released to the CPU. The
35 04 buses are requested again for each succeeding
Z8410 ]l. GND byte operation.
)) Os
• Burst: data operations continue until a port's
32 06
Ready line to the DMA goes inactive. The DMA
)1 07
)0 MI
then stops and releases the system buses after
29 N..c.
completing its current byte operation.
• Continuous: data operations continue until the
'---,n"".",,1O,'r'",'.,.',"TT',',"rr"n','.,.','--' 5-8098
end of the programmed block of data is reached
before the system buses are releases. If a port's
Ready line goes inactive before this occurs, the
NC = NO CONNECTION DMA simply pauses until the Ready line comes
active again.
2/22
154
Z8410
SYSTEM
BUSES Z·80 DIIA
CPU OM ..
=r'E'
I
able, reset, load starting-address buffers, continue,
clear counters, clear status bits and the like. In ad-
dition, many mode-setting control bytes can be writ-
ten, including mode and class of operation, port
-....RDY
configuration, starting addresses, block length, ad-
5.0 OM.. dress counting rule, match and match-mask byte,
~ interrupt conditions, interrupt vector, status-affects-
vector condition, pulse counting, auto restart,
1'( 7 ........._ .......
Ready-line and Wait-line rules, and read mask.
Readable status registers include a general status
In all modes, once a byte of data is read into the
byte reflecting Ready-line, end-of-block, byte-match
DMA, the operation on the byte will be completed in
and interrupt conditions, as well as 2-byte registers
an orderly fashion, regardless of the state of other
for the current byte count, Port A address and Port
signals (including a port's Ready line).
B address.
Due to the DMA's high-speed buffered method of
reading data, operations on one byte are not com- VARIABLE CYCLE
oleted until the next byte is read in. This means that The Z80 DMA has the unique feature of programm-
total transfer or search block lengths must be two or able operation-cycle length. This is valuable in tai-
more bytes, and that block lengths programmed into loring the DMA to the particular requirements of
the DMA must be one byte less than the desired other system components (fast or slow) and
olock length (cant is N-1 where N is the block maximizes the data-transfer rate. It also eliminates
length). external logic for signal conditioning.
COMMANDS AND STATUS There are two aspects to the variable cycle feature.
First, the entire read and write cycles (periods) as-
The Z80 DMA has several writable control registers sociated with the source and destination ports can
and readable status registers available to the CPU. be independently programmed as 2,3 or 4 T-cycles
Control bytes can be written to the DMA whenever long (more if Wait cycles are used), thereby increas-
the DMA is not controlling the system buses, but the ing or decreasing the speed with which all DMA sig-
act of writing a control byte to the DMA disables the nals change (figure 5).
~ SGS·THOMSON 3122
At."fI ~D©III@lOI!.rn©'irIll@IllD©i!I
155
Z8410
Second, the four signals in each port specifically as- Figure 5 : Variable Cycle Lenght..
sociated with transfers of data (1/0 Request, Mem-
ory Request, Read, and Write) can each have its
active trailing edge terminated one-half T-cycle
early. This adds a further dimension of flexibility and
speed, allowing such things as shorter-than-normal eLI<
Read or Write signals that go inactive before data
E 2.cYCLE~_I
starts to change. I EARL Y ENDING
3-CYClE~ FOR CONTROL SIGNALS
4/22
156
Z8410
BUSREQ. Bus Request (Bidirectional, Active Low, output Low during an M1 cycle. It is typically con-
Open Drain). As and output, it sends requests for nected to the INT pin of the CPU with a pullup resis-
control of the system address bus, data bus and tor and tied to all other INT pins in the system. This
control bus to the CPU. As an input, when multiple pin can also be used to generate periodic pulses to
DMAs are strung together in a priority daisy chain an external device. It can be used this way~
via BAI and BAO, it senses when another DMA has when the DMA is bus master (Le., the CPU's BUS-
requested the buses and causes this DMA to refrain REO and BUSACK lines are both Low and the CPU
from bus requesting until the other DMA is finished. cannot see interrupts).
Because it is a bidirectional pin, there cannot be any IORQ. Input/Output Request (Bidirectional; Active
buffers between this DMA and any other DMA. It Low, 3-state). As an input, this indicates that the
can, however, have a buffer between it and the CPU lower half of the address bus holds a valid 1/0 port
because it is unidirectional into the CPU. A pull-up address for transfer of control or status bytes from
resistor is connected to this pin. or to the CPU, r~ectively ; thjLPMA is the ad-
CElWAIT. Chip Enable and Wait (Injllit, Active dressed port if its CE pin and its WR or RD pins are
Low). Normally this functions only as a CE line, but simultaneously active. As an output, after the DMA
it can also be programmed to serve a WAIT func, has taken control of the system buses, it indicates
tion. As a CE line from the CPU, it becomes active that the a-bit or 16-bit address bus holds a valid port
when WR and 10RO are active and the 1/0 port ad- address for another 1/0 device involved in a DMA
dress on the system address bus is the DMA's ad- transfer of data. When 10RO and M1 are both ac-
dress, thereby allowing a transfer of control or tive simultaneously, an interrupt acknowledge is in-
command bytes from the CPU to the DMA. As a dicated.
WAIT line from memory or 1/0 devices, after the M1. Machine Cycle One (Input, Active Low). Indi-
DMA has received a bus-request acknowledge from cates that the current CPU machine cycle is an in-
the CPU, it causes wait states to be inserted in the struction fetch. It is used by the DMA to decode the
DMA's operation cycles thereby slowing the DMA to return-from-interrupt instruction (RETI) (ED-4D)
a speed that matches the memory or 1/0 device. sent b.Y...1he CPU. During two-byte instruction fet-
ClK. System Clock (Input). Standard zao single- ches, M1 is active as each opcode byte is fetched.
phase clock at 2.5MHz (ZaO DMA) or 4.0MHz (ZaO An interrupt acknowledge is indicated when both M1
DMA). For slower system clocks, a TTL gate with a and 10RO are active.
pullup resistor may be adeguate to meet the timing MREQ. Memory Request (Output, Active Low, 3-
and voltage level specification. For higher-speed state). This indicates that the address bus holds a
systems, use a clock driver with an active pullup to valid address for a memory read or write operation.
meet the VIH specification and risetime require- After the DMA has taken control of the system
ments. In all cases there should be a resistive pul- buses, it indicates a DMA transfer request from or
lup to the power supply of 1OKohms (max) to ensure to memory.
proper power when the DMA is reset.
RD. Read (Bidirectional, Active Low, 3-state). As an
00-07. System Data Bus (Bidirectional, 3-state). input, this indicates that the CPU wants to read
Commands from the CPU, DMA status, and data status bytes from the DMA's read registers. As an
from memory or 1/0 peripherals are transferred on output, after the DMA has taken control of the sys-
these lines. tem buses, it indicates a DMA-controlled read from
lEI. Interrupt Enable In (Input, Active High). This is a memory or 1/0 port address.
used with lEO to from a priority daisy chain when ROY. Ready (Input, Programmable Active Low or
there is more than one interrupt-driven device. A High). This is monitored by the DMA to determine
High on this line indicates that no other device of when a peripheral device associated with a DMA
higher priority is being serviced by a CPU interrupt port is ready for a read or write operation. Depend-
service routine. ing on the mode of DMA operation (Byte, Burst or
lEO. Interrupt Enable Out (Output, Active High). lEO Continuous), the RDY line indirectly controls DMA
is High only if lEI is High and the CPU is not servic- activity by causing the BUSREO line to go Low or
ing an interrupt from this DMA. Thus, this signal High.
block lower-priority devices from interrupting while WR. Write (Bidirectional, Active Low, 3-state). As
a higher-priority device is being serviced by its CPU and input, this indicates that the CPU wants to write
interrupt service routine. control or command bytes to the DMA write regis-
INT/PULSE. Interrupt Request (Output, Active Low, ters. As an output, after the DMA has taken control
Open Drain). This requests a CPU interrupt. The of the system buses, it indicates a DMA-controlled
CPU acknowledges the interrupt by pulling its 10RO write to· a memory or 1/0 port address.
5122
157
Z8410
INTERNAL STRUCTURE
The internal structure of the Z80 DMA includes transfer channel are multiplexed onto the system
driver and receiver circuitry for interfacing with an 8- address bus.
bit system data bus, a 16-bit system address bus, Specialized logic circuits in the DMA are dedicated
and system control lines (figure 6). In a Z80 CPU to the various functions of external bus interfacing,
environment, the DMA can be tied directly to the internal bus control, byte matching, byte counting,
analogous pins on the CPU (f!ruir.e 7) with no addi- periodic pulse generation, CPU interrupts, bus re-
tional buffering, except for the CElWAIT line. quest, and address generation. A set of twenty-one
The DMA's internal data bus interfaces with the sys- writable control registers and seven readable status
tem data bus and services all internal logic and reg- registers provides the means by which the CPU gov-
isters. Addresses generated from this logic for Ports erns and monitors the activities of these logic cir-
A and B (source and destination) of the DMA's single cuits. All registers are eight bits wide, with
Figure 6: Block Diagram.
SYSTEM SYSTEM
DATA fL--L.....L.~ ADDRESS
MUX BUS
BUS \r---r---.--'/
(881T) (111 BIT)
CONTROL \r-----,'"
FROM FROM
UO 110
DEVICE DEVICE
6/22
158
Z8410
Gi SGS·THOMSON
~I ~n©II@[;I!.I<@'ii'IliI@OOn©iI!
7/22
159
Z8410
Read Register 0
0, 0, o~ D. D, Dz 0, Dv Read Register 2
_
I L-,0 ""= READY
OMA TRANSFER HAS OCCURRED
ACTIVE
Read Register :3
o := INTERRUPT PENDING 1
...._1'----11----.1--,-I-,-I--'-...L.-II PORT A ADDRESS COUNTER (lOW BVTEl
O:z: MATCH FOUND
o :::: END OF BLOCK Read Register ..
Read Register 1
LI_1L..lI--l.I-'...1--,--I--'---'--II PORT A ADDRESS COUNTER (HIGH BVTE)
LI....Jlo.-ll---L.1~I....JI--l.-'......JI BYTE COUNTER (HIGH BYTE) Read Register 5
1
...._1'----11--1.1___I _1'----'--'--'1 PORT B ADDRESS COUNTER (lOW BYTE)
Read RegUler 6
8/22
160
Z8410
I· I I I I I I I I.............."" I, I I I I 11 I
0 RASE R[CUSTER aYTE
I!! o
1
I
OONOT . . .
1 .. TRAMSF£R
D" KARCH
1 _ S.£AACHlYMHV"I:R
'TTE
aURST _ 1
00 NOT PROQRAM .. 1
.1 !
CONTrNUOUS _ II
O-PORTs_POtn"
1_ PORTA_I'ORTI
.-..--...--.J.,-L..,-"-r-r-'PORT II STARTING ADDRESS
,r'-r'-"""'-'-r-r-r-, PORT A STARnNO AO()fI;£SS L-L-~~I~~......J.-L~~OWIYT~
L-LrLlrLl'~~~~~aw.nQ
.--..--.~J.,"-r-r-r--' PORT" STARTING ADDRESS
,r'-r'-n..,..-r-, PORT A STARTING AOo..ESS L-L-~~
l~~--'-~ (HIGH Brr£)
L-LrLr~~~~-l~~H8nQ
.-r'-Ir'-~rr-"--'-.
.COCK LENGTN
c:..~--,~~~--,---, INTERRUPT CONTROL I'(TE
L-LrL-~-i~~-l~OW8nQ
DrD.D~D.D:!OZD,D. I
',I I III'I'I'IOASER"OSTER.TTT L-L-~I--,I~-,-I-,-I~IINTERRUPT VECTOR
1 1
o 0
l. PORT A IS MEMORY
1 -" PORTA IS 110
.. PORT A ADDRESS DECREMENTS
VECTOR IS AUTOMATICALLY { '
IIIODIFIED AS SHOWN
II
0
•
1
'"
"
INTERRUPT ON ROY
INTERRUPT ON MATCH
ONLYIF-sTATUS 1 0 '" INTERRUPT ON END OF BLOCK
1 '" PORT A ADDRESS INCREMENTS AFFECTS VECTOR BrT IS SET 1 1 '" INTERRUPT ON MATCH
I..
n
iiA ENDS,...
Iffi
CYCLE EAlltY "" !I
ENDS VII CYCLE EARLY = 0
I I ! !" 0
CYCLE LENGTH ....
1:. CYCLE LENGTH .. J
0,0,0,0.0,0,0,0.
11 ! D) I I ! 0 11 E BASE REGISTER 8YTE
II
MREO ENDS Yo CYCLE EARLY ~ 0 , 0:. CYCLE LENGTH = 2
,
o _ K»ia
1 .. 00 HOT USE
ENDS y;, CYClE EARLY I
o '"
READY ACTIVE LOW
1-.:
READY ACTIVE HIGH
0= CEONLY
1 -' CElWAIT MUL TlPLEXEO
Write RegUtH 2 Group o STOP ON END OF BLOCK
1 - AUTO ReSTART ON END OF 8LOCK
o,o.o.,D4~o,D,o.
1,1 I II I'I"'IOASERE"""""'TTT
Write Regi:ster 6 Group
11
o 0
1. PORT' IS MEMORY
I=PORTBlSVO
.. PORT B ADDRESS DECREMENTS
0, D.
It: I
D~
[
D. 0, 0,
! I i
Dt
1
0.
11 I BASE REGISTER BYTE
o
I I Io I ! NA.~
1 '" POAT B AODRESS INCREMENTS
~ ~ 1_ PORT 8 AODRISS AXED HIEX eOMMAND
O"'CJ~RESET
o 1 '" Cl '" RESET PORT A TIMING
'--'-:-'--L......J.-Lc-'-J..-,PORT B V.uUABlE TlMING BYTE o 0 ~ CB '" RESET PORT II TIMING
!I I! !
1 0 I 1" CI' - LOAD
o 0 0 '" DJ CONTINUE
Wii ENOS .... CYCLE £ARL Y = 1 = CYCLE LENGTH '" <4
o 1 1 -e AI' '" DISABLE INTERflUPTS
Iff) ENDS Yo CYClE EARLY - 0 0 1., CYCLE LENGTH "" 3
ntO ENDS .... CYCLE EARLY", 0 , 0 _ CYCLE LENQTW _ 2 o 0 --'~ All '" ENABLE INTERRUPTS
1 1 DO NOT USE o t 0 I) ~ A3 = R~SH AND DISABLE INTERRUPTS
1 I) t ~ 87 = ENAlllE AFTER RETI
o '"' lORa ENDS 'h CYCLE EARLY
1 1 = BF - RI:.AD STATUS BYTE
1 0 ~ liB -' REINITlALIZE STATUS BYTE
OIllA UtAIllE _!
INTERRUPT fNAalE: _ 1
I J .. STOP ON MATCH r-
Ll o !"
I) 1 1
I) '" 113
0 ~ 68 ~
=:==J
= DISABLE OMA
,
: READ MASK i1 x ENABLEr
9/22
161
Z8410
Comments 07 06 Os 04 03
WRO sets DMA to receive 0 1 1 1 1
block length. Port A starting Block Length Block Length Port A Port A
address and temporarily sets Upper Lower Upper Lower
Port B as source. Follows Follows Address Address
Follows Follows
Port A Address (lower) 0 1 0 1 0
~-
10/22
162
Z8410
Comments D2 D, Do HEX
1----.--------- ----.
WRO sets DMA to receive block length. Port A 0 0 1 79
starting address and temporarily sets Port B as B->A
---
source. Temporary for
Loading B Transfer. No Search
Address'
----
_Port
._ A-Address
- _ .(lower)
.- __ 0 0 0 50
Port A Address (upper) 0 0 0 10
-_._- ---_."..-- ._----
Block
c---. Length (lower)
________ . 0 -_ .. 0 0 00
Block
-_.-_ Length (upper) 0 0 0 10
...
_~_._--_.- .- .... ---~--.---- --_. -- , , - - -- -
WR1 defines Port A as memory with fixed 1 0 0 14
incrementing address.
WR2 defines Port B as peripheral with fixed 0 1 0 28
address.
WR4 sets mode to Burst. sets DMA to expect 1 0 1 C5
Port B address. Port BLower
Address
Follows
Port B Address (lower) 1 0 1 05
WR5 Sets Ready Active High. 0 1 0 8A
WR6 Loads Port B Address and Resets Block 1 1 1 CF
Counter. •
----.
WRO Sets Port A as Source .• 1 0 1 05
A~B Transfer. No Search
WR6 Loads Port A Address and Resets Block 1 1 1 CF
Counter.
WR6 Enables DMA to start operation. 1 1 1 87
Note: Jhe actual number of bytes transferred is one more than specified by the block length.
TllAse entries are necessary Dilly In the case of a fixed destination address.
11/22
163
Z8410
Ao-A15 -+"---+-+-I---i""---I--t-t--I----..oA-
READ J MREa
l AD
O"'Th
TDAt"--
'! \ --
12/22
164
Z8410
VARIABLE CYCLE AN EDGE TIMING the bus is not in use by any other device, the follow-
The Z80 DMA's default operation-cycle length for ing rising edge of ClK drives BUSREO low. After
the sou~ce (read) port and destination (write) port receiving BUS REO the CPU acknowledges on the
can be Independently programmed. This variable- BAI input either directly or through a mldlliQle-DMA
cycle feature allows read or write cycles consisting daisy chain. When a low is detect on BAI for two
of two, three of fou r-T -cycle (more if Wait cycles are consecutive rising edges of ClK, the DMA will begin
inserted), thereby increasing or decreasing the transferring data on the next rising edge of ClK.
speed of all signals generateQ.Qyjhe DMA. In addi-
BUS RELEASE BYTE-AT-A-TIME
tion, the trailing edges of the 10RO, MREO, RD and
WR signals can be independently terminated one- In Byte-at-a-Time mode, BUSREO is brought High
half cycle early. Figure 14 illustrates this. on the rising edge of ClK prior to the end of each
In the variable-cycle mode, unlike default timing, read cycle (search-only) or write cycle (transfer and
10RO comes active one-half cycle before MREO, transfer/search) as illustrated in figure 16. This is
done regardless of the state of ROY. There is no
RD and WR. CE/WAIT can be used to extend only
the 3 or 4 T -cycle variable memory.£Y.,cles and only possibility of confusion when a Z80 CPU is used
the 4-cycle variable I/O cycle. The CE/WAIT line is since the CPU cannot begin an operation until the
sampled at the falling edge of T2 for 3- or 4-cycle following T-cycle. Most other CPUs are not bothered
by this either, although note should be taken of it.
memory cycles, and at the falling edge of T3 for 4-
cycle I/O cycles. The next bus request for the next byte will come after
both BUS REO and BAI have returned High.
During transfers, data is latched on the clock edge
causing the rising edge of RD and held through the BUS RELEASE AT END OF BLOCK
end of the write cycle.
In Burst and Continuous modes, an end of block
BUS REOUESTS causes BUSREO to go High usually on the same
rising edge of ClK in which the DMA completes the
Figure 15 illustrates the bus request and accept-
~ransfer of t~e data block (figure 17). The last byte
ance timing. The ROY line, which may be pro-
In the block IS transferred even if ROY goes inactive
grammed active High or low, is sampled on every
before completion of the last byte transfer.
rising edge of ClK. If it is found to be active, and if
I~'---IIOREAO - - - - 1 - -
Cut
II II II
'ORQ I
READ (
AD
"'\ I
OO-D7
I/O DRIVES DATA
DMA DRIVES DATA 8US ]}-
f---
I
"'
MREQ
WRITE ( _
WR
L L-r f--
13/22
165
Z8410
BUS RELEASE AND NOT READY pipe lining scheme, matches are determined while
In Burst mode, when RDY goes inactive it causes the next DMA read or write is being performed.
BUSREQ to go High on the next rising edge of CLK The RDY line can go inactive after the matching
after the completion of its current byte operation operation begins without affecting this bus-release
(figure 18). The action on BUSREQ is thus some- timing.
what delayed from action on the RDY line. The DMA INTERRUPTS
always completes its current byte operation in an or-
derly fashion before releasing the bus. Timings for interrupt acknowledge and return from
interrupt are the same as timings for these in other
By contrast, BUSREQ is not released in Continuous Z80 peripherals.
mode when RDY goes inactive. Instead, the DMA
idles after completing the current byte operation, Interrupt on RDY (interrupt before requesting bus)
awaiting an active RDY again. does not directly affect the BUSREQ line. Instead,
the interrupt service routine must handle this by is-
BUS RELEASE ON MATCH suing the following commands to WR6 :
1. Enable after Return From Interrupt (RETI)
If the DMA is programmed to stop on match in Burst Command - Hex B7
or Continuous modes, a match causes BUSREQ to
2. Enable DMA - Hex 87
go inactive on the next DMA operation, i.e., at the
end of the next read in a search or at the end of the 3. A RETI instruction that reset the interrupt
Under Service latch in the Z80 DMA.
following write in a transfer (figure 19). Due to the
Figure 14 Variable-Cycle and Edge Timing. Figure 15 : Bus Request and Acceptance.
I T, T, I T.
eLK
CLK
Ao-A .. _-"'_ _ _ _~
IUIJiIlI .. __ ...J
IORO \ \ "_ _ _'-
iAI ..
_-_-_ -_ -_ -_ -...J.-+-....,1......1
Figure 16 Bus Release (Byte-at-a-Time-Mode). Figure 17: Bus Release at End of Block (Burst
and Continuous Modes).
CLK~~
.u.... '
1 ....
I
, _ _ _ _- -
14/22
166
Z8410
Figure 18 Bus Release When Not Ready Figure 19: Bus Release on Match (Burst and
(Burst Mode). Continuous Modes).
ifu_1tD
------~~--------.r_--~
r----Ni.:,~----'Ir--.- ·;::1~1
L
[- -- -
CURRENT IIYTE
OPER"'TI~
I "'.
----lfliACTIYE M~~:.r~U:g
• 0 °C to + 70°C,
+ 4.75 Vs Vcc s+ 5.25 V
• - 40°C to + 85 °C,
+ 4.75 Vs Vcc S+ 5.25 V
• - 55°C to + 125°C,
+ 4.75 VsVcc S+ 5.25 V
All ac parameters assume a load capacitance of
100pF max. Timing references between two output
signals assume a load difference of 50pF max.
15/22
167
Z8410
DC CHARACTERISTICS
Symbol Parameter Test Conditions Min. Max. Unit
VllC Clock Input Low Voltage - 0.3 0.45 V
VIHC Clock Input High Voltage Vee - 0.6 5.5 V
Vil Input Low Voltage - 0.3 O.S V
VIH Input High Voltage 2.0 5.5 V
Val Output Low Voltage 10l ~ 3.2 mA for BUSREQ 0.4 V
10l ~ 3.2 mA for all others
VOH Output High Voltage 10H ~- 250!lA 2.4 V
Icc Power Supply Current
ZS41 0 Z80 DMA 150 mA
ZS41 OA ZSOA DMA 200 mA
III Input Leakage Current VIN ~ 0 to Vee 10 f.lA
Ilo 3-State Output Leakage Current in Float VOUT ~ 0.4 to Vee -10 10 !lA
Ilo Data Bus Leakage Current in Input Mode 0" VIN " Vec -10 10 !lA
CAPACITANCE
Symbol Parameter Test Conditions Min. Max. Unit
C Clock Capacitance Unmeasured Pins 35 pF
CIN Input Capacitance Returned to Ground 5 pF
COUT Output Capacitance 10 pF
Over specified temperature range; f =t MHz.
16/22
168
Z8410
17/22
169
Z8410
-,- "0·
.zv D.IV
QlflPUl l.GV 0.'"
INPUT 2.0'1 0.'"
Do-DT
INTERRUPT
CONDITIOIII _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _- "
18/22
170
Z8410
19/22
171
Z8410
20/22
172
Z8410
eLK
wi
WR
BUSAEQ
---------------------------------------------~j~,?--------
_K
. _ - - - - - - - - - - ...----_._----_.--------------------------'
21/22
173
Z8410
ORDERING INFORMATION
Type Package Temp. Clock Description
Z8410Bl DIP-40 (plastic) 0/+ 70°C Z80 Direct
Z8410F1 DIP-40 (trit seal) 0/+ 70°C Memory Access
Z8410D1 DIP-40 (ceramic) 0/+ 70°C Unit
2.5 MHz
Z8410D6 DIP-40 (ceramic) -40/+ 85°C
Z8410D2 DIP-40 (ceramic) - 55/ + 125°C
Z8410C1 PLCC44 (plastic chip-carrier) 01 + 70°C
Z8410AB1 DIP-40 (plastic) 0/+ 70°C
Z8410AF1 DIP-40 (trit seal) 0/+ 70°C
Z8410AD1 DIP-40 (ceramic) 0/+ 70°C
4 MHz
Z8410AD6 DIP-40 (ceramic) -40/+ 85°C
Z8410AD2 DIP-40 (ceramic) - 55/ + 125°C
Z8410AC1 PLCC44 (plastic chip-carrier) 0/+ 70°C
22/22
174
Z8420
!'ORT 8
the CPU upon occurrence of specified status condi-
tions in the peripheral device. For example, the PIO
can be programmed to interrupt if any specified pe-
ripheral alarm conditions should occur. This inter- INTBRRUPT {
rupt capability reduces the time the processor must CONTROL
lEO
spend in polling peripheral status.
The zao
PIO interfaces to peripherals via two inde-
pendent general-purpose I/O ports, designated port
175
Z8420
Figure 1 : Dual in Line Pin Configuration. (mode 1), byte input/output (mode 2) and bit
,.------_._-_._-------., input/output (mode 3).
In mode 0, either port A or port B can be pro-
g rammed to output data. Both ports have output reg-
''"" isters that are individually addressed by the CPU;
data can be written to either port at any time. When
'"
C"E
data is written to a port, an active Ready output in-
"'.
BIA dicates to the extemal device that data is available
.
A, at the associated port and is ready for transfer to the
external device. After the data transfer, the external
device responds with an active Strobe input, which
generates an interrupt, if enabled.
In mode 1, either port A or port B can be configured
in the input mode. Each port has an input register
addressed by the CPU. When the CPU reads data
from a port. the PIO sets the Ready signal, which is
detected by the external device. The external device
then places data on the 1/0 lines and strobes the I/O
port, which latches the data into the Port Input Reg-
ister, resets Ready, and triggers tile Interrupt Re-
quest, if enabled. The CPU can read the input data
at any time, which again sets Ready.
Figure 2 : Chip Carrier pin Configuration.
Mode 2 is bidirectional and uses port A, plus the in-
terrupts and handshake signals from both ports.
Port B must be set to mode 3 and masked off. In
operation. port A is used for both data input and out-
put. Output operation is similar to mode 0 except
6 5 4 3 2 I 41. 43 42 .. 1 .. 0 that data is allowed out onto the port A bus only
BIA 39 Ro when ASTB is Low. For input, operation is similar to
A1 38 87
mode 1, except that the data input uses the port B
AS 37 96
handshake signals and the port B interrupt (if en-
AS 10 36 B&
abled).
A4 11 3S 84
N.C. 12 Z8420 J4 83 Both ports can be used in mode 3. In this mode, the
GNO 13 33 B2 individual bits are defined as either input or output
AJ 1.1, 32 9\ bits. This provides up to eight separate, individually
AZ 15 31 Bo defined bits for each port. During operation, Ready
A, 16 30 Vee and Strobe are not used. Instead, an interrupt is
AO 1? 29 elK generated if the condition of one input changes, or
16 19 20 21 22 iJ 24 25 16 21 28
5-6099
if all inputs change. The requirements for genera-
wwuwcr ting an interrupt are defined during the programm-
l
en \'" > 0 - . .
l-,...ocao~4t.&.1zl.1J
""
C
I/) 0::
to <I
IX: .z z
co
. 0
_ ..........
I.... -
ing operation; the active level is specified as either
High or Low, and the logic condition is specified as
either one input active (OR) or all inputs active
(AND). For example, if the port is programmed for
A and Port B. Each port has eight data bits and two active Low inputs and the logic function is AND, then
handshake signals, Ready and Strobe, which con- all inputs at the specified port must go Low to gener-
trol data transfer. The Ready output indicates to the ate an interrupt.
peripheral that the port is ready for a data transfer.
Data outputs are controlled by the CPU and can be
Strobe is an input from the peripheral that indicates
written or changed at any time.
when a data transfer has occured.
• Individual bits can be masked off.
OPERATING MODES • The handshake signals are not used in mode 3,
The Z80 PIO ports can be programmed to operate Ready is held Low, and Strobe is disabled.
in four modes : byte output (mode 0), byte input • When using the Z80 PIO interrupts, the Z80 CPU
interrupt mode must be set to mode 2.
2/15
176
Z8420
DATA
OR CONTROL
}HANDS'H.l.KE
PERIPHERA~
nlTERFACK
DATA
OR CONTROL
}HANDSHAKt:
3115
177
Z8420
4/15
178
Z8420
lJ
ID,ID.ID.\o.I, I, 1,1,1
L
1~1~1~1~1~1~1~IDoI
·IDENTIFIES MODE
CONTROL WORD
DON'T CARE
1~1~1~1_1~lhl~lol
L IDENTIFIES INTERRUPT
I'IF 'I~l!! ::::==,~_
•
0"
Os
Ott
c
t:
Ie:
, MASK WORD FOLLOWS
INTERRUPT CONTROL WORD. In mode 3, hand- MASK CONTROL WORD. This word sets the mask
shake is not used. Interrupts are generated as a control register, allowing any unused bits to be
logic function of the input signal levels. The interrupt masked off. If any bits are to be masked, then D4
control word sets the logic conditions and the logic must be set. When D4 is set, the next word written
levels required for generating an interrupt. Two logic to the port must be a mask control word (figure 9).
conditions or functions are available: AND (if all
INTERRUPT DISABLE
input bits change to the active level, an interrupt is
triggered), and OR (if anyone of the input bits There is one other control word which can be used
changes to the active level, an interrupt is triggered). to enable or disable a port interrupt. It can be used
Bit D6 sets the logic function, as shown in figure 8. without changing the rest of the interrupt control
The active level of the input bits can be set either word (figure 10).
High or Low. The active level is controlled by bit D5.
DON'T CARE
07 - 0 INTERRUPT DISABLE
Dr =
1 INTERRUPT ENABLE
5/15
179
Z8420
PIN DESCRIPTIONS bit Ao from the CPU is used for this selection func-
Ao-A7. Port A Bus (Bidirectional, 3-state). This a-bit tion.
bus transfers data, status, or control information be- BRDY. RegisterB Ready(Output, Active High). This
tween port A of the PIO and a peripheral device. Ao signal is similar to AROY, except that in the port A
is the least significant bit of the port A data bus. bidirectional mode this signal is High when the port
ARDY. Register A Ready (Output, Active High). The A input register is empty and ready to accept data
meaning of this signal depends on the mode of oper- from the peripheral device.
ation selected for port A as follows: BSTB. Port B Strobe Pulse From Peripheral Device
OUTPUT MODE. This signal goes active to indicate (Input, Active low). This signal is similar to ASTB,
that the port A output register has been ,loaded and except that in the port A bidirectional mode this sig-
the peripheral data bus is stable and ready for trans- nal strobes data from the peripheral device into the
fer to the peripheral device. pol! A input register.
C/O. Control Or Data Select (Input, High = C). This
INPUT MODE. This signal is active when the port A pin defines the type of data transfer to be performed
input register is empty and ready to accept data from between the CPU and the PIO. A High on this pin
the peripheral device. during a CPU write to the PIO causes the zao data
BIDIRECTIONAL MODE. This signal is active when bus to be interpleted as a command for the port se-
data is available in the port A output register for lected by the B/A Select line. A Iowan this pin means
transfer to the peripheral device. In this mode, data that the zao data bus is being used to transfer data
is not placed on the port A data bus, unless ASTB between the CPU and the PIO. Often address bit A1
is active. from the CPU is used for this function.
CONTROL MODE. This signal is disabled and CEo Chip Enable (Input, Active low). A Iowan this
forced to a low state. pin enables the PIO to accept command or data in-
ASTB. Port A Strobe Pulse From Peripheral Device puts from the CPU during a write cycle or to trans-
(Input, Active~ow). The meaning of this signal de- mit data to the CPU during a read cycle. This signal
pends on the mode of operation selected for port A is generally decoded from four I/O port numbers for
as follows: ports A and B, data, and control.
OUTPUT MODE. The positive edge of this strobe is elK. System Clock (Input). The zao PIO uses the
issued by the peripheral to acknowledge the receipt standard single-phase zao system clock.
of data made available by the PIO. 00-07. Z80 CPU Data Bus (Bidirectional, 3-state).
INPUT MODE. The strobe is issued by the periph- This bus is used to transfer all data and commands
eral to load data from the peripheral into the port A between the zao CPU and the zao PIO. Do is the
input register. Data is loaded into the PIO when this least significant bit.
signal is active.
lEI. Interrupt Enable In (Input, Active High). This sig-
BIDIRECTIONAL MODE. When this signal is active, nal is used to form a priority-interrupt daisy chain
data from the Port A output register is gated into the when more than one interrupt-driven device is being
port A bidirectional data bus. The positive edge of used. A High level on this pin indicates that no other
the strobe acknowledges the receipt of the data. devices of higher priority are being serviced by a
CONTROL MODE. The strobe is inhibited intemally. CPU interrupt service routine.
Bo-B7. Port B Bus (Bidirectional, 3-state). This a-bit lEO. Interrupt Enable Out (Output, Active High). The
bus transfers data, status, or control information be- lEO signal is the other signal required to form a daisy
tween port B and a peripheral device. The port B chain priority scheme. It is High only if lEI is High
data bus can supply 1.5 mA at 1.5 V to drive Dar- and the CPU is not servicing an interrupt from this
lington transistors. Bo is the least significant bit of PIO. Thus this signal blocks lower priority devices
the bus. from interrupting while a higher priority device is
B/A. Port B Or A Select (Input, High = B). This pin being serviced by its CPU interrupt service routine.
defines which port is accessed during a data trans- INT. InterruRt Request (Output, Open Drain, Active
fer between the CPU and the PIO. A Iowan this pin low). When INT is active the zao PIO is requesting
selects port A ; a High selects port B. Often address an interrupt from the zao CPU.
6/15
lao
Z8420
lORa. Input/Output Request (Input from Z80 CP!:,!, CPU data bus into the selected port's output regis-
AcJlv~ow). 10RO is used in conjunction with B/A, ter. The WR* pulse sets the Ready flag after a low-
C/D, CE, and RD to transfer commands and data going edge of ClK, indicating data is available.
between the Z80 CPU and the Z80 Pia. When Cf;, Ready stays active until the positive edge of the
RD, and 10RO are active, the port addressed by B/A strobe line is received, indicating that data was
transfers data to the CPU (a read operation). taken by the peripheral. The positive edge of the
Conversely, when CE and 10R.Q are active but RD strobe pulse generates an INT if the interrupt enable
is not, the port addressed by B/A is written into from flip-flop has been set and if this device has the hig-
the CPU with e..l!her data or control information, as hest priority.
specified by C/D. INPUT MODE (mode 1)
Also, if 10RO and M1 are active simultaneously, the When STROBE goes low, data is loaded into the
CPU is acknowledging an interrupt; the interrupting selected port input register (fme 14). The next ris-
port automatically places its interrupt vector on the ing edge of strobe activates INT, if Interrupt Enable
CPU data bus if it is the highest priority device re- is set and this is the highest-priority requesting de-
questing an interrupt. vice. The following falling edge of ClK resets Ready
M1. Machine Cycle (Input from CPU, Active low). to an inactive state, indicating that the input register
This signal is used as a sync pulse to contfQLsev- is full and cannot accept any more data until the CPU
eral internal Pia operations. When both the M1 and completes a reaLWhen a read is complete, the
RD signals are active, the Z80 CPU is fetching an positive edge of RD sets Ready at the next low-
instruction from memory. Conversely, when both going transition of ClK. At this time new data can
M1 and 10RO are activeJb..e CPU is acknowledging be loaded into the Pia.
an interrupt. In addition, M1 has two other functions BIDIRECTIONAL MODE (mode 2)
within the Z80 P!Q..: it synchronizes the PIOl!:!1er-
rupt logic; when M1 occurs without an active RD or This is a combination of Modes 0 and 1 using all four
10RO signal, the Pia is reset. handshake lines and the eight Port A I/O lines (figure
15). Port B must be set to the bit mode and its in-
RD. Read C~ Status (Input from Z80 CPU, Ac- puts must be masked. The Port A handshake lines
tive low).JLRD is active, or_an 1@QP.eration is in are used for output control and the Port B lines are
progress, RD is used with B/A, C/D, CE, and 10RO used for input control. If interrupts occur, Port A's
to transfer data from the Z80 Pia to the Z80 CPU. vector will be used during port output and Port B's
will be used during port input. Data is allowed out
TIMING onto the Port A bus only when ASTB is low. The
rising edge of this strobe can be used to latch the
The following timing diagrams show typical timing in data into the peripheral.
a Z80 CPU environment. For more precise specifi-
cations refer to the composite ac timing diagram. BIT MODE (mode 3)
WRITE CYCLE The bit mode does not utilize the handshake signals,
and a normal port write or port read can be executed
Figure 11 illustrates the timing for programming the at any time. When writing, the data is latched into
Z80 Pia or for writing data to one of its ports. No the output registers with the same timing as the out-
Wait states are allowed for writing to the Pia other put mode (figure 16).
than the automatically inserted TWA. The Pia does
not receive a specific write signal ; it internally gener- When reading the Pia, the data returned to the CPU
ates its own from the lack of an active RD signal. is composed of output register data from those port
data lines assigned as outputs and input register
READ CYCLE data from those port data lines assigned as inputs.
Figure 12 illustrates the timing for reading the data The input register contains data that was present
input from an external device to one of the Z80 Pia immediately prior to the falling edge of RD. An inter-
ports. No Wait states are allowed for reading the Pia rupt is generated if interrupts from the port are en-
other than the automatically inserted TWA. abled and the data on the port data lines satisfy the
logical equation defined by the 8-bit mask and 2-bit
OUTPUT MODE (mode 0) mask control registers. However, if Port A is pro-
An output cycle (figure 13) is always started by the grammed in bidirectional mode, Port B does not
execution of an output instruction by the CPU. The issue an interrupt in bit mode and must therefore be
WR* pulse from the CPU latches the data from the polled.
7/15
181
Z8420
TI ~ ~ ~ T1
eLK
\~____~;---
WR'
RD' ;-
\ ..._ _ _ _...J
'WR : RD. CE' Cii'i • IORQ 'Ro = Ro • CE • Ci5 • IORO
eLk
PORT
OUTPUT ----,\---+-----4---!~
READY _ _ _ _ _ _- - f
INTERRUPT ACKNOWLEDGE TIMING is always Low, inhibiting lower priority devices from
During M1 time, peripheral controllers are inhibited interrupting. If it has an interrupt pending which has
from changing their interrupt enable status, permit- not yet been acknowledged, lEO is Low unless an
ting the Interrupt Enable signal to ripple through the "ED" is decoded as the first byte of a 2-byte opcode
daisy chain. The peripheral with lEI High and lEO (figure 18). In this case, lEO goes High until the next
Low during INTACK places a preprogrammed 8-bit opcode byte is decoded, where upon it goes Low
interrupt vector on the data bus at this time (figu- again. If the second byte of the opcode was a "40",
re 17). lEO is held Low until a Return From Interrupt then the opcode was an RETI instruction.
(RETI) instruction is executed by the CPU while lEI After an "ED" opcode is decoded, only the periphe-
is High. The 2-byte RETI instruction is decoded in- ral device which has interrupted and is currently
ternally by the PIO for this purpose. under service has its lEI High and its lEO Low. This
device is the highest-priority device in the daisy
RETURN FROM INTERRUPT CYCLE
chain that has received an interrupt acknowledge.
If a Z80 peripheral has no interrupt pending and is All other peripherals have lEI = lEO. If the next op-
not under service, then its lEO = lEI. If it has an in- code byte decoded is "40", this peripheral device
terrupt under service (i.e., it has already interrupted resets its "interrupt under service" condition.
and received an interrupt acknowledge) then its lEO
8/15
182
Z8420
CLIl
ARDY
.RDY
• WR = RO • CE • C/O, IORQ
elK
PORT
DA.TA BUS
X DATA WORD 1 X DATA WORD 2 X'-____________
-D---J ATA MAtH\'--------+-1t,/
OCCURS HERE- .•
----~__J;,------
IORQ
( DATA IN )
tOATA WORD 1 PLACED ON BUS
9/15
183
Z8420
~..ll f, I I I I I
t, f.. T.. T.
•
L-________________________________________________________ ~
To T, T, T, T, T. T, T, To
C~K
M1 \ I \ /
,. iii ~ I '---./
Do-D, ------IQ0 G:)
.1. -______
- - - - - -,1'-------------
-'
--------------------~/
10/15
184
Z8420
AC CHARACTERISTICS
Z8420 Z8420A Z8420B
N° Symbol Parameter Comment
Min. Max. Min. Max. Min. Max.
(ns) (ns) (ns) (ns) (ns) (ns)
1 TcC Clock Cycle Time 400 (1) 250 (1) 165 r--(2L
.-. ---
2 TwCh Clock Width (high) 170 2000 105 2000 65 2000
3 TwCI Clock Width (low) 170 2000 105 2000 65 2000
c--. ---.----- ... _-- - ._----- ..
__Fall Time
---~--
4 TfC . Clock .. 30 30 20
-
5 Tre Clock Rise Time 30 30 20
---_.
6 TsCS(RI) C~,B/A, C/O to HO, (6) 50 50 50
lORa 1 Setup Time
' - - - - - - -.•. _._--------_. I---
"1 Th Any Hold Times for Specified Setup 0 0 0 0
Time
8 TsRI(C) RO, lORa to Clock t Setup Time 115 115 70
9 TdRI(OO) RD, lORa 1 to Data Out Delay (2) 430 380 300
10 TdRI(DOs) RD, lORa l' to Data Out Float Delay 160 110 70
11 TsDI(C) Data in to Clock t Setup Time CL = 50 pF 50 50 40
12 TdIO(DOI) lORa 1. to Data Out Delay (INTACK (3) 340 160 120
cycle)
--
13 TsMI(Cr)
- - -.. - MI 1. to Clock t
f-=----......
Setup Time
.
210 90 70
14 TsMI(Cf) MI 1 to Clock 1 setup Time (MI (8) 0 0 0
cycle)
15 TdMI(IEO) MI t to lEO t Delay (i~rrupt (5,7) 300 190 100
immediately preceding Mil)
16 TsIEI(IO) lEI to 'ORO t Setup Time (INTACK (7) 140 140 100
cycle)
17 TdIEI(IEOf) lEI 1 to lEO 1 Delay (5) 190 130 120
CL = 50 pF
18 TdIEI(IEOr) lEI l' to lEO t Delay (after (5) 210 160 160
ED decode)
19 TclO(C) IORO 1 to Clock 1 Setup Time (to 220 200 170
activate READY on next clock cycle)
20 TdC(RDYr) Clock 1 to READY t Delay (5) 200 190 170
CL = 50 pF
21 TdC(RDYf) Clock 1 to READY 1 Delay (5) 150 140 120
22 TwSTB STROBE Pulse Width (4) 150 150 120
23 TsSTB(C) STROBE'l to Clock 1 Setup Time (5) 220 220 150
(to activate READY on next clock
cycle)
Noles: 1 TcC = TwCh + TwCl + TrC + TfC.
2 Increase TdRi(DO) by IOns for each 50 pF increase in load up to 200 pF max
3 Increase TdIO(DO) by IOns for each 50 pF increase in loading up to 200 pF max.
4 For Mode 2 TwSTB > TsPD{STB).
5 Increase these values by 2 ns for each 10 pF increase in loading up to 100 pF max.
6 TsCS(RI) may be reduced. However the time subtracted from TsCS(RI) may be added to TdRI(DO).
7 2.5 TdC > (N·2)TdIEI(lEOf) + TdMI(IEO) + TsIEI(IO) + TTL Buffer Delay if any.
8 Ml must be active for a minimum of two clock cycles to reset the PIO.
11/15
185
Z8420
AC CHARACTERISTICS (continued)
Z8420 Z8420A Z8420B
N° Symbol Parameter Comment
Min. Max. Min. Max. Min. Max.
(ns) (ns) (ns) (ns) (ns) (ns)
24 TdlO(PD) lORa l' to PORT DATA Stable (5) 200 180 160
Delay (mode 0)
25 tsPD(STB) PORT DATA to STROBE l' Setup 260 230 190
Time (mode 1)
26 TdSTB(PD) STROBE J, to PORT DATA Stable (5) 230 210 180
(mode 2)
27 TdSTB(PDr) STROBE l' to PORT DATA Float CL = 50 pF 200 180 160
Delay (mode 2)
28 TdPD(INT) PORT DATA Match to INT J, Delay 540 490 430
(mode 3)
29 TdSTB(INT) STROBE l' to INT l' Delay 490 440 350
Notes: 1 TcC = TwCh + TwC1 + TrC + nc.
2 Increase TdRi(DO) by 10 ns for each 50 pF increase in load up to 200 pF max.
3 Increase TdIO(DO) by 10 ns for each 50 pF increase in loading up to 200 pF max.
4 For Mode 2 TwSTB > TsPD(STB).
5 Increase these values by 2 ns for each 10 pF increase in loading up to 100 pF max.
6 TsCS(RI) may be reduced. However the time subtracted from TsCS(RI) may be added to TdRI(DO).
7 2.5 TdC > (N-2)TdIEI(IEOf) + TdMI(IEO) + TsIEI(IO) + TTL Buffer Delay if any.
8 M1 must be active for a minimum of two clock cycles to reset the PIO.
12/15
186
Z8420
CLOCK
..._D7joUT ----+------u--+----:....-~r-++---+--
IN ------------+-~--Jl~--~~----------------~_+~--------+_-----------
III
_- ..
IAllDY\!)W'''D'(1
MODE 0
MODE'
MODEl
MO'"
13/15
187
------.-------
Z8420
DC CHARACTERISTICS
Symbol Parameter Test Conditions Min. Max. Unit
CAPACITANCE
Symbol Parameter Test Conditions Min. Max. Unit
C Clock Capacitance Unmeasured pins returned 10 pF
C 'N Input Capacitance to ground. 5 pF
COUT Output Capacitance 10 pF
Over specified temperature range; f = 1 MHz.
14/15
188
Z8420
ORDERING INFORMATION
Type Package Temp. Clock Description
Z8420B1 Dlp·40 (plastic) 0/+ 70°C Z80 Parallel
Z8420F1 DIP·40 (frit seal) 0/+ 70°C Input/Output Unit
Z842001 DIP-40 (ceramic) 0/+ 70°C
2.5 MHz
Z842006 DIP-40 (ceramic) -40/+ 85°C
Z842002 DIP-40 (ceramic) -55/+ 125°C
Z8420C1 PLCC44 (plastic chip-carrier) 0/+ 70°C
Z8420AB1 DIP-40 (plastic) 0/+ 70°C
Z8420AF1 DIP-40 (frit seal) 0/+ 70°C
Z8420A01 DIP-40 (ceramic) 0/+ 70°C
4 MHz
Z8420A06 DIP-40 (ceramic) -40/+ 85°C
Z8420A02 DIP-40 (ceramic) -55/+125°C
Z8420AC1 PLCC44 (plastic chip-carrier) 0/+ 70°C
Z8420BB1 DIP-40 (plastic) 0/+ 70°C
Z8420BF1 DIP-40 (frit seal) 0/+ 70°C
Z8420B01 DIP-40 (ceramic) 0/+ 70°C
6 MHz
Z8420B06 DIP-40 (ceramic) - 40/ + 85°C
Z8420B02 DIP-40 (ceramic) - 55/+ 125°C
Z8420BC1 PLCC44 (plastic chip-carrier) 0/+ 70°C
15/15
189
Z8430
DESCRIPTION
The zao CTC four-channel counter/timer can be LOGIC FUNCTIONS
programmed by system software for a broad range
of counting and timing applications. The four inde-
pendently programmable channels of the zao CTC
satisfy common microcomputer system require- 0, CUUTRGo
0,
ments for event counting, interrupt and interval tim- lCfTOo
0,
ing, and general clock rate generation. CPU ClKfTRG,
System design is simplified because the CTC con- DATA zetTo,
BUS CHANNEL
nects directly to both the zao CPU and the zao SIO 0, SIGNALS
i
with no additional logic. In larger systems, address CLKfTRG2
CONT~~~ == ~;
Programming the CTC is straightforward : each
channel is programmed with two bytes ; a third is
necessary when interrupts are enabled. Once PROM ii1
CPU ___ IORO
started, the CTC counts down, reloads its time con-
stant automatically, and resumes counting. Soft- RO
DAISY { lEI
ware timing loops are completely eliminated. Z8430
191
Z8430
Figure 1 : Dual in Line Pin Configuration. During operation, the individual counter channel
counts down from the preset time constant value. In
counter mode operation the counter decrements on
0, DJ each of the CLKlTRG input pulses until zero count
0, D2
is reached. Each decrement is synchronized by the
O. 0,
system clock. For counts greater than 256, more
than one counter can be cascaded. At zero count,
0, Do
the down-counter is automatically reset with the time
GND Vee constant value.
RD ClKITRGo
ZClTo" ClKITRG, The timer mode determines time intervals as small
ZCITO, ClKITRG2 as 4 fis (Z80A) or 6.4 fis (Z80) without additional
ZClT02 ClKITRGJ logic or software timing loops. Time intervals are
generated by dividing the system clock with a pres-
IORO CS,
caler that decrements a preset down-cou nter.
lEO CSg
INT RESET Thus, the time interval is an integral multiple of the
lEI CE clock period, the prescaler value (16 or 256) and the
Ml ClK time constant that is preset in the down-counter. A
timer is triggered automatically when its time con-
stant value is programmed, or by an external
CLKlTRG input.
Figure 2 : Chip-Carrier Pin Configuration.
Three channels have two outputs that occur at zero
count. The first output is a zero-count/timeout pulse
at the ZC/TO output. The fourth channel (Chan-
6 I) I, J 1 I 1,4 .(,J 42 41 40 nel 3) does not have a ZC/TO output; interrupt re-
GNO )9 N.C
quest is the only output available from Channel 3.
H.C. B lB N.C.
00 17 Vee The second output is Interrupt Request (INT), which
zenoo 10 36 N.C. occurs if the channel has its interrupt enabled dur-
N.C. 11 35 ClKITAGO ing programming. When the Z80 CPU acknow-
lenO I 12 la430 N.c.
JIo
ledges Interrupt Request, the Z80 CTC places an
ZCIT02 1J ]) eLK/TRG,
interrupt vector on the data bus.
iORQ 110 J2 ClKIlRG Z
N..C. 15 ]1 CLKITRG J The four channels of the Z80 CTC are fully prio-
lEO N.c.
16 )0
ritized and fit into four contiguous slots in a stand-
N.C. 17 29 (5, ard Z80 daisy-chain interrupt structure. Channel 0
,-,..:."n'..,9..."'.:.,..,.."...,;...""'..:.,','r',. :.25n '-,'.,.'.,.','.,.'-' S-1I00 is the highest priority and Channel 3 the lowest. In-
c,j
:z~z-
I.... U wIi ~ ::t: I\&J
zdu~tJz
0 UIt- terrupts can be individually enabled (or disabled) for
each of the four channels.
'"
NC ~ No connection.
ARCHITECTURE
The CTC has four major elements, as shown in
FUNCTIONAL DESCRIPTION figure 3.
The Z80 CTC has four independent counter/timer • CPU bus I/O
channels. Each channel is individually programmed • Channel control logic
with two words: a control word and a time-constant • Interrupt logic
word. The control word selects the operating mode • Counter/timer circuits
(counter or timer), enables or disables the channel
CPU BUS I/O
interrupt, and selects certain other operating par-
ameters. If the timing mode is selected, the control The CPU bus 110 circuit decodes the address inputs,
word also sets a prescaler, which divides the sys- and interfaces the CPU data and control signals to
tem clock by either 16 or 256. The time-constant the CTC for distribution on the internal bus.
word is a value from 1 to 256.
2/14
192
Z8430
DATA
INT
FROM {
Z80 CPU lEI
CONTROL lEO
ZCITO
ClK/TRG
3/14
193
Z8430
Figure 4 : CounterlTimer Block Diagram. cally modifies the vector for the channel requesting
service.
A control word is identified by a 1 in bit O. A 1 in
bit 2 indicates a time constant word is to follow. In-
terrupt vectors are always addressed to Channel 0,
and identified by a 0 in bit O.
INTERNAL BUS
ADDRESSING
During programming, channels are addressed with
the channel select pins CS, and CS2. A 2-bit binary
code selects the appropriate channel as shown in
ZClTO
the following table.
CLK/TRQ -----I
4/14
194
Z8430
o DISABLES
'NT' •• UPT
t ["'AHLfS INTfRRUPT
INTERRUPT
MODE
o sHEeTS lIMER MODE
1 SHlCTS COUNTER MODE
PAESCALER VALUE·
1 -: VAL UE OF 2S6
o " VALUE OF 16
jJ
lL
- ---.
CONTROL O • • ECTO.
o -'-
1
o ""
1
V(CTOR
o· CONTROL WORD
RESET
CONTINUED OP[RATION
- SOFTWARE R(SET
TIME CONSTANT
o 0 NO TIME CONSTANT fOllOWS
1 ~ TlM£ CONSTANT f-OllOW5
PRESCALER FACTOR. (Timer Mode Only). Ds se- setup time. If the minimum time is not met, the timer
lects factor - either 16 or 256. will start on the third clock cycle (T3).
TRIGGER SLOPE. D4 selects the active edge or Once started the timer operates continuously, with-
slope of the CLKITRG input pulses. Note that repro- out interruption or delay, until stopped by a reset.
gramming the CLKlTRG slope during operation is TIME CONSTANT TO FOLLOW. A 1 in D2 indicates
equivalent to issuing an active edge. If the trigger that the next word addressed to the selected chan-
slope is changed by a control word update while a nel is a time constant data word for the time con-
channel is pending operation in timer mode, the re- stant register. The time constant word may be
sult is the same as a CLKlTRG pulse and the timer written at any time.
starts. Similarly, if the channel is in counter mode,
the counter decrements. A 0 in D2 indicates no time constant word is to fol-
low. This is ordinarily used when the channel is al-
TRIGGER MODE. (Timer Mode Only). D3 selects ready in operation and the new channel control word
the trigger mode for timer operation. When D3 is is an update. A channel will not operate without a
reset to 0, the timer is triggered automatically. The time constant value. The only way to write a time
time constant word is programmed during an 1/0 constant value is to write a control word with D2 set.
write operation, which takes one machine cycle. At
the end of the write operation there is a setup delay SOFTWARE RESET. Setting D1 to 1 causes a soft-
of one clock period. The timer starts automatically ware reset, which is described in the Reset section.
(decrements) on the rising edge of the second clock CONTROL WORD. Setting Do to 1 identifies the
pulse (T2) of the machine cycle following the write word as a control word.
operation. Once started, the timer runs continuous-
ly. At zero count the timer reloads automatically and TIME CONSTANT PROGRAMMING
continues counting without interruption or delay, Before a channel can start counting it must receive
until stopped by a reset. a time constant word from the CPU. During pro-
When D3 is set to 1 , the timer is triggered externally gramming or reprogramming, a channel control
through the CLKlTRG input. The time constant word word in which bit 2 is set must precede the time con-
is programmed during an /10 write operation, which stant word to indicate that the next word is a time
takes one machine cycle. The timer is ready for constant. The time constant word can be any value
operation on the rising edge of the second clock from 1 to 256 (figure 6). Note that 0016 is interpreted
pulse (T2) of the following machine cycle. Note that as 256.
the first timer decrement follows the active edge of In timer mode, the time interval is controlled by three
the CLKITRG pulse by a delay time of one clock factors:
cycle if a minimum setup time to the rising edge of • The system clock period (<1»
clock is met. If this minimum is not met, the delay is • The prescaler factor (P), which multiplies the in-
extended by another clock period. Consequently, terval by either 16 or 256
for immediate triggering, the CLK/TRG input must • The time constant (T), which is programmed into
precede T2 by one clock cycle plus its minimum the time constant register.
5/14
195
Z8430
Figure 6 : Time Constant Word. ClK. System Clock (Input). Standard single-phase
l80 system clock.
ClKlTRGo-ClKlTRG3. External Clock/Timer Trig-
ger(lnput, user-selectable Active High or Low). Four
pins corresponding to the four l80 CTC channels.
In counter mode, every active edge on this pin de-
crements the down-counter. In timer mode, an ac-
tive edge starts the timer.
CSo-CS1. ChannelSelect(lnputs Active High). Two-
bit binary address code selects one of the four CTC
channels for an I/O write orread (usually connected
Consequently, the time interval is the product of to Ao and A1).
!\l x P x T. The minimum timer resolution is 16 x !\l
(4 iJs with a 4 MHz clock). The maximum timer in- 00-07. System Data Bus (Bidirectional, 3-state).
terval is 256 x !\l x 256 (16.4 ms with a 4 MHz clock). Transfers all data and commands between the l80
For longer intervals timers may be cascaded. CPU and the l80 CTC.
lEI. Interrupt Enable In (Input, Active High). A High
INTERRUPT VECTOR PROGRAMMING indicates that no other interrupting devices of higher
If the l80 CTC has one or more interrupts enabled, priority in the daisy chain are being serviced by the
it can supply interrupt vectors to the l80 CPU. To l80 CPU.
do so, the l80 CTC must be preprogrammed with lEO. Interrupt Enable Out (Output, Active High).
the most-significant five bits of the interrupt vector. High only if lEI is High and the Z80 CPU is not ser-
Programming consists of writing a vector word to the
I/O port corresponding to the l80 CTC Channel o. Figure 8 : A Typical l80 Environment.
Note that Do of the vector word is always zero, to
distinguish the vector from a channel control word. SYSTEM
BUSES
01 and 02 are not used in programming the vector
word. These bits are supplied by the interrupt logic
to identify the channel requesting interrupt service
with a unique interrupt vector (figure 7). Channel 0
has the highest priority. +5V
CPU PIO
sup:l;eVri
tlY U::'I::H
=:r- L
1~1~!~!~I~!~i~:~1
CHANNEL IDENTIFIER
+.v
T
lEI
lEO
PIN DESCRIPTION !NT
• ,0
- ROY
OM ..
In most applications this signal is decoded from the
eight least significant bits of the address bus for any
of the four I/O port addresses that are mapped to
the four counter-timer channels.
6/14
196
Z8430
vicing an interrupt from any Z80 CTC channel. lEO Figure 9 : Read Cycle Timing.
blocks lower priority devices from interrupting while
a higher priority interrupting device is being ser- h ~ ~ b h
viced. CLK~
INT. Interrupt Request (Output, Open Drain, Active
Low). Low when any Z80 CTC channel that has CSu • CS" CE ==:x: CHANNEL ADDRESS c:=:
been programmed to enable interrupts has a zero-
count condition in its down-counter.
IORQ. Input/Output Reques1l!nput from CPU, Ac-
tive Low). Used with CE and RD to transfer data and
_--T-----------------------
RD
_J
I
ments to zero.
DATA - - - - - - - - - .
TIMING
READ CYCLE TIMING Low. M1 must be High to distinguish a write cycle
from an interrupt acknowledge. A 2-bit binary code
Figure 9 shows read cycle timing. This cycle reads at inputs CS1 and CSo selects the channel to be ad-
the contents of a down-counter without disturbing dressed, and the word being written is placed on the
the count. During clock cycle h the Z80 CPU in- Z80 data bus. The data word is latched into the ap-
itiates a read cycle by driving the following inputs. propriate register with the rising edge of clock cycle
T3.
7/14
197
---------
Z8430
CLKITRG
HIGMEST PIlIORITY LOWEST ""'OIUT.,
DI!VICIE DE vier
INTERNAL
COUNTER -----.J/
ZCITO _ _ _- J
8/14
19a
Z8430
The eTe interrupt logic determines the highest daisy chain enable lines for proper control of nested
priority channel requesting an interrupt. If the eTe priority interrupt handling. The eTe decodes the 2-
interrupt enable input (lEI) is High, the highest byte RETI code internally and determines whether
priority interrupting channel within the eTe places it is intended for a channel being serviced.
its interrupt vector on the data bus when IORO goes Figure 15 shows RETI timing.
Low. Two wait states (TWA) are automatically in- If several Z80 peripherals are in the daisy chain, lEI
serted at this time to allow the daisy chain to stabi- settles active (High) on the chip currently being ser-
lize. Additional wait states may be added. viced when the opcode E016 is decoded. If the fol-
lowing opcode is 4016. the peripheral being serviced
RETURN FROM INTERRUPT TIMING
is released and its lEO becomes active. Additional
At the end of an interrupt service routine the RETI wait states are allowed.
(Return From Interrupt) instruction initializes the
Figure 14 : Interrupt Acknowledge Timing. Figure 15 : Return From Interrupt Timing.
eLK
9/14
199
Z8430
DC CHARACTERISTICS
Symbol Parameter Test Conditions Min. Max. Unit
VILC Clock Input low Voltage - 0.3 0,45 V
VIHC Clock Input High Voltage Vee - 0.6 Vee+O.3 V
VIL Input low Voltage + 0.3 0.8 V
VIH Input High Voltage + 2.0 Vcc V
VOL Output low Voltage IOL = 2.0 mA 0.4 V
VOH Output High Voltage IOH =- 250 ~A + 2,4 V
Icc Power Supply Current 100 mA
III Input leakage Current VIN =0 to Vcc -10 10 ~A
ILO 3-State Output leakage Current in Float VOUT = 0,4 to Vcc -10 10 ~A
IOHD Darlington Drive Current VO H = 1.5, REXT = 390 Q - 1.5 mA
CAPACITANCE
Symbol Parameter Notes Min. Max. Unit
ClK Clock Capacitance Unmeasured pins returned 20 pF
Input Capacitance to ground.
CIN 5 pF
COUT Output Capacitance 10 pF
10/14
200
Z8430
AC CHARACTERISTICS
Z8430 Z8430A Z8430B
N° Symbol Parameter Notes
Min. Max. Min. Max. Min. Max.
(ns) (ns) (ns) (ns) (ns) (ns)
1 TcC Clock Cycle Time 400 (1 ) 250 (1) 165 (1)
2 TwCH Clock Width (high) 170 2000 105 2000 65 2000
3 TwCI Clock Width (low) 170 2000 105 2000 65 2000
4 TIC Clock Fall Time 30 30 20
5 TrC Clock Rise Time 30 30 20
6 th All Hold Times 0 0 0
7 TsCS(C) CS to Clock i Setup Time 250 160 100
8 TsCE(C) CE to Clock i Setup Time 200 150 100
9 TsIO(C) lORa J, ot Clock i Setup Time 250 115 70
10 TsRD(C) RD J, to Clock i Setup Time 240 115 70
11 TdC(DO) Clock i to Data Out Delay (2) 240 200 130
12 tdC(DOz) Clock J, to Data Out Float Delay 230 110 90
13 TsDI(C) Data in to Clock i Setup Time 60 50 40
14 TsMI(C) MI to Clock i Setup Time 210 90 70
15 TdMI(IEO) MI J, to lEO J, Delay (interrupt (3) 300 190 130
immediately preceding MI)
16 TdIO(DOI) lORa J, to Data Out Delay (2) 340 160 110
(INTA cycle)
17 TdIEI(IEOf) lEI J, to lEO J, Delay (3) 190 130 100
18 TdIEI(IEOr) lEI i to lEO i Delay (3) 220 160 110
(after ED decode)
19 TdC(INT) Clock i to INT J, Delay (4) (TeC (TeC (TeC
+200) +140) +120)
20 TdCLK(INT) CLK/TRG i to INT J, (5)
TsCTR(C) Satisfied (19) (19) (19)
+(26) +(26) +(26)
TsCTR(C) Not Satisfied 1 1 1
+(19) +(19) +(19)
+(26) +(26) +(26)
21 TcCTR CLK/TRG Cycle Time (5) (2TcC) (2TcC) (2TcC)
11/14
201
.~--~--------~--- .. ----- ~-----.--------~ .. - ---
Z8430
AC CHARACTERISTICS (continued)
Z8430 Z8430A 78430B
N° Symbol Parameter Notes
Min. Max. Min. Max. Min. Max.
(ns) (ns) (ns) (ns) (ns) (ns)
24 TwCTRI CLKlTRG Widlh (low) 200 200 120
25 TwCTRh CLKJTRG Width (high) 200 200 120
26 TsCTR(Cs) CLKJTRG l' 10 Clock l' Setup Time (5) 300 210 150
for Immediate Counl
27 TsCTR(CI) CLKITRG l' 10 Clock l' Selup Time (4) 210 210 150
for enabling of Prescaler on
following Clock l'
28 TdC(ZC/TOr) Clock l' 10 ZC/TO l' Delay 260 190 140
29 TdC(ZC/TOf) Clock J- 10 ZC/TO J- Delay 190 190 140
(A) 2.5 TcC > (n-2) TdIEI(IEOf) + TdMI(IEO) + TsIEI(IO) + TTL buffer delay, if any.
(8) RESET must be active for a minimum of 3 clock cycles.
Notes: 1. TcC = TwCh + TwCI + TrC + TfC.
2. Increase delay by IOns for each 50 pF increase in loading 200 pF maximum for data lines, and 100 pF for control lines.
3. Increase delay by 2 ns for each 10 pF increase in loading 100 pF maximum.
4. Timer mode.
5. Counter mode.
6. RESET must be active for a minimum of 3 clock cycles.
12/14
202
Z8430
AC CHARACTERISTICS (continued)
CLOCK. ~
~~
.
Hv--Q)-o-
c---"\_ n~_r\
C. .,CI.
IX l(
14- it- ~I
co \. L
....0 10110
I---<!)---
\. , ~I
!IIi
\.
1--0-
I-<Y-
0-1---1
~I
,
DATA
~ ~
cao.ca. )t J(
1----0--- ~
co \, L
WRITE
IOIIQ
~
\.
I-<D-
~I
~
,
DATA
X X
.J!- ~I
iii
~ r--- r<D-1
IIITURUPT
ACKNOWLEDOE 10110
,
j-<D-I
DATA ~
[--@-r ~
,.,
I~ I---
\
4
lEO
---w-
HiT ~. "-
®-I w- "I
CLic::rE: J "k A
MODE)
CLKlTROo_s
----"
--.J
~
®-II------®--II~\ -}
(TI"ER
~
MODEl
\.
~
ZCITOo_a
--w-.I
13/14
203
Z8430
ORDERING INFORMATION
Type Package Temp. Clock Description
Z843081 DIP-28 (plastic) 0/+ 70°C Z80 Counter
Z8430F1 DIP-28 (frit seal) 0/+ 70°C Timer Control
Z843001 DIP-28 (ceramic) 0/+ 70°C
2.5 MHz
Z843006 DIP-28 (ceramic) -40/+ 85°C
Z843002 DIP-28 (ceramic) -55/ + 125°C
Z8430C1 PLCC44 (plastic chip-carrier) 0/+ 70°C
Z8430A81 DIP-28 (plastic) 0/+ 70°C
Z8430AF1 DIP-28 (frit seal) 0/+ 70 D C
Z8430A01 DIP-28 (ceramic) 0/+ 70°C
4 MHz
Z8430A06 DIP-28 (ceramic) -40/+ 85°C
Z8430A02 DIP-28 (ceramic) -55/ + 125°C
Z8430AC1 PLCC44 (plastic chip-carrier) 0/ + 70°C
Z8430881 DIP-28 (plastic) 0/+ 70°C
Z84308F1 DIP-28 (frit seal) 0/+ 70°C
Z8430801 DIP-28 (ceramic) 0/+ 70°C
6 MHz
Z8430806 DIP-28 (ceramic) -40/+ 85°C
Z8430802 DIP-28 (ceramic) -55/ + 125°C
Z84308C1 PLCC44 (plastic chip-carrier) 0/+ 70°C
14/14
204
Z8440
Z8441-Z8442
205
Z8440-Z8441-Z8442
I
~D'
_D.
_0;;
CPU _ _ 0,
DATA -
BU5 -_ _ Il~
D.
CHANNEL A.
__ 0,
--0,
Of""
CT5A - ) MODEM
~~ CONTROL
OCOA __
__ RESET
Z8442
DAISY'
: : : : - - ) MODEM
CHAIN ~~~_a CONTROL
OCOfl_-
~I"'---'I"'---'I~
Vee .... i'lD elK
2/20
206
Z8440-Z8441-Z8442
Figure 2 : zao S10-2 Dual in Line Pin on these pins and interrupts the CPU on both logic
Configuration. level transitions. Schmitt-trigger buffering does not
guarantee a specific noise-level margin.
DTRA, DTRB. Data Terminal ReadyOutputs, Active
0, 0, Low). These outputs follow the state programmed
0, 0, into zao
SIO. They can also be programmed as
0, D. general-purpose outputs.
0,
iN!
0,
iUHU In the zao S10-1 bonding option, DTRB is omitted.
lEI Cl' lEI. Interrupt Enable In (Input, Active High). This sig-
'EO BIA nal is used with lEO to form a priority daisy chain
iii c/o when there is more than one interrupt-driven device.
Vee R"D A High on this line indicates that no other device of
WIHUYA
higher priority is being serviced by a CPU interrupt
SY-NCA W/RDV8
service routine.
R.DA R.OB
R.CA RxeD lEO. Interrupt Enable Out (Output, Active High). lEO
TliCA riCH is High only if lEI is High and the CPU is not servic-
I.UA lADH ing an interrupt from this SIO. Thus, this signal
oiR"A OfRO blocks lower priority devices form interrupting while
grSB
a higher priority device is being serviced by its CPU
elSA (T-5B
interrupt service routine.
6CDA Dc61i
INT. Interrupt Request (Output, Open Drain, Active
'l' REs'E-j
Low).-'l'Lhen the SIO is requesting an interrupt, it
pulls INT Low.
SIO is programmed for Auto Enables ; otherwise IORQ. Input/Output Request (Input from CPU, Af.-
they may be used as general-purpose input pins. tiv~Low). 10RQ is used in conjunction with BIA,
Both pins are Schmitt-trigger buffered to accommo- CID, CEand RDto transfer commands and data be-
date slow-risetime signals. The SIO detects pulses tween the CPU and the SIO. When CE, RD and
------
_0,
_D,
0)
O.
ToeA
SYHCA
W/AOY,,-
-- CHANNEL A
_D,
ci
RTS"
{"lSA
OfAA _ -~ .. -
CONTROL
.
6C1Il
·~'-l
RESET
ZIU1
F~~~ __
1011.0
.D
JhDB
Rica
heB
---
~
SYNCS
c/o
WIAOY8
BIA CHANJI.L.
DAIS Y {
CHAIN __
iNT
lEI
RTSa
ern -- ~ MODEM
CONTROL
INTERRUPT 0Ciii -
t--'t---:t---'
CONTROL lEO
L--....:
3/20
207
Z8440-Z8441-Z8442
Figure 4 : l80 SIO-I Dual in Line Pin CPU is acknowledging an interrupt and the SIO
Configuration. automatically places its interrupt vector on the CPU
data bus if it is the highest priority device requesting
an interrupt.
0, 00 M1. Machin€LQycle (Input from l80 CPU, Active
0, 0, Low). When M1 is active and RD is also active, the
0, 0,
l80 CPU is fetching an instruction from memory;
0, 0,
when M1 is active while 10RO is active, the SIO ac-
iNT 10RO
cepts M1 and 10RO as an interrupt acknowledge if
lEI CE
lEO BIA
the SIO is the highest priority device that has inter-
MI c/o
rupted the l80 CPU.
vee Rjj RxCA, RxCS. Receiver Clocks (Inp.!d1§1 Receive
W:ROYA ONO data is sampled on the rising edge of RxC. The Re-
SYNCA WIROYB ceive Clocks may be 1, 16, 32 or 64 times the data
RIIDA. SYNCe
rate in asynchronous modes. These clocks may be
R.eA R.D8
driven by the l80 CTC Counter Timer Circuit for pro-
TxCA R.CB
grammable baud rate generation. Both inputs are
TxOA hCB
OTRA
Schmitt-trigger buffered (no noise level margin is
T.lOB
RTSA RlSO
specified).
OSA elsa In the l80 SIO-O bonding option, RxCB is bonded
OCDA DCDS together with TxCB.
CLK RESET
RD. ReCJSLCycle Status (Input from CPU, Active
Low). If RD is active&memory or I/O @ai!...9per-
ation is in progress. RD is used with B/A, CE and
10RO are all active, the channel selected by B/A 10RO to transfer data from the SIO to the CPU.
transfers data to the CPU (a read operation). When
RxDA, RxDS. Receive Data (Inputs, Active High).
CE and 10ROare af,tive but RD is inactive, the chan-
nel selected by B/A is written to by the CPU with Serial data at TTL levels.
either data or control information as specified by RESET. Reset (Input, Active Low). A Low RESET
C/O. If 10RO and M1 are active simultaneously, the disables both receivers and transmitters, forces
0, R_OA_
0, R.CA_
0, hOA
D;~~
{
..-.. OJ r.CA_
S'fNCA ........--..
BUS - 04
_0,
l
"WIROYA CHANHIL A
_0,
_0,
l
ETSA - MODEM
R'I'!A
DrnA CONTROL
%8440
-ce
_RESET
=-
- - - . . Mi
CONTROL ~ IORO RIlDS-
FROM _ RiTieB _
CPU - - . . RD
- - - . CIO
_____ BIA CHANNEL.
DAIS V {
CHAIN lEi
INTERRUPT
CONTROL lEO
1
+5 V OND
4/20
208
Z8440-Z8441-Z8442
Figure 6 : Z80 SIO-O Dual in Line Pin Figure 7 : Chip Carrier Pin Configuration.
Configuration.
0,
0, 2
0, , 6 , ~ 1 , I 4~ 1,) .. 2 1,1 40
0, •
ifiT 5 It-O )8 ell)
lEI 6 37 R5
lEO 7 lb GNO
iii ]<,~
l8444
+ 5V a Z8440 32 AD 11, SYNCS
WIImVA 10 zao SIO/O 31 J3 RIIDB
fiNCA 11 32 Rxce
RIIDA 12
Ri& 13 28 RIDB )0 r_08
5/20
209
Z8440-Z8441-Z8442
_} SERIAL DATA
DATA
CPU
BUS I.Q
MODEM OJ;
OTHER CONTROLS
B ='
.NI(RRUPT INTERRUPT
r':ONTROl CONTROL
liNES lOGIC
SERIAL DATA
--I
CHANNEL CLOCKS
C .... ANNEl8 J
SYNC
CHANNEL
A
CHANNEL
•
MICAOPROCESSOR
.NTERrAce -
B zaoc
510
CHANNEL
A
- - CHANNEL
B
6/20
210
Z8440-Z8441-Z8442
DATA COMMUNICATION CAPABILITIES the larger pattern across multiple in-coming sync
The SIO provides two independent full-duplex chan- characters, as shown in figure 11.
nels that can be programmed for use in any common CRC checking for synchronous byte-oriented
asynchronous or synchronous data-communication modes is delayed by one character time so the CPU
protocol. Figure 10 illustrates some of these proto- may disable CRC checking on specific characters.
cols. The following is a short description of them. A This permits implementation of protocols such as
more detailed explanation of these modes can be IBM Bisync.
found in the Z8D Family Technical Manual. Both CRC-16 (X16 + X15 + X2 + 1) and CCITT (X16
+ X12 + X5 + 1) error checking polynomials are sup-
ASYNCHRONOUS MOOES
ported. In all non-SOLC modes, the CRC generator
Transmission and reception can be done inde- is initialized to a's; in SOLC modes, it is initialized
pendently on each channel with five to eight bits per to 1'So The SIO can be used for interfacing to periph-
character, plus optional even or odd parity. The erals such as hard-sectored floppy disk, but it can-
transmitters can supply one, one-and-a-half or two not generate or check CRC for IBM-compatible
stop bits per character and can provide a break out- soft-sectored disks. The SIO also provides a feature
put at any time. The receiver break-detection logic that automatically transmits CRC data when no
interrupts the CPU both at the start and end of a re- other data is available for transmissions. This allows
ceived break. Reception is protected from spikes by very high-speed transmissions under OMA control
a transient spikerejection mechanism that checks with no need for CPU intervention at the end of a
the signal one-half a bit time after a Low level is de- message. When there is no data or CRC to send in
tected on the receive data input (RxOA or RxOB in synchronous modes, the transmitter inserts 8- or
figure 6). If the Low does not persist-as in the case 16-bit sync characters regardless of the pro-
of a transient-the character assembly process is not grammed character length.
started. The SIO supports synchronous bit-oriented proto-
Framing errors and overrun errors are detected and cols such as SOLC and HOLC by performing auto-
buffered together with the partial character on which matic flag seding, zero insertion and CRC
they occurred. Vectored interrupts allow fast servic- generation. A special command can be used to
ing of error conditions using dedicated routines. Fur- abort a frame in transmission. At the end of a mess-
thermore, a built-in checking process avoids age the SIO automatically transmits the CRC and
interpreting a framing error as a new start bit: a fram- trailing flag when the transmit buffer becomes
ing error results in the addition of one-half a bit time empty. If a transmit underrun occurs in the middle
to the point at which the search for the next start bit of a message, an external/status interrupt warns the
is begun. CPU of this status change so that an abort may be
The SIO does not require symmetric transmit and issued. One to eight bits per character can be sent,
receive clock signals-a feature that allows it to be which allows reception of a message with no prior
used with a Z80 CTC or many other clock sources. information about the character structure in the in-
The transmitter and receiver can handle data at a formation field of a frame.
rate of 1, 1/16, 1/32 or 1/64 of the clock rate sup- The receiver automatically synchronizes on the
plied to the receive and transmit clock inputs. leading flag of a frame in SOLC or HOLC, and pro-
In asynchronous modes, the SYNC pin may be pro- vides a synchronization signal on the SYNC pin; an
grammed as an input that can be used for functions interrupt can also be programmed. The receiver can
such as monitoring a ring indicator. be programmed to search for frames addressed by
a single byte to only a specified user-selected ad-
SYNCHRONOUS MOOES dress or to a global broadcast address. In this mode,
frames that do not match either the user-selected or
The SIO supports both byte-oriented and bit
broadcast address are ignored. The number of ad-
Driented synchronous communication.
dress bytes can be extended under software con-
Synchronous byte-oriented protocols can be trol. For transmitting data, an interrupt on the first
handled in several modes that allow character syn- received character or on every character can be se-
~hronization with an 8-bit sync character (Mono- lected. The receiver automatically deletes all zeroes
sync), any 16-bit sync pattern (Bysinc), or with an inserted by the transmitter during character assem-
external sync signal. Leading sync characters can bly. It also calculates and automatically checks the
be removed without interrupting the CPU. CRC to validate frame transmission. At the end of
Five-, six- or seven-bit sync characters are detected transmission, the status of a received frame is avail-
with 8- or 16-bit patterns in the SIO by overlapping able in the status registers.
7/20
211
Z8440-Z8441-Z8442
The SIO can be conveniently used under DMA con- some data. Depending on the contents of this reg-
trol to provide high-speed reception or transmission. ister, the CPU will either write data, read data, orjust
In reception, for example, the SIO can interrupt the go on. Two bits in the register indicate that a data
CPU when the first character of a message is re- transfer is needed. In addition, error and other con-
ceived. The CPU then enables the DMA to transfer ditions are indicate. The second status register (spe-
the message to memory. The SIO then issues an cial receive conditions) does not have to be read in
end-of-frame interrupt and the CPU can check the a polling sequence, until a character has been re-
status of the received message. Thus, the CPU is ceived. All interrupt modes are disabled when oper-
freed for other service while the message is being ating the device in a polled environment.
received.
INTERRUPTS
I/O INTERFACE CAPABILITIES The SIO has an elaborate interrupt scheme to pro-
The SIO offers the choice of polling, interrupt, (vec- vide fast interrupt service in real-time applications.
tored or non-vectored) and block-transfers modes A control register and a status register in ChannelS
to transfer data, status and control information to contain the interrupt vector. When programmed to
and from the CPU. The block-transfer mode can do so, the SIO can modify three bits of the interrupt
also be implemented under DMA control. vector in the status register so that in points direct-
ly to one of eight interrupt service routines in mem-
POLLING ory, thereby servicing conditions in both channels
Two status registers are updated at appropriate and eliminating most of the needs for a status-ana-
times for each function being performed (for lysis routine.
example, CRC error-status valid at the end of a Transmit! interrupts, receive interrupts and exter-
message). When the CPU is operated in a polling nal/status interrupts are the main sources of inter-
fashion, one of the SIO's two status registers is used rupts. Each interrupt source is enabled under
to indicate whether the SIO has some data or needs program control, with Channel A having a higher
Figure 11 : Six Sit Sync Character Recognition.
PARITY
'r l'r
RK-,N-G-LlN-=E-....,~ , I r-I-0.-,.--'-1T"I ~
-M.... M' i 'MARKING LINE
ASYNCHRONOUS
L-'_'N_c_'~I_o_'_"~__~::~__~1_o_"_'~_C_R_C,~__CR_C_,~
MONOSYNC
SIGNAL
+
:: BISYNC
DATA CRe, CRCl
I OAT.
::
EXTERNAL SYNC
CRe, CRC2
SDLCIHOLCIX.25
8/20
212
Z8440-Z8441-Z8442
priority than Channel B, and with receive, transmit quence (SDLC mode) in the data stream. The inter-
and external/status interrupts prioritized in that order rupt caused by the break/abort sequence allows the
within each channel. SIO to interrupt when the break/abort sequence is
When the transmit interrupt is enabled, the CPU is detected or terminated. This feature facilitates the
interrupted by the transmit buffer becoming empty. proper termination of the current message, correct
(This implies that the transmitter must have had a initialization of the next message, and the accurate
data character written into it so it can become timing of the break/abort condition in external logic.
empty). The receiver can interrupt the CPU in one In a Z80 CPU environment (figure 12), SIO interrupt
or two ways : vectoring is "automatic" : the SIO passes its inter-
• Interrupt on first received character nally-modificable 8-bit interrupt vector to the CPU,
• Interrupt on all received characters which adds an additional 8 bits from its interrupt-vec-
Interrupt-on-first-received-character is typically tor (I) register to form the memory address of the in-
used with the block-transfer mode. Interrupt-on-all- terrupt-routine table. This table contains the address
received-characters has the option of modifying the of the beginning of the interrupt routine itself. The
interrupt vector in the event of a parity error. Both of process entails an indirect transfer or CPU control
these interrupt modes will also interrupt under spe- to the interrupt routine, so that the next instruction
cial receive conditions on a character or message executed after an interrupt acknowledge by the CPU
basis (end-of-frame interrupt in SDLC, for example). is the first instruction of the interrupt routine itself.
This means that the special-receive condition can
CPU/DMA BLOCK TRANSFER
cause an interrupt only if the interrupt-on-first-recei-
ved-character or interrupt-on-all-received-charac- The SIO's block-transfer mode accommodates both
ters mode is selected. In interrupt-on-first-received- CPU block transfers and DMA controllers (Z80 DMA
character, an interrupt can occur from special-re- or other designs). The block-transfer mode uses the
ceive conditions (except parity error) after the first- WaiVReady output signal, which is selected with
received-character interrupt (example : receive- three bits in an internal control register. The
overrun interrupt). WaiVReady output signal can be programmed as a
The main function of the external/status interrupt is WAIT line in the CPU block-transfer mode or as a
to monitor the signal transitions of the ClearTo Send READY line in the DMA block-transfer mode.
(CTS), Data Carrier Detect (DCD) and Synchroni- To a DMA controller, the SIO READY output indi-
zation (SYNC) pins (figures 1 through 6). In addi- cates that the SIO is ready to transfer data to orfrom
tion, an external/status interrupt is also caused by a memory. To the CPU, the WAIT output indicates
CRC-sending condition or by the detection of a that the SIO is not ready to transfer data, thereby re-
break sequence (asynchronous mode) or abort se- questing the CPU to extend the I/O cycle.
9/20
213
Z8440-Z8441-Z8442
SYSTEM
RUSES
CPU OM.
I
__ lEI
---"0'
SID OM>
INTERNAL STRUCTURE
The internal structure of the device includes a Z80 and from the channel interface, The modem control
CPU interface, internal control and interrupt logic, inputs, Clear To Send (CTS) and Data Carrier De-
and two full-duplex channels, Each channel con- tect (DCD), are monitored by the external control
tains its own set of control and status (write and and status logic under program control, All external
read) registers, and control and status logic that pro-
vides the interface to modems or other external de-
vices, Read Register Functions
RRO Transmit/Receive Buffer Status, Interrupt
The registers for each channel are designated as
Status and External Status
follows:
RR1 Special Receive Condition Status
WRO-WR7 - Write Registers 0 through 7 RR2 Modified Interrupt Vector (channel B only)
RRO-RR2 - Read Register 0 through 2 Write Register Functions
The register group includes five 8-bit control regis- WRO Register pointers, CRC initialize,
ters, two sync-character registers and two status initialization commands for the various
registers, The interrupt vector is written into an ad- modes, etc,
ditional 8 -bit register (Write Register 2) in Chan- WR1 TransmittiReceive Interrupt and Data
nel B that may be read through another 8-bit register Transfer Mode Definition
(Read Register 2) in Channel B, The bit assignment WR2 Interrupt Vector (channel B only)
and functional grouping of each register is con- WR3 Receive Parameters and Control
figured to simplify and organize the programming WR4 Transmit/Receive Miscellaneous
process, Table 1 list the functions assigned to each Parameters and Modes
read or write register. WR5 Transmit Parameters and Controls
The logic for both channels provides formats, syn- WR6 Sync Character or SDLC Address Field
WR7 Sync Character or SDLC Flag
chronization and validation for data transferred to
10/20
214
Z8440-Z8441-Z8442
control-and-status-Iogic signals are general-pur- routed through one of several paths (data or CRC)
pose in nature and can be used for functions other depending on the selected mode and-in asynchron-
than modem control. ous modes-the character length.
DATA PATH The transmitter has an 8-bit transmit data buffer reg-
ister that is loaded from the internal data bus, and a
The transmit and receive data path illustrated for
20-bit transmit shift register that can be loaded from
Channel A in figure 13 is identical for both channels.
the sync-character buffers or from the transmit data
The receiver has three 8-bit buffer registers in a
register. Depending on the operational mode, out-
FIFO arrangement, in addition to the 8-bit receive
going data is routed throught one of four main paths
shift register. This scheme creates additional time
before it is transmitted from the Transmit Data out-
for the CPU to service an interrupt at the beginning
put (TxD).
of a block of high-speed data. Incoming data is
Figure 13 : Transmit and Receive Data Path (channel A).
c"'''''
-§,,"
TOCHANNElB. - - - - - - - - - - - - - - - " ' ' ' ' ' - - - - - - - - - - - - - - -
EXTEANAl STATUS lOGIC.
CONTROL LOGIC. HC _ _ _ _ _- - , " "_ _ __ _ : ; " " - - - -
RECEIYE
R,CA_ CLOCK
tOGIC
11/20
215
Z8440-Z8441-Z8442
PROGRAMMING and contains three bits (00-02) that point to the se-
The system program first issues a series of com- lected register; the second byte is the actual con-
mands that initialize the basic mode of operation trol word that is written into the register to configure
and then other commands that qualify conditions theSIO.
within the selected mode. For example, the asyn- WRO is a special case in that all of the basic com-
chronous mode, character length, clock rate, num- mands can be written to it with a single byte. Reset
ber of stop bits, even or odd parity might be set (internal or external) initializes the pointer bits 00-02
first; then the interrupt mode; and finally, receiver to point to WRO. This implies that a channel reset
or transmitter enable. must not be combined with the pointing to any reg-
Both channels contain registers that must be pro- ister.
grammed via the system program prior to operation.
Figure 14 : Read Register Bit Functions.
The chaQDel-select input (B/A) and the control/data
input (C/O) are the command-structure addressing
controls, and are normally controlled by the CPU ad-
dress bus. Figures 16 an 17 illustrate the timing re-
lationships for programming the write registers and
transfering data and status.
READ REGISTER 0
BYTE
Q
I FIELD BITS IN
IN PREVIOUS SECOND PREVlOUS
BYTe
3
}
.
Q Q 1 Q •
instruction, the contents of the addressed read reg- 1 Q
,
1 Q 7
Q
1
1
Q
1
,
Q
1
•
•
Q
The status bits of RRO and RR1 are carefully L - PARITY ERR~~RROR
'---- R~ OVERAU
* Residue Data For Eight
grouped to simplify status monitoring. For example, L . . - - - ~RCJFRAMI NG ERROR Rx Bits/Character
when the interrupt vector indicates that a Special END OF FRA ME (SOLC) Programmed
Receive Condition interrupt has occurred, all the ap- tUsed With Special Receive Condition Mode
propriate error bits can be read from a single regis-
READ REGISTER 2*
ter(RRI).
1~lo,lo,l.I~lo,l~lo,l
IIII1 ~~I'NTERRUPT
WRITE REGISTERS
The SIO contains eight write registers for Chan- . V4 VECTOR
nel B and seven write registers for Channel A (WRO- V, V6
VT
WR7 in figure 15) that are programmed separately
tVariable if "Status Affects
to configure the functional personality of the chan- Vector" is Programmed
nels ; WR2 contains the interrupt vector for both
channels and is only in the Channel B register set.
With the exception of WRO, programming the write
registers requires two bytes. The first byte is to WRO
12/20
216
Z8440-Z8441-Z8442
o (} NULL CODE
o 1 RESET Rx CRe CHECKER
1 0 RESET Til CRe GENERATOR
1 1 RESET Tit UNOEARUNIEOM LATCH
L I
~
II ~:~~~:::~:LE
~ l
L- EXT INT ENABLE
Til tNT ENABLE
---STATUS AFFECTS VECTOR
(CH B ONLY) 11 lJ·~~===!h~E~NABLE
• SEND BREAK
II a Ax INT DISABLE
o 1 Rx INT ON FIRST CHARACTER o 0 Tx 5 BITS (OR lESS)lCHARACTER
'OINT ON ALL Rx CHARACTERS (PARITY AFFECTS VECTOR) } o 1 Tx 1 BITS/CHARACTER
1 1 tNT ON ALL Rx CHARACTERS (PARITY DOES NOT AFFECT 1 0 flo: S BITS/CHARACTER
VECTOR) 1 1 Til 8 BITS/CHARACTER
I~I~I~I~I~I~I~I~I I~I~I~I~I~I~I~I~I
III~I~~~) ~;
V4
V,
INTERRUPT
VECTOR
11111. I ~!~~HiH 1 SYNC
SYNC
SYNC
BIT 3
BIT 4
BIT 5
•
V6 SYNC BIT.6
V7 SYNC BIT 7
I~I~I~I~I~I~I~I~I
1III L-R
III ~i~~g:i~tl
,ENABLE
I~SYNC CHARACTER LOAD INHIBIT
ADDRESS SEARCH MODE (SOLe)
Rx CRC ENABLE -SYNC BIT 11 •
13/20
217
Z8440-Z8441-Z8442
TIMING
The 810 must have the same clock as the CPU priority interrupt requestor (the one with lEI High)
(same phase and frequency relationship, not places its interrupt vector on the data bus and sets
necessarily the same driver). its internal interrupt-under-service latch.
"
CLOCK
RD--____________-+_________
RD
Mi-------------+___________ ~--------------~---------
DATA _ _ _ _ _ _ _ _ _ _=:(
~_ __
DATA _ _ _ _ _ _ _ _ _ _ _ _ _
14/20
218
Z8440-Z8441-Z8442
Figure 18 : Interrupt Acknowledge Cycle. Figure 19: Return from Interrupt Cycle.
T, T, T~ Tw T, T.
CLOCK
CLOCK
0.1\ :1
I
M1
lORa L--Y
RO I
I
-,.,-----------r------
lEI =========7 :\_==== lEI
------.1
DATA-------------------(~~------ lEO - - - - - -____ ~--------.....:..-Jr---
rEST CONDITIONS
rhe characteristics below apply for the following test
:onditions, unless otherwise noted. All voltages are
'eferenced to GND (OV). Positive current flows into .5V
he referenced pin. Available operating temperature
anges are: 21K
• 0 "C to + 70 "C,
+ 4.75V s Vcc s + 5.25V
• - 40 "C to + 85 'C,
+ 4.75V S Vcc s + 5.25V
• - 55 "C to + 125 "C,
+ 4.75V S Vcc s + 5.5V
-he product number for each operating temperature
ange may be found in the ordering information sec-
ion.
~APACITANCE
15/20
219
Z8440-Z8441-Z8442
DC CHARACTERISTICS
Symbol Parameter Test Conditions Min. Max. Unit
VllC Clock Input Low Voltage - 0.3 + 0.45 V
VIHC Clock Input High Voltage Vee - 0.6 Vee + 0.3 V
Vil Input Low Voltage - 0.3 + 0.8 V
VIH Input High Voltage 2.0 Vee V
Val Output Low Voltage 10l = 2.0 mA - + 0.4 V
VOH Output High Voltage 10H =- 250 ~A + 2.4 V
III Input Leakage Current VIN =0 to Vee -10 + 10 ~
10l 3-State Output Leakage Current in Float VOUT = 0.4 to Vee -10 + 10 ~A
lL(sy) SYNC Pin Leakage Current o < VIN < Vee - 40 + 10 ~
Icc Power Supply Current 100 mA
Over specified temperature and voltage range.
AC CHARACTERISTICS
Z8440, Z8440, Z8440,
1, 2 1,2A 1,28
N° Symbol Parameter
Min. Max. Min. Max. Min. Max.
(ns) (ns) (ns) (ns) (ns) (ns)
1 TcC Clock Cycle Time 400 4000 250 4000 165 4000
2 TwCh Clkock Width (high) 170 2000 105 2000 70 2000
3 TfC Clock Fall Time 30 30 15
4 TrC Clock Rise Time 30 30 15
5 TwCI Clock Width (low) 170 2000 105 2000 70 2000
6 TsAD(C) CE, C/D, B/A to Clock l' Setup Time 160 145 60
7 TsCS(CI) lORa, RD, to Clock l' Setup Time 240 115 60
8 TdC(DO) Clock l' to Data Out Delay 240 220 150
9 TsDI(C) Data in to Clock l' Setup (write or MI cycle) 50 50 30
10 TdRD(DOz) RD l' to Data Out Float Delay 230 110 90
11 TdIO(DOI) lORa J, to Data Out Delay (INTACK cycle) 340 160 100
12 TsMI(C) MI to Clock l' Setup Time 210 90 75
13 TsIEI(IO) lEI to lORa J, Setup Time (INTACK cycle) 200 140 120
14 TdMI(IEO) MI J, to lEO J, Delay (interrupt before MI) 300 190 160
15 TdIEI(IEOr) lEI l' to lEO l' Delay (after ED decode) 150 100 70
16 TdIEI(IEOf) lEI J, to lEO J, Delay 150 100 70
17 TdC(INT) Clock l' to INT J, Delay 200 200 150
18 TdIO(W/RWf) lORa J, or CE J, to W/RDY J, Delay (wait mode) 300 210 175
19 TdC(W/RR) Clock l' to W/RDY J, Delay (ready mode) 120 120 100
20 TdC(W/RWz) Clock J, to W/RDY Float Delay (wait mode) 150 130 110
21 Th Any unspecified hold when setup is specified 0 0 0
16/20
220
28440-28441-28442
AC CHARACTERISTICS (continued)
Z8440, Z8440, Z8440,
1,2 1,2A 1,28
N° Symbol Parameter Notes
Min. Max. Min. Max. Min. Max.
(ns) (ns) (ns) (ns) (ns) (ns)
22 TwPh Pulse Width (high) 200 200 200
23 TwPI Pulse Width low) 200 200 200
24 TcTxC TxC Cycle Time 400 = 400 = 330 =
25 TwTxCI TxC Width (low) 180 = 180 = 100 =
26 TwTxCh TxC Width (high) 180 = 180 = 100 =
27 TdTxC(TxD) TxC -1 to TxD Delay (xl mode) 400 300 220
28 TdTxC(W/RRf) TxC -1 to W/RDY J, Delay Clk Periods' 5 9 5 9 5 9
(ready mode)
29 TdTxC(INT) TxC J, to INT J, Delay Clk Periods' 5 9 5 9 5 9
30 TcRxC RxC Cycle Time 400 = 400 = 330 =
31 TwRxCI RxC Width (low) 180 = 180 = 100 =
32 TwRxCh RxC Width (high) 180 = 180 = 100 =
33 TsRxD(RxC) RxD to RxC l' Setup Time (xl mode) 0 0 0
34 ThRxD(RxC) RxC l' to RxD Hold Time (xl mode) 140 140 100
35 TdRxC(W/RRf) l'
RxC to W/RDY -1 Delay Clk Periods' 10 13 10 13 10 13
(ready mode)
36 TdRxC(INT) RxC l' to INT -1 Delay Clk Periods' 10 13 10 13 10 13
37 TdRxC(SYNC) RxC l' to SYNC J, Delay Clk Periods' 4 7 4 7 4 7
(outputs modes)
38 TsSYNC(RxC) SYNC -1 to RxC l' Setup -100 -100 -100
(external sync modes)
In all modes, the System Clock rate must be at least five times the maximum data rate RESET must be active a minimum of one com-
plete Clock Cycle .
• System Clock.
17/20
221
Z8440-Z8441-Z8442
AC CHARACTERISTICS
eLk
iOiiQ, liD
--------------~
Do-D7
--------------~----------Y
,.,
1110
W.DY-----------------------------------~~~--~
18/20
222
Z8440-Z8441-Z8442
AC CHARACTERISTICS (continued)
r-€>- --~~-
\~_--'fl
1-----®---1
TXD
RXc
Gi SIiS-THOMSON
~I ililU©[ij@~~Ii<C'ii'[ij@IllU©$
19/20
223
Z8440-Z8441-Z8442
ORDERING INFORMATION
Type Package Temp. Clock Description
Z8440/1/2B1 Dlp·40 (plastic) 01+ 70 0 C Z80 Dual
Z8440/1/2F1 Dlp·40 (frit seal) 01+ 70°C Channel
Z8440/1/2D1 Dlp·40 (ceramic) 01+ 70 0 C Serial 1/0
2.5 MHz
Z8440/1/2D6 DIP·40 (ceramic) -401+ 85°C Controller
Z8440/1/2D2 DIP-40 (ceramic) -551 + 125°C
Z8444C1 PLCC44 (plastic chip-carrier) 01 + 70°C
Z844011/2AB1 DIP-40 (plastic) 01+ 70°C
Z8440/1/2AF1 DIP-40 (frit seal) 01+ 70°C
Z8440/1/2AD1 DIP-40 (ceramic) 01+ 70°C
4 MHz
Z8440/1/2AD6 DIP-40 (ceramic) -401+ 85°C
Z8440/1/2AD2 DIP-40 (ceramic) -551 + 125°C
Z8444AC1 PLCC44 (plastic chip-carrier) 01+ 70°C
Z8440/1/2BB1 DIP-40 (plastic) 01+ 70°C
Z8440/1/2BF1 DIP-40 (frit seal) 01+ 70°C
Z8440/1/2BD1 DIP-40 (ceramic) 01+ 70°C
6 MHz
Z8440/1/2BD6 DIP-40 (ceramic) -401+ 85°C
Z8440/1/2BD2 DIP-40 (ceramic) -551 + 125°C
Z8444BC1 PLCC44 (plastic chip-carrier) 01 + 70°C
20/20
224
Z8470
DUAL ASYNCHRONOUS RECEIVERITRANSMITTER
DESCRIPTION
The zao DART (Dual-Channel Asynchronous Re-
ceiveriTransmitter) is a dual-channel multi-function RiA
RTSA
~-} MOD...
225
Z8470
Figure 1 : Dual ine pine Configuration. CEo Chip Enable (Input, Active Low). A Low at this
input enables the Z80 DART to accept command or
0,
data input from the CPU during a write cycle, or to
0, transmit data to the CPU during a read cycle.
0,
0,
ClK. System Clock(lnput). The Z80 DART uses the
iNf standard Z80 Single-phase system clock to syn-
IE' chronize internal signals.
'ED
CTSA, CTSB. Clear To Send (Inputs, Active Low).
ii1
VDD
When programmed as Auto Enables, a Low on
WIRDYA GND these inputs enables the respective transmitter. If
not programmed as Auto Enables, these inputs may
RIIDA
be programmed as general-purpose inputs. Both in-
R.CA
ficA
puts are Schmitt-trigger buffered to accomodate
hOA slow-risetime signals.
DTRA
Do-07. System Data Bus (Bidirectional, 3-state)
RTSA
elSA
transfers data and commands between the CPU
DeDA and the Z80 DART.
elK
DCDA, DCDB. Data Carrier Detect (Inputs, Active
Low). These pins function as receiver enables if the
Z80 DART is programmed for Auto Enables; other-
wise they may be used as general-purpose input
Figure 2 : Chip Carrier Pin Configuration. pins. Both pins are Schmitt-trigger buffered.
DTRA, DTRB. Data Terminal Ready (Outputs, Ac-
tive Low). These outputs follow the state pro-
I'_
Z c
........
oca I~ u
- acoc2 I'" 0 N .....
grammed into the DTR bit. They can also be
6 i I, 3 2 1 44 43 42 41 40 programmed as general-purpose outputs.
39 ail
lEI. Interrupt Enable In (Input, Active High) is used
38 c/o
with lEO to form a priority daisy chain when there is
37 Fffi
more than one interrupt-driven device. A High on
'Icc 10 ,. GND
this line indicates that no other device of higher
YiiR"DVA " '5 WiiiiiYii priority is being serviced by a CPU interrupt service
SYNCA " Z8444 ,. SVNCa
routine.
RxOA 1] 33 RxOB
~ " 32 fiiCij lEO. Interrupt Enable Out (Output, Active High). lEO
TxCA 31 TxCB is High only if lEI is High and the CPU is not servic-
TxOA 16 30 TIIOB ing an interrupt from this Z80 DART. Thus, this sig-
29 N£. nal blocks lower priority devices from interrupting
'--c"ri':J9-i2ll:ri"T'C'ri';',::'4;,';:;5,;';6-r';.';28~ $HSe77 while a higher priority device is being serviced by its
CPU interrupt service routine.
INT. Interrupt Request (Output, Open Drain, Active
Note: NC = No Connection Low). When...1!lil Z80 DART is requesting an inter-
Z80 SIO·O or Dart in Asynchronous Mode. rupt, it pulls INT Low.
M1. Machine Cyple One..l!!!put from Z80 CPU, Ac-
PIN DESCRIPTIONS tive Low). When M1 and RD are both active, the Z80
CPU is fetching an instruction from memory; when
BfA. Channel A Or B Select (Input, High Selects M1 is active while IORQ is active, the Z80 DART ac-
Channel B). This input defines which channel is ac- cepts M1 and IORQ as an interrupt acknowledge if
cessed during a data transfer between the CPU and the Z80 DART is the highest priority device that has
the Z80 DART. interrupted the Z80 CPU.
C/O. Control Or Data Select (Input, High Selects IORQ. Inp..utlOutput Request (Input from CPU, Ac-
Control). This input specifies the type of information tive LowllORQ is used in conjunction with B/A, cio,
(control or data) transferred on the data bus be- CE and RD to transfer commands and data between
tween the CPU and the Z80 DART. the CPU and the Z80 DART. When CE, RD and
2/14
226
Z8470
10RO are all active, the channel selected by B/A FUNCTIONAL DESCRIPTION
transfers data to the CPU (a read operation). When The functional capabilities of the Z80 DART can be
CE and 10RO are acti~e, but RD is inactive, the described from two different points of view : as a
channel selected by B/A is written to by the CPU data communication device, it transmits and re-
with EWher data or control information as specified ceives serial data, and meets the requirements of
by C/O. asynchronous data communication protocols; as a
RxCA, RxCB. Receiver Clocks (Inp,!M1 Receive Z80 family peripheral, it interacts with the Z80 CPU
data is sampled on the rising edge of RxC. The Re- and other Z80 peripheral circuits, and shares the
ceive Clocks may be 1, 16, 32 or 64 times the data data, address and control buses, as well as being a
rate. part of the Z80 interrupt structure. As a peripheral
RD. RegsLCycle Status (Input from CPU, Active to other microprocessors, the Z80 DART offers valu-
able features such as non-vectored interrupts, poll-
Low). If RD is active, a memory or I/O read oper-
ation is in progress. ing and simple hand-shake capability.
The first part of the following functional description
RxDA, RxDB. Receive Data (Inputs, Active High).
introduces Z80 DART data communications capa-
RESET. Reset(lnput, Active Low). Disables both re- bilities ; the second part describes the interaction
ceivers and transmitters, forces TxDA and TxDB between the CPU and the Z80 DART.
marking, forces the modem controls High and dis- The Z80 DART offers RS-232 serial communica-
ables all interrupts. tions support by providing device signals for exter-
RIA, RIB. Ring Indicator(lnputs, Active Low). These nal modem control. In addition to dual-channel
inputs are similar to CTS and DCD. The Z80 DART Request To Send, Clear To Send, and Data Carrier
detects both logic level transitions and interrupts the Detect ports, the Z80 DART also features a dual
CPU. When not used in switched-line applications, channel Ring Indicator (RIA, RIB) input to facilitate
these inputs can be used as general-purpose in- local/remote or station-to-station communication
puts. capability.
3/14
227
Z8470
-4_5111IA'0"TA
~ CI<ANNll CLOCKS
... -filA
ceo
81.oSI,0
CONTROL
CHANNU 8
- - MOOE~ OR
DISCRETE
OTlifR CONTROLS
CO/'HROL AND
STATUS
SERIAL DATA
111
_ _ _ CHANI.l::L CLOCK
Furthermore, a built-in checking process avoids in- cates Error or other special status conditions (see
terpreting a framing error as a new start bit: a fram- "l80 DART Programming"). The Special receive
ing error results in the addition of one-halt a bit time Condition status contained in RR1 does not have to
to the point at which the search for the next start bit be read in a Polling sequence because the status
is begun. bits in RR1 are accompanied by a Receive Charac-
The l80 DART does not require symmetric Trans- ter Available status in RRO.
mitt and Receive Clock signals-a-feature that allows INTERRUPTS
it to be used with a l80 CTC or any other clock
The l80 DART offers an elaborate interrupts
source. The transmitter and receiver can handle
scheme that provides fast interrupt response in real-
data at a rate of 1, 1/16, 1/32 or 1/64 of the clock
time applications. As a member of the l80 family,
rate supplied to the Receive and Transmit Clock in-
the l80 DART can be daisy-chained along with
puts. When using Channel B, the bit rates for trans-
other Z80 peripherals or peripheral interrupt-priority
mit and receive operations must be the same
resolution. In addition, the internal interrupts of the
because RxC and TxC are bonded together
Z80 DART are nested to prioritize the various inter-
(RxTxCB).
rupts generated by Channels A and B. Channel B
I/O INTERFACE CAPABILITIES registers WR2 and RR2 contain the interrupt vector
The l80 DART offers the choice of Polling, Interrupt that ponts to an interrupt service routine in the mem-
(vectored or non-vectored) and Block Transfer ory. To eliminate the necessity of writing a status
modes to transfer data, status and control informa- analysis routine, the Z80 DART can modify the in-
tion to and from the CPU. The Block Transfer mode terrupt vector in RR2 so it points directly to one of
can be implemented under CPU or DMA control. eight interrupt service routines. This is done under
program control by setting a program bit (WR1 , D2)
POLLING in Channel B called "Status Affects Vector". When
There are no interrupts in the Polled mode. Status this bit is set the interrupt vector in RR2 is modified
registers RRO and RR1 are updated at approp(iate according to the assigned priority of the various in-
times for each function being performed. All the in- terrupting conditions.
terrupt modes or the l80 DART must be disabled Transmit interrupts, Receive interrupts and Exter-
to operate the device in a polled environment. nal/Status interrupts are the main sources of inter-
While in its Polling sequence, the CPU examines rupts. Each interrupt source is enabled under
the status contained in RRO for each channel; the program control with Channel A having a higher
RRO status bits serve as an acknowledge to the Poll priority than Channel B, and with Receiver, Trans-
inquiry. The two RRO status bits Do and D2 indicate mit and External/Status interrupts prioritized in that
that a data transfer is needed. The status also indi- order within each channel. When the Transmit inter-
4/14
228
Z8470
5/14
229
Z8470
RECEIVE RECEIVE
DATA ERROR
FIFO FIFO
RECEIVE
TxDA
CLOCK
LOGIC
RECEIVE
ERROR
lOGIC
T, T, Tw T, T,
T, T, TW T, T,
CLOCK o,~.~
Ci fi ~
!
IORQ lona '-\ /
AD
iiti
in M1
6/14
230
Z8470
7/14
231
~~-.-.---------------------
Z8470
The Z80 DART contains three registers (RRO-RR2) Read Register Functions
that can be read to obtain the status information for
each channel (except for RR2, which applies to RRO Transmit/Receive Buffer Status, Interrupt
Status and External Status
Channel B only). The status information includes
RR1 Special Receive Condition Status
error conditions, interrupt vector and standard com-
RR2 Modified Interrupt Vector (channel B only)
munications-interface signals.
8/14
232
Z8470
E~~ ---C:~~~:::
U§~ ~l
~L:::··l
~
L R'CHAR.ACTERAVAlLA8LE.
~I-'AHllrtHHuH E LI
INT PENDING (CH. Ii ONLy)
BREAK
"Varlable If "Slalu<; AI!~cs
Vector Is P'~'~'TIrne~
I~I~I~I~I~I~[~[~I
L EXT INT ENABLE
[t~
REGISTER 0
REGISTER 1 ~ Ix INT ENA.BLE
REGISTER 2 STA.TUS AFFECTS VECTOR
REGISTER J (CH. B ONLy)
REGISTER 4
REGISTER 5
o 0 ~lI IN t UI::'AHLt. }
o I RlI INT ON FIRST CHARACTER OR ON
1 OINT ON ALL Rx CHARACTERS (PARITY SPECIAL
0 0 0 NUll CODE AFFECTS VECTOR) RECEIVE
0 0 1 HOT USED 1 1 tNT ON ALL Rx CHARACTERS (PARITY CONDITION
0 1 0 RESET EXT/STATUS INTERRUPTS DOES NOT AFFECT VECTOR}
0 1 1 CHANNEL RESET WAIT/READY ON RIT
1
1 , ,
0 0
1
ENABLE INT ON NEXT Rlr. CHARACTER
RESET hiNT PENDING
' - - - - - - WAIT/READY FUNCTION
1
1
1
1 , ERROR RESET
RETURN FROM INT (CH·A ONL Y)
L.._ _ _ _ _ WAtT/READY ENABLE
NOT USED
T----=-=
I~I~I~I~I~I~I~I~I I~[~I~I~I~I~I~I~I
R, ENABLE
1 :~;::::~7~:T BE PROGRAMMED ~
'-------- 0 0 Rx 5 BITS/CHARACTER
o 1 Rx 7 BfTS/CHARACTER
1 () R.x 8 BITS/CHARACTER
1 1 Rx 8 SITS/CHARACTER
T L:
1~!~!~I~I~I~i~!~1 I~I~I~I~[~[~I~I~I
I
~T
~
~
JL PARITY ENABLE
PARITY EVEN/t5D'il
I :~:USEO
o
o
0
1
NOr USED
1 STOP BIT/CHARACTER
L NOT USED
Ix ENABLE
1 0 1 V. STOP BITS/CHARACTER
1 1 2 STOP BITs/CHARACTER SEND BREAK
NOT USED
o 0 Ix !) BITS (OR lESS},ICHARACTER
o 1 Tx 7 BITSJCHARACTER
o 0 Xl CLOCK MODE 1 0 Tx 6 BITSJCHARACTER
o 1 X16 CLOCK MODE 1 1 r.. 8srTS/CHARACTER
, 0 X32 CLOCK MODE
I 1 X~ CLOCK MODE DTR
9/14
233
Z8470
TEST CONDITIONS
The characteristics below apply for the following test +5.
conditions, unless otherwise noted. All voltages are
referenced to GND (OV). Positive current flows into 2.1K
the referenced pin. Available operating temperature
ranges are:
• 0 °C to + 70 °C,
+ 4.75 V 5. Vcc 5. + 5.25 V
• 40 °C to + 85 'C,
+ 4.75 V 5. Vcc 5. + 5.25 V
• 55 °C to + 125 °C,
+ 4.5 V 5. Vcc 5. + 5.5 V
DC CHARACTERISTICS
Symbol Parameter Test Conditions Min. Max. Unit
VILC Clock Input Low Voltage - 0.3 + 0.45 V
VIHC Clock Input High Voltage Vec - 0.6 + 5.5 V
VIL Input Low Voltage - 0.3 + 0.8 V
VIH Input High Voltage + 2.0 + 5.5 V
VOL Output Low Voltage IOL =2.0 mA + 0.4 V
VOH Output High Voltage IOH = - 250 !lA + 2.4 V
IL Input/3-State Output Leakage Cu rrent 0.4 < V < 2.4 V -10 +10 !lA
IL(RI) RI Pin Leakage Current 0" VIN " VCC - 40 + 10 !lA
Icc Power Supply Current 100 mA
TA = 0 ·C to 70 ·c, Vee = 5 V ± 5 %.
10/14
234
Z8470
AC CHARACTERISTICS
CtJ(
_.iii>
---------------V
,..
• ~DY ___________________________________J
11/14
235
Z8470
AC CHARACTERISTICS (continued)
Z8470, Z8470A Z8470B
N° Symbol Parameter Min. Max. Min. Max. Min. Max.
(ns) (ns) (ns) (ns) (ns) (ns)
1 TcC Clock Cycle Time 400 4000 250 4000 165 4000
2 TwCh Clock Width (high) 170 2000 105 2000 70 2000
3 TIC Clock Fall Time 30 30 15
4 TrC Clock Rise Time 30 30 15
5 TwCI Clock Width (low) 170 2000 105 2000 70 2000
6 TsAD(C) CE, C/D, B/A to Clock t Setup Time 160 145 60
7 TsCS(C) IORO, RD, to Clock t Setup Time 240 115 60
8 TdC(DO) Clock t to Data Out Delay 240 220 150
9 TsDI(C) Data in to Clock t Setup Time (write or MI cycle) 50 50 30
10 TdRD(DOz) RD t to Data Out Float Delay 230 110 90
11 TdIO(DOI) IORO J, to Data Out Delay (INTACK cycle) 340 160 100
12 TsMI(C) MI to Clock t Setup Time 210 90 75
13 TsIEI(IO) lEI to IORO J, Setup Time (INTA cycle) 200 140 120
14 TdMI(IEO) MI J, to lEO J, Delay (interrupt before MI) 300 190 160
15 TdIEI(IEOr) lEI t to lEO t Delay (after ED decode) 150 100 70
16 TdIEI(IEOf) lEI J, to lEO J, Delay 150 100 70
17 TdC(INT) Clock t to INT J, Delay 200 200 150
18 TdIO(W/RWf) IORO J, or CE J, to W/RDY J, Delay (wait mode) 300 210 175
19 TdC(W/RR) Clock t to W/RDY J, Delay (ready mode) 120 120 100
20 TdC(W/RWz) Clock J, to W/RDY Float Delay (wait mode) 150 130 110
12/14
236
Z8470
AC CHARACTERISTICS (continued)
~'----
RxO
---_...../
AC CHARACTERISTICS (continued)
Z8470 Z8470A Z8470B
N° Symbol Parameter Unit Min. Max. Min. Max. Min. Max.
(ns) (ns) (ns) (ns) (ns) (ns)
1 TwPh Pulse Width (high) 200 200 200
2 TwPI Pulse Width (low) 200 200 200
3 TcTxC TxC Cycle Time 400 ~ 400 ~ 330 ~
13/14
237
Z8470
ORDERING INFORMATION
Type Package Temp. Clock Description
Z8470B1 Dlp·40 (plastic) 0/+ 70°C Z80 Dual
Z8470F1 DIP40 (frit seal) 0/+ 70°C Channel
Z847001 DIP-40 (ceramic) 0/+ 70°C Asynchronous
2.5 MHz
Z847006 DIP-40 (ceramic) -40/ + 85°C Receiver
Z847002 DIP-40 (ceramic) -55/ + 125°C Transmitter
Z8444C1 PLCC44 (plastic chip-carrier) 0/+ 70°C
Z8470AB1 DIP-40 (plastic) 0/+ 70°C
Z8470AF1 DIP40 (frit seal) 0/+ 70°C
Z8470A01 DIP-40 (ceramic) 0/+ 70°C
4 MHz
Z8470A06 DIP-40 (ceramic) -40/+ 85°C
Z8470A02 DIP-40 (ceramic) -55/ + 125°C
Z8444AC1 PLCC44 (plastic chip-carrier) 0/+ 70°C
Z8470BB1 DIP-40 (plastic) 0/+ 70°C
Z8470BF1 DIP-40 (frit seal) 0/+ 70°C
Z8470B01 DIP-40 (ceramic) 0/+ 70°C
6 MHz
Z8470B06 DIP-40 (ceramic) -40/+ 85°C
Z8470B02 DIP-40 (ceramic) -55/+ 125°C
Z8444BC1 PLCC44 (plastic chip-carrier) 0/ + 70°C
14/14
238
SALES OFFICES
Information furnished is believed to be accurate and reliable. However, SGS-THOMSON Microelectronics assumes no responsability for the
consequences of use of such information nor for any infringement of patents or other rights of third parties which may results from its use. No
license is granted by implication or otherwise under any patent or patent rights of SGS·THOMSON Microelectronics. Specifications mentioned
in this publication are subject to change without notice. This publication supersedes and replaces all informations previously supplied.