Am186™CH HDLC Microcontroller Data Sheet 27
Synchronous Serial Port
The Am186CH HDLC microcontroller includes one SSI
port that provides a half-duplex, bidirectional,
communications interface between the Am186CH
HDLC microcontroller and other system components.
This interface is typically used by the microcontroller to
monitor the status of other system devices and/or to
configure these devices under software control. In a
communications application, these devices could be
system components such as audio codecs, line
interface units, and transceivers. The SSI supports
data transfer speeds of up to 25 Mbit/s with a 50-MHz
system clock.
The SSI port operates as an interface master, with the
other attached devices acting as slave devices. Using
this proto col, th e micro contr oller sen ds a co mmand byt e
to the attached device, and then follows that with either
a read or write of a byte of data.
The SSI port consists of three I/O pins: an enable
(SDEN), a clock (SCLK), and a bidirectional data pin
(SDATA ). SDEN can be us ed dire ctly as an enable for
a single attached device. Whe n more than one device
requires control via the SSI, PIOs can be used to
provide enable pins for those devices.
The Am186CH SSI is, in gene ral, soft ware compa tible
with software written for the Am186EM SSI. (Additional
features have been added to the Am186CH SSI
implementation.) The Am186CH HDLC microcontroller
features the additional capability of selecting the
polarity of the SCLK and SDEN pins, as well as the shift
order of bits on the SDATA pin (least-significant-bit first
versus most-significant-bit first). The SSI port also
offers a programmable clock divisor ( di vidi ng the clock
from 2 to 256 in power of 2 increments), a bidirectional
transmit/recei ve shift register, and direct conne ction to
AMD SLAC device s.
System Peripherals
Interrupt Controller
The Am186CH HDLC microcontroller features an
interrupt controller that arranges the 36 maskable
interrupt requests by priority and presents them one at
a time to the CPU. In addition to interrupts managed b y
the interrupt controller, the Am186CH HDLC
microcontroller supports eight nonmaskable
interrupts—an external or internal nonmaskable
interrupt (NMI), a trace interrupt, and software
interrupts and exceptions.
The interrupt controller supports the 36 maskable
interrupt sources through the use of 15 channels.
Because of this, most channels support multiple
interrupt sources. These channels are programmable to
support the external interrupt pins and/or various
peripheral devices that can be configured to generate
interrupts. The 36 maskable interrupt sources include 19
internal sources and 17 external sources.
Four General-Purpose DMA Channels
The Am186CH HDLC microcontroller provides a total
of 12 DMA channels that can be used for data transfer
between memory and I/O spaces (i.e., memor y-to-I/O
or I/O-to-memory) or within the same space (i.e.,
memory-to-memory or I/O-to-I/O). In addition, the
Am186CH HDLC microcontroller supports data
transfer between peripherals and memory or I/O.
Internal peripherals that support general-purpose DMA
are Timer 2 and the two asynchronous serial ports
(UART and High-Speed UART). External peripherals
support DMA transfers through the external DMA
request pins. Each general-purpose channel can
accept synchronized DMA requests from one of three
sources: DMA request pins (DRQ1–DRQ0), Timer 2, or
the UARTs. In addition, system software can initialize
and start unsynchronized DMA transfers.
In addition to the four general-purpose channels, the
Am186CH HDLC microcontroller provides four
SmartDMA channels (see page 26).
48 Programmable I/O Signals
The Am186CH HDLC microcontroller provides 48
user-progr ammable input/output signals (PIOs). All b ut
six of the 48 signals share a pin with at least one
alter nate function. If an ap plication does not need the
alter nate fun ction, the asso ciated PIO c an be used by
programming the PIO registers.
If a pin is enabled to function as a PIO signal, the
alternate function is disabled and does not affect the
pin. A PIO signal can be configured to operate as an
input or output, with or without internal pullup or
pulldown resisto rs (pul lup or pul ldown d epends on the
pin configuration and is not user-configurable), or as an
open-drain output. Additionally, eight PIOs can be
configured as external interrupt sources.
Three Programmable Timers
There are three 16-bit programmable timers in the
Am186CH HDLC microcontroller. Timers 0 and 1 are
highly v ersatile and are each connected to two external
pins (each one has an input and an output). These two
timers can be used to count or time e xternal ev ents that
dri ve the time r input pins. Timers 0 an d 1 can also be
used to generate nonrepetitive or variable-duty-cycle
waveforms on the timer output pins.
Timer 2 is not connected to any external pins. It can be
used by software to generate interrupts, or it can be
polled for real-time coding and time-delay applications.
Timer 2 can also be used as a prescaler to Timer 0 and
Timer 1, or as a DMA request source.
The source clock for Timer 2 is one-fourth of the
system clock frequency. The source clock for Timers 0