11
MTC-20280
ISDN/IDSL Terminal Controller
All bytes of the GCI frames of all three
GCI interfaces are accessible to the
processor, for both reading and writing.
A sophisticated router allows any of the
GCI fields (B channel, D channel, C/I
bits, and Monitor channel) to be routed to
the corresponding field of any destination
channel. Bytes can also be ‘disabled’, in
which case they remain at the idle - logic
‘1’ - state. Particularly powerful is the
ability to set fixed routes of the B channels
from a source to any destination without
the need for further intervention by the
CPU, thus relieving the CPU of much real-
time processing. Up to eight GCI time-
slots is supported on each GCI port
independently, where external GCI clocks
are available. The internal GCI clock
supports one timeslot or eight timeslots.
The clock source (which determines the
number of timeslots supported by the
channel) is independently selectable for
each GCI port. Using an external clock
thus allows the GCI ports to interface to
all commonly used ISDN devices.
With regard to EMC requirements, the
slope of the GCI data output pins is
controlled, in a manner consistent with
achieving the required bus transfer speed.
HDLC controllers
The three integrated HDLC controllers
can be routed two / from any B or D
channel of any port. In addition, they
each have full-duplex 64 byte FIFOs,
which allow a large timing latency and
thus ease software timing constraints. The
HDLC controller protocol may be
disabled under software control, thus
allowing the FIFOs to be used to buffer
real-time data, e.g. for the processing of
voice-band signals on B-channels (DTMF
decoding, modem emulation, pre-
recorded voice announcements etc.)
Generally, HDLC1 will be used to
manage the ISDN D-chanel. D-channel
conflicts between the S bus and the
HDLC1 controller of the device are
handled by forcing a "D-channel busy"
condition on the S-bus by means of the
appropriate command to the S interface
of the INT. This is done only after the
microprocessor has verified that the
BUSY bit in the SIC’s control registers is
clear (i.e. D-channel not in use).
HDLC controllers 2 and 3 are
generally used to handle packetised
data transport over the B channels
(including balanced applications such
as LAPB). However, in specific
applications such as internal call
transfer support or PABX,
the D-channel to/from the S-bus
requires independent management
(while still monitoring the D channel
to/from the U interface). HDLC 2 or 3
may be used for this purpose.
DTMF decoding
This function may be performed by low-
cost, external DTMF decoder circuits,
interfacing to the CPU via an on-chip
parallel I/O port (programmable bit
directions). Alternatively, software
algorithms on the ARM7TDMI
processor may be used. The 0-wait-
state on-chip RAM facilitates this.
Serial I/O
A UART with selectable baud-rate and
16 byte FIFOs is provided. The baud-
rate is programmable to standard
rates up to 57.7kbit/s, 115kbps and
230 kbps, and is compatible with the
standard UART 16C550. The Rx and
Tx pins are 5V compatible. The
modem controls RTS and CTS from the
UART block are available as 5V
compatible pins.
Parallel I/O ports
A number of 4-bit parallel I/O ports
are provided, primarily to allow an
interface to external DTMF decoder
chips. The ports are addressable by
the CPU as a latched output, an
unlatched input, and a data-direction
register which is used to select the
direction (input at reset) of each bit.
External port pins may also request an
interrupt to the CPU (maskable) when
programmed to be an input.
Interrupt control
The device contains several interrupt
sources. Each can be masked by
setting a bit in a control register.
Priority is resolved in software; all
‘interrupt request’ bits from the various
sources are readable in a register. This
register can be written to; writing a '1'
clears the corresponding request bit, but
writing a '0' has no effect. Individual
interrupt control registers also exist within
each of the functional blocks (HDLC
controller, UART etc.). The registers
described here provide a centralized
and thus fast means of handling
priorities. The various interrupt sources
are permanently routed to the nIRQ
(normal interrupts) and to the FIRQ (fast
response) of the ARM7 CPU.