MTC-20285 [AMI]

ISDN Controller, 1-Func, PQFP144, PLASTIC, QFP-144;
MTC-20285
型号: MTC-20285
厂家: AMI SEMICONDUCTOR    AMI SEMICONDUCTOR
描述:

ISDN Controller, 1-Func, PQFP144, PLASTIC, QFP-144

电信 综合业务数字网 电信集成电路
文件: 总116页 (文件大小:1533K)
中文:  中文翻译
下载:  下载PDF数据表文档文件
MTC-20285 240300 [1]  
MTC-20285  
ISDN / IDSL Terminal  
Controller with USB  
Data Sheet  
Rev. 0.1 - March 2000  
1. ISDN / IDSL Terminal Controller with USB  
Key Features  
Key Applications  
• Integrated 32 MHz ARM7TDMI  
RISC processor core  
• Integrated USB controller  
• 16 or 8-bit memory bus  
• 4 kByte, 32-bit zero wait-state  
RAM on board  
• 5 full-duplex HDLC formatters  
with deep FIFO’s (transparent  
mode via FIFO’s)  
• 3-way GCI interface and  
router  
• ISDN NT + with high speed  
USB data features  
• USB based ISDN TAs  
• ISDN / IDSL routers / multi-  
plexers  
The MTC-20285 is a fully integrated  
controller for ISDN/IDSL terminal  
equipment applications with advanced  
data communications features, offering  
integrated USB interfaces. It has been  
specifically designed for control and  
interface functions between ISDN  
access devices, such as the MTC-  
20276/77 Integrated NT and other  
terminal functions, such as analog  
interfaces, for example by means of  
the MTK-40130 Short-Haul POTS  
chipset.  
• ISDN PABX  
• 239.4 kBaud UART with full-  
duplex 16-byte FIFO’s  
• 24-bit user parallel I/O ports  
• ISDN and application software  
available  
It incorporates an ARM7TDMI RISC  
core, which can perform all of the  
terminal control and data flow  
• 144 pin PQFP package style  
management functions required in  
software. It can thus form the core  
of an Intelligent NT, or ‘NTplus’ unit,  
as well as being the core of router /  
multiplexer equipment for data  
applications. In addition, the GCI  
port for analog peripherals supports  
the x8 multiplex mode, allowing up  
to 16 analog ports to be accessed.  
ISDN Line  
Connection  
U
S - bus  
MTC-20276/7  
INT  
S
Power  
Supply  
GCI  
mains  
DIAGNOSTIC PORT  
V.24  
PHY  
POTS 1  
POTS 2  
MTC-30132  
SH-LIC  
MTC-20285  
It can also form the core of a small  
ISDN based PABX. The register map  
is a functional superset of the MTC-  
20280 ISDN terminal controller, so  
is upward software compatible. The  
on-board USB controller offers data  
connectivity to PCs for high-speed  
data applications, or for specialist  
products for CTI, dealer-desk or call-  
center applications.  
MTC-  
20232  
CODSP  
RS-232 PORT  
USB PORT  
V.24  
PHY  
Controller for  
ISDN  
Terminal  
Adapters with  
USB  
GCI  
MTC-30132  
SH-LIC  
USB  
PHY  
MTK-40131  
SH-POTS chipset  
'NT1+' Box  
Fig.1: ISDN/IDSL Terminal Controller - Typical Application  
MTC-20285 240300 [2]  
MTC-20285  
USB transceiver  
Serial Data Port  
UART+BRG  
Power / Ground  
HDLC1  
HDLC2  
HDLC3  
HDLC4  
HDLC5  
USB  
Protocol  
Engine  
1kB  
GCI  
and  
HDLC  
router  
RAM  
APB  
bridge  
External  
Memory  
Interface  
Watchdog  
Timer1  
GCI U  
GCI S  
GCI A  
1024 x 32  
fast RAM  
Timer2  
ARM7  
TDMI  
core  
xtal USB  
xtal  
Clock  
Generator  
UART +  
BRG  
Parallel I/O  
Parallel I/O, diagnostic UART and  
Timer interfaces  
CKOUT  
IT JTAG debug  
& test port  
Fig.2: MTC-20285 - IDSN/IDSL with USB Controller - Block Diagram  
2
MTC-20285 240300 [3]  
MTC-20285  
General Description  
Clock Generation and Control  
3-way GCI Interface  
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 of the real-time  
processing. Up to 8 GCI time slots are  
supported on each GCI port indepen-  
dently, where external GCI clocks  
are available. The internal GCI clock  
supports 1 time slot or 8 time slots.  
The clock source which determines the  
number of time slots supported by the  
channel is independently selectable  
for each GCI port. Using an external  
clock therefore allows the GCI ports to  
interface to all commonly used ISDN  
devices.  
A master clock oscillator is provided,  
based on an external crystal of 15.36  
Mhz. This provides an output at the  
crystal frequency for the ISDN chip  
(INTT or INTQ). It therefore offers  
accuracy of better than 100ppm.  
The CPU clock frequency is software  
selectable, allowing the power  
The terminology ‘Downstream’ refers  
to the transfer of data coming from the  
U interface towards the S or analog  
interfaces. ‘Upstream’ is the direction  
from the S or analog interfaces  
towards the U.  
The device provides 3 fully independent  
CGI interfaces normally allocated as  
follows:  
• U interface of MTC-20276 /  
20277 INT, GCI-U.  
• S interface of MTC-20276 /  
20277 INT, GCI-S.  
• Interface to analog devices  
such as MTK-40130 short-haul  
POTS chipset, GCI-A.  
consumption to be reduced at times  
when full processing speed is not  
required. An on-board DPLL doubles  
clock frequency to allow the CPU and  
all peripherals to operate at higher  
clock speeds. (The default condition  
emulates the timing of the MTC-  
20280 for software compatibility).  
With regard to EMC requirements, the  
slope of the GCI data output pins are  
controlled in a manner consistent with  
achieving the required bus transfer  
speed.  
Memory Bus  
In reality, all three GCI ports are  
identical - the allocation to U, S and  
A (analog) is arbitrary and shown  
for clarity only.  
The external memory bus supports  
either 8-bit (for low cost) or 16-bit  
(high-speed) memory systems. It allows  
read / write access to off-chip memory  
and I/O resources, and includes a  
simple to use on-chip memory decoding  
scheme to minimize external logic.  
In most cases, the external memory  
interfaces requires no glue-logic  
whatsoever. A maximum of 12 MBytes  
external memory can be accessed in  
automatically decoded pages of 2  
MBytes. It is designed to interface to  
standard FLASH EEPROM and (pseudo)  
static RAMs. The bus interface logic  
includes a programmable WAIT STATE  
generator, to allow access to slow  
external devices. 4 kBytes of fast  
(zero wait-state with 32-bit access)  
on-chip static RAM is included.  
The U interface section of the INT will  
always provide the GCI clocks (master)  
when active. (This can be achieved by  
issuing the AWAKE command on the  
GCI C/I bits to the U interface, which  
activates the timing generator of the  
U interface without actually initiating  
transmission). All other GCI buses will  
generally be slaved to this one. In  
applications where the use of the U  
interface is not mandatory (e.g. in  
a micro-PABX system which allows  
internal calling without U activation),  
an internal GCI clock source can be  
selected. An integrated PLL system  
may be enabled to allow the internally  
generated GCI clocks to track and  
lock to the U GCI clock, should this  
become active in the course of  
HDLC Controllers  
The 5 integrated HDLC controllers can  
be routed to/from any B or D channel  
of any port. In addition, they each  
have full-duplex 64 byte FIFO’s, which  
allow a large timing latency and thus  
easy software timing constraints. The  
HDLC controller protocol may be  
disabled under software control, thus  
allowing the FIFO’s to be used to  
buffer real-time data. For example, for  
the processing of voice-band signals on  
B-channels (DTMF decoding, modem  
emulation and pre-recorded voice  
announcements etc). In this mode, the  
data order (MSB first or LSB first) may  
be user selected for compatibility with  
various applications (for example,  
when using the FIFO’s to buffer PCM  
data from an analog GCI terminal  
requires bit-reversal).  
A programmable Chip-Select (CS)  
decoder defines the external memory  
map. The default map ensures that  
the CPU can start up from reset by  
enabling ROM at address 0. It allows  
6 external memory ranges to be  
individually decoded. With regard  
to EMC requirements, the slope of the  
memory bus transitions is controlled  
in a manner consistent with achieving  
the required bus transfer speed. Each  
CS memory range has programmable  
wait-states.  
operation.  
All bytes of the GCI frames of all three  
GCI interfaces are accessible to the  
processor read and write. A sophisti-  
cated router allows for any of the GCI  
fields (B channel, D channel, C/I bits,  
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  
Generally, HDLC1 will be used to  
manage the ISDN D-channel. 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 inter-  
face of the INT, via the appropriate  
3
MTC-20285 240300 [4]  
MTC-20285  
external DTMF decoder chips and  
other application dependent hard-  
ware. 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 selected as an input.  
to provide either system reset (normal  
use) or routed to an interrupt pin for  
system debug.  
M-channel commands. This is done  
only after the microprocessor has  
verified that the BUSY bit in the ‘S’-bus  
interface circuit (SIC) control registers  
is clear (i.e. D-channel not in use).  
CPU  
HDLC controllers 2 and 3 are gene-  
rally used to handle packetized 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 manage-  
ment (while still monitoring the D  
channel to/from the U interface).  
HDLC 2 to 5 can be used for this  
purpose. Additional HDLC controllers  
can be used to buffer speech  
The ARM7TDMI CPU is integrated  
and will generally use the 16-bit data  
bus mode ‘Thumb’. The external bus  
interface supports 16 or 32-bit trans-  
fers multiplexed to 16 or 8-bits, while  
access to the on-chip SRAM can take  
place as 8, 16 or 32-bit transfers (it  
thus supports the full performance of  
the ARM7TDMI CPU). The CPU will  
generally run at the clock frequency  
set by the crystal oscillator (15.36  
MHz) multiplied by 2 to give 31 MHz.  
However, a programmable divider is  
provided to allow software control of  
the processor speed, and therefore  
the power consumption.  
Interrupt Control  
The device contains several interrupt  
sources, which can be masked by  
setting a bit in a control register.  
Priority is resolved in software and all  
‘interrupt request’ bits from the various  
sources are readable in a register. This  
register can be written to such that  
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 perma-  
nently routed to the nIRQ (normal  
interrupts) and to the FIRQ (fast  
information, as required.  
DTMF Decoding  
Low-cost, external analog DTMF  
decoder circuits can be used to  
perform this function. These can be  
connected to the CPU via an on-chip  
8-bit parallel I/O port (programmable  
bit directions). Alternatively, software  
algorithms on the ARM7TDMI  
USB Controller  
The on-board Revision 1.1 compliant  
USB controller, supports up to 12 end-  
points (6 bi-directional endpoints). In  
addition to memory mapped control  
registers, a dual-port RAM implemen-  
tation of user definable FIFO’s for each  
endpoint ensures that USB data trans-  
fers do not interfere with CPU activity,  
with resulting loss of CPU throughput.  
Full support of USB Plug&Play features  
is offered, and the execution of all  
standard USB commands is automatic  
(that is not require CPU intervention).  
The USB controller block remains in a  
reset state until the user software has  
properly initialized the block. The USB  
controller communicates to an off-chip  
physical USB driver / receiver device  
via an interface as defined by the  
USB Implementers Forum, and is thus  
compatible with industry standard  
devices. The use of an off-chip physical  
device facilitates system design for EMC  
and the stringent isolation requirements  
of the telecommunications industry. 7  
status indication outputs are provided,  
which can be used to drive indicator  
LEDs showing USB status and activity  
on each endpoint pair.  
processor may be used. The zero  
wait-state, on-chip RAM facilitates this.  
response) of the AMR7TDMI CPU.  
An external interrupt request pin  
allows external peripheral devices  
to communicate asynchronously with  
the CPU. In addition, most of the  
available parallel I/O pins can  
function as interrupt sources when  
programmed as inputs.  
Serial I/O  
A UART with selectable Baud rate  
and full duplex 64-byte buffering is  
provided. The Baud rate is program-  
mable to standard rates up to 230.4  
kbps. The external UART interface  
pins are 5V compatible. A second,  
simplified UART without buffering is  
also provided, intended for product  
configuration or diagnostics.  
Timers / Watchdog  
Two 16-bit timer / counters and a  
(7 second maximum) Watchdog timer  
are included. The timers support auto  
pre-load timer interrupt generation,  
thus allowing interrupts to be generated  
at regular, programmable intervals.  
Timer 2 also supports timer capture  
functions (the source of which is  
Parallel I/O Ports  
A number of parallel I/O ports are  
provided, totaling 24-bits when in 16-  
bit memory bus mode (an additional 8  
I/O pins are available when the 8-bit  
bus mode is used). These ports are  
primarily to allow an interface to  
selectable), to allow the timing of  
external events to be simplified. The  
watchdog output can be connected,  
4
MTC-20285 240300 [5]  
MTC-20285  
MECHANICAL DATA, PIN FUNCTIONS AND EXTERNAL COMPONENTS  
Package and Pin-out  
The device is delivered in a 144 pin  
PQFP package. For detailed  
mechanical data, please refer to the  
Alcatel Microelectronics Packaging  
Handbook, specification number  
16505 for production packages.  
The next sections describe in detail the  
pin functions and I/O type, in normal  
and test modes. The following figures  
show the pin-out names and package  
orientations in top view.  
108  
107  
106  
105  
104  
103  
102  
101  
100  
99  
DQ0  
USB_PULL  
VSS  
2
DQ1  
DQ2  
DQ3  
DQ4  
DQ5  
DQ6  
DQ7  
VDD  
VSS  
DQ8  
DQ9  
DQ10  
DQ12  
DQ12  
DQ13  
DQ14  
DQ15  
VDD  
VSS  
PD0  
PD1  
PD2  
PD3  
MC6  
MC7  
VDD  
VSS  
A1  
3
USB_CFG  
USB1_RXTX  
USB2_RXTX  
USB3_RXTX  
USB4_RXTX  
USB5_RXTX  
USB6_RXTX  
VDD  
WDALARM  
IT  
CKOUT  
DIU  
DOU  
DCLU  
FSCU  
VSS  
VDD  
DIS  
DOS  
DCLS  
FSCS  
VSS  
VDD  
DIA  
DOA  
DCLA  
FSCA  
PC3  
PC2  
PC1  
PC0  
RTS  
CTS  
VSS  
4
5
6
7
8
9
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
32  
33  
34  
35  
36  
98  
PG0  
PG1  
PG2  
PG3  
PH0  
PH1  
PH2  
PH3  
97  
96  
95  
94  
93  
92  
91  
90  
MTC-20285  
89  
88  
(144 PQFP)  
87  
86  
85  
84  
83  
82  
81  
80  
79  
78  
77  
76  
75  
74  
A2  
A3  
A4  
A5  
A6  
A7  
A8  
RTS2  
CTS2  
TXD2  
RXD2  
Fig.3: MTC-20285 pin-out names (Top View)  
5
MTC-20285 240300 [6]  
MTC-20285  
Marking on the Package  
Package Orientation  
The marking described below is used  
on production devices, according to  
the ‘Standard Marking Specification  
for Alcatel Microelectronics’,  
specification number 16020.  
DQ0  
Topside Marking (PQFP)  
144 PQFP  
Standard Marking Layout  
Fig.4: Package Orientation  
(top view)  
ARM  
LOGO  
2840  
YYWW  
ARM  
MTC-20285 PQ-C  
C285 - MMM  
ZZZZZZZZZ  
Fig.5: Topside Marking  
LOGO (Alcatel Microelectronics LOGO)  
CUST. BRAND (Customer LOGO)  
YYWW (Assembly year and week code)  
GGGG (Product name)  
CUST_PART_NR (Product code)  
MMMM_MMM (Product name)  
ZZZZZZ (Wafer Lot Number)  
SS (Assembly source)  
Y
Y
Y
Y
Y
Y
Y
Y
N
ALCATEL 2840  
(1)  
ARM Logo  
Standard  
ARM  
MTC-20285PQ-C  
(2)  
C285-xxx  
Standard  
Standard  
Special Feature  
NOTE:  
(1) The ARM logo is optional (not needed because the name ‘ARM’ is on the  
package)  
(2) xxx corresponds to the mask / process code used for the device  
Reverse Side Marking  
Standard, i.e. no marking  
6
MTC-20285 240300 [7]  
MTC-20285  
Delivery  
Pin Description and Assignment  
Devices can be delivered in tubes as  
defined in specification 15830 and  
9200, or trays for QFP as defined in  
specification 9200 with optional dry  
packing as defined in specification  
16650. Tape on Reel as defined in  
specification 16665 is available on  
request.  
Table 1 Pin Assignment, enumerates  
the pins and their type, as well as  
which pins are used in which mode  
of operation (either normal or test  
mode). The type of pin is encoded  
with a letter code, such as ‘DId’ for a  
Digital Input with internal pull down.  
Important Notes on 5 V  
Tolerant Pins  
NOTE 1:  
This means that these cells accept  
5V INPUT signals, but they do not  
generate 5V OUTPUT signals. That  
is for outputs, only tri-state cells can  
be used, for example tri-state (cells  
of type ‘*5z’):  
The first letter differentiates between:  
D = Digital  
A = Analog  
P = Power  
• required for driving bus structures in  
open drain configuration (e.g. GCI  
data out)  
• requires an external pull-up resistor  
to either 3.3V or 5V depending on  
which high output level is requested  
by the application and system.  
The second letter differentiates between:  
I = Input  
O = Output  
B = Bi-directional  
The next letter differentiates between:  
d = pin with internal pull-down  
u = pin with internal pull-up  
NOTE 2:  
Also when using a 5V interface, the  
system should be designed such that  
no 5V inputs are applied when the  
3.3V power supply is not present as  
this limits the lifetime of the device  
(see section 5.2).  
The next letter indicates whether  
the I/O is:  
s = pin with Schmitt trigger input  
The next letter indicates whether  
the I/O is:  
5 = 5 Volt tolerant input/output  
The next letter indicates whether  
the I/O is:  
z = pin with tri-state output  
If some pins are not used in certain  
modes, then they are shown either  
connected to power (VDD) or ground  
(GND), or must remain unconnected  
(DNC).  
7
MTC-20285 240300 [8]  
MTC-20285  
Table 1: Pin Assignment  
Nmb  
95  
94  
93  
92  
89  
88  
87  
86  
83  
82  
81  
80  
1
2
3
4
5
6
7
8
11  
12  
13  
14  
15  
16  
17  
18  
26  
29  
30  
31  
32  
33  
34  
35  
36  
37  
38  
39  
40  
41  
42  
47  
48  
49  
50  
51  
52  
53  
Name  
DIU  
Type  
Function  
DIs5  
DO5z  
DBs5  
DBs5  
DIs5  
DO5z  
DBs5  
DBs5  
DIs5  
DO5z  
DBs5  
DBs5  
DBs  
DBs  
DBs  
DBs  
DBs  
DBs  
DBs  
DBs  
DBs  
DBs  
DBs  
DBs  
DBs  
DBs  
DBs  
DBs  
DOz  
DO  
DO  
DO  
DO  
DO  
DO  
DO  
DO  
DO  
DO  
DO  
DO  
DO  
DO  
DO  
DO  
DO  
DOU  
DCLU  
FSCU  
DIS  
DOS  
DCLS  
FSCS  
DIA  
TTL  
6mA  
GCI  
INTERFACE  
DOA  
DCLA  
FSCA  
DQ0  
DQ1  
DQ2  
DQ3  
DQ4  
DQ5  
DQ6  
DQ7  
DQ8  
DQ9  
DQ10  
DQ11  
DQ12  
DQ13  
DQ14  
DQ15  
MC7  
A1  
A2  
A3  
A4  
A5  
A6  
A7  
A8  
A9  
A10  
A11  
A12  
A13  
A14  
A15  
A16  
A17  
A18  
A19  
A20  
A21  
CMOS  
4mA  
RAM  
INTERFACE  
CMOS  
4mA  
DO  
DO  
DO  
DO  
8
MTC-20285 240300 [9]  
MTC-20285  
Nmb  
61  
60  
59  
58  
57  
56  
25  
65  
Name  
MC0  
MC1  
MC2  
MC3  
MC4  
MC5  
MC6  
NWR  
NOE  
MM1  
MM0  
Type  
Function  
DO  
DO  
DO  
DO  
DO  
DO  
DO  
DO  
DO  
DI  
CMOS  
4mA  
64  
44  
45  
CMOS  
4mA  
DI  
66  
67  
74  
75  
RXD  
TXD  
CTS  
RTS  
NTRST  
TMS  
TCK  
TDI  
TDO  
XTAL1  
XTAL2  
USB_XTAL1  
USB_XTAL2  
CKOUT  
NRST  
DIs5  
DO5  
DIs5  
DO5  
Did  
Diu  
Diu  
Diu  
DO  
Dis  
TTL  
6mA  
UART1  
JTAG  
144  
143  
142  
141  
140  
136  
137  
120  
121  
96  
CMOS  
4mA  
Dis  
Dis  
Dis  
CMOS  
4mA  
Oscillator  
Inputs  
DO  
Dis5  
Dis5  
DO5z  
DI  
DO  
DO  
DO  
DO  
DO  
DI  
clock  
reset  
139  
97  
98  
TTL  
IT  
6mA  
Irq  
WDALARM  
BASECLK  
USB_PULL  
USB_SUSPND  
USB_OEN  
USB_VMO  
USB_VPO  
USB_RCV  
USB_VP  
USB_VM  
USB_VBUS  
USB_CFG  
USB1_RXTX  
USB2_RXTX  
USB3_RXTX  
USB4_RXTX  
USB5_RXTX  
USB6_RXTX  
PA0  
watchdog  
Clock select  
63  
CMOS, 4 mA  
108  
109  
110  
111  
112  
115  
116  
117  
118  
106  
105  
104  
103  
102  
101  
100  
131  
132  
133  
134  
DI  
DI  
CMOS  
4mA  
USB  
Interface  
Dis5  
DO  
DO  
DO  
DO  
DO  
DO  
DO  
DBs5  
DBs5  
DBs5  
DBs5  
PA1  
PA2  
PA3  
TTL  
6mA  
Parallel  
I/O  
9
MTC-20285 240300 [10]  
MTC-20285  
Nmb  
127  
128  
129  
130  
76  
77  
78  
79  
21  
22  
23  
24  
123  
124  
125  
126  
71  
Name  
PB0  
PB1  
PB2  
PB3  
PC0  
PC1  
PC2  
PC3  
PD0  
PD1  
PD2  
PD3  
PE0  
PE1  
PE2  
PE3  
PF0  
Type  
Function  
DBs5  
DBs5  
DBs5  
DBs5  
DBs5  
DBs5  
DBs5  
DBs5  
DBs5  
DBs5  
DBs5  
DBs5  
DBs5  
DBs5  
DBs5  
DBs5  
DBs5  
DBs5  
DBs5  
DBs5  
PI  
TTL  
6mA  
TTL  
6mA  
TTL  
6mA  
Parallel  
I/O  
TTL  
6mA  
70  
69  
68  
9
PF1  
PF2  
PF3  
TTL  
6mA  
VDD  
VDD  
VDD  
VDD  
VDD  
VDD  
VDD  
VDD  
VDD  
VDD  
VDD  
VDD  
VSS  
VSS  
VSS  
VSS  
VSS  
VSS  
VSS  
VSS  
VSS  
VSS  
VSS  
VSS  
VSS  
19  
27  
43  
54  
72  
84  
90  
99  
114  
119  
135  
10  
20  
28  
46  
55  
62  
73  
PI  
PI  
PI  
PI  
PI  
PI  
PI  
PI  
PI  
PI  
PI  
PI  
PI  
PI  
PI  
PI  
PI  
PI  
PI  
PI  
PI  
PI  
PI  
PI  
Power  
Ground  
85  
91  
107  
113  
122  
138  
10  
MTC-20285 240300 [11]  
MTC-20285  
Pin Function in Normal (Non-test) Mode  
Table 2 gives a summary of all MTC-  
20285 pins and their functions in  
normal (i.e. non-test) mode. Note that  
the allocation of GCI ports to U,S,A  
(shown with an *) is for convenience  
only. All 3 GCI ports are functionally  
identical and can be interchanged.  
Note also that depending on the  
configuration in which the MTC-  
20285 is used, then:  
the MSB byte of the data bus can  
be re-used as parallel I/O. This is  
the case when the WordAccess  
Mode is disabled for the memory  
interface (see section 3.12 - case  
a, and Fig.3, the multiple functions  
of several device pins are listed,  
along with PG[3..0] and PH[3..0]).  
the parallel I/O port PA[3..0] can  
be used to access one input and/or  
one output control signal for each  
Timer module. The input allows a  
count based on externally applied  
positive edge events. The output  
shows a toggling signal, based  
on the timer interrupt events, which  
can be used as a clock. The connec-  
tion to either the general purpose  
Parallel I/O function or a Timer  
function, is programmed on a bit-  
basis by setting the corresponding  
CHIP_CFG[i] bit (see section 3.13  
and Fig.3, the functions T1I, T1O,  
T2I, T2O). RXD can also be  
connected to a timer, instead of  
PA[3].  
the parallel I/O port PB[3..0] can  
be used to access input/output  
control signals of the UART1  
module for implementing a modem  
communication protocol. This  
happens as soon as the Pb2Uart  
mode is selected (see section 3.11  
and Fig.3, functions DTR, DSR,  
RI/OUT1, DCD/OUT2).  
the parallel I/O port PC[3..0] can  
be used to access the RTS, CTS,  
TXD, RXD signals of the UART2  
(see section 3.12).  
11  
MTC-20285 240300 [12]  
MTC-20285  
Table 2: Pin Function and Description  
Pin Fnc  
Description of Pin Function  
DCLU  
FSCU  
DIU  
GCI-U*  
INT.  
GCI Data clock associated with the U-GCI interface  
GCI Frame clock associated with the U-GCI interface  
GCI Data from the U-GCI interface  
DOU  
DCLS  
FSCS  
DIS  
GCI Data to the U-GCI interface  
GCI-S*  
INT.  
GCI Data clock associated with the S-GCI interface  
GCI Frame clock associated with the S-GCI interface  
GCI Data from the S-GCI interface  
DOS  
DCLA  
FSCA  
DIA  
GCI Data to the S-GCI interface  
GCI-A*  
INT.  
GCI Data clock associated with the A-GCI interface  
GCI Frame clock associated with the A-GCI interface  
GCI Data from the A-GCI interface  
DOA  
DQ15..0  
GCI Data to the A-GCI interface  
RAM  
INT.  
Bi-directional data bus. DQ0:Isb, DQ15:MSB. MSB byte used as P i/O ports  
PG, PH if singleByte access mode is chosen  
Address bus: A1:LSB, A21:MSB  
(note: LSB = MC7 depending on interface mode)  
Memory control outputs (meaning dependent on interface mode),  
e.g. chip select signals (active low), LSB/MSB byte selection, address LSB  
See section 3.8 for functionality, depending on MM1..0  
MemoryAccess mode selection (see section 3.8)  
Write enable signal, active low  
Output enable signal, active low  
Serial data input  
Serial data output  
Modem control signal: Clear to Send input  
A21..1  
MC7..0  
MM1..0  
NWR  
NOE  
RXD  
TXD  
CTS  
RTS  
NTRST  
TMS  
UART1  
JTAG  
Modem control signal: Request to Send output  
JTAG reset signal, active low  
JTAG mode select signal  
TCK  
JTAG clock (max 10 MHz)  
TDI  
JTAG data input  
TDO  
XTAL1  
JTAG data output  
Clocks  
Pins to connect an external parallel mode crystal for the on-chip oscillator.  
Nominal frequency: 15.36 MHz 50ppm  
XTAL2  
Note: XTAL1 may be used as an input for an external master clock source. In  
which case XTAL2 must be connected to GND  
Pins to connect an external parallel mode crystal for the on-chip oscillator for  
the USB core. Nominal frequency: 48 MHz 2500ppm  
Note: USB_XTAL1 may be used as an input for an external master clock  
source. In which case USB_XTAL2 must be connected to GND  
Programmable output clock (typically 15.36 MHz for U-interface clock)  
Hardware reset, active low. Schmitt-trigger input with threshold at 1.65 V  
(CMOS LEVEL). Connect an external (RC) circuit with timing > 1 ms  
Watchdog alarm output signal  
USB_XTAL1  
USB_XTAL2  
CKOUT  
NRST  
WDALARM  
BASECLK  
IT  
Enable/disable PLL (30.72 MHz or 15.36 MHz)  
External interrupt source (pos/neg-edge or level triggered)  
12  
MTC-20285 240300 [13]  
MTC-20285  
Pin Fnc  
Description of Pin Function  
PA3..0  
Parallel I/O  
Bitwise controlled Input or Output, or potential connection to Timer modules  
T1 or T2, (PA3/RXD = T1I, PA2 = T1O, PA1 = T2I, PA0 = T2O) depending  
on CHIP_CFG[6..3] and CHIP_CFG2[2]  
Bitwise controlled Input or Output, or potential extra connection to UART1  
for modem communication with:  
PB3..0  
PB3 = = DTR output  
PB2 = = DSR input  
PB1 = = RI input / OUT1 output  
PB0 = = DCD input / OUT2 output  
Depending on CHIP_CFG[0] and CHIP_CFG2[0]  
Bitwise controlled Input or Output, or potential connection to UART2 with:  
PC3 = = RTS output  
PC3..0  
PC2 = = CTS input  
PC1 = = TXD output  
PC0 = = RXD input  
Depending on CHIP_CFG2[1]  
PD3..0  
Bitwise controlled Input or Output  
PE3..0  
PF3..0  
USB_VBUS  
USB_VP  
USB  
USB bus power (serves as USB cable attachment detection)  
D+ signal from USB, passed through Physical Transceiver buffer  
D- signal from USB, passed through Physical Transceiver buffer  
Differential USB input, coming from the Physical Transceiver  
NRZI formatted D+ data going to the Physical Transceiver  
NRZI formatted D- data going to the Physical Transceiver  
Active Low Output enable for the Physical Transceiver  
USB Suspend indication going to the Physical Transceiver  
Used to selectively connect the device termination pull-up resistor  
Output is high when USB device is configured by the USB host  
Output pulses high during USB traffic through endpoint 1..6  
3.3 V power supply  
USB_VM  
USB_RCV  
USB_VPO  
USB_VMO  
USB_NOE  
USB_SUSPND  
USB_PULL  
USB_CFG  
USB1..6_RXTX  
VDD  
Power  
VSS  
Ground  
0 V ground  
13  
MTC-20285 240300 [14]  
MTC-20285  
Pin Functions in Test Mode  
The device can be placed in test  
mode by means of the JTAG interface,  
as described in section 4.2. When in  
test mode the functions of the pins can  
be redefined.  
Application Schematic and External Components  
Figure 6 shows the connections of the  
external components.  
VDD  
VDD  
VDD  
MTC-20285  
Rr  
Cd(a...x)  
VSS  
Cr  
CX1,2  
CXU1,2  
Fig.6: External Component  
14  
MTC-20285 240300 [15]  
MTC-20285  
The following external components  
may be needed depending on the  
application environment.  
Table 3: GCI Related Components  
Name  
Description  
Value  
Tolerance  
RGCIDOU  
Pull-up for GCI data-up output towards U interface  
(either to 5V or 3.3V, depending on application)  
Pull-up for GCI data-down output towards S interface  
(either to 5V or 3.3V, depending on application)  
Pull-up for GCI data-down output towards A interface  
(either to 5V or 3.3V, depending on application)  
1 kOhm  
1 kOhm  
1 kOhm  
10%  
RGCIDOS  
RGCIDOA  
10%  
10%  
Table 4: XTAL Input Related Components  
Name  
Description  
Value  
Tolerance  
XTAL  
An external crystal is used to control the on-chip  
oscillator via the XTAL1 and XTAL2 pins (The alternative  
is to control the XTAL1 pin by an external master clock  
source and connect XTAL2 to GND)  
Capacitors for external crystal  
15.36 MHz  
50 ppm  
CX1, CX2  
30 pF  
10%  
Table 5: USB XTAL Input Related Components  
Name  
Description  
Value  
Tolerance  
USB_XTAL  
External xtal to control on-chip oscillator via the  
USB_XTAL1 and USB_XTAL2 pins (The alternative is  
to control the USB_XTAL1 pin by an external master  
clock source and connect USB_XTAL2 to GND)  
Capacitors for external crystal  
48 MHz  
2500 ppm  
CXU1, CXU2  
30 pF  
10%  
Table 6: Power Supply Decoupling Related Components  
Name  
Description  
Value  
Tolerance  
Cd[a..l]  
(12 X)  
Cd[m..x]  
(12 X)  
Decoupling capacitance to be placed in between  
each VDD-VSS pair of MTC-20285  
Decoupling capacitance to be placed in between  
each VDD-VSS pair of MTC-20285  
100 nF  
10%  
10 µF  
10%  
Table 7: Hardware Reset Related Components  
Name  
Description  
Value  
Tolerance  
Rr.Cr  
Power Reset circuitry  
> = 1ms  
10%  
15  
MTC-20285 240300 [16]  
MTC-20285  
GENERAL ASPECTS  
Convention Upstream / Downstream  
According to Alcatel Microelectronics  
convention, upstream is from the  
subscriber to the exchange and  
downstream is from the exchange to  
the subscriber. See Fig.7, the corres-  
ponding input and output pin names  
of the MTC-20285 are also shown.  
U
S
To  
To User (S)  
Interface  
Interface  
Exchange  
Down  
stream  
-
Up -  
Down -  
Up -  
stream  
stream stream  
DIU  
DOU  
DIS  
DOS  
To User (Z)  
downstream  
RS232  
upstream  
USB  
downstream  
upstream  
MTC-20285  
DOA  
DIA  
A
Interface  
Fig.7: Upstream and Downstream Convention  
16  
MTC-20285 240300 [17]  
MTC-20285  
GCI Frame Formats  
1. The contents of one GCI frame is  
different depending on whether it is  
an ISDN interface (U or S) or an  
analog interface (SHPOTS). ISDN  
connections use 2 D-channel bits,  
which are used as normal signaling /  
control bits for SHPOTS. The MTC-  
20285 however will always handle  
the U,S,A interfaces in the same way.  
They are functionally identical and can  
be interchanged, the names U,S,A  
being used for convenience only.  
Therefore the 2 D and 4 C/I bits are  
always considered separately as for  
an ISDN connection. The software is  
responsible for making the right inter-  
pretation of the 2 formats, i.e. consider  
the 2 D bits as 2 more CI bits.  
Table 8: GCI Frame Formats  
GCI  
VERSION  
B1 channel  
(1 byte)  
B2 channel  
(1 byte)  
Monitor channel  
(1 byte)  
C/I channel  
(1 byte)  
Signaling and  
control bits  
D (2) C/I (4)  
Monitor  
handshake bits  
A/E (2)  
ISDN  
ANALOG  
B1 (8)  
B1 (8)  
B2 (8)  
B2 (8)  
M (8)  
M (8)  
C/I (6)  
A/E (2)  
2. The serial communication is MSB  
first, therefore the MSB of the data  
in the parallel registers of the MTC-  
20285 that are related to GCI, will  
be sent / received as the first bit. In  
order to cope with the difference in  
convention between GCI and HDLC  
(LSB first) formats, the HDLC modules  
are capable of bit-reversal on the  
parallel data, (in case the data is  
non-hdlc formatted GCI data).  
3. The MTC-20285 also supports  
multiplexed GCI channels. For example,  
an 8-channel multiplexed mode, in  
which the frame contents as described  
above, are sent 8 times faster over the  
bit-serial I/O. According to the GCI  
specification, the first transmitted  
channel is called Channel0, the last  
one Channel7. In this sequence, such  
channels are referred to as Burst0 up  
to Burst7. GCI frames of up to 3088  
kbps (8 bursts x 32bit + 130 spare  
bits, all at 8kHz) are accepted if  
generated by an external GCI master.  
An external GCI master may also  
apply less than 8 bursts, e.g. a 768  
kbps GCI frame of 3 bursts of 32-bits.  
17  
MTC-20285 240300 [18]  
MTC-20285  
Parameter Updating, Timing  
and Initial Values  
The following sections describe the  
functional building blocks and their  
parameters, stored in registers. The  
registers can be addressed by the  
ARM to modify the parameter values.  
The default rule is that all parameters  
can be read or written at any time,  
and the new value that is written is  
immediately used. However, some  
exceptions are made to this default  
rule. They relate to USB and GCI as  
follows:  
either doing a write ‘1’ access to the  
USB_START bit (USB_DCMD register,  
bit[0]), or by plugging the USB cable  
in the device.  
burst in the GCI frame (see Fig.8).  
The value that is read is the value  
that is used in the current GCI frame  
I, therefore the read value can be  
different from the last written value  
(i.e. if no update was done since it  
was last written).  
2. GCI Registers Related  
Exception to Default Rule  
• Source, CPU and Swap registers of  
the GCI router (i.e. all registers  
named ‘_SRC’, ‘_CPU’ and ‘_SWP’  
in section 3.2) can be written to at  
any time, but will only be updated /  
used based on the rate at which the  
RAM open / closed space will be  
switched (see section 3.2.1 GCI  
Router - Architecture). The rate is  
equivalent to the GCI frame rate,  
but the moment of switching coin-  
cides with the last byte of the last  
• HDxTX registers (see section 3.4.3)  
are read only and show the value,  
which is being transferred in the  
current GCI frame (see Fig.8).  
1. USB RAM Related Exception  
to Default Rule  
Changed USB core configuration  
values (residing in the USB internal  
RAM) are only taken into account  
after a reset of the USB interface, by  
• RX registers (i.e. all registers named  
‘_RX’ in section 3.2) are read only  
and show the value, which was  
received during the previous GCI  
frame (see Fig.8).  
RAM access  
Frame I+1  
RAM access  
Frame I-1  
RAM access  
Frame I  
Gci Frame I  
Gci Frame I-1  
Gci Frame I+1  
Gci FSC  
Gci Bursts (2 Mbps)  
Gci B1,B2,M,CI bytes  
Gci bits (256 kbps)  
. . .  
. . .  
. . .  
. . .  
. . .  
. . .  
ca (GCI period)/32  
RXlast reg (read only),  
= last byte of last burst of U,S,A  
Read - RXlast reg - received in GCI Frame i-1  
Well-defined read value  
Well-defined read  
value  
Read - RX reg - received in GCI Frame i-1  
Read - HDxTX reg - transmitted in GCI Frame i  
RX registers (read only), except RXlast  
HDxTX registers (read only)  
SRC, CPU and SWP registers  
(read mode)  
(writing a new value can be done at any moment)  
Read - SRC,CPU,SWP reg -  
= value written in RAM Frame i-1, used in GCI Frame i  
Update of read value  
(swap RAM access space: open/closed)  
Update of read value  
(swap RAM access space: open/closed)  
Fig.8: Timing of Register Updating  
18  
MTC-20285 240300 [19]  
MTC-20285  
• For the RX register corresponding to  
the last byte of the last burst in the  
GCI frame, an exception must be  
made, as shown in Fig.8. The value  
should not be read during the time  
window, starting the moment the  
RAM space is swapped until the  
start of a new GCI frame.  
4. Reset Behaviour  
The MTC-20285 has two reset pins,  
NRST (Functional reset) and NTRST  
(JTAG reset). Both active low reset  
inputs are independent and do not  
interact:  
• NRST: Resets the integrated ARM  
processor (i.e. disables the ARM  
clock) and the functional MTC-  
20285 blocks, without affecting  
the JTAG related memories. For  
example the test configuration  
register, down loaded via the JTAG  
interface is not reset if set in a  
specific test mode, this mode will  
remain selected while resetting the  
ARM and functional blocks.  
Notice that after power reset, no write  
operations will be issued before the  
first GCI frame FSC is generated. This  
is to allow a correct initialization of  
the MTC-20285.  
Notice also that after power reset, the  
default GCI clocks selected for U,S,A  
is the ‘power down’ mode (see section  
3.3). This means the FSC/DCL remains  
inactive low (‘0’), but also the output  
GCI data stream remains inactive high  
(‘1’: idle). So none of the uninitialized  
register values will be put on the  
• NTRST: Resets the JTAG interface  
logic, including the test configuration  
register. This puts the MTC-20285  
in non-test functional mode. Note  
that the NTRST input cell has an  
integrated pull-down, such that the  
JTAG logic is reset by default  
without any required connection  
at PCB level.  
output stream, unless under software  
control. The software has to do the  
appropriate initialization before  
selecting it as source register.  
When the GCI clocks are switched  
from one to another source (e.g.  
between Umaster and crystal based  
clocks on A interface), the data will  
be unpredictable during the switching  
because a re-synchronization must  
take place. This will take at most 2  
GCI frames.  
The watchdog alarm output pin  
WDALARM will typically be externally  
connected to the NRST input, and  
possibly used to reset inputs of other  
chips on the board.  
In order to limit the side effects, the  
user may specify to use temporarily  
the IDLE source or CPU (with for  
example, ‘zero’ a-law code) source  
during the switching period.  
3. Handling D Channel Collisions  
The GCI router and MTC-20285  
architecture / parameters control  
whether the D-channel from S to U  
upstream is busy or not. It uses the  
output of an HDLC block as D-channel  
U-up when S is inactive.  
19  
MTC-20285 240300 [20]  
MTC-20285  
GCI Router  
Architecture  
Multiplexer  
The core of GCI Router is made of a  
dual port ram. One port is dedicated  
to the GCI interfaces, the other one to  
the processor access. The ram is split  
into 2 spaces:  
This architecture accepts receive and  
send up to 8 bursts per GCI interface  
(max 8x3x4 bytes).  
The CPU can program an automatic  
routing of any channel from any burst  
through the GCI buses, from the CPU  
addressable registers or from one of  
the 5 HDLC formatters. The source of  
each channel output is controlled via  
the value stored in the source control  
registers, as shown in Table 9. The  
ARM can write the SRC registers. If  
a new value is written to the register,  
it will only be used from the next GCI  
frame onwards (see section 3).  
In case any GCI interface works faster  
than 2048 kbps (e.g. 3088 kbps, the  
highest GCI rate accepted by MTC-  
20285), the extra spare bits received  
by the MTC-20285 will not be stored  
in the RAM. The corresponding output  
stream generated by the MTC-20285  
will contain idle spare bits (i.e. value  
= ‘1’ according to GCI).  
• Open: space where the data can  
be modified, used to store the  
incoming GCI frames  
• Closed: space where the data is  
held for 1 GCI frame, used to store  
the GCI frames to be sent  
The ARM can read the SRC registers.  
The burst to which the data corresponds  
must be set by first writing the required  
burst number into the GCI_BUR_SRC  
register. This is because up to 8  
sources can be stored in a SRC  
register, one for each possible burst  
(see section 3.2.3). Swapping can  
also be programmed between the  
channels B1 and B2 via the SWP  
registers.  
RAM  
Open  
diU  
diS  
Direct access from diU/diS/diA when compatible  
doU  
doS  
doA  
diA  
Closed  
Shift register  
Update at byte frequency  
Shift register updated at byte  
frequency  
RAM access control  
Address coder/decoder  
ARM  
Fig.9: GCI Router Architecture  
20  
MTC-20285 240300 [21]  
MTC-20285  
Table 9: SCR Register Table  
Name  
Address (byte)  
Function  
GCI_SRC_BUR  
7F (1FC)  
Burst selection for reading Source control registers:  
[2:0] = target burst (0 to 7)  
U_B1_SRC  
80 (200)  
Source control of B1 U-up channels routing:  
[2:0] = target burst (0 to 7)  
[4:3] = source line  
0 = U-down channel  
1 = S-up channel  
2 = A-up channel  
3 = Extension  
[7:5] = if source line = U or S or A: source burst (0 to 7)  
if source line = Extension, then one of following possible sources is:  
0 = IDLE  
1 = CPU register  
2 = HDLC1  
3 = HDLC2  
4 = HDLC3  
5 = HDLC4  
6 = HDLC5  
U_B2_SRC  
U_D_SRC  
81 (204)  
82 (208)  
83 (20C)  
84 (210)  
85 (214)  
86 (218)  
87 (21C)  
88 (220)  
89 (224)  
8A (228)  
8B (22C)  
8C (230)  
8D (234)  
8E (238)  
8F (23C)  
Source control of B2 U-up channels routing description:  
the same as for B1 U-up  
Source control of D U-up channels routing description:  
idem  
Source control of C/I U-up channels routing description:  
the same as for B1 U-up, except for HDLC source (*)  
Source control of M U-up channels routing description:  
the same as for B1 U-up, except for HDLC source (*)  
Source control of A/E U-up channels routing description:  
the same as for B1 U-up, except for HDLC source (*)  
Source control of B1 S-down channels routing description:  
idem  
Source control of B2 S-down channels routing description:  
the same as for B1 U-up  
Source control of D S-down channels routing description:  
the same as for B1 U-up  
Source control of C/I S-down channels routing description:  
the same as for B1 U-up, except for HDLC source (*)  
Source control of M S-down channels routing description:  
the same as for B1 U-up, except for HDLC source (*)  
Source control of A/E S-down channels routing description:  
idem, except for HDLC source (*)  
U_CI_SRC (*)  
U_M_SRC (*)  
U_AE_SRC(*)  
S_B1_SRC  
S_B2_SRC  
S_D_SRC  
S_CI_SRC (*)  
S_M_SRC (*)  
S_AE_SRC(*)  
A_B1_SRC  
A_B2_SRC  
A_D_SRC  
Source control of B1 A-down channels routing description:  
the same as for B1 U-up  
Source control of B2 A-down channels routing description:  
the same as for B1 U-up  
Source control of D A-down channels routing description:  
the same as for B1 U-up  
Source control of C/I A-down channels routing description:  
the same as for B1 U-up, except for HDLC source (*)  
A_CI_SRC (*)  
21  
MTC-20285  
Name  
Address (byte)  
Function  
A_M_SRC (*)  
B0 (2C0)  
Source control of M A-down channels routingdescription:  
the same as for B1 U-up, except for HDLC source (*)  
Source control of A/E A-down channels routing description:  
the same as for B1 U-up, except for HDLC source (*)  
A_AE_SRC(*)  
U_B1_SWP  
B1 (2C4)  
B2 (2C8)  
bit[ i ] = 0: no swap  
bit[ i ] = 1: swap  
bit[ i ] = 0: no swap  
bit[ i ] = 1: swap  
bit[ i ] = 0: no swap  
bit[ i ] = 1: swap  
bit[ i ] = 0: no swap  
bit[ i ] = 1: swap  
bit[ i ] = 0: no swap  
bit[ i ] = 1: swap  
bit[ i ] = 0: no swap  
bit[ i ] = 1: swap  
B1-burst i U-up channel will be routed with the  
B1 channel of the selected source (U,S,A only)  
B1-burst i U-up channel will be routed with the  
B2 channel of the selected source (U,S,A only)  
B2-burst i U-up channel will be routed with the  
B2 channel of the selected source (U,S,A only)  
B2-burst i U-up channel will be routed with the  
B1 channel of the selected source (U,S,A only)  
B1-burst i S-down channel will be routed with the  
B1 channel of the selected source (U,S,A only)  
B1-burst i S-down channel will be routed with the  
B2 channel of the selected source (U,S,A only)  
B2-burst i S-down channel will be routed with the  
B2 channel of the selected source (U,S,A only)  
B2-burst i S-down channel will be routed with the  
B1 channel of the selected source (U,S,A only)  
B1-burst i A-down channel will be routed with the  
B1 channel of the selected source (U,S,A only)  
B1-burst i A-down channel will be routed with the  
B2 channel of the selected source (U,S,A only)  
B2-burst i A-down channel will be routed with the  
B2 channel of the selected source (U,S,A only)  
B2-burst i A-down channel will be routed with the  
B1 channel of the selected source (U,S,A only)  
U_B2_SWP  
S_B1_SWP  
S_B2_SWP  
A_B1_SWP  
A_B2_SWP  
B3 (2CC)  
B4 (2D0)  
B5 (2D4)  
B6 (2D8)  
B7 (2DC)  
NOTES:  
• All the above registers are undefined after reset, which means that the multiplexer is undefined after reset. The software  
must initialize the register values before using them. Note however that the default clock configuration of all GCI channels  
is the IDLE state (see section 3.3), such that the output stream will be continuously ‘1’ (idle).  
• All SRC and SWP registers can be read and written to but ‘what you read is not what you write’:  
- write operation: new value that will be effective from the next GCI frame  
- read operation: value used for the current GCI frame  
• The HDLC source selections are not applicable for the CI, M and AE channels (see registers marked (*)). The bits are  
unspecified if the HDLC is selected as source, therefore it is not recommended.  
• For an analog GCI frame, the D and CI channels form one entity but the MTC-20285 handles them separately. Therefore,  
the software must use the same selection for both D and CI channels.  
• Whenever data is routed from one GCI interface to another one, a single GCI frame delay is always inserted. Whenever  
a register access is involved, a double GCI frame delay is involved (e.g. from the ARM or the HDLC module). No direct  
connection without delay is possible.  
• If the target burst number is set higher than the number of bursts to be transmitted on a GCI output stream, this will be  
neglected. However for a source burst number higher than the number of bursts in the GCI input stream, the byte will  
be unspecified.  
• In case of a non-multiplexed GCI stream, target and source burst numbers must be set to ‘0’.  
22  
MTC-20285  
Examples:  
If you need to connect the destination U / burst3 / B1 with the source S / burst7 / B1, then make:  
• U_B1_SRC[7..0] = ‘111 01 011’ (source burst = 7; source = S; target burst = 3), and  
• U_B1_SWP[7..0] = ‘xxxx 0xxx’ (bit3 set to ‘0’ in order not to swap the source of U/B1: B1)  
If you need to connect the destination U / burst3 / B1 with the source S / burst7 / B2, then make:  
• U_B1_SRC[7..0] = ‘111 01 011’ (source burst = 7; source = S; target burst = 3), and  
• U_B1_SWP[7..0] = ‘xxxx 1xxx’ (bit3 set to ‘1’ in order to swap the source of U/B1: B2)  
Note that the SWP register values are only used, if the corresponding source is either U, S or A.  
Reading the SRC value shows the connection that is selected for the current GCI Frame (see section 3). Because 8 values  
can be specified at the same time for each SRC register (e.g. U_B1_SRC, one value per target burst), reading U_B1_SRC  
necessitates first writing to register GCI_SRC_BUR to choose one target burst:  
Write U_B1_SRC[7..0] = ‘110 01 011’ (source burst = 6; source = S; target burst = 3)  
Write U_B1_SRC[7..0] = ‘111 00 010’ (source burst = 7; source = U; target burst = 2)  
Write U_B1_SRC[7..0] = ‘101 10 001’ (source burst = 5; source = A; target burst = 1)  
Write GCI_SRC_BUR[2..0] = ‘010’ (specify target burst = 2 for reading)  
Read U_B1_SRC[7..0] returns ‘111 00 010’ (source burst = 7; source = U; target burst = 2)  
Write GCI_SRC_BUR[2..0] = ‘011’ (specify target burst = 3 for reading)  
Read U_B1_SRC[7..0] returns ‘110 01 011’ (source burst = 6; source = S; target burst = 3)  
23  
MTC-20285 240300 [24]  
MTC-20285  
CPU Registers (ARM > GCI)  
Through the CPU registers, the ARM  
can directly send data to any GCI  
channel.  
Table 10: CPU Register Table  
Name  
Ui_B1_CPU  
Address (byte)  
Function  
60 (180)  
CPU source value register for U-up / B1, burst i,  
where i is defined by the register GCI_CPU_RX  
CPU source value register for U-up / B2, burst i  
where i is defined by the register GCI_CPU_RX  
CPU source value register for U-up / M, burst i  
where i is defined by the register GCI_CPU_RX  
CPU source value register for  
Ui_B2_CPU  
Ui_M_CPU  
Ui_E_CPU  
61 (184)  
62 (188)  
63 (18C)  
[7:6] = U-up / D, burst i  
[5:2] = U-up / CI, burst i  
[1:0] = U-up / AE, burst I  
where i is defined by the register GCI_CPU_RX  
CPU source value register for S-down / B1, burst i  
where i is defined by the register GCI_CPU_RX  
CPU source value register for S-down / B2, burst i  
where i is defined by the register GCI_CPU_RX  
CPU source value register for S-down / M, burst i  
where i is defined by the register GCI_CPU_RX  
CPU source value register for  
Si_B1_CPU  
Si_B2_CPU  
Si_M_CPU  
Si_E_CPU  
64 (190)  
65 (194)  
66 (198)  
67 (19C)  
[7:6] = S-down / D, burst i  
[5:2] = S-down / CI, burst i  
[1:0] = S-down / AE, burst I  
where i is defined by the register GCI_CPU_RX  
CPU source value register for A-down / B1, burst i  
where i is defined by the register GCI_CPU_RX  
CPU source value register for A-down / B2, burst i  
where i is defined by the register GCI_CPU_RX  
CPU source value register for A-down / M, burst i  
where i is defined by the register GCI_CPU_RX  
CPU source value register for  
Ai_B1_CPU  
Ai_B2_CPU  
Ai_M_CPU  
Ai_E_CPU  
68 (1A0)  
69 (1A4)  
6A (1A8)  
6B (1AC)  
[7:6] = A-down / D, burst i  
[5:2] = A-down / CI, burst i  
[1:0] = A-down / AE, burst i  
where i is defined by the register GCI_CPU_RX  
Specifies the target burst for line U, S or A used when accessing the CPU  
and RX registers:  
GCI_CPU_RX  
78 (1E0)  
[1:0] = target line; 0 = U  
1 = S  
2 = A  
[4:2] = CPU target burst (0 to 7)  
[7:5] = RX target burst (0 to 7)  
where i is defined by the register GCI_CPU_RX  
24  
MTC-20285 240300 [25]  
MTC-20285  
NOTES:  
• All CPU registers are undefined after reset (the same as for GCI multiplexing registers)  
• The register GCI_CPU_RX can define and store 3 commands in parallel, one for each interface (U,S,A). The latest stored  
command for each interface will be used to select the corresponding CPU and RX register of that source. (For RX  
registers detail, see section 3.2.5)  
Example:  
- initialisation: select for S and U:  
GCI_CPU_RX = ‘ 000 010 01 ‘; S: cpu-burst = 2, rx-burst = 0  
GCI_CPU_RX = ‘ 011 110 00 ‘; U: cpu-burst = 6, rx-burst = 3  
- use CPU and RX registers:  
Si_B2_CPU = Ui_B1_RX; means CPU/S_B2/burst2 gets data from RX/U_B1/burst3  
- re-select for S:  
GCI_CPU_RX = ‘ 000 101 01 ‘; S: cpu-burst = 5, rx-burst = 0  
- use CPU and RX registers:  
Si_B2_CPU = Ui_B1_RX; means CPU/S_B2/burst5 gets data from RX/U_B1/burst3  
• All CPU registers can be read and written to but ‘what you read is not what you write’:  
- write operation: new value that will be effective from the next GCI frame  
- read operation: value used for the current GCI frame  
• When a constant value needs to be used from a CPU register, the value should be written during two consecutive GCI  
frames into the CPU register. This is due to the architecture with 2 parallel RAM spaces.  
25  
MTC-20285 240300 [26]  
MTC-20285  
RX Registers (GCI > ARM)  
The ARM can read at any time the GCI  
content on each interface (U, S, A) with  
a delay of one frame (see section 3).  
Table 11: RX Register Table  
Name  
Address (byte)  
6C (1B0)  
6D (1B4)  
6E (1B8)  
Function  
(1)  
Ui_B1_RX  
Ui_B2_RX  
Ui_M_RX  
Ui_E_RX  
Si_B1_RX  
Si_B2_RX  
Si_M_RX  
Si_E_RX  
Ai_B1_RX  
Ai_B2_RX  
Ai_M_RX  
Ai_E_RX  
First byte of the U downstream GCI frame, burst i  
Second byte of the U downstream GCI frame, burst i  
Third byte of the U downstream GCI frame, burst i  
Fourth byte of the U downstream GCI frame, burst i  
First byte of the S upstream GCI frame, burst i  
Second byte of the S upstream GCI frame, burst i  
Third byte of the S upstream GCI frame, burst i  
Fourth byte of the S upstream GCI frame, burst i  
First byte of the A upstream GCI frame, burst i  
Second byte of the A upstream GCI frame, burst i  
Third byte of the A upstream GCI frame, burst i  
Fourth byte of the A upstream GCI frame, burst i  
(1)  
(1)  
(1)  
6F (1BC)  
(1)  
70 (1C0)  
71 (1C4)  
72 (1C8)  
73 (1CC)  
74 (1D0)  
75 (1D4)  
76 (1D8)  
77 (1DC)  
78 (1E0)  
(1)  
(1)  
(1)  
(1)  
(1)  
(1)  
(1)  
GCI_CPU_RX  
Specify the burst targeted by the ARM when writing to the CPU and RX  
registers:  
[1:0] = target line; 0 = U  
1 = S  
2 = A  
[4:2] = CPU target burst (0 to 7)  
[7:5] = RX target burst (0 to 7)  
(1) Where i is defined by the register GCI_CPU_RX  
NOTES:  
• All RX registers can only be read (see section 3).  
- read operation: value received during the previous GCI frame is read  
26  
MTC-20285 240300 [27]  
MTC-20285  
D/CI Activity Detection  
Mask  
Activity  
U-D/CI, frame i  
U1_DCI  
itCl  
U-D/CI, frame i -1  
Fig.10: D/CI Activity Detection  
The value of each bit of the 6 D/CI  
bits of one GCI burst, is compared to  
its value during the previously received  
GCI frame (6 exors per burst). If  
at least one of the 6-bits of burst k  
changed, the corresponding burst  
bit k = 0..7 is set in the CI-activity-  
detection register, unless it is masked  
(by setting the corresponding ‘mask  
bit’ to 1). There are 3 D/CI-activity  
detection registers, one for each inter-  
face (U,S,A), each 8-bits wide (for the  
8 possible bursts per interface). There  
is one mask register per D/CI-activity  
detection register. After reset, the  
mask registers are set to 0xFF, all  
activity detection being masked.  
Note that no debouncing is done on  
the activity detection. If necessary, this  
must be done in software.  
D bits. A control byte is provided for  
each GCI interface. Every bit in these  
control bytes corresponds to one burst.  
When a bit is set to ‘1’, it will block  
the D bits activity detection for a  
particular burst / GCI interface.  
An additional mask is foreseen to  
suppress the activity detection for the  
GCI_MSKU[i] and  
GCI_GCI_MSKUD([i]  
1 -  
D activity detection on U, burst i: masked  
CI activity detection on U, burst i: masked  
D activity detection on U, burst i: masked  
CI activity detection on U, burst i: enabled  
D activity detection on U, burst i: enabled  
CI activity detection on U, burst i: enabled  
0 1  
0 0  
If less than 8 bursts are present on a  
certain GCI interface, the activity bits  
corresponding to the non-existing  
bursts will remain inactive ‘0’, so  
no masking is required to prevent  
an incorrect activity detection.  
From the moment that one of the 3x8  
CI-activity bits is active an interrupt is  
generated. The interrupts stay active  
until they are explicitly cleared by  
writing to the GCI_ITx registers. The  
interrupt source itCI goes as well to  
the interrupt handler (i.e. the raw, un-  
masked interrupt bit, see section 3.9).  
For the capture signal of Timer1 (see  
section 3.13.1).  
27  
MTC-20285 240300 [28]  
MTC-20285  
Table 12: GCI Register Table  
Name  
GCI_ITU  
Address (byte)  
Function  
READ access:  
79 (1E4)  
7A (1E8)  
7B (1EC)  
bit[i] = 1: D-CI activity detected on U-downstream, burst i  
WRITE access:  
bit[i] = 1: reset the interrupt detection on U-downstream, burst i  
READ access:  
bit[i] = 1: D-CI activity detected on S-upstream, burst i  
WRITE access:  
bit[i] = 1: reset the interrupt detection on S-upstream, burst i  
READ access:  
GCI_ITS  
GCI_ITA  
bit[i] = 1: D-CI activity detected on A-upstream, burst i  
WRITE access:  
bit[i] = 1: reset the interrupt detection on A-upstream, burst i  
bit[i] = 1: mask D-CI activity detection on U, burst i  
bit[i] = 1: mask D-CI activity detection on S, burst i  
bit[i] = 1: mask D-CI activity detection on A, burst i  
bit[i] = 1: mask D bits activity detection on U, burst i  
bit[i] = 1: mask D bits activity detection on S, burst i  
bit[i] = 1: mask D bits activity detection on A, burst i  
GCI_MSKU  
GCI_MSKS  
GCI_MSKA  
GCI_MSKUD  
GCI_MSKSD  
GCI_MSKAD  
7C (1F0)  
7D (1F4)  
7E (1F8)  
B8 (2E0)  
B9 (2E4)  
BA (2E8)  
Asynchronous Pull-up/Pull-down  
In order to force the GCI data output  
line to zero when no clock is present  
at the corresponding GCI interface,  
an asynchronous pull-up/pull-down is  
provided.  
APPLICATION:  
When the U line is defined as master and the U device is in power down (i.e no GCI clock present), the ARM must be able  
to pull the GCI line down toward the U device to wake it up.  
Table 13: GCI_PULL Register Table  
Name  
GCI_PULL  
Address (byte)  
Function  
BB (2EC)  
bit[1:0]: for line U  
bit[3:2]: for line S  
bit[5:4]: for line A  
0: inactive  
1: pull GCI data line up  
2: pull GCI data line down  
3: /  
28  
MTC-20285 240300 [29]  
MTC-20285  
GCI Clocks Generation  
b) master: (dclMstr/fscMstr): the  
dcl/fsc clocks of that interface will  
follow the dclMstr/fscMstr of the  
interface which is selected as master  
interface.  
dcl4096  
fcs4096  
dcl512 dclMstr  
fcs512 fcsMstr  
XTAL  
c) 512k: (dcl512/fsc512). The  
15.36MHz  
fcsMstr  
dcl/fsc clocks are derived from the  
(1)  
dcl512 / fcs512  
crystal, but synchronized with  
the master frame clock (fscMstr).  
Dcl = 512 kHz, 1 burst per frame.  
DCLU  
FCSU  
d) 4096k: (dcl4096 / fsc4096).  
The dcl/fsc clocks are derived from  
DIU  
DOU  
U
Clock  
Gen  
PLL  
(1)  
pdown  
the crystal, but synchronized with  
the master frame clock (fscMstr).  
Dcl = 4096 kHz, 8 bursts per frame.  
DCLS  
FCSS  
NOTE:  
DIS  
DOS  
S
A
(1) In case the crystal is selected as  
master, fsc is synchronized with a  
free-running, internally generated,  
crystal based 8kHz FSC signal.  
pdown  
pdown  
DCLA  
FCSA  
Two (positive-edge triggered)  
interrupts are generated on:  
DIA  
DOA  
• the Master Frame Clock, fscMstr  
• the internal frame clock, always  
running. See section 3.9 on  
Interrupts.  
Fig.11: GCI Clock Generation  
When the Master domain is chosen  
from one of the three external GCI  
interfaces, the source clock selection  
must be made appropriately to avoid  
clock conflicts as shown below:  
• if GCI-U must be master, you have  
to write CLK_GCI = 01 xx xx 01  
• if GCI-S must be master, you have  
to write CLK_GCI = 10 xx 01 xx  
• if GCI-A must be master, you have  
to write CLK_GCI = 11 01 xx xx  
Each GCI interface can work at a  
different speed (= clock domain  
fsc/dcl), however each U,S,A is  
synchronized (via its FSC signal) on  
one and only one GCI Master FSC  
(fscMstr). The selection of fscMstr as  
well as the clock domain to be used  
for U,S,A is under software control.  
1. Crystal clocks = dcl512/fsc512  
2. U GCI interface = DCLU/FSCU  
3. S GCI interface = DCLS/FSCS  
4. A GCI interface = DCLA/FSCA  
The default source after reset is the  
crystal, because this source will  
always be present.  
As each interface can be selected  
as GCI master, and at most one inter-  
face can work as master and the  
For each clock domain fsc/dcl of  
U,S,A, you can choose between 4  
possible sources:  
With a crystal based master (the  
others as slave, all FSC/DCL pins are  
bi-directional. After reset, all 3 pairs  
of pins are in input mode such that no  
conflict occurs on any of the interfaces  
with a possible external master device.  
MTC-20285 being GCI master), the  
MTC-20285 can only generate either  
non-multiplexed or 8-burst multiplexed  
GCI frame formats. However, when  
an external master is specified, the  
MTC-20285 will follow the format of  
the external master. For example, a  
5-burst mode or an 8-burst mode with  
extra spare bits. Therefore the MTC-  
20285 is fully GCI compatible when  
used in slave mode bit-rates of up to  
a) non-active: this is the default after  
reset, and means dcl/fsc of that  
interface remains inactive low and  
the GCI data output stream remains  
inactive high (idle code). Selection  
of the non-active source for the  
interface, will overrule any other  
source selected for the data stream  
(e.g U_B1_SRC = HDLC1 will be  
overruled).  
The Master FSC (fscMstr) can be  
selected from 4 different sources,  
and the corresponding DCL clock  
will also be used as an input to the  
MTC-20285:  
29  
MTC-20285 240300 [30]  
MTC-20285  
3088 kbps may be applied as master;  
this corresponds to a maximum of 8  
bursts of 32-bits, followed by 130  
spare bits (see GCI specification).  
Notice that in case spare bits occur  
in the input data stream, these spare  
bits will not be stored for possible  
processing, nor be routed through to  
another GCI output data stream (e.g.  
from DIU to DOS). Incoming spare  
bits are neglected, and outgoing  
spare bits are always set idle ‘1’.  
APPLICATION EXAMPLE:  
for the S channel, use the internal  
clocks (dfr512/dcl512) and, as dfr  
master, the frame clock coming from  
the U channel. As soon as no activity  
is seen on the U frame clock (e.g.  
U interface deactivated), the S frame  
is a free-running clock based on the  
crystal frequency. As soon as the  
U activates, the dpll begins to track,  
to recover any frame phase delay  
between the U and S GCI channels.  
In case the Master is chosen from one  
of the 3 GCI interfaces, the dcl/fsc  
clocks derived from the crystal will  
be synchronized on the Master frame.  
A Digital PLL is used to track the frame  
with a maximum correction of 2 ms  
per frame. Therefore:  
Hardware Implementation  
of the Multiplexing  
dfr 512 (Xtal)  
dfr FromU  
dfr FromS  
powerDown  
• the amount of dcl transitions per  
frame is not affected.  
dfr U  
dfr FromA  
dfr 512  
• the bit 0 of the CLK_3 register  
reports if the PLL is locked. If the  
master clock stops, then bit 0 of  
CLK_3 goes immediately to 0.  
dfr 4096  
dcl 512 (Xtal)  
dcl FromU  
dcl FromS  
powerDown  
• the generated dfr signals (dfr512  
and dfr4096) are slaved to the dfr  
signal chosen as master.  
dcl U  
dcl 512  
dcl FromA  
• the dpll can make a correction  
of maximum +/- 1.7% per frame;  
so a maximum of 30 frames  
(= 50%/1.7%) may be needed  
when changing dfr master.  
dcl 4096  
CLK_GCI [7:6]  
CLK_GCI [1:0]  
• the frequencies of the data clocks  
(dlc512 and dcl4096) are adapted  
in the same way  
Fig.12: Multiplexing for the U-GCI Clocks  
• the dpll adds or subtracts a  
maximum of 32 pulses of the 15.36  
MHz clock per frame (32/1920 =  
1.7%) (15.36 MHz = 65 ns).  
• the control of the multiplexers comes  
directly (asynchronously) from the  
CPU register CLK_GCI. It is the  
application software that has to  
take care when it modifies the multi-  
plexing, but typically, the control  
will be set once (forever) because it  
is mainly dependent on the devices  
connected to the GCI lines.  
• the dpll works with an hysteresis of  
65 ns; a phase shift of +/-65 ns or  
more will cause a correction.  
• if no frame clock is present on the  
selected dfr master, no tracking will  
be applied and the generated dfr  
clocks will be free running.  
• the dcl and dfr signals have the  
same source  
30  
MTC-20285 240300 [31]  
MTC-20285  
Table 14: CLK_GCI Register Table  
Name  
CLK_GCI  
Address (byte)  
90 (240)  
Function  
bit[5:0]: GCI DCL clock selection per interface U,S,A:  
bit[1:0] = for the U GCI router  
bit[3:2 ] = for the S GCI router  
bit[5:4] = for the A GCI router  
0 = non-active (default at reset)  
1 = master: dclMstr / fscMstr  
2 = 512k: dcl512 / fsc512  
3 = 4096k: dcl4096 / fsc4096  
bit[7:6]: GCI Master FSC selection (fscMstr)  
0 = Xtal (default at reset)  
1 = U  
2 = S  
3 = A  
CLK_3  
93 (24C)  
bit[0]: DPLL status (read only)  
0 = internal GCI clocks not synchronized with the external  
reference or the external reference is not active, DPLL is tracking  
1 = internal GCI clocks synchronized  
Bits per GCI Frame on GCI master interface (Read only):  
result of auto-detection of the mode of the GCI master interface this 16-bit  
word stored in upper (_M) and lower byte (_L) value corresponds to the  
number of bits detected in one GCI frame:  
CHIP_GCI_L  
CHIP_GCI_M  
02 (008)  
03 (00C)  
e.g.  
8-burst 2048 kbps: CHIP_GCI_[M/L] = 256 = ox 01 00 = [1/0]  
3-burst mode: CHIP_GCI_[M/L] = 96 = ox 00 60 = [0/96]  
8-burst 3088 kbps: CHIP_GCI_[M/L] = 386 = ox 01 82 = [0/130]  
NOTE:  
The 4096 kHz clock generated from the crystal, does not produce a perfect 50% duty cycle.  
31  
MTC-20285 240300 [32]  
MTC-20285  
HDLC Formatter  
Description  
HDLC Protocol  
5 identical HDLC formatters are  
provided. They can be routed to any  
B1, B2 or D channels for any burst of  
any U, S or A interface.  
HDLC (High Level Data Link Control)  
is a bit-oriented, synchronous serial  
protocol used in data communication  
systems. Both LAPD (Link Access  
Protocol on D-channel) and LAPB  
(Link Access Protocol Balanced) are  
descended from HDLC, but differ  
slightly in frame format.  
Each HDLC formatter works as a single  
channel HDLC controller with send and  
receive FIFO pools. It is designed to  
work in OSI Layer2 (Data Link layer)  
applications, such as a LAP-D or LAP-B  
processor.  
The HDLC block transmits and  
receives data in frames. The start  
and end of frames are marked by a  
unique bit pattern called a flag. The  
data between the start and end flags  
consists of an address field, control  
field, information field and a Frame  
Check Sequence (FCS) field. Fig.13  
shows the HDLC frame format  
FEATURES INCLUDE:  
• HDLC processor  
+ flag generation and detection  
+ abort generation and checking  
+ CRC generation and checking  
+ zero insertion and deletion  
• Receive address comparison  
+ 1 broadcast TEI register  
Flag  
Flag  
+ 2 programmable address  
matching registers  
01111110  
Address  
Control  
Information  
FCS  
01111110  
+ 2 programmable ‘wildcard’  
registers  
in LAPD  
Nmax=260  
(optional)  
2/4 Octets  
• Transmit address of packets can be  
set from register or data stream  
• 64 byte FIFO’s in both directions  
• Transparent mode at which the  
FIFO’s (Rx and Tx) can be used to  
buffer data transfers without HDLC  
formatting.  
• Data bit-reversal possible (LSB <->  
MSB) in order to cope with the  
different formatting between HDLC  
formatted (LSB first) and non-HDLC,  
GCI formatted data (MSB first).  
• Interrupt generation  
1 - 2 Octets  
1 - 2 Octets  
0 -N Octets  
Passed between Receive/Transmit FIFO’s  
Fig.13: HDLC Frame Format  
32  
MTC-20285 240300 [33]  
MTC-20285  
on the address, control and information  
fields. The standard CRC-CCITT poly-  
nomial is used in both the receive and  
transmit directions:  
binary 1’s in the LAPD protocol. The  
number of 1’s can be less than a full  
octet. The LAPB protocol, on the other  
hand, specifies flag characters to be  
inserted between frames.  
1. Framing  
A flag is the unique bit-pattern  
‘01111110’ (7E hex), and marks  
both the start and the end of the  
frame. Flags are generated internally,  
and the HDLC block automatically  
appends start and end flags on frame  
transmission. Flags are searched  
for on a bit-by-bit basis, and can be  
recognised at any point in the receive  
bit stream. Flags are not transferred  
to or from the HDLC block.  
X16 + X12 + X5 + 1  
The HDLC block also provides support  
for a non-standard 32-bit CRC (CRC-  
32), which may be used instead of the  
standard CCITT-CRC. The polynomial  
for this is:  
X32 + X26 + X23 + X22 + X16 +  
X12 + X11 + X10 + X8+ X7 + X5 +  
X4 + X2 + X + 1  
8. Frame Abort  
Transmission of data frames can  
be prematurely cancelled by use of  
an abort character. The transmitter  
aborts a frame by sending the abort  
character ‘11111110’ (FE hex). The  
receiver interprets this character as  
an abort, and begins the search for  
a new frame.  
2. Addressing  
The frame address is contained in  
the first field following the start flag.  
This can be either 1 or 2 octets long,  
and is used to distinguish the various  
network devices from one another.  
Together with optional address  
matching circuitry, the HDLC block  
can search the complete address field  
of incoming frames, selecting only  
those frames addressed to it. The  
address field is transferred to and  
from the HDLC block.  
CRC generation and checking is  
performed automatically by the HDLC  
block. On transmit, the CRC generator  
is initialized with FFFF hex. The CRC  
is computed serially on the address,  
control and information fields, and is  
then complemented before being  
transmitted MSB first.  
How to generate a Tx Frame Abort.  
This can be done in one of the  
following 3 ways:  
• disable the TX before the ‘end-of-  
frame’ (indicated by writing the  
‘last-byte-indication’ to the TX-FIFO)  
• clear the TX-FIFO before the ‘end-of-  
frame’  
In the receive direction the CRC checker  
is initialized with FFFF hex on receipt of  
a valid start flag. A CRC is performed  
on all bits between the start and end  
flags, including the transmitted CRC  
field, and the end result is compared  
to 1D0F hex (or C704DD7B hex for  
CRC-32), hex numbers written MSB  
first. The frame is transferred to the  
receive FIFO, regardless of whether  
the CRC checker detected an error or  
not. The CRC field can also be trans-  
ferred to the receive FIFO if required.  
• let the TX-FIFO run empty before the  
‘end-of-frame’  
3. Control  
A control field follows the address field.  
This can be either 1 or 2 octets long,  
and is used to transfer commands and  
responses between Layer 2 entities and  
the network. The HDLC block does not  
operate on this field, transferring it  
transparently.  
4. Information  
The information field contains the  
data to be transmitted, and may be  
null. This field may not be an integer  
number of octets. If the last few bits of  
the information field do not completely  
fill the last octet, then that octet is  
padded with zeros before being  
transferred to the Receive FIFO as a  
complete byte. The device will only  
transmit frames with an integer number  
of octets (before zero insertion).  
6. Zero Insertion/Deletion  
Zero insertion and deletion is  
performed by the HDLC block to  
prevent the start and end flags from  
being imitated by the data. The  
transmit section inserts a zero after  
any succession of five 1’s within a  
frame (between start and end flags).  
The receive section deletes all 0’s  
inserted by the transmitter.  
7. Inter-frame Time Fill  
An inter-frame time fill condition  
occurs when the HDLC block has no  
frames to transmit. The device can be  
configured to transmit either an idle  
stream or flag characters during this  
period. The idle stream consists of  
33  
5. Error Checking  
The Frame Check Sequence (FCS)  
field is contained in the last two  
octets before the end flag in a frame.  
The field is computed using a Cyclic  
Redundancy Check (CRC) polynomial.  
This is used to perform error detection  
MTC-20285 240300 [34]  
MTC-20285  
Control Registers  
This section details the programmable  
registers accessible to the CPU. These  
registers either control the operation  
of the HDLC formatter, or report its  
status. HDx parameters in Table 15  
refer to 5 parameters, x referring to  
any of the 5 HDLC formatters.  
Table 15: Control Registers  
Name  
HDx-SRC  
x = 1  
x = 2  
x = 3  
Address (byte)  
Function  
Source data for the receive path:  
[1:0]: line selection  
0 = U  
40 (100)  
41 (104)  
42 (108)  
47 (11C)  
48 (120)  
1 = S  
2 = A  
x = 4  
x = 5  
3 = / (unspecified; not to be used)  
[4:2]: burst selection (0 to 7)  
[6:5]: channel selection  
0 = B1  
1 = B2  
2 = D  
3 = / (unspecified; not to be used)  
HD_BREV  
43 (10C)  
Bit-reverse data byte (LSB <-> MSB) read/written from/to the HDLC FIFO’s  
bit[0] = 1: bit-reverse data for HDLC1 formatter  
bit[1] = 1: bit-reverse data for HDLC2 formatter  
bit[2] = 1: bit-reverse data for HDLC3 formatter  
bit[3] = 1: bit reverse data for HDLC4 formatter  
bit[4] = 1: bit reversed per block of 2 for D channel transmission through  
HDLC1 in transparent mode  
bit[5] = 1: bit reversed per block of 2 for D channel transmission through  
HDLC2 in transparent mode  
bit[6] = 1: bit reversed per block of 2 for D channel transmission through  
HDLC3 in transparent mode  
bit[7] = 1: bit reversed per block of 2 for D channel transmission through  
HDLC4 in transparent mode  
Note: No bit-reverse support is foreseen for HDLC5.  
HDLC packet ready to be transmitted in the current frame (read only  
register - the register is updated by and when the HDLC TX-FIFO is active,  
transmitting data)  
HDx-TX  
x = 1  
x = 2  
x = 3  
x = 4  
44 (110)  
45 (114)  
46 (118)  
49 (124)  
4A (128)  
x = 5  
HDx-MODE  
x = 1  
x = 2  
x = 3  
x = 4  
HDLC Mode Register (MODE)  
10 (040)  
20 (080)  
30 (0C0)  
D0 (340)  
This register controls the formatter configuration  
= [0, HEN, TXE, RXE, CR32, ITF, FLS, TIC]  
HEN: HDLC Protocol Enable  
- 1: HDLC protocol enabled (data sent LSB first)  
34  
MTC-20285 240300 [35]  
MTC-20285  
x = 5  
E0 (380)  
- 0: HDLC protocol disabled (data sent LSB first)  
TXE: Transmitter Enable  
- 1: Transmitter activated  
- 0: Transmitter deactivated  
RXE: Receiver Enable  
- 1: Receiver activated  
- 0: Receiver deactivated  
CR32: 32-bit CRC Enable  
- 1: Enable 32-bit CRC (non-standard)  
- 0: Disable 32-bit CRC  
ITF: Inter-frame Time Fill  
- 1: Continuous 1’s between frames  
- 0: Flag characters between frames  
FLS: Flag sharing  
- 1: Transmit one flag between frames  
- 0: Transmit two flags between frames  
TIC: Transmit Incorrect CRC  
- 1: Transmit an incorrect CRC field value  
- 0: Transmit correct CRC field value  
HDLC Extended Mode Register (EMODE)  
This register controls the configuration of the extended HDLC modes.  
= [LPB, CPT, TAIE, RAF1, RAF0, MFLE, MFL1, MFL0]  
LPB: Loop-back (at parallel ARM-I/O side, NOT at bit-serial GCI side)  
- 1: Transmit - receive looped back  
HDx-EMODE  
x = 1  
x = 2  
x = 3  
x = 4  
11 (044)  
21 (084)  
31 (0C4)  
D1 (344)  
E1 (384)  
x = 5  
- 0: Transmit - receive not looped back  
CPT: CRC Pass Through  
- 1: Pass CRC bytes into the data stream  
- 0: Do not pass CRC bytes into data stream  
TAIE: Transmit Address Insertion Enable  
- 1: Transmit address octets sourced from TA1/2  
- 0: Transmit address octets sourced from data  
RAF[1:0]: Receive Address Filter  
- 00: No filter on receive addresses  
- 01: Frame accepted if first address octet corresponds to either  
RA1/RAW1 or RA2/RAW2  
- 10: Frame accepted if second address octet corresponds to either  
RA1/RAW1 or RA2/RAW2  
- 11: Frame accepted if: first address octet corresponds to RA1/RAW1  
and second address octet corresponds to RA2/RAW2  
MFLE: Minimum Frame Length Check Enable  
- 1: Minimum frame length check enabled  
- 0: Minimum frame length check disabled  
MFL[1:0]: Minimum Frame Length Check  
- 00: Only receive frames of 3 bytes or more  
- 01: Only receive frames of 4 bytes or more  
- 10: Only receive frames of 5 bytes or more  
- 11: Only receive frames of 6 bytes or more  
HDLC Command Register (CMD)  
HDx-CMD  
x = 1  
x = 2  
x = 3  
x = 4  
12 (048)  
22 (088))  
32 (OC8)  
D2 (348)  
Commands for the formatter are written to this register. Writing a ‘1’ to any  
of the bit locations will cause the appropriate action to take place.  
= [0, 0, 0, 0, TFT, TFC, RFC, RFB]  
TFT: Transmit Frame Terminator  
35  
MTC-20285 240300 [36]  
MTC-20285  
x = 5  
E2 (388)  
- 1: The next byte to be written to the Transmit FIFO is the last of the frame  
TFC: Transmit FIFO Clear  
- 1: Transmit FIFO is cleared  
RFC: Receive FIFO Clear  
- 1: Receive FIFO is cleared  
RFB: Receive Frame Abort  
- 1: Abort the receive frame  
HDx-SSTAT  
x = 1  
x = 2  
x = 3  
x = 4  
HDLC Serial Status Register (SSTAT)  
This register contains the current status of the Formatter receive and transmit  
serial functions.  
13 (O4C)  
23 (08C)  
33 (0CC)  
D3 (34C)  
E3 (38C)  
= [0, 0, 0, 0, SPG, RID, RFL, TIF]  
SPG: Serial Port Grant: this bit will have no influence when reset, because  
it is always granted by hardware construction:  
- 1: Serial port granted  
x = 5  
- 0: Serial port has not been granted  
RID: Receive Line Idle  
- 1: Receiving idle characters  
- 0: Frames or starting flags are being received  
RFL: Receiving Flag Characters  
- 1: Receiving flag characters  
- 0: Idle/frame data being received  
TIF: Transmit in Frame  
- 1: Transmitting frame data characters  
- 0: Transmitting idle/flag characters  
HDLC FIFO Status Register (FSTAT)  
This register contains the current status of the Formatter.  
= [0, RSB, TLL, TFE, TOU, RLH, RFE, ROU]  
reset value = 32 hex  
HDx-FSTAT  
x = 1  
x = 2  
x = 3  
x = 4  
14 (050)  
24 (090)  
34 (0D0)  
D4 (350)  
E4 (390)  
RSB: Receive Status Byte  
x = 5  
- 1: Next byte on receive FIFO is a status byte  
- 0: Next byte on receive FIFO is a data byte  
TLL: Transmit FIFO Level is Low  
- 1: Transmit FIFO level is less than its threshold level  
- 0: Transmit FIFO level is greater than or equal to its threshold level  
TFE: Transmit FIFO is Full/Empty  
- 1: Transmit FIFO full if TLL = 0, empty if TLL = 1  
- 0: Transmit FIFO is neither full nor empty  
TOU: Transmit FIFO has Overrun/Underrun  
- 1: Transmit FIFO overrun if TLL = 0, underrun if TLL = 1  
- 0: Transmit FIFO has neither overrun nor underrun  
RLH: Receive FIFO Level is High  
- 1: Receive FIFO level is greater than or equal to its threshold level  
- 0: Receive FIFO level is less than its threshold level  
RFE: Receive FIFO is Full/Empty  
- 1: Receive FIFO full if RLH = 1, empty if RLH = 0  
- 0: The receive FIFO is neither full nor empty  
ROU: Receive FIFO has Overrun/Underrun  
- 1: Receive FIFO overrun if RLH = 1, underrun if RLH = 0  
- 0: Receive FIFO has neither overrun nor underrun  
Threshold level = 25% / 75% of the FIFO depth  
36  
MTC-20285 240300 [37]  
MTC-20285  
HDx-ISTAT  
x = 1  
x = 2  
x = 3  
x = 4  
HDLC Interrupt Status Register (ISTAT)  
= [TXOK, TXERR, RXOK, RXERR, TXFL, TXFU, RXFH, RXFO]  
(see HDLC Interrupt Mask Register (HDx_IMASK))  
Holds the current interrupt status, reading this register returns the same  
value that was read during the last read of HDx_ISERV.  
15 (054)  
25 (094)  
35 (0D4)  
D5 (354)  
E5 (594)  
x = 5  
HDx-ISRV  
x = 1  
x = 2  
x = 3  
x = 4  
HDLC Interrupt Service Register (ISRV)  
= [TXOK, TXERR, RXOK, RXERR, TXFL, TXFU, RXFH, RXFO]  
(see HDLC Interrupt Mask Register (IMASK))  
Reading this register:  
- 1. stores the value indicating all pending interrupts in HDx_ISTAT  
- 2. clears the interrupts (ISRV reset to 00hex);  
Note: the read value can not be used, read ISTAT  
HDLC Interrupt Mask Register (IMASK)  
= [TXOK, TXERR, RXOK, RXERR, TXFL, TXFU, RXFH, RXFO]  
TXOK: Transmit Frame OK  
16 (058)  
26 (098)  
36 (0D8)  
D6 (358)  
E6 (398)  
x = 5  
HDx-IMASK  
x = 1  
x = 2  
x = 3  
x = 4  
17 (05C)  
27 (09C)  
37 (0DC)  
D7 (35C)  
E7 (39C)  
- 1: Frame transmitted OK  
- 0: No interrupt  
TXERR: Transmit Frame Aborted  
- 1: Transmit frame aborted  
x = 5  
- 0: No interrupt  
RXOK: Receive Frame OK  
- 1: Frame received OK  
- 0: No interrupt  
RXERR: Receive Frame Error  
- 1: Frame aborted/received with CRC error  
- 0: No interrupt  
TXFL: Transmit FIFO low  
- 1: Transmit FIFO level has fallen below threshold  
- 0: No interrupt  
TXFU: Transmit FIFO Underrun  
- 1: Transmit FIFO has underrun  
- 0: No interrupt  
RXFH: Receive FIFO High  
- 1: Receive FIFO level has risen above threshold  
- 0: No interrupt  
RXFO: Receive FIFO Overrun  
- 1: Receive FIFO has overrun  
- 0: No interrupt  
Threshold level = 25% / 75% of the FIFO depth  
HDx-FIFO  
x = 1  
x = 2  
x = 3  
x = 4  
TX / RX Data  
18 (060)  
28 (0A0)  
38 (0E0)  
D8 (360)  
E8 (3A0)  
Reading this register pops data off the Receive FIFO, from the current read  
address, and writing this register pushes data onto the Transmit FIFO.  
Note that writing a ‘1’ to the TFT bit in the HDx_CMD register before writing  
the last byte to this register will terminate the last byte in the HDLC frame.  
Note that when changing to transparent mode either from reset, or during  
normal operation, the first received byte in the RX FIFO should be ignored.  
= [D7, D6, D5, D4, D3, D2, D1, D0]  
x = 5  
HDx-RFBC  
x = 1  
x = 2  
Receive Frame Byte Count (RFBC)  
The contents of this register are valid after an RXOK/RXERR interrupt.  
The value in this register corresponds to the number of receive frame bytes  
19 (064)  
29 (0A4)  
37  
MTC-20285 240300 [38]  
MTC-20285  
x = 3  
x = 4  
x = 5  
39 (0E4)  
D9 (364)  
E9 (3A4)  
placed into the Receive FIFO. This value includes CRC bytes if CPT = 1,  
but does not include the Receive Status Byte placed into the Receive FIFO  
immediately following the frame data.  
= [C7, C6, C5, C4, C3, C2, C1, C0] (modulo 256)  
Transmit Address 1 (TA1)  
This register contains the first address octet for outgoing HDLC frames.  
This register value will only be used as the first address octet if the TAIE  
bit in the HDx_EMODE register is set to ‘1’.  
HDx-TA1  
x = 1  
x = 2  
x = 3  
x = 4  
1A (068)  
2A (0A8)  
3A (0E8)  
DA (368)  
EA (3A8)  
= [T17, T16, T15, T14, T13, T12, T11, T10]  
x = 5  
HDx-TA2  
x = 1  
x = 2  
x = 3  
x = 4  
Transmit Address 2 (TA2)  
1B (06C)  
2B (0AC)  
3B (0EC)  
DB (36C)  
EB (3AC)  
This register contains the second address octet for outgoing HDLC frames.  
This register value will only be used as the second address octet if the TAIE  
bit in the HDx_EMODE register is set to ‘1’.  
= [T27, T26, T25, T24, T23, T22, T21, T20]  
x = 5  
HDx-RAW1  
x = 1  
x = 2  
x = 3  
x = 4  
Receive Address Wildcard 1 (RAW1)  
1C (070)  
2C (0B0)  
3C (0F0)  
DC (370)  
DE (378)  
This register contains a ‘wildcard’ pattern for use by receive address  
register RA1. Any bits set to ‘1’ in this register will not be used in the  
comparison with an address octet.  
= [RW17, RW16, RW15, RW14, RW13, RW12, RW11, RW10]  
x = 5  
HDx-RAW2  
x = 1  
x = 2  
x = 3  
x = 4  
Receive Address Wildcard 2 (RAW2)  
1D (074)  
2D (0B4)  
3D (0F4)  
DD (374)  
DE (378)  
This register contains a ‘wildcard’ pattern for use by receive address  
register RA2. Any bits set to ‘1’ in this register will not be used in the  
comparison with an address octet.  
= [RW27, RW26, RW25, RW24, RW23, RW22, RW21, RW20]  
x = 5  
HDx-RA1  
x = 1  
x = 2  
x = 3  
x = 4  
Receive Address 1 (RA1)  
1E (078)  
2E (0B8)  
3E (0F8)  
DE (378)  
EE (3B8)  
This register contains a value to be used in the address matching circuitry  
for received HDLC frames. The RAF bits in the HDx_EMODE register control  
the operation of the address matching circuitry.  
= [RA17, RA16, RA15, RA14, RA13, RA12, RA11, RA10]  
x = 5  
HDx-RA2  
x = 1  
x = 2  
x = 3  
x = 4  
Receive Address 2 (RA2)  
1F (07C)  
2F (0BC)  
3F (0FC)  
DF (37C)  
EF (3BC)  
This register contains a value to be used in the address matching circuitry  
for received HDLC frames. The RAF bits in the HDx_EMODE register control  
the operation of the address matching circuitry.  
= [RA27, RA26, RA25, RA24, RA23, RA22, RA21, RA20]  
x = 5  
38  
MTC-20285 240300 [39]  
MTC-20285  
NOTES:  
On receiving a frame, a receive status byte is appended to the frame data in the FIFO. This status byte indicates how  
successfully the frame was received. The status byte can be identified in the receive data stream either by examining the  
RSB status bit of the HDx_FSTAT register, or by examining the RFBC register value after an RXOK/RXERR interrupt has  
occurred.  
Receive Status Byte = [0, 0, 0, RAB, CRC/ERR, PAD2, PAD1, PAD0]  
RAB: Receive Abort  
- 1: Receive frame aborted  
- 0: Receive frame not aborted  
CRC/ERR: Receive CRC Error  
- 1: Receive CRC Error  
- 0: No receive CRC Error  
PAD[2:0]: 3-bit number indicating the number of padding bits added to the final receive character in the case of non octet  
aligned data.  
39  
MTC-20285 240300 [40]  
MTC-20285  
USB Interface  
USB Disabled  
FEATURES INCLUDE:  
GET_DESCRIPTOR, etc) is an  
exclusive hardware responsibility.  
No overhead in the ARM software  
• USB FIFO. Their handling is an  
ARM Software responsibility for  
example, Reset USB, Get info on  
ISDN handling parameters, etc.  
• Indication signals are provided to  
monitor the traffic over Channels  
1..6 (typically D, B1 and B2  
channels of 2 ISDN streams) and  
USB connectivity (device configured  
by USB host). They can optionally  
be used to drive 7 LEDs -  
If the USB function is not used in the  
application, the following device pins  
must be connected to VSS, and all  
other USB related pins left open.  
• Full-speed USB device  
• Interface to external USB driver,  
according to the USB Implementers  
Forum recommendations.  
• Device powered (does not receive  
power via USB cable)  
• Soft-configurable (see above)  
• A 48 MHz (2,500ppm) clock for  
USB bus clock recovery  
• Most of the interface is clocked at  
12 MHz (obtained by dividing the  
48 MHz clock)  
• The entire Standard USB command  
handling (e.g. GET_STATUS,  
Name  
Pin Nr.  
121  
115  
116  
117  
USB_XTAL2  
USB_RCV  
USB_VP  
USB_VM  
USB_VBUS  
118  
USB1_RXTX to USB6_RXTX and  
USB_CFG pins.  
Description  
An integrated USB Device Controller  
revision 1.1 compliant, is provided for  
interfacing with a personal computer.  
Apart from the mandatory bi-  
USB Logical Architecture  
The device supports:  
directional USB control pipe (Control  
Endpoint 0), it can handle a maximum  
of 6 bi-directional data streams using  
6 shared (bi-directional) endpoints  
1..6. These streams are buffered in  
configurable size FIFO’s and use  
either USB Isochronous, Bulk or Inter-  
rupt Endpoints. They can for example,  
be used to send/receive the B1, B2  
and D channels of any burst to/from  
two GCI interfaces (U, S, A).  
1 USB Configuration  
4 USB Interfaces:  
• Interface 0:  
Control Endpoint 0 (always enabled)  
• Interface 1:  
- Alternate Setting 0: Endpoints 1 and 4 disabled (default reset value)  
- Alternate Setting 1: Bi-directional Endpoint 1 enabled  
- Alternate Setting 2: Bi-directional Endpoint 4 enabled  
- Alternate Setting 3: Bi-directional Endpoints 1 and 4 enabled  
• Interface 2:  
- Alternate Setting 0: Endpoints 2 and 5 disabled (default reset value)  
- Alternate Setting 1: Bi-directional Endpoint 2 enabled  
- Alternate Setting 2: Bi-directional Endpoint 5 enabled  
- Alternate Setting 3: Bi-directional Endpoints 2 and 5 enabled  
• Interface 3:  
The USB interface consists of hard-  
ware and some ARM software.  
It is fully software configurable as  
follows:  
- Alternate Setting 0: Endpoints 3 and 6 disabled (default reset value)  
- Alternate Setting 1: Bi-directional Endpoint 3 enabled  
- Alternate Setting 2: Bi-directional Endpoint 6 enabled  
- Alternate Setting 3: Bi-directional Endpoints 3 and 6 enabled  
4 USB Strings:  
• The ISDN USB logical architecture  
(type of endpoints, USB descriptors,  
USB FIFO sizes etc) is selectable  
through configuration data in the USB  
RAM (mapped in the APB space).  
• String 0:  
• String 1:  
• String 2:  
• String 3:  
Language ID (support for 1 language)  
Manufacturer  
Product  
• Reading/writing USB FIFO’s is done  
in ARM software, for example,  
using interrupt routines.  
Serial Number  
• ISDN layer 2 and 3 processing  
can optionally be provided in ARM  
software, reducing the CPU load  
of the USB host (PC).  
40  
MTC-20285 240300 [41]  
MTC-20285  
The number of logical endpoints  
(visible to the USB host) equals 7.  
Endpoint 0: Control endpoint.  
Endpoint 1..6: shared (bi-directional)  
endpoints.  
In each direction (USB towards ARM,  
and ARM towards USB), 7 separate  
bi-directional FIFO blocks are provided,  
corresponding to Channels 0 to 6.  
Channel 0 is always used for the  
mandatory bi-directional USB control  
pipe (Endpoint 0). Channels 1…6  
correspond to the shared (bi-directional)  
endpoints 1…6. The 7 FIFO blocks  
in the USB towards the ARM direction  
are called USB RX FIFO, the 7 blocks in  
the opposite direction are called USB  
TX FIFO. Each Channel corresponds  
to a USB RX FIFO block and a USB  
TX FIFO block.  
UDC buffer values configure the UDC  
(ISDN USB logical architecture) and  
select the sizes of all channel 1..6  
FIFO blocks. The USB descriptors  
contain information that has to be  
sent to the USB host, on its request.  
This part of the RAM is called USB  
CONFIG.  
The total number of physical end-  
points equals 25, taking into account  
all endpoints in all configurations and  
for all alternate settings.  
The size of the RAM is 1024 Bytes.  
Typically, this logical architecture  
will be used to implement the ISDN  
Multi-Channel model.  
• USB Control Endpoint 0 is located  
in Interface 0, the communication  
class interface.  
The size of the channel 0 FIFO block is  
fixed to 8 bytes in each direction. The  
size of each FIFO block for channel  
1..6 is soft-configurable. (The base  
address of each block is contained  
in the UDC buffer values, and RX/TX  
blocks for the same endpoint are  
adjacent (no gap). This information  
is extracted during the configuration  
phase of the Sand core (UDC buffer  
values download).  
• Interfaces 1,2 and 3 are data class  
interfaces for transferring D, B1 and  
B2 basic rate ISDN channel data.  
• Endpoints 1,2 and 3 are used for  
1 basic rate ISDN line, while end-  
points 4,5 and 6 can optionally be  
used for a second line, or for some  
other application specific information  
exchange.  
• Endpoints 1..6 can be configured  
as Bulk-, Isochronous or Interrupt  
endpoints.  
Note that 7 bi-directional channels is an  
upper bound. Certain configurations  
could use less, e.g. ISDN/CAPI or a  
‘download’ mode where the personal  
computer can download USB confi-  
guration information + descriptors  
and ARM software into the device.  
Architecture  
The interface is built around a Phoenix  
(Sand) USB Device Controller (UDC)  
synthesizable core. It also contains an  
APB - mapped 1 kByte RAM, that holds  
USB FIFO data for all channels, and  
configuration data (USB descriptors  
and UDC buffer values).  
The FIFO is built around one dual-  
port RAM. Using one single RAM  
is possible because each side (USB,  
ARM) will only access one channel  
at once, for either reading or writing.  
Synchronization mechanisms are  
provided between the Sand USB Core  
(Sand Application Bus), that runs on  
a 12MHz clock, and the rest of the  
USB interface (APB access mechanism  
including accessible registers).  
USB RAM Memory  
A bi-directional multi-channel FIFO  
serves as buffer space between the  
Sand Application Bus and the ARM-  
APB bus. Buffering is needed because  
the UDC initiates all data transfers on  
the Sand Application Bus, and the  
application has to accept / provide  
data within 4 cycles after the UDC  
request.  
This USB RAM not only serves as  
FIFO, but also holds UDC buffer  
values and all USB descriptors. They  
have to be loaded, by the ARM soft-  
ware, from external memory into the  
USB RAM at device power-up. The  
41  
MTC-20285 240300 [42]  
MTC-20285  
USB RX FIFO  
USB Side  
(Sand Application Bus)  
ISDN Side  
(AMBA APB Bus)  
Base Address  
Acked Write Pointer  
Write Pointer  
Read Pointer  
USBx-FIFO  
Read Access  
Fig.14: USB RX FIFO Block Organisation  
Each channel 1..6 RX FIFO block has  
a configurable base address, that is  
contained in the UDC buffer values.  
The RAM address range of each block  
extends from its base address to the  
base address of the next block minus  
one. Although the USB RX FIFO is  
entirely memory mapped, the software  
will only directly access these  
Write Pointer is maintained to  
For unsuccessful transfers, the ACKed  
Write pointer is not updated, causing  
the received data to be ignored.  
generate the RAM write address.  
Upon completion of a (multi-Byte)  
write transaction, the UDC indicates  
whether or not the transaction was  
successful, using Acknowledge /  
Not-Acknowledge signals. In case  
the transaction was unsuccessful, the  
received data is ignored. Unsuccessful  
transactions are caused by data errors  
on the USB (e.g. bitstuff error, CRC  
error, host sends more bytes than the  
Endpoints MaxPktSize).  
Each time the software accesses a  
RX FIFO block, a circular Read Pointer  
is updated in hardware. This pointer  
is used together with the ACKed  
Write Pointer to determine the RX  
FIFO High/Low level, Full/ Empty  
and Overrun/Underrun indications  
for that particular RX FIFO block.  
addresses for test purposes.  
Software reads data from a RX FIFO  
block, by doing read accesses to its  
corresponding Channel register  
address, USBxFIFO (x = 0..6). The  
hardware maintains a circular read  
pointer to physically access the RAM.  
If an RX FIFO block is Full, and UDC  
issues a Write request, the data is  
ignored and a NAK handshake is  
sent towards the host.  
A second circular Write Pointer, the  
ACKed Write Pointer, is used for this  
accept/ignore mechanism. When data  
is received, it is written in the RAM,  
and the Write pointer is updated.  
When the transfer has successfully  
completed, the ACKed Write pointer  
gets the value of the Write pointer.  
While doing a write transfer to a USB  
RX FIFO block, the least significant  
10-bits of the UDC address bus  
contain the base address of that  
particular block. A hardware circular  
42  
MTC-20285 240300 [43]  
MTC-20285  
USB TX FIFO  
USB Side  
(Sand Application Bus)  
ISDN Side  
(AMBA APB Bus)  
Base Address  
Acked Read Pointer  
Read Pointer  
Write Pointer  
USBx-FIFO  
Write Access  
Fig.15: USB TX FIFO Block Organisation  
Each TX FIFO block has a configurable  
base address, which is contained  
in the UDC buffer values. The RAM  
address range of each block extends  
from its base address to the base  
address of the next block minus one.  
Although the USB TX FIFO is entirely  
memory mapped, the software will  
only directly access these addresses  
for test purposes.  
circular Read Pointer is maintained to  
generate the RAM read address.  
ACKed Read Pointer is not updated,  
causing the transmitted data to be  
available for retransmission.  
Upon completion of a (multi-Byte)  
read transaction, the UDC indicates  
whether or not the transaction was  
successful, using the Acknowledge /  
Not-Acknowledge signals. In case the  
transaction was unsuccessful, the  
transmitted data must be retained in  
the TX FIFO block. Unsuccessful trans-  
actions are caused by data errors on  
USB (e.g. no ACK received from Host).  
Each time the software accesses  
a TX FIFO block, a Write Pointer is  
updated in hardware. This pointer is  
used together with the ACKed Read  
Pointer to determine the TX FIFO  
High/Low level, Full/Empty and  
Overrun/Underrun indications for that  
particular TX FIFO block.  
Software writes data to a RX FIFO  
block, by doing write accesses to  
its corresponding Channel register  
address, USBxFIFO (x = 0..6). The  
hardware maintains a circular write  
pointer to physically access the  
RAM.  
If a TX FIFO block is Full, and UDC  
issues a Read request, the reaction  
depends on the Endpoint type. For  
a Bulk or Interrupt Endpoint, either a  
NAK handshake or a Short Packet  
and an ACK handshake is sent to the  
host. For an Isochronous Endpoint, a  
Zero Byte Data Packet is sent to the  
host.  
A second circular Read Pointer, the  
ACKed Read Pointer, is used for this  
accept/ignore mechanism. Each time  
a data Byte is read from the RAM and  
put on the Application Bus, the Read  
Pointer is updated. When the transfer  
has successfully completed, the ACKed  
Read Pointer gets the value of the Read  
Pointer. For unsuccessful transfers, the  
While doing a read transfer from a  
USB TX FIFO block, the UDC address  
bus contains the base address of  
that particular block. A hardware  
43  
MTC-20285 240300 [44]  
MTC-20285  
USB CONFIG  
ISDN <-> USB Data Flow Mechanism  
The UDC can address each location  
of the USB CONFIG block. It contains  
static data (UDC buffer values and  
USB descriptors) that are loaded  
during device start-up. On the USB  
side, the UDC generates addresses for  
this part of the RAM. On the ARM  
side, the software can access all  
locations over the APB-bus.  
USB  
ISDN  
(GCI)  
ARM  
(AMBA-APB Bus)  
(Sand Application Bus)  
1
2
6
3
7
4
8
USB RX FIFO  
USB TX FIFO  
HDLC TX FIFO  
HDLC RX FIFO  
5
USB Error Indication  
Fig.16: ISDN <->USB Data Flow Mechanism  
When any problem is encountered  
sending/receiving a USB packet (due  
to USB error conditions ‘cf. Supra’ or  
FIFO overrun/underrun conditions)*,  
this is indicated by setting the NACK  
(Not Acknowledged Packet) bit of that  
particular USB channel (= bi-  
Figure 12 shows an example of the  
data flow mechanism between ISDN  
and USB. A single FIFO channel is  
shown for each data direction.  
Underrun / Overrun behaviour is  
discussed for each numbered item  
in the figure.  
handshake is sent to the host. (When  
flushing / no threshold, a Short Packet  
and an ACK handshake is sent to the  
host). In case of an Isochronous End-  
point, a Zero Byte Data Packet is sent  
to the host.  
directional endpoint). This bit is  
located in USBx-FSTAT[6], x = 0..6.  
This bit is only cleared when the ARM  
reads the USBx-FSTAT register.  
6. Write to a full USB TX FIFO, USB  
TX FIFO Overrun interrupt (use USB  
RX FIFO Low / High interrupt driven  
actions to avoid this).  
Note that interrupts can of course be  
masked.  
* A Standard USB command (always  
handled by the UDC) will also make  
the Channel 0 NACK bit = ‘1’.  
1. A Write request to a USB RX FIFO,  
which has less space free than its  
threshold, produces a USB RX FIFO  
Overrun interrupt, the data written is  
ignored, and a NAK is sent to the  
host, which will either re-transmit bulk  
data or discard isochronous data.  
7. Read from an empty HDLC RX FIFO,  
HDLC RX FIFO Underrun (use HDLC  
RX FIFO High driven actions to avoid  
this).  
8. Write to a full HDLC RX FIFO,  
HDLC RX FIFO Overrun interrupt.  
2. Read from an empty USB RX FIFO,  
USB RX FIFO Underrun interrupt (use  
USB TX FIFO Low / High interrupt  
driven actions to avoid this).  
USB FIFO Overrun / Underrun inter-  
rupts can be avoided by writing /  
reading FIFO data in chunks that are  
smaller than half the FIFO channel  
size, triggered by the USB FIFO  
Low / High Level interrupts.  
When the HDLC RX FIFO level is  
getting too high, software can use  
external or internal RAM memory  
storage (Back Pressure).  
3. Write to a full HDLC TX FIFO, HDLC  
TX FIFO Overrun (use HDLC TX FIFO  
Low driven actions to avoid this).  
4. Read from an empty HDLC TX  
FIFO, Inter-frame Time Fill (D-channel:  
’1’ bits, B-channels: 0x7E Flag  
characters) are inserted on GCI inter-  
face.  
5. Read request to a USB TX FIFO,  
which contains less bytes than its  
threshold (and not flushing), USB TX  
FIFO Underrun interrupt. In case of a  
Bulk (or Interrupt) Endpoint, a NAK  
44  
MTC-20285 240300 [45]  
MTC-20285  
USB Control/Status Registers  
triggered) interrupt generation. It has  
no shadowed status register, status  
can be found in USB_DSTAT and  
USB_ALTSET registers.  
Registers related to the USB device  
as a whole reside in APB page 0x17.  
Registers related to a particular  
channel (0..6) reside in APB pages  
0x10..0x16.  
The channel interrupts are level  
triggered (USBx-ISTAT, -ISRV, -IMASK  
mechanism) and can be cleared  
locally, by reading USBx-ISRV.  
USB_DIMASK is an interrupt mask  
register, that can mask event (edge  
Name  
Address (byte)  
Function  
USB_DCMD  
170 (5C0)  
USB Device Command:  
bit[0]: USB_START: USB Start-up  
Doing a write ‘1’ access to this bit generates a reset pulse for the USB  
interface (reset and restart). It also triggers the hardware to load the UDC  
buffer values from the USB RAM, into the Sand USB Core. After this, the  
USB interface will become activated (UDC_CFG becomes ’1’).  
bit[1]: USB_PULL: enable pull-up resistor on D+  
- 1 = enable pull-up resistor on D+, provided that UDC_CFG = ‘1’  
- 0 = disable pull-up resistor on D+, regardless the value of UDC_CFG  
bit[2]: UDC_FORCECLK: Force UDC clocking (all 48 MHz and 12 MHz  
clocks) during USB suspend  
- 1 = UDC is clocked, even if USB_SUSPEND = ‘1’  
- 0 = UDC is not clocked, provided that USB_SUSPND =’1’  
bit[3]: UDC_DISABLECLK: Disable UDC clocking (all 48 MHz and 12 MHz  
clocks) at all times  
- 1 = all UDC clocking is disabled (USB power-down mode)  
- 0 = all UDC clocking is enabled  
To bring the USB interface into power-down mode, it is recommended to first  
make USB_PULL = ‘1’, and only thereafter UDC_DISABLECLK = ‘1’.  
After resuming the USB interface from power-down (UDC_DISABLECLK = ‘0’),  
a new USB_START is required.  
When a USB Suspend has happened while UDC_DISABLECLK was ‘1’  
(effectively disabling the USB clocks), the software needs to clear all USB  
FIFO’s when Suspend is resumed.  
USB_DSTAT  
171 (5C4)  
USB Device Status:  
bit[0]: USB_PHCON: Device Physically Connected  
- 1 = Device is physically connected to the USB  
- 0 = Device is not physically connected to the USB  
bit[2:1]: UDC_CFG: Sand Core Configured  
- 00 = Sand Core unconfigured  
- 01 = Configuring Sand core (loading UDC buffer values)  
- 10 = Sand core configured (successfully received its UDC buffer values)  
bit[3]: USB_CFG: Device configured by Host  
- 0 = USB device not configured by USB Host  
- 1 = USB device configured by USB Host  
bit[4]: USB_SUSPND: USB Suspend State  
- 0 = USB is not Suspended  
- 1 = USB is Suspended  
45  
MTC-20285 240300 [46]  
MTC-20285  
USB_ALTSET  
172 (5C8)  
174 (5D0)  
USB Alternate Setting (per Interface, as set by the USB Host):  
bit[1:0]: Alternate Setting of USB Interface 1  
bit[3:2]: Alternate Setting of USB Interface 2  
bit[5:4]: Alternate Setting of USB Interface 3  
USB Device Interrupt Mask Register  
USB_DIMASK  
bit[0] = USB_PHCON Event (USB cable connect/disconnect)  
bit[1] = USB_CFG Event (USB SET_CONFIGURATION)  
bit[2] = USB_INTF Event (USB SET_INTERFACE: Alt. Settings/Interfaces)  
bit[3] = USB_SUSPND Event (USB into suspend or resume from suspend)  
TX / RX Data for USB channel x  
USBx-FIFO  
x = 0  
x = 1  
x = 2  
x = 3  
x = 4  
x = 5  
x = 6  
105 (414)  
115 (454)  
125 (494)  
135 (4D4)  
145 (514)  
155 (554)  
165 (594)  
Reading this register pops data off the USB RX FIFO, from the current read  
address, and writing this register pushes data onto the USB TX FIFO.  
USBx-SET  
x = 1  
x = 2  
x = 3  
x = 4  
USB FIFO Settings  
bit[2:0] = USB_THR: USB FIFO Threshold level towards USB bus  
000 = No Threshold  
001 = 8 Bytes Threshold (default)  
010 = 16 Bytes Threshold  
011 = 32 Bytes Threshold  
116 (458)  
126 (498)  
136 (4D8)  
146 (518)  
156 (558)  
166 (598)  
x = 5  
x = 6  
100 = 64 Bytes Threshold  
101 = 128 Bytes Threshold  
110 = 256 Bytes Threshold  
111 = 512 Bytes Threshold  
Typically, the threshold of an endpoint will be chosen to be equal to the USB  
Packet size for that particular endpoint, to avoid abundant short packet  
generation.  
These threshold values can be written at device start-up, and should not be  
modified during USB operation.  
The threshold of RX0 / TX0 FIFO is fixed to 8 Bytes. Endpoint 0 Packet size  
should be configured to be 8 Bytes. All data phases of control 0 Vendor/Class  
specific commands should be integer multiples of 8 Bytes.  
USBx-CMD  
x = 0  
x = 1  
x = 2  
x = 3  
x = 4  
x = 5  
x = 6  
USB Command Register (CMD)  
100 (400)  
110 (440)  
120 (480)  
130 (4C0)  
140 (5000  
150 (540)  
160 (580)  
Commands for the formatter are written to this register. Writing a ‘1’ to  
any of the bit locations StatusOK, TFFL, TFC, RFC will cause the appropriate  
action to take place. The bits TFEN, RFEN, TSTL, RSTL can hold either a ‘1’  
or a ‘0’ value, enabling or disabling the corresponding feature.  
= [StatusOK, TFFL, TFEN, RFEN, TFC, RFC, TSTL, RSTL]  
SatusOK: Endpoint 0 Class/Vendor Command handled OK  
- 1: Endpoint 0 command status is OK  
TFFL: Transmit FIFO Flush  
- 1: Transmit FIFO is flushed  
TFEN: Transmit FIFO Enable  
- 1: Transmit FIFO is enabled  
- 0: Transmit FIFO is disabled  
(mimics an empty FIFO towards USB)  
46  
MTC-20285 240300 [47]  
MTC-20285  
RFEN: Receive FIFO Enable  
- 1: Receive FIFO is enabled  
- 0: Receive FIFO is disabled  
(mimics an empty FIFO towards USB)  
TFC: Transmit FIFO Clear  
- 1: Transmit FIFO is cleared  
RFC: Receive FIFO Clear  
- 1: Receive FIFO is cleared  
TSTL: Transmit Endpoint Stall  
- 1: Transmit Endpoint is stalled  
- 0: Transmit Endpoint is unstalled  
RSTL: Receive Endpoint Stall  
- 1: Receive Endpoint is stalled  
- 0: Receive Endpoint is unstalled  
Transmit FIFO Flush can for example, be used to force a short packet at the  
end of a data stream.  
StatusOK bit exists for Endpoint 0 only.  
TFFL, TFEN, RFEN bits exist for Endpoints 1…6 only.  
TFC, RFC, TSTL, RSTL bits exist for all Endpoints (0 …6).  
USB FIFO Status Register (FSTAT)  
This register contains the current status of the USB FIFO.  
- Bit[7..0] = [SETUP, NACK, TLL, TFE, TO, RLH, RFE, RU]  
- Reset value = 32 hex  
USBx-FSTAT  
x = 0  
x = 1  
x = 2  
x = 3  
x = 4  
x = 5  
x = 6  
101 (404)  
111 (444)  
121 (484)  
131 (4C4)  
141 (504)  
151 (544)  
161 (584)  
NACK: Not Acknowledged Packet  
- 1: USB transmission error occurred  
-
0: no USB transmission error occurred since last read of USBx-FSTAT  
(this bit is cleared on Read)  
TLL: Transmit FIFO Level is Low  
- 1: Transmit FIFO level is less than its threshold level  
- 0: Transmit FIFO level is greater than or equal to its threshold level  
TFE: Transmit FIFO is Full/Empty  
- 1: Transmit FIFO full if TLL = 0, empty if TLL = 1  
- 0: Transmit FIFO is neither full nor empty  
TO: Transmit FIFO has Overrun  
- 1: Transmit FIFO overrun  
- 0: Transmit FIFO has no overrun  
RLH: Receive FIFO Level is High  
- 1: Receive FIFO level is greater than or equal to its threshold level  
- 0: Receive FIFO level is less than its threshold level  
RFE: Receive FIFO is Full/Empty  
- 1: Receive FIFO full if RLH = 1, empty if RLH = 0  
- 0: The receive FIFO is neither full nor empty  
RU: Receive FIFO has Underrun  
- 1: Receive FIFO has underrun  
- 0: Receive FIFO has no underrun  
Threshold level (towards APB bus) = half of the FIFO depth  
For x = 0, an extra bit is defined in USB0-FSTAT: USB0-FSTAT[7] = SETUP:  
SETUP Packet  
- 1: Receiving / Received 8 byte SETUP Packet in RX0 FIFO  
47  
MTC-20285 240300 [48]  
MTC-20285  
(When a SETUP packet arrives, both RX0 and TX0 FIFO’s are  
unconditionally cleared*, before the receiving of data will start)  
- 0: Received non SETUP Packet in RX0 FIFO  
USBx-ISTAT  
x = 0  
x = 1  
x = 2  
x = 3  
x = 4  
x = 5  
x = 6  
USB Interrupt Status Register  
Bit[7..0] = [TXFH, TXFO, RXFL, RXFU, TXFL, TXFU, RXFH, RXFO]  
(see USB Interrupt Mask Register (USBx-IMASK))  
Holds the current interrupt status, reading this register returns the same  
value that was read during the last read of USBx-ISERV.  
102 (408)  
112 (448)  
122 (488)  
132 (4C8)  
142 (508)  
152 (548)  
162 (588)  
USBx-ISRV  
x = 0  
x = 1  
x = 2  
x = 3  
x = 4  
x = 5  
x = 6  
USB Interrupt Service Register  
103 (40C)  
113 (44C)  
123 (48C)  
133 (4CC)  
143 (50C)  
153 (54C)  
163 (58C)  
Bit[7..0] = [TXFH, TXFO, RXFL, RXFU, TXFL, TXFU, RXFH, RXFO]  
(see USB Interrupt Mask Register (USBx-IMASK))  
Reading this register:  
1. returns a value indicating all pending interrupts, and  
2. clears the interrupts (ISRV reset to 00hex).  
The returned value is stored in USBx-ISTAT for further reading  
USBx-IMASK  
x = 0  
x = 1  
x = 2  
x = 3  
x = 4  
x = 5  
x = 6  
USB Interrupt Mask Register  
Bit[7..0] = [TXFH, TXFO, RXFL, RXFU, TXFL, TXFU, RXFH, RXFO]  
TXFH: Transmit FIFO High  
- 1: Transmit FIFO level has risen above threshold  
- 0: No interrupt  
TXFO: Transmit FIFO Overrun  
- 1: Transmit FIFO has overrun  
- 0: No interrupt  
104 (410)  
114 (450)  
124 (490)  
134 (4D0)  
144 (510)  
154 (550)  
164 (590)  
RXFL: Receive FIFO Low  
- 1: Receive FIFO level has fallen below threshold  
- 0: No interrupt  
RXFU: Receive FIFO Underrun  
- 1: Receive FIFO has underrun  
- 0: No interrupt  
TXFL: Transmit FIFO low  
- 1: Transmit FIFO level has fallen below threshold  
- 0: No interrupt  
TXFU: Transmit FIFO Underrun  
- 1: Transmit FIFO has underrun  
- 0: No interrupt  
RXFH: Receive FIFO High  
- 1: Receive FIFO level has risen above threshold  
- 0: No interrupt  
RXFO: Receive FIFO Overrun  
- 1: Receive FIFO has overrun  
- 0: No interrupt  
Threshold level (towards APB bus) = half of the FIFO depth  
* Reception of any SETUP packet will clear the RX0 / TX0 FIFO’s: both those corresponding to Class/Vendor Specific USB  
commands (which are handled by the Software, and will make it into the RX FIFO) and Standard USB commands (which  
are handled by the UDC, will not make it into the RX0 FIFO and will be NACKed).  
48  
MTC-20285 240300 [49]  
MTC-20285  
Start-up Sequence  
Device Configuration  
1. After a system reset, the USB core  
is in reset as long as the USB cable is  
not connected to the device.  
1. USB Descriptors  
(C[i] = number of characters in String i)  
1 Device descriptor:  
1 Configuration descriptor:  
13 Interface descriptors:  
24 Endpoint descriptors:  
String descriptors: String 0:  
String 1:  
18 Bytes  
9 Bytes  
9 Bytes  
7 Bytes  
4 Bytes  
2 Bytes  
2 Bytes  
2 Bytes  
2. ARM Software (start-up code) reads  
UDC buffer values and USB descriptors  
from the external memory, and writes  
them into the internal USB RAM.  
13 *  
24 *  
C[1] +  
C[2] +  
C[3] +  
3. When these values are in the RAM,  
software will test the USB_PHCON bit /  
interrupt. If an active USB cable is con-  
nected, ARM Software will do a write  
‘1’ access to the USB_START register.  
String 2:  
String 3:  
TOTAL: C[1] + C[2] + C[3] + 322 Bytes  
4. Triggered by the write ‘1’ access to  
the USB_START register, MTC-20285  
Hardware resets USB core and loads  
UDC buffer values from the internal  
USB RAM into the UDC.  
2. UDC Buffer Values  
EndPtBufn[15:12], for each logical  
endpoint should contain the FIFO  
index.  
FIFO Index = (2 * EndPoint number),  
for an RX FIFO (OUT Endpoint)  
5. When UDC_CFG becomes ‘1’,  
ARM Software will write a ‘1’ in the  
USB_PULL bit. This will make the  
device visible to the host, as a valid  
full speed USB device.  
FIFO Index = (2 * EndPoint number)  
+ 1, for a TX FIFO (IN Endpoint)  
EndPtBufn[9:0], for each logical  
endpoint should contain the FIFO  
base address.  
6. Normal operation is now entered.  
The USB host will configure the device  
(SET_CONFIGURATION), causing  
USB_CFG to become ‘1’, and will  
issue a SET_INTERFACE, after which  
USB data transfers can take place.  
FIFO’s are ordered as follows: EP0  
RX, EP0 TX, EP1 RX, EP2 RX, etc  
(no gaps in between)  
The descriptor space starts right after  
the last position of EP 6 TX.  
USB RAM Accesses  
The entire APB-memory mapped USB  
internal RAM contains:  
• all bi-directional USB FIFO channel  
data  
• USB_CONFIG, UDC buffer values  
and USB descriptors  
1 ConfigBuf:  
4 StringBufs:  
25 EndPtBufs:  
4 Bytes  
3 Bytes  
5 Bytes  
4 *  
25 *  
TOTAL: 141 Bytes to be loaded into Sand core Flip-flops  
NOTE:  
All FIFO channel data is accessed using  
Control/Status Registers (1 single re-  
gister per channel, for both Rx and Tx,  
USBx-FIFO). Since the entire USB RAM  
is memory mapped, the FIFO channel  
data can also be directly accessed for  
test purposes (non ’FIFO’-access will  
not update Read/Write pointers).  
During normal operation, the software  
does not perform such accesses.  
The USB descriptors and the UDC buffer values combined consume about half of  
the USB RAM space.  
49  
MTC-20285 240300 [50]  
MTC-20285  
Clock Generation  
A master clock oscillator is included,  
based on an external crystal of 15.36  
MHz. This can provide an output at  
the crystal frequency for the ISDN  
chip (INTT or INTQ). It therefore offers  
better than 100 ppm accuracy, the  
external crystal is specified to 50 ppm  
accuracy.  
clock. In which case the external  
master clock is connected to the pin  
USB_XTAL1, whereas pin USB_XTAL2  
is connected to GND.  
One clock output (CKOUT) with a  
programmable division ratio from the  
internal clock, is provided for use by  
any external peripheral function. It is  
user-programmable via the control  
register CLK_1. The clock output can  
also be disabled. When the clock is  
disabled, it remains constant high.  
Typically CKOUT can be used to drive  
the 15.36MHz input clock of the  
INTT/INTQ. The duty cycle is 50%.  
NOTE:  
The oscillator pins may also be con-  
trolled from an external master clock.  
In which case the external master  
clock is connected to the pin XTAL1,  
whereas pin XTAL2 is connected to  
GND. An internal PLL is provided to  
multiply the crystal frequency by two.  
The BASECLK input pin is used to  
enable/disable this internal PLL:  
Table 16: CKOUT Frequency  
• when BASECLK is tied ‘0’,  
the internal PLL is disabled,  
so internal clock = 15.36 MHz.  
• when BASECLK is tied ‘1’,  
the internal PLL is enabled,  
so internal clock = 30.72 MHz.  
BASECLK = '0'  
15.36 MHz  
15.36 MHz / 2  
15.36 MHz / 4  
15.36 MHz / 6  
15.36 MHz / (2*x)  
BASECLK = '1'  
30.72 MHz  
30.72 MHz / 2  
30.72 MHz / 4  
30.72 MHz / 6  
30.72 MHz / (2*x)  
CLK_1[3..0] = 0  
CLK_1[3..0] = 1  
CLK_1[3..0] = 2  
CLK_1[3..0] = 3  
CLK_1[3..0] = x  
This internal clock is used as the input  
clock to generate the ASB clock (used  
for ARM), APB clock and CKOUT.  
Note that the UART and GCI clock  
frequencies are independent of  
BASECLK.  
The ASB clock (ARM clock) is also a  
programmable clock derived from the  
internal clock. It is user-programmable  
via the control register CLK_2. The  
duty cycle is 50%.  
When the BASECLK is ‘0’, the ASB-,  
APB- and CKOUT clocks have the  
same frequency as in the MTC-20280  
device, for equal values of the clock  
division registers CLK_3[3:2],  
Table 17: ASB Clock Frequency  
BASECLK = '0'  
BASECLK = '1'  
30.72 MHz  
30.72 MHz / 2  
30.72 MHz / 4  
30.72 MHz / 6  
30.72 MHz / (2*x)  
CLK_2[3..0] = 0  
CLK_2[3..0] = 1  
CLK_2[3..0] = 2  
CLK_2[3..0] = 3  
CLK_2[3..0] = x  
15.36 MHz  
15.36 MHz / 2  
15.36 MHz / 4  
15.36 MHz / 6  
15.36 MHz / (2*x)  
CLK_2[3:0] and CLK_1[3..0].  
When the BASECLK is ‘1’, these  
clocks have a frequency that is twice  
that in the MTC-20280 device, for  
equal clock division register values.  
A second clock oscillator, based on  
an external crystal of 48 MHz is  
provided. It needs to be 2,500 ppm  
(0.25%) accuracy. It is used for clock  
recovery in the USB interface and to  
derive a 12 MHz clock that clocks all  
other parts of the USB interface.  
NOTE:  
The oscillator pins may also be  
controlled from an external master  
50  
MTC-20285 240300 [51]  
MTC-20285  
Also the ASB clock can be completely  
disabled, bringing the ARM into  
power-down mode.  
After reset, the clock CKOUT and the  
ASB clock are not disabled and set to:  
BASECLK = '0' BASECLK = '1'  
NOTE:  
CKOUT  
15.36 MHz  
30.72 MHz  
30.72 MHz  
CLK_1 = 0  
CLK_2 = 0  
• the modification of the ASB clock  
(write to APB address 0x92) can  
not be done with the multiple-store  
instruction but only with a simple  
store instruction  
ASB clock  
15.36 MHz  
The peripheral clock, the APB clock,  
is derived from the ASB clock by a  
programmable division factor.  
• the ASB clock can not be disabled  
and its frequency modified  
simultaneously. Two separate  
instructions have to be used  
NOTE:  
In the MTC-20280, the APB clock  
does not depend of the ASB clock.  
In order to avoid accidental disabling  
of the clocks, a 4-bit word must be  
written in specific register fields  
(CLK_1[7..4] and CLK_2[7..4]).  
Table 18: APB Clock Frequency  
CLK_3[3..2] = 0  
CLK_3[3..2] = 1  
CLK_3[3..2] = 2  
CLK_3[3..2] = 3  
ASB clock  
a) CKOUT must be enabled by the  
software by writing any value different  
from ‘1001’ to CLK_1[7..4], at the  
same time the value written in  
CLK_1[3..0] defines the start-up  
frequency.  
ASB clock / 4  
ASB clock / 8  
ASB clock / 32  
The clock generator also generates  
clocks for the 2 integrated UART  
blocks. The frequency is fixed to  
3.6864 MHz. For power reduction,  
the clocks can be disabled separately  
(see Table 18, register CLK_3).  
b) For the ASB clock, this is slightly  
different. It is disabled under software  
control by writing the appropriate  
value to register CLK_2. This also  
defines the start-up frequency.  
However, enabling must be done by  
a hardware activity detection circuit,  
triggering the ARM interrupt (FIQ or  
IRQ). Therefore before going into  
power-down, the software must take  
care that the appropriate interrupt  
input source is enabled (not masked),  
otherwise only a power reset will  
allow start-up of the ARM again.  
The bits CLK_2[7..4] will be reset  
automatically by the hardware  
activity detection.  
Notice that during ARM power-down,  
all other hardware units (HDLCs,  
UARTs, etc) and the GCI interfaces  
will keep running.  
51  
MTC-20285 240300 [52]  
MTC-20285  
Table 19: Clock Register Table  
Name  
Address (byte)  
Function  
CLK_1 [3..0]  
CLK_1 [7..4]  
91(244)  
92(248)  
93(24C)  
Integer representing the CKOUT output clock frequency  
Notes:  
a) the maximum division factor is CLK_1[3..1] = 15  
b) CKOUT can be disabled by setting bits CLK_1[7..4] = = ‘1001’  
c) bit[7..4]: write only  
Integer representing the ASB clock frequency  
Notes:  
a) the max division factor is CLK_2[3..0] = 15  
b) ASB clock can be disabled by setting bits CLK_2[7..4] = = ‘1001’  
c) bit[7..4]: write only  
CLK_2 [3..0]  
CLK_2 [7..4]  
CLK_3  
bit[0]: DPLL status (read only)  
- 0 = internal GCI clocks not synchronized with the external reference or  
the external reference is not active, DPLL is tracking  
- 1 = internal GCI clocks synchronized  
bit[1]: UART1 clock disable (default = 0 = enable)  
bit[3:2]: APB clock division factor  
bit[4]: UART2 clock disable (default = 1 = disable)  
52  
MTC-20285 240300 [53]  
MTC-20285  
The ARM7TDMI  
DQ15..8  
DQ7..0  
Data7..0  
Add21..1  
Add0  
A21..1  
MC7(a0)  
MC6  
CS  
OE  
WE  
MC0..5 (ncs_i)  
NOE  
NWR  
MTC-20285  
PIN (function)  
EXT MEM  
PIN  
Fig.17: ARM7TDMI and Interfaces  
• ASB: Advanced System Bus  
ASB clock: i.e. ARM clock,  
frequency user-programmable  
possible modes (see section 3.8);  
depending on the mode, 16-bit  
and 32-bit accesses will be auto-  
matically transformed into one,  
2 consecutive TwoByte accesses,  
or two, 4 consecutive SingleByte  
accesses respectively.  
bridge is optimized to reduce as much  
as possible the wait cycles.  
• APB: Advanced Peripheral Bus  
APB clock: frequency user-  
programmable  
On-chip Memory  
RAM of 4 kByte is on-chip. Read access  
is performed in one single cycle, for  
8-bit, 16-bit as 32-bit word accesses.  
Writing 32-bit wide words is always  
done in 1 cycle. Write accesses of 8-  
bit and 16-bit words require 2 RAM  
cycles. In order to reduce the processor  
wait cycles, an internal FSM will only  
introduce a wait cycle if the previous  
internal memory access operation is  
not fully completed (this is identical to  
the APB bridge case). This can only  
occur when an 8- or 16-bit write  
The ARM processor will operate in  
‘Little Endian’ mode when treating the  
bytes in memory. It is the ARM that  
decides whether an 8-bit (byte b_0),  
16-bit (bytes = b_1, b_0 with b_0 =  
LSB byte) or 32-bit word (bytes b_3,  
b_2, b_1, b_0 with b_0 = LSB byte) is  
accessed.  
• The internal memory allows direct  
access to a 1-, 2- or 4-byte word  
(see section 3.7.2)  
APB Bridge  
The APB clock is derived from the  
ASB clock by a programmable  
• Dedicated Logic registers are 8-bit  
wide, so the ARM will only request  
for an 8-bit access and the APB  
bridge will only support SingleByte  
access (see section 3.7.1)  
division factor (see CLK_3 register).  
However, depending on the ASB  
clock (= processor clock), the APB  
clock will be modulated in order to  
minimize the cycles needed for the  
read and write operations. Processor  
wait cycles will be introduced by the  
hardware only when needed. The  
access is scheduled just after another  
8- or 16-bit write access to the same  
on-chip memory. Generally, the ARM  
will not execute 2 write operations  
successively, but will fetch a new  
• The External Memory interface can  
be set to operate in one of four  
instruction between write operations.  
53  
MTC-20285 240300 [54]  
MTC-20285  
External Memory Interface  
The external memory interface  
consists of:  
Memory Access Modes  
Depending on the MemoryAccess  
mode, up to 6 blocks of 4 Mbytes  
can be accessed (24 Mbytes). The  
selection of the appropriate block  
will be done with the control signals  
MC7..0, performing the function of  
‘chip select’ signals (see Table 20).  
• A[21:1] and MC7:  
22-bits address bus  
• DQ[15:0]:  
16-bits data bus allowing Single-  
Byte or TwoByte transfers; the  
MSB of the data bus DQ[15] may  
have a special function depending  
on the selected MemoryAccess  
configuration  
The MemoryAccess input pins must  
be strapped to VDD/VSS in order to  
select one of 4 possible access modes.  
The different modes allow interfacing  
with simple and ordinary byte-  
oriented external memories, or more  
advanced 2 byte oriented memories.  
• NWR,NOE:  
2 control signals with fixed function  
• MC7..0:  
8 Memory control output signals,  
of which the function depends on  
the selected MemoryAccess mode  
(e.g. MC7 might be the LSB of the  
address bits)  
Note that the selected MemoryAccess  
mode is valid for each block and all  
external memories. Each block in the  
MTC-20285 address space is  
handled in the same way.  
• MM1, MM0:  
2 MemoryAccess configuration bits  
Basically the following 4 modes are  
supported by the MTC-20285:  
Table 20: Memory Access Modes  
Case  
MM1 and MM0  
Description  
a
b
c
0 0  
1 1  
1 0  
0 1  
WordAccess Disabled (only single-byte access possible)  
WordAccess Enabled with ChipSelect/Low/Up control outputs  
WordAccess Enabled with ChipSelect/Nbyte/Addr0 control outputs  
WordAccess Enabled with ChipSelectUp/ChipSelectLow control outputs  
d
54  
MTC-20285 240300 [55]  
MTC-20285  
When the WordAccess Mode is  
disabled, the MTC-20285 Memory  
interface will always convert the  
8-, 16- or 32-bit access of the ARM  
into one, two or four consecutive  
SingleByte external accesses.  
CASE A: (see Fig.18)  
CASE C: (see Fig.20)  
• normal byte-oriented external  
memory (controlled by CS,OE,WE)  
• one memory allocated to store both  
LSB and MSBytes  
• addressed in SingleByte access  
mode only by MTC-20285 (Word-  
Access Disabled)  
• external memory with integrated  
single/double byte access mode  
(controlled by CS,OE,WE,BYTE,A0)  
(e.g. AMD or INTEL memories)  
• addressed in SingleByte or TwoByte  
access by MTC-20285  
When the WordAccess Mode is  
enabled, the MTC-20285 Memory  
interface will decide whether an  
access is performed in TwoByte (using  
the full 16-bit data bus DQ[15:0]) or  
SingleByte mode (using only 8-bits of  
the 16-bit data bus). One SingleByte  
access for an 8-bit ARM access, and  
one. TwoByte accesses for a 16-bit  
and 32-bit ARM access respectively.  
The alignment of the bytes onto the  
data bus depends on the selected  
mode, as shown in the Table 20.  
(WordAccess Enabled)  
CASE B: (see Fig.19)  
CASE D: (see Fig.21)  
• normal byte-oriented external  
memory (controlled by CS,OE,WE)  
• two memories allocated (one for  
LSByte, one for MSByte)  
• addressed in SingleByte or TwoByte  
access by MTC-20285 (Word-  
Access Enabled)  
• normal byte-oriented external  
memory (controlled by CS,OE,WE)  
• two memories allocated (one for  
LSByte, one for MSByte)  
• addressed in SingleByte or TwoByte  
access by MTC-20285 (Word-  
Access Enabled)  
• glue logic needed for chip-select  
signal generation in between MTC-  
20285 and the memory. Note this  
Configuration is not recommended  
because the delay through the glue  
logic must be compensated on the  
address bus and control signals  
• without glue logic for chip-select  
signal generation in between MTC-  
20285 and the memory  
The 3 versions of WordAccess Mode  
Enabled allow controlling of different  
types of external memory by the MTC-  
20285, each interconnected and  
controlled in a different way. There-  
fore the meaning of the control signals  
MC7..0 that are sent to the external  
memory will depend on the selected  
version.  
The following memory types and  
configurations are supported:  
DQ15..8  
DQ7..0  
Data7..0  
Add21..1  
Add0  
A21..1  
MC7(a0)  
MC6  
CS  
OE  
WE  
MC0..5 (ncs_i)  
NOE  
NWR  
MTC-20285  
PIN (function)  
EXT MEM  
PIN  
Fig.18: MTC-20285 - External Memory Connections for ‘Case a’  
55  
MTC-20285 240300 [56]  
MTC-20285  
Add20..0  
Data7..0  
CS  
OE  
DQ15..8  
MC6 (nup)  
A21..1  
WE  
EXT MEM (MSB)  
DQ7..0  
MC7 (nlow)  
MC0..5 (ncs_i)  
NOE  
Add20..0  
Data7..0  
NWR  
CS  
MTC-20285  
PIN (function)  
OE  
WE  
EXT MEM (LSB)  
Fig.19: MTC-20285 - External Memory Connections for ‘Case b’  
A21..1  
MC7 (a0)  
DQ15  
A20..0  
A21..1  
MC7 (a0)  
DQ15  
A21..1  
A0  
DQ15  
DQ14..0  
BYTE  
DQ15/A_1  
DQ14..0  
BYTE  
DQ14..0  
DQ14..0  
MC6v (nByte)  
MC0..5 (ncs_i)  
NOE  
MC6 (nByte)  
MC0..5 (ncs_i)  
NOE  
CE  
OE  
CE1, CE0  
OE  
NWR  
WE  
NWR  
WE  
EXT MEM (AMD type)  
PIN  
MTC-20285  
PIN (function)  
EXT MEM (INTEL type)  
PIN  
MTC-20285  
PIN (function)  
Case c (AMD)  
Case c (INTEL)  
Fig.20: MTC-20285 - External Memory Connections for ‘Case c’  
56  
MTC-20285 240300 [57]  
MTC-20285  
Add20..0  
Data7..0  
CS  
OE  
DQ15..8  
MC1,3,7,5 (nCsUp)  
A21..1  
WE  
EXT MEM (MSB)  
DQ7..0  
NOE  
NWR  
Add20..0  
Data7..0  
MC0,2,6,4 (nCsLow)  
CS  
MTC-20285  
PIN (function)  
OE  
WE  
EXT MEM (LSB)  
Fig.21: MTC-20285 - External Memory Connections for ‘Case d’  
57  
MTC-20285 240300 [58]  
MTC-20285  
The output pins have the following  
logical meaning depending on the  
mode:  
SingleByte  
TwoByte  
MM  
1:0  
NWR NOE MC0 MC1 MC2 MC3 MC4 MC5 MC6 MC7  
A
DQ  
DQ  
DQ  
DQ  
21:1  
addr  
21:1  
addr  
21:1  
addr  
21:1  
addr  
21:1  
15:8 7:0 15:8 7:0  
pio  
a
b
c
0
1
1
0
0
1
0
1
nwr  
nwr  
nwr  
nwr  
noe ncs0 ncs1 ncs2 ncs3 ncs4 ncs5  
x
a0  
b_i  
- -  
- -  
noe ncs0 ncs1 ncs2 ncs3 ncs4 ncs5 nup nlow  
noe ncs0 ncs1 ncs2 ncs3 ncs4 ncs5 nbyte a0*  
b_1  
b_3  
z
b_0  
b_2  
b_i  
b_1  
b_3  
b_1  
b_3  
b_1  
b_3  
b_0  
b_2  
b_0  
b_2  
b_0  
b_2  
d
noe  
ncl0 ncu0 ncl1 ncu1 ncl3 ncu3 ncl2 ncu2  
b_1  
b_3  
b_0  
b_2  
Meaning of the codes:  
• SingleByte: selected by memory interface hardware controller:  
alignment of any byte_i to be transferred to/from external memory at certain times  
• TwoByte: selected by memory interface hardware controller:  
alignment of any byte_i to be transferred to/from external memory at certain times  
• - -: not occurring situation  
• x: the output is not used in this mode; it will not be floating but fixed to a certain value (preferably VDD)  
• z: the bi-directional I/O is not used in this mode; it will be set into tri-state (input)  
• pio: pins used as parallel I/O: ports DQ15..12 = PE3..0 and DQ11..8 = PF3..0  
• a0: LSB of address  
• a0*: the LSB of the address will not be used and be put in tri-state, if and only if a TwoByte access is selected; this is  
done to be compatible with AMD memories, for which DQ15 and a0 must be connected to the same pin  
• ncs<i>: active low chip select for block <i> in the memory map (both LSByte and MSByte)  
• ncl<i>: active low chip select for block <i> in the memory map (only LSByte)  
• ncu<i>: active low chip select for block <i> in the memory map (only MSByte)  
• nlow: active low indication that lower byte is transferred  
• nup: active low indication that upper byte is transferred  
• nwr: active low indication for write enable  
• noe: active low indication for read enable  
• nbyte: active low indication for SingleByte transfer selection, TwoByte (nbyte = 1) or SingleByte (nbyte = 0)  
The following logical relationship must hold between the signals:  
• nlow = (nbyte + a0)*not(nbyte)  
• nup = (nbyte + not(a0))*not(nbyte)  
• ncl<i> = (ncs<i> + nlow)  
• ncu<i> = (ncs<i> + nup)  
NOTE: (In case d)  
• Each chip select output is split into 2 signals, one for the lower byte and one for the upper byte memory selection. Only  
the lower 4 blocks of the memory map are addressable, blocks 5 and 6 are not. Instead, you have the advantage that  
no glue logic is needed to control the chip select pins of the external memories.  
• Take care that memory block 2 is controlled by MC6 and MC7.  
58  
MTC-20285 240300 [59]  
MTC-20285  
Wait Cycle(s) per Block  
Timing  
For each of the 6 external blocks, wait  
cycles can be specified in order to  
optimize the external components  
configuration. Via the registers  
CHIP_WTC1, 2 and 3, up to 15 wait  
cycles can be inserted per block. The  
default value after reset is 15 wait  
cycles for each block.  
Fig.22 shows the timing relationship  
of the memory interface for a 2 byte  
access making use of the nbyte  
control signal.  
Memory access cycle  
1 wait cycle  
ARM clock  
A
NWR  
NBYTE/NUP/NLOW  
READ  
NCS  
0,1,2,3  
NOE  
DQ  
A
NWR  
NBYTE/NUP/NLOW  
WRITE  
NCS  
0,1,2,3  
NOE  
DQ  
Fig.22: Memory interface  
NOTES:  
• Timing is compatible with standard SRAM and Flash, when NCS controlled  
• When no wait state is specified, the NCS strobe corresponds to the low level  
of the internal ASB clock. The width of the low and the high level of NCS is  
symmetric and corresponds to the selected ASB clock speed  
• When wait states are specified, an equivalent number of ASB cycles is added  
to the external access timing, so ONLY the low level of NCS is extended (as  
required for slower SRAMs). It is always possible to keep the levels symmetric  
by decreasing the ASB clock speed, instead of placing wait states  
59  
MTC-20285 240300 [60]  
MTC-20285  
Memory Space Organisation  
The MSB bits of the 32-bit internal  
ARM address word, are decoded to  
split the memory space into 8 blocks  
assigned as follows:  
A
NBYTE / NUP / NLOW  
tah  
teh  
tas  
NCS0,1,2,3  
READ  
tcw  
tes  
0: external block 0  
1: external block 1  
2: external block 2  
3: external block 3  
4: external block 4  
5: external block 5  
6: internal fast memory  
7: APB bus  
NOE  
toh  
tco  
DQ  
data valid  
A / NWR  
NBYTE / NUP / NLOW  
When the ARM accesses one of the  
external blocks <i>, the MTC-20285  
will bring the corresponding chip  
select control signal nCS<i> active  
low. Note that there are no gaps  
between addresses of successive  
external memory blocks. For both the  
‘internal fast memory’ and the ‘APB  
memory’ a full length page of 0x1000  
0000 bytes is allocated. Although the  
current MTC-20285 design uses only  
0x1000 and 0x800 bytes  
tah  
tas  
NCS0,1,2,3  
WRITE  
tcw  
toh  
tos  
DQ  
data valid  
Fig.23 Timings of the Memory Interface  
respectively for these memories.  
Data in the ‘ 4 kByte internal RAM’  
can be either a byte, half-word or  
word. Their addresses are LSB  
aligned, making use of the 12 LSB of  
the ARM address bus (from 0xC000  
0000 up to 0xC000 0FFF).  
READ  
tas  
tah  
tcw  
min. TBD  
min. TBD  
(0.5 + TBD) * ASB period  
min TBD  
ns  
ns  
x = wait cycles  
min. TBD  
min. TBD  
max. (tcw - TBD)  
min. TBD  
min. TBD  
min. TBD  
(0.5 + TBD) * ASB period  
min TBD  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
All data of the ‘APB memory’ are  
bytes. Their addresses are ‘word-  
aligned’ (LSB+2bits) such that the data  
byte is always LSB aligned onto the  
data bus. The ARM address bits  
[12..2] are used to address the full  
memory map, the 2 LSB of the  
tes  
teh  
tco  
toh  
tas  
tah  
tcw  
WRITE  
address being zero (from 0xE000  
0000 up to 0xE0000 1FFC).  
x = wait cycles  
max. TBD  
min. TBD  
ns  
ns  
ns  
At reset the ARM will start-up at the  
fixed boot address 0x0000 0000,  
accessing the external block 0.  
tos  
toh  
In order to re-define the code in  
external block 0, the addresses of  
block 0 can be swapped with block 3  
NOTE:  
The timings are valid in all the operating range conditions  
60  
MTC-20285 240300 [61]  
MTC-20285  
under software control as soon as the  
bit CHIP_CFG[7] = 1 is set. At reset  
the blocks are not swapped.  
memories location (write to APB  
address 0x01), the program counter  
(PC) has to be located outside the  
blocks involved (0 and 3). For  
instance, a small loop can be defined  
in the data ram space while  
swapping.  
NOTE:  
To avoid disruption of the program  
execution while swapping the  
default  
unswapped configuration  
CHIP_CFG[7]=0  
swapped configuration  
CHIP_CFG[7]=1  
EFFF  
E000 0000 Hex  
CFFF FFFF Hex  
C000 0000 Hex  
017F FFFF Hex  
0140 0000 Hex  
013F FFFF Hex  
0100 0000 Hex  
00FF FFFF Hex  
00C0 0000 Hex  
00BF FFFF Hex  
0080 0000 Hex  
007F FFFF Hex  
0040 0000 Hex  
003F FFFF Hex  
0000 0000 Hex = boot address  
FFFF  
Hex  
7 : APB bus  
7 : APB bus  
6 : internal fast memory  
5 : external block 5  
4 : external block 4  
0 : external block 0  
2 : external block 2  
1 : external block 1  
3 : external block 3  
6 : internal fast memory  
5 : external block 5  
4 : external block 4  
3 : external block 3  
2 : external block 2  
1 : external block 1  
0 : external block 0  
ARM addr.  
Fig.24 ARM Address Space Organisation  
Table 21: Memory Register Table  
Name  
Address (byte)  
Function  
CHIP_CFG[7]  
01 (004)  
Swap addresses for external memory block 0 and 3 (1-bit):  
0 = unswapped (default at reset, address 00 in block 0),  
1 = swapped (address 00 in block 3)  
CHIP_WTC1  
CHIP_WTC2  
CHIP_WTC3  
04 (010)  
05 (014)  
06 (018)  
Wait cycles for external memory blocks (default 15: slow at reset)  
bit[3:0]: for memory block 0  
bit[7:4]: for memory block 1  
Wait cycles for external memory blocks (default 15: slow at reset)  
bit[3:0]: for memory block 2  
bit[7:4]: for memory block 3  
Wait cycles for external memory blocks (default 15: slow at reset)  
bit[3:0]: for memory block 4  
bit[7:4]: for memory block 5  
61  
MTC-20285 240300 [62]  
MTC-20285  
Interrupts  
The chip contains several interrupt  
sources. These sources are split into  
two types of interrupts, a fast (NFIQ)  
and normal (NIRQ) interrupt. Priority  
within one class is resolved in  
software. Interrupts are controlled by  
writing to / reading from a set of  
control/status registers:  
(ENSET). At reset, by default all  
sources are masked. All ‘interrupt  
request’ bits from the various sources  
are readable in a register and can be  
cleared. Both the masked (ST) and the  
unmasked ‘raw’ (STR) interrupt status  
can be checked. As soon as a non-  
masked interrupt occurs, the  
NFIQ/NIRQ pin of the ARM goes  
active low. The interrupt can be  
cleared by writing to the acknowledge  
control register (ACK). If all interrupts  
in IRQx_ST are cleared, the  
NFIQ/NIRQ pin goes inactive high  
again. See Table 22 and Table 23.  
• IRQ1_* and IRQ3_* for NFIQ  
• IRQ2_* and IRQ4_* for NIRQ.  
Each source can be masked by  
clearing a bit in a control register  
(ENCLR) or unmasked by setting a bit  
Table 22: Interrupt Register Table  
Name  
IRQx_ST  
x = 1  
x = 2  
x = 3  
x = 4  
IRQx_STR  
x = 1  
x = 2  
x = 3  
x = 4  
IRQx_EN  
x = 1  
x = 2  
x = 3  
x = 4  
IRQx_ENSET  
x = 1  
x = 2  
x = 3  
x = 4  
IRQx_ENCLR  
x = 1  
x = 2  
x = 3  
x = 4  
IRQx_ACK  
x = 1  
x = 2  
x = 3  
Address (byte)  
R only  
Function  
94 (250)  
9A (268)  
194 (650)  
19A (668)  
R only  
95 (254)  
9B (26C)  
195 (654)  
19B (66C)  
R only  
96 (258)  
9C (270)  
196 (658)  
19C (670)  
W only  
97 (25C)  
9D (274)  
197 (65C)  
19D (674)  
W only  
98 (260)  
9E (278)  
198 (660)  
19E (678)  
W only  
99 (264)  
9F (27C)  
199 (664)  
19F (67C)  
Interrupt status after masking with IRQx_EN  
IRQx_ST(i) = 1 if interrupt(i) is active after masking  
Interrupt status without masking  
IRQx_STR(i) = 1 if interrupt(i) is active  
Interrupt mask register used to generate IRQx_ST  
IRQx_EN(i) = 1 if interrupt(i) must not be masked  
Control register to unmask an interrupt  
IRQx_ENSET(i) = 1 results in IRQx_EN(i) = 1, i.e. unmask interrupt(i)  
Control register to mask an interrupt  
IRQx_ENCLR(i) = 1 results in IRQx_EN(i) = 0, i.e. mask interrupt(i)  
Control register to clear an interrupt  
IRQx_ACK(i) = 1 resets the interrupt(i) detection in IRQx_ST(R) (i)  
x = 4  
62  
MTC-20285 240300 [63]  
MTC-20285  
Table 23: Interrupt Mapping  
reg.  
bit  
0
1
2
3
4
5
6
7
0
1
2
3
4
5
6
7
0
1
2
3
4
5
6
7
0
1
2
3
4
5
6
7
trigger  
edge  
level  
level  
level  
edge  
edge  
edge  
level  
level  
level  
level  
level  
level  
level  
level  
level  
level  
edge  
edge  
level  
edge  
edge  
edge  
edge  
level  
edge  
edge  
Assignment  
Internal GCI frame (always running)  
HDLC1  
HDLC2  
HDLC3  
Timer1  
PA  
PF  
FIQ  
IRQ1  
IRQ3  
IRQ2  
IRQ4  
HDLC4  
USB channel 0  
USB channel 1  
USB channel 2  
USB channel 3  
USB channel 4  
USB channel 5  
USB channel 6  
HDLC5  
UART1  
PB  
External interrupt  
D-CI activity detection  
Timer2  
IRQ  
PC  
PD  
PE  
UART2  
master GCI frame (see section 3.3)  
USB device  
inactive  
inactive  
inactive  
inactive  
inactive  
NOTES:  
• Edge trigger: the interrupt will be activated when a rising edge appears on the specific control signal. In general, that  
detection is used when the interrupt comes directly from the source and not from a second level of interruption (as for  
HLDC, UART, etc)  
• Level trigger: the interrupt stays active when the control signal is high. In general, that detection is used when the  
interrupt comes from a second level of interruption. Therefore, the second level must be first acknowledged/cleared  
before acknowledging the FIQ/IRQ registers.  
63  
MTC-20285 240300 [64]  
MTC-20285  
External Interrupt  
The external interrupt can be made  
edge or level sensitive by writing the  
appropriate value to the control  
register CHIP_CFG[2..1].  
• In case of pin IT edge detection,  
a rising transition is generated  
towards the IRQ register (see  
section 3.9).  
• In case of pin IT level detection,  
continuous rising transitions are  
generated towards the IRQ register  
in order to keep the IRQ interrupt  
active.  
Table 24: External Interrupt Register Table  
Name  
Address (byte)  
Function  
CHIP_CFG[2..1]  
01 (040)  
Type of external interrupt to detect (2bit):  
- 00 = negative-edge  
- 01 = positive-edge  
- 10 = low-level  
- 11 = high-level (default)  
64  
MTC-20285 240300 [65]  
MTC-20285  
UART Interfaces  
The chip contains 2 UARTs (Universal  
Asynchronous Receiver/Transmitter) of  
the 16550 family which are fully  
Baud Rate Generators  
The Baud rates are separately con-  
figurable for UART1 and UART2. They  
are specified by the divisor registers  
DL (DLM = MSB; DLL = LSB) (see  
Register table), in the following way:  
programmable by the microprocessor.  
• UART1: directly mapped on MTC-  
20285 pins  
• UART2: mapped on the configurable  
PC pins  
230400 bps  
baudrate = ——————  
DL  
Common Features  
(UART1 and UART2)  
Table 25: Baud Rate Examples  
• Word lengths from 5 to 8-bits  
• Optimal parity bit, even, odd or  
forced to a defined state  
Baud Rate (bps)  
2400  
4800  
9600  
19200  
57600  
115200  
230400  
Division Factor (DL)  
96  
48  
24  
12  
4
• 1 or 2 stop bits  
• Baud rate generator  
• Interrupt generated from any one of  
10 sources of the UART module itself  
2
1
UART1 Features  
• Two 64 byte FIFO’s, one for trans-  
mit and one for receive  
• RXD, TXD, CTS, RTS on permanent  
external pins  
DTE / DCE Mode  
Details only the UART1 module.  
• Extended modem control signals  
DCD / OUT2, RI / OUT1, DSR  
and DTR multiplexed on external  
pins PB0..PB3 (see section 3.12)  
• FIFO trigger level software  
configurable  
The extended modem control signals  
multiplexed on PB pins can be confi-  
gured in DTE or DCE mode as follows:  
Mode  
DTE  
Pin  
Pin I/O  
input  
Function  
DCD: data carrier detect  
PB0  
PB1  
PB0  
PB1  
• RXD can be connected with a timer  
for software Baud rate detection  
output  
input  
OUT2: signal controlled via software  
RI: ring indicator  
DCE  
output  
OUT1: signal controlled via software  
UART2 Features  
• Two 16 byte FIFO’s, one for trans-  
mit and one for receive  
The register configuration required is:  
• RXD, TXD, CTS, RTS multiplexed  
on external pins PC0..PC3 (see  
section 3.12)  
• Extended modem control signals  
not available  
• Fixed FIFO trigger level  
CHIP_CFG[0] CHIP_CFG2[0]  
0
-
not applicable because extended modem  
control signals not accessible  
DTE  
DCE  
1
1
0
1
65  
MTC-20285 240300 [66]  
MTC-20285  
Software Baud Rate Detection  
For software Baud rate detection, the  
UART1 RXD pin can replace the  
functionality of the pin PA port.  
Timer Capture  
module  
PIO module  
PA[3:0]  
0
irqPA  
activity detector  
latching  
(RXD,0,0,0)  
1
Irq Controller  
CHIP_CFG2[2]  
Fig.25: Baud Rate Detection Block Diagram  
• RXD pin level can be measured by  
reading PAB_IN register  
• RXD transitions can be evaluate via  
the PA interrupt bit  
• RXD timing can be measured by  
mean of the capture logic in the  
Timer1 module  
Table 26: Default Register Set  
Name  
UARTx_RBR  
x = 1  
x = 2  
UARTx_THR  
x = 1  
Address (byte)  
R only  
50 (140)  
F0 (3C0)  
W only  
Function  
Receiver Buffer Register  
This register is updated from the receive shift register at the end of  
a receive sequence.  
Transmitter Holding Register  
50 (140)  
F0 (3C0)  
Data is held in this register until transferred to the transmitter shift register  
x = 2  
UARTx_IER  
x = 1  
x = 2  
Interrupt Enable Register  
= [x, x, x, x, EDSSI, ELSI, ETBEI, ERBFI]  
- EDSSI: Enable Modem Status Interrupt  
51 (144)  
F1 (3C4)  
When set (‘1’), an UART interrupt is generated if D0, D1, D2 or D3 of  
the Modem Status Register become set.  
- ELSI: Enable Rx Status Interrupt  
When set (‘1’), an interrupt is generated if D1, D2, D3 or D4 of the Line  
Status Register become set.  
- ETBEI: Enable Tx Holding Register Empty Interrupt  
When set (‘1’), an interrupt is generated if THRE = 1 or the Transmitting  
Holding Register is empty.  
- ERBFI: Enable Receiver Buffer Register  
When set (‘1’), an interrupt is generated if the Receive Buffer contains data.  
66  
MTC-20285 240300 [67]  
MTC-20285  
UARTx_IIR  
x = 1  
x = 2  
R only  
52 (148)  
F2 (3C8)  
Interrupt Identification Register  
= [FIFOE, FIFOE, x, x, ID2, ID1, ID0, NINT]  
FIFOE  
Returns 1 if FIFO’s enabled, otherwise 0  
ID[4:0]: Interrupt ID  
- 0.: Modem status change (interrupt cleared when reading the modem  
status register)  
- 1.: Transmitter holding register empty or Tx FIFO trigger (interrupt  
cleared when reading this register or when writing to the transmitter  
holding register)  
- 2.: Receive Data available or Rx FIFO trigger (interrupt cleared when  
reading receive buffer register)  
- 3.: Receiver line status change (interrupt cleared when reading the line  
status register)  
- 4.: Character timeout indication (interrupt cleared when reading receive  
buffer register)  
NINT  
Interrupt pending, active low  
Notes:  
1. Receive timeout interrupt occurs if all the following apply:  
- there is at least one character in the FIFO  
- the most recent character was received longer than 4 character periods  
ago (inclusive of all start, parity, and stop bits)  
- the most recent CPU read of the FIFO was longer than 4 character  
periods ago  
The timeout timer is restarted on receipt of a new byte from the input shift  
register, or on a CPU read from the Rx FIFO.  
2. Tx FIFO interrupt occurs when Tx FIFO is under its threshold level. This  
interrupt will be delayed one character period minus the last stop bit period  
whenever; THRE = 1 and there has not been at least 2 bytes in the Tx FIFO  
simultaneously since the last time THRE = 1. If the Tx interrupt is enabled,  
setting bit 0 of the FCR will generate an immediate interrupt.  
3. If the FIFO’s are enabled and at least one of the active bits in IER is  
disabled, then the UART will operate in the FIFO polled mode. Since the  
Tx and Rx paths are controlled separately, either one or both can be in the  
polled mode. The application software should check Tx and Rx status using  
the LSR.  
UARTx_FCR  
x = 1  
x = 2  
W only  
52 (148)  
F2 (3C8)  
FIFO Control Register  
= [RFTL1, RFTL0, TFTL1, TFTL0, DMA1, CLRT, CLRR, FIFOE]  
RFTL[1:0]: RX FIFO trigger level  
Defines RX FIFO trigger level in number of bytes  
UART1:  
- 00: 01 bytes  
- 01: 16 bytes  
- 10: 32 bytes  
- 11: 62 bytes  
UART2:  
- 00: 01 bytes  
- 01: 04 bytes  
- 10: 08 bytes  
- 11: 14 bytes  
67  
MTC-20285 240300 [68]  
MTC-20285  
TFTL[1:0]: TX FIFO trigger level  
Defines TX FIFO trigger level in number of bytes  
UART1:  
if Extended functions are enabled:  
- 00: 01 bytes  
- 01: 16 bytes  
- 10: 32 bytes  
- 11: 62 bytes  
if Extended functions are not enabled:  
- 1 byte  
UART2:  
- 1 byte  
DMA1  
Set DMA mode 1.  
In the MTC-20285 configuration, no DMA support is provided.  
CLRT  
Clear TX FIFO  
CLRR  
Clear RX FIFO  
FIFOE  
Enable FIFO when the FIFO is either enabled or disabled, both Rx and  
Tx FIFO’s are reset. This bit must be a 1 for any of the other bits in the  
register to have any effect.  
UARTx_LCR  
x = 1  
x = 2  
Line Control Register  
= [DLAB, SB, SP, EPS, PEN, STB, WLS1, WLS0]  
DLAB: Divisor Latch Access bit  
53 (14C)  
F3 (3CC)  
When clear ‘0’, Receive and Transmitter Registers are read/written  
address 50 (F0) and IER register at address 51 (F1). When set ‘1’,  
Divisor Latch LS is read/written at address 50 (F0) and Divisor Latch MS  
read/written at address 51 (F1).  
SB: Set Break  
When set ‘1’, TXD signal is forced into the ‘0’ state  
SP: Stick Parity  
When set ‘1’, parity bit is forced into a defined state, dependent upon  
state of EPS, PEN:  
If EPS = ’1’ and PEN = ’1’ parity bit is set and checked = ‘0’  
If EPS = ’0’ and PEN = ’1’ parity bit is set and checked = ‘1’  
EPS: Even Parity Select  
When set ‘1’ and PEN = ‘1’ an even number of ones is sent and checked.  
When clear ‘0’ and PEN = ‘1’ an odd number of ones is sent and checked.  
PEN: Parity Enable  
When set ‘1’ parity is transmitted and checked. Parity bit is added after  
the data field and before the STOP bits. When clear ‘0’ parity is neither  
transmitted or checked.  
STB: Number of STOP bits  
When set ‘1’ two STOP bits are added after each character is sent,  
except if character length is 5, then 1_ STOP bits are added. When  
clear ‘0’ one STOP bit is always added. Only the transmit STOP bits are  
programmable, only the receive stage expects one STOP bit irrespective  
of the state of STB.  
WLS[1:0]: Word Length Select  
Transmitted and received character size defined as follows:  
68  
MTC-20285 240300 [69]  
MTC-20285  
- 00 = 5-bit  
- 01 = 6-bit  
- 10 = 7-bit  
- 11 = 8 -bit  
UARTx_MCR  
x = 1  
x = 2  
Modem Control Register  
= [x, x, x, LOOP, OUT2, OUT1, RTS, DTR]  
LOOP: Loop back mode  
54 (150)  
F4 (3D0)  
When set ‘1’ the following conditions are implemented:  
- TXD is forced to ‘1’  
- RXD is disconnected from the Rx input shift register  
- The Rx input shift register is connected to the Tx output shift register  
- The modem status signals are disconnected  
- The modem control signals are connected to modem status inputs  
OUT1,OUT2  
- UART1: Control the state of the corresponding outputs (used in DCE  
mode), even in loop mode.  
- UART2: Not used  
RTS  
Control the state of the corresponding output, even in loop mode.  
DTR  
-
UART1: Control the state of the corresponding output, even in loop mode.  
- UART2: Not used  
UARTx_LSR  
x = 1  
x = 2  
Line Status Register  
= [FIFOERR, TEMT, THRE, BI, FE, PE, OE, DR]  
FIFOERR: RX Data Error in FIFO  
55 (154)  
F5 (3D4)  
This bit is set to ‘1’ when there is at least one PE, FE, or BI in the RX FIFO.  
It is cleared by a read from the LSR register, if there are no subsequent  
errors in the FIFO.  
TEMT: Transmitter Empty or below the threshold  
If the FIFO is disabled, this bit is set to ‘1’ whenever the transmitter  
holding register and the transmitter shift register are empty.  
If the FIFO is enabled, this bit is set whenever the Tx FIFO is below the  
threshold and the transmitter shift register is empty.  
THRE: Transmitter Holding Register Empty  
If the FIFO is disabled, this bit is set to ‘1’ whenever the transmitter  
holding register is empty and ready to accept new data, this bit is  
cleared when the data is transferred to the transmitter shift register.  
If the FIFO is enabled, this bit is set to ‘1’ whenever the Tx FIFO is below  
the threshold. It is cleared when it goes again above the threshold.  
BI: Break Interrupt  
If the FIFO is disabled, this bit is set whenever the RXD is held in the zero  
state for more than a transmission time (START bit + DATA bits + PARITY  
+ STOP bits). BI is reset by the CPU reading this register. If the FIFO is  
enabled, this error is associated with the corresponding character in the  
FIFO. The error is flagged when this byte is at the top of the FIFO. When  
a break occurs only one zero character is loaded into the FIFO, the next  
character transfer is enabled when RXD goes into the marking state and  
receives the next valid start bit.  
FE: Framing Error  
If the FIFO is disabled, this bit is set if the received data did not have a  
valid STOP bit, FE is reset by the CPU reading this register. If the FIFO  
is enabled, the state of this bit is revealed when the byte it refers to is at  
69  
MTC-20285 240300 [70]  
MTC-20285  
the top of the FIFO.  
PE: Parity Error  
If the FIFO is disabled, this bit is set if the received data does not have a  
valid parity bit, PE is reset by the CPU reading this register. If the FIFO is  
enabled, the state of this bit is revealed when the byte it refers to is at the  
top of the FIFO  
OE: Overrun Error  
If the FIFO is disabled, this bit is set if the receive buffer was not read  
by the CPU before new data from the receive shift register over wrote  
previous contents. OE is cleared when the CPU reads this register. If the  
FIFO is enabled, an overrun error occurs when the Rx FIFO is full and  
the Rx shift register becomes full. OE is set as soon as this happens. The  
character in the shift register is then overwritten, but is not transferred to  
the FIFO.  
DR: Data Ready  
This bit is set whenever the receive buffer is full, or by a byte being trans-  
ferred into the FIFO. DR is cleared by the CPU reading the receive buffer  
or by reading all of the FIFO bytes. This bit is also cleared whenever the  
FIFO enable bit is changed.  
UARTx_MSR  
x = 1  
x = 2  
Modem Status Register  
= [DCD, RI, DSR, CTS, DDCD, TERI, DDSR, DCTS]  
DCD: Data Carry Detect  
56 (158)  
F6 (3D8)  
- When Loop = ‘0’ this is the input signal DCD  
- When Loop = ‘1’ this is equal to OUT2  
RI: Ring Indicator  
- When Loop = ‘0’ this is the input signal RI  
- When Loop = ‘1’ this is equal to OUT1  
DSR: Data Set Ready  
- When Loop = ‘0’ this is the input signal DSR  
- When Loop = ‘1’ this is equal to DTR  
CTS: Clear To Send  
- When Loop = ‘0’ this is the input signal CTS  
- When Loop = ‘1’ this is equal to RTS  
DDCD: Delta Data Carry Detect  
This bit is set (‘1’) if the state of DSR has changed since this register  
was  
last read.  
TERI: Trailing Edge Ring Indicator  
This bit is set if the RI input changes from ‘1’ to ‘0’ since this register  
was last read.  
DDSR: Delta Data Set Ready  
This bit is set (‘1’) if the state of DSR has changed since this register  
was last read.  
DCTS: Delta Clear to Send  
This bit is set (‘1’) if the state of CTS has changed since this register  
was last read.  
UARTx_SCR  
x = 1  
x = 2  
Scratch Register  
General purpose read/write register, undefined after reset.  
57 (15C)  
F7 (3DC)  
70  
MTC-20285 240300 [71]  
MTC-20285  
Table 27: Baud Rate Generator Divisor Register Set (selected when LCR[7] = 1)  
Name  
Address (byte)  
Function  
UARTx_DLL  
x = 1  
x = 2  
Divisor Latch, MSB and LSB for Baud rate control  
(see Table 25)  
After reset DLM, DLL are undefined.  
50 (140)  
F0 (3C0)  
UARTx_DLM  
x = 1  
x = 2  
51 (144)  
F1 (3C4)  
Table 28: Enhanced Register Set (selected when LCR = 0xBF)  
Name  
Address (byte)  
Function  
UART1_EFR  
52 (148)  
Extended Function Register  
= [x, x, 0, EME, x, x, x, x]  
EME: Enhancement Mode Enable  
When set to ‘1’ enable the extended functions. This is to ensure the back-  
ward compatibility for software written for the 16550A device family.  
71  
MTC-20285 240300 [72]  
MTC-20285  
Parallel I/O Ports  
Eight 4-bit bi-directional I/O ports are  
provided (PA[3..0], PB[3..0], PC[3..0],  
PD[3..0], PE[3..0], PF[3..0], PG[3..0],  
PH[3..0]) to allow extra user-defined  
functionality. The application software  
can define the access direction of  
any of the 4 pins and have a total  
visibility of the pin activity (read  
external databus (see Fig.1) only  
when the WordAccess mode of the  
external memory interface is disabled  
(see case a, section 3.8.1).  
Each port can generate an interrupt  
based on activity detection only, for  
the bits that are set in input mode.  
However, depending of the device  
configuration registers (CHIP_CFGx  
registers), some ports can have others  
functions as follows:  
and write access). One interrupt  
signal is generated per parallel I/O  
source with two exceptions, the ports  
PG[3:0] and PH[3:0]. These 2 ports  
are available on the MSByte of the  
Table 29: Port PA: Timer Extended Functions  
Pin  
Direction  
output  
input  
output  
input  
Configuration  
Timer function  
T2O: Timer2 output toggling when time-out  
T2i: Timer2 trigger input  
T1O: Timer1 output toggling when time-out  
T1i: Timer1 trigger input  
PA0  
PA1  
PA2  
PA3  
CHIP_CFG[3] = 1  
CHIP_CFG[4] = 1  
CHIP_CFG[5] = 1  
CHIP_CFG[6] = 1  
Table 30: Port PB: UART1 Extended Functions (see section 3.11)  
Pin  
Direction  
-
-
input  
output  
Configuration  
UART1 function  
DCD / OUT2  
RI / OUT1  
DSR  
PB0  
PB1  
PB2  
PB3  
CHIP_CFG[0] = 1  
CHIP_CFG[0] = 1  
CHIP_CFG[0] = 1  
CHIP_CFG[0] = 1  
DTR  
Table 31: Port PC: UART2 Access  
Pin  
Direction  
input  
output  
input  
Configuration  
UART2 access  
RXD2  
TXD2  
CTS2  
RTS2  
PC0  
PC1  
PC2  
PC3  
CHIP_CFG2[1] = 1  
CHIP_CFG2[1] = 1  
CHIP_CFG2[1] = 1  
CHIP_CFG2[1] = 1  
output  
NOTES:  
• The special port configurations overrule the port direction setting registers.  
• The special port configurations do not overrule the port interruption systems.  
72  
MTC-20285 240300 [73]  
MTC-20285  
Table 32: Port Register Table  
Name  
Address (byte)  
Function  
PAB_OUT  
A0 (280)  
Data register used to drive:  
- bit[3:0]: PB[3..0]  
- bit[7:4]: PA[3..0]  
if set in output direction  
Data register to store value of:  
- bit[3:0]: PB[3..0]  
- bit[7:4]: PA[3..0]  
Selection of the direction of each bit:  
PAB_IN  
A1 (284)  
A2 (288)  
PAB_DIR  
- bit[3:0]: PB[3..0]  
- bit[7:4]: PA[3..0]  
Biti = 0: set to input node  
1: set to output node  
reset value = 0 hex: all bits set in INPUT mode  
Data register used to drive:  
- bit[3:0]: PD[3..0]  
PCD_OUT  
A3 (28C)  
- bit[7:4]: PC[3..0]  
if set in output direction  
PCD_IN  
A4 (290)  
A5 (294)  
Data register to store value of:  
- bit[3:0]: PD[3..0]  
- bit[7:4]: PC[3..0]  
PCD_DIR  
Selection of the direction of each bit:  
- bit[3:0]: PD[3..0]  
- bit[7:4]: PC[3..0]  
Biti = 0: set to input node  
1: set to output node  
reset value = 0 hex: all bits set in INPUT mode  
Data register used to drive:  
- bit[3:0]: PF[3..0]  
PEF_OUT  
A6 (298)  
- bit[7:4]: PE[3..0]  
if set in output direction  
PEF_IN  
A7 (29C)  
A8 (2A0)  
Data register to store value of:  
- bit[3:0]: PF[3..0]  
- bit[7:4]: PE[3..0]  
PEF_DIR  
Selection of the direction of each bit:  
- bit[3:0]: PF[3..0]  
- bit[7:4]: PE[3..0]  
Biti = 0: set to input node  
1: set to output node  
reset value = 0 hex: all bits set in INPUT mode  
Data register used to drive:  
- bit[3:0]: PH[3..0]  
PGH_OUT  
A9 (2A4)  
- bit[7:4]: PG[3..0]  
if set in output direction  
PGH_IN  
AA (2A8)  
AB (2AC)  
Data register to store value of:  
- bit[3:0]: PH[3..0]  
- bit[7:4]: PG[3..0]  
PGH_DIR  
Selection of the direction of each bit:  
- bit[3:0]: PH[3..0]  
- bit[7:4]: PG[3..0]  
Biti = 0: set to input node  
1: set to output node  
reset value = 0 hex: all bits set in INPUT mode  
73  
MTC-20285 240300 [74]  
MTC-20285  
Timers  
Count Down Timers with  
Interrupt Generation  
Two timers are provided (Timer1 and  
Timer2) with the following functions:  
be brought outside via the Parallel  
I/O port A (see section 3.12)  
• can be read on-the-fly (no need to  
put count = 0 to read)  
• by default, the counters operate  
on ‘internal count mode’, counting  
based on one of two possible fixed  
counting frequencies. See Table 33.  
• can be made to count external  
positive-edge events of an input  
signal (T1I, T2I) applied on the  
parallel I/O port A (see section  
3.12). The ‘external count mode’ is  
used as soon as the CHIP_CFG bit  
corresponding to T1I or T2I is set.  
Two variants exist:  
• 16-bit loadable down counters  
• counts down as long as counter is  
enabled (count = 1). Restarts auto-  
matically at the initial value when  
timer value = 0 is reached  
• generates an interrupt on timeout  
(whenever timer value = 0), as well  
as a ‘toggling’ output signal (T1O,  
T2O), toggling at each timeout  
occurrence. The toggling signal can  
- slow external mode (fast = 0):  
the counter is decreased every  
fourth time a pos-edge is detected  
- fast external mode (fast = 1):  
the counter is decreased every  
single time a pos-edge is detected  
• can be reset on-the-fly  
• can be stopped on-the-fly  
Table 33: Count Down Timer Modes  
Mode  
slow internal  
BASECLK = 0  
15.36 MHz / 16 = 960 kHz  
BASECLK = 1  
30.72 MHz / 16 = 1920 kHz  
max period: 216 / 960 kHz = 68 ms  
15.36 MHz / 4 = 3840 kHz  
max period: 216 / 1920 kHz = 34 ms  
30.72 MHz / 4 = 7680 kHz  
fast internal  
max period: 216 / 3840 kHz = 17 ms  
max period: 216 / 960 kHz = 8.5 ms  
Furthermore, Timer1 has an extra  
capture register to store the actual  
value of the timer register whenever  
capturing is enabled (capEn = 1) and  
the capture control signal (capSig)  
generated by a hardware event  
becomes true.  
The capturing is done only once,  
for the first event occurring since the  
capEn bit was set by software. When  
captured the bit is reset by the hard-  
ware. This prevents the hardware  
from capturing twice before reading /  
re-enabling the capturing registers. In  
addition, the bit gets an acknowledge-  
ment function, reading the bit value  
checks whether a capture event  
occurred or not.  
The following sources can be used to  
generate the capSig signal:  
• the D-CI activity detection signal  
(detection of change in CI bit  
values)  
• the port PA activity detection signal  
(detection of change on bits, set in  
input mode)  
• the External interrupt input signal  
(either pos/neg edge or high/low  
level detection)  
• the port PB activity detection signal  
(detection of change on bits, set in  
input mode)  
Timer Values and Pre-scaler  
Function  
A pre-scaler function is added in  
MTC-20285 due to the hardware  
implementation, some care has to be  
taken in order to avoid dependency  
of timer's value with the clock ASB. If  
you follow the pre-scaler constraints  
defined in Table 34, then the timer  
values will be independent of the  
ASB clock.  
These four signals correspond to  
the unmasked interrupt status bit as  
described in sections 3.9 and 3.2.6.  
The timer value stays dependent of the  
APB clock (as in the MTC-20280).  
74  
MTC-20285 240300 [75]  
MTC-20285  
Table 34: Clock Timer Restraints  
Clock APB Full Speed (CLK_3[3:2] = 0)  
BASECLK = 1  
BASECLK = 0  
slow  
Pre-scaler  
clock ASB  
fast  
slow  
fast  
reg. TI_PRE  
constraint  
00  
01  
10  
11  
CLK_2[3:0] < 16  
CLK_2[3:0] < 8  
CLK_2[3:0] < 4  
CLK_2[3:0] = 0  
granularity: 2083 ns  
granularity: 1041 ns  
granularity: 521 ns  
granularity: 260 ns  
granularity: 2083 ns  
granularity: 1041 ns  
granularity: 521 ns  
granularity: 1041 ns  
granularity: 521 ns  
granularity: 260 ns  
granularity: 130 ns  
granularity: 1041 ns  
granularity: 521 ns  
granularity: 260 ns  
granularity: 130 ns  
granularity: 260 ns  
Clock APB (CLK_3[3:2] = 0)  
count rate: 3840 kHz  
count rate: 960 kHz  
max period: 68 ms  
count rate: 1920 kHz  
max period: 34 ms  
count rate: 7680 kHz  
max period: 8.5 ms  
max period: 17 ms  
Clock APB / 4 (CLK_3[3:2] = 1)  
count rate: 960 kHz  
count rate: 240 kHz  
max period: 273 ms  
count rate: 480 kHz  
max period: 136 ms  
count rate: 1920 kHz  
max period: 34 ms  
max period: 68 ms  
Clock APB / 8 (CLK_3[3:2] = 2)  
count rate: 480 kHz  
count rate: 120 kHz  
max period: 546 ms  
count rate: 240 kHz  
max period: 273 ms  
count rate: 960 kHz  
max period: 68 ms  
max period: 136 ms  
Clock APB / 32 (CLK_3[3:2] = 3)  
count rate: 30 kHz  
max period: 2.2 s  
count rate: 120 kHz  
count rate: 60 kHz  
count rate: 240 kHz  
max period: 273 ms  
max period: 546 ms  
max period: 1.1 ms  
After reset, the counters are initialized  
as follows:  
• Timer CMD register (TI_CMD) =  
0x00 (no-count, not-init, capturing  
disabled, slow internal mode)  
• (Internal mode selected because  
at reset CHIP_CFG[6,4] = 0)  
• Timer registers (TI_1L, TI_1M, TI_2L,  
TI_2M) = 0xFF  
• Timer1 capture registers (TI_C1L,  
TI_C1M) = 0xFF  
• Pre-scaler (TI_PRE) = 0x0  
75  
MTC-20285 240300 [76]  
MTC-20285  
Table 35: Timer Register Table  
Name  
TI_1L  
TI_1M  
Address (byte)  
C0 (300)  
C1 (304)  
Function  
Timer 1 counter 16-bits (TI_1: LSB and MSB)  
Read: counter value  
Write: initial value  
TI_2L  
TI_2M  
C2 (308)  
C3 (30C)  
Timer 2 counter 16-bits (TI_2: LSB and MSB)  
Read: counter value  
Write: initial value  
TI_CMD  
C4 (310)  
Timers command register:  
Timer 1:  
- bit[0]: count (= 1:counting; = 0:not counting)  
- bit[1]: init (set to 1 to re-initialize; self-clearing bit)  
- bit[2]: fast (= 1: fast clock = Xtal/4; = 0: slow clock = Xtal/16)  
- bit[3]: capEn (= 1:capture enabled; = 0:disabled)  
(cleared by HW when captured)  
Timer 2:  
- bit[4]: count (= 1:counting; = 0:not counting)  
- bit[5]: init (set to 1 to re-initialize; self-clearing bit)  
- bit[6]: fast (= 1: fast clock = Xtal/4; = 0: slow clock = Xtal/16)  
- bit[7]: / (not used)  
TI_C1L  
TI_C1M  
TI_CSEL  
C5 (314)  
C6 (318)  
C7 (31C)  
Timer 1 capture registers: 16 bits (LSB and MSB)  
Read only  
capture source selection register:  
- 00: CI change (default)  
- 01: external interrupt IT  
- 10: PB input port change  
- 11: PA input port change  
TI_PRE  
CA (328)  
bit[1:0]: Timer pre-scaler  
76  
MTC-20285 240300 [77]  
MTC-20285  
Watchdog Timer  
A watchdog timer, working on the APB  
clock is provided. APB clock frequency  
is selectable using CLK_3[3:2]. It is a  
countdown timer, which is by default  
disabled after power-up reset of the  
MTC-20285. It can be disabled,  
enabled and kicked under software  
control by writing a specific ‘magic’  
word value to the WD_MAGIC  
register. This changes the state of the  
watchdog FSM, of which the state can  
be monitored by reading the state bit  
values in the WD_SC status/control  
register.  
Watchdog reset length:  
216 * APB_period  
BASECLK = 0  
4.2 ms  
17 ms  
34 ms  
136 ms  
BASECLK = 1  
2.1 ms  
8.5 ms  
17 ms  
68 ms  
clock APB / 1 (CLK_3[3:2] = 0)  
clock APB / 4 (CLK_3[3:2] = 0)  
clock APB / 8 (CLK_3[3:2] = 0)  
clock APB / 32 (CLK_3[3:2] = 0)  
Init  
Write(not-Magic1,  
not-kick)  
Writing a single sequence of 3 words  
to the WD_MAGIC register ‘magic1-  
word’, ‘magic2-word’ and ‘magic3-  
word’ causes disabling. This can  
avoid accidental unwanted disabling  
of the timer. If the sequence is inter-  
rupted by writing any other value to the  
WD_MAGIC register, the sequence  
must be restarted from the beginning  
in order to disable the watchdog.  
However, the sequence may be  
interleaved without harm by write  
commands to other registers or read  
commands to any register, including  
WD_MAGIC.  
Write(Kick)  
Count  
Write(not Magic2)  
Write(Magic1)  
Unlock1  
Write(not Magic3)  
Write(Magic2)  
Write(Magic3)  
Unlock2  
Write(X)  
Disable  
A single write of any value to the  
WD_MAGIC register causes enabling.  
Once enabled, the watchdog can be  
kicked by writing the specific kick-  
value to WD_MAGIC. Kicking the  
watchdog performs a re-initialization  
at one of 4 possible values. This  
prevents the timer to reach the zero  
value and generate a reset for the  
ARM. The initialization value is  
selected by the 2 control bits in the  
WD_SC register.  
reset  
Fig.26 Watchdog State Machine  
The output of the watchdog timer  
controls the active-low open-drain  
WDALARM output of the chip. This  
signal is made externally available  
for system reset. It can be externally  
connected to the NRST input of  
the ARM processor that resets all  
functional MTC-20285 blocks.  
It goes active low, as soon as the  
timer reaches the zero value, and  
stays low for a certain period after  
which it becomes inactive high again.  
77  
MTC-20285 240300 [78]  
MTC-20285  
Watchdog Time out  
Counting Mechanism  
• Initial Counter[17:0]  
= all ‘0’s (always)  
• Initial Counter[25:22]  
= WD_SC[7:4]  
The Watchdog time-out value selec-  
tion is done using WD_SC[7..4,1..0].  
A 26-bit counter, clocked on the APB  
clock is counting from its initial value  
down to 0. The initial value of this  
counter is composed as follows:  
• Initial Counter[21:18]  
As the watchdog timer is clocked  
on the APB clock, its time-out value  
is dependent on the APB clock  
frequency.  
= ‘0111’ if WD_SC[1:0] = ‘00’  
= ‘1001’ if WD_SC[1:0] = ‘01’  
= ‘1101’ if WD_SC[1:0] = ‘10’  
= ‘1111’ if WD_SC[1:0] = ‘11’  
Table 36: Watchdog Count Down Frequency  
BASECLK = 0  
BASECLK = 1  
7680 kHz  
1920 kHz  
960 kHz  
Clock APB / 1 (CLK_3[3:2] = 0)  
Clock APB / 4 (CLK_3[3:2] = 0)  
Clock APB / 8 (CLK_3[3:2] = 0)  
Clock APB / 32 (CLK_3[3:2] = 0)  
3840 kHz  
960 kHz  
480 kHz  
120 kHz  
240 kHz  
Example of time-out value calculation  
BASECLK = 1  
CLK_3[3:2] = ‘01’  
WD_SC[1:0] = ‘11’  
WD_SC[7:4] = ‘0011’  
Clock frequency = 1920 kHz  
Initial Counter value [25:0] = ‘0011_1111_000000000000000000’ = 0x0FC0000 = 16515072  
initialValue  
16515072  
timeOut = ——————————— = ————— = 8.6 sec  
downCountingFrequency  
1920e3  
Table 37: Watchdog Register Table  
Name  
Address (byte)  
Function  
WD_SC [7..0]  
C8 (320)  
Watchdog Status and Control register (8-bit)  
bit[7..4,1..0]: Initial value selection  
bit[3..2]: State of watchdog FSM (R only)  
- 00: init and count  
- 01: unlock1  
- 10: unlock2  
- 11: disable (default)  
WD_MAGIC  
C9 (324)  
Watchdog Magic word register (8-bit), gives a command to the watchdog  
by writing a specific value:  
- value = DC: Kick command  
- value = A5: Magic1-word command  
- value = 5A: Magic2-word command  
- value = AF: Magic3-word command  
78  
MTC-20285 240300 [79]  
MTC-20285  
Hardware Identification Code  
The MTC-20285 contains a read-only  
register with a hardware identification  
code. Writing to this register will  
cause no harm.  
The ID code corresponds to the next 8-  
bits:  
FFF RR SSS with:  
FFF = product family code (010 for  
MTC-20285 = ‘20285’)  
RR = revision code  
SSS = mask set version (000:first,  
001:second, etc)  
The following ID codes are for MTC-  
20285 variants:  
MTC-20285 version  
HW identification code = 0x<MN>  
MTC-20285.NAA  
0x 010 00 000 = 0x40  
Table 38: Chip Register Table  
Name  
Address (byte)  
Function  
CHIP_ID  
00 (000)  
Returns the chip identification code 0x<MN>  
(Hardware version dependent)  
79  
MTC-20285 240300 [80]  
MTC-20285  
Chip_CFG Registers  
Many of the on-chip functions use  
device pins, which can be made  
available as general-purpose parallel  
I/O if the particular feature is not  
used. The CHIP_CFG registers allow  
software configuration of these various  
hardware features, as indicated in  
the table.  
Table 39: CHIP_CFG Registers  
Name  
Address (byte)  
Access Width  
(bits)  
Reset  
(hex)  
06  
Function  
CHIP_CFG  
01(004)  
RW  
8
bit[0] = 1: Configures PB[3..0] in  
PB2Uart mode  
bit[2,1] = external interrupt (IT) type  
- 00: neg-edge 01:pos-edge  
- 10: low-level 11:high-level (default)  
bit[3] = 1: use PA0 as Timer output T2O  
bit[4] = 1: use PA1 as Timer input T2I  
bit[5] = 1: use PA2 as Timer output T1O  
bit[6] = 1: use PA3 as Timer input T1I  
(see also CHIP_CFG2[2])  
bit[7] = 1: swap addresses for external  
memory block 0 and 3  
CHIP_CFG2  
07(01C)  
RW  
3
00  
bit[0] = Main UART DTE/DCE Mode  
- 0 = DTE  
- 1 = DCE  
bit[1] = Pio / UART2 Mode  
- 0 = Pio on ports PC  
- 1 = UART2 on ports PC  
bit[2] = PA/RXD multiplexing  
- 0 = PA  
- 1 = RXD  
80  
MTC-20285 240300 [81]  
MTC-20285  
Register Table  
Next follows a summary of the com-  
plete memory map of the parameters  
discussed in the previous sections. All  
parameters related to the same hard-  
ware unit, are put together in registers  
on the same ‘page’.  
APB Address  
bit[10..4]: page selection  
0x00: chip configuration  
0x01: HDLC1  
0x02: HDLC2  
0x03: HDLC3  
NOTES:  
0x04: HDLC ext  
0x05: UART1  
• Addresses, which are not listed in  
section 3.17.1 must not be used,  
because they are allocated for  
possible further (compatible)  
upgrades/extension of the memory  
map for products to be derived from  
the MTC-20285.  
0x06: GCI router  
0x07: GCI router  
0x08: GCI router  
0x09: clock, Interrupt  
0x0A: parallel I/O’s  
0x0B: GCI router (ext’)  
0x0C: Timers and Watchdog  
0x0D: HDLC4  
• the first column indicates the com-  
patibility with the MTC-20280 chip  
(MTC-20280)  
( ): fully compatible  
(•): new register  
(): register with extended function  
(): software compatibility must be  
verified  
0x0E: HDLC5  
0x0F: UART2  
0x10: USB channel 0  
0x11: USB channel 1  
0x12: USB channel 2  
0x13: USB channel 3  
0x14: USB channel 4  
0x15: USB channel 5  
0x16: USB channel 6  
0x17: USB device  
0x18: /  
• The APB address space is limited to  
11-bits, corresponding to the ARM  
address bits 12 down to 2 (word  
aligned addresses), located in the  
7th block of the ARM address space  
(see this section). The data is of type  
‘byte’ and is LSB aligned onto the  
data bus.  
0x19: Interrupt (ext')  
0x20 to 0x3F: /  
0x40 to 0x4F: USB memory (1K bytes)  
• The following table lists the address  
of each register as a word address  
(4 bytes per word) and for clarity,  
as a byte-address.  
81  
MTC-20285 240300 [82]  
MTC-20285  
Table 40: Address Table  
Name  
Address  
(byte)  
Access Width  
(bits)  
Reset  
(hex)  
Function  
MTC-20285 Configuration  
CHIP_ID  
00 (000)  
R
8
<MN>  
Returns the chip identification code =  
0x<MN>  
(HW version dependent)  
bit[0 ]= 1: Configures PB[3..0] in PB2Uart  
CHIP_CFG  
01 (004)  
RW  
8
06  
mode  
bit[2,1] = external interrupt (IT) type  
- 00: neg-edge 01:pos-edge  
- 10: low-level 11:high-level (default)  
bit[3] = 1: use PA0 as Timer output T2O  
bit[4] = 1: use PA1 as Timer input T2I  
bit[5] = 1: use PA2 as Timer output T1O  
bit[6] = 1: use PA3 as Timer input T1I  
(see also CHIP_CFG2[2])  
bit[7] = 1: swap addresses for external  
memory block 0 and 3  
CHIP_CFG2  
07 (01C)  
RW  
3
00  
bit[0] = Main UART DTE/DCE Mode  
- 0 = DTE  
- 1 = DCE  
bit[1] = Pio / UART2 Mode  
- 0 = Pio on ports PC  
- 1 = UART2 on ports PC  
bit[2] = PA/RXD multiplexing  
- 0 = PA  
- 1 = RXD  
CHIP_GCI_L  
02 (080)  
R
8
00  
Data rate detected on the master GCI  
interface  
(data bits per frame).  
LSB bits of data rate  
MSB bits of data rate  
CHIP_GCI_M  
CHIP_WTC1  
03 (0C0)  
04 (100)  
R
RW  
8
8
00  
FF  
Wait cycles for external memory blocks  
bit[3:0]: memory block 0  
bit[7:4]: memory block 1  
bit[3:0]: memory block 2  
bit[7:4]: memory block 3  
bit[3:0]: memory block 4  
bit[7:4]: memory block 5  
CHIP_WTC2  
CHIP_WTC3  
05 (140)  
06 (180)  
RW  
RW  
8
8
FF  
FF  
HDLC Formatters  
HD1_MODE  
HD1_EMODE  
HD1_CMD  
HD1_SSTAT  
HD1_FSTAT  
HD1_ISTAT  
HD1_ISRV  
10 (040)  
11 (044)  
12 (048)  
13 (04C)  
14 (050)  
15 (054)  
16 (058)  
17 (05C)  
18 (060)  
RW  
RW  
W
R
R
R
R
RW  
RW  
8
8
8
8
8
8
8
8
8
00  
00  
00  
00  
32  
00  
00  
00  
00  
HDLC mode register  
HDLC Extended mode register  
HDLC Command register  
HDLC Serial Status register  
FIFO Status register  
Interrupt Status Register  
Interrupt Service Request Register  
Interrupt Mask Register  
Rx/Tx FIFO data register  
HD1_IMASK  
HD1_FIFO  
82  
MTC-20285 240300 [83]  
MTC-20285  
HD1_RFBC  
19 (064)  
1A (068)  
1B (06C)  
1C (070)  
1D (074)  
1E (078)  
1F (07C)  
R
8
8
8
8
8
8
8
00  
00  
00  
00  
00  
00  
00  
Receive Frame Byte Count  
Transmit Address 1  
Transmit Address 2  
Receive Address Wildcard 1  
Receive Address Wildcard 2  
Receive Address Register 1  
Receive Address Register 2  
HD1_TA1  
HD1_TA2  
HD1_RAW1  
HD1_RAW2  
HD1_RA1  
HD1_RA2  
RW  
RW  
RW  
RW  
RW  
RW  
HD2_MODE  
HD2_EMODE  
HD2_CMD  
HD2_SSTAT  
HD2_FSTAT  
HD2_ISTAT  
HD2_ISRV  
HD2_IMASK  
HD2_FIFO  
HD2_RFBC  
HD2_TA1  
20 (080)  
21 (084)  
22 (088)  
23 (08C)  
24 (090)  
25 (094)  
26 (098)  
27 (09C)  
28 (0A0)  
29 (0A4)  
2A (0A8)  
2B (0AC)  
2C (0B0)  
2D (0B4)  
2E (0B8)  
2F (0BC)  
RW  
RW  
W
R
R
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
00  
00  
00  
00  
32  
00  
00  
00  
00  
00  
00  
00  
00  
00  
00  
00  
HDLC mode register  
HDLC Extended mode register  
HDLC Command register  
HDLC Serial Status register  
FIFO Status register  
Interrupt Status Register  
Interrupt Service Request Register  
Interrupt Mask Register  
Rx/Tx FIFO data register  
Receive Frame Byte Count  
Transmit Address 1  
R
R
RW  
RW  
R
RW  
RW  
RW  
RW  
RW  
RW  
HD2_TA2  
Transmit Address 2  
HD2_RAW1  
HD2_RAW2  
HD2_RA1  
Receive Address Wildcard 1  
Receive Address Wildcard 2  
Receive Address Register 1  
Receive Address Register 2  
HD2_RA2  
HD3_MODE  
HD3_EMODE  
HD3_CMD  
HD3_SSTAT  
HD3_FSTAT  
HD3_ISTAT  
HD3_ISRV  
HD3_IMASK  
HD3_FIFO  
HD3_RFBC  
HD3_TA1  
30 (0C0)  
31 (0C4)  
32 (0C8)  
33 (0CC)  
34 (0D0)  
35 (0D4)  
36 (0D8)  
37 (0DC)  
38 (0E0)  
39 (0E4)  
3A (0E8)  
3B (0EC)  
3C (0F0)  
3D (0F4)  
3E (0F8)  
3F (0FC)  
RW  
RW  
W
R
R
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
00  
00  
00  
00  
32  
00  
00  
00  
00  
00  
00  
00  
00  
00  
00  
00  
HDLC mode register  
HDLC Extended mode register  
HDLC Command register  
HDLC Serial Status register  
FIFO Status register  
Interrupt Status Register  
Interrupt Service Request Register  
Interrupt Mask Register  
Rx/Tx FIFO data register  
Receive Frame Byte Count  
Transmit Address 1  
R
R
RW  
RW  
R
RW  
RW  
RW  
RW  
RW  
RW  
HD3_TA2  
Transmit Address 2  
HD3_RAW1  
HD3_RAW2  
HD3_RA1  
Receive Address Wildcard 1  
Receive Address Wildcard 2  
Receive Address Register 1  
Receive Address Register 2  
HD3_RA2  
HD4_MODE  
HD4_EMODE  
HD4_CMD  
HD4_SSTAT  
HD4_FSTAT  
HD4_ISTAT  
HD4_ISRV  
D0 (340)  
D1 (344)  
D2 (348)  
D3 (34C)  
D4 (350)  
D5 (354)  
D6 (358)  
D7 (35C)  
RW  
RW  
W
R
R
R
8
8
8
8
8
8
8
8
00  
00  
00  
00  
32  
00  
00  
00  
HDLC mode register  
HDLC Extended mode register  
HDLC Command register  
HDLC Serial Status register  
FIFO Status register  
Interrupt Status Register  
Interrupt Service Request Register  
Interrupt Mask Register  
R
RW  
HD4_IMASK  
83  
MTC-20285 240300 [84]  
MTC-20285  
HD4_FIFO  
HD4_RFBC  
HD4_TA1  
HD4_TA2  
HD4_RAW1  
HD4_RAW2  
HD4_RA1  
HD4_RA2  
D8 (360)  
D9 (364)  
DA (368)  
DB (36C)  
DC (370)  
DD (374)  
DE (378)  
DF (37C)  
RW  
R
8
8
8
8
8
8
8
8
00  
00  
00  
00  
00  
00  
00  
00  
Rx/Tx FIFO data register  
Receive Frame Byte Count  
Transmit Address 1  
RW  
RW  
RW  
RW  
RW  
RW  
Transmit Address 2  
Receive Address Wildcard 1  
Receive Address Wildcard 2  
Receive Address Register 1  
Receive Address Register 2  
HD5_MODE  
HD5_EMODE  
HD5_CMD  
HD5_SSTAT  
HD5_FSTAT  
HD5_ISTAT  
HD5_ISRV  
HD5_IMASK  
HD5_FIFO  
HD5_RFBC  
HD5_TA1  
E0 (380)  
E1 (384)  
E2 (388)  
E3 (38C)  
E4 (390)  
E5 (394)  
E6 (398)  
E7 (39C)  
E8 (3A0)  
E9 (3A4)  
EA (3A8)  
EB (3AC)  
EC (3B0)  
ED (3B4)  
EE (3B8)  
EF (3BC)  
RW  
RW  
W
R
R
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
00  
00  
00  
00  
32  
00  
00  
00  
00  
00  
00  
00  
00  
00  
00  
00  
HDLC mode register  
HDLC Extended mode register  
HDLC Command register  
HDLC Serial Status register  
FIFO Status register  
Interrupt Status Register  
Interrupt Service Request Register  
Interrupt Mask Register  
Rx/Tx FIFO data register  
Receive Frame Byte Count  
Transmit Address 1  
R
R
RW  
RW  
R
RW  
RW  
RW  
RW  
RW  
RW  
HD5_TA2  
Transmit Address 2  
HD5_RAW1  
HD5_RAW2  
HD5_RA1  
Receive Address Wildcard 1  
Receive Address Wildcard 2  
Receive Address Register 1  
Receive Address Register 2  
HD5_RA2  
HD1_SRC  
HD2_SRC  
HD3_SRC  
HD4_SRC  
HD5_SRC  
HD_BREV  
40 (100)  
41 (104)  
42 (108)  
47 (10C)  
48 (110)  
43 (114)  
RW  
RW  
RW  
RW  
RW  
RW  
8
8
8
8
8
8
00  
00  
00  
00  
00  
0
Source data:  
[1:0]: line selection (0..2: U,S,A)  
[4:2]: burst selection (0 … 7)  
[6:5]: channel selection (0..2: B1-B2-D)  
Source data:  
[1:0]: line selection (0..2: U,S,A)  
[4:2]: burst selection (0…7)  
[6:5]: channel selection (0..2: B1-B2-D)  
Source data:  
[1:0]: line selection (0..2: U,S,A)  
[4:2]: burst selection (0…7)  
[6:5]: channel selection (0..2: B1-B2-D)  
Source data:  
[1:0]: line selection (0..2: U,S,A)  
[4:2]: burst selection (0…7)  
[6:5]: channel selection (0..2: B1-B2-D)  
Source data:  
[1:0]: line selection (0..2: U,S,A)  
[4:2]: burst selection (0…7)  
[6:5]: channel selection (0..2: B1-B2-D)  
Bit-reverse data byte (LSB <-> MSB)  
read/written from/to the HDLC FIFO’s  
bit[0] = 1: bit-reverse data for  
HDLC 1 formatter  
84  
MTC-20285 240300 [85]  
MTC-20285  
bit[1] = 1: bit-reverse data for  
HDLC 2 formatter  
bit[2] = 1: bit-reverse data for  
HDLC 3 formatter  
bit[3] = 1: bit-reverse data for  
HDLC 4 formatter  
bit[4] = 1: bit reversed per block of 2 for  
D channel transmission through HDLC1  
in transparent mode  
bit[5] = 1: bit reversed per block of 2 for  
D channel transmission through HDLC2  
in transparent mode  
bit[6] = 1: bit reversed per block of 2 for  
D channel transmission through HDLC3  
in transparent mode  
bit[7] = 1: bit reversed per block of 2 for  
D channel transmission through HDLC4  
in transparent mode  
HD1_TX  
HD2_TX  
HD3_TX  
44 (118)  
45 (11C)  
46 (120)  
49 (124)  
4A (128)  
R
R
R
R
R
8
8
8
8
8
X
X
X
X
X
HDLC packet ready to be transmitted  
in the current frame  
HDLC packet ready to be transmitted  
in the current frame  
HDLC packet ready to be transmitted  
in the current frame  
HDLC packet ready to be transmitted  
in the current frame  
HD4_TX  
HD5_TX  
HDLC packet ready to be transmitted  
in the current frame  
USB Interface  
USB_DCMD  
USB_DSTAT  
USB_ALTSET  
USB_DIMASK  
170 (1C0)  
171 (1C4)  
172 (1C8)  
174 (1D0)  
RW  
R
R
4
4
6
4
04  
00  
00  
00  
USB Device Command register  
USB Device Status register  
USB Alternate Settings for Inferface1,2,3  
USB Device Interrupt Mask register  
RW  
USB0_CMD  
USB0_FSTAT  
USB0_ISTAT  
USB0_ISRV  
USB0_IMASK  
USB0_FIFO  
100 (400)  
101 (404)  
102 (408)  
103 (40C)  
104 (410)  
105 (414)  
RW  
R
R
R
RW  
RW  
5
8
8
8
8
8
00  
32  
00  
00  
00  
XX  
USB Command register  
USB FIFO Status register  
USB Interrupt Status Register  
USB Interrupt Service Request Register  
USB Interrupt Mask Register  
USB Rx/Tx FIFO data register  
USB1_CMD  
USB1_FSTAT  
USB1_ISTAT  
USB1_ISRV  
USB1_IMASK  
USB1_FIFO  
USB1_SET  
110 (440)  
111 (444)  
112 (448)  
113 (44C)  
114 (450)  
115 (454)  
116 (458)  
RW  
R
R
8
8
8
8
8
8
3
00  
32  
00  
00  
00  
XX  
01  
USB Command register  
USB FIFO Status register  
USB Interrupt Status Register  
USB Interrupt Service Request Register  
USB Interrupt Mask Register  
USB Rx/Tx FIFO data register  
USB FIFO Settings Register  
R
RW  
RW  
RW  
USB2_CMD  
USB2_FSTAT  
120 (480)  
121 (484)  
RW  
R
8
8
00  
32  
USB Command register  
USB FIFO Status register  
85  
MTC-20285 240300 [86]  
MTC-20285  
USB2_ISTAT  
122 (488)  
123 (48C)  
124 (490)  
125 (494)  
126 (498)  
R
R
RW  
RW  
RW  
8
8
8
8
3
00  
00  
00  
XX  
01  
USB Interrupt Status Register  
USB Interrupt Service Request Register  
USB Interrupt Mask Register  
USB Rx/Tx FIFO data register  
USB FIFO Settings Register  
USB2_ISRV  
USB2_IMASK  
USB2_FIFO  
USB_SET  
USB3_CMD  
USB3_FSTAT  
USB3_ISTAT  
USB3_ISRV  
USB3_IMASK  
USB3_FIFO  
USB3_SET  
130 (4C0)  
131 (4C4)  
132 (4C8)  
133 (4CC)  
134 (4D0)  
135 (4D4)  
136 (4D8)  
RW  
R
R
8
8
8
8
8
8
3
00  
32  
00  
00  
00  
XX  
01  
USB Command register  
USB FIFO Status register  
USB Interrupt Status Register  
USB Interrupt Service Request Register  
USB Interrupt Mask Register  
USB Rx/Tx FIFO data register  
USB FIFO Settings Register  
R
RW  
RW  
RW  
USB4_CMD  
USB4_FSTAT  
USB4_ISTAT  
USB4_ISRV  
USB4_IMASK  
USB4_FIFO  
USB4_SET  
140 (500)  
141 (504)  
142 (508)  
143 (50C)  
144 (510)  
145 (514)  
146 (518)  
RW  
R
R
8
8
8
8
8
8
3
00  
32  
00  
00  
00  
XX  
01  
USB Command register  
USB FIFO Status register  
USB Interrupt Status Register  
USB Interrupt Service Request Register  
USB Interrupt Mask Register  
USB Rx/Tx FIFO data register  
USB FIFO Settings Register  
R
RW  
RW  
RW  
USB5_CMD  
USB5_FSTAT  
USB5_ISTAT  
USB5_ISRV  
USB5_IMASK  
USB5_FIFO  
USB5_SET  
150 (540)  
151 (544)  
152 (548)  
153 (54C)  
154 (550)  
155 (554)  
156 (558)  
RW  
R
R
8
8
8
8
8
8
3
00  
32  
00  
00  
00  
XX  
01  
USB Command register  
USB FIFO Status register  
USB Interrupt Status Register  
USB Interrupt Service Request Register  
USB Interrupt Mask Register  
USB Rx/Tx FIFO data register  
USB FIFO Settings Register  
R
RW  
RW  
RW  
USB6_CMD  
USB6_FSTAT  
USB6_ISTAT  
USB6_ISRV  
USB6_IMASK  
USB6_FIFO  
USB6_SET  
160 (580)  
161 (584)  
162 (588)  
163 (58C)  
164 (590)  
165 (594)  
166 (598)  
RW  
R
R
8
8
8
8
8
8
3
00  
32  
00  
00  
00  
XX  
01  
USB Command register  
USB FIFO Status register  
USB Interrupt Status Register  
USB Interrupt Service Request Register  
Interrupt Mask Register  
USB Rx/Tx FIFO data register  
USB FIFO Settings Register  
R
RW  
RW  
RW  
UART1  
Default register set  
UART1_RBR  
UART1_THR  
UART1_IER  
50 (140)  
50 (140)  
51 (144)  
52 (148)  
52 (148)  
R
8
8
8
8
8
00  
00  
00  
00  
00  
Receiver Buffer Register  
Transmitter Holding Register  
Interrupt Enable Register  
Interrupt Identification Register  
FIFO Control Register  
W
RW  
R
UART1_IIR  
UART1_FCR  
W
UART1_LCR  
UART1_MCR  
UART1_LSR  
UART1_MSR  
UART1_SCR  
UART1_DLL  
UART1_DLM  
UART1_EFR  
53 (14C)  
54 (150)  
55 (154)  
56 (158)  
57 (15C)  
50 (140)  
51 (144)  
52 (148)  
RW  
RW  
R
RW  
RW  
RW  
RW  
RW  
8
8
8
8
8
8
8
8
00  
00  
60  
00  
00  
00  
00  
00  
Line Control Register  
Modem Control Register  
Line Status Register  
Modem Status Register  
Scratch Register  
Divisor Latch Register (LSB)  
Divisor Latch Register (MSB)  
Enhancement Enable register  
86  
MTC-20285 240300 [87]  
MTC-20285  
Baud rate generator divisor register set  
Selected when LCR[7] = 0x1  
UART1_DLL  
UART1_DLM  
50 (140)  
51 (144)  
RW  
RW  
8
8
00  
00  
Divisor Latch Register (LSB)  
Divisor Latch Register (MSB)  
Enhanced register set  
Selected when LCR = 0xBF  
UART1_EFR  
52 (148)  
RW  
8
00  
Extended Function Register  
UART2  
Default register set  
UART2_RBR  
UART2_THR  
UART2_IER  
UART2_IIR  
UART2_FCR  
UART2_LCR  
UART2_MCR  
UART2_LSR  
UART2_MSR  
UART2_SCR  
F0 (3C0)  
F0 (3C0)  
F1 (3C4)  
F2 (3C8)  
F2 (3C8)  
F3 (3CC)  
F4 (3D0)  
F5 (3D4)  
F6 (3D8)  
F7 (3DC)  
R
8
8
8
8
8
8
8
8
8
8
00  
00  
00  
00  
00  
00  
00  
60  
00  
00  
Receiver Buffer Register  
Transmitter Holding Register  
Interrupt Enable Register  
Interrupt Identification Register  
FIFO Control Register  
Line Control Register  
Modem Control Register  
Line Status Register  
Modem Status Register  
Scratch Register  
W
RW  
R
W
RW  
RW  
R
RW  
RW  
Baud rate generator divisor register set  
Selected when LCR[7] = 0x1  
UART2_DLL  
UART2_DLM  
50 (140)  
51 (144)  
RW  
RW  
8
8
00  
00  
Divisor Latch Register (LSB)  
Divisor Latch Register (MSB)  
GCI Router  
Ui_B1_CPU  
Ui_B2_CPU  
Ui_M_CPU  
Ui_E_CPU  
60 (180)  
61 (184)  
62 (188)  
63 (18C)  
RW  
RW  
RW  
RW  
8
8
8
8
X
X
X
X
CPU value for the B1 upstream Ui channel  
CPU value for the B2 upstream Ui channel  
CPU value for the M upstream Ui channel  
CPU value for the C/I byte upstream  
Ui channel  
bit[7:6] = D bits  
bit[5:2] = CI bits  
bit[1:0] = AE bits  
Si_B1_CPU  
Si_B2_CPU  
Si_M_CPU  
Si_E_CPU  
64 (190)  
65 (194)  
66 (198)  
67 (19C)  
RW  
RW  
RW  
RW  
8
8
8
8
X
X
X
X
CPU value for the B1 downstream Si channel  
CPU value for the B2 downstream Si channel  
CPU value for the M downstream Si channel  
CPU value for the C/I byte downstream  
Si channel  
bit[7:6] = D bits  
bit[5:2] = CI bits  
bit[1:0] = AE bits  
Ai_B1_CPU  
Ai_B2_CPU  
Ai_M_CPU  
Ai_E_CPU  
68 (1A0)  
69 (1A4)  
6A (1A8)  
6B (1AC)  
RW  
RW  
RW  
RW  
8
8
8
8
X
X
X
X
CPU value for the B1 downstream Ai channel  
CPU value for the B2 downstream Ai channel  
CPU value for the M downstream Ai channel  
CPU value for the C/I byte downstream  
Ai channel  
bit[7:6] = D bits  
bit[5:2] = CI bits  
bit[1:0] = AE bits  
Ui_B1_RX  
Ui_B2_RX  
6C (1B0)  
6D (1B4)  
R
R
8
8
X
X
B1 channel read from the Ui downstream  
GCI frame  
B2 channel read from the Ui downstream  
GCI frame  
87  
MTC-20285 240300 [88]  
MTC-20285  
Ui_M_RX  
Ui_E_RX  
Si_B1_RX  
Si_B2_RX  
Si_M_RX  
Si_E_RX  
6E (1B8)  
6F (1BC)  
70 (1C0)  
71 (1C4)  
72 (1C8)  
73 (1CC)  
74 (1D0)  
75 (1D4)  
76 (1D8)  
77 (1DC)  
78 (1E0)  
R
R
R
R
R
R
R
R
R
R
W
8
8
8
8
8
8
8
8
8
8
8
X
X
X
X
X
X
X
X
X
X
0
M channel read from the Ui downstream  
GCI frame  
[D,CI,AE] channel read from the Ui down  
GCI frame  
B1 channel read from the Si upstream  
GCI frame  
B2 channel read from the Si upstream  
GCI frame  
M channel read from the Si upstream  
GCI frame  
[D,CI,AE] channel read from the S up  
GCI frame  
B1 channel read from the Ai upstream  
GCI frame  
B2 channel read from the Ai upstream  
GCI frame  
Ai_B1_RX  
Ai_B2_RX  
Ai_M_RX  
Ai_E_RX  
M channel read from the Ai upstream  
GCI frame  
[D,CI,AE] channel read from the Ai  
upstream GCI frame  
Specify the burst targeted by the  
microprocessor  
GCI_CPU_RX  
CPU registers access  
Rx registers access  
bit[1:0] = target line U-S-A  
bit[4:2] = CPU target burst  
bit[7:5] = Rx target burst  
GCI_ITU  
79 (1E4)  
RW  
8
00  
bit[i]: CI activity detected on U, burst i  
- Read bit[I] = 1: activity detection;  
- Write bit[I] = 1: interrupt cleared  
bit[i]: CI activity detected on S, burst i  
bit[i]: CI activity detected on A, burst i  
bit[i] = 1: mask CI activity detected  
on U, burst i  
GCI_ITS  
GCI_ITA  
GCI_MSKU  
7A (1E8)  
7B (1EC)  
7C (1F0)  
RW  
RW  
RW  
8
8
8
00  
00  
FF  
GCI_MSKS  
GCI_MSKA  
GCI_MSKUD  
GCI_MSKSD  
GCI_MSKAD  
GCI_PULL  
7D (1F4)  
7E (1F8)  
B8 (2E0)  
B9 (2E4)  
BA (2E8)  
BB (2EC)  
7F (1FC)  
80 (200)  
RW  
RW  
RW  
RW  
RW  
RW  
RW  
RW  
8
8
8
8
8
6
3
8
FF  
FF  
00  
00  
00  
00  
X
bit[i] = 1: mask CI activity detected  
on S, burst i  
bit[i] = 1: mask CI activity detected  
on A, burst i  
bit[i] = 1: mask D bits activity detected  
on U, burst i  
bit[i] = 1: mask D bits activity detected  
on S, burst i  
bit[i] = 1: mask D bits activity detected  
on A, burst i  
GCI asynchronous pull-up / pull-down  
GCI_SRC_BUR  
U_B1_SRC  
Target burst selection for reading _SRC  
registers  
Source control register for target U_B1  
X
upstream:  
88  
MTC-20285 240300 [89]  
MTC-20285  
[7:5] source burst  
[4:3] source line  
[2:0] target burst  
U_B2_SRC  
U_D_SRC  
U_CI_SRC  
U_M_SRC  
U_AE_SRC  
S_B1_SRC  
S_B2_SRC  
S_D_SRC  
81 (204)  
82 (208)  
83 (20C)  
84 (210)  
85 (214)  
86 (218)  
87 (21C)  
88 (220)  
89 (224)  
8A (228)  
8B (22C)  
8C (230)  
8D (234)  
8E (238)  
8F (23C)  
B0 (2C0)  
B1 (2C4)  
RW  
RW  
RW  
RW  
RW  
RW  
RW  
RW  
RW  
RW  
RW  
RW  
RW  
RW  
RW  
RW  
RW  
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
Source control register for target  
U_B2 upstream  
Source control register for target  
U_D upstream  
Source control register for target  
U_CI upstream  
Source control register for target  
U_M upstream  
Source control register for target  
U_AE upstream  
Source control register for target  
S_B1 downstream  
Source control register for target  
S_B2 downstream  
Source control register for target  
S_D downstream  
Source control register for target  
S_CI downstream  
Source control register for target  
S_M downstream  
Source control register for target  
S_AE downstream  
Source control register for target  
A_B1 downstream  
Source control register for target  
A_B2 downstream  
Source control register for target  
A_D downstream  
Source control register for target  
A_CI downstream  
Source control register for target  
A_M downstream  
S_CI_SRC  
S_M_SRC  
S_AE_SRC  
A_B1_SRC  
A_B2_SRC  
A_D_SRC  
A_CI_SRC  
A_M_SRC  
A_AE_SRC  
Source control register for target A_AE  
downstream  
U_B1_SWP  
U_B2_SWP  
S_B1_SWP  
S_B2_SWP  
A_B1_SWP  
A_B2_SWP  
B2 (2C8)  
B3 (2CC)  
B4 (2D0)  
B5 (2D4)  
B6 (2D8)  
B7 (2DC)  
RW  
RW  
RW  
RW  
RW  
RW  
8
8
8
8
8
8
X
X
X
X
X
X
bit[i] = swap / no swap for B1 channel  
on U burst i  
bit[i] = swap / no swap for B2 channel  
on U burst i  
bit[i] = swap / no swap for B1 channel  
on S burst i  
bit[i] = swap / no swap for B2 channel  
on S burst i  
bit[i] = swap / no swap for B1 channel  
on A burst i  
bit[i] = swap / no swap for B2 channel  
on A burst i  
89  
MTC-20285 240300 [90]  
MTC-20285  
Clock Generation  
CLK_GCI  
90 (240)  
RW  
8
00  
bit[5:0]: GCI DCL clock selection per  
interface U,S,A:  
bit[1:0] = for the U GCI router  
bit[3:2] = for the S GCI router  
bit[5:4] = for the A GCI router  
- 0 = non-active (default at reset)  
- 1 = master: dclMstr / fscMstr  
- 2 = 512k: dcl512 / fsc512  
- 3 = 4096k: dcl4096 / fsc4096  
bit[7:6]: GCI Master FSC selection (fscMstr)  
- 0 = Xtal (default at reset)  
- 1 = U  
- 2 = S  
- 3 = A  
CLK_1  
CLK_2  
CLK_3  
91 (244)  
92 (248)  
93 (24C)  
RW  
W
4 LSB  
4 MSB  
00  
00  
10  
Parameters for CKOUT:  
bits [7..4]: Disabled if equal to ‘1001’  
bits [3..0]: Freq. Division par. CLK_1  
for CKOUT  
Parameters for ARM Clock:  
bits [7..4]: Disabled if equal to ‘1001’  
bits [3..0]: Freq. Division par. CLK_2 for  
ARM clock  
bit[0]: DPLL status (read only)  
0 = internal GCI clocks not synchronized  
with the external reference; DPLL is tracking  
1 = internal GCI clocks synchronized  
bit[1]: Main UART clock disable  
(default = 0 = enabled)  
RW  
RW  
8
5
bit[3:2]: APB clock division factor  
- 0 = Xtal / 4 (max. speed)  
- 1 = Xtal / 8  
- 2 = Xtal / 16  
- 3 = Xtal / 32  
bit[4]: AUX UART clock disable  
(default = 1= disabled)  
Interrupt  
00  
IRQ1_ST  
IRQ1_STR  
IRQ1_EN  
IRQ1_ENSET  
IRQ1_ENCLR  
IRQ1_ACK  
IRQ2_ST  
IRQ2_STR  
IRQ2_EN  
94 (250)  
95 (254)  
96 (258)  
97 (25C)  
98 (260)  
99 (264)  
9A (268)  
9B (26C)  
9C (270)  
9D (274)  
9E (278)  
9F (27C)  
R
R
R
W
W
W
R
R
R
8
8
8
8
8
8
8
8
8
8
8
8
1st NFIQ Interrupt status after mask  
1st NFIQ Interrupt status without mask  
1st NFIQ Interrupt mask to be used  
1st NFIQ Set maskbit control input register  
1st NFIQ Clear maskbit control input register  
1st NFIQ Clear interrupt status register  
1st NIRQ Interrupt status after mask  
1st NIRQ Interrupt status without mask  
1st NIRQ Interrupt mask to be used  
00  
00  
00  
00  
00  
00  
00  
00  
IRQ2_ENSET  
IRQ2_ENCLR  
IRQ2_ACK  
W
W
W
00  
00  
00  
1st NIRQ Set maskbit control input register  
1st NIRQ Clear maskbit control input register  
1st NIRQ Clear interrupt status register  
IRQ3_ST  
194 (650)  
195 (654)  
196 (658)  
197 (65C)  
R
R
R
W
8
8
8
8
00  
00  
00  
00  
2nd NFIQ Interrupt status after mask  
2nd NFIQ Interrupt status without mask  
2nd NFIQ Interrupt mask to be used  
2nd NFIQ Set maskbit control input register  
IRQ3_STR  
IRQ3_EN  
IRQ3_ENSET  
90  
MTC-20285 240300 [91]  
MTC-20285  
IRQ3_ENCLR  
IRQ3_ACK  
IRQ4_ST  
IRQ4_STR  
IRQ4_EN  
IRQ4_ENSET  
IRQ4_ENCLR  
IRQ4_ACK  
198 (660)  
199 (664)  
19A (668)  
19B (66C)  
19C (670)  
19D (674)  
19E (678)  
19F (67C)  
W
W
R
R
R
W
W
W
8
8
8
8
8
8
8
8
00  
00  
00  
00  
00  
00  
00  
00  
2nd NFIQ Clear maskbit control input register  
2nd NFIQ Clear interrupt status register  
2nd NIRQ Interrupt status after mask  
2nd NIRQ Interrupt status without mask  
2nd NIRQ Interrupt mask to be used  
2nd NIRQ Set maskbit control input register  
2nd NIRQ Clear maskbit control input register  
2nd NIRQ Clear interrupt status register  
Parallel I/O  
PAB_OUT  
PAB_IN  
A0 (280)  
A1 (284)  
A2 (288)  
RW  
R
8
00  
00  
00  
bit[7..4]: PA output data register  
bit[3:0]: PB output data register  
bit[7..4]: PA input data register  
bit[3:0]: PB input data register  
bit[7..4]: PA direction control register  
(0 = input)  
8
8
PAB_DIR  
RW  
bit[3:0]: PB direction control register  
(0 = input)  
PCD_OUT  
PCD_IN  
A3 (28C)  
A4 (290)  
A5 (294)  
RW  
R
8
8
8
00  
00  
00  
bit[7..4]: PC output data register  
bit[3:0]: PD output data register  
bit[7..4]: PC input data register  
bit[3:0]: PD input data register  
bit[7..4]: PC direction control register  
(0 = input)  
PCD_DIR  
RW  
bit[3:0]: PD direction control register  
(0 = input)  
PEF_OUT  
PEF_IN  
A6 (298)  
A7 (29C)  
A8 (2A0)  
RW  
R
8
8
8
00  
00  
00  
bit[7..4]: PE output data register  
bit[3:0]: PF output data register  
bit[7..4]: PE input data register  
bit[3:0]: PF input data register  
bit[7..4]: PE direction control register  
(0 = input)  
PEF_DIR  
RW  
bit[3:0]: PF direction control register  
(0 = input)  
PGH_OUT  
PGH_IN  
A9 (2A4)  
AA (2A8)  
AB (2AC)  
RW  
R
8
8
8
00  
00  
00  
bit[7..4]: PG output data register  
bit[3:0]: PH output data register  
bit[7..4]: PG input data register  
bit[3:0]: PH input data register  
bit[7..4]: PG direction control register  
(0 = input)  
PGH_DIR  
RW  
bit[3:0]: PH direction control register  
(0 = input)  
GCI Router ext.  
See GCI  
Router  
B0-BA  
(2C0-2E8)  
See GCI Router section  
Timers and Watchdog  
TI_1L  
TI_1M  
TI_2L  
C0 (300)  
C1 (304)  
C2 (308)  
RW  
RW  
RW  
8
8
8
FF  
FF  
FF  
timer 1 LSB  
R: counter value  
W: initial value  
timer 1 MSB  
R: counter value  
W: initial value  
timer 2 LSB  
R: counter value  
W: initial value  
91  
MTC-20285 240300 [92]  
MTC-20285  
TI_2M  
C3 (30C)  
C4 (310)  
RW  
RW  
8
8
FF  
timer 2 MSB  
R: counter value  
W: initial value  
Timer command register:  
Timer 1:  
TI_CMD  
00  
bit[0]: count  
(= 1:counting; = 0:not counting)  
bit[1]: init  
(set to 1 to re-initialize; self-clearing bit)  
bit[2]: fast  
(= 1: fast clock = Xtal/4; = 0: slow clock  
= Xtal/16)  
bit[3]: capEn  
(= 1:capture enabled; = 0:disabled)  
(cleared by HW when captured)  
Timer 2:  
bit[4]: count  
(= 1:counting; = 0:not counting)  
bit[5]: init  
(set to 1 to re-initialize; self-clearing bit)  
bit[6]: fast  
(= 1: fast clock = Xtal/4; = 0: slow clock  
= Xtal/16)  
bit[7]: /  
(not used)  
TI_C1L  
TI_C1M  
TI_CSEL  
C5 (314)  
C6 (318)  
C7 (31C)  
R
R
RW  
8
8
2
FF  
FF  
0
timer 1 capture register: LSB  
timer 1 capture register: MSB  
capture source selection register:  
- 00: CI change (default)  
- 01: external interrupt IT  
- 10: PB input port change  
- 11: PA input port change  
WD_SC  
C8 (320)  
8
F
Watchdog status and control register  
bit[7..4, 1..0]: Init_value selection  
(See Watchdog pages)  
RW  
bit[3..2]: State of watchdog FSM  
(Read only)  
-
-
-
-
00: init and count  
01: unlock1  
10: unlock2  
R
11: disable (default)  
WD_MAGIC  
C9 (324)  
RW  
8
00  
Watchdog magic word register:  
- value written: command issued  
- value = DC: Kick command  
- value = A5: Magic1-word command  
- value = 5A: Magic2-word command  
- value = AF: Magic3-word command  
92  
MTC-20285 240300 [93]  
MTC-20285  
4. POWER MANAGEMENT  
To measure power dissipation, we consider next equation:  
P = PBase + a f ASB + PClkOut + PApb + PHdlc + PUart  
+ PUsb  
1 /2  
(1)  
Each of the components of this equation will now be explained and measured in  
the next chapters.  
PBase  
Configuration settings:  
• We work with maximal power  
supply: 3.45V.  
• All Gci lines work at 512kHz.  
• There is a path from the CPU  
register to U/B1/burst0/upstream,  
via U/B1/burst0/downstream to  
S/B1/burst0/downstream and  
S/B1/burst0/upstream. The rest  
of the lines are idle.  
”CurrentMeasLowActivity512”. This  
program initialises ITCC with the  
settings that are mentioned above.  
The configuration results in a power  
dissipation of (6.4mA) * (3.45V) =  
22mW  
Obsevation:  
To have a view of the influence of  
the Gci clock on the global power  
dissipation, the same experiment was  
done for a Gci clock frequency of  
4.096MHz:  
• Apb clock is divided maximally.  
• All clocks are stopped, USB clock  
included.  
• The ARM is suspended.  
• !!! The ARM clock is first divided  
maximally before the ARM is  
suspended. This is due to the fact  
that disabling the ARM doesn’t stop  
the Asb clock. As a consequence,  
memory access is not disabled  
when the ARM is suspended.  
To measure the current, we dis-  
connected all the chip VccIO pins  
and connected them, via an Ampere  
meter, with an external power supply.  
Afterwards we executed the program  
“CurrentMeasLowActivity4096”.  
This configuration results in a power  
dissipation of (7.7mA) * (3.45V) =  
26.6mW  
To measure the current, we dis-  
connected all the chip VccIO pins  
and connected them, via an Ampere  
meter, with an external power supply.  
Afterwards we executed the program  
In the rest of the power measurement  
we will proceed with a 512kHz Gci  
clock.  
93  
MTC-20285 240300 [94]  
MTC-20285  
The term a.fApb  
One waitcycle,  
via U/B1/burst0/downstream to  
S/B1/burst0/downstream and  
S/B1/burst0/upstream. The rest of  
the lines are idle.  
• Apb clock is divided maximally.  
• All clocks are stopped, USB clock  
included.  
• The ARM frequency is manipulated  
and the code is compiled in thumb  
mode.  
• 16 bit access for the memory.  
• One waitcycle for memory access.  
16 bit memory access  
To measure the influence of the ASB  
clockfrequency on power dissipation,  
we repeat the experiment of 1.1.1 for  
different ASB clock frequencies. After  
initialisation, the ARM performs a  
while loop.  
Configuration settings:  
• We work with maximal power  
supply: 3.45V.  
• All Gci lines work at 512kHz.  
• There is a path from the CPU  
register to U/B1/burst0/upstream,  
Execute the program “PowerFormula”  
and vary the ASB clock frequency.  
Measure the current:  
CLK_2 Value  
ARM clock (MHz) APB clock (kHz) Current (mA)  
P2 (mW) Linear regression2  
Disabled  
0
1.024  
1.097142857  
1.28  
0
32  
6.13  
6.6  
6.7  
21.0872  
20.72168526  
23.35444624  
23.5425006  
24.01263649  
24.67082674  
25.65811211  
27.30358772  
28.61996821  
30.59453895  
33.88549018  
40.46739265  
60.21310004  
99.70451481  
15  
14  
12  
10  
8
6
5
4
3
22.704  
23.048  
34.28571429  
40  
48  
6.85  
7.07  
7.31  
7.88  
8.29  
8.94  
9.97  
12.08  
18.06  
28.64  
23.564  
1.536  
1.92  
24.3208  
25.1464  
27.1072  
28.5176  
30.7536  
34.2968  
41.5552  
62.1264  
98.5216  
60  
2.56  
80  
3.072  
3.84  
5.12  
7.68  
15.36  
30.72  
96  
120  
160  
240  
480  
960  
2
1
0
Slope  
Interception  
2.571056  
20.72169  
94  
MTC-20285 240300 [95]  
MTC-20285  
Zero waitcycles,  
via U/B1/burst0/downstream  
to S/B1/burst0/downstream and  
S/B1/burst0/upstream. The rest  
of the lines are idle.  
• Apb clock is divided maximally.  
• All clocks are stopped, USB clock  
included.  
16 bit memory access  
The same test is repeated with 0  
waitcycles. The maximum ARM  
clock frequency in this configuration  
in 15MHz.  
• The ARM frequency is manipulated  
and the code is compiled in thumb  
mode.  
• 16 bit access for the memory.  
• Zero waitcycles for memory access.  
Configuration settings:  
• We work with maximal power  
supply: 3.45V.  
• All Gci lines work at 512kHz.  
• There is a path from the CPU  
register to U/B1/burst0/upstream,  
Measurements:  
CLK_2 Value  
ARM clock (MHz) APB clock (kHz) Current (mA)  
P2 (mW)  
21.0872  
93.396  
Disabled  
0
0
6.13  
1
15.36  
480  
27.15  
Slope  
Interception  
4.7076  
20.72169  
Zero waitcycles,  
8 bit memory access  
register to U/B1/burst0/upstream,  
via U/B1/burst0/downstream to  
S/B1/burst0/downstream and  
S/B1/burst0/upstream. The rest  
of the lines are idle.  
• Apb clock is divided maximally.  
• All clocks are stopped, USB clock  
included.  
The same test is repeated with 0  
waitcycles and 8 bit memory access.  
The maximum ARM clock frequency  
in this configuration in 15MHz.  
Configuration settings:  
• We work with maximal power  
supply: 3.45V.  
• The ARM frequency is manipulated  
and the code is compiled in thumb  
mode.  
• All Gci lines work at 512kHz.  
• There is a path from the CPU  
• 8 bit access for the memory.  
• Zero waitcycles for memory access.  
CLK_2 Value  
ARM clock (MHz) APB clock (kHz) Current (mA)  
P3 (mW) Linear regression3  
Disabled  
0
0
6.49  
22.3256  
24.4928  
25.5592  
27.3824  
30.2376  
35.9136  
43.0688  
63.3992  
22.04059963  
24.80565931  
25.81113556  
27.22508654  
30.33577869  
35.86589806  
42.77854728  
63.51649493  
15  
11  
8
5
3
1.024  
32  
7.12  
1.396363636  
1.92  
43.63636364  
7.43  
7.96  
8.79  
60  
96  
3.072  
5.12  
7.68  
15.36  
160  
240  
480  
10.44  
12.52  
18.43  
2
1
Slope  
Interception  
2.700254  
22.0406  
95  
MTC-20285 240300 [96]  
MTC-20285  
One waitcycle,  
S/B1/burst0/downstream and  
S/B1/burst0/upstream. The rest  
of the lines are idle.  
• Apb clock is divided maximally.  
• All clocks are stopped, USB clock  
included.  
• The ARM frequency is manipulated  
and the code is compiled in thumb  
mode.  
8 bit memory access  
The same test is repeated with 1  
waitcycle and 8 bit memory access.  
Configuration settings:  
• We work with maximal power  
supply: 3.45V.  
• All Gci lines work at 512kHz.  
• There is a path from the CPU  
register to U/B1/burst0/upstream,  
via U/B1/burst0/downstream to  
• 8 bit access for the memory.  
• One waitcycle for memory access.  
Measurements:  
CLK_2 Value  
ARM clock (MHz) APB clock (kHz) Current (mA)  
P3 (mW)  
22.3256  
69.7632  
Disabled  
0
0
6.49  
0
30.72  
960  
20.28  
Slope  
Interception  
1.5442  
22.0406  
Chart  
The following chart summarises the  
performed measurements:  
Power (mW)  
Power management  
110  
100  
90  
MP 16bit/1WTC  
LR 16bit/1WTC  
MP 8bit/0WTC  
LR 8bit/0WTC  
MP 16bit/0WTC  
MP 8bit/1WTC  
80  
70  
60  
50  
40  
MP= measurement points  
LR= linear regression on the MP's  
30  
20  
0
5
10  
15  
20  
25  
30  
35  
ARM frequency (MHz)  
Power Management  
96  
MTC-20285 240300 [97]  
MTC-20285  
PClkOut  
PHdlc  
UART interfaces by using the same  
mechanism as in Error! Reference  
source not found.  
After building the program which you  
can find in “CurrentMeasHighActivity”,  
we measure a power dissipation of  
171.0mW. This is a difference of  
171.0mW – 168.2mW = 2.8mW.  
To measure the influence of CkOut  
on power dissipation, we start from  
the experiment in 1.1.2.1 and a ASB  
clock frequency of 30MHz (for this  
experiment we measured 98.5mW).  
After enabling CkOut with a minimal  
division factor, we measure a power  
dissipation of 99.76mW. This is a  
difference of 99.76mW - 98.5mW =  
1.24mW.  
To measure the influence of the HDLC  
cells on power dissipation, we start  
from the experiment in 1.1.4 (for this  
experiment we measured 156.6mW).  
Additionally, we will simulate normal  
operation on the HDLC cells by using  
the same mechanism as in Error!  
Reference source not found.  
After building the program which you  
can find in “CurrentMeasHighActivity”,  
we measure a power dissipation of  
168.2mW. This is a difference of  
168.2mW – 156.6mW = 11.59mW.  
PUsb  
To measure the influence of USB on  
power dissipation, we start from the  
experiment in 1.1.6 (for this experiment  
we measured 171mW). Additionally,  
we will simulate normal operation on  
the USB interfaces, performing a con-  
figuration of the device by the host.  
Run the program “CurrentMeasHigh-  
Activity” and program the host to  
configure the device. We measure  
a power dissipation of 191.6mW.  
This is a difference of 191.6mW –  
171.0mW = 20.6mW.  
PApb  
To measure the influence of the APB  
clock on power dissipation, we start  
from the experiment in 1.1.3 (for this  
experiment we measured 99.76mW).  
After minimizing the division factor of  
the APB clock, we measure a power  
dissipation of 156.6mW. This is a  
difference of 156.6mW – 99.76mW  
= 56.86mW.  
PUart1/2  
To measure the influence of the Uart  
interfaces on power dissipation, we  
start from the experiment in 1.1.5  
(for this experiment we measured  
168.2mW). Additionally, we will  
simulate normal operation on the  
Conclusion  
P = PBase + a f ASB + PClkOut + PApb + PHdlc + PUart  
+ PUsb  
1 /2  
or  
P = PPS ( f ASB ) + PClkOut + PApb + PHdlc + PUart  
+ PUsb  
1 /2  
and  
PPS ( f ASB ) = PBase + a f ASB  
(2)  
97  
MTC-20285 240300 [98]  
MTC-20285  
values:  
P
Base = 21.5mW  
α (mW/MHz)  
16-bit access  
8-bit access  
0 waitcycles  
1 waitcycle  
4.71  
2.57  
2.7  
1.54  
MW  
PClkOut  
PApb  
Power save  
CLK_2 = 0x90  
CLK_3[3:2] = 3  
No hdlc interrupts;  
almost no Gci activity  
Uarts disabled:  
CLK_3(bit1 = 1, bit4 = 1)  
Usb disabled:  
Activity  
CLK_2 = 0x00  
CLK_3[3:2] = 0  
Hdlc1/2/3/4/5 full activity  
0
~0  
~0  
1.24  
56.86  
11.59  
PHdlc  
PUart  
PUsb  
0
2.8  
Uart1 and Uart2 full activity  
USB activity  
~0  
20.6  
USB_DCMD(bit3 = 1)  
P
P
min = PBase = 21.5mW  
max = 100mW -> 16bit/Thumb mode  
98  
MTC-20285 240300 [99]  
MTC-20285  
First approximation equation  
If we consider:  
1
# bits  
MIPS =  
?
? f ASB  
(WTC + 1) 16bits  
then (2) becomes:  
1
# bits  
P = PBase + ß ?  
?
? f ASB + PClkOut + PApb + PHdlc + PUart  
+ PUsb  
1/2  
(WTC + 1) 16bits  
or  
P = PBase + ß ? MIPS + PClkOut + PApb + PHdlc + PUart  
+ PUsb  
1/2  
and  
1
# bits  
a (# bits, WTC ) = ß ?  
?
(WTC + 1) 16bits  
(3)  
We become a value ß that is  
independent of the number of access  
bits and the waitcycles. A value for ß  
is estimated out of the 4 different  
values of α.  
1
# bits  
P = PBase + ß ?  
?
? f ASB + PClkOut + P Apb + P Hdlc + PUart  
+ PUsb  
1 /2  
(WTC + 1) 16bits  
ß = 5.6 mW/MIPS  
99  
MTC-20285 240300 [100]  
MTC-20285  
Sequence of instructions to limit power consumption  
ITCC[CHIP_WTC1] = 0x11;  
ITCC[CHIP_WTC2] = 0x11;  
ITCC[CHIP_WTC3] = 0x11;  
ITCC[CLK_GCI] = 0x2a;  
ITCC[USB_DCMD] = 0x08;  
ITCC[CLK_1] = 0x9f;  
-> 1 wait-cycle for memory access.  
-> All Gci clocks working on 512kHz  
-> USB clocking disabled  
-> CKOUT disabled  
ITCC[CLK_3] = 0x1e;  
ITCC[CLK_2] = 0x9f;  
-> UART clocks disabled and APB clock lowest speed  
-> ARM clock disabled and maximally divided  
100  
MTC-20285 240300 [101]  
MTC-20285  
5. DEBUG INTERFACE AND ATE TEST  
The JTAG interface isolates and/or  
accesses the ARM7TDMI core and  
special purpose test registers. This  
interface has multiple functions as  
follows:  
The JTAG interface is compatible  
with the 1149.1 IEEE standard, as  
described in the ARM7TDMI data  
sheet. The TAP controller writes a  
4-bit instruction in the instruction  
register. For more information on  
the instruction dictionary that is  
implemented, refer to the ARM7TDMI  
data sheet.  
1. ATE test mode, puts the MTC-  
20285 in a specific test mode.  
2. External Boundary Scan.  
The SCAN_N instruction selects a  
scan chain by writing one of the  
following 4-bit codes into the Scan  
Chain Select Register:  
3. Software debug monitoring, for  
use during normal and functional  
operation.  
Scan chain  
Chain 0:  
Chain 1:  
Chain 2:  
Chain 3:  
Chain 4:  
Chain 8:  
Chain 15:  
4-bit code  
0000  
0001  
0010  
0011  
0100  
1000  
1111  
Function  
ARM Macrocell scan test  
Debug  
ICEbreaker programming  
External boundary scan  
Reserved  
Usage  
ATE (ARM test)  
Demon  
Demon  
Ext. boundary scan  
Reserved  
MTC-20285 Test configuration register  
ATE  
The MTC-20285 has boundary scan  
cells added next to the I/O cells in  
order to support external boundary  
scan (chain 3) of the MTC-20285 on  
PCB level. Note that the MTC-20280  
did not have this support.  
resistors. Therefore the JTAG I/O pins  
of the MTC-20285 are provided with  
pull-ups (TDI, TMS, TCK) and a pull-  
down for the active low reset input  
(NTRST), such that no external  
pull-ups / pull-downs are required  
for this interface.  
The IEEE 1149.1 standard requires  
pull-up resistors on the JTAG ‘TDI’ and  
‘TMS’ input ports. The ARM7TDMI  
core does not implement any pull-up  
Also the pins may be left unconnected  
(DNC) when the interface is not used  
in normal operation.  
101  
MTC-20285 240300 [102]  
MTC-20285  
Debug Monitoring  
ATE Test  
A Debug Host computer with appro-  
priate protocol converter can be  
connected to the JTAG interface to  
control the MTC-20285 in normal  
operation mode.  
The MTC-20285 is a full digital chip,  
and requires the following tests:  
Test  
Description  
Test Mode  
ATPG  
ARM  
BIST  
NandTree  
OutLevel  
IddQ  
Glue logic testing  
ARM Core testing  
Integrated RAM test  
Input level testing  
Output level testing  
2
1
1
3
3
2
3
The JTAG interface of the MTC-20285  
gives access to the ARM7TDMI core  
with hardware support for debugging,  
TAP controller and integrated  
Icebreaker. See ARM7TDMI  
documentation for more information.  
Esd/Latchup  
In order to perform these tests, a  
special purpose test configuration  
register (TestConf) is needed, which  
must be downloaded via the JTAG  
interface with the value shown in the  
previous table. When in a specific  
test-mode, the I/O pin functions are  
redefined.  
Note that after JTAG reset, the Test-  
Conf register is reset to value 000,  
corresponding to the MTC-20285  
functional mode.  
The following instructions need to  
be sent via the JTAG to modify the  
test mode:  
IR register  
DR register = 1111  
IR register = 0000  
DR register = 00000abc  
= 0010  
: SCAN_N JTAG instruction  
: select the scan chain 15  
: EXTEST JTAG instruction  
: testConfig register content  
[a]: by-pass of the Reset synchronization  
[b,c]: 2-bit value representing the test mode  
102  
MTC-20285 240300 [103]  
MTC-20285  
External Boundary Scan  
Test Mode 1: Test Macro’s  
Output levels  
The external boundary scan chain is  
enabled by selecting chain 3 using  
the SCAN_N instruction. It contains  
1 boundary scan cell per I/O pin,  
except for the JTAG pins (TDI, TDO,  
TMS, TCK, NTRST) and the XTAL  
pins (XTAL1, XTAL2, USB_XTAL1,  
USB_XTAL2). The chain contains 110  
boundary scan cells, starting at pin 1  
(DQ0) and ending at pin 134 (PA3).  
TestConfig register = 0000101  
All the output and bi-directional pins  
can be forced to GND and VDD levels,  
so their output levels can be checked.  
ARM  
Level GND:  
DIA = ‘0’  
DIU = ‘1’  
DIS = ‘0’  
Level VDD:  
DIA = ‘0’  
DIU = ‘0’  
DIS = ‘1’  
Test vectors applied and checked  
exclusively via the JTAG interface.  
BIST  
NOTES:  
The 6 internal RAMS are checked via  
dedicated logic.  
• Restriction: No boundary scan cells  
are inserted on any of the tri-state  
enable signals of bi-directional and  
tri-state output pins.  
ESD and Latchup  
Oscillators and PLL block  
For ESD and Latchup testing, the bi-  
directional and tri-state pins are put in  
tri-state.  
• ‘HIGHZ’ instruction support: Only  
bi-direction pins and output pins  
that are tri-state in normal mode are  
driven in tri-state during HIGHZ.  
That is, output pins that are not tri-  
state in normal mode, are not  
• The 30.72 MHz oscillator / PLL  
output is seen on pin CKOUT.  
• The 48 MHz oscillator output is  
seen on pin USB_CFG.  
DIA = ‘1’  
DIU = don’t care  
DIS = don’t care  
driven in tri-state during HIGHZ.  
Test mode 2: Electrical Tests  
TestConfig register = 00000111  
This mode permits:  
• control of the direction of the bi-  
directional I/O’s  
• level measurement of the output pins  
- pin DIA: forceZ (force all bi-  
directional I/O’s in input mode)  
- pin DIU: force0 (force all output  
level at GND, bi-direction also if  
forceZ is not active)  
- pin DIS: force1 (force all output  
level at VDD, bi-direction also if  
forceZ is not active)  
Nand-tree  
All the input pins, except DIA, and all  
the bi-directional I/O’s are in the nand-  
tree. So the input levels of all inputs  
and bi-directional pins can be checked.  
A1 = nand-tree output  
DIA = ‘1’  
DIU = don’t care  
DIS = don’t care  
103  
MTC-20285 240300 [104]  
MTC-20285  
Electrical Characteristics and Ratings  
This section describes the characteris-  
tics of the TTL and CMOS I/O cells, as  
described in the standard cell library.  
Which I/O cells are CMOS or TTL  
compatible as well as the rated buffer  
current, is found in section 2.4. Note  
also that some inputs are Schmitt  
Trigger inputs.  
Table 41: TTL DC Electrical Characteristics*  
Symbol  
VIH  
VIL  
VOH  
VOL  
Vt+  
Vt-  
CIN  
COUT  
Parameter  
Conditions  
Min  
2.0  
Max  
Unit  
V
V
V
V
V
V
pF  
pF  
High Level Input Voltage  
Low Level Input Voltage  
High Level Output Voltage  
Low Level Output Voltage  
Schmitt trigger rising threshold  
Schmitt trigger falling threshold  
Input Capacitance, all inputs  
Load Capacitance, all outputs  
0.8  
Ioh = rated buffer current  
Iol = rated buffer current  
2.4  
0.4  
1.9  
1.3  
1
1.3  
0.8  
100  
* Rated for Vdd = 2.7V to 3.6V and Ambient Temp from -55 to +125 deg  
Table 42: CMOS DC Electrical Characteristics*  
Symbol  
VIH  
VIL  
VOH  
VOL  
Vt+  
Vt-  
CIN  
COUT  
Parameter  
Conditions  
Min  
80% of VDD  
Max  
Unit  
V
V
V
V
V
V
pF  
pF  
High Level Input Voltage  
Low Level Input Voltage  
High Level Output Voltage  
Low Level Output Voltage  
Schmitt trigger rising threshold  
Schmitt trigger falling threshold  
Input Capacitance, all inputs  
Load Capacitance, all outputs  
20% of VDD  
Ioh = rated buffer current  
Iol = rated buffer current  
85% of VDD  
0.4  
2.5  
1.3  
1
1.8  
0.8  
100  
* Rated for Vdd = 2.7V to 3.6V and Ambient Temp from -55 to +125 deg C  
104  
MTC-20285 240300 [105]  
MTC-20285  
6. ABSOLUTE MAXIMUM RATINGS, OPERATING RANGES & STORAGE CONDITIONS  
Absolute Maximum Ratings  
Stresses above those listed in this  
section can cause permanent device  
failure. Exposure to absolute maximum  
ratings for extended periods can  
affect device reliability.  
Symbol  
VDD  
VIN  
Conditions  
Min  
Max  
Unit  
V
V
power supply voltage  
input voltage on any pin  
input voltage on any 5V tolerant pin  
VSS - 0.3  
VSS - 0.3  
VSS - 0.3  
3.63  
VDD + 0.3 AND < 3.63  
5.5  
VIN5  
V
Operating Ranges  
Operating ranges define the limits for  
functional operation and schematic  
characteristics of the device as  
described above, and for the  
reliability specifications as listed  
in section 7. Functionality outside  
these limits is not implied.  
used, the system should be designed  
such that no 5V inputs are applied  
when the 3.3V power supply is not  
present as this limits the lifetime of the  
device. However, if the cumulated  
time when this situation occurs does  
not exceed 5 hours (18000 s) over  
the total life of the device, the impact  
on the total lifetime will remain  
negligible.  
Total cumulative dwell time outside the  
normal power supply voltage range  
or the ambient temperature under bias  
must be less than 0.1% of the useful  
life as defined in section 7.3.  
Therefore the 5V and 3.3V power  
supplies must always be present  
together, except during the short  
power on/off transient states which  
rarely occur.  
Furthermore, for the 5V tolerant I/O  
cells and in case a 5V interface is  
Symbol  
VDD  
PTOT (1)  
PPD (2)  
Tamb  
Conditions  
Power supply  
Full operation power consumption  
Stand-by power consumption  
Ambient temperature  
Min  
3.0  
Max  
3.45  
200  
25  
Unit  
V
mW  
mW  
deg C  
-40  
85  
NOTES:  
1. Power with all blocks of the MTC-20285 operational and maximum clock frequencies used at nominal power supply  
voltage (3.3V) + 5%.  
2. Power with all blocks of the MTC-20285 operational, except the ARM which is in power down at nominal power  
supply voltage (3.3V) + 5%.  
105  
MTC-20285 240300 [106]  
MTC-20285  
Operating Environment  
The components are designed for  
applications in equipment for indoor  
operation with convection air flow  
and not forced cooling.  
Storage and Transportation Conditions  
The rated storage and transportation  
temperature range prior to printed  
board assembly is as follows:  
-55 deg C to +110 deg C  
In case of IC deliveries in dry bag, the  
conditions of time and humidity during  
storage are specified in Alcatel  
Microelectronics specification 16650.  
In case of IC deliveries not in dry bag,  
the conditions for a maximum storage  
period of 2 years are as follows:  
Ambient Temperature (deg C)  
Relative Humidity (%)  
20  
30  
40  
50  
80  
70  
60  
50  
106  
MTC-20285 240300 [107]  
MTC-20285  
7. QUALITY  
Product Acceptance Tests  
All products are tested 100%, at  
ambient temperature with full  
temperature range guard band, by  
means of production test programs  
that guarantees optimal coverage of  
the product specification.  
Lot-by-Lot Acceptance Tests  
Lot conformance to specification  
of products delivered in volume  
production is guaranteed by means  
of following tests:  
Test  
Conditions  
AQL Level  
Inspection Level  
Electrical, functional  
and parametric  
External visual  
To product specification at Tamb = 25 deg C  
with full temperature range performance guard band.  
Physical damage to body or leads.  
Dimensions affecting PCB manufacturability such as  
bent leads, coplanarity, etc  
0.04  
II  
0.04  
0.65  
II  
External visual  
Correctness of marking  
II  
Delivery Lot Certification  
Each delivery lot is accompanied by  
a Certificate of Conformance.  
Quality System  
A quality system with certification  
against ISO9001 is maintained.  
107  
MTC-20285 240300 [108]  
MTC-20285  
8. RELIABILITY SPECIFICATION  
In order to guarantee the specified  
reliability, Alcatel Microelectronics  
performs a product qualification  
for each product. This qualification  
is described in the Alcatel Micro-  
electronics specification document  
15503.  
in the Alcatel Microelectronics  
specification documents 15501  
(assembly) and 15502 (wafer  
fabrication).  
Monitoring of assembly and wafer  
fabrication is performed according  
to the Alcatel Microelectronics  
specifications 15910 and 15205.  
These monitoring tests include the  
solderability tests.  
In order to minimize reliability testing,  
structural similarity is applied.  
Methods and criteria are defined  
The Intrinsic Failure Rate  
When operating the component under  
benign conditions, the intrinsic failure  
rate will not exceed:  
• 5000 ppm during the early failure  
period defined below  
• the long term failure rate as  
specified in the table below after  
the early failure period  
Tjunction (deg C)  
Early Failure Period (Hrs)  
Long Term Failure Rate (FIT)  
55  
65  
75  
85  
90  
8760  
4000  
2000  
1000  
800  
100  
200  
400  
800  
1000  
Failures due to external over stresses  
such as ESD, voltage and current over  
stress (e.g. due to EMI), excessive  
mechanical and thermal shocks, are  
not included in these figures (see  
section 7.2).  
108  
MTC-20285 240300 [109]  
MTC-20285  
External Stress Immunity  
Electrostatic Discharge  
The device withstands 1000 Volts  
Standardized Human Body Model  
ESD pulses when tested according  
to MIL883C method 3015.  
Latch-up  
Static latch-up protection level is  
100 mA at 25 deg C when tested  
according to JEDEC no. 17.  
The Useful Life  
The useful life, when used under  
moderate conditions, is at least 10  
years. The term useful life is specified  
as the point in the lifetime where the  
intrinsic failure rate exceeds the  
longterm failure rate specified above.  
109  
MTC-20285 240300 [110]  
MTC-20285  
9. ABBREVIATIONS AND CONVENTIONS  
ASB: Advanced System Bus  
APB: Advanced Peripheral Bus  
FIFO: First In First Out  
FSM: Finite State Machine  
LSB: Least Significant bit  
LT: Line Termination  
MSB: Most Significant bit  
NC: Not connected  
NT: Network Termination  
PABX: Private Automatic Branch  
Exchange  
• Upstream:  
direction from subscriber to  
exchange  
Signals and their numerical types are  
described with the following symbols:  
• us<wl,bp>:  
• Downstream:  
direction from exchange to  
subscriber  
unsigned (i.e. positive) fixed point  
signal with length = ‘wl’ bits and  
‘bp’ number of fractional bits (for  
example: us<4,1> (value = 4,5) =  
‘100.1’)  
• TX:  
Transmit direction of a module  
corresponds to an output stream  
of the module  
• tc<wl,bp>:  
PLL: Phase Locked Loop  
SIC: S-Bus Interface Circuit  
TE: Terminal Equipment  
USB: Universal Serial Bus  
two’s complement representation  
of fixed point signal with length =  
‘wl’ bits and ‘bp’ number of  
fractional bits (for example:  
tc<4,1> (value = -3,5) = ‘100.1’)  
• RX:  
Receive direction of a module  
corresponds to an input stream  
of the module  
• SIGNAME[wl-1,0]:  
signal represented as a bit vector  
of ‘wl’ bits with the MSB being bit  
SIGNAME[wl-1] and the LSB being  
bit SIGNAME[0]  
110  
MTC-20285 240300 [111]  
MTC-20285  
Table of Contents  
1. ISDN/IDSL + USB TERMINAL CONTROLLER ....................................................................................................1  
• General Description ......................................................................................................................................3  
- Clock Generation and Control......................................................................................................................3  
- Memory Bus ..............................................................................................................................................3  
- 3-way GCI Interface....................................................................................................................................3  
- HDLC Controllers........................................................................................................................................3  
- DTMF Decoding ........................................................................................................................................4  
- Serial I/O..................................................................................................................................................4  
- Parallel I/O Ports........................................................................................................................................4  
- Interrupt Control ........................................................................................................................................4  
- Timers / Watchdog ....................................................................................................................................4  
- CPU..........................................................................................................................................................4  
- USB Controller ..........................................................................................................................................4  
2. MECHANICAL DATA, PIN FUNCTIONS AND EXTERNAL COMPONENTS..........................................................5  
• Package and PIn-out ......................................................................................................................................5  
- Package Orientation ..................................................................................................................................6  
• Marking on the Package ................................................................................................................................6  
- Topside Marking (PQFP)..............................................................................................................................6  
- Reverse Side Marking ................................................................................................................................6  
• Delivery........................................................................................................................................................7  
• Pin Description and Assignment ......................................................................................................................7  
- Important Notes on 5 V Tolerant Pins ............................................................................................................7  
• Pin Function in Normal (Non-test) Mode ........................................................................................................11  
• Pin Functions in Test Mode............................................................................................................................14  
• Application Schematic and External Components ............................................................................................14  
3. GENERAL ASPECTS....................................................................................................................................16  
• Convention Upstream / Downstream..............................................................................................................16  
- GCI Frame Formats ..................................................................................................................................17  
- Parameter Updating, Timing and Initial Values ............................................................................................18  
• GCI Router..................................................................................................................................................20  
- Architecture ............................................................................................................................................20  
- Multiplexer ..............................................................................................................................................20  
- Examples ................................................................................................................................................23  
- CPU Registers (ARM ! GCI)........................................................................................................................24  
- RX Registers (GCI ! ARM) ..........................................................................................................................26  
- D/CI Activity Detection..............................................................................................................................27  
- Asynchronous Pull-up / Pull-down ..............................................................................................................28  
• GCI Clocks Generation ................................................................................................................................29  
- Hardware Implementation of the Multiplexing ..............................................................................................30  
• HDLC Formatter ..........................................................................................................................................32  
- Description ..............................................................................................................................................32  
- HDLC Protocol..........................................................................................................................................32  
- Control Registers ......................................................................................................................................32  
• USB Interface USB Disabled..........................................................................................................................40  
- USB Disabled ..........................................................................................................................................40  
- Description ..............................................................................................................................................40  
- USB Logical Architecture............................................................................................................................40  
- Architecture ............................................................................................................................................41  
- USB Ram Memory ....................................................................................................................................41  
111  
MTC-20285 240300 [112]  
MTC-20285  
- USB RX FIFO............................................................................................................................................42  
- USB TX FIFO ............................................................................................................................................43  
- USB CONFIG ..........................................................................................................................................44  
- USB Error Indication..................................................................................................................................44  
- ISDN <-> USB Data Flow Mechanism..........................................................................................................44  
- USB Control/Status Registers......................................................................................................................45  
- Start-up Sequence ....................................................................................................................................49  
- USB Ram Accesses....................................................................................................................................49  
- Device Configuration ................................................................................................................................49  
• Clock Generation ........................................................................................................................................50  
• The ARM7TDMI ..........................................................................................................................................53  
- APB Bridge ..............................................................................................................................................53  
- On-chip Memory ......................................................................................................................................53  
• External Memory Interface ............................................................................................................................54  
- Memory Access Modes ............................................................................................................................54  
- Wait Cycle(s) per Block ............................................................................................................................59  
- Timing ....................................................................................................................................................59  
- Memory Space Organisation ....................................................................................................................60  
• Interrupts ....................................................................................................................................................62  
• External Interrupt..........................................................................................................................................64  
• UART Interfaces ..........................................................................................................................................65  
• Parallel I/O Ports ........................................................................................................................................72  
• Timers ........................................................................................................................................................74  
- Count Down Timers with Interrupt Generation ..............................................................................................74  
• Watchdog Timer..........................................................................................................................................77  
• Hardware Identification Code ......................................................................................................................79  
• CHIP_CFG Registers ....................................................................................................................................80  
• Register Table..............................................................................................................................................81  
- APB Address............................................................................................................................................81  
4. POWER MANAGEMENT ............................................................................................................................93  
5. DEBUG INTERFACE AND ATE TEST............................................................................................................101  
• Debug Monitoring ....................................................................................................................................102  
• ATE Test ..................................................................................................................................................102  
• External Boundary Scan..............................................................................................................................103  
• Electrical Characteristics and Ratings ..........................................................................................................104  
6. ABSOLUTE MAXIMUM RATINGS, OPERATING RANGES AND STORAGE CONDITIONS ................................105  
• Absolute Maximum Ratings ........................................................................................................................105  
• Operating Ranges ....................................................................................................................................105  
• Operating Environment ..............................................................................................................................106  
• Storage and Transportation Conditions ........................................................................................................106  
7. QUALITY..................................................................................................................................................107  
• Product Acceptance Tests............................................................................................................................107  
• Lot-by-lot Acceptance Tests ..........................................................................................................................107  
112  
MTC-20285 240300 [113]  
MTC-20285  
• Delivery Lot Certification ............................................................................................................................107  
• Quality System ..........................................................................................................................................107  
8. RELIABILITY SPECIFICATION ......................................................................................................................108  
• The Intrinsic Failure Rate ............................................................................................................................108  
• External Stress Immunity..............................................................................................................................109  
• The Useful Life ..........................................................................................................................................109  
9. ABBREVIATIONS AND CONVENTIONS ....................................................................................................110  
113  
MTC-20285 240300 [114]  
MTC-20285  
List of Figures  
Figure 1: ISDN/IDSL Terminal Controller - Typical Application................................................................................1  
Figure 2: MTC-20285 - IDSN/IDSL with USB Controller - Block Diagram ................................................................2  
Figure 3: MTC-20285 pin-out names (Top View) ..................................................................................................5  
Figure 4: Package Orientation (top view) ............................................................................................................6  
Figure 5: Topside Marking ................................................................................................................................6  
Figure 6: External Components ........................................................................................................................12  
Figure 7: Upstream and Downstream Convention ..............................................................................................14  
Figure 8: Timing of Register Updating ..............................................................................................................16  
Figure 9: GCI Router Architecture ....................................................................................................................17  
Figure 10: D/CI Activity Detection ....................................................................................................................22  
Figure 11: GCI Clock Generation ....................................................................................................................24  
Figure 12: Multiplexing for the U-GCI Clocks ....................................................................................................26  
Figure 13: HDLC Frame Format ........................................................................................................................28  
Figure 14: USB RX FIFO Block Organisation ......................................................................................................37  
Figure 15: USB TX FIFO Block Organisation ......................................................................................................38  
Figure 16: ISDN <->USB Data Flow Mechanism ................................................................................................39  
Figure 17: ARM7TDMI and Interfaces ..............................................................................................................49  
Figure 18: MTC-20285 - External Memory Connections for ‘Case a’.....................................................................51  
Figure 19: MTC-20285 - External Memory Connections for ‘Case b’.....................................................................51  
Figure 20: MTC-20285 - External Memory Connections for ‘Case c’.....................................................................52  
Figure 21: MTC-20285 - External Memory Connections for ‘Case d’.....................................................................52  
Figure 22: Memory interface............................................................................................................................54  
Figure 23: Timings of the Memory Interface ......................................................................................................55  
Figure 24: ARM Address Space Organisation....................................................................................................56  
Figure 25: Baud Rate Detection Block Diagram ..................................................................................................60  
Figure 26: Watchdog State Machine ................................................................................................................71  
114  
MTC-20285 240300 [115]  
MTC-20285  
List of Tables  
Table 1: Pin Assignment ..................................................................................................................................10  
Table 2: Pin Function and Description................................................................................................................12  
Table 3: GCI Related Components....................................................................................................................13  
Table 4: XTAL Input Related Components ..........................................................................................................13  
Table 5: USB XTAL Input Related Components ....................................................................................................13  
Table 6: Power Supply Decoupling Related Components ....................................................................................13  
Table 7: Hardware Reset Related Components ..................................................................................................13  
Table 8: GCI Frame Formats ............................................................................................................................14  
Table 9: SCR Register Table ............................................................................................................................19  
Table 10: CPU Register Table ..........................................................................................................................20  
Table 11: RX Register Table ............................................................................................................................21  
Table 12: GCI Register Table ..........................................................................................................................23  
Table 13: GCI_PULL Register Table ..................................................................................................................23  
Table 14: CLK_GCI Register Table....................................................................................................................27  
Table 15: Control Registers..............................................................................................................................34  
Table 16: CKOUT Frequency ..........................................................................................................................46  
Table 17: ASB Clock Frequency ......................................................................................................................47  
Table 18: APB Clock Frequency ......................................................................................................................47  
Table 19: Clock Register Table ........................................................................................................................48  
Table 20: Memory Access Modes ....................................................................................................................50  
Table 21: Memory Register Table ....................................................................................................................57  
Table 22: Interrupt Register Table ....................................................................................................................58  
Table 23: Interrupt Mapping ............................................................................................................................58  
Table 24: External Interrupt Register Table ........................................................................................................59  
Table 25: Baud Rate Examples ........................................................................................................................60  
Table 26: Default Register Set ..........................................................................................................................66  
Table 27: Baud Rate Generator Divisor Register Set (selected when LCR[7] 1)......................................................66  
Table 28: Enhanced Register Set (selected when LCR = 0xBF) ..............................................................................66  
Table 29: Port PA: Timer Extended Functions......................................................................................................67  
Table 30: Port PB: UART1 Extended Functions (see section 3.11)..........................................................................67  
Table 31: Port PC: UART2 Access ....................................................................................................................67  
Table 32: Port Register Table............................................................................................................................68  
Table 33: Count Down Timer Modes ................................................................................................................69  
Table 34: Clock Timer Restraints ......................................................................................................................70  
Table 35: Timer Register Table ........................................................................................................................70  
Table 36: Watchdog Count Down Frequency ....................................................................................................72  
Table 37: Watchdog Register Table..................................................................................................................72  
Table 38: Chip Register Table ..........................................................................................................................73  
Table 39: CHIP_CFG Registers ........................................................................................................................73  
Table 40: Address Table..................................................................................................................................83  
Table 41: TTL DC Electrical Characteristics (1)....................................................................................................86  
Table 42: CMOS DC Electrical Characteristics (1) ..............................................................................................87  
115  
MTC-20285 240300 [116]  
MTC-20285  
Alcatel Microelectronics acknowledges the trademarks of all companies referred to in this document.  
This document contains information on a new product.  
Alcatel Microelectronics reserves the right to make  
changes in specifications at any time and without notice.  
The information furnished by Alcatel Microelectronics in  
this document is believed to be accurate and reliable.  
However, no responsibility is assumed by Alcatel  
Microelectronics for its use, nor for any infringements of  
patents or other rights of third parties resulting from its use.  
No licence is granted under any patents or patent rights  
of Alcatel Microelectronics.  
HEADQUARTERS  
MANUFACTURING &  
CUSTOMER SERVICE  
MARKETING &  
DESIGN CENTRE &  
WESTERN EUROPE  
(SALES)  
Excelsiorlaan 44-46  
1930 Zaventem  
Belgium  
SALES OFFICES  
Central Europe  
Arabellastraße 4  
81925 Munich  
Germany  
Stuttgart Office  
Schwieberdingertraße 9  
70435 Stuttgart  
Germany  
W. Europe/UK  
Guildgate House  
Shute End  
Northern Europe  
Box 4121  
Westerring 15  
9700 Oudenaarde  
Belgium  
SE-17104 Solna  
Wokingham RG40 7BH/UK Sweden  
Tel. +32 55 33 24 70  
Fax +32 55 33 27 68  
Tel. +32 2 718 18 11  
Fax +32 2 725 37 49  
Tel. +49 89 920 07 70  
Fax +49 89 910 15 59  
Tel. +49 711 821 45 304 Tel. +44 118 979 7102  
Fax +49 711 821 44 619 Fax +44 118 979 7103  
Tel. +46 8598 49853  
Fax +46 8598 49795  
SALES &  
DESIGN CENTRES  
SALES &  
LOGISTICS OFFICE  
Southern Europe  
10, rue Latécoère, B.P.57  
78140 Vélizy Cedex  
France  
Mediterranean Area  
Via Trento 30  
20059 Vimercate MI  
Italy  
USA  
China  
Taiwan R.O.C.  
M/S 412-115  
1225 N. Alma Road  
Richardson  
20/F Times Square  
500 Zhangyang Road  
Shangai 200122  
P.R. China  
Alcatel Microelectronics  
Tower A, 17F, N°116, Sect 1  
Hsin-Tai 5th Rd, Hsi-Chih,  
Taipei County  
TX 75081-2206  
Taiwan, R.O.C.  
Tel. +33 1 46 32 53 86  
Fax +33 1 46 32 55 68  
Tel. +39 039 686 4520  
Fax +39 039 686 6899  
Tel. +1 972 996 2489  
Fax +1 972 996 2503  
Tel. +86 215 836 8800  
Fax +86 215 054 4550  
Tel. +886 2 2696-2618  
Fax +886 2 2696-2562  
DESIGN OFFICES  
Germany  
Czech Republic  
Videnska 125  
61900 Brno  
Turkey  
USA  
USA  
Königsbrücker Straße 61  
D-01099 Dresden  
Germany  
Alcatel Teletas  
3101 Industrial Drive  
Suite 206, Raleigh  
North Carolina 27609,  
P.O. Box 750699  
Petaluma, CA 94975  
0699  
1 Esensehir Y. Dudullu  
81260 Istanbul, Turkey  
Czech Republic  
Tel. +49 351 898 11 11  
Fax +49 351 898 11 25  
Tel. +420 5 47 125 400  
Tel. +90 216 420 7500  
Tel. +1 919 850 67 31  
Fax +1 919 850 66 89  
Tel. +1 707 665 8013  
Fax +1 707 792 6310  
Fax + 420 5 47 212 751 Fax +90 216 420 7584  
REPRESENTATIVES / DISTRIBUTION  
Europe  
Northern Germany, TRIAS, Moerser Landstraße 408, 47802 Krefeld, Germany, Tel. +49 2151 95 30 111, Fax +49 2151 95 30 115  
UK, Alpha Micro Comp., Springfield House, Cranes Road, Sherborne St. John, Basingstoke, Hampshire RG24 9LJ, Tel. +44 1256 851770, Fax +44 1256 851771  
Spain, Newtek Electronica SA, Centro Empresarial El Plantio, c/Ochandiano 8, 2 Izq., 28023 Madrid, Spain, Tel. +34 91 3076893, Fax +34 91 3729453  
Portugal, Comdist, Rua Entreposto Industrial, 3-20 Sala E Edificio Turia, 2720 Alfragide, Portugal, Tel. +35 1 147 251 90, Fax +35 1 147 25 1 99  
Israel, Newtek, nr5 Yoni Nethanyahu St., Or-Yehuda 60200, Israel, Tel. +972 3 6344 564, Fax +972 3 6344 568  
Asia  
China, Shangai Belling Corp., 810 YiShan Rd., Shangai, China, Tel. +86 21 64850700, Fax +86 21 64854424  
Hong Kong, Pr. Microelectr. Sales, Room 2101/2, 21/F, Westlands Centre, 20 Westlands Rd, Quarry Bay, Tel. +852 29604611, Fax +852 29600185  
Taiwan, Pr. Microelectr. Sales, 3F, No.68, Chou-Tze St., Nei Hu Dist., Taipei 114, Taiwan, R.O.C., Tel. +886 2 8797 6826, Fax +886 2 8797 6827  
USA (Premier Technical Sales)  
East Canada, 43 Pretty Street, Stittsville, Ontario, K2S1N5 Canada, Tel. +1 613 836 1779, Fax +1 613 836 4459  
N. California, 3235 Kiffer Road, Suite 110, Santa Clara, CA 95051, Tel. +1 408 736 2260 (105), Fax +1 408 736 2826  
Arizona, 84 West Cypress St, Phoenix, AZ 85003, Tel. +1 602 254 8952, Fax +1 602 229 1100  
Boston, 33 Boston Post West, Suite 270, Marlboro, MA 01752, Tel. +1 508 460 1730, Fax +1 508 460 1731  
Chicago, 7628 W. Fullerton Avenue, Elorwood Park, IL 60707, Tel. +1 708 583 2372, Fax +1 708 583 2364  
Oregan, 5319 S.W. Westgate Dr. Suite 136, Portland, OR 97221, Tel. +1 503 297 3956, Fax +1 503 297 4956  
Texas, 800 East Campbell Road, Suite 199, Richardson, TX 75081, Tel. +1 972 680 5233, Fax +1 972 680 5234  
Colorado, 1010 Broadview Place, Colorado Springs, CO 80904, Tel. +1 719 632 8340, Fax +1 719 632 1951  
Georgia, 11140 Quailbrook Chase, Duluth, GA 30097, Tel. +1 770 476 1235, Fax +1 770 476 3989  
New Jersey, 1015 Horseshoe Trail, Volley Forge, PA 194820342, Tel. +1 610 783 1919, Fax +1 610 783 6492  
Alcatel Microelectronics  
info@mie.alcatel.be  
http://www.alcatel.com/telecom/micro  

相关型号:

MTC-20400X

MTC-20400X
ETC

MTC-24S

AC-DC Medical
ARCH

MTC-24S-E1

AC-DC Medical
ARCH

MTC-253-0515

250, 350 WATTS MULTIPLE OUTPUT
SLPOWER

MTC-3.3S

AC-DC Medical
ARCH

MTC-3.3S-E1

AC-DC Medical
ARCH

MTC-350

250, 350 WATTS MULTIPLE OUTPUT
SLPOWER

MTC-353-0512

250, 350 WATTS MULTIPLE OUTPUT
SLPOWER

MTC-353-0515

250, 350 WATTS MULTIPLE OUTPUT
SLPOWER

MTC-4015-2R

Projected Capacitive Multi-Touch Screen with 7H Anti-Scratch Surface, up to 20-point Multi-touch
VECOW

MTC-4015-2R010U

Projected Capacitive Multi-Touch Screen with 7H Anti-Scratch Surface, up to 20-point Multi-touch
VECOW

MTC-4015-2R350U

Projected Capacitive Multi-Touch Screen with 7H Anti-Scratch Surface, up to 20-point Multi-touch
VECOW