MX10EXAQI [Macronix]

Microcontroller, 16-Bit, FLASH, 8051 CPU, 30MHz, CMOS, PQCC44, PLASTIC, LCC-44;
MX10EXAQI
型号: MX10EXAQI
厂家: MACRONIX INTERNATIONAL    MACRONIX INTERNATIONAL
描述:

Microcontroller, 16-Bit, FLASH, 8051 CPU, 30MHz, CMOS, PQCC44, PLASTIC, LCC-44

时钟 微控制器 外围集成电路
文件: 总55页 (文件大小:474K)
中文:  中文翻译
下载:  下载PDF数据表文档文件
MX10EXA  
Major Difference  
Feature  
Product  
FLASH  
RAM  
BIT  
Package  
(K BYTES)  
(BYTES)  
(CPU BUS)  
MX10EXAQC  
MX10EXAUC  
MX10EXAQCG  
MX10EXAUCG  
44 PLCC  
40 LQFP  
64 K  
2048  
16  
P/N:PM0625 Specifications subject to change without notice, contact your sales representatives for the most update information.  
REV. 1.0, JUL. 01, 2005  
1
MX10EXA  
XA16-bitMicrocontrollerFamily  
64KFlash/2KRAM,Watchdog,2UARTs  
FEATURE  
Watchdogtimer  
• 4.5V to 5.5V  
• Two enhanced UARTs with independent baud rates  
• Seven software interrupts  
• 64K bytes of on-chip Flash program memory with In-  
System Programming capability  
• Four 8-bit I/O ports, with 4 programmable output  
configurations for each pin  
• Five Flash blocks = two 8k byte blocks and three 16k  
byte blocks  
• 30 MHz operating frequency at 5V  
• Single supply voltage In-System Programming of the  
Flash memory, (VPP=VDD or VPP=12V if desired)  
• Boot ROM contains low level Flash programming  
routines for In-Application Programming and a default  
serial loader using the UART  
• 2048 bytes of on-chip data RAM  
Supportsoff-chipprogramanddataaddressingupto1  
megabyte (20 address lines)  
• Power saving operating modes: Idle and Power-  
Down.Wake-Upfrompower-downviaanexternalinter-  
rupt is supported.  
44-pinPLCC(MX10EXAQC)Commercialgrade  
44-pinLQFP(MX10EXAUC)Commercialgrade  
44-pinPLCC(MX10EXAQI)Industrialgrade  
44-pinLQFP(MX10EXAUI)Industrialgrade  
Threestandardcounter/timerswithenhancedfeatures  
All timers have a toggle output capability  
GENERAL DESCRIPTION  
A default serial loader program in the Boot ROM allows  
In-System Programming (ISP) of the Flash memory with-  
out the need for a loader in the Flash code. User pro-  
grams may erase and reprogram the Flash memory at  
will through the use of standard routines contained in  
the Boot ROM (In-Application Programming).  
The MX10EXA is a member of Philips’ 80C51 XA  
(eXtended Architecture) family of high performance 16-  
bit single-chip microcontrollers.  
The MX10EXA contains 64k bytes of Flash program  
memory, and provides three general purpose timers/  
counters, a watchdog timer, dual UARTs, and four gen-  
eral purpose I/O ports with programmable output con-  
figurations.  
1
PIN CONFIGURATIONS  
44 PLCC  
44 LQFP  
6
1
44  
40  
39  
44  
34  
33  
P0.4/A8D4  
P0.5/A9D5  
P0.6/A10D6  
P0.7/A11D7  
EA/VPP/WAIT  
NC  
P0.4/A8D4  
P0.5/A9D5  
P0.6/A10D6  
P0.7/A11D7  
EA/VPP/WAIT  
NC  
P1.5/TxD1  
P1.6/T2  
7
P1.5/TxD1  
P1.6/T2  
1
P1.7/T2EX  
RST  
P1.7/T2EX  
RST  
P3.0/RxD0  
NC  
P3.0/RxD0  
NC  
12  
34  
MX10EXAQC  
MX10EXAUC  
ALE  
ALE  
P3.1/TxD0  
P3.2/INT0  
P3.3/INT1  
P3.4/T0  
P3.1/TxD0  
P3.2/INT0  
P3.3/INT1  
P3.4/T0  
PSEN  
PSEN  
P2.7/A19D15  
P2.6/A18D14  
P2.5/A17D13  
P2.7/A19D15  
P2.6/A18D14  
P2.5/A17D13  
P3.5/T1/BUSW  
17  
29  
28  
P3.5/T1/BUSW  
11  
12  
23  
22  
18  
23  
Specifications subject to change without notice, contact your sales representatives for the most update information.  
P/N:PM0625  
REV. 1.0, JUL. 01, 2005  
2
MX10EXA  
BLOCK DIAGRAM  
XA CPU Core  
SFR  
Bus  
Program  
Memory Bus  
64K Bytes  
FLASH  
UART0  
Data  
Bus  
2048 Bytes  
Static RAM  
UART1  
Port 0  
Timer 0,1  
Port 1  
Port 2  
Port 3  
Timer 2  
Watchdog  
Timer  
LOGIC SYMBOL  
VDD VSS  
XTAL1  
XTAL2  
T2EX*  
T2*  
TxD1  
RxD1  
A3  
A2  
A1  
A0/WRH  
RST  
EA/WAIT  
PSEN  
ALE  
RxD0  
TxD0  
INT0  
INT1  
T0  
T1/BUSW  
WRL  
RD  
* NOT AVAILABLE ON 40-PIN DIP PACKAGE  
Specifications subject to change without notice, contact your sales representatives for the most update information.  
P/N:PM0625  
REV. 1.0, JUL. 01, 2005  
3
MX10EXA  
PIN DESCRIPTIONS  
MNEMONIC  
PIN. NO.  
TYPE NAMEAND FUNCTION  
PLCC  
1, 22  
23, 44  
LQFP  
16,39  
17,38  
V SS  
V DD  
I
I
Ground: 0V reference.  
Power Supply: This is the power supply voltage for normal, idle, and  
power down operation.  
P0.0-P0.7  
43-36  
37-30  
I/O  
Port 0: Port 0 is an 8-bit I/O port with a user-configurable output type.  
Port 0 latches have 1s written to them and are configured in the quasi-  
bidirectional mode during reset. The operation of port 0 pins as inputs  
and outputs depends upon the port configuration selected. Each port  
pin is configured independently. Refer to the section on I/O port con-  
figuration and the DC Electrical Characteristics for details.  
When the external program/data bus is used, Port 0 becomes the mul-  
tiplexed low data/instruction byte and address lines 4 through 11.  
Port 1: Port 1 is an 8-bit I/O port with a user-configurable output type.  
Port 1 latches have 1s written to them and are configured in the quasi-  
bidirectional mode during reset. The operation of port 1 pins as inputs  
and outputs depends upon the port configuration selected. Each port  
pin is configured independently. Refer to the section on I/O port con-  
figuration and the DC Electrical Characteristics for details.  
Port 1 also provides special functions as described below.  
A0/WRH: Address bit 0 of the external address bus when the external  
data bus is configured for an 8 bit width. When the external data bus is  
configured for a 16 bit width, this pin becomes the high byte write  
strobe.  
P1.0-P1.7  
2-9  
40-44,  
1-3  
I/O  
2
40  
O
3
4
5
6
7
8
9
41  
42  
43  
44  
1
O
O
O
I
O
I/O  
I
A1: Address bit 1 of the external address bus.  
A2: Address bit 2 of the external address bus.  
A3: Address bit 3 of the external address bus.  
RxD1 (P1.4): Receiver input for serial port 1.  
TxD1 (P1.5): Transmitter output for serial port 1.  
2
3
T2 (P1.6): Timer/counter 2 external count input/clockout.  
T2EX (P1.7): Timer/counter 2 reload/capture/direction control  
Port 2: Port 2 is an 8-bit I/O port with a user-configurable output type.  
Port 2 latches have 1s written to them and are configured in the quasi-  
bidirectional mode during reset. The operation of port 2 pins as inputs  
and outputs depends upon the port configuration selected. Each port  
pin is configured independently. Refer to the section on I/O port con-  
figuration and the DC Electrical Characteristics for details.  
When the external program/data bus is used in 16-bit mode, Port 2  
becomes the multiplexed high data/instruction byte and address lines  
12 through 19. When the external program/data bus is used in 8-bit  
mode, the number of address lines that appear on port 2 is user pro-  
grammable.  
P2.0-P2.7  
24-31  
18-25  
I/O  
Specifications subject to change without notice, contact your sales representatives for the most update information.  
P/N:PM0625  
REV. 1.0, JUL. 01, 2005  
4
MX10EXA  
MNEMONIC  
PIN. NO.  
PLCC LQFP  
11,13-19 5,7-13  
TYPE NAMEAND FUNCTION  
P3.0-P3.7  
I/O  
Port 3: Port 3 is an 8-bit I/O port with a user configurable output type.  
Port 3 latches have 1s written to them and are configured in the quasi-  
bidirectional mode during reset. the operation of port 3 pins as inputs  
and outputs depends upon the port configuration selected. Each port  
pin is configured independently. Refer to the section on I/O port con-  
figuration and the DC Electrical Characteristics for details.  
Port 3 also provides various special functions as described below.  
RxD0 (P3.0): Receiver input for serial port 0.  
TxD0 (P3.1): Transmitter output for serial port 0.  
INT0 (P3.2): External interrupt 0 input.  
INT1 (P3.3): External interrupt 1 input.  
T0 (P3.4): Timer 0 external input, or timer 0 overflow output.  
T1/BUSW (P3.5): Timer 1 external input, or timer 1 overflow output.  
The value on this pin is latched as the external reset input is released  
and defines the default external data bus width (BUSW). 0 = 8-bit bus  
and 1 = 16-bit bus.  
11  
13  
14  
15  
16  
17  
5
7
8
9
10  
11  
I
O
I
I
I/O  
I/O  
18  
19  
10  
12  
13  
4
O
O
I
WRL (P3.6): External data memory low byte write strobe.  
RD (P3.7): External data memory read strobe.  
Reset: A low on this pin resets the microcontroller, causing I/O ports  
and peripherals to take on their default states, and the processor to  
begin execution at the address contained in the reset vector. Refer to  
the section on Reset for details.  
RST  
ALE  
33  
32  
35  
27  
26  
29  
I/O  
O
I
Address Latch Enable: A high output on the ALE pin signals external  
circuitry to latch the address portion of the multiplexed address/data  
bus. A pulse on ALE occurs only when it is needed in order to process  
a bus cycle.  
Program Store Enable: The read strobe for external program memory.  
When the microcontroller accesses external program memory, PSEN  
is driven low in order to enable memory devices. PSEN is only active  
when external code accesses are performed.  
External Access/Wait/Programming Supply Voltage: The EAinput  
determines whether the internal program memory of the microcontroller  
is used for code execution. The value on the EA pin is latched as the  
external reset input is released and applies during later execution. When  
latched as a 0, external program memory is used exclusively, when  
latched as a 1, internal program memory will be used up to its limit, and  
external program memory used above that point. After reset is released,  
this pin takes on the function of bus Wait input. If Wait is asserted high  
during any external bus access, that cycle will be extended until Wait  
is released. During EPROM programming, this pin is also the program-  
ming supply voltage input.  
PSEN  
EA/WAIT  
/VPP  
XTAL1  
XTAL2  
21  
20  
15  
14  
I
Crystal 1: Input to the inverting amplifier used in the oscillator circuit  
and input to the internal clock generator circuits.  
Crystal 2: Output from the oscillator amplifier.  
O
Specifications subject to change without notice, contact your sales representatives for the most update information.  
P/N:PM0625  
REV. 1.0, JUL. 01, 2005  
5
MX10EXA  
SPECIAL FUNCTION REGISTERS  
NAME  
DESCRIPTION  
SFR  
BIT FUNCTIONS AND ADDRESSES  
Reset  
ADDRESS MSB  
LSB VALUE  
AUXR  
BCR  
BTRH  
BTRL  
CS  
Auxiliary function register  
Bus configuration register  
44C  
46A  
ENBOOT FMIDLE PWR_VLD ---  
---  
---  
---  
---  
---  
---  
---  
WAITD BUSD BC2 BC1 BC0 Note 1  
Bus timing register high byte 469  
Bus timing register low byte 468  
DW1  
DW0 DWA1 DWA0 DR1 DR0 DRA1 DRA0 FF  
WM1 WM0 ALEW — ---  
CR1 CR0 CRA1 CRA0 EF  
Code segment  
Data segment  
Extra segment  
443  
441  
442  
00  
00  
00  
DS  
ES  
33F  
---  
33E  
---  
33D  
---  
33C  
---  
33B  
33A  
339  
338  
IEH*  
Interrupt enable high byte  
427  
ETI1 ERI1 ETI0 ERI0 00  
337  
EA  
---  
336  
---  
335  
---  
334  
ET2  
333  
ET1  
---  
332  
EX1  
331  
330  
EX0  
IEL*  
IPA0  
IPA1  
IPA2  
IPA4  
IPA5  
Interrupt enable low byte  
Interrupt priority 0  
Interrupt priority 1  
Interrupt priority 2  
Interrupt priority 4  
Interrupt priority 5  
426  
4A0  
4A1  
4A2  
4A4  
4A5  
ET0  
PX0  
PX1  
PT2  
PRI0  
PRI1  
381  
00  
00  
00  
00  
00  
00  
PT0  
PT1  
---  
---  
---  
---  
---  
---  
PTI0  
PTI1  
385  
---  
---  
---  
387  
AD7  
38F  
386  
384  
AD4  
38C  
383  
382  
380  
P0*  
P1*  
P2*  
P3*  
Port 0  
Port 1  
Port 2  
Port 3  
430  
431  
432  
433  
AD6 AD5  
38E 38D  
AD3 AD2 AD1 AD0 FF  
38B  
38A  
A2  
389  
A1  
388  
T2EX T2  
TxD1 RxD1 A3  
WRH FF  
390  
397  
P2.7  
39F  
RD  
396  
395  
394  
P2.4  
39C  
T0  
393  
392  
391  
P2.6 P2.5  
P2.3 P2.2 P2.1 P2.0 FF  
39B 39A 399 398  
INT1 INT0 TxD0 RxD0 FF  
39E  
WR  
39D  
T1  
P0CFGA Port 0 configuration A  
P1CFGA Port 1 configuration A  
P2CFGA Port 2 configuration A  
P3CFGA Port 3 configuration A  
P0CFGB Port 0 configuration B  
P1CFGB Port 1 configuration B  
P2CFGB Port 2 configuration B  
P3CFGB Port 3 configuration B  
470  
471  
472  
473  
4F0  
4F1  
4F2  
4F3  
Note 5  
Note 5  
Note 5  
Note 5  
Note 5  
Note 5  
Note 5  
Note 5  
Specifications subject to change without notice, contact your sales representatives for the most update information.  
P/N:PM0625  
REV. 1.0, JUL. 01, 2005  
6
MX10EXA  
NAME  
DESCRIPTION  
SFR  
BIT FUNCTIONS AND ADDRESSES  
Reset  
address MSB  
LSB VALUE  
227  
226  
---  
225  
---  
224  
---  
223  
---  
222  
---  
221  
PD  
220  
IDL  
208  
PCON* Power control register  
404  
401  
---  
00  
20F  
SM  
20E  
TM  
20D  
RS1  
20C  
RS0  
20B  
IM3  
20A  
IM2  
209  
PSWH* Program status word  
(high byte)  
IM1 I M0  
Note 2  
207  
C
206  
AC  
205  
---  
204  
---  
203  
---  
202  
V
201  
N
200  
Z
PSWL* Program status word  
(low byte)  
400  
Note 2  
217  
C
216  
AC  
215  
F0  
214  
213  
212  
V
211  
F1  
210  
P
PSW51* 80C51 compatible PSW  
402  
455  
RS1  
RS0  
Note 3  
00  
RTH0  
RTH1  
RTL0  
RTL1  
Timer 0 extended reload,  
high byte  
Timer 1 extended reload,  
high byte  
457  
454  
456  
00  
00  
00  
Timer 0 extended reload,  
low byte  
Timer 1 extended reload,  
low byte  
307  
306  
305  
304  
303  
302  
301  
300  
S0CON* Serial port 0 control register 420  
S0STAT* Serial port 0 extended status 421  
SM0_0 SM1_0 SM2_0 REN_0 TB8_0 RB8_0 TI_0 RI_0 00  
30F  
---  
30E  
---  
30D  
---  
30C  
---  
30B  
FE0  
30A  
309  
308  
BR0 OE0  
STINT0 00  
x
S0BUF Serial port 0 buffer register  
460  
S0ADDR Serial port 0 address register 461  
S0ADEN Serial port 0 address enable 462  
register  
0
00  
327  
326  
325  
324  
323  
322  
321  
320  
S1CON* Serial port 1 control register 424  
S1STAT* Serial port 1 extended status 425  
SM0_1 SM1_1 SM2_1 REN_1 TB8_1 RB8_1 TI_1  
RI_1 00  
328  
32F  
---  
32E  
---  
32D  
---  
32C  
---  
32B  
FE1  
32A  
329  
BR1 OE1  
STINT1 00  
x
S1BUF Serial port 1 buffer register  
464  
S1ADDR Serial port 1 address register 465  
S1ADEN Serial port 1 address enabler 466  
register  
00  
00  
Specifications subject to change without notice, contact your sales representatives for the most update information.  
P/N:PM0625  
REV. 1.0, JUL. 01, 2005  
7
MX10EXA  
NAME  
DESCRIPTION  
SFR  
BIT FUNCTIONS AND ADDRESSES  
Reset  
address MSB  
LSB VALUE  
SCR  
System configuration register 440  
---  
---  
---  
---  
PT1  
21B  
PT0  
21A  
CM  
PZ  
00  
21F  
21E  
21D  
21C  
219  
218  
SSEL*  
SWE  
Segment selection register 403  
ESWEN R6SEG R5SEG R4SEG R3SEG R2SEG R1SEG R0SEG 00  
Software Interrupt Enable  
47A  
---  
SWE7 SWE6 SWE5 SWE4 SWE3 SWE2 SWE1 00  
356 355 354 353 352 351 350  
SWR7 SWR6 SWR5 SWR4 SWR3 SWR2 SWR1 00  
2C6 2C5 2C4 2C3 2C2 2C1 2C0  
EXF2 RCLK0 TCLK0 EXEN2 TR2 C/T2 CP/RL2 00  
2CE 2CD 2CC 2CB 2CA 2C9  
RCLK1 TCLK1 ---  
357  
---  
SWR*  
Software Interrupt Request 42A  
2C7  
TF2  
2CF  
---  
T2CON* Timer 2 control register  
418  
2C8  
T2MOD* Timer 2 mode control  
419  
459  
458  
45B  
---  
---  
T2OE DCEN 00  
TH2  
TL2  
Timer 2 high byte  
Timer 2 low byte  
00  
00  
00  
T2CAPH Timer 2 capture register,  
high byte  
T2CAPL Timer 2 capture register,  
low byte  
45A  
00  
287  
TF1  
286  
TR1  
285  
TF0  
284  
TR0  
283  
IE1  
282  
IT1  
281  
IE0  
280  
IT0  
TCON*  
TH0  
Timer 0 and 1 control register410  
00  
00  
00  
00  
00  
00  
Timer 0 high byte  
Timer 1 high byte  
Timer 0 low byte  
Timer 1 low byte  
451  
453  
450  
452  
TH1  
TL0  
TL1  
TMOD  
Timer 0 and 1 mode control 45C  
GATE C/T  
M1  
M0  
GATE C/T  
M1  
M0  
28F  
---  
28E  
---  
28D  
---  
28C  
---  
28B  
---  
28A  
289  
288  
TSTAT* Timer 0 and 1 extended status 411  
T1OE ---  
T0OE 00  
2F8  
2FF  
2FE  
2FD  
2FC  
2FB  
---  
2FA  
2F9  
WDCON* Watchdog control register  
WDL Watchdog timer reload  
41F  
45F  
45D  
45E  
PRE2 PRE1 PRE0 ---  
WDRUN WDTOF  
---  
Note 6  
00  
x
WFEED1 Watchdog feed 1  
WFEED2 Watchdog feed 2  
x
Specifications subject to change without notice, contact your sales representatives for the most update information.  
P/N:PM0625  
REV. 1.0, JUL. 01, 2005  
8
MX10EXA  
NOTES:  
* SFRs are bit addressable.  
1.At reset, the BCR register is loaded with the binary value 0000 0a11, where "a" is the value on the BUSW pin. This  
defaults the address bus size to 20 bits, Since the MX10EXA has only 20 address lines.  
2. SFR is loaded from the reset vector.  
3. All bits except F1, F0, and P are loaded from the reset vector. Those bits are all 0.  
4. Unimplemented bits in SFRs are X (unknown) at all times. Ones should not be written to these bits since they may  
be used for other purposes in future XA derivatives. The reset value shown for these bits is 0.  
5. Port configurations default to quasi-bidirectional when the XA begins execution from internal code memory after  
reset, based on the condition found on the EA pin. Thus all PnCFGA registers will contain FF and PnCFGB  
registers will contain 00. When the XAbegins execution using external code memory, the default configuration for  
pins that are associated with the external bus will be push-pull. The PnCFGA and PnCFGB register contents will  
reflect this difference.  
6. The WDCON reset value is E6 for a Watchdog reset, E4 for all other reset causes.  
7. The MX10EXA implements an 8-bit SFR bus. All SFR accesses must be 8-bit operations.  
Attempts to write 16 bits to an SFR will actually write only the lower 8 bits. Sixteen bit SFR reads will return  
undefined data in the upper byte.  
8. TheAUXR reset value is typically 00h. If the Boot Loader is activated at reset because the Flash status byte is non-  
zero or because the Boot Vector has been forced (by PSEN = 0, ALE = 1, EA = 1 at reset), the AUXR reset value  
will be 1x00 0000b. Bit 6 will be a 1 if the on-chip VPP generator is running and ready, otherwise it will be a 0.  
Specifications subject to change without notice, contact your sales representatives for the most update information.  
P/N:PM0625  
REV. 1.0, JUL. 01, 2005  
9
MX10EXA  
FFFFFh  
UP TO 1M BYTES  
TOTAL CODE  
MEMORY  
10000h  
FFFFh  
FFFFh  
2K BYTE BOOT ROM  
F800h  
64K BYTEs  
ON-CHIP  
CODE MEMORY  
0000h  
Note:The Boot ROM replaces the top 2K bytes of Flash memory  
when it is enable via the xxx bit in xxx.  
Figure 1. XA Program Memory Map  
Data Segment 0  
Other Data Segments  
FFFFFh  
FFFFFh  
DATA MEMORY  
(INDIRECTLY ADDRESSED,  
OFF-CHIP)  
DATA MEMORY  
(INDIRECTLY ADDRESSED,  
OFF-CHIP)  
0800h  
07FFh  
DATA MEMORY  
(INDIRECTLY ADDRESSED,  
ON CHIP)  
0400H  
03FFh  
0400H  
03FFh  
2K BYTES  
DATA MEMORY  
DATA MEMORY  
ON-CHIP DATA  
MEMORY (RAM)  
(DIRECTLY AND INDIRECTLY  
ADDRESSABLE, ON CHIP)  
(DIRECTLY AND INDIRECTLY  
ADDRESSABLE, OFF-CHIP)  
0040h  
003Fh  
0040h  
003Fh  
DIRECTLY  
ADDRESSED DATA  
BIT-ADDRESSABLE  
BIT-ADDRESSABLE  
DATA AREA  
(1K PER SEGMENT)  
DATA AREA  
0020h  
001Fh  
0020h  
001Fh  
DATA MEMORY  
DATA MEMORY  
(DIRECTLY AND INDIRECTLY  
ADDRESSABLE, ON CHIP)  
0000h  
(DIRECTLY AND INDIRECTLY  
ADDRESSABLE, OFF-CHIP)  
0000h  
Figure 1. XA Data Memory Map  
Specifications subject to change without notice, contact your sales representatives for the most update information.  
P/N:PM0625  
REV. 1.0, JUL. 01, 2005  
10  
MX10EXA  
FLASH EPROM MEMORY  
GENERAL DESCRIPTION  
FEATURES  
• Flash EPROM internal program memory with Block  
Erase.  
The XA Flash memory augments EPROM functionality  
with in-circuit electrical erasure and programming. The  
Flash can be read and written as bytes. The Chip Erase  
operation will erase the entire program memory. The Block  
Erase function can erase any single Flash block. In-cir-  
cuit programming and standard parallel programming are  
both available. On-chip erase and write timing genera-  
tion contribute to a user friendly programming interface.  
• Internal 2k byte fixed boot ROM, containing low-level  
programming routines and a default loader. The Boot  
ROMcanbeturnedofftoprovideaccesstothefull64k  
byte Flash memory.  
• Boot vector allows user provided Flash loader code to  
reside anywhere in the Flash memory space. This  
configuration provides flexibility to the user.  
• DefaultloaderinBootROMallowsprogrammingviathe  
serial port without the need for a user provided loader.  
• Up to 1Mbyte external program memory if the internal  
programmemoryisdisabled(EA=0).  
The XA Flash reliably stores memory contents even af-  
ter 10,000 erase and program cycles. The cell is designed  
to optimize the erase and programming mechanisms. In  
addition, the combination of advanced tunnel oxide pro-  
cessing and low internal electric fields for erase and pro-  
gramming operations produces reliable cycling. For In-  
System Programming, the XA can use a single +5 V  
power supply. Faster In-system Programming may be  
obtained, if required, through the use of a+12V VPP sup-  
ply. Parallel programming (using separate programming  
hardware) uses a+12V VPP supply.  
• Programming and erase voltage VPP = VDD or 12V  
±5% for ISP, 12V 5% for parallel programming.Using  
12VVPPforISPmayimproveprogramminganderase  
time.  
• Read/Programming/Erase:  
- Byte-wise read (60 ns access time at 4.5 V).  
- Byte Programming (1-2 minutes for 64 K flash,  
depending on clock frequency).  
• In-circuit programming via user selected method, typi-  
cally RS232 or parallel I/O port interface.  
• Programmable security for the code in the Flash  
• 10,000 minimum erase/program cycles  
• 10 year minimum data retention.  
Specifications subject to change without notice, contact your sales representatives for the most update information.  
P/N:PM0625  
REV. 1.0, JUL. 01, 2005  
11  
MX10EXA  
Flash organization  
ENBOOT and PWR_VLD  
The XA contains 64k bytes of Flash program memory.  
This memory is organized as 5 separate blocks. The  
first two blocks are 8k bytes in size, filling the program  
memory space from address 0 through 3FFF hex. The  
final three blocks are 16k bytes in size and occupy ad-  
dresses from 4000 through FFFF hex.  
Setting the ENBOOT bit in the AUXR register enables  
the Boot ROM and activates the on-chip VPP generator if  
VPP is connected to rather than 12V externally. The  
PWR_VLD flag indicates that VPP is available for  
programming and erase operations. This flag should be  
checked prior to calling the Boot ROM for programming  
and erase services. When ENBOOT is set, it typically  
takes 5 microseconds for the internal programming  
voltage to be ready.  
Figure 3 depicts the Flash memory configuration.  
Flash Programming and Erasure  
The ENBOOT bit will automatically be set if the status  
byte is non-zero during reset, or when PSENis low, ALE  
is high, and EA is high at the falling edge of reset. Other-  
wise, ENBOOT will be cleared during reset.  
The XAFlash microcontroller supports a number of pro-  
gramming possibilities for the on-chip Flash memory. The  
Flash memory may be programmed in a parallel fashion  
on standard programming equipment in a manner similar  
to an EPROM microcontroller. The XAmicrocontroller is  
able to program its own Flash memory while the applica-  
tion code is running. Also, a default loader built into a  
Boot ROM allows programming blank devices serially  
through the UART.  
When programming functions are not needed, ENBOOT  
may be cleared. This enables access to the 2k bytes of  
Flash code memory that is overlaid by the Boot ROM,  
allowing a full 64k bytes of Flash cede memory.  
FFFF  
F800  
FFFF  
BOOT ROM  
Using any of these types of programming, any of the  
individual blocks may be erased separately, or the entire  
chip may be erased. Programming of the Flash memory  
is accomplished one byte at a time.  
BLOCK 4  
16K BYTES  
C000  
Boot ROM  
BLOCK 3  
16K BYTES  
When the microcontroller programs its own Flash  
memory, all of the low level details are handled by code  
that is permanently contained in a 2k byte “Boot ROM”  
that is separate from the Flash memory. Auser program  
simply calls the entry point with the appropriate  
parameters to accomplish the desired operation. Boot  
ROM operations include things like: erase block, program  
byte, verity byte, program security lock bit, etc. The Boot  
ROM overlays the program memory space at the top of  
the address space from F800 to FFFF hex, when it is  
enabled by setting the ENBOOT bit at AUXR1.7.. The  
Boot ROM may be turned off so that the upper 2k bytes  
of Flash program memory are accessible for execution.  
8000  
4000  
PROGRAM  
ADDRESS  
BLOCK 2  
16K BYTES  
BLOCK 1  
8K BYTES  
2000  
0000  
BLOCK 0  
8K BYTES  
Figure 3. Flash Memory Configuration  
Specifications subject to change without notice, contact your sales representatives for the most update information.  
P/N:PM0625  
REV. 1.0, JUL. 01, 2005  
12  
MX10EXA  
NOTE: When erasing the Status Byte or Boot Vector,  
these bytes are erased at the same time. It is necessary  
to reprogram the Boot Vector after erasing and updating  
the Status Byte.  
FMIDLE  
The FMIDLE bit in theAUXR register allows saving addi-  
tional power by turning off the Flash memory when the  
CPU is in the Idle mode. This must be done just prior to  
initiating the Idle mode, as shown below.  
HardwareActivation of the Boot Vector  
OR  
AUXR, #$40  
;Set Flash memory to idle  
mode.  
Program execution at the Boot Vector may also be forced  
from outside of the microcontroller by setting the correct  
state on a few pins. While Reset is asserted, the PSEN  
pin must be pulled low, the ALE pin allowed to float high  
(need not be pulled up externally), and the EA pin driven  
to a logic high (or up to VPP). Then reset may be released.  
This is the same effect as having a non-zero status byte.  
This allows building an application that will normally ex-  
ecute the end user’s code but can be manually forced  
into ISP operation. The Boot ROM is enabled when use  
of the Boot Vector is forced as described above, so the  
branch may go to the default loader. Conversely, user  
code in the top 2k bytes of the Flash memory may not  
be executed when the Boot Vector is used.  
OR  
PCON, #$0l  
;Turn on Idle mode.  
;Execution resumes here when  
Idle mode terminates.  
.
.
When the Flash memory is put into the Idle mode by  
setting FMIDLE, restarting the CPU upon exiting Idle  
mode takes slightly longer, about 3 microseconds. How-  
ever, the standby current consumed by the Flash memory  
is reduced from about 8mA to about 1mA.  
Default Loader  
A default loader that accepts programming commands  
in a predetermined format is contained permanently in  
the Boot ROM. A factory fresh device will enter this loader  
automatically if it is powered up without first being pro-  
grammed by the user. Loader commands include func-  
tions such as erase block; program Flash memory; read  
Flash memory; and blank check.  
If the factory defauolt setting for the BPC (F800h) is  
changed, it will no longer point to the ISP masked-ROM  
boot loader code. If this happens, the only possible way  
to change the contents of the Boot Vector is through the  
parallel programming method, provided that the end user  
application does not contain a customized loader that  
provides for erasing and reprogramming of the Boot Vec-  
tor and Status Byte.  
Boot Vector  
The XAcontains two special FLASH registers: the BOOT  
VECTOR and the STATUS BYTE.  
After programming the FLASH, the status byte should  
be erased to zero in order to allow execution of theuser’s  
application code beginning at address 0000H.  
The "Boot Vector" allows forcing the execution of a user  
supplied Flash loader upon reset, under two specific sets  
of conditions. At the falling edge of reset, the XA exam-  
ines the contents of the Status Byte. If the Status Byte  
is set to zero, power-up execution starts at location  
0000H, which is the normal start address of the user’s  
application code.  
When the Status Byte is set to a value other than zero,  
the Boot Vector is used as the reset vector (4 bytes),  
including the Boot Program Counter (BPC) and the Boot  
PSW (BPSW). The factory default settings are 8000h for  
the BPSW and F800h for the BPC, which corresponds  
to the address F900h for the factory masked-ROM ISP  
boot loader. The Status Byte is automatically set to a  
non-zero value when a programming error occurs. A cus-  
tom boot loader can be written with the Boot Vector set  
to the custom boot loader.  
Specifications subject to change without notice, contact your sales representatives for the most update information.  
P/N:PM0625  
REV. 1.0, JUL. 01, 2005  
13  
MX10EXA  
VCC  
FOR USE WITH WINISP  
+12V±5% or VDD SUPPLY  
5V ±5%  
VPP  
RST  
VDD  
VxD  
RxD  
2
3
TxD  
RxD  
VSS  
XTAL2  
RS - 232  
TRANSCEIVER  
MC145406, MAX232,  
OR EQUIVALENT  
5
XTAL1  
VSS  
FEMALE  
DB - 9  
Figure 4. In-System Programming with a Minimum of Pins  
In-System Programming (ISP)  
In-System Programming (ISP) is performed without re-  
moving the microcontroller from the system. The In-Sys-  
tem Programming (ISP) facility consists of a series of  
internal hardware resources coupled with internal firm-  
ware to facilitate remote programming of the XA through  
the serial port.  
The ISP feature allows for a wide range of baud rates to  
be used in the application, independent of the oscillator  
frequency. It is also adaptable to a wide range of oscilla-  
tor frequencies. This is accomplished by measuring the  
bit-time of a single bit in a received character. This infor-  
mation is then used to program the baud rate in terms of  
timer counts based on the oscillator frequency. The ISP  
feature requires that an initial character (a lowercase f)  
be sent to the XA to establish the baud rate. The ISP  
firmware provides auto-echo of received characters.  
The In-System Programming (ISP) facility has made in-  
circuit programming in an embedded application possible  
with a minimum of additional expense in components  
and circuit board area.  
Once baud rate initialization has been performed, the  
ISP firmware will only accept specific Intel Hex-type  
records. Intel Hex records consist of ASCII characters  
used to represent hexadecimal values and are summa-  
rized below:  
The ISP function uses five pins: TxD, RxD, VSS, and VPP  
(see Figure 4). Only a small connector needs to be avail-  
able to interface your application to an external circuit in  
order to use this feature. The VPP supply should be ad-  
equately decoupled and VPP not allowed to exceed data  
sheet limits.  
:NNAAAARRDD..DDCC<crlf>  
In the Intel Hex record, the “NN” represents the number  
of data bytes in the record. The XA will accept up to 16  
(10H) data bytes. The "AAAA"” string represents the ad-  
dress of the first byte in the record. If there are zero  
bytes in the record, this field is often set to 0000. The  
"RR" string indicates the record type. A record type of  
"00" is a data record. A record type of "01" indicates the  
Using In-System Programming (ISP)  
ISP mode is entered by holding PSEN low, asserting,  
un-asserting RESET, then releasing PSEN. When ISP  
mode is entered, the default loader first disables the  
watchdog timer to prevent a watchdog reset from occur-  
ring during programming.  
Specifications subject to change without notice, contact your sales representatives for the most update information.  
P/N:PM0625  
REV. 1.0, JUL. 01, 2005  
14  
MX10EXA  
end-of-file mark. In this application, additional record types  
will be added to indicate either commands or data for the  
ISP facility. The maximum number of data bytes in a  
record is limited to 16 (decimal). ISP commands are sum-  
marized in Table 1.  
The actual loader code would typically be programmed  
by the user into the microcontroller in a parallel fashion  
or via the default loader during their manufacturing pro-  
cess. The entire initial Flash contents may be programmed  
at that time, or the rest of the application may be pro-  
grammed into the Flash memory at a later time, possibly  
using the loader code to do the programming.  
As a record is received by the XA, the information in the  
record is stored internally and a checksum calculation is  
performed. The operation indicated by the record type is  
not performed until the entire record has been received.  
Should an error occur in the checksum, the XA will send  
an "X" out the serial port indicating a checksum error. If  
the checksum calculation is found to match the  
checksum in the record, then the command will be ex-  
ecuted. In most cases, successful reception of the record  
will be indicated by transmitting a "." character out the  
serial port (displaying the contents of the internal pro-  
gram memory is an exception).  
This application controlled programming capability allows  
for the possibility of changing the application code in the  
field. If the application circuit is embedded in a PC, or  
has a way to establish a telephone data link to a user’s  
or manufacturer’s computer, new code could be down-  
loaded from diskette or a manufacturer’s support sys-  
tem. There is even the possibility of conducting very  
specialized remote testing of a failing circuit board by  
the manufacturer by remotely programming a series of  
detailed test programs into the application board and  
checking the results.  
In the case of a Data Record (record type 00), an addi-  
tional check is made. A "." character will NOT be sent  
unless the record checksum matched the calculated  
checksum and all of the bytes in the record were suc-  
cessfully programmed. For a data record, an "X" indi-  
cates that the checksum failed to match, and an "R"  
character indicates that one of the bytes did not prop-  
erty program.  
Any user supplied loader should take the watchdog timer  
into account. Typically, the watchdog timer would be dis-  
abled upon entry to the loader if it might be running, in  
order to prevent a watchdog reset from occurring during  
programming.  
The ISP facility was designed so that specific crystal  
frequencies were not required in order to generate baud  
rates or time the programming pulses.  
User Supplied Loader  
A user program can simply decide at any time, for any  
reason, to begin Flash programming operations. All it has  
to do in advance is to instruct external circuitry to apply  
+5V or +12V to the VPP pin, and make certain that the  
Boot ROM is enabled. User code may contain a loader  
designed to replace the application code contained in  
the Flash memory by loading new code through any com-  
munication medium available in the application. This is  
completely flexible and defined by the designer of the  
system. It could be done serially using RS-232, serially  
using some other method, or even parallel over a user  
defined I/O port. The user has the freedom to choose a  
method that does not interfere with the application cir-  
cuit. As an added feature, the application program may  
also use the Flash memory as a long term data storage,  
saving configuration information, sensor readings, or any  
other desired data.  
Specifications subject to change without notice, contact your sales representatives for the most update information.  
P/N:PM0625  
REV. 1.0, JUL. 01, 2005  
15  
MX10EXA  
Table 1. Intel-Hex Records Used by In-System Programming  
RECORDTYPE  
00 or 80  
COMMANDIDATAFUNCTION  
Data Record  
:nnaaaa00dd....ddcc  
Where:  
Nn  
= number of bytes (hex) in record  
Aaaa = memory address of first byte in record  
dd....dd= data bytes  
cc  
= checksum  
Example:10008000AF5F67F0602703E0322CFA92007780C3FD  
0l or 81  
End of File (EOF), no operation  
:xxxxxx0lcc  
Where:  
xxxxxx = required field, but value is a "don't care”  
cc  
= checksum  
Example:00000001FF  
Miscellaneous Write Functions  
:nnxxxx83 ffssddcc  
Where:  
83  
nn  
= number of bytes (hex) in record  
xxxx = required field, but value is a "don't care”  
83  
ff  
ss  
dd  
cc  
= Write Function  
= subfunction code  
= selection code  
= data input (as needed)  
= checksum  
Subfunction Code = 0l (Erase Blocks)  
ff  
= 0l  
ss  
= block number in bits 7:5, Bits 4:0 = zeros  
block 0 : = 00h  
block 1 : ss = 20h  
block 2 : ss = 40h  
block 3 : ss = 80h  
block 4 : ss = C0h  
Example:0200008301203C erase block 1  
Subfunction Code =04 (Erase Boot Vector and Status Byte)  
ff = 04  
as = don't care  
dd = don't care  
Example:010000830478 erase boot vector and status byte  
Subtunction Code = 05 (Program Security Bits)  
ff = 05  
ss = 00 program security bit 1 (inhibit writing to FLASH)  
01 program security bit 2 (inhibit FLASH verify)  
02 program security bit 3 (disable external memory)  
Example:02000083050175 program security bit 2  
Subtunction Code = 06 (Program Status Byte or Boot Vector)  
ff = 06  
ss = 00 program status byte  
01 program boot vector  
Note : only two bits of these special cells may be programmed at one time.  
Example:020000830601FC78 program boot vector to FC00h  
Specifications subject to change without notice, contact your sales representatives for the most update information.  
P/N:PM0625  
REV. 1.0, JUL. 01, 2005  
16  
MX10EXA  
RECORDTYPE  
84  
COMMANDIDATAFUNCTION  
Display Device Data or Blank Check - Record type 84 causes the contents of the entire  
FLASH array to be sent out the serial port in a formatted display. This display consists of an  
address and the contents of 16 bytes starting with that address. No display of the device  
contents will occur it security bit 2 has been programmed. The dumping of the device data to  
the serial port is terminated by the reception of any character.  
General Format of Function 84 :05xxxx84sssseeeeffcc  
Where:  
05  
xxxx = required field, but value is a "don't care”  
84 = "Display Device Data or blank Check" function code  
= number of bytes (hex) in record  
ssss = starting address  
eeee = ending address  
ff  
= subfunction  
00 = display data  
01 = blank check  
= checksum  
cc  
Example:0500008440004FFF00E9 display 4000-4FFF  
Miscellaneous Read Functions  
85  
General Format of Function 85 :02xxxx85ffsscc  
Where:  
02  
= number of bytes (hex) in record  
xxxx = required field, but value is a "don't care”  
85  
= "Miscellaneous Read" function code  
ffss  
= subfunction and selection code  
0000 = read signature byte - manufacturer id(15H)  
0001 = read signature byte - device id # 1(EAH)  
0002 = read signature byte - device id # 2(XA= 54H))  
0700 = read security bits (returned value bits 3:1 = sb3,sb2,sbl)  
0701 = read status byte  
0702 = read boot vector  
cc  
= checksum  
Example:02000085000178 read signature byte - device id # 1  
Specifications subject to change without notice, contact your sales representatives for the most update information.  
P/N:PM0625  
REV. 1.0, JUL. 01, 2005  
17  
MX10EXA  
In-Application Programming Method  
Several Application Program Interface (API) calls are available for use by an application program to permit selective  
erasing and programming of FLASH sectors. All calls are made through a common interface, PGM_MTP. The pro-  
gramming functions are selected by setting up the microcontroller's registers before making a call to PGM_MTP at  
FFFOH. Results are returned in the registers. TheAPI calls are shown in Table 2.  
Table 2. API calls  
API CALL  
PROGRAMDATABYTE Input Parameters:  
R0H = 02h or 92h  
R6 = address of byte to program  
R4L = byte to program  
Return Parameter  
R4L = 00 if pass, non-zero if fail  
Input Parameters:  
PARAMETER  
ERASE BLOCK  
R0H = 01h or 93h  
R6H = block number in bits 7:5, bits 4:0 = "0"  
block 0 : R6H = 00h  
block 1 : R6H = 20h  
block 2 : R6H = 40h  
block 3 : R6H = 80h  
block 4 : R6H = C0h  
REL = 00h  
Return Parameter  
R4L = 00 if pass, non-zero if fail  
Input Parameters:  
ERASE BPC and  
STATUS BYTE  
ROH =04h  
Return Parameter  
R4L =00 if pass, non-zero if fail  
PROGRAM SECURITY  
BIT  
Input Parameters:  
R0H = 05h  
R6H = 00h  
R6L = 00h - security bit # 1 (inhibit writing to FLASH)  
0lh - security bit # 2 (inhibit FLASH verify)  
02h - security bit # 3 (disable external memory)  
Return Parameter:none  
PROGRAM STATUS  
BYTE  
Input Parameters:  
R0H = 60h  
R6H = 00h  
R6L = 00H- program status byte  
R4L = status byte  
Return Parameter  
R4L = 00 if pass, non-zero if fail  
Note : only two bits of status byte may be programmed at one time  
PROGRAM BPC HIGH  
BYTE  
Input Parameters:  
R0H = 06h  
R6H = 00h  
R6L = 0lh - program BPC  
R4L = BPC[15:8] (BPC[7:0] unchanged)  
Return Parameter  
R4L = 00 if pass, non-zero if fail  
Note : only two bits of BPC [15:8] may be programmed at one time  
Specifications subject to change without notice, contact your sales representatives for the most update information.  
P/N:PM0625  
REV. 1.0, JUL. 01, 2005  
18  
MX10EXA  
API CALL  
READDEVICEDATA  
PARAMETER  
Input Parameters:  
R0H = 03h  
R6  
= address of byte to read  
Return Parameter  
R4L = value of byte read  
READMANUFACTURER Input Parameters:  
ID  
R0H = 00h  
R6H = 00h  
R6L = 00h (manufacturer ID)  
Return Parameter  
R4L = value of byte read  
Input Parameters:  
READ DEVICE ID # 1  
R0H = 00h  
R6H = 00h  
R6L = 0lh (device ID # 1)  
Return Parameter  
R4L =value of byte read  
Input Parameters:  
READ DEVICE ID # 2  
READ SECURITY BITS  
READSTATUS BYTE  
READ BPC  
R0H = 00h  
R6H =00h  
R6L = 02h (device ID # 2)  
Return Parameter  
R4L = value of byte read  
Input Parameters:  
R0H = 07h  
R6H = 00h  
R6L = 00h (security bits)  
Return Parameter  
R4L = value of byte read R4L[3:l] = sb3, sb2, sb1  
Input Parameters:  
R0H = 07h  
R6H = 00h  
R6L = 01h (status byte)  
Return Parameter  
R4L = value of BPC[l5:8]  
Input Parameters:  
R0H = 07h  
R6H = 00h  
R6L = 02h (boot vector)  
Return Parameter  
R4L = value of byte read  
Specifications subject to change without notice, contact your sales representatives for the most update information.  
P/N:PM0625  
REV. 1.0, JUL. 01, 2005  
19  
MX10EXA  
API CALL  
PROGRAM ALL ZERO  
PARAMETER  
Input Parameters:  
R0H = 90h  
R6H = block number in bits 7:5, bits 4:0 = '0'  
block 0 : r6h = 00h  
block 1 : r6h = 20h  
block 2 : r6h = 40h  
block 3 : r6h = 80h  
block 4 : r6h = c0h  
R6L = 00h  
Return Parameters:  
R4L = 00 if pass, non-zero if fail  
ERASE CHIP  
Input Parameters:  
R0H = 91h  
R4L = 55H (after chip erase, return to caller)  
= AAh (after chip erase, reset chip)  
= others: error  
Return Parameters:  
R4L = 00 if pass, non-zero if fail  
PROGRAM SPECIAL  
CELL  
Input Parameters:  
R0H = 94h  
R6 = special cell address  
0000h:program BPSW[7:0]  
0001h:program BPSW[15:8]  
0002h:program BPC[7:0]  
0003h:program BPC[15:8]  
0004b:program status byte  
000Ah:program security bit #1  
000Ch:program security bit #2  
000Eh:program security bit #3  
R4L =byte value to program  
Return Parameters:  
R4L =00 if pass, non-zero if fail  
Note : only two bits of these special cells may be programmed at one time  
ERASE SPECIAL CELL Input Parameters:  
R0H = 95h  
R6  
= special cell address  
0000h: erase DPSW[7:0]  
000lh: erase DPSW[15:8]  
0002h: erase BPC(7:0)  
0003h: erase BPC[15:8]  
0004h: erase status byte  
Return Parameters:  
R4L = 00 if pass, non-zero if fail  
Specifications subject to change without notice, contact your sales representatives for the most update information.  
P/N:PM0625  
REV. 1.0, JUL. 01, 2005  
20  
MX10EXA  
API CALL  
READ SPECIAL CELL  
PARAMETER  
Input Parameters:  
R0H = 96h  
R6  
= special cell address  
0000h: read BPSW[7:0]  
000lh: read BPSW[15:8]  
0002h: read BPC[7:0]  
0003h: read BPC[15:8]  
0004h: read status byte  
0006h: read manufacturer ID  
0007h: read device ID #1  
0008h: read device ID #2  
000Ah: read security bit #1  
000Ch: read security bit #2  
000Eh: read security bit #3  
Return Parameters:  
R4L  
= value of byte read  
Security  
The security feature protects against software piracy and prevents the contents of the Flash from being read. The  
Security Lock bits are located in Flash. The XAhas 3 programmable security lock bits that will provide different levels  
of protection for the on-chip code and data  
(see Table 3).  
Table 3.  
SECURITY LOCK BITS1  
PROTECTIONDESCRIPTION  
Level  
SB1  
0
SB2  
0
SB3  
0
1
2
No program security features enabled  
1
0
0
Same as level 1, plus block erase is disabled. Erase or  
programming of the status byte or boot vector is disabled.  
Same as level 2, plus program verification is disabled  
Same as level 3, plus external execution is disabled.  
3
4
1
1
1
1
0
1
NOTE:  
1. Any other combination of the Lock bits is not defined.  
2. Security bits are independent of each other. Full-chip erase may be performed regardless of the states of the  
security bits.  
3. Setting LB doesn't prevent programming of unprogrammed bits.  
Specifications subject to change without notice, contact your sales representatives for the most update information.  
P/N:PM0625  
REV. 1.0, JUL. 01, 2005  
21  
MX10EXA  
XATIMER/COUNTERS  
Timer modes 1, 2, and 3 in XA are kept identical to the  
80C51 timer modes for code compatibility. Only the mode  
0 is replaced in the XA by a more powerful 16-bit auto-  
reload mode. This will give the XA timers a much larger  
range when used as time bases.  
The XAhas two standard 16-bit enhancedTimer/Counters:  
Timer 0 and Timer 1.Additionally, it has a third 16-bit Up/  
Down timer/counter, T2.Acentral timing generator in the  
XA core provides the time-base for all XA Timers and  
Counters. The timer/event counters can perform the fol-  
lowing functions:  
The recommended Ml, M0 settings for the different modes  
are shown in Figure 6.  
- Measure time intervals and pulse duration  
- Count external events  
- Generate interrupt requests  
- Generate PWM or timed output waveforms  
All of the timer/counters (Timer 0, Timer 1 and Timer 2)  
can be independently programmed to operate either as  
timers or event counters via the C/T bit in the TnCON  
register. All timers count up unless otherwise stated.  
These timers may be dynamically read during program  
execution.  
The base clock rate of all of the timers is user program-  
mable. This applies to timers T0, T1, and T2 when run-  
ning in timer mode (as opposed to counter mode), and  
the watchdog timer. The clock driving the timers is called  
TCLK and is determined by the setting of two bits (PT1,  
PT0) in the System Configuration Register (SCR). The  
frequency of TCLK may be selected to be the oscillator  
input divided by 4 (Osc/4), the oscillator input divided by  
16 (Osc/16), or the oscillator input divided by 64 (Osc/  
64). This gives a range of possibilities for the XA timer  
functions, including baud rate generation, Timer 2 cap-  
ture. Note that this single rate setting applies to all of the  
timers.  
When timers T0, T1, or T2 are used in the counter mode,  
the register will increment whenever a falling edge (high  
to low transition) is detected on the external input pin  
corresponding to the timer clock. These inputs are  
sampled once every 2 oscillator cycles, so it can take  
as many as 4 oscillator cycles to detect a transition.  
Thus the maximum count rate that can be supported is  
Osc/4. The duty cycle of the timer clock inputs is not  
important, but any high or low state on the timer clock  
input pins must be present for 2 oscillator cycles before  
it is guaranteed to be “seen” by the timer logic.  
Timer 0 and Timer 1  
The “Timer” or “Counter” function is selected by control  
bits C/T in the special function register TMOD. These  
two Timer/Counters have four operating modes, which  
are selected by bit-pairs (Ml, M0) in the TMOD register.  
Specifications subject to change without notice, contact your sales representatives for the most update information.  
P/N:PM0625  
REV. 1.0, JUL. 01, 2005  
22  
MX10EXA  
MSB  
-
SCR  
Address:440  
LSB  
Not Bit Addressable  
Reset Value:00H  
-
-
-
PT1  
CM  
PT0  
PZ  
PT1  
PT0  
OPERATING  
Prescaler selection.  
Osc/4  
0
0
1
0
1
0
Osc/16  
1
Osc/64  
1
Reserved  
CM  
Compatibility Mode allows the XAto execute most translated 80C51 code on the XA. The  
XA register file must copy the 80C51 mapping to data memory and mimic the 80C51  
indirect addressing scheme.  
PZ  
Page Zero mode forces all program and data addresses to 16-bits only. This saves stack  
space and speeds up execution but limits memory access to 64k.  
Figure 5. System Configuration Register (SCR)  
LSB  
M0  
MSB  
Address:45C  
Not Bit Addressable  
Reset Value:00H  
TMOD  
GATE C/T  
GATE  
M1  
TIMER 1  
M0  
M1  
C/T  
TIMER 0  
GATE  
C/T  
Gating control when set. Timer/Counter "n" is enabled only while "INTn" pin is high and "TRn"  
control bit is set. When cleared Timer "n" is enabled whenever "TRn" control bit is set.  
Timer or Counter Selector cleared for Timer operation (input from internal system clock.) Set for  
Counter operation (input from "Tn" input pin).  
M1  
0
0
1
1
M0  
0
1
0
1
OPERATING  
16-bit auto-reload timer/counter  
16-bit non-auto-reload timer/counter  
8-bit auto-reload timer/counter  
Dual 8-bit timer mode (timer 0 only)  
Figure 6. Timer/Counter Mode Control (TMOD) Register  
Specifications subject to change without notice, contact your sales representatives for the most update information.  
P/N:PM0625  
REV. 1.0, JUL. 01, 2005  
23  
MX10EXA  
New Enhanced Mode 0  
sets TFn, but also reloads TLn with the contents of RTLn,  
which is preset by software. The reload leaves THn un-  
changed.  
For timers T0 or T1 the 13-bit count mode on the 80C51  
(current Mode 0) has been replaced in the XA with a 16-  
bit auto-reload mode. Four additional 8-bit data registers  
(two per timer: RTHn and RTLn) are created to hold the  
auto-reload values. In this mode, the TH overflow will set  
the TF flag in the TCON register and cause both the TL  
and TH counters to be loaded from the RTL and RTH  
registers respectively.  
Mode 2 operation is the same for Timer/Counter 0.  
The overflow rate for Timer 0 or Timer 1 in Mode 2 may  
be calculated as follows:  
Timer_Rate = Osc/(N* (256 - Timer_Reload_Value))  
where N = the TCLK prescaler value: 4, 16, or 64.  
These new SFRs will also be used to hold the TL reload  
data in the 8-bit auto-reload mode (Mode 2) instead of  
TH.  
Mode 3  
Timer 1 in Mode 3 simply holds its count. The effect is  
The overflow rate for Timer 0 or Timer 1 in Mode 0 may  
be calculated as follows:  
the same as setting TR1 =0.  
Timer 0 in Mode 3 establishes TL0 and TH0 as two sepa-  
rate counters. TL0 uses the Timer 0 control bits: CIT;  
GATE, TR0, INT0, and TF0. TH0 is locked into a timer  
function and takes over the use of TR1 and TF1 from  
Timer 1. Thus, TH0 now controls the "Timer 1" interrupt.  
Timer_Rate = Osc/(N*(65536 - Timer_Reload_Value))  
where N = the TCLK prescaler value: 4 (default), 16, or  
64.  
Mode 1  
Mode 3 is provided for applications requiring an extra 8-  
bit timer. When Timer 0 is in Mode 3, Timer 1 can be  
turned on and off by switching it out of and into its own  
Mode 3, or can still be used by the serial port as a baud  
rate generator, or in fact, in any application not requiring  
an interrupt.  
Mode 1 is the 16-bit non-auto reload mode.  
Mode 2  
Mode 2 configures the Timer register as an 8-bit Counter  
(TLn) with automatic reload. Overflow from TLn not only  
LSB  
IT0  
MSB  
TCON Address:410  
Bit Addressable  
Reset Value:00H  
IT1  
TR1  
TF1  
TF0  
TR0  
IE0  
IE1  
BIT  
TCON.7  
SYMBOL FUNCTION  
TF1  
Timer 1 overflow flag. Set by hardware on Timer/Counter overflow.  
This flag will not be set if T1OE(TSTAT.2) is set.  
Cleared by hardware when processor vectors to interrupt routine, or by clearing the bit  
in software.  
Timer 1 Run control bit. Set/cleared by software to turn Timer/Counter 1 on/off.  
Timer 0 overflow flag. Set by hardware on Timer/Counter overflow.  
This flag will not be set if T0OE (TSTAT.0) is set.  
TCON.6  
TCON.5  
TR1  
TF0  
Cleared by hardware when processor vectors to interrupt routine, or by clearing the bit  
in software.  
Timer 0 Run control bit. Set/cleared by software to turn Timer/Counter 0 on/off.  
Interrupt 1 Edge flag. Set by hardware when external interrupt edge detected.  
Cleared when interrupt processed.  
TCON.4  
TCON.3  
TR0  
IE1  
TCON.2  
TCON.2  
TCON.0  
IT1  
IE0  
IT0  
Interrupt 1 type control bit. Set/cleared by software to specify falling edge/low level  
triggered external interrupts.  
Interrupt 0 Edge flag. Set by hardware when external interrupt edge detected.  
Cleared when interrupt processed.  
Interrupt 0 Type control bit. Set/cleared by software to specify falling edge/tow level  
triggered external interrupts.  
Figure 7. Timer/Counter(TCON) Register  
Specifications subject to change without notice, contact your sales representatives for the most update information.  
P/N:PM0625  
REV. 1.0, JUL. 01, 2005  
24  
MX10EXA  
LSB  
T2CON  
Bit Addressable  
Reset Value:00H  
MSB  
TF2  
Address:418  
TR2  
EXEN2  
C/T2  
CP/RL2  
EXF2 RCLK0 TCLK0  
BIT  
SYMBOL FUNCTION  
T2CON.7  
TF2  
Timer 2 overflow flag. Set by hardware on Timer/Counter overflow. Must be cleared  
by software. TF2 will not be set when RCLK0, RCLK1, TCLK0, TCLK1 or T2OE=1.  
Timer 2 external flag is set when a capture or reload occurs due to a negative  
transition on T2EX (and EXEN2 is set). This flag will cause a Timer 2 interrupt when  
this interrupt is enabled. EXF2 is cleared by software.  
Receive Clock Flag.  
T2CON.6  
EXF2  
T2CON.5  
T2CON.4  
RCLK0  
TCLK0  
Transmit Clock Flag. RCLK0 and TCLK0 are used to select Timer 2 overflow rate as  
a clock source for UART0 instead of Timer T1.  
T2CON.3  
EXEN2  
Timer 2 external enable bit allows a capture or reload to occur due to a negative  
transition on T2EX.  
T2CON.2  
T2CON.1  
TR2  
C/T2  
Start = 1/Stop=0 control for Timer 2.  
Timer or counter select.  
0 = Internal timer  
1 = External event counter (falling edge triggered)  
Capture/Reload flag.  
T2CON.0  
CP/RL2  
If CP/RL2 & EXEN2 = 1 captures will occur on negative transitions of T2EX.  
If CP/RL2 = 0, EXEN2 = 1 auto reloads occur with either Timer 2 overflows or  
negative transitions at T2EX.  
If RCLK or TCLK = 1 the timer is set to auto reload on Timer 2 overflow, this bit has  
no effect.  
Figure 8. Timer/Counter 2 Control (T2CON) Register  
which may be used to generate an interrupt. It can be  
operated in one of three operating modes: auto-reload  
(up or down counting), capture, or as the baud rate gen-  
erator (for either or both UARTs via SFRs T2MOD and  
T2CON). These modes are shown in Table 4.  
New Timer-Overflow Toggle Output  
In the XA, the timer module now has two outputs, which  
toggle on overflow from the individual timers. The same  
device pins that are used for the T0 and T1 count inputs  
are also used for the new overflow outputs. An SFR bit  
(TnOE in the TSTAT register) is associated with each  
counter and indicates whether Port-SFR data or the over-  
flow signal is output to the pin. These outputs could be  
used in applications for generating variable duty cycle  
PWM outputs (changing the auto-reload register values).  
Also variable frequency (Osc/8 to Osc/8,388,608) out-  
puts could be achieved by adjusting the prescaler along  
with the auto-reload register values. With a 30.0MHz os-  
cillator, this range would be 3.58Hz to 3.75MHz.  
Capture Mode  
In the capture mode there are two options which are se-  
lected by bit EXEN2 in T2CON. If EXEN2 = 0, then timer  
2 is a 16-bit timer or counter, which upon overflowing  
sets bit TF2, the timer 2 overflow bit. This will cause an  
interrupt when the timer 2 interrupt is enabled.  
If EXEN2 = 1, then Timer 2 still does the above, but with  
the added feature that a 1-to-0 transition at external in-  
put T2EX causes the current value in the Timer 2 regis-  
ters, TL2 and TH2, to be captured into registers RCAP2L  
and RCAP2H, respectively. In addition, the transition at  
T2EX causes bit EXF2 in T2CON to be set. This will  
cause an interrupt in the same fashion as TF2 when the  
Timer 2 interrupt is enabled. The capture mode is illus-  
trated in Figure 11.  
Timer T2  
Timer 2 in the XA is a 16-bit Timer/Counter which can  
operate as either a timer or as an event counter. This is  
selected by C/T2 in the special function register T2CON.  
Upon timer T2 overflow/underflow, the TF2 flag is set,  
Specifications subject to change without notice, contact your sales representatives for the most update information.  
P/N:PM0625  
REV. 1.0, JUL. 01, 2005  
25  
MX10EXA  
timer T2 is incremented by TCLK.  
Auto-Reload Mode (Up or Down Counter)  
Baud Rate Generator Mode  
In the auto-reload mode, the timer registers are loaded  
with the 16-bit value in T2CAPH and T2CAPL when the  
count overflows. T2CAPH and T2CAPLare initialized by  
software. If the EXEN2 bit in T2CON is set, the timer  
registers will also be reloaded and the EXF2 flag set  
when a 1-to-0 transition occurs at input T2EX. The auto-  
reload mode is shown in Figure 12.  
By setting theTCLKn and/or RCLKn in T2CONorT2MOD,  
the Timer 2 can be chosen as the baud rate generator for  
either or both UARTs. The baud rates for transmit and  
receive can be  
simultaneously different.  
Programmable Clock-Out  
In this mode, Timer 2 can be configured to count up or  
down. This is done by setting or clearing the bit DCEN  
(Down Counter Enable) in the T2MOD special function  
register (see Table 4). The T2EX pin then controls the  
count direction. When T2EX is high, the count is in the  
up direction, when T2EX is low, the count is in the down  
direction.  
A 50% duty cycle clock can be programmed to come  
out on P1 .6. This pin, besides being a regular I/O pin,  
has two alternate functions. It can be programmed (1) to  
input the external clock for Timer/Counter 2 or (2) to out-  
put a 50% duty cycle clock ranging from 3.58Hz to  
3.75MHz at a 30MHz operating frequency.  
Figure 12 shows Timer 2, which will count up automati-  
cally, since DCEN = 0. In this mode there are two op-  
tions selected by bit EXEN2 in the T2CON register. If  
EXEN2 =0, then Timer 2 counts up to FFFFH and sets  
the TF2 (Overflow Flag) bit upon overflow. This causes  
the Timer 2 registers to be reloaded with the 16-bit value  
in T2CAPL and T2CAPH, whose values are preset by  
software. If EXEN2 = 1, a 16-bit reload can be triggered  
either by an overflow or by a 1 -to-0 transition at input  
T2EX. This transition also sets the EXF2 bit. If enabled,  
either TF2 or EXF2 bit can generate the Timer 2 inter-  
rupt.  
To configure the Timer/Counter 2 as a clock generator,  
bit C/T2 (in T2CON) must be cleared and bit T2OE in  
T2MOD must be set. Bit TR2 (T2CON.2) also must be  
set to start the timer.  
The Clock-Out frequency depends on the oscillator fre-  
quency and the reload value of Timer 2 capture registers  
(TCAP2H, TCAP2L) as shown in this equation:  
TCLK  
2 x (65536 - TCAP2H, TCAP2L)  
In the Clock-Out mode Timer 2 roll-overs will net gener-  
ate an interrupt. This is similar to when it is used as a  
baud-rate generator. It is possible to use Timer 2 as a  
baud-rate generator and a clock generator simultaneously.  
Note, however, that the baud-rate will be 1/8 of the Clock-  
Out frequency.  
In Figure 13, the DCEN = 1; this enables the Timer 2 to  
count up or down. In this mode, the logic level of T2EX  
pin controls the direction of count. When a logic "1" is  
applied at pin T2EX, the Timer 2 will count up. The Timer  
2 will overflow at FFFFH and set the TF2 flag, which can  
then generate an interrupt if enabled. This timer overflow,  
also causes the 16-bit value in T2CAPL and T2CAPH to  
be reloaded into the timer registers TL2 and TH2, respec-  
tively.  
A logic "0" at pin T2EX causes Timer 2 to count down.  
When counting down, the timer value is compared to the  
16-bit value contained in T2CAPH and T2CAPL. When  
the value is equal, the timer register is loaded with FFFF  
hex. The underflow also sets the TF2 flag, which can  
generate an interrupt if enabled.  
The external Flag EXF2 toggles when Timer 2 underflows  
or overflows. This EXF2 bit can be used as a 17th bit of  
resolution, if needed. the EXF2 flag does not generate  
an interrupt in this mode. As the baud rate generator,  
Specifications subject to change without notice, contact your sales representatives for the most update information.  
P/N:PM0625  
REV. 1.0, JUL. 01, 2005  
26  
MX10EXA  
Table 4. Timer 2 Operating Modes  
TR2 CP/RL2 RCLK+TCLK  
OCEN  
MODE  
0
1
1
1
1
X
0
0
1
X
X
0
0
0
1
X
0
Timer oft (stopped)  
16-bit auto-reload, counting up  
1
16-bit auto-reload, counting up or down depending on T2EX pin  
X
X
16-bitcapture  
Baud rate generator  
MSB  
-
LSB  
Address:411  
Bit Addressable  
Reset Value:00H  
TSTAT  
-
-
-
-
-
T1OE  
T0OE  
BIT  
SYMBOL FUNCTION  
TSTAT.2  
T1OE  
When 0, this bit allows the T1 pin to clock Timer 1 when in the counter mode.  
When 1, T1 acts as an output and toggles at every Timer 1 overflow.  
When 0, this bit allows the To pin to clock Timer 0 when in the counter mode.  
When 1, T0 acts as an output and toggles at every Timer 0 overflow.  
TSTAT.0  
T0OE  
Figure 9. Timer 0 and 1 Extended Status (TSTAT)  
MSB  
-
LSB  
T2MOD  
Address:419  
Bit Addressable  
Reset Value:00H  
-
RCLK1  
-
-
T2OE DCEN  
TCLK1  
BIT  
SYMBOL FUNCTION  
T2MOD.5  
T2MOD.4  
RCLK1  
TCLK1  
Receive Clock Flag.  
Transmit Clock Flag. RCLK1 and TCLK1 are used to select Timer 2 overflow rate as  
a clock source for UART1 instead of Timer T1.  
T2MOD.1  
T2MOD.5  
T2OE  
DCEN  
When 0, this bit allows the T2 pin to clock Timer 2 when in the counter mode.  
When 1, T2 acts as an output and toggles at every Timer 2 overflow.  
Controls count direction for Timer 2 in autoreload mode.  
DCEN=0 counter set to count up only  
DCEN=1 counter set to count up or down, depending on T2EX (see text).  
Figure 10. Timer 2 Mode Control (T2MOD)  
Specifications subject to change without notice, contact your sales representatives for the most update information.  
P/N:PM0625  
REV. 1.0, JUL. 01, 2005  
27  
MX10EXA  
TCLK  
C/T2=0  
C/T2=1  
TL2  
(8-bits)  
TH2  
(8-bits)  
TF2  
T2 Pin  
Control  
TR2  
Capture  
Timer 2  
Interrupt  
T2CAPL  
T2CAPH  
Transition  
Detector  
EXF2  
T2EX Pin  
Control  
EXEN2  
Figure 11.Timer 2 in Capture Mode  
TCLK  
C/T2=0  
C/T2=1  
TH2  
(8-bits)  
TL2  
(8-bits)  
T2 Pin  
Control  
TR2  
Reload  
T2CAPL  
T2CAPH  
Transition  
Detector  
TF2  
Timer 2  
Interrupt  
T2EX Pin  
EXF2  
Control  
EXEN2  
Figure 12.Timer2 in Auto-Reload Mode(DECN=0)  
Specifications subject to change without notice, contact your sales representatives for the most update information.  
P/N:PM0625  
REV. 1.0, JUL. 01, 2005  
28  
MX10EXA  
(DOWN COUNTING RELOAD VALUE)  
TOGGLE  
FFH  
FFH  
EXF2  
TCLK  
OVERFLOW  
C/T2=0  
C/T2=1  
TH2  
TL2  
INTERUPT  
TF2  
T2 PIN  
CONTROL  
TR2  
COUNT  
DIRECTION  
1=UP  
0=DOWN  
T2CAPL  
T2CAPH  
T2EX PIN  
(UP COUNTING RELOAD VALUE)  
Figure 13.Timer 2 Auto Reload Mode (DCEN=1)  
Specifications subject to change without notice, contact your sales representatives for the most update information.  
P/N:PM0625  
REV. 1.0, JUL. 01, 2005  
29  
MX10EXA  
WATCHDOGTIMER  
before feeding the watchdog. The instructions should  
moveA5H to the WFEED1 register and then 5AH to the  
WFEED2 register. If WFEED1 is correctly loaded and  
WFEED2 is not correctly loaded, then an immediate  
watchdog reset will occur. The program sequence to feed  
the watchdog timer or cause new WDCON settings to  
take effect is as follows:  
The watchdog timer subsystem protects the system from  
incorrect code execution by causing a system reset when  
the watchdog timer underflows as a result of a failure of  
software to feed the timer prior to the timer reaching its  
terminal count. It is important to note that the watchdog  
timer is running after any type of reset and must be turned  
off by user software if the application does not use the  
watchdog function.  
clr  
ea  
; disable global interrupts.  
Mov.b wfeed1, #A5h ; do watchdog feed part 1  
mov.b wfeed2, #5Ah ; do watchdog feed part 2  
setb  
ea  
; re-enable global interrupts.  
Watchdog Function  
This sequence assumes that the XA interrupt system is  
enabled and there is a possibility of an interrupt request  
occurring during the feed sequence. If an interrupt was  
allowed to be serviced and the service routine contained  
any SFR access, it would trigger a watchdog reset. If it  
is known that no interrupt could occur during the feed  
sequence, the instructions to disable and re-enable in-  
terrupts may be removed.  
The watchdog consists of a programmable prescaler and  
the main timer. The prescaler derives its clock from the  
TCLK source that also drives timers 0, 1, and 2. The  
watchdog timer subsystem consists of a programmable  
13-bit prescaler, and an 8-bit main timer. The main timer  
is clocked (decremented) by a tap taken from one of the  
top 8-bits of the prescaler as shown in Figure 14. The  
clock source for the prescaler is the same as TCLK (same  
as the clock source for the timers). Thus the main counter  
can be docked as often as once every 32 TCLKs (see  
Table 5). The watchdog generates an underflow signal  
(and is autoloaded from WDL) when the watchdog is at  
count 0 and the clock to decrement the watchdog oc-  
curs. The watchdog is 8 bits wide and the autoload value  
can range from 0 to FFH. (The autoload value of 0 is  
permissible since the prescaler is cleared upon autoload).  
The software must be written so that a feed operation  
takes place every tD seconds from the last feed opera-  
tion. Some tradeoffs may need to be made. It is not ad-  
visable to include feed operations in minor loops or in  
subroutines unless the feed operation is a specific sub-  
routine.  
To turn the watchdog timer completely off, the following  
code sequence should be used:  
mov.b wdcon, #0  
; setWDcontrol register to clear  
WDRUN.  
This leads to the following user design equations. Defini-  
tions: tOSC is the oscillator period, N is the selected  
prescaler tap value, Wis the main counter autoload value,  
P is the prescaler value from Table 5, tMIN is the mini-  
mum watchdog time-out value (when the autoload value  
is 0), tMAX is the maximum time-out value (when the  
autoload value is FFH), tD is the design time-out value.  
mov.b wfeed1 , #A5h ; do watchdog feed part 1  
mov.b wfeed2, #5Ah ; do watchdog feed part 2  
This sequence assumes that the watchdog timer is be-  
ing turned off at the beginning of initialization code and  
that the XA interrupt system has not yet been enabled. If  
the watchdog timer is to be turned off at a point when  
interrupts may be enabled, instructions to disable and  
re-enable interrupts should be added to this sequence.  
tMIN = tOSC x 4 x 32 (W = 0, N = 4)  
tMAX = tOSC x 64 x 4096 x 256 (W =255, N =64)  
tD = tOSC x N x P x (W + 1)  
The watchdog timer is not directly loadable by the user.  
Instead, the value to be loaded into the main timer is  
held in an autoload register. In order to cause the main  
timer to be loaded with the appropriate value, a special  
sequence of software action must take place. This op-  
eration is referred to as feeding the watchdog timer.  
Watchdog Control Register (WDCON)  
The reset values of the WDGON and WDL registers will  
be such that the watchdog timer has a timeout period of  
4 x 4096 x tOSC and the watchdog is running. WDCON  
can be written by software but the changes only take  
effect after executing a valid watchdog feed sequence.  
To feed the watchdog, two instructions must be sequen-  
tially executed successfully. No intervening SFR ac-  
cesses are allowed, so interrupts should be disabled  
Specifications subject to change without notice, contact your sales representatives for the most update information.  
P/N:PM0625  
REV. 1.0, JUL. 01, 2005  
30  
MX10EXA  
Table 5. Prescaler Select Values in WDCON  
WatchdogDetailed Operation  
When external RESET is applied, the following takes  
place:  
• Watchdog run control bit set to ON (1).  
• Autoload register WDL set to 00 (mm. count).  
• Watchdog time-out flag cleared.  
• Prescaler is cleared.  
• Prescaler tap set to the highest divide.  
• Autoload takes place.  
When coming out of a hardware reset, the software should  
load the autoload register and then feed the watchdog  
(cause an autoload).  
If the watchdog is running and happens to underflow at  
the time the external RESET is applied, the watchdog  
time-out flag will be cleared.  
PRE2  
PRE1  
PRED  
DIVISOR  
32  
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
64  
128  
256  
512  
1024  
2048  
4096  
WDL  
WATCHDOG FEED SEQUENCE  
MOV WFEED1,#A5H  
MOV WFEED2,#5AH  
8-BIT DOWN  
COUNTER  
INTERNAL RESET  
TCLK  
PRESCALER  
WDTOF  
WDRUN  
PRE2 PRE1  
PRE0  
-
-
-
WDCON  
Figure 14. Watchdog Timer in XA  
Specifications subject to change without notice, contact your sales representatives for the most update information.  
P/N:PM0625  
REV. 1.0, JUL. 01, 2005  
31  
MX10EXA  
When the watchdog underflows, the following action takes  
place (see Figure 14):  
• Autoload takes place.  
• Watchdog time-out flag is set  
• Watchdog run bit unchanged.  
Timer 1 defaults to clock both UART0 and UART1. Timer  
2 can be programmed to clock either UART0 through  
T2CON(via bits R0CLK and T0CLK) or UART1 through  
T2MOD (via bits R1CLK and T1 CLK). In this case, the  
UARTnot clocked byT2 could use T1 as the clock source.  
• Autoload (WDL) register unchanged.  
• Prescaler tap unchanged.  
The serial port receive and transmit registers are both  
accessed at Special Function Register SnBUF Writing  
to SnBUF loads the transmit register, and reading SnBUF  
accesses a physically separate receive register.  
• All other device action same as external reset.  
Note that if the watchdog underflows, the program counter  
will be loaded from the reset vector as in the case of an  
internal reset. The watchdog time-out flag can be exam-  
ined to determine if the watchdog has caused the reset  
condition. The watchdog time-out flag bit can be cleared  
by software.  
The serial port can operate in 4 modes:  
Mode 0: Serial I/O expansion mode. Serial data enters  
and exits through RxDn. TxDn outputs the shift clock. 8  
bits are transmitted/received (LSB first). (The baud rate  
is fixed at 1/16 the oscillator frequency.)  
WDCON Register Bit Definitions  
WDCON.7 PRE2  
WDCON.6 PREl  
WDCON.5 PRE0  
Prescaler Select 2, reset to 1  
Prescaler Select 1, reset to 1  
Prescaler Select 0, reset to 1  
Mode 1: Standard 8-bit UART mode. 10 bits are  
transmitted(through TxDn) or received (through RxDn): a  
start bit (0), 8 data bits (LSB first), and a stop bit (1). On  
receive, the stop bit goes intoRB8 in Special Function  
Register SnCON. The baud rate is variable.  
WDCON.4  
WDCON.3  
-
-
WDCON.2 WDRUN Watchdog Run Control bit, re  
set to 1  
WDCON.1 WDTOF Time out flag  
Mode 2: Fixed rate 9-bit UART mode. 11 bits are trans-  
mitted (through TxD) or received (through RxD): start bit  
(0), 8 data bits (LSB first), a programmable 9th data bit,  
and a stop bit (1). On Transmit, the 9th data bit TB8_n in  
SnCON) can be assigned the value of 0 or 1. Or, for  
example, the parity bit (P, in the PSW) could be moved  
intoTB8_n. On receive, the 9th data bit goes into RB8_n  
in Special Function Register SnCON, while the stop bit  
is ignored. The baud rate is programmable to 1/32 of the  
oscillator frequency.  
WDCON.0  
-
UARTs  
Baud rate selection is somewhat different due to the  
clocking scheme used for the XA timers.  
Some other enhancements have been made to UART  
operation. The first is that there are separate interrupt  
vectors for each UART’s transmit and receive functions.  
The UART transmitter has been double buffered, allow-  
ing packed transmission of data with no gaps between  
bytes and less critical interrupt service routine timing. A  
break detect function has been added to the UART. This  
operates independently of the UART itself and provides  
a start-of-break status bit that the program may test.  
Finally, an Overrun Error flag has been added to detect  
missed characters in the received data stream. The  
double buffered UART transmitter may require some  
software changes in code written for the original XA single  
buffered UART.  
Mode 3: Standard 9-bit UART mode. 11 bits are trans-  
mitted (through TxDn) or received (through RxDn): a start  
bit (0), 8 data bits (LSB first), a programmable 9th data  
bit, and a stop bit (1). In fact, Mode 3 is the same as  
Mode 2 in all respects except baud rate. The baud rate in  
Mode 3 is variable.  
In all four modes, transmission is initiated by any in-  
struction that uses SnBUF as a destination register. Re-  
ception is initiated in Mode 0 by the condition RI_n = 0  
and REN_n = 1. Reception is initiated in the other modes  
by the incoming start bit if REN_n = 1.  
Each UART baud rate is determined by either a fixed  
division of the oscillator (in UART modes 0 and 2) or by  
the timer 1 or timer 2 overflow rate (in UART modes 1  
and 3).  
Specifications subject to change without notice, contact your sales representatives for the most update information.  
P/N:PM0625  
REV. 1.0, JUL. 01, 2005  
32  
MX10EXA  
Serial Port Control Register  
9-bIt Mode  
The serial port control and status register is the Special  
Function Register SnCON, shown in Figure 16. This reg-  
ister contains not only the mode selection bits, but also  
the 9th data bit for transmit and receive (TB8_n and  
RB8_n), and the serial port interrupt bits TI_n and RI_n).  
Please note that the ninth data bit (TB8) is not double  
buffered. Care must be taken to insure that the TB8 bit  
contains the intended data at the point where it is trans-  
mitted.Double buffering of the UART transmitter may be  
bypassed as a simple means of synchronizing TB8 to  
the rest of the data stream.  
TI Flag  
Bypassing Double Buffering  
In order to allow easy use of the double buffered UART  
transmitter feature, the TI_n flag is set by the UART hard-  
ware under two conditions. The first condition is the  
completion of any byte transmission. This occurs at the  
end of the stop bit in modes 1, 2, or 3, or at the end of  
the eighth data bit in mode 0. The second condition is  
when SnBUF is written while the UART transmitter is  
idle. In this case, the TI_n flag is set in order to indicate  
that the second UART transmitter buffer is still avail-  
able.  
The UART transmitter may be used as if it is single buff-  
ered. The recommended UART transmitter interrupt ser-  
vice routine (ISR) technique to bypass double buffering  
first clears the TI_n flag upon entry into the ISR, as in  
standard practice. This clears the interrupt that activated  
the ISR. Secondly, the TI_n flag is cleared immediately  
following each write to SnBUF. This clears the interrupt  
flag that would otherwise direct the program to write to  
the second transmitter buffer. If there is any possibility  
that a higher priority interrupt might become active be-  
tween the write to SnBUF and the clearing of the TI_n  
flag, the interrupt system may have to be temporarily  
disabled during that sequence by clearing, then setting  
the EA bit in the IEL register.  
Typically, UART transmitters generate one interrupt per  
byte transmitted. In the case of the XA UART, one addi-  
tional interrupt is generated as defined by the stated con-  
ditions for setting the TI_n flag. This additional interrupt  
does not occur if double buffering is bypassed as ex-  
plained below.Note that if a character oriented approach  
is used to transmit data through the UART; there could  
be a second interrupt for each character transmitted,  
depending on the timing of the writes to SBUF. For this  
reason, it is generally better to bypass double buffering  
when the UART transmitter is used in character oriented  
mode. This is also true if the UART is polled rather than  
interrupt driven, and when transmission is character ori-  
ented rather than message or string oriented. The inter-  
rupt occurs at the end of the last byte transmitted when  
the UART becomes idle.Among other things, this allows  
a program to determine when a message has been trans-  
mitted completely. The interrupt service routine should  
handle this additional interrupt.  
The recommended method of using the double buffering  
in the application program is to have the interrupt ser-  
vice routine handle a single byte for each interrupt oc-  
currence. In this manner the program essentially does  
not require any special considerations for double buffer-  
ing. Unless higher priority interrupts cause delays in the  
servicing of the UART transmitter interrupt, the double  
buffering will result in transmitted bytes being tightly  
packed with no intervening gaps.  
Specifications subject to change without notice, contact your sales representatives for the most update information.  
P/N:PM0625  
REV. 1.0, JUL. 01, 2005  
33  
MX10EXA  
CLOCKING SCHEME/BAUD RATEGENERATION  
Baud Rate for UART Mode 2:  
Baud_Rate = Osc/32  
The XA UARTS clock rates are determined by either a  
fixed division (modes 0 and 2) of the oscillator clock or  
by the Timer 1 or Timer 2 overflow rate (modes 1 and 3).  
Using Timer 2 toGenerate Baud Rates  
The clock for the UARTs in XA runs at 1 6x the Baud  
rate. If the timers are used as the source for Baud Clock,  
since maximum speed of timers/Baud Clock is Osc/4,  
the maximum baud rate is timer overflow divided by 16  
i.e. Osc/64.  
Timer T2 is a 16-bit up/down counter in XA. As a baud  
rate generator, timer 2 is selected as a clock source for  
either/both UART0 and UART1 transmitters and/or re-  
ceivers by setting TCLKn and/or RCLKn in T2CON and  
T2MOD. As the baud rate generator, T2 is incremented  
as Osc/N where N = 4, 16 or 64 depending on TCLK as  
programmed in the SCR bits PT1, and PTO. So, if T2 is  
the source of one UART, the other UART could be clocked  
by either T1 overflow or fixed clock, and the UARTs could  
run independently with different baud rates.  
In Mode 0, it is fixed at Osc/1 6. In Mode 2, however, the  
fixed rate is Osc/32.  
Pre-scaler  
00  
01  
10  
11  
Osc/4  
for all Timers T0, 1, 2,  
controlled by PT1, PT0  
bits in SCR  
Osc/16  
Osc/64  
reserved  
T2CON  
0x418  
bit5  
bit4  
RCLK0  
TCLK0  
T2MOD  
0x419  
bit5  
bit4  
Baud Rate for UART Mode 0:  
Baud_Rate = Osc/16  
RCLK1  
TCLK1  
Baud Rate calculation for UART Mode 1 and 3:  
Baud_Rate  
= Timer_Rate/16  
Timer_Rate  
=Osc/(N*(Timer_Range-  
Timer_Reload_Value))  
Prescaler Select for Timer Clock (TCLK)  
whereN = the TCLK prescaler value: 4,16, or 64.  
and Timer_Range = 256 for timer 1 in mode 2.  
65536 for timer 1 in mode 0 and timer 2 in count up  
mode.  
SCR  
bit3  
bit2  
0x440  
PT1  
PT0  
The timer reload value may be calculated as follows:  
Timer_Reload_Value  
(Baud_Rate*N*1 6))  
=
Timer_Range(Osc/  
NOTES:  
1.The maximum baud rate for a UART in mode 1 or 3 is  
Osc/64.  
2.The lowest possible baud rate (for a given oscillator  
frequency and N value) may be found by using a timer  
reload value of 0.  
3.The timer reload value may never be larger than the  
timer range.  
4.If a timer reload value calculation gives a negative or  
fractional result, the baud rate requested is not pos-  
sible at the given oscillator frequency and N value.  
Specifications subject to change without notice, contact your sales representatives for the most update information.  
P/N:PM0625  
REV. 1.0, JUL. 01, 2005  
34  
MX10EXA  
SnSTATAddress:  
S0STAT 421  
S1STAT 425  
LSB  
MSB  
-
-
-
-
BRn  
FEn  
OEn STINTn  
Bit Addressable  
Reset Value:00H  
BIT  
SYMBOL FUNCTION  
SnSTAT.3  
FEn  
Framing Error flag is set when the receiver fails to see a valid STOP bit at the end  
of the frame. Cleared by software.  
SnSTAT.2  
BRn  
Break Detect flag is set if a character is received with all bits (including STOP bit)  
being logic ‘0’. Thus it gives a “Start of Break Detect” on bit 8 for Mode 1 and bit  
9 for Modes 2 and 3. The break detect feature operates independently of the UARTs  
and provides the START of Break Detect status bit that a user program may poll.  
Cleared by software.  
SnSTAT.1  
SnSTAT.0  
OEn  
Overrun Error flag is set if a new character is received in the receiver buffer while it  
is still full (before the software has read the previous character from the buffer), i.e.,  
when bit 8 of a new byte is received while RI in SnCON is still set. Cleared by  
software.  
This flag must be set to enable any of the above status flags to generate a receive  
interrupt (Rln). The only way it can be cleared is by a software write to this register.  
STINTn  
Figure 15. Serial Port Extended Status (SnSTAT) Register  
(See also Figure 17 regarding Framing Error flag)  
INTERRUPT SCHEME  
received. The 9th one goes into RB8. Then comes a stop  
bit. The port can be programmed such that when the  
There are separate interrupt vectors for each UART’s  
transmit and receive functions.  
stop bit is received, the serial port interrupt will be acti-  
vated only if RB8 = 1. This feature is enabled by setting  
bit SM2 in SCON. A way to use this feature in multipro-  
cessor systems is as follows:  
Table 6. Vector Locations for UARTS in XA  
Vector Address Interrupt Source Arbitration  
When the master processor wants to transmit a block of  
data to one of several slaves, it first sends out an ad-  
dress byte which identifies the target slave. An address  
byte differs from a data byte in that the 9th bit is 1 in an  
address byte and 0 in a data byte. With SM2 = 1, no  
slave will be interrupted by a data byte. An address byte,  
however, will interrupt all slaves, so that each slave can  
examine the received byte and see if it is being addressed.  
The addressed slave will clear its SM2 bit and prepare to  
receive the data bytes that will be coming. The slaves  
that weren’t being addressed leave their SM2s set and  
go on about their business, ignoring the coming data  
bytes.  
A0H - A3H  
A4H - A7H  
A8H - ABH  
ACH-AFH  
UART 0 Receiver  
UART 0 Transmitter 8  
UART I Receiver  
UARTI Transmitter 10  
7
9
NOTE:  
The transmit and receive vectors could contain the same  
ISR address to work like a 8051 interrupt scheme  
Error Handling, Status Rags and Break Detect  
The UARTs in XA has the following error flags; see Fig-  
ure 15.  
SM2 has no effect in Mode 0, and in Mode 1 can be  
used to check the validity of the stop bit although this is  
better done with the Framing Error (FE) flag. In a Mode 1  
reception, if SM2 = 1, the receive interrupt will not be  
activated unless a valid stop bit is received.  
Multiprocessor Communications  
Modes 2 and 3 have a special provision for multiproces-  
sor communications. in these modes, 9 data bits are  
Specifications subject to change without notice, contact your sales representatives for the most update information.  
P/N:PM0625  
REV. 1.0, JUL. 01, 2005  
35  
MX10EXA  
Automatic Address Recognition  
Slave0  
SADDR  
SADEN  
Given  
=1100 0000  
=1111 1001  
=1100 0XX0  
=1110 0000  
=1111 1010  
=1110 0X0X  
=1110 0000  
=1111 1100  
=1110 00XX  
Automatic Address Recognition is a feature which al-  
lows the UART to recognize certain addresses in the  
serial bit stream by using hardware to make the com-  
parisons. This feature saves a great deal of software  
overhead by eliminating the need for the software to ex-  
amine every serial address which passes by the serial  
port. This feature is enabled by setting the SM2 bit in  
SCON. In the 9 bit UART modes, mode 2 and mode 3,  
the Receive Interrupt flag (RI) will be automatically set  
when the received byte contains either the "Given"” ad-  
dress or the “Broadcast” address. The 9 bit mode re-  
quires that the 9th information bit is a 1 to indicate that  
the received information is an address and not data.  
Automatic address recognition is shown in Figure 18.  
Slave 1 SADDR  
SADEN  
Given  
SIave2 SADDR  
SADEN  
Given  
In the above example the differentiation among the 3  
slaves is in the lower 3 address bits. Slave 0 requires  
that bit 0 = 0 and it can be uniquely addressed by 1110  
0110. Slave 1 requires that bit 1 = 0 and it can be uniquely  
addressed by 1110 and 0101. Slave 2 requires that bit 2  
= 0 and its unique address is 1110 0011. To select Slaves  
0 and 1 and exclude Slave 2 use address 1110 0100,  
since it is necessary to make bit 2 = 1 to exclude slave  
2.  
Using the Automatic Address Recognition feature allows  
a master to selectively communicate with one or more  
slaves by invoking the Given slave address or addresses.  
All of the slaves may be contacted by using the Broad-  
cast address. Two special Function Registers are used  
to define the slave’s address, SADDR, and the address  
mask, SADEN. SADEN is used to define which bits in  
the SAD DR are to be used and which bits are “don’t  
care”. The SADEN mask can be logically ANDed with  
the SAD DR to create the “Given” address which the  
master will use for addressing each of the slaves. Use  
of the Given address allows multiple slaves to be recog-  
nized while excluding others. The following examples will  
help to show the versatility of this scheme:  
The Broadcast Address for each slave is created by tak-  
ing the logical OR of SADDR and SADEN. Zeros in this  
result are tested as don’t-cares. In most cases, inter-  
preting the don’t-cares as ones, the broadcast address  
will be FF hexadecimal.  
Upon reset SADDR and SADENare loaded with Os. This  
produces a given address of all “don’t cares” as well as  
a Broadcast address of all “don’t cares”. This effec-  
tively disables the Automatic Addressing mode and al-  
lows the microcontroller to use standard UART drivers  
which do not make use of this feature.  
Siave0 SADDR  
SADEN  
Given  
Slavel SADDR  
SADEN  
=1100 0000  
=1111 1101  
=1100 00X0  
=1100 0000  
=1111 1110  
=1100 000X  
Given  
In the above example SADDR is the same and the SAD  
EN data is used to differentiate between the two slaves.  
Slave 0 requires a 0 in bit 0 and it ignores bit 1. Slave 1  
requires a 0 in bit 1 and bit 0 is ignored. A unique ad-  
dress for Slave 0 would be 1100 0010 since slave 1  
requires a 0 in bit 1. A unique address for slave 1 would  
be 1100 0001 since a 1 in bit 0 will exclude slave 0. Both  
slaves can be selected at the same time by an address  
which has bit 0 = 0 (for slave 0) and bit 1 = 0 (for slave  
1). Thus, both could be addressed with 1100 0000.  
In a more complex system the following could be used  
to select slaves 1 and 2 while excluding slave 0:  
Specifications subject to change without notice, contact your sales representatives for the most update information.  
P/N:PM0625  
REV. 1.0, JUL. 01, 2005  
36  
MX10EXA  
LSB  
SnCON  
MSB  
SM0  
Address:S0CON 420  
S1CON 424  
RB8  
TB8  
TI  
RI  
SM1  
SM2 REN  
Bit Addressable  
Reset Value:00H  
Where SM0, SM1, specify the serial port mode, as bollows:  
SM0  
SM1  
Mode  
Description  
shift register  
8-bit UART  
9-bit UART  
9-bit UART  
Baud Rate  
fOSC/16  
variable  
fOSC/32  
variable  
0
0
1
1
0
1
0
1
0
1
2
3
BIT  
SnCON.5  
SYMBOL  
SM2  
FUNCTION  
Enables the multiprocessor communication feature in Modes 2 and 3. In Mode 2 or  
3, if SM2 is set to 1, then RI will not be activated it the received 9th data bit (RB8)  
is 0. In Mode 1, it SM2=1 then RI will not be activated if a valid stop bit was not  
received. In Mode 0, SM2 should be 0.  
SnCON.4  
SnCON.3  
SnCON.2  
SnCON.1  
SnCON.0  
REN  
TB8  
RB8  
TI  
Enables serial reception. Set by software to enable reception. Clear by software to  
disable reception.  
The 9th data bit that will be transmitted in Modes 2 and 3. Set or clear by software  
as desired. The TB8 bit is not double buffered. See text for details.  
In Modes 2 and 3, is the 9th data bit that was received. In Mode 1, it SM2=0, RB8  
is the stop bit that was received. In Mode 0, RB8 is not used.  
Transmit interrupt flag. Set when another byte may be written to the UART transmit-  
ter. See text for details. Must be cleared by software.  
Receive interrupt flag. Set by hardware at the end of the 8th bit time in Mode 0, or  
at the end of the stop bit time in the other modes (except see SM2). Must be  
cleared by software.  
RI  
Figure 16. Serial Port Control (SnCON) Register  
D0  
D1  
D2  
D3  
D4  
D5  
D6  
D7  
D8  
ONLY IN  
STOP  
BIT  
START  
BIT  
MODE 2,3  
DATA BYTE  
If 0, sets FE  
-
-
-
-
FEn  
BRn  
OEn STINTn  
SnSTAT  
Figure 17. UART Framing Error Detection  
Specifications subject to change without notice, contact your sales representatives for the most update information.  
P/N:PM0625  
REV. 1.0, JUL. 01, 2005  
37  
MX10EXA  
D0  
D1  
D2  
D3  
D4  
D5  
D6  
D7  
D8  
SM1_n SM2_n REN_n  
SM0_n  
TB8_n RB8_n TI_n  
X
RI_n  
SnCON  
1
1
1
0
1
1
RECEIVED ADDRESS D0 TO D7  
PROGRAMMED ADDRESS  
COMPARATOR  
IN UART MODE 2 OR MODE 3 AND SM2=1:  
INTERRUPT IF REN=1, RB8=1 AND "RECEIVED ADDRESS" = "PROGRAMMED ADDRESS"  
-WHEN OWN ADDRESS RECEIVED, CLEAR SM2 TO RECEIVED DATA BYTES  
-WHEN ALL DATA BYTES HAVE BEEN RECEIVED:SET SM2 TO WAIT FOR NEXT ADDRESS  
Figure 18. UART Multiprocessor Communication, Automatic Address Recognition  
Specifications subject to change without notice, contact your sales representatives for the most update information.  
P/N:PM0625  
REV. 1.0, JUL. 01, 2005  
38  
MX10EXA  
I/OPORTOUTPUTCONFIGURATION  
RESET  
Each I/O port pin can be user configured to one of 4  
output types. The types are Quasi-bidirectional (essen-  
tially the same as standard 80C51 family I/O ports),  
Open-Drain, Push-Pull, and Off (high impedance). The  
default configuration after reset is Quasi-bidirectional.  
However, in the ROM less mode (the EA pin is low at  
reset), the port pins that comprise the external data bus  
will default to push-pull outputs.  
The device is reset whenever a logic "0" is applied to  
RST for at least 10 microseconds, placing a low level  
on the pin re-initializes the on-chip logic. Reset must be  
asserted when power is initially applied to the XA and  
held until the oscillator is running.  
The duration of reset must be extended when power is  
initially applied or when using reset to exit power down  
mode. This is due to the need to allow the oscillator time  
to start up and stabilize. For most power supply ramp up  
conditions, this time is 10 milliseconds.  
I/O port output configurations are determined by the set-  
tings in port configuration SFRs. There are 2 SFRs for  
each port, called PnCFGA and PnCFGB, where “n” is  
the port number. One bit in each of the 2 SFRs relates to  
the output setting for the corresponding port pin, allow-  
ing any combination of the 2 output types to be mixed  
on those port pins. For instance, the output type of port  
1 pin 3 is controlled by the setting of bit 3 in the SFRs  
P1CFGA and P1CFGB.  
As RST is brought high again, an exception is generated  
which causes the processor to jump to the reset address.  
Typically, this is the address contained in the memory  
location 0000. The destination of the reset jump must be  
located in the first 64k of code address on power-up, all  
vectors are 16-bit values and so point to page zero ad-  
dresses only. After a reset the RAM contents are inde-  
terminate.  
Table 7 shows the configuration register settings for the  
4 port output types. The electrical characteristics of each  
output type may be found in the DC Characteristic table.  
Alternatively, the Boot Vector may supply the reset ad-  
dress. This happens when use of the Boot Vector is forced  
or when the Flash status byte is non-zero. These cases  
are described in the section “Hardware Activation of the  
Boot Vector” on page 10.  
Table 7. Port Configuration Register Settings  
PnCFGB  
PnCFGA  
Port Output Mode  
0
0
1
1
0
1
0
1
Open Drain  
Quasi-bidirectional  
Off (high impedance)  
Push-Pull  
VDD  
NOTE:  
XA  
Mode changes may cause glitches to occur during tran-  
sitions. When modifying both registers, WRITE instruc-  
tions should be carried out consecutively.  
R
RESET  
C
EXTERNAL BUS  
The external program/data bus allows for 8-bit or 16-bit  
bus width, and address sizes from 12 to 20 bits. The bus  
width is selected by an input at reset (see Reset Op-  
tions below), while the address size is set by the pro-  
gram in a configuration register. If all off-chip code is  
selected (through the use of the EA pin), the initial code  
fetches will be done with the maximum address size (20  
bits).  
SOME TYPICAL VALUES FOR A AND C:  
R=100K, C=1.0uF  
R=1.0M, C=0.1uF  
(ASSUMING THAT THE VDD RISE TIME IS 1ms OR LESS)  
Figure 19. Recommended Reset Circuit  
Specifications subject to change without notice, contact your sales representatives for the most update information.  
P/N:PM0625  
REV. 1.0, JUL. 01, 2005  
39  
MX10EXA  
RESET OPTIONS  
The XA defines tour types of interrupts:  
The EA pin is sampled on the rising edge of the RST  
pulse, and determines whether the device is to begin  
execution from internal or external code memory. EA  
pulled high configures the XA in single-chip mode. If EA  
is driven low, the device enters ROMless mode. After  
Reset is released, the EA/WAIT pin becomes a bus wait  
signal for external bus transactions.  
• Exception Interrupts - These are system level errors  
and other very important occurrences which include stack  
overflow, divid-by-0, and reset.  
• Event Interrupts - These are peripheral interrupts from  
devices such as UARTs, timers, and external interrupt  
inputs.  
• Software Interrupts - These are equivalent of hard-  
ware interrupt, but are requested only under software  
control.  
• Trap Interrupts - These are TRAP instructions, gener-  
ally used to call system services in a multi-tasking sys-  
tem.  
The BUSW/P3.5 pin is weakly pulled high while reset is  
asserted, allowing simple biasing of the pin with a resis-  
tor to ground to select the altermate bus width. If the  
BUSW pin is not driven at reset, the weak pullup will  
causes 1 to be loaded for the bus width, giving a 16-bit  
external bus. BUSW may be pulled low with a 2.7K or  
smaller value resistor, giving an 8-bit external bus. The  
bus width setting from the BUSW pin may be overridden  
by software once the user program is running.  
Exception interrupts, software interrupts, and trap inter-  
rupts are generally standard for XA derivatives and are  
detailed in the XA User Guide. Event interrupts tend to  
be different on different XA derivatives.  
Both EA and BUSW must be held for three oscillator  
clock times after reset is deasserted to guarantee that  
their values are latched correctly.  
The XA supports a total of 9 maskable event interrupt  
sources (for the various XA peripherals), seven software  
interrupts, 5 exception interrupts (plus reset), and 16 traps.  
The maskable event interrupts share a global interrupt  
disable bit (the EA bit in the IEL register) and each also  
has a separate individual interrupt enable bit (in the IEL  
or IEH registers). Only three bits of the IPA register val-  
ues are used on the XA. Each event interrupt can be set  
to occur at one of 8 priority levels via bits in the Interrupt  
Priority (IP) registers, IPA0 through IPA5. The value 0 in  
the IPA field gives the interrupt priority 0, in effect dis-  
abling the interrupt. A value of 1 gives the interrupt a  
priority of 9, the value 2 gives priority 10, etc. The result  
is the same as if all four bits were used and the top bit  
set for all values except 0.  
POWER REDUCTION MODES  
The XAsupports Idle and Power Down modes of power  
reduction. The idle mode leaves some peripherals run-  
ning to allow them to wake up the processor when an  
interrupt is generated. The power down mode stops the  
oscillator in order to minimize power. The processor can  
be made to exit power down mode via reset or one of the  
external interrupt inputs. In order to use an external inter-  
rupt to re-activate the XA while in power down mode, the  
external interrupt must be enabled and be configured to  
level sensitive mode. In power down mode, the power  
supply voltage may be reduced to the RAM keep-alive  
voltage (2V), retaining the RAM, register, and SFR val-  
ues at the point where the power down mode was en-  
tered.  
The complete interrupt vector list for the XA, including  
all 4 interrupt types, is shown in the following tables. The  
tables include the address of the vector for each inter-  
rupt, the related priority register bits (if any), and the ar-  
bitration ranking for that interrupt source. The arbitration  
ranking determines the order in which interrupts are pro-  
cessed if more than one interrupt of the same priority  
occurs simultaneously.  
INTERRUPTS  
The XA supports 38 vectored interrupt sources. These  
include 9 maskable event interrupts, 7 exception inter-  
rupts, 16 trap interrupts, and 7 software interrupts. The  
maskable interrupts each have 8 priority levels and may  
be globally and/or individually enabled or disabled.  
Specifications subject to change without notice, contact your sales representatives for the most update information.  
P/N:PM0625  
REV. 1.0, JUL. 01, 2005  
40  
MX10EXA  
Table 8. Interrupt Vectors  
EXCEPTION/TRAPS PRECEDENCE  
DESCRIPTION  
VECTORADDRESS  
0000-0003  
ARBITRATIONRANKING  
Reset (h/w, watchdog, s/w)  
Breakpoint (h/w trap 1)  
Trace (h/w trap 2)  
0 (High)  
0004-0007  
1
1
1
1
1
1
0008-000B  
Stack Overflow (h/w trap 3)  
Divide by 0 (h/w trap 4)  
User RETI (h/w trap 5)  
TRAP 0-15 (software)  
000C-000F  
0010-0013  
0014-0017  
0040-007F  
EVENT INTERRUPTS  
DESCRIPTION  
FLAG BIT  
VECTOR  
ARBITRATION  
ADDRESS  
0080-0083  
0084-0087  
0088-008B  
008C-008F  
ENABLE BIT INTERRUPT PRIORITY  
RANKING  
External interrupt 0 lE0  
Timer 0 interrupt TF0  
External interrupt 1 IE1  
EX0  
ET0  
EX1  
ET1  
ET2  
ERI0  
ETI0  
ERI1  
ETI1  
lPA0.2-0 (PX0)  
IPA0.6-4 (PT0)  
IPA1.2-0 (PX1)  
lPA1.6-4 (PT1)  
lPA2.2-0(PT2)  
lPA4.2-0(PRIO)  
lPA4.6-4 (PTIO)  
lPA5.2-0(PRT1)  
lPA5.6-4(PTI1)  
2
3
4
5
6
7
8
9
10  
Timer 1 interrupt  
Timer 2 interrupt  
Serial port 0 Rx  
Serial port 0 Tx  
Serial port 1 Rx  
Serial port 1 Tx  
TF1  
TF2(EXF2) 0090-0093  
RI.0  
TI.0  
RI.1  
TI.1  
00A0-00A3  
00A4-00A7  
00A8-00AB  
OOAC-00AF  
SOFTWARE INTERRUPTS  
DESCRIPTION  
FLAG BIT  
VECTOR  
ADDRESS  
0100-0103  
0104-0107  
0108-010B  
010C-010F  
0110-0113  
0114-0117  
0118-011B  
ENABLE BIT  
SWE1  
INTERRUPT PRIORITY  
(fixed at 1)  
Software interrupt 1  
Software interrupt 2  
Software interrupt 3  
Software interrupt 4  
Software interrupt 5  
Software interrupt 6  
Software interrupt 7  
SWR1  
SWR2  
SWR3  
SWR4  
SWR5  
SWR6  
SWR7  
SWE2  
(fixed at 2)  
SWE3  
(fixed at 3)  
SWE4  
(fixed at 4)  
SWES  
SWE6  
(fixed at 5)  
(fixed at 6)  
SWE7  
(fixed at 7)  
Specifications subject to change without notice, contact your sales representatives for the most update information.  
P/N:PM0625  
REV. 1.0, JUL. 01, 2005  
41  
MX10EXA  
ABSOLUTE MAXIMUM RATINGS  
PARAMETER  
RATING  
UNIT  
°C  
°C  
V
Operating temperature under bias  
Storage temperature range  
-55 to + 125  
-65 to + 150  
0 to + 13.0  
0.5 to VDD + 0.5V  
15  
Voltage on EA/VPP pin to VSS  
Voltage on any other pin to VSS  
Maximum IOL per I/O pin  
V
mA  
w
Power dissipation (based on package heat transfer limitations, not device  
power consumption)  
1.5  
DC ELECTRICAL CHARACTERISTICS  
VDD = 4.5V to 5.5V unless otherwise specified;  
Tamb = 0 to + 70°C for commercial  
= - 40OC to +85OC for industrial, unless otherwise specified.  
Symbol PARAMETER  
Supplies  
TEST CONDITIONS  
LIMITS  
UNIT  
MIN  
TYP  
MAX  
IDD  
Supply current operating  
5.5V, 30 MHz  
5.5V, 30 MHz  
110  
32  
mA  
mA  
uA  
uA  
V
IID  
Idle mode supply current  
IPD  
Power-down current  
30  
IPDI  
VRAM  
VIL  
Power-down current  
150  
RAM-keep-alive voltage  
RAM-keep-alive voltage  
1.5  
Input low voltage  
-0.5  
2.2  
0.22VDD  
V
VIH  
VIH1  
VIL1  
VOL  
VOH1  
VOH2  
CIO  
IIL  
Input high voltage, except XTAL1, RST  
Input high voltage to XTAL1, RST  
Input low voltage to XATL1, RST  
Output low voltage all ports, ALE, PS EN3  
Output high voltage all ports, ALE, PSEN1  
At 5.0V  
V
At 5.0V  
0.8VDD  
V
At 5.0V  
0.12VDD  
0.5  
IOL=3.2mA, VDD=5.0V  
V
IOH=-100uA, VDD=4.5V  
2.4  
2.4  
V
Output high voltage, ports P0-3, ALE, PSEN2 IOH=3.2mA, VDD=4.5V  
V
Input/Output pin capacitance  
15  
pF  
uA  
uA  
uA  
Logical 0 input current, P0-36  
VIN = 0.45V  
VIN = VIL OR VIH  
At 5.5V  
-25  
-75  
+10  
-650  
ILI  
Input leakage current, P0-35  
ITL  
Logical 1 to 0 transition current all ports4  
Specifications subject to change without notice, contact your sales representatives for the most update information.  
P/N:PM0625  
REV. 1.0, JUL. 01, 2005  
42  
MX10EXA  
NOTES:  
1.Ports in Quasi bi-directional mode with weak pull-up (applies to ALE, PSEN only during RESET).  
2.Ports in Push-Pull mode, both pull-up and pull-down assumed to be same strength.  
3.In all output modes.  
4.Port pins source a transition current when used in quasi-bidirectional mode and externally driven from 1 to 0. This  
current is highest when VIN is approximately 2V.  
5.Measured with port in high impedance output mode.  
6.Measured with port in quasi-bidirectional output mode.  
7.Load capacitance for all outputs=80pF  
8.Under steady state (non-transient) conditions, IOL must be externally limited as follows:  
Maximum IOL per port pin:  
Maximum IOL per 8-bit port:  
1 5mA (*NOTE: This is 85°C specification for VDD= 5V.)  
26mA  
Maximum total IOL for all output: 71 mA  
If IOL exceeds the test condition, VOL may exceed the related specification. Pins are not guaranteed to sink current  
greater than the listed test conditions.  
Specifications subject to change without notice, contact your sales representatives for the most update information.  
P/N:PM0625  
REV. 1.0, JUL. 01, 2005  
43  
MX10EXA  
AC ELECTRICAL CHARACERISTICS (5V)  
VDD = 4.5V to 5.5V; Tamb = 0 to +70°C for commercial - 40OC to +85OC for Industrial  
SYMBOL FIGURE  
External Clock  
PARAMETER  
VARIABLE CLOCK  
UNIT  
MIN  
MAX  
fC  
26  
26  
26  
26  
26  
26  
Oscillator frequency  
Clock period and CPU timing cycle  
Clock high time  
0
30  
MHz  
ns  
tC  
1/ fC  
tCHCX  
tCLCX  
tCLCH  
tCHCL  
tC * 0.57  
tC * 0.47  
ns  
Clock low time  
ns  
Clock rise time  
5
5
ns  
Clock fall time  
ns  
Address Cycle  
tCRAR  
tLHLL  
tAVLL  
tLLAX  
25  
20  
20  
20  
Delay from clock rising edge to ALE rising edge  
ALE pulse width (programmable)  
5
46  
ns  
ns  
ns  
ns  
(V1 * tC)-6  
(V1 * tC)-12  
(tC/2)-10  
Address valid to ALE de-asserted (set-up)  
Address hold after ALE de-asserted  
Code Read Cycle  
tPLPH  
tLLPL  
tAVIVA  
20  
20  
20  
PSEN pulse width  
(V2 * tC )-10  
(tC/2)-7  
ns  
ns  
ALE de-asserted to PSEN asserted  
Address valid to instruction valid, ALE cycle  
(access time)  
(V3 * tC)-36 ns  
(V4 * tC)-29 ns  
(V2 * tC)-29 ns  
ns  
tAVIVB  
tCPLIV  
tPXIX  
tPXIZ  
tIXUA  
21  
20  
20  
20  
20  
Address valid to instruction valid, non-ALE cycle  
(access time)  
PSEN asserted to instruction valid  
(enable time)  
Instruction hold after PSEN de-asserted  
0
0
Bus 3-State after PSEN de-asserted  
(disable time)  
tC - 8  
ns  
ns  
Hold time of unlatched part of address after  
instruction latched  
Data Read Cycle  
tRLRH  
tLLRL  
22  
22  
22  
RD pulse width  
(V7 * tC )-10  
(tC/2)-7  
ns  
ns  
ALE de-asserted to RD asserted  
Address valid to data input valid, ALE cycle  
(access time)  
tAVDVA  
(V6 * tC)-36 ns  
tAVDVB  
23  
Address valid to data input valid, non-ALE cycle  
(access time)  
(V5 * tC)-29 ns  
tRLDV  
tRHDX  
tRHDZ  
tDXUA  
22  
22  
22  
22  
RD low to valid data in, enable time  
Data hold time after RD de-asserted  
Bus 3-State after RD de-asserted (disable time)  
Hold time of unlatched part of address after  
data latched  
(V7 * tC)-29 ns  
ns  
0
0
tC-8  
ns  
ns  
Specifications subject to change without notice, contact your sales representatives for the most update information.  
P/N:PM0625  
REV. 1.0, JUL. 01, 2005  
44  
MX10EXA  
SYMBOL FIGURE  
Data Write Cycle  
PARAMETER  
VARIABLE CLOCK  
UNIT  
MIN  
MAX  
tWLWH  
tLLWL  
24  
24  
24  
24  
24  
WR pulse width  
(V8 * tC)-10  
ns  
ALE falling edge to WR asserted  
(V12 * tC)-10  
ns  
ns  
ns  
ns  
tQVWX  
tWHQX  
tAVWL  
Data valid before WR asserted (data setup time) (V13 * tC)-22  
Data hold time after WR de-asserted (Note 6) (V11 * tC)-5  
Address valid to WR asserted (address setup time) (V9 * tC)-22  
(Note 5)  
tUAWH  
24  
Hold time of unlatched part of address after WR  
is de-asserted  
(V11 * tC)-7  
(V10 * tC)-5  
ns  
Wait Input  
tWTH  
25  
25  
WAIT stable after bus strobe  
(RD,WR,or PSEN) asserted  
WAIT hold after bus strobe  
(RD,WR,or PSEN) asserted  
(V10*tC)-30  
ns  
ns  
tWTL  
NOTES:  
1.Load capacitance for all outputs = 80p F.  
2.Variables V1 through V13 reflect programmable bus timing, which is programmed via the Bus Timing registers  
(BTRH and BTRL). Refer to the XA User Guide for details of the bus timing settings.  
V1) This variable represents the programmed width of the ALE pulse as determined by the ALEW bit in the BTRL  
register. V1 = 0.5 if the ALEW bit = 0, and 1.5 if the ALEW bit = 1.  
V2) This variable represents the programmed width of the PSEN pulse as determined by the CR1 and CR0 bits  
or the CRAl, CRA0, and ALEW bits in the BTRL register.  
- For a bus cycle with no ALE, V2 = l if CR1/0 = 00, 2 if CR1/0 = 01, 3 if CR1/0 = 10, and 4 if CR1/0 = 11. Note that  
during burst mode code fetches, PSENdoes not exhibit transitions at the boundaries of bus cycles. V2 still applies  
for the purpose of determining peripheral timing requirements.  
- For a bus cycle with an ALE, V2 = the total bus cycle duration (2 if CRA1/0 = 00, 3 if CRA1/0 = 01, 4 if CRA1/0 =  
10, and 5 if CRA1/0 = 11) minus the number of clocks used by ALE (V1 + 0.5).  
Example: If CRA1/0 = 10 and ALEW = 1, the V2 = 4 - (1.5 + 0.5) = 2.  
V3) This variable represents the programmed length of an entire code read cycle with ALE. This time is deter  
mined by the CRA1 and CRA0 bits in the BTRL register. V3 = the total bus cycle duration (2 if CRA1/0 =00,  
3 if CRA1/0 =01, 4 if CRA1/0 = 10, and 5 it CRA1/0 = 11).  
V4) This variable represents the programmed length of an entire code read cycle with no ALE. This time is  
determined by the CR1 and CR0 bits in the BTRL register. V4 = 1 if CR1/0 = 00,2 if CR1/0= 01,3 if CR1/0= 10,  
and 4 if CR1/0 = 11.  
V5) This variable represents the programmed length of an entire data read cycle with no ALE. this time is  
determined by the DR1 and DR0 bits in the BTRH register. V5 = l if DR1/0 = 00,2 if DR1/0 = 01,3 if DR1/0 =  
10, and 4 it DR1/0 = 11.  
V6) This variable represents the programmed length of an entire data read cycle withALE. The time is determined  
by the DRA1 and DRA0 bits in the BTRH register. V6 = the total bus cycle duration (2 if DRA1/0 = 00, 3 if  
DRA1/0 = 01, 4 if DRA1/0 = 10, and 5 if DRA1/0 = 11).  
V7) This variable represents the programmed width of the RD pulse as determined by the DR1 and DR0 bits or  
the DRA1, DRA0 in the BTRH register, and the ALEW bit in the BTRL register. Note that during a 16-bit  
operation on an 8-bit external bus, RD remains low and does not exhibit a transition between the first and  
second byte bus cycles. V7still applies for the purpose of determining peripheral timing requirements. The  
timing for the first byte is for a bus cycle with ALE, the timing for the second byte is for a bus cycle with no  
ALE.  
Specifications subject to change without notice, contact your sales representatives for the most update information.  
P/N:PM0625  
REV. 1.0, JUL. 01, 2005  
45  
MX10EXA  
- For a bus cycle with no ALE, V7 = l if DR1/0 = 00, 2 if DR1/0 = 01,3 if DR1/0 = 10, and 4 if DR1/0 = 11.  
- For a bus cycle with an ALE, V7 = the total bus cycle duration (2 it DR1/0 = 00, 3 if DRA1/0 = 01, 4 if DRA1/0 =  
10, and S if DRA1/0 = 11) minus the number of clocks used by ALE (V1 + 0.5).  
Example: If DRA1/0 = 00 and ALEW = 0, then V7=2 - (0.5 + 0.5) = 1.  
V8) This variable represents the programmed width of the WRL and/or WRH pulse as determined by the WM1 bit  
in the BTRL register. V8 1 if WM1 =0,and2 if WM1 =1.  
V9) This variable represents the programmed address setup time for a write as determined by the data write  
cycle duration (defined by DW1 and DW0 or the DWA1 and DWA0 bits in the BTRH register), the WM0 bit in  
the BTRL register, and the value of V8.  
- For a bus cycle with anALE, V9 = the total bus write cycle duration (2 ifDWA1/0 = 00, 3 ifDWA1/0 = 01, 4 ifDWA1/  
0 = 10, and 5 if DWA1/0= 11) minus the number of clocks used by the WRL and/or WRH pulse (V8), minus the  
number of clocks used by data hold time (0 if WM0= 0 and l iF WM0 = 1).  
Example: If DWA1/0=10,WM0= 1, and WM1 =1, then V9=4-1 -2=1.  
- For a bus cycle with no ALE, V9 = the total bus cycle duration (2 if DW1/0 = 00, 3 if OW1/0 = 01, 4 if DW1/0 = 10,  
and 5 if DW1/0 = 11) minus the number of clocks used by the WRL and/or WRH pulse (V8), minus the number of  
clocks used by data hold time (0 if WM0 = 0 and l if WM0 = 1).  
Example: If DW1/0=11, WM0=1, and WM1 =0, then V9=5-1 -1=3.  
V10) This variable represents the length of a bus strobe for calculation of WAIT setup and hold times. The strobe  
may be RD (for data read cycles), WRL and/or WRH (for data write cycles), or PSEN (for code read cycles),  
depending on the type of bus cycle being widened by WAIT. V10 = V2 for WAIT associated with a code read  
cycle using PSENV10 = V8 for a data write cycle using WRL and/or WRH. V10 = V7-1 for a data read cycle  
using RD. This means that a single clock data read cycle cannot be stretched using WAIT. If WAIT is used  
to vary the duration of data read cycles, the RD strobe width must be set to be at least twoclocks in dura-  
tion. Also see Note 4.  
V11) This variable represents the programmed write hold time as determined by the WM0 bit in the BTRLregister.  
V11=0 if the WM0 bit=0, and 1 if the WM0 bit=1.  
V12) This variable represents the programmed period between the end of the ALE pulse and the beginning of the  
WRL and/or WRH pulse as determined by the data write cycle duration (defined by theDWA1 andDWA0 bits  
in the BTRH register), the WM0 bit in the BTRL register, and the values of V1 and V8. V12= the total bus cycle  
duration (2 if DWA1/0 =00, 3 if DWA1/0 = 01, 4 it DWA1/0 = 10, and 5 it DWA1/0 = 11) minus the number of  
clocks used by the WRL and/or WRH pulse (V8), minus the number of clocks used by data hold time (0 if  
WM0 = 0 and lit WM0 = 1), minus the width of the ALE pulse (V1).  
Example:If DWA1/0= 11,WM0=1,WM1 =0, and ALEW =1, then V12=5-1 -1-1.5=1.5.  
V13) This variable represents the programmed data setup time for a write as determined by the data write cycle  
duration (defined by DW1 and DW0 or the DWA1 and DWA0 bits in the BTRH register), the WM0 bit in the  
BTRL register, and the values of V1 and V8.  
- For a bus cycle with an ALE, V13 = the total bus cycle duration (2 if DWA1/0 = 00, 3 it DWA1/0 = 01, 4 if  
DWA1/0 = 10, and 5 if DWA1/0 = 11) minus the number of clocks used by the WRL and/or WRH pulse (V8),  
minus the number of clocks used by data hold time (0 if WM0 = 0 and 1 if WM0 = 1), minus the number of  
clocks used by ALE (V1 + 0.5).  
Example:IfDWA1/0= 11, WM0=1, WM1 =1, and ALEW=0,then V13=5-1-2-1= 1.  
-For a bus cycle with no ALE, V13 = the total bus cycle duration (2 if DW1/0 = 00, 3 if DW1/0 = 01, 4 it DW1/  
0 = 10, and 5 ifDW1/0= 11) minus the number of clocks used by the WRL and/or WRH pulse (V8), minus the  
number of clocks used by data hold time (0 if WM0 = 0 and 1 if WM0 = 1).  
Example:IfDW1/0=01, WM0=1, and WM1 =0, then V13=3 -1 -1=1.  
3. Not all combinations of bus timing configuration values result in valid bus cycles. Please refer to the XA User Guide  
section on the External Bus for details.  
4.When code is being fetched for execution on the external bus, a burst mode fetch is used that does not have PSEN  
edges in every fetch cycle. Thus, it WAIT is used to delay code fetch cycles, a change in the low order address lines  
must be detected to locate the beginning of a cycle. This would be A3-A0 for an 8-bit bus, and A3-A1 for a 16-bit  
bus. Also, a 16-bit data read operation conducted on a 8-bit wide bus similarly does not include two separate RD  
strobes. So, a rising edge on the low order address line (A0) must be used to trigger a WAIT in the second halt of  
such a cycle.  
Specifications subject to change without notice, contact your sales representatives for the most update information.  
P/N:PM0625  
REV. 1.0, JUL. 01, 2005  
46  
MX10EXA  
5.This parameter is provided for peripherals that have the data clocked in on the tailing edge of the WR strobe. This  
is not usually the case, and in most applications this parameter is not used.  
6.Please note that the XA requires that extended data bus hold time (WM0 = 1) to be used with external bus write  
cycles.  
7.Applies only to an external clock source, not when a crystal or ceramic resonator is connected to the XTAL1 and  
XTA12 pins.  
t
LHLL  
ALE  
t
AVLL  
t
LLPL  
t
PLPH  
t
PLIV  
PSEN  
t
PXIZ  
t
LLAX  
t
PXIX  
MULTIPLEXED  
ADDRESS AND DATA  
A4-A11 or A4-A19  
INSTR IN*  
t
AVIVA  
t
IXUA  
UNMULTIPLEXED  
ADDRESS  
A0 or A1-3, A12-19  
* INSTR IN is either D0-D7 or D0-D15, depending on the bus width (8 or 16 bits).  
Figure 20. External Program Memory Read Cycle (ALE Cycle)  
ALE  
PSEN  
MULTIPLEXED  
ADDRESS AND DATA  
A4-A11 or A4-A19  
INSTR IN*  
t
AVIVB  
UNMULTIPLEXED  
ADDRESS  
A0 or A1-3, A12-19  
A0 or A1-A3, A12-19  
* INSTR IN is either D0-D7 or D0-D15, depending on the bus width (8 or 16 bits).  
Figure 21. External Program Memory Read Cycle (Non-ALE Cycle)  
Specifications subject to change without notice, contact your sales representatives for the most update information.  
P/N:PM0625  
REV. 1.0, JUL. 01, 2005  
47  
MX10EXA  
ALE  
RD  
t
LLRL  
t
RLRH  
t
RHDZ  
t
AVLL  
t
LLAX  
t
RLDV  
t
RHDX  
MULTIPLEXED  
ADDRESS AND DATA  
A4-A11 or A4-A19  
INSTR IN*  
t
AVDVA  
t
DXUA  
UNMULTIPLEXED  
ADDRESS  
A0 or A1-A3, A12-19  
* INSTR IN is either D0-D7 or D0-D15, depending on the bus width (8 or 16 bits).  
Figure 22. External Data Memory Read Cycle (ALE Cycle)  
ALE  
RD  
MULTIPLEXED  
ADDRESS AND DATA  
A4-A11  
D0-D7  
DATA IN*  
t
AVDVB  
UNMULTIPLEXED  
ADDRESS  
A0-A3,A12-A19  
A0-A3, A12-A19  
Figure 23. External Data Memory Read Cycle (Non-ALE Cycle)  
Specifications subject to change without notice, contact your sales representatives for the most update information.  
P/N:PM0625  
REV. 1.0, JUL. 01, 2005  
48  
MX10EXA  
ALE  
t
LLWL  
t
WLWH  
WRL or WRH  
t
WHQX  
t
AVLL  
t
QVWX  
t
LLAX  
MULTIPLEXED  
ADDRESS AND DATA  
A4-A11 or A4-A15  
DATA OUT*  
t
UAWH  
t
AVWL  
UNMULTIPLEXED  
ADDRESS  
A0 or A1-A3, A12-19  
* INSTR IN is either D0-D7 or D0-D15, depending on the bus width (8 or 16 bits).  
Figure 24. External Data Memory Write Cycle  
XTAL1  
ALE  
t
CRAR  
ADDRESS BUS  
WAIT  
t
WTH  
BUS STROBE  
(WRL,WRH,  
RD,OR PSEN)  
t
WTL  
(The dashed line shows the strobe without WAIT.)  
Figure 25. WAIT Signal Timing  
Specifications subject to change without notice, contact your sales representatives for the most update information.  
P/N:PM0625  
REV. 1.0, JUL. 01, 2005  
49  
MX10EXA  
VDD-0.5  
0.45V  
0.7VDD  
0.2VDD-0.1  
tCHCX  
tCHCH  
tCLCX  
tCHCL  
tC  
Figure 26. External Clock Drive  
VDD-0.5  
0.45V  
0.2VDD+0.9  
0.2VDD-0.1  
NOTE:  
AC inputs during testing are driven at VDD-0.5 for a logic "1" and 0.45V for logic "0".  
Timing measurements are made at the 50% point of transitions.  
VOH-0.1V  
VLOAD+0.1V  
TIMING REFERENCE  
POINTS  
VLOAD  
NOTE:  
VLOAD-0.1V  
VOL+0.1V  
For timing purposes, a port is no longer floating when a 100mV change from load voltage occurs,  
and begins to float when a 100mV change from the loaded VOH/VOL level occurs.  
IOH/IOL > ±20mA  
Specifications subject to change without notice, contact your sales representatives for the most update information.  
P/N:PM0625  
REV. 1.0, JUL. 01, 2005  
50  
MX10EXA  
VDD  
VDD  
VDD  
VDD  
EA  
VDD  
RST  
EA  
RST  
XTAL2  
XTAL1  
VSS  
(NC)  
CLOCK  
SIGNAL  
XTAL2  
XTAL1  
VSS  
(NC)  
CLOCK  
SIGNAL  
Figure 29. IDD Test Condition, Active Mode  
All other pins are disconnected  
Figure 30. IDD Test Condition, Idle Mode  
All other pins are disconnected  
120  
100  
80  
MAX.IDD (ACTIVE)  
CURRENT(mA)  
60  
40  
20  
MAX.IDD (IDLE)  
0
5
10  
15  
20  
25  
30  
FREQUENCY (MHz)  
Figure 31. IDD VS. Frequency  
Valid only within frequency specification of the device under test.  
Specifications subject to change without notice, contact your sales representatives for the most update information.  
P/N:PM0625  
REV. 1.0, JUL. 01, 2005  
51  
MX10EXA  
VDD-0.5  
0.45V  
0.7VDD  
0.2VDD-0.1  
t
CHCX  
t
CLCX  
t
CLCH  
t
CHCL  
t
CL  
Figure 32. Clock Signal Waveform for IDD Tests in Active and Idle Modes  
tCLCH=  
t
CHCL=5ns  
VDD  
VDD  
EA  
VDD  
RST  
XTAL2  
XTAL1  
VSS  
(NC)  
Figure 33. IDD Test Condition, Power Down Mode  
All other pins are disconnected. VDD=2V to 5.5V  
Specifications subject to change without notice, contact your sales representatives for the most update information.  
P/N:PM0625  
REV. 1.0, JUL. 01, 2005  
52  
MX10EXA  
PACKAGE INFORMATION  
44-PIN PLASTIC LEADED CHIP CARRIER(PLCC)  
A
B
1
6
44  
40  
ITEM  
A
MILLIMETERS  
17.53 ± .12  
16.59 ± .12  
16.59 ± .12  
17.53 ± .12  
1.95  
INCHES  
.690 ± .005  
.653 ± .005  
.653 ± .005  
.690 ± .005  
.077  
7
39  
B
C
D
E
13  
C
D
33  
29  
F
4.70 max.  
2.55 ± .25  
.51 min.  
.185 max  
.100 ± .010  
.020 min.  
G
H
I
17  
1.27 [Typ.]  
.71 ± .10  
.46 ± .10  
15.50 ± .51  
.63 R  
.050 [Typ.]  
.028 ± .004  
.018 ± .004  
.610 ± .020  
.025 R  
J
18  
28  
23  
K
E
L
N
F
G
H
M
N
M
I
.25 [Typ.]  
.010 [Typ.]  
J
K
L
Specifications subject to change without notice, contact your sales representatives for the most update information.  
P/N:PM0625  
REV. 1.0, JUL. 01, 2005  
53  
MX10EXA  
LQFP44 : plastic low profile quad flat package ; 44 leads ; body 10 x 10 x 1.4mm  
Specifications subject to change without notice, contact your sales representatives for the most update information.  
P/N:PM0625  
REV. 1.0, JUL. 01, 2005  
54  
MX10EXA  
MACRONIX INTERNATIONALCO., LTD .  
Headquarters:  
TEL:+886-3-578-6688  
FAX:+886-3-563-2888  
Europe Office :  
TEL:+32-2-456-8020  
FAX:+32-2-456-8021  
Hong Kong Office :  
TEL:+86-755-834-335-79  
FAX:+86-755-834-380-78  
Japan Office :  
Kawasaki Office :  
TEL:+81-44-246-9100  
FAX:+81-44-246-9105  
Osaka Office :  
TEL:+81-6-4807-5460  
FAX:+81-6-4807-5461  
Singapore Office :  
TEL:+65-6346-5505  
FAX:+65-6348-8096  
Taipei Office :  
TEL:+886-2-2509-3300  
FAX:+886-2-2509-2200  
MACRONIX AMERICA, INC.  
TEL:+1-408-262-8887  
FAX:+1-408-262-8810  
http : //www.macronix.com  
MACRONIX INTERNATIONAL CO., LTD. reserves the right to change product and specifications without notice.  
54  

相关型号:

MX10EXAUC

XA 16-bit Microcontroller Family 64K Flash/2K RAM, Watchdog, 2UARTs
Macronix

MX10EXAUCG

XA 16-bit Microcontroller Family 64K Flash/2K RAM, Watchdog, 2UARTs
Macronix

MX10EXAUI

Microcontroller, 16-Bit, FLASH, 8051 CPU, 30MHz, CMOS, PQFP44, 10 X 10 MM, 1.40 MM HEIGHT, PLASTIC, MS-026, LQFP-44
Macronix

MX10EXAUIG

RISC Microcontroller, 16-Bit, FLASH, 8051 CPU, 30MHz, CMOS, PQFP44
Macronix

MX10F201FC

High-Performance and Low Power Microcontroller designed for Use Many Applications
Macronix

MX10F202FC

Microcontroller, 8-Bit, OTPROM, 8051 CPU, 16MHz, CMOS, PQFP100, PLASTIC, QFP-100
Macronix

MX10F203FC

Microcontroller
Macronix

MX10FMAXDPC

SINGLE-CHIP 8-BIT MICROCONTROLLER
Macronix

MX10FMAXDPCG

Microcontroller, 8-Bit, FLASH, 8051 CPU, 40MHz, CMOS, PDIP40
Macronix

MX10FMAXDQC

SINGLE-CHIP 8-BIT MICROCONTROLLER
Macronix

MX10FMAXDQCG

Microcontroller, 8-Bit, FLASH, 8051 CPU, 40MHz, CMOS, PQCC44
Macronix

MX10L8050FC

Microcontroller, 8-Bit, MROM, 40MHz, CMOS, PQFP44, PLASTIC, QFP-44
Macronix