ZILOG'S PRODUCTS ARE NOT AUTHORIZED FOR USE AS CRITICAL COMPONENTS IN LIFE
SUPPORT DEVICES OR SYSTEMS WITHOUT THE EXPRESS PRIOR WRITTEN APPROVAL OF
THE PRESIDENT AND GENERAL COUNSEL OF ZILOG CORPORATION.
As used herein
Life support devices or systems are devices which (a) are intended for surgical implant into the body, or (b)
support or sustain life and whose failure to perform when properly used in accordance with instructions for
use provided in the labeling can be reasonably expected to result in a significant injury to the user. A
critical component is any component in a life support device or system whose failure to perform can be
reasonably expected to cause the failure of the life support device or system or to affect its safety or
effectiveness.
Z8, Z8 Encore!, Z8 Encore! XP, Z8 Encore! MC, Crimzon, eZ80, and ZNEO are trademarks or registered
trademarks of Zilog, Inc. All other product or service names are the property of their respective owners.
UM011002-0808
Revision History
Each instance in Revision History reflects a change to this document from its previous
revision. For more details, refer to the corresponding pages and appropriate links in the
table below.
The Z16C35, ISCC is a CMOS superintegration device with a flexible Bus Interface Unit
(BIU) connecting a built-in Direct Memory Access (DMA) cell to the CMOS Serial Communications Control (SCC) cell.
The ISCC is a dual-channel, multi-protocol data communications peripheral which easily
interfaces
The advanced CMOS process offers lower power consumption, higher performance, and
superior noise immunity. The programming flexibility of the internal registers allow the
ISCC to be configured for a wide variety of serial communications applications. The many
on-chip features such as streamlined bus interface, four channel DMA, baud rate generators, digital phase-locked loops, and crystal oscillators dramatically reduce the need for
external logic. Additional features,
high speed SDLC transfers using on-chip DMA controllers.
to CPU’s with either multiplexed or non-multiplexed address and data buses.
including a 10x19 bit status FIFO, are added to support
ISCC
User Manual
1
The ISCC can address up to 4 gigabytes per DMA channel by using the /UAS and /AS signals to strobe out 32-bit multiplexed addresses.
The ISCC handles asynchronous formats, synchronous byte-oriented protocols such as
IBM Bisync, and synchro
versatile device supports virtually any serial data transfer application (terminals, printers,
diskette, tape drives, etc.).
The device can generate and check CRC codes in any synchronous mode and can be programmed to check data integrity in various modes. The ISCC also has facilities for modem
controls in both channels.
controls can be used for general-purpose I/O.
The standard Zilog interrupt daisy chain is supported for interrupt hiera
nally, the SCC cell has higher interrupt priority than the DMA cell.
The DMA
from each SCC channel, respectively.
The DMA cell adopts a simple fly-by-mode DMA transfer, providing a powerful and efficient DMA acce
Priorities between the four DMA
tions. Arbitration of Bus prior-ity control signals between the ISCC DMA
tem DMA’s should be handled outside the ISCC.
The BIU has a universal interface
write to the ISCC after a hardware reset will
mented.
cell consists of four DMA channels; one for transmit and one for receive to and
ss. The cell does not support memory-to-memory transfer.
nous bit-oriented protocols such as HDLC and IBM SDLC. This
In applications
chan
to most system/CPU bus structures and timing. The first
where these controls are not needed, the modem
rchy control. Inter-
nels are programmable to custom-fit user applica-
and other sys-
configure the bus interface type being imple-
UM011002-0808
ISCC
Page 2 of 316
User Manual
2
1.2 Features
•
•
•
•
•
•
•
UM011002-0808
Figure 1–1. Block Diagram
Low Power CMOS Technology
Two General-Purpose SCC Channels, Four DMA Channels; and Universal Bus Inter-
face Unit
Software Compatible to the Zilog CMOS SCC
Four DMA Channels; Two Transmit and Two Receive Channels to and from the SCC
Four Gigabyte Address Range per DMA Channel
Flyby DMA Transfer Mode
Programmable DMA Channel Priorities
User Manual
Page 3 of 316
•
Independent DMA Register Set
•
A Universal Bus Interface Unit Providing Simple Interface to Most CPUs Multiplexed
or Non-Multiplexed Bus; Compatible with 680X0 and 8X86 CPUs
•
32-Bit Addresses Multiplexed to 16-pin Address/Data Lines
•
8-Bit Data Supporting High/Low Byte Swapping
•
10 MHz Timing
•
12.5 and 16 MHz Timing Planned
•
68-Pin PLCC
•
Supports all Zilog CMOS SCC Features:
•
Two Independent, 0 to 4.0 Mbit/Second, Full-Duplex Channels, Each with a Separate
Crystal Oscillator, Baud Rate Generator, and Digital Phase-Locked Loop Circuit for
Clock Recovery.
ISCC
3
•
Multi-Protocol Operation under Program Control; Programmable for NRZ, NRZI, or
FM Data Encoding.
•
Asynchronous Mode with Five to Eight Bits and One, One and One-Half, or Two Stop
Bits per Character; Programmable Clock Factor; Break Detection and Generation; Parity, Overrun, and Framing Error Detection.
•
Synchronous Mode with Internal or External Character Synchronization on One or
Two Synchronous Characters and CRC Generation and Checking with CRC-16 or
CRC-CCITT preset to either 1’s or 0’s.
•
SDLC/HDLC Mode with Comprehensive Frame-Level Control, Automatic Zero Insertion and Deletion, I-Field Residue Handling, Abort Generation and Detection, CRC
Generation and Ch
The following section describes the Z16C35 pin functions. Figures 1-2 and 1-3 detail the
respective pin functions and pin assignments. All references to DMA are internal.
ISCC
User Manual
6
/CTSA, /CTSB.
enables if they are programmed for Auto Enables (WR3, D5). If these pins are programmed as Auto Enables, a Low on the inputs enables the respective transmitters. If not
programmed as Auto Enables, they
are Schmitt-trigger buffered to accommodate slow rise-time inputs. The SCC cell detects
transitions on these inputs and can interrupt the CPU on both low to high and high to low
transitions.
/DCDA, /DCDB. Data Carrier Detect (inputs,
receiver enables if they are programmed for Auto Enables (WR3 D5), otherwise they are
used as general-purpose input pins. Both pins are Schmitt-trigger buffered to accommodate slow rise time signals. The SCC cell detects transitions on these
rupt the CPU on both low to high and high to low transitions.
/DTR//REQA, /DTR//REQB. Data Terminal
These pins a
DMA request lines. When programmed for the DTR function these outputs follow the
state programmed into the DTR bit of Write Register 5 (WR5, D7). When programmed for
the Ready mode, these pins serve as DMA requests for the transmitter. Note that this DMA
request is not associated with the on-chip DMA and is intended for use in requesting DMA
service from an external DMA.
IEI. Interrupt Enable In (input, active High). IEI is used with IEO to form an interrupt
daisy chain when there is more than one interrupt d
no other higher priority device has an interrupt under service or is requesting an interrupt.
Clear To Send (inp
re programmable (WR14, D2) to serve as either general-purpose outputs or as
uts, active Low). These pins function as transmitter
may be used as general-purpose inputs. Both inputs
active Low). These pins function as
inputs and can inter-
Ready/Request (outputs, active Low).
riven device. A high IEI indicates that
UM011002-0808
IEO. Interrupt Enable Out (output, acti
CPU is not servicing the ISCC (SCC or DMA) interrupt or the ISCC is not requesting an
interrupt (Interrupt Acknowledge cycle only). IEO is connected to the next lower priority
device’s IEI input and thus inhibits interrupts from lower priority devices.
/INT. Interrupt (output, active Low). This signal is ac
requests an interrupt. Note that /INT is pulled high and is not an open-drain output.
/INTACK. Interru
that an interrupt acknowledge cycle is in progress. During this cycle, the SCC and DMA
interrupt daisy chain is resolved. The device is capable of returning an interrupt vector that
may be encoded with the type of interrupt pending during this acknowledge cycle when /
RD or /DS become high. /INTACK may be programmed to accept a status acknowledge, a
single pulse acknowledge, or a double pulse acknowledge. This is programmed in the Bus
pt Acknowledge (input, activ
ve High). IEO is High only if IEI is High and the
tivated when the SCC or DMA
e Low). This is a strobe which indicates
ISCC
Page 7 of 316
User Manual
Configuration Register (BCR). The double pulse acknowledge is co mpatible with 8X86
family microprocessors.
PCLK. Clock (input). This is the master SCC cell and DMA cell clock used to synchronize internal signals. PCLK is a TTL level signal. PCLK is not required to have any phase
relationship with the master system clock.
7
RxDA, RxDB. Receive
Data (inputs, active
High). These input signals receive serial data
at standard TTL levels.
/RTxCA, /RTxCB. Receive/Transmit Clocks (inputs, ac
grammed to several modes of operation. In each channel, /RTxC may supply the rec
tive Low). These pins can be pro-
eive
clock, the transmit clock, the clock for the baud rate generator, or the clock for the Digital
Phase-Locked Loop. These pins can also be programmed for use with the respective /
SYNC pins as a crystal oscillator. The receive clock may be 1, 16, 32, or 64 times the data
rate in asynchronous modes.
/RTSA, /RTSB. Request To Send (outputs, active Low). When the Request To
Send
(R TS) bit in W rite Register 5 is set, the /R TS signal goes Low. When the RTS bit is reset in
the Asynchronous mode and Auto Enable is on, the signal goes High after the transmitter
is empty . In Sync hronous mo de or in Asynchrono us mode with Auto Enable off, the /RTS
pin strictly follows the state of the RTS bit. Both pins can be used as general-purpose outputs.
/SYNCA, /SYNCB. Synchronization (inputs o
r outputs, active Low). These pins can act
either as inputs, outputs, or part of the crystal oscillator circuit. In the Asynchronous
Receive mode (crystal oscillator option not selected), these pins are inputs similar to /CTS
and /DCD. In this mode, transitions on these lines affect the state of the Sync/Hunt status
bits in Read Register 0 but have no other function.
In External Synchronization mode with
act as
inputs. In this mode, /SYNC must be driven Low two receive clock cycles after the
the crystal oscillator not selected, these lines also
last bit in the synchronous character is received. Character assembly begins on the rising
edge of the receive clock immediately preceding the activation of /SYNC.
UM011002-0808
In the Internal Synchronization mode (Monosync and Bi-sync) with the crystal oscillator
not selected, these pins act
as outputs and are active only during the part of the receive
clock cycle in which sync condition is not latched. These outputs are active each time a
sync pattern is recognized (regardless of character boundaries). In SDLC mode, the pins
act as outputs and are valid on receipt of a flag. The output is active for one receive clock
period (refer to Chapter 4).
TxDA, TxDB. Transmit Data (outputs, active high). These output signa
ls transmit serial
data at standard TTL levels.
/TRxCA, /TRxCB. Transmit/Receive Clocks (inputs or outputs, active Low). These pins
can be programmed
in several different modes of operation. /TRxC may supply the
receive clock or the transmit clock in the input mode or supply the output of the Digital
ISCC
Page 8 of 316
User Manual
Phase-Locked Loop, the crystal os cillator, the baud rate generator, or the transmit clock in
the output mode.
/CE. Chip Enable (input, active Low). This signal selects the ISCC for a peripheral read or
write operation. This signal is ignored when the ISCC is bus master.
8
AD15-AD0. Data bus (bidirectional, tri-state). Thes
e lines carry data and commands to
and from the ISCC.
/RD. Read (bidirectional
, active Low). When the ISCC is a
peripheral (i.e., bus slave), this
signal indicates a read operation and when the ISCC is selected, enables the ISCC’s bus
drivers. As an input, /RD indicates that the CPU wants to read from the ISCC read registers. During the Interrupt Acknowledge cycle, /RD gates the interrupt vector onto the bus
if the ISCC is the highest priority
device requesting an interrupt. When the ISCC is the bus
master, this signal is used to read data. As an output, after the ISCC has taken control of
the system buses, /RD indicates a DMA-controlled read from a memory or I/O port
address.
/WR. Write (bidirectional, active Low). When the ISCC is selected, this signal indicates a
write operation. As an input, this indicates that t
he CPU wants to write control or command bytes to the ISCC write registers. As an output, after the ISCC has taken control of
the s
ystem buses /WR indicates a DMA-controlled write to a memory or I/O port address.
/DS. Data Strobe (bidirectional, active Low). A Low on this signal indicates
that the
AD15-AD0 bus is used for data transfer. When the ISCC is not in control of the system
bus and the external system is transferring information to or from the ISCC, /DS is a timing input used by the ISCC to move data to or from the AD15-AD0 bus. Data is written
into the IS
CC by the external system on the High to Low /DS transition. Data is read from
the ISCC by the external system while /DS is Low. There are no timing requirements
between /DS as an input and ISCC clock; this allows use of the ISCC with a system bus
which does not have a bussed clock.
UM011002-0808
During a DMA operation when the ISCC is in control of the system, /DS is an output gen-
ed by the ISCC and used by the system to move data to or from the AD15-AD0 bus.
erat
When the ISCC has bus control, it writes
to the external system by placing data on the
AD15-AD0 bus before the High-to-Low /DS transition and holds the data stable until after
the Low-to-High /DS transition; while reading from the external system, the Low-to-High
transition of /DS inputs data from the AD15-AD0 bus into the ISCC.
R//W. Read/Write (bidirectional). Read polarity is High and write polarity is Low
. When
the ISCC is not in control of the system bus and the external system is transferring information to or from the ISCC, R//W is a status input used by the ISCC to determine if data is
entering or leaving on the
AD15-AD0 bus during /DS time. In such a case, Read (High)
indicates that the system is requesting data from the ISCC and Write (Low) indicates that
the system is presenting data to the ISCC. The only timing requirements for R//W as an
input are defined relative to /DS. When the ISCC is in control of the system bus, R//W is
an output generated by the ISCC, with Read (high) indicating that data is being requested
ISCC
Page 9 of 316
User Manual
from the addressed location or device, and Write (low) indicating that data is being presented to the addressed location or device.
9
/UAS. Upper Address Strobe (O
utput, active Low). This signal is used if the output
address is more than 16-bit. The upper address, A31-A16, can be latched externally by the
rising edge of this signal. /UAS is active first before /AS becomes active. This signal and /
AS are used by the DMA cell.
/AS. Lower Address Strobe (bidirectional, active Low). When the ISCC is bus master , this
signal is an output, and is used a
junction with /UAS since the address is 32-bits. This signal and /UAS are us
s a lower address strobe for AD15-AD0. It is used in con-
ed by the
DMA cell when it is bus master. When ISCC is not bus master, this signal is used in the
multiplexed bus modes to latch the address on the AD lines. The /AS signal is not used in
the non-multiplexed bus modes and should be tied to VCC through a resistor in these
cases.
/WAIT//RDY. Wait/Ready (bidirectional, active
Low). This signal may be programmed
to function either as a W ait signal or Ready signal during the BCR write. When the BCR is
written to Channel A (A1/A//B High during the BCR write), this signal functions as a /
WAIT and thus supports the READY function of 8X86 microprocessors family. When the
BCR writes to Channel B (A1/A//B Low), this signal functions as a /READY and supports
the /DTACK function of the 680X0 microprocessor family.
This signal is an output when the ISCC in not bus master. In this case, the /Wait//RDY signal
indicates when the data is available during a read cycle; when the device is rea
dy to
receive data during a write cycle; and when a valid vector is available during an interrupt
acknowledge cycle.
UM011002-0808
When the ISCC is the bus master (the DMA cell has taken control of the bus), the /Wait//
RDY signa
l functions as a /WAIT or /READY input. Slow memories and peripheral
devices can assert /WAIT to extend /DS during bus transfers. Similarly, memories and
peripherals use /READY to indicate that its output is valid or that it is ready to latch input
data.
/BUSACK. Bus Acknowledge (input, active Low). Signals the bus has been released to
the DMA. If th
e /BUSACK goes inactive before the DMA transfer is completed, the cur-
rent DMA transfer is aborted.
/BUSREQ. Bus Request (output, active Low). This signal is used by
the DMA to obtain
the bus from the CPU.
A0/SCC//DMA. DMA Channel/SCC Select/DMA Select (bidirectional). When this pin
is
used as input, a high selects the SCC cell and a low selects the DMA cell, (during BCR
Write should be kept Low). When this pin is used as output, the signal on this pin is used
in conjunction with A1/A//B pin output to identify which DMA channel is active. This
information can be used by the user to determine whether to issue a DMA abort command.
A0/SCC//DMA and A1/A//B output encoding is shown on the following page.
ISCC
Page 10 of 316
User Manual
A1/A//B A0/SCC//DMA DMA channel
1 1 RxA
1 0 TxA
0 1 RxB
0 0 TxB
A1/A//B. DMA Channel/Channel A/Channel B (bidirectional). This signal, when used as
input, selects the SCC channel in which the read and write operation occurs. Note that A0/
SCC//DMA pin must be held high to select this feature. When this pin is used as an output,
it is used in conjunction with the A0/SCC//DMA pin output to identify which DMA chan
nel is active. During a DMA peripheral access, the A1/A//B pin is ignored.
10
-
/RESET. (input, active Low). This signal resets the
write to the ISC
C after a reset accesses the BCR to select additional bus options for the
device.
device to a known state. The first
UM011002-0808
Chapter 2 Interfacing the ISCC™
Page 11 of 316
2.1 Introduction
This chapter details the interfacing of the 16C35 ISCC to a system. Covered in this chapter
is a description of the Bus Interface Unit (BIU) and information about the ISCC in nonmultiplexed and multiplexed bus operation. The following section entails the ISCC’s
capabilities for three types of I/O operations: polling, interrupt (vectored or non-vectored),
and DMA Transfer modes. Also included in this chapter is information about the ISCC
registers and register access.
2.2 BUS INTERFACE UNIT (BIU) DESCRIPTION
ISCC
User Manual
11
The ISCC™ contains a flexible bus interface that is compatible with a variety of microprocessors and microcontrollers. The device is designed
tems and may be used with address/data multiplexed buses or non-multiplexed buses. The
bus interface style is selec
The ISCC contains a Bus Configuration Register, the BCR. This register has no address
and is only accessible in the first transac
transaction must be a write with AØ/sec//DMA Low and is automatically directed to the
Bus Configuration Register by the ISCC. The Bus Configuration Register contains bits
which program the byte swapping feature, the interrupt acknowledge type and other
aspects of the bus interface configuration. Refer to Chapter 5 for BCR details.
The multiplexed bus is selected for the ISCC if there is an Address Strobe prior to or during the transaction wh
ing the transaction which writes the BCR, a non-multiplexed bus is selected. The
strobe is recognized whether or not the ISCC Chip Enable
ted by certain actions which take place after a hardware reset.
tion to the ISCC after a hardware reset; this first
ich writes the BCR. If no Address Strobe is present prior to or dur-
2.2.1 Non-Multiplexed Bus Operation
When the ISCC is initialized for non-multiplexed operation, register addressing for the
ISCC cell is (with the ex-ception of WR0 and RR0), accomplished using an internal
pointer accessed via WR0. Accessing internal registers by this means is a two step operation requiring a write to the pointer followed by access of the desired regist
described in detail in later sections. Note that when the DMA is not used to address the
data, the data registers must be accessed by pointing to Register 8. (This is in contrast to
the Z8530 which allows direct addressing of the data registers through the C/D pin.)
to work with 8- or 16-bit bus sys-
address
is active.
er. This is
UM011002-0808
When the ISCC is initialized for non-multiplexed operation, register addressing for the
DMA cell (with the exception of CS
in the SCC cell. In this case the pointer is accessed in the Command Status Address Regis-
AR) is accomplished in a manner similar to that used
ter (CSAR bits 4 - 0). The SCC cell and DMA cell pointers are independent. Detailed
Page 12 of 316
operation is described in a later section.
2.2.2 Multiplexed Bus Operation
When the ISCC is initialized for multiplexed bus operation, all registers in the SCC cell
are directly addressable with the register address occupying AD5 through AD1, or AD4
through AD0 (Shift Left/Shift Right modes). The A0/SCC //DMA pin controls the SCC
cell /DMA selection. The SCC cell channel A/B selection may be controlled either by the
A0/A//B pin or by the A/B selection in the address on AD7-AD0 that is strobed into the
ISCC with /AS. Use of this re-quires that the unused SCC channel select option to be set to
Channel A. That is, if the A0/A//B pin is used to select the channel, then the AD bit for
channel selection must select channel A (the actual bit is determined by the Shift Left/
Shift Right mode employed) and conversely, if the AD bus bit is used to select the channel, then the A0/A//B pin must select channel
pin descriptions for the e
ncoding of these signals.
ISCC
User Manual
12
A. Refer to the A0/SCC//DMA and A1/A//B
In the multiplexed bus mode of operation, the register pointer in WR0 of the SCC ce
ignored and has no effec
t on the accessing of the internal registers. Register access is made
ll is
solely through the latched address. However, the pointer in the DMA Channel Command/
Address Register functions in the multiplexed bus mode and may be used to access DMA
registers in a manner identical to that in the non-multiplexed bus mode. To use the DMA
pointer in the multiplexed bus mode, the multiplexed address must always address the
CCAR of the DMA even though the actual register access will be made according to the
pointer. This requires that in the normal multiplexed mode of operation with register
access through the latched address, writes to the DMA CCAR must always write zeros to
the pointer field.
In the multiplexed bus mode in some host configurations, address A0 may be used for byte
transfer control in 16-bit systems. Therefore, it may be necessary to ignore A0 in the register decode. This is accommodated in the IS
CC by providing an option to decode the multiplexed address from A1 upwards rather than from A0 upwards. This option is the Shift
Left/Shift Right mode. The Shift
Left/Shift Right modes for the address decoding for the
internal registers (multiplexed bus) are separately programmable for the SCC cell and for
the DMA cell. For the SCC cell the programming and operation is identical to that in the
SCC; programming is accomplished through Write Register 0 (WR0), bits 1 and 0 (Figure
5-2). The programming of the Shift Left/Shift Right modes for the DMA cell is accomplished in the BCR, bit 0. In this case, the shift function is similar to that for the SCC cell;
with Shift left, the internal register addresses are decoded from
bits AD5 through AD1 and
with Shift Right, the internal register addresses are decoded from bits AD4 through AD0.
UM011002-0808
When the multiplexed bus mode is selected, Write Register 0 (WR0) takes on the form of
WR0
in the Z8030 (Figure 5-2).
2.2.3 Data Transfers
Page 13 of 316
All data transfers to and from the ISCC are done in bytes even though the data may at special times occupy the lower or upper byte of the 16-bit bus. Bus transfers as a slave peripheral are done diffe
transactions. The ISCC is fundamentally an 8-bit peripheral but supports 16-bit buses in
the DMA mode. Slave peripheral and DMA transactions are described in the next paragraphs.
Data Bus Transfers as a Slave Peripheral: When accessed as a peripheral device (when
the
ISCC is not a bus master performing DMA transfers), only 8 bits are t ransferred. When
the ISCC registers are read, the byte data present on the lower 8 bits of the bus is replicated on the upper 8 bits of the bus. Data is accepted by the IS
of the bus.
rently than bus transfers when the ISCC is the bus master dur
ISCC
User Manual
13
ing DMA
CC only on the lower 8 bits
ISCC DMA Bus Transf ers: During DMA transfers, when the ISCC is bus master
, only
byte data is transferred. However, data may be transferred from the ISCC on the upper 8
bits of the bus or on the lower 8 bits of the bus. Moreover, odd or even byte transfers may
be done on the lower or upper 8 bits of the bus. This is programmable and is described
below.
During DMA transfers to memory from the ISCC, byte data only is transferred and the
data appears on the lower 8 bits and is replicated on
the upper 8 bits of the bus. Thus the
data may be written to an odd or even byte of the system memory by address decoding and
strobe generation.
During DMA transfers to the ISCC from memory, byte data only is transferred and normally data is acce
feature may be
pted only on the lower 8 bits of the bus. However, the byte swapping
used to enable data to be accepted on either the lower or upper 8 bits of the
bus. The byte swapping feature is enabled by programming the Byte Swap Enable bit to a
1 in the BCR. The odd/even byte transfer selection is made by programming the Byte
Swap Select bit in the BCR. If Byte Swap Select is a 1, then even address bytes (transfers
where the DMA address has A0 equal 0) are accepted on the lower 8 bits of the bus and
odd address bytes (transfers where the DMA address has A0 equal 1) are accepted on the
upper 8 bits of the bus. If Byte Swap Select is a 0, then even address bytes (transfers where
the DMA address has A0 equal 0) are accepted on the upper 8 bits of the bus and odd
address bytes (transfers where the DMA address has A0 equal 1) are accepted on the lower
8 bits of the bus.
UM011002-0808
Table 2–1. ISCC Bus Access Summary
Page 14 of 316
ISCC
User Manual
14
Byte
Process
Read X X data same data
Write X X data read data ignored
DMA Write 0 X data same data
DMA Read 0 X data read data ignored
DMA Write 1 X data same data
DMA Read 1 0 depends upon A0
Enable
Swap
Select Lower 8 Bits Action on Bus Upper 8 Bits
(see below)
In the DMA Read with Byte Swap enabled:
Byte Swap Select A0 ISCC Accepts Data
0 0 Upper 8 Bits of Bus
0 1 Lower 8 Bits of Bus
1 0 Lower 8 Bits of Bus
1 1 Upper 8 Bits of Bus
In this table DMA read refers to a DMA controlled transfer from memory to the ISCC and
DMA write refers to a DMA controlled transfer from the ISCC to memory. Read refers to
a normal peripheral transaction where the CPU reads data from the ISCC and Write refers
to a normal peripheral transaction where the CPU writes data to the ISCC.
2.3 I/O INTERFACE CAPABILITIES
The ISCC offers the choice of Polling, Interrupt (vectored or non-vectored), and DMA
Transfer modes to transfer data, status, and control information to and from the CPU.
2.3.1 Polling
In this mode all interrupts and the DMA’s are disabled. Three status registers in the SCC
are automatically updated whenever any function is performed. For example, end-offrame in SDLC mode sets a bit in one of these status registers. With polling, the CPU must
periodically read a status register until the register contents indicate the need for some
CPU action to be taken. Only one register in the SCC cell needs to be read; depending on
UM011002-0808
the contents of the register, the CPU either reads data, writes data, or satisfies an error con-
Page 15 of 316
dition. Two bits in the register indicate the need for data transfer. An alternativ
the Interrupt Pending register to determine the source of an interrupt. The status for both
SCC channels resides in one register.
2.3.2 Interrupts
When the ISCC responds to an Interrupt Acknowledge signal (INTACK) from the CPU,
an interrupt vector is placed on the data bus. Both the SCC and the DMA contain vector
registers. Depending on the source of interrupt, one of these vectors is returned, either
unmodified or modified by the interrupt status to indicate the exact cause of the interrupt.
ISCC
User Manual
15
e is to poll
Each of the six sources of interrupt in the SCC (Transmit, Receive, and External/S
tatus
interrupts in both channels) and each DMA channel has three bits associated with interrupt
source: Interrupt Pending (IP), Interrupt Under Service (IUS), and Interrupt Enable (IE). If
the IE bit is set for any given source of interrupt, then that source can request interrupts.
The only exception to this rule is when the associate Master Interrupt Enable (MIE) bit is
reset, then no interrupts are requested. Both the SCC cell and the DMA have an associated
MIE bit. The IE bits in the SCC cell are write only, but the IE bits in the DMA are read/
write.
The ISCC provides for nesting of interrupt sources with an interrupt daisy chain using the
IEI, IEO, and /INT
ACK pins. As a microprocessor peripheral, the ISCC may request an
interrupt only when no higher priority device is requesting one, e.g., when IEI is High. If
the device in question requests an interrupt, it enables the /INT signal. The CPU then
responds with /INTACK, and the interrupting cell places the ve ctor on the data bus.
In the ISCC, the IP bit signals a need for interru
pt servicing. When
an IP bit is 1 and the
IEI input pin is High, the /INT signal is activated, requesting an interrupt. In the SCC cell,
if the IE bit is not set, then the IP for that source can never be set. The IP bits in the DMA
cell are set independent of the IE bit.
The IUS bits signal that an interrupt request is being ser-viced. If an IUS is set, all interrupt sources of lower priority in the
ISCC and external to the ISCC are preve
nted from
requesting interrupts. The internal interrupt sources are inhibited by the state of the internal daisy chain, while lower priority devices are inhibited by the IEO output of the ISCC
being pu
lled Low and propagated to subsequent peripherals. Internally, the SCC cell is
higher priority than the DMA cell. An IUS bit is set during an Interrupt Acknowledge
cycle if there are no higher priority devices requesting interrupts. The IUS bit must be
cleared by the CPU. This is usually done at the end of the correspond-ing interrupt service
routine.
UM011002-0808
Within the SCC portion of the ISCC there are three types of interrupts: Transmit, Re
ceive,
and External/Status. Each interrupt type is enabled under program control with Channel A
having higher priority than Channel B, and with Receive, Transmit, and External/Status
interrupts prioritized in that order within each channel. When the Transmit interrupt is
ISCC
Page 16 of 316
User Manual
enabled, the CPU is interrupted when the transmit buf fer becomes empty. This implies that
data has shifted from the transmit buffer to the transmitter, thus emptying the transmit buf
fer. When enabled, the receiver interrupts the CPU in one of three ways:
16
-
1. Interru
pt on First Receive Character or Special Receive Condition
2. Interrupt on All Receive Characters or Special Receive Condition
3. Interrupt on Special Condition Only
Interrupt on First Character or S
are typically used w
hen doing block transfers with the DMA. A Special Receive Condi-
pecial Condition, and Interrupt on Special Condition Only ,
tion is one of the following: receiver overrun, framing error in Asynchronous mode, endof-frame in SDLC mode and, optionally, a parity error. The Special Receive Condi-tion
inter
rupt is different from an Ordinary Receive Character Available interrupt only by the
status placed in the vector during the Interrupt Acknowledge cycle. In Interrupt on First
Receive Character, an interrupt occurs from Special Receive Conditions any time after the
First Receive Character interrupt.
The main function of the External/Status interrupt is to monitor the signal transitions of
the /CTS
, /DCD, and /SYNC pins; however, an External/S tatus i nterrupt is also caused by
a Transmit Underrun condition, or a zero count in the baud rate generator, or by the detection of a Break (Asynchronous mode), Abort (SDLC mode) or EOP (SDLC Loop mode)
sequence in the data s
tream. The interrupt caused by the Abort or EOP has a special feature allowing the ISCC to interrupt when the Abort or EOP sequence is detected or terminated.
This feature facilitates the proper termination of the current message, correct
initialization of the next message, and th
e accurate timing of the Abort condition in exter-
nal logic.
2.3.3 DMA Interrupts
UM011002-0808
Each DMA in the ISCC has two sources of interrupt, which share an IP bit and an IUS bit,
but have independent enables: Terminal Count and Abort. The Abort interrupt is generated
when an active DMA channel is forced to terminate its transfers because /BUSACK is deasserted during a transfer. The Terminal Count interrupt is generated when the DMA transfer count reaches zero. The DMA channels themselves are prioritized in a fixed order:
Receive
A, Transmit A, Receive B, and Transmit B.
When DMA transfers are used, the on-chip DMA channels transfer data directly to the
transmit buffers or directly from the receive buffers. No other tra
nsfers are possible (for
initialization, for example). The request signals from the receivers and transmitters are
hard-wired to the request inputs of the DMA channels internally. Each DMA channel provides a 32-bit address which is either incremented or decremented with a
16-bit transfer
length. Whenever a DMA channel receives a request from its associated receiver or transmitter and the DMA channel is enabled, the ISCC activates the /BUSREQ signal. Upon
ipt of an active /BUSACK, the DMA channel transfers data between memory and the
rece
SCC cell. This transfer continues until the receiver or transmitter stops requesting a trans-
fer or until the terminal count is reached, or /BUSACK is deactivated. The four DMA
Page 17 of 316
channels operate independently when the Request Per Channel option is selected; other
wise, all requests pending at the time of bus acquisition will be serviced be
released. Each DMA channel is independently enabled and disabled.
2.4 REGISTER ACCESS
ISCC registers may be accessed explicitly, directly or indirectly. Explicit addressing
occurs only for three registers in the ISCC: these are the Bus Configuration Register (for
the first write after a hardware reset), the RDR (Receive Data Register) by a fly-by DMA
read, and the TDR (Transmit Data Register) by a fly-by DMA write. In the non-multiplexed bus case, only WR0/RR0 of the SCC cell and only the Channel Command/Address
Register of the DMA cell are
pointers in these directly accessed registers. In the multiplexed bus case, all registers
(except the WR0, RR0 and CCAR) are accessed through a two step address/read-write bus
transaction. In this case there are two options available for address decoding: shift right
and shift left. These options are independently selectable for both the SCC cell and the
DMA cell.
ISCC
User Manual
17
-
fore the bus is
accessed directly. Other registers are accessed using the
2.4.1 SCC Cell Register Access, Multiplexed Bus
The registers in the ISCC in the multiplexed bus mode are addressed via the address on
AD7-AD0 which is latched by the rising edge of /AS. As discussed in the paragraphs
below, the address contains a bit to select the SCC cell channel (A or B). Although this
selection is in the address, the A1/A//B input remains active and must be set to select
Channel A for the selection bit in the AD7-AD0 address to function correctly . Conversely,
the A1/A//B pin may also be used to select the channel instead of the bit in the AD7-AD0
address. In this case, the bit in the AD7-AD0 address must be set to select Channel A for
the A1/A//B input to function correctly.
There are two address decoding modes: shift left and shift right. In shift left mode, the register address is deco
In the shift left mode
Select bit, A/B, is decoded from AD5. The register map for this case is shown in
Table 2-2.
ded from AD5-AD1. This mode is set by a hardware reset.
, the register address itself is placed on AD4-AD1 and the Chan
nel
UM011002-0808
User Manual
Page 18 of 316
Table 2–2. SCC Cell Address Map, Multiplexed Bus Mode, Shift Left
Note: The above table applies to Channel “B” also.
ISCC
18
In Shift Right Mode, bits 0-1 in WR0A controls which bits will be decoded to form the
register address. It is placed in this register to simplify programming when the current
state of the Shift Right/Shift Left bit is not known.
The register address is decoded from AD4-AD0. The Shift Right/Shift Left bit is written
via command to make the software writing to WR0 independent of the state of the Shift
Right/Shift Left bit.
AD4-AD0 is the actual register address and AD0
determines the channel se
lection (A//B).
The register map is shown in Table 2-3.
Because the ISCC SCC Cell does not contain 16 read registers, the decoding of the read
registers is not complete; this is indicated in Table 2
-2 and Table 2-3 by parentheses
around the register name. These addresses may also be used to access the read registers.
Note also that in the multiplexed bus mode, only one WR2 and
WR9 are shown in the
address map; these registers may be written from either SCC cell channel.
UM011002-0808
Table 2–3. SCC Cell Address Map, Multiplexed Bus Mode, Shift Right
2.4.2 SCC Cell Register Access, Non-Multiplexed Bus
The registers in the SCC cell in the non-multiplexed bus mode are accessed in a two-step
process, using a Register Pointer to perform the addressing. To access a particular register,
UM011002-0808
ISCC
Page 20 of 316
User Manual
the pointer bits must be set by writing to WR0 bits 2, 1, and 0 and, if required, using the
Point High command to extend the three bit pointer to registers 8 through
15. This write to WR0 to set the pointer bits may be done in either channel. There is only
one pointer register and it is used for both A and B channels. After the pointer bits are set,
the next read or write cycle to the SCC cell will access the desired register in the channel
selected during this read or write cycle. At the conclusion of this read or write cycle, the
pointer bits are reset to “0s,” so that the next access will be to WR0.
The fact that the pointer bits are reset to “0,” unless explicitly set otherwise, means that
WR0 and RR0 may also
be accessed in a single cycle. That is, it is not necessary to write
the pointer bits with “0” before accessing WR0 or RR0. There are three pointer bits in
WR0, and these allow access to the registers with addresses 0 through 7. Note that a command may be written to WR0 at the same time that the pointer bits are written.
To a
ccess the registers with addresses 8 through 15, a special command must accompany
the poi
nter bits; WR0(4-3)=001. This precludes concurrently issuing a command when
pointing to these registers. The register map for the ISCC in the non-multiplexed bus
mode is shown in Table 2-4 below. If, for some reason, the state of the pointer bits is
unknown, they may be reset to “0” by performing a read cycle of the SCC cell. Once the
pointer bits have been set, the desired channel is selected by the state of the A1/A//B pin
during the actual read or write of the desired SCC cell register.)
20
UM011002-0808
Table 2–4. SCC Cell Register Address Map Using Pointer (Non-multiplexed Bus Mode)
Table 2-5 lis t s the contents of the SCC cell registers after a hardware reset and after a
channel reset.
Table 2–5. SCC Cell Reset Value
ISCC
User Manual
22
UM011002-0808
2.4.4 DMA Cell Registers
The DMA cell contains seventeen registers counting the Bus Configuration Register. All
of these registers are read/write exept the Bus Configuration Register (write only), the
Channel Command Address Register (write only), the DMA Status Register (read only),
the Interrupt Command Register (write only), and the Interrupt Status Register (read only).
The reset content of all of the DMA registers identified in the address map is all zeroes.
2.4.5 DMA Register Access, Multiplexed Bus
The registers in the ISCC in the multiplexed bus mode are addressed via the address on
AD7-AD0 which is latched by the rising edge of /AS.
ISCC
Page 23 of 316
User Manual
There are two address decoding modes: shift left and shift right. In shift left mode, the
register address is decoded from AD5-AD1. This mode is set by a hardware reset. In Shift
right mode, the register address is decoded from AD4-AD0. The shift right/shift left selec
tion for the DMA is located in the Bus Confi
guratin Register, bit D0. When set, this bit
programs the Shift Right mode for the DMA and when reset, this bit programs the Shift
Left Mode.
The address map for the DMA registers is shown in Table 2-6. This Table is also applicable to the non-multiplexed bus mode.
23
-
UM011002-0808
User Manual
Page 24 of 316
Table 2–6. DMA Address Map
Address* Name Description
xxxxx BCR Bus Configuration Register
00000 CCAR Channel Command/Address Register (Write)
00000 DSR DMA Status (Read)
00001 ICR Interrupt Control Register
00010IVRInterrupt Vector Register
00011 ICSR Interrupt Command Register (Write)
00011 ISR Interrupt Status Register (Read)
00100 DER DMA Enable/Disable Register
00101 DCR DMA Control Register
00110 Reserved Address
00111 Reserved Address
01000 RDCRA Receive DMA Count Register, Channel A (Low Byte)
01001RDCRA Receive DMA Count Register, Channel A (High Byte)
01010 TDCRA Transmit DMA Count Register, Channel A (Low Byte)
01011 TDCRA Transmit DMA Count Register, Channel A (High Byte)
01100 RDCRB Receive DMA Count Register, Channel B (Low Byte)
01101 RDCRB Receive DMA Count Register, Channel B (High Byte)
01110 TDCRB Transmit DMA Count Register, Channel B (Low Byte)
01111 TDCRB Transmit DMA Count Register, Channel B (High Byte)
10000 RDARA Receive DMA Address Register, Channel A (Bits 0-7)
10001 RDARA Receive DMA Address Register, Channel A (Bits 8-15)
10010 RDARA Receive DMA Address Register, Channel A (Bits 16-23
10011 RDARA Receive DMA Address Register, Channel A (Bits 24-31)
10100 TDARA Transmit DMA Address Register, Channel A (Bits 0-7)
10101 TDARA Transmit DMA Address Register, Channel A (Bits 8-15)
10110 TDARA Transmit DMA Address Register, Channel A (Bits 16-23)
10111 TDARA Transmit DMA Address Register, Channel A (Bits 24-31)
11000 RDARB Receive DMA Address Register, Channel B (Bits 0-7)
11001 RDARB Receive DMA Address Register, Channel B (Bits 8-15)
11010 RDARB Receive DMA Address Register, Channel B (Bits 16-23)
11011 RDARB Receive DMA Address Register, Channel B (Bits 24-31)
11100 TDARB Transmit DMA Address Register, Channel B (Bits 0-7)
11101 TDARB Transmit DMA Address Register, Channel B (Bits 8-15)
11110 TDARB Transmit DMA Address Register, Channel B (Bits 16-23)
11111 TDARB Transmit DMA Address Register, Channel B (Bits 24-31)
ISCC
24
UM011002-0808
Loading...
+ 292 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.