![]() |
|
If you can't view the Datasheet, Please click here to try to view without PDF Reader . |
|
Datasheet File OCR Text: |
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 D D D D D D D D D D 4-bit HARVARD architecture 1 s instruction cycle 4K 8-bit application program memory 256 4-bit RAM 16 8-bit EEPROM 16 bidirectional I/O's 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 Benefits D Low power consumption D Power-down mode < 1 A D 2.4 to 6.2 V supply voltage D Self-test functions D High-level programming language in qFORTH D User programmable with the application program TCL OSCIN OSCOUT Reset Test Sleep Clock ROM or EEPROM EEPROM 16 x 8 bit 4K x 8 bit RAM 256 x 4 bit Timer 1 Watchdog Intervall timer Timer 2 Timer B MARC4 4-bit CPU core 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 IP43 TA TB 94 9038 IP40 Figure 1. Block diagram Rev. A2, 01-Oct-98 1 (51) M44C260/M48C260 BP02 1 BP03 2 NWP 3 TE OSC OUT OSC IN VDD 4 5 6 7 28 BP01 27 BP00 26 BP33 25 BP32 24 BP31 BP02 1 BP03 2 TE 3 OSC OUT 4 OSC IN 5 VDD 6 NRST 7 BP20 8 BP10 9 BP11 10 20 BP01 19 BP00 18 BP31 17 BP30 M44C260 M48C260 23 BP30 22 VSS 21 TCL 20 IP40-INT6 19 IP41-TA 18 IP42-TB 17 IP43 16 BP13 15 BP12 94 9039 M44C260 16 VSS 15 TCL IP40 14 INT6- IP41 13 TA- 12 BP13 11 BP12 NRST 8 BP20 9 BP21 10 BP22 11 BP23 12 BP10 BP11 13 14 Figure 2. Pin connections for SSO28-FN Table 1. Pin description Figure 3. Pin connections for SSO20 A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A AAAAAAAAAAAAAAAAAAAAAAAAAAAA A A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A AAAAAAAAAAAAAAAAAAAAAAAAAAAA A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAA A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAA A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A AAAAAAAAAAAAAAAAAAAAAAAAAAAA A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAA VDD VSS BP00 - BP03 BP10 - BP13 BP20 - BP23 BP30 - BP33 IP40-INT6 IP41-TA IP42-TB IP43 NWP OSCIN OSCOUT NRST TCL TE 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. *) Name Function 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. 2 (51) 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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 5 5 5 6 7 8 8 8 8 9 10 10 10 11 12 12 12 13 13 15 15 16 17 18 18 19 21 22 22 23 23 24 24 25 25 26 27 28 28 29 3 (51) 2 Rev. A2, 01-Oct-98 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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Electrical Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.1 Absolute Maximum Ratings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2 DC Operating Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3 AC Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4 Schmitt-Trigger Inputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Pad Layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Package Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Standard Design of M48C260 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ordering Information for M44C260 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 30 30 30 31 32 33 33 33 34 34 35 36 36 38 38 38 39 45 46 48 49 50 4 5 6 7 8 4 (51) Rev. A2, 01-Oct-98 M44C260/M48C260 1 1.1 MARC4 Architecture General Description Reset Reset Clock System clock Sleep 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 IIIIIIIIIIIIIIIIIIIII IIIIIIIIIIIIIIIIIIIII IIIIIIIIIIIIIIIIIIIII IIIIIIIIIIIIIIIIIIIII IIIIIIIIIIIIIIIIIIIII IIIIIIIIIIIIIIIIIIIII IIIIIIIIIIIIIIIIIIIII IIIIIIIIIIIIIIIIIIIII IIIIIIIIIIIIIIIIIIIII II IIIIIIIIIIIIIIIIIIIII II IIIIIIIIIIIIIIIIIIIII II IIIIIIIIIIIIIIIIIIIII IIIIIIIIIIIIIIIIIIIII IIIIIIIIIIIIIIIIIIIII IIIIIIIIIIIIIIIIIIIII IIIIIIIIIIIIIIIIIIIII IIIIIIIIIIIIIIIIIIIII MARC4 CORE PC X Y SP RP Program memory RAM 256 x 4-bit Instruction bus Instruction decoder Interrupt controller Memory bus TOS CCR ALU I/O bus On-chip peripheral modules Figure 4. MARC4 core 94 8973 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 Program memory (4K x 8-bit) 1F8h 1F0h 1E8h 1E0h 1E0h 1C0h INT7 INT6 INT5 INT4 INT3 INT2 INT1 INT0 SCALL addresses 180h Zero page 140h 100h 0C0h 080h 040h 1FFh 000h Self test bank (1K) only M44C260 3FFh Zero page 000h 020h 018h 010h 008h 000h 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 FCh FFh Global variables X RAM address register: Y SP RP TOS-1 Expression stack Return stack 11 0 RP 04h 00h Return stack Global v 07h variables 03h Figure 6. RAM map 6 (51) IIIII III III IIIII IIIII IIIII IIIIIII I IIIIIII IIIIIII I IIIIIII IIIIIII IIII IIIII IIIII IIIIII IIIIII 008h 000h $RESET $AUTOSLEEP 94 8974 Figure 5. Program memory map 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. (256 x 4-bit) Autosleep RAM Expression stack 3 0 TOS TOS-1 TOS-2 4-bit SP 12-bit 94 8975 Rev. A2, 01-Oct-98 M44C260/M48C260 1.2.3 Registers 11 0 PC 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 IIIII IIIII IIIII IIIII IIIII IIIIIIIIII IIIIIIIIII IIIIIIIIII IIIIIIIIII IIIIIIIIII IIIIIIIIII IIIIIIIIII IIIIIIIIII IIIIIIIIIIIIII IIIIIIIIIIIIII 7 0 Program counter Return stack pointer Expression stack pointer RAM address register (X) RAM address register (Y) Top of stack register Condition code register Interrupt enable Branch Unused Carry / borrow RP SP X Y 00 7 0 7 0 7 0 3 0 TOS 3 0 CCR C - B I 94 8976 Figure 7. Programming model 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) 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. Carry/Borrow (C) 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. 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. 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. ; Note: 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. 1.2.5 Self-Check To cover the ROM block during production testing the ROM_TEST2 routine has to be included into the $RESET routine. : $RESET >SP >RP Port7 S0 FCh IN Fh = ROM_Test2 IF THEN \*** main program 1.2.6 Instruction Cycles 1.2.4 ALU 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". 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). 1.2.7 I/O Bus RAM SP TOS-1 TOS-2 TOS-3 TOS-4 TOS 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"). IIII III IIII III IIII IIIIII IIIIIIIIIII III II I II IIIIIIIIIII III IIIIII II II I IIII IIIIIIIIII I I IIIIIIIIIIIIIII I IIIIII IIII III ALU CCR 94 8977 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 INT7 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. 7 6 Priority level 5 4 3 2 1 0 Rev. A2, 01-Oct-98 AAAA AAAAA AAAA AAAAA AAIIIIII AA AAIIIIII AA AAIIIIIII AA AAAA AAIIAAAA AA A AIIIII AAAA AAAA AAA AAAA AAA AAAA AAAA AAAA INT7 active INT5 RTI INT5 active INT3 RTI INT2 INT3 active RTI INT2 pending INT2 active RTI SWI0 INT0 pending INT0 active RTI Main / Autosleep Main / Autosleep Time 94 8978 Figure 9. Interrupt handling 9 (51) M44C260/M48C260 Table 2. Interrupt priority table Interrupt INT0 INT1 INT2 INT3 INT4 INT5 INT6 INT7 Priority lowest A A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A A A AA A AA A AAAAAAAAAAAAA A AA AAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A A A AA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAA A A A AA A AA AA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A A AA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAA A AA A AAAAAAAAAAAAAAAAAAAAA A A A A A AA A AA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAA A A AA AA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A A AA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A AAAAAAAAAAAAAAAAAAA A AA A AA 100h E0h (SCALL 100h) 140h 180h 1C0h 1E0h E8h (SCALL 140h) F0h (SCALL 180h) F8h (SCALL 1C0h) highest FCh (SCALL 1E0h) Vector Address 040h 080h 0C0h Interrupt Opcode (Acknowledge) C8h (SCALL 040h) D0h (SCALL 080h) D8h (SCALL 0C0h) Function 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) 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 Table 3. Hardware interrupts 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. Interrupt EEPROM write ready External interrupt Port 3 (BP30 OR BP31) External interrupt Port 3 (BP32 OR BP33) Timer 1 interrupt Timer 2 interrupt Priority INT1 INT2 INT3 INT4 INT5 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAA A A A A A AAAAAAAAAAAAA A A A AAAAAAAAAAAAAAAAAAA AAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A AAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAA A A A AAAA AAAA AAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAA A A A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAA A A A AAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAA AAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAA AAA Ext. interrupt IP40 input INT6 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 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 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. 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. 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) 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 Q1 OSCOUT OSC32 Stop fOSC= 32 kHz OSCS = 0 OSCS = 1 CL32 TIMER 1 CSC : OSCS T1R TAR TBR EERDY SLEEP CSC3 OSCS CRDY CCS EEPROM fG <= 32 kHz OSC Stop /122 /2 /4 CCS = 1 Systemclock - Generator SYSCL TIMER 2 CORE TCL TE Figure 10. Clock module Rev. A2, 01-Oct-98 III III CCS = 0 II II TCL - Controllogic 94 8979 11 (51) M44C260/M48C260 1.4.1 Clock Status/Control Register (CSC) Address: Ch Subaddress: 2h AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAA A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAA A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAA A A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAA A A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAA A A A AA A A AA A A AAAAAAAAAAAAAAAAAAAAAAAAAAAA A A AAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAA A A A A A A A AA A AAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAA CSC CSC3 OSCS CRDY CCS Reset value: 0000h CSC3 This bit must always be zero Oscillator Stop OSCS OSCS = 0 the mC runs with the 32-kHz crystal oscillator for Timer 1 OSCS = 1 the 32-kHz oscillator stops. For mC operation without crystal, this bit must be set after reset. In that case Timer 1 is provided from the internal RC oscillator. CRDY = 0 indicates the start-up time of the oscillators. CRDY = 1 indicates that the clock is ready and has the exact timing. CCS = 0 selects 1 MHz system clock (SYSCL/TCL) CCS = 1 selects 2 MHz system clock (SYSCL/TCL) CRDY CCS Clock Ready (status bit) Core Clock Select Bit 3 Bit 2 Bit 1 Bit 0 1.4.2 TCL Signal The TCL pin can be used as input to supply the controller with an external clock. For this configuration, the TCL pin must be held low for at least 0.5 ms during the reset cycle. The controller is working with clock frequencies up to 2.5 MHz. It is also possible to use the TCL pin as output to supply peripherals with the system clock. In this case the TE pin must be connected to VDD level and the TCL pin must have a high impedance load. The sleep mode can only be kept when none of the interrupt pending or active register bits are set. The application of the $AUTOSLEEP routine ensures the correct function of the sleep mode. The total power consumption is directly proportional to the active time of the C. For a rough estimation of the expected average system current consumption, the following formula should be used: Itotal (VDD, fOsc) = ISleep + (IDD * Tactive/Ttotal) 1.5 Power Down Modes IDD depends on VDD and fOsc. Systemclock Generator Stop The M44C260/M48C260 has different power down modes. When the MARC4 core enters the sleep mode and no on-chip peripheral needs a clock signal (SYSCL), the system clock oscillator is stopped. Therefore the programmer should stop Timer 1 and Timer 2 during the sleep mode if they are not required. If the 32-kHz oscillator is not used, it should be stopped. Under this condition, the power consumption is extremely low (see following table). RC Osc. 32-kHzOsc. [OSCS] STOP RUN STOP RUN STOP RUN PowerConsumption < 1.0 A < 1.0 A < 1 mA < 1 mA < 3 mA < 3 mA The sleep mode is a shutdown condition which is used to reduce the average system power consumption in applications where the C is not fully utilized. In this mode the system clock is stopped. The sleep mode is entered with the SLEEP instruction. This instruction sets the interrupt enable bit (I) in the condition code register to enable all interrupts and stops the core. During the sleep mode the peripheral modules remain active and are able to generate interrupts. The C exits the sleep mode with any interrupt or a reset. Table 4. Power consumption at different power down modes Mode CPUCore SLEEP SLEEP SLEEP SLEEP RUN RUN AAAAAA A AA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAA AA AAAAAA A A A AA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAA AA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAA AA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAA AA AAAAAA A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAA AAA AA AA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAA AA AA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAA AA AA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAA AA AA 1 2 3 4 5 6 STOP STOP RUN RUN RUN RUN 12 (51) Rev. A2, 01-Oct-98 TIMER 1 [T1R] TIMER 2 [TAR, TBR] EEPROM [EERDY] T1R=0 AND TAR=0 AND TBR=0 AND EERDY=1 T1R=X, TAR=0 AND TBR=0 AND EERDY=1 T1R=1 OR TAR=1 OR TBR=1 OR EERDY=0 T1R=X, TAR=1 OR TBR=1 OR EERDY=0 T1R=X, TAR=X, TBR=X, EERDY=X T1R=X, TAR=X, TBR=X, EERDY=X M44C260/M48C260 2 2.1 Peripheral Modules Addressing Peripherals lows the access to 16 subports. The first OUT-instruction writes the subport address to the subaddress register, the second IN- or OUT-instruction reads data from or writes data to the addressed subport. The access to the peripheral modules (ports, registers) is executed via the I/O bus. The IN- or OUT-instruction allows the direct addressing of 16 I/O ports. For peripherals with a large number of registers, extended addressing is used. With two I/O operations, an extended I/O port alTable 5. I/O-addressing IIII IIII IIII IIII IIII IIII IIII IIII IIII IIII IIII IIII AAAAAAAAAAAAAAA A A A A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAA A AAAAAAAAAAAAAAA AAAAAAAAAAAAAAA A A A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAA A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAA A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAA A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAA A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAA A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAA A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA I/O Operation Port 0, 1, 2, 3, 4, T2SC, EMS I/O read I/O write T2SUB, CSUB Extended I/O read Extended I/O write qFORTH Instructions Description port IN data port OUT Read data from port Write data to port Extended I/O short read ESUB Extended I/O read (byte) subaddress port OUT port IN subaddress port OUT data port OUT port IN subaddress port OUT port IN port IN subaddress port OUT data port OUT data port OUT Write subaddress to port Read data from subaddress Write subaddress to port Write data to subaddress Read data from current subaddress Extended I/O write (byte) Write subaddress to port Read data high nibble from subaddress Read data low nibble from subaddress Write subaddress to port Write data low nibble to subaddress Write data high nibble to subaddress Subport Fh Subport Eh Subport Dh Subaddress Register subaddress port OUT Subport 3 Subport 2 Subport 1 Subport 0 data port OUT port IN I/O port Subport I/O port I/O bus Figure 11. Extended I/O addressing 94 8980 Rev. A2, 01-Oct-98 13 (51) AAAAAAAAAAAAAA A A A AA A A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A AA AA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A AA AA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A AA AA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A AA AA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A AA AA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A AA AA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A AA AA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A AA AA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A AA AA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A AA AA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A AA AA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A AA AA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A AA AA AA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A AA A AA A AA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAA AA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A AA AA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A AA A AA AA AA AA AA A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A AA AA A A AA A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A A AA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A AA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A AA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAA A A AAAAAAAAAAAAA A A A AA AA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAA AA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A AA AA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A AA AA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A AA AA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A AA AA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A AA AA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A AA AA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A AA AA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A AA AA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A AA AA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A AA AA AA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A AA A AA A AA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAA AA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A AA AA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A AA A AA AA AA AA A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A AA AA A A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A A AA AA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A AA AA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A AA AA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A AA AA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A AA AA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAA A A A AA A AA AA AA AA A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AA AAAAAAAAAAAAAAAAAAA A AA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A AA AA AAAAAAAAAAAAAA A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAA AA AAAAAAAAAAAAAA A A A AA A AA AA AA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AA AA A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAA A A AA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A AA AA A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAA AA AAAAAAAAAAAAAA A AAAAAAAAAAAA AAAAAAAAAAAAA A A AA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A AA AA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A AA AA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A AA AA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A AA AA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A AA AA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A AA AA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A AA AA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AA AA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAA AA AAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AA AA A AA AA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAA AA Table 6. Peripheral addresses M44C260/M48C260 14 (51) Addr. 0 1 2 3 4 5 6 7 8 9 D E F A B C Name Port 0 Port 1 Port 2 Port 3 Port 4 --- --- --- T2SC T2SUB EMS ESUB CSUB --- --- --- Subport for EEPROM Subport for watchdog, Timer 1, interrupt masks, and clock generator Subport for Timer 2 Bidirectional port Bidirectional port Bidirectional port Bidirectional port Input port Subaddress 0 1 2 3 4 5 6 7-F address 0 Timer 2 status and control register SubName Register 6 7 8 9 A B C D E F 5 2 3 4 1 TBRH TBRL TAM1 TAM2 TBM1 TBM2 T2IC T2PC --- --- EEPROM status register Row 0 - Row F Name Register TARH TARL TBRCH TARCH TBRCL TARCL WDC CWD CSC --- T1C IMR1 IMR2 --- Function Timer 1 control register Interrupt mask register 1 Interrupt mask register 2 Watchdog control register Clear watchdog counter Clock status/control register Timer 2A space reload/capture register, high nibble Timer 2A space reload/capture register, low nibble Timer 2A pulse reload register Timer 2A pulse reload register Timer 2B space reload/capture register, high nibble Timer 2B space reload/capture register, low nibble Timer 2B pulse reload register Timer 2B pulse reload register Timer 2A mode register 1 Timer 2A mode register 2 Timer 2B mode register 1 Timer 2B mode register 2 Timer 2 interrupt control Timer 2 prescaler control Rev. A2, 01-Oct-98 M44C260/M48C260 2.1.1 Input Port 4 Port 4 is the input port for the pins IP40, IP43, TA and TB. IP40 is also the interrupt input for INT6, and TA and TB are normally used for timer I/O functions. AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAA AAAAAAAA A A A A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAA AAAA Input Port 4 IP43 TB/IP42 TA/IP41 IP40/INT6 V DD V DD * * Bit 3 Bit 2 Bit 1 Bit 0 Pull-up I/O bus I/O bus V DD * Pull-up IP40/INT6 IP43 INT6 Pull-down * optional 94 8981 Figure 12. Input port IP40, IP43 2.1.2 Bidirectional Ports Ports 0, 1, 2 and 3 are bidirectional 4-bit wide ports and may be used for data input or output. The data direction is programmable for a complete port only. The port is switched to output with an OUT-instruction and to input with an IN-instruction. The data written to a port will be stored into the output latches and appears immediately after the OUT-instruction at the port pin. After RESET all output latches are set to Fh and the ports are switched to input mode. Note: Care must be taken when switching bidirectional ports from output to input. The capacitive load at this port may cause the data read to be the same as the last data written to this port. To avoid this when switching the direction, one of the following approaches should be used. D Use two IN-instructions and DROP the first data nibble read. The first IN switches the port from output to input, DROP removes the first invalid nibble and the second IN reads the valid nibble. D Use an OUT-instruction followed by an IN-instruction. With the OUT-instruction, the capacitive load is charged or discharged depending on the optional pull-up /pull-down configuration. Write a "1" for pins with pull-up resistors and a "0" for pins with pulldown resistors. Rev. A2, 01-Oct-98 15 (51) M44C260/M48C260 I/O bus VDD * VDD D Q BPxy R Reset OUT IN / Reset * S R Q NQ *) optional pull-up / pull-down resistor 94 8982 Figure 13. Bidirectional port Interrupt logic (INT2 / INT3) VDD I/O bus * VDD D Q BP3y R Reset PortX_OUT PortX_IN / Reset * S R Q NQ *) optional pull-up / pull-down resistor 94 8983 Figure 14. Bidirectional Port 3 with interrupt input 2.1.3 External Interrupt Inputs The pins IP40 and BP30 - BP33 can be used as external interrupt inputs. IP40 is used for INT6, BP32 and BP33 are used for INT3, and BP30 and BP31 are used for INT2. Pin IP40 is also used as an input port and BP30 - BP33 as a bidirectional port (see figure 14). Each of these external interrupt sources can be enabled or disabled with individual interrupt mask bits. A negative transition at one of these inputs requests an interrupt, when the corresponding mask bit is set. The interrupt masks are placed in the subport registers IMR1 and IMR2 of port CSUB. 16 (51) Rev. A2, 01-Oct-98 M44C260/M48C260 IMR1: IM33 IM32 IM31 IM30 BP33 BP32 BP31 BP30 IP40 Interrupt interface Interrupt interface Interrupt interface INT3 INT2 INT6 IMR2: IM6 IMT1 94 8984 Figure 15. External interrupt inputs 2.2 Timer 1 interrupt is maskable with the IMT1 bit. The time interval for a watchdog reset can be programmed with the watchdog control register for 0.5, 2.0, 8.0 or 16.0 s. When the watchdog is active (WDR = 1) the controller is reset with the overflow of the 3-bit watchdog counter. The application software has to ensure that the watchdog counter is reset by a write access to the CWD port before it overflows. 1 0 0 1 0 1 1 1 0 1 1 1 Timer 1 is an interval timer for generating interrupts. Additionally, the Timer 1 can be used as watchdog timer. The timer consists of a programmable 18 stage divider which is supplied with a 32-kHz clock and a 3-bit counter for the watchdog function (see figure 16). The time interval for a Timer 1 interrupt (INT4) can be programmed with the timer control register from 1 ms up to 8.0 s. The Timer 1 T1C2 T1C1 T1C0 0 0 0 0 0 1 0 1 0 0 1 1 T1C T1R T1C2 T1C1 T1C0 Decoder 3 : 8 DIVIDER CL32 Q5 Q6 Q8 Q10 Q11 Q12 Q13 Q14 Q15 Q16 Q18 RESET Decoder 2 : 4 WRITE (T1C) Divider WDC WDR WDC1 WDC0 Rev. A2, 01-Oct-98 IIIIIIIIIIII IIIIIIIIIIII III IIIIIIIIIIIIIII IIIIIIIIIIIIIII IIIIIIIIIIIIIII IMR2 WDR=0 IMT1=0 INT4 IMT1=1 IM6 IMT1 Watchdog counter Divider /8 RESET (NRST) Divider RESET WDC1 WDC0 0 0 0 1 1 0 1 1 WDR=1 WRITE CWD 94 8985 Figure 16. Timer 1 17 (51) A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAA A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AA A A A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAA A A A A A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAA AAAAA 2.2.2 WDM0 WDM1 WDR WDC AAAAAAAAAAAAAA A A AA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A A AA AAAAAAAAAAAAAA A A AA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A A AA AAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A A A A AA AA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAA A AA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A A AA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A A AA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A A AA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A A AA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A A AA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAA A AA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAA A AA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A A AA AA A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAA A A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAA A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AA A A A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAA A A A A A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAA AAAAA 2.2.1 T1C0 T1C1 T1C2 T1R T1C2 0 0 0 0 1 1 1 1 TIC The registers of Timer 1 are I/O-mapped. They are subport register of port CSUB the access is made by extended I/O operations. The interval timer is controlled by the Timer 1 register M44C260/M48C260 18 (51) WDC - Watchdog Control Register T1C - Timer 1 Control Register Both these bits control the time interval for the watchdog reset. Watchdog mode 0 Watchdog mode 1 Watchdog run WDR = 0 the watchdog counter is inactive and reset WDR = 1 the watchdog counter is active and able to generate a reset when Timer 1 is running This three bits select the time interval for a Timer 1 interrupt. Timer 1 control bit 0 Timer 1 control bit 1 Timer 1 control bit 2 Timer 1 reset Write (T1R = 1) resets the interval timer T1C1 0 0 1 1 0 0 1 1 WDR Bit 3 Bit 3 T1R T1C2 --- T1C0 0 1 0 1 0 1 0 1 2 2 WDM1 T1C1 1 1 Divider 32 64 256 1024 4096 16384 65536 262144 WDM0 T1C0 prescaler control register T1C. The interrupt mask IMT1 is placed in the interrupt mask register IMR2. The watchdog timer is controlled by the watchdog control register WDC and port CWD. A write access to CWD resets the watchdog counter. 0 0 Address: `C'h Subaddress 0 Address: `C'h Subaddress 4 Reset value: 0x00b Reset value: 0000b Time Interval 0.9765625 ms 1.953125 ms 7.8125 ms 31.25 ms 125 ms 500 ms 2s 8s Rev. A2, 01-Oct-98 M44C260/M48C260 AAAAAAAAAAAAAAAAA A A A AAAAAAAAAAAAAAAAA A A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAA A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAA A A 2.3 Timer 2 TA/TB pin is used as counter output. The duty cycle can be programmed with the pulse and space reload register. Timer 2 consists of the two timer/counter blocks Timer A and Timer B. Each block has one 8-bit downcounter and a programmable prescaler. The clock inputs can be programmed to count the system clocks, Timer A clocks or external clocks. The maximum clock rate for external clocks is the half system clock frequency (SYSCL/2). Each counter has a reload register for the pulse time and a reload register for the space time. Every counter underflow toggles the output and reloads the downcounter alternately from the pulse reload register or from the space reload register. This allows the generation of any duty cycles. In addition, both counters have a capture mode. In this mode an external signal or the Counter B output causes the current counter value to be captured into the corresponding capture register. The timer has two I/O pins, TA for Timer A and TB for Timer B. Used as output, the pins have a high level during the pulse time and a low level during the space time of the timer. As input, the pins are used for the external counter clock or the capture signal. The inputs have a programmable edge detection to select the active edge of an external clock or capture signal. Interrupts can be generated when a counter underflow or a capture event occurs. The interrupt function for Timer 2 can be programmed with the interrupt control register. Both counter blocks share one interrupt vector (INT5). WDM 1 0 0 1 1 WDM 0 0 1 0 1 Divider 2048 8192 32768 524288 Delay Time to Reset (s) 0.5 2 8 16 D Capture mode Counter A/B is supplied by the system clock. The TA/TB pin is used as input. An external signal at the input causes the current counter value to be captured into the capture register. D Event counter Counter A/B counts external clocks at the TA/TB pin. The capture register contains the current counter value and can be read. Combined Timer Modes D 16-bit timer Counter A is supplied with the system clock and its output is coupled with the input of Counter B. In this mode the counter is used to generate timer interrupts. D 16 bit capture mode Counter A is supplied with the system clock and Counter B with the output of Counter A. An external signal at the TA pin causes the current counter value will be captured into the capture registers. D 16-bit event counter The output of Counter A is coupled with the input of Counter B to count external clocks at TA. The capture register of both counters contain the current counter values. Timer 2 Modes There are various timer/counter modes for both blocks of Timer 2. They can be used separately or combined. The timer modes can be programmed with the timer control and mode registers. Single Timer Modes D Burst generator Counter A is supplied with the system clock and its output is coupled with the input of Counter B. The output of Counter B controls the output signal of Counter A at the TA pin. The TA output is enabled during the pulse and disabled during the space of Counter B. D 8-bit timer Counter A/B is supplied by the system clock and is used to generate timer interrupts. D Event counter with time gate Counter A counts the clocks at the TA pin and Counter B is supplied with the system clock. Each underflow of Counter B causes the counter value of Counter A to be captured into its capture register. D Pulse width modulation Counter A/B is supplied by the system clock. The Rev. A2, 01-Oct-98 19 (51) M44C260/M48C260 Timer 2 Register All timer register are I/O mapped. The access to the Timer 2 status control register (T2SC) can be done with a direct I/O operation to T2SC. The status is read with an IN operation and a command to control the timer is written with an OUT operation. The remaining registers of Timer 2 are subport registers of port T2SUB. The access to those registers needs an extended I/O operation. The timer function can be configured with the mode registers TAM1, TAM2, TBM1, TBM2 and the interrupt control register T2IC. The timing depends on the contents of the prescaler control register T2PC and the reload registers. The capture registers are used to read the counter value. SYSCL TAM1 Counter A TARCH[r] ACS TAM1 + TAM1 AOE AGB TAM2 TA ACE TAM2 ACB AE1AE0 TBM1 INTERRUPT INT5 BCS1 BCS0 SYSCL T2IC T2SC [READ] Counter B BCE TBM2 BCA TBM2 BE1 BE0 TB BOE TBM1 94 8987 TBRCH[r] Note: all control bit switches are shown at value "0" Figure 17. Timer 2 Reload register PULSE TxRH[w] TxRL[w] SPACE TxRCH[w]TxRCL[w] T2PC Input Counter A/B Prescaler Output Counter A/B DOWN COUNTER A/B A/B Toggle T2SC[w] x = A for Counter A, B for Counter B r = READ w = WRITE Capture register TxRCH[r] TxRCL[r] Capture Input A/B Figure 18. Counter A/B 94 8986 20 (51) Rev. A2, 01-Oct-98 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AA A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A AAAAAAAAAAAAAAAAAAAAAAAAAAAAA A A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAA A A AA AAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AA AA AAA AAAAAAAAAAAAA A A AA AAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AA AA AAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AA AA AAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AA AA AAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AA AA AAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AA AA AAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AA AA AAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AA AA AAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AA AA AAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AA AA AAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AA AA AAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AA AA AAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AA AA AAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AA AA AAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AA AA AAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAA AA AAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AA A AA AAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAA A AA AAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AA AA AAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AA AA AAA TBM, TBR: Timer B control bits to start or stop Timer B. TAM, TAR: Timer A control bits to start or stop Timer A. *) TAPC: TASU: TBPC: TBSU: Read (T2SC) TBM 1 0 0 0 0 0 0 1 1 ACE and BCE are the capture enable control bits in the timer mode registers TAM2 and TBM2. Timer A end of pulse/capture status bit. When ACE = 0 this bit will be set at the end of pulse time of Counter A. When ACE = 1 this bit will be set when a capture event for Counter A occurs. Timer A end of space/underflow status bit. When ACE* = 0 this bit will be set at the end of space time of Counter A. When ACE = 1 this bit will be set with each Counter A underflow. Timer B end of pulse/capture status bit. When BCE = 0 this bit will be set at the end of pulse time of Counter B. When BCE = 1 this bit will be set when a capture event for Counter B occurs. Timer B end of space/underflow status bit. When BCE* = 0 this bit will be set at the end of space time of Counter B. When BCE = 1 this bit will be set with every Counter B underflow. TAM 1 0 0 0 0 1 1 0 0 TBR x 1 0 1 0 1 0 x x TAR x 0 1 1 0 x x 1 0 TBSU NOP STOP_A-RUN_B RUN_A-STOP_B RUN_AB STOP_AB RUN_B STOP_B RUN_A STOP_A Timer 2 Commands TBPC TASU pulse reload register. taking the value from the counter with the next clock A RUN command starts the the prescaler and counter. A STOP command resets TAPC Reset value: 0000b AAAAAAAAAA A A A A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AA A A A A AAAAAAAAAA A A A A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AA A A A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AA A A A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AA A A A A AAA AA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAA AAA AA 2.3.1 Status register Control register Write (T2SC) Rev. A2, 01-Oct-98 The status bits TASU, TAPC, TBSU, TBPC will be reset after a READ access to T2SC! Timer 2 Status/Control Register (T2SC) TBM Bit 3 TAM 2 TBR M44C260/M48C260 1 TAR 0 Reset value: 0000b Address: 8 21 (51) M44C260/M48C260 2.3.2 Timer 2 Subport (T2SUB) Address: 9 Table 7. Timer 2 subports AAAA A A A A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAA A A AAAA A A A A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAA A A AAAA A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAA AAA A A A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAA A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAA A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAA A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAA A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAA A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAA A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAA A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAA AA A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAA AA A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A A A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAA A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A A A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAA AAAA Low-nibble High-nibble Low-nibble High-nibble Low-nibble --- ACB --- BCA IMBS BPC1 --- --- High-nibble Low-nibble AGB ACS ACE AE1 BCS1 BCS0 BCE BE1 IMBP IMAS BPC0 APC1 --- --- --- --- AOE AE0 BOE BE0 IMAP APC0 --- --- * [w] write only, [r] read only Subaddr. Name 0 TARCH [w]* TARCH [r]* 1 TARCL [w]* TARCL [r]* 2 TARH 3 TARL 4 TBRCH [w]* TBRCH [r]* 5 TBRCL [w]* TBRCL [r]* 6 TBRH 7 TBRL 8 TAM1 9 TAM2 A TBM1 B TBM2 C T2IC D T2PC E --- F --- Meaning Timer A reload high Timer A capture high Timer A reload low Timer A capture low Timer A reload high Timer A reload low Timer B reload high Timer B capture high Timer B reload low Timer B capture low Timer B reload high Timer B reload low Timer A mode register 1 Timer A mode register 2 Timer B mode register 1 Timer B mode register 2 Timer 2 interrupt control Timer 2 prescaler control Bit 3 Bit 2 Bit 1 High-nibble Bit 0 2.3.3 Timer 2 Reload Register register or the value (n) from the pulse reload register and toggles the counter output. The pulse and space width can be calculated as following: Pulse time: Pulse = (n+1) x prescaler clocks Spacetime: Space = (m+1) x prescaler clocks 0 The 8-bit wide reload registers of Timer A and B are used to program the pulse and space width of the counter output signal. The first clock after a start command loads the downcounter with the value (n) from the pulse reload register and sets the counter output to 1. The downcounter decrements with each following clock and each underflow reloads alternately the value (m) from the space reload v m, n v 255 Prescaler out Counter out n n-1 n-2 n+1 1 0 m m-1 m-2 m+1 1 0 n PULSE SPACE 22 (51) Rev. A2, 01-Oct-98 M44C260/M48C260 Timer 2 Space Reload Register The space reload register of Timer 2 is programmed by two write accesses to the subport addresses TARCH and TARCL or TBRCH and TBRCL of the Timer 2 subport T2SUB. The value (m) in the space reload register determines the space width. At the end of the pulse, the downcounter reloads the 8-bit value from the space reload register with the next clock of the prescaler output. Space width: Space = (m+1) prescaler clocks 0 m 255 Timer 2 Pulse Reload Register The pulse reload register of Timer 2 is programmed by two write accesses to the subport addresses TERH and TARL or TBRH and TBRL of the Timer 2 subport T2SUB. The value (n) in the pulse reload register determines the space width. At the end of space the downcounter reloads the 8-bit value from the pulse reload register with the next clock of the prescaler output. Pulse width: Pulse = (n+1) prescaler clocks 0 n 255 2.3.4 Timer 2 Capture Register The capture register is used to capture the current downcounter value when a capture event occurs. The value is kept in the capture register until the next capture event and can be read independent of the state of the downcounter. The capture events are programmable with the timer mode registers TAM2 and TBM2. The capture registers are also used to read the counter value when the external capture mode is disabled. In this case the 8-bit counter value is transferred into the capture register by reading the high nibble TARCH or TBRCH. If the 16-bit event counter mode is enabled the complete 16-bit value is captured by reading first the high nibble TARCH of Timer A. This mechanism ensures the coherence of the counter high and low nibble during the read access. 2.3.5 Timer A Mode Register 1 (TAM1) Address: 9 - Subaddress: 8 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAA A A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAA A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AA A A A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AA A A A A AAAAAAAAAAAAAA A A A A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAA AAAAA Bit 3 --- 2 1 0 TAM1 AGB ACS AOE Reset value: 0000b AGB Counter A output gated by Counter B output AGB = 1 enables the burst generation mode. The output of Timer A is enabled during the pulse time of the Counter B and disabled (TA= 0) during the space time of the Counter B. Counter A clock select This bit selects the source of the Counter A clock. When ACS = 0 the timer is supplied with internal SYSCL. When ACS = 1 the timer is supplied with an external clock on TA pin. Timer A output enable AOE = 0 disables the counter output TA. AOE = 1 enables the counter output TA. ACS AOE Rev. A2, 01-Oct-98 23 (51) AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A A AAAAAAAAAAAAAAAAA A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAA AAAAAAAAAAA A A AAAAAAAAAAAAAAAA AAAAAAAAAAA A AA AAAAAAAAAAAAAAAA AAAAAA AAAAAAAAAAAAAAAA AA AAAAAAAAAAAAAAAA AA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AA A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAA A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAA A A A A A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAA A A A A AA A A A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAA AAAAA 2.3.7 BOE BCS0 BCS1 BCS1 0 1 x TBM1 BCS0 0 0 1 AAAAAAAAAAAAAAAAAAAAAAAAAAA A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AA AAAAAAAAAAAAAAAAAAAAAAAAAAA A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AA A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAA A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAA A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAA A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAA AAAA A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAA A A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAA A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAA A A A A A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAA A A A A AA AA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAA AAAAAAAAAAAA A A AA A 2.3.6 M44C260/M48C260 24 (51) AE0 AE1 ACE ACB AE1 0 0 1 1 TAM2 Timer B Mode Register 1 (TBM1) Timer A Mode Register 2 (TAM2) AE0 0 1 0 1 Timer A edge select bit 0 With these bits the active edge for the counter clocks and capture signal is selected. Timer A edge select bit 1 Timer A capture enable ACE = 1 enables the capture mode for Counter A. The occurrence of a capture event causes that the current downcounter value is loaded into the capture register. Timer A captured by Timer B Selects the capture source for Timer A. When ACB = 0 the signal at the TA pin is used to generate a capture event. When ACB = 1 each transition at the Counter B output is used to generate a capture event for Timer A. Timer B output enable BOE = 0 disables the counter output TB. BOE = 1 enables the counter output TB. These bits select the source of Counter B clock. Timer B clock select bit 0 Timer B clock select bit 1 Counter B Input Signal System clock (SYSCL) Output signal of Counter A External input signal at TB Active Edge for Counter Clock/Capture Events positive edge at TA pin negative edge at TA pin first positive edge after timer start and then each transition at TA pin first negative edge after timer start and then each transition at TA pin ACB Bit 3 Bit 3 --- ACEAAAA AE1 BCS1 2 2 BCS0 1 1 AE0 0 BOE 0 Address: 9 - Subaddress: Ah Address: 9 - Subaddress: 9 Reset Value: 0000b Reset value: 0000b Rev. A2, 01-Oct-98 AAAAA A A AAAAAAAAAAAAAAA A A AAAAA A A AAAAAAAAAAAAAAA AAAAAAAAAAA A AAAAAAAAAA AAAAAAAAAAAAAAA A A A A AAAAAAAAAAAAAAA AAAAAAAAAAA AAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAA A A AAAA A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A AAAAAAAAAAAAAAAAAAAAAAAAAAAAA A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAA A A A A A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AA A A A A AAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AA A A A A 2.3.9 APC0 APC1 BPC0 BPC1 BPC1/APC1 0 0 1 1 T2PC AAAAAAAAAAAAAAAAAAAAAAAAAAA A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AA AAAAAAAAAAAAAAAAAAAAAAAAAAA A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AA AA A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAA AAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAA A AAAA A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAA A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAA A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAA A A A A A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAA A A A A AA A A A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAA A A AA A 2.3.8 BE0 BE1 BCE BCA BE1 0 0 1 1 TBM2 Rev. A2, 01-Oct-98 Timer 2 Prescaler Control Register (T2PC) Timer B Mode Register 2 (TBM2) BE0 0 1 0 1 Timer A prescaler control bit 0 These bits determine the divider for the prescaler of Timer A. Timer A prescaler control bit 1 Timer B prescaler control bit 0 These bits determine the divider for the prescaler of Timer B. Timer B prescaler control bit 1 Timer B edge select bit 0 With these bits the active edge for the counter clocks and capture signal is selected. Timer B edge select bit 1 Timer B capture enable BCE = 1 enables the capture mode for Counter B. A capture event loads the current downcounter value into the capture register. Timer B is captured with Timer A capture signal. With BCA = 1 the external capture signal for Timer A is used to capture Timer B simultaneously with Timer A. Active Edge for Clock/Capture Events positive edge on TB pin negative edge on TB pin first positive edge after start timer and then each transition on TB pin first negative edge after start timer and then each transition on TB pin BPC0/APC0 0 1 0 1 BPC1 BCA Bit 3 Bit 3 BCE BPC0 2 2 Divider 1 4 16 64 BE1 APC1 1 1 BE0 APC0 0 0 M44C260/M48C260 Address: 9 - Subaddress: Dh Address: 9 - Subaddress: Bh Reset value: 0000b Reset Value: 0000b 25 (51) M44C260/M48C260 2.3.10 Timer 2 Interrupt Control Register (T2IC) Address: 9 - Subaddress: Ch Bit 3 T2IC IMBS 2 IMBP 1 IMAS 0 IMAP Reset value: 0000b AAAAAAAAAAAAAAAAAAAAAAAAAAAAA A AAAA A AA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AA AAAAAAAAAAAAAAAAAAAAAAAAAAAAA A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAA A A A A A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAA A A A A AA A A A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAA AAAAA IMBS Interrupt mask Timer B end of space/underflow IMBS = 1 enables an INT5 interrupt, if BCE* = 0 at the end of space of Counter B, or if BCE = 1 at each Counter B underflow. Interrupt mask Timer B end of pulse/capture IMBP = 1 enables an INT5 interrupt, if BCE = 0 at the end of pulse of Counter B, or if BCE = 1 with a capture event for Counter B. IMBP IMAS Interrupt mask Timer A end of space/underflow IMAS = 1 enables an INT5 interrupt, if ACE* = 0 at the end of space of Counter A, or if ACE = 1 at each Counter A underflow. Interrupt mask Timer A end of pulse/capture IMAP = 1 enables an INT5 interrupt, if ACE = 0 at the end of pulse of Counter A, or if ACE = 1 with a capture event for Counter A. IMAP Each interrupt source can be enabled or disabled individually by setting the corresponding maskbit. *) ACE and BCE are the capture enable control bits in the timer mode registers TAM2 and TBM2. T2SC[r] : TBSU TBPC TASU TAPC Timer A end of pulse / capture Timer A end of space / underflow Timer B end of pulse / capture Timer B end of space / underflow INT5 T2IC : IMBS IMBP IMAS IMAP [r] = READ 94 8988 Figure 19. Timer 2 interrupt mask register 26 (51) Rev. A2, 01-Oct-98 M44C260/M48C260 2.3.11 Timer I/O (TA/TB) input mode, when AOE/BOE = 1 the pin is switched to output mode. The pins also can be read with an INinstruction via Port 4 (TA with IP41 and TB with IP42). The timer I/O pins TA and TB are used as input for the external clock or capture signal and as output for the counter. The mode is controlled with AOE and BOE control bit. When AOE/BOE = 0 the pin is switched to I/O bus (IP41/IP42) Port4_IN Counter input (edge sense) Counter output V DD V DD * TA/TB AOE/AOB-controlbit *) optional pull-up / pull-down resistor * 94 8989 Figure 20. Timer I/O (TA/TB) Rev. A2, 01-Oct-98 27 (51) M44C260/M48C260 2.4 EEPROM The EEPROM of the M44C260/M48C260 is 128 bit wide and organized as an array of 16*8-bit. The EEPROM rows are I/O mapped and are subports of port ESUB. The access to any 8-bit row of the EEPROM is done by an extended 8-bit I/O operation or by special postincrement access. The EEPROM rows 12 to 15 can be write protected by hardware and software. Row 15 12 High nibble Low nibble Write protectable Memory 0 NWP Control logic INT 1 EMS ESUB 94 8990 Figure 21. EEPROM 2.4.1 EEPROM SubPort (ESUB) Address: Bh - Subaddress: 0-Fh Read operation A read operation needs an OUT- and two IN-instructions to port ESUB. First the OUT operation writes the row adqFORTH example: Row address ESUB OUT ESUB IN ESUB IN ( ( dress. The following two IN-instructions read the high nibble and then the low nibble of the addressed row. --) --Data_High) -- Data_High Data_Low) (Data_High Write operation A write operation needs three OUT-instructions to port ESUB. The first operation writes the row address. The following two OUT-instructions write the low nibble and then the high nibble to the addressed row. After reset, rows 12 to 15 are write protected. To enable write operations to these rows the write enable bit (EWE) must be set. In all cases write accesses to these rows are disabled when pin NWP is low. 28 (51) Rev. A2, 01-Oct-98 M44C260/M48C260 qFORTH example: Row address ESUB OUT ESUB OUT ESUB OUT (Data_High Data_Low (Data_High Data_Low (Data_High -- Data_High Data_Low) --Data_High) --) The internal EEPROM write cycle needs about 16 ms (with connected quartz crystal and running crystal oscillator). During this cycle the EEPROM ready bit is reset (EPR = 0). After the data high nibble is written to the port ESUB, the internal write cycle is started. During the internal write cycle (while EPR = 0), only read and write accesses to the EMS register are possible. All other EEPROM accesses have no effect. Postincrement operations The postincrement mode supports a fast access to consecutive EEPROM rows. A postincrement access is started by setting the EPI bit in the EEPROM mode register (EMS) followed by writing the row start address to port ESUB. After that, the read or write operations to the consecutive EEPROM area, beginning at the start ad- dress, need only two IN- or OUT-instructions to read or write the data. The row address is incremented automatically after each complete row access (2 nibbles). A write access to the EEPROM mode register (EMS) terminates the postincrement mode. Note: In the postincrement mode, it is not possible to change from read to write operations or vice versa before the current postincrement operation is finished. Write ready interrupt (INT1) At the end of the internal write cycle an interrupt is generated when the interrupt mask bit IMEP in the EEPROM mode register EMS is set. With this interrupt, successive write operations can be executed interrupt controlled within the INT1 interrupt service routine. 2.4.2 EEPROM Mode/Status Register (EMS) Address: Ah AAAAAAAAAAAAAAAAAAAAAAAAAAAAA A AAAA A AA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A AAAAAAAAAAAAAAAAAAAAAAAAAAAAA A A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAA A A A A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AA A A A A AAAAAAAAAA A A A A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AA A A A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AA A A A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AA A A A A AAA AA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAA AAA AA --- --- EWE --- EPI --- IMEP EPR Reset value: 0000b Reset value: xxx1b Status register Read (EMS) EWE EEPROM write enable bit EWE = 0 disables write accesses to rows 12-15 EWE = 1 enables write accesses to rows 12-15 when the NWP pin is high EPI EEPROM postincrement mode enable EPI = 1 activates a postincrement access after the next row address is written to port ESUB Interrupt mask for EEPROM write ready interrupt When IMEP is set an INT1 is generated with the end of the internal EEPROM write cycle EEPROM ready status flag EPR = 0 indicates that the EEPROM is not ready for read or write operations (an internal write cycle is executed) EPR = 1 indicates that the EEPROM is ready for read and write operations IMEP EPR After a write access to the EMS-Register, postincrement operations are terminated and any incomplete EEPROM read and write sequence must be started again! Rev. A2, 01-Oct-98 29 (51) Mode register Write (EMS) Bit 3 2 1 0 M44C260/M48C260 3 3.1 Appendix Emulation single byte instructions. These operations are performed and no source or destination address information . Only BRANCH, CALL and RAM access instructions need address information and a length of two bytes for long address operations. In total, there are five types of instruction formats with a length of one and two bytes. Zero address operations such as arithmetical, logical, shift and rotate operations are performed with data placed on the top of the expression stack (TOS and TOS-1). Also I/O- and stack operations are single byte zero address operations and are performed with the top expression stack location. A literal is a 4-bit constant value which is placed on the data stack. In the MARC4 native code they are represented as LIT_ For emulation all MARC4 controllers have a special emulation mode. It is activated by setting the TE pin to logic HIGH level during reset. In this mode the internal CPU core is inactive and the I/O buses are available via Port 0 and Port 1 to allow the emulator the access to the on-chip peripherals. The emulator contains a special emulation CPU with a MARC4 core and additional breakpoint logic and takes over the core function. The basic function of the emulator is to evaluate the customer's program and hardware in real time. Thus, the analysation of any timing, hardware or software problems the simulation of the application is possible. For more information about emulation see "Emulator Manual". 3.2 Programming the EEPROM Program Memory Programming the 4K 8-bit EEPROM program memory is done using a special PC-controlled programming device. Details on how to use this device and the corresponding software are given in the Programming Device User Manual. To start programming the data memory, the microcontroller is switched to a special I/O mode, where the core and all peripherals are set inactive and the two I/O buses are available via Port 0 (data) and Port 1 (control). Then the customer application data is transfered to the controller via Port 0 in blocks of 64 nibble size. Programming is started automatically after each block. The programming high voltage is generated on chip. After programming the memory, a verify run is started where the just written data is read out and compared bit by bit to the original source file. This ensures that the content of the ROM is error free. 3.3 MARC4 Instruction Set The MARC4 instruction set is optimized for the high level programming language qFORTH. A lot of MARC4 instructions are qFORTH words. This enables the compiler to generate a fast and compact program code. The MARC4 is a zero address machine with a compact and efficient instruction code. Most of the instructions are 30 (51) Rev. A2, 01-Oct-98 M44C260/M48C260 1) Zero address operation (ADD,SUB, INC, OR,...) 2) Immediate data operation Literal (LIT_0, LIT_1, ...) 3) Short ROM address operation (SCALL, SBRA) 4) Long ROM address operation (CALL, BRA) 5) RAM address operation (>SP, >X,...) Opcode 76543210 Opcode 7654 Opcode 76 Opcode 7654 Opcode 76543210 Figure 22. MARC4 opcode formats 4 bit data 3210 94 8708 6 bit address 543210 11 3210 12 bit address 0 76543210 8 bit address 76543210 3.3.1 MARC4 Instruction Set Overview Description 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 Cycles/ Bytes 1/1 1/1 1/1 1/1 1/1 1/1 1/1 2/1 Mnemonic Description 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 Mnemonic Cycles/ Bytes 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 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 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 Rev. A2, 01-Oct-98 AAA A A AAAAAAAAAAAAAAA A A AAA A A AAAAAAAAAAAAAAA A A AAAAAAAAAAAAAAA A A AAAAAAAAAAAAAAA A A AAAAAAAAAAAAAAA A A AAAAAAAAAAAAAAA A A AAAAAAAAAAAAAAA A A AAAAAAAAAAAAAAA A A AAAAAAAAAAAAAAA A A AAAAAAAAAAAAAAA A A AAAAAAAAAAAAAAA A A AAAAAAAAAAAAAAA A A AAA AAAAAAAAAAAAAAA A A A A AAAAAAAAAAAAAAA AAAAAAAAAAAAA A AAAAAAAAAAAAAAA A A AAAAAAAAAAAAAAA A A AAAAAAAAAAAAAAA A A AAAAAAAAAAAAAAA AAAAAAAAAAAAA A AAAAAAAAAAAAAAA A A AAAAAAAAAAAAAAA A A AAAAAAAAAAAAAAA A A AAAAAAAAAAAAAAA A A AAA A A AAAAAAAAAAAAAAA A A AAA AAAAAAAAAAAAAAA A A A A AAAAAAAAAAAAAAA AAAAAAAAAAAAA A AAAAAAAAAAAAAAA A A AAAAAAAAAAAAAAA A A AAAAAAAAAAAAAAA A A AAAAAAAAAAAAAAA A A AAAAAAAAAAAAAAA A A AAAAAAAAAAAAAAA A A AAAAAAAAAAAAAAA A A AAAAAAAAAAAAAAA AAAAAAAAAAAAA A AAAAAAAAAAAAAAA A A AAAAAAAAAAAAAAA A A AAAAAAAAAAAAAAA A A AAA A A AAAAAAAAAAAAAAA A A AAAAAAAAAAAAAAA A A AAAAAAAAAAAAAAA A A AAAAAAAAAAAAAAA A A AAAAAAAAAAAAAAA AAAAAAAAAAAAA A AAAAAAAAAAAAAAA A A AAAAAAAAAAAAAAA AAAAAAAAAAAAA A 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 AAA A A AAAAAAAAAAAAAAA A A AAA A A AAAAAAAAAAAAAAA A A AAAAAAAAAAAAAAA A A AAAAAAAAAAAAAAA A A AAA AAAAAAAAAAAAAAA A A A A AAAAAAAAAAAAAAA AAAAAAAAAAAAA A AAAAAAAAAAAAAAA A A AAAAAAAAAAAAAAA A A AAAAAAAAAAAAAAA A A AAAAAAAAAAAAAAA AAAAAAAAAAAAA A AAAAAAAAAAAAAAA A A AAAAAAAAAAAAAAA A A AAAAAAAAAAAAAAA A A AAAAAAAAAAAAAAA A AA A A AAAAAAAAAAAAAAA A A AAA AAAAAAAAAAAAAAA A A A A AAAAAAAAAAAAAAA AAAAAAAAAAAAA A AAAAAAAAAAAAAAA A A AAAAAAAAAAAAAAA AAAAAAAAAAAAA A AAAAAAAAAAAAAAA A A AAAAAAAAAAAAAAA A AAAAAAAAAAAAAAA AAAAAAAAAAAAAA A A A A AAA A A AAAAAAAAAAAAAAA A AAA AAA A A A A AAAAAAAAAAAAAAA AAAAAAAAAAAAA A AAAAAAAAAAAAAAA A A AAAAAAAAAAAAAAA A A AAAAAAAAAAAAAAA A A AAAAAAAAAAAAAAA A A AAAAAAAAAAAAAAA A A AAAAAAAAAAAAAAA AAAAAAAAAAAAA A AAAAAAAAAAAAAAA A A AAAAAAAAAAAAAAA A A AAAAAAAAAAAAAAA A A AAAAAAAAAAAAAAA AAAAAAAAAAAAA A 31 (51) M44C260/M48C260 Mnemonic Description 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 Cycles/ Bytes 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 Mnemonic Description 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 Cycles/ Bytes 1/1 SWAP OVER DUP ROT DROP >R 2>R 3>R R@ 2R@ 3R@ DROPR LIT_n TABLE (1 nibble) onto TOS ROM data operations: Fetch 8-bit constant from ROM 3 3.3.2 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. 32 (51) AA A AAAAAAAAAAAAAAA A AA A A AAAAAAAAAAAAAAA AAAAAAAAAAAAAAA AAAAAAAAAAAAAAA AAAAAAAAAA A A AA A AAAAAAAAAAAAAAA AAAAA AAAAAAAAAAAAAAA A AAAA A A A A AAAAAAAAAAAAAA AAAAAAAAAAAA AA AAAAAAAAAAAAAAA A A AAAAAAAAAAAAAA AAAAAAAAAAAAAAA A A A A AAAAAAAAAAAAAAA AAAAAAAAAAAAAAA A A AAAAAAAAAAAAAAA A A A A AAAAAAAAAAAAAAA AAAAAAAAAAAAAAA A AA AAAAAAAAAAA A A A A AAAAAAAAAAAAAA AAAAA AAAAAAAAAAAAAAA A AAAA A A AA A AAAAAAAAAAAAAA AAAAAAAAAAAA AA AAAAAAAAAAAAAAA A AAAAAAAAAAAAAA AAAAAAAAAAAAAAA AAAAAAAAAAAAAA A A A A AAAAAAAAAAAAAAA AA A A AAAAAAAAAAA A A A A A AAAAAAAAAAAAAAA AAAAA AAAAAAAAAAAAAAA AAA A A AAAAAAAAAAAAAAA AAAAAAAAAAAAAAA AAAAAAAAAAA AAAAAAAAAAAAAAA [X]@ [Y]@ [+X]@ [+Y]@ [X-]@ [Y-]@ 1/1 1/1 [>X]@ $xx [>Y]@ $xx [X]! 2/2 1/1 1/1 [Y]! [+X]! [+Y]! [X-]! [Y-]! 1/1 [>X]! $xx [>Y]! $xx IN OUT 2/2 1/1 1/1 AAAAAAAAAAA A A AAAAA AA A A AAAAAAAAAAAAAA AAA AAAAAAAAAAAAAAA AAAAAAAAAAAAAA AAAAAAAAAAAAA A A A AAAAAAAAAAAAAAA AA A A AAAAAAAAAAAAAAA AA A AAAAAAAAAAAAAAA AAAAAAAAAA A A A A AAAAAAAAAAAAAAA AAAAA AAAAAAAAAAAAAAA A A AAA A A AA A AAAAAAAAAAAAAAA AAAAAAAAAAAAA A AAAAAAAAAAAAAAA A A AAA AAAAAAAAAAAAAAA AAAAAAAAAAAA A AAA A A A A AAAAAAAAAAAAAAA AAAAAAAAAAAAA AAAAAAAAAAAAAAA A A AAAAAAAAAAAAAAA AA A AAAAAAAAAAAAAAA AAAAAAAAAA A A A A AAAAAAAAAAAAAAA AAAAA AAAAAAAAAAAAAAA AA A A AAAAAAAAAAAAAAA A A AAA A A AAAAAAAAAAAAAAA A AAAAAAAAAAAAAAA A A AAAAAAAAAAAAAAA A A AAAAAAAAAAAAAAA A A AAAAAAAAAAAAAAA AAAAAAAAAAAAA A AAAAAAAAAAAAAAA A A AAAAAAAAAAAAAAA AAAAAAAAAAAAAAA AAAAAAAAAAAAAAA A AAAAAAAAAAAAA A A AAAAAAAAAAAAAAA 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. Rev. A2, 01-Oct-98 M44C260/M48C260 3.4 3.4.1 The qFORTH Language - Quick Reference Guide Arithmetic/Logical EXP ( n1 n2 -- n1-n2 ) EXP ( n1 n2 -- n1+n2 ) EXP ( n1 n2 -- n1+/n+/C ) EXP ( n1 n2 -- n1+n2+C ) EXP ( n -- n+1 ) EXP ( n -- n-1 ) EXP ( n -- n*2 ) EXP ( n -- n DIV 2 ) EXP ( d1 d2 -- d1+d2 ) EXP ( d1 d2 -- d1-d2 ) EXP ( d -- d/2 ) EXP ( d -- d*2 ) EXP ( d1 n -- d2 ) EXP ( d1 n -- d2 ) EXP ( n1 n2 -- n1^n2 ) EXP ( n1 n2 -- n1 v n2 ) EXP ( -- ) EXP ( -- ) EXP ( n -- n*2 ) EXP ( n -- n/2 ) EXP ( n -- -n ) EXP ( d -- -d ) EXP ( n -- /n ) EXP ( n1 n2 -- n3 ) Subtract the top two nibbles Add up the two top 4-bit values 1's compl. subtract with borrow Add with carry top two values Increment the top value by 1 Decrement the top value by 1 Multiply the top value by 2 Divide the 4-bit top value by 2 Add the top two 8-bit values Subtract the top two 8-bit values Divide the top 8-bit value by 2 Multiply the top 8-bit value by 2 Add a 4-bit to an 8-bit value Subtract 4-bit from an 8-bit value Bitwise AND of top two values Bitwise OR the top two values Rotate TOS left through carry Rotate TOS right through carry Shift TOS value left into carry Shift TOS value right into carry 2's complement the TOS value 2's complement top 8-bit value 1's complement of the top value Bitwise Ex-OR the top 2 values + -C +C 1+ 12* 2/ D+ DD2/ D2* M+ MAND OR ROL ROR SHL SHR NEGATE DNEGATE NOT XOR 3.4.2 > < >= <= <> = 0<> 0= D> D< D>= D<= D= D<> D0<> D0= DMAX DMIN MAX MIN Comparisons EXP ( n1 n2 -- ) EXP ( n1 n2 -- ) EXP ( n1 n2 -- ) EXP ( n1 n2 -- ) EXP ( n1 n2 -- ) EXP ( n1 n2 -- ) EXP ( n -- ) EXP ( n -- ) EXP ( d1 d2 -- ) EXP ( d1 d2 -- ) EXP ( d1 d2 -- ) EXP ( d1 d2 -- ) EXP ( d1 d2 -- ) EXP ( d1 d2 -- ) EXP ( d -- ) EXP ( d -- ) EXP ( d1 d2 -- dMax ) EXP ( d1 d2 -- dMin ) EXP ( n1 n2 -- nMax ) EXP ( n1 n2 -- nMin ) If n1>n2, then branch flag set If n1 Rev. A2, 01-Oct-98 33 (51) M44C260/M48C260 3.4.3 AGAIN BEGIN CASE DO ELSE ENDCASE ENDOF EXECUTE EXIT IF LOOP Control Structures EXP ( -- ) EXP ( -- ) EXP ( n -- n ) EXP ( limit start -- ) RET ( -- u|limit|start ) EXP ( -- ) EXP ( n -- ) EXP ( n -- n ) EXP ( ROMAddr -- ) RET ( ROMAddr -- ) EXP ( -- ) EXP ( -- ) EXP ( c n -- ) EXP ( -- ) EXP ( -- ) EXP ( -- ) EXP ( -- ) EXP ( n -- ) RET ( u|limit|I -- u|limit|I+n ) EXP ( n -- ) RET ( -- u|u|n ) EXP ( -- ) RET ( u|u|I--u|u|I-1 ) EXP ( Limit Start -- ) EXP ( -- ) EXP ( -- ) Ends an infinite loop BEGIN .. AGAIN BEGIN of most control structures Begin of CASE .. ENDCASE block Initializes an iterative DO..LOOP Executed when IF condition is false End of CASE..ENDCASE block End of 0 .. Fh, 0 .. 15 ' Stack Operations EXP ( -- n ) EXP ( -- n ) EXP ( -- ROMAddr ) EXP ( n1 n2 n -- n n1 n2) EXP ( n -- ) RET ( -- u|u|n ) EXP ( n -- n n ) EXP ( -- n ) EXP ( n -- ) EXP ( n -- n n ) EXP ( -- I ) RET ( u|u|I -- u|u|I ) EXP ( -- J ) RET ( u|u|J u|u|I -- u|u|J u|u|I ) EXP ( n1 n2 -- n2 ) EXP ( n1 n2 -- n1 n2 n1 ) EXP ( x -- n[x] ) EXP ( -- n ) EXP ( -- n ) RET ( u|u|n -- ) EXP ( -- n ) RET ( u|u|n -- u|u|n ) EXP ( n -- ) Push 4-bit literal on EXP stack Places ROM address of colon-definition NIP OVER PICK RFREE R> R@ ROLL 34 (51) Rev. A2, 01-Oct-98 M44C260/M48C260 ROT SWAP TUCK 2>R 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 ) RET ( n3|n2|n1 -- ) EXP ( -- n1 n2 n3 ) RET ( n3|n2|n1 -- n3|n2|n1 ) 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 2DROP 2DUP 2NIP 2OVER 2 3R@ 3.4.5 Memory Operations 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 -- ) 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 ! @ +! 1+! 1-! 2! 2@ D+! D-! DTABLE@ DTOGGLE ERASE FILL MOVE ROMByte@ TOGGLE 3! 3@ T+! T-! TD+! TD-! Rev. A2, 01-Oct-98 35 (51) M44C260/M48C260 3.4.6 Predefined Structures 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 RET ( -- ) RET ( ROMAddr -- ) EXP ( -- 0 ) EXP ( -- n|d ) EXP ( -- ) EXP ( -- ) EXP ( n -- ) EXP ( n -- ) EXP ( n -- ) EXP ( d -- ) EXP ( d -- ) EXP ( d -- ) EXP (n|d addr--addr') EXP ( -- ) EXP ( -- ) EXP ( -- ) RET ( -- ROMAddr ) EXP ( -- ) 3.4.7 Assembler Mnemonics 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 n1<=n2, then branch flag set If n1 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) M44C260/M48C260 RP! RP@ RTI SLEEP SWI0 SWI7 SP! SP@ SUB SUBB TABLE OUT X@ [X]@ [+X]@ [X-]@ [>X]@ $xx X! [X]! [+X]! [X-]! [>X]! $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 x register contents Indirect x fetch of RAM contents Pre-incr. x indirect RAM fetch Postdecr. x indirect RAM fetch Direct RAM fetch, x addressed Move 8-bit address to x register Indirect x store of RAM contents Pre-incr. x indirect RAM store Postdecr. x indirect RAM store Direct RAM store, x 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 x register immediate Set Y register immediate Notes: RET (-) EXP (-) True condition False condition n d addr ROMaddr Return address stack effects Expression (or data) stack effects Means branch flag set in CCR Means branch flag reset in CCR 4-bit data value 8-bit data value 8-bit RAM address 12-bit ROM address Rev. A2, 01-Oct-98 37 (51) M44C260/M48C260 4 4.1 Electrical Characteristics Absolute Maximum Ratings Symbol VDD VIN tshort Tamb Tstg RthJA Tsld 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 Voltages are given relative to VSS. AAAAAAAAAAAAAAAAAAAAAAAAA AA AAA A A AAAAAAAA AA AAAA A A A A AA AAA A A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAA A AAA A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AA AAA A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAA A A A A AA AAA AA A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAA A AAA AAA A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAA A A A A AA AAA A A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAA A AAA A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAA A A A A AA AAA A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AA AAA A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAA A AA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A AA AAAAA A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A AA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A AA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A AA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A AA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAA AA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A AA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A AA AAAAAAAAAAAAA A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A A AA AA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAA A 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). 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) 4.2 DC Operating Characteristics Test Conditions / Pins Symbol IDD 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) 0.8 (0.8) 0.8 (0.8) Unit mA mA mA mA mA mA mA mA A A A A Supply voltage VDD = 2.4 to 6.2 V, VSS = 0 V, Tamb = -40 to +85C, unless otherwise specified. Parameters Power supply Active current (CPU active) VDD = 2.4 V fSYSCL=1MHz 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 Power down current (CPU sleep, RC oscillator active) Sleep current (CPU sleep, RC oscillator inactive) Sleep current (CPU sleep, RC oscillator inactive) IPD VDD = 2.4 V VDD = 6.2 V VDD = 2.4 V VDD = 6.2 V Tamb = 25C ISleep ISleep 38 (51) Rev. A2, 01-Oct-98 AAAA A A A A A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A AAAA AA AAA AA A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAA AA A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAA AA A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAA AA A AAAA A A A A A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAA A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAA AA AA AA A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAA AA AA A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA Rev. A2, 01-Oct-98 Supply voltage VDD = 2.4 to 6.2 V, VSS = 0 V, Tamb = 25C, unless otherwise specified AAAAAAAAAAAAAAAAAAAAAAAAA AAA AA A A AAAAAAAA AA AAAA A A A A AAA AA AA A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAA AA AA A AA A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAA AA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAA AA AAA AA A A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAA AA AAA AA AA AA A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAA AA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAA AA AAA AA A A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAA AA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAA AA AAA AA A A A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAA AAA AAAAAAAA AAAAAAA AAA AA A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAA AA AAAAAAAAAAAAAAAAAAAAAAAAA A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAA AA A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAA AA AAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAA AA A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAA A A A A AAA AA AAA AA A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A AAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAA AA A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAA A A A A AAA AA A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAA AA A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAA AA AA A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAA AA A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA Supply voltage VDD = 2.4 to 6.2 V, VSS = 0 V, Tamb = 25C, 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 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 AC Characteristics Symbol tIRL tIRH fTI tTIL tTIH M44C260/M48C260 Min. 50 50 50 50 Typ. 0.2*VDD VDD 0.3*VDD SYSCL Max. Max. -13 -103 VDD 34 -4.4 17 -2.2 2.25 -24 -12 12 100 5.6 2.8 39 (51) Unit Unit mA mA mA mA mA mA mA mA A A A A ns ns - ns ns V V V V V AA A A A A A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A AAA AAA A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AA AAA A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AA AAA A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAA AAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AA A A A A AA AAA AA AAA A A A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAA A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AA AAA AA AAA A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAA A A A A AA AAA A AAAA A A A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAA A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AA AAA A AAA A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AA AAA A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAA A AAA A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAA AAA AAA AA AAA A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AA AAA A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AA AAA A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAA A A A A AA AAA AA AAA A A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAA A A A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAA A AAA A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAA A A A A A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AA AAA A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AA AAA A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A AAA AAA AA A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAA A A A AA AAA A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AA AAA A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAA AAA A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAA AA A A A A A AA AAA A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AA AAA AA AAA A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAA A AA A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AA AAA AAAA A A A A AA A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AA AAA A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AA AAA A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAA A AAAAAAA AAAAAAAAAAAAAAAAAAAAAA AA AAA AA A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAA AAAAAAAAAAAAAAAAAAAAAA AAA A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA Note 1: With connected crystal (pin 5, 6) and after start up time of crystal oscillator. Note 3: This parameter is tested initially and after a design or process change that effects the parameter. Note 2: Dependent on the connected quartz crystal. M44C260/M48C260 40 (51) External 32 kHz crystal parameters Crystal frequency Series resistance Static capacitance Dynamic capacitance 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 Parameters TCL clock TCL input clock TCL input LOW time TCL input HIGH time TCL rise time Test Conditions / Pins Symbol tSYSCL fTCL tTCLL tTCLH tTCLR COUT tTCLF TPOR TPOR tEEW nW TDR fRC1 f/f tS fX tSQ f/f CIN nW fX RS C0 C1 4*SYSCL 5*105 Min. -10 100 10 32.768 30 1.5 3 32.768 1000 2000 1000 1000 500 1000 Typ. 100 16 106 10 2 0.250AAAAA 0.250AAAAA 10 Max. Rev. A2, 01-Oct-98 500 50 1 10 10 ms - years MHz s s kHz s ppm kHz ppm s Unit kHz k pF fF pF s s ns ns ns - M44C260/M48C260 Crystal Brown-out voltage 2.6 2.4 OSCIN OSCOUT VBO ( V ) 2.2 2.0 1.8 1.6 1.4 1.2 1 -40 C0 94 8991 VBOmax Equivalentcircuit: C1 L RS VBOmin -20 0 20 40 60 80 100 Tamb ( C ) Figure 23. Equivalent crystal circuit 12 10 8 6 4 2 0 2 94 8998 Figure 24. Brown-out voltage vs. ambient temperature 0 VOL = 0.2@VDD Tamb = 25C IOH ( mA ) -1 -2 VOH = 0.8@VDD Tamb = 25C IOL ( mA ) -3 -4 -5 -6 -7 -8 2.5 3.0 3.5 4.0 4.5 5.0 5.5 6.0 6.5 VDD ( V ) 94 8999 2 2.5 3.0 3.5 4.0 4.5 5.0 5.5 6.0 6.5 VDD ( V ) Figure 25. Output LOW current vs. supply voltage 150 140 130 I OL /I OL25 ( % ) 120 110 100 90 80 70 60 -40 -20 94 9000 Figure 27. Output HIGH current vs. supply voltage 140 130 120 IOH /I OH25 ( % ) 110 100 90 80 70 60 -40 -20 94 9001 0 20 40 60 80 100 120 0 20 40 60 80 100 120 Tamb ( C ) Tamb ( C ) Figure 26. Output LOW current standardized to 25C vs. temp. Figure 28. Output HIGH current standardized to 25C vs temp. Rev. A2, 01-Oct-98 41 (51) M44C260/M48C260 0 -1 IOH ( mA ) -2 -3 -4 -5 0 94 8992 6 max. min. 5 4 3 2 min. max. VDD = 2.4 V Tamb = 25C 0.5 1.0 1.5 2.0 2.5 94 8995 typ. IOL ( mA ) typ. 1 0 0 0.5 1.0 1.5 VDD = 2.4 V Tamb = 25C 2.0 2.5 VOH ( V ) VOL ( V ) Figure 29. Output HIGH current vs. output HIGH voltage 0 -2 -4 -6 -8 -10 -12 0 94 8993 Figure 32. Output LOW current vs. output LOW voltage 14 max. 12 min. 10 IOL ( mA ) typ. 8 6 4 max. VDD = 3.6 V Tamb = 25C 1 2 VOH ( V ) 3 4 94 8996 IOH ( mA ) typ. min. 2 0 0 1 2 VOL ( V ) VDD = 3.6 V Tamb = 25C 3 4 Figure 30. Output HIGH current vs. output HIGH voltage 0 -5 min. IOH ( mA ) -10 -15 -20 -25 max. -30 0 94 8994 Figure 33. Output LOW current vs. output LOW voltage 35 30 25 IOL ( mA ) typ. 20 15 min. 10 VDD = 6.2 V Tamb = 25C 0 94 8997 max. typ. VDD = 6.2 V Tamb = 25C 1 2 3 4 5 6 5 0 1 2 3 4 5 6 VOH ( V ) VOL ( V ) Figure 31. Output HIGH current vs. output HIGH voltage Figure 34. Output LOW current vs. output LOW voltage 42 (51) Rev. A2, 01-Oct-98 M44C260/M48C260 0 -2 -4 IIL (m A ) -6 -8 -10 -12 max. -14 0 94 9002 14 12 min. IIH (m A ) 10 8 typ. 6 4 VDD = 2.4 V Tamb = 25C 0.5 1.0 1.5 2.0 2.5 94 9005 VDD = 2.4 V Tamb = 25C max. typ. min. 2 0 0 0.5 1.0 1.5 2.0 2.5 VIL ( V ) VIH ( V ) Figure 35. Input LOW current vs. input LOW voltage 0 -5 -10 min. Figure 38. Input HIGH current vs. input HIGH voltage 35 30 25 VDD = 3.6 V Tamb = 25C max. IIL (m A ) IIH (m A ) -15 -20 -25 -30 -35 -40 0 typ. 20 15 10 typ. max. VDD = 3.6 V Tamb = 25C 1.0 1.5 2.0 2.5 3.0 3.5 4.0 94 9006 5 0 0 0.5 1.0 1.5 2.0 2.5 min. 0.5 3.0 3.5 4.0 94 9003 VIL ( V ) VIH ( V ) Figure 36. Input LOW current vs. input LOW voltage Figure 39. Input HIGH current vs. input HIGH voltage 120 0 -20 -40 IIL (m A ) typ. -60 -80 -100 -120 0 94 9004 min. 100 80 IIH (m A ) 60 VDD = 6.2 V Tamb = 25C max. typ. 40 max. VDD = 6.2 V Tamb = 25C 1 2 3 4 5 6 94 9007 20 0 0 1 2 3 4 5 min. 6 VIL ( V ) VIH ( V ) Figure 37. Input LOW current vs. input LOW voltage Figure 40. Input HIGH current vs. input HIGH voltage Rev. A2, 01-Oct-98 43 (51) M44C260/M48C260 0 -10 -20 IIL (m A ) -30 -40 -50 -60 -70 2 94 9008 70 VIL = VSS Tamb = 25C IIH (m A ) 60 50 40 30 20 10 0 2.5 3.0 3.5 4.0 4.5 5.0 5.5 6.0 6.5 VDD ( V ) 94 9009 VIH = VDD Tamb = 25C 2 2.5 3.0 3.5 4.0 4.5 5.0 5.5 6.0 6.5 VDD ( V ) Figure 41. Input LOW current vs. supply voltage 140 130 120 IIL /I IL25 ( % ) IIH /I IH25 ( % ) 0 20 40 60 80 100 120 110 100 90 80 70 60 -40 -20 94 9010 Figure 43. Input HIGH current vs. supply voltage 150 140 130 120 110 100 90 80 70 60 -40 -20 94 9011 0 20 40 60 80 100 120 Tamb ( C ) Tamb ( C ) Figure 42. Input LOW current standardized to 25C vs. temperature Figure 44. Input HIGH current standardized to 25C vs. temperature 44 (51) Rev. A2, 01-Oct-98 M44C260/M48C260 4.4 Note: Schmitt-Trigger Inputs The values for switch levels are standardized to supply voltage. The following figures show the Schmitt-trigger input specs used at timer inputs TA, TB and interrupt inputs. VT+ = (VIn /VDD ) x 100 ( % ) 70 60 50 40 30 20 10 0 2 max. typ. min. V H= ((V T+ - VT -)/V ) x 100 ( % ) DD 80 30 25 20 15 10 Tamb = 25 C 5 0 Tamb = 25 C 2.5 3.0 3.5 4.0 4.5 5.0 5.5 6.0 6.5 VDD ( V ) 94 9014 2 2.5 3.0 3.5 4.0 4.5 5.0 5.5 6.0 6.5 Tamb ( C ) 94 9013 Figure 45. Schmitt-trigger positive going threshold voltage 80 Figure 47. Schmitt-trigger hysteresis vs. supply voltage 140 VThres = (V /V ) x 100 ( % ) T T25 130 120 110 100 90 80 70 60 -40 -20 94 9015 VT - = (VIn /V ) x 100 ( % ) DD 70 60 50 40 30 min. 20 10 0 2 2.5 3.0 3.5 4.0 4.5 5.0 5.5 6.0 6.5 VDD ( V ) max. typ. Tamb = 25 C 0 20 40 60 80 100 120 94 9012 Tamb ( C ) Figure 46. Schmitt-trigger negative going threshold voltage Figure 48. Threshold temperature drift Note: 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) AAAAA A A AA A A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A A AA A A A AAAAA AAAAA A A A AA A A A A AA A A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAA A AA A A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A A AA A A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A A AA A A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A A AA A A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A A AA A A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A A AA A A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A A AA A A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A A AA A A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A A AA A A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A A AA A A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A A AA A A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A A AA A A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A A AA A A A AAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A A A AA A A A A AA A A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAA A AA A A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A A AA A A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A A AA A A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A A AA A A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A A AA A A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A A AA A A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAA A AA A A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAA A AA A A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A A AA A A A Table 8. Pad coordinates 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. 5 Pad size: Die size: Thickness: M44C260/M48C260 46 (51) Number 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Pad Layout 90 m * 90 m 3.46 mm x 4.19 mm 380 + 25 m Name BP22 BP23 BP10 BP11 BP12 BP13 IP43 IP42 IP41 IP40 TCL VSS dig. VSS ana. BP30 BP31 VDD ana. VDD dig. XTALO XTALI NRST BP20 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 BP21 TE BP22 0,0 NWP BP23 BP03 BP10 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 M44C260 Figure 49. Pad layout BP02 BP11 BP12 BP01 BP00 BP33 Number 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 BP13 IP43 Name BP32 BP33 BP00 BP01 BP02 BP03 NWP TE XTALI XTALO VDD dig. VDD ana. NRST BP20 BP21 VSS ana. VSS dig. TCL BP30 BP32 IP41 IP40 BP31 IP42 95 10245 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 Rev. A2, 01-Oct-98 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 AAAAA A AA A A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AA AA A A A AAAAA A A AA A A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AA AA A A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AA AA A A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AA AA A A A AAAAA A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AA AA AA A A A AA A A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAA AA A A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AA AA A A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AA AA A A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AA AA A A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AA AA A A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AA AA A A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AA AA A A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AA AA A A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AA AA A A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AA AA A A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AA AA A A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AA AA A A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AA AA A A A AAAAA A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AA AA AA A A A AA A A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAA AA A A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AA A AA A A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAA AA A A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AA A AA A A A AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAA A AA A A A Table 9. Pad coordinates Rev. A2, 01-Oct-98 Pad size: Die size: Thickness: Number 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 90 m * 90 m 4.00 mm x 8.55 mm 380 + 25 m Name BP22 BP23 BP10 BP11 BP12 BP13 IP43 IP42 IP41 IP40 TCL VSS dig. VSS ana. BP30 BP31 VDD dig. VDD ana. XTALO XTALI 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. 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 NRST BP20 BP21 NWP BP03 BP11 BP10 BP23 BP22 TE 0,0 BP02 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 Figure 50. Pad layout M48C260 Number 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 M44C260/M48C260 BP01 Name BP32 BP33 BP00 BP01 BP02 BP03 NWP TE XTALI XTALO VDD dig. VDD ana. NRST BP20 BP21 BP00 BP13 IP43 TCL BP33 VSS ana. VSS dig. BP12 IP42 BP30 BP31 BP32 IP41 IP40 95 1xxxx 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 47 (51) M44C260/M48C260 6 Package Information 12.9 12.7 9.25 8.75 7.5 7.3 Package SSO28 Dimensions in mm 2.35 0.30 0.80 0.25 0.25 0.10 10.4 10.50 10.20 12 technical drawings according to DIN specifications 95 11494 Package SSO20 Dimensions in mm 7.33 7.07 6.39 6.00 5.38 5.20 1.78 1.68 0.38 0.25 0.21 0.05 5.85 0.20 0.09 7.90 7.65 0.65 technical drawings according to DIN specifications 95 11495 48 (51) Rev. A2, 01-Oct-98 M44C260/M48C260 7 Standard Design of M48C260 The mC above is a standard design, as given below (J is realised). In case the customer wants another configuration, 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 CMOS Pull-up Pull-down CMOS Pull-up Pull-down CMOS Pull-up Pull-down CMOS Pull-up Pull-down CMOS Pull-up Pull-down 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 BP23 BP30 BP31 BP32 BP33 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 Rev. A2, 01-Oct-98 49 (51) M44C260/M48C260 8 BP00 Ordering Information for M44C260 Please insert ROM CRC and select the option setting from the list below. BP01 BP02 BP03 BP10 BP11 BP12 BP13 BP20 BP21 BP22 J J J J J J J J - CMOS Pull-up Pull-down CMOS Pull-up Pull-down CMOS Pull-up Pull-down CMOS Pull-up Pull-down CMOS Pull-up Pull-down CMOS Pull-up Pull-down CMOS Pull-up Pull-down 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 _________.HEX BP23 BP30 BP31 BP32 BP33 IP40-INT6 IP41-TA IP42-TB IP43 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 File - CRC: _________h Type: Normal / Short Size: _________ KByte Approval Date: ___.___.___ Signature: _______________ 50 (51) 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) |
Price & Availability of M44C260
![]() |
|
|
All Rights Reserved © IC-ON-LINE 2003 - 2022 |
[Add Bookmark] [Contact Us] [Link exchange] [Privacy policy] |
Mirror Sites : [www.datasheet.hk]
[www.maxim4u.com] [www.ic-on-line.cn]
[www.ic-on-line.com] [www.ic-on-line.net]
[www.alldatasheet.com.cn]
[www.gdcy.com]
[www.gdcy.net] |