This publication is subject to replacement by a later edition. T o determine whether
a later edition exists, or to request copies of publications, contact:
ZiLOG W orldwide Headquarters
532 Race Street
San Jose, CA 95126
elephone: 408.558.8500
Fax: 408.558.8300
www .ZiLOG.com
PS013011-0204
Document Disclaimer
ZiLOG is a registered trademark of ZiLOG Inc. in the United States and in other countries. All other
products and/or service names mentioned herein may be trademarks of the companies with which
they are associated.
2004 by ZiLOG, Inc. All rights reserved. Information in this publication concerning the devices,
applications, or technology described is intended to suggest possible uses and may be superseded.
ZiLOG, INC. DOES NOT ASSUME LIABILITY FOR OR PROVIDE A REPRESENT A TION OF
ACCURACY OF THE INFORMA TION, DEVICES, OR TECHNOLOGY DESCRIBED IN THIS
DOCUMENT . ZiLOG ALSO DOES NOT ASSUME LIABILITY FOR INTELLECTUAL PROPER TY
INFRINGEMENT RELA TED IN ANY MANNER T O USE OF INFORMA TION, DEVICES, OR
TECHNOLOGY DESCRIBED HEREIN OR OTHER WISE. Devices sold by ZiLOG, Inc. are covered
by warranty and limitation of liability provisions appearing in the ZiLOG, Inc. T erms and Conditions of
Sale. ZiLOG, Inc. makes no warranty of merchantability or fitness for any purpose Except with the
express written approval of ZiLOG, use of information, devices, or technology as critical components
of life support systems is not authorized. No licenses are conveyed, implicitly or otherwise, by this
document under any intellectual property rights.
Table 16. Intel™ Bus Mode Read States (Separate Address and Data Buses) 56
Table 17. Intel™ Bus Mode Write States (Separate Address and Data Buses) 57
Table 18. Intel™ Bus Mode Write States (Multiplexed Address and Data Bus). 60
Table 19. Intel™ Bus Mode Read States (Multiplexed Address and Data Bus) 60
The eZ80L92 microprocessor is a high-speed single-cycle instruction-fetch microprocessor with a maximum clock speed of 50 MHz. The eZ80L92 is a member of
ZiLOG’s new eZ80® product family. It can operate in Z80-compatible addressing
mode (64 KB) or full 24-bit addressing mode (16 MB). The rich peripheral set of the
eZ80L92 makes it suitable for a variety of applications including industrial control,
embedded communication, and point-of-sale terminals.
Features
•Single-cycle instruction fetch, high-performance, pipelined eZ80® CPU core
•Low power features including SLEEP mode, HALT mode, and selective
peripheral power-down control
eZ80L92 Product Specification
1
1
•Two UARTs with independent baud rate generators
•SPI with independent clock rate generator
•I2C with independent clock rate generator
•Infrared Data Association (IrDA)-compliant infrared encoder/decoder
•New DMA-like eZ80® instructions for efficient block data transfer
•Glueless external peripheral interface with 4 Chip Selects, individual Wait
State generators, and an external WAIT input pin—supports Intel-and Motorola-style buses
•Fixed-priority vectored interrupts (both internal and external) and interrupt
controller
•Real-time clock with on-chip 32 KHz oscillator, selectable 50/60Hz input, and
separate VDD pin for battery backup
•Six 16-bit Counter/Timers with prescalers and direct input/output drive
•Watch-Dog Timer
•24 bits of General-Purpose I/O
•JTAG and ZDI debug interfaces
•100-pin LQFP package
•3.0–3.6 V supply voltage with 5 V tolerant inputs
1. For simplicity, the term eZ80® CPU is referred to as CPU for the bulk of this document.
PS013011-0204PRELIMINARY Architectural Overview
•Operating Temperature Range
–
Standard: 0ºC to +70ºC
–
Extended: –40ºC to +105ºC
eZ80L92 Product Specification
2
Note:
All signals with an overline are active Low. For example, B/W, for which
WORD is active Low, and B/W, for which BYTE is active Low.
Power connections follow these conventional descriptions:
ConnectionCircuitDevice
PowerV
GroundGNDV
Block Diagram
Figure 1 illustrates a block diagram of the eZ80L92 microprocessor.
CC
V
DD
SS
PS013011-0204PRELIMINARY Architectural Overview
eZ80L92 Product Specification
3
SCL
SDA
SCK
SS
MISO
MOSI
CTS0/1
CD0/1
DSR0/1
DTR0/1
RI0/1
RTS0/1
RxD0/1
TxD0/1
2
I C
Serial
Interface
Serial
Peripheral
Interface
(SPI)
Universal
Asynchronous
Receiver/
Transmitter
(UART)
Real-Time
Clock and
32 KHz
Oscillator
RTC_V
RTC_X
RTC_X
Bus
Controller
eZ80
CPU
ZiLOG
Debug
Interface
(JTAG/ZDI)
Interrupt
Vector
[7:0]
Interrupt
Controller
DD
IN
OUT
BUSACK
BUSREQ
INSTRD
IORQ
MREQ
RD
WR
NMI
RESET
HALT_SLP
JTAG/ZDI Signals (5)
Chip
Select
and
Wait State
Generator
WAIT
CS0
CS1
CS2
CS3
DATA[7:0]
ADDR[23:0]
IrDA
Encoder/
Decoder
IR_TxD
IR_RxD
8-Bit
General
Purpose
I/O Port
(GPIO)
PB[7:0]
PC[7:0]
PD[7:0]
Crystal
Oscillator
and
System Clock
Generator
IN
X
OUT
X
PHI
Programmable
Reload
Timer/Counters
(6)
T0_IN
T1_IN
T2_IN
T3_IN
T4_OUT
T5_OUT
Watch-Dog
Timer
(WDT)
Figure 1. eZ80L92 Block Diagram
PS013011-0204PRELIMINARY Architectural Overview
Pin Description
Figure 2 illustrates the pin layout of the eZ80L92 in the 100-pin LQFP package.
Table 1 describes the pins and their functions.
eZ80L92 Product Specification
4
ADDR0
ADDR1
ADDR2
ADDR3
ADDR4
ADDR5
V
DD
V
SS
ADDR6
ADDR7
ADDR8
ADDR9
ADDR10
ADDR11
ADDR12
ADDR13
ADDR14
V
DD
V
SS
ADDR15
ADDR16
ADDR17
ADDR18
ADDR19
ADDR20
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
PHI
SCL
99
100
262728
ADDR21
ADDR22
ADDR23
DD
SDA
VSSPB7/MOSI
V
95
96
97
98
PB6/MISO
PB5/T5_OUT
PB4/T4_OUT
92
93
94
PB3/SCK
PB2/SS
PB1/T1_IN
90
91
89
OUTXINVSS
PB0/T0_IN
VDDX
86
87
88
85
84
PC7/RI1
83
PC6/DCD1
PC5/DSR1
81
82
PC4/DTR1
PC3/CTS1
79
80
100-Pin LQFP
30
313233343536373839
29
SS
DD
V
CS2
CS3
V
CS0
CS1
DATA0
DATA1
DATA2
4050414243444546474849
SS
DD
V
V
DATA3
DATA4
DATA5
DATA6
DATA7
IORQ
RD
MREQ
Figure 2. 100-Pin LQFP Configuration of the eZ80L92
PC2//RTS1
PC1/RxD1
77
78
WR
INSTRD
PC0/TxD1
76
75
PD7/RI0
74
PD6/DCD0
73
PD5/DSR0
72
PD4/DTR0
71
PD3/CTS0
70
PD2/RTS0
69
PD1/RxD0/IR_RXD
68
PD0/TxD0/IR_TXD
67
V
DD
66
TDO
65
TDI
64
TRIGOUT
63
TCK
62
TMS
61
V
SS
60
RTC_V
59
RTC_XOUT
58
RTC_XIN
57
V
SS
56
V
DD
55
HALT_SLP
54
BUSACK
53
BUSREQ
52
NMI
51
RESET
WAIT
DD
PS013011-0204PRELIMINARY Architectural Overview
eZ80L92 Product Specification
Table 1. 100-Pin LQFP Pin Identification of the eZ80L92 Device
Pin #SymbolFunctionSignal DirectionDescription
1ADDR0Address BusBidirectionalConfigured as an output in normal opera-
tion. The address bus selects a location in
memory or I/O space to be read or written.
Configured as an input during bus
acknowledge cycles. Drives the Chip
Select/Wait State Generator block to generate Chip Selects.
2ADDR1Address BusBidirectionalConfigured as an output in normal opera-
tion. The address bus selects a location in
memory or I/O space to be read or written.
Configured as an input during bus
acknowledge cycles. Drives the Chip
Select/Wait State Generator block to generate Chip Selects.
5
3ADDR2Address BusBidirectionalConfigured as an output in normal opera-
tion. The address bus selects a location in
memory or I/O space to be read or written.
Configured as an input during bus
acknowledge cycles. Drives the Chip
Select/Wait State Generator block to generate Chip Selects.
4ADDR3Address BusBidirectionalConfigured as an output in normal opera-
tion. The address bus selects a location in
memory or I/O space to be read or written.
Configured as an input during bus
acknowledge cycles. Drives the Chip
Select/Wait State Generator block to generate Chip Selects.
5ADDR4Address BusBidirectionalConfigured as an output in normal opera-
tion. The address bus selects a location in
memory or I/O space to be read or written.
Configured as an input during bus
acknowledge cycles. Drives the Chip
Select/Wait State Generator block to generate Chip Selects.
6ADDR5Address BusBidirectionalConfigured as an output in normal opera-
tion. The address bus selects a location in
memory or I/O space to be read or written.
Configured as an input during bus
acknowledge cycles. Drives the Chip
Select/Wait State Generator block to generate Chip Selects.
PS013011-0204PRELIMINARY Architectural Overview
eZ80L92 Product Specification
Table 1. 100-Pin LQFP Pin Identification of the eZ80L92 Device (Continued)
Pin #SymbolFunctionSignal DirectionDescription
6
7V
8V
DD
SS
Power SupplyPower Supply.
GroundGround.
9ADDR6Address BusBidirectionalConfigured as an output in normal opera-
tion. The address bus selects a location in
memory or I/O space to be read or written.
Configured as an input during bus
acknowledge cycles. Drives the Chip
Select/Wait State Generator block to generate Chip Selects.
10ADDR7Address BusBidirectionalConfigured as an output in normal opera-
tion. The address bus selects a location in
memory or I/O space to be read or written.
Configured as an input during bus
acknowledge cycles. Drives the Chip
Select/Wait State Generator block to generate Chip Selects.
11ADDR8Address BusBidirectionalConfigured as an output in normal opera-
tion. The address bus selects a location in
memory or I/O space to be read or written.
Configured as an input during bus
acknowledge cycles. Drives the Chip
Select/Wait State Generator block to generate Chip Selects.
12ADDR9Address BusBidirectionalConfigured as an output in normal opera-
tion. The address bus selects a location in
memory or I/O space to be read or written.
Configured as an input during bus
acknowledge cycles. Drives the Chip
Select/Wait State Generator block to generate Chip Selects.
13ADDR10Address BusBidirectionalConfigured as an output in normal opera-
tion. The address bus selects a location in
memory or I/O space to be read or written.
Configured as an input during bus
acknowledge cycles. Drives the Chip
Select/Wait State Generator block to generate Chip Selects.
PS013011-0204PRELIMINARY Architectural Overview
eZ80L92 Product Specification
Table 1. 100-Pin LQFP Pin Identification of the eZ80L92 Device (Continued)
Pin #SymbolFunctionSignal DirectionDescription
14ADDR11Address BusBidirectionalConfigured as an output in normal opera-
tion. The address bus selects a location in
memory or I/O space to be read or written.
Configured as an input during bus
acknowledge cycles. Drives the Chip
Select/Wait State Generator block to generate Chip Selects.
15ADDR12Address BusBidirectionalConfigured as an output in normal opera-
tion. The address bus selects a location in
memory or I/O space to be read or written.
Configured as an input during bus
acknowledge cycles. Drives the Chip
Select/Wait State Generator block to generate Chip Selects.
7
16ADDR13Address BusBidirectionalConfigured as an output in normal opera-
tion. The address bus selects a location in
memory or I/O space to be read or written.
Configured as an input during bus
acknowledge cycles. Drives the Chip
Select/Wait State Generator block to generate Chip Selects.
17ADDR14Address BusBidirectionalConfigured as an output in normal opera-
tion. The address bus selects a location in
memory or I/O space to be read or written.
Configured as an input during bus
acknowledge cycles. Drives the Chip
Select/Wait State Generator block to generate Chip Selects.
18V
19V
DD
SS
Power SupplyPower Supply.
GroundGround.
20ADDR15Address BusBidirectionalConfigured as an output in normal opera-
tion. The address bus selects a location in
memory or I/O space to be read or written.
Configured as an input during bus
acknowledge cycles. Drives the Chip
Select/Wait State Generator block to generate Chip Selects.
PS013011-0204PRELIMINARY Architectural Overview
eZ80L92 Product Specification
Table 1. 100-Pin LQFP Pin Identification of the eZ80L92 Device (Continued)
Pin #SymbolFunctionSignal DirectionDescription
21ADDR16Address BusBidirectionalConfigured as an output in normal opera-
tion. The address bus selects a location in
memory or I/O space to be read or written.
Configured as an input during bus
acknowledge cycles. Drives the Chip
Select/Wait State Generator block to generate Chip Selects.
22ADDR17Address BusBidirectionalConfigured as an output in normal opera-
tion. The address bus selects a location in
memory or I/O space to be read or written.
Configured as an input during bus
acknowledge cycles. Drives the Chip
Select/Wait State Generator block to generate Chip Selects.
8
23ADDR18Address BusBidirectionalConfigured as an output in normal opera-
tion. The address bus selects a location in
memory or I/O space to be read or written.
Configured as an input during bus
acknowledge cycles. Drives the Chip
Select/Wait State Generator block to generate Chip Selects.
24ADDR19Address BusBidirectionalConfigured as an output in normal opera-
tion. The address bus selects a location in
memory or I/O space to be read or written.
Configured as an input during bus
acknowledge cycles. Drives the Chip
Select/Wait State Generator block to generate Chip Selects.
25ADDR20Address BusBidirectionalConfigured as an output in normal opera-
tion. The address bus selects a location in
memory or I/O space to be read or written.
Configured as an input during bus
acknowledge cycles. Drives the Chip
Select/Wait State Generator block to generate Chip Selects.
26ADDR21Address BusBidirectionalConfigured as an output in normal opera-
tion. The address bus selects a location in
memory or I/O space to be read or written.
Configured as an input during bus
acknowledge cycles. Drives the Chip
Select/Wait State Generator block to generate Chip Selects.
PS013011-0204PRELIMINARY Architectural Overview
eZ80L92 Product Specification
Table 1. 100-Pin LQFP Pin Identification of the eZ80L92 Device (Continued)
Pin #SymbolFunctionSignal DirectionDescription
27ADDR22Address BusBidirectionalConfigured as an output in normal opera-
tion. The address bus selects a location in
memory or I/O space to be read or written.
Configured as an input during bus
acknowledge cycles. Drives the Chip
Select/Wait State Generator block to generate Chip Selects.
28ADDR23Address BusBidirectionalConfigured as an output in normal opera-
tion. The address bus selects a location in
memory or I/O space to be read or written.
Configured as an input during bus
acknowledge cycles. Drives the Chip
Select/Wait State Generator block to generate Chip Selects.
9
29CS0Chip Select 0Output, Active LowCS0 Low indicates that an access is occur-
ring in the defined CS0 memory or I/O
address space.
30CS1Chip Select 1Output, Active LowCS1 Low indicates that an access is occur-
ring in the defined CS1 memory or I/O
address space.
31CS2Chip Select 2Output, Active LowCS2 Low indicates that an access is occur-
ring in the defined CS2 memory or I/O
address space.
32CS3Chip Select 3Output, Active LowCS3 Low indicates that an access is occur-
ring in the defined CS3 memory or I/O
address space.
33V
34V
DD
SS
Power SupplyPower Supply.
GroundGround.
35DATA0Data BusBidirectionalThe data bus transfers data to and from I/O
and memory devices. The eZ80L92 drives
these lines only during write cycles when
the eZ80L92 is the bus master.
36DATA1Data BusBidirectionalThe data bus transfers data to and from I/O
and memory devices. The eZ80L92 drives
these lines only during write cycles when
the eZ80L92 is the bus master.
PS013011-0204PRELIMINARY Architectural Overview
eZ80L92 Product Specification
Table 1. 100-Pin LQFP Pin Identification of the eZ80L92 Device (Continued)
Pin #SymbolFunctionSignal DirectionDescription
37DATA2Data BusBidirectionalThe data bus transfers data to and from I/O
and memory devices. The eZ80L92 drives
these lines only during write cycles when
the eZ80L92 is the bus master.
38DATA3Data BusBidirectionalThe data bus transfers data to and from I/O
and memory devices. The eZ80L92 drives
these lines only during write cycles when
the eZ80L92 is the bus master.
39DATA4Data BusBidirectionalThe data bus transfers data to and from I/O
and memory devices. The eZ80L92 drives
these lines only during write cycles when
the eZ80L92 is the bus master.
10
40DATA5Data BusBidirectionalThe data bus transfers data to and from I/O
and memory devices. The eZ80L92 drives
these lines only during write cycles when
the eZ80L92 is the bus master.
41DATA6Data BusBidirectionalThe data bus transfers data to and from I/O
and memory devices. The eZ80L92 drives
these lines only during write cycles when
the eZ80L92 is the bus master.
42DATA7Data BusBidirectionalThe data bus transfers data to and from I/O
and memory devices. The eZ80L92 drives
these lines only during write cycles when
the eZ80L92 is the bus master.
43V
44V
DD
SS
45IORQInput/Output
Power SupplyPower Supply.
GroundGround.
Request
Bidirectional, Active
Low
IORQ indicates that the CPU is accessing
a location in I/O space. RD and WR indicate the type of access. The eZ80L92 does
not drive this line during RESET. It is an
input in bus acknowledge cycles.
46MREQMemory
Request
Bidirectional, Active
Low
MREQ Low indicates that the CPU is
accessing a location in memory. The RD,
WR, and INSTRD signals indicate the type
of access. The eZ80L92 does not drive this
line during RESET. It is an input in bus
acknowledge cycles.
PS013011-0204PRELIMINARY Architectural Overview
eZ80L92 Product Specification
Table 1. 100-Pin LQFP Pin Identification of the eZ80L92 Device (Continued)
Pin #SymbolFunctionSignal DirectionDescription
47RDReadOutput, Active LowRD Low indicates that the eZ80L92 is
reading from the current address location.
This pin is tristated during bus acknowledge cycles.
48WRWriteOutput, Active LowWR indicates that the CPU is writing to the
current address location. This pin is
tristated during bus acknowledge cycles.
11
49INSTRDInstruction
Read Indicator
50WAITWAIT Request Input, Active LowDriving the WAIT pin Low forces the CPU
51RESETResetSchmitt Trigger Input,
52NMINonmaskable
Interrupt
53BUSREQBus RequestInput, Active LowExternal devices can request the eZ80L92
Output, Active LowINSTRD (with MREQ and RD) indicates
the eZ80L92 is fetching an instruction from
memory. This pin is tristated during bus
acknowledge cycles.
to wait additional clock cycles for an external peripheral or external memory to complete its Read or Write operation.
This signal is used to initialize the
Active Low
Schmitt Trigger Input,
Active Low
eZ80L92. This input must be Low for a
minimum of 3 system clock cycles, and
must be held Low until the clock is stable.
This input includes a Schmitt trigger to
allow RC rise times.
The NMI input is a higher priority input than
the maskable interrupts. It is always recognized at the end of an instruction, regardless of the state of the interrupt enable
control bits. This input includes a Schmitt
trigger to allow RC rise times.
to release the memory interface bus for
their use, by driving this pin Low.
54BUSACKBus Acknowl-
edge
55HALT_SLP HALT and
SLEEP Indicator
PS013011-0204PRELIMINARY Architectural Overview
Output, Active LowThe eZ80L92 responds to a Low on BUS-
REQ, by tristating the address, data, and
control signals, and by driving the
BUSACK line Low. During bus acknowledge cycles ADDR[23:0], IORQ, and
MREQ are inputs.
Output, Active LowA Low on this pin indicates that the CPU
has entered either HALT or SLEEP mode
because of execution of either a HALT or
SLP instruction.
eZ80L92 Product Specification
Table 1. 100-Pin LQFP Pin Identification of the eZ80L92 Device (Continued)
Pin #SymbolFunctionSignal DirectionDescription
12
56V
57V
DD
SS
Power SupplyPower Supply.
GroundGround.
58RTC_XINReal-Time
Clock Crystal
Input
59RTC_XOUT Real-Time
Clock Crystal
Output
60RTC_
V
DD
Real-Time
Clock Power
Supply
61V
SS
GroundGround.
62TMSJTAG Test
Mode Select
63TCKJTAG Test
Clock
InputThis pin is the input to the low-power
32KHz crystal oscillator for the Real-Time
Clock.
BidirectionalThis pin is the output from the low-power
32KHz crystal oscillator for the Real-Time
Clock. This pin is an input when the RTC is
configured to operate from 50/60 Hz input
clock signals and the 32 KHz crystal oscillator is disabled.
Power supply for the Real-Time Clock and
associated 32KHz oscillator. Isolated from
the power supply to the remainder of the
chip. A battery can be connected to this pin
to supply constant power to the Real-Time
Clock and 32KHz oscillator.
InputJTAG Mode Select Input.
InputJTAG and ZDI clock input.
64TRIGOUTJTAG Test
OutputActive High trigger event indicator.
Trigger Output
65TDIJTAG Test
Data In
66TDOJTAG Test
BidirectionalJTAG data input pin. Functions as ZDI data
I/O pin when JTAG is disabled.
OutputJTAG data output pin.
Data Out
67V
PS013011-0204PRELIMINARY Architectural Overview
DD
Power SupplyPower Supply.
eZ80L92 Product Specification
Table 1. 100-Pin LQFP Pin Identification of the eZ80L92 Device (Continued)
Pin #SymbolFunctionSignal DirectionDescription
13
68PD0GPIO Port DBidirectional
TxD0UART Trans-
mit Data
IR_TXDIrDA Transmit
Data
69PD1GPIO Port DBidirectionalThis pin can be used for general-purpose
RxD0Receive DataInputThis pin is used by the UART to receive
OutputThis pin is used by the UART to transmit
OutputThis pin is used by the IrDA encoder/
This pin can be used for general-purpose
I/O. It can be individually programmed as
input or output and can also be used individually as an interrupt input. Each Port D
pin, when programmed as output, can be
selected to be an open-drain or opensource output. Port D is multiplexed with
one UART.
asynchronous serial data. This signal is
multiplexed with PD0.
decoder to transmit serial data. This signal
is multiplexed with PD0.
I/O. It can be individually programmed as
input or output and can also be used individually as an interrupt input. Each Port D
pin, when programmed as output, can be
selected to be an open-drain or opensource output. Port D is multiplexed with
one UART.
asynchronous serial data. This signal is
multiplexed with PD1.
IR_RXDIrDA Receive
Data
70PD2GPIO Port DBidirectionalThis pin can be used for general-purpose
RTS0Request to
Send
PS013011-0204PRELIMINARY Architectural Overview
InputThis pin is used by the IrDA encoder/
decoder to receive serial data. This signal
is multiplexed with PD1.
I/O. It can be individually programmed as
input or output and can also be used individually as an interrupt input. Each Port D
pin, when programmed as output, can be
selected to be an open-drain or opensource output. Port D is multiplexed with
one UART.
Output, Active LowModem control signal from UART. This sig-
nal is multiplexed with PD2.
eZ80L92 Product Specification
Table 1. 100-Pin LQFP Pin Identification of the eZ80L92 Device (Continued)
Pin #SymbolFunctionSignal DirectionDescription
71PD3GPIO Port DBidirectionalThis pin can be used for general-purpose
I/O. It can be individually programmed as
input or output and can also be used individually as an interrupt input. Each Port D
pin, when programmed as output, can be
selected to be an open-drain or opensource output. Port D is multiplexed with
one UART.
CTS0Clear to Send Input, Active LowModem status signal to the UART. This
signal is multiplexed with PD3.
14
72PD4GPIO Port DBidirectional
DTR0Data Terminal
Ready
73PD5GPIO Port DBidirectional
DSR0Data Set
Ready
74PD6GPIO Port DBidirectional
Output, Active LowModem control signal to the UART. This
Input, Active LowModem status signal to the UART. This
This pin can be used for general-purpose
I/O. It can be individually programmed as
input or output and can also be used individually as an interrupt input. Each Port D
pin, when programmed as output, can be
selected to be an open-drain or opensource output. Port D is multiplexed with
one UART.
signal is multiplexed with PD4.
This pin can be used for general-purpose
I/O. It can be individually programmed as
input or output and can also be used individually as an interrupt input. Each Port D
pin, when programmed as output, can be
selected to be an open-drain or opensource output. Port D is multiplexed with
one UART.
signal is multiplexed with PD5.
This pin can be used for general-purpose
I/O. It can be individually programmed as
input or output and can also be used individually as an interrupt input. Each Port D
pin, when programmed as output, can be
selected to be an open-drain or opensource output. Port D is multiplexed with
one UART.
DCD0Data Carrier
Detect
PS013011-0204PRELIMINARY Architectural Overview
Input, Active LowModem status signal to the UART. This
signal is multiplexed with PD6.
eZ80L92 Product Specification
Table 1. 100-Pin LQFP Pin Identification of the eZ80L92 Device (Continued)
Pin #SymbolFunctionSignal DirectionDescription
15
75PD7GPIO Port DBidirectional
RI0Ring Indicator Input, Active LowModem status signal to the UART. This
76PC0GPIO Port CBidirectional
TxD1Transmit Data OutputThis pin is used by the UART to transmit
77PC1GPIO Port CBidirectional
This pin can be used for general-purpose
I/O. It can be individually programmed as
input or output and can also be used individually as an interrupt input. Each Port D
pin, when programmed as output, can be
selected to be an open-drain or opensource output. Port D is multiplexed with
one UART.
signal is multiplexed with PD7.
This pin can be used for general-purpose
I/O. It can be individually programmed as
input or output and can also be used individually as an interrupt input. Each Port C
pin, when programmed as output, can be
selected to be an open-drain or opensource output. Port C is multiplexed with
one UART.
asynchronous serial data. This signal is
multiplexed with PC0.
This pin can be used for general-purpose
I/O. It can be individually programmed as
input or output and can also be used individually as an interrupt input. Each Port C
pin, when programmed as output, can be
selected to be an open-drain or opensource output. Port C is multiplexed with
one UART.
RxD1Receive DataInputThis pin is used by the UART to receive
asynchronous serial data. This signal is
multiplexed with PC1.
PS013011-0204PRELIMINARY Architectural Overview
eZ80L92 Product Specification
Table 1. 100-Pin LQFP Pin Identification of the eZ80L92 Device (Continued)
Pin #SymbolFunctionSignal DirectionDescription
16
78PC2GPIO Port CBidirectional
RTS1Request to
Send
79PC3GPIO Port CBidirectional
CTS1Clear to SendInput, Active LowModem status signal to the UART. This
80PC4GPIO Port CBidirectional
Output, Active LowModem control signal from UART. This sig-
This pin can be used for general-purpose
I/O. It can be individually programmed as
input or output and can also be used individually as an interrupt input. Each Port C
pin, when programmed as output, can be
selected to be an open-drain or opensource output. Port C is multiplexed with
one UART.
nal is multiplexed with PC2.
This pin can be used for general-purpose
I/O. It can be individually programmed as
input or output and can also be used individually as an interrupt input. Each Port C
pin, when programmed as output, can be
selected to be an open-drain or opensource output. Port C is multiplexed with
one UART.
signal is multiplexed with PC3.
This pin can be used for general-purpose
I/O. It can be individually programmed as
input or output and can also be used individually as an interrupt input. Each Port C
pin, when programmed as output, can be
selected to be an open-drain or opensource output. Port C is multiplexed with
one UART.
DTR1Data Terminal
Ready
81PC5GPIO Port CBidirectional
DSR1Data Set
Ready
PS013011-0204PRELIMINARY Architectural Overview
Output, Active LowModem control signal to the UART. This
signal is multiplexed with PC4.
This pin can be used for general-purpose
I/O. It can be individually programmed as
input or output and can also be used individually as an interrupt input. Each Port C
pin, when programmed as output, can be
selected to be an open-drain or opensource output. Port C is multiplexed with
one UART.
Input, Active LowModem status signal to the UART. This
signal is multiplexed with PC5.
eZ80L92 Product Specification
Table 1. 100-Pin LQFP Pin Identification of the eZ80L92 Device (Continued)
Pin #SymbolFunctionSignal DirectionDescription
17
82PC6GPIO Port CBidirectional
DCD1Data Carrier
Input, Active LowModem status signal to the UART. This
Detect
83PC7GPIO Port CBidirectional
RI1Ring Indicator Input, Active LowModem status signal to the UART. This
84V
85X
SS
IN
GroundGround.
System Clock
InputThis pin is the input to the onboard crystal
Oscillator Input
86X
OUT
System Clock
OutputThis pin is the output of the onboard crystal
Oscillator Output
87V
DD
Power SupplyPower Supply.
This pin can be used for general-purpose
I/O. It can be individually programmed as
input or output and can also be used individually as an interrupt input. Each Port C
pin, when programmed as output, can be
selected to be an open-drain or opensource output. Port C is multiplexed with
one UART.
signal is multiplexed with PC6.
This pin can be used for general-purpose
I/O. It can be individually programmed as
input or output and can also be used individually as an interrupt input. Each Port C
pin, when programmed as output, can be
selected to be an open-drain or opensource output. Port C is multiplexed with
one UART.
signal is multiplexed with PC7.
oscillator for the primary system clock. If an
external oscillator is used, its clock output
should be connected to this pin. When a
crystal is used, it should be connected
between XIN and X
OUT
.
oscillator. When used, a crystal should be
connected between XIN and X
OUT
.
PS013011-0204PRELIMINARY Architectural Overview
eZ80L92 Product Specification
Table 1. 100-Pin LQFP Pin Identification of the eZ80L92 Device (Continued)
Pin #SymbolFunctionSignal DirectionDescription
18
88PB0GPIO Port BBidirectional
T0_INTimer 0 InInputAlternate clock source for Programmable
89PB1GPIO Port BBidirectional
T1_INTimer 1 InInputAlternate clock source for Programmable
90PB2GPIO Port BBidirectional
This pin can be used for general-purpose
I/O. It can be individually programmed as
input or output and can also be used individually as an interrupt input. Each Port B
pin, when programmed as output, can be
selected to be an open-drain or opensource output.
Reload Timers 0 and 2. This signal is multiplexed with PB0.
This pin can be used for general-purpose
I/O. It can be individually programmed as
input or output and can also be used individually as an interrupt input. Each Port B
pin, when programmed as output, can be
selected to be an open-drain or opensource output.
Reload Timers 1 and 3. This signal is multiplexed with PB1.
This pin can be used for general-purpose
I/O. It can be individually programmed as
input or output and can also be used individually as an interrupt input. Each Port B
pin, when programmed as output, can be
selected to be an open-drain or opensource output.
SSSlave SelectInput, Active Low The slave select input line is used to select
a slave device in SPI mode. This signal is
multiplexed with PB2.
91PB3GPIO Port BBidirectional
SCKSPI Serial
Clock
PS013011-0204PRELIMINARY Architectural Overview
BidirectionalSPI serial clock. This signal is multiplexed
This pin can be used for general-purpose
I/O. It can be individually programmed as
input or output and can also be used individually as an interrupt input. Each Port B
pin, when programmed as output, can be
selected to be an open-drain or opensource output.
with PB3.
eZ80L92 Product Specification
Table 1. 100-Pin LQFP Pin Identification of the eZ80L92 Device (Continued)
This pin can be used for general-purpose
I/O. It can be individually programmed as
input or output and can also be used individually as an interrupt input. Each Port B
pin, when programmed as output, can be
selected to be an open-drain or opensource output.
signal. This signal is multiplexed with PB4.
This pin can be used for general-purpose
I/O. It can be individually programmed as
input or output and can also be used individually as an interrupt input. Each Port B
pin, when programmed as output, can be
selected to be an open-drain or opensource output.
signal. This signal is multiplexed with PB5.
This pin can be used for general-purpose
I/O. It can be individually programmed as
input or output and can also be used individually as an interrupt input. Each Port B
pin, when programmed as output, can be
selected to be an open-drain or opensource output.
MISOMaster In
Slave Out
PS013011-0204PRELIMINARY Architectural Overview
BidirectionalThe MISO line is configured as an input
when the eZ80L92 is an SPI master device
and as an output when eZ80L92 is an SPI
slave device. This signal is multiplexed
with PB6.
eZ80L92 Product Specification
Table 1. 100-Pin LQFP Pin Identification of the eZ80L92 Device (Continued)
Pin #SymbolFunctionSignal DirectionDescription
20
95PB7GPIO Port BBidirectional
MOSIMaster Out
Slave In
96V
97V
98SDAI2C Serial Data BidirectionalThis pin carries the I2C data signal.
99SCLI2C Serial
100PHISystem Clock OutputThis pin is an output drivenbythe internal
DD
SS
Power SupplyPower Supply.
GroundGround.
Clock
Bidirectional The MOSI line is configured as an output
BidirectionalThis pin is used to receive and transmit the
This pin can be used for general-purpose
I/O. It can be individually programmed as
input or output and can also be used individually as an interrupt input. Each Port B
pin, when programmed as output, can be
selected to be an open-drain or opensource output.
when the eZ80L92 is an SPI master device
and as an input when the eZ80L92 is an
SPI slave device. This signal is multiplexed
with PB7.
I2C clock.
system clock.
Pin Characteristics
Table 2 describes the characteristics of each pin in the eZ80L92’s 100-pin LQFP
package.
Table 2. Pin Characteristics of the eZ80™ Webserver-i
Schmitt
Reset
Pin #SymbolDirection
1ADDR0
2ADDR1
3ADDR2
4ADDR3
5ADDR4
6ADDR5
7V
PS013011-0204PRELIMINARY Architectural Overview
DD
I/OON/AYesNoNoNo
I/OON/AYesNoNoNo
I/OON/AYesNoNoNo
I/OON/AYesNoNoNo
I/OON/AYesNoNoNo
I/OON/AYesNoNoNo
Direction
Active
Low/High
Tristate
Output
Pull
Up/Down
Trigger
Input
Open
Drain/Source
Table 2. Pin Characteristics of the eZ80™ Webserver-i (Continued)
Pin #SymbolDirection
Reset
Direction
Active
Low/High
Tristate
Output
eZ80L92 Product Specification
Schmitt
Pull
Up/Down
Trigger
Input
Open
Drain/Source
21
8V
SS
9ADDR6
10ADDR7
11ADDR8
12ADDR9
13ADDR10
14ADDR11
15ADDR12
16ADDR13
17ADDR14
18V
19V
DD
SS
20ADDR15
21ADDR16
22ADDR17
23ADDR18
24ADDR19
I/OON/AYesNoNoNo
I/OON/AYesNoNoNo
I/OON/AYesNoNoNo
I/OON/AYesNoNoNo
I/OON/AYesNoNoNo
I/OON/AYesNoNoNo
I/OON/AYesNoNoNo
I/OON/AYesNoNoNo
I/OON/AYesNoNoNo
I/OON/AYesNoNoNo
I/OON/AYesNoNoNo
I/OON/AYesNoNoNo
I/OON/AYesNoNoNo
I/OON/AYesNoNoNo
25ADDR20
26ADDR21
27ADDR22
28ADDR23
29CS0
30CS1
31CS2
32CS3
33V
34V
DD
SS
35DATA0
PS013011-0204PRELIMINARY Architectural Overview
I/OON/AYesNoNoNo
I/OON/AYesNoNoNo
I/OON/AYesNoNoNo
I/OON/AYesNoNoNo
OOLowNoNoNoNo
OOLowNoNoNoNo
OOLowNoNoNoNo
OOLowNoNoNoNo
I/OIN/AYesNoNoNo
Table 2. Pin Characteristics of the eZ80™ Webserver-i (Continued)
Pin #SymbolDirection
Reset
Direction
Active
Low/High
Tristate
Output
eZ80L92 Product Specification
Schmitt
Pull
Up/Down
Trigger
Input
Open
Drain/Source
22
36DATA1
37DATA2
38DATA3
39DATA4
40DATA5
41DATA6
42DATA7
43V
44V
DD
SS
45IORQ
46MREQ
47RD
48WR
49INSTRD
50WAIT
51RESET
52NMI
I/OIN/AYesNoNoNo
I/OIN/AYesNoNoNo
I/OIN/AYesNoNoNo
I/OIN/AYesNoNoNo
I/OIN/AYesNoNoNo
I/OIN/AYesNoNoNo
I/OIN/AYesNoNoNo
I/OOLowYesNoNoNo
I/OOLowYesNoNoNo
OOLowNoNoNoNo
OOLowNoNoNoNo
OOLowNoNoNoNo
IILowN/ANoNoN/A
IILowN/AUpYesN/A
IILowN/ANoYesN/A
53BUSREQ
54BUSACK
55HALT_SLP
56V
57V
58RTC_X
59RTC_X
60RTC_
61V
DD
SS
SS
V
IN
OUT
DD
62TMS
PS013011-0204PRELIMINARY Architectural Overview
IILowN/ANoNoN/A
OOLowNoNoNoNo
OOLowNoNoNoNo
IIN/AN/ANoNoN/A
I/OUN/AN/ANoNoNo
IIN/AN/AUpNoN/A
Table 2. Pin Characteristics of the eZ80™ Webserver-i (Continued)
Pin #SymbolDirection
Reset
Direction
Active
Low/High
Tristate
Output
eZ80L92 Product Specification
Schmitt
Pull
Up/Down
Trigger
Input
Open
Drain/Source
23
63TCK
64TRIGOUT
65TDI
66TDO
67V
DD
68PD0
69PD1
70PD2
71PD3
72PD4
73PD5
74PD6
75PD7
76PC0
77PC1
IIRising (In)
N/AUpNoN/A
Falling
(Out)
I/OOHighYesNoNoNo
I/OIN/AYesUpNoNo
OON/AYesNoNoNo
I/OIN/AYesNoNoOD & OS
I/OIN/AYesNoNoOD & OS
I/OIN/AYesNoNoOD & OS
I/OIN/AYesNoNoOD & OS
I/OIN/AYesNoNoOD & OS
I/OIN/AYesNoNoOD & OS
I/OIN/AYesNoNoOD & OS
I/OIN/AYesNoNoOD & OS
I/OIN/AYesNoNoOD & OS
I/OIN/AYesNoNoOD & OS
78PC2
79PC3
80PC4
81PC5
82PC6
83PC7
84V
85X
86X
87V
SS
IN
OUT
DD
88PB0
89PB1
PS013011-0204PRELIMINARY Architectural Overview
I/OIN/AYesNoNoOD & OS
I/OIN/AYesNoNoOD & OS
I/OIN/AYesNoNoOD & OS
I/OIN/AYesNoNoOD & OS
I/OIN/AYesNoNoOD & OS
I/OIN/AYesNoNoOD & OS
IIN/AN/ANoNoN/A
OON/ANoNoNoNo
I/OIN/AYesNoNoOD & OS
I/OIN/AYesNoNoOD & OS
Table 2. Pin Characteristics of the eZ80™ Webserver-i (Continued)
Pin #SymbolDirection
Reset
Direction
Active
Low/High
Tristate
Output
eZ80L92 Product Specification
Schmitt
Pull
Up/Down
Trigger
Input
Open
Drain/Source
24
90PB2
91PB3
92PB4
93PB5
94PB6
95PB7
96V
97V
DD
SS
98SDA
99SCL
100PHI
I/OIN/AYesNoNoOD & OS
I/OIN/AYesNoNoOD & OS
I/OIN/AYesNoNoOD & OS
I/OIN/AYesNoNoOD & OS
I/OIN/AYesNoNoOD & OS
I/OIN/AYesNoNoOD & OS
I/OIN/AYesUpNoOD
I/OIN/AYesUpNoOD
OON/AYesNoNoNo
PS013011-0204PRELIMINARY Architectural Overview
Register Map
All on-chip peripheral registers are accessed in the I/O address space. All I/O
operations employ 16-bit addresses. The upper byte of the 24-bit address bus is
undefined during all I/O operations (ADDR[23:16] = UU). All I/O operations using
16-bit addresses within the range 0080h–00FFh are routed to the on-chip peripherals. External I/O Chip Selects are not generated if the address space programmed for the I/O Chip Selects overlaps the 0080h–00FFh address range.
Registers at unused addresses within the 0080h–00FFh range assigned to onchip peripherals are not implemented. READ access to such addresses returns
unpredictable values and WRITE access produces no effect. Table 3 diagrams
the register map for the eZ80L92.
eZ80L92 Product Specification
25
Table 3. Register Map
Address
(hex)MnemonicName
Programmable Reload Counter/Timers
0080TMR0_CTLTimer 0 Control Register
0081TMR0_DR_LTimer 0 Data Register—Low Byte
TMR0_RR_LTimer 0 Reload Register—Low Byte
0082TMR0_DR_HTimer 0 Data Register—High Byte
TMR0_RR_HTimer 0 Reload Register—High Byte
0083TMR1_CTLTimer 1 Control Register
0084TMR1_DR_LTimer 1 Data Register—Low Byte
TMR1_RR_LTimer 1 Reload Register—Low Byte
0085TMR1_DR_HTimer 1 Data Register—High Byte
TMR1_RR_HTimer 1 Reload Register—High Byte
0086TMR2_CTLTimer 2 Control Register
Notes:
1. After an external pin reset, the Watch-Dog Timer Control register is reset to 00h. After a Watch-Dog Timer timeout reset, the Watch-Dog Timer Control register is reset to 20h.
2. When the CPU reads this register, the current sampled value of the port is read.
3. Read-only if RTC is locked; Read/Write if RTC is unlocked.
4. After an external pin reset or a WDT reset, the RTC Control register is reset to x0xxxx00b. After an RTC Alarm
Sleep-Mode Recovery reset, the RTC Control register is reset to x0xxxx10b.
Reset
(hex)
00R/W81
00R82
00W83
00R83
00W84
00R/W81
00R82
00W83
00R83
00W84
00R/W81
CPU
Access
Page
#
PS013011-0204PRELIMINARY Register Map
eZ80L92 Product Specification
Table 3. Register Map (Continued)
26
Address
(hex)MnemonicName
Programmable Reload Counter/Timers
0087TMR2_DR_LTimer 2 Data Register—Low Byte
TMR2_RR_LTimer 2 Reload Register—Low Byte
0088TMR2_DR_HTimer 2 Data Register—High Byte
TMR2_RR_HTimer 2 Reload Register—High Byte
0089TMR3_CTLTimer 3 Control Register
008ATMR3_DR_LTimer 3 Data Register—Low Byte
TMR3_RR_LTimer 3 Reload Register—Low Byte
008BTMR3_DR_HTimer 3 Data Register—High Byte
TMR3_RR_HTimer 3 Reload Register—High Byte
008CTMR4_CTLTimer 4 Control Register
008DTMR4_DR_LTimer 4 Data Register—Low Byte
TMR4_RR_LTimer 4 Reload Register—Low Byte
008ETMR4_DR_HTimer 4 Data Register—High Byte
TMR4_RR_HTimer 4 Reload Register—High Byte
Reset
(hex)
CPU
Access
00R82
00W83
00R83
00W84
00R/W81
00R82
00W83
00R83
00W84
00R/W81
00R82
00W83
00R83
00W84
Page
#
008FTMR5_CTLTimer 5 Control Register
0090TMR5_DR_LTimer 5 Data Register—Low Byte
TMR5_RR_LTimer 5 Reload Register—Low Byte
0091TMR5_DR_HTimer 5 Data Register—High Byte
TMR5_RR_HTimer 5 Reload Register—High Byte
0092TMR_ISSTimer Input Source Select Register
00R/W81
00R82
00W83
00R83
00W84
00R/W84
Watch-Dog Timer
0093WDT_CTLWatch-Dog Timer Control Register
0094WDT_RRWatch-Dog Timer Reset Register
Notes:
1. After an external pin reset, the Watch-Dog Timer Control register is reset to 00h. After a Watch-Dog Timer timeout reset, the Watch-Dog Timer Control register is reset to 20h.
2. When the CPU reads this register, the current sampled value of the port is read.
3. Read-only if RTC is locked; Read/Write if RTC is unlocked.
4. After an external pin reset or a WDT reset, the RTC Control register is reset to x0xxxx00b. After an RTC Alarm
Sleep-Mode Recovery reset, the RTC Control register is reset to x0xxxx10b.
PS013011-0204PRELIMINARY Register Map
1
00/20R/W73
XXW74
eZ80L92 Product Specification
Table 3. Register Map (Continued)
27
Address
(hex)MnemonicName
General-Purpose Input/Output Ports
009APB_DRPort B Data Register
2
009BPB_DDRPort B Data Direction Register
009CPB_ALT1Port B Alternate Register 1
009DPB_ALT2Port B Alternate Register 2
009EPC_DRPort C Data Register
009FPC_DDRPort C Data Direction Register
00A0PC_ALT1Port C Alternate Register 1
00A1PC_ALT2Port C Alternate Register 2
00A2PD_DRPort D Data Register
00A3PD_DDRPort D Data Direction Register
00A4PD_ALT1Port D Alternate Register 1
00A5PD_ALT2Port D Alternate Register 2
Chip Select/Wait State Generator
00A8CS0_LBRChip Select 0 Lower Bound Register
Reset
(hex)
CPU
Access
XXR/W43
FFR/W44
00R/W44
00R/W44
XXR/W
2
FFR/W44
00R/W44
00R/W44
XXR/W
2
FFR/W44
00R/W44
00R/W44
00R/W67
Page
#
43
43
00A9CS0_UBRChip Select 0 Upper Bound Register
00AACS0_CTLChip Select 0 Control Register
00ABCS1_LBRChip Select 1 Lower Bound Register
00ACCS1_UBRChip Select 1 Upper Bound Register
00ADCS1_CTLChip Select 1 Control Register
00AECS2_LBRChip Select 2 Lower Bound Register
00AFCS2_UBRChip Select 2 Upper Bound Register
00B0CS2_CTLChip Select 2 Control Register
00B1CS3_LBRChip Select 3 Lower Bound Register
Notes:
1. After an external pin reset, the Watch-Dog Timer Control register is reset to 00h. After a Watch-Dog Timer timeout reset, the Watch-Dog Timer Control register is reset to 20h.
2. When the CPU reads this register, the current sampled value of the port is read.
3. Read-only if RTC is locked; Read/Write if RTC is unlocked.
4. After an external pin reset or a WDT reset, the RTC Control register is reset to x0xxxx00b. After an RTC Alarm
Sleep-Mode Recovery reset, the RTC Control register is reset to x0xxxx10b.
1. After an external pin reset, the Watch-Dog Timer Control register is reset to 00h. After a Watch-Dog Timer timeout reset, the Watch-Dog Timer Control register is reset to 20h.
2. When the CPU reads this register, the current sampled value of the port is read.
3. Read-only if RTC is locked; Read/Write if RTC is unlocked.
4. After an external pin reset or a WDT reset, the RTC Control register is reset to x0xxxx00b. After an RTC Alarm
Sleep-Mode Recovery reset, the RTC Control register is reset to x0xxxx10b.
1. After an external pin reset, the Watch-Dog Timer Control register is reset to 00h. After a Watch-Dog Timer timeout reset, the Watch-Dog Timer Control register is reset to 20h.
2. When the CPU reads this register, the current sampled value of the port is read.
3. Read-only if RTC is locked; Read/Write if RTC is unlocked.
4. After an external pin reset or a WDT reset, the RTC Control register is reset to x0xxxx00b. After an RTC Alarm
Sleep-Mode Recovery reset, the RTC Control register is reset to x0xxxx10b.
1. After an external pin reset, the Watch-Dog Timer Control register is reset to 00h. After a Watch-Dog Timer timeout reset, the Watch-Dog Timer Control register is reset to 20h.
2. When the CPU reads this register, the current sampled value of the port is read.
3. Read-only if RTC is locked; Read/Write if RTC is unlocked.
4. After an external pin reset or a WDT reset, the RTC Control register is reset to x0xxxx00b. After an RTC Alarm
Sleep-Mode Recovery reset, the RTC Control register is reset to x0xxxx10b.
PS013011-0204PRELIMINARY Register Map
eZ80L92 Product Specification
Table 3. Register Map (Continued)
31
Address
(hex)MnemonicName
Reset
(hex)
CPU
Access
Page
Chip Select Bus Mode Control
00F0CS0_BMCChip Select 0 Bus Mode Control Register
00F1CS1_BMCChip Select 1 Bus Mode Control Register
00F2CS2_BMCChip Select 2 Bus Mode Control Register
00F3CS3_BMCChip Select 3 Bus Mode Control Register
Notes:
1. After an external pin reset, the Watch-Dog Timer Control register is reset to 00h. After a Watch-Dog Timer timeout reset, the Watch-Dog Timer Control register is reset to 20h.
2. When the CPU reads this register, the current sampled value of the port is read.
3. Read-only if RTC is locked; Read/Write if RTC is unlocked.
4. After an external pin reset or a WDT reset, the RTC Control register is reset to x0xxxx00b. After an RTC Alarm
Sleep-Mode Recovery reset, the RTC Control register is reset to x0xxxx10b.
02hR/W69
02hR/W69
02hR/W69
02hR/W69
#
PS013011-0204PRELIMINARY Register Map
eZ80® CPU Core
The eZ80® CPU is the first 8-bit microprocessor to support 16 MB linear addressing. Each software module or task under a real-time executive or operating system can operate in Z80-compatible (64 KB) mode or full 24-bit (16 MB) address
mode.
The eZ80® CPU instruction set is a superset of the instruction sets for the Z80
and Z180 CPUs. Z80 and Z180 programs can be executed on an eZ80® CPU with
little or no modification.
Features
•Code-compatible with Z80 and Z180 products
eZ80L92 Product Specification
32
•24-bit linear address space
•Single-cycle instruction fetch
•Pipelined fetch, decode, and execute
•Dual Stack Pointers for ADL (24-bit) and Z80 (16-bit) memory modes
•24-bit CPU registers and ALU (Arithmetic Logic Unit)
•Debug support
•Nonmaskable Interrupt (NMI), plus support for 128 maskable vectored interrupts
New and Improved Instructions
•Four new block transfer instructions provide DMA-like operations for memory
to I/O and I/O to memory transfers. These new instructions are:
–
INDRX (input from I/O, decrement the memory address, leave the I/O
address unchanged, and repeat)
–
INIRX (input from I/O, increment the memory address, leave the I/O
address unchanged, and repeat)
–
OTDRX (output to I/O, decrement the memory address, leave the I/O
address unchanged, and repeat)
–
OTIRX (output to I/O, increment the memory address, leave the I/O
address unchanged, and repeat)
PS013011-0204PRELIMINARY eZ80® CPU Core
eZ80L92 Product Specification
•Four other block transfer instructions are modified to improve performance relative to the eZ80190 device. These modified instructions are:
–
IND2R (input from I/O, decrement the memory address, decrement the I/O
address, and repeat)
–
INI2R (input from I/O, increment the memory address, increment the I/O
address, and repeat)
–
OTD2R (output to I/O, decrement the memory address, decrement the I/O
address, and repeat)
–
OTI2R (output to I/O, increment the memory address, increment the I/O
address, and repeat)
For more information on the eZ80® CPU, its instruction set, and eZ80® programming, please refer to the eZ80 CPU User Manual. For more information on the
eZ80190, please refer to the eZ80190 Product Specification.
33
PS013011-0204PRELIMINARY eZ80® CPU Core
Reset
RESET Operation
eZ80L92 Product Specification
34
The RESET controller within the eZ80L92 provides a consistent system reset
(RESET) function for all type of resets that may affect the system. There are 4
events which can cause a RESET:
•External RESET pin assertion
•Watch-Dog Timer (WDT) time-out when configured to generate a RESET
•Real-Time Clock alarm with the eZ80® CPU in low-power SLEEP mode
•Execution of a Debug RESET command
During RESET, an internal RESET mode timer holds the system in RESET for
257 system clock (SCLK) cycles. The RESET mode timer begins incrementing on
the next rising edge of SCLK following deactivation of all RESET events (RESET
pin, Watch-Dog Timer, Real-Time Clock, Debugger)
Note:
RESET, via the external RESET pin, must always be executed following application of power (VDD ramp). Without RESET following power-up, proper operation of
the eZ80L92 cannot be guaranteed.
User must determine is 257 SCLK cycles provides sufficient time for the
primary crystal oscillator to stabilize.
PS013011-0204PRELIMINARY Reset
Low-Power Modes
Overview
The eZ80L92 provides a range of power-saving features. The highest level of
power reduction is provided by SLEEP mode. The next level of power reduction is
provided by the HALT instruction. The lowest level of power reduction is provided
by the clock peripheral power-down registers.
SLEEP Mode
Execution of the eZ80® CPU’s SLP instruction places the eZ80L92 into SLEEP
mode. In SLEEP mode, the operating characteristics are:
eZ80L92 Product Specification
35
•Primary crystal oscillator is disabled
•System clock is disabled
•eZ80® CPU is idle
•Program counter (PC) stops incrementing
•32 KHz crystal oscillator continues to operate and drive the Real-Time Clock
and the Watch-Dog Timer (if WDT is configured to operate from the 32 KHz
oscillator)
The eZ80® CPU can be brought out of SLEEP mode by any of the following operations:
•RESET via the external RESET pin driven Low
•RESET via a Real-Time Clock alarm
•RESET via a Watch-Dog Timer time-out (if running off of the 32 KHz oscillator
and configured to generate a RESET upon time-out)
•RESET via execution of a Debug RESET command
After exiting SLEEP mode, the standard RESET delay occurs to allow the primary
crystal oscillator to stabilize. Refer to the Reset section on page 34 for more information.
PS013011-0204PRELIMINARY Low-Power Modes
HALT Mode
Execution of the eZ80® CPU’s HALT instruction places the eZ80L92 into HALT
mode. In HALT mode, the operating characteristics are:
•Primary crystal oscillator is enabled and continues to operate
•System clock is enabled and continues to operate
•eZ80® CPU is idle
•Program counter (PC) stops incrementing
The eZ80® CPU can be brought out of HALT mode by any of the following operations:
•Nonmaskable interrupt (NMI)
eZ80L92 Product Specification
36
•Maskable interrupt
•RESET via the external RESET pin driven Low
•Watch-Dog Timer time-out (if configured to generate either an NMI or RESET
upon time-out)
•RESET via execution of a Debug RESET command
To minimize current in HALT mode, the system clock should be disabled for all
unused on-chip peripherals via the Clock Peripheral Power-Down Registers.
Clock Peripheral Power-Down Registers
To reduce power, the Clock Peripheral Power-Down Registers allow the system
clock to be disabled to unused on-chip peripherals. Upon RESET, all peripherals
are enabled. The clock to unused peripherals can be disabled by setting the
appropriate bit in the Clock Peripheral Power-Down Registers to 1. When powered down, the peripherals are completely disabled. To reenable, the bit in the
Clock Peripheral Power-Down Registers must be cleared to 0.
Many peripherals feature separate enable/disable control bits that must be appropriately set for operation. These peripheral specific enable/disable bits do not provide the same level of power reduction as the Clock Peripheral Power-Down
Registers. When powered down, the standard peripheral control registers are not
accessible for read or write access. See Tables 4 and 5.
1PHI Clock output is disabled (output is high-impedance).
0PHI Clock output is enabled.
1System clock to PRT5 is powered down.
0System clock to PRT5 is powered up.
1System clock to PRT4 is powered down.
0System clock to PRT4 is powered up.
1System clock to PRT3 is powered down.
0System clock to PRT3 is powered up.
1System clock to PRT2 is powered down.
0System clock to PRT2 is powered up.
1System clock to PRT1 is powered down.
0System clock to PRT1 is powered up.
1System clock to PRT0 is powered down.
0System clock to PRT0 is powered up.
00000000
R/WRR/WR/WR/WR/WR/WR/W
38
PS013011-0204PRELIMINARY Low-Power Modes
eZ80L92 Product Specification
General-Purpose Input/Output
GPIO Overview
The eZ80L92 features 24 General-Purpose Input/Output (GPIO) pins. The GPIO
pins are assembled as three 8-bit ports— Port B, Port C, and Port D. All port signals can be configured for use as either inputs or outputs. In addition, all of the
port pins can be used as vectored interrupt sources for the eZ80® CPU.
GPIO Operation
The GPIO operation is the same for all 3 GPIO ports (Ports B, C, and D). Each
port features eight GPIO port pins. The operating mode for each pin is controlled
by four bits that are divided between four 8-bit registers. These GPIO mode control registers are:
39
•Port x Data Register (Px_DR)
•Port x Data Direction Register (Px_DDR)
•Port x Alternate Register 1 (Px_ALT1)
•Port x Alternate Register 2 (Px_ALT2)
where x can be B, C, or D representing any of the three GPIO ports B, C, or D.
The mode for each pin is controlled by setting each register bit pertinent to the pin
to be configured. For example, the operating mode for Port B Pin 7 (PB7), is set
by the values contained in PB_DR[7], PB_DDR[7], PB_ALT1[7], and PB_ALT2[7].
The combination of the GPIO control register bits allows individual configuration of
each port pin for nine modes. In all modes, reading of the Port x Data register
returns the sampled state, or level, of the signal on the corresponding pin. Table 6
indicates the function of each port signal based upon these four register bits. After
a RESET event, all GPIO port pins are configured as standard digital inputs, with
interrupts disabled.
Port B, C, or D—alternate function controls port I/O.
Port B, C, or D—alternate function controls port I/O.
Interrupt—active LowHigh impedance
Interrupt—active HighHigh impedance
Interrupt—falling edge triggered High impedance
1111
GPIO Mode 1.
The port pin is configured as a standard digital output pin. The
Interrupt—rising edge triggered High impedance
value written to the Port x Data register (Px_DR) is presented on the pin.
GPIO Mode 2.
The port pin is configured as a standard digital input pin. The output
is tristated (high impedance). The value stored in the Port x Data register produces no effect. As in all modes, a Read from the Port x Data register returns the
pin’s value. GPIO Mode 2 is the default operating mode following a RESET.
GPIO Mode 3.
The port pin is configured as open-drain I/O. The GPIO pins do not
feature an internal pull-up to the supply voltage. To employ the GPIO pin in
OPEN-DRAIN mode, an external pull-up resistor must connect the pin to the supply voltage. Writing a 0 to the Port x Data register outputs a Low at the pin. Writing
a 1 to the Port x Data register results in high-impedance output.
GPIO Mode 4. The port pin is configured as open-source I/O. The GPIO pins do
not feature an internal pull-down to the supply ground. To employ the GPIO pin in
OPEN-SOURCE mode, an external pull-down resistor must connect the pin to the
supply ground. Writing a 1 to the Port x Data register outputs a High at the pin.
Writing a 0 to the Port x Data register results in a high-impedance output.
GPIO Mode 5. Reserved. This pin produces high-impedance output.
GPIO Mode 6. This bit enables a dual edge-triggered interrupt mode. Both a rising
and a falling edge on the pin cause an interrupt request to be sent to the eZ80®
CPU. Writing a 1 to the Port x Data register bit position resets the corresponding
interrupt request. Writing a 0 produces no effect. The programmer must set the
Port x Data register before entering the edge-triggered interrupt mode.
41
GPIO M
ode 7
. For Ports B, C, and D, the port pin is configured to pass control over
to the alternate (secondary) functions assigned to the pin. For example, the alternate mode function for PC7 is RI1 and the alternate mode function for PB4 is the
Timer 4 Out. When GPIO Mode 7 is enabled, the pin output data and pin tristated
control come from the alternate function's data output and tristate control, respectively. The value in the Port x Data register produces no effect on operation.
Note:
Input signals are sampled by the system clock before being passed to the
alternate function input.
GPIO M
ode 8
. The port pin is configured for level-sensitive interrupt modes. An
interrupt request is generated when the level at the pin is the same as the level
stored in the Port x Data register. The port pin value is sampled by the system
clock. The input pin must be held at the selected interrupt level for a minimum of 2
clock periods to initiate an interrupt. The interrupt request remains active as long
as this condition is maintained at the external source.
GPIO M
ode 9
. The port pin is configured for single edge-triggered interrupt mode.
The value in the Port x Data register determines if a positive or negative edge
causes an interrupt request. A 0 in the Port x Data register bit sets the selected
pin to generate an interrupt request for falling edges. A 1 in the Port x Data register bit sets the selected pin to generate an interrupt request for rising edges. The
interrupt request remains active until a 1 is written to the corresponding interrupt
request of the Port x Data register bit. Writing a 0 produces no effect on operation.
The programmer must set the Port x Data register before entering the edge-triggered interrupt mode.
A simplified block diagram of a GPIO port pin is illustrated in Figure 3.
Each port pin can be used as an interrupt source. Interrupts can be either level- or
edge-triggered.
Level-Triggered Interrupts
When the port is configured for level-triggered interrupts, the corresponding port
pin is tristated. An interrupt request is generated when the level at the pin is the
same as the level stored in the Port x Data register. The port pin value is sampled
by the system clock. The input pin must be held at the selected interrupt level for a
minimum of 2 consecutive clock cycles to initiate an interrupt. The interrupt
request remains active as long as this condition is maintained at the external
source.
Mode 1
Mode 3
Figure 3. GPIO Port Pin Block Diagram
Port
Pin
GND
For example, if PD3 is programmed for low-level interrupt and the pin is forced
Low for 2 consecutive clock cycles, an interrupt request signal is generated from
that port pin and sent to the eZ80® CPU. The interrupt request signal remains
active until the external device driving PD3 forces the pin High.
Edge-Triggered Interrupts
When the port is configured for edge-triggered interrupts, the corresponding port
pin is tristated. If the pin receives the correct edge from an external device, the
port pin generates an interrupt request signal to the eZ80® CPU. Any time a port
pin is configured for edge-triggered interrupt, writing a 1 to that pin’s Port x Data
register causes a reset of the edge-detected interrupt. The programmer must set
the bit in the Port x Data register to 1 before entering either single or dual edgetriggered interrupt mode for that port pin.
When configured for dual edge-triggered interrupt mode (GPIO Mode 6), both a
rising and a falling edge on the pin cause an interrupt request to be sent to the
eZ80® CPU.
When configured for single edge-triggered interrupt mode (GPIO Mode 9), the
value in the Port x Data register determines if a positive or negative edge causes
an interrupt request. A 0 in the Port x Data register bit sets the selected pin to generate an interrupt request for falling edges. A 1 in the Port x Data register bit sets
the selected pin to generate an interrupt request for rising edges.
43
GPIO Control Registers
The 12 GPIO Control Registers operate in groups of four with a set for each Port
(B, C, and D). Each GPIO port features a Port Data register, Port Data Direction
register, Port Alternate register 1, and Port Alternate register 2.
Port x Data Registers
When the port pins are configured for one of the output modes, the data written to
the Port x Data registers, detailed in Table 7, are driven on the corresponding
pins. In all modes, reading from the Port x Data registers always returns the current sampled value of the corresponding pins. When the port pins are configured
as edge-triggered interrupt sources, writing a 1 to the corresponding bit in the Port
x Data register clears the interrupt signal that is sent to the eZ80® CPU. When the
port pins are configured for edge-selectable interrupts or level-sensitive interrupts,
the value written to the Port x Data register bit selects the interrupt edge or interrupt level. See Table 6 for more information.
Table 7. Port x Data Registers (PB_DR = 009Ah, PC_DR = 009Eh, PD_DR = 00A2h)
In conjunction with the other GPIO Control Registers, the Port x Data Direction
registers, detailed in Table 8, control the operating modes of the GPIO port pins.
See Table 6 for more information.
Table 8. Port x Data Direction Registers
(PB_DDR = 009Bh, PC_DDR = 009Fh, PD_DDR = 00A3h)
Bit76543210
Reset
CPU Access
Note: R/W = Read/Write.
11111111
R/WR/WR/WR/WR/WR/WR/WR/W
44
Port x Alternate Register 1
In conjunction with the other GPIO Control Registers, the Port x Alternate
Register 1, detailed in Table 9, control the operating modes of the GPIO port pins.
See Table 6 for more information.
In conjunction with the other GPIO Control Registers, the Port x Alternate
Register 2, detailed in Table 10, control the operating modes of the GPIO port
pins. See Table 6 for more information.
The interrupt controller on the eZ80L92 routes the interrupt request signals from
the internal peripherals and external devices (via the GPIO pins) to the eZ80®
CPU.
Maskable Interrupts
On the eZ80L92, all maskable interrupts use the eZ80® CPU’s vectored interrupt
function. Table 11 lists the low-byte vector for each of the maskable interrupt
sources. The maskable interrupt sources are listed in order of their priority, with
vector 00h being the highest-priority interrupt. The full 16-bit interrupt vector is
located at starting address {I[7:0], IVECT[7:0]} where I[7:0] is the eZ80® CPU’s
Interrupt Page Address Register.
eZ80L92 Product Specification
45
Table 11. Interrupt Vector Sources by Priority
VectorSourceVectorSourceVectorSourceVectorSource
00hUnused1AhUART 134hPort B 24EhPort C 7
02hUnused1ChI2C36hPort B 350hPort D 0
04hUnused1EhSPI38hPort B 452hPort D 1
06hUnused20hUnused3AhPort B 554hPort D 2
08hUnused22hUnused3ChPort B 656hPort D 3
0AhPRT 024hUnused3EhPort B 758hPort D 4
0ChPRT 126hUnused40hPort C 05AhPort D 5
0EhPRT 228hUnused42hPort C 15ChPort D 6
10hPRT 32AhUnused44hPort C 25EhPort D 7
12hPRT 42ChUnused46hPort C 360hUnused
14hPRT 52EhUnused48hPort C 462hUnused
16hRTC30hPort B 04AhPort C 564hUnused
18hUART 032hPort B 14ChPort C 666hUnused
Note: Absolute locations 00h, 08h, 10h, 18h, 20h, 28h, 30h, 38h, and 66h are reserved for hardware
reset, NMI, and the RST instruction.
The user’s program should store the interrupt service routine starting address in
the two-byte interrupt vector locations. For example, for ADL mode the two-byte
address for the SPI interrupt service routine would be stored at {00h, I[7:0], 1Eh}
PS013011-0204PRELIMINARY Interrupt Controller
eZ80L92 Product Specification
and {00h, I[7:0], 1Fh}. In Z80 mode, the two-byte address for the SPI interrupt service routine would be stored at {MBASE[7:0], I[7:0], 1Eh} and {MBASE, I[7:0],
1Fh}. The least significant byte is stored at the lower address.
When any one or more of the interrupt requests (IRQs) become active, an interrupt request is generated by the interrupt controller and sent to the CPU. The corresponding 8-bit interrupt vector for the highest priority interrupt is placed on the
8-bit interrupt vector bus, IVECT[7:0]. The interrupt vector bus is internal to the
eZ80L92 and is therefore not visible externally. The response time of the eZ80®
CPU to an interrupt request is a function of the current instruction being executed
as well as the number of WAIT states being asserted. The interrupt vector, {I[7:0],
IVECT[7:0]}, is visible on the address bus, ADDR[15:0], when the interrupt service
routine begins. The response of the eZ80® CPU to a vectored interrupt on the
eZ80L92 is explained in Table 12. Interrupt sources are required to be active until
the Interrupt Service Routine (ISR) starts. It is recommended that the Interrupt
Page Address Register (I) value be changed by the user from its default value of
00h as this address can create conflicts between the nonmaskable interrupt vector, the RST instruction addresses, and the maskable interrupt vectors.
46
Table 12. Vectored Interrupt Operation
Memory
Mode
Z80 Mode00Read the LSB of the interrupt vector placed on the internal vectored
ADL Mode10Read the LSB of the interrupt vector placed on the internal vectored
ADL
Bit
MADL
BitOperation
interrupt bus, IVECT [7:0], by the interrupting peripheral.
•
IEF1 ← 0
•
IEF2 ← 0
• The starting Program Counter is effectively {MBASE, PC[15:0]}.
• Push the 2-byte return address PC[15:0] onto the ({MBASE,SPS}) stack.
• The ADL mode bit remains cleared to 0.
• The interrupt vector address is located at { MBASE, I[7:0], IVECT[7:0] }.
• PC[15:0] ← ( { MBASE, I[7:0], IVECT[7:0] } ).
• The ending Program Counter is effectively {MBASE, PC[15:0]}
• The interrupt service routine must end with RETI.
interrupt bus, IVECT [7:0], by the interrupting peripheral.
• IEF1 ← 0
• IEF2 ← 0
• The starting Program Counter is PC[23:0].
• Push the 3-byte return address, PC[23:0], onto the SPL stack.
• The ADL mode bit remains set to 1.
• The interrupt vector address is located at { 00h, I[7:0], IVECT[7:0] }.
• PC[15:0] ← ( { 00h, I[7:0], IVECT[7:0] } ).
• The ending Program Counter is { 00h, PC[15:0] }.
• The interrupt service routine must end with RETI.
Z80 Mode01Read the LSB of the interrupt vector placed on the internal vectored
ADL Mode11Read the LSB of the interrupt vector placed on the internal vectored
ADL
Bit
MADL
BitOperation
interrupt bus, IVECT[7:0], bus by the interrupting peripheral.
• IEF1 ← 0
• IEF2 ← 0
• The starting Program Counter is effectively {MBASE, PC[15:0]}.
• Push the 2-byte return address, PC[15:0], onto the SPL stack.
• Push a 00h byte onto the SPL stack to indicate an interrupt from Z80
mode (because ADL = 0).
• Set the ADL mode bit to 1.
• The interrupt vector address is located at { 00h, I[7:0], IVECT[7:0] }.
• PC[15:0] ← ( { 00h, I[7:0], IVECT[7:0] } ).
• The ending Program Counter is { 00h, PC[15:0] }.
• The interrupt service routine must end with RETI.L
interrupt bus, IVECT [7:0], by the interrupting peripheral.
• IEF1 ← 0
• IEF2 ← 0
• The starting Program Counter is PC[23:0].
• Push the 3-byte return address, PC[23:0], onto the SPL stack.
• Push a 01h byte onto the SPL stack to indicate a restart from ADL mode
(because ADL = 1).
• The ADL mode bit remains set to 1.
• The interrupt vector address is located at {00h, I[7:0], IVECT[7:0]}.
• PC[15:0] ← ( { 00h, I[7:0], IVECT[7:0] } ).
• The ending Program Counter is { 00h, PC[15:0] }.
• The interrupt service routine must end with RETI.L
Nonmaskable Interrupts
An active Low input on the NMI pin generates an interrupt request to the eZ80®
CPU. This nonmaskable interrupt is always serviced by the eZ80® CPU, regardless of the state of the Interrupt Enable flags (IEF1 and IEF2). The nonmaskable
interrupt is prioritized higher than all maskable interrupts. The response of the
eZ80® CPU to a nonmaskable interrupt is described in detail in the eZ80® CPU
User Manual (UM0077).
PS013011-0204PRELIMINARY Interrupt Controller
eZ80L92 Product Specification
Chip Selects and Wait States
The eZ80L92 generates four Chip Selects for external devices. Each Chip Select
may be programmed to access either memory space or I/O space. The Memory
Chip Selects can be individually programmed on a 64 KB boundary. The I/O Chip
Selects can each choose a 256-byte section of I/O space. In addition, each Chip
Select may be programmed for up to 7 wait states.
Memory and I/O Chip Selects
Each of the Chip Selects can be enabled for either the memory address space or
the I/O address space, but not both. To select the memory address space for a
particular Chip Select, CSx_IO (CSx_CTL[4]) must be reset to 0. To select the I/O
address space for a particular Chip Select, CSx_IO must be set to 1. After
RESET, the default is for all Chip Selects to be configured for the memory address
space. For either the memory address space or the I/O address space, the individual Chip Selects must be enabled by setting CSx_EN (CSx_CTL[3]) to 1.
48
Memory Chip Select Operation
Operation of each of the Memory Chip Selects is controlled by three control registers. To enable a particular Memory Chip Select, the following conditions must be
met:
•The Chip Select is enabled by setting CSx_EN to 1
•The Chip Select is configured for Memory by clearing CSx_IO to 0
•The address is in the associated Chip Select range:
•Depending upon the instruction, either RD or WR is asserted (driven Low)
If the upper and lower bounds are set to the same value (CSx_UBR = CSx_LBR),
then a particular Chip Select is valid for a single 64 KB page.
CSx
_UBR[7:0]
PS013011-0204PRELIMINARY Chip Selects and Wait States
eZ80L92 Product Specification
Memory Chip Select Priority
A lower-numbered Chip Select is granted priority over a higher-numbered Chip
Select. For example, if the address space of Chip Select 0 overlaps the Chip
Select 1 address space, Chip Select 0 is active.
RESET States
On RESET, Chip Select 0 is active for all addresses, because its Lower Bound
register resets to 00h and its Upper Bound register resets to FFh. All of the other
Chip Select Lower and Upper Bound registers reset to 00h.
Memory Chip Select Example
The use of Memory Chip Selects is demonstrated in Figure 4. The associated
control register values indicated in Table 13. In this example, all 4 Chip Selects
are enabled and configured for memory addresses. Also, CS1 overlaps with CS0.
Because CS0 is prioritized higher than CS1, CS1 is not active for much of its
defined address space.
49
CS3_UBR = FFh
CS3_LBR = D0h
CS2_UBR = CFh
CS2_LBR = A0h
CS1_UBR = 9Fh
CS0_UBR = 7Fh
CS0_LBR = CS1_LBR = 00h
Figure 4. Memory Chip Select Example
CS3 Active
3 MB Address Space
CS2 Active
3 MB Address Space
CS1 Active
2 MB Address Space
CS0 Active
8 MB Address Space
Memory
Location
FFFFFFh
D00000h
CFFFFFh
A00000h
9FFFFFh
800000h
7FFFFFh
000000h
PS013011-0204PRELIMINARY Chip Selects and Wait States
eZ80L92 Product Specification
Table 13. Register Values for Memory Chip Select Example in Figure 4
50
Chip
Select
CS01000h7FhCS0 is enabled as a Memory Chip Select.
CS11000h9FhCS1 is enabled as a Memory Chip Select.
CS210A0hCFhCS2 is enabled as a Memory Chip Select.
CS310D0hFFhCS3 is enabled as a Memory Chip Select.
CSx_CTL[3]
CSx_EN
CSx_CTL[4]
CSx_IOCSx_LBR CSx_UBR Description
Valid addresses range from 000000h–
7FFFFFh.
Valid addresses range from 800000h–
9FFFFFh.
Valid addresses range from A00000h–
CFFFFFh.
Valid addresses range from D00000h–
FFFFFFh.
I/O Chip Select Operation
I/O Chip Selects can only be active when the CPU is performing I/O instructions.
Because the I/O space is separate from the memory space in the eZ80L92
device, there can never be a conflict between I/O and memory addresses.
The eZ80L92 supports a 16-bit I/O address. The I/O Chip Select logic decodes
the High byte of the I/O address, ADDR[15:8]. Because the upper byte of the
address bus, ADDR[23:16], is ignored, the I/O devices can always be accessed
from within any memory mode (ADL or Z80). The MBASE offset value used for
setting the Z80 MEMORY mode page is also always ignored.
Four I/O Chip Selects are available with the eZ80L92. To generate a particular I/O
Chip Select, the following conditions must be met:
•The Chip Select is enabled by setting CSX_EN to 1
•The Chip Select is configured for I/O by setting CSx_IO to 1
•An I/O Chip Select address match occurs—ADDR[15:8] = CSx_LBR[7:0]
•No higher-priority (lower-number) Chip Select meets the above conditions
•The I/O address is not within the on-chip peripheral address range 0080h–
00FFh. On-chip peripheral registers assume priority for all addresses where:
0080h
≤ ADDR[15:0] ≤
00FFh
•An I/O instruction must be executing
PS013011-0204PRELIMINARY Chip Selects and Wait States
If all of the foregoing conditions are met to generate an I/O Chip Select, then the
following actions occur:
•Depending upon the instruction, either RD or WR is asserted (driven Low)
WAIT States
For each of the Chip Selects, programmable WAIT states can be asserted to provide external devices with additional clock cycles to complete their Read or Write
operations. The number of WAIT states for a particular Chip Select is controlled
by the 3-bit field CSx_WAIT (CSx_CTL[7:5]). The WAIT states can be independently programmed to provide 0 to 7 WAIT states for each Chip Select. The WAIT
states idle the CPU for the specified number of system clock cycles.
eZ80L92 Product Specification
51
WAIT Input Signal
Similar to the programmable WAIT states, an external peripheral can drive the
WAIT input pin to force the CPU to provide additional clock cycles to complete its
Read or Write operation. Driving the WAIT pin Low stalls the CPU. The CPU
resumes operation on the first rising edge of the internal system clock following
deassertion of the WAIT pin.
Caution:
If the WAIT pin is to be driven by an external device, the corresponding
Chip Select for the device must be programmed to provide at least one
WAIT state. Due to input sampling of the WAIT input pin (shown in
Figure 5), one programmable WAIT state is required to allow the external peripheral sufficient time to assert the WAIT pin. It is recommended
that the corresponding Chip Select for the external device be programmed to provide the maximum number of WAIT states (seven).
Wait
Pin
DQ
eZ80
CPU
System Clock
Figure 5. Wait Input Sampling Block Diagram
PS013011-0204PRELIMINARY Chip Selects and Wait States
eZ80L92 Product Specification
An example of WAIT state operation is illustrated in Figure 6. In this example, the
Chip Select is configured to provide a single WAIT state. The external peripheral
being accessed drives the WAIT pin Low to request assertion of an additional
WAIT state. If the WAIT pin is asserted for additional system clock cycles, WAIT
states are added until the WAIT pin is deasserted (High).
52
X
IN
ADDR[23:0]
DATA[7:0]
(input)
CSx
MREQ
RD
T
CLKWAIT
T
CSx_WAIT
T
INSTRD
WAIT
Figure 6. Wait State Operation Example (Read Operation)
Chip Selects During Bus Request/Bus Acknowledge Cycles
When the CPU relinquishes the address bus to an external peripheral in response
to an external bus request (BUSREQ), it drives the bus acknowledge pin
(BUSACK) Low. The external peripheral can then drive the address bus (and data
PS013011-0204PRELIMINARY Chip Selects and Wait States
bus). The CPU continues to generate Chip Select signals in response to the
address on the bus. External devices cannot access the internal registers of the
eZ80L92.
Bus Mode Controller
The bus mode controller allows the address and data bus timing and signal formats of the eZ80L92 to be configured to connect seamlessly with external eZ80®,
Z80-, Intel-, or Motorola-compatible devices. Bus modes for each of the chip
selects can be configured independently using the Chip Select Bus Mode Control
Registers. The number of eZ80® system clock cycles per bus mode state is also
independently programmable. For Intel bus mode, multiplexed address and data
can be selected in which the lower byte of the address and the data byte both use
the data bus, DATA[7:0]. Each of the bus modes is explained in more detail in the
following sections.
eZ80L92 Product Specification
53
eZ80 Bus Mode
Chip selects configured for eZ80 Bus Mode do not modify the bus signals from the
CPU. The timing diagrams for external Memory and I/O Read and Write operations are shown in the AC Characteristics section on page 204. The default mode
for each chip select is eZ80 mode.
Z80 Bus Mode
Chip selects configured for Z80 mode modify the eZ80® bus signals to match the
Z80 microprocessor address and data bus interface signal format and timing. During Read operations, the Z80 Bus Mode employs three states (T1, T2, and T3) as
described in Table 14.
Table 14. Z80 Bus Mode Read States
STATE T1The READ cycle begins in State T1. The CPU drives the address onto the address bus and
the associated Chip Select signal is asserted.
STATE T2During State T2, the RD signal is asserted. Depending upon the instruction, either the
MREQ or IORQ signal is asserted. If the external WAIT pin is driven Low at least one eZ80®
system clock cycle prior to the end of State T2, additional WAIT states (T
until the WAIT pin is driven High.
STATE T3During State T3, no bus signals are altered. The data is latched by the eZ80L92 at the rising
edge of the eZ80® system clock at the end of State T3.
) are asserted
WAIT
During Write operations, Z80 Bus Mode employs 3 states (T1, T2, and T3) as
described in Table 15.
PS013011-0204PRELIMINARY Chip Selects and Wait States
eZ80L92 Product Specification
Table 15. Z80 Bus Mode Write States
STATE T1The WRITE cycle begins in State T1. The CPU drives the address onto the address bus, the
associated Chip Select signal is asserted.
STATE T2During State T2, the WR signal is asserted. Depending upon the instruction, either the
MREQ or IORQ signal is asserted. If the external WAIT pin is driven Low at least one eZ80®
system clock cycle prior to the end of State T2, additional WAIT states (T
) are asserted
WAIT
until the WAIT pin is driven High.
STATE T3During State T3, no bus signals are altered.
Z80 Bus Mode Read and Write timing is illustrated in Figures 7 and 8. The Z80
Bus Mode states can be configured for 1 to 15 eZ80® system clock cycles. In the
figures, each Z80 Bus Mode state is two eZ80® system clock cycles in duration.
Figures 7 and 8 also illustrate the assertion of 1 WAIT state (T
) by the exter-
WAIT
nal peripheral during each Z80 Bus Mode cycle.
54
System Clock
ADDR[23:0]
DATA[7:0]
CSx
RD
WAIT
WR
MREQ
or IORQ
T1T2
T
CLK
T3
Figure 7. Z80 Bus Mode Read Timing Example
PS013011-0204PRELIMINARY Chip Selects and Wait States
eZ80L92 Product Specification
55
System Clock
ADDR[23:0]
DATA[7:0]
CSx
RD
WAIT
WR
T1T2
T
CLK
T3
MREQ
or IORQ
Intel Bus Mode
Chip selects configured for Intel Bus Mode modify the eZ80® bus signals to duplicate a four-state memory transfer similar to that found on Intel-style microprocessors. The bus signals and eZ80L92 pins are mapped as illustrated in Figure 9. In
Intel Bus Mode, the user can select either multiplexed or nonmultiplexed address
and data buses. In nonmultiplexed operation, the address and data buses are
separate. In multiplexed operation, the lower byte of the address, ADDR[7:0], also
appears on the data bus, DATA[7:0], during State T1 of the Intel Bus Mode cycle.
During multiplexed operation, the lower byte of the address bus also appears on
the address bus in addition to the data bus.
Figure 8. Z80 Bus Mode Write Timing Example
PS013011-0204PRELIMINARY Chip Selects and Wait States
eZ80 Bus Mode
Signals (Pins)
eZ80L92 Product Specification
56
Bus Mode
Controller
Intel Bus
Signal Equvalents
INSTRD
RD
WR
WAIT
MREQ
IORQ
ADDR[23:0]
ADDR[7:0]
Multiplexed
DATA[7:0]
Bus
Controller
Figure 9. Intel™ Bus Mode Signal and Pin Mapping
ALE
RD
WR
READY
MREQ
IORQ
ADDR[23:0]
DATA[7:0]
Intel Bus Mode (Separate Address and Data Buses)
During Read operations with separate address and data buses, the Intel Bus
Mode employs 4 states (T1, T2, T3, and T4) as described in Table 16.
Table 16. Intel™ Bus Mode READ States (Separate Address and Data Buses)
STATE T1The Read cycle begins in State T1. The CPU drives the address onto the
address bus and the associated Chip Select signal is asserted. The CPU
drives the ALE signal High at the beginning of T1. During the middle of T1,
the CPU drives ALE Low to facilitate the latching of the address.
STATE T2During State T2, the CPU asserts the RD signal. Depending on the instruc-
tion, either the MREQ or IORQ signal is asserted.
PS013011-0204PRELIMINARY Chip Selects and Wait States
eZ80L92 Product Specification
Table 16. Intel™ Bus Mode READ States (Separate Address and Data Buses) (Continued)
STATE T3During State T3, no bus signals are altered. If the external ReadY (WAIT)
pin is driven Low at least one eZ80® system clock cycle prior to the beginning of State T3, additional WAIT states (T
ReadY pin is driven High.
STATE T4The CPU latches the Read data at the beginning of State T4. The CPU
deasserts the RD signal and completes the Intel Bus Mode cycle.
) are asserted until the
WAIT
During Write operations with separate address and data buses, the Intel Bus
Mode employs 4 states (T1, T2, T3, and T4) as described in Table 17.
Table 17. Intel™ Bus Mode WRITE States (Separate Address and Data Buses)
STATE T1The Write cycle begins in State T1. The CPU drives the address onto the
address bus, the associated Chip Select signal is asserted, and the data is
driven onto the data bus. The CPU drives the ALE signal High at the beginning of T1. During the middle of T1, the CPU drives ALE Low to facilitate
the latching of the address.
57
STATE T2During State T2, the CPU asserts the WR signal. Depending on the instruc-
tion, either the MREQ or IORQ signal is asserted.
STATE T3During State T3, no bus signals are altered. If the external ReadY (WAIT)
pin is driven Low at least one eZ80® system clock cycle prior to the beginning of State T3, additional WAIT states (T
ReadY pin is driven High.
STATE T4The CPU deasserts the WR signal at the beginning of State T4. The CPU
holds the data and address buses through the end of T4. The bus cycle is
completed at the end of T4.
) are asserted until the
WAIT
Intel Bus Mode timing is illustrated for a Read operation in Figure 10 and for a
Write operation in Figure 11. If the ReadY signal (external WAIT pin) is driven Low
prior to the beginning of State T3, additional WAIT states (T
) are asserted
WAIT
until the ReadY signal is driven High. The Intel Bus Mode states can be configured for 2 to 15 eZ80® system clock cycles. In the figures, each Intel™ Bus Mode
state is 2 eZ80® system clock cycles in duration. Figures 10 and 11 also illustrate
the assertion of one WAIT state (T
) by the selected peripheral.
WAIT
PS013011-0204PRELIMINARY Chip Selects and Wait States
eZ80L92 Product Specification
58
T
WAIT
System Clock
ADDR[23:0]
DATA[7:0]
CSx
ALE
T1T2
T3T4
RD
READY
WR
MREQ
or IORQ
Figure 10. Intel™ Bus Mode Read Timing Example (Separate Address and Data Buses)
PS013011-0204PRELIMINARY Chip Selects and Wait States
eZ80L92 Product Specification
59
m Clock
DR[23:0]
ATA[7:0]
CSx
ALE
WR
READY
T1T2
T3T4
T
WAIT
RD
MREQ
or IORQ
Figure 11. Intel™ Bus Mode Write Timing Example (Separate Address and Data Buses)
Intel™ Bus Mode (Multiplexed Address and Data Bus)
During Read operations with multiplexed address and data, the Intel™ Bus Mode
employs 4 states (T1, T2, T3, and T4) as described in Table 18.
PS013011-0204PRELIMINARY Chip Selects and Wait States
eZ80L92 Product Specification
Table 18. Intel™ Bus Mode READ States (Multiplexed Address and Data Bus)
STATE T1The Read cycle begins in State T1. The CPU drives the address onto the
DATA bus and the associated Chip Select signal is asserted. The CPU
drives the ALE signal High at the beginning of T1. During the middle of T1,
the CPU drives ALE Low to facilitate the latching of the address.
STATE T2During State T2, the CPU removes the address from the DATA bus and
asserts the RD signal. Depending upon the instruction, either the MREQ or
IORQ signal is asserted.
STATE T3During State T3, no bus signals are altered. If the external ReadY (WAIT)
pin is driven Low at least one eZ80® system clock cycle prior to the beginning of State T3, additional WAIT states (T
ReadY pin is driven High.
STATE T4The CPU latches the Read data at the beginning of State T4. The CPU
deasserts the RD signal and completes the Intel™ Bus Mode cycle.
) are asserted until the
WAIT
60
During Write operations with multiplexed address and data, the Intel™ Bus Mode
employs 4 states (T1, T2, T3, and T4) as described in Table 19.
Table 19. Intel™ Bus Mode WRITE States (Multiplexed Address and Data Bus)
STATE T1The Write cycle begins in State T1. The CPU drives the address onto the
DATA bus and drives the ALE signal High at the beginning of T1. During
the middle of T1, the CPU drives ALE Low to facilitate the latching of the
address.
STATE T2During State T2, the CPU removes the address from the DATA bus and
drives the Write data onto the DATA bus. The WR signal is asserted to indicate a Write operation.
STATE T3During State T3, no bus signals are altered. If the external ReadY (WAIT)
pin is driven Low at least one eZ80® system clock cycle prior to the beginning of State T3, additional WAIT states (T
ReadY pin is driven High.
STATE T4The CPU deasserts the Write signal at the beginning of T4 identifying the
end of the Write operation. The CPU holds the data and address buses
through the end of T4. The bus cycle is completed at the end of T4.
) are asserted until the
WAIT
Signal timing for Intel™ Bus Mode with multiplexed address and data is illustrated
for a Read operation in Figure 12 and for a Write operation in Figure 13. In the figures, each Intel™ Bus Mode state is 2 eZ80® system clock cycles in duration.
Figures 12 and 13 also illustrate the assertion of one WAIT state (T
WAIT
selected peripheral.
) by the
PS013011-0204PRELIMINARY Chip Selects and Wait States
eZ80L92 Product Specification
61
System Clock
ADDR[23:0]
DATA[7:0]
CSx
ALE
READY
WR
MREQ
or IORQ
RD
T1T2
T3T4
T
WAIT
Figure 12. Intel™ Bus Mode Read Timing Example (Multiplexed Address and Data Bus)
PS013011-0204PRELIMINARY Chip Selects and Wait States
eZ80L92 Product Specification
62
System Clock
ADDR[23:0]
DATA[7:0]
CSx
ALE
WR
READY
RD
T1T2
T3T4
T
WAIT
MREQ
or IORQ
Figure 13. Intel™ Bus Mode Write Timing Example (Multiplexed Address and Data Bus)
Motorola Bus Mode
Chip selects configured for Motorola Bus Mode modify the eZ80® bus signals to
duplicate an eight-state memory transfer similar to that found on Motorola-style
microprocessors. The bus signals (and eZ80L92 I/O pins) are mapped as illustrated in Figure 14.
PS013011-0204PRELIMINARY Chip Selects and Wait States
eZ80 Bus Mode
Signals (Pins)
eZ80L92 Product Specification
63
Bus Mode
Controller
Motorola Bus
Signal Equvalents
INSTRD
RD
WR
WAIT
MREQ
IORQ
ADDR[23:0]
DATA[7:0]
AS
DS
R/W
DTACK
MREQ
IORQ
ADDR[23:0]
DATA[7:0]
Figure 14. Motorola Bus Mode Signal and Pin Mapping
During Write operations, the Motorola Bus Mode employs 8 states (S0, S1, S2,
S3, S4, S5, S6, and S7) as described in Table 20.
Table 20. Motorola Bus Mode Read States
STATE S0The READ cycle starts in state S0. The CPU drives R/W High to identify a READ cycle.
STATE S1 Entering state S1, the CPU drives a valid address on the address bus, ADDR[23:0].
STATE S2 On the rising edge of state S2, the CPU asserts AS and DS.
STATE S3 During state S3, no bus signals are altered.
STATE S4 During state S4, the CPU waits for a cycle termination signal DTACK (WAIT), a peripheral
signal. If the termination signal is not asserted at least one full CPU clock period prior to the
rising clock edge at the end of S4, the CPU inserts WAIT (T
) states until DTACK is
WAIT
asserted. Each WAIT state is a full bus mode cycle.
STATE S5 During state S5, no bus signals are altered.
PS013011-0204PRELIMINARY Chip Selects and Wait States
eZ80L92 Product Specification
Table 20. Motorola Bus Mode Read States (Continued)
STATE S6 During state S6, data from the external peripheral device is driven onto the data bus.
STATE S7 On the rising edge of the clock entering state S7, the CPU latches data from the addressed
peripheral device and deasserts AS and DS. The peripheral device deasserts DTACK at
this time.
The eight states for a Write operation in Motorola Bus Mode are described in
Table 21.
Table 21. Motorola Bus Mode WRITE States
STATE S0The Write cycle starts in S0. The CPU drives R/W High (if a preceding Write cycle leaves R/
W Low).
64
STATE S1Entering S1, the CPU drives a valid address on the address bus.
STATE S2On the rising edge of S2, the CPU asserts AS and drives R/W Low.
STATE S3During S3, the data bus is driven out of the high-impedance state as the data to be written is
placed on the bus.
STATE S4At the rising edge of S4, the CPU asserts DS. The CPU waits for a cycle termination signal
DTACK (WAIT). If the termination signal is not asserted at least one full CPU clock period
prior to the rising clock edge at the end of S4, the CPU inserts WAIT (T
DTACK is asserted. Each WAIT state is a full bus mode cycle.
STATE S5During S5, no bus signals are altered.
STATE S6During S6, no bus signals are altered.
STATE S7Upon entering S7, the CPU deasserts AS and DS. As the clock rises at the end of S7, the
CPU drives R/W High. The peripheral device deasserts DTACK at this time.
) states until
WAIT
Signal timing for Motorola Bus Mode is illustrated for a Read operation in
Figure 15 and for a Write operation in Figure 16. In these two figures, each Motorola Bus Mode state is 2 eZ80® system clock cycles in duration.
PS013011-0204PRELIMINARY Chip Selects and Wait States
eZ80L92 Product Specification
65
System Clock
ADDR[23:0]
DATA[7:0]
CSx
AS
DS
R/W
DTACK
S0S1
S2S4
S3
S5S7
S6
MREQ
or IORQ
Figure 15. Motorola Bus Mode Read Timing Example
PS013011-0204PRELIMINARY Chip Selects and Wait States
eZ80L92 Product Specification
66
System Clock
ADDR[23:0]
DATA[7:0]
CSx
AS
DS
R/W
DTACK
S0S1
S2S4
S3
S5S7
S6
MREQ
or IORQ
Figure 16. Motorola Bus Mode Write Timing Example
Switching Between Bus Modes
Each time the bus mode controller must switch from one bus mode to another,
there is a one-cycle eZ80® system clock delay. An extra clock cycle is not required
for repeated accesses in any of the bus modes; nor is it required when the
eZ80L92 switches to eZ80 Bus Mode. The extra clock cycles are not shown in the
timing examples. Due to the asynchronous nature of these bus protocols, the
extra delay does not impact peripheral communication.
Chip Select Registers
Chip Select x Lower Bound Registers
For Memory Chip Selects, the Chip Select x Lower Bound register, detailed in
Table 22, defines the lower bound of the address range for which the correspond-
PS013011-0204PRELIMINARY Chip Selects and Wait States
eZ80L92 Product Specification
ing Memory Chip Select (if enabled) can be active. For I/O Chip Selects, this register defines the address to which ADDR[15:8] is compared to generate an I/O
Chip Select. All Chip Select lower bound registers reset to 00h.
This byte specifies the lower bound of the Chip Select address
range. The upper byte of the address bus, ADDR[23:16], is compared to the values contained in these registers for determining
whether a Memory Chip Select signal should be generated.
For I/O Chip Selects (
This byte specifies the Chip Select address value. ADDR[15:8] is
compared to the values contained in these registers for determining whether an I/O Chip Select signal should be generated.
CSx_IO
CSx_IO
= 0)
= 1)
PS013011-0204PRELIMINARY Chip Selects and Wait States
eZ80L92 Product Specification
Chip Select x Upper Bound Registers
For Memory Chip Selects, the Chip Select x Upper Bound registers, detailed in
Table 23, defines the upper bound of the address range for which the corresponding Chip Select (if enabled) can be active. For I/O Chip Selects, this register produces no effect. The reset state for the Chip Select 0 Upper Bound register is FFh,
while the reset state for the other Chip Select upper bound registers is 00h.
This byte specifies the upper bound of the Chip Select address
range. The upper byte of the address bus, ADDR[23:16], is
compared to the values contained in these registers for determining whether a Chip Select signal should be generated.
For I/O Chip Selects (CSx_IO = 1)
No effect.
CSx_IO
= 0)
PS013011-0204PRELIMINARY Chip Selects and Wait States
eZ80L92 Product Specification
Chip Select x Control Registers
The Chip Select x Control register, detailed in Table 24, enables the Chip Selects,
specifies the type of Chip Select, and sets the number of WAIT states. The reset
state for the Chip Select 0 Control register is E8h, while the reset state for the 3
other Chip Select control registers is 00h.
Note: *These WAIT state settings apply only to the default eZ80 bus mode. See Table 25.
0000 WAIT states are asserted when this Chip Select is active.
0011 WAIT state is asserted when this Chip Select is active.
0102 WAIT states are asserted when this Chip Select is active.
0113 WAIT states are asserted when this Chip Select is active.
1004 WAIT states are asserted when this Chip Select is active.
1015 WAIT states are asserted when this Chip Select is active.
1106 WAIT states are asserted when this Chip Select is active.
1117 WAIT states are asserted when this Chip Select is active.
0Chip Select is configured as a Memory Chip Select.
1Chip Select is configured as an I/O Chip Select.
0Chip Select is disabled.
1Chip Select is enabled.
PS013011-0204PRELIMINARY Chip Selects and Wait States
eZ80L92 Product Specification
Chip Select x Bus Mode Control Registers
The Chip Select Bus Mode register, detailed in Table 25, configures the Chip
Select for eZ80®, Z80, Intel™, or Motorola Bus Modes. Changing the bus mode
allows the eZ80L92 to interface to peripherals based on the Z80-, Intel™-, or
Motorola-style asynchronous bus interfaces. When a bus mode other than eZ80®
is programmed for a particular Chip Select, the CSx_WAIT setting in that Chip
Select Control Register is ignored.
Table 25. Chip Select x Bus Mode Control Registers
PS013011-0204PRELIMINARY Chip Selects and Wait States
eZ80L92 Product Specification
Bit
PositionValue Description
[3:0]
BUS_CYCLE
Notes:
1. Setting the BUS_CYCLE to 1 in Intel Bus Mode causes the ALE pin to not function properly.
2. Use of the external WAIT input pin in Z80 Mode requires that BUS_CYCLE is set to a value
greater than 1.
3. These BUS_CYCLE values are not valid in eZ80 bus mode. See Table 24.
0000Not valid.
0001Each bus mode state is 1 eZ80® clock cycle in duration.
1, 2, 3
0010Each bus mode state is 2 eZ80® clock cycles in duration.
0011Each bus mode state is 3 eZ80® clock cycles in duration.
0100Each bus mode state is 4 eZ80® clock cycles in duration.
0101Each bus mode state is 5 eZ80® clock cycles in duration.
0110Each bus mode state is 6 eZ80® clock cycles in duration.
0111Each bus mode state is 7 eZ80® clock cycles in duration.
1000Each bus mode state is 8 eZ80® clock cycles in duration.
1001Each bus mode state is 9 eZ80® clock cycles in duration.
1010Each bus mode state is 10 eZ80® clock cycles in duration.
1011Each bus mode state is 11 eZ80® clock cycles in duration.
1100Each bus mode state is 12 eZ80® clock cycles in duration.
1101Each bus mode state is 13 eZ80® clock cycles in duration.
1110Each bus mode state is 14 eZ80® clock cycles in duration.
1111Each bus mode state is 15 eZ80® clock cycles in duration.
71
PS013011-0204PRELIMINARY Chip Selects and Wait States
Watch-Dog Timer
Watch-Dog Timer Overview
The Watch-Dog Timer (WDT) helps protect against corrupt or unreliable software,
power faults, and other system-level problems which may place the eZ80® CPU
into unsuitable operating states. The eZ80L92 WDT features:
•Two selectable WDT clock sources: the system clock or the Real-Time Clock
source (on-chip 32 Khz crystal oscillator or 50/60 Hz signal)
•A selectable time-out response: a time-out can be configured to generate
either a RESET or a nonmaskable interrupt (NMI)
eZ80L92 Product Specification
71
•A WDT time-out RESET indicator flag
Figure 17 illustrates the block diagram for the Watch-Dog Timer.
Control Register/
Reset Register
WDT_CLK
RTC Clock
System Clock
Time-Out Compare Logic
28-Bit
Upcounter
{WDT_PERIOD}
WDT Control Logic
RESET
NMI to eZ80 CPU
Data[7:0]
Figure 17. Watch-Dog Timer Block Diagram
PS013011-0204PRELIMINARY Watch-Dog Timer
Watch-Dog Timer Operation
Enabling and Disabling the WDT
The Watch-Dog Timer is disabled upon a system reset (RESET). To enable the
WDT, the application program must set the WDT_EN bit (bit 7) of the WDT_CTL
register. When enabled, the WDT cannot be disabled without a RESET.
Time-Out Period Selection
There are four choices of time-out periods for the WDT—218, 222, 225, and 227
system clock cycles. The WDT time-out period is defined by the WDT_PERIOD
field of the WDT_CTL register (WDT_CTL[1:0]). The approximate time-out periods for two different WDT clock sources is listed in Table 26.
Upon a WDT time-out, the RST_FLAG in the WDT_CTL register is set to 1. In
addition, the WDT can cause a RESET or send a nonmaskable interrupt (NMI)
signal to the CPU. The default operation is for the WDT to cause a RESET. It
asserts/deasserts on the rising edge of the clock. The RST_FLAG bit can be
polled by the CPU to determine the source of the RESET event.
If the NMI_OUT bit in the WDT_CTL register is set to 1, then upon time-out, the
WDT asserts an NMI for CPU processing. The RST_FLAG bit can be polled by
PS013011-0204PRELIMINARY Watch-Dog Timer
eZ80L92 Product Specification
the CPU to determine the source of the NMI event, provided that the last RESET
was not caused by the WDT.
Watch-Dog Timer Registers
Watch-Dog Timer Control Register
The Watch-Dog Timer Control register, detailed in Table 27, is an 8-bit Read/Write
register used to enable the Watch-Dog Timer, set the time-out period, indicate the
source of the most recent RESET, and select the required operation upon WDT
time-out.
Table 27. Watch-Dog Timer Control Register (WDT_CTL = 0093h)
Bit76543210
Reset
CPU Access
Note: R = Read only; R/W = Read/Write.
000/100000
R/WR/WRR/WR/WRR/WR/W
73
Bit
PositionValue Description
7
WDT_EN
6
NMI_OUT
5
RST_FLAG
[4:3]
WDT_CLK
2
RESERVED
Note: *RST_FLAG is only cleared by a non-WDT RESET.
0WDT is disabled.
1WDT is enabled. When enabled, the WDT cannot be disabled
without a full RESET.
0WDT time-out resets the CPU.
1WDT time-out generates a nonmaskable interrupt (NMI) to the
CPU.
0RESET caused by external full-chip reset or ZDI reset.
*
1RESET caused by WDT time-out. This flag is set by the WDT
time-out, even if the
poll this bit to determine the source of the RESET or NMI.
00WDT clock source is system clock.
01WDT clock source is Real-Time Clock source (32KHz on-chip
oscillator or 50/60Hz input as set by RTC_CTRL[4]) .
10Reserved.
11Reserved.
0Reserved.
NMI_OUT
flag is set to 1. The CPU can
PS013011-0204PRELIMINARY Watch-Dog Timer
Bit
PositionValue Description
[1:0]
WDT_PERIOD
00WDT time-out period is 2
01WDT time-out period is 2
10WDT time-out period is 2
11WDT time-out period is 2
Note: *RST_FLAG is only cleared by a non-WDT RESET.
Watch-Dog Timer Reset Register
The Watch-Dog Timer Reset register, detailed in Table 28, is an 8-bit Write-Only
register. The Watch-Dog Timer is reset when an A5h value followed by 5Ah is written to this register. Any amount of time can occur between the writing of the A5h
value and the 5Ah value, so long as the WDT time-out does not occur prior to
completion.
A5hThe first Write value required to reset the WDT prior to a time-
out.
5AhThe second Write value required to reset the WDT prior to a
time-out. If an A5h, 5Ah sequence is written to WDT_RR, the
WDT timer is reset to its initial count value, and counting
resumes.
PS013011-0204PRELIMINARY Watch-Dog Timer
eZ80L92 Product Specification
Programmable Reload Timers
Programmable Reload Timers Overview
The eZ80L92 features six Programmable Reload Timers (PRT). Each PRT contains a 16-bit downcounter and a 16-bit reload register. In addition, each PRT features a clock prescaler with four selectable taps for CLK ÷ 4, CLK ÷ 16, CLK ÷ 64,
and CLK ÷ 256. Each timer can be individually enabled to operate in either SINGLE PASS or CONTINUOUS mode. The timer can be programmed to start, stop,
restart from the current value, or restart from the initial value, and generate interrupts to the CPU.
Four of the Programmable Reload Timers (timers 0–3) feature a selectable clock
source input. The input for these timers can be either the system clock or the
Real-Time Clock (RTC) source. Timers 0–3 can also be used for event counting,
with their inputs received from a GPIO port pin. Output from timers 4 and 5 can be
directed to a GPIO port pin.
75
System Clock
RTC Source
GPIO Pin
Each of the six PRTs available on the eZ80L92 can be controlled individually.
They do not share the same counters, reload registers, control registers, or interrupt signals. A simplified block diagram of a programmable reload timer is illustrated in Figure 18.
There are three factors to consider when determining Programmable Reload
Timer duration—clock frequency, clock divider ratio, and initial count value. Minimum duration of the timer is achieved by loading 0001h. Maximum duration is
achieved by loading 0000h, because the timer first rolls over to FFFFh and then
continues counting down to 0000h.
The time-out period of the PRT is returned by the following equation:
eZ80L92 Product Specification
76
PRT Time-Out Period
Clock Divider Ratio x Reload Value
=
System Clock Frequency
To calculate the time-out period with the above equation when using an initial
value of 0000h, enter a reload value of 65536 (FFFFh + 1).
Minimum time-out duration is 4 times longer than the input clock period and is
generated by setting the clock divider ratio to 1:4 and the reload value to 0001h.
Maximum time-out duration is 224 (16,777,216) times longer than the input clock
period and is generated by setting the clock divider ratio to 1:256 and the reload
value to 0000h.
SINGLE PASS Mode
In SINGLE PASS mode, when the end-of-count value, 0000h, is reached, counting halts, the timer is disabled, and the PRT_EN bit resets to 0. To restart the
timer, the CPU must reenable the timer by setting the PRT_EN bit to 1. An example of a PRT operating in SINGLE PASS mode is illustrated in Figure 19. Timer
register information is indicated in Table 29.
In CONTINUOUS mode, when the end-of-count value, 0000h, is reached, the
timer automatically reloads the 16-bit start value from the Timer Reload registers,
TMRx_RR_H and TMRx_RR_L. Downcounting continues on the next clock edge.
In CONTINUOUS mode, the PRT continues to count until disabled. An example of
a PRT operating in CONTINUOUS mode is illustrated in Figure 20. Timer register
information is indicated in Table 30.
The CPU is capable of reading the current count value while the timer is running.
This READ event does not affect timer operation. The High byte of the current
count value is latched during a Read of the Low byte.
Timer Interrupts
The timer interrupt flag, PRT_IRQ, is set to 1 whenever the timer reaches its endof-count value, 0000h, in SINGLE PASS mode, or when the timer reloads the start
value in CONTINUOUS mode. The interrupt flag is only set when the timer
reaches 0000h (or reloads) from 0001h. The timer interrupt flag is not set to 1
when the timer is loaded with the value 0000h, which selects the maximum timeout period.
The CPU can be programmed to poll the PRT_IRQ bit for the time-out event.
Alternatively, an interrupt service request signal can be sent to the CPU by setting
IRQ_EN to 1. Then, when the end-of-count value, 0000h, is reached and
PRT_IRQ is set to 1, an interrupt service request signal is passed to the CPU.
PRT_IRQ is cleared to 0 and the interrupt service request signal is inactivated
whenever the CPU reads from the timer control registers, TMRx_CTL.
Timer Input Source Selection
Timers 0–3 feature programmable input source selection. By default, the input is
taken from the eZ80L92’s system clock. Alternatively, Timers 0–3 can take their
input from port input pins PB0 (Timers 0 and 2) or PB1 (Timers 1 and 3). Timers
0–3 can also use the Real-Time Clock clock source (50, 60, or 32768Hz) as their
clock sources. When the timer clock source is the Real-Time Clock signal, the
timer decrements on the second rising edge of the system clock following the falling edge of the RTC_X
pin. The input source for these timers is set using the
OUT
Timer Input Source Select register.
79
Event Counter
When Timers 0–3 are configured to take their inputs from port input pins PB0 and
PB1, they function as event counters. For event counting, the clock prescaler is
bypassed. The PRT counters decrement on every rising edge of the port pin. The
port pins must be configured as inputs. Due to the input sampling on the pins, the
event input signal frequency is limited to one-half the system clock frequency.
Input sampling on the port pins results in the PRT counter being updated on the
fifth rising edge of the system clock after the rising edge occurs at the port pin.
Timer Output
Two of the Programmable Reload Timers (Timers 4 and 5) can be directed to
GPIO Port B output pins (PB4 and PB5, respectively). To enable the Timer Out
feature, the GPIO port pin must be configured for alternate functions. After reset,
the Timer Output feature is disabled by default. The GPIO output pin toggles each
time the PRT reaches its end-of-count value. In CONTINUOUS mode operation,
the disabling of the Timer Output feature results in a Timer Output signal period
that is twice the PRT time-out period. Examples of the Timer Output operation are
illustrated in Figure 21 and Table 31. In these examples, the GPIO output is
assumed to be Low (0) when the Timer Output function is enabled.
Each programmable reload timer is controlled using five 8-bit registers. These
registers are the Timer Control register, Timer Reload Low Byte register, Timer
Reload High Byte register, Timer Data Low Byte register, and Timer Data High
Byte register.
The Timer Control register can be read or written to. The timer reload registers are
Write-Only and are located at the same I/O address as the timer data registers,
which are Read-Only.
Timer Control Registers
The Timer Control register, detailed in Table 32, is used to control operation of the
timer, including enabling the timer, selecting the clock divider, enabling the interrupt, selecting between CONTINUOUS and SINGLE PASS modes, and enabling
the auto-reload feature.
This Read-Only register returns the Low byte of the current count value of the
selected timer. The Timer Data Register—Low Byte, detailed in Table 33, can be
read while the timer is in operation. Reading the current count value does not
affect timer operation. To read the 16-bit data of the current count value,
{TMRx_DR_H[7:0], TMRx_DR_L[7:0]}, first read the Timer Data Register—Low
Byte and then read the Timer Data Register—High Byte. The Timer Data Register—High Byte value is latched when a Read of the Timer Data Register—Low
Byte occurs.
82
Note:
The Timer Data registers and Timer Reload registers share the same
address space.
TMR3_DR_L = 008Ah, TMR4_DR_L = 008Dh, or TMR5_DR_L = 0090h)
Bit76543210
Reset00000000
CPU AccessRRRRRRRR
Note: R = Read only.
Bit
PositionValueDescription
[7:0]
TMRx_DR_L
00h–FFh These bits represent the Low byte of the 2-byte timer data
value, {TMRx_DR_H[7:0], TMRx_DR_L[7:0]}. Bit 7 is bit 7
of the 16-bit timer data value. Bit 0 is bit 0 (lsb) of the 16bit timer data value.
Timer Data Registers—High Byte
This Read-Only register returns the High byte of the current count value of the
selected timer. The Timer Data Register—High Byte, detailed in Table 34, can be
read while the timer is in operation. Reading the current count value does not
affect timer operation. To read the 16-bit data of the current count value,
{TMRx_DR_H[7:0], TMRx_DR_L[7:0]}, first read the Timer Data Register—Low
Byte and then read the Timer Data Register—High Byte. The Timer Data Register—High Byte value is latched when a Read of the Timer Data Register—Low
Byte occurs.
Note:
The timer data registers and timer reload registers share the same
address space.
TMR3_DR_H = 008Bh, TMR4_DR_H = 008Eh, or TMR5_DR_H = 0091h)
Bit76543210
Reset00000000
CPU AccessRRRRRRRR
Note: R = Read only.
Bit
PositionValueDescription
83
[7:0]
TMRx_DR_H
00h–FFh These bits represent the High byte of the 2-byte timer data
value, {TMRx_DR_H[7:0], TMRx_DR_L[7:0]}. Bit 7 is bit 15
(msb) of the 16-bit timer data value. Bit 0 is bit 8 of the 16-bit
timer data value.
Timer Reload Registers—Low Byte
The Timer Reload Register—Low Byte, detailed in Table 35, stores the least significant byte (LSB) of the 2-byte timer reload value. In CONTINUOUS mode, the
timer reload value is reloaded into the timer upon end-of-count. When RST_EN
(TMRx_CTL[1]) is set to 1 to enable the automatic reload and restart function, the
timer reload value is written to the timer on the next rising edge of the clock.
Note:
The Timer Data registers and Timer Reload registers share the same
address space.
00h–FFh These bits represent the Low byte of the 2-byte timer
reload value, {TMRx_RR_H[7:0], TMRx_RR_L[7:0]}. Bit 7
is bit 7 of the 16-bit timer reload value. Bit 0 is bit 0 (lsb) of
the 16-bit timer reload value.
eZ80L92 Product Specification
Timer Reload Registers—High Byte
The Timer Reload Register—High Byte, detailed in Table 36, stores the most significant byte (MSB) of the 2-byte timer reload value. In CONTINUOUS mode, the
timer reload value is reloaded into the timer upon end-of-count. When RST_EN
(TMRx_CTL[1]) is set to 1 to enable the automatic reload and restart function, the
timer reload value is written to the timer on the next rising edge of the clock.
84
Note:
The Timer Data registers and Timer Reload registers share the same
address space.
TMR3_RR_H = 008Bh, TMR4_RR_H = 008Eh, or TMR5_RR_H = 0091h)
Bit76543210
Reset00000000
CPU AccessWWWWWWWW
Note: W = Write only.
Bit
PositionValueDescription
[7:0]
TMRx_RR_H
00h–FFh These bits represent the High byte of the 2-byte timer
reload value, {TMRx_RR_H[7:0], TMRx_RR_L[7:0]}. Bit 7
is bit 15 (msb) of the 16-bit timer reload value. Bit 0 is bit 8
of the 16-bit timer reload value.
Timer Input Source Select Register
The Timer Input Source Select register, detailed in Table 37, sets the input source
for Programmable Reload Timer 0–3 (TMR0, TMR1, TMR2, TMR3). Event frequency must be less than one-half of the system clock frequency. When configured for event inputs through the port pins, the Timers decrement on the fifth
system clock rising edge following the rising edge of the port pin.
00Timer counts at system clock divided by prescaler.
01Timer event input is Real-Time Clock source
(32KHz or 50/60Hz—refer to the
on page 86 for details).
10The timer event input is the GPIO Port B pin 0.
11The timer event input is the GPIO Port B pin 0.
Real-Time Clock
section
Real-Time Clock
Real-Time Clock Overview
The Real-Time Clock (RTC) keeps time by maintaining a count of seconds, minutes, hours, day-of-the-week, day-of-the-month, year, and century. The current
time is kept in 24-hour format. The format for all count and alarm registers is
selectable between binary and binary-coded-decimal (BCD). The calendar operation maintains the correct day of the month and automatically compensates for
leap year. A simplified block diagram of the RTC and the associated on-chip, lowpower, 32 KHz oscillator is illustrated in Figure 22. Connections to an external battery supply and 32 KHz crystal network are also demonstrated in Figure 22.
eZ80L92 Product Specification
86
to eZ80 CPU
System Clock
V
IRQ
Real-Time Clock
ADDR[15:0]
DATA[7:0]
DD
RTC Clock
CLK_SEL
(RTC_CTRL[4])
Low-Power
32 KHz Oscillator
V
DD
Enable
RTC_V
RTC_X
RTC_X
DD
Battery
R1
OUT
C
32 KHz
Crystal
IN
C
Figure 22. Real-Time Clock and 32KHz Oscillator Block Diagram
PS013011-0204PRELIMINARY Real-Time Clock
Real-Time Clock Alarm
The clock can be programmed to generate an alarm condition when the current
count matches the alarm set-point registers. Alarm registers are available for seconds, minutes, hours, and day-of-the-week. Each alarm can be independently
enabled. To generate an alarm condition, the current time must match all enabled
alarm values. For example, if the day-of-the-week and hour alarms are both
enabled, the alarm only occurs at the specified hour on the specified day. The
alarm triggers an interrupt if the interrupt enable bit, INT_EN, is set. The alarm
flag, ALARM, and corresponding interrupt to the CPU are cleared by reading the
RTC_CTRL register.
Alarm value registers and alarm control registers can be written at any time. Alarm
conditions are generated when the count value matches the alarm value. The
comparison of alarm and count values occurs whenever the RTC count increments (one time every second). The RTC can also be forced to perform a comparison at any time by writing a 0 to RTC_UNLOCK (RTC_UNLOCK is not required
to be changed to a 1 first).
eZ80L92 Product Specification
87
Real-Time Clock Oscillator and Source Selection
The RTC count is driven by either the on-chip 32768 Hz crystal oscillator or a 50/
60 Hz power-line frequency input connected to the 32 KHz RTC_X
internal divider compensates for each of these options. The clock source and
power-line frequencies are selected in the RTC_CTRL register. Writing to the
RTC_CTRL register resets the clock divider.
Real-Time Clock Battery Backup
The power supply pin (RTC_VDD) for the Real-Time Clock and associated lowpower 32 KHz oscillator is isolated from the other power supply pins on the
eZ80L92. To ensure that the RTC continues to keep time in the event of loss of
line power to the application, a battery can be used to supply power to the RTC
and the oscillator via the RTC_VDD pin. All VSS (ground) pins should be connected together on the printed circuit assembly.
Real-Time Clock Recommended Operation
Following a RESET from a powered-down condition, the counter values of the
RTC are undefined and all alarms are disabled. After a RESET from a powereddown condition, the following procedure is recommended:
•Write to RTC_CTRL to set RTC_UNLOCK and CLK_SEL
OUT
pin. An
•Write values to the RTC count registers to set the current time
PS013011-0204PRELIMINARY Real-Time Clock
Loading...
+ hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.