M44C260/M48C260 MARC4 – 4-bit Microcontroller The M44C260 and M48C260 are members of the TEMIC family of 4-bit single chip microcontrollers. The M48C260 is the user programmable version of the M44C260. It contains an EEPROM program memory instead of a ROM. Both microcontroller types contain RAM, EEPROM data memory, parallel I/O ports, one timer with watchdog function, two 8/16-bit multifunction timer/counter and the on-chip clock generation.
Features
Benefits
D D D D D D D D D D
4-bit HARVARD architecture
D Low power consumption
1 µs instruction cycle
D Power-down mode < 1 µA
4K 8-bit application program memory
D 2.4 to 6.2 V supply voltage
256 4-bit RAM
D Self-test functions
16 8-bit EEPROM
D High-level programming language in qFORTH
16 bidirectional I/O’s
D User programmable with the application program
8 hard and software interrupt levels 2 8-bit multifunction timer/counter Interval timer with watchdog 32 kHz on-chip oscillator NWP
VSS
V DD
NRST
TE
TCL
OSCIN
Test
Reset
OSCOUT
Clock
Sleep
ROM or EEPROM 4K x 8 bit
EEPROM 16 x 8 bit
RAM 256 x 4 bit
MARC4 4–bit CPU core
Timer 1
Timer 2
Watchdog
Timer B
Intervall timer
Timer A
I/O bus
I/O
I/O
I/O
I/O
Interrupt inputs
Input Port 4
INT6 Port 0
Port 1
Port 2
Port 3
IP40
IP43
TA TB
94 9038
Figure 1. Block diagram
Rev. A2, 01-Oct-98
1 (51)
M44C260/M48C260 BP02 1
28 BP01
BP03 2
27 BP00
NWP 3
26 BP33
TE
4
25 BP32
OSC OUT
5
24 BP31
OSC IN
6
VDD
7
M44C260
23 BP30
BP02 1
20 BP01
BP03 2
19 BP00
TE 3
18 BP31
OSC OUT 4
17 BP30 16 VSS
22 VSS
OSC IN 5
21 TCL
VDD 6
15 TCL
20 IP40–INT6
NRST 7
14 INT6–IP40
BP21 10
19 IP41–TA
BP20 8
13 TA–IP41
BP22 11
18 IP42–TB
BP10 9
12 BP13
BP23 12
17 IP43
BP11 10
11 BP12
BP10
13
16 BP13
BP11
14
15 BP12
NRST 8 BP20
M48C260
9
M44C260
94 9039
Figure 2. Pin connections for SSO28–FN
Figure 3. Pin connections for SSO20
ÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ Table 1. Pin description
Name
VDD VSS BP00 – BP03 BP10 – BP13 BP20 – BP23 BP30 – BP33
IP40-INT6 IP41-TA
IP42-TB
IP43 NWP OSCIN OSCOUT NRST TCL TE
*)
2 (51)
Function
Power supply voltage +2.4 to +6.2 V Circuit ground 4 bidirectional I/O lines of Port 0 * 4 bidirectional I/O lines of Port 1 * 4 bidirectional I/O lines of Port 2 4 bidirectional I/O lines of Port 3 with alternate interrupt function. A negative transition on BP30/BP31 requests an INT2-, and on BP32/BP33 an INT3-interrupt if the corresponding interrupt-mask is set. Input port 40 line/interrupt 6 input * A negative transition on this input requests an INT6 interrupt if the IM6 mask bit is set. Timer/counter I/O/Input Port 41 line * This line can be used as programmable I/O of counter A or as Port 41 input. Timer/counter I/O/input Port 42 line * This line can be used as programmable I/O of counter B or as Port 42 input. Input Port 43 line *) EEPROM write protect input, a logic low on this input protects EEPROM rows 12 to 15. Oscillator input (32-kHz crystal). Oscillator output (32-kHz crystal). Reset input/output, a logic low on this pin resets the device. An internal watchdog reset is indicated by a low level on this pin. External system clock I/O. This pin can be used as input to provide the mC with an external clock or as output of the internal system clock. Testmode input. This input is used to control the test modes and the function of the TCL pin.
The I/O ports have CMOS output buffers. As input they are available with pull-up or pull-down resistors. Please see the ordering information.
Rev. A2, 01-Oct-98
M44C260/M48C260 Contents 1
MARC4 Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.1 General Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2 Components of MARC4 Core . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2.1 Program Memory (ROM or EEPROM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2.2 Data Memory (RAM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2.3 Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2.4 ALU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2.5 Self-Check . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2.6 Instruction Cycles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2.7 I/O Bus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2.8 Interrupt Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Software Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Hardware Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3 Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.4 Clock Generation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.4.1 Clock Status/Control Register (CSC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.4.2 TCL Signal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.5 Power Down Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5 5 5 5 6 7 8 8 8 8 9 10 10 10 11 12 12 12
2
Peripheral Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1 Addressing Peripherals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1.1 Input Port 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1.2 Bidirectional Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1.3 External Interrupt Inputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2 Timer 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.1 T1C – Timer 1 Control Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.2 WDC – Watchdog Control Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3 Timer 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3.1 Timer 2 Status/Control Register (T2SC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3.2 Timer 2 Subport (T2SUB) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3.3 Timer 2 Reload Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3.4 Timer 2 Capture Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3.5 Timer A Mode Register 1 (TAM1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3.6 Timer A Mode Register 2 (TAM2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3.7 Timer B Mode Register 1 (TBM1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3.8 Timer B Mode Register 2 (TBM2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3.9 Timer 2 Prescaler Control Register (T2PC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3.10 Timer 2 Interrupt Control Register (T2IC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3.11 Timer I/O (TA/TB) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.4 EEPROM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.4.1 EEPROM SubPort (ESUB) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.4.2 EEPROM Mode/Status Register (EMS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
13 13 15 15 16 17 18 18 19 21 22 22 23 23 24 24 25 25 26 27 28 28 29
Rev. A2, 01-Oct-98
3 (51)
M44C260/M48C260 Contents (continued) 3
Appendix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1 Emulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2 Programming the EEPROM Program Memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3 MARC4 Instruction Set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3.1 MARC4 Instruction Set Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3.2 qFORTH Language Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4 The qFORTH Language - Quick Reference Guide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4.1 Arithmetic/Logical . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4.2 Comparisons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4.3 Control Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4.4 Stack Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4.5 Memory Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4.6 Predefined Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4.7 Assembler Mnemonics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
30 30 30 30 31 32 33 33 33 34 34 35 36 36
4
Electrical Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.1 Absolute Maximum Ratings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2 DC Operating Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3 AC Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4 Schmitt-Trigger Inputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
38 38 38 39 45
5
Pad Layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
46
6
Package Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
48
7
Standard Design of M48C260 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
49
8
Ordering Information for M44C260 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
50
4 (51)
Rev. A2, 01-Oct-98
M44C260/M48C260 1 1.1
MARC4 Architecture
ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏ MARC4 CORE ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏ X Reset ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏ Program ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏ Y RAM PC ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏ SP memory ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏ RP ÏÏ ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏ ÏÏ ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏ Instruction bus ÏÏ ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏ Memory bus ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏ Instruction TOS ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏ decoder SystemÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏ CCR ALU clock ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏ Interrupt ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏ controller ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏ I/O bus ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏ ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏ
General Description
256 x 4-bit
Reset
Clock
Sleep
On–chip peripheral modules 94 8973
Figure 4. MARC4 core
The MARC4 microcontroller consists of an advanced stack based 4-bit CPU core and on-chip peripherals. The CPU is based on the HARVARD architecture with a physically separate program memory (ROM or EEPROM) and data memory (RAM). Three independent buses the instruction bus, the memory bus and the I/O bus are used for parallel communication between program memory, RAM and peripherals. This enhances program execution speed by allowing both instruction prefetching, and simultaneous communication to the on-chip peripheral circuitry. The integrated powerful interrupt controller with eight prioritized interrupt levels, supports fast processing of hardware events. The MARC4 is designed for the high level programming language qFORTH. The core contains both FORTH stacks, expression stack and return stack. This architecture allows high level language programming without any loss in efficiency or code density.
1.2
Components of MARC4 Core
The core contains a program memory, RAM, ALU, program counter, RAM address register, instruction decoder
Rev. A2, 01-Oct-98
and interrupt controller. The following sections describe each of these parts.
1.2.1
Program Memory (ROM or EEPROM)
The ROM is mask programmed with the application program during the fabrication of the microcontroller. The EEPROM is programmed by the customer using a special programming device (see chapter ”Progamming the EEPROM Program Memory”). The program memory is addressed by a 12-bit wide program counter, thus limiting the program size to a maximum of 4 Kbytes. The M44C260 contains an additional 1 Kbyte ROM for test software. The program memory starts with a 512 byte segment (zero page) which contains predefined start addresses for interrupt service routines and special subroutines accessible with single byte instructions (SCALL). The corresponding memory map is shown in the figure 4.Look-up tables of constants can also be held in the program memory and are accessed via the MARC4’s built-in TABLE instruction.
5 (51)
M44C260/M48C260 FFFh 1F8h 1F0h 1E8h 1E0h
SCALL addresses
Program memory (4K x 8-bit)
1FFh
ÏÏÏÏÏÏ ÏÏÏÏÏÏ
Self test bank (1K) only M44C260
Zero page
000h
3FFh
Zero page
020h 018h 010h 008h 000h
000h
1E0h
INT7
1C0h
INT6
180h
INT5
140h
INT4
100h
INT3
0C0h
INT2
080h
INT1
040h
INT0
008h 000h
$RESET $AUTOSLEEP
94 8974
Figure 5. Program memory map
1.2.2
Data Memory (RAM)
The MARC4 contains a 256 x 4-bit wide static random access memory (RAM). It is used for the expression stack, the return stack and data memory for variables and arrays. The RAM is addressed by any of the four 8-bit wide RAM address registers SP, RP, X and Y.
D Expression Stack The 4-bit wide expression stack is addressed with the expression stack pointer (SP). All arithmetic, I/O and memory reference operations take their operands from, and return their result to the expression stack. The MARC4 performs the operations with the top of stack items (TOS and TOS-1). The TOS register contains the
top element of the expression stack and works like an accumulator. This stack is also used for passing parameters between subroutines, and as a scratchpad area for temporary storage of data.
D Return Stack The 12-bit wide return stack is addressed by the return stack pointer (RP). It is used for storing return addresses of subroutines, interrupt routines and for keeping loop index counts. The return stack can also be used as a temporary storage area. The MARC4 instruction set supports the exchange of data between the top elements of the expression stack and the return stack. The two stacks within the RAM have a user definable location and maximum depth.
RAM
(256 x 4-bit) Autosleep
ÏÏÏÏÏ ÏÏÏÏÏ
FCh
Expression stack 3
RAM address register:
SP RP
ÏÏÏÏ ÏÏÏÏÏÏÏ ÏÏÏÏÏÏÏ ÏÏÏÏÏ ÏÏÏ ÏÏÏÏÏÏÏ ÏÏÏÏÏ ÏÏÏ ÏÏÏÏÏ ÏÏÏÏÏ ÏÏÏÏÏ TOS–1
04h 00h
6 (51)
0 TOS TOS–1 TOS–2
Global variables
X Y
ÏÏÏ ÏÏÏ
FFh
SP
4-bit Expression stack
Return stack Global v 07h variables 03h
Return stack
ÏÏÏÏÏ
11
0
12-bit
RP
94 8975
Figure 6. RAM map
Rev. A2, 01-Oct-98
M44C260/M48C260 1.2.3
Registers
ÏÏÏÏÏÏÏÏÏÏÏÏÏÏ ÏÏÏÏÏÏÏÏÏÏÏÏÏÏ ÏÏÏÏÏÏÏÏÏÏ ÏÏÏÏÏÏÏÏÏÏ ÏÏÏÏÏÏÏÏÏÏ ÏÏÏÏÏÏÏÏÏÏ ÏÏÏÏÏÏÏÏÏÏ ÏÏÏÏÏÏÏÏÏÏ ÏÏÏÏÏÏÏÏÏÏ ÏÏÏÏÏÏÏÏÏÏ ÏÏÏÏÏ ÏÏÏÏÏ ÏÏÏÏÏ ÏÏÏÏÏ ÏÏÏÏÏ 11
0
PC
Program counter
0
7
0 0
RP
Return stack pointer
0
7
SP
Expression stack pointer
0
7
X
7
RAM address register (X)
0
Y
3
0
TOS
3
RAM address register (Y) Top of stack register
0
CCR C – B I
Condition code register Interrupt enable Branch Unused Carry / borrow
94 8976
Figure 7. Programming model
The MARC4 controller has six programmable registers and one condition code register. They are shown in figure 7.
D Program Counter (PC) The program counter (PC) is a 12-bit register that contains the address of the next instruction to be fetched from the program memory. Instructions currently being executed are decoded in the instruction decoder to determine the internal micro operations. For linear code (no calls or branches) the program counter is incremented with every instruction cycle. If a branch-, call-, return-instruction or an interrupt is executed the program counter is loaded with a new address. The program counter is also used with the TABLE instruction to fetch 8-bit wide ROM constants. RAM Address Register The RAM is addressed with the four 8-bit wide RAM address registers: SP, RP, X and Y. These registers allow access to any of the 256 RAM nibbles.
D Expression Stack Pointer (SP) The stack pointer (SP) contains the address of the next-totop 4-bit item (TOS-1) of the expression stack. The pointer is automatically pre-incremented if a nibble is moved onto the stack, or post-decremented if a nibble is Rev. A2, 01-Oct-98
removed from the stack. Every post-decrement operation moves the item (TOS-1) to the TOS register before the SP is decremented. After a reset, the stack pointer has to be initialized with ” >SP $xx ” to allocate the start address of the expression stack area.
D Return Stack Pointer (RP) The return stack pointer points to the top element of the 12-bit wide return stack. The pointer automatically preincrements if an element is moved onto the stack or it post-decrements if an element is removed from the stack. The return stack pointer increments and decrements in steps of 4. This means that every time a 12-bit element is stacked, a 4-bit RAM location is left unwritten. This location is used by the qFORTH compiler to allocate 4-bit variables. After a reset the return stack pointer has to be initialized with ” >RP FCh ”.
D RAM Address Register (X and Y) The X and Y registers are used to address any 4-bit item in the RAM. A fetch operation moves the addressed nibble onto the TOS. A store operation moves the TOS to the addressed RAM location. By using either the pre-increment or post-decrement addressing mode arrays in the RAM can be compared, filled or moved.
7 (51)
M44C260/M48C260 D Top Of Stack (TOS)
1.2.5
The top of stack register is the accumulator of the MARC4. All arithmetic/logic, memory reference and I/O operations use this register. The TOS register gets the data from the ALU, the program memory, the RAM or via the I/O bus. D Condition Code Register (CCR) The 4-bit wide condition code register contains the branch, the carry and the interrupt enable flag. These bits indicate the current state of the CPU. The CCR flags are set or reset by ALU operations. The instructions SET_BCF, TOG_BF, CCR! and DI allow a direct manipulation of the condition code register.
To cover the ROM block during production testing the ROM_TEST2 routine has to be included into the $RESET routine.
: $RESET
Interrupt Enable (I) The interrupt enable flag enables or disables the interrupt processing on a global basis. After reset or by executing the DI instruction, the interrupt enable flag is reset and all interrupts are disabled. The µC does not process further interrupt requests until the interrupt enable flag is set again by either executing an EI, RTI or SLEEP instruction.
ALU
The 4-bit ALU performs all the arithmetic, logical, shift and rotate operations with the top two elements of the expression stack (TOS and TOS-1) and returns its result to the TOS. The ALU operations affect the carry/borrow and branch flag in the condition code register (CCR).
ÏÏÏ ÏÏÏÏ ÏÏÏ ÏÏÏÏ ÏÏÏÏÏÏÏ ÏÏÏÏÏÏ ÏÏÏÏ ÏÏÏÏ ÏÏ ÏÏÏÏÏÏÏ ÏÏÏÏ ÏÏÏÏ ÏÏÏÏÏÏ ÏÏÏ ÏÏ ÏÏÏÏ ÏÏÏ ÏÏÏÏ ÏÏÏÏÏÏ ÏÏÏÏÏÏ ÏÏÏÏ ÏÏÏÏÏÏ ÏÏÏÏ ÏÏÏ ÏÏÏÏ RAM
SP
TOS–1 TOS–2 TOS–3 TOS–4
TOS
ALU
CCR
94 8977
>RP
FCh
Port7
IN
Fh =
THEN main program
; Note:
Branch (B) The branch flag controls the conditional program branching. When the branch flag has been set by one of the previous instructions a conditional branch is taken. This flag is affected by arithmetic, logic, shift, and rotate operations.
S0
ROM_Test2
\***
The carry/borrow flag indicates that borrow or carry out of arithmetic logic unit (ALU) occurred during the last arithmetic operation. During shift and rotate operations this bit is used as a fifth bit. Boolean operations have no affect on the C flag.
>SP
IF
Carry/Borrow (C)
1.2.4
Self-Check
1.2.6
The corresponding file ROM_TEST.INC has to be included into the project’s main file. The conditional execution is stimulated during the production test.
Instruction Cycles
A MARC4 instruction word is one or two bytes long and is executed within one or four machine-cycles. A machine-cycle consists of two system clocks (SYSCL). The MARC4 is a zero address machine. Most of the instructions are one byte long and are executed only in one machine-cycle. The CPU has an instruction pipeline, which allows the controller to fetch the next instruction from program memory at the same time as the present instruction is being executed. For more information see the section ”MARC4 Instruction Set Overview”.
1.2.7
I/O Bus
The I/O ports and the registers of the peripheral modules (Timer 1, Timer 2, EEPROM) are I/O mapped. The communication between the core and the on-chip peripherals takes place via the I/O bus and the associated I/O control bus. These buses are used for different functions: for read and write accesses, for the interrupt generation, to reset peripherals and for the SLEEP mode. With the MARC4 IN-instruction and OUT-instruction the I/O bus allows a direct read or write access to one of the 16 I/O addresses. More about the I/O access to the on-chip peripherals is described in the section ”Peripheral modules”. The I/O buses are internal buses and are not accessible by the customer on the final microcontroller device, but they are used as the interface for the MARC4 emulation (see also the section “Emulation”).
Figure 8. ALU zero address operations
8 (51)
Rev. A2, 01-Oct-98
M44C260/M48C260 1.2.8
Interrupt Structure
The MARC4 can handle interrupts with eight different priority levels. They can be generated from the internal and external interrupt sources or by a software interrupt from the CPU itself. Each interrupt level has a hard-wired priority and an associated vector for the service routine in the ROM (see table 2). The programmer can enable or disable interrupts all together by setting or resetting the interrupt enable flag (I) in the CCR. Interrupt Processing For processing the eight interrupt levels, the MARC4 contains an interrupt controller with the 8-bit wide interrupt pending and interrupt active register. The interrupt controller samples all interrupt requests during every non-I/O instruction cycle and latches them in the interrupt pending register. If no higher priority interrupt is present in the interrupt active register it signals the CPU to interrupt the current program execution. If the interrupt enable bit is set the processor enters an interrupt acknowledge cycle. During this cycle a SHORT CALL instruction to
the service routine is executed and the current PC is saved on the return stack. An interrupt service routine is finished with the RTI instruction. This instruction sets the interrupt enable flag, resets the corresponding bits in the interrupt pending/active register and fetches the return address from the return stack to the program counter. When the interrupt enable flag is reset (interrupts are disabled), the execution of interrupts is inhibited but not the logging of the interrupt requests in the interrupt pending register. The execution of the interrupt will be delayed until the interrupt enable flag is set again. But note that interrupts are lost if an interrupt request occurs during the corresponding bit in the pending register is still set. After the reset (power-on, external or watchdog reset), the interrupt enable flag and the interrupt pending and interrupt active register are reset. Interrupt Latency The interrupt latency is the time from the falling edge of the interrupt to the interrupt service routine being activated. In the MARC4 this takes between 3 to 5 machine cycles depending on the state of the core.
INT7
ÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁ ÁÁÁÁ ÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÏÏÏÏÏÏÏ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÏÏÏÏÏÏÏ ÁÁÁÁ ÏÏÏÏÏÏ ÁÁÁÁ ÏÏÏÏÏÏ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ
7
INT7 active
Priority level
RTI
INT5
6 5
INT5 active
RTI
INT3
4
INT2
3
INT3 active
RTI
2
INT2 pending
INT2 active
RTI
1
SWI0
0
INT0 pending
INT0 active
RTI
Main / Autosleep
Main / Autosleep
Time
94 8978
Figure 9. Interrupt handling
Rev. A2, 01-Oct-98
9 (51)
M44C260/M48C260 Table 2. Interrupt priority table
Interrupt
Priority
Vector Address 040h 080h 0C0h
Interrupt Opcode (Acknowledge) C8h (SCALL 040h) D0h (SCALL 080h) D8h (SCALL 0C0h)
INT0 INT1 INT2
lowest
INT3
100h
E0h (SCALL 100h)
INT4 INT5 INT6
140h 180h 1C0h
E8h (SCALL 140h) F0h (SCALL 180h) F8h (SCALL 1C0h)
1E0h
FCh (SCALL 1E0h)
Function
ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁÁÁÁÁÁ Á ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁÁÁÁÁÁ INT7
highest
Software Interrupts
The programmer can generate interrupts by using the software interrupt instruction (SWI) which is supported in qFORTH by predefined macros named SWI0 to SWI7. The software triggered interrupt operates exactly as any hardware triggered interrupt. The SWI instruction takes the top two elements from the expression stack and writes the corresponding bits via the I/O bus to the interrupt
Software interrupt (SWI0) EEPROM write ready External hardware interrupt, neg. edge at BP30 or BP31 External hardware interrupt, neg. edge at BP32 or BP33 Timer 1 interrupt Timer 2 interrupt External hardware interrupt, neg. edge at IP40 pin Software interrupt (SWI7)
pending register. By using the SWI instruction in thius way, interrupts can be re-prioritized or lower priority processes scheduled for later execution.
Hardware Interrupts The M44C260/M48C260 incorporates eleven hardware interrupt sources with six different levels. Each of these sources can be enabled or disabled separately with an interrupt mask bit in the IMR1 or IMR2 register.
Table 3. Hardware interrupts
Interrupt
Priority
Mask Register Bit EMS IMEP IMR1 IM30 IM31 IMR1 IM32 IM33 IMR2 IMT1 T2IC IMAS IMAP IMBS IMBP IMR2 IM6
Interrupt Source
ÁÁÁÁÁÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁÁÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁÁÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁÁÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁÁÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁÁÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁÁÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁÁÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁÁÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁÁÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁÁÁÁÁÁÁÁÁÁ 1.3 Reset EEPROM write ready External interrupt Port 3 (BP30 OR BP31) External interrupt Port 3 (BP32 OR BP33) Timer 1 interrupt Timer 2 interrupt
INT1 INT2
Ext. interrupt IP40 input
INT6
INT3 INT4 INT5
The reset puts the CPU into a well-defined condition. The reset can be triggered by switching on the supply voltage, by a break-down of the supply voltage, by the watchdog timer or by pulling the NRST pad to low. After any reset the branch-, carry- and interrupt enable flag in the Condition Code Register (CCR) , the interrupt pending register and the interrupt active register are reset.
10 (51)
EEPROM end of write cycle Negative edge at BP30 Negative edge at BP31 Negative edge at BP32 Negative edge at BP33 Timer 1 Timer A end of space/underflow Timer A end of pulse/capture Timer B end of space/underflow Timer B end of pulse/capture Negative edge at IP40 input
During the reset-cycle the I/O bus control signals are set to ’reset mode’ thereby initializing all on-chip peripherals. A reset is finished with a short call instruction (opcode C1h) to the program memory address 008h. This activates the initialization routine $RESET. With that routine the stack pointers, variables in the RAM and the peripheral must be initialized.
Rev. A2, 01-Oct-98
M44C260/M48C260 Power-on Reset The M44C260/M48C260 incorporates an on-chip power-on reset (POR) circuitry which provides internal chip reset for most power-up situations. The power-on reset ensures that the core is not activated before the operating supply voltage has been reached. The mC will function normally at > 2.4 V under all conditions. For VDD below 2.4 V, the device will either function normally or the device reset will be globally activated by the brown-out circuit. The actual brown-out trip point is a function of temperature and process parameters. External Reset (NRST) An external reset can be triggered with the NRST pin. For the external reset the pin should be low for a minimum of two machine-cycles. Watchdog Timer Reset If the watchdog timer function of Timer 1 is enabled, a reset is triggered with every watchdog counter overflow. To suppress that, the watchdog counter must be reset by an access to the CWD-register (see also Timer 1/watchdog counter).
The power-on reset and the watchdog reset are indicated in the same way as an external reset on the NRST pad.
1.4
Clock Generation
The M44C260/M48C260 has two oscillators, one RC oscillator for the system clock generation and an additional 32-kHz crystal oscillator. The system clock generator provides the core and Timer 2 with the clock. The system clock frequency is programmable for 1 or 2 MHz. The crystal oscillator is used as an exact time base for Timer 1. If no exact timing is required, the controller does not need an external crystal. In this case Timer 1 is provided with the system clock. The configuration for both oscillators is programmable with the clock status control register (CSC), which is a subport register located in port CSUB. The required configuration has to be initialized after reset in the $RESET routine. The default setting after a reset is 1 MHz system clock and an active 32-kHz crystal oscillator. After power-on or a SLEEP instruction the clock generator needs a start-up time until it runs with an exact timing. The CRDY bit in the CSC register indicates the start-up phase.
OSCIN
OSC32
Q1
fOSC= 32 kHz
OSCS = 0
CL32
TIMER 1
OSCS = 1
OSCOUT Stop
CSC :
EEPROM
CSC3 OSCS CRDY CCS
fG SP, >X,...)
7 6 5 4 3 2 1 0
0
7 6 5 4 3 2 1 0 8 bit address 7 6 5 4 3 2 1 0
Figure 22. MARC4 opcode formats
3.3.1
MARC4 Instruction Set Overview
Mnemonic
Description
Cycles/ Bytes
ÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁ ADD ADDC SUB SUBB DAA INC DEC DECR
CMP_EQ CMP_NE CMP_LT CMP_LE CMP_GT CMP_GE XOR AND OR NOT SHL SHR ROL ROR
Arithmetic operations: Add Add with carry Subtract Subtract with borrow Decimal adjust Increment TOS Decrement TOS Decrement. 4-bit index on return stack Compare operations: Compare equal Compare not equal Compare less than Compare less equal Compare greater than Compare greater equal Logical operations: Exclusive OR AND OR 1’s complement Shift left into carry Shift right into carry Rotate left through carry Rotate right through carry
Rev. A2, 01-Oct-98
1/1 1/1 1/1 1/1 1/1 1/1 1/1 2/1
1/1 1/1 1/1 1/1 1/1 1/1 1/1 1/1 1/1 1/1 1/1 1/1 1/1 1/1
Mnemonic
Description
Cycles/ Bytes
ÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁ TOG_BF SET_BFC DI CCR! CCR@
BRA $xxx CALL $xxx SBRA $xxx SCALL$xxx EXIT RTI SWI SLEEP NOP SP@ RP@ X@ Y@ SP! RP! X! Y! >SP $xx >RP $xx >X $xx >Y $xx
Flag operations: Toggle branch flag Set branch flag Disable all interrupts Store TOS into CCR Fetch CCR onto TOS Program branching: Conditional long branch Long call (current page) Conditional short branch Short call (zero page) Return from subroutine Return from interrupt Software interrupt Activate sleep mode No operation Register operations: Fetch the current SP Fetch the current RP Fetch the contents of X Fetch the contents of Y Move the top 2 into SP Move the top 2 into RP Move the top 2 into X Move the top 2 into Y Store direct address to SP Store direct address to RP Store direct address into X Store direct address into Y
1/1 1/1 1/1 1/1 1/1 2/2 3/2 2/1 2/1 2/1 2/1 1/1 1/1 1/1 2/1 2/1 2/1 2/1 2/1 2/1 2/1 2/1 2/2 2/2 2/2 2/2
31 (51)
M44C260/M48C260 Mnemonic
Description
Cycles/ Bytes
ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁ ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁ ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁ ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁ SWAP OVER DUP ROT DROP >R 2>R 3>R R@
2R@ 3R@
DROPR LIT_n
TABLE
3.3.2
Stack operations: Exchange the top 2 nibble Copy TOS-1 to the top Duplicate the top nibble Move TOS-2 to the top Remove the top nibble Move the top nibble onto the return stack Move the top 2 nibble onto the return stack Move the top 3 nibble onto the return stack Copy 1 nibble from the return stack Copy 2 nibbles from the return stack Copy 3 nibbles from the return stack Remove the top of return stack (12-Bit) Push immediate value
(1 nibble) onto TOS ROM data operations: Fetch 8-bit constant from ROM
1/1 1/1 1/1 3/1 1/1 1/1 3/1 4/1 1/1 2/1 4/1 1/1 1/1
3
qFORTH Language Overview
MARC4 controllers are programmed in the high level language qFORTH which is based on the FORTH-83 language standard. The qFORTH compiler generates a native code for a 4-bit FORTH-architecture single chip microcomputer, the TEMIC MARC4.MARC4 applications are all programmed in qFORTH which is designed specifically for efficient real time control. Since the qFORTH compiler generates highly optimized codes, there is no advantage or point in programming the MARC4 in assembly code. The high level of code efficiency generated by the qFORTH compiler is achieved by the use of modern optimization techniques such as branch-instruction size minimization, fast procedure calls, pointer tracking and many peephole optimizations.
Mnemonic
Description
Cycles/ Bytes
ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁ [X]@ [Y]@
[+X]@ [+Y]@ [X-]@ [Y-]@
[>X]@ $xx [>Y]@ $xx [X]!
[Y]! [+X]! [+Y]! [X-]! [Y-]!
[>X]! $xx [>Y]! $xx IN OUT
Memory operations: Fetch 1 nibble from RAM indirect addressed by Xor Y-register Fetch 1 nibble from RAM indirect addr. by pre-increm. X- or Y-register Fetch 1 nibble from RAM indirect addr. by post-dejcrem. X- or Y-register Fetch 1 nibble from RAM direct addressed by X- or Y-register Store 1 nibble into RAM indirect addressed by [X] Store 1 nibble into RAM indirect addressed by preincremented [X] Store 1 nibble into RAM indirect addr. by post-decrem. X- or Y-register Store 1 nibble into RAM direct addressed by X- or Y-register I/O operations: Read I/O-Port onto TOS Write TOS to I/O port
1/1
1/1
1/1
2/2
1/1 1/1
1/1
2/2
1/1 1/1
Language features:
Expandability Many of the fundamental qFORTH operations are directly implemented in the MARC4 instruction set. Stack oriented All operations communicate with one another via the data stack and use the reverse polish form of notation (RPN) Structured programming qFORTH supports structured programming Reentrant Different tasks can share the same code. Recursive qFORTH routines can call themselves. Native code inclusion In qFORTH there is no separation of high level constructs from the native code mnemonics.
32 (51)
Rev. A2, 01-Oct-98
M44C260/M48C260 3.4 3.4.1
The qFORTH Language - Quick Reference Guide Arithmetic/Logical
+ -C +C 1+ 12* 2/ D+ DD2/ D2* M+ MAND OR ROL ROR SHL SHR NEGATE DNEGATE NOT XOR
3.4.2 > < >= D< D>= Dn2, then branch flag set If n1=n2, then branch flag set If n1d2, then branch flag set If d1=d2, then branch flag set If d1R
EXP ( n1 n2 n –– n2 n n1) EXP ( n1 n2 –– n2 n1 ) EXP ( n1 n2 –– n2 n1 n2 ) EXP ( n1 n2 –– ) RET ( –– u|n2|n1 ) EXP ( n1 n2 –– ) EXP ( d –– d d ) EXP ( d1 d2 –– d2 ) EXP ( d1 d2 –– d1 d2 d1 ) EXP ( d1 d2 d –– d d1 d2) EXP ( –– n1 n2 ) RET ( u|n2|n1 –– ) EXP ( –– n1 n2 ) RET ( u|n2|n1 –– u|n2|n1) EXP ( d1 d2 d –– d2 d d1) EXP ( d1 d2 –– d2 d1 ) EXP ( d1 d2 –– d2 d1 d2 ) EXP ( n1 n2 n3 –– ) RET ( –– n3|n2|n1 ) EXP ( n1 n2 n3 –– ) EXP ( t –– t t ) EXP ( –– n1 n2 n3 )
2DROP 2DUP 2NIP 2OVER 2 2R@ 2ROT 2SWAP 2TUCK 3>R 3DROP 3DUP 3R>
RET ( n3|n2|n1 –– ) EXP ( –– n1 n2 n3 ) RET ( n3|n2|n1 –– n3|n2|n1 )
3R@
3.4.5
Move 3rd stack value to top pos. Exchange top two values on stack Duplicate top value, move under second item Move top two values from expression to return stack Drop top 2 values from the stack Duplicate top 8-bit value Drop 2nd 8-bit value from stack Copy 2nd 8-bit value over top value Move top 8-bit value to 3rd pos’n Move top 8-bits from return to expression stack Copy top 8-bits from return to expression stack Move 3rd 8-bit value to top value Exchange top two 8-bit values Tuck top 8-bits under 2nd byte Move top 3 nibbles from the expression onto the return stack Remove top 3 nibbles from stack Duplicate top 12-bit value Move top 3 nibbles from return to the expression stack Copy 3 nibbles (1 entry) from the return to the expression stack
Memory Operations
! @ +! 1+! 1–! 2! 2@ D+! D–! DTABLE@ DTOGGLE ERASE FILL MOVE ROMByte@ TOGGLE 3! 3@ T+! T–! TD+! TD–!
EXP ( n addr –– ) EXP ( addr –– n ) EXP ( n addr –– ) EXP ( addr –– ) EXP ( addr –– ) EXP ( d addr –– ) EXP ( addr –– d ) EXP ( d addr –– ) EXP ( d addr –– ) EXP ( ROMAddr n –– d ) EXP ( d addr –– ) EXP ( addr n –– ) EXP ( addr n n1 –– ) EXP ( n from to –– ) EXP ( ROMAddr –– d ) EXP ( n addr –– ) EXP ( nh nm nl addr –– ) EXP ( addr –– nh nm nl ) EXP ( nh nm nl addr –– ) EXP ( nh nm nl addr –– ) EXP ( d addr –– ) EXP ( d addr –– )
Rev. A2, 01-Oct-98
Store a 4-bit value in RAM Fetch a 4-bit value from RAM Add 4-bit value to RAM contents Increment a 4-bit value in RAM Decrement a 4-bit value in RAM Store an 8-bit value in RAM Fetch an 8-bit value from RAM Add 8-bit value to byte in RAM Subtract 8-bit value from a byte in RAM Indexed fetch of a ROM constant Exclusive-OR 8-bit value with byte in RAM Sets n memory cells to 0 Fill n memory cells with n1 Move a n-digit array in memory Fetch an 8-bit ROM constant Ex-OR value at address with n Store 12-bit value into a RAM array Fetch 12-bit value from RAM Add 12-bits to 3 RAM cells Subtract 12-bits from 3 nibble RAM array Add byte to a 3 nibble RAM array Subtract byte from 3 nibble array
35 (51)
M44C260/M48C260 3.4.6
Predefined Structures
( ccccccc) \ ccccccc : ; [FIRST] [LAST] CODE END-CODE ARRAY 2ARRAY CONSTANT 2CONSTANT LARRAY 2LARRAY Index ROMCONST VARIABLE 2VARIABLE ALLOT AT : INTx : $AutoSleep : $RESET
3.4.7
EXP ( d –– ) EXP (n|d addr––addr’) EXP ( –– ) EXP ( –– ) EXP ( –– )
RET ( –– ROMAddr ) EXP ( –– )
Assembler Mnemonics
ADD ADDC CCR! CCR@ CMP_EQ CMP_GE CMP_GT CMP_LE CMP_LT CMP_NE CLR_BCF SET_BCF TOG_BF DAA DAS DEC DECR DI DROPR EXIT EI IN INC NOP NOT 36 (51)
RET ( –– ) RET ( ROMAddr –– ) EXP ( –– 0 ) EXP ( –– n|d ) EXP ( –– ) EXP ( –– ) EXP ( n –– ) EXP ( n –– ) EXP ( n –– ) EXP ( d –– ) EXP ( d –– )
In-line comment definition Comment until end of the line Begin of a colon definition Exit; ends any colon definition Index (=0) for first array element Index for last array element Begins an in-line macro definition Ends an In-line macro definition Allocates space for a 4-bit array Allocates space for an 8-bit array Defines a 4-bit constant Defines an 8-bit constant Allocates space for a long 4-bit array with up to 255 elements Allocates space for a long byte array Run-time array access using a variable array index Define ROM look-up table with 8-bit values Allocates memory for 4-bit value Creates an 8-bit variable Allocate space for nibbles of un-initialized RAM Fixed placement Interrupt service routine entry Entry point address on return stack underflow Entry point on power-on reset
EXP ( n1 n2 –– n1+n2 ) EXP ( n1 n2 –– n1+n2+C ) EXP ( n –– ) EXP ( –– n ) EXP ( n1 n2 –– n1 ) EXP ( n1 n2 –– n1 ) EXP ( n1 n2 –– n1 ) EXP ( n1 n2 –– n1 ) EXP ( n1 n2 –– n1 ) EXP ( n1 n2 –– n1 ) EXP ( –– ) EXP ( –– ) EXP ( –– ) EXP ( n>9 or C set –– n+6) EXP ( n –– 10+/n+C ) EXP ( n –– n–1 ) RET ( u|u|I — u|u|I–1 ) EXP ( –– ) RET ( u|u|u –– ) RET ( ROMAddr –– ) EXP ( –– ) EXP ( port –– data ) EXP ( n –– n+1 ) EXP ( –– ) EXP ( n –– /n )
Add the top two 4-bit values Add with carry top two values Write top value into the CCR Fetch the CCR onto top of stack If n1=n2, then branch flag set If n1>=n2, then branch flag set If n1>n2, then branch flag set If n1X]! $xx Y@ [Y]@ [+Y]@ [Y–]@ [>Y]@ $xx Y! [Y]! [+Y]! [Y–]! [>Y]! $xx >RP $xx >SP $xx >X $xx >Y $xx
EXP ( d –– ) EXP ( –– d ) RET ( RETAddr –– ) EXP ( –– ) EXP ( –– ) EXP ( d –– ) EXP ( –– d ) EXP ( n1 n2 –– n1-n2 ) EXP ( n1 n2 –– n1+/n2+C ) EXP ( –– d ) RET ( RetAddr RomAddr ––) EXP ( data port –– ) EXP ( –– d ) EXP ( –– n ) EXP ( –– n ) EXP ( –– n ) EXP ( –– n ) EXP ( d –– ) EXP ( n –– ) EXP ( n –– ) EXP ( n –– ) EXP ( n –– ) EXP ( –– d ) EXP ( –– n ) EXP ( –– n ) EXP ( –– n ) EXP ( –– n ) EXP ( d –– ) EXP ( n –– ) EXP ( n –– ) EXP ( n –– ) EXP ( n –– ) EXP ( –– ) EXP ( –– ) EXP ( –– ) EXP ( –– )
Store as return stack pointer Fetch current RET stack pointer Return from interrupt routine Enter ’sleep-mode’, enable all interrupts Software triggered interrupt Store as stack pointer Fetch current stack pointer 2’s complement subtraction 1’s compl. subtract with borrow Fetches an 8-bit constant from an address in ROM Write data to I/O port Fetch current × register contents Indirect × fetch of RAM contents Pre-incr. × indirect RAM fetch Postdecr. × indirect RAM fetch Direct RAM fetch, × addressed Move 8-bit address to × register Indirect × store of RAM contents Pre-incr. × indirect RAM store Postdecr. × indirect RAM store Direct RAM store, × addressed Fetch current Y register contents Indirect Y fetch of RAM contents Pre-incr. Y indirect RAM fetch Postdecr. Y indirect RAM fetch Direct RAM fetch, Y addressed Move address to Y register Indirect Y store of RAM contents Pre-incr. Y indirect RAM store Postdecr. Y indirect RAM store Direct RAM store, Y addressed Set return stack pointer Set expression stack pointer Set × register immediate Set Y register immediate
Notes: RET (–)
Return address stack effects
EXP (–)
Expression (or data) stack effects
True condition
Means branch flag set in CCR
False condition
Means branch flag reset in CCR
n
4-bit data value
d
8-bit data value
addr
8-bit RAM address
ROMaddr
12-bit ROM address
Rev. A2, 01-Oct-98
37 (51)
M44C260/M48C260 4
Electrical Characteristics
4.1
Absolute Maximum Ratings
Voltages are given relative to VSS.
ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁÁÁ Parameters Supply voltage Input voltage (on any pin) Output short circuit duration Operating temperature range Storage temperature range Thermal resistance (PLCC) Soldering temperature (t ≤ 10 s)
Symbol VDD VIN tshort Tamb Tstg RthJA Tsld
Stresses greater than those listed under absolute maximum ratings may cause permanent damage to the device. This is a stress rating only and functional operation of the device at any condition above those indicated in the operational section of this specification is not implied. Exposure to absolute maximum rating condition for an extended period may affect device reliability. All inputs
and outputs are protected against high electrostatic voltages or electric fields. However, precautions to minimize build-up of electrostatic charges during handling are recommended. Reliability of operation is enhanced if unused inputs are connected to an appropriate logic voltage level (e.g., VDD).
4.2
Value – 0.3 to + 7.0 VSS –0.3 ≤ VIN ≤ VDD +0.3 indefinite –40 to +85 –40 to +130 110 260
Unit V V sec °C °C K/W °C
DC Operating Characteristics
Supply voltage VDD = 2.4 to 6.2 V, VSS = 0 V, Tamb = –40 to +85°C, unless otherwise specified.
ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁ Parameters Power supply Active current (CPU active)
Power down current (CPU sleep, RC oscillator active) Sleep current (CPU sleep, RC oscillator inactive) Sleep current (CPU sleep, RC oscillator inactive)
38 (51)
Test Conditions / Pins
Symbol
VDD = 2.4 V fSYSCL=1MHz
IDD
fSYSCL=2MHz VDD = 6.2 V fSYSCL=1MHz fSYSCL=2MHz VDD = 2.4 V fSYSCL=1MHz fSYSCL=2MHz VDD = 6.2 V fSYSCL=1MHz fSYSCL=2MHz
IPD
VDD = 2.4 V VDD = 6.2 V
ISleep
VDD = 2.4 V VDD = 6.2 V Tamb = 25°C
ISleep
Min. Typ. Max. ( ) values for M48C260 0.9 (1.3) 1.6 (2.1) 1.3 (1.8) 2.1 (2.9) 2.1 (2.7) 3.1 (4.0) 3.6 (4.4) 5.2 (6.4) 0.3 (0.9) 0.5 (1.6) 0.4 (1.0) 0.8 (1.7) 0.6 (1.3) 1.0 (2.0) 0.8 (1.9) 1.3 (2.3) 0.4 (0.4) 1.0 (1.0) 0.5 (0.5) 1.0 (1.0)
Unit
0.8 (0.8) 0.8 (0.8)
µA µA
mA mA mA mA mA mA mA mA µA µA
Rev. A2, 01-Oct-98
M44C260/M48C260 Supply voltage VDD = 2.4 to 6.2 V, VSS = 0 V, Tamb = 25°C, unless otherwise specified
ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁ ÁÁÁÁ ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁ Parameters Test Conditions / Pins Symbol Min. Typ. Brown-out voltage: VDD VBO 1.75 Schmitt-trigger input voltage: Pin INT6, TA, TB, Port 40 and Port 3 Negative-going threshold VDD = 2.4 to 6.2 V VT– VSS voltage Positive-going threshold VDD = 2.4 to 6.2 V VT+ 0.7*VDD voltage Hysteresis (VT ± VT–) VDD = 2.4 to 6.2 V VH 0.1*VDD Input voltage: Pin NRST, TE, NWP, TCL, and Port 0, 1, 2, Port 43: Input voltage LOW VDD = 2.4 to 6.2 V VIL VSS Input voltage HIGH VDD = 2.4 to 6.2 V VIH 0.8*VDD Input current: Bidirectional Ports 0, 1, 2, 3, input Port 4 with pull-up resistor Pin NRST, TCL, INT6 Input LOW current VDD= 2.4 V VIL= VSS IIL –2.7 –6.7 VDD= 6.2 V –28 –60 Input current: Bidirectional Ports 0, 1, 2, 3, input Port 4 with pull-down resistor Pin TE, NWP, TA, TB Input HIGH current VDD = 2.4 V, VIH = VDD IIH 2.7 6.3 VDD = 6.2 V 30 60 Output current: Bidirectional Ports 0, 1, 2, 3 and TA, TB Output LOW current VDD = 2.4 V IOL 0.8 1.6 ,VOL = 0.2*VDD 6 11 VDD = 6.2 V Output HIGH current VDD = 2.4 V IOH –0.6 –1.3 VOH = 0.8*VDD –4 –7.5 VDD = 6.2 V Output current: Pin TCL Output LOW current VDD = 2.4 V IOL 1.6 3.2 VOL = 0.2*VDD 12 22 VDD = 6.2 V Output HIGH current VDD = 2.4 V IOH –1.2 –2.6 VOH = 0.8*VDD –8 –15 VDD = 6.2 V
4.3
Max.
Unit
2.25
V
0.3*VDD
V
VDD
V
0.2*VDD VDD
V V
–13 –103
µA µA
12 100
µA µA
2.8
mA
17 –2.2
mA mA
–12
mA
5.6
mA
34 –4.4
mA mA
–24
mA
AC Characteristics
Supply voltage VDD = 2.4 to 6.2 V, VSS = 0 V, Tamb = 25°C, unless otherwise specified
ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁ Parameters Test Conditions / Pins Timer 2A and 2B input timing Timer input clock Timer input LOW time Rise/fall time < 10 ns Timer input HIFG time Rise/fall time < 10 ns Interrupt request input timing Int. request LOW time Rise/fall time < 10 ns Int. request HIGH time Rise/fall time < 10 ns
Rev. A2, 01-Oct-98
Symbol
Min.
fTI tTIL tTIH
tIRL tIRH
Typ.
Max.
Unit
SYSCL
50 50
– ns ns
50 50
ns ns
39 (51)
M44C260/M48C260
ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ Á ÁÁÁÁ ÁÁÁ ÁÁÁÁ Á ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁ Á ÁÁÁÁ ÁÁÁ ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁ Parameters TCL clock TCL input clock TCL input LOW time TCL input HIGH time TCL rise time
Test Conditions / Pins
TCL fall time Reset timing Power-on reset time NRES input LOW time Data EEPROM EEPROM write time Note 1 EEPROM write cycles Note 1, 3 EEPROM data retention Note 1, 3 Program EEPROM (M48C260 only) EEPROM write cycles Note 3 Operation cycle time System clock cycle CCS = 1 Note 1 CCS = 0 RC oscillator Frequency Note 1 Stability Note 1 Stabilization time Note 1 32 kHz oscillator Frequency Start up time Stability Note 2 Integrated input/output capacitances External 32 kHz crystal parameters Crystal frequency Series resistance Static capacitance Dynamic capacitance
Symbol
Min.
fTCL tTCLL tTCLH tTCLR
0.250 0.250
Typ.
tTCLF TPOR TPOR
100
Max.
Unit
2
10
MHz µs µs
10
ns
500
µs µs
4*SYSCL
tEEW nW TDR
5*105
16 106
ms – years
nW
100
1000
–
tSYSCL
500 1000
ns ns
fRC1 ∆f/f tS
1000 2000 1000
kHz ppm µs
fX tSQ ∆f/f CIN
32.768
kHz s ppm
10
1 10
–10
COUT fX RS C0 C1
10
pF
32.768 30 1.5 3
kHz kΩ pF fF
50
Note 1: With connected crystal (pin 5, 6) and after start up time of crystal oscillator. Note 2: Dependent on the connected quartz crystal.
Note 3: This parameter is tested initially and after a design or process change that effects the parameter.
40 (51)
Rev. A2, 01-Oct-98
M44C260/M48C260 Crystal
Brown-out voltage 2.6 2.4 OSCIN
OSCOUT
C1 RS
L
2.0
VBO ( V )
Equivalentcircuit:
VBOmax
2.2
1.8
VBOmin
1.6 1.4 1.2 1 –40
C0
–20
0
20
Figure 23. Equivalent crystal circuit
40
60
80
100
Tamb ( °C )
94 8991
Figure 24. Brown-out voltage vs. ambient temperature
12
0 VOL = 0.2@VDD Tamb = 25°C
10
VOH = 0.8@VDD Tamb = 25°C
–1 –2 –3
IOH ( mA )
IOL ( mA )
8 6
–4 –5
4
–6 2
–7
0
–8 2
2.5 3.0 3.5 4.0 4.5 5.0 5.5 6.0 6.5 VDD ( V )
94 8998
VDD ( V )
Figure 27. Output HIGH current vs. supply voltage 140
140
130
130
120 IOH /I OH25 ( % )
150
120 110 100 90
110 100 90
80
80
70
70
60 –40 –20 94 9000
0
20
40
60
60 –40 –20
80 100 120
Tamb ( °C )
Figure 26. Output LOW current standardized to 25°C vs. temp.
Rev. A2, 01-Oct-98
2.5 3.0 3.5 4.0 4.5 5.0 5.5 6.0 6.5
94 8999
Figure 25. Output LOW current vs. supply voltage
I OL /I OL25 ( % )
2
94 9001
0
20
40
60
80 100 120
Tamb ( °C )
Figure 28. Output HIGH current standardized to 25°C vs temp.
41 (51)
M44C260/M48C260 6
0
max. min.
–2
5
IOL ( mA )
IOH ( mA )
–1
typ.
–3
4 typ.
3 2
min. –4
1
VDD = 2.4 V Tamb = 25°C
max.
–5
VDD = 2.4 V Tamb = 25°C
0 0
0.5
1.0
1.5
2.0
VOH ( V )
94 8992
0
2.5
0.5
1.0
Figure 29. Output HIGH current vs. output HIGH voltage
1.5
2.0
2.5
VOL ( V )
94 8995
Figure 32. Output LOW current vs. output LOW voltage
0
14
–2
12
max. min. 10 IOL ( mA )
IOH ( mA )
–4 typ.
–6 –8
VDD = 3.6 V Tamb = 25°C
max.
VDD = 3.6 V Tamb = 25°C
0 0
1
2
3
4
VOH ( V )
94 8993
0
2
3
4
VOL ( V )
Figure 33. Output LOW current vs. output LOW voltage
0
35
–5
30 min.
max.
25 IOL ( mA )
–10 –15
1
94 8996
Figure 30. Output HIGH current vs. output HIGH voltage
IOH ( mA )
min.
2
–12
typ.
typ. 20 15 min.
–20
10
–25
VDD = 6.2 V Tamb = 25°C
max.
VDD = 6.2 V Tamb = 25°C
5
–30
0 0
1
2
3
4
5
6
VOH ( V )
Figure 31. Output HIGH current vs. output HIGH voltage
42 (51)
6 4
–10
94 8994
typ.
8
0 94 8997
1
2
3
4
5
6
VOL ( V )
Figure 34. Output LOW current vs. output LOW voltage
Rev. A2, 01-Oct-98
M44C260/M48C260 0
14
–2
12 min.
–6 typ.
–8
max.
10 IIH (m A )
IIL (m A )
–4
VDD = 2.4 V Tamb = 25°C
8 typ. 6
–10
4 VDD = 2.4 V Tamb = 25°C
–12 max.
min.
2
–14
0 0
0.5
1.0
1.5
2.0
2.5
VIL ( V )
94 9002
0
0.5
1.0
Figure 35. Input LOW current vs. input LOW voltage
1.5
2.0
2.5
VIH ( V )
94 9005
Figure 38. Input HIGH current vs. input HIGH voltage
0
35
–5
min.
VDD = 3.6 V Tamb = 25°C
30
max.
–10 typ.
IIH (m A )
IIL (m A )
25 –15 –20 –25
20
10
–30 –35
max.
VDD = 3.6 V Tamb = 25°C
0
0.5
1.0
1.5
2.0
2.5
3.0
3.5
0
4.0
VIL ( V )
94 9003
min.
5
–40
0
0.5
1.0
1.5
2.0
2.5
3.0
3.5
4.0
VIH ( V )
94 9006
Figure 36. Input LOW current vs. input LOW voltage
Figure 39. Input HIGH current vs. input HIGH voltage 120
0 min.
–20
VDD = 6.2 V Tamb = 25°C
100
max.
80 IIH (m A )
–40 IIL (m A )
typ.
15
typ. –60
60 typ. 40
–80 max.
–100
VDD = 6.2 V Tamb = 25°C
min.
20 0
–120 0
1
94 9004
2
3
4
5
VIL ( V )
Figure 37. Input LOW current vs. input LOW voltage
Rev. A2, 01-Oct-98
0
6 94 9007
1
2
3
4
5
6
VIH ( V )
Figure 40. Input HIGH current vs. input HIGH voltage
43 (51)
M44C260/M48C260 0
70 VIL = VSS Tamb = 25°C
–10
50 IIH (m A )
IIL (m A )
–20 –30 –40
40 30
–50
20
–60
10
–70
0 2
2.5 3.0 3.5 4.0 4.5 5.0 5.5 6.0 6.5 VDD ( V )
94 9008
2
Figure 43. Input HIGH current vs. supply voltage 150
130
140
120
130 IIH /I IH25 ( % )
IIL /I IL25 ( % )
VDD ( V )
140
110 100 90
110 100 90 80
70
70 0
20
40
60
60 –40 –20
80 100 120
Tamb ( °C )
Figure 42. Input LOW current standardized to 25°C vs. temperature
44 (51)
120
80
60 –40 –20
2.5 3.0 3.5 4.0 4.5 5.0 5.5 6.0 6.5
94 9009
Figure 41. Input LOW current vs. supply voltage
94 9010
VIH = VDD Tamb = 25°C
60
94 9011
0
20
40
60
80 100 120
Tamb ( °C )
Figure 44. Input HIGH current standardized to 25°C vs. temperature
Rev. A2, 01-Oct-98
M44C260/M48C260 4.4
Schmitt-Trigger Inputs
The following figures show the Schmitt-trigger input specs used at timer inputs TA, TB and interrupt inputs. The values for switch levels are standardized to supply voltage.
VT+ = (VIn /VDD ) x 100 ( % )
80 max.
70 60
typ.
50 min.
40 30
Tamb = 25 °C
20 10
30
V H= ((V T+ – VT –)/VDD ) x 100 ( % )
Note:
25 20 15 10 Tamb = 25 °C 5
0
0 2
2
2.5 3.0 3.5 4.0 4.5 5.0 5.5 6.0 6.5 VDD ( V )
94 9013
Figure 45. Schmitt-trigger positive going threshold voltage
140
70
VThres = (VT /VT25) x 100 ( % )
VT – = (VIn /VDD ) x 100 ( % )
Tamb ( °C )
Figure 47. Schmitt-trigger hysteresis vs. supply voltage
80
max.
60 50
typ.
40 30 min. 20
130 120 110 100
10
90
Tamb = 25 °C
80 70
0 2
60 –40 –20
2.5 3.0 3.5 4.0 4.5 5.0 5.5 6.0 6.5 VDD ( V )
94 9012
Figure 46. Schmitt-trigger negative going threshold voltage
Note:
2.5 3.0 3.5 4.0 4.5 5.0 5.5 6.0 6.5
94 9014
94 9015
0
20
40
60
80 100 120
Tamb ( °C )
Figure 48. Threshold temperature drift
For a pulse to be recognizable, it must be a minimum of 50 ns long with a rise time ≤ 10 ns.
Rev. A2, 01-Oct-98
45 (51)
M44C260/M48C260 5
Pad Layout NWP
BP03
BP02
BP01 BP00 BP33 BP32
TE
BP31 XTALO BP30 XTALI
VSS ana. VSS dig.
VDD dig.
M44C260
VDD ana.
TCL
NRST
IP40
BP20
IP41 IP42
BP21 0,0 BP22
BP23
BP10
BP11
BP12
BP13
IP43
95 10245
Figure 49. Pad layout Table 8. Pad coordinates
ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ Á ÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁ ÁÁÁÁÁ Number 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Name BP22 BP23 BP10 BP11 BP12 BP13 IP43 IP42 IP41 IP40 TCL VSS dig. VSS ana. BP30 BP31
X Point 0.0 404.5 809.0 1398.5 1811.0 2223.5 2686.5 3056.0 3056.0 3056.0 3056.0 3056.0 3056.0 3056.0 3056.0
Y Point 0.0 0.0 0.0 0.0 0.0 0.0 0.0 509.0 965.0 1363.0 1792.0 2247.5 2457.5 2720.5 3301.0
Number 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
Name BP32 BP33 BP00 BP01 BP02 BP03 NWP TE XTALI XTALO VDD dig. VDD ana. NRST BP20 BP21
X Point 3056.0 2651.5 2247.0 1830.5 1136.5 720.0 303.5 0.0 0.0 0.0 0.0 24.0 0.0 0.0 0.0
Y Point 3741.5 3741.5 3741.5 3741.5 3741.5 3741.5 3741.5 3660.0 3103.0 2625.0 2315.0 2044.0 1707.0 1164.5 424.5
The M44C260 is also available in the form for COB mounting. Therefore the substrate, i.e., the backside of the die, sould be connected to VSS. Die size:
3.46 mm x 4.19 mm
Pad size:
90 µm * 90 µm
Thickness:
380 + 25 µm
46 (51)
Rev. A2, 01-Oct-98
M44C260/M48C260 BP02
BP01
BP03
BP00
NWP
BP33
TE
BP32
XTALO
BP31
XTALI
BP30
VDD dig. VDD ana.
M48C260
VSS ana. VSS dig. TCL
NRST BP20
IP40
BP21
IP41
BP22
IP42
BP23
IP43 BP13
BP10 BP11
BP12
0,0
95 1xxxx
Figure 50. Pad layout Table 9. Pad coordinates
ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁ ÁÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁ Number 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Name BP22 BP23 BP10 BP11 BP12 BP13 IP43 IP42 IP41 IP40 TCL VSS dig. VSS ana. BP30 BP31
X Point 0.0 0.0 0.0 0.0 3577.5 3577.5 3577.5 3577.5 3577.5 3577.5 3577.5 3577.5 3577.5 3577.5 3577.5
Y Point 1668.0 1060.0 456.0 0.0 –3.5 452.5 978.5 1667.5 2463.5 3261.5 4063.5 4757.0 4990.0 5667.0 6462.5
Number 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
Name BP32 BP33 BP00 BP01 BP02 BP03 NWP TE XTALI XTALO VDD dig. VDD ana. NRST BP20 BP21
X Point 3577.5 3577.5 3577.5 3109.0 476.0 –4.0 –4.0 –4.0 –4.0 –4.0 –4.0 34.0 0.0 0.0 0.0
Y Point 7265.0 7768.0 8080.0 8080.0 8080.0 8080.0 7770.0 7264.5 6465.5 5662.5 4990.0 4725.0 4063.0 3263.0 2462.0
The M48C260 is also available in the form for COB mounting. Therefore the substrate, i.e., the backside of the die, sould be connected to VSS. Die size:
4.00 mm x 8.55 mm
Pad size:
90 µm * 90 µm
Thickness:
380 + 25 µm
Rev. A2, 01-Oct-98
47 (51)
M44C260/M48C260 6
Package Information
Package SSO28 Dimensions in mm
9.25 8.75 7.5 7.3
12.9 12.7
2.35 0.25
0.30
0.25 0.10
0.80
10.50 10.20
10.4
technical drawings according to DIN specifications
1 2
Package SSO20
95 11494
6.39 6.00 5.38 5.20
Dimensions in mm 7.33 7.07
1.78 1.68 0.38 0.25
0.20 0.09
0.21 0.05
0.65
7.90 7.65
5.85
technical drawings according to DIN specifications
48 (51)
95 11495
Rev. A2, 01-Oct-98
M44C260/M48C260 7
Standard Design of M48C260
J is realised). In case the customer wants another configuration,
The mC above is a standard design, as given below ( please consult TEMIC. BP00
BP01
BP02
BP03
BP10
BP11
BP12
BP13
BP20
BP21
BP22
J J J J J J J J J J J J J J J J J J J J J J -
CMOS Pull-up Pull-down CMOS Pull-up Pull-down
BP23
BP30
CMOS Pull-up Pull-down CMOS Pull-up Pull-down
BP31
CMOS Pull-up Pull-down CMOS Pull-up Pull-down CMOS Pull-up Pull-down
BP32
BP33
CMOS Pull-up Pull-down CMOS Open drain [N] Open drain [P] Pull-up Pull-down CMOS Open drain [N] Open drain [P] Pull-up Pull-down CMOS Open drain [N] Open drain [P] Pull-up Pull-down
Rev. A2, 01-Oct-98
IP40–INT6 IP41–TA
IP42–TB
IP43 TE
J J J J J J J J J J J J J J J J J
CMOS Open drain [N] Open drain [P] Pull-up Pull-down CMOS Open drain [N] Open drain [P] Pull-up Pull-down CMOS Open drain [N] Open drain [P] Pull-up Pull-down CMOS Open drain [N] Open drain [P] Pull-up Pull-down CMOS Open drain [N] Open drain [P] Pull-up Pull-down Pull-up Pull-down CMOS Pull-up Pull-down CMOS Pull-up Pull-down Pull-up Pull-down Pull-up Pull-down
49 (51)
M44C260/M48C260 8
Ordering Information for M44C260
Please insert ROM CRC and select the option setting from the list below. BP00
BP01
BP02
BP03
BP10
BP11
BP12
BP13
BP20
BP21
BP22
File
Approval
50 (51)
J J J J J J J J -
CMOS Pull-up Pull-down
BP23
CMOS Pull-up Pull-down
BP30
CMOS Pull-up Pull-down CMOS Pull-up Pull-down
BP31
CMOS Pull-up Pull-down
BP32
CMOS Pull-up Pull-down CMOS Pull-up Pull-down
BP33
CMOS Pull-up Pull-down IP40–INT6
CMOS Open drain [N] Open drain [P] Pull-up Pull-down
IP41–TA
CMOS Open drain [N] Open drain [P] Pull-up Pull-down
IP42–TB
IP43
CMOS Open drain [N] Open drain [P] Pull-up Pull-down _________.HEX
Date: ___.___.___
NWP TE
-
J J -
CMOS Open drain [N] Open drain [P] Pull-up Pull-down CMOS Open drain [N] Open drain [P] Pull-up Pull-down CMOS Open drain [N] Open drain [P] Pull-up Pull-down CMOS Open drain [N] Open drain [P] Pull-up Pull-down CMOS Open drain [N] Open drain [P] Pull-up Pull-down Pull-up Pull-down CMOS Pull-up Pull-down CMOS Pull-up Pull-down Pull-up Pull-down Pull-up Pull-down Pull-up Pull-down
CRC: _________h Type: Normal / Short Size: _________ KByte
Signature: _______________
Rev. A2, 01-Oct-98
M44C260/M48C260
We reserve the right to make changes to improve technical design and may do so without further notice. Parameters can vary in different applications. All operating parameters must be validated for each customer application by the customer. Should the buyer use TEMIC products for any unintended or unauthorized application, the buyer shall indemnify TEMIC against all claims, costs, damages, and expenses, arising out of, directly or indirectly, any claim of personal damage, injury or death associated with such unintended or unauthorized use. TEMIC Semiconductor GmbH, P.O.B. 3535, D-74025 Heilbronn, Germany Telephone: 49 ( 0 ) 7131 67 2594, Fax number: 49 ( 0 ) 7131 67 2423
Rev. A2, 01-Oct-98
51 (51)