MF1454-01 CMOS 32-BIT SINGLE CHIP MICROCOMPUTER S1C33T01 Technical Manual S1C33T01 PRODUCT PART S1C33T01 FUNCTION PART NOTICE No part of this material may be reproduced or duplicated in any form or by any means without the written permission of Seiko Epson. Seiko Epson reserves the right to make changes to this material without notice. Seiko Epson does not assume any liability of any kind arising out of any inaccuracies contained in this material or due to its application or use in any product or circuit and, further, there is no representation that this material is applicable to products requiring high level reliability, such as medical products. Moreover, no license to any intellectual property rights is granted by implication or otherwise, and there is no representation or warranty that anything made in accordance with this material will be free from any patent or copyright infringement of a third party. This material or portions thereof may contain technology or the subject relating to strategic products under the control of the Foreign Exchange and Foreign Trade Law of Japan and may require an export license from the Ministry of International Trade and Industry or other approval from another government agency. 2001, All rights reserved. S1C33T01 Technical Manual This manual describes the hardware specifications of the Seiko Epson original 32-bit microcomputers S1C33T01. S1C33T01 PRODUCT PART Describes the hardware specifications of the S1C33T01 except for details of the peripheral circuits. S1C33T01 FUNCTION PART Describes details of all the peripheral circuit blocks for the S1C33 Family microcomputers. Refer to the "S1C33000 Core CPU Manual" for details of the S1C33000 32-bit RISC CPU . New configuration of product number Starting April 1, 2001, the product number has been changed as listed below. Please use the new product number when you place an order. For further information, please contact Epson sales representative. Devices S1 C 33104 F 0A01 00 Packing specification Specification Package (D: die form; F: QFP) Model number Model name (C: microcomputer, digital products) Product classification (S1: semiconductor) Development tools S5U1 C 33L01 D1 1 00 Packing specification Version (1: Version 1) Tool type (D1: Development Tool) Corresponding model number (33L01: for S1C33L01) Tool classification (C: microcomputer use) Product classification (S5U1: development tool for semiconductor products) TABLE OF CONTENTS S1C33T01 PRODUCT PART Table of Contents 1 Outline....................................................................................................................... A-1 1.1 Features .................................................................................................................................................................A-1 1.2 Block Diagram......................................................................................................................................................A-3 1.3 Pin Description.....................................................................................................................................................A-4 1.3.1 Pin Layout Diagram (plastic package)......................................................................................A-4 1.3.2 Pin Functions .....................................................................................................................................A-6 2 Power Supply.......................................................................................................... A-13 2.1 Power Supply Pins ...........................................................................................................................................A-13 2.2 Operating Voltage (VDD).................................................................................................................................A-13 2.3 Bus Power Supply (BVDDE)...........................................................................................................................A-13 2.4 Power Supply for I/O Interface (VDDE)......................................................................................................A-14 2.5 Power Supply for Analog Circuits (AVDDE).............................................................................................A-14 3 Internal Memory ...................................................................................................... A-15 3.1 RAM .......................................................................................................................................................................A-15 3.2 ROM and Boot Address..................................................................................................................................A-15 4 Peripheral Circuits .................................................................................................. A-16 4.1 List of Peripheral Circuits...............................................................................................................................A-16 4.2 I/O Memory Map ...............................................................................................................................................A-17 5 Power-Down Control ............................................................................................... A-74 6 Basic External Wiring Diagram................................................................................ A-77 7 Precautions On Mounting ....................................................................................... A-78 8 Electrical Characteristics ........................................................................................ A-80 8.1 Absolute Maximum Rating.............................................................................................................................A-80 8.2 Recommended Operating Conditions.......................................................................................................A-81 8.3 DC Characteristics............................................................................................................................................A-82 8.4 Current Consumption.......................................................................................................................................A-84 8.5 A/D Converter Characteristics......................................................................................................................A-85 8.6 AC Characteristics............................................................................................................................................A-87 8.6.1 Symbol Description........................................................................................................................A-87 8.6.2 AC Characteristics Measurement Condition ........................................................................A-87 8.6.3 AC Characteristic Tables .............................................................................................................A-88 8.6.4 AC Characteristic Timing Charts...............................................................................................A-95 8.7 Oscillation Characteristics...........................................................................................................................A-102 8.8 PLL Characteristics.......................................................................................................................................A-104 9 Package ................................................................................................................ A-105 9.1 Plastic Package ..............................................................................................................................................A-105 10 Pad Layout .......................................................................................................... A-106 10.1 Pad Layout Diagram ..................................................................................................................................A-106 10.2 Pad Coordinate ............................................................................................................................................A-107 EPSON i TABLE OF CONTENTS Appendix A External Device Interface Timings.................................A-109 A.1 DRAM (70ns)........................................................................................................................................A-110 A.2 DRAM (60ns)........................................................................................................................................A-113 A.3 ROM and Burst ROM........................................................................................................................A-117 A.4 SRAM (55ns)........................................................................................................................................A-119 A.5 SRAM (70ns)........................................................................................................................................A-121 A.6 8255A......................................................................................................................................................A-123 Appendix B Pin Characteristics.............................................................................A-124 ii EPSON TABLE OF CONTENTS S1C33T01 FUNCTION PART Table of Contents I OUTLINE I-1 INTRODUCTION ................................................................................................. B-I-1-1 I-2 BLOCK DIAGRAM .............................................................................................. B-I-2-1 I-3 LIST OF PINS...................................................................................................... B-I-3-1 List of External I/O Pins.....................................................................................................................................B-I-3-1 II CORE BLOCK II-1 INTRODUCTION ............................................................................................... B-II-1-1 II-2 CPU AND OPERATING MODE .......................................................................... B-II-2-1 CPU .........................................................................................................................................................................B-II-2-1 Standby Mode .....................................................................................................................................................B-II-2-2 HALT Mode............................................................................................................................................B-II-2-2 SLEEP Mode.........................................................................................................................................B-II-2-2 Notes on Standby Mode ...................................................................................................................B-II-2-3 Test Mode .............................................................................................................................................................B-II-2-3 Debug Mode.........................................................................................................................................................B-II-2-3 Trap Table.............................................................................................................................................................B-II-2-4 II-3 INITIAL RESET ................................................................................................. B-II-3-1 Pins for Initial Reset...........................................................................................................................................B-II-3-1 Cold Start and Hot Start ..................................................................................................................................B-II-3-1 Power-on Reset ..................................................................................................................................................B-II-3-2 Reset Pulse ..........................................................................................................................................................B-II-3-2 Boot Address........................................................................................................................................................B-II-3-3 Notes Related to Initial Reset ........................................................................................................................B-II-3-3 II-4 BCU (BUS CONTROL UNIT).............................................................................. B-II-4-1 Pin Assignment for External System Interface .......................................................................................B-II-4-1 I/O Pin List .............................................................................................................................................B-II-4-1 Combination of System Bus Control Signals ............................................................................B-II-4-3 Memory Area........................................................................................................................................................B-II-4-4 Memory Map..........................................................................................................................................B-II-4-4 External Memory Map and Chip Enable .....................................................................................B-II-4-5 Using Internal Memory on External Memory Area..................................................................B-II-4-7 Exclusive Signals for Areas .............................................................................................................B-II-4-7 Area 10 ....................................................................................................................................................B-II-4-8 Area 3.......................................................................................................................................................B-II-4-9 System Configuration in Emulation Mode................................................................................B-II-4-10 Setting External Bus Conditions.................................................................................................................B-II-4-11 Setting Device Type and Size ......................................................................................................B-II-4-11 Setting SRAM Timing Conditions.................................................................................................B-II-4-12 Setting Timing Conditions of Burst ROM ..................................................................................B-II-4-13 EPSON iii TABLE OF CONTENTS Bus Operation....................................................................................................................................................B-II-4-14 Data Arrangement in Memory.......................................................................................................B-II-4-14 Bus Operation of External Memory.............................................................................................B-II-4-14 Bus Clock.............................................................................................................................................................B-II-4-18 Bus Speed Mode ...............................................................................................................................B-II-4-19 Bus Clock Output ...............................................................................................................................B-II-4-19 Bus Cycles in External System Interface ................................................................................................B-II-4-20 SRAM Read Cycles...........................................................................................................................B-II-4-20 SRAM Write Cycles ...........................................................................................................................B-II-4-22 Burst ROM Read Cycles .................................................................................................................B-II-4-24 DRAM Direct Interface....................................................................................................................................B-II-4-25 Outline of DRAM Interface..............................................................................................................B-II-4-25 DRAM Setting Conditions...............................................................................................................B-II-4-26 DRAM Read/Write Cycles...............................................................................................................B-II-4-29 DRAM Refresh Cycles .....................................................................................................................B-II-4-32 Releasing External Bus .................................................................................................................................B-II-4-33 Power-down Control by External Device ................................................................................................B-II-4-34 I/O Memory of BCU .........................................................................................................................................B-II-4-35 II-5 ITC (Interrupt Controller)...................................................................................B-II-5-1 Outline of Interrupt Functions.........................................................................................................................B-II-5-1 Maskable Interrupts.............................................................................................................................B-II-5-1 Interrupt Factors and Intelligent DMA...........................................................................................B-II-5-4 Nonmaskable Interrupt (NMI)..........................................................................................................B-II-5-4 Interrupt Processing by the CPU....................................................................................................B-II-5-4 Clearing Standby Mode by Interrupts...........................................................................................B-II-5-4 Trap Table.............................................................................................................................................................B-II-5-5 Control of Maskable Interrupts ......................................................................................................................B-II-5-6 Structure of the Interrupt Controller...............................................................................................B-II-5-6 Processor Status Register (PSR)...................................................................................................B-II-5-6 Interrupt Factor Flag and Interrupt Enable Register...............................................................B-II-5-7 Interrupt Priority Register and Interrupt Levels .........................................................................B-II-5-9 IDMA Invocation................................................................................................................................................B-II-5-10 HSDMA Invocation...........................................................................................................................................B-II-5-12 I/O Memory of Interrupt Controller .............................................................................................................B-II-5-13 Programming Notes.........................................................................................................................................B-II-5-25 II-6 CLG (Clock Generator)......................................................................................B-II-6-1 Configuration of Clock Generator.................................................................................................................B-II-6-1 I/O Pins of Clock Generator ...........................................................................................................................B-II-6-2 High-Speed (OSC3) Oscillation Circuit.......................................................................................................B-II-6-2 PLL...........................................................................................................................................................................B-II-6-3 Controlling Oscillation.......................................................................................................................................B-II-6-3 Setting and Switching Over the CPU Operating Clock.........................................................................B-II-6-4 Power-Control Register Protection Flag....................................................................................................B-II-6-5 Operation in Standby Mode ...........................................................................................................................B-II-6-5 I/O Memory of Clock Generator....................................................................................................................B-II-6-6 Programming Notes...........................................................................................................................................B-II-6-9 iv EPSON TABLE OF CONTENTS II-7 DBG (Debug Unit)............................................................................................. B-II-7-1 Debug Circuit........................................................................................................................................................B-II-7-1 I/O Pins of Debug Circuit.................................................................................................................................B-II-7-1 III PERIPHERAL BLOCK III-1 INTRODUCTION ............................................................................................. B-III-1-1 III-2 PRESCALER .................................................................................................. B-III-2-1 Configuration of Prescaler..............................................................................................................................B-III-2-1 Source Clock.......................................................................................................................................................B-III-2-1 Selecting Division Ratio and Output Control for Prescaler ...............................................................B-III-2-2 Source Clock Output to 8-Bit Programmable Timer .............................................................................B-III-2-3 I/O Memory of Prescaler.................................................................................................................................B-III-2-3 Programming Notes..........................................................................................................................................B-III-2-9 III-3 8-BIT PROGRAMMABLE TIMERS................................................................... B-III-3-1 Configuration of 8-Bit Programmable Timer ............................................................................................B-III-3-1 Output Pins of 8-Bit Programmable Timers.............................................................................................B-III-3-1 Uses of 8-Bit Programmable Timers...........................................................................................................B-III-3-2 Control and Operation of 8-Bit Programmable Timer..........................................................................B-III-3-4 Control of Clock Output...................................................................................................................................B-III-3-7 8-Bit Programmable Timer Interrupts and DMA.....................................................................................B-III-3-8 I/O Memory of 8-Bit Programmable Timers...........................................................................................B-III-3-10 Programming Notes........................................................................................................................................B-III-3-18 III-4 16-BIT PROGRAMMABLE TIMERS ................................................................. B-III-4-1 Configuration of 16-Bit Programmable Timer .........................................................................................B-III-4-1 I/O Pins of 16-Bit Programmable Timers..................................................................................................B-III-4-2 Uses of 16-Bit Programmable Timers........................................................................................................B-III-4-3 Control and Operation of 16-Bit Programmable Timer........................................................................B-III-4-4 Controlling Clock Output.................................................................................................................................B-III-4-7 16-Bit Programmable Timer Interrupts and DMA ................................................................................B-III-4-10 I/O Memory of 16-Bit Programmable Timers.........................................................................................B-III-4-13 Programming Notes........................................................................................................................................B-III-4-34 III-5 WATCHDOG TIMER........................................................................................ B-III-5-1 Configuration of Watchdog Timer................................................................................................................B-III-5-1 Control of Watchdog Timer............................................................................................................................B-III-5-1 Operation in Standby Modes ........................................................................................................................B-III-5-2 I/O Memory of Watchdog Timer...................................................................................................................B-III-5-3 Programming Notes..........................................................................................................................................B-III-5-3 III-6 LOW-SPEED (OSC1) OSCILLATION CIRCUIT ................................................ B-III-6-1 Configuration of Low-Speed (OSC1) Oscillation Circuit......................................................................B-III-6-1 I/O Pins of Low-Speed (OSC1) Oscillation Circuit................................................................................B-III-6-1 EPSON v TABLE OF CONTENTS Oscillator Types .................................................................................................................................................B-III-6-2 Controlling Oscillation......................................................................................................................................B-III-6-3 Switching Over the CPU Operating Clock................................................................................................B-III-6-3 Power-Control Register Protection Flag ...................................................................................................B-III-6-3 Operation in Standby Mode ..........................................................................................................................B-III-6-4 OSC1 Clock Output to External Devices..................................................................................................B-III-6-4 I/O Memory of Clock Generator...................................................................................................................B-III-6-5 Programming Notes..........................................................................................................................................B-III-6-8 III-7 CLOCK TIMER.................................................................................................B-III-7-1 Configuration of Clock Timer.........................................................................................................................B-III-7-1 Control and Operation of the Clock Timer ...............................................................................................B-III-7-2 Interrupt Function ..............................................................................................................................................B-III-7-4 Examples of Use of Clock Timer .................................................................................................................B-III-7-6 I/O Memory of Clock Timer............................................................................................................................B-III-7-7 Programming Notes........................................................................................................................................B-III-7-12 III-8 SERIAL INTERFACE........................................................................................B-III-8-1 Configuration of Serial Interfaces ................................................................................................................B-III-8-1 Features of Serial Interfaces...........................................................................................................B-III-8-1 I/O Pins of Serial Interface .............................................................................................................................B-III-8-2 Setting Transfer Mode ......................................................................................................................B-III-8-3 Clock-Synchronized Interface.......................................................................................................................B-III-8-4 Outline of Clock-Synchronized Interface....................................................................................B-III-8-4 Setting Clock-Synchronized Interface.........................................................................................B-III-8-5 Control and Operation of Clock-Synchronized Transfer......................................................B-III-8-7 Asynchronous Interface ................................................................................................................................B-III-8-12 Outline of Asynchronous Interface .............................................................................................B-III-8-12 Setting Asynchronous Interface ..................................................................................................B-III-8-13 Control and Operation of Asynchronous Transfer................................................................B-III-8-17 IrDA Interface ....................................................................................................................................................B-III-8-21 Outline of IrDA Interface .................................................................................................................B-III-8-21 Setting IrDA Interface ......................................................................................................................B-III-8-21 Control and Operation of IrDA Interface...................................................................................B-III-8-23 Serial Interface Interrupts and DMA.........................................................................................................B-III-8-24 I/O Memory of Serial Interface....................................................................................................................B-III-8-27 Programming Notes........................................................................................................................................B-III-8-40 III-9 SINGLE MASTER I2C-BUS ..............................................................................B-III-9-1 Configuration of Single-Master I 2C-BUS...................................................................................................B-III-9-1 Features of the Single-Master I 2C-BUS......................................................................................B-III-9-1 Single-Master I 2C-BUS Input and Output Pins ......................................................................................B-III-9-2 Single-Master I 2C-BUS Settings ..................................................................................................................B-III-9-4 I 2C-BUS Control and Operation...................................................................................................................B-III-9-5 Single-Master I 2C-BUS Interrupts and DMA ...........................................................................................B-III-9-7 Single-Master I 2C-BUS I/O Memory.........................................................................................................B-III-9-10 Programming Note ..........................................................................................................................................B-III-9-25 Noise Filter Overview.......................................................................................................................B-III-9-25 vi EPSON TABLE OF CONTENTS III-10 INPUT/OUTPUT PORTS...............................................................................B-III-10-1 Input Ports (K Ports).......................................................................................................................................B-III-10-1 Structure of Input Port.....................................................................................................................B-III-10-1 Input-Port Pins ...................................................................................................................................B-III-10-1 Notes on Use......................................................................................................................................B-III-10-2 I/O Memory of Input Ports .............................................................................................................B-III-10-3 I/O Ports (P Ports)...........................................................................................................................................B-III-10-4 Structure of I/O Port.........................................................................................................................B-III-10-4 I/O Port Pins .......................................................................................................................................B-III-10-4 I/O Control Register and I/O Modes..........................................................................................B-III-10-6 I/O Memory of I/O Ports .................................................................................................................B-III-10-7 Input Interrupt ................................................................................................................................................B-III-10-12 Port Input Interrupt ........................................................................................................................B-III-10-12 Key Input Interrupt.........................................................................................................................B-III-10-14 Control Registers of the Interrupt Controller........................................................................B-III-10-16 I/O Memory for Input Interrupts ................................................................................................B-III-10-19 Programming Notes.....................................................................................................................................B-III-10-27 IV ANALOG BLOCK IV-1 INTRODUCTION ............................................................................................. B-IV-1-1 IV-2 A/D CONVERTER ........................................................................................... B-IV-2-1 Features and Structure of A/D Converter ................................................................................................B-IV-2-1 I/O Pins of A/D Converter ..............................................................................................................................B-IV-2-2 Setting A/D Converter .....................................................................................................................................B-IV-2-3 Control and Operation of A/D Conversion...............................................................................................B-IV-2-5 A/D Converter Interrupt and DMA...............................................................................................................B-IV-2-7 I/O Memory of A/D Converter.......................................................................................................................B-IV-2-9 Programming Notes.......................................................................................................................................B-IV-2-15 V DMA BLOCK V-1 INTRODUCTION ............................................................................................... B-V-1-1 V-2 HSDMA (HIGH-SPEED DMA) ............................................................................ B-V-2-1 Functional Outline of HSDMA........................................................................................................................B-V-2-1 I/O Pins of HSDMA............................................................................................................................................B-V-2-2 Programming Control Information ................................................................................................................B-V-2-3 Setting the Registers in Dual-Address Mode............................................................................B-V-2-3 Setting the Registers in Single-Address Mode ........................................................................B-V-2-6 Enabling/Disabling DMA Transfer.................................................................................................................B-V-2-7 Trigger Factor.......................................................................................................................................................B-V-2-8 Operation of HSDMA.........................................................................................................................................B-V-2-9 Operation in Dual-Address Mode ..................................................................................................B-V-2-9 Operation in Single-Address Mode............................................................................................B-V-2-12 Timing Chart........................................................................................................................................B-V-2-13 Interrupt Function of HSDMA......................................................................................................................B-V-2-15 EPSON vii TABLE OF CONTENTS I/O Memory of HSDMA..................................................................................................................................B-V-2-17 Programming Notes........................................................................................................................................B-V-2-36 V-3 IDMA (Intelligent DMA)..................................................................................... B-V-3-1 Functional Outline of IDMA.............................................................................................................................B-V-3-1 Programming Control Information ................................................................................................................B-V-3-1 IDMA Invocation..................................................................................................................................................B-V-3-5 Operation of IDMA..............................................................................................................................................B-V-3-8 Linking .................................................................................................................................................................B-V-3-12 Interrupt Function of Intelligent DMA........................................................................................................B-V-3-13 I/O Memory of Intelligent DMA ...................................................................................................................B-V-3-14 Programming Notes........................................................................................................................................B-V-3-17 Appendix I/O MAP viii EPSON S1C33T01 PRODUCT PART 1 OUTLINE 1 Outline The S1C33T01 is a Seiko Epson original 32-bit microcomputer that features high speed, low power and lowvoltage operation. It is designed for portable equipment that needs advanced data processing. The S1C33T01 consists of the S1C33000 32-bit RISC type CPU as the core, a bus control unit, a DMA controller, an interrupt controller, timers, serial interface circuits, single-master I2 C-bus core, an A/D converter, and RAM. It also includes a high-speed oscillation circuit, PLL and low-speed oscillation circuit allowing high-speed operation and low-power operation and a clock timer that provides excellent clock functions. The S1C33T01 also provides a DSP function, by using the internal MAC (multiplication and accumulation) operation function with the A/D converter, it makes it possible to design simply speech recognition and voice synthesis systems. 1.1 Features Core CPU Seiko Epson original 32-bit RISC CPU S1C33000 built-in * Basic instruction set: 105 instructions (16-bit fixed size) * Sixteen 32-bit general-purpose register * 32-bit ALU and 8-bit shifter * Multiplication/division instructions and MAC (multiplication and accumulation) instruction are available * 16.7 ns of minimum instruction execution time at 60 MHz operation Internal memory RAM: 8K bytes S1C33T01 PRODUCT PART EPSON A-1 1 OUTLINE Internal peripheral circuits Oscillation circuit: Timers: Serial interface: A/D converter: DMA controller: Interrupt controller: General-purpose input and output ports: High-speed (OSC3) oscillation circuit 33 MHz max. Crystal/ceramic oscillator or external clock input Low-speed (OSC1) oscillation circuit 32.768 kHz typ. Crystal oscillator or external clock input 8-bit timer 6 channels 16-bit timer 10 channels Watchdog timer (16-bit timer 0's function) Clock timer 1 channel (with alarm function) 4 channels (clock-synchronous system, asynchronous system and IrDA interface are selectable) 10 bits x 8 channels High-speed DMA 4 channels Intelligent DMA 128 channels Possible to invoke DMA Input interrupt 18 types (programmable) DMA controller interrupt 5 types 16-bit programmable timer interrupt 20 types 8-bit programmable timer interrupt 6 types Serial interface interrupt 12 types Single-master I2 C-bus core 6 types A/D converter interrupt 1 type Clock timer interrupt 1 type Shared with the I/O pins for internal peripheral circuits Input port 13 bits I/O port 69 bits External bus interface BCU (bus control unit) built-in * 24-bit address bus (internal 28-bit processing) * 16-bit data bus Data size is selectable from 8 bits and 16 bits in each area. * Little-endian memory access; big-endian may be set in each area. * Memory mapped I/O * Chip enable and wait control circuits built-in * DRAM direct interface function built-in Supports fast page mode and EDO page mode. Supports self-refresh and CAS-before RAS refresh. * Supports burst ROM. Operating conditions and power consumption Operating voltage: Core (VDD) 2.7 V to 3.6 V I/O (VDDE) 2.7 V to 5.5 V Operating clock frequency: Max. 60 MHz (when core voltage = I/O voltage = 3.3 V 0.3 V) Operating temperature: -40 to 85C Power consumption: During SLEEP T.B.D W typ. During HALT T.B.D mW typ. (3.3 V, 50 MHz) During execution T.B.D mW typ. (3.3 V, 50 MHz) Note: The values of power consumption during execution were measured when a test program that consisted of 55% load instructions, 23% arithmetic operation instructions, 1% mac instruction, 12% branch instructions and 9% ext instruction was being continuously executed. Supply form QFP18-176 plastic package A-2 EPSON S1C33T01 PRODUCT PART 1 OUTLINE 1.2 Block Diagram VDD VSS VDDE BVDDE A[23:0] D[15:0] #RD #WRL/#WR/#WE #WRH/#BSH #HCAS #LCAS #CE10IN, #CE10EX #CE[9:3] #EMEMRD #WAIT(P30) #DRD(P20) #DWE(P21) #GAAS(P21) #GARD(P31) OSC3 OSC4 PLLS[1:0] PLLC OSC1 OSC2 FOSC1(P14) #DMAREQx(K50, K51, K53, K54) #DMAACKx(P32, P33, P04, P06) #DMAENDx(P15, P16, P05, P07) S1C33T01 #RESET #NMI #X2SPD ICEMD DSIO EA10MD[1:0] EA3MD BCLK #BUSREQ(P34) #BUSACK(P35) #BUSGET(P31) DST[2:0](P10-12) DPCO(P13) DCLK(P14) S1C33000 CPU Core Bus Control Unit OSC3/PLL Interrupt Controller Prescaler 16-bit Programmable Timer (10 ch.) EXCLx(P10-13, P15, P16,P80-83) TMx(P22-27,P84-87) OSC1 8-bit Programmable Timer (6 ch.) T8UFx(P10-13,P50,P51) Clock Timer Serial Interface (4 ch.) SINx(P00, P04,P40,P44) SOUTx(P01, P05,P41,P46) #SCLKx(P02, P06,P42,P46) #SRDYx(P03, P07,P43,P47) RAM 8KB A/D Converter (8 ch.) AD0-7(K60-67) #ADTRG(K52) AVDDE Intelligent DMA (128 ch.) I2CSMST SCLx(P70,P72) SDAx(P71,P73) High-speed DMA (4 ch.) Input Port K50-54 K60-67 I/O Port P00-07 P10-16 P20-27 P30-35 P40-47 P50-57 P60-67 P70-77 P80-87 Figure 1.2.1 S1C33T01 Block Diagram S1C33T01 PRODUCT PART EPSON A-3 1 OUTLINE 1.3 Pin Description 1.3.1 Pin Layout Diagram (plastic package) QFP18-176 pin 132 89 133 88 INDEX 176 45 1 No. Pin name No. 44 Pin name No. Pin name No. Pin name 1 #X2SPD 31 V DD 61 #CE10EX 91 A18 2 EA10MD1 32 OSC2 62 BCLK 92 A19 3 EA10MD0 33 OSC1 63 V SS 93 A20 4 EA3MD 34 V SS 64 #HCAS 94 A21 5 P47/#SRDY3 35 ICEMD 65 #LCAS 95 A22 6 P46/#SCLK3 36 K67/AD7 66 #WRH/#BSH 96 A23 7 P45/SOUT3 37 K66/AD6 67 #WRL/#WR/#WE 97 BVDDE 8 P44/SIN3 38 K65/AD5 68 V DD 98 D15 9 V SS 39 K64/AD4 69 #EMEMRD 99 D14 10 P43/#SRDY2 40 K63/AD3 70 #RD 100 D13 11 P42/#SCLK2 41 K62/AD2 71 A0/#BSL 101 D12 12 P41/SOUT2 42 K61/AD1 72 A1 102 D11 13 P40/SIN2 43 K60/AD0 73 V SS 103 D10 14 P07/#SRDY1/#DMAEND3 44 AVDDE 74 A2 104 V SS 15 P06/#SCLK1/#DMAACK3 45 P35/#BUSACK 75 A3 105 D9 16 P05/SOUT1/#DMAEND2 46 P34/#BUSREQ/#CE6 76 A4 106 D8 17 P04/SIN1/#DMAACK2 47 P31/#BUSGET/#GARD 77 A5 107 D7 D6 18 V DDE 48 P30/#WAIT/#CE4&5 78 BVDDE 108 19 P03/#SRDY0 49 P21/#DWE/#GAAS 79 A6 109 D5 20 P02/#SCLK0 50 P20/#DRD 80 A7 110 V DD 21 P01/SOUT0 51 #CE9/#CE17 81 A8 111 D4 22 P00/SIN0 52 #CE8/#RAS1/#CE14/ #RAS3 82 A9 112 D3 23 P33/#DMAACK1 53 V SS 83 A10 113 D2 24 P32/#DMAACK0 54 #CE7/#RAS0/#CE13/ #RAS2 84 A11 114 D1 25 V SS 55 #CE6 85 A12 115 D0 26 K54/#DMAREQ3 56 #CE5/#CE15 86 A13 116 BVDDE 27 K53/#DMAREQ2 57 #CE4/#CE11 87 A14 117 P87/TM9 28 K52/#ADTRG 58 BVDDE 88 A15 118 P86/TM8 29 K51/#DMAREQ1 59 #CE3 89 A16 119 P85/TM7 30 K50/#DMAREQ0 60 #CE10IN 90 A17 120 V DDE Figure 1.3.1 Pin Layout Diagram (QFP18-176pin) A-4 EPSON S1C33T01 PRODUCT PART 1 OUTLINE No. Pin name 121 No. P84/TM6 Pin name 135 No. #NMI Pin name 149 No. P60 Pin name 163 P15/EXCL4/#DMAEND0 122 P83/EXCL9 136 PLLS1 150 P57 164 V SS 123 P82/EXCL8 137 PLLS0 151 P56 165 P14/FOSC1/DCLK 124 V SS 138 #RESET 152 P55 166 P13/EXCL3/T8UF3/DST3 125 P81/EXCL7 139 PLLC 153 P54 167 P12/EXCL2/T8UF2/DST2 126 P80/EXCL6 140 V SS 154 V SS 168 P11/EXCL1/T8UF1/DST1 127 P77 141 P67 155 OSC4 169 P10/EXCL0/T8UF0/DST0 128 P76 142 P66 156 OSC3 170 DSIO 129 P75 143 P65 157 V DD 171 P27/TM5 130 P74 144 P64 158 P53 172 P26/TM4 131 P73/SDA1 145 P63 159 P52 173 P25/TM3 132 P72/SCL1 146 P62 160 P51/T8UF5 174 P24/TM2 133 P71/SDA0 147 V DDE 161 P50/T8UF4 175 P23/TM1 134 P70/SCL0 148 P61 162 P16/EXCL5/#DMAEND1 176 P22/TM0 Figure 1.3.1 Pin Layout Diagram (QFP18-176pin) (continue) S1C33T01 PRODUCT PART EPSON A-5 1 OUTLINE 1.3.2 Pin Functions Table 1.3.1 List of Pins for Power Supply System Pin name Pin No. I/O I/O Level Pull- Power up supply Function V DD 31,68, 110,157 - - - L Power supply (+) for the internal logic V SS 9,25,34, 53,63,73, 104,124, 140,154, 164 - - - - Power supply (-); GND V DDE 18,120, 147 - - - H Power supply (+) for the I/O block AVDDE 44 - - - A Analog system power supply (+); AVDDE = V DDE BVDDE 58,78, 97,116 - - - B Bus power supply (+) Pin No. I/O I/O Level Table 1.3.2 List of Pins for External Bus Interface Signals Pin name A0 #BSL Function O CMOS/LVTTL - B A0: #BSL: A[23:1] 72,74-77, I/O CMOS/LVTTL 79-96 - B Address bus (A1 to A23) D[15:0] 98-103, 105-109, 111-115 O CMOS/LVTTL - B Data bus (D0 to D15) #CE10EX 61 O CMOS/LVTTL - B Area 10 chip enable for external memory * When CEFUNC[1:0] = "1x", this pin outputs #CE9+#CE10EX signal. #CE10IN 60 O - B Area 10 chip enable for internal ROM emulation memory #CE9 #CE17 51 O CMOS/LVTTL - B #CE9: #CE8 #RAS1 #CE14 #RAS3 52 O CMOS/LVTTL - B #CE8: #CE7 #RAS0 #CE13 #RAS2 54 O CMOS/LVTTL - B #CE7: #CE6 55 O CMOS/LVTTL - B Area 6 chip enable * When CEFUNC[1:0] = "1x", this pin outputs #CE7+#CE8 signal. #CE5 #CE15 56 O CMOS/LVTTL - B #CE5: A-6 71 Pull- Power up supply - Address bus (A0) when SBUSST(D3/0x4812E) = "0" (default) Bus strobe (low byte) signal when SBUSST(D3/0x4812E) = "1" Area 9 chip enable when CEFUNC[1:0](D[A:9])/0x48130) = "00" (default) #CE17: Area 17 chip enable when CEFUNC[1:0](D[A:9])/0x48130) = "01" * When CEFUNC[1:0] = "1x", this pin outputs #CE17+#CE18 signal. Area 8 chip enable when CEFUNC[1:0](D[A:9])/0x48130) = "00" and A8DRA(D8/0x48128) = "0" (default) #RAS1: Area 8 DRAM row strobe when CEFUNC[1:0](D[A:9])/0x48130) = "00" and A8DRA(D8/0x48128) = "1" #CE14: Area 14 chip enable when CEFUNC[1:0](D[A:9])/0x48130) = "01" or "1x" and A14DRA(D8/0x48122) = "0" #RAS3: Area 14 DRAM row strobe when CEFUNC[1:0](D[A:9])/0x48130) = "01" or "1x" and A14DRA(D8/0x48122) = "1" Area 7 chip enable when CEFUNC[1:0](D[A:9])/0x48130) = "00" and A7DRA(D7/0x48128) = "0" (default) #RAS0: Area 7 DRAM row strobe when CEFUNC[1:0](D[A:9])/0x48130) = "00" and A7DRA(D7/0x48128) = "1" #CE13: Area 13 chip enable when CEFUNC[1:0](D[A:9])/0x48130) = "01" or "1x" and A13DRA(D7/0x48122) = "0" #RAS2: Area 13 DRAM row strobe when CEFUNC[1:0](D[A:9])/0x48130) = "01" or "1x" and A13DRA(D7/0x48122) = "1" Area 5 chip enable when CEFUNC[1:0](D[A:9])/0x48130) = "00" (default) #CE15: Area 15 chip enable when CEFUNC[1:0](D[A:9])/0x48130) = "01" * When CEFUNC[1:0] = "1x", this pin outputs #CE15+#CE16 signal. EPSON S1C33T01 PRODUCT PART 1 OUTLINE Table 1.3.2 Pin name Pin No. I/O List of Pins for External Bus Interface Signals (continue) I/O Level Pull- Power up supply #CE4 #CE11 57 O CMOS/LVTTL #CE3 59 O #RD 70 O CMOS/LVTTL #EMEMRD 69 O - B Read signal for internal ROM emulation memory #WRL #WR #WE 67 O CMOS/LVTTL - B #WRL: Write (low byte) signal when SBUSST(D3/0x4812E) = "0" (default) #WR: Write signal when SBUSST(D3/0x4812E) = "1" #WE: DRAM write signal (default) #WRH #BSH 66 O CMOS/LVTTL - B #WRH: Write (high byte) signal when SBUSST(D3/0x4812E) = "0" (default) #BSH: Bus strobe (high byte) signal when SBUSST(D3/0x4812E) = "1" #HCAS 64 O - - B #HCAS: DRAM column address strobe (high byte) signal #LCAS 65 O - - B #LCAS: DRAM column address strobe (low byte) signal BCLK 62 O - - B Bus clock output EA10MD1 2 I H Area 10 boot mode selection EA10MD1 EA10MD0 EA10MD0 3 I EA3MD 4 I S1C33T01 PRODUCT PART - - #CE4: Area 4 chip enable when CEFUNC[1:0](D[A:9])/0x48130) = "00" (default) #CE11: Area 11 chip enable when CEFUNC[1:0](D[A:9])/0x48130) = "01" * When CEFUNC[1:0] = "1x", this pin outputs #CE11+#CE12 signal. - B Area 3 chip enable - B Read signal CMOS/LVTTL Pullup CMOS B Function - CMOS/LVTTL Pullup H H Mode 1 1 External ROM mode 1 0 0 0 1 0 Internal ROM mode OTP mode Internal ROM emulation Area 3 mode selection 1: Internal ROM mode, 0: Emulation mode EPSON A-7 1 OUTLINE Table 1.3.3 List of Pins for Internal Peripheral Circuits Pin name Pin No. I/O I/O Level K50 #DMAREQ0 30 I CMOS SCHMITT - H K50: Input port when CFK50(D0/0x402C0) = "0" (default) #DMAREQ0: HSDMA Ch. 0 request input when CFK50(D0/0x402C0) = "1" K51 #DMAREQ1 29 I CMOS SCHMITT - H K51: Input port when CFK51(D1/0x402C0) = "0" (default) #DMAREQ1: HSDMA Ch. 1 request input when CFK51(D1/0x402C0) = "1" K52 #ADTRG 28 I CMOS SCHMITT - H K52: #ADTRG: K53 #DMAREQ2 27 I CMOS SCHMITT - H K53: Input port when CFK53(D3/0x402C0) = "0" (default) #DMAREQ2: HSDMA Ch. 2 request input when CFK53(D3/0x402C0) = "1" K54 #DMAREQ3 26 I CMOS SCHMITT - H K54: Input port when CFK54(D4/0x402C0) = "0" (default) #DMAREQ3: HSDMA Ch. 3 request input when CFK54(D4/0x402C0) = "1" K60 AD0 43 I - A K60: AD0: Input port when CFK60(D0/0x402C3) = "0" (default) A/D converter Ch. 0 input when CFK60(D0/0x402C3) = "1" K61 AD1 42 I - A K61: AD1: Input port when CFK61(D1/0x402C3) = "0" (default) A/D converter Ch. 1 input when CFK61(D1/0x402C3) = "1" K62 AD2 41 I - A K62: AD2: Input port when CFK62(D2/0x402C3) = "0" (default) A/D converter Ch. 2 input when CFK62(D2/0x402C3) = "1" K63 AD3 40 I - A K63: AD3: Input port when CFK63(D3/0x402C3) = "0" (default) A/D converter Ch. 3 input when CFK63(D3/0x402C3) = "1" K64 AD4 39 I - A K64: AD4: Input port when CFK64(D4/0x402C3) = "0" (default) A/D converter Ch. 4 input when CFK64(D4/0x402C3) = "1" K65 AD5 38 I - A K65: AD5: Input port when CFK65(D5/0x402C3) = "0" (default) A/D converter Ch. 5 input when CFK65(D5/0x402C3) = "1" K66 AD6 37 I - A K66: AD6: Input port when CFK66(D6/0x402C3) = "0" (default) A/D converter Ch. 6 input when CFK60(D6/0x402C3) = "1" K67 AD7 36 I - A K67: AD7: Input port when CFK67(D7/0x402C3) = "0" (default) A/D converter Ch. 7 input when CFK67(D7/0x402C3) = "1" P00 SIN0 22 I/O CMOS/LVTTL SCHMITT - H P00: SIN0: I/O port when CFP00(D0/0x402D0) = "0" (default) Serial I/F Ch. 0 data input when CFP00(D0/0x402D0) = "1" P01 SOUT0 21 I/O CMOS/LVTTL SCHMITT - H P01: SOUT0: I/O port when CFP01(D1/0x402D0) = "0" (default) Serial I/F Ch. 0 data output when CFP01(D1/0x402D0) = "1" P02 #SCLK0 20 I/O CMOS/LVTTL SCHMITT - H P02: #SCLK0: I/O port when CFP02(D2/0x402D0) = "0" (default) Serial I/F Ch. 0 clock input/output when CFP02(D2/0x402D0) = "1" P03 #SRDY0 19 I/O CMOS/LVTTL SCHMITT - H P03: #SRDY0: I/O port when CFP03(D3/0x402D0) = "0" (default) Serial I/F Ch. 0 ready signal output when CFP03(D3/0x402D0) = "1" P04 SIN1 #DMAACK2 17 I/O CMOS/LVTTL SCHMITT - H P04: P05 SOUT1 #DMAEND2 16 I/O CMOS/LVTTL SCHMITT - H P05: P06 #SCLK1 #DMAACK3 15 I/O CMOS/LVTTL SCHMITT - H P06: A-8 Pull- Power up supply Function Input port when CFK52(D2/0x402C0) = "0" (default) A/D converter trigger input when CFK52(D2/0x402C0) = "1" I/O port when CFP04(D4/0x402D0) = "0" and CFEX4(D4/0x402DF) = "0" (default) SIN1: Serial I/F Ch. 1 data input when CFP04(D4/0x402D0) = "1" and CFEX4(D4/0x402DF) = "0" #DMAACK2: HSDMA Ch. 2 acknowledge output when CFEX4(D4/0x402DF) = "1" I/O port when CFP05(D5/0x402D0) = "0" and CFEX5(D5/0x402DF) = "0" (default) SOUT1: Serial I/F Ch. 1 data output when CFP05(D5/0x402D0) = "1" and CFEX5(D5/0x402DF) = "0" #DMAEND2: HSDMA Ch. 2 end-of-transfer signal output when CFEX5(D5/0x402DF) = "1" I/O port when CFP06(D6/0x402D0) = "0" and CFEX6(D6/0x402DF) = "0" (default) #SCLK1: Serial I/F Ch. 1 clock input/output when CFP06(D6/0x402D0) = "1" and CFEX6(D6/0x402DF) = "0" #DMAACK3: HSDMA Ch. 3 acknowledge output when CFEX6(D6/0x402DF) = "1" EPSON S1C33T01 PRODUCT PART 1 OUTLINE Table 1.3.3 I/O I/O Level List of Pins for Internal Peripheral Circuits (continue) Pin name Pin No. Pull- Power up supply Function P07 #SRDY1 #DMAEND3 14 I/O CMOS/LVTTL SCHMITT - H P07: P10 EXCL0 T8UF0 DST0 169 I/O CMOS/LVTTL SCHMITT - L P10: I/O port when CFP07(D7/0x402D0) = "0" and CFEX7(D7/0x402DF) = "0" (default) #SRDY1: Serial I/F Ch. 1 ready signal output when CFP07(D7/0x402D0) = "1" and CFEX5(D5/0x402DF) = "0" #DMAEND3: HSDMA Ch. 3 end-of-transfer signal output when CFEX7(D7/0x402DF) = "1" EXCL0: T8UF0: DST0: P11 EXCL1 T8UF1 DST1 168 I/O CMOS/LVTTL SCHMITT - L P11: EXCL1: T8UF1: DST1: P12 EXCL2 T8UF2 DST2 167 I/O CMOS/LVTTL SCHMITT - L P12: EXCL2: T8UF2: DST2: P13 EXCL3 T8UF3 DCPO 166 I/O CMOS/LVTTL SCHMITT - L P13: EXCL3: T8UF3: DPCO: P14 FOSC1 DCLK 165 P15 EXCL4 #DMAEND0 163 I/O CMOS/LVTTL SCHMITT - H P15: EXCL4: P16 EXCL5 #DMAEND1 162 I/O CMOS/LVTTL SCHMITT - H P16: EXCL5: I/O CMOS/LVTTL SCHMITT - L P14: FOSC1: DCLK: S1C33T01 PRODUCT PART I/O port when CFP10(D0/0x402D4) = "0" and CFEX1(D1/0x402DF) = "0" 16-bit timer 0 event counter input when CFP10(D0/0x402D4) = "1", IOC10(D0/0x402D6) = "0" and CFEX1(D1/0x402DF) = "0" 8-bit timer 0 output when CFP10(D0/0x402D4) = "1", IOC10(D0/0x402D6) = "1" and CFEX1(D1/0x402DF) = "0" DST0 signal output when CFEX1(D1/0x402DF) = "1" (default) I/O port when CFP11(D1/0x402D4) = "0" and CFEX1(D1/0x402DF) = "0" 16-bit timer 1 event counter input when CFP11(D1/0x402D4) = "1", IOC11(D1/0x402D6) = "0" and CFEX1(D1/0x402DF) = "0" 8-bit timer 1 output when CFP11(D1/0x402D4) = "1", IOC11(D1/0x402D6) = "1" and CFEX1(D1/0x402DF) = "0" DST1 signal output when CFEX1(D1/0x402DF) = "1" (default) I/O port when CFP12(D2/0x402D4) = "0" and CFEX0(D0/0x402DF) = "0" 16-bit timer 2 event counter input when CFP12(D2/0x402D4) = "1", IOC12(D2/0x402D6) = "0" and CFEX0(D0/0x402DF) = "0" 8-bit timer 2 output when CFP12(D2/0x402D4) = "1", IOC12(D2/0x402D6) = "1" and CFEX0(D0/0x402DF) = "0" DST2 signal output when CFEX0(D0/0x402DF) = "1" (default) I/O port when CFP13(D3/0x402D4) = "0" and CFEX1(D1/0x402DF) = "0" 16-bit timer 3 event counter input when CFP13(D3/0x402D4) = "1", IOC13(D3/0x402D6) = "0" and CFEX1(D1/0x402DF) = "0" 8-bit timer 3 output when CFP13(D3/0x402D4) = "1", IOC13(D3/0x402D6) = "1" and CFEX1(D1/0x402DF) = "0" DPCO signal output when CFEX1(D1/0x402DF) = "1" (default) I/O port when CFP14(D4/0x402D4) = "0" and CFEX0(D0/0x402DF) = "0" OSC1 clock output when CFP14(D4/0x402D4) = "1" and CFEX0(D0/0x402DF) = "0" DCLK signal output when CFEX0(D0/0x402DF) = "1" (default) I/O port when CFP15(D5/0x402D4) = "0" (default) 16-bit timer 4 event counter input when CFP15(D5/0x402D4) = "1" and IOC15(D5/0x402D6) = "0" #DMAEND0: HSDMA Ch. 0 end-of-transfer signal output when CFP15(D5/0x402D4) = "1" and IOC15(D5/0x402D6) = "1" I/O port when CFP16(D6/0x402D4) = "0" (default) 16-bit timer 5 event counter input when CFP16(D6/0x402D4) = "1" and IOC16(D6/0x402D6) = "0" #DMAEND1: HSDMA Ch. 1 end-of-transfer signal output when CFP16(D6/0x402D4) = "1" and IOC16(D6/0x402D6) = "1" EPSON A-9 1 OUTLINE Table 1.3.3 Pin name Pin No. I/O I/O Level List of Pins for Internal Peripheral Circuits (continue) Pull- Power up supply Function P20 #DRD 50 I/O CMOS/LVTTL SCHMITT - B P20: #DRD: I/O port when CFP20 (D0/0x402D8) = "0"(default) DRAM read signal output for successive RAS mode when CFP20 (D0/0x402D8) = "1" P21 #DWE #GAAS 49 I/O CMOS/LVTTL SCHMITT - B P21: I/O port when CFP21 (D1/0x402D8) = "0" and CFEX2 (D2/0x402DF) = "0"(default) DRAM write signal output for successive RAS mode when CFP21 (D1/0x402D8) = "1" and CFEX2 (D2/0x402DF)="0" Area address strobeoutput for GA when CFEX2 (D2/0x402DF) = "1" #DWE: #GAAS: P22 TM0 176 I/O CMOS/LVTTL SCHMITT - H P22: TM0: I/O port when CFP22 (D2/0x402D8) = "0" (default) 16-bit timer 0 output when CFP22 (D2/0x402D8) = "1" P23 TM1 175 I/O CMOS/LVTTL SCHMITT - H P23: TM1: I/O port when CFP23 (D3/0x402D8) = "0" (default) 16-bit timer 1 output when CFP23 (D3/0x402D8) = "1" P24 TM2 174 I/O CMOS/LVTTL SCHMITT - H P24: TM2: I/O port when CFP24 (D4/0x402D8) = "0" (default) 16-bit timer 2 output when CFP24 (D4/0x402D8) = "1" P25 TM3 173 I/O CMOS/LVTTL SCHMITT - H P25: TM3: I/O port when CFP25 (D5/0x402D8) = "0" (default) 16-bit timer 3 output when CFP25 (D5/0x402D8) = "1" P26 TM4 172 I/O CMOS/LVTTL SCHMITT - H P26: TM4: I/O port when CFP26 (D6/0x402D8) = "0" (default) 16-bit timer 4 output when CFP26 (D6/0x402D8) = "1" P27 TM5 171 I/O CMOS/LVTTL SCHMITT - H P27: TM5: I/O port when CFP27 (D7/0x402D8) = "0" (default) 16-bit timer 5 output when CFP27 (D7/0x402D8) = "1" P30 #WAIT #CE4&5 48 I/O CMOS/LVTTL SCHMITT - B P30: #WAIT: #CE4&5: I/O port when CFP30 (D0/0x402DC) = "0"(default) Wait cycle request input when CFP30 (D0/0x402DC) = "1" Area 4 and 5 chip enable when CFP30 (D0/0x402DC) = "1" and IOC30 (D0/0x402DE) = "1" P31 #BUSGET #GARD 47 I/O CMOS/LVTTL SCHMITT - B P31: I/O port when CFP31 (D1/0x402DC) = "0" and CFEX3 (D3/0x402DF) = "0" Bus status monitor signal output for bus request when CFP31 (D0/0x402DC) = "1" and CFEX3 (D3/0x402DF) = "0" Area read signal output GA when CFEX3 (D3/0x402DF) = "1" P32 #DMAACK0 24 I/O CMOS/LVTTL SCHMITT - H P32: I/O port when CFP32 (D2/0x402DC) = "0" (default) #DMAACK0: HSDMA Ch.0 acknowledge output when CFP32 (D2/0x402DC) = "1" P33 #DMAACK1 23 I/O CMOS/LVTTL SCHMITT - H P33: I/O port when CFP33 (D3/0x402DC) = "0" (default) #DMAACK1: HSDMA Ch. 1 acknowledge output when CFP33 (D3/ 0x402DC) = "1" P34 #BUSREQ #CE6 46 I/O CMOS/LVTTL SCHMITT - B P34: #BUSREQ: #CE6: P35 #BUSACK 45 I/O CMOS/LVTTL SCHMITT - B P35: #BUSACK: I/O port when CFP34 (D4/0x402DC) = "0" (default) Bus release request input when CFP34 (D4/0x402DC) = "1" Area 6 chip enable when CFP34 (D4/0x402DC) = "1" and IOC34 (D4/0x402DE) = "1" I/O port when CFP35 (D5/0x402DC) = "0" (default) Bus release request input when CFP35 (D5/0x402DC) = "1" P40 SIN2 13 I/O CMOS/LVTTL SCHMITT - H P40: SIN2: I/O port when CFP40 (D0/0x40300) = "0" (default) Serial I/F Ch. 2 data input when CFP40 (D0/0x40300) = "1" P41 SOUT2 12 I/O CMOS/LVTTL SCHMITT - H P41: SOUT2: I/O port when CFP41 (D1/0x40300) = "0" (default) Serial I/F Ch. 2 data output when CFP41 (D3/0x40300) = "1" P42 #SCLK2 11 I/O CMOS/LVTTL SCHMITT - H P42: #SCLK2: I/O port when CFP42 (D2/0x40300) = "0" (default) Serial I/F Ch. 2 clock I/O when CFP42 (D2/0x40300) = "1" P43 #SRDY2 10 I/O CMOS/LVTTL SCHMITT - H P43: #SRDY2: I/O port when CFP43 (D3/0x40300) = "0" (default) Serial I/F Ch. 2 ready signal I/O when CFP43 (D4/0x40300) = "1" P44 SIN3 8 I/O CMOS/LVTTL SCHMITT - H P44: SIN3: I/O port when CFP44 (D4/0x40300) = "0" (default) Serial I/F Ch. 3 data input when CFP44 (D4/0x40300) = "1" P45 SOUT3 7 I/O CMOS/LVTTL SCHMITT - H P45: SOUT3: I/O port when CFP45 (D5/0x40300) = "0" (default) Serial I/F Ch. 3 data output when CFP45 (D5/0x40300) = "1" P46 #SCLK3 6 I/O CMOS/LVTTL SCHMITT - H P46: #SCLK3: I/O port when CFP46 (D6/0x40300) = "0" (default) Serial I/F Ch. 3 clock I/O when CFP46 (D6/0x40300) = "1" #BUSGET: #GARD: A-10 EPSON S1C33T01 PRODUCT PART 1 OUTLINE Table 1.3.3 Pin name P47 #SRDY3 Pin No. I/O I/O Level List of Pins for Internal Peripheral Circuits (continue) Pull- Power up supply Function 5 I/O CMOS/LVTTL SCHMITT - H P47: #SRDY3: I/O port when CFP47 (D7/0x40300) = "0" (default) Serial I/F Ch. 3 ready signal I/O when CFP47 (D7/0x40300) = "1" P50 T8UF4 161 I/O CMOS/LVTTL SCHMITT - H P50: T8UF4: I/O port when CFP50 (D0/0x40303) = "0" (default) 8-bit timer 4 output when CFP50 (D0/0x40303) = "1" P51 T8UF5 160 I/O CMOS/LVTTL SCHMITT - H P51: T8UF5: I/O port when CFP51 (D1/0x40303) = "0" (default) 8-bit timer 5 output when CFP51 (D1/0x40303) = "1" P52 159 I/O CMOS/LVTTL SCHMITT - H I/O port P53 158 I/O CMOS/LVTTL SCHMITT - H I/O port P54 153 I/O CMOS/LVTTL SCHMITT - H I/O port P55 152 I/O CMOS/LVTTL SCHMITT - H I/O port P56 151 I/O CMOS/LVTTL SCHMITT - H I/O port P57 150 I/O CMOS/LVTTL SCHMITT - H I/O port P60 149 I/O CMOS/LVTTL SCHMITT - H I/O port P61 148 I/O CMOS/LVTTL SCHMITT - H I/O port P62 146 I/O CMOS/LVTTL SCHMITT - H I/O port P63 145 I/O CMOS/LVTTL SCHMITT - H I/O port P64 144 I/O CMOS/LVTTL SCHMITT - H I/O port P65 143 I/O CMOS/LVTTL SCHMITT - H I/O port P66 142 I/O CMOS/LVTTL SCHMITT - H I/O port P67 141 I/O CMOS/LVTTL SCHMITT - H I/O port P70 SCL0 134 I/O CMOS/LVTTL SCHMITT - H P70: SCL0: I/O port when CFP70 (D0/x4030A) = "0" (default) single-master I2C Ch.0 clock I/O CFP70(D0/0x4030A)="1" P71 SDA0 133 I/O CMOS/LVTTL SCHMITT - H P71: SDA0: I/O port when CFP70(D0/x4030A) = "0" (default) single-master I2C Ch.0 data I/OCFP70(D0/0x4030A)="1" P72 SCL1 132 I/O CMOS/LVTTL SCHMITT - H P72: SCL1: I/O port when CFP71(D1/x4030A) ="0" (default) single-master I2C Ch.1clock I/O CFP71(D1/0x4030A)="1" P73 SDA1 131 I/O CMOS/LVTTL SCHMITT - H P73: SDA1: I/O port when CFP71(D1/x4030A) ="0" (default) single-master I2C Ch.1 data I/O CFP71(D1/0x4030A)="1" P74 130 I/O CMOS/LVTTL SCHMITT - H I/O port P75 129 I/O CMOS/LVTTL SCHMITT - H I/O port P76 128 I/O CMOS/LVTTL SCHMITT - H I/O port P77 127 I/O CMOS/LVTTL SCHMITT - H I/O port S1C33T01 PRODUCT PART EPSON A-11 1 OUTLINE Table 1.3.3 Pin name Pin No. I/O I/O Level List of Pins for Internal Peripheral Circuits (continue) Pull- Power up supply Function P80 EXCL6 126 I/O CMOS/LVTTL SCHMITT - H P80: EXCL6: I/O port when CFP80 (D0/0x4030D) = "0" (default) 16-bit timer 6 event counter input when CFP80 (D0/0x4030D) = "1" P81 EXCL7 125 I/O CMOS/LVTTL SCHMITT - H P81: EXCL7: I/O port when CFP81 (D1/0x4030D) = "0" (default) 16-bit timer 7 event counter input when CFP81 (D1/0x4030D) = "1" P82 EXCL8 123 I/O CMOS/LVTTL SCHMITT - H P82: EXCL8: I/O port when CFP82 (D2/0x4030D) = "0" (default) 16-bit timer 8 event counter input when CFP82 (D2/0x4030D) = "1" P83 EXCL9 122 I/O CMOS/LVTTL SCHMITT - H P83: EXCL9: I/O port when CFP83 (D3/0x4030D) = "0" (default) 16-bit timer 9 event counter input when CFP83 (D3/0x4030D) = "1" P84 TM6 121 I/O CMOS/LVTTL SCHMITT - H P84: TM6: I/O port when CFP84 (D4/0x4030D) = "0" (default) 16-bit timer 6 output when CFP84 (D4/0x4030D) = "1" P85 TM7 119 I/O CMOS/LVTTL SCHMITT - H P85: TM7: I/O port when CFP85 (D5/0x4030D) = "0" (default) 16-bit timer 7 output when CFP85 (D5/0x4030D) = "1" P86 TM8 118 I/O CMOS/LVTTL SCHMITT - H P86: TM8: I/O port when CFP86 (D6/0x4030D) = "0" (default) 16-bit timer 8 output when CFP86 (D6/0x4030D) = "1" P87 TM9 117 I/O CMOS/LVTTL SCHMITT - H P87: TM9: I/O port when CFP87 (D7/0x4030D) = "0" (default) 16-bit timer 9 output when CFP87 (D7/0x4030D) = "1" Table 1.3.4 List of Pins for Clock Generator Pin name Pin No. I/O I/O Level 33 I - OSC2 32 O - - L Low-speed (OSC1) oscillation output OSC3 156 I - - L High-speed (OSC3) oscillation input (crystal/ceramic oscillator or external clock input) 155 O - - L High-speed (OSC3) oscillation output 136,137 I CMOS - H PLL set-up pins PLLS1 PLLS0 OSC1 OSC4 PLLS[1:0] Pull- Power up supply - L Function Low-speed (OSC1) oscillation input (32 kHz crystal oscillator or external clock input) fin (fOSC3 ) fout (fPSCIN) 1 1 10-30MHz 10-25MHz 20-60MHz 20-50MHz *1 *2 0 1 10-15MHz 10-12.5MHz 40-60MHz 40-50MHz *1 *2 0 0 PLL is not used L *1: ROM-less model with 3.3 V 0.3 V operating voltage *2: ROM built-in model, or 3.0 V 0.3 V operating voltage PLLC 139 I/O - - L Capacitor connecting pin for PLL Pin No. I/O I/O Level ICEMD 35 I - Pulldown H DSIO 170 I/O - Pullup L Serial I/O pin for debugging This pin is used to communicate with the debugging tool S5U1C33000H. 1 I CMOS - H Clock doubling mode set-up pin 1: CPU clock = bus clock x 1, 0: CPU clock = bus clock x 2 #NMI 135 I CMOS/LVTTL PullSCHMITT up H NMI request input pin #RESET 138 I CMOS/LVTTL PullSCHMITT up H Initial reset input pin Table 1.3.5 List of Other Pins Pin name Pull- Power up supply Function High-impedance control input pin When this pin is set to High, all the output pins go into high-impedance state. This makes it possible to disable the S1C33 chip on the board. #X2SPD Note 1. In the description of the power supply, H = VDDE (I/O power supply), A = AV DEE (analog system power supply), B = BV DDE (bus power supply), and L = VDD (internal logic power supply). Note: "#" in the pin names indicates that the signal is low active. A-12 EPSON S1C33T01 PRODUCT PART 2 POWER SUPPLY 2 Power Supply This chapter explains the operating voltage of the S1C33T01. 2.1 Power Supply Pins The S1C33T01 has the power supply pins shown in Table 2.1.1. Table 2.1.1 Power Supply Pins Pin No. Pin name Function QFP18-176 pin VDD VSS BVDDE VDDE AV DDE 31, 68, 110, 157 Power supply (+) for the internal logic 9,25,34,53,63,73,104,124,140,154,164 Power supply (-); GND Bus power supply (+) 18,120,147 Power supply (+) for the I/O block 44 Analog system power supply (+); AVDDE = V DDE VDD CPU core BVDDE Internal peripheral circuit Bus control circuit VDDE I/O interface circuit I/O pins AVDDE Analog circuits (A/D converter) VSS Figure 2.1.1 Power Supply System 2.2 Operating Voltage (VDD) The core CPU and internal peripheral circuits operate with a voltage supplied between the VDD and VSS pins. The following operating voltage can be used: VDD = 2.7 V to 3.6 V (VSS = GND) Note: The S1C33T01 has four VDD pins and eleven VSS pins. Be sure to supply the operating voltage to all the pins. Do not open any of them. The operating clock frequency range (OSC3) is 5 MHz to 50 MHz with this voltage. 2.3 Bus Power Supply (BVDDE) The BVDDE power supply is used for the bus control signals. The S1C33T01 bus signal high level is BVDDE and the low level is VSS. No rmall y, th e same vo lt age lev el as VDD wi ll be su pp li ed as BVDDE. A po wer su pp ly in dep end ent of VDD may be used when a 5 V interface is used. In this case, the ground level must be the same as that of the VSS pin. A voltage in the following range may be used for BVDDE. BVDDE = 2.7 V to 5.5 V (VSS = ground) Note: The S1C33T01 has four BVDDE pins. All for of these pins must be connected to the power supply; do not leave any of these pins open. S1C33T01 PRODUCT PART EPSON A-13 2 POWER SUPPLY 2.4 Power Supply for I/O Interface (VDDE) The VDDE voltage is used for interfacing with external I/O signals. For the I/O interface of the S1C33T01, the VDDE voltage is used as high level and the VSS voltage as low level. No rmall y, su pp ly th e same vo lt age lev el as VDD. It can be su pp li ed sep aratel y from VDD for 5 V in terface. Th e VSS pin is used for the ground common with VDD. The following voltage is enabled for VDDE: VDDE = 2.7 V to 5.5 V (VSS = GND) Notes:* The S1C33T01 has three VDDE pins. Be sure to supply a voltage to all the pins. Do not open any of them. * When an external clock is input to the OSC1 or OSC3 pin, the clock signal level must be VDD. * The interface voltage level of the DSIO, P10, P11, P12, P13 and P14 pins is VDD. 2.5 Power Supply for Analog Circuits (AVDDE) The analog power supply pin (AVDDE) is provided separately from the VDD pin in order that the digital circuits do not affect the analog circuit (A/D converter). The AVDDE pin is used to supply an analog power voltage and the VSS pin is used as the analog ground. Supply the same voltage level as the VDDE to the AVDDE pin. AVDDE = VDDE (VSS = GND) Note: Be sure to supply VDDE to the AVDDE pin even if the analog circuit is not used. Noise on the analog power lines decrease the A/D converting precision, so use a stabilized power supply and make the board pattern with consideration given to that. A-14 EPSON S1C33T01 PRODUCT PART 3 INTERNAL MEMORY 3 Internal Memory This chapter explains the internal memory configuration. 3.1 RAM The S1C33T01 has a built-in RAM. Table 3.1.1 shows the size and mapping address. Table 3.1.1 Built-in RAM Model Size Address S1C33T01 8K bytes 0x0-0x1FFF The internal RAM is a 32-bit sized device and data can be read/written in 1 cycle regardless of data size (byte, halfword or word). Figure 3.1.1 shows the basic internal memory map. Area Area 3 Address 0x00FFFFF S1C33T01 Bus cycle Device size Fixed at 3 cycles 16 bits Fixed at 2 cycles 8,16 bits Fixed at 1 cycle 32 bits (Reserved) For middleware use Area 2 0x0080000 0x007FFFF (Reserved) For CPU core or debug mode Area 1 0x0060000 0x005FFFF (Mirror of internal I/O) 0x0050000 0x004FFFF Internal I/O Area 0 0x0040000 0x003FFFF 0x0030000 0x0002FFF 0x0002000 0x0001FFF 0x0001000 0x0000FFF 0x0000800 0x00007FF 0x0000000 (Mirror of internal I/O) (Cannot be used) Internal RAM (8KB) Figure 3.1.1 Basic Internal Memory Map Area 2 is used in debug mode only and it cannot be accessed in user mode (normal program execution status). 3.2 ROM and Boot Address The S1C33T01 has no built-in ROM. Since the boot address is fixed at 0x0C00000 in the S1C33T01, an external ROM/Flash must be placed from the top of Area 10. For setting up Area 10, refer to the "BCU (Bus Controller Unit)" section in the "S1C33T01 FUNCTION PART". S1C33T01 PRODUCT PART EPSON A-15 4 PERIPHERAL CIRCUITS 4 Peripheral Circuits This chapter lists the built-in peripheral circuits and the I/O memory map. For details of the circuits, refer to the "S1C33T01 FUNCTION PART". 4.1 List of Peripheral Circuits The S1C33T01 consists of C33 Core Block, C33 Peripheral Block, C33 DMA Block and C33 Analog Block. C33 Core Block CPU BCU (Bus Control Unit) ITC (Interrupt Controller) CLG (Clock Generator) DBG (Debug Unit) S1C33000 32-bit RISC type CPU 24-bit external address bus and 16-bit data bus All the BCU functions can be used. 69 types of interrupts are available. OSC3 oscillation circuit (33 MHz Max.), PLL and OSC1 oscillation circuit (32.768 kHz Typ.) built-in Functional block for debugging with the S5U1C33000H (In-Circuit Debugger for S1C33 Family) C33 Peripheral Block Prescaler 8-bit programmable timer 16-bit programmable timer Serial interface Single-master I2 C-bus core Input and I/O ports Clock timer Programmable clock generator for peripheral circuits 6 channels with clock output function 10 channels with event counter, clock output and watchdog timer functions 4 channels (asynchronous mode, clock synchronous mode and IrDA are selectable.) 2 channels 13 bits of input ports and 29 bits of I/O ports (used for peripheral I/O) 1 channel with alarm function C33 DMA Block HSDMA (High-Speed DMA) 4 channels IDMA (Intelligent DMA) 128 channels C33 Analog Block A/D converter A-16 10-bit A/D converter with 8 input channels EPSON S1C33T01 PRODUCT PART 4 PERIPHERAL CIRCUITS 4.2 I/O Memory Map Table 4.2.1 I/O Memory Map Register name Address Bit Name Function 8-bit timer clock select register 0040140 (B) D7-2 - D1 P8TPCK5 D0 P8TPCK4 reserved 8-bit timer 5 clock selection 8-bit timer 4 clock selection 16-bit timer 6 clock control register 0040141 (B) D7-4 D3 D2 D1 D0 - P16TON6 P16TS62 P16TS61 P16TS60 reserved 16-bit timer 6 clock control 16-bit timer 6 clock division ratio selection 16-bit timer 7 clock control register 0040142 (B) D7-4 D3 D2 D1 D0 - P16TON7 P16TS72 P16TS71 P16TS70 reserved 16-bit timer 7 clock control 16-bit timer 7 clock division ratio selection 16-bit timer 8 clock control register 0040143 (B) D7-4 D3 D2 D1 D0 - P16TON8 P16TS82 P16TS81 P16TS80 reserved 16-bit timer 8 clock control 16-bit timer 8 clock division ratio selection 16-bit timer 9 clock control register 0040144 (B) D7-4 D3 D2 D1 D0 - P16TON9 P16TS92 P16TS91 P16TS90 reserved 16-bit timer 9 clock control 16-bit timer 9 clock division ratio selection Setting - 1 /1 1 /1 0 Divided clk. 0 Divided clk. - 1 On P16TS6[2:0] 1 1 1 1 1 0 1 0 1 1 0 0 0 1 1 0 1 0 0 0 1 0 0 0 0 Off Division ratio /4096 /1024 /256 /64 /16 /4 /2 /1 - 1 On P16TS7[2:0] 1 1 1 1 1 0 1 0 1 1 0 0 0 1 1 0 1 0 0 0 1 0 0 0 0 Off Division ratio /4096 /1024 /256 /64 /16 /4 /2 /1 - 1 On P16TS8[2:0] 1 1 1 1 1 0 1 0 1 1 0 0 0 1 1 0 1 0 0 0 1 0 0 0 0 Off Division ratio /4096 /1024 /256 /64 /16 /4 /2 /1 - 1 On P16TS9[2:0] 1 1 1 1 1 0 1 0 1 1 0 0 0 1 1 0 1 0 0 0 1 0 0 0 0 Off Division ratio /4096 /1024 /256 /64 /16 /4 /2 /1 Init. R/W Remarks - 0 0 - 0 when being read. R/W : selected by Prescaler clock R/W select register (0x40181) - 0 0 0 0 - 0 when being read. R/W R/W : selected by Prescaler clock select register (0x40181) - 0 0 0 0 - 0 when being read. R/W R/W : selected by Prescaler clock select register (0x40181) - 0 0 0 0 - 0 when being read. R/W R/W : selected by Prescaler clock select register (0x40181) - 0 0 0 0 - 0 when being read. R/W R/W : selected by Prescaler clock select register (0x40181) The meaning of the symbols described in [Init.] are listed below: 0, 1: Initial values that are set at initial reset. (However, the registers for the bus and input/output ports are not initialized at hot start.) X: Not initialized at initial reset. -: Not set in the circuit. S1C33T01 PRODUCT PART EPSON A-17 4 PERIPHERAL CIRCUITS Table 4.2.1 I/O Memory Map (continue) Register name Address Bit Name 8-bit timer 4/5 clock control register D7 D6 D5 D4 P8TON5 P8TS52 P8TS51 P8TS50 0040145 (B) D3 D2 D1 D0 P8TON4 P8TS42 P8TS41 P8TS40 Function 8-bit timer 5 clock control 8-bit timer 5 clock division ratio selection 8-bit timer 4 clock control 8-bit timer 4 clock division ratio selection 8-bit timer clock select register 0040146 (B) D7-4 D3 D2 D1 D0 - P8TPCK3 P8TPCK2 P8TPCK1 P8TPCK0 reserved 8-bit timer 3 clock selection 8-bit timer 2 clock selection 8-bit timer 1 clock selection 8-bit timer 0 clock selection 16-bit timer 0 clock control register 0040147 (B) D7-4 D3 D2 D1 D0 - P16TON0 P16TS02 P16TS01 P16TS00 reserved 16-bit timer 0 clock control 16-bit timer 0 clock division ratio selection 16-bit timer 1 clock control register 0040148 (B) D7-4 D3 D2 D1 D0 - P16TON1 P16TS12 P16TS11 P16TS10 reserved 16-bit timer 1 clock control 16-bit timer 1 clock division ratio selection 16-bit timer 2 clock control register 0040149 (B) D7-4 D3 D2 D1 D0 - P16TON2 P16TS22 P16TS21 P16TS20 reserved 16-bit timer 2 clock control 16-bit timer 2 clock division ratio selection 16-bit timer 3 clock control register 004014A D7-4 - (B) D3 P16TON3 D2 P16TS32 D1 P16TS31 D0 P16TS30 reserved 16-bit timer 3 clock control 16-bit timer 3 clock division ratio selection A-18 EPSON Setting 1 On P8TS5[2:0] 1 1 1 1 1 0 1 0 1 1 0 0 0 1 1 0 1 0 0 0 1 0 0 0 1 On P8TS4[2:0] 1 1 1 1 1 0 1 0 1 1 0 0 0 1 1 0 1 0 0 0 1 0 0 0 Init. R/W 0 Off Division ratio /256 /128 /64 /32 /16 /8 /4 /2 0 Off Division ratio /4096 /2048 /64 /32 /16 /8 /4 /2 - 1 1 1 1 /1 /1 /1 /1 0 0 0 0 Divided clk. Divided clk. Divided clk. Divided clk. - 1 On P16TS0[2:0] 1 1 1 1 1 0 1 0 1 1 0 0 0 1 1 0 1 0 0 0 1 0 0 0 0 Off Division ratio /4096 /1024 /256 /64 /16 /4 /2 /1 - 1 On P16TS1[2:0] 1 1 1 1 1 0 1 0 1 1 0 0 0 1 1 0 1 0 0 0 1 0 0 0 0 Off Division ratio /4096 /1024 /256 /64 /16 /4 /2 /1 - 1 On P16TS2[2:0] 1 1 1 1 1 0 1 0 1 1 0 0 0 1 1 0 1 0 0 0 1 0 0 0 0 Off Division ratio /4096 /1024 /256 /64 /16 /4 /2 /1 - 1 On P16TS3[2:0] 1 1 1 1 1 0 1 0 1 1 0 0 0 1 1 0 1 0 0 0 1 0 0 0 0 Off Division ratio /4096 /1024 /256 /64 /16 /4 /2 /1 0 0 0 0 Remarks R/W R/W : selected by Prescaler clock select register (0x40181) 8-bit timer 5 can generate the clock for the serial I/F Ch.3. 0 0 0 0 R/W R/W : selected by Prescaler clock select register (0x40181) 8-bit timer 4 can generate the clock for the serial I/F Ch.2. - 0 0 0 0 - R/W R/W R/W R/W 0 when being read. : selected by Prescaler clock select register (0x40181) - 0 0 0 0 - 0 when being read. R/W R/W : selected by Prescaler clock select register (0x40181) 16-bit timer 0 can be used as a watchdog timer. - 0 0 0 0 - 0 when being read. R/W R/W : selected by Prescaler clock select register (0x40181) - 0 0 0 0 - 0 when being read. R/W R/W : selected by Prescaler clock select register (0x40181) - 0 0 0 0 - 0 when being read. R/W R/W : selected by Prescaler clock select register (0x40181) S1C33T01 PRODUCT PART 4 PERIPHERAL CIRCUITS Table 4.2.1 I/O Memory Map (continue) Register name Address Bit Name Function 16-bit timer 4 clock control register 004014B D7-4 - (B) D3 P16TON4 D2 P16TS42 D1 P16TS41 D0 P16TS40 reserved 16-bit timer 4 clock control 16-bit timer 4 clock division ratio selection 16-bit timer 5 clock control register 004014C D7-4 - (B) D3 P16TON5 D2 P16TS52 D1 P16TS51 D0 P16TS50 reserved 16-bit timer 5 clock control 16-bit timer 5 clock division ratio selection 8-bit timer 0/1 clock control register 004014D (B) 8-bit timer 1 clock control 8-bit timer 1 clock division ratio selection D7 D6 D5 D4 D3 D2 D1 D0 8-bit timer 2/3 clock control register 004014E (B) D7 D6 D5 D4 D3 D2 D1 D0 S1C33T01 PRODUCT PART P8TON1 P8TS12 P8TS11 P8TS10 P8TON0 P8TS02 P8TS01 P8TS00 P8TON3 P8TS32 P8TS31 P8TS30 P8TON2 P8TS22 P8TS21 P8TS20 8-bit timer 0 clock control 8-bit timer 0 clock division ratio selection 8-bit timer 3 clock control 8-bit timer 3 clock division ratio selection 8-bit timer 2 clock control 8-bit timer 2 clock division ratio selection EPSON Setting - 1 On P16TS4[2:0] 1 1 1 1 1 0 1 0 1 1 0 0 0 1 1 0 1 0 0 0 1 0 0 0 0 Off Division ratio /4096 /1024 /256 /64 /16 /4 /2 /1 - Init. R/W Remarks - 0 0 0 0 - 0 when being read. R/W R/W : selected by Prescaler clock select register (0x40181) - 0 0 0 0 - 0 when being read. R/W R/W : selected by Prescaler clock select register (0x40181) R/W R/W : selected by Prescaler clock select register (0x40181) 1 On P16TS5[2:0] 1 1 1 1 1 0 1 0 1 1 0 0 0 1 1 0 1 0 0 0 1 0 0 0 0 Off Division ratio /4096 /1024 /256 /64 /16 /4 /2 /1 1 On P8TS1[2:0] 1 1 1 1 1 0 1 0 1 1 0 0 0 1 1 0 1 0 0 0 1 0 0 0 1 On P8TS0[2:0] 1 1 1 1 1 0 1 0 1 1 0 0 0 1 1 0 1 0 0 0 1 0 0 0 0 Off Division ratio /4096 /2048 /1024 /512 /256 /128 /64 /32 0 Off Division ratio /256 /128 /64 /32 /16 /8 /4 /2 0 0 0 0 1 On P8TS3[2:0] 1 1 1 1 1 0 1 0 1 1 0 0 0 1 1 0 1 0 0 0 1 0 0 0 1 On P8TS2[2:0] 1 1 1 1 1 0 1 0 1 1 0 0 0 1 1 0 1 0 0 0 1 0 0 0 0 Off Division ratio /256 /128 /64 /32 /16 /8 /4 /2 0 Off Division ratio /4096 /2048 /64 /32 /16 /8 /4 /2 0 0 0 0 8-bit timer 1 can generate the OSC3 oscillation-stabilize waiting period. 0 0 0 0 R/W R/W : selected by Prescaler clock select register (0x40181) 8-bit timer 0 can generate the DRAM refresh clock. R/W R/W : selected by Prescaler clock select register (0x40181) 8-bit timer 3 can generate the clock for the serial I/F Ch.1. 0 0 0 0 R/W R/W : selected by Prescaler clock select register (0x40181) 8-bit timer 2 can generate the clock for the serial I/F Ch.0. A-19 4 PERIPHERAL CIRCUITS Table 4.2.1 I/O Memory Map (continue) Register name Address Bit A/D clock 004014F control register (B) D7-4 D3 D2 D1 D0 A-20 Name - PSONAD PSAD2 PSAD1 PSAD0 Function Setting reserved A/D converter clock control A/D converter clock division ratio selection - EPSON 1 On P8TS0[2:0] 1 1 1 1 1 0 1 0 1 1 0 0 0 1 1 0 1 0 0 0 1 0 0 0 0 Off Division ratio /256 /128 /64 /32 /16 /8 /4 /2 Init. R/W - 0 0 0 0 Remarks - 0 when being read. R/W R/W : selected by Prescaler clock select register (0x40181) S1C33T01 PRODUCT PART 4 PERIPHERAL CIRCUITS Table 4.2.1 I/O Memory Map (continue) Register name Address Clock timer Run/Stop register 0040151 (B) Clock timer 0040152 interrupt (B) control register Clock timer 0040153 divider register (B) Clock timer second register Bit Name D7-2 - D1 TCRST D0 TCRUN Function reserved Clock timer reset Clock timer Run/Stop control Setting Init. R/W - 1 Reset 1 Run - 0 when being read. W 0 when being read. R/W X X X R/W X X X R/W X X R/W Reset by writing 1. R/W Reset by writing 1. Low Low Low Low Low Low Low Low X X X X X X X X R R R R R R R R - R 0 Invalid 0 Stop D7 D6 D5 TCISE2 TCISE1 TCISE0 Clock timer interrupt factor selection D4 D3 D2 TCASE2 TCASE1 TCASE0 D1 D0 TCIF TCAF TCISE[2:0] Interrupt factor 1 1 1 None 1 1 0 Day 1 0 1 Hour 1 0 0 Minute 0 1 1 1 Hz 0 1 0 2 Hz 0 0 1 8 Hz 0 0 0 32 Hz Alarm factor Clock timer alarm factor selection TCASE[2:0] 1 X X Day X 1 X Hour X X 1 Minute 0 0 0 None 1 Generated 0 Not generated Interrupt factor generation flag 1 Generated 0 Not generated Alarm factor generation flag D7 D6 D5 D4 D3 D2 D1 D0 TCD7 TCD6 TCD5 TCD4 TCD3 TCD2 TCD1 TCD0 Clock timer data 1 Hz Clock timer data 2 Hz Clock timer data 4 Hz Clock timer data 8 Hz Clock timer data 16 Hz Clock timer data 32 Hz Clock timer data 64 Hz Clock timer data 128 Hz 1 1 1 1 1 1 1 1 High High High High High High High High 0 0 0 0 0 0 0 0 Remarks - X X 0040154 (B) D7-6 D5 D4 D3 D2 D1 D0 - TCMD5 TCMD4 TCMD3 TCMD2 TCMD1 TCMD0 reserved Clock timer second counter data TCMD5 = MSB TCMD0 = LSB - 0 to 59 seconds - X X X X X X Clock timer 0040155 minute register (B) D7-6 D5 D4 D3 D2 D1 D0 - TCHD5 TCHD4 TCHD3 TCHD2 TCHD1 TCHD0 reserved Clock timer minute counter data TCHD5 = MSB TCHD0 = LSB - 0 to 59 minutes - X X X X X X - 0 when being read. R/W Clock timer hour register D7-5 D4 D3 D2 D1 D0 - TCDD4 TCDD3 TCDD2 TCDD1 TCDD0 reserved Clock timer hour counter data TCDD4 = MSB TCDD0 = LSB - 0 to 23 hours - X X X X X - 0 when being read. R/W Clock timer 0040157 day (low-order) (B) register D7 D6 D5 D4 D3 D2 D1 D0 TCND7 TCND6 TCND5 TCND4 TCND3 TCND2 TCND1 TCND0 Clock timer day counter data (low-order 8 bits) TCND0 = LSB 0 to 65535 days (low-order 8 bits) X X X X X X X X R/W Clock timer day (highorder) register D7 D6 D5 D4 D3 D2 D1 D0 TCND15 TCND14 TCND13 TCND12 TCND11 TCND10 TCND9 TCND8 Clock timer day counter data (high-order 8 bits) TCND15 = MSB 0 to 65535 days (high-order 8 bits) X X X X X X X X R/W 0040156 (B) 0040158 (B) S1C33T01 PRODUCT PART EPSON 0 when being read. A-21 4 PERIPHERAL CIRCUITS Table 4.2.1 I/O Memory Map (continue) Register name Address Clock timer minute comparison register 0040159 (B) Clock timer hour comparison register Clock timer day comparison register A-22 Bit D7-6 D5 D4 D3 D2 D1 D0 Name - TCCH5 TCCH4 TCCH3 TCCH2 TCCH1 TCCH0 Function reserved Clock timer minute comparison data TCCH5 = MSB TCCH0 = LSB Setting Init. R/W Remarks - 0 to 59 minutes (Note) Can be set within 0-63. - X X X X X X - 0 when being read. R/W 004015A D7-5 - (B) D4 TCCD4 D3 TCCD3 D2 TCCD2 D1 TCCD1 D0 TCCD0 reserved - 0 to 23 hours Clock timer hour comparison data (Note) Can be set within 0-31. TCCD4 = MSB TCCD0 = LSB - X X X X X - 0 when being read. R/W 004015B D7-5 - (B) D4 TCCN4 D3 TCCN3 D2 TCCN2 D1 TCCN1 D0 TCCN0 reserved Clock timer day comparison data TCCN4 = MSB TCCN0 = LSB - X X X X X - 0 when being read. R/W Compared with TCND[4:0]. EPSON - 0 to 31 days S1C33T01 PRODUCT PART 4 PERIPHERAL CIRCUITS Table 4.2.1 I/O Memory Map (continue) Register name Address Bit 8-bit timer 0 0040160 control register (B) D7-3 D2 D1 D0 Name Function - PTOUT0 PSET0 PTRUN0 reserved 8-bit timer 0 clock output control 8-bit timer 0 preset 8-bit timer 0 Run/Stop control Setting - 1 On 1 Preset 1 Run 0 Off 0 Invalid 0 Stop Init. R/W Remarks - 0 - 0 - 0 when being read. R/W W 0 when being read. R/W 8-bit timer 0 reload data register 0040161 (B) D7 D6 D5 D4 D3 D2 D1 D0 RLD07 RLD06 RLD05 RLD04 RLD03 RLD02 RLD01 RLD00 8-bit timer 0 reload data RLD07 = MSB RLD00 = LSB 0 to 255 X X X X X X X X R/W 8-bit timer 0 counter data register 0040162 (B) D7 D6 D5 D4 D3 D2 D1 D0 PTD07 PTD06 PTD05 PTD04 PTD03 PTD02 PTD01 PTD00 8-bit timer 0 counter data PTD07 = MSB PTD00 = LSB 0 to 255 X X X X X X X X R - PTOUT1 PSET1 PTRUN1 reserved 8-bit timer 1 clock output control 8-bit timer 1 preset 8-bit timer 1 Run/Stop control - - 0 - 0 - 0 when being read. R/W W 0 when being read. R/W 8-bit timer 1 0040164 control register (B) D7-3 D2 D1 D0 1 On 1 Preset 1 Run 0 Off 0 Invalid 0 Stop 8-bit timer 1 reload data register 0040165 (B) D7 D6 D5 D4 D3 D2 D1 D0 RLD17 RLD16 RLD15 RLD14 RLD13 RLD12 RLD11 RLD10 8-bit timer 1 reload data RLD17 = MSB RLD10 = LSB 0 to 255 X X X X X X X X R/W 8-bit timer 1 counter data register 0040166 (B) D7 D6 D5 D4 D3 D2 D1 D0 PTD17 PTD16 PTD15 PTD14 PTD13 PTD12 PTD11 PTD10 8-bit timer 1 counter data PTD17 = MSB PTD10 = LSB 0 to 255 X X X X X X X X R - PTOUT2 PSET2 PTRUN2 reserved 8-bit timer 2 clock output control 8-bit timer 2 preset 8-bit timer 2 Run/Stop control - - 0 - 0 - 0 when being read. R/W W 0 when being read. R/W 8-bit timer 2 0040168 control register (B) D7-3 D2 D1 D0 1 On 1 Preset 1 Run 0 Off 0 Invalid 0 Stop 8-bit timer 2 reload data register 0040169 (B) D7 D6 D5 D4 D3 D2 D1 D0 RLD27 RLD26 RLD25 RLD24 RLD23 RLD22 RLD21 RLD20 8-bit timer 2 reload data RLD27 = MSB RLD20 = LSB 0 to 255 X X X X X X X X R/W 8-bit timer 2 counter data register 004016A (B) D7 D6 D5 D4 D3 D2 D1 D0 PTD27 PTD26 PTD25 PTD24 PTD23 PTD22 PTD21 PTD20 8-bit timer 2 counter data PTD27 = MSB PTD20 = LSB 0 to 255 X X X X X X X X R S1C33T01 PRODUCT PART EPSON A-23 4 PERIPHERAL CIRCUITS Table 4.2.1 I/O Memory Map (continue) Register name Address Bit Name Function 8-bit timer 3 004016C D7-3 - control register (B) D2 PTOUT3 D1 PSET3 D0 PTRUN3 reserved 8-bit timer 3 clock output control 8-bit timer 3 preset 8-bit timer 3 Run/Stop control 8-bit timer 3 reload data register 004016D (B) D7 D6 D5 D4 D3 D2 D1 D0 RLD37 RLD36 RLD35 RLD34 RLD33 RLD32 RLD31 RLD30 8-bit timer 3 reload data RLD37 = MSB RLD30 = LSB 8-bit timer 3 counter data register 004016E (B) D7 D6 D5 D4 D3 D2 D1 D0 PTD37 PTD36 PTD35 PTD34 PTD33 PTD32 PTD31 PTD30 8-bit timer 3 counter data PTD37 = MSB PTD30 = LSB A-24 EPSON Setting - 1 On 1 Preset 1 Run Init. R/W Remarks - 0 - 0 - 0 when being read. R/W W 0 when being read. R/W 0 to 255 X X X X X X X X R/W 0 to 255 X X X X X X X X R 0 Off 0 Invalid 0 Stop S1C33T01 PRODUCT PART 4 PERIPHERAL CIRCUITS Table 4.2.1 I/O Memory Map (continue) Register name Address Bit Name Function Setting Init. R/W Remarks Watchdog 0040170 timer write(B) protect register D7 WRWD D6-0 - EWD write protection - 1 Write enabled 0 Write-protect - 0 - R/W - 0 when being read. Watchdog timer enable register D7-2 - D1 EWD D0 - - Watchdog timer enable - - 1 NMI enabled 0 NMI disabled - - 0 - - 0 when being read. R/W - 0 when being read. D7-3 D2 D1 D0 - PTOUT4 PSET4 PTRUN4 reserved 8-bit timer 4 clock output control 8-bit timer 4 preset 8-bit timer 4 Run/Stop control - 1 On 1 Preset 1 Run - 0 - 0 - 0 when being read. R/W W 0 when being read. R/W 0040171 (B) 8-bit timer 4 0040174 control register (B) 0 Off 0 Invalid 0 Stop 8-bit timer 4 reload data register 0040175 (B) D7 D6 D5 D4 D3 D2 D1 D0 RLD47 RLD46 RLD45 RLD44 RLD43 RLD42 RLD41 RLD40 8-bit timer 4 reload data RLD47 = MSB RLD40 = LSB 0 to 255 X X X X X X X X R/W 8-bit timer 4 counter data register 0040176 (B) D7 D6 D5 D4 D3 D2 D1 D0 PTD47 PTD46 PTD45 PTD44 PTD43 PTD42 PTD41 PTD40 8-bit timer 4 counter data PTD47 = MSB PTD40 = LSB 0 to 255 X X X X X X X X R - PTOUT5 PSET5 PTRUN5 reserved 8-bit timer 5 clock output control 8-bit timer 5 preset 8-bit timer 5 Run/Stop control - - 0 - 0 - 0 when being read. R/W W 0 when being read. R/W 8-bit timer 5 0040178 control register (B) D7-3 D2 D1 D0 1 On 1 Preset 1 Run 0 Off 0 Invalid 0 Stop 8-bit timer 5 reload data register 0040179 (B) D7 D6 D5 D4 D3 D2 D1 D0 RLD57 RLD56 RLD55 RLD54 RLD53 RLD52 RLD51 RLD50 8-bit timer 5 reload data RLD57 = MSB RLD50 = LSB 0 to 255 X X X X X X X X R/W 8-bit timer 5 counter data register 004017A (B) D7 D6 D5 D4 D3 D2 D1 D0 PTD57 PTD56 PTD55 PTD54 PTD53 PTD52 PTD51 PTD50 8-bit timer 5 counter data PTD57 = MSB PTD50 = LSB 0 to 255 X X X X X X X X R S1C33T01 PRODUCT PART EPSON A-25 4 PERIPHERAL CIRCUITS Table 4.2.1 I/O Memory Map (continue) Register name Address Bit Name Power control register D7 D6 CLKDT1 CLKDT0 System clock division ratio selection D5 D4-3 D2 D1 D0 PSCON - CLKCHG SOSC3 SOSC1 Prescaler On/Off control reserved 1 OSC3 CPU operating clock switch High-speed (OSC3) oscillation On/Off 1 On Low-speed (OSC1) oscillation On/Off 1 On 0040180 (B) Function Setting CLKDT[1:0] 1 1 1 0 0 1 0 0 1 On R/W 1 0 1 1 1 R/W - Writing 1 not allowed. R/W R/W R/W - 0 0 - R/W - 0 1 0 0 - 0 when being read. R/W R/W - Do not write 1. R/W 0 0 0 0 0 0 0 0 R/W D7-1 - D0 PSCDT0 reserved Prescaler clock selection Clock option register D7-4 D3 D2 D1 D0 - HLT2OP 8T1ON - PF1ON - HALT clock option OSC3-stabilize waiting function reserved OSC1 external output control CLGP7 CLGP6 CLGP5 CLGP4 CLGP3 CLGP2 CLGP1 CLGP0 Power control register protect flag Writing 10010110 (0x96) removes the write protection of the power control register (0x40180) and the clock option register(0x40190). Writing another value set the write protection. Power control 004019E protect register (B) A-26 D7 D6 D5 D4 D3 D2 D1 D0 EPSON 1 OSC1 0 OSC3/PLL - 1 On 1 Off 0 Off 0 On - 1 On Remarks 0 0 Prescaler clock 0040181 select register (B) 0040190 (B) Init. R/W Division ratio 1/8 1/4 1/2 1/1 0 Off - 0 OSC1 0 Off 0 Off 0 Off S1C33T01 PRODUCT PART 4 PERIPHERAL CIRCUITS Table 4.2.1 I/O Memory Map (continue) Register name Address Bit Name Serial I/F Ch.0 transmit data register 00401E0 (B) D7 D6 D5 D4 D3 D2 D1 D0 TXD07 TXD06 TXD05 TXD04 TXD03 TXD02 TXD01 TXD00 Serial I/F Ch.0 transmit data TXD07(06) = MSB TXD00 = LSB Function 0x0 to 0xFF(0x7F) X X X X X X X X Serial I/F Ch.0 receive data register 00401E1 (B) D7 D6 D5 D4 D3 D2 D1 D0 RXD07 RXD06 RXD05 RXD04 RXD03 RXD02 RXD01 RXD00 Serial I/F Ch.0 receive data RXD07(06) = MSB RXD00 = LSB 0x0 to 0xFF(0x7F) X X X X X X X X R 7-bit asynchronous mode does not use RXD07 (fixed at 0). - - 0 0 0 0 1 0 - R R/W R/W R/W R R 0 when being read. 1 Enabled 0 Disabled 1 Enabled 0 Disabled 1 With parity 0 No parity 1 Odd 0 Even 1 2 bits 0 1 bit 1 #SCLK0 0 Internal clock SMD0[1:0] Transfer mode 1 1 8-bit asynchronous 1 0 7-bit asynchronous Clock sync. Slave 0 1 Clock sync. Master 0 0 0 0 X X X X X X R/W R/W R/W Valid only in R/W asynchronous mode. R/W R/W R/W - - X X X X X - 0 when being read. R/W R/W Valid only in R/W asynchronous mode. R/W Serial I/F Ch.0 00401E2 D7-6 - status register (B) D5 TEND0 D4 FER0 D3 PER0 D2 OER0 D1 TDBE0 D0 RDBF0 - Ch.0 transmit-completion flag Ch.0 flaming error flag Ch.0 parity error flag Ch.0 overrun error flag Ch.0 transmit data buffer empty Ch.0 receive data buffer full Serial I/F Ch.0 00401E3 control register (B) Ch.0 transmit enable Ch.0 receive enable Ch.0 parity enable Ch.0 parity mode selection Ch.0 stop bit selection Ch.0 input clock selection Ch.0 transfer mode selection Serial I/F Ch.0 IrDA register D7 D6 D5 D4 D3 D2 D1 D0 TXEN0 RXEN0 EPR0 PMD0 STPB0 SSCK0 SMD01 SMD00 00401E4 D7-5 - (B) D4 DIVMD0 D3 IRTL0 D2 IRRL0 D1 IRMD01 D0 IRMD00 S1C33T01 PRODUCT PART - Ch.0 async. clock division ratio Ch.0 IrDA I/F output logic inversion Ch.0 IrDA I/F input logic inversion Ch.0 interface mode selection EPSON Setting 1 1 1 1 1 1 Transmitting Error Error Error Empty Buffer full 1 1/8 1 Inverted 1 Inverted IRMD0[1:0] 1 1 1 0 0 1 0 0 0 0 0 0 0 0 Init. R/W End Normal Normal Normal Buffer full Empty 0 1/16 0 Direct 0 Direct I/F mode reserved IrDA 1.0 reserved General I/F Remarks R/W 7-bit asynchronous mode does not use TXD07. Reset by writing 0. Reset by writing 0. Reset by writing 0. A-27 4 PERIPHERAL CIRCUITS Table 4.2.1 I/O Memory Map (continue) Register name Address Bit Name Serial I/F Ch.1 transmit data register 00401E5 (B) D7 D6 D5 D4 D3 D2 D1 D0 TXD17 TXD16 TXD15 TXD14 TXD13 TXD12 TXD11 TXD10 Serial I/F Ch.1 transmit data TXD17(16) = MSB TXD10 = LSB Function 0x0 to 0xFF(0x7F) X X X X X X X X Serial I/F Ch.1 receive data register 00401E6 (B) D7 D6 D5 D4 D3 D2 D1 D0 RXD17 RXD16 RXD15 RXD14 RXD13 RXD12 RXD11 RXD10 Serial I/F Ch.1 receive data RXD17(16) = MSB RXD10 = LSB 0x0 to 0xFF(0x7F) X X X X X X X X R 7-bit asynchronous mode does not use RXD17 (fixed at 0). - - 0 0 0 0 1 0 - R R/W R/W R/W R R 0 when being read. 1 Enabled 0 Disabled 1 Enabled 0 Disabled 1 With parity 0 No parity 1 Odd 0 Even 1 2 bits 0 1 bit 1 #SCLK1 0 Internal clock SMD1[1:0] Transfer mode 1 1 8-bit asynchronous 1 0 7-bit asynchronous Clock sync. Slave 0 1 Clock sync. Master 0 0 0 0 X X X X X X R/W R/W R/W Valid only in R/W asynchronous mode. R/W R/W R/W - - X X X X X - 0 when being read. R/W R/W Valid only in R/W asynchronous mode. R/W R/W 7-bit asynchronous mode does not use TXD27. Serial I/F Ch.1 00401E7 D7-6 - status register (B) D5 TEND1 D4 FER1 D3 PER1 D2 OER1 D1 TDBE1 D0 RDBF1 - Ch.1 transmit-completion flag Ch.1 flaming error flag Ch.1 parity error flag Ch.1 overrun error flag Ch.1 transmit data buffer empty Ch.1 receive data buffer full Serial I/F Ch.1 00401E8 control register (B) Ch.1 transmit enable Ch.1 receive enable Ch.1 parity enable Ch.1 parity mode selection Ch.1 stop bit selection Ch.1 input clock selection Ch.1 transfer mode selection D7 D6 D5 D4 D3 D2 D1 D0 TXEN1 RXEN1 EPR1 PMD1 STPB1 SSCK1 SMD11 SMD10 Setting 1 1 1 1 1 1 Transmitting Error Error Error Empty Buffer full 0 0 0 0 0 0 Init. R/W End Normal Normal Normal Buffer full Empty Remarks R/W 7-bit asynchronous mode does not use TXD17. Reset by writing 0. Reset by writing 0. Reset by writing 0. Serial I/F Ch.1 IrDA register 00401E9 D7-5 - (B) D4 DIVMD1 D3 IRTL1 D2 IRRL1 D1 IRMD11 D0 IRMD10 - Ch.1 async. clock division ratio Ch.1 IrDA I/F output logic inversion Ch.1 IrDA I/F input logic inversion Ch.1 interface mode selection Serial I/F Ch.2 transmit data register 00401F0 (B) D7 D6 D5 D4 D3 D2 D1 D0 TXD27 TXD26 TXD25 TXD24 TXD23 TXD22 TXD21 TXD20 Serial I/F Ch.2 transmit data TXD27(26) = MSB TXD20 = LSB 0x0 to 0xFF(0x7F) X X X X X X X X Serial I/F Ch.2 receive data register 00401F1 (B) D7 D6 D5 D4 D3 D2 D1 D0 RXD27 RXD26 RXD25 RXD24 RXD23 RXD22 RXD21 RXD20 Serial I/F Ch.2 receive data RXD27(26) = MSB RXD20 = LSB 0x0 to 0xFF(0x7F) X X X X X X X X R 7-bit asynchronous mode does not use RXD27 (fixed at 0). D7-6 D5 D4 D3 D2 D1 D0 - TEND2 FER2 PER2 OER2 TDBE2 RDBF2 reserved Ch.2 transmit-completion flag Ch.2 flaming error flag Ch.2 parity error flag Ch.2 overrun error flag Ch.2 transmit data buffer empty Ch.2 receive data buffer full - - 0 0 0 0 1 0 - R R/W R/W R/W R R 0 when being read. Serial I/F Ch.2 00401F2 status register (B) A-28 EPSON 1 1/8 1 Inverted 1 Inverted IRMD1[1:0] 1 1 1 0 0 1 0 0 1 1 1 1 1 1 Transmitting Error Error Error Empty Buffer full 0 1/16 0 Direct 0 Direct I/F mode reserved IrDA 1.0 reserved General I/F 0 0 0 0 0 0 End Normal Normal Normal Buffer full Empty Reset by writing 0. Reset by writing 0. Reset by writing 0. S1C33T01 PRODUCT PART 4 PERIPHERAL CIRCUITS Table 4.2.1 I/O Memory Map (continue) Register name Address Bit Name Serial I/F Ch.2 00401F3 control register (B) D7 D6 D5 D4 D3 D2 D1 D0 TXEN2 RXEN2 EPR2 PMD2 STPB2 SSCK2 SMD21 SMD20 Ch.2 transmit enable Ch.2 receive enable Ch.2 parity enable Ch.2 parity mode selection Ch.2 stop bit selection Ch.2 input clock selection Ch.2 transfer mode selection Function - DIVMD2 IRTL2 IRRL2 IRMD21 IRMD20 reserved Ch.2 async. clock division ratio Ch.2 IrDA I/F output logic inversion Ch.2 IrDA I/F input logic inversion Ch.2 interface mode selection Setting Init. R/W Remarks 1 Enabled 0 Disabled 1 Enabled 0 Disabled 1 With parity 0 No parity 1 Odd 0 Even 1 2 bits 0 1 bit 1 #SCLK2 0 Internal clock SMD2[1:0] Transfer mode 1 1 8-bit asynchronous 1 0 7-bit asynchronous Clock sync. Slave 0 1 Clock sync. Master 0 0 0 0 X X X X X X R/W R/W R/W Valid only in R/W asynchronous mode. R/W R/W R/W - - X X X X X - 0 when being read. R/W R/W Valid only in R/W asynchronous mode. R/W R/W 7-bit asynchronous mode does not use TXD37. Serial I/F Ch.2 IrDA register 00401F4 (B) D7-5 D4 D3 D2 D1 D0 Serial I/F Ch.3 transmit data register 00401F5 (B) D7 D6 D5 D4 D3 D2 D1 D0 TXD37 TXD36 TXD35 TXD34 TXD33 TXD32 TXD31 TXD30 Serial I/F Ch.3 transmit data TXD37(36) = MSB TXD30 = LSB 0x0 to 0xFF(0x7F) X X X X X X X X Serial I/F Ch.3 receive data register 00401F6 (B) D7 D6 D5 D4 D3 D2 D1 D0 RXD37 RXD36 RXD35 RXD34 RXD33 RXD32 RXD31 RXD30 Serial I/F Ch.3 receive data RXD37(36) = MSB RXD30 = LSB 0x0 to 0xFF(0x7F) X X X X X X X X R 7-bit asynchronous mode does not use RXD37 (fixed at 0). D7-6 D5 D4 D3 D2 D1 D0 - TEND3 FER3 PER3 OER3 TDBE3 RDBF3 reserved Ch.3 transmit-completion flag Ch.3 flaming error flag Ch.3 parity error flag Ch.3 overrun error flag Ch.3 transmit data buffer empty Ch.3 receive data buffer full - - 0 0 0 0 1 0 - R R/W R/W R/W R R 0 when being read. D7 D6 D5 D4 D3 D2 D1 D0 TXEN3 RXEN3 EPR3 PMD3 STPB3 SSCK3 SMD31 SMD30 Ch.3 transmit enable Ch.3 receive enable Ch.3 parity enable Ch.3 parity mode selection Ch.3 stop bit selection Ch.3 input clock selection Ch.3 transfer mode selection 1 Enabled 0 Disabled 1 Enabled 0 Disabled 1 With parity 0 No parity 1 Odd 0 Even 1 2 bits 0 1 bit 1 #SCLK3 0 Internal clock SMD3[1:0] Transfer mode 1 1 8-bit asynchronous 1 0 7-bit asynchronous Clock sync. Slave 0 1 Clock sync. Master 0 0 0 0 X X X X X X R/W R/W R/W Valid only in R/W asynchronous mode. R/W R/W R/W D7-5 D4 D3 D2 D1 D0 - DIVMD3 IRTL3 IRRL3 IRMD31 IRMD30 reserved Ch.3 async. clock division ratio Ch.3 IrDA I/F output logic inversion Ch.3 IrDA I/F input logic inversion Ch.3 interface mode selection - - X X X X X - 0 when being read. R/W R/W Valid only in R/W asynchronous mode. R/W Serial I/F Ch.3 00401F7 status register (B) Serial I/F Ch.3 00401F8 control register (B) Serial I/F Ch.3 IrDA register 00401F9 (B) S1C33T01 PRODUCT PART EPSON 1 1/8 1 Inverted 1 Inverted IRMD2[1:0] 1 1 1 0 0 1 0 0 1 1 1 1 1 1 0 1/16 0 Direct 0 Direct I/F mode reserved IrDA 1.0 reserved General I/F Transmitting Error Error Error Empty Buffer full 1 1/8 1 Inverted 1 Inverted IRMD3[1:0] 1 1 1 0 0 1 0 0 0 0 0 0 0 0 End Normal Normal Normal Buffer full Empty 0 1/16 0 Direct 0 Direct I/F mode reserved IrDA 1.0 reserved General I/F Reset by writing 0. Reset by writing 0. Reset by writing 0. A-29 4 PERIPHERAL CIRCUITS Table 4.2.1 I/O Memory Map (continue) Register name Address Bit A/D conversion 0040240 result (low(B) order) register D7 D6 D5 D4 D3 D2 D1 D0 Name ADD7 ADD6 ADD5 ADD4 ADD3 ADD2 ADD1 ADD0 Function 0 0 0 0 0 0 0 0 R - 0x0 to 0x3FF (high-order 2 bits) - 0 0 - R - - 0 0 0 D7-2 - D1 ADD9 D0 ADD8 - A/D converted data (high-order 2 bits) ADD9 = MSB A/D trigger register D7-6 D5 D4 D3 - MS TS1 TS0 - A/D conversion mode selection A/D conversion trigger selection D2 D1 D0 CH2 CH1 CH0 A/D conversion channel status D7-6 D5 D4 D3 - CE2 CE1 CE0 - A/D converter end channel selection D2 D1 D0 CS2 CS1 CS0 A/D converter start channel selection - ADF ADE ADST OWE - Conversion-complete flag A/D enable A/D conversion control/status Overwrite error flag A/D channel register 0040243 (B) A/D enable register 0040244 (B) D7-4 D3 D2 D1 D0 A/D sampling register 0040245 (B) D7-2 - D1 ST1 D0 ST0 A-30 Init. R/W 0x0 to 0x3FF (low-order 8 bits) A/D conversion 0040241 result (high(B) order) register 0040242 (B) Setting A/D converted data (low-order 8 bits) ADD0 = LSB - Input signal sampling time setup EPSON 1 Continuous TS[1:0] 1 1 1 0 0 1 0 0 CH[2:0] 1 1 1 1 1 0 1 0 1 1 0 0 0 1 1 0 1 0 0 0 1 0 0 0 CE[2:0] 1 1 1 1 1 0 1 0 1 1 0 0 0 1 1 0 1 0 0 0 1 0 0 0 CS[2:0] 1 1 1 1 1 0 1 0 1 1 0 0 0 1 1 0 1 0 0 0 1 0 0 0 1 1 1 1 Completed Enabled Start/Run Error ST[1:0] 1 1 1 0 0 1 0 0 0 Normal Trigger #ADTRG pin 8-bit timer 0 16-bit timer 0 Software Channel AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0 0 0 0 Remarks 0 when being read. - 0 when being read. R/W R/W R - End channel AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0 Start channel AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0 - 0 0 0 - 0 when being read. R/W 0 0 0 R/W - - 0 0 0 0 - 0 when being read. R Reset when ADD is read. R/W R/W R/W Reset by writing 0. - 1 1 - 0 when being read. R/W Use with 9 clocks. 0 0 0 0 Run/Standby Disabled Stop Normal - Sampring time 9 clocks 7 clocks 5 clocks 3 clocks S1C33T01 PRODUCT PART 4 PERIPHERAL CIRCUITS Table 4.2.1 I/O Memory Map (continue) Register name Address Bit Port input 0/1 0040260 interrupt (B) priority register D7 D6 D5 D4 D3 D2 D1 D0 - PP1L2 PP1L1 PP1L0 - PP0L2 PP0L1 PP0L0 reserved Port input 1 interrupt level - 0 to 7 reserved Port input 0 interrupt level - 0 to 7 D7 D6 D5 D4 D3 D2 D1 D0 - PP3L2 PP3L1 PP3L0 - PP2L2 PP2L1 PP2L0 reserved Port input 3 interrupt level - 0 to 7 reserved Port input 2 interrupt level - 0 to 7 D7 D6 D5 D4 D3 D2 D1 D0 - PK1L2 PK1L1 PK1L0 - PK0L2 PK0L1 PK0L0 reserved Key input 1 interrupt level - 0 to 7 reserved Key input 0 interrupt level - 0 to 7 D7 D6 D5 D4 D3 D2 D1 D0 - PHSD1L2 PHSD1L1 PHSD1L0 - PHSD0L2 PHSD0L1 PHSD0L0 reserved High-speed DMA Ch.1 interrupt level - 0 to 7 reserved High-speed DMA Ch.0 interrupt level - 0 to 7 D7 D6 D5 D4 D3 D2 D1 D0 - PHSD3L2 PHSD3L1 PHSD3L0 - PHSD2L2 PHSD2L1 PHSD2L0 reserved High-speed DMA Ch.3 interrupt level - 0 to 7 reserved High-speed DMA Ch.2 interrupt level - 0 to 7 - PDM2 PDM1 PDM0 reserved IDMA interrupt level Port input 2/3 0040261 interrupt (B) priority register Key input 0040262 interrupt (B) priority register High-speed 0040263 DMA Ch.0/1 (B) interrupt priority register High-speed 0040264 DMA Ch.2/3 (B) interrupt priority register Name Function Setting - 0 when being read. R/W - X X X - X X X - 0 when being read. R/W - X X X - X X X - 0 when being read. R/W - X X X - X X X - 0 when being read. R/W - X X X - X X X - 0 when being read. R/W - 0 to 7 - X X X - 0 when being read. R/W - X X X - X X X - 0 when being read. R/W - X X X - X X X - 0 when being read. R/W - X X X - X X X - 0 when being read. R/W D7-3 D2 D1 D0 16-bit timer 0/1 0040266 interrupt (B) priority register D7 D6 D5 D4 D3 D2 D1 D0 - P16T12 P16T11 P16T10 - P16T02 P16T01 P16T00 reserved 16-bit timer 1 interrupt level - 0 to 7 reserved 16-bit timer 0 interrupt level - 0 to 7 D7 D6 D5 D4 D3 D2 D1 D0 - P16T32 P16T31 P16T30 - P16T22 P16T21 P16T20 reserved 16-bit timer 3 interrupt level - 0 to 7 reserved 16-bit timer 2 interrupt level - 0 to 7 D7 D6 D5 D4 D3 D2 D1 D0 - P16T52 P16T51 P16T50 - P16T42 P16T41 P16T40 reserved 16-bit timer 5 interrupt level - 0 to 7 reserved 16-bit timer 4 interrupt level - 0 to 7 16-bit timer 4/5 0040268 interrupt (B) priority register S1C33T01 PRODUCT PART EPSON Remarks - X X X - X X X IDMA interrupt 0040265 priority register (B) 16-bit timer 2/3 0040267 interrupt (B) priority register Init. R/W - 0 when being read. R/W - 0 when being read. R/W - 0 when being read. R/W - 0 when being read. R/W - 0 when being read. R/W - 0 when being read. R/W - 0 when being read. R/W - 0 when being read. R/W A-31 4 PERIPHERAL CIRCUITS Table 4.2.1 I/O Memory Map (continue) Register name Address Bit 8-bit timer, 0040269 serial I/F Ch.0 (B) interrupt priority register D7 D6 D5 D4 D3 D2 D1 D0 - PSIO02 PSIO01 PSIO00 - P8TM2 P8TM1 P8TM0 reserved Serial interface Ch.0 interrupt level - 0 to 7 reserved 8-bit timer 0-5 interrupt level - 0 to 7 D7 D6 D5 D4 D3 D2 D1 D0 - PAD2 PAD1 PAD0 - PSIO12 PSIO11 PSIO10 reserved A/D converter interrupt level - 0 to 7 reserved Serial interface Ch.1 interrupt level - 0 to 7 Clock timer 004026B D7-3 - interrupt (B) D2 PCTM2 priority register D1 PCTM1 D0 PCTM0 reserved Clock timer interrupt level Port input 4/5 004026C interrupt (B) priority register Serial I/F Ch.1, 004026A A/D interrupt (B) priority register Port input 6/7 004026D interrupt (B) priority register Serial I/F 004026E Ch.2/3 (B) interrupt priority register A-32 Name Function Setting Remarks - X X X - X X X - 0 when being read. R/W - X X X - X X X - 0 when being read. R/W - 0 to 7 - X X X - Writing 1 not allowed. R/W - X X X - X X X - 0 when being read. R/W - X X X - X X X - 0 when being read. R/W - X X X - X X X - 0 when being read. R/W D7 D6 D5 D4 D3 D2 D1 D0 - PP5L2 PP5L1 PP5L0 - PP4L2 PP4L1 PP4L0 reserved Port input 5 interrupt level - 0 to 7 reserved Port input 4 interrupt level - 0 to 7 D7 D6 D5 D4 D3 D2 D1 D0 - PP7L2 PP7L1 PP7L0 - PP6L2 PP6L1 PP6L0 reserved Port input 7 interrupt level - 0 to 7 reserved Port input 6 interrupt level - 0 to 7 D7 D6 D5 D4 D3 D2 D1 D0 - PSIO32 PSIO31 PSIO30 - PSIO22 PSIO21 PSIO20 reserved Serial interface Ch.3 interrupt level - 0 to 7 reserved Serial interface Ch.2 interrupt level - 0 to 7 EPSON Init. R/W - 0 when being read. R/W - 0 when being read. R/W - 0 when being read. R/W - 0 when being read. R/W - 0 when being read. R/W S1C33T01 PRODUCT PART 4 PERIPHERAL CIRCUITS Table 4.2.1 I/O Memory Map (continue) Register name Address Bit Name Key input, 0040270 port input 0-3 (B) interrupt enable register D7-6 D5 D4 D3 D2 D1 D0 - EK1 EK0 EP3 EP2 EP1 EP0 reserved Key input 1 Key input 0 Port input 3 Port input 2 Port input 1 Port input 0 Function DMA interrupt 0040271 enable register (B) D7-5 D4 D3 D2 D1 D0 - EIDMA EHDM3 EHDM2 EHDM1 EHDM0 reserved IDMA High-speed DMA Ch.3 High-speed DMA Ch.2 High-speed DMA Ch.1 High-speed DMA Ch.0 16-bit timer 0/1 0040272 interrupt (B) enable register D7 D6 D5-4 D3 D2 D1-0 E16TC1 E16TU1 - E16TC0 E16TU0 - D7 D6 D5-4 D3 D2 D1-0 Setting Init. R/W - 1 Enabled 0 Disabled - 1 Enabled 0 Disabled 16-bit timer 1 comparison A 16-bit timer 1 comparison B reserved 16-bit timer 0 comparison A 16-bit timer 0 comparison B reserved 1 Enabled 0 Disabled E16TC3 E16TU3 - E16TC2 E16TU2 - 16-bit timer 3 comparison A 16-bit timer 3 comparison B reserved 16-bit timer 2 comparison A 16-bit timer 2 comparison B reserved 1 Enabled D7 D6 D5-4 D3 D2 D1-0 E16TC5 E16TU5 - E16TC4 E16TU4 - 16-bit timer 5 comparison A 16-bit timer 5 comparison B reserved 16-bit timer 4 comparison A 16-bit timer 4 comparison B reserved 1 Enabled 8-bit timer 0040275 interrupt (B) enable register D7-4 D3 D2 D1 D0 - E8TU3 E8TU2 E8TU1 E8TU0 reserved 8-bit timer 3 underflow 8-bit timer 2 underflow 8-bit timer 1 underflow 8-bit timer 0 underflow Serial I/F Ch.0/1 0040276 interrupt (B) enable register D7-6 D5 D4 D3 D2 D1 D0 - ESTX1 ESRX1 ESERR1 ESTX0 ESRX0 ESERR0 reserved SIF Ch.1 transmit buffer empty SIF Ch.1 receive buffer full SIF Ch.1 receive error SIF Ch.0 transmit buffer empty SIF Ch.0 receive buffer full SIF Ch.0 receive error Port input 4-7, 0040277 clock timer, (B) A/D interrupt enable register D7-6 D5 D4 D3 D2 D1 D0 - EP7 EP6 EP5 EP4 ECTM EADE reserved Port input 7 Port input 6 Port input 5 Port input 4 Clock timer A/D converter 8-bit timer 0040278 interrupt (B) enable register D7-2 - D1 E8TU1 D0 E8TU0 reserved 8-bit timer 5 underflow 8-bit timer 4 underflow Serial I/F 0040279 Ch.2/3 (B) interrupt enable register D7-6 D5 D4 D3 D2 D1 D0 reserved SIF Ch.3 transmit buffer empty SIF Ch.3 receive buffer full SIF Ch.3 receive error SIF Ch.2 transmit buffer empty SIF Ch.2 receive buffer full SIF Ch.2 receive error 16-bit timer 2/3 0040273 interrupt (B) enable register 16-bit timer 4/5 0040274 interrupt (B) enable register S1C33T01 PRODUCT PART - ESTX3 ESRX3 ESERR3 ESTX2 ESRX2 ESERR2 - 1 Enabled 0 Disabled - 0 Disabled - 1 Enabled 0 Disabled - 0 Disabled - 1 Enabled 0 Disabled - - 1 Enabled 0 Disabled - 1 Enabled 0 Disabled - 1 Enabled EPSON 0 Disabled - 1 Enabled 0 Disabled - 1 Enabled 0 Disabled Remarks - 0 0 0 0 0 0 - 0 when being read. R/W R/W R/W R/W R/W R/W - 0 0 0 0 0 - 0 when being read. R/W R/W R/W R/W R/W 0 0 - 0 0 - R/W R/W - 0 when being read. R/W R/W - 0 when being read. 0 0 - 0 0 - R/W R/W - 0 when being read. R/W R/W - 0 when being read. 0 0 - 0 0 - R/W R/W - 0 when being read. R/W R/W - 0 when being read. - 0 0 0 0 - 0 when being read. R/W R/W R/W R/W - 0 0 0 0 0 0 - 0 when being read. R/W R/W R/W R/W R/W R/W - 0 0 0 0 0 0 - 0 when being read. R/W R/W R/W R/W R/W R/W - 0 0 - 0 when being read. R/W R/W - 0 0 0 0 0 0 - 0 when being read. R/W R/W R/W R/W R/W R/W A-33 4 PERIPHERAL CIRCUITS Table 4.2.1 I/O Memory Map (continue) Register name Address Bit Name Key input, 0040280 port input 0-3 (B) interrupt factor flag register D7-6 D5 D4 D3 D2 D1 D0 - FK1 FK0 FP3 FP2 FP1 FP0 reserved Key input 1 Key input 0 Port input 3 Port input 2 Port input 1 Port input 0 Function DMA interrupt factor flag register 0040281 (B) D7-5 D4 D3 D2 D1 D0 - FIDMA FHDM3 FHDM2 FHDM1 FHDM0 reserved IDMA High-speed DMA Ch.3 High-speed DMA Ch.2 High-speed DMA Ch.1 High-speed DMA Ch.0 16-bit timer 0/1 0040282 interrupt factor (B) flag register D7 D6 D5-4 D3 D2 D1-0 F16TC1 F16TU1 - F16TC0 F16TU0 - D7 D6 D5-4 D3 D2 D1-0 Setting - 1 Factor is generated 0 No factor is generated - 1 Factor is generated 0 No factor is generated 16-bit timer 1 comparison A 16-bit timer 1 comparison B reserved 16-bit timer 0 comparison A 16-bit timer 0 comparison B reserved 1 Factor is generated 0 No factor is generated F16TC3 F16TU3 - F16TC2 F16TU2 - 16-bit timer 3 comparison A 16-bit timer 3 comparison B reserved 16-bit timer 2 comparison A 16-bit timer 2 comparison B reserved 1 Factor is generated D7 D6 D5-4 D3 D2 D1-0 F16TC5 F16TU5 - F16TC4 F16TU4 - 16-bit timer 5 comparison A 16-bit timer 5 comparison B reserved 16-bit timer 4 comparison A 16-bit timer 4 comparison B reserved 1 Factor is generated 8-bit timer 0040285 interrupt factor (B) flag register D7-4 D3 D2 D1 D0 - F8TU3 F8TU2 F8TU1 F8TU0 reserved 8-bit timer 3 underflow 8-bit timer 2 underflow 8-bit timer 1 underflow 8-bit timer 0 underflow Serial I/F Ch.0/1 0040286 interrupt factor (B) flag register D7-6 D5 D4 D3 D2 D1 D0 - FSTX1 FSRX1 FSERR1 FSTX0 FSRX0 FSERR0 reserved SIF Ch.1 transmit buffer empty SIF Ch.1 receive buffer full SIF Ch.1 receive error SIF Ch.0 transmit buffer empty SIF Ch.0 receive buffer full SIF Ch.0 receive error Port input 4-7, 0040287 clock timer, A/D (B) interrupt factor flag register D7-6 D5 D4 D3 D2 D1 D0 - FP7 FP6 FP5 FP4 FCTM FADE reserved Port input 7 Port input 6 Port input 5 Port input 4 Clock timer A/D converter 8-bit timer 0040288 interrupt factor (B) flag register D7-2 - D1 E8TU1 D0 E8TU0 reserved 8-bit timer 5 underflow 8-bit timer 4 underflow Serial I/F 0040289 Ch.2/3 (B) interrupt factor flag register D7-6 D5 D4 D3 D2 D1 D0 reserved SIF Ch.3 transmit buffer empty SIF Ch.3 receive buffer full SIF Ch.3 receive error SIF Ch.2 transmit buffer empty SIF Ch.2 receive buffer full SIF Ch.2 receive error 16-bit timer 2/3 0040283 interrupt factor (B) flag register 16-bit timer 4/5 0040284 interrupt factor (B) flag register A-34 - FSTX3 FSRX3 FSERR3 FSTX2 FSRX2 FSERR2 - 1 Factor is generated 0 No factor is generated - 0 No factor is generated - 1 Factor is generated 0 No factor is generated - 0 No factor is generated - 1 Factor is generated 0 No factor is generated - - 1 Factor is generated 0 No factor is generated - 1 Factor is generated 0 No factor is generated - 1 Factor is generated EPSON 0 No factor is generated - 1 Factor is generated 0 No factor is generated - 1 Factor is generated 0 No factor is generated Init. R/W Remarks - X X X X X X - 0 when being read. R/W R/W R/W R/W R/W R/W - X X X X X - 0 when being read. R/W R/W R/W R/W R/W X X - X X - R/W R/W - 0 when being read. R/W R/W - 0 when being read. X X - X X - R/W R/W - 0 when being read. R/W R/W - 0 when being read. X X - X X - R/W R/W - 0 when being read. R/W R/W - 0 when being read. - X X X X - 0 when being read. R/W R/W R/W R/W - X X X X X X - 0 when being read. R/W R/W R/W R/W R/W R/W - X X X X X X - 0 when being read. R/W R/W R/W R/W R/W R/W - X X - 0 when being read. R/W R/W - X X X X X X - 0 when being read. R/W R/W R/W R/W R/W R/W S1C33T01 PRODUCT PART 4 PERIPHERAL CIRCUITS Table 4.2.1 I/O Memory Map (continue) Register name Address Bit Name Port input 0-3, high-speed DMA Ch.0/1, 16-bit timer 0 IDMA request register 0040290 (B) D7 D6 D5 D4 D3 D2 D1 D0 R16TC0 R16TU0 RHDM1 RHDM0 RP3 RP2 RP1 RP0 16-bit timer 0 comparison A 16-bit timer 0 comparison B High-speed DMA Ch.1 High-speed DMA Ch.0 Port input 3 Port input 2 Port input 1 Port input 0 1 IDMA request 0 Interrupt request 0 0 0 0 0 0 0 0 R/W R/W R/W R/W R/W R/W R/W R/W 16-bit timer 1-4 0040291 IDMA request (B) register D7 D6 D5 D4 D3 D2 D1 D0 R16TC4 R16TU4 R16TC3 R16TU3 R16TC2 R16TU2 R16TC1 R16TU1 16-bit timer 4 comparison A 16-bit timer 4 comparison B 16-bit timer 3 comparison A 16-bit timer 3 comparison B 16-bit timer 2 comparison A 16-bit timer 2 comparison B 16-bit timer 1 comparison A 16-bit timer 1 comparison B 1 IDMA request 0 Interrupt request 0 0 0 0 0 0 0 0 R/W R/W R/W R/W R/W R/W R/W R/W 16-bit timer 5, 8-bit timer, serial I/F Ch.0 IDMA request register 0040292 (B) D7 D6 D5 D4 D3 D2 D1 D0 RSTX0 RSRX0 R8TU3 R8TU2 R8TU1 R8TU0 R16TC5 R16TU5 SIF Ch.0 transmit buffer empty SIF Ch.0 receive buffer full 8-bit timer 3 underflow 8-bit timer 2 underflow 8-bit timer 1 underflow 8-bit timer 0 underflow 16-bit timer 5 comparison A 16-bit timer 5 comparison B 1 IDMA request 0 Interrupt request 0 0 0 0 0 0 0 0 R/W R/W R/W R/W R/W R/W R/W R/W Serial I/F Ch.1, A/D, port input 4-7 IDMA request register 0040293 (B) D7 D6 D5 D4 D3 D2 D1 D0 RP7 RP6 RP5 RP4 - RADE RSTX1 RSRX1 Port input 7 Port input 6 Port input 5 Port input 4 reserved A/D converter SIF Ch.1 transmit buffer empty SIF Ch.1 receive buffer full 1 IDMA request 0 Interrupt request 1 IDMA request 0 Interrupt request 0 0 0 0 - 0 0 0 R/W R/W R/W R/W - 0 when being read. R/W R/W R/W 0040294 (B) D7 D6 D5 D4 D3 D2 D1 D0 DE16TC0 DE16TU0 DEHDM1 DEHDM0 DEP3 DEP2 DEP1 DEP0 16-bit timer 0 comparison A 16-bit timer 0 comparison B High-speed DMA Ch.1 High-speed DMA Ch.0 Port input 3 Port input 2 Port input 1 Port input 0 1 IDMA enabled 0 IDMA disabled 0 0 0 0 0 0 0 0 R/W R/W R/W R/W R/W R/W R/W R/W 16-bit timer 1-4 0040295 IDMA enable (B) register D7 D6 D5 D4 D3 D2 D1 D0 DE16TC4 DE16TU4 DE16TC3 DE16TU3 DE16TC2 DE16TU2 DE16TC1 DE16TU1 16-bit timer 4 comparison A 16-bit timer 4 comparison B 16-bit timer 3 comparison A 16-bit timer 3 comparison B 16-bit timer 2 comparison A 16-bit timer 2 comparison B 16-bit timer 1 comparison A 16-bit timer 1 comparison B 1 IDMA enabled 0 IDMA disabled 0 0 0 0 0 0 0 0 R/W R/W R/W R/W R/W R/W R/W R/W 16-bit timer 5, 8-bit timer, serial I/F Ch.0 IDMA enable register 0040296 (B) D7 D6 D5 D4 D3 D2 D1 D0 DESTX0 DESRX0 DE8TU3 DE8TU2 DE8TU1 DE8TU0 DE16TC5 DE16TU5 SIF Ch.0 transmit buffer empty SIF Ch.0 receive buffer full 8-bit timer 3 underflow 8-bit timer 2 underflow 8-bit timer 1 underflow 8-bit timer 0 underflow 16-bit timer 5 comparison A 16-bit timer 5 comparison B 1 IDMA enabled 0 IDMA disabled 0 0 0 0 0 0 0 0 R/W R/W R/W R/W R/W R/W R/W R/W Serial I/F Ch.1, A/D, port input 4-7 IDMA enable register 0040297 (B) D7 D6 D5 D4 D3 D2 D1 D0 DEP7 DEP6 DEP5 DEP4 - DEADE DESTX1 DESRX1 Port input 7 Port input 6 Port input 5 Port input 4 reserved A/D converter SIF Ch.1 transmit buffer empty SIF Ch.1 receive buffer full 1 IDMA enabled 0 IDMA disabled 0 0 0 0 - 0 0 0 R/W R/W R/W R/W - 0 when being read. R/W R/W R/W Port input 0-3, high-speed DMA Ch.0/1, 16-bit timer 0 IDMA enable register S1C33T01 PRODUCT PART Function EPSON Setting - - 1 IDMA enabled 0 IDMA disabled Init. R/W Remarks A-35 4 PERIPHERAL CIRCUITS Table 4.2.1 I/O Memory Map (continue) Register name Address Bit Name High-speed DMA Ch.0/1 trigger set-up register D7 D6 D5 D4 HSD1S3 HSD1S2 HSD1S1 HSD1S0 0040298 (B) D3 D2 D1 D0 High-speed DMA Ch.2/3 trigger set-up register 0040299 (B) D7 D6 D5 D4 D3 D2 D1 D0 HSD0S3 HSD0S2 HSD0S1 HSD0S0 HSD3S3 HSD3S2 HSD3S1 HSD3S0 HSD2S3 HSD2S2 HSD2S1 HSD2S0 High-speed 004029A D7-4 - DMA software (B) D3 HST3 trigger register D2 HST2 D1 HST1 D0 HST0 A-36 Function High-speed DMA Ch.1 trigger set-up High-speed DMA Ch.0 trigger set-up High-speed DMA Ch.3 trigger set-up High-speed DMA Ch.2 trigger set-up reserved HSDMA Ch.3 software trigger HSDMA Ch.2 software trigger HSDMA Ch.1 software trigger HSDMA Ch.0 software trigger EPSON Setting 0 1 2 3 4 5 6 7 8 9 A B C D E 0 1 2 3 4 5 6 7 8 9 A B C D E 0 1 2 3 4 5 6 7 8 9 A B C D E 0 1 2 3 4 5 6 7 8 9 A B C D E Software trigger K51 input (falling edge) K51 input (rising edge) Port 1 input Port 5 input 8-bit timer Ch.1 underflow 16-bit timer Ch.1 compare B 16-bit timer Ch.1 compare A 16-bit timer Ch.5 compare B 16-bit timer Ch.5 compare A SI/F Ch.1 Rx buffer full SI/F Ch.1 Tx buffer empty A/D conversion completion Init. R/W 0 0 0 0 R/W 0 0 0 0 R/W 0 0 0 0 R/W 0 0 0 0 R/W - 0 0 0 0 - W W W W Remarks Single-master I2C-bus Ch.1 read DMA request Single-master I2C-bus Ch.1 write DMA request Software trigger K50 input (falling edge) K50 input (rising edge) Port 0 input Port 4 input 8-bit timer Ch.0 underflow 16-bit timer Ch.0 compare B 16-bit timer Ch.0 compare A 16-bit timer Ch.4 compare B 16-bit timer Ch.4 compare A SI/F Ch.0 Rx buffer full SI/F Ch.0 Tx buffer empty A/D conversion completion Single-master I2C-bus Ch.0 read DMA request Single-master I2C-bus Ch.0 write DMA request Software trigger K54 input (falling edge) K54 input (rising edge) Port 3 input Port 7 input 8-bit timer Ch.3 underflow 16-bit timer Ch.3 compare B 16-bit timer Ch.3 compare A 16-bit timer Ch.5 compare B 16-bit timer Ch.5 compare A SI/F Ch.1 Rx buffer full SI/F Ch.1 Tx buffer empty A/D conversion completion Single-master I2C-bus Ch.1 read DMA request Single-master I2C-bus Ch.1 write DMA request Software trigger K53 input (falling edge) K53 input (rising edge) Port 2 input Port 6 input 8-bit timer Ch.2 underflow 16-bit timer Ch.2 compare B 16-bit timer Ch.2 compare A 16-bit timer Ch.4 compare B 16-bit timer Ch.4 compare A SI/F Ch.0 Rx buffer full SI/F Ch.0 Tx buffer empty A/D conversion completion Single-master I2C-bus Ch.0 read DMA request Single-master I2C-bus Ch.0 write DMA request - 1 Trigger 0 Invalid 0 when being read. S1C33T01 PRODUCT PART 4 PERIPHERAL CIRCUITS Table 4.2.1 I/O Memory Map (continue) Register name Address Bit Name Function 8-bit timer 4-5 004029B D7-6 - serial I/F Ch.2/3 (B) D5 RSTX3 IDMA request D4 RSRX3 register D3 RSTX2 D2 RSRX2 D1 R8TU5 D0 R8TU4 reserved SIF Ch.3 transmit buffer empty SIF Ch.3 receive buffer full SIF Ch.2 transmit buffer empty SIF Ch.2 receive buffer full 8-bit timer 5 underflow 8-bit timer 4 underflow 8-bit timer 4-5 004029C D7-6 - serial I/F Ch.2/3 (B) D5 DESTX3 IDMA enable D4 DESRX3 register D3 DESTX2 D2 DESRX2 D1 DE8TU5 D0 DE8TU4 reserved SIF Ch.3 transmit buffer empty SIF Ch.3 receive buffer full SIF Ch.2 transmit buffer empty SIF Ch.2 receive buffer full 8-bit timer 5 underflow 8-bit timer 4 underflow Flag set/reset method select register 004029F (B) Setting - 1 IDMA request 0 Interrupt request - 1 IDMA enabled 0 IDMA disabled D7-3 - reserved - 0 RD/WR D2 DENONLY IDMA enable register set method 1 Set only selection D1 IDMAONLY IDMA request register set method 1 Set only 0 RD/WR selection D0 RSTONLY Interrupt factor flag reset method 1 Reset only 0 RD/WR selection S1C33T01 PRODUCT PART EPSON Init. R/W Remarks - 0 0 0 0 0 0 - 0 when being read. R/W R/W R/W R/W R/W R/W - 0 0 0 0 0 0 - 0 when being read. R/W R/W R/W R/W R/W R/W - 1 - R/W 1 R/W 1 R/W A-37 4 PERIPHERAL CIRCUITS Table 4.2.1 I/O Memory Map (continue) Register name Address Bit Port input 8/9 00402A0 interrupt (B) priority register D7 D6 D5 D4 D3 D2 D1 D0 - PP9L2 PP9L1 PP9L0 - PP8L2 PP8L1 PP8L0 reserved Port input 9 interrupt level - 0 to 7 reserved Port input 8 interrupt level - 0 to 7 D7 D6 D5 D4 D3 D2 D1 D0 - PP11L2 PP11L1 PP11L0 - PP10L2 PP10L1 PP10L0 reserved Port input 11 interrupt level - 0 to 7 reserved Port input 10 interrupt level - 0 to 7 D7 D6 D5 D4 D3 D2 D1 D0 - PP13L2 PP13L1 PP13L0 - PP12L2 PP12L1 PP12L0 reserved Port input 12 interrupt level - 0 to 7 reserved Port input 13 interrupt level - 0 to 7 D7 D6 D5 D4 D3 D2 D1 D0 - PP15L2 PP15L1 PP15L0 - PP14L2 PP14L1 PP14L0 eserved Port input 15 interrupt level - 0 to 7 reserved Port input 14 interrupt level - 0 to 7 D7 D6 D5 D4 D3 D2 D1 D0 - P16T72 P16T71 P16T70 - P16T62 P16T61 P16T60 reserved 16-bit timer 7 interrupt level - 0 to 7 reserved 16-bit timer 6 interrupt level - 0 to 7 D7 D6 D5 D4 D3 D2 D1 D0 - P16T72 P16T71 P16T70 - P16T62 P16T61 P16T60 reserved 16-bit timer 9 interrupt level - 0 to 7 reserved 16-bit timer 8 interrupt level - 0 to 7 D7 D6 D5 D4 D3 D2 D1 D0 EP15 EP14 EP13 EP12 EP11 EP10 EP9 EP8 Port input 15 Port input 14 Port input 13 Port input 12 Port input 11 Port input 10 Port input 9 Port input 8 1 Enabled 16-bit timer 6/7 00402A7 D7 interrupt (B) D6 enable register D5-4 D3 D2 D1-0 E16TC7 E16TU7 - E16TC6 E16TU6 - 16-bit timer 7 comparison A 16-bit timer 7 comparison B reserved 16-bit timer 6 comparison A 16-bit timer 6 comparison B reserved 1 Enabled 16-bit timer 8/9 00402A8 D7 interrupt (B) D6 enable register D5-4 D3 D2 D1-0 E16TC9 E16TU9 - E16TC8 E16TU8 - 16-bit timer 9 comparison A 16-bit timer 9 comparison B reserved 16-bit timer 8 comparison A 16-bit timer 8 comparison B reserved 1 Enabled Port input 00402A1 10/11 interrupt (B) priority register Port input 00402A2 12/13 interrupt (B) priority register Port input 00402A3 14/15 interrupt (B) priority register 16-bit timer 6/7 00402A4 interrupt (B) priority register 16-bit timer 8/9 00402A5 interrupt (B) priority register Port input 00402A6 interrupt (B) enable register A-38 Name Function EPSON Setting - 0 when being read. R/W - X X X - X X X - 0 when being read. R/W - X X X - X X X - 0 when being read. R/W - X X X - X X X - 0 when being read. R/W - X X X - X X X - 0 when being read. R/W - X X X - X X X - 0 when being read. R/W 0 Disabled 0 0 0 0 0 0 0 0 R/W R/W R/W R/W R/W R/W R/W R/W 0 Disabled 0 0 - 0 0 - R/W R/W - 0 when being read. R/W R/W - 0 when being read. 0 0 - 0 0 - R/W R/W - 0 when being read. R/W R/W - 0 when being read. 0 Disabled - 0 Disabled - 1 Enabled 0 Disabled - Remarks - X X X - X X X - 1 Enabled Init. R/W - 0 when being read. R/W - 0 when being read. R/W - 0 when being read. R/W - 0 when being read. R/W - 0 when being read. R/W - 0 when being read. R/W S1C33T01 PRODUCT PART 4 PERIPHERAL CIRCUITS Table 4.2.1 I/O Memory Map (continue) Register name Address Bit Port input 00402A9 interrupt factor (B) flag register D7 D6 D5 D4 D3 D2 D1 D0 Name Function Setting Init. R/W Remarks FP15 FP14 FP13 FP12 FP11 FP10 FP9 FP8 Port input 15 Port input 14 Port input 13 Port input 12 Port input 11 Port input 10 Port input 9 Port input 8 1 Factor is generated 0 No factor is generated 0 0 0 0 0 0 0 0 R/W R/W R/W R/W R/W R/W R/W R/W 16-bit timer 6/7 00402AA D7 interrupt factor (B) D6 flag register D5-4 D3 D2 D1-0 F16TC7 F16TU7 - F16TC6 F16TU6 - 16-bit timer 7 comparison A 16-bit timer 7 comparison B reserved 16-bit timer 6 comparison A 16-bit timer 6 comparison B reserved 1 Factor is generated 0 No factor is generated 0 0 - 0 0 - R/W R/W - 0 when being read. R/W R/W - 0 when being read. 16-bit timer 8/9 00402AB D7 interrupt factor (B) D6 flag register D5-4 D3 D2 D1-0 F16TC9 F16TU9 - F16TC8 F16TU8 - 16-bit timer 9 comparison A 16-bit timer 9 comparison B reserved 16-bit timer 8 comparison A 16-bit timer 8 comparison B reserved 1 Factor is generated 0 0 - 0 0 - R/W R/W - 0 when being read. R/W R/W - 0 when being read. Port input IDMA request register - 1 Factor is generated 0 No factor is generated - 0 No factor is generated - 1 Factor is generated 0 No factor is generated - 00402AC (B) D7 D6 D5 D4 D3 D2 D1 D0 RP15 RP14 RP13 RP12 RP11 RP10 RP9 RP8 Port input 15 Port input 14 Port input 13 Port input 12 Port input 11 Port input 10 Port input 9 Port input 8 1 IDMA request 0 Interrupt request 0 0 0 0 0 0 0 0 R/W R/W R/W R/W R/W R/W R/W R/W 16-bit timer 6-9 00402AD IDMA request (B) register D7 D6 D5 D4 D3 D2 D1 D0 R16TC9 R16TU9 R16TC8 R16TU8 R16TC7 R16TU7 R16TC6 R16TU6 16-bit timer 9 comparison A 16-bit timer 9 comparison B 16-bit timer 8 comparison A 16-bit timer 8 comparison B 16-bit timer 7 comparison A 16-bit timer 7 comparison B 16-bit timer 6 comparison A 16-bit timer 6 comparison B 1 IDMA request 0 Interrupt request 0 0 0 0 0 0 0 0 R/W R/W R/W R/W R/W R/W R/W R/W Port input IDMA enable register 00402AE (B) D7 D6 D5 D4 D3 D2 D1 D0 DEP15 DEP14 DEP13 DEP12 DEP11 DEP10 DEP9 DEP8 Port input 15 Port input 14 Port input 13 Port input 12 Port input 11 Port input 10 Port input 9 Port input 8 1 IDMA enabled 0 IDMA disabled 0 0 0 0 0 0 0 0 R/W R/W R/W R/W R/W R/W R/W R/W 16-bit timer 6-9 00402AF IDMA enable (B) register D7 D6 D5 D4 D3 D2 D1 D0 DE16TC9 DE16TU9 DE16TC8 DE16TU8 DE16TC7 DE16TU7 DE16TC6 DE16TU6 16-bit timer 9 comparison A 16-bit timer 9 comparison B 16-bit timer 8 comparison A 16-bit timer 8 comparison B 16-bit timer 7 comparison A 16-bit timer 7 comparison B 16-bit timer 6 comparison A 16-bit timer 6 comparison B 1 IDMA enabled 0 IDMA disabled 0 0 0 0 0 0 0 0 R/W R/W R/W R/W R/W R/W R/W R/W S1C33T01 PRODUCT PART EPSON A-39 4 PERIPHERAL CIRCUITS Table 4.2.1 I/O Memory Map (continue) Register name Address Bit Single-master 00402B0 I2C-bus Ch.0/1 (B) interrupt priority register D7 D6 D5 D4 D3 D2 D1 D0 Name - P12C12 P12C11 P12C10 - P12C02 P12C01 P12C00 Function Setting reserved I2CSMST Ch.1 interrupt level - 0 to 7 reserved I2CSMST Ch.0 interrupt level - 0 to 7 Single-master 00402B1 D7-6 - I2C-bus Ch.0/1 (B) D5 E12CW1 interrupt D4 E12CR1 ebable D3 E12CI1 register D2 E12CW0 D1 E12CR0 D0 E12CI0 reserved I2CSMST Ch.1 write DMA request I2CSMST Ch.1 read DMA request I2CSMST Ch.1 request I2CSMST Ch.0 write DMA request I2CSMST Ch.0 read DMA request I2CSMST Ch.0 request Single-master 00402B2 D7-6 - I2C-bus Ch.0/1 (B) D5 F12CW1 interrupt D4 F12CR1 factor flag D3 F12CI1 register D2 F12CW0 D1 F12CR0 D0 F12CI0 reserved I2CSMST Ch.1 write DMA request I2CSMST Ch.1 read DMA request I2CSMST Ch.1 request I2CSMST Ch.0 write DMA request I2CSMST Ch.0 read DMA request I2CSMST Ch.0 request Single-master 00402B3 D7-4 - I2C-bus Ch.0/1 (B) D3 R12CW1 IDMA D2 R12CR1 request D1 R12CW0 register D0 R12CR0 reserved I2CSMST Ch.1 write DMA request 1 IDMA I2CSMST Ch.1 read DMArequest request I2CSMST Ch.0 write DMA request I2CSMST Ch.0 read DMA request - Single-master 00402B4 D7-4 - reserved I2C-bus Ch.0/1 (B) D3 DE12CW1 I2CSMST Ch.1 write DMA request 1 IDMA enabled IDMA D2 DE12CR1 I2CSMST Ch.1 read DMArequest enable D1 DE12CW0 I2CSMST Ch.0 write DMA request register D0 DE12CR0 I2CSMST Ch.0 read DMA request - K5 function select register 00402C0 D7-5 - (B) D4 CFK54 D3 CFK53 D2 CFK52 D1 CFK51 D0 CFK50 reserved K54 function selection K53 function selection K52 function selection K51 function selection K50 function selection - K5 input port data register 00402C1 D7-5 - (B) D4 K54D D3 K53D D2 K52D D1 K51D D0 K50D reserved K54 input port data K53 input port data K52 input port data K51 input port data K50 input port data K6 function select register 00402C3 (B) D7 D6 D5 D4 D3 D2 D1 D0 CFK67 CFK66 CFK65 CFK64 CFK63 CFK62 CFK61 CFK60 K6 input port data register 00402C4 (B) D7 D6 D5 D4 D3 D2 D1 D0 K67D K66D K65D K64D K63D K62D K61D K60D A-40 Init. R/W - 1 Enabled 0 Disabled - 1 Factor is generated 1 1 1 1 1 0 No factor is generated 0 Interrupt request 0 IDMA disabled #DMAREQ3 #DMAREQ2 #ADTRG #DMAREQ1 #DMAREQ0 0 0 0 0 0 K54 K53 K52 K51 K50 - - 0 when being read. R/W R/W R/W R/W R/W R/W - 0 0 0 0 0 0 - 0 when being read. R/W R/W R/W R/W R/W R/W - 0 0 0 0 - 0 when being read. R/W R/W R/W R/W - 0 0 0 0 - 0 when being read. R/W R/W R/W R/W - 0 0 0 0 0 - 0 when being read. R/W R/W R/W R/W R/W K67 K66 K65 K64 K63 K62 K61 K60 0 0 0 0 0 0 0 0 R/W R/W R/W R/W R/W R/W R/W R/W 0 Low - - - - - - - - R R R R R R R R K67 function selection K66 function selection K65 function selection K64 function selection K63 function selection K62 function selection K61 function selection K60 function selection 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 K67 input port data K66 input port data K65 input port data K64 input port data K63 input port data K62 input port data K61 input port data K60 input port data 1 High EPSON - 0 0 0 0 0 0 - 0 when being read. R/W - R R R R R 0 Low AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0 - 0 when being read. R/W - - - - - - 1 High Remarks - X X X - X X X 0 when being read. S1C33T01 PRODUCT PART 4 PERIPHERAL CIRCUITS Table 4.2.1 I/O Memory Map (continue) Register name Address Bit Port input 00402C6 interrupt select (B) register 1 D7 D6 D5 D4 D3 D2 D1 D0 SPT31 SPT30 SPT21 SPT20 SPT11 SPT10 SPT01 SPT00 FPT3 interrupt input port selection D7 D6 D5 D4 D3 D2 D1 D0 SPT71 SPT70 SPT61 SPT60 SPT51 SPT50 SPT41 SPT40 FPT7 interrupt input port selection Port input 00402C7 interrupt select (B) register 2 Name Function FPT2 interrupt input port selection FPT1 interrupt input port selection FPT0 interrupt input port selection FPT6 interrupt input port selection FPT5 interrupt input port selection FPT4 interrupt input port selection Setting Init. R/W 11 P23 11 P22 11 P21 11 P20 10 P03 10 P02 10 P01 10 P00 01 K53 01 K52 01 K51 01 K50 00 K63 00 K62 00 K61 00 K60 0 0 0 0 0 0 0 0 R/W 11 P27 11 P26 11 P25 11 P24 10 P07 10 P06 10 P05 10 P04 01 P33 01 P32 01 P31 01 K54 00 K67 00 K66 00 K65 00 K64 0 0 0 0 0 0 0 0 R/W Low level or Falling edge 1 1 1 1 1 1 1 1 R/W R/W R/W R/W R/W R/W R/W R/W 1 1 1 1 1 1 1 1 R/W R/W R/W R/W R/W R/W R/W R/W Port input interrupt input polarity select register 00402C8 (B) D7 D6 D5 D4 D3 D2 D1 D0 SPPT7 SPPT6 SPPT5 SPPT4 SPPT3 SPPT2 SPPT1 SPPT0 FPT7 input polarity selection FPT6 input polarity selection FPT5 input polarity selection FPT4 input polarity selection FPT3 input polarity selection FPT2 input polarity selection FPT1 input polarity selection FPT0 input polarity selection 1 High level 0 or Rising edge Port input interrupt edge/level select register 00402C9 (B) D7 D6 D5 D4 D3 D2 D1 D0 SEPT7 SEPT6 SEPT5 SEPT4 SEPT3 SEPT2 SEPT1 SEPT0 FPT7 edge/level selection FPT6 edge/level selection FPT5 edge/level selection FPT4 edge/level selection FPT3 edge/level selection FPT2 edge/level selection FPT1 edge/level selection FPT0 edge/level selection 1 Edge 0 Level Remarks R/W R/W R/W R/W R/W R/W Key input 00402CA D7-4 - interrupt select (B) D3 SPPK11 register D2 SPPK10 D1 SPPK01 D0 SPPK00 reserved FPK1 interrupt input port selection - 11 10 01 00 P2[7:4] P0[7:4] K6[7:4] K6[3:0] FPK0 interrupt input port selection 11 10 01 00 P2[4:0] P0[4:0] K6[4:0] K5[4:0] - 0 0 0 0 - 0 when being read. R/W Key input interrupt (FPK0) input comparison register 00402CC D7-5 - (B) D4 SCPK04 D3 SCPK03 D2 SCPK02 D1 SCPK01 D0 SCPK00 reserved FPK04 input comparison FPK03 input comparison FPK02 input comparison FPK01 input comparison FPK00 input comparison - 0 0 0 0 0 - 0 when being read. R/W R/W R/W R/W R/W Key input interrupt (FPK1) input comparison register 00402CD D7-4 - (B) D3 SCPK13 D2 SCPK12 D1 SCPK11 D0 SCPK10 reserved FPK13 input comparison FPK12 input comparison FPK11 input comparison FPK10 input comparison - 0 0 0 0 - 0 when being read. R/W R/W R/W R/W Key input interrupt (FPK0) input mask register 00402CE D7-5 - (B) D4 SMPK04 D3 SMPK03 D2 SMPK02 D1 SMPK01 D0 SMPK00 reserved FPK04 input mask FPK03 input mask FPK02 input mask FPK01 input mask FPK00 input mask - 0 0 0 0 0 - 0 when being read. R/W R/W R/W R/W R/W Key input interrupt (FPK1) input mask register 00402CF D7-4 - (B) D3 SMPK13 D2 SMPK12 D1 SMPK11 D0 SMPK10 reserved FPK13 input mask FPK12 input mask FPK11 input mask FPK10 input mask - 0 0 0 0 - 0 when being read. R/W R/W R/W R/W S1C33T01 PRODUCT PART - 1 High 0 Low - 1 High 0 Low - 1 Interrupt enabled 0 Interrupt disabled - 1 Interrupt enabled EPSON 0 Interrupt disabled R/W A-41 4 PERIPHERAL CIRCUITS Table 4.2.1 I/O Memory Map (continue) Register name Address Bit Name P0 function select register 00402D0 (B) D7 D6 D5 D4 D3 D2 D1 D0 CFP07 CFP06 CFP05 CFP04 CFP03 CFP02 CFP01 CFP00 P07 function selection P06 function selection P05 function selection P04 function selection P03 function selection P02 function selection P01 function selection P00 function selection Function 1 1 1 1 1 1 1 1 Setting P0 I/O port data 00402D1 register (B) D7 D6 D5 D4 D3 D2 D1 D0 P07D P06D P05D P04D P03D P02D P01D P00D P07 I/O port data P06 I/O port data P05 I/O port data P04 I/O port data P03 I/O port data P02 I/O port data P01 I/O port data P00 I/O port data P0 I/O control register 00402D2 (B) D7 D6 D5 D4 D3 D2 D1 D0 IOC07 IOC06 IOC05 IOC04 IOC03 IOC02 IOC01 IOC00 P1 function select register 00402D4 (B) D7 D6 0 0 0 0 0 0 0 0 Init. R/W Remarks P07 P06 P05 P04 P03 P02 P01 P00 0 0 0 0 0 0 0 0 R/W Extended functions R/W (0x402DF) R/W R/W R/W R/W R/W R/W 1 High 0 Low 0 0 0 0 0 0 0 0 R/W R/W R/W R/W R/W R/W R/W R/W P07 I/O control P06 I/O control P05 I/O control P04 I/O control P03 I/O control P02 I/O control P01 I/O control P00 I/O control 1 Output 0 Input 0 0 0 0 0 0 0 0 R/W R/W R/W R/W R/W R/W R/W R/W - CFP16 reserved P16 function selection - 0 - 0 when being read. R/W D5 CFP15 P15 function selection 0 R/W D4 CFP14 P14 function selection - 1 EXCL5 0 P16 #DMAEND1 1 EXCL4 0 P15 #DMAEND0 1 FOSC1 0 P14 0 D3 CFP13 P13 function selection 0 P13 0 D2 CFP12 P12 function selection 0 P12 0 R/W D1 CFP11 P11 function selection 0 P11 0 R/W D0 CFP10 P10 function selection 1 EXCL3 T8UF3 1 EXCL2 T8UF2 1 EXCL1 T8UF1 1 EXCL0 T8UF0 R/W Extended functions (0x402DF) R/W 0 P10 0 R/W P1 I/O port data 00402D5 register (B) D7 D6 D5 D4 D3 D2 D1 D0 - P16D P15D P14D P13D P12D P11D P10D reserved P16 I/O port data P15 I/O port data P14 I/O port data P13 I/O port data P12 I/O port data P11 I/O port data P10 I/O port data - 0 0 0 0 0 0 0 - 0 when being read. R/W R/W R/W R/W R/W R/W R/W P1 I/O control register 00402D6 (B) D7 D6 D5 D4 D3 D2 D1 D0 - IOC16 IOC15 IOC14 IOC13 IOC12 IOC11 IOC10 reserved P16 I/O control P15 I/O control P14 I/O control P13 I/O control P12 I/O control P11 I/O control P10 I/O control - 0 0 0 0 0 0 0 - 0 when being read. R/W R/W R/W R/W R/W R/W R/W P2 function select register 00402D8 (B) D7 D6 D5 D4 D3 D2 D1 D0 CFP27 CFP26 CFP25 CFP24 CFP23 CFP22 CFP21 CFP20 P27 function selection P26 function selection P25 function selection P24 function selection P23 function selection P22 function selection P21 function selection P20 function selection 0 0 0 0 0 0 0 0 R/W R/W R/W R/W R/W R/W R/W Ext. func.(0x402DF) R/W A-42 #SRDY1 #SCLK1 SOUT1 SIN1 #SRDY0 #SCLK0 SOUT0 SIN0 - 1 High 0 Low - EPSON 1 Output 0 Input 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 TM5 TM4 TM3 TM2 TM1 TM0 #DWE #DRD P27 P26 P25 P24 P23 P22 P21 P20 S1C33T01 PRODUCT PART 4 PERIPHERAL CIRCUITS Table 4.2.1 I/O Memory Map (continue) Register name Address Bit P2 I/O port data 00402D9 register (B) D7 D6 D5 D4 D3 D2 D1 D0 P27D P26D P25D P24D P23D P22D P21D P20D P27 I/O port data P26 I/O port data P25 I/O port data P24 I/O port data P23 I/O port data P22 I/O port data P21 I/O port data P20 I/O port data 1 High 0 Low 0 0 0 0 0 0 0 0 R/W R/W R/W R/W R/W R/W R/W R/W P2 I/O control register D7 D6 D5 D4 D3 D2 D1 D0 IOC27 IOC26 IOC25 IOC24 IOC23 IOC22 IOC21 IOC20 P27 I/O control P26 I/O control P25 I/O control P24 I/O control P23 I/O control P22 I/O control P21 I/O control P20 I/O control 1 Output 0 Input 0 0 0 0 0 0 0 0 R/W R/W R/W R/W R/W R/W R/W R/W reserved P35 function selection P34 function selection - 1 #BUSACK 0 1 #BUSREQ 0 #CE6 1 #DMAACK1 0 1 #DMAACK0 0 1 #BUSGET 0 1 #WAIT 0 #CE4/#CE5 P35 P34 - 0 0 - 0 when being read. R/W R/W P33 P32 P31 P30 0 0 0 0 R/W R/W R/W Ext. func.(0x402DF) R/W - 0 0 0 0 0 0 - 0 when being read. R/W R/W R/W R/W R/W R/W - 0 0 0 0 0 0 - 0 when being read. R/W R/W R/W R/W R/W R/W 0 0 0 0 0 0 1 R/W R/W R/W R/W R/W R/W R/W 1 R/W 00402DA (B) Name P3 function 00402DC D7-6 - select register (B) D5 CFP35 D4 CFP34 D3 D2 D1 D0 CFP33 CFP32 CFP31 CFP30 Function P33 function selection P32 function selection P31 function selection P30 function selection P3 I/O port data 00402DD D7-6 - register (B) D5 P35D D4 P34D D3 P33D D2 P32D D1 P31D D0 P30D reserved P35 I/O port data P34 I/O port data P33 I/O port data P32 I/O port data P31 I/O port data P30 I/O port data P3 I/O control register 00402DE D7-6 - (B) D5 IOC35 D4 IOC34 D3 IOC33 D2 IOC32 D1 IOC31 D0 IOC30 reserved P35 I/O control P34 I/O control P33 I/O control P32 I/O control P31 I/O control P30 I/O control Port function extension register 00402DF (B) Init. R/W - 1 High 0 Low - D7 D6 D5 D4 D3 D2 D1 CFEX7 CFEX6 CFEX5 CFEX4 CFEX3 CFEX2 CFEX1 P07 port extended function P06 port extended function P05 port extended function P04 port extended function P31 port extended function P21 port extended function P10, P11, P13 port extended function D0 CFEX0 P12, P14 port extended function S1C33T01 PRODUCT PART Setting EPSON 1 Output 0 Input 1 1 1 1 1 1 1 0 0 0 0 0 0 0 #DMAEND3 #DMAACK3 #DMAEND2 #DMAACK2 #GARD #GAAS DST0 DST1 DPC0 1 DST2 DCLK P07, etc. P06, etc. P05, etc. P04, etc. P31, etc. P21, etc. P10, etc. P11, etc. P13, etc. 0 P12, etc. P14, etc. Remarks A-43 4 PERIPHERAL CIRCUITS Table 4.2.1 Name I/O Memory Map (continue) Register name Address Bit P4 function select register 0040300 (B) D7 D6 D5 D4 D3 D2 D1 D0 CFP47 CFP46 CFP45 CFP44 CFP43 CFP42 CFP41 CFP40 P47 function selection P46 function selection P45 function selection P44 function selection P43 function selection P42 function selection P41 function selection P40 function selection 1 1 1 1 1 1 1 1 P4 I/O port data 0040301 register (B) D7 D6 D5 D4 D3 D2 D1 D0 P47D P46D P45D P44D P43D P42D P41D P40D P47 I/O port data P46 I/O port data P45 I/O port data P44 I/O port data P43 I/O port data P42 I/O port data P41 I/O port data P40 I/O port data P4 I/O control register 0040302 (B) D7 D6 D5 D4 D3 D2 D1 D0 IOC47 IOC46 IOC45 IOC44 IOC43 IOC42 IOC41 IOC40 P47 I/O control P46 I/O control P45 I/O control P44 I/O control P43 I/O control P42 I/O control P41 I/O control P40 I/O control P5 function select register 0040303 (B) D7-2 - D1 CFP51 D0 CFP50 Function reserved P51 function selection P50 function selection Setting #SRDY3 #SCLK3 SOUT3 SIN3 #SRDY2 #SCLK2 SOUT2 SIN2 0 0 0 0 0 0 0 0 Init. R/W 0 0 0 0 0 0 0 0 R/W R/W R/W R/W R/W R/W R/W R/W 1 High 0 Low 0 0 0 0 0 0 0 0 R/W R/W R/W R/W R/W R/W R/W R/W 1 Output 0 Input 0 0 0 0 0 0 0 0 R/W R/W R/W R/W R/W R/W R/W R/W - 0 0 - 0 when being read. R/W R/W - 1 T8UF5 1 T8UF4 0 P51 0 P50 P5 I/O port data 0040304 register (B) D7 D6 D5 D4 D3 D2 D1 D0 P57D P56D P55D P54D P53D P52D P51D P50D P57 I/O port data P56 I/O port data P55 I/O port data P54 I/O port data P53 I/O port data P52 I/O port data P51 I/O port data P50 I/O port data 1 High 0 Low 0 0 0 0 0 0 0 0 R/W R/W R/W R/W R/W R/W R/W R/W P5 I/O control register 0040305 (B) D7 D6 D5 D4 D3 D2 D1 D0 IOC57 IOC56 IOC55 IOC54 IOC53 IOC52 IOC51 IOC50 P57 I/O control P56 I/O control P55 I/O control P54 I/O control P53 I/O control P52 I/O control P51 I/O control P50 I/O control 1 Output 0 Input 0 0 0 0 0 0 0 0 R/W R/W R/W R/W R/W R/W R/W R/W Port input interrupt selection expansion register 0040306 (B) D7 D6 D5 D4 D3 D2 D1 D0 SPTEX7 SPTEX6 SPTEX5 SPTEX4 SPTEX3 SPTEX2 SPTEX1 SPTEX0 FPT7 interrupt input port selection expansion FPT6 interrupt input port selection expansion FPT5 interrupt input port selection expansion FPT4 interrupt input port selection expansion FPT3 interrupt input port selection expansion FPT2 interrupt input port selection expansion FPT1 interrupt input port selection expansion FPT0 interrupt input port selection expansion 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 R/W R/W R/W R/W R/W R/W R/W R/W P6 I/O port data 0040307 register (B) D7 D6 D5 D4 D3 D2 D1 D0 P67D P66D P65D P64D P63D P62D P61D P60D P67 I/O port data P66 I/O port data P65 I/O port data P64 I/O port data P63 I/O port data P62 I/O port data P61 I/O port data P60 I/O port data 1 High 0 Low 0 0 0 0 0 0 0 0 R/W R/W R/W R/W R/W R/W R/W R/W P6 I/O control register D7 D6 D5 D4 D3 D2 D1 D0 IOC67 IOC66 IOC65 IOC64 IOC63 IOC62 IOC61 IOC60 P67 I/O control P66 I/O control P65 I/O control P64 I/O control P63 I/O control P62 I/O control P61 I/O control P60 I/O control 1 Output 0 Input 0 0 0 0 0 0 0 0 R/W R/W R/W R/W R/W R/W R/W R/W A-44 0040308 (B) EPSON Remarks P47 P46 P45 P44 P43 P42 P41 P40 P67 P66 P65 P64 P63 P62 P61 P60 P27,etc. P26,etc. P25,etc. P24,etc. P23,etc. P22,etc. P21,etc. P20,etc. S1C33T01 PRODUCT PART 4 PERIPHERAL CIRCUITS Table 4.2.1 Register name Address 0040309 interrupt selection (B) Key input expansion register P7 function select register Bit Name D7-2 - D1 SPPKEX1 D0 SPPKEX0 004030A D7-2 - (B) D1 CFP71 D0 CFP70 I/O Memory Map (continue) Function Setting reserved FPK1 interrupt input port selection expansion 1 P7[7:4] FPK0 interrupt input port selection expansion 1 P7[4:0] Init. R/W - 0 P2[7:4],etc. 0 P2[4:0],etc. - 0 when being read. R/W R/W reserved P72,P73 function selection P70,P71 function selection - 1 SCL1,SDA1 0 P72,P73 1 SCL0,SDA0 0 P70,P71 - 0 0 - 0 when being read. R/W R/W P7 I/O port data 004030B register (B) D7 D6 D5 D4 D3 D2 D1 D0 P77D P76D P75D P74D P73D P72D P71D P70D P77 I/O port data P76 I/O port data P75 I/O port data P74 I/O port data P73 I/O port data P72 I/O port data P71 I/O port data P70 I/O port data 1 High 0 Low 0 0 0 0 0 0 0 0 R/W R/W R/W R/W R/W R/W R/W R/W P7 I/O control register 004030C (B) D7 D6 D5 D4 D3 D2 D1 D0 IOC77 IOC76 IOC75 IOC74 IOC73 IOC72 IOC71 IOC70 P77 I/O control P76 I/O control P75 I/O control P74 I/O control P73 I/O control P72 I/O control P71 I/O control P70 I/O control 1 Output 0 Input 0 0 0 0 0 0 0 0 R/W R/W R/W R/W R/W R/W R/W R/W P8 function select register 004030D (B) D7 D6 D5 D4 D3 D2 D1 D0 CFP87 CFP86 CFP85 CFP84 CFP83 CFP82 CFP81 CFP80 P87 function selection P86 function selection P85 function selection P84 function selection P83 function selection P82 function selection P81 function selection P80 function selection 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 P87 P86 P85 P84 P83 P82 P81 P80 0 0 0 0 0 0 0 0 R/W R/W R/W R/W R/W R/W R/W R/W P8 I/O port data 004030E register (B) D7 D6 D5 D4 D3 D2 D1 D0 P87D P86D P85D P84D P83D P82D P81D P80D P87 I/O port data P86 I/O port data P85 I/O port data P84 I/O port data P83 I/O port data P82 I/O port data P81 I/O port data P80 I/O port data 1 High 0 Low 0 0 0 0 0 0 0 0 R/W R/W R/W R/W R/W R/W R/W R/W P8 I/O control register 004030F (B) D7 D6 D5 D4 D3 D2 D1 D0 IOC87 IOC86 IOC85 IOC84 IOC83 IOC82 IOC81 IOC80 P87 I/O control P86 I/O control P85 I/O control P84 I/O control P83 I/O control P82 I/O control P81 I/O control P80 I/O control 1 Output 0 Input 0 0 0 0 0 0 0 0 R/W R/W R/W R/W R/W R/W R/W R/W Port input interrupt input polarity select register 0040310 (B) D7 D6 D5 D4 D3 D2 D1 D0 SPPT15 SPPT14 SPPT13 SPPT12 SPPT11 SPPT10 SPPT9 SPPT8 FPT15 input polarity selection FPT14 input polarity selection FPT13 input polarity selection FPT12 input polarity selection FPT11 input polarity selection FPT10 input polarity selection FPT9 input polarity selection FPT8 input polarity selection 1 1 1 1 1 1 1 1 1 R/W R/W R/W R/W R/W R/W R/W R/W Port input interrupt edge/level select register 0040311 (B) D7 D6 D5 D4 D3 D2 D1 D0 SEPT15 SEPT14 SEPT13 SEPT12 SEPT11 SEPT10 SEPT9 SEPT8 FPT15 edge/level selection FPT14 edge/level selection FPT13 edge/level selection FPT12 edge/level selection FPT11 edge/level selection FPT10 edge/level selection FPT9 edge/level selection FP8 edge/level selection 1 Edge 1 1 1 1 1 1 1 1 R/W R/W R/W R/W R/W R/W R/W R/W S1C33T01 PRODUCT PART Remarks - 0 0 EPSON TM9 TM8 TM7 TM6 EXCL9 EXCL8 EXCL7 EXCL6 High level 0 or Rising edge Low level or Falling edge 0 Level A-45 4 PERIPHERAL CIRCUITS Table 4.2.1 I/O Memory Map (continue) Register name Address Bit Name Function Single-master I2C-bus Ch.0 transmit data register 0040320 (B) D7 D6 D5 D4 D3 D2 D1 D0 I2CTD07 I2CTD06 I2CTD05 I2CTD04 I2CTD03 I2CTD02 I2CTD01 I2CTD00 Single-master I2C-bus Ch.0 transmit data I2CTD07 = MSB I2CTD00 = LSB 0x0 to 0xFF Setting Init. R/W 0 0 0 0 0 0 0 0 Single-master I2C-bus Ch.0 receive data register 0040321 (B) D7 D6 D5 D4 D3 D2 D1 D0 I2CRD07 I2CRD06 I2CRD05 I2CRD04 I2CRD03 I2CRD02 I2CRD01 I2CRD00 Single-master I2C-bus Ch.0 receive data I2CRD07 = MSB I2CRD00 = LSB 0x0 to 0xFF 0 0 0 0 0 0 0 0 R Single-master I2C-bus Ch.0 control register 0040322 (B) D7-6 D5 D4 D3 D2 D1 D0 - I2CSR0 CLKW0 TACK0 TRNS02 TRNS01 TRNS00 reserved Ch.0 dual-wavelength reset Ch.0 clock wait Ch.0 transmit ACK signal Ch.0 operate command - - 0 0 0 0 0 0 - R/W R/W R/W R/W Single-master I2C-bus Ch.0 status register 0040323 (B) D7 D6 D5 D4 D3 D2 D1 D0 RUN0 - SSDA0 SSCL0 UB0 BB0 EH0 CMP0 Command operating state reserved SDA0 status SCL0 status Ch.0 bus usage state I2C-bus usage state Ch.0 error flag Ch.0 transmit command complete R - R R R R R R Initialized by software reset 0 when being read. 1 Reset 1 On 1 ACK TRNS0[2:0] 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 0 Clear 0 Off 0 NACK Transfer mode Generate start condition Generate stop condition Receive data Transfer data Dummy DMA send mode Dummy DMA receive mode Other values Clear error flag 1 Executing 0 Standby 0 0 0 0 0 0 Low Low Bus not in use I2C-bus free Normal Wait for complete or idle 0 - X X 0 0 0 0 - 1 1 1 1 1 1 High High Bus in use I2C-bus in use Error Done Initialized by software reset 0 when being read. Initialized by software reset Initialized by software reset Initialized by software reset Initialized by software reset Initialized by software reset Initialized by software reset Initialized by software reset Single-master I2C-bus Ch.0 error status register 0040324 (B) D7-5 D4 D3 D2 D1 D0 - RACK0 CMS0 DMS0 SPD0 STD0 reserved Ch.0 receive ACK signal Ch.0 clock mismatch Ch.0 data mismatch Ch.0 stop condition Ch.0 start condition 1 1 1 1 1 Error Detected Detected Detected Detected 0 0 0 0 0 No error Not detected Not detected Not detected Not detected - 0 0 0 0 0 - R R R R R 0 when being read. Initialized by software reset Initialized by software reset Initialized by software reset Initialized by software reset Initialized by software reset Single-master I2C-bus Ch.0 interrupt control/status register 0040325 (B) D7-4 D3 D2 D1 D0 - IS_EH0 IS_CMP0 IC_EH0 IC_CMP0 reserved Ch.0 interrupt error status Ch.0 interrupt complete status Ch.0 error interrput Ch.0 complete interrupt 1 1 1 1 - Factor generated 0 Factor generated 0 Enabled 0 Enabled 0 No factor generated No factor generated Disabled Disabled - 0 0 0 0 - R/W R/W R/W R/W 0 when being read. Initialized by software reset Initialized by software reset Initialized by software reset Initialized by software reset Single-master I2C-bus Ch.0 noise filter clock (NCLK0) divisor register 0040326 (B) D7-4 D3 D2 D1 D0 - NIS_P03 NIS_P02 NIS_P01 NIS_P00 reserved Ch.0 noise filter clock division ratio setting - 0 0 0 0 - 0 when being read. R/W : selected by Prescaler clock select register (0x40181) A-46 EPSON - Remarks R/W Initialized by software reset - NIS_P0[3:0] Division ratio 1 1 1 1 /60 1 1 1 0 /56 1 1 0 1 /52 1 1 0 0 /48 1 0 1 1 /44 1 0 1 0 /40 1 0 0 1 /36 1 0 0 0 /32 0 1 1 1 /28 0 1 1 0 /24 0 1 0 1 /20 0 1 0 0 /16 0 0 1 1 /12 0 0 1 0 /8 0 0 0 1 /4 0 0 0 0 /2 S1C33T01 PRODUCT PART 4 PERIPHERAL CIRCUITS Table 4.2.1 Register name Address Bit Name I/O Memory Map (continue) Function Single-master I2C-bus Ch.0 I2C-bus clock (SCL0) divisor register 0040327 (B) D7-3 D2 D1 D0 - SCL_P02 SCL_P01 SCL_P00 reserved SCL0 division ratio setting Single-master I2C-bus Ch.0 I/O select register 0040328 (B) D7-4 D3 D2 D1 D0 - SDAP0 SCLP0 SDAS0 SCLS0 reserved Ch.0 data push-pull circuit Ch.0 clock push-pull circuit Ch.0 data spike suppression circuit Ch.0 clock spike suppression circuit Single-master I2C-bus Ch.0 DMA mode setting register 0040329 (B) D7-2 - D1 D0_MD1 D0 D0_MD0 Single-master I2C-bus Ch.0 IDMA counter (lower) register 004032A (B) D7 D6 D5 D4 D3 D2 D1 D0 D0_CNT7 D0_CNT6 D0_CNT5 D0_CNT4 D0_CNT3 D0_CNT2 D0_CNT1 D0_CNT0 Single-master I2C-bus Ch.0 IDMA counter (upper) register 004032B (B) D7 D6 D5 D4 D3 D2 D1 D0 Single-master I2C-bus Ch.0 DMA status register 004032C D7-4 - (B) D3 I2CTDBE0 D2 I2CRDBE0 D1 RDREQ0_H D0 WDREQ0_H S1C33T01 PRODUCT PART Setting Init. R/W Remarks - 0 0 0 - 0 when being read. R/W : Single-master I2C-bus Ch.0 noise filter clock (NCLK0) - 1 Low/high output 0 Low/Hi-Z output 1 Low/high output 0 Low/Hi-Z output suppression suppression 1 Spike 0 Spike required not required suppression suppression 1 Spike 0 Spike required not required - 0 0 1 1 - R/W R/W R/W R/W - - 0 0 - 0 when being read. R/W Initialized by software reset Ch.0 IDMA byte counter value [7:0] (lower byte) D0_CNT0 = LSB 0 0 0 0 0 0 0 0 R/W D0_CNT15 Ch.1 IDMA byte counter value D0_CNT14 [15:8] (upper byte) D0_CNT13 D0_CNT15 = MSB D0_CNT12 D0_CNT11 D0_CNT10 D0_CNT9 D0_CNT8 0 0 0 0 0 0 0 0 R/W - 1 0 0 0 - R R R R reserved Ch.0 DMA mode setting reserved Ch.0 transmit data buffer empty Ch.0 receive data buffer update Ch.0 read DMA request signal status Ch.0 write DMA request signal status EPSON SCL P0[2:0] 1 1 1 1 1 0 1 0 1 1 0 0 0 1 1 0 1 0 0 0 1 0 0 0 - Division ratio /512 /256 /128 /64 /32 /16 /8 /4 D0_MD[1:0] 1 1 1 0 0 1 0 0 DMA mode HS_DMA IDMA reserved NON - 1 1 1 1 Empty Updated High High 0 0 0 0 Full Not updated Low Low 0 when being read. Initialized by software reset Initialized by software reset Initialized by software reset Initialized by software reset 0 when being read. Initialized by software reset Initialized by software reset Initialized by software reset Initialized by software reset A-47 4 PERIPHERAL CIRCUITS Table 4.2.1 I/O Memory Map (continue) Register name Address Bit Name Function Single-master I2C-bus Ch.1 transmit data register 0040330 (B) D7 D6 D5 D4 D3 D2 D1 D0 I2CTD17 I2CTD16 I2CTD15 I2CTD14 I2CTD13 I2CTD12 I2CTD11 I2CTD10 Single-master I2C-bus Ch.1 transmit data I2CTD17 = MSB I2CTD10 = LSB 0x0 to 0xFF Setting Init. R/W 0 0 0 0 0 0 0 0 Single-master I2C-bus Ch.1 receive data register 0040331 (B) D7 D6 D5 D4 D3 D2 D1 D0 I2CRD17 I2CRD16 I2CRD15 I2CRD14 I2CRD13 I2CRD12 I2CRD11 I2CRD10 Single-master I2C-bus Ch.1 receive data I2CRD17 = MSB I2CRD10 = LSB 0x0 to 0xFF 0 0 0 0 0 0 0 0 R Single-master I2C-bus Ch.1 control register 0040332 (B) D7-6 D5 D4 D3 D2 D1 D0 - I2CSR1 CLKW1 TACK1 TRNS12 TRNS11 TRNS10 reserved Ch.1 dual-wavelength reset Ch.1 clock wait Ch.1 transmit ACK signal Ch.1 operate command - - 0 0 0 0 0 0 - R/W R/W R/W R/W Single-master I2C-bus Ch.1 status register 0040333 (B) D7 D6 D5 D4 D3 D2 D1 D0 RUN01 - SSDA1 SSCL1 UB1 BB1 EH1 CMP1 Command operating state reserved SDA1 status SCL1 status Ch.1 bus usage state I2C-bus usage state Ch.1 error flag Ch.1 transmit command complete R - R R R R R R Initialized by software reset 0 when being read. 1 Reset 1 On 1 ACK TRNS1[2:0] 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 0 Clear 0 Off 0 NACK Transfer mode Generate start condition Generate stop condition Receive data Transfer data Dummy DMA send mode Dummy DMA receive mode Other values Clear error flag 1 Executing 0 Standby 0 0 0 0 0 0 Low Low Bus not in use I2C-bus free Normal Wait for complete or idle 0 - X X 0 0 0 0 - 1 1 1 1 1 1 High High Bus in use I2C-bus in use Error Done Initialized by software reset 0 when being read. Initialized by software reset Initialized by software reset Initialized by software reset Initialized by software reset Initialized by software reset Initialized by software reset Initialized by software reset Single-master I2C-bus Ch.1 error status register 0040334 (B) D7-5 D4 D3 D2 D1 D0 - RACK1 CMS1 DMS1 SPD1 STD1 reserved Ch.1 receive ACK signal Ch.1 clock mismatch Ch.1 data mismatch Ch.1 stop condition Ch.1 start condition 1 1 1 1 1 Error Detected Detected Detected Detected 0 0 0 0 0 No error Not detected Not detected Not detected Not detected - 0 0 0 0 0 - R R R R R 0 when being read. Initialized by software reset Initialized by software reset Initialized by software reset Initialized by software reset Initialized by software reset Single-master I2C-bus Ch.1 interrupt control/status register 0040335 (B) D7-4 D3 D2 D1 D0 - IS_EH1 IS_CMP1 IC_EH1 IC_CMP1 reserved Ch.1 interrupt error status Ch.1 interrupt complete status Ch.1 error interrput Ch.1 complete interrupt 1 1 1 1 - Factor generated 0 Factor generated 0 Enabled 0 Enabled 0 No factor generated No factor generated Disabled Disabled - 0 0 0 0 - R/W R/W R/W R/W 0 when being read. Initialized by software reset Initialized by software reset Initialized by software reset Initialized by software reset Single-master I2C-bus Ch.1 noise filter clock (NCLK0) divisor register 0040336 (B) D7-4 D3 D2 D1 D0 - NIS_P13 NIS_P12 NIS_P11 NIS_P10 reserved Ch.1 noise filter clock division ratio setting - 0 0 0 0 - 0 when being read. R/W : selected by Prescaler clock select register (0x40181) A-48 EPSON - Remarks R/W Initialized by software reset - NIS_P1[3:0] Division ratio 1 1 1 1 /60 1 1 1 0 /56 1 1 0 1 /52 1 1 0 0 /48 1 0 1 1 /44 1 0 1 0 /40 1 0 0 1 /36 1 0 0 0 /32 0 1 1 1 /28 0 1 1 0 /24 0 1 0 1 /20 0 1 0 0 /16 0 0 1 1 /12 0 0 1 0 /8 0 0 0 1 /4 0 0 0 0 /2 S1C33T01 PRODUCT PART 4 PERIPHERAL CIRCUITS Table 4.2.1 Register name Address Bit Name I/O Memory Map (continue) Function Single-master I2C-bus Ch.1 I2C-bus clock (SCL0) divisor register 0040337 (B) D7-3 D2 D1 D0 - SCL_P12 SCL_P11 SCL_P10 reserved SCL1 division ratio setting Single-master I2C-bus Ch.1 I/O select register 0040338 (B) D7-4 D3 D2 D1 D0 - SDAP1 SCLP1 SDAS1 SCLS1 reserved Ch.1 data push-pull circuit Ch.1 clock push-pull circuit Ch.1 data spike suppression circuit Ch.1 clock spike suppression circuit Single-master I2C-bus Ch.1 DMA mode setting register 0040339 (B) D7-2 - D1 D1_MD1 D0 D1_MD0 Single-master I2C-bus Ch.1 IDMA counter (lower) register 004033A (B) D7 D6 D5 D4 D3 D2 D1 D0 D1_CNT7 D1_CNT6 D1_CNT5 D1_CNT4 D1_CNT3 D1_CNT2 D1_CNT1 D1_CNT0 Single-master I2C-bus Ch.1 IDMA counter (upper) register 004033B (B) D7 D6 D5 D4 D3 D2 D1 D0 Single-master I2C-bus Ch.1 DMA status register 004033C D7-4 - (B) D3 I2CTDBE1 D2 I2CRDBE1 D1 RDREQ1_H D0 WDREQ1_H S1C33T01 PRODUCT PART Setting Init. R/W Remarks - 0 0 0 - 0 when being read. R/W : Single-master I2C-bus Ch.1 noise filter clock (NCLK1) - 1 Low/high output 0 Low/Hi-Z output 1 Low/high output 0 Low/Hi-Z output suppression suppression 1 Spike 0 Spike required not required suppression suppression 1 Spike 0 Spike required not required - 0 0 1 1 - R/W R/W R/W R/W - - 0 0 - 0 when being read. R/W Initialized by software reset Ch.1 IDMA byte counter value [7:0] (lower byte) D1_CNT0 = LSB 0 0 0 0 0 0 0 0 R/W D1_CNT15 Ch.1 IDMA byte counter value D1_CNT14 [15:8] (upper byte) D1_CNT13 D1_CNT15 = MSB D1_CNT12 D1_CNT11 D1_CNT10 D1_CNT9 D1_CNT8 0 0 0 0 0 0 0 0 R/W - 1 0 0 0 - R R R R reserved Ch.1 DMA mode setting reserved Ch.1 transmit data buffer empty Ch.1 receive data buffer update Ch.1 read DMA request signal status Ch.1 write DMA request signal status EPSON SCL P1[2:0] 1 1 1 1 1 0 1 0 1 1 0 0 0 1 1 0 1 0 0 0 1 0 0 0 - Division ratio /512 /256 /128 /64 /32 /16 /8 /4 D1_MD[1:0] 1 1 1 0 0 1 0 0 DMA mode HS_DMA IDMA reserved NON - 1 1 1 1 Empty Updated High High 0 0 0 0 Full Not updated Low Low 0 when being read. Initialized by software reset Initialized by software reset Initialized by software reset Initialized by software reset 0 when being read. Initialized by software reset Initialized by software reset Initialized by software reset Initialized by software reset A-49 4 PERIPHERAL CIRCUITS Table 4.2.1 Register name Address Bit Name Areas 18-15 0048120 set-up register (HW) DF DE DD DC - A18SZ A18DF1 A18DF0 DB DA D9 D8 - A18WT2 A18WT1 A18WT0 D7 D6 D5 D4 - A16SZ A16DF1 A16DF0 D3 D2 D1 D0 - A16WT2 A16WT1 A16WT0 DF-9 D8 D7 D6 D5 D4 Areas 14-13 0048122 set-up register (HW) Areas 12-11 0048124 set-up register (HW) A-50 I/O Memory Map (continue) Function Setting Init. R/W Remarks reserved - Areas 18-17 device size selection 1 8 bits 0 16 bits Areas 18-17 A18DF[1:0] Number of cycles 1 1 3.5 output disable delay time 1 0 2.5 0 1 1.5 0 0 0.5 - reserved A18WT[2:0] Wait cycles Areas 18-17 wait control 1 1 1 7 1 1 0 6 1 0 1 5 1 0 0 4 0 1 1 3 0 1 0 2 0 0 1 1 0 0 0 0 - reserved Areas 16-15 device size selection 1 8 bits 0 16 bits Areas 16-15 A16DF[1:0] Number of cycles 1 1 3.5 output disable delay time 1 0 2.5 0 1 1.5 0 0 0.5 - reserved A16WT[2:0] Wait cycles Areas 16-15 wait control 1 1 1 7 1 1 0 6 1 0 1 5 1 0 0 4 0 1 1 3 0 1 0 2 0 0 1 1 0 0 0 0 - 0 1 1 - 0 when being read. R/W R/W - 1 1 1 - 0 when being read. R/W - 0 1 1 - 0 when being read. R/W R/W - 1 1 1 - 0 when being read. R/W - A14DRA A13DRA A14SZ A14DF1 A14DF0 reserved Area 14 DRAM selection Area 13 DRAM selection Areas 14-13 device size selection Areas 14-13 output disable delay time - 0 0 0 1 1 - 0 when being read. R/W R/W R/W R/W D3 D2 D1 D0 - A14WT2 A14WT1 A14WT0 reserved Areas 14-13 wait control - 1 Used 0 Not used 1 Used 0 Not used 1 8 bits 0 16 bits A14DF[1:0] Number of cycles 1 1 3.5 1 0 2.5 0 1 1.5 0 0 0.5 - A14WT[2:0] Wait cycles 1 1 1 7 1 1 0 6 1 0 1 5 1 0 0 4 0 1 1 3 0 1 0 2 0 0 1 1 0 0 0 0 - 1 1 1 - 0 when being read. R/W DF-7 D6 D5 D4 - A12SZ A12DF1 A12DF0 - 0 1 1 - 0 when being read. R/W R/W D3 D2 D1 D0 - A12WT2 A12WT1 A12WT0 reserved - Areas 12-11 device size selection 1 8 bits 0 16 bits Areas 12-11 A18DF[1:0] Number of cycles 1 1 3.5 output disable delay time 1 0 2.5 0 1 1.5 0 0 0.5 reserved - Areas 12-11 wait control A18WT[2:0] Wait cycles 1 1 1 7 1 1 0 6 1 0 1 5 1 0 0 4 0 1 1 3 0 1 0 2 0 0 1 1 0 0 0 0 - 1 1 1 - 0 when being read. R/W EPSON S1C33T01 PRODUCT PART 4 PERIPHERAL CIRCUITS Table 4.2.1 Register name Address Bit Areas 10-9 0048126 set-up register (HW) DF DE DD DC - A10IR2 A10IR1 A10IR0 DB DA D9 - A10BW1 A10BW0 D8 D7 D6 D5 D4 A10DRA A9DRA A10SZ A10DF1 A10DF0 D3 D2 D1 D0 - A10WT2 A10WT1 A10WT0 DF-9 D8 D7 D6 D5 D4 D3 D2 D1 D0 Areas 8-7 0048128 set-up register (HW) S1C33T01 PRODUCT PART Name I/O Memory Map (continue) Function Setting Init. R/W Remarks reserved - ROM size Area 10 internal ROM wait control A10IR[2:0] 1 1 1 2MB Area 10 internal ROM size 1 1 0 1MB selection 1 0 1 512KB 1 0 0 256KB 0 1 1 128KB 0 1 0 64KB 0 0 1 32KB 0 0 0 16KB - reserved A10BW[1:0] Wait cycles Areas 10-9 1 1 3 burst ROM 1 0 2 burst read cycle wait control 0 1 1 0 0 0 1 Used 0 Not used Area 10 burst ROM selection 1 Used 0 Not used Area 9 burst ROM selection Areas 10-9 device size selection 1 8 bits 0 16 bits Areas 10-9 A10DF[1:0] Number of cycles 1 1 3.5 output disable delay time 1 0 2.5 0 1 1.5 0 0 0.5 - reserved A10WT[2:0] Wait cycles Areas 10-9 wait control 1 1 1 7 1 1 0 6 1 0 1 5 1 0 0 4 0 1 1 3 0 1 0 2 0 0 1 1 0 0 0 0 - 1 1 1 - 0 when being read. R/W - 0 0 - 0 when being read. R/W 0 0 0 1 1 R/W R/W R/W R/W - 1 1 1 - 0 when being read. R/W - A8DRA A7DRA A8SZ A8DF1 A8DF0 reserved Area 8 DRAM selection Area 7 DRAM selection Areas 8-7 device size selection Areas 8-7 output disable delay time - 0 0 0 1 1 - 0 when being read. R/W R/W R/W R/W - A8WT2 A8WT1 A8WT0 reserved Areas 8-7 wait control - 1 1 1 - 0 when being read. R/W EPSON - 1 Used 1 Used 1 8 bits A8DF[1:0] 1 1 1 0 0 1 0 0 0 Not used 0 Not used 0 16 bits Number of cycles 3.5 2.5 1.5 0.5 - A8WT[2:0] Wait cycles 1 1 1 7 1 1 0 6 1 0 1 5 1 0 0 4 0 1 1 3 0 1 0 2 0 0 1 1 0 0 0 0 A-51 4 PERIPHERAL CIRCUITS Table 4.2.1 Register name Address Bit Name Areas 6-4 004812A DF-E - set-up register (HW) DD A6DF1 DC A6DF0 I/O Memory Map (continue) Function reserved Area 6 output disable delay time Setting - A6DF[1:0] Number of cycles 1 1 3.5 1 0 2.5 0 1 1.5 0 0 0.5 - A6WT[2:0] Wait cycles 1 1 1 7 1 1 0 6 1 0 1 5 1 0 0 4 0 1 1 3 0 1 0 2 0 0 1 1 0 0 0 0 - 1 8 bits 0 16 bits A5DF[1:0] Number of cycles 1 1 3.5 1 0 2.5 0 1 1.5 0 0 0.5 Init. R/W Remarks - 1 1 - 0 when being read. R/W - 1 1 1 - 0 when being read. R/W - 0 1 1 - 0 when being read. R/W R/W - 1 1 1 - 0 when being read. R/W DB DA D9 D8 - A6WT2 A6WT1 A6WT0 reserved Area 6 wait control D7 D6 D5 D4 - A5SZ A5DF1 A5DF0 reserved Areas 5-4 device size selection Areas 5-4 output disable delay time D3 D2 D1 D0 - A5WT2 A5WT1 A5WT0 reserved Areas 5-4 wait control TTBR write 004812D protect register (B) D7 D6 D5 D4 D3 D2 D1 D0 TBRP7 TBRP6 TBRP5 TBRP4 TBRP3 TBRP2 TBRP1 TBRP0 TTBR register write protect Writing 01011001(0x59) removes the TTBR (0x48134) write protection. Writing other data sets the write protection. 0 0 0 0 0 0 0 0 Bus control register DF DE DD DC DB DA RBCLK - RBST8 REDO RCA1 RCA0 BCLK output control reserved Burst ROM burst mode selection DRAM page mode selection Column address size selection 1 Fixed at H 0 0 0 0 0 0 R/W - Writing 1 not allowed. R/W R/W R/W D9 D8 D7 D6 D5 RPC2 RPC1 RPC0 RRA1 RRA0 0 0 0 0 0 R/W R/W R/W R/W D4 D3 D2 D1 D0 - SBUSST SEMAS SEPD SWAITE 0 0 0 0 0 - Writing 1 not allowed. R/W R/W R/W R/W A-52 004812E (HW) A5WT[2:0] 1 1 1 1 1 0 1 0 1 1 0 0 0 1 1 0 1 0 0 0 1 0 0 0 Wait cycles 7 6 5 4 3 2 1 0 0 Enabled - 1 8-successive 0 4-successive 1 EDO 0 Fast page RCA[1:0] Size 1 1 11 1 0 10 0 1 9 0 0 8 1 Enabled 0 Disabled Refresh enable 1 Self-refresh 0 CBR-refresh Refresh method selection 1 2.0 0 1.0 Refresh RPC delay setup RRA[1:0] Number of cycles Refresh RAS pulse width 1 1 5 selection 1 0 4 0 1 3 0 0 2 - reserved External interface method selection 1 #BSL 0 A0 External bus master setup 1 Existing 0 Nonexistent 1 Enabled 0 Disabled External power-down control 1 Enabled 0 Disabled #WAIT enable EPSON W Undefined in read. S1C33T01 PRODUCT PART 4 PERIPHERAL CIRCUITS Table 4.2.1 Register name Address Bit Name I/O Memory Map (continue) Function DRAM timing 0048130 DF-C - reserved set-up register (HW) DB A3EEN Area 3 emulation DA CEFUNC1 #CE pin function selection D9 CEFUNC0 Setting Init. R/W Remarks - 1 Internal ROM 0 Emulation CFFUNC[1:0] #CE output 1 x #CE7/8..#CE17/18 #CE6..#CE17 0 1 #CE4..#CE10 0 0 1 Successive 0 Normal RPRC[1:0] Number of cycles 1 1 4 1 0 3 0 1 2 0 0 1 - CASC[1:0] Number of cycles 1 1 4 1 0 3 0 1 2 0 0 1 - RASC[1:0] Number of cycles 1 1 4 1 0 3 0 1 2 0 0 1 - 1 0 0 - 0 when being read. R/W R/W 0 0 0 R/W R/W - 0 0 - 0 when being read. R/W - 0 0 - 0 when being read. R/W D8 D7 D6 CRAS RPRC1 RPRC0 Successive RAS mode setup DRAM RAS precharge cycles selection D5 D4 D3 - CASC1 CASC0 reserved DRAM CAS cycles selection D2 D1 D0 - RASC1 RASC0 reserved DRAM RAS cycles selection Access control 0048132 register (HW) DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 A18IO A16IO A14IO A12IO - A8IO A6IO A5IO A18EC A16EC A14EC A12EC A10EC A8EC A6EC A5EC Area 18, 17 internal/external access 1 Internal 0 External Area 16, 15 internal/external access access access Area 14, 13 internal/external access Area 12, 11 internal/external access reserved - 0 External Area 8, 7 internal/external access 1 Internal Area 6 internal/external access access access Area 5, 4 internal/external access Area 18, 17 endian control 1 Big endian 0 Little endian Area 16, 15 endian control Area 14, 13 endian control Area 12, 11 endian control Area 10, 9 endian control Area 8, 7 endian control Area 6 endian control Area 5, 4 endian control 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 R/W R/W R/W R/W - 0 when being read. R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W TTBR loworder register DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 TTBR15 TTBR14 TTBR13 TTBR12 TTBR11 TTBR10 TTBR09 TTBR08 TTBR07 TTBR06 TTBR05 TTBR04 TTBR03 TTBR02 TTBR01 TTBR00 Trap table base address [15:10] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 R/W 0048134 (HW) S1C33T01 PRODUCT PART Trap table base address [9:0] EPSON Fixed at 0 R 0 when being read. Writing 1 not allowed. A-53 4 PERIPHERAL CIRCUITS Table 4.2.1 I/O Memory Map (continue) Register name Address Bit Name TTBR highorder register DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 TTBR33 TTBR32 TTBR31 TTBR30 TTBR2B TTBR2A TTBR29 TTBR28 TTBR27 TTBR26 TTBR25 TTBR24 TTBR23 TTBR22 TTBR21 TTBR20 Trap table base address [31:28] Trap table base address [27:16] The initial value is set. 0x0C0 DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 A18AS A16AS A14AS A12AS - A8AS A6AS A5AS A18RD A16RD A14RD A12RD - A8RD A6RD A5RD Area 18, 17 address strobe signal Area 16, 15 address strobe signal Area 14, 13 address strobe signal Area 12, 11 address strobe signal reserved Area 8, 7 address strobe signal Area 6 address strobe signal Area 5, 4 address strobe signal Area 18, 17 read signal Area 16, 15 read signal Area 14, 13 read signal Area 12, 11 read signal reserved Area 8, 7 read signal Area 6 read signal Area 5, 4 read signal 1 Enabled 0048136 (HW) G/A read signal 0048138 control register (HW) BCLK select register Read cycle hold time control register Bus speed setting register A-54 Function 004813A D7-4 - (B) D3 A1X1MD D2 - D1 BCLKSEL1 D0 BCLKSEL0 reserved Area 1 access-speed reserved BCLK output clock selection 004813C (B) 004813E (B) Setting 0 Disabled 0 Not inserted 0 Not inserted 0 Not inserted 0 0 0 0 - 0 0 0 R/W R/W R/W R/W - Undefined when being read. R/W R/W R/W 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 R/W R/W R/W R/W R/W R/W R/W R/W 0 Disabled - 0 Disabled - 0 4 cycles - A18RH A16RH A14RH A12RH A8RH A6RH A5RH Area 17, 18 read hold cycle Area 15, 16 read hold cycle Area 13, 14 read hold cycle Area 11, 12 read hold cycle reserved Area 7, 8 read hold cycle Area 6 read hold cycle Area 5 read hold cycle 1 1 1 1 D7 D6 D5 D4 D3 D2 D1 D0 A18BS A16BS A14BS A12BS A10BS A8BS A6BS A5BS Area 17, 18 bus speed selection Area 15, 16 bus speed selection Area 13, 14 bus speed selection Area 11, 12 bus speed selection reserved Area 7, 8 bus speed selection Area 6 bus speed selection Area 5 bus speed selection 1 1 1 1 1 1 1 1 BCLK PLL_CLK OSC3_CLK BCU_CLK CPU_CLK Inserted Inserted Inserted Inserted 0 0 0 0 Not inserted Not inserted Not inserted Not inserted - 1 Inserted 1 Inserted 1 Inserted x1 speed x1 speed x1 speed x1 speed x1 speed x1 speed x1 speed x1 speed R/W - 0 when being read. R/W x2 speed mode only - 0 when being read. R/W 1 Enabled BCLKSEL[1:0] 1 1 1 0 0 1 0 0 Remarks 0 when being read. Writing 1 not allowed. 0 0 0 0 0 0 Disabled 1 2 cycles R R/W R/W R/W R/W - 0 when being read. R/W R/W R/W R/W R/W R/W R/W - 0 when being read. R/W R/W R/W - 1 Enabled 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 Enabled D7 D6 D5 D4 D3 D2 D1 D0 EPSON Init. R/W Fixed at 0 #x2SPD #x2SPD #x2SPD #x2SPD #x2SPD #x2SPD #x2SPD #x2SPD This register's setting is meaningful when #x2SPD = 0 (2 x speed mode) S1C33T01 PRODUCT PART 4 PERIPHERAL CIRCUITS Table 4.2.1 Register name Address Bit Name 16-bit timer 0 comparison data A set-up register 0048180 (HW) DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 16-bit timer 0 comparison data B set-up register 0048182 (HW) 16-bit timer 0 counter data register I/O Memory Map (continue) Function Setting CR0A15 CR0A14 CR0A13 CR0A12 CR0A11 CR0A10 CR0A9 CR0A8 CR0A7 CR0A6 CR0A5 CR0A4 CR0A3 CR0A2 CR0A1 CR0A0 16-bit timer 0 comparison data A CR0A15 = MSB CR0A0 = LSB 0 to 65535 X X X X X X X X X X X X X X X X R/W DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 CR0B15 CR0B14 CR0B13 CR0B12 CR0B11 CR0B10 CR0B9 CR0B8 CR0B7 CR0B6 CR0B5 CR0B4 CR0B3 CR0B2 CR0B1 CR0B0 16-bit timer 0 comparison data B CR0B15 = MSB CR0B0 = LSB 0 to 65535 X X X X X X X X X X X X X X X X R/W 0048184 (HW) DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 TC015 TC014 TC013 TC012 TC011 TC010 TC09 TC08 TC07 TC06 TC05 TC04 TC03 TC02 TC01 TC00 16-bit timer 0 counter data TC015 = MSB TC00 = LSB 0 to 65535 X X X X X X X X X X X X X X X X R 16-bit timer 0 0048186 control register (B) D7 D6 D5 D4 D3 D2 D1 D0 - SELFM0 SELCRB0 OUTINV0 CKSL0 PTM0 PRESET0 PRUN0 reserved 16-bit timer 0 fine mode selection 16-bit timer 0 comparison buffer 16-bit timer 0 output inversion 16-bit timer 0 input clock selection 16-bit timer 0 clock output control 16-bit timer 0 reset 16-bit timer 0 Run/Stop control S1C33T01 PRODUCT PART EPSON 1 1 1 1 1 1 1 - Fine mode 0 Enabled 0 Invert 0 External clock 0 On 0 Reset 0 Run 0 Init. R/W Normal Disabled Normal Internal clock Off Invalid Stop 0 0 0 0 0 0 0 0 Remarks - 0 when being read. R/W R/W R/W R/W R/W W 0 when being read. R/W A-55 4 PERIPHERAL CIRCUITS Table 4.2.1 Register name Address Bit Name 16-bit timer 1 comparison data A set-up register 0048188 (HW) DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 16-bit timer 1 comparison data B set-up register 004818A (HW) 16-bit timer 1 counter data register I/O Memory Map (continue) Function Setting CR1A15 CR1A14 CR1A13 CR1A12 CR1A11 CR1A10 CR1A9 CR1A8 CR1A7 CR1A6 CR1A5 CR1A4 CR1A3 CR1A2 CR1A1 CR1A0 16-bit timer 1 comparison data A CR1A15 = MSB CR1A0 = LSB 0 to 65535 X X X X X X X X X X X X X X X X R/W DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 CR1B15 CR1B14 CR1B13 CR1B12 CR1B11 CR1B10 CR1B9 CR1B8 CR1B7 CR1B6 CR1B5 CR1B4 CR1B3 CR1B2 CR1B1 CR1B0 16-bit timer 1 comparison data B CR1B15 = MSB CR1B0 = LSB 0 to 65535 X X X X X X X X X X X X X X X X R/W 004818C (HW) DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 TC115 TC114 TC113 TC112 TC111 TC110 TC19 TC18 TC17 TC16 TC15 TC14 TC13 TC12 TC11 TC10 16-bit timer 1 counter data TC115 = MSB TC10 = LSB 0 to 65535 X X X X X X X X X X X X X X X X R 16-bit timer 1 004818E control register (B) D7 D6 D5 D4 D3 D2 D1 D0 - SELFM1 SELCRB1 OUTINV1 CKSL1 PTM1 PRESET1 PRUN1 reserved 16-bit timer 1 fine mode selection 16-bit timer 1 comparison buffer 16-bit timer 1 output inversion 16-bit timer 1 input clock selection 16-bit timer 1 clock output control 16-bit timer 1 reset 16-bit timer 1 Run/Stop control A-56 EPSON 1 1 1 1 1 1 1 - Fine mode 0 Enabled 0 Invert 0 External clock 0 On 0 Reset 0 Run 0 Init. R/W Normal Disabled Normal Internal clock Off Invalid Stop 0 0 0 0 0 0 0 0 Remarks - 0 when being read. R/W R/W R/W R/W R/W W 0 when being read. R/W S1C33T01 PRODUCT PART 4 PERIPHERAL CIRCUITS Table 4.2.1 Register name Address Bit Name 16-bit timer 2 comparison data A set-up register 0048190 (HW) DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 16-bit timer 2 comparison data B set-up register 0048192 (HW) 16-bit timer 2 counter data register I/O Memory Map (continue) Function Setting CR2A15 CR2A14 CR2A13 CR2A12 CR2A11 CR2A10 CR2A9 CR2A8 CR2A7 CR2A6 CR2A5 CR2A4 CR2A3 CR2A2 CR2A1 CR2A0 16-bit timer 2 comparison data A CR2A15 = MSB CR2A0 = LSB 0 to 65535 X X X X X X X X X X X X X X X X R/W DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 CR2B15 CR2B14 CR2B13 CR2B12 CR2B11 CR2B10 CR2B9 CR2B8 CR2B7 CR2B6 CR2B5 CR2B4 CR2B3 CR2B2 CR2B1 CR2B0 16-bit timer 2 comparison data B CR2B15 = MSB CR2B0 = LSB 0 to 65535 X X X X X X X X X X X X X X X X R/W 0048194 (HW) DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 TC215 TC214 TC213 TC212 TC211 TC210 TC29 TC28 TC27 TC26 TC25 TC24 TC23 TC22 TC21 TC20 16-bit timer 2 counter data TC215 = MSB TC20 = LSB 0 to 65535 X X X X X X X X X X X X X X X X R 16-bit timer 2 0048196 control register (B) D7 D6 D5 D4 D3 D2 D1 D0 - SELFM2 SELCRB2 OUTINV2 CKSL2 PTM2 PRESET2 PRUN2 reserved 16-bit timer 2 fine mode selection 16-bit timer 2 comparison buffer 16-bit timer 2 output inversion 16-bit timer 2 input clock selection 16-bit timer 2 clock output control 16-bit timer 2 reset 16-bit timer 2 Run/Stop control S1C33T01 PRODUCT PART EPSON 1 1 1 1 1 1 1 - Fine mode 0 Enabled 0 Invert 0 External clock 0 On 0 Reset 0 Run 0 Init. R/W Normal Disabled Normal Internal clock Off Invalid Stop 0 0 0 0 0 0 0 0 Remarks - 0 when being read. R/W R/W R/W R/W R/W W 0 when being read. R/W A-57 4 PERIPHERAL CIRCUITS Table 4.2.1 Register name Address Bit Name 16-bit timer 3 comparison data A set-up register 0048198 (HW) DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 16-bit timer 3 comparison data B set-up register 004819A (HW) 16-bit timer 3 counter data register I/O Memory Map (continue) Function Setting CR3A15 CR3A14 CR3A13 CR3A12 CR3A11 CR3A10 CR3A9 CR3A8 CR3A7 CR3A6 CR3A5 CR3A4 CR3A3 CR3A2 CR3A1 CR3A0 16-bit timer 3 comparison data A CR3A15 = MSB CR3A0 = LSB 0 to 65535 X X X X X X X X X X X X X X X X R/W DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 CR3B15 CR3B14 CR3B13 CR3B12 CR3B11 CR3B10 CR3B9 CR3B8 CR3B7 CR3B6 CR3B5 CR3B4 CR3B3 CR3B2 CR3B1 CR3B0 16-bit timer 3 comparison data B CR3B15 = MSB CR3B0 = LSB 0 to 65535 X X X X X X X X X X X X X X X X R/W 004819C (HW) DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 TC315 TC314 TC313 TC312 TC311 TC310 TC39 TC38 TC37 TC36 TC35 TC34 TC33 TC32 TC31 TC30 16-bit timer 3 counter data TC315 = MSB TC30 = LSB 0 to 65535 X X X X X X X X X X X X X X X X R 16-bit timer 3 004819E control register (B) D7 D6 D5 D4 D3 D2 D1 D0 - SELFM3 SELCRB3 OUTINV3 CKSL3 PTM3 PRESET3 PRUN3 reserved 16-bit timer 3 fine mode selection 16-bit timer 3 comparison buffer 16-bit timer 3 output inversion 16-bit timer 3 input clock selection 16-bit timer 3 clock output control 16-bit timer 3 reset 16-bit timer 3 Run/Stop control A-58 EPSON 1 1 1 1 1 1 1 - Fine mode 0 Enabled 0 Invert 0 External clock 0 On 0 Reset 0 Run 0 Init. R/W Normal Disabled Normal Internal clock Off Invalid Stop 0 0 0 0 0 0 0 0 Remarks - 0 when being read. R/W R/W R/W R/W R/W W 0 when being read. R/W S1C33T01 PRODUCT PART 4 PERIPHERAL CIRCUITS Table 4.2.1 Register name Address Bit Name 16-bit timer 4 comparison data A set-up register 00481A0 (HW) DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 16-bit timer 4 comparison data B set-up register 00481A2 (HW) 16-bit timer 4 counter data register I/O Memory Map (continue) Function Setting CR4A15 CR4A14 CR4A13 CR4A12 CR4A11 CR4A10 CR4A9 CR4A8 CR4A7 CR4A6 CR4A5 CR4A4 CR4A3 CR4A2 CR4A1 CR4A0 16-bit timer 4 comparison data A CR4A15 = MSB CR4A0 = LSB 0 to 65535 X X X X X X X X X X X X X X X X R/W DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 CR4B15 CR4B14 CR4B13 CR4B12 CR4B11 CR4B10 CR4B9 CR4B8 CR4B7 CR4B6 CR4B5 CR4B4 CR4B3 CR4B2 CR4B1 CR4B0 16-bit timer 4 comparison data B CR4B15 = MSB CR4B0 = LSB 0 to 65535 X X X X X X X X X X X X X X X X R/W 00481A4 (HW) DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 TC415 TC414 TC413 TC412 TC411 TC410 TC49 TC48 TC47 TC46 TC45 TC44 TC43 TC42 TC41 TC40 16-bit timer 4 counter data TC415 = MSB TC40 = LSB 0 to 65535 X X X X X X X X X X X X X X X X R 16-bit timer 4 00481A6 control register (B) D7 D6 D5 D4 D3 D2 D1 D0 - SELFM4 SELCRB4 OUTINV4 CKSL4 PTM4 PRESET4 PRUN4 reserved 16-bit timer 4 fine mode selection 16-bit timer 4 comparison buffer 16-bit timer 4 output inversion 16-bit timer 4 input clock selection 16-bit timer 4 clock output control 16-bit timer 4 reset 16-bit timer 4 Run/Stop control S1C33T01 PRODUCT PART EPSON 1 1 1 1 1 1 1 - Fine mode 0 Enabled 0 Invert 0 External clock 0 On 0 Reset 0 Run 0 Init. R/W Normal Disabled Normal Internal clock Off Invalid Stop 0 0 0 0 0 0 0 0 Remarks - 0 when being read. R/W R/W R/W R/W R/W W 0 when being read. R/W A-59 4 PERIPHERAL CIRCUITS Table 4.2.1 Register name Address Bit Name 16-bit timer 5 comparison data A set-up register 00481A8 (HW) DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 16-bit timer 5 comparison data B set-up register 00481AA (HW) 16-bit timer 5 counter data register I/O Memory Map (continue) Function Setting CR5A15 CR5A14 CR5A13 CR5A12 CR5A11 CR5A10 CR5A9 CR5A8 CR5A7 CR5A6 CR5A5 CR5A4 CR5A3 CR5A2 CR5A1 CR5A0 16-bit timer 5 comparison data A CR5A15 = MSB CR5A0 = LSB 0 to 65535 X X X X X X X X X X X X X X X X R/W DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 CR5B15 CR5B14 CR5B13 CR5B12 CR5B11 CR5B10 CR5B9 CR5B8 CR5B7 CR5B6 CR5B5 CR5B4 CR5B3 CR5B2 CR5B1 CR5B0 16-bit timer 5 comparison data B CR5B15 = MSB CR5B0 = LSB 0 to 65535 X X X X X X X X X X X X X X X X R/W 00481AC (HW) DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 TC515 TC514 TC513 TC512 TC511 TC510 TC59 TC58 TC57 TC56 TC55 TC54 TC53 TC52 TC51 TC50 16-bit timer 5 counter data TC515 = MSB TC50 = LSB 0 to 65535 X X X X X X X X X X X X X X X X R 16-bit timer 5 00481AE control register (B) D7 D6 D5 D4 D3 D2 D1 D0 - SELFM5 SELCRB5 OUTINV5 CKSL5 PTM5 PRESET5 PRUN5 reserved 16-bit timer 5 fine mode selection 16-bit timer 5 comparison buffer 16-bit timer 5 output inversion 16-bit timer 5 input clock selection 16-bit timer 5 clock output control 16-bit timer 5 reset 16-bit timer 5 Run/Stop control A-60 EPSON 1 1 1 1 1 1 1 - Fine mode 0 Enabled 0 Invert 0 External clock 0 On 0 Reset 0 Run 0 Init. R/W Normal Disabled Normal Internal clock Off Invalid Stop 0 0 0 0 0 0 0 0 Remarks - 0 when being read. R/W R/W R/W R/W R/W W 0 when being read. R/W S1C33T01 PRODUCT PART 4 PERIPHERAL CIRCUITS Table 4.2.1 Register name Address Bit Name 16-bit timer 6 comparison data A set-up register 00481B0 (HW) DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 16-bit timer 6 comparison data B set-up register 00481B2 (HW) 16-bit timer 6 counter data register I/O Memory Map (continue) Function Setting CR6A15 CR6A14 CR6A13 CR6A12 CR6A11 CR6A10 CR6A9 CR6A8 CR6A7 CR6A6 CR6A5 CR6A4 CR6A3 CR6A2 CR6A1 CR6A0 16-bit timer 6 comparison data A CR6A15 = MSB CR6A0 = LSB 0 to 65535 X X X X X X X X X X X X X X X X R/W DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 CR6B15 CR6B14 CR6B13 CR6B12 CR6B11 CR6B10 CR6B9 CR6B8 CR6B7 CR6B6 CR6B5 CR6B4 CR6B3 CR6B2 CR6B1 CR6B0 16-bit timer 6 comparison data B CR6B15 = MSB CR6B0 = LSB 0 to 65535 X X X X X X X X X X X X X X X X R/W 00481B4 (HW) DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 TC615 TC614 TC613 TC612 TC611 TC610 TC69 TC68 TC67 TC66 TC65 TC64 TC63 TC62 TC61 TC60 16-bit timer 6 counter data TC615 = MSB TC60 = LSB 0 to 65535 X X X X X X X X X X X X X X X X R 16-bit timer 6 00481B6 control register (B) D7 D6 D5 D4 D3 D2 D1 D0 - SELFM6 SELCRB6 OUTINV6 CKSL6 PTM6 PRESET6 PRUN6 reserved 16-bit timer 6 fine mode selection 16-bit timer 6 comparison buffer 16-bit timer 6 output inversion 16-bit timer 6 input clock selection 16-bit timer 6 clock output control 16-bit timer 6 reset 16-bit timer 6 Run/Stop control S1C33T01 PRODUCT PART EPSON 1 1 1 1 1 1 1 - Fine mode 0 Enabled 0 Invert 0 External clock 0 On 0 Reset 0 Run 0 Init. R/W Normal Disabled Normal Internal clock Off Invalid Stop 0 0 0 0 0 0 0 0 Remarks - 0 when being read. R/W R/W R/W R/W R/W W 0 when being read. R/W A-61 4 PERIPHERAL CIRCUITS Table 4.2.1 Register name Address Bit Name 16-bit timer 7 comparison data A set-up register 00481B8 (HW) DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 16-bit timer 7 comparison data B set-up register 00481BA (HW) 16-bit timer 7 counter data register I/O Memory Map (continue) Function Setting CR7A15 CR7A14 CR7A13 CR7A12 CR7A11 CR7A10 CR7A9 CR7A8 CR7A7 CR7A6 CR7A5 CR7A4 CR7A3 CR7A2 CR7A1 CR7A0 16-bit timer 7 comparison data A CR7A15 = MSB CR7A0 = LSB 0 to 65535 X X X X X X X X X X X X X X X X R/W DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 CR7B15 CR7B14 CR7B13 CR7B12 CR7B11 CR7B10 CR7B9 CR7B8 CR7B7 CR7B6 CR7B5 CR7B4 CR7B3 CR7B2 CR7B1 CR7B0 16-bit timer 7 comparison data B CR7B15 = MSB CR7B0 = LSB 0 to 65535 X X X X X X X X X X X X X X X X R/W 00481BC (HW) DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 TC715 TC714 TC713 TC712 TC711 TC710 TC79 TC78 TC77 TC76 TC75 TC74 TC73 TC72 TC71 TC70 16-bit timer 7 counter data TC715 = MSB TC70 = LSB 0 to 65535 X X X X X X X X X X X X X X X X R 16-bit timer 7 00481BE control register (B) D7 D6 D5 D4 D3 D2 D1 D0 - SELFM7 SELCRB7 OUTINV7 CKSL7 PTM7 PRESET7 PRUN7 reserved 16-bit timer 7 fine mode selection 16-bit timer 7 comparison buffer 16-bit timer 7 output inversion 16-bit timer 7 input clock selection 16-bit timer 7 clock output control 16-bit timer 7 reset 16-bit timer 7 Run/Stop control A-62 EPSON 1 1 1 1 1 1 1 - Fine mode 0 Enabled 0 Invert 0 External clock 0 On 0 Reset 0 Run 0 Init. R/W Normal Disabled Normal Internal clock Off Invalid Stop 0 0 0 0 0 0 0 0 Remarks - 0 when being read. R/W R/W R/W R/W R/W W 0 when being read. R/W S1C33T01 PRODUCT PART 4 PERIPHERAL CIRCUITS Table 4.2.1 Register name Address Bit Name 16-bit timer 8 comparison data A set-up register 00481C0 (HW) DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 16-bit timer 8 comparison data B set-up register 00481C2 (HW) 16-bit timer 8 counter data register I/O Memory Map (continue) Function Setting CR8A15 CR8A14 CR8A13 CR8A12 CR8A11 CR8A10 CR8A9 CR8A8 CR8A7 CR8A6 CR8A5 CR8A4 CR8A3 CR8A2 CR8A1 CR8A0 16-bit timer 8 comparison data A CR8A15 = MSB CR8A0 = LSB 0 to 65535 X X X X X X X X X X X X X X X X R/W DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 CR8B15 CR8B14 CR8B13 CR8B12 CR8B11 CR8B10 CR8B9 CR8B8 CR8B7 CR8B6 CR8B5 CR8B4 CR8B3 CR8B2 CR8B1 CR8B0 16-bit timer 8 comparison data B CR8B15 = MSB CR8B0 = LSB 0 to 65535 X X X X X X X X X X X X X X X X R/W 00481C4 (HW) DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 TC815 TC814 TC813 TC812 TC811 TC810 TC89 TC88 TC87 TC86 TC85 TC84 TC83 TC82 TC81 TC80 16-bit timer 8 counter data TC815 = MSB TC80 = LSB 0 to 65535 X X X X X X X X X X X X X X X X R 16-bit timer 8 00481C6 control register (B) D7 D6 D5 D4 D3 D2 D1 D0 - SELFM8 SELCRB8 OUTINV8 CKSL8 PTM8 PRESET8 PRUN8 reserved 16-bit timer 8 fine mode selection 16-bit timer 8 comparison buffer 16-bit timer 8 output inversion 16-bit timer 8 input clock selection 16-bit timer 8 clock output control 16-bit timer 8 reset 16-bit timer 8 Run/Stop control S1C33T01 PRODUCT PART EPSON 1 1 1 1 1 1 1 - Fine mode 0 Enabled 0 Invert 0 External clock 0 On 0 Reset 0 Run 0 Init. R/W Normal Disabled Normal Internal clock Off Invalid Stop 0 0 0 0 0 0 0 0 Remarks - 0 when being read. R/W R/W R/W R/W R/W W 0 when being read. R/W A-63 4 PERIPHERAL CIRCUITS Table 4.2.1 Register name Address Bit Name 16-bit timer 9 comparison data A set-up register 00481C8 (HW) DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 16-bit timer 9 comparison data B set-up register 00481CA (HW) 16-bit timer 9 counter data register I/O Memory Map (continue) Function Setting CR9A15 CR9A14 CR9A13 CR9A12 CR9A11 CR9A10 CR9A9 CR9A8 CR9A7 CR9A6 CR9A5 CR9A4 CR9A3 CR9A2 CR9A1 CR9A0 16-bit timer 9 comparison data A CR9A15 = MSB CR9A0 = LSB 0 to 65535 X X X X X X X X X X X X X X X X R/W DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 CR9B15 CR9B14 CR9B13 CR9B12 CR9B11 CR9B10 CR9B9 CR9B8 CR9B7 CR9B6 CR9B5 CR9B4 CR9B3 CR9B2 CR9B1 CR9B0 16-bit timer 9 comparison data B CR9B15 = MSB CR9B0 = LSB 0 to 65535 X X X X X X X X X X X X X X X X R/W 00481CC (HW) DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 TC915 TC914 TC913 TC912 TC911 TC910 TC99 TC98 TC97 TC96 TC95 TC94 TC93 TC92 TC91 TC90 16-bit timer 9 counter data TC915 = MSB TC90 = LSB 0 to 65535 X X X X X X X X X X X X X X X X R 16-bit timer 9 00481CE control register (B) D7 D6 D5 D4 D3 D2 D1 D0 - SELFM9 SELCRB9 OUTINV9 CKSL9 PTM9 PRESET9 PRUN9 reserved 16-bit timer 9 fine mode selection 16-bit timer 9 comparison buffer 16-bit timer 9 output inversion 16-bit timer 9 input clock selection 16-bit timer 9 clock output control 16-bit timer 9 reset 16-bit timer 9 Run/Stop control A-64 EPSON 1 1 1 1 1 1 1 - Fine mode 0 Enabled 0 Invert 0 External clock 0 On 0 Reset 0 Run 0 Init. R/W Normal Disabled Normal Internal clock Off Invalid Stop 0 0 0 0 0 0 0 0 Remarks - 0 when being read. R/W R/W R/W R/W R/W W 0 when being read. R/W S1C33T01 PRODUCT PART 4 PERIPHERAL CIRCUITS Table 4.2.1 Bit IDMA base address loworder register 0048200 (HW) DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 IDMA base address high-order register 0048202 DF-C - (HW) DB DBASEH11 DA DBASEH10 D9 DBASEH9 D8 DBASEH8 D7 DBASEH7 D6 DBASEH6 D5 DBASEH5 D4 DBASEH4 D3 DBASEH3 D2 DBASEH2 D1 DBASEH1 D0 DBASEH0 reserved IDMA base address high-order 12 bits (Initial value: 0x0C003A0) IDMA start register 0048204 (B) D7 DSTART D6-0 DCHN IDMA start IDMA channel number 1 IDMA start 0 Stop 0 to 127 IDMA enable register 0048205 (B) D7-1 - D0 IDMAEN reserved IDMA enable 1 Enabled S1C33T01 PRODUCT PART Name I/O Memory Map (continue) Register name Address Function Setting DBASEL15 IDMA base address DBASEL14 low-order 16 bits DBASEL13 (Initial value: 0x0C003A0) DBASEL12 DBASEL11 DBASEL10 DBASEL9 DBASEL8 DBASEL7 DBASEL6 DBASEL5 DBASEL4 DBASEL3 DBASEL2 DBASEL1 DBASEL0 - - EPSON 0 Disabled Init. R/W Remarks 0 0 0 0 0 0 1 1 1 0 1 0 0 0 0 0 R/W - 0 0 0 0 1 1 0 0 0 0 0 0 - Undefined in read. R/W 0 0 R/W R/W - 0 - R/W A-65 4 PERIPHERAL CIRCUITS Table 4.2.1 I/O Memory Map (continue) Register name Address Bit Name High-speed DMA Ch.0 transfer counter register DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 TC0_L7 TC0_L6 TC0_L5 TC0_L4 TC0_L3 TC0_L2 TC0_L1 TC0_L0 BLKLEN07 BLKLEN06 BLKLEN05 BLKLEN04 BLKLEN03 BLKLEN02 BLKLEN01 BLKLEN00 Ch.0 transfer counter[7:0] (block transfer mode) DF DE DUALM0 D0DIR DD-8 D7 D6 D5 D4 D3 D2 D1 D0 - TC0_H7 TC0_H6 TC0_H5 TC0_H4 TC0_H3 TC0_H2 TC0_H1 TC0_H0 Ch.0 address mode selection D) Invalid S) Ch.0 transfer direction control reserved Ch.0 transfer counter[15:8] (block transfer mode) 0048220 (HW) High-speed 0048222 DMA Ch.0 (HW) control register Note: D) Dual address mode S) Single address mode High-speed 0048224 DMA Ch.0 (HW) low-order source address set-up register Note: D) Dual address mode S) Single address mode High-speed 0048226 DMA Ch.0 (HW) high-order source address set-up register Note: D) Dual address mode S) Single address mode A-66 Function Setting Ch.0 transfer counter[15:8] (single/successive transfer mode) Ch.0 block length (block transfer mode) Ch.0 transfer counter[7:0] (single/successive transfer mode) 1 Dual addr 0 Single addr - 1 Memory WR 0 Memory RD - Ch.0 transfer counter[23:16] (single/successive transfer mode) DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 S0ADRL15 D) Ch.0 source address[15:0] S0ADRL14 S) Ch.0 memory address[15:0] S0ADRL13 S0ADRL12 S0ADRL11 S0ADRL10 S0ADRL9 S0ADRL8 S0ADRL7 S0ADRL6 S0ADRL5 S0ADRL4 S0ADRL3 S0ADRL2 S0ADRL1 S0ADRL0 DF DE DD DC - DATSIZE0 S0IN1 S0IN0 DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 S0ADRH11 D) Ch.0 source address[27:16] S0ADRH10 S) Ch.0 memory address[27:16] S0ADRH9 S0ADRH8 S0ADRH7 S0ADRH6 S0ADRH5 S0ADRH4 S0ADRH3 S0ADRH2 S0ADRH1 S0ADRH0 reserved Ch.0 transfer data size D) Ch.0 source address control S) Ch.0 memory address control EPSON - 1 Half word S0IN[1:0] 1 1 1 0 0 1 0 0 0 Byte Inc/dec Inc.(no init) Inc.(init) Dec.(no init) Fixed Init. R/W Remarks X X X X X X X X X X X X X X X X R/W 0 - 0 - X X X X X X X X R/W - R/W - Undefined in read. R/W X X X X X X X X X X X X X X X X R/W - 0 0 0 - Undefined in read. R/W R/W X X X X X X X X X X X X R/W R/W S1C33T01 PRODUCT PART 4 PERIPHERAL CIRCUITS Table 4.2.1 Bit High-speed 0048228 DMA Ch.0 (HW) low-order destination address set-up register DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 D0ADRL15 D) Ch.0 destination address[15:0] D0ADRL14 S) Invalid D0ADRL13 D0ADRL12 D0ADRL11 D0ADRL10 D0ADRL9 D0ADRL8 D0ADRL7 D0ADRL6 D0ADRL5 D0ADRL4 D0ADRL3 D0ADRL2 D0ADRL1 D0ADRL0 DF DE D0MOD1 D0MOD0 Ch.0 transfer mode DD DC D0IN1 D0IN0 D) Ch.0 destination address control S) Invalid DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 D0ADRH11 D) Ch.0 destination D0ADRH10 address[27:16] D0ADRH9 S) Invalid D0ADRH8 D0ADRH7 D0ADRH6 D0ADRH5 D0ADRH4 D0ADRH3 D0ADRH2 D0ADRH1 D0ADRH0 Note: D) Dual address mode S) Single address mode High-speed 004822A DMA Ch.0 (HW) high-order destination address set-up register Note: D) Dual address mode S) Single address mode Name I/O Memory Map (continue) Register name Address Function High-speed 004822C DF-1 - DMA Ch.0 (HW) D0 HS0_EN enable register reserved High-speed DMA Ch.0 trigger flag register reserved 004822E DF-1 - (HW) D0 HS0_TF S1C33T01 PRODUCT PART Setting D0MOD[1:0] 1 1 1 0 0 1 0 0 D0IN[1:0] 1 1 1 0 0 1 0 0 Mode Invalid Block Successive Single Inc/dec Inc.(no init) Inc.(init) Dec.(no init) Fixed - Ch.0 enable 1 Enable 0 Disable - Ch.0 trigger flag clear (writing) Ch.0 trigger flag status (reading) EPSON 1 Clear 1 Set 0 No operation 0 Cleared Init. R/W X X X X X X X X X X X X X X X X R/W 0 0 R/W 0 0 R/W X X X X X X X X X X X X R/W - - 0 R/W - - 0 R/W Remarks Undefined in read. Undefined in read. A-67 4 PERIPHERAL CIRCUITS Table 4.2.1 I/O Memory Map (continue) Register name Address Bit Name High-speed DMA Ch.1 transfer counter register DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 TC1_L7 TC1_L6 TC1_L5 TC1_L4 TC1_L3 TC1_L2 TC1_L1 TC1_L0 BLKLEN17 BLKLEN16 BLKLEN15 BLKLEN14 BLKLEN13 BLKLEN12 BLKLEN11 BLKLEN10 Ch.1 transfer counter[7:0] (block transfer mode) DF DE DUALM1 D1DIR DD-8 D7 D6 D5 D4 D3 D2 D1 D0 - TC1_H7 TC1_H6 TC1_H5 TC1_H4 TC1_H3 TC1_H2 TC1_H1 TC1_H0 Ch.1 address mode selection D) Invalid S) Ch.1 transfer direction control reserved Ch.1 transfer counter[15:8] (block transfer mode) 0048230 (HW) High-speed 0048232 DMA Ch.1 (HW) control register Note: D) Dual address mode S) Single address mode High-speed 0048234 DMA Ch.1 (HW) low-order source address set-up register Note: D) Dual address mode S) Single address mode High-speed 0048236 DMA Ch.1 (HW) high-order source address set-up register Note: D) Dual address mode S) Single address mode A-68 Function Setting Ch.1 transfer counter[15:8] (single/successive transfer mode) Ch.1 block length (block transfer mode) Ch.1 transfer counter[7:0] (single/successive transfer mode) 1 Dual addr 0 Single addr - 1 Memory WR 0 Memory RD - Ch.1 transfer counter[23:16] (single/successive transfer mode) DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 S1ADRL15 D) Ch.1 source address[15:0] S1ADRL14 S) Ch.1 memory address[15:0] S1ADRL13 S1ADRL12 S1ADRL11 S1ADRL10 S1ADRL9 S1ADRL8 S1ADRL7 S1ADRL6 S1ADRL5 S1ADRL4 S1ADRL3 S1ADRL2 S1ADRL1 S1ADRL0 DF DE DD DC - DATSIZE1 S1IN1 S1IN0 DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 S1ADRH11 D) Ch.1 source address[27:16] S1ADRH10 S) Ch.1 memory address[27:16] S1ADRH9 S1ADRH8 S1ADRH7 S1ADRH6 S1ADRH5 S1ADRH4 S1ADRH3 S1ADRH2 S1ADRH1 S1ADRH0 reserved Ch.1 transfer data size D) Ch.1 source address control S) Ch.1 memory address control EPSON - 1 Half word S1IN[1:0] 1 1 1 0 0 1 0 0 0 Byte Inc/dec Inc.(no init) Inc.(init) Dec.(no init) Fixed Init. R/W Remarks X X X X X X X X X X X X X X X X R/W 0 - 0 - X X X X X X X X R/W - R/W - Undefined in read. R/W X X X X X X X X X X X X X X X X R/W - 0 0 0 - Undefined in read. R/W R/W X X X X X X X X X X X X R/W R/W S1C33T01 PRODUCT PART 4 PERIPHERAL CIRCUITS Table 4.2.1 Bit High-speed 0048238 DMA Ch.1 (HW) low-order destination address set-up register DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 D1ADRL15 D) Ch.1 destination address[15:0] D1ADRL14 S) Invalid D1ADRL13 D1ADRL12 D1ADRL11 D1ADRL10 D1ADRL9 D1ADRL8 D1ADRL7 D1ADRL6 D1ADRL5 D1ADRL4 D1ADRL3 D1ADRL2 D1ADRL1 D1ADRL0 DF DE D1MOD1 D1MOD0 Ch.1 transfer mode DD DC D1IN1 D1IN0 D) Ch.1 destination address control S) Invalid DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 D1ADRH11 D) Ch.1 destination D1ADRH10 address[27:16] D1ADRH9 S) Invalid D1ADRH8 D1ADRH7 D1ADRH6 D1ADRH5 D1ADRH4 D1ADRH3 D1ADRH2 D1ADRH1 D1ADRH0 Note: D) Dual address mode S) Single address mode High-speed 004823A DMA Ch.1 (HW) high-order destination address set-up register Note: D) Dual address mode S) Single address mode Name I/O Memory Map (continue) Register name Address Function High-speed 004823C DF-1 - DMA Ch.1 (HW) D0 HS1_EN enable register reserved High-speed DMA Ch.1 trigger flag register reserved 004823E DF-1 - (HW) D0 HS1_TF S1C33T01 PRODUCT PART Setting D1MOD[1:0] 1 1 1 0 0 1 0 0 D1IN[1:0] 1 1 1 0 0 1 0 0 Mode Invalid Block Successive Single Inc/dec Inc.(no init) Inc.(init) Dec.(no init) Fixed - Ch.1 enable 1 Enable 0 Disable - Ch.1 trigger flag clear (writing) Ch.1 trigger flag status (reading) EPSON 1 Clear 1 Set 0 No operation 0 Cleared Init. R/W X X X X X X X X X X X X X X X X R/W 0 0 R/W 0 0 R/W X X X X X X X X X X X X R/W - - 0 R/W - - 0 R/W Remarks Undefined in read. Undefined in read. A-69 4 PERIPHERAL CIRCUITS Table 4.2.1 I/O Memory Map (continue) Register name Address Bit Name High-speed DMA Ch.2 transfer counter register DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 TC2_L7 TC2_L6 TC2_L5 TC2_L4 TC2_L3 TC2_L2 TC2_L1 TC2_L0 BLKLEN27 BLKLEN26 BLKLEN25 BLKLEN24 BLKLEN23 BLKLEN22 BLKLEN21 BLKLEN20 Ch.2 transfer counter[7:0] (block transfer mode) DF DE DUALM2 D2DIR DD-8 D7 D6 D5 D4 D3 D2 D1 D0 - TC2_H7 TC2_H6 TC2_H5 TC2_H4 TC2_H3 TC2_H2 TC2_H1 TC2_H0 Ch.2 address mode selection D) Invalid S) Ch.2 transfer direction control reserved Ch.2 transfer counter[15:8] (block transfer mode) 0048240 (HW) High-speed 0048242 DMA Ch.2 (HW) control register Note: D) Dual address mode S) Single address mode High-speed 0048244 DMA Ch.2 (HW) low-order source address set-up register Note: D) Dual address mode S) Single address mode High-speed 0048246 DMA Ch.2 (HW) high-order source address set-up register Note: D) Dual address mode S) Single address mode A-70 Function Setting Ch.2 transfer counter[15:8] (single/successive transfer mode) Ch.2 block length (block transfer mode) Ch.2 transfer counter[7:0] (single/successive transfer mode) 1 Dual addr 0 Single addr - 1 Memory WR 0 Memory RD - Ch.2 transfer counter[23:16] (single/successive transfer mode) DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 S2ADRL15 D) Ch.2 source address[15:0] S2ADRL14 S) Ch.2 memory address[15:0] S2ADRL13 S2ADRL12 S2ADRL11 S2ADRL10 S2ADRL9 S2ADRL8 S2ADRL7 S2ADRL6 S2ADRL5 S2ADRL4 S2ADRL3 S2ADRL2 S2ADRL1 S2ADRL0 DF DE DD DC - DATSIZE2 S2IN1 S2IN0 DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 S2ADRH11 D) Ch.2 source address[27:16] S2ADRH10 S) Ch.2 memory address[27:16] S2ADRH9 S2ADRH8 S2ADRH7 S2ADRH6 S2ADRH5 S2ADRH4 S2ADRH3 S2ADRH2 S2ADRH1 S2ADRH0 reserved Ch.2 transfer data size D) Ch.2 source address control S) Ch.2 memory address control EPSON - 1 Half word S2IN[1:0] 1 1 1 0 0 1 0 0 0 Byte Inc/dec Inc.(no init) Inc.(init) Dec.(no init) Fixed Init. R/W Remarks X X X X X X X X X X X X X X X X R/W 0 - 0 - X X X X X X X X R/W - R/W - Undefined in read. R/W X X X X X X X X X X X X X X X X R/W - 0 0 0 - Undefined in read. R/W R/W X X X X X X X X X X X X R/W R/W S1C33T01 PRODUCT PART 4 PERIPHERAL CIRCUITS Table 4.2.1 Bit High-speed 0048248 DMA Ch.2 (HW) low-order destination address set-up register DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 D2ADRL15 D) Ch.2 destination address[15:0] D2ADRL14 S) Invalid D2ADRL13 D2ADRL12 D2ADRL11 D2ADRL10 D2ADRL9 D2ADRL8 D2ADRL7 D2ADRL6 D2ADRL5 D2ADRL4 D2ADRL3 D2ADRL2 D2ADRL1 D2ADRL0 DF DE D2MOD1 D2MOD0 Ch.2 transfer mode DD DC D2IN1 D2IN0 D) Ch.2 destination address control S) Invalid DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 D2ADRH11 D) Ch.2 destination D2ADRH10 address[27:16] D2ADRH9 S) Invalid D2ADRH8 D2ADRH7 D2ADRH6 D2ADRH5 D2ADRH4 D2ADRH3 D2ADRH2 D2ADRH1 D2ADRH0 Note: D) Dual address mode S) Single address mode High-speed 004824A DMA Ch.2 (HW) high-order destination address set-up register Note: D) Dual address mode S) Single address mode Name I/O Memory Map (continue) Register name Address Function High-speed 004824C DF-1 - DMA Ch.2 (HW) D0 HS2_EN enable register reserved High-speed DMA Ch.2 trigger flag register reserved 004824E DF-1 - (HW) D0 HS2_TF S1C33T01 PRODUCT PART Setting D2MOD[1:0] 1 1 1 0 0 1 0 0 D2IN[1:0] 1 1 1 0 0 1 0 0 Mode Invalid Block Successive Single Inc/dec Inc.(no init) Inc.(init) Dec.(no init) Fixed - Ch.2 enable 1 Enable 0 Disable - Ch.2 trigger flag clear (writing) Ch.2 trigger flag status (reading) EPSON 1 Clear 1 Set 0 No operation 0 Cleared Init. R/W X X X X X X X X X X X X X X X X R/W 0 0 R/W 0 0 R/W X X X X X X X X X X X X R/W - - 0 R/W - - 0 R/W Remarks Undefined in read. Undefined in read. A-71 4 PERIPHERAL CIRCUITS Table 4.2.1 I/O Memory Map (continue) Register name Address Bit Name High-speed DMA Ch.3 transfer counter register DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 TC3_L7 TC3_L6 TC3_L5 TC3_L4 TC3_L3 TC3_L2 TC3_L1 TC3_L0 BLKLEN37 BLKLEN36 BLKLEN35 BLKLEN34 BLKLEN33 BLKLEN32 BLKLEN31 BLKLEN30 Ch.3 transfer counter[7:0] (block transfer mode) DF DE DUALM3 D3DIR DD-8 D7 D6 D5 D4 D3 D2 D1 D0 - TC3_H7 TC3_H6 TC3_H5 TC3_H4 TC3_H3 TC3_H2 TC3_H1 TC3_H0 Ch.3 address mode selection D) Invalid S) Ch.3 transfer direction control reserved Ch.3 transfer counter[15:8] (block transfer mode) 0048250 (HW) High-speed 0048252 DMA Ch.3 (HW) control register Note: D) Dual address mode S) Single address mode High-speed 0048254 DMA Ch.3 (HW) low-order source address set-up register Note: D) Dual address mode S) Single address mode High-speed 0048256 DMA Ch.3 (HW) high-order source address set-up register Note: D) Dual address mode S) Single address mode A-72 Function Setting Ch.3 transfer counter[15:8] (single/successive transfer mode) Ch.3 block length (block transfer mode) Ch.3 transfer counter[7:0] (single/successive transfer mode) 1 Dual addr 0 Single addr - 1 Memory WR 0 Memory RD - Ch.3 transfer counter[23:16] (single/successive transfer mode) DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 S3ADRL15 D) Ch.3 source address[15:0] S3ADRL14 S) Ch.3 memory address[15:0] S3ADRL13 S3ADRL12 S3ADRL11 S3ADRL10 S3ADRL9 S3ADRL8 S3ADRL7 S3ADRL6 S3ADRL5 S3ADRL4 S3ADRL3 S3ADRL2 S3ADRL1 S3ADRL0 DF DE DD DC - DATSIZE3 S3IN1 S3IN0 DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 S3ADRH11 D) Ch.3 source address[27:16] S3ADRH10 S) Ch.3 memory address[27:16] S3ADRH9 S3ADRH8 S3ADRH7 S3ADRH6 S3ADRH5 S3ADRH4 S3ADRH3 S3ADRH2 S3ADRH1 S3ADRH0 reserved Ch.3 transfer data size D) Ch.3 source address control S) Ch.3 memory address control EPSON - 1 Half word S3IN[1:0] 1 1 1 0 0 1 0 0 0 Byte Inc/dec Inc.(no init) Inc.(init) Dec.(no init) Fixed Init. R/W Remarks X X X X X X X X X X X X X X X X R/W 0 - 0 - X X X X X X X X R/W - R/W - Undefined in read. R/W X X X X X X X X X X X X X X X X R/W - 0 0 0 - Undefined in read. R/W R/W X X X X X X X X X X X X R/W R/W S1C33T01 PRODUCT PART 4 PERIPHERAL CIRCUITS Table 4.2.1 Bit High-speed 0048258 DMA Ch.3 (HW) low-order destination address set-up register DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 D3ADRL15 D) Ch.3 destination address[15:0] D3ADRL14 S) Invalid D3ADRL13 D3ADRL12 D3ADRL11 D3ADRL10 D3ADRL9 D3ADRL8 D3ADRL7 D3ADRL6 D3ADRL5 D3ADRL4 D3ADRL3 D3ADRL2 D3ADRL1 D3ADRL0 DF DE D3MOD1 D3MOD0 Ch.3 transfer mode DD DC D3IN1 D3IN0 D) Ch.3 destination address control S) Invalid DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 D3ADRH11 D) Ch.3 destination D3ADRH10 address[27:16] D3ADRH9 S) Invalid D3ADRH8 D3ADRH7 D3ADRH6 D3ADRH5 D3ADRH4 D3ADRH3 D3ADRH2 D3ADRH1 D3ADRH0 Note: D) Dual address mode S) Single address mode High-speed 004825A DMA Ch.3 (HW) high-order destination address set-up register Note: D) Dual address mode S) Single address mode Name I/O Memory Map (continue) Register name Address Function High-speed 004825C DF-1 - DMA Ch.3 (HW) D0 HS3_EN enable register reserved High-speed DMA Ch.3 trigger flag register reserved 004825E DF-1 - (HW) D0 HS3_TF S1C33T01 PRODUCT PART Setting D3MOD[1:0] 1 1 1 0 0 1 0 0 D3IN[1:0] 1 1 1 0 0 1 0 0 Mode Invalid Block Successive Single Inc/dec Inc.(no init) Inc.(init) Dec.(no init) Fixed - Ch.3 enable 1 Enable 0 Disable - Ch.3 trigger flag clear (writing) Ch.3 trigger flag status (reading) EPSON 1 Clear 1 Set 0 No operation 0 Cleared Init. R/W X X X X X X X X X X X X X X X X R/W 0 0 R/W 0 0 R/W X X X X X X X X X X X X R/W - - 0 R/W - - 0 R/W Remarks Undefined in read. Undefined in read. A-73 5 POWER-DOWN CONTROL 5 Power-Down Control This chapter describes the controls used to reduce power consumption of the device. Points on power saving The current consumption of the device varies greatly with the CPU's operation mode, the system clocks used, and the peripheral circuits operated. Current consumption CPU/BCU System clock OSC3 oscillation circuit Prescaler/peripheral circuit low SLEEP - OFF STOP HALT2 OSC1 OFF Operating OSC1 OFF HALT2 OSC3 ON HALT(basic) OSC3 ON high Operating OSC3 ON RUN To reduce power consumption of the device, it is important that as many unnecessary circuits as possible be turned off. In particular, peripheral circuits operating at a fast-clock rate consume a large amount of current, so design the program so that these circuits are turned off whenever unnecessary. Power-saving in standby modes When CPU processing is unnecessary, such as when waiting for an interrupt from key entries or peripheral circuits, place the device in standby mode to reduce current consumption. Standby mode Method to enter the mode Circuits/functions stopped Basic HALT mode Execute the halt instruction after setting CPU only HLT2OP (D3)/Clock option register (0x40190) to "0". When the #BUSREQ signal is asserted from an external bus master while SEPD (D1)/Bus control register (0x4812E) = "1". HALT2 mode Execute the halt instruction after setting CPU, BCU, bus clock, and DMA HLT2OP to "1". SLEEP mode Execute the slp instruction. CPU, BCU, bus clock, DMA, high-speed (OSC3) oscillation circuit, prescaler, and peripheral circuits that use the prescaler output clocks HLT2OP (D3)/Clock option register (0x40190) that is used to select a HALT mode is set to "0" (basic HALT mode) at initial reset. Notes: * In systems in which DRAM is connected directly to the device, the refresh function is turned off during HALT2 and SLEEP modes. * The standby mode is cleared by interrupt generation (except for the basic HALT mode, which is set using an external bus master). Therefore, before entering standby mode, set the related registers to allow an interrupt to be used to clear the standby mode to be generated. The low-speed (OSC1) oscillation circuit and clock timer continue operating even during SLEEP mode. If they are unnecessary, these circuits can also be turned off. Function Control bit "1" "0" Default Low-speed (OSC1) oscillation ON/OFF control SOSC1(D0)/ Power control register(0x40180) ON OFF ON Switching over the system clocks Normally, the system is clocked by the high-speed (OSC3) oscillation clock. If high-speed operation is unnecessary, switch the system clock to the low-speed (OSC1) oscillation clock and turn off the high-speed (OSC3) oscillation circuit. This helps to reduce current consumption. However, if DRAM is connected directly to the device, note that the refresh function is also turned off. Even during operation using the high-speed (OSC3) oscillation clock, power reduction can also be achieved through the use of a system clock derived from the OSC3 clock by dividing it (1/1, 1/2, 1/4, or 1/8). A-74 EPSON S1C33T01 PRODUCT PART 5 POWER-DOWN CONTROL Function System clock switch over High-speed (OSC3) oscillation ON/OFF control System clock division ratio selection Control bit CLKCHG(D2)/ Power control register(0x40180) SOSC3(D1)/ Power control register(0x40180) CLKDT(D[7:6])/ Power control register(0x40180) "1" "0" Default OSC3 OSC1 OSC3 ON "11" "10" "01" "00" OFF = 1/8 = 1/4 = 1/2 = 1/1 ON 1/1 Turning off the prescaler and peripheral circuits Current consumption can be reduced by turning off the peripheral circuits operating at high speed as much as possible. The circuits listed below are operated using a clock generated by the prescaler: * 16-bit programmable timers 0 to 9 (watchdog timer) * 8-bit programmable timers 0 to 5 (DRAM refresh, serial interface) * A/D converter If none of these circuits need to be used, turn off the prescaler. If some of these circuits need to be used, turn off all other unnecessary circuits and stop clock supply from the prescaler to those circuits. "1" "0" Prescaler ON/OFF Function PSCON(D5)/Power control register(0x40180) Control bit ON OFF ON 16-bit timer 0 clock control P16TON0(D3)/16-bit timer 0 clock control register(0x40147) ON OFF OFF RUN STOP STOP ON OFF OFF RUN STOP STOP 16-bit timer 0 Run/Stop PRUN0(D0)/16-bit timer 0 control register(0x48186) 16-bit timer 1 clock control P16TON1(D3)/16-bit timer 1 clock control register(0x40148) 16-bit timer 1 Run/Stop PRUN1(D0)/16-bit timer 1 control register(0x4818E) 16-bit timer 2 clock control P16TON2(D3)/16-bit timer 2 clock control register(0x40149) 16-bit timer 2 Run/Stop PRUN2(D0)/16-bit timer 2 control register(0x48196) 16-bit timer 3 clock control P16TON3(D3)/16-bit timer 3 clock control register(0x4014A) 16-bit timer 3 Run/Stop PRUN3(D0)/16-bit timer 3 control register(0x4819E) 16-bit timer 4 clock control P16TON4(D3)/16-bit timer 4 clock control register(0x4014B) 16-bit timer 4 Run/Stop PRUN4(D0)/16-bit timer 4 control register(0x481A6) 16-bit timer 5 clock control P16TON5(D3)/16-bit timer 5 clock control register(0x4014C) 16-bit timer 5 Run/Stop PRUN5(D0)/16-bit timer 5 control register(0x481AE) 16-bit timer 6 clock control P16TON6(D3)/16-bit timer 6 clock control register(0x40141) 16-bit timer 6 Run/Stop PRUN6(D0)/16-bit timer 6 control register(0x481B6) 16-bit timer 7 clock control P16TON7(D3)/16-bit timer 7 clock control register(0x40142) 16-bit timer 7 Run/Stop PRUN7(D0)/16-bit timer 7 control register(0x481BE) 16-bit timer 8 clock control P16TON8(D3)/16-bit timer 8 clock control register(0x40143) 16-bit timer 8 Run/Stop PRUN8(D0)/16-bit timer 8 control register(0x481C6) 16-bit timer 9 clock control P16TON9(D3)/16-bit timer 9 clock control register(0x40144) 16-bit timer 9 Run/Stop PRUN9(D0)/16-bit timer 9 control register(0x481CE) 8-bit timer 0 clock control P8TON0(D3)/8-bit timer 0/1 clock control register(0x4014D) 8-bit timer 0 Run/Stop PTRUN0(D0)/8-bit timer 0 control register(0x40160) 8-bit timer 1 clock control P8TON1(D7)/8-bit timer 0/1 clock control register(0x4014D) 8-bit timer 1 Run/Stop PTRUN1(D0)/8-bit timer 1 control register(0x40164) 8-bit timer 2 clock control P8TON2(D3)/8-bit timer 2/3 clock control register(0x4014E) 8-bit timer 2 Run/Stop PTRUN2(D0)/8-bit timer 2 control register(0x40168) 8-bit timer 3 clock control P8TON3(D7)/8-bit timer 2/3 clock control register(0x4014E) 8-bit timer 3 Run/Stop PTRUN3(D0)/8-bit timer 3 control register(0x4016C) 8-bit timer 4 clock control P8TON4(D3)/8-bit timer 4/5 clock control register(0x40145) 8-bit timer 4 Run/Stop PTRUN4(D0)/8-bit timer 4 control register(0x40174) 8-bit timer 5 clock control P8TON5(D7)/8-bit timer 4/5 clock control register(0x40145) 8-bit timer 5 Run/Stop PTRUN5(D0)/8-bit timer 5 control register(0x40178) A/D converter clock control PSONAD(D3)/A/D clock control register(0x4014F) A/D conversion enable ADE(D2)/A/D enable register(0x40244) S1C33T01 PRODUCT PART EPSON Default ON OFF OFF RUN STOP STOP ON OFF OFF RUN STOP STOP ON OFF OFF RUN STOP STOP ON OFF OFF RUN STOP STOP ON OFF OFF RUN STOP STOP ON OFF OFF RUN STOP STOP ON OFF OFF RUN STOP STOP ON OFF OFF RUN STOP STOP ON OFF OFF RUN STOP STOP ON OFF OFF RUN STOP STOP ON OFF OFF RUN STOP STOP ON OFF OFF RUN STOP STOP ON OFF OFF RUN STOP STOP ON OFF OFF RUN STOP STOP ON OFF OFF RUN STOP STOP A-75 5 POWER-DOWN CONTROL The same clock source must be used for the prescaler operating clock and the CPU operating clock. Therefore, when operating the CPU in low-speed with the OSC1 clock, the prescaler input clock must be switched according to the CPU operating clock. In this case, in order to prevent a malfunction in the peripheral circuit, the prescaler should be turned off before switching the CPU operating clock. After the CPU operating clock has been switched, switch the prescaler operating clock and then turn the prescaler on. Function Control bit "1" "0" Prescaler operating clock PSCDT0 (D0)/Prescaler clock select register(0x40181) OSC1 OSC3/ switch over PLL A-76 EPSON Default OSC3/ PLL S1C33T01 PRODUCT PART 6 BASIC EXTERNAL WIRING DIAGRAM 6 Basic External Wiring Diagram External Bus HSDMA A[23:0] D[15:0] #RD #EMEMRD #DRD #GARD #GAAS #WRL/#WR/#WE #WRH/#BSH #DWR #HCAS #LCAS #CExx/#RASx #CE10EX #CE10IN #WAIT BCLK #BUSREQ #BUSACK S1C33T01 #BUSGET [The potential of the substrate #NMI (back of the chip) is VSS.] #DMAREQx #DMAACKx #DMAENDx VDD VDDE BVDDE AVDDE EA3MD EA10MD0 EA10MD1 #X2SPD 1 R1 PLLC PLLS1 OSC3 SDAx SCLx OSC1 I2CSMST #ADTRG ADx OSC2 A/D input OSC4 I/O Pxx X'tal1 CG1 CD2 Rf1 X'tal2 CR CG2 CD2 Rf2 R1 C1 C2 Crystal oscillator Gate capacitor Drain capacitor Feedback resistor Crystal oscillator Ceramic oscillator Gate capacitor Drain capacitor Feedback resistor Resistor Capacitor Capacitor CG2 X'tal2 or CR Rf2 X'tal1 Rf1 CD2 CG1 CD1 #RESET EXCLx TMx T8UFx Kxx C2 C1 PLLS0 SINx SOUTx #SCLKx #SRDYx Input 3.3V ICEMD Serial I/O Timer input/output + DSIO VSS 32.768 kHz 10 pF 10 pF 10 M 33 MHz (Max.) 33 MHz (Max.) 10 pF 10 pF 1 M 4.7 k 100 pF 5 pF 1: When the PLL is not used, leave the PLLC pin open. Note: The above table is simply an example, and is not guaranteed to work. S1C33T01 PRODUCT PART EPSON A-77 7 PRECAUTIONS ON MOUNTING 7 Precautions on Mounting The following shows the precautions when designing the board and mounting the IC. Oscillation Circuit * Oscillation characteristics change depending on conditions (board pattern, components used, etc.). In particular, when a ceramic oscillator or crystal oscillator is used, use the oscillator manufacturer's recommended values for constants such as capacitance and resistance. * Disturbances of the oscillation clock due to noise may cause a malfunction. Consider the following points to prevent this: (1) Components which are connected to the OSC3 (OSC1), OSC4 (OSC2) and PLLC pins, such as oscillators, resistors and capacitors, should be connected in the shortest line. (2) As shown in the figure below, make a VSS pattern as large as possible at circumscription of the OSC3 (OSC1) and OSC4 (OSC2) pins and the components connected to these pins. The same applies to the PLLC pin. Furthermore, do not use this VSS pattern to connect other components than the oscillation system. Sample VSS pattern OSC3 and OSC4 PLLC VSS OSC4 PLLC OSC3 VSS VSS (3) When supplying an external clock to the OSC3 (OSC1) pin, the clock source should be connected to the OSC3 (OSC1) pin in the shortest line. Furthermore, do not connect anything else to the OSC4 (OSC2) pin. * In order to prevent unstable operation of the oscillation circuit due to current leak between OSC3 (OSC1) and VDD, please keep enough distance between OSC3 (OSC1) and VDD or other signals on the board pattern. Reset Circuit * The power-on reset signal which is input to the #RESET pin changes depending on conditions (power rise time, components used, board pattern, etc.). Decide the time constant of the capacitor and resistor after enough tests have been completed with the application product. * In order to prevent any occurrences of unnecessary resetting caused by noise during operating, components such as capacitors and resistors should be connected to the #RESET pin in the shortest line. Power Supply Circuit * Sudden power supply variation due to noise may cause malfunction. Consider the following points to prevent this: (1) The power supply should be connected to the VDD, VDDE, BVDDE,VSS and AVDDE pins with patterns as short and large as possible. In particular, the power supply for AVDDE affects A/D conversion precision. A-78 EPSON S1C33T01 PRODUCT PART 7 PRECAUTIONS ON MOUNTING (2) When connecting between the VDD/VDDE and VSS pins with a bypass capacitor, the pins should be connected as short as possible. Bypass capacitor connection example VDD VDD VSS VSS A/D Converter * When the A/D converter is not used, the power supply pin AVDDE for the analog system should be connected to VDDE. Arrangement of Signal Lines * In order to prevent generation of electromagnetic induction noise caused by mutual inductance, do not arrange a large current signal line near the circuits that are sensitive to noise such as the oscillation unit and analog input unit. * When a signal line is parallel with a high-speed line in long distance or intersects a high-speed line, noise may generated by mutual interference between the signals and it may cause a malfunction. Do not arrange a high-speed signal line especially near circuits that are sensitive to noise such as the oscillation unit and analog input unit. Prohibited pattern K60 (AD0) OSC4 OSC3 Large current signal line High-speed signal line VSS Large current signal line High-speed signal line Precautions for Visible Radiation (when bare chip is mounted) * Visible radiation causes semiconductor devices to change the electrical characteristics. It may cause this IC to malfunction. When developing products which use this IC, consider the following precautions to prevent malfunctions caused by visible radiation. (1) Design the product and implement the IC on the board so that it is shielded from visible radiation in actual use. (2) The inspection process of the product needs an environment that shields the IC from visible radiation. (3) As well as the face of the IC, shield the back and side too. S1C33T01 PRODUCT PART EPSON A-79 8 ELECTRICAL CHARACTERISTICS 8 Electrical Characteristics 8.1 Absolute Maximum Rating Item Supply voltage I/O power voltage Bus supply voltage Input voltage High-level output current Low-level output current Analog power voltage Analog input voltage Storage temperature A-80 Symbol Condition VDD VDDE BV DDE VI IOH 1 pin Total of all pins IOL 1 pin Total of all pins AV DDE AV IN TSTG EPSON Rated value -0.3 to +4.0 -0.3 to +7.0 -0.3 to +7.0 -0.3 to VDDE +0.5 -10 -40 10 40 -0.3 to +7.0 -0.3 to AV DDE +0.3 -65 to +150 (VSS=0V) V V V V mA mA mA mA V V C Unit S1C33T01 PRODUCT PART 8 ELECTRICAL CHARACTERISTICS 8.2 Recommended Operating Conditions 1) 3.3 V/5.0 V dual power source Item Supply voltage (high voltage) Supply voltage (low voltage) Input voltage CPU operating clock frequency External bus clock frequency Low-speed oscillation frequency Operating temperature Input rise time (normal input) Input fall time (normal input) Input rise time (schmitt input) Input fall time (schmitt input) Symbol Condition VDDE ; BV DDE VDD HVI LVI fCPU ROM-less model and 3.30.3V ROM model or 3.00.3V fBUS fOSC1 Ta t ri t fi t ri t fi Min. Typ. Max. 4.50 5.00 5.50 (VSS=0V) V 2.70 VSS VSS - - - - -40 - - - - - - - - - - 32.768 25 - - - - 3.60 VDDE VDD 60 50 33 - 85 50 50 5 5 V V V MHz MHz MHz kHz C ns ns ms ms Unit 2) 3.3 V single power source Item Symbol Supply voltage Input voltage CPU operating clock frequency VDD VI fCPU External bus clock frequency Low-speed oscillation frequency Operating temperature Input rise time (normal input) Input fall time (normal input) Input rise time (schmitt input) Input fall time (schmitt input) fBUS fOSC1 Ta t ri t fi t ri t fi Condition ROM-less model and 3.30.3V ROM model or 3.00.3V (VDDE =BV DDE =VDD , VSS=0V) Typ. Max. Unit 2.70 - 3.60 V VSS - VDD V - - 60 MHz - - 50 MHz - - 33 MHz - 32.768 - kHz -40 25 85 C - - 50 ns - - 50 ns - - 5 ms - - 5 ms Min. 3) 2.0 V single power source Item Supply voltage Input voltage CPU operating clock frequency External bus clock frequency Low-speed oscillation frequency Operating temperature Input rise time (normal input) Input fall time (normal input) Input rise time (schmitt input) Input fall time (schmitt input) S1C33T01 PRODUCT PART Symbol Condition VDD VI fCPU fBUS fOSC1 Ta t ri t fi t ri t fi EPSON (VDDE =BV DDE =VDD , VSS=0V) Typ. Max. Unit 1.80 2.00 2.20 V VSS - VDD V - - 20 MHz - - 20 MHz - 32.768 - kHz -40 25 85 C - - 100 ns - - 100 ns - - 10 ms - - 10 ms Min. A-81 8 ELECTRICAL CHARACTERISTICS 8.3 DC Characteristics 1) 3.3 V/5.0 V dual power source (Unless otherwise specified: VDDE =BV DDE =5V0.5V, VDD =2.7V to 3.6V, VSS=0V, Ta=-40C to +85C) Symbol Condition Min. Typ. Max. Unit Input leakage current ILI -1 - 1 A Off-state leakage current IOZ -1 - 1 A High-level output voltage VOH IOH=-3mA (Type1), V DDE =Min. VDDE - - V -0.4 Low-level output voltage VOL IOL =3mA (Type1), V DDE =Min. - - 0.4 V High-level input voltage VIH CMOS level, V DDE =Max. 3.5 - - V Low-level input voltage VIL CMOS level, V DDE =Min. - - 1.0 V Positive trigger input voltage VT+ CMOS schmitt 2.0 - 4.0 V Negative trigger input voltage VTCMOS schmitt 0.8 - 3.1 V Hysteresis voltage VH CMOS schmitt 0.3 - - V High-level input voltage VIH2 TTL level, V DDE =Max. 2.0 - - V Low-level input voltage VIL2 TTL level, V DDE =Min. - - 0.8 V Pull-up resistor RPU V I=0V 60 120 288 k Pull-down resistor RPD V I=V DDE (#ICEMD) 30 60 144 k Input pin capacitance CI f=1MHz, V DDE =0V - - 10 pF Output pin capacitance CO f=1MHz, V DDE =0V - - 10 pF I/O pin capacitance CIO f=1MHz, V DDE =0V - - 10 pF Item 2) 3.3 V single power source (Unless otherwise specified: VDDE =BV DDE =VDD =2.7V to 3.6V, VSS=0V, Ta=-40C to +85C) Symbol Condition Min. Typ. Max. Unit Input leakage current ILI -1 - 1 A Off-state leakage current IOZ -1 - 1 A High-level output voltage VOH IOH=-2mA (Type1), IOH=-6mA (Type2), VDD - - V -0.4 V DD=Min. Low-level output voltage VOL IOL =2mA (Type1), IOL =6mA (Type2), V DD=Min. - - 0.4 V High-level input voltage VIH CMOS level, V DD=Max. 2.4 - - V Low-level input voltage VIL CMOS level, V DD=Min. - - 0.4 V Positive trigger input voltage VT+ LVTTL schmitt 1.1 - 2.4 V Negative trigger input voltage VTLVTTL schmitt 0.6 - 1.8 V Hysteresis voltage VH LVTTL schmitt 0.1 - - V Pull-up resistor RPU V I=0V Other than DSIO 80 200 480 k DSIO 40 100 240 k Pull-down resistor RPD V I=V DD (#ICEMD) 40 100 240 k Input pin capacitance CI f=1MHz, V DD=0V - - 10 pF Output pin capacitance CO f=1MHz, V DD=0V - - 10 pF I/O pin capacitance CIO f=1MHz, V DD=0V - - 10 pF Item Note: See Appendix B for pin characteristics. A-82 EPSON S1C33T01 PRODUCT PART 8 ELECTRICAL CHARACTERISTICS 3) 2.0 V single power source Item Input leakage current Off-state leakage current High-level output voltage Low-level output voltage (Unless otherwise specified: VDDE =BV DDE =VDD =2V0.2V, VSS=0V, Ta=-40C to +85C) Symbol Condition Min. Typ. Max. Unit ILI -1 - 1 A IOZ -1 - 1 A VOH IOH=-0.6mA (Type1), IOH=-2mA (Type2), VDD - - V -0.2 V DD=Min. VOL IOL =0.6mA (Type1), IOL =2mA (Type2), - - 0.2 V V DD=Min. High-level input voltage Low-level input voltage Positive trigger input voltage Negative trigger input voltage Hysteresis voltage Pull-up resistor VIH VIL VT+ VTVH RPU CMOS level, V DD=Max. CMOS level, V DD=Min. CMOS schmitt CMOS schmitt CMOS schmitt V I=0V Other than DSIO DSIO Pull-down resistor RPD V I=V DD (#ICEMD) Input pin capacitance CI f=1MHz, V DD=0V Output pin capacitance CO f=1MHz, V DD=0V I/O pin capacitance CIO f=1MHz, V DD=0V note 1) In the S1C33T01, the data bus (D[15:0]) is interfaced with CMOS level. 1.6 - 0.4 0.3 0 120 60 60 - - - - - - - - 480 240 240 - - - - 0.3 1.6 1.4 - 1200 600 600 10 10 10 V V V V V k k k pF pF pF 1 1 Note: See Appendix B for pin characteristics. S1C33T01 PRODUCT PART EPSON A-83 8 ELECTRICAL CHARACTERISTICS 8.4 Current Consumption 1) 3.3 V power source (Unless otherwise specified: VDDE =BV DDE =2.7V to 5.5V, VDD =2.7V to 3.6V, VSS=0V, Ta=-40C to +85C) Item Symbol Condition Min. Typ. Max. Unit Operating current IDD1 When CPU is operating 20MHz - 27 35 mA 1 33MHz - 43 60 50MHz - 65 85 IDD2 HALT mode 20MHz - 12 16 mA 2 33MHz - 20 26 50MHz - 30 40 IDD2 HALT2 mode 20MHz - 5 6 mA 2 33MHz - 8 10 50MHz - 12 15 IDD4 When the slp instruction is executed, - 1 30 A 4 OSC1 oscillation circuit is turned off Clock timer operation current IDDCT When clock timer only is operating - 10 - A 5 OSC1 oscillation: 32kHz 2) 2.0 V power source (Unless otherwise specified: VDDE =BV DDE =VDD =2.0V0.2V, VSS=0V, Ta=-40C to +85C) Symbol Condition Min. Typ. Max. Unit Operating current IDD1 When CPU is operating, 20MHz - 14 19 mA 1 IDD2 HALT mode, 20MHz - 7 9 mA 2 IDD3 HALT2 mode, 20MHz - 3 4 mA 3 IDD4 SLEEP mode - 1 30 A 4 Clock timer operation current IDDCT When clock timer only is operating - 2.5 - A 5 OSC1 oscillation: 32kHz Item 3) Analog power current (Unless otherwise specified: VDD =2.0V0.2V, VDDE =2.0V0.2V, VSS=0V, Ta=-40C to +85C) Symbol Condition Min. Typ. Max. Unit A/D converter operating current AI DD1 VDD =3.6V, - 800 1400 A 6 VDDE =BV DDE =AVDDE=5.0V0.5V VDD =VDDE =BV DDE =AVDDE=2.7V to - 500 800 3.6V Item Current consumption measurement condition: VIH=VDD , VIL=0V, output pins are open, VDDE, BV DDE current is not included note) No. OSC3 OSC1 CPU Clock timer Other peripheral circuits 1 2 3 4 5 6 On On On Off Off On Off Off Off Off On Off Normal operation 1 HALT mode HALT2 mode SLEEP mode SLEEP mode HALT mode Stop Stop Stop Stop Run Stop Stop Stop Stop Stop Stop A/D converter only operated, conversion clock frequency=2MHz 1: The values of current consumption while the CPU is operating were measured when a test program that consists of 55% load instructions, 23% arithmetic operation instructions, 1% mac instruction, 12% branch instructions and 9% ext instruction is being executed in the built-in RAM continuously. A-84 EPSON S1C33T01 PRODUCT PART 8 ELECTRICAL CHARACTERISTICS 8.5 A/D Converter Characteristics 1) 3.3 V/5.0 V dual power source (Unless otherwise specified: VDDE =BV DDE =AVDDE=4.5V to 5.5V, VDD =2.7V to 3.6V, VSS=0V, Ta=-40C to +85C, ST[1:0]=11) Item Symbol Condition Min. Typ. Max. Unit Resolution - - 10 - bit Conversion time - 5 - 625 s 1 Zero scale error EZS 0 2 4 LSB Full scale error EFS -2 - 2 LSB Integral linearity error EL -3 - 3 LSB Differential linearity error ED -3 - 3 LSB Permissible signal source impedance - - - 5 k Analog input capacitance - - - 45 pF note 1) Indicates the minimum value when A/D clock = 4MHz (maximum clock frequency in 5V system). Indicates the maximum value when A/D clock = 32kHz (minimum clock frequency in 5V system). 2) 3.3 V single power source (Unless otherwise specified: VDDE =BV DDE =AVDDE=VDD =2.7V to 3.6V, VSS=0V, Ta=-40C to +85C, ST[1:0]=11) Item Symbol Condition Min. Typ. Max. Unit Resolution - - 10 - bit Conversion time - 10 - 625 s 1 Zero scale error EZS 0 2 4 LSB Full scale error EFS -2 - 2 LSB Integral linearity error EL -3 - 3 LSB Differential linearity error ED -3 - 3 LSB Permissible signal source impedance - - - 5 k Analog input capacitance - - - 45 pF note 1) Indicates the minimum value when A/D clock = 2MHz (maximum clock frequency in 3V system). Indicates the maximum value when A/D clock = 32kHz (minimum clock frequency in 3V system). Note: * Be sure to use as VDDE = AVDDE . S1C33T01 PRODUCT PART EPSON A-85 8 ELECTRICAL CHARACTERISTICS A/D conversion error V[000]h V'[000]h V[3FF]h V'[3FF]h AVDDE - VSS 210 - 1 V'[3FF]h - V'[000]h 1LSB' = 210 - 2 = Ideal voltage at zero-scale point (=0.5LSB) = Actual voltage at zero-scale point = Ideal voltage at full-scale point (=1022.5LSB) = Actual voltage at full-scale point 1LSB = Zero scale error Digital output (hex) 004 Ideal conversion characteristic 003 002 V[000]h (=0.5LSB) Actual conversion characteristic Zero scale error EZS = 001 (V'[000]h - 0.5LSB') - (V[000]h - 0.5LSB) [LSB] 1LSB V'[000]h 000 VSS Analog input Full scale error V[3FF]h (=1022.5LSB) V'[3FF]h Digital output (hex) 3FF 3FE Full scale error EFS = 3FD (V'[3FF]h + 0.5LSB') - (V[3FF]h + 0.5LSB) [LSB] 1LSB Actual conversion characteristic 3FC Ideal conversion characteristic 3FB AVDDE Analog input Integral linearity error 3FF Digital output (hex) 3FE V'[3FF]h 3FD Integral linearity error EL = VN' - VN [LSB] 1LSB' VN VN' 003 Actual conversion characteristic 002 Ideal conversion characteristic 001 V'[000]h 000 VSS Analog input AVDDE Differential linearity error Digital output (hex) N+1 Ideal conversion characteristic N Actual conversion characteristic N-1 V'[N]h Differential linearity error ED = N-2 V'[N-1]h V'[N]h - V'[N-1]h - 1 [LSB] 1LSB' Analog input A-86 EPSON S1C33T01 PRODUCT PART 8 ELECTRICAL CHARACTERISTICS 8.6 AC Characteristics 8.6.1 Symbol Description tCYC: Bus-clock cycle time * In x1 mode, tCYC = 50 ns (20 MHz) when the CPU is operated with a 20-MHz clock tCYC = 30 ns (33 MHz) when the CPU is operated with a 33-MHz clock * In x2 mode, tCYC = 50 ns (20 MHz) when the CPU is operated with a 40-MHz clock tCYC = 40 ns (25 MHz) when the CPU is operated with a 50-MHz clock tCYC = 33 ns (30 MHz) when the CPU is operated with a 60-MHz clock WC: Number of wait cycles Up to 7 cycles can be set for the number of cycles using the BCU control register. Furthermore, it can be extended to a desired number of cycles by setting the #WAIT pin from outside of the IC. The minimum number of read cycles with no wait (0) inserted is 1 cycle. The minimum number of write cycles with no wait cycle (0) inserted is 2 cycles. It does not change even if 1wait cycle is set. The write cycle is actually extended when 2 or more wait cycles are set. When inserting wait cycles by controlling the #WAIT pin from outside of the IC, pay attention to the timing of the #WAIT signal sampling. Read cycles are terminated at the cycle in which the #WAIT signal is negated. Write cycles are terminated at the following cycle after the #WAIT signal is negated. C1, C2, C3, Cn: Cycle number C1 indicates the first cycle when the BCU transfers data from/to an external memory or another device. Similarly, C2 and Cn indicate the second cycle and nth cycle, respectively. Cw: Wait cycle Indicates that the cycle is wait cycle inserted. 8.6.2 AC Characteristics Measurement Condition Signal detection level: Input signal High level Low level Output signal High level Low level VIH = VDDE - 0.4 V or VIH = BVDDE - 0.4V VIL = 0.4 V VOH = 1/2 VDDE or VOH = 1/2 BVDDE VOL = 1/2 VDDE or VOL = 1/2 BVDDE The following applies when OSC3 is external clock input: Input signal High level VIH = 1/2 VDD Low level VIL = 1/2 VDD Input signal waveform: Rise time (10% 90% VDD) 5 ns Fall time (90% 10% VDD) 5 ns Output load capacitance: CL = 50 pF S1C33T01 PRODUCT PART EPSON A-87 8 ELECTRICAL CHARACTERISTICS 8.6.3 AC Characteristic Tables External clock input characteristics (Note) These AC characteristics apply to input signals from outside the IC. The OSC3 input clock must be within VDD to VSS voltage range. 1) 3.3 V/5.0 V dual power source (Unless otherwise specified: VDDE =BV DDE =5.0V0.5V, VDD =2.7V to 3.6V, VSS=0V, Ta=-40C to +85C) Item Symbol Min. Max. Unit High-speed clock cycle time t C3 30 ns OSC3 clock input duty t C3ED 45 55 % OSC3 clock input rise time t IF 5 ns OSC3 clock input fall time t IR 5 ns BCLK high-level output delay time t CD1 35 ns BCLK low-level output delay time t CD2 35 ns Minimum reset pulse width t RST 6*t CYC ns 2) 3.3 V single power source (Unless otherwise specified: VDDE =BV DDE =VDD =2.7V to 3.6V, VSS=0V, Ta=-40C to +85C) Symbol Min. Max. Unit High-speed clock cycle time t C3 30 ns OSC3 clock input duty t C3ED 45 55 % OSC3 clock input rise time t IF 5 ns OSC3 clock input fall time t IR 5 ns BCLK high-level output delay time t CD1 35 ns BCLK low-level output delay time t CD2 35 ns Minimum reset pulse width t RST 6*t CYC ns Item 3) 2.0 V single power source (Unless otherwise specified: VDDE =BV DDE =VDD =2.0V0.2V, VSS=0V, Ta=-40C to +85C) Symbol Min. Max. Unit High-speed clock cycle time t C3 50 ns OSC3 clock input duty t C3ED 45 55 % OSC3 clock input rise time t IF 5 ns OSC3 clock input fall time t IR 5 ns BCLK high-level output delay time t CD1 60 ns BCLK low-level output delay time t CD2 60 ns Minimum reset pulse width t RST 6*t CYC ns Item BCLK clock output characteristics (Note) These AC characteristic values are applied only when the high-speed oscillation circuit is used. 1) 3.3 V/5.0 V dual power source (Unless otherwise specified: VDDE =BV DDE =5.0V0.5V, VDD =2.7V to 3.6V, VSS=0V, Ta=-40C to +85C) Item Symbol Min. Max. Unit BCLK clock output duty t CBD 40 60 % 2) 3.3 V single power source (Unless otherwise specified: VDDE =BV DDE =VDD =2.7V to 3.6V, VSS=0V, Ta=-40C to +85C) Symbol Min. Max. Unit BCLK clock output duty t CBD 40 60 % Item 3) 2.0 V single power source (Unless otherwise specified: VDDE =BV DDE =VDD =2.0V0.2V, VSS=0V, Ta=-40C to +85C) Symbol Min. Max. Unit BCLK clock output duty t CBD 40 60 % Item A-88 EPSON S1C33T01 PRODUCT PART 8 ELECTRICAL CHARACTERISTICS Common characteristics 1) 3.3 V/5.0 V dual power source (Unless otherwise specified: VDDE =BV DDE =5.0V0.5V, VDD =2.7V to 3.6V, VSS=0V, Ta=-40C to +85C) Item Symbol Min. Max. Unit Address delay time t AD - 8 ns #CEx delay time (1) t CE1 - 8 ns #CEx delay time (2) t CE2 - 8 ns Wait setup time t WTS 15 - ns Wait hold time t WTH 0 - ns Read signal delay time (1) t RDD1 8 ns Read data setup time t RDS 12 ns Read data hold time t RDH 0 ns Write signal delay time (1) t WRD1 8 ns Write data delay time (1) t WDD1 10 ns Write data delay time (2) t WDD2 0 10 ns Write data hold time t WDH 0 ns 2) 3.3 V single power source (Unless otherwise specified: VDDE =BV DDE =VDD =2.7V to 3.6V, VSS=0V, Ta=-40C to +85C) Symbol Min. Max. Unit Address delay time t AD - 10 ns #CEx delay time (1) t CE1 - 10 ns #CEx delay time (2) t CE2 - 10 ns Wait setup time t WTS 15 - ns Wait hold time t WTH 0 - ns Read signal delay time (1) t RDD1 10 ns Read data setup time t RDS 15 ns Read data hold time t RDH 0 ns Write signal delay time (1) t WRD1 10 ns Write data delay time (1) t WDD1 10 ns Write data delay time (2) t WDD2 0 10 ns Write data hold time t WDH 0 ns Item 3) 2.0 V single power source (Unless otherwise specified: VDDE =BV DDE =VDD =2.0V0.2V, VSS=0V, Ta=-40C to +85C) Symbol Min. Max. Unit Address delay time t AD - 20 ns #CEx delay time (1) t CE1 - 20 ns #CEx delay time (2) t CE2 - 20 ns Wait setup time t WTS 40 - ns Wait hold time t WTH 0 - ns Read signal delay time (1) t RDD1 20 ns Read data setup time t RDS 40 ns Read data hold time t RDH 0 ns Write signal delay time (1) t WRD1 20 ns Write data delay time (1) t WDD1 20 ns Write data delay time (2) t WDD2 0 20 ns Write data hold time t WDH 0 ns Item S1C33T01 PRODUCT PART EPSON A-89 8 ELECTRICAL CHARACTERISTICS SRAM read cycle 1) 3.3 V/5.0 V dual power source (Unless otherwise specified: VDDE =BVDDE =5.0V0.5V, VDD =2.7V to 3.6V, VSS=0V, Ta=-40C to +85C) Item Symbol Min. Max. Unit Read signal delay time (2) t RDD2 8 ns Read signal pulse width t RDW t CYC (0.5+WC)-8 ns Read address access time (1) t ACC1 t CYC (1+WC)-20 ns Chip enable access time (1) t CEAC1 t CYC (1+WC)-20 ns Read signal access time (1) t RDAC1 t CYC (0.5+WC)-20 ns 2) 3.3 V single power source (Unless otherwise specified: VDDE =BVDDE =VDD =2.7V to 3.6V, VSS=0V, Ta=-40C to +85C) Symbol Min. Max. Unit Read signal delay time (2) t RDD2 10 ns Read signal pulse width t RDW t CYC (0.5+WC)-10 ns Read address access time (1) t ACC1 t CYC (1+WC)-25 ns Chip enable access time (1) t CEAC1 t CYC (1+WC)-25 ns Read signal access time (1) t RDAC1 t CYC (0.5+WC)-25 ns Item 3) 2.0 V single power source (Unless otherwise specified: VDDE =BVDDE =VDD =2.0V0.2V, VSS=0V, Ta=-40C to +85C) Symbol Min. Max. Unit Read signal delay time (2) t RDD2 10 ns Read signal pulse width t RDW t CYC (0.5+WC)-10 ns Read address access time (1) t ACC1 t CYC (1+WC)-60 ns Chip enable access time (1) t CEAC1 t CYC (1+WC)-60 ns Read signal access time (1) t RDAC1 t CYC (0.5+WC)-60 ns Item SRAM write cycle 1) 3.3 V/5.0 V dual power source (Unless otherwise specified: VDDE =BV DDE =5.0V0.5V, VDD =2.7V to 3.6V, VSS=0V, Ta=-40C to +85C) Item Symbol Min. Max. Unit Write signal delay time (2) t WRD2 8 ns Write signal pulse width t WRW t CYC (1+WC)-10 ns 2) 3.3 V single power source (Unless otherwise specified: VDDE =BV DDE =VDD =2.7V to 3.6V, VSS=0V, Ta=-40C to +85C) Symbol Min. Max. Unit Write signal delay time (2) t WRD2 10 ns Write signal pulse width t WRW t CYC (1+WC)-10 ns Item 3) 2.0 V single power source (Unless otherwise specified: VDDE =BVDDE =VDD =2.0V0.2V, VSS=0V, Ta=-40C to +85C) Symbol Min. Max. Unit Write signal delay time (2) t WRD2 20 ns Write signal pulse width t WRW t CYC (1+WC)-20 ns Item A-90 EPSON S1C33T01 PRODUCT PART 8 ELECTRICAL CHARACTERISTICS DRAM access cycle common characteristics 1) 3.3 V/5.0 V dual power source (Unless otherwise specified: VDDE =BV DDE =5.0V0.5V, VDD =2.7V to 3.6V, VSS=0V, Ta=-40C to +85C) Item Symbol Min. Max. Unit #RAS signal delay time (1) t RASD1 10 ns #RAS signal delay time (2) t RASD2 10 ns #RAS signal pulse width t RASW t CYC (2+WC)-10 ns #CAS signal delay time (1) t CASD1 10 ns #CAS signal delay time (2) t CASD2 10 ns #CAS signal pulse width t CASW t CYC (0.5+WC)-5 ns Read signal delay time (3) t RDD3 10 ns Read signal pulse width (2) t RDW2 t CYC (2+WC)-10 ns Write signal delay time (3) t WRD3 10 ns Write signal pulse width (2) t WRW2 t CYC (2+WC)-10 ns 2) 3.3 V single power source (Unless otherwise specified: VDDE =BV DDE =VDD =2.7V to 3.6V, VSS=0V, Ta=-40C to +85C) Symbol Min. Max. Unit #RAS signal delay time (1) t RASD1 10 ns #RAS signal delay time (2) t RASD2 10 ns #RAS signal pulse width t RASW t CYC (2+WC)-10 ns #CAS signal delay time (1) t CASD1 10 ns #CAS signal delay time (2) t CASD2 10 ns #CAS signal pulse width t CASW t CYC (0.5+WC)-10 ns Read signal delay time (3) t RDD3 10 ns Read signal pulse width (2) t RDW2 t CYC (2+WC)-10 ns Write signal delay time (3) t WRD3 10 ns Write signal pulse width (2) t WRW2 t CYC (2+WC)-10 ns Item 3) 2.0 V single power source (Unless otherwise specified: VDDE =BV DDE =VDD =2.0V0.2V, VSS=0V, Ta=-40C to +85C) Symbol Min. Max. Unit #RAS signal delay time (1) t RASD1 20 ns #RAS signal delay time (2) t RASD2 20 ns #RAS signal pulse width t RASW t CYC (2+WC)-20 ns #CAS signal delay time (1) t CASD1 20 ns #CAS signal delay time (2) t CASD2 20 ns #CAS signal pulse width t CASW t CYC (0.5+WC)-20 ns Read signal delay time (3) t RDD3 20 ns Read signal pulse width (2) t RDW2 t CYC (2+WC)-20 ns Write signal delay time (3) t WRD3 20 ns Write signal pulse width (2) t WRW2 t CYC (2+WC)-20 ns Item S1C33T01 PRODUCT PART EPSON A-91 8 ELECTRICAL CHARACTERISTICS DRAM random access cycle and DRAM fast-page cycle 1) 3.3 V/5.0 V dual power source (Unless otherwise specified: VDDE =BV DDE =5.0V0.5V, VDD =2.7V to 3.6V, VSS=0V, Ta=-40C to +85C) Item Symbol Min. Max. Unit Column address access time t ACCF t CYC (1+WC)-25 ns #RAS access time t RACF t CYC (1.5+WC)-25 ns #CAS access time t CACF t CYC (0.5+WC)-25 ns 2) 3.3 V single power source (Unless otherwise specified: VDDE =BV DDE =VDD =2.7V to 3.6V, VSS=0V, Ta=-40C to +85C) Symbol Min. Max. Unit Column address access time t ACCF t CYC (1+WC)-25 ns #RAS access time t RACF t CYC (1.5+WC)-25 ns #CAS access time t CACF t CYC (0.5+WC)-25 ns Item 3) 2.0 V single power source Item Column address access time #RAS access time #CAS access time (Unless otherwise specified: VDDE =VDD =2.0V0.2V, VSS=0V, Ta=-40C to +85C) Symbol Min. Max. Unit t ACCF t CYC (1+WC)-60 ns t RACF t CYC (1.5+WC)-60 ns t CACF t CYC (0.5+WC)-60 ns EDO DRAM random access cycle and EDO DRAM page cycle 1) 3.3 V/5.0 V dual power source (Unless otherwise specified: VDDE =BV DDE =5.0V0.5V, VDD =2.7V to 3.6V, VSS=0V, Ta=-40C to +85C) Item Symbol Min. Max. Unit Column address access time t ACCE t CYC (1.5+WC)-25 ns #RAS access time t RACE t CYC (2+WC)-25 ns #CAS access time t CACE t CYC (1+WC)-15 ns Read data setup time t RDS2 20 ns 2) 3.3 V single power source (Unless otherwise specified: VDDE =BV DDE =VDD =2.7V to 3.6V, VSS=0V, Ta=-40C to +85C) Symbol Min. Max. Unit Column address access time t ACCE t CYC (1.5+WC)-25 ns #RAS access time t RACE t CYC (2+WC)-25 ns #CAS access time t CACE t CYC (1+WC)-20 ns Read data setup time t RDS2 20 ns Item 3) 2.0 V single power source (Unless otherwise specified: VDDE =BV DDE =VDD =2.0V0.2V, VSS=0V, Ta=-40C to +85C) Symbol Min. Max. Unit Column address access time t ACCE t CYC (1.5+WC)-60 ns #RAS access time t RACE t CYC (2+WC)-60 ns #CAS access time t CACE t CYC (1+WC)-60 ns Read data setup time t RDS2 20 ns Item A-92 EPSON S1C33T01 PRODUCT PART 8 ELECTRICAL CHARACTERISTICS Burst ROM read cycle 1) 3.3 V/5.0 V dual power source (Unless otherwise specified: VDDE =BV DDE =5.0V0.5V, VDD =2.7V to 3.6V, VSS=0V, Ta=-40C to +85C) Item Symbol Min. Max. Unit Read address access time (2) t ACC2 t CYC (1+WC)-20 ns Chip enable access time (2) t CEAC2 t CYC (1+WC)-20 ns Read signal access time (2) t RDAC2 t CYC (0.5+WC)-20 ns Burst address access time t ACCB t CYC (1+WC)-20 ns 2) 3.3 V single power source (Unless otherwise specified: VDDE =BV DDE =VDD =2.7V to 3.6V, VSS=0V, Ta=-40C to +85C) Symbol Min. Max. Unit Read address access time (2) t ACC2 t CYC (1+WC)-25 ns Chip enable access time (2) t CEAC2 t CYC (1+WC)-25 ns Read signal access time (2) t RDAC2 t CYC (0.5+WC)-25 ns Burst address access time t ACCB t CYC (1+WC)-25 ns Item 3) 2.0 V single power source (Unless otherwise specified: VDDE =BV DDE =VDD =2.0V0.2V, VSS=0V, Ta=-40C to +85C) Symbol Min. Max. Unit Read address access time (2) t ACC2 t CYC (1+WC)-60 ns Chip enable access time (2) t CEAC2 t CYC (1+WC)-60 ns Read signal access time (2) t RDAC2 t CYC (0.5+WC)-60 ns Burst address access time t ACCB t CYC (1+WC)-60 ns Item External bus master and NMI 1) 3.3 V/5.0 V dual power source (Unless otherwise specified: VDDE =BV DDE =5.0V0.5V, VDD =2.7V to 3.6V, VSS=0V, Ta=-40C to +85C) Item Symbol Min. Max. Unit #BUSREQ signal setup time t BRQS 15 ns #BUSREQ signal hold time t BRQH 0 ns #BUSACK signal output delay time t BAKD 10 ns High-impedance output delay time t Z2E 10 ns Output high-impedance delay time t B2Z 10 ns #NMI pulse width t NMIW 30 ns 2) 3.3 V single power source (Unless otherwise specified: VDDE =BV DDE =VDD =2.7V to 3.6V, VSS=0V, Ta=-40C to +85C) Symbol Min. Max. Unit #BUSREQ signal setup time t BRQS 15 ns #BUSREQ signal hold time t BRQH 0 ns #BUSACK signal output delay time t BAKD 10 ns High-impedance output delay time t Z2E 10 ns Output high-impedance delay time t B2Z 10 ns #NMI pulse width t NMIW 30 ns Item 3) 2.0 V single power source (Unless otherwise specified: VDDE =BV DDE =VDD =2.0V0.2V, VSS=0V, Ta=-40C to +85C) Symbol Min. Max. Unit #BUSREQ signal setup time t BRQS 40 ns #BUSREQ signal hold time t BRQH 0 ns #BUSACK signal output delay time t BAKD 20 ns High-impedance output delay time t Z2E 20 ns Output high-impedance delay time t B2Z 20 ns #NMI pulse width t NMIW 90 ns Item S1C33T01 PRODUCT PART EPSON A-93 8 ELECTRICAL CHARACTERISTICS Input, Output and I/O port 1) 3.3 V/5.0 V dual power source (Unless otherwise specified: VDDE =BV DDE =5.0V0.5V, VDD =2.7V to 3.6V, VSS=0V, Ta=-40C to +85C) Item Symbol Min. Max. Unit Input data setup time t INPS 20 ns Input data hold time t INPH 10 ns Output data delay time t OUTD 20 ns K-port interrupt SLEEP, HALT2 mode t KINW 30 ns input pulse width Others 2 x t CYC ns 2) 3.3 V single power source (Unless otherwise specified: VDDE =BV DDE =VDD =2.7V to 3.6V, VSS=0V, Ta=-40C to +85C) Symbol Min. Max. Unit Input data setup time t INPS 20 ns Input data hold time t INPH 10 ns Output data delay time t OUTD 20 ns K-port interrupt SLEEP, HALT2 mode t KINW 30 ns input pulse width Others 2 x t CYC ns Item 3) 2.0 V single power source (Unless otherwise specified: VDDE =BV DDE =VDD =2.0V0.2V, VSS=0V, Ta=-40C to +85C) Symbol Min. Max. Unit Input data setup time t INPS 40 ns Input data hold time t INPH 20 ns Output data delay time t OUTD 30 ns K-port interrupt SLEEP, HALT2 mode t KINW 90 ns input pulse width Others 2 x t CYC ns Item A-94 EPSON S1C33T01 PRODUCT PART 8 ELECTRICAL CHARACTERISTICS 8.6.4 AC Characteristic Timing Charts Clock (1) When an external clock is input (in x1 speed mode): tC3 tC3H tC3ED = tC3H/tC3 OSC3 (High-speed clock) tIF tIR tC3 tCD1 tCD2 BCLK (Clock output) (2) When the high-speed oscillation circuit is used for the operating clock: tC3 tCBH tCBD = tCBH/tC3 BCLK (Clock output) S1C33T01 PRODUCT PART EPSON A-95 8 ELECTRICAL CHARACTERISTICS SRAM read cycle (basic cycle: 1 cycle) tC3 BCLK ,,,, ,,,, t tAD tAD A[23:0] tCE1 CE2 #CEx tRDD1 tRDD2 tRDW #RD tCEAC1 tACC1 ,,,,,,, ,,,,,,, t t ,,,,,, ,,,,,, tRDAC1 D[15:0] 1 tRDH RDS ,,,,,, ,,,,,, #WAIT tWTS WTH 1 tRDH is measured with respect to the first signal change (negation) from among the #RD, #CEx and A[23:0] signals. SRAM read cycle (when a wait cycle is inserted) C1 Cw(wait cycle) Cn(last cycle) BCLK ,,,, ,,,, t tAD tAD A[23:0] tCE1 CE2 #CEx tRDD1 (C1 only) tRDD2 tRDW #RD tCEAC1 tACC1 tRDAC1 D[15:0] tWTS #WAIT ,,,,,,,,,,,,,,,,,,,,,,, ,,,,,,,,,,,,,,,,,,,,,,, t t t t t t t ,,,,,,, ,,,,,,, ,,,,,,,, ,,,,,,,, WTH WTS WTH WTS WTH RDS RDH 1 1 tRDH is measured with respect to the first signal change (negation) from among the #RD, #CEx and A[23:0] signals. 2 This figure is the timing chart for the case where 0 wait states are set. (For example, if 1 wait state is set, WAIT pin sampling will not be performed at C1.) A-96 EPSON S1C33T01 PRODUCT PART 8 ELECTRICAL CHARACTERISTICS SRAM write cycle (basic cycle: 2 cycles) C1 C2 BCLK ,,,, ,,,, t tAD tAD A[23:0] tCE1 CE2 #CEx tWRD1 tWRD2 tWRW #WR tWDD1 tWDH D[15:0] t ,,,, ,,,, t ,,,,,, ,,,,,, WTS #WAIT WTH SRAM write cycle (when wait cycles are inserted) C1 Cw(wait cycle) Cw(wait cycle) Wait cycle follows Last cycle follows Cn(last cycle) BCLK ,,, ,,, t tAD tAD A[23:0] tCE1 CE2 #CEx tWRD1 tWRD2 tWRW #WR tWDD1 tWDH D[15:0] tWTS #WAIT S1C33T01 PRODUCT PART t t ,,,,, ,,,,, WTH WTS t t ,,,,, ,,,,, WTH WTS EPSON t ,,,,,,,,,,,,,, ,,,,,,,,,,,,,, WTH A-97 8 ELECTRICAL CHARACTERISTICS DRAM random access cycle (basic cycle) Data transfer #1 RAS1 Next data transfer CAS1 PRE1(precharge) RAS1' CAS1' BCLK tAD ,,,,,,,,, ,,,,,,,,, t tAD tAD A[23:0] tRASD1 RASD2 tRASW #RAS tCASD1 tCASD2 tCASW #HCAS/ #LCAS tRDD1 tRDD3 tRDW2 #RD tCACF tRACF tACCF tRDS ,,,,,,,,,, ,,,,,,,,,, t D[15:0] 1 ,,,,, ,,,,, t tRDH WRD1 ,,,,,,, ,,,,,,, WRD3 tWRW2 #WE ,,,,, ,,,,, tWDD1 tWDD2 D[15:0] 1 tRDH is measured with respect to the first signal change (negation) of either the #RD or the A[23:0] signals. DRAM fast-page access cycle Data transfer #1 RAS1 Data transfer #2 CAS1 CAS2 Next data transfer PRE1(precharge) RAS1' BCLK tAD tAD tAD A[23:0] tRASD1 tRASD2 tRASW #RAS tCASD1 tCASD2 tCASW #HCAS/ #LCAS tRDD1 tRDD3 tRDW2 #RD tCACF tACCF tRACF tACCF tRDS 1 tRDH tRDS 1 tRDH D[15:0] tWRD1 tWRD3 tWRW2 #WE tWDD1 tWDD2 tWDD2 D[15:0] A-98 EPSON S1C33T01 PRODUCT PART 8 ELECTRICAL CHARACTERISTICS 1 tRDH is measured with respect to the first signal change (negation) of either the #RD or the A[23:0] signals. EDO DRAM random access cycle (basic cycle) Data transfer #1 RAS1 Next data transfer CAS1 PRE1(precharge) RAS1' CAS1' BCLK tAD ,,,,,,,,, ,,,,,,,,, t tAD tAD A[23:0] tRASD1 RASD2 tRASW #RAS tCASD1 tCASD2 tCASW #HCAS/ #LCAS tRDD1 tRDD3 tRDW2 #RD tCACE tRACE tACCE tRDH 1 ,,,,,,,,,, ,,,,,,,,,, tRDS2 D[15:0] tWRD1 ,,, ,,, tWRD3 tWRW2 #WE ,,,,, ,,,,, tWDD1 tWDD2 D[15:0] 1 tRDH is measured with respect to the first signal change (negation) of either the #RD or the #RASx signals. EDO DRAM page access cycle Data transfer #1 RAS1 Data transfer #2 CAS1 CAS2 Next data transfer PRE1(precharge) RAS1' BCLK tAD tAD ,,,,,,,,, ,,,,,,,,, t tAD A[23:0] tRASD1 RASD2 tRASW #RAS tCASD1 tCASD2 tCASW #HCAS/ #LCAS tRDD1 tRDD3 tRDW2 #RD tACCE tCACE tRACE ,,,,,,,,,,,,,, ,,,,,,,,,,,,,, t tRDS tRDH tACCE D[15:0] WRD1 ,,,, ,,,, tRDS tRDH 1 ,,,, ,,,, ,,,,, ,,,,, tWRD3 tWRW2 #WE tWDD1 tWDD2 D[15:0] S1C33T01 PRODUCT PART EPSON ,,,,, ,,,,, tWDD2 A-99 8 ELECTRICAL CHARACTERISTICS 1 tRDH is measured with respect to the first signal change from among the #RD (negation), #RASx (negation) and #CAS (rise) signals. DRAM CAS-before-RAS refresh cycle CBR refresh cycle CCBR1 CCBR2 CCBR3 BCLK #RAS ,,,,,,,, ,,,,,,,, tRASD1 ,,,,,, ,,,,,, tRASD2 tCASD1 tCASD2 #HCAS/ #LCAS #WE ,,,,,,,, ,,,,,,,, ,,,,,, ,,,,,, DRAM self-refresh cycle Self-refresh mode setup Self-refresh mode Self-refresh mode canceration 6-cycle precharge (Fixed) BCLK #RAS ,,,,,,, ,,,,,,, tRASD1 ,,,, ,,,, tRASD2 tCASD1 tCASD2 #HCAS/ #LCAS Burst ROM read cycle SRAM read cycle Burst cycle Burst cycle Burst cycle BCLK tAD tAD A[23:2] tAD tAD tAD tAD tAD A[1:0] tCE1 tCE2 #CEx tRDD1 tRDD2 #RD tACC2 tCEAC tRDAC2 tRDS D[15:0] ,,,,, ,,,,, tACCB tACCB ,,,,, ,,,,, t tRDS RDH tACCB ,,,,, ,,,,, t tRDS RDH ,,,,, ,,,,, t tRDS RDH tRDH1 1 tRDH is measured with respect to the first signal change (negation) from among the #RD, #CEx and A[23:0] signals. A-100 EPSON S1C33T01 PRODUCT PART 8 ELECTRICAL CHARACTERISTICS #BUSREQ, #BUSACK and #NMI timing BCLK ,,,, ,,,, tBRQS #BUSREQ ,,,,,, ,,,,,, tBRQH Valid input tBAKD #BUSACK tZ2E eBUS_OUT signals 1 tB2Z eBUS_OUT signals 1 tNMIW #NMI 1 eBUS_OUT indicates the following pins: A[23:0], #RD, #WRL, #WRH, #HCAS, #LCAS, #CE[17:4], D[15:0] Input, output and I/O port timing BCLK ,,, ,,, tINPS Kxx, Pxx (input: data read from the port) ,,,,, ,,,,, tINPH Valid input tOUTD Pxx, Rxx (output) tKINW Kxx (K-port interrupt input) S1C33T01 PRODUCT PART EPSON A-101 8 ELECTRICAL CHARACTERISTICS 8.7 Oscillation Characteristics Oscillation characteristics change depending on conditions (board pattern, components used, etc.). Use the following characteristics as reference values. In particular, when a ceramic or crystal oscillator is used, use the oscillator manufacturer recommended values for constants such as capacitance and resistance. OSC1 crystal oscillation (Unless otherwise specified: crystal=Q11C02RX #1 , Rf1=20M, CG1=CD1 =15pF#2 ) Symbol Condition Min. Typ. Max. Unit Operating temperature Ta VDD =2.7V to 3.6V -40 85 C VDD =1.9V to 2.2V -40 85 C VDD =1.8V to 2.2V 0 70 C #1 Q11C02RX: Crystal resonator made by Seiko Epson #2 "C G1=CD1 =15pF" includes board capacitance. Item (Unless otherwise specified: VDD =3.3V, VSS=0V, crystal=Q11C02RX #1 32.768kHz, Rf1=20M, CG1=CD1 =15pF#2 , Ta=25C) Item Symbol Condition Min. Typ. Max. Unit Oscillation start time t STA1 3 s External gate/drain capacitance CG1, CD1 CG1=CD1 , 5 25 pF including board capacitance Frequency/IC deviation f/IC -10 10 ppm Frequency/power voltage deviation f/V -10 10 ppm/V Frequency adjustment range f/CG CG =5 to 25pF 50 ppm #1 Q11C02RX: Crystal resonator made by Seiko Epson #2 "C G1=CD1 =15pF" includes board capacitance. (Unless otherwise specified: VDD =2.0V, VSS=0V, crystal=Q11C02RX #1 , Rf1=20M, CG1=CD1 =15pF#2 , Ta=25C) Item Symbol Condition Min. Typ. Max. Unit Oscillation start time t STA1 20 s External gate/drain capacitance CG1, CD1 CG1=CD1 , 5 25 pF including board capacitance Frequency/IC deviation f/IC -10 10 ppm Frequency/power voltage deviation f/V -10 10 ppm/V Frequency adjustment range f/CG CG =5 to 25pF 50 ppm #1 Q11C02RX: Crystal resonator made by Seiko Epson #2 "C G1=CD1 =15pF" includes board capacitance. OSC3 crystal oscillation Note: A "crystal resonator that uses a fundamental" should be used for the OSC3 crystal oscillation circuit. (Unless otherwise specified: VDD =3.3V, VSS=0V, crystal=Q22MA306#1 , Rf2=1M, CG1=CD1 =15pF#2 , Ta=25C) Item Symbol Condition Min. Typ. Max. Unit Oscillation start time t STA3 VDD =3.3V 10 ms VDD =2.0V 25 ms #1 Q22MA306: Crystal resonator made by Seiko Epson #2 "C G1=CD1 =15pF" includes board capacitance. A-102 EPSON S1C33T01 PRODUCT PART 8 ELECTRICAL CHARACTERISTICS OSC3 ceramic oscillation Item Oscillation start time Symbol t STA3 (Unless otherwise specified: VSS=0V, Ta=25C) Min. Typ. Max. Unit ceramic oscillator 10 ms 1 ceramic oscillator 10 ms 2 ceramic oscillator 10 ms 3 ceramic oscillator 5 ms 4 ceramic oscillator 5 ms 5 Condition 10MHz 16MHz 20MHz 25MHz 33MHz note) No. 1 2 3 4 5 1 Ceramic Recommended constants Power voltage oscillator CG2 (pF) CD2 (pF) Rf2 (M) range (V) CST10.0MTW 30 30 1 1.8 to 2.2 CST16.00MXW0C1 5 5 1 1.8 to 2.2 CST20.00MXW0H1 5 5 1 1.8 to 2.2 CST25.00MXW0H1 5 5 1 2.7 to 3.6 CST33.00MXZ040 Open Open 1 2.7 to 3.6 This oscillator has a tendency to rise to the frequency of 0.3%. S1C33T01 PRODUCT PART EPSON (Murata (Murata (Murata (Murata (Murata Remarks (Manufacturer) Mfg. corporation) 1 Mfg. corporation) Mfg. corporation) Mfg. corporation) Mfg. corporation) A-103 8 ELECTRICAL CHARACTERISTICS 8.8 PLL Characteristics Setting the PLLS0 and PLLS1 pins (recommended operating condition) VDD=2.7V to 3.6V PLLS1 PLLS0 Mode Fin (OSC3 clock) Fout 1 0 0 1 1 0 x2 x4 PLL not used 10 to 25MHz 10 to 12.5MHz - 20 to 50MHz 40 to 50MHz - PLLS1 PLLS0 Mode Fin (OSC3 clock) Fout 1 0 1 0 x2 PLL not used 10MHz - 20MHz - VDD=2.0V0.2V PLL characteristics (Unless otherwise specified: VDD =2.7V to 3.6V, VSS=0V, crystal oscillator=Q3204DC#1, R1=4.7k, C1=100pF, C2=5pF, Ta=-40 to +85C) Item Symbol Condition Min. Typ. Max. Unit Jitter (peak jitter) tpj -1 1 ns Lockup time tpll 1 ms #1 Q3204DC: Crystal oscillator made by Seiko Epson (Unless otherwise specified: VDD =2.0V0.2V, VSS=0V, crystal oscillator=Q3204DC#1, R1=4.7k, C1=100pF, C2=5pF, Ta=-40 to +85C) Item Symbol Condition Min. Typ. Max. Unit Jitter (peak jitter) tpj -2 2 ns Lockup time tpll 2 ms #1 Q3204DC: Crystal oscillator made by Seiko Epson A-104 EPSON S1C33T01 PRODUCT PART 9 PACKAGE 9 Package 9.1 Plastic Package QFP18-176pin (Unit: mm) 260.4 240.1 132 89 260.4 88 240.1 133 INDEX 176 45 0.5 +0.1 44 0.2-0.05 0.150.05 0 10 0.50.2 0.1 3max 2.70.1 1 1 Limit of power consumption The chip temperature of an LSI rises according to power consumption. The chip temperature can be calculated from environment temperature (Ta), thermal resistance () and power consumption (PD). Chip temperature (Tj) = Ta + (PD x ) (C) As a guide, normally keep the chip temperature (Tj) lower than 85C. The thermal resistance of the QFP5-128pin package is as follows: Thermal resistance (C/W) = 105 to 115 (75 to 85 for Cu lead frame) This thermal resistance is a value under the condition that the measured device is hanging in the air and has no air-cooling. Thermal resistance greatly varies according to the mounting condition on the board and air-cooling condition. S1C33T01 PRODUCT PART EPSON A-105 10 PAD LAYOUT 10 Pad Layout 10.1 Pad Layout Diagram Die No. 155 150 145 140 135 130 125 120 115 110 105 100 160 95 165 90 170 Y 175 80 X (0, 0) 180 TBD mm 85 75 185 70 190 65 195 60 200 1 5 10 15 20 25 30 35 40 45 50 55 TBD mm A-106 EPSON S1C33T01 PRODUCT PART 10 PAD LAYOUT 10.2 Pad Coordinate (Unit: m) No. Pad name X Y No. -2,373 -2,288 51 Pad name K64/AD4 X Y 1,890 -2,288 1 #X2SPD 2 N.C -2,247 -2,288 52 K63/AD3 1,974 -2,288 3 EA10MD1 -2,142 -2,288 53 K62/AD2 2,058 -2,288 4 N.C -2,058 -2,288 54 K61/AD1 2,142 -2,288 5 EA10MD0 -1,974 -2,288 55 K60/AD0 2,247 -2,288 6 N.C -1,890 -2,288 56 AVDDE 2,373 -2,288 7 EA3MD -1,806 -2,288 57 P35/#BUSACK 2,855 -1,806 8 N.C -1,722 -2,288 58 P34/#BUSREQ/#CE6 2,855 -1,722 9 P47/#SRDY3 -1,638 -2,288 59 P31/#BUSGET/#GARD 2,855 -1,638 10 N.C -1,554 -2,288 60 P30/#WAIT/#CE4&5 2,855 -1,554 11 P46/#SCLK3 -1,470 -2,288 61 P21/#DWE/#GAAS 2,855 -1,470 12 N.C -1,386 -2,288 62 P20/#DRD 2,855 -1,386 -1,302 13 P45/SOUT3 -1,302 -2,288 63 #CE9/#CE17 2,855 14 P44/SIN3 -1,218 -2,288 64 #CE8/#RAS1/#CE14/#RAS3 2,855 -1,218 15 V SS -1,134 -2,288 65 V SS 2,855 -1,134 16 P43/#SRDY2 -1,050 -2,288 66 #CE7/#RAS0/#CE13/#RAS2 2,855 -1,050 17 P42/#SCLK2 -966 -2,288 67 #CE6 2,855 -966 18 P41/SOUT2 -882 -2,288 68 #CE5/#CE15 2,855 -882 19 P40/SIN2 -798 -2,288 69 #CE4/#CE11 2,855 -798 20 P07/#SRDY1/#DMAEND3 -714 -2,288 70 BVDDE 2,855 -714 21 P06/#SCLK1/#DMAACK3 -630 -2,288 71 #CE3 2,855 -630 22 P05/SOUT1/#DMAEND2 -546 -2,288 72 #CE10IN 2,855 -546 23 P04/SIN1/#DMAACK2 -462 -2,288 73 #CE10EX 2,855 -462 24 V DDE -378 -2,288 74 BCLK 2,855 -378 25 P03/#SRDY0 -294 -2,288 75 V SS 2,855 -294 26 P02/#SCLK0 -210 -2,288 76 #HCAS 2,855 -210 27 P01/SOUT0 -126 -2,288 77 #LCAS 2,855 -126 -42 28 P00/SIN0 -42 -2,288 78 #WRH/#BSH 2,855 29 P33/#DMAACK1 42 -2,288 79 #WRL/#WR/#WE 2,855 42 30 P32/#DMAACK0 126 -2,288 80 V DD 2,855 126 31 V SS 210 -2,288 81 #EMEMRD 2,855 210 32 K54/#DMAREQ3 294 -2,288 82 #RD 2,855 294 33 K53/#DMAREQ2 378 -2,288 83 A0/#BSL 2,855 378 34 K52/#ADTRG 462 -2,288 84 A1 2,855 462 35 K51/#DMAREQ1 546 -2,288 85 V SS 2,855 546 36 K50/#DMAREQ0 630 -2,288 86 A2 2,855 630 37 V DD 714 -2,288 87 A3 2,855 714 38 N.C 798 -2,288 88 A4 2,855 798 39 OSC2 882 -2,288 89 A5 2,855 882 40 N.C 41 OSC1 42 N.C 1,134 -2,288 92 A7 2,855 1,134 43 V SS 1,218 -2,288 93 A8 2,855 1,218 44 N.C 1,302 -2,288 94 A9 2,855 1,302 45 ICEMD 1,386 -2,288 95 A10 2,855 1,386 46 N.C 1,470 -2,288 96 A11 2,855 1,470 47 K67/AD7 1,554 -2,288 97 A12 2,855 1,554 966 -2,288 90 BVDDE 2,855 966 1,050 -2,288 91 A6 2,855 1,050 48 PAD_VRL 1,638 -2,288 98 A13 2,855 1,638 49 K66/AD6 1,722 -2,288 99 A14 2,855 1,722 50 K65/AD5 1,806 -2,288 100 A15 2,855 1,806 S1C33T01 PRODUCT PART EPSON A-107 10 PAD LAYOUT No. 101 A16 Pad name X Y 2,373 2,288 X Y 151 N.C No. Pad name -1,890 2,288 102 N.C 2,247 2,288 152 P74 -1,974 2,288 103 A17 2,142 2,288 153 N.C -2,058 2,288 104 N.C 2,058 2,288 154 P73/SDA1 -2,142 2,288 105 A18 1,974 2,288 155 N.C -2,247 2,288 106 N.C 1,890 2,288 156 P72/SCL1 -2,373 2,288 107 A19 1,806 2,288 157 P71/SDA0 -2,855 1,806 108 N.C 1,722 2,288 158 P70/SCL0 -2,855 1,722 109 A20 1,638 2,288 159 #NMI -2,855 1,638 110 N.C 1,554 2,288 160 PLLS1 -2,855 1,154 111 A21 1,470 2,288 161 PLLS0 -2,855 1,470 112 N.C 1,386 2,288 162 #RESET -2,855 1,386 113 A22 1,302 2,288 163 PLLC -2,855 1,302 1,218 114 A23 1,218 2,288 164 V SS -2,855 115 BVDDE 1,134 2,288 165 P67 -2,855 1,134 116 D15 1,050 2,288 166 P66 -2,855 1,050 117 D14 966 2,288 167 P65 -2,855 966 118 D13 882 2,288 168 P64 -2,855 882 119 D12 798 2,288 169 P63 -2,855 798 120 D11 714 2,288 170 P62 -2,855 714 121 D10 630 2,288 171 V DDE -2,855 630 122 V SS 546 2,288 172 P61 -2,855 546 123 D9 462 2,288 173 P60 -2,855 462 124 D8 378 2,288 174 P57 -2,855 378 125 D7 294 2,288 175 P56 -2,855 294 126 D6 210 2,288 176 P55 -2,855 210 127 D5 126 2,288 177 P54 -2,855 126 128 V DD 42 2,288 178 V SS -2,855 42 129 D4 -42 2,288 179 OSC4 -2,855 -42 130 D3 -126 2,288 180 OSC3 -2,855 -126 131 D2 -210 2,288 181 V DD -2,855 -210 132 D1 -294 2,288 182 P53 -2,855 -294 133 D0 -378 2,288 183 P52 -2,855 -378 134 BVDDE -462 2,288 184 P51/T8UF5 -2,855 -462 135 P87/TM9 -546 2,288 185 P50/T8UF4 -2,855 -546 136 P86/TM8 -630 2,288 186 P16/EXCL5/#DMAEND1 -2,855 -630 137 P85/TM7 -714 2,288 187 P15/EXCL4/#DMAEND0 -2,855 -714 138 V DDE -798 2,288 188 V SS -2,855 -798 139 P84/TM6 -882 2,288 189 P14/FOSC1/DCLK -2,855 -882 140 P83/EXCL9 -966 2,288 190 P13/EXCL3/T8UF3/DPCO -2,855 -966 141 P82/EXCL8 -1,050 2,288 191 P12/EXCL2/T8UF2/DST2 -2,855 -1,050 142 V SS -1,134 2,288 192 P11/EXCL1/T8UF1/DST1 -2,855 -1,134 143 P81/EXCL7 -1,218 2,288 193 P10/EXCL0/T8UF0/DST0 -2,855 -1,218 144 P80/EXCL6 -1,302 2,288 194 DSIO -2,855 -1,302 145 N.C -1,386 2,288 195 P27/TM5 -2,855 -1,386 146 P77 -1,470 2,288 196 P26/TM4 -2,855 -1,470 147 N.C -1,554 2,288 197 P25/TM3 -2,855 -1,554 148 P76 -1,638 2,288 198 P24/TM2 -2,855 -1,638 149 N.C -1,722 2,288 199 P23/TM1 -2,855 -1,722 150 P75 -1,806 2,288 200 P22/TM0 -2,855 -1,806 Note: The S1C33T01 is constructed with 0.35 m process technology. Since the pad pitch is too small, it is impossible to use all pads when mounting the chip (die form) on the board. When mounting the chip, use the pads other than "N.C." A-108 EPSON S1C33T01 PRODUCT PART APPENDIX A EXTERNAL DEVICE INTERFACE TIMINGS Appendix A External Device Interface Timings This section shows setup examples for setting timing conditions of the external system interface as a reference material used when configuring a system with external devices. Pay attention to the following precautions when using this material. * The described AC characteristic values of external devices are standard values. They may differ from those of the devices actually used, so the actual setup values (number of cycles) should be determined by referring the manual or specification of the device to be used. * It is necessary to set the timing values allowing ample margin according to the load capacitance of the bus and signal lines, number of devices to be connected, operating temperature range, I/O levels and other conditions. The number of cycles described in this section is an example and the conditions are not considered. * The values described in "Time" column of the tables are simply calculated by multiplying the number of cycles by the cycle time. Conditions such as the output delay time of the device, delay due to wiring and load capacitance, and input setup time are not considered. * The described contents are reference data and cannot be guaranteed to work. S1C33T01 PRODUCT PART EPSON A-109 APPENDIX A EXTERNAL DEVICE INTERFACE TIMINGS A.1 DRAM (70ns) DRAM interface setup examples - 70ns Operating frequency RAS precharge cycle RAS cycle CAS cycle 20MHz 25MHz 33MHz 2 2 2 1 1 2 2 2 3 Refresh RAS pulse Refresh RPC delay width 2 2 3 1 1 1 DRAM interface timing - 70ns DRAM interface Parameter Unit: ns 33MHz 25MHz 20MHz Symbol Min. Max. Cycle Time Cycle Time Cycle Time t RC t RP t RAS t CAS t ASR t RAH t ASC t RCD t RAD 130 50 70 20 0 10 0 20 15 - - 10000 10000 - - - - - 7 2 5 2.5 0.5 1.5 0.5 2.0 1.5 210 60 150 75 15 45 15 60 45 5 2 3 1.5 0.5 0.5 0.5 1.0 0.5 200 80 120 60 20 20 20 40 20 5 2 3 1.5 0.5 0.5 0.5 1.0 0.5 250 100 150 75 25 25 25 50 25 t RAC t CAC t AA t OAC t OFF - - - - 0 70 20 35 20 20 4.5 2.5 3.0 4.5 2 135 75 90 135 60 2.5 1.5 2.0 2.5 2 100 60 80 100 80 2.5 1.5 2.0 2.5 2 125 75 100 125 100 t DH 15 - 2.5 75 1.5 60 1.5 75 t PC t CP t ACP 45 10 - - - 40 3.0 0.5 3.0 90 15 90 2.0 0.5 2.0 80 20 80 2.0 0.5 2.0 100 25 100 t CSR t CHR t PPC t RAS 10 10 10 70 - - - 10000 1.0 2.5 1.0 3.0 30 75 30 90 1.0 1.5 1.0 2.0 40 60 40 80 1.0 1.5 1.0 2.0 50 75 50 100 Random read/random write cycle time #RAS precharge time #RAS pulse width #CAS pulse width Row address setup time Row address hold time Column address setup time #RAS#CAS delay time #RAScolumn address delay time #RAS access time #CAS access time Address access time #OE access time Output buffer turn-off time Data input hold time Fast-page mode cycle time Fast-page mode #CAS precharge time Access time after #CAS precharge #CAS setup time #CAS hold time #RAS precharge#CAS hold time #RAS pulse width (only in refresh cycle) A-110 EPSON S1C33T01 PRODUCT PART APPENDIX A EXTERNAL DEVICE INTERFACE TIMINGS DRAM: 70ns, CPU: 33MHz, random read/write cycle tRC RAS cycle CAS cycle RAS precharge 2 3 2 ROW #1 COL #1 ,,,,,,,,, ,,,,,,,,, BCLK A[11:0] tRAD tRAH tASC tRAS tASR ROW #2 tRP #RAS tRCD tCAS #CAS #RD tRAC tOAC tAA tCAC tOFF ,,,,,,,,, ,,,,,,,,, t D[15:0](RD) RD data ,,,, ,,,, WP #WE tDS tDH D[15:0](WR) ,,, ,,, WR data DRAM: 70ns, CPU: 33MHz, page-mode read/write cycle tPC RAS cycle CAS cycle CAS cycle RAS precharge 2 3 3 2 ROW #1 COL #1 COL #2 ,,,,,, ,,,,,, BCLK A[11:0] tRAS #RAS tCP #CAS #RD ,,,,,,,,, ,,,,,,,,, D[15:0](RD) RD data #WE D[15:0](WR) tACP ,,,,,,,,, ,,,,,,,,, WR data RD data WR data ,,, ,,, DRAM: 70ns, CPU: 33MHz, CAS-before-RAS refresh cycle RPC delay Fixed Refresh RAS pulse width RAS precharge 1 1 3 2 BCLK tRAS #RAS tRPC tCSR tCHR #CAS S1C33T01 PRODUCT PART EPSON A-111 APPENDIX A EXTERNAL DEVICE INTERFACE TIMINGS DRAM: 70ns, CPU: 25/20MHz, random read/write cycle RAS cycle CAS cycle RAS precharge 1 2 2 COL #1 ,,,,,,,,, ,,,,,,,,, BCLK A[11:0] ROW #1 ROW #2 tRAS #RAS #CAS #RD ,,,,, ,,,,, D[15:0](RD) ,, ,, RD data #WE D[15:0](WR) ,,, ,,, WR data DRAM: 70ns, CPU: 25/20MHz, page-mode read/write cycle RAS cycle CAS cycle CAS cycle RAS precharge 1 2 2 2 COL #2 ,,,,,,,,, ,,,,,,,,, BCLK A[11:0] ROW #1 COL #1 tRAS #RAS #CAS #RD ,,,,, ,,,,, D[15:0](RD) ,,,,, ,,,,, RD data RD data #WE D[15:0](WR) WR data ,,, ,,, WR data DRAM: 70ns, CPU: 25/20MHz, CAS-before-RAS refresh cycle RPC delay Fixed Refresh RAS pulse width RAS precharge 1 1 2 2 BCLK tRAS #RAS tRPC tCSR tCHR #CAS A-112 EPSON S1C33T01 PRODUCT PART APPENDIX A EXTERNAL DEVICE INTERFACE TIMINGS A.2 DRAM (60ns) DRAM interface setup examples - 60ns Operating frequency RAS precharge cycle RAS cycle CAS cycle 20MHz 25MHz 33MHz 1 2 2 1 1 2 2 2 2 Refresh RAS pulse Refresh RPC delay width 2 2 3 1 1 1 DRAM interface timing - 60ns DRAM interface Parameter Unit: ns 33MHz 25MHz 20MHz Symbol Min. Max. Cycle Time Cycle Time Cycle Time t RC t RP t RAS t CAS t ASR t RAH t ASC t RCD t RAD 110 40 60 15 0 10 0 20 15 - - 10000 10000 - - - - - 6 2 4 1.5 0.5 1.5 0.5 2.0 1.5 180 60 120 45 15 45 15 60 45 5 2 3 1.5 0.5 0.5 0.5 1.0 0.5 200 80 120 60 20 20 20 40 20 4 1 3 1.5 0.5 0.5 0.5 1.0 0.5 200 50 150 75 25 25 25 50 25 t RAC t CAC t AA t OAC t OFF - - - - 0 60 15 30 15 15 3.5 1.5 2.0 3.5 2 105 45 60 105 60 2.5 1.5 2.0 2.5 2 100 60 80 100 80 2.5 1.5 2.0 2.5 1 125 75 100 125 50 t DH 10 - 1.5 45 1.5 60 1.5 75 t PC t CP t ACP 40 10 - - - 35 2.0 0.5 2.0 60 15 60 2.0 0.5 2.0 80 20 80 2.0 0.5 2.0 100 25 100 t CSR t CHR t PPC t RAS 10 10 10 60 - - - 10000 1.0 2.5 1.0 3.0 30 75 30 90 1.0 1.5 1.0 2.0 40 60 40 80 1.0 1.5 1.0 2.0 50 75 50 100 Random read/random write cycle time #RAS precharge time #RAS pulse width #CAS pulse width Row address setup time Row address hold time Column address setup time #RAS#CAS delay time #RAScolumn address delay time #RAS access time #CAS access time Address access time #OE access time Output buffer turn-off time Data input hold time Fast-page mode cycle time Fast-page mode #CAS precharge time Access time after #CAS precharge #CAS setup time #CAS hold time #RAS precharge#CAS hold time #RAS pulse width (only in refresh cycle) S1C33T01 PRODUCT PART EPSON A-113 APPENDIX A EXTERNAL DEVICE INTERFACE TIMINGS DRAM: 60ns, CPU: 33MHz, random read/write cycle tRC RAS cycle CAS cycle RAS precharge 2 2 2 ROW #1 COL #1 ,,,,,,,,, ,,,,,,,,, BCLK A[11:0] tRAD tRAH tASC tRAS tASR ROW #2 tRP #RAS tRCD tCAS #CAS #RD tRAC tOAC tAA tCAC tOFF ,,,,, ,,,,, t D[15:0](RD) RD data ,,,, ,,,, WP #WE tDS D[15:0](WR) tDH WR data ,,, ,,, DRAM: 60ns, CPU: 33MHz, page-mode read/write cycle tPC RAS cycle CAS cycle CAS cycle RAS precharge 2 2 2 2 ROW #1 COL #1 BCLK A[11:0] ,,,,,, ,,,,,, COL #2 tRAS #RAS tCP #CAS #RD ,,,,, ,,,,, D[15:0](RD) RD data #WE D[15:0](WR) WR data tACP ,,,,, ,,,,, RD data ,,, ,,, WR data DRAM: 60ns, CPU: 33MHz, CAS-before-RAS refresh cycle RPC delay Fixed Refresh RAS pulse width RAS precharge 1 1 3 2 BCLK tRAS #RAS tRPC tCSR tCHR #CAS A-114 EPSON S1C33T01 PRODUCT PART APPENDIX A EXTERNAL DEVICE INTERFACE TIMINGS DRAM: 60ns, CPU: 25MHz, random read/write cycle RAS cycle CAS cycle RAS precharge 1 2 2 COL #1 ,,,,,,,,, ,,,,,,,,, BCLK A[11:0] ROW #1 ROW #2 tRAS #RAS #CAS #RD ,,,,, ,,,,, D[15:0](RD) ,, ,, RD data #WE D[15:0](WR) ,,, ,,, WR data DRAM: 60ns, CPU: 25MHz, page-mode read/write cycle RAS cycle CAS cycle CAS cycle RAS precharge 1 2 2 2 COL #2 ,,,,,,,,, ,,,,,,,,, BCLK A[11:0] ROW #1 COL #1 tRAS #RAS #CAS #RD ,,,,, ,,,,, D[15:0](RD) ,,,,, ,,,,, RD data RD data #WE D[15:0](WR) WR data ,,, ,,, WR data DRAM: 60ns, CPU: 25MHz, CAS-before-RAS refresh cycle RPC delay Fixed Refresh RAS pulse width RAS precharge 1 1 2 2 BCLK tRAS #RAS tRPC tCSR tCHR #CAS S1C33T01 PRODUCT PART EPSON A-115 APPENDIX A EXTERNAL DEVICE INTERFACE TIMINGS DRAM: 60ns, CPU: 20MHz, random read/write cycle RAS cycle CAS cycle RAS precharge 1 2 1 COL #1 ,,,,, ,,,,, BCLK A[11:0] ROW #1 ROW #2 tRAS #RAS #CAS #RD ,,,,, ,,,,, D[15:0](RD) ,, ,, RD data #WE D[15:0](WR) ,,, ,,, WR data DRAM: 60ns, CPU: 20MHz, page-mode read/write cycle RAS cycle CAS cycle CAS cycle RAS precharge 1 2 2 1 BCLK A[11:0] ROW #1 COL #1 ,,,,,, ,,,,,, COL #2 tRAS #RAS #CAS #RD ,,,,, ,,,,, D[15:0](RD) RD data #WE D[15:0](WR) ,,,,, ,,,,, RD data WR data WR data ,,, ,,, DRAM: 60ns, CPU: 20MHz, CAS-before-RAS refresh cycle RPC delay Fixed Refresh RAS pulse width 1 1 2 RAS precharge 1 BCLK tRAS #RAS tRPC tCSR tCHR #CAS A-116 EPSON S1C33T01 PRODUCT PART APPENDIX A EXTERNAL DEVICE INTERFACE TIMINGS A.3 ROM and Burst ROM Burst ROM and mask ROM interface setup examples Operating Normal read cycle Burst read cycle Output disable frequency Wait cycle Read cycle Wait cycle Read cycle delay cycle 20MHz 25MHz 33MHz 2 3 4 3 4 5 1 1 2 2 2 3 1.5 1.5 1.5 Burst ROM and mask ROM interface timing Burst ROM and mask ROM interface Parameter 33MHz Symbol #CE output delay time #OE output delay time Burst access time Output disable delay time 20MHz Max. Cycle Time Cycle Time Cycle Time - - - - 0 100 100 50 50 40 5 5 4.5 3 1.5 150 150 135 90 45 4 4 3.5 2 1.5 160 160 140 80 60 3 3 2.5 2 1.5 150 150 125 100 75 t ACC t CE t OE t BAC t DF Access time 25MHz Min. ROM: 100ns, CPU: 33MHz, normal read BCLK tACC ,,,,, ,,,,, A[23:0] tCE #CE9, 10 tOE #RD ,,,,,,,,,,,,,,, ,,,,,,,,,,,,,,, D[15:0] tDF RD data ,,,, ,,,, ROM: 100ns, CPU: 33MHz, burst read BCLK Normal read cycle Burst read cycle tBAC tBAC tBAC ,,, ,,, A[23:0] #CE9, 10 #RD ,,,,,,,, ,,,,,,,, ,,,,, ,,,,, ,,,,, ,,,,, ,,,,, ,,,,, RD data D[15:0] S1C33T01 PRODUCT PART RD data EPSON RD data RD data tDF ,,, ,,, A-117 APPENDIX A EXTERNAL DEVICE INTERFACE TIMINGS ROM: 100ns, CPU: 25MHz, normal read BCLK ,,,,, ,,,,, A[23:0] #CE9, 10 #RD ,,,,,,,,,,, ,,,,,,,,,,, D[15:0] ,,,, ,,,, RD data ROM: 100ns, CPU: 25MHz, burst read BCLK Normal read cycle Burst read cycle ,,, ,,, A[23:0] #CE9, 10 #RD ,,,,,, ,,,,,, ,,, ,,, ,,, ,,, ,,, ,,, RD data D[15:0] RD data RD data ,,, ,,, RD data ROM: 100ns, CPU: 20MHz, normal read BCLK ,,,,, ,,,,, A[23:0] #CE9, 10 #RD D[15:0] ,,,,,,, ,,,,,,, ,,,, ,,,, RD data ROM: 100ns, CPU: 20MHz, burst read BCLK Normal read cycle Burst read cycle ,,, ,,, A[23:0] #CE9, 10 #RD ,,,, ,,,, ,,, ,,, ,,, ,,, ,,, ,,, RD data D[15:0] A-118 RD data EPSON RD data RD data ,,, ,,, S1C33T01 PRODUCT PART APPENDIX A EXTERNAL DEVICE INTERFACE TIMINGS A.4 SRAM (55ns) SRAM interface setup examples - 55ns Operating Read cycle Output disable Write cycle frequency Wait cycle Read cycle 20MHz 25MHz 33MHz 1 2 2 2 3 3 delay time 2 3 3 1.5 1.5 1.5 SRAM interface timing - 55ns SRAM interface 33MHz Parameter 25MHz 20MHz Symbol Min. Max. Cycle Time Cycle Time Cycle Time t RC t ACC t ACS t OE t OHZ 55 - - - 0 - 55 55 30 30 3 3 3 2.5 1.5 90 90 90 75 45 3 3 3 2.5 1.5 120 120 120 100 60 2 2 2 1.5 1.5 100 100 100 75 75 t WC t AW t WP t DW t DH 55 50 45 30 0 - - - - - 3 2.5 2 2 0.5 90 75 60 60 15 3 2.5 2 2 0.5 120 100 80 80 20 2 1.5 1 1 0.5 100 75 50 50 25 Read cycle time Address access time #CE access time #OE access time Output disable delay time Write cycle time Address enable time Write pulse width Input data setup time Input data hold time SRAM: 55ns, CPU: 33/25MHz, read cycle BCLK tRC ,,,,, ,,,,, A[23:0] tACC #CEx tACS #RD tOE ,,,,,,,,, ,,,,,,,,, tOHZ ,,,, ,,,, RD data D[15:0] SRAM: 55ns, CPU: 33/25MHz, write cycle BCLK tWC A[23:0] tAW ,,,,, ,,,,, #CEx tWP #WP tDW D[15:0] S1C33T01 PRODUCT PART WR data EPSON tDH ,,, ,,, A-119 APPENDIX A EXTERNAL DEVICE INTERFACE TIMINGS SRAM: 55ns, CPU: 20MHz, read cycle BCLK ,,,,, ,,,,, A[23:0] #CEx #RD ,,,,, ,,,,, RD data D[15:0] ,,,, ,,,, SRAM: 55ns, CPU: 20MHz, write cycle BCLK ,,,,, ,,,,, A[23:0] #CEx #WP D[15:0] A-120 WR data EPSON ,,, ,,, S1C33T01 PRODUCT PART APPENDIX A EXTERNAL DEVICE INTERFACE TIMINGS A.5 SRAM (70ns) SRAM interface setup examples - 70ns Operating Read cycle Output disable Write cycle frequency Wait cycle Read cycle 20MHz 25MHz 33MHz 2 2 3 3 3 4 delay time 3 3 4 1.5 1.5 1.5 SRAM interface timing - 70ns SRAM interface 33MHz Parameter 25MHz 20MHz Symbol Min. Max. Cycle Time Cycle Time Cycle Time t RC t ACC t ACS t OE t OHZ 70 - - - 0 - 70 70 40 30 4 4 4 3.5 1.5 120 120 120 105 45 3 3 3 2.5 1.5 120 120 120 100 60 3 3 3 2.5 1.5 150 150 150 125 75 t WC t AW t WP t DW t DH 70 60 55 30 0 - - - - - 4 3.5 3 3 0.5 120 105 90 90 15 3 2.5 2 2 0.5 120 100 80 80 20 3 2.5 2 2 0.5 150 125 100 100 25 Read cycle time Address access time #CE access time #OE access time Output disable delay time Write cycle time Address enable time Write pulse width Input data setup time Input data hold time SRAM: 70ns, CPU: 33MHz, read cycle BCLK tRC ,,,,, ,,,,, A[23:0] tACC #CEx tACS #RD tOE ,,,,,,,,,,,,, ,,,,,,,,,,,,, tOHZ ,,,, ,,,, RD data D[15:0] SRAM: 70ns, CPU: 33MHz, write cycle BCLK tWC A[23:0] tAW ,,,,, ,,,,, #CEx tWP #WP tDW D[15:0] S1C33T01 PRODUCT PART WR data EPSON tDH ,,, ,,, A-121 APPENDIX A EXTERNAL DEVICE INTERFACE TIMINGS SRAM: 70ns, CPU: 25/20MHz, read cycle BCLK ,,,,, ,,,,, A[23:0] #CEx #RD ,,,,,,,,, ,,,,,,,,, RD data D[15:0] ,,,, ,,,, SRAM: 70ns, CPU: 25/20MHz, write cycle BCLK ,,,,, ,,,,, A[23:0] #CEx #WP D[15:0] A-122 WR data EPSON ,,, ,,, S1C33T01 PRODUCT PART APPENDIX A EXTERNAL DEVICE INTERFACE TIMINGS A.6 8255A 8255A interface setup examples Operating Read cycle frequency Wait cycle 20MHz 25MHz 33MHz 9 11 14 Output disable Write cycle Read cycle 1 delay time 10 12 15 10 12 15 3.5 3.5 3.5 2 8255A interface timing SRAM interface Parameter 33MHz 25MHz 20MHz Symbol Min. Max. Cycle Time Cycle Time Cycle Time t RC t ACC t ACS t OE t OHZ 300 - - - 10 - 250 250 250 150 15 15 15 14.5 3.5 450 450 450 435 105 12 12 12 11.5 3.5 480 480 480 460 140 10 10 10 9.5 3.5 500 500 500 475 175 t WC t AW t WP t DW t DH 430 400 400 100 30 - - - - - 15 14.5 14 14 0.5 450 435 420 420 15 12 11.5 11 11 0.5 480 460 440 440 20 10 9.5 9 9 0.5 500 475 450 450 25 Read cycle time Address access time #CE access time #OE access time Output disable delay time Write cycle time Address enable time Write pulse width Input data setup time Input data hold time 3 1 The S1C33T01 enables up to 7 cycles of wait-cycle insertion. If a number of wait cycles more than 7 cycles needs to be inserted, input the #WAIT signal from external hardware. Note that the interface must be set for SRAM type devices to insert wait cycles using the #WAIT pin. (Refer to "BCU (Bus Control Unit)" in the "S1C33T01 FUNCTION PART", for more information.) 2 This setting cannot satisfy the 150 ns of output-disable delay time specification required for the 8255A. When implementing such a low-speed device in the system, the external bus must be separated by inserting a 3-state bus buffer at the output side (when viewed from the CPU) of the external system bus. 3 If the data hold time that can be set is sufficient for the device, secure it by connecting a bus repeater to the external data bus D[15:0] or by inserting a latch at the output side of the external system interface. S1C33T01 PRODUCT PART EPSON A-123 APPENDIX B PIN CHARACTERISTICS Appendix B Pin Characteristics Signal name Pin No. I/Ocell name Characteristic QFP18 Input Pull-up Power supply Remarks Output Pull-down 1 #X2SPD XHIBC CMOS 2 EA10MD1 XHIBCP2 CMOS/LVTTL V DDE 3 EA10MD0 XHIBC CMOS 4 EA3MD XHIBCP2 CMOS/LVTTL 5 P47/#SRDY3 XHBH1T CMOS/LVTTL SCHMITT Type1 V DDE 6 P46/#SCLK3 XHBH1T CMOS/LVTTL SCHMITT Type1 V DDE 7 P45/SOUT3 XHBH1T CMOS/LVTTL SCHMITT Type1 V DDE 8 P44/SIN3 XHBH1T CMOS/LVTTL SCHMITT Type1 V DDE 9 V SS XVSS - 10 P43/#SRDY2 XHBH1T CMOS/LVTTL SCHMITT Type1 V DDE 11 P42/#SCLK2 XHBH1T CMOS/LVTTL SCHMITT Type1 V DDE 12 P41/SOUT2 XHBH1T CMOS/LVTTL SCHMITT Type1 V DDE 13 P40/SIN2 XHBH1T CMOS/LVTTL SCHMITT Type1 V DDE 14 P07/#SRDY1/#DMAEND3 XHBH1T CMOS/LVTTL SCHMITT Type1 V DDE 15 P06/#SCLK1/#DMAACK3 XHBH1T CMOS/LVTTL SCHMITT Type1 V DDE 16 P05/SOUT1/#DMAEND2 XHBH1T CMOS/LVTTL SCHMITT Type1 V DDE 17 P04/SIN1/#DMAACK2 XHBH1T CMOS/LVTTL SCHMITT Type1 V DDE 18 V DDE XHVDD - 19 P03/#SRDY0 XHBH1T CMOS/LVTTL SCHMITT Type1 V DDE 20 P02/#SCLK0 XHBH1T CMOS/LVTTL SCHMITT Type1 V DDE 21 P01/SOUT0 XHBH1T CMOS/LVTTL SCHMITT Type1 V DDE 22 P00/SIN0 XHBH1T CMOS/LVTTL SCHMITT Type1 V DDE 23 P33/#DMAACK1 XHBH1T CMOS/LVTTL SCHMITT Type1 V DDE 24 P32/#DMAACK0 XHBH1T CMOS/LVTTL SCHMITT Type1 V DDE 25 V SS XVSS - Pull-up V DDE Pull-up V DDE V DDE 26 K54/#DMAREQ3 XHIBH CMOS/SCHMITT 27 K53/#DMAREQ2 XHIBH CMOS/SCHMITT Type1 V DDE V DDE 28 K52/#ADTRG XHIBH CMOS/SCHMITT V DDE 29 K51/#DMAREQ1 XHIBH CMOS/SCHMITT V DDE 30 K50/#DMAREQ0 XHIBH CMOS/SCHMITT V DDE 31 V DD XLVDD 32 OSC2 XLLOT V DDE 33 OSC1 XLLIN V DDE 34 V SS XVSS 35 ICEMD XITST1 36 K67/AD7 XHIBCLIN AVDDE note 1 37 K66/AD6 XHIBCLIN AVDDE note 1 38 K65/AD5 XHIBCLIN AVDDE note 1 39 K64/AD4 XHIBCLIN AVDDE note 1 40 K63/AD3 XHIBCLIN AVDDE note 1 41 K62/AD2 XHIBCLIN AVDDE note 1 42 K61/AD1 XHIBCLIN AVDDE note 1 43 K60/AD0 XHIBCLIN AVDDE note 1 44 AVDDE C33XAVDDC 45 P35/#BUSACK XHBH1T CMOS/LVTTL SCHMITT Type1 BVDDE 46 P34/#BUSREQ/#CE6 XHBH1T CMOS/LVTTL SCHMITT Type1 BVDDE 47 P31/#BUSGET/#GARD XHBH1T CMOS/LVTTL SCHMITT Type1 BVDDE 48 P30/#WAIT/#CE4&5 XHBH1T CMOS/LVTTL SCHMITT Type1 BVDDE 49 P21/#DWE/#GAAS XHBH1T CMOS/LVTTL SCHMITT Type1 BVDDE 50 P20/#DRD XHBH1T CMOS/LVTTL SCHMITT Type1 BVDDE A-124 Pull-down EPSON note 2 Testing pin S1C33T01 PRODUCT PART APPENDIX B PIN CHARACTERISTICS Signal name Pin No. I/Ocell name Characteristic QFP18 Input Pull-up Power supply Output Pull-down 51 #CE9/#CE17 XHBC1T note 3 Type1 BVDDE 52 #CE8/#RAS1/#CE14/#RAS3 XHBC1T note 3 Type1 BVDDE 53 V SS XVSS 54 #CE7/#RAS0/#CE13/#RAS2 XHBC1T note 3 Type1 BVDDE 55 #CE6 XHBC1T note 3 Type1 BVDDE 56 #CE5/#CE15 XHBC1T CMOS/LVTTL Type1 BVDDE 57 #CE4/#CE11 XHBC1T CMOS/LVTTL Type1 BVDDE 58 BVDDE XHVDD 59 #CE3 XHTB1T Type1 BVDDE 60 #CE10IN XHTB1T Type1 BVDDE 61 #CE10EX XHBC1T 62 BCLK XHTB1T 63 V SS XVSS 64 #HCAS XHTB1T Type1 BVDDE 65 #LCAS XHTB1T Type1 BVDDE 66 #WRH/#BSH XHBC1T note 3 Type1 67 #WRL/#WR/#WE XHBC1T note 3 Type1 68 V DD XLVDD note 3 Type1 BVDDE Type1 BVDDE BVDDE BVDDE 69 #EMEMRD XHTB1T 70 #RD XHBC1T 71 A0/#BSL XHBC1T note 3 Type1 BVDDE 72 A1 XHBC1T note 3 Type1 BVDDE 73 V SS XVSS 74 A2 XHBC1T note 3 Type1 BVDDE 75 A3 XHBC1T note 3 Type1 BVDDE 76 A4 XHBC1T note 3 Type1 BVDDE 77 A5 XHBC1T note 3 Type1 BVDDE 78 BVDDE XHVDD note 3 Type1 BVDDE Type1 BVDDE 79 A6 XHBC1T note 3 Type1 BVDDE 80 A7 XHBC1T note 3 Type1 BVDDE 81 A8 XHBC1T note 3 Type1 BVDDE 82 A9 XHBC1T note 3 Type1 BVDDE 83 A10 XHBC1T note 3 Type1 BVDDE 84 A11 XHBC1T note 3 Type1 BVDDE 89 A16 XHBC1T note 3 Type1 BVDDE 90 A17 XHBC1T note 3 Type1 BVDDE 91 A18 XHBC1T note 3 Type1 BVDDE 92 A19 XHBC1T note 3 Type1 BVDDE 93 A20 XHBC1T note 3 Type1 BVDDE 94 A21 XHBC1T note 3 Type1 BVDDE 95 A22 XHBC1T note 3 Type1 BVDDE 96 A23 XHBC1T note 3 Type1 BVDDE 97 BVDDE XHVDD 98 D15 XHBC1T CMOS/LVTTL Type1 Pull-down BVDDE 99 D14 XHBC1T CMOS/LVTTL Type1 BVDDE 100 D13 XHBC1T CMOS/LVTTL Type1 BVDDE S1C33T01 PRODUCT PART Remarks EPSON A-125 APPENDIX B PIN CHARACTERISTICS Signal name Pin No. I/Ocell name Characteristic QFP18 Input Pull-up Power supply Output Pull-down 101 D12 XHBC1T CMOS/LVTTL Type1 BVDDE 102 D11 XHBC1T CMOS/LVTTL Type1 BVDDE 103 D10 XHBC1T CMOS/LVTTL Type1 BVDDE 104 V SS XVSS 105 D9 XHBC1T CMOS/LVTTL Type1 BVDDE 106 D8 XHBC1T CMOS/LVTTL Type1 BVDDE 107 D7 XHBC1T CMOS/LVTTL Type1 BVDDE 108 D6 XHBC1T CMOS/LVTTL Type1 BVDDE 109 D5 XHBC1T CMOS/LVTTL Type1 BVDDE 110 V DD XLVDD 111 D4 XHBC1T CMOS/LVTTL Type1 BVDDE 112 D3 XHBC1T CMOS/LVTTL Type1 BVDDE 113 D2 XHBC1T CMOS/LVTTL Type1 BVDDE 114 D1 XHBC1T CMOS/LVTTL Type1 BVDDE 115 D0 XHBC1T CMOS/LVTTL Type1 BVDDE 116 BVDDE XHVDD 117 P87/TM9 XHBH1T CMOS/LVTTL SCHMITT Type1 V DDE 118 P86/TM8 XHBH1T CMOS/LVTTL SCHMITT Type1 V DDE 119 P85/TM7 XHBH1T CMOS/LVTTL SCHMITT Type1 V DDE 120 V DDE XHVDD - - 121 P84/TM6 XHBH1T CMOS/LVTTL SCHMITT Type1 V DDE 122 P83/EXCL9 XHBH1T CMOS/LVTTL SCHMITT Type1 V DDE 123 P82/EXCL8 XHBH1T CMOS/LVTTL SCHMITT Type1 124 V SS XVSS - 125 P81/EXCL7 XHBH1T CMOS/LVTTL SCHMITT Type1 V DDE 126 P80/EXCL6 XHBH1T CMOS/LVTTL SCHMITT Type1 V DDE 127 P77 XHBH1T CMOS/LVTTL SCHMITT Type1 V DDE 128 P76 XHBH1T CMOS/LVTTL SCHMITT Type1 V DDE 129 P75 XHBH1T CMOS/LVTTL SCHMITT Type1 V DDE 130 P74 XHBH1T CMOS/LVTTL SCHMITT Type1 V DDE 131 P73/SDA1 XHBH1T CMOS/LVTTL SCHMITT Type1 V DDE 132 P72/SCL1 XHBH1T CMOS/LVTTL SCHMITT Type1 V DDE 133 P71/SDA0 XHBH1T CMOS/LVTTL SCHMITT Type1 V DDE 134 P70/SCL0 XHBH1T CMOS/LVTTL SCHMITT Type1 135 #NMI XHIBHP2 CMOS/LVTTL SCHMITT 136 PLLS1 XHIBC CMOS 137 PLLS0 XHIBC CMOS 138 #RESET XHIBHP2 CMOS/LVTTL SCHMITT 139 PLLC XLLIN 140 V SS XVSS 141 P67 XHBH1T CMOS/LVTTL SCHMITT Type1 V DDE 142 P66 XHBH1T CMOS/LVTTL SCHMITT Type1 V DDE 143 P65 XHBH1T CMOS/LVTTL SCHMITT Type1 V DDE 144 P64 XHBH1T CMOS/LVTTL SCHMITT Type1 V DDE 145 P63 XHBH1T CMOS/LVTTL SCHMITT Type1 V DDE 146 P62 XHBH1T CMOS/LVTTL SCHMITT Type1 V DDE 147 V DDE XHVDD 148 P61 XHBH1T CMOS/LVTTL SCHMITT Type1 V DDE 149 P60 XHBH1T CMOS/LVTTL SCHMITT Type1 V DDE 150 P57 XHBH1T CMOS/LVTTL SCHMITT Type1 V DDE A-126 Remarks Pull-up V DDE V DDE Pull-up V DDE V DDE V DDE Pull-up V DDE V DD EPSON S1C33T01 PRODUCT PART APPENDIX B PIN CHARACTERISTICS Signal name Pin No. I/Ocell name Characteristic QFP18 Input Pull-up Power supply Remarks Output Pull-down 151 P56 XHBH1T CMOS/LVTTL SCHMITT Type1 V DDE 152 P55 XHBH1T CMOS/LVTTL SCHMITT Type1 V DDE 153 P54 XHBH1T CMOS/LVTTL SCHMITT 154 V SS XVSS V DDE 155 OSC4 XLL01 V DD 156 OSC3 XLLIN V DD 157 V DD XLVDD 158 P53 XHBH1T CMOS/LVTTL SCHMITT 159 P52 XHBH1T CMOS/LVTTL SCHMITT V DDE 160 P51/T8UF5 XHBH1T CMOS/LVTTL SCHMITT V DDE 161 P50/T8UF4 XHBH1T CMOS/LVTTL SCHMITT 162 P16/EXCL5/#DMAEND1 XHBH1T CMOS/LVTTL SCHMITT Type1 V DDE 163 P15/EXCL4/#DMAEND0 XHBH1T CMOS/LVTTL SCHMITT Type1 V DDE 164 V SS XVSS 165 P14/FOSC1/DCLK XLBH2T CMOS/LVTTL SCHMITT Type2 V DD note 2 166 P13/EXCL3/T8UF3/DST3 XLBH2T CMOS/LVTTL SCHMITT Type2 V DD note 2 167 P12/EXCL2/T8UF2/DST2 XLBH2T CMOS/LVTTL SCHMITT Type2 V DD note 2 168 P11/EXCL1/T8UF1/DST1 XLBH2T CMOS/LVTTL SCHMITT Type2 V DD note 2 169 P10/EXCL0/T8UF0/DST0 XLBH2T CMOS/LVTTL SCHMITT Type2 V DD note 2 170 DSIO 171 P27/TM5 XHBH1T CMOS/LVTTL SCHMITT Type1 V DDE 172 P26/TM4 XHBH1T CMOS/LVTTL SCHMITT Type1 V DDE 173 P25/TM3 XHBH1T CMOS/LVTTL SCHMITT Type1 V DDE 174 P24/TM2 XHBH1T CMOS/LVTTL SCHMITT Type1 V DDE 175 P23/TM1 XHBH1T CMOS/LVTTL SCHMITT Type1 V DDE 176 P22/TM0 XHBH1T CMOS/LVTTL SCHMITT Type1 V DDE note 2 V DDE V DDE Type2 Pull-up V DD note1) The voltage applied to this pin must be 0V VIN AV DDE. note2) The voltage applied to this pin must be 0V VIN VDD. note3) This pin is set as an input pin during device testing. Normally it is an output pin. The following table lists output current characteristics. Output current (IOL/IOH) Type1 Type2 5.0V 3.3V 3mA - 2mA 6mA S1C33T01 PRODUCT PART EPSON A-127 S1C33T01 FUNCTION PART S1C33T01 FUNCTION PART I OUTLINE I OUTLINE: INTRODUCTION I-1 INTRODUCTION The Function Part describes details of all the peripheral circuit blocks for S1C33T01 microcomputer. The C33 CPU architecture is RISC type. So the CPU core size is small but the instruction set is very strong to achieve small compiled-code size. The S1C33T01 has the following features: * Small CPU core: 25K gates * Fast and high performance: DC to 60 MHz operation * Strong instruction set: 16-bit fixed length, 105 basic instructions * Execution cycle: Major instructions are executed in 1 cycle per instruction * MAC function: 16 bits x 16 bits + 64 bits, 2 clock per MAC (25 MOPS in 50 MHz) * Registers: 32 bits x 16 general registers and 32 bits x 5 special registers * Memory space: 256M bytes (28 bits) linear space, code-data-IO shared type * External bus I/F: 15 configurable memory areas Direct connection to external memory * Interrupts: Reset, NMI, up to 128 external interrupts, 4 software interrupts, 2 exceptions * Reset, boot: Cold reset, hot reset * Power down mode: Sleep, Halt * Others: Little endian (partial big endian can be configured) Harvard architecture (fetch, load/store parallel execution) * User logic interface: Programmable wait state (up to 7 cycles) #WAIT pin hand shake is possible. Large memory space for the user logic (up to 16M bytes) BCU configuration registers allow internal use of the external areas (Areas 4 to 18). Many interrupt requests from the user logic are acceptable. S1C33T01 FUNCTION PART EPSON B-I-1-1 I OUTLINE: INTRODUCTION THIS PAGE IS BLANK. B-I-1-2 EPSON S1C33T01 FUNCTION PART I OUTLINE: BLOCK DIAGRAM I-2 BLOCK DIAGRAM The C33 Macro Library consists of five major blocks: C33 Core Block, C33 Peripheral Block, C33 Analog Block, C33 DMA Block and C33 Internal Memory Block. Figure 2.1 shows the configuration of the C33 macro blocks. C33 DMA Block C33 Internal Memory Block C33_DMA (IDMA, HSDMA) CORE_PAD Internal RAM (Area 0) C33_CORE (CPU, BCU, ITC, CLG, DBG) Pads C33_SBUS C33_ADC (A/D converter) C33_PERI (Prescaler, 8-bit timer, 16-bit timer, Clock timer, Serial interface, I2CSMST,Ports) C33 Analog Block PERI_PAD C33 Core Block Pads C33 Peripheral Block Figure 2.1 Block Configuration S1C33T01 FUNCTION PART EPSON B-I-2-1 I OUTLINE: BLOCK DIAGRAM C33 Core Block The C33 Core Block consists of a functional block C33_CORE including CPU, BCU (Bus Control Unit), ITC (Interrupt Controller), CLG (Clock Generator) and DBG (Debug Unit), an I/O pad block for external interface, and an SBUS (Internal Silicon Integration Bus) for interfacing with on-chip Peripheral Macro Cells. The C33 Core Block employs the S1C33000 32-bit RISC type CPU as the core CPU. C33 Peripheral Block The C33 peripheral circuit block includes prescalers, six 8-bit programmable timers, a watchdog timer, ten 16-bit programmable timers with event counter functionality, four serial interface channels, a two-channel single-master I2 C-bus circuit, input and I/O ports, and a clock timer. C33 Analog Block The analog block consists of an A/D converter with eight input channels. C33 DMA Block The DMA block is configured with two types of DMA controllers: HSDMA (High-Speed DMA) that has onchip registers for controlling DMA command information and IDMA (Intelligent DMA) that uses a memory area for storing DMA command information. C33 Memory Block For the internal memory space 8-KB SRAM is provided. For details of the blocks, refer to the respective section in this manual. B-I-2-2 EPSON S1C33T01 FUNCTION PART I OUTLINE: LIST OF PINS I-3 LIST OF PINS List of External I/O Pins The following lists the external I/O pins of the C33 Core Block and Peripheral Block. Note that some pins are listed in two or more tables. Table 3.1 List of Pins for External Bus Interface Signals Pin name A0 #BSL A[23:1] D[15:0] #CE10EX I/O Pull-up O - A0: #BSL: Function Address bus (A1 to A23) Address bus (A0) when SBUSST(D3/0x4812E) = "0" (default) Bus strobe (low byte) signal when SBUSST(D3/0x4812E) = "1" O - I/O - Data bus (D0 to D15) O - Area 10 chip enable for external memory When CEFUNC[1:0] = "1x", this pin outputs #CE9+#CE10EX signal. #CE10IN #CE9 #CE17 O - Area 10 chip enable for internal ROM emulation memory O - #CE9: Area 9 chip enable when CEFUNC[1:0](D[A:9])/0x48130) = "00" (default) #CE17: Area 17 chip enable when CEFUNC[1:0](D[A:9])/0x48130) = "01" When CEFUNC[1:0] = "1x", this pin outputs #CE17+#CE18 signal. #CE8 #RAS1 #CE14 #RAS3 O - #CE8: #RAS1: #CE14: #RAS3: #CE7 #RAS0 #CE13 #RAS2 O - #CE7: #RAS0: #CE13: #RAS2: #CE6 O - Area 8 chip enable when CEFUNC[1:0](D[A:9])/0x48130) = "00" and A8DRA(D8/0x48128) = "0" (default) Area 8 DRAM row strobe when CEFUNC[1:0](D[A:9])/0x48130) = "00" and A8DRA(D8/0x48128) = "1" Area 14 chip enable when CEFUNC[1:0](D[A:9])/0x48130) = "01" or "1x" and A14DRA(D8/0x48122) = "0" Area 14 DRAM row strobe when CEFUNC[1:0](D[A:9])/0x48130) = "01" or "1x" and A14DRA(D8/0x48122) = "1" Area 7 chip enable when CEFUNC[1:0](D[A:9])/0x48130) = "00" and A7DRA(D7/0x48128) = "0" (default) Area 7 DRAM row strobe when CEFUNC[1:0](D[A:9])/0x48130) = "00" and A7DRA(D7/0x48128) = "1" Area 13 chip enable when CEFUNC[1:0](D[A:9])/0x48130) = "01" or "1x" and A13DRA(D7/0x48122) = "0" Area 13 DRAM row strobe when CEFUNC[1:0](D[A:9])/0x48130) = "01" or "1x" and A13DRA(D7/0x48122) = "1" Area 6 chip enable When CEFUNC[1:0] = "1x", this pin outputs #CE7+#CE8 signal. #CE5 #CE15 O - #CE5: Area 5 chip enable when CEFUNC[1:0](D[A:9])/0x48130) = "00" (default) #CE15: Area 15 chip enable when CEFUNC[1:0](D[A:9])/0x48130) = "01" When CEFUNC[1:0] = "1x", this pin outputs #CE15+#CE16 signal. #CE4 #CE11 O - #CE4: Area 4 chip enable when CEFUNC[1:0](D[A:9])/0x48130) = "00" (default) #CE11: Area 11 chip enable when CEFUNC[1:0](D[A:9])/0x48130) = "01" When CEFUNC[1:0] = "1x", this pin outputs #CE11+#CE12 signal. #CE3 #RD #EMEMRD #WRL #WR #WE #WRH #BSH #HCAS #LCAS BCLK P34 #BUSREQ #CE6 P35 #BUSACK O - Area 3 chip enable O - Read signal O - Read signal for internal ROM emulation memory O - #WRL: #WR: #WE: Write (low byte) signal when SBUSST(D3/0x4812E) = "0" (default) Write signal when SBUSST(D3/0x4812E) = "1" DRAM write signal (default) O - #WRH: #BSH: Write (high byte) signal when SBUSST(D3/0x4812E) = "0" (default) Bus strobe (high byte) signal when SBUSST(D3/0x4812E) = "1" O - #HCAS: DRAM column address strobe (high byte) signal O - #LCAS: DRAM column address strobe (low byte) signal O - Bus clock output I - P34: I/O port when CFP34(D4/0x402DC) = "0" (default) #BUSREQ: Bus release request input when CFP34(D4/0x402DC) = "1" and IOC34(D4/0x402DE) = "0" #CE6: Area 6 chip enable when CFP34(D4/0x402DC) = "1" and IOC34(D4/0x402DE) = "1" I/O - P35: I/O port when CFP35(D5/0x402DC) = "0" (default) #BUSACK: Bus acknowledge output when CFP35(D5/0x402DC) = "1" S1C33T01 FUNCTION PART EPSON B-I-3-1 I OUTLINE: LIST OF PINS Table 3.1 Pin name List of Pins for External Bus Interface Signals (continue) I/O Pull-up P30 #WAIT #CE4&5 P20 #DRD P21 #DWE #GAAS I/O - I/O - P31 #BUSGET #GARD I/O EA10MD1 I With pull-up EA10MD0 I - EA3MD I With pull-up I/O I Pull-up - I - I - I - I/O - I/O - I/O - P06 #SCLK1 #DMAACK3 I/O - #DMAACK2: P06: #SCLK1: P15 EXCL4 #DMAEND0 I/O - #DMAACK3: P15: EXCL4: I/O Function P30: #WAIT: #CE4&5: P20: #DRD: P21: #DWE: I/O port when CFP30(D0/0x402DC) = "0" (default) Wait cycle request input when CFP30(D0/0x402DC) = "1" and IOC30(D0/0x402DE) = "0" Areas 4&5 chip enable when CFP30(D0/0x402DC) = "1" and IOC30(D0/0x402DE) = "1" I/O port when CFP20(D0/0x402D8) = "0" (default) DRAM read signal output for successive RAS mode when CFP20(D0/0x402D8) = "1" I/O port when CFP21(D1/0x402D8) = "0" and CFEX2(D2/0x402DF) = "0" (default) DRAM write signal output for successive RAS mode when CFP21(D1/0x402D8) = "1" and CFEX2(D2/0x402DF) = "0" #GAAS: Area address strobe output for GA when CFEX2(D2/0x402DF) = "1" P31: I/O port when CFP31(D1/0x402DC) = "0" and CFEX3(D3/0x402DF) = "0" (default) #BUSGET: Bus status monitor signal output for bus request when CFP31(D1/0x402DC) = "1" and CFEX3(D3/0x402DF) = "0" #GARD: Area read signal output for GA when CFEX3(D3/0x402DF) = "1" Area 10 boot mode selection EA10MD1 EA10MD0 Mode 1 1 External ROM mode 1 0 Internal ROM mode 0 1 OTP mode 0 0 Internal ROM emulation Area 3 mode selection 1: Internal ROM mode, 0: Emulation mode Table 3.2 List of Pins for HSDMA Control Signals Pin name K50 #DMAREQ0 K51 #DMAREQ1 K53 #DMAREQ2 K54 #DMAREQ3 P32 #DMAACK0 P33 #DMAACK1 P04 SIN1 #DMAACK2 K50: #DMAREQ0: K51: #DMAREQ1: K53: #DMAREQ2: K54: #DMAREQ3: P32: #DMAACK0: P33: #DMAACK1: P04: SIN1: #DMAEND0: P16 EXCL5 #DMAEND1 I/O - P16: EXCL5: #DMAEND1: P05 SOUT1 #DMAEND2 I/O - P07 #SRDY1 #DMAEND3 I/O - P05: SOUT1: #DMAEND2: P07: #SRDY1: #DMAEND3: B-I-3-2 Function Input port when CFK50(D0/0x402C0) = "0" (default) HSDMA Ch. 0 request input when CFK50(D0/0x402C0) = "1" Input port when CFK51(D1/0x402C0) = "0" (default) HSDMA Ch. 1 request input when CFK51(D1/0x402C0) = "1" Input port when CFK53(D3/0x402C0) = "0" (default) HSDMA Ch. 2 request input when CFK53(D3/0x402C0) = "1" Input port when CFK54(D4/0x402C0) = "0" (default) HSDMA Ch. 3 request input when CFK54(D4/0x402C0) = "1" I/O port when CFP32(D2/0x402DC) = "0" (default) HSDMA Ch. 0 acknowledge output when CFP32(D2/0x402DC) = "1" I/O port when CFP33(D3/0x402DC) = "0" (default) HSDMA Ch. 1 acknowledge output when CFP33(D3/0x402DC) = "1" I/O port when CFP04(D4/0x402D0) = "0" and CFEX4(D4/0x402DF) = "0" (default) Serial I/F Ch. 1 data input when CFP04(D4/0x402D0) = "1" and CFEX4(D4/0x402DF) = "0" HSDMA Ch. 2 acknowledge output when CFEX4(D4/0x402DF) = "1" I/O port when CFP06(D6/0x402D0) = "0" and CFEX6(D6/0x402DF) = "0"(default) Serial I/F Ch. 1 clock input/output when CFP06(D6/0x402D0) = "1" and CFEX6(D6/0x402DF) = "0" HSDMA Ch. 3 acknowledge output when CFEX6(D6/0x402DF) = "1" I/O port when CFP15(D5/0x402D4) = "0" (default) 16-bit timer 4 event counter input when CFP15(D5/0x402D4) = "1" and IOC15(D5/0x402D6) = "0" HSDMA Ch. 0 end-of-transfer signal output when CFP15(D5/0x402D4) = "1" and IOC15(D5/0x402D6) = "1" I/O port when CFP16(D6/0x402D4) = "0" (default) 16-bit timer 5 event counter input when CFP16(D6/0x402D4) = "1" and IOC16(D6/0x402D6) = "0" HSDMA Ch. 1 end-of-transfer signal output when CFP16(D6/0x402D4) = "1" and IOC16(D6/0x402D6) = "1" I/O port when CFP05(D5/0x402D0) = "0" and CFEX5(D5/0x402DF) = "0" (default) Serial I/F Ch. 1 data output when CFP05(D5/0x402D0) = "1" and CFEX5(D5/0x402DF) = "0" HSDMA Ch. 2 end-of-transfer signal output when CFEX5(D5/0x402DF) = "1" I/O port when CFP07(D7/0x402D0) = "0" and CFEX7(D7/0x402DF) = "0" (default) Serial I/F Ch. 1 ready signal output when CFP07(D7/0x402D0) = "1" and CFEX5(D5/0x402DF) = "0" HSDMA Ch. 3 end-of-transfer signal output when CFEX7(D7/0x402DF) = "1" EPSON S1C33T01 FUNCTION PART I OUTLINE: LIST OF PINS Table 3.3 List of Pins for Internal Peripheral Circuits Pin name I/O Pull-up K50 #DMAREQ0 K51 #DMAREQ1 K52 #ADTRG K53 #DMAREQ2 K54 #DMAREQ3 K60 AD0 K61 AD1 K62 AD2 K63 AD3 K64 AD4 K65 AD5 K66 AD6 K67 AD7 P00 SIN0 P01 SOUT0 P02 #SCLK0 P03 #SRDY0 P04 SIN1 #DMAACK2 I - K50: Input port when CFK50(D0/0x402C0) = "0" (default) #DMAREQ0: HSDMA Ch. 0 request input when CFK50(D0/0x402C0) = "1" Function I - K51: Input port when CFK51(D1/0x402C0) = "0" (default) #DMAREQ1: HSDMA Ch. 1 request input when CFK51(D1/0x402C0) = "1" I - K52: #ADTRG: I - K53: Input port when CFK53(D3/0x402C0) = "0" (default) #DMAREQ2: HSDMA Ch. 2 request input when CFK53(D3/0x402C0) = "1" I - K54: Input port when CFK54(D4/0x402C0) = "0" (default) #DMAREQ3: HSDMA Ch. 3 request input when CFK54(D4/0x402C0) = "1" I - K60: AD0: Input port when CFK60(D0/0x402C3) = "0" (default) A/D converter Ch. 0 input when CFK60(D0/0x402C3) = "1" I - K61: AD1: Input port when CFK61(D1/0x402C3) = "0" (default) A/D converter Ch. 1 input when CFK61(D1/0x402C3) = "1" I - K62: AD2: Input port when CFK62(D2/0x402C3) = "0" (default) A/D converter Ch. 2 input when CFK62(D2/0x402C3) = "1" I - K63: AD3: Input port when CFK63(D3/0x402C3) = "0" (default) A/D converter Ch. 3 input when CFK63(D3/0x402C3) = "1" I - K64: AD4: Input port when CFK64(D4/0x402C3) = "0" (default) A/D converter Ch. 4 input when CFK64(D4/0x402C3) = "1" I - K65: AD5: Input port when CFK65(D5/0x402C3) = "0" (default) A/D converter Ch. 5 input when CFK65(D5/0x402C3) = "1" I - K66: AD6: Input port when CFK66(D6/0x402C3) = "0" (default) A/D converter Ch. 6 input when CFK60(D6/0x402C3) = "1" I - K67: AD7: Input port when CFK67(D7/0x402C3) = "0" (default) A/D converter Ch. 7 input when CFK67(D7/0x402C3) = "1" I/O - P00: SIN0: I/O port when CFP00(D0/0x402D0) = "0" (default) Serial I/F Ch. 0 data input when CFP00(D0/0x402D0) = "1" I/O - P01: SOUT0: I/O port when CFP01(D1/0x402D0) = "0" (default) Serial I/F Ch. 0 data output when CFP01(D1/0x402D0) = "1" I/O - P02: #SCLK0: I/O port when CFP02(D2/0x402D0) = "0" (default) Serial I/F Ch. 0 clock input/output when CFP02(D2/0x402D0) = "1" I/O - P03: #SRDY0: I/O port when CFP03(D3/0x402D0) = "0" (default) Serial I/F Ch. 0 ready signal output when CFP03(D3/0x402D0) = "1" I/O - P04: SIN1: P05 SOUT1 #DMAEND2 I/O - P05: SOUT1: P06 #SCLK1 #DMAACK3 I/O - P06: #SCLK1: P07 #SRDY1 #DMAEND3 I/O - P07: #SRDY1: P10 EXCL0 T8UF0 DST0 I/O - P10: EXCL0: I/O port when CFP04(D4/0x402D0) = "0" and CFEX4(D4/0x402DF) = "0" (default) Serial I/F Ch. 1 data input when CFP04(D4/0x402D0) = "1" and CFEX4(D4/0x402DF) = "0" #DMAACK2: HSDMA Ch. 2 acknowledge output when CFEX4(D4/0x402DF) = "1" I/O port when CFP05(D5/0x402D0) = "0" and CFEX5(D5/0x402DF) = "0" (default) Serial I/F Ch. 1 data output when CFP05(D5/0x402D0) = "1" and CFEX5(D5/0x402DF) = "0" #DMAEND2: HSDMA Ch. 2 end-of-transfer signal output when CFEX5(D5/0x402DF) = "1" I/O port when CFP06(D6/0x402D0) = "0" and CFEX6(D6/0x402DF) = "0" (default) Serial I/F Ch. 1 clock input/output when CFP06(D6/0x402D0) = "1" and CFEX6(D6/0x402DF) = "0" #DMAACK3: HSDMA Ch. 3 acknowledge output when CFEX6(D6/0x402DF) = "1" I/O port when CFP07(D7/0x402D0) = "0" and CFEX7(D7/0x402DF) = "0" (default) Serial I/F Ch. 1 ready signal output when CFP07(D7/0x402D0) = "1" and CFEX5(D5/0x402DF) = "0" #DMAEND3: HSDMA Ch. 3 end-of-transfer signal output when CFEX7(D7/0x402DF) = "1" T8UF0: DST0: S1C33T01 FUNCTION PART Input port when CFK52(D2/0x402C0) = "0" (default) A/D converter trigger input when CFK52(D2/0x402C0) = "1" I/O port when CFP10(D0/0x402D4) = "0" and CFEX1(D1/0x402DF) = "0" 16-bit timer 0 event counter input when CFP10(D0/0x402D4) = "1", IOC10(D0/0x402D6) = "0" and CFEX1(D1/0x402DF) = "0" 8-bit timer 0 output when CFP10(D0/0x402D4) = "1", IOC10(D0/0x402D6) = "1" and CFEX1(D1/0x402DF) = "0" DST0 signal output when CFEX1(D1/0x402DF) = "1" (default) EPSON B-I-3-3 I OUTLINE: LIST OF PINS Table 3.3 Pin name List of Pins for Internal Peripheral Circuits (continue) I/O Pull-up P11 EXCL1 T8UF1 DST1 I/O - Function P12 EXCL2 T8UF2 DST2 I/O P13 EXCL3 T8UF3 DPCO I/O DPCO: I/O port when CFP13(D3/0x402D4) = "0" and CFEX1(D1/0x402DF) = "0" 16-bit timer 3 event counter input when CFP13(D3/0x402D4) = "1", IOC13(D3/0x402D6) = "0" and CFEX1(D1/0x402DF) = "0" 8-bit timer 3 output when CFP13(D3/0x402D4) = "1", IOC13(D3/0x402D6) = "1" and CFEX1(D1/0x402DF) = "0" DPCO signal output when CFEX1(D1/0x402DF) = "1" (default) P14 FOSC1 DCLK P15 EXCL4 #DMAEND0 I/O - P14: FOSC1: DCLK: I/O port when CFP14(D4/0x402D4) = "0" and CFEX0(D0/0x402DF) = "0" OSC1 clock output when CFP14(D4/0x402D4) = "1" and CFEX0(D0/0x402DF) = "0" DCLK signal output when CFEX0(D0/0x402DF) = "1" (default) I/O - P15: EXCL4: P16 EXCL5 #DMAEND1 I/O - P16: EXCL5: P20 #DRD P21 #DWE #GAAS I/O - P20: #DRD: I/O port when CFP20(D0/0x402D8) = "0" (default) DRAM read signal output for successive RAS mode when CFP20(D0/0x402D8) = "1" P21: #DWE: #GAAS: I/O port when CFP21(D1/0x402D8) = "0" and CFEX2(D2/0x402DF) = "0" (default) DRAM write signal output for successive RAS mode when CFP21(D1/0x402D8) = "1" and CFEX2(D2/0x402DF) = "0" Area address strobe output for GA when CFEX2(D2/0x402DF) = "1" P22 TM0 P23 TM1 P24 TM2 P25 TM3 P26 TM4 P27 TM5 I/O - P22: TM0: I/O port when CFP22(D2/0x402D8) = "0" (default) 16-bit timer 0 output when CFP22(D2/0x402D8) = "1" I/O - P23: TM1: I/O port when CFP23(D3/0x402D8) = "0" (default) 16-bit timer 1 output when CFP23(D3/0x402D8) = "1" I/O - P24: TM2: I/O port when CFP24(D4/0x402D8) = "0" (default) 16-bit timer 2 output when CFP24(D4/0x402D8) = "1" I/O - P25: TM3: I/O port when CFP25(D5/0x402D8) = "0" (default) 16-bit timer 3 output when CFP25(D5/0x402D8) = "1" I/O - P26: TM4: I/O port when CFP26(D6/0x402D8) = "0" (default) 16-bit timer 4 output when CFP26(D6/0x402D8) = "1" I/O - P27: TM5: I/O port when CFP27(D7/0x402D8) = "0" (default) 16-bit timer 5 output when CFP27(D7/0x402D8) = "1" P11: EXCL1: T8UF1: DST1: - P12: EXCL2: T8UF2: DST2: B-I-3-4 - P13: EXCL3: T8UF3: I/O I/O port when CFP11(D1/0x402D4) = "0" and CFEX1(D1/0x402DF) = "0" 16-bit timer 1 event counter input when CFP11(D1/0x402D4) = "1", IOC11(D1/0x402D6) = "0" and CFEX1(D1/0x402DF) = "0" 8-bit timer 1 output when CFP11(D1/0x402D4) = "1", IOC11(D1/0x402D6) = "1" and CFEX1(D1/0x402DF) = "0" DST1 signal output when CFEX1(D1/0x402DF) = "1" (default) I/O port when CFP12(D2/0x402D4) = "0" and CFEX0(D0/0x402DF) = "0" 16-bit timer 2 event counter input when CFP12(D2/0x402D4) = "1", IOC12(D2/0x402D6) = "0" and CFEX0(D0/0x402DF) = "0" 8-bit timer 2 output when CFP12(D2/0x402D4) = "1", IOC12(D2/0x402D6) = "1" and CFEX0(D0/0x402DF) = "0" DST2 signal output when CFEX0(D0/0x402DF) = "1" (default) I/O port when CFP15(D5/0x402D4) = "0" (default) 16-bit timer 4 event counter input when CFP15(D5/0x402D4) = "1" and IOC15(D5/0x402D6) = "0" #DMAEND0: HSDMA Ch. 0 end-of-transfer signal output when CFP15(D5/0x402D4) = "1" and IOC15(D5/0x402D6) = "1" I/O port when CFP16(D6/0x402D4) = "0" (default) 16-bit timer 5 event counter input when CFP16(D6/0x402D4) = "1" and IOC16(D6/0x402D6) = "0" #DMAEND1: HSDMA Ch. 1 end-of-transfer signal output when CFP16(D6/0x402D4) = "1" and IOC16(D6/0x402D6) = "1" EPSON S1C33T01 FUNCTION PART I OUTLINE: LIST OF PINS Table 3.3 List of Pins for Internal Peripheral Circuits (continue) Pin name I/O Pull-up P30 #WAIT #CE4&5 P31 #BUSGET #GARD I/O - P32 #DMAACK0 P33 #DMAACK1 P34 #BUSREQ #CE6 I/O - P32: I/O port when CFP32(D2/0x402DC) = "0" (default) #DMAACK0: HSDMA Ch. 0 acknowledge output when CFP32(D2/0x402DC) = "1" I/O - P33: I/O port when CFP33(D3/0x402DC) = "0" (default) #DMAACK1: HSDMA Ch. 1 acknowledge output when CFP33(D3/0x402DC) = "1" I - P34: #BUSREQ: #CE6: I/O port when CFP34(D4/0x402DC) = "0" (default) Bus release request input when CFP34(D4/0x402DC) = "1" and IOC34(D4/0x402DE) = "0" Area 6 chip enable when CFP34(D4/0x402DC) = "1" and IOC34(D4/0x402DE) = "1" P35 #BUSACK P40 SIN2 P41 SOUTE2 P42 #SCLK2 P43 #SRDY2 P44 SIN3 P45 SOUTE3 P46 #SCLK3 P47 #SRDY3 P50 T9UF4 P51 T8UF5 P52 P53 P54 P55 P56 P57 P60 P61 P62 P63 P64 P65 P66 P67 I/O - I/O - P35: #BUSACK: P40: SIN2: I/O port when CFP35(D5/0x402DC) = "0" (default) When the bus release request acknowledge output/CFP35 (D5/0x402DC) = "1" I/O port when CFP40(D0/0x40300) = "0" (default) When the serial interface Ch. 2 data input CFP40 (D0/0x40300) = "1" I/O - P41: SIN2: I/O port when CFP41(D1/0x40300) = "0" (default) When the serial interface Ch. 2 data input CFP41 (D3/0x40300) = "1" I/O - P42: #SCLK2: I/O port when CFP42(D2/0x40300) = "0" (default) When the serial interface Ch. 2 data input CFP42 (D2/0x40300) = "1" I/O - P43: #SRDY2: I/O port when CFP43(D3/0x40300) = "0" (default) When the serial interface Ch. 2 data input CFP43 (D4/0x40300) = "1" P44: SIN3: I/O port when CFP44(D4/0x40300) = "0" (default) When the serial interface Ch. 3 data input CFP44 (D4/0x40300) = "1" I/O Function P30: #WAIT: #CE4&5: I/O port when CFP30(D0/0x402DC) = "0" (default) Wait cycle request input when CFP30(D0/0x402DC) = "1" and IOC30(D0/0x402DE) = "0" Area 4&5 chip enable when CFP30(D0/0x402DC) = "1" and IOC30(D0/0x402DE) = "1" P31: #BUSGET: I/O port when CFP31(D1/0x402DC) = "0" and CFEX3(D3/0x402DF) = "0" (default) Bus status monitor signal output for bus request when CFP31(D1/0x402DC) = "1" and CFEX3(D3/0x402DF) = "0" Area read signal output for GA when CFEX3(D3/0x402DF) = "1" #GARD: I/O I/O - P45: SOUTE3: I/O port when CFP45(D5/0x40300) = "0" (default) When the serial interface Ch. 3 data input CFP45 (D5/0x40300) = "1" I/O - P46: #SCLK3: I/O port when CFP46(D6/0x40300) = "0" (default) When the serial interface Ch. 3 data input CFP46 (D6/0x40300) = "1" P47: #SRDY3: I/O port when CFP47(D7/0x40300) = "0" (default) When the serial interface Ch. 3 data input CFP47 (D7/0x40300) = "1" I/O I/O - P50: T9UF4: I/O port when CFP50(D0/0x40300) = "0" (default) 8-bit timer 4 output when CFP50(D0/0x40300) = "1" I/O - P51: T8UF5: I/O port when CFP51(D1/0x40300) = "0" (default) 8-bit timer 5 output when CFP51(D1/0x40300) = "1" I/O - I/O port I/O - I/O port I/O - I/O port I/O - I/O port I/O - I/O port I/O - I/O port I/O - I/O port I/O - I/O port I/O - I/O port I/O - I/O port I/O - I/O port I/O - I/O port I/O - I/O port I/O - I/O port S1C33T01 FUNCTION PART EPSON B-I-3-5 I OUTLINE: LIST OF PINS Table 3.3 Pin name P70 SCL0 P71 SDA0 P72 SCL1 P73 SDA1 P74 P75 P76 P77 P80 EXCL6 P81 EXCL7 P82 EXCL8 P83 EXCL9 P84 TM6 P85 TM7 P86 TM8 P87 TM9 List of Pins for Internal Peripheral Circuits (continue) I/O Pull-up I/O - P70: SCL0: I/O port when CFP70(D0/0x4030A) = "0" (default) When the single-master I2C-bus Ch. 0 clock I/O/CFP70 (D0/0x4030A) = "1" Function I/O - P71: SDA0: I/O port when CFP70(D0/0x4030A) = "0" (default) When the single-master I2C-bus Ch. 0 clock I/O/CFP70(D0/0x4030A) = "1" I/O - P72: SCL1: I/O port when CFP71(D1/0x4030A) = "0" (default) When the single-master I2C-bus Ch. 1 clock I/O/CFP71(D1/0x4030A) = "1" I/O - P73: SDA1: I/O port when CFP70(D1/0x4030A) = "0" (default) When the single-master I2C-bus Ch. 1 clock I/O/CFP71(D1/0x4030A) = "1" I/O - I/O port I/O - I/O port I/O - I/O port I/O - I/O port I/O - P80: EXCL6: I/O port when CFP80(D0/0x4030D) = "0" (default) When the 16-bit timer 6 event counter input/CFP80(D0/0x4030A) = "1" I/O - P81: EXCL7: I/O port when CFP81(D1/0x4030D) = "0" (default) When the 16-bit timer 7 event counter input/CFP81(D1/0x4030A) = "1" I/O - P82: EXCL8: I/O port when CFP82(D2/0x4030D) = "0" (default) When the 16-bit timer 8 event counter input/CFP82(D2/0x4030A) = "1" I/O - P83: EXCL9: I/O port when CFP83(D3/0x4030D) = "0" (default) When the 16-bit timer 9 event counter input/CFP83(D3/0x4030A) = "1" I/O - P84: TM6: I/O port when CFP84(D4/0x4030D) = "0" (default) 16-bit timer 6 output when CFP84(D4/0x4030A) = "1" I/O - P80: TM7: I/O port when CFP85(D5/0x4030A) = "0" (default) 16-bit timer 7 output when CFP85(D5/0x4030A) = "1" I/O - P80: TM8: I/O port when CFP86(D6/0x4030A) = "0" (default) 16-bit timer 8 output when CFP86(D6/0x4030A) = "1" I/O - P80: TM9: I/O port when CFP87(D7/0x4030A) = "0" (default) 16-bit timer 9 output when CFP87(D0/0x4030A) = "1" I/O Pull-up I - Table 3.4 List of Pins for Clock Generator and Oscillation Circuits Pin name OSC1 OSC2 OSC3 OSC4 PLLS[1:0] Function Low-speed (OSC1) oscillation input (32 kHz crystal oscillator or external clock input) O - Low-speed (OSC1) oscillation output I - High-speed (OSC3) oscillation input (crystal/ceramic oscillator or external clock input) O - High-speed (OSC3) oscillation output I - PLL set-up pins PLLS1 PLLS0 fin (fOSC3 ) fout (fPSCIN) 1 1 10-30MHz 10-25MHz 20-60MHz 20-50MHz 1 2 0 1 10-15MHz 10-12.5MHz 40-60MHz 40-50MHz 1 2 0 0 PLL is not used L 1: ROM-less model with 3.3 V 0.3 V operating voltage 2: ROM built-in model, or 3.0 V 0.3 V operating voltage PLLC - - Capacitor connecting pin for PLL Table 3.5 List of Other Pins Pin name I/O Pull-up/down Function I With pull-down High-impedance control input pin When this pin is set to High, all the output pins go into high-impedance state. This makes it possible to disable the S1C33 chip on the board. I/O With pull-up #X2SPD I - #NMI #RESET I With pull-up NMI request input pin I With pull-up Initial reset input pin ICEMD DSIO Serial I/O pin for debugging This pin is used to communicate with the debugging tool S5U1C33000H. Clock doubling mode set-up pin 1: CPU clock = bus clock x 1, 0: CPU clock = bus clock x 2 Note: "#" in the pin names indicates that the signal is low active. B-I-3-6 EPSON S1C33T01 FUNCTION PART S1C33T01 FUNCTION PART II CORE BLOCK II CORE BLOCK: INTRODUCTION II-1 INTRODUCTION The core block consists of a functional block C33_CORE including CPU, BCU (Bus Control Unit), ITC (Interrupt Controller), CLG (Clock Generator) and DBG (Debug Unit), an I/O pad block for external interface, and an SBUS (Internal Silicon Integration Bus) for interfacing with on-chip Peripheral Macro Cells. C33 DMA Block C33 Internal Memory Block C33_DMA (IDMA, HSDMA) CORE_PAD Internal RAM (Area 0) C33_CORE (CPU, BCU, ITC, CLG, DBG) Pads C33_SBUS C33_PERI C33_ADC (A/D converter) (Prescaler, 8-bit timer, 16-bit timer, Clock timer, Serial interface, I2CSMST,Ports) C33 Analog Block PERI_PAD C33 Core Block Pads C33 Peripheral Block Figure 1.1 Core Block S1C33T01 FUNCTION PART EPSON B-II-1-1 II CORE BLOCK: INTRODUCTION THIS PAGE IS BLANK. B-II-1-2 EPSON S1C33T01 FUNCTION PART II CORE BLOCK: CPU AND OPERATING MODE II-2 CPU AND OPERATING MODE CPU The C33 Core Block employs the S1C33000 32-bit RISC type CPU as the core CPU. Since it has a built-in multiplier, all instructions (105 instructions) in the S1C33000 instruction set including the MAC (multiplication and accumulation) instruction and the multiplication/division instructions are available. All the internal registers of the S1C33000 can be used. The CPU registers and CPU address bus can handle 28-bit addresses. However, the core block has a 24-bit external address bus (A[0:23]), so the low-order 24 bits of address data can only be delivered to the external address bus and the internal address bus which is connected to the User Logic Block. Refer to the "S1C33000 Core CPU Manual" for details of the S1C33000. S1C33T01 FUNCTION PART EPSON B-II-2-1 II CORE BLOCK: CPU AND OPERATING MODE Standby Mode The CPU supports three standby modes: two HALT modes and a SLEEP mode. By setting the CPU in the standby mode, power consumption can greatly be reduced. HALT Mode When the CPU executes the halt instruction, it suspends the program execution and enters the HALT mode. The CPU supports two types of HALT modes (basic HALT mode and HALT2 mode) and either can be selected using the HLT2OP (D3) / Clock option register (0x40190). The CPU stops operating in basic HALT mode, so the amount of current consumption can be reduced. The internal peripheral circuits including the oscillation circuit keep operating in basic HALT mode. HALT2 mode stops the external bus control functions including DMA and the bus clock as well as the CPU similar to basic HALT mode. Consequently, HALT2 mode realizes more power saving than the basic HALT mode. The HALT mode is canceled by an initial reset or an interrupt including NMI. This mode is useful for saving power when waiting for an external input or completion of the peripheral circuit operations that do not need to execute the CPU. The CPU transits to program execution status through trap processing when the HALT mode is canceled by an interrupt and executes the interrupt processing routine. The trap processing of the CPU saves the address of the instruction that follows the executed halt instruction into the stack. Therefore, when the interrupt processing routine is terminated by the reti instruction, the program flow returns to the instruction that follows the halt instruction. Note that the HALT mode cannot be canceled with an interrupt factor except for reset and NMI if the PSR is set into interrupt disabled status. SLEEP Mode When the CPU executes the slp instruction, it suspends the program execution and enters SLEEP mode. In SLEEP mode, the CPU and the internal peripheral circuits including the high-speed (OSC3) oscillation circuit stop operating. Thus SLEEP mode can greatly reduce current consumption in comparison to HALT mode. Moreover, the low-speed (OSC1) oscillation circuit and clock timer do not stop operating. The clock function keeps operating in SLEEP mode. SLEEP mode is canceled by an initial reset or an interrupt (NMI, clock timer interrupt, external interrupt such as a key entry). Note that other interrupts by the internal peripheral circuits that use the OSC3 clock cannot be used for canceling SLEEP mode. The CPU transits to program execution status through trap processing when the SLEEP mode is canceled by an interrupt and executes the interrupt processing routine. The trap processing of the CPU saves the address of the instruction that follows the executed slp instruction into the stack. Therefore, when the interrupt processing routine is terminated by the reti instruction, the program flow returns to the instruction that follows the slp instruction. Note that SLEEP mode cannot be canceled with an interrupt factor except for reset and NMI if the PSR is set into interrupt disabled status. B-II-2-2 EPSON S1C33T01 FUNCTION PART II CORE BLOCK: CPU AND OPERATING MODE Notes on Standby Mode Interrupts The standby mode can be canceled by an interrupt. Therefore, it is necessary to enable the interrupt to be used for canceling the standby mode before setting the CPU in the standby mode. It is also necessary to set the IE (interrupt enable) and IL (interrupt level) bits in the PSR to a condition that can accept the interrupt. Otherwise, the standby mode cannot be canceled even when an interrupt occurs. Refer to "ITC (Interrupt Controller)", for interrupt settings. Oscillation circuit The high-speed (OSC3) oscillation circuit stops in SLEEP mode and restarts oscillating when SLEEP mode is canceled. If the CPU had operated with the OSC3 clock before entering SLEEP mode, the CPU restarts operating with the OSC3 clock immediately after canceling SLEEP mode. However, the OSC3 oscillation needs appropriate stabilization time (10 ms max. under the standard condition in 3.3 V). To restart the CPU after the oscillation stabilizes, a programmable interval can be inserted between cancellation of SLEEP mode and starting the CPU operation. Refer to "CLG (Clock Generator)", for details. The oscillation start time of the high-speed (OSC3) oscillation circuit varies according to the components to be used, board pattern and operating environment. The interval must be set to allow enough margin. BCU When the CPU enters the standby mode, the BCU (bus control unit) stops after the current bus cycle has completed. All the chip enable signals are negated. In basic HALT mode, the BCLK (bus clock) signal is output and DRAM refresh cycles are generated. DMA also operates. In HALT2 or SLEEP mode, the BCLK signal stops, therefore DRAM refresh cycles cannot be generated and DMA stops. Additional The contents of the CPU registers and input/output port status are retained in the standby mode. Almost all control and data registers of the internal peripheral circuits are also retained, note, however, some registers may be changed at the transition to SLEEP mode. Refer to the section of each peripheral circuit for other precautions. Test Mode The C33 Core Block has the ICEMD pin for testing the chip. When this pin is set to High, the IC enters the following state: * All output pins go into high-impedance state except for the clock output pins (OSC2: H, OSC4 H, PLLC: L). * Clock inputs are disabled. OSC1, OSC3 and PLL stop operating. OSC2: H, OSC4 H, PLLC: L * All the pull-up and pull-down resistors enter an inactive state. Leave this pin open or connect to VSS for normal operation. The ICEMD pin has a built-in pull-down resistor. Debug Mode The C33 Core Block supports the debug mode. The debug mode is a CPU function, and realizes single step operation and break functions in the chip itself. Refer to the "S1C33000 Core CPU Manual" for details of the debug mode and the functions. Area 2 in the memory map can only be accessed in the debug mode. In the debug mode, the OSC3 clock is used as the CPU operating clock. Therefore, do not stop the high-speed (OSC3) oscillation circuit when using the debugging functions. Furthermore, only the C33 Core Block operates in the debug mode and other internal peripheral circuits stop operating. S1C33T01 FUNCTION PART EPSON B-II-2-3 II CORE BLOCK: CPU AND OPERATING MODE Trap Table Table 2.1 shows the trap table in the C33 Core. Refer to the "S1C33000 Core CPU Manual" for details of exceptions and Section II-5 in this manual, "ITC (Interrupt Controller)", for interrupts. Table 2.1 Trap Table HEX Vector number No. (Hex address) 0 Exception/interrupt name Exception/interrupt factor IDMA Ch. Priority 0(Base) Reset Low input to the reset pin - High 1-3 reserved - - 4 4(Base+10) Zero division Division instruction - 5 5 reserved - - 6 6(Base+18) Address error exception Memory access instruction - 7 0x0 or 0x60000 Debugging exception brk instruction, etc. - 8 8(Base+1C) NMI Low input to the NMI pin - 9-11 reserved - - C 12(Base+30) Software exception 0 int instruction - D 13(Base+34) Software exception 1 int instruction - E 14(Base+38) Software exception 2 int instruction - F 15(Base+3C) Software exception 3 int instruction - 10 16(Base+40) Port input interrupt 0 Edge (rising or falling) or level (High or Low) 1 11 17(Base+44) Port input interrupt 1 Edge (rising or falling) or level (High or Low) 2 12 18(Base+48) Port input interrupt 2 Edge (rising or falling) or level (High or Low) 3 13 19(Base+4C) Port input interrupt 3 Edge (rising or falling) or level (High or Low) 4 14 20(Base+50) Key input interrupt 0 Rising or falling edge - 15 21(Base+54) Key input interrupt 1 Rising or falling edge - 16 22(Base+58) High-speed DMA Ch.0 High-speed DMA Ch.0, end of transfer 5 17 23(Base+5C) High-speed DMA Ch.1 High-speed DMA Ch.1, end of transfer 6 18 24(Base+60) High-speed DMA Ch.2 High-speed DMA Ch.2, end of transfer - 19 25(Base+64) High-speed DMA Ch.3 High-speed DMA Ch.3, end of transfer - 1A 26(Base+68) IDMA Intelligent DMA, end of transfer - 27-29 reserved - - 1E 30(Base+78) 16-bit programmable timer 0 Timer 0 comparison B 7 1F 31(Base+7C) Timer 0 comparison A 8 - - 32-33 reserved 22 34(Base+88) 16-bit programmable timer 1 23 35(Base+8C) 36-37 reserved - - 26 38(Base+98) 16-bit programmable timer 2 Timer 2 comparison B 11 Timer 2 comparison A 12 27 39(Base+9C) Timer 1 comparison B 9 Timer 1 comparison A 10 40-41 reserved - - 2A 42(Base+A8) 16-bit programmable timer 3 Timer 3 comparison B 13 2B 43(Base+AC) Timer 3 comparison A 14 2E 2F 32 44-45 reserved - - 46(Base+B8) 16-bit programmable timer 4 Timer 4 comparison B 15 Timer 4 comparison A 16 47(Base+BC) 48-49 reserved - - 50(Base+C8) 16-bit programmable timer 5 Timer 5 comparison B 17 33 51(Base+CC) 34 52(Base+D0) Timer 5 comparison A 18 Timer 0 underflow 19 35 36 53(Base+D4) Timer 1 underflow 20 54(Base+D8) Timer 2 underflow 21 37 55(Base+DC) Timer 3 underflow 22 38 56(Base+E0) 39 57(Base+E4) 3A 58(Base+E8) 59 B-II-2-4 8-bit programmable timer Serial interface Ch.0 reserved Receive error - Receive buffer full 23 Transmit buffer empty 24 - - EPSON Low S1C33T01 FUNCTION PART II CORE BLOCK: CPU AND OPERATING MODE Table 2.1 Trap Table (continue) HEX Vector number No. (Hex address) Exception/interrupt name Serial interface Ch.1 Exception/interrupt factor IDMA Ch. Priority 3C 60(Base+F0) Receive error - High 3D 61(Base+F4) Receive buffer full 25 3E 62(Base+F8) Transmit buffer empty 26 63 reserved - - 40 64(Base+100) A/D converter A/D converter, end of conversion 27 41 65(Base+104) Clock timer Falling edge of 32 Hz, 8 Hz, 2 Hz or 1 Hz signal 1-minuet, 1-hour or specified time count up - 66-67 reserved - - 44 68(Base+110) Port input interrupt 4 Edge (rising or falling) or level (High or Low) 28 45 69(Base+114) Port input interrupt 5 Edge (rising or falling) or level (High or Low) 29 46 70(Base+118) Port input interrupt 6 Edge (rising or falling) or level (High or Low) 30 47 48 71(Base+11C) 72(Base+120) Port input interrupt 7 Edge (rising or falling) or level (High or Low) 31 32 49 73(Base+124) 8-bit programmable timer Timer 4 underflow 33 74-75 reserved Timer 54 underflow - 4C 76(Base+130) Serial interface Ch.2 Receive error - 4D 77(Base+134) Receive buffer full 34 4E 78(Base+138) 35 - 79 reserved Transmit buffer empty - 50 80(Base+140) Serial interface Ch.3 Receive error - 51 81(Base+144) Receive buffer full 36 52 reserved Transmit buffer empty - 37 83 54 84(Base+150) Port input interrupt 8 Edge (rising or falling) or level (High or Low) 38 55 85(Base+154) Port input interrupt 9 Edge (rising or falling) or level (High or Low) 39 56 86(Base+158) Port input interrupt 10 Edge (rising or falling) or level (High or Low) 40 57 87(Base+15C) Port input interrupt 11 Edge (rising or falling) or level (High or Low) 41 58 88(Base+160) Port input interrupt 12 Edge (rising or falling) or level (High or Low) 42 59 89(Base+164) Port input interrupt 13 Edge (rising or falling) or level (High or Low) 43 5A 90(Base+168) Port input interrupt 14 Edge (rising or falling) or level (High or Low) 44 5B 91(Base+16C) Port input interrupt 15 reserved Edge (rising or falling) or level (High or Low) - 45 92-93 94(Base+178) 16-bit programmable timer 6 Timer 6 comparison B 46 reserved Timer 6 comparison A - 47 96-97 98(Base+188) 16-bit programmable timer 7 Timer 7 comparison B 48 Timer 7 comparison A - 49 reserved Timer 8 comparison B 50 Timer 8 comparison A - 51 5E 5F 62 63 82(Base+148) - 95(Base+17C) 99(Base+18C) 100-101 66 67 102(Base+198) 16-bit programmable timer 8 103(Base+19C) 104-105 6A reserved - - - - - 106(Base+1A8) 16-bit programmable timer 9 107(Base+1AC) Timer 9 comparison B 52 Timer 9 comparison A 53 6D 108(Base+1B0) Single-master I2C-bus Ch. 0 109(Base+1B4) Command complete/error occurred Read DMA request 54 6E 110(Base+1B8) Write DMA request 55 6B 6C - - - Command complete/error occurred Read DMA request - 71 112(Base+120) Single-master I2C-bus Ch. 1 113(Base+120) 56 72 114(Base+120) Write DMA request 57 - - 111 70 115 reserved reserved Low Base = Set value in the TTBR register (0x48134 to 0x48137); 0xC00000 by default. S1C33T01 FUNCTION PART EPSON B-II-2-5 II CORE BLOCK: CPU AND OPERATING MODE THIS PAGE IS BLANK. B-II-2-6 EPSON S1C33T01 FUNCTION PART II CORE BLOCK: INITIAL RESET II-3 INITIAL RESET Pins for Initial Reset Table 3.1 shows the pins used for initial reset. Table 3.1 Pins for Initial Reset Pin name I/O #RESET I #MNI I Function Initial reset input pin (Low active) Low: Resets the CPU. NMI request input pin This pin is also used for selecting a reset method. High: Cold start Low: Hot start The chip is reset when the #RESET pin goes low and starts operating at the rising edge of the reset signal. The CPU and internal peripheral circuits are initialized while the #RESET pin is low. Cold Start and Hot Start The CPU supports two initial reset methods: cold start and hot start. The #MNI pin is used with the #RESET pin to set this condition. The differences between cold start and hot start are shown in Table 3.2. Table 3.2 Differences between Cold Start and Hot Start Setup contents Cold start Hot start Reset condition #RESET = low & #MNI = high #RESET = low & #MNI = low CPU: PC The vector at the boot address is loaded to the PC. CPU: PSR All the PSR bits are reset to 0. CPU: Other registers Undefined CPU: Operating clock The CPU operates with the OSC3 clock. External bus status (0x48120-0x4813F) Initialized Status is retained. Oscillation circuit Both the OSC1 and OSC3 circuits start oscillating. I/O pin status (0x402C0-0x402DF, Initialized Status is retained. 0x40300-0x40311) Other peripheral circuit Initialized or undefined Since cold start initializes all the internal peripheral circuits as well as the CPU, it is useful as a power-on reset. Hot start initializes the CPU and peripheral circuits, but does not reset the bus control unit and the input, output and I/O port status. It is useful as a reset that maintains the external memory, external I/O and the port status. The #NMI pin that specifies the reset method should be set following the timing chart shown in Figure 3.1. Cold start is generated (#RESET = low & #NMI = high) Hot start is generated (#RESET = low & #NMI = low) #NMI #NMI #RESET #RESET #NMI must be set to high longer than the reset pulse width. #NMI must be set to low longer than the reset pulse width. (1) Cold start (2) Hot start Figure 3.1 Setup of pad_rset_x and #MNI Pins S1C33T01 FUNCTION PART EPSON B-II-3-1 II CORE BLOCK: INITIAL RESET Power-on Reset Be sure to reset (cold start) the chip after turning on the power to start operating. Since the #RESET pin is directly connected to an input gate, a power-on reset circuit should be configured outside the chip. An initial reset (#RESET = low) turns the high-speed (OSC3) oscillation circuit on. The CPU starts operating with the OSC3 clock at the rising edge of the reset signal. The high-speed (OSC3) oscillation circuit takes time (10 ms max. under the standard condition in 3.3 V) for the oscillation to stabilize, therefore initial reset must be released after an appropriate oscillation-stabilization time has passed in order to start up the CPU without fault. The initial reset pulse width must be exceeded the oscillation-stabilization time. Figure 3.2 shows a power-on reset timing chart. 3.0 V (VDD = 3.3 V) VDD tSTA3 (OSC3 oscillation start time) or more 0.5VDD #RESET Power on 0.1VDD Figure 3.2 Power-on Reset Timing Maintain the #RESET pin at 0.1*VDD or less (low level) after turning the power on until the supply voltage rises at least to the oscillation start voltage (3.0 V). Furthermore, maintain the #RESET pin at 0.5*VDD or less until the high-speed (OSC3) oscillation circuit stabilizes oscillating. Note: The OSC3 oscillation start time varies due to the elements used, board pattern and operating environment, therefore allow enough margin for the reset-release time. Refer to "Oscillation Characteristics", in which an example of oscillation start time is provided. Reset Pulse A low pulse can be input to the #RESET pin for resetting the chip being operated. The minimum reset pulse width is provided in "AC Characteristics". Be sure to input a pulse that has a pulse width longer than the minimum value. To reset the chip when the high-speed (OSC3) oscillation circuit is in off status, the pulse width must be extended until the oscillation stabilizes similarly to the power-on reset. Be aware that a short reset pulse may cause an operation error. B-II-3-2 EPSON S1C33T01 FUNCTION PART II CORE BLOCK: INITIAL RESET Boot Address When the core CPU is initially reset, it reads the reset vector (program start address) from the boot address (0x0C00000) and loads the vector to the PC (program counter). Then the CPU starts executing the program from the address when the #RESET pin goes high. The trap table in which trap vectors for interrupts and other trap factors are written also begins from the boot address by the default setting. (Refer to the "S1C33000 Core CPU Manual" for details of the trap table.) The trap table base address can also be changed to a 1KB boundary address using the TTBR register (0x48134 to 0x48137). Notes Related to Initial Reset Core CPU Since the all registers except for the PC and PSR are indeterminate at initial reset, they should be initialized by a program. In particular, the SP (stack pointer) must be initialized before accessing the stack area. NMI requests are disabled until any value is written to the SP. The initialization is necessary when the CPU is cold-started. Internal RAM The contents of the internal RAM are indeterminate at initial reset. Initialize the area to be used if necessary. High-speed (OSC3) oscillation circuit An initial reset activates the high-speed (OSC3) oscillation circuit and the CPU starts operating with the OSC3 clock after the initial reset is released. In order to prevent a malfunction of the CPU due to an unstabilized clock, the #RESET pin must be maintained at low until the OSC3 oscillation stabilizes when performing a power-on reset or resetting while the high-speed (OSC3) oscillation circuit is stopped. Low-speed (OSC1) oscillation circuit A power-on reset or an initial reset when the low-speed (OSC1) oscillation circuit is off starts the OSC1 oscillation. The low-speed (OSC1) oscillation circuit takes a longer stabilization time (3 sec max. under the standard condition) than the high-speed (OSC3) oscillation circuit. In order to prevent a malfunction due to an unstabilized clock, do not use the OSC1 clock until the stabilization time has passed. BCU (Bus Control Unit) Cold-start initializes the control registers for the BCU (bus control unit). Therefore, it is necessary to set up all the bus conditions. Hot-start retains the previous bus conditions before an initial reset. Input/output ports and input/output pins Cold start initializes the control and data registers for the input and I/O ports. Hot start retains the contents of the control registers and input/output pin status before an initial reset. However, when the pins are used for the internal peripheral circuits, it is necessary to set up the control registers of the peripheral circuit because they are initialized by an initial reset. Other internal peripheral circuits The control and data registers of peripheral circuits other than those listed above are initialized with the predefined values or become indeterminate regardless of the reset method (cold start or hot start). Therefore, it is necessary to set up the peripheral circuit conditions. Refer to the I/O maps or explanation of each peripheral circuit section for initial settings of the peripheral circuits. S1C33T01 FUNCTION PART EPSON B-II-3-3 II CORE BLOCK: INITIAL RESET THIS PAGE IS BLANK. B-II-3-4 EPSON S1C33T01 FUNCTION PART II CORE BLOCK: BCU (Bus Control Unit) II-4 BCU (Bus Control Unit) The BCU (Bus Control Unit) provides an interface for external devices and on-chip user logic block. The types and sizes of memory and peripheral I/O devices can be set for each area of the memory map and can be controlled directly by the BCU. This unit also supports a direct interface for DRAM and burst ROM. This chapter describes how to control the external and internal system interface, and how it operates. Note: The control registers of the external system interface shown in this chapter are mapped to the internal 16-bit I/O area. Therefore, the addresses of these control registers are indicated by halfword (16-bit) addresses unless otherwise specified. Note that the control registers can be accessed in bytes, half-words, or words. Pin Assignment for External System Interface I/O Pin List External I/O pins Table 4.1 lists the pins used for the external system interface. Table 4.1 I/O Pin List Pin name A[0]/#BSL A[23:1] D[15:0] #CE10EX #CE10IN #CE9/#CE17 #CE8/#RAS1/#CE14/#RAS3 #CE7/#RAS0/#CE13/#RAS2 #CE6 #CE5/#CE15 #CE4/#CE11 #CE3 #RD #EMEMRD #WRL/#WR/#WE #WRH/#BSH #HCAS #LCAS BCLK #BUSREQ/#CE6/P34 #BUSACK/P35 #WAIT/#CE4&5/P30 #DRD/P20 #DWE/P21 #X2SPD I/O O O I/O O O O O O O O O O O O O O O O O I/O O I/O O O I EA10MD[1:0] I EA3MD I S1C33T01 FUNCTION PART Function Address bus (A0) / Bus strobe (Low-byte) Address bus (A1-A23) Data bus (D0-D15) Area 10 external memory chip enable Area 10 chip enable for internal ROM emulation mode Area 9/17 chip enable Area 8/14 chip enable / DRAM Row strobe Area 7/13 chip enable / DRAM Row strobe Area 6 chip enable Area 5/15 chip enable Area 4/11 chip enable Area 3 chip enable for ROM emulation mode Read signal Read signal for area 3/10 emulation mode Write (Low-byte) / Write / DRAM write Write (High-byte) / Bus strobe (High-byte) DRAM column address strobe (High-byte) DRAM column address strobe (Low-byte) Bus clock output Bus release request / Area 6 chip enable / I/O port Bus request acknowledge / I/O port Wait cycle request / Areas 4&5 chip enable / I/O port DRAM read signal / I/O port DRAM write (Low-byte) / I/O port CPU - BCLK clock ratio 1: CPU clock = Bus clock, 0: CPU clock = Bus clock x 2 Area 10 boot mode selection 11: External ROM, 10: Internal ROM, 01: OTP, 00: Internal ROM emulation Area 3 mode selection 1: Internal ROM mode, 0: Emulation mode EPSON B-II-4-1 II CORE BLOCK: BCU (Bus Control Unit) User interface signals Table 4.2 List of User Interface Signals Signal name U_ADDR [0] I/O Cell name Function O XBF4 * When address bus (A0)/SBUSST (D3/0x4812E) = "0" (default) * When the bus strobe (lower byte) signal (#BSH)/SBUSST (D3/0x4812E) = "1" U_ADDR [23:1] O XBF4 Address bus (A1 to A23) U_DOUT [15:0] O XBF4 Output data bus This bus is used when the CPU writes data to user logic. U_DIN [15:0] I XAO22V U_CE10_X U_CE9_X U_CE8_X U_CE7_X U_CE6_X U_CE5_X U_CE4_X O XBF4 Areas 4 to 10 chip enable signals These signals go low when the CPU accesses the user logic circuits allocated to areas 4 through 10. U_WRL_X O XBF4 * When the write (lower byte) signal (#WRL)/SBUSST (D3/0x4812E) = "0" (default) * When the write signal (#WRL)/SBUSST (D3/0x4812E) = "1" This signal goes low when the CPU writes the low-order 8 bits of data to the user logic. U_WRH_X O XBF4 * When the write (upper byte) signal (#WRH)/SBUSST (D3/0x4812E) = "0" (default) Input data bus This bus is used when the CPU reads from user logic. * When the bus strobe (upper byte) signal (#BSH)/SBUSST (D3/0x4812E) = "1" This signal goes low when the CPU writes the high-order 8 bits of data to the user logic. U_RD_X O XBF4 U_WAIT_X I XAO22V U_P3_PIN [5:0] U_P2_PIN [7:0] U_P1_PIN [6:5] U_P1_PIN [4:3] U_P1_PIN [2] U_P1_PIN [1:0] U_P0_PIN [7:0] U_K5_PIN [4:0] O XBF2 The port P 3x, 2x, 1x, and 0x signals, and the port K 5x signal These signals report the values of the ports to the user logic. U_BUSMD [2:0] O XBF2 Bus cycle test data signal U_BUSSZ [1:0] O XBF2 Bus size signal U_BCLK O XBF4 Bus clock The user logic can use the bus clock (BCLK) signal. U_OS1CLK O XBF4 Low-speed oscillator circuit (OSC1) output This signal can be used as the user logic clock source. U_OS3CLK O XBF4 High-speed oscillator circuit (OSC3) output This signal can be used as the user logic clock source. * Read signal This signal goes low when the CPU reads data from the user logic. Wait cycle request input User logic can request wait cycles by setting this signal low. U_PLLCLK O XBF4 U_CPUCLK O XCRBF6 PLL circuit output U_RST_X O XBF4 Reset signal This signal reports the reset timing to the user logic. TST_USER O XBF2 User circuit test mode TST_TA O XBF16 I/O cell TA pin connection signal TST_TE_X O XBF16 I/O cell TE pin connection signal TST_TS O XBF16 I/O cell TS pin connection signal CTS clock The internal bus signals are available when an internal access area is set using the BCU register. The bus conditions can be programmed using the BCU registers similar to the external bus. B-II-4-2 EPSON S1C33T01 FUNCTION PART II CORE BLOCK: BCU (Bus Control Unit) Combination of System Bus Control Signals The bus control signal pins that have two or more functions have their functionality determined when an interface method is selected by a program. The BCU contains an ordinary external system interface (two interface method are supported) and a DRAM interface. Table 4.3 Interface Selection Interface type Interface method External system interface DRAM interface A0 system (default) #BSL system 2CAS system (fixed) Control bit SBUSST(D3/0x4812E) = "0" SBUSST(D3/0x4812E) = "1" None SBUSST is initialized to "0" at cold start. When the IC is hot-started, these bits retain their status before the chip was reset. Table 4.4 shows combinations of control signals classified by each interface method. Table 4.4 Combinations of Bus Control Signals External system interface DRAM interface A0 system #BSL system 2CAS system A0 #BSL (little endian) / #BSH (big endian) 1 #WR #BSL (little endian) / #BSH (big endian) 1 - - #CEx - #WRL #WRH - - #CEx #WE - #HCAS #LCAS #RASx 2 1 In the #BSL system, the A0 and #WRH pin functions change according to the endian selected (little endian or big endian). 2 When using DRAM, the #CE output pins in areas 7-8 (areas 13-14) function as the #RAS1-2 (#RAS3-4) pins. S1C33T01 FUNCTION PART EPSON B-II-4-3 II CORE BLOCK: BCU (Bus Control Unit) Memory Area Memory Map Figure 4.1 shows the memory map supported by the BCU. Area Area 9 SRAM type Burst ROM type 8 or 16 bits Area 8 SRAM type DRAM type 8 or 16 bits Area 7 SRAM type DRAM type 8 or 16 bits Area 6 SRAM type Area 5 Address 0x0BFFFFF 0x0800000 0x07FFFFF 0x0400000 0x03FFFFF 0x0380000 0x037FFFF 0x0300000 0x02FFFFF Area 0 External I/O (16-bit device) External I/O (8-bit device) 0x0080000 0x007FFFF 0x0060000 0x005FFFF 0x0050000 0x004FFFF 0x0040000 0x003FFFF 0x0030000 0x002FFFF 32 bits SRAM type 8 or 16 bits SRAM type DRAM type 8 or 16 bits Area 13 SRAM type DRAM type 8 or 16 bits External memory (1MB) 0x0100000 0x00FFFFF Area 15 Area 14 0x0200000 0x01FFFFF 16 bits 2 or 4 cycles SRAM type 8 or 16 bits External memory (1MB) Fixed at 3 cycles 8, 16 bits Area 16 External memory (2MB) Fixed at 1 cycle Area 1 SRAM type 8 or 16 bits 0x0600000 0x05FFFFF 16 bits Area 2 Area 17 External memory (2MB) SRAM type 8 or 16 bits Area 3 SRAM type 8 or 16 bits External memory (4MB) SRAM type 8 or 16 bits Area 4 Area Area 18 Area 12 (Reserved) For middleware use Internal I/O Area 11 SRAM type Burst ROM type 8 or 16 bits External memory (16MB) External memory (16MB) External memory (16MB) External memory (16MB) External memory (16MB) 0x2000000 0x1FFFFFF External memory (8MB) 0x1800000 0x17FFFFF SRAM type 8 or 16 bits Area 10 External memory (16MB) 0x3000000 0x2FFFFFF SRAM type 8 or 16 bits (Reserved) For CPU core or debug mode (Mirror of internal I/O) Address 0xFFFFFFF 0xD000000 0xCFFFFFF 0xC000000 0xBFFFFFF 0x9000000 0x8FFFFFF 0x8000000 0x7FFFFFF 0x7000000 0x6FFFFFF 0x6000000 0x5FFFFFF 0x5000000 0x4FFFFFF 0x4000000 0x3FFFFFF External memory (8MB) 0x1000000 0x0FFFFFF External memory (4MB) 0x0C00000 (Mirror of internal I/O) Internal RAM Fixed at 1 cycle 0x0000000 Figure 4.1 Memory Map Basically, Areas 0 to 3 are internal memory areas and Areas 4 to 18 are external memory areas. Area 0 is normally used for a built-in RAM. Memory is allocated from the start area 0. Area 1 is reserved for the I/O memory of the on-chip functional blocks. Address 0x0040000 to address 0x004FFFF are used as the control registers and address 0x0050000 to 0x005FFFF are used as the mirror area. Area 2 is used in debug mode only and it cannot be accessed in user mode (normal program execution status). Area 3 is reserved for S1C33 middlewares. Area 4 to 18 can also be configured as internal memory areas using the control register and they can be used for user logic circuits. B-II-4-4 EPSON S1C33T01 FUNCTION PART II CORE BLOCK: BCU (Bus Control Unit) External Memory Map and Chip Enable The BCU has a 24-bit external address bus (A[23:0]) and a 16-bit external data bus (D[15:0]), allowing an address space of up to 16MB to be accessed with one chip enable signal. By default, the address space is divided into 11 areas (areas 0 to 10) for management purposes. Of these, areas 4 to 10 are open to an external system, each provided with an independent chip-enable pin (#CE[10:4]). The C33 Core Block is limited to 24 available pins for the address bus and 7 pins for the #CE output due to its package structure. However, the #CE[4:10] output pins can be switched to the high-order area chip enable output pins as shown in Table 4.5 using software. CEFUNC[1:0] (D[A:9]) / DRAM timing set-up register (0x48130) is used for this switching. Table 4.5 Switching of #CE Output Pin CEFUNC = "00" #CE4 #CE5 #CE6 #CE7/#RAS0 #CE8/#RAS1 #CE9 #CE10EX #CE4 #CE5 #CE6 #CE7/#RAS0 #CE8/#RAS1 #CE9 #CE10EX CEFUNC = "01" #CE11 #CE15 #CE6 #CE13/#RAS2 #CE14/#RAS3 #CE17 #CE10EX CEFUNC = "1x" #CE11+#CE12 #CE15+#CE16 #CE7+#CE8 #CE13/#RAS2 #CE14/#RAS3 #CE17+#CE18 #CE9+#CE10EX (Default: CEFUNC = "00") The high-order areas that are made available for use by writing "01" to CEFUNC can be larger in size than the default low-order areas. For example, when using DRAM in default settings, the available space is 4MB in areas 7 and 8. However, if areas 13 and 14 are used, up to 32MB of DRAM can be used. The same applies to the other areas. Furthermore, when CEFUNC is set to "10" or "11", five chip enable signals are expanded into two area size. Although the C33 Core Block has only 24 address output pins, it features 28-bit internal address processing. Figure 4.2 shows a memory map for an external system. Area Area 10 (#CE10) SRAM type Burst ROM type 8 or 16 bits Area 9 (#CE9) SRAM type Burst ROM type 8 or 16 bits Area 8 (#CE8/#RAS1) SRAM type DRAM type 8 or 16 bits Area 7 (#CE7/#RAS0) SRAM type DRAM type 8 or 16 bits Area 6 (#CE6) SRAM type Area 5 (#CE5) External memory 6 (4MB) 0x0C00000 0x0BFFFFF External memory 5 (4MB) 0x0800000 0x07FFFFF External memory 4 (2MB) 0x0600000 0x05FFFFF External memory 3 (2MB) 0x0400000 0x03FFFFF 0x0380000 0x037FFFF 0x0300000 0x02FFFFF SRAM type 8 or 16 bits Area 4 (#CE4) Area Area 17 (#CE17) Address 0x0FFFFFF External I/O (16-bit device) External I/O (8-bit device) SRAM type DRAM type 8 or 16 bits Area 13 (#CE13/#RAS2) SRAM type DRAM type 8 or 16 bits Area 11 (#CE11) SRAM type 8 or 16 bits Area 10 (#CE10) External memory 2 (1MB) 0x0200000 0x01FFFFF SRAM type 8 or 16 bits Address 0xBFFFFFF SRAM type 0x9000000 8 or 16 bits 0x8FFFFFF 0x8000000 Area 15 (#CE15) 0x5FFFFFF SRAM type 0x5000000 8 or 16 bits 0x4FFFFFF 0x4000000 Area 14 (#CE14/#RAS3) 0x3FFFFFF External memory 1 (1MB) SRAM type Burst ROM type 8 or 16 bits Area 6 (#CE6) SRAM type 0x0100000 CEFUNC = "00" S1C33T01 FUNCTION PART (Mirror of External memory 6) External memory 6 (16MB) (Mirror of External memory 5) External memory 5 (16MB) External memory 4 (16MB) 0x3000000 0x2FFFFFF External memory 3 (16MB) 0x2000000 0x17FFFFF External memory 2 (8MB) 0x1000000 0x0FFFFFF External memory 1 (4MB) 0x0C00000 0x03FFFFF 0x0380000 0x037FFFF 0x0300000 External I/O (16-bit device) External I/O (8-bit device) CEFUNC = "01" EPSON B-II-4-5 II CORE BLOCK: BCU (Bus Control Unit) Area Area 17+18 (#CE17+18) SRAM type 8 or 16 bits Areas 15-16 (#CE15+16) SRAM type 8 or 16 bits Area 14 (#CE14/#RAS3) SRAM type DRAM type 8 or 16 bits Area 13 (#CE13/#RAS2) SRAM type DRAM type 8 or 16 bits Areas 11-12 (#CE11+12) SRAM type 8 or 16 bits Areas 9-10 (#CE9+10EX) SRAM type Burst ROM type 8 or 16 bits Areas 7-8 (#CE7+8) SRAM type 8 or 16 bits Address 0xFFFFFFF (Mirror of External memory 7') 0xD000000 0xCFFFFFF External memory 7' (16MB) 0xC000000 0xBFFFFFF (Mirror of External memory 7) 0x9000000 0x8FFFFFF External memory 7 (16MB) 0x8000000 0x7FFFFFF (Mirror of External memory 6') 0x7000000 0x6FFFFFF External memory 6' (16MB) 0x6000000 0x5FFFFFF (Mirror of External memory 6) 0x5000000 0x4FFFFFF External memory 6 (16MB) 0x4000000 0x3FFFFFF External memory 5 (16MB) 0x3000000 0x2FFFFFF External memory 4 (16MB) 0x2000000 0x1FFFFFF External memory 3 (16MB) 0x1000000 0x0FFFFFF External memory 2 (8MB) 0x0800000 0x07FFFFF External memory 1 (4MB) 0x0400000 CEFUNC = "10" or "11" Figure 4.2 External System Memory Map Furthermore, the #CE4+#CE5 and #CE6 signals can be output from the P30 and P34 terminals, respectively. This function expands the accessible area when CEFUNC is set to "01, "10" or "11". To output the #CE4+#CE5 signal from the P30 terminal: CFP30 (D0)/P3 function select register (0x402DC) = "1" IOC30 (D0)/P3 I/O control register (0x402DE) = "1" To output the #CE6 signal from the P34 terminal: CFP34 (D4)/P3 function select register (0x402DC) = "1" IOC34 (D4)/P3 I/O control register (0x402DE) = "1" The P30 and P34 terminals are set for the general I/O ports at initial reset. The P30 and P34 terminals are shared with the #WAIT input and the #BUSREQ input, respectively. Therefore, when using the #WAIT and #BUSREQ signals, there terminal cannot be used for #CE4+#CE5 and #CE6 outputs. B-II-4-6 EPSON S1C33T01 FUNCTION PART II CORE BLOCK: BCU (Bus Control Unit) Using Internal Memory on External Memory Area The BCU allows using of an internal memory in the external memory areas. The AxxIO bit in the access control register (0x48132) is used to select either internal access or external access. When "1" is written, the internal device will be accessed and when "0" is written, the external device is accessed (external access by default). The bit names and the corresponding areas are as follows: A18IO (DF): Areas 17 and 18 A16IO (DE): Areas 15 and 16 A14IO (DD): Areas 13 and 14 A12IO (DC): Areas 11 and 12 A8IO (DA): Areas 7 and 8 A6IO (D9): Area 6 A5IO (D8): Areas 4 and 5 Exclusive Signals for Areas Areas can be accessed using the exclusive signals (address strobe and read signals) as well as the common control signals. To use these exclusive signals, they should be configured using G/A read signal control register (0x48138). The AxxAS bit is used to enable/disable the address strobe signal, and the AxxRD bit is used to enable/disable the read signal. When "1" is written to the bit, the exclusive signal for the corresponding area(s) is enabled and when "0" is written, it is disabled (disabled by default). The bit names and the corresponding areas are as follows: A18AS (DF), A18RD (D7): Areas 17 and 18 A16AS (DE), A16RD (D6): Areas 15 and 16 A14AS (DD), A14RD (D5): Areas 13 and 14 A12AS (DC), A12RD (D4): Areas 11 and 12 A8AS (DA), A8RD (D2): Areas 7 and 8 A6AS (D9), A6RD (D1): Area 6 A5AS (D8), A5RD (D0): Areas 4 and 5 #CE selected with AxxAS (ORed) #WRH #WRL #RD #CE selected with AxxRD (ORed) Figure 4.3 #GAAS and #GARD Signals #GAAS P21 #GAAS P31 The address strobe signal and the read signal are output from the P21 pin and P31 pin, respectively. Therefore, when using these signals, the pin(s) must be configured for exclusive signal output using the port function select register and port function extension register. To output the exclusive address strobe signal #GAAS: CFEX2 (D2)/Port function extension register (0x402DF) = "1" To output the exclusive address strobe signal #GARD: CFEX3 (D3)/Port function extension register (0x402DF) = "1" These signals are common used to all the above areas, so when two or more areas are selected to output the exclusive signal, OR condition is applied. S1C33T01 FUNCTION PART EPSON B-II-4-7 II CORE BLOCK: BCU (Bus Control Unit) Area 10 Area 10 is an external memory area that includes the boot address (0xC00000). This area supports four boot mode and a high-speed internal ROM can also be mapped. Area 10 boot mode The boot mode can be configured using the external pins EA10MD[1:0]. Table 4.6 Area 10 Boot Mode Selection EA10MD[1:0] pins 00 01 10 11 Area 10 boot mode Internal ROM emulation mode OTP and internal ROM emulation mode Internal ROM boot mode External ROM boot mode Internal ROM boot mode The CPU boots by the internal ROM mapped to area 10. The internal ROM size should be selected from among eight types (min. 16KB, max. 2MB) using the A10IR[2:0] (D[E:C])/Areas 10-9 set-up register (0x48126). This ROM begines with address 0xC00000 and can be read in one cysle the same as that of area 3. For the remained area within area 10, the external memory will be accessed if it is available. Internal ROM emulation mode The CPU boots by the external memory that emulates an internal ROM. This mode accesses the ROM emulation area set by the A10IR[2:0] (D[E:C])/Areas 10-9 set-up register (0x48126) using the same condition as internal ROM boot mode. The emulation memory is accessed using the #CE10IN chip enable signal. OTP and internal ROM emulation mode In this mode, channel 0 of IDMA starts up for tranfering the program codes in the Flash memory to the highspeed SRAM immediately after an initial reset is released. Then the system boots by the SRAM. After that, this mode functions the same as internal ROM emulation mode. Since the Flash memory and SRAM are mapped to the same address range, the Flash memory is accessed using the #CE10EX chip enable signal and the SRAM is accessed using the #CE10IN chip enable signal. External ROM boot mode The CPU boots by the external ROM (ROM, Flash, SRAM, etc.). This mode uses the bus condition set by the BCU registers for area 10. Setting the internal ROM size When a boot mode other than external ROM boot mode is used, the internal ROM or emulation memory size should be set using A10IR[2:0] (D[E:C)/Areas 10-9 set-up register (0x48126). Table 4.7 Area 10 Internal ROM Size B-II-4-8 A10IR2 A10IR1 A10IR0 ROM size 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 16KB 32KB 64KB 128KB 256KB 512KB 1MB 2MB (default) EPSON S1C33T01 FUNCTION PART II CORE BLOCK: BCU (Bus Control Unit) Area 10 memory map Figure 4.4 shows the memory map of area 10. External ROM boot mode 0x0FFFFFF Other modes 0x0FFFFFF Area 10 Area 10 External memory is accessed. External memory is accessed. Set-up example 25 MHz 5 wait Set-up example 25 MHz 5 wait Internal or emulation memory is accessed. 0x0C00000 0x0C00000 Set-up example 25 MHz (#X2SPD = "1") 25 MHz (#X2SPD = "0") No wait 16KB, 32KB, 64KB, 128KB 256KB, 512KB, 1MB or 2MB selected by A10IR[2:0] Figure 4.4 Area 10 Memory Map Area 3 Area 3 is an internal memory area and reserved for S1C33 middlewares. This area can be configured with an internal ROM or an external emulation memory using A3EEN (0x48130/DB). Table 4.8 Area 3 Mode Selection EA3MD pin 0 1 S1C33T01 FUNCTION PART Area 3 mode Emulation mode Internal ROM mode EPSON B-II-4-9 II CORE BLOCK: BCU (Bus Control Unit) System Configuration in Emulation Mode Figure 4.5 shows a development environment example using the emulation mode. S1C33 Area 3 emulation memory (High-speed SRAM) Address #CE #RD #WRL #WRH Data A[23:0] #CE3 1 #EMEMRD 2 #WRL #WRH Data bus buffer G/A DRAM Data Data D[15:0] EA3MD Data Data EA10MD1 EA10MD0 Address #RD #WRL #WRH #CE #CE10IN 4 Area 10 emulation memory (High-speed SRAM) Address #CE #RD #WRL #WRH #CE10EX #RD 3 Area 10 external memory 1: Available when EA3MD = "0" (Flash) 2: Available only for emulation mode 3: General read signal for external devices 4: Data is transferred from Flash to SRAM when booting with OTP mode. Figure 4.5 Development Environment Example The emulation memory is accessed without wait state as shown in Figure 4.6. 10 ns 10 ns BCLK td1 + tsetup = 10 ns or less td2 + tsetup = 15 ns or less External address td1(3 ns) tsetup = 7 ns td1 = 3 ns td2 = 8 ns #CE10IN/#CE3 td2(8 ns) #EMEMRD 5 ns External Data tacc tsetup (7 ns) Figure 4.6 Read Timing in Emulation Mode In the emulation mode, the exclusive read signal #EMEMRD is used. B-II-4-10 EPSON S1C33T01 FUNCTION PART II CORE BLOCK: BCU (Bus Control Unit) Setting External Bus Conditions The type, size, and wait conditions of a device connected to the external bus can be individually set for each area using the control register (0x48120 to 0x48130). The following explains the available setup conditions individually for each area. For details on how to set the DRAM interface conditions, refer to "DRAM Direct Interface". The control register used to set bus conditions is initialized at cold start. Therefore, please set up these registers again using software according to the external device configuration and specifications. When the IC is hot-started, the setup contents and pins retain their previous status before a reset. Setting Device Type and Size Table 4.9 shows the types of devices that can be connected directly to each area. Table 4.9 Device Type Area SRAM type DRAM type Burst ROM type 18-15 14 13 12,11 10 9 8 7 6-4 O O O O O O O O O X O O X X X O O X X X X X O O X X X Control bit None A14DRA(D8)/Areas 14-13 set-up register(0x48122) A13DRA(D7)/Areas 14-13 set-up register(0x48122) None A10DRA(D8)/Areas 10-9 set-up register(0x48126) A9DRA(D7)/Areas 10-9 set-up register(0x48126) A8DRA(D8)/Areas 8-7 set-up register(0x48128) A7DRA(D7)/Areas 8-7 set-up register(0x48128) None O: Can be connected X: Cannot be connected When connecting burst ROM or DRAM, write "1" to each corresponding control bit. These control bits are reset to "0" (SRAM type) at cold start. The device size can be set to 8 or 16 bits once every two areas except for area 6. Area 6 alone has its first half (0x300000-0x37FFFF) fixed to an 8-bit device and the second half (0x380000-0x3FFFFF) fixed to a 16-bit device. Table 4.10 Device Size Control Bits Area 18, 17 16, 15 14, 13 12, 11 10, 9 8, 7 5, 4 Control bit A18SZ(DE)/Areas 18-15 set-up register(0x48120) A16SZ(D6)/Areas 18-15 set-up register(0x48120) A14SZ(D6)/Areas 14-13 set-up register(0x48122) A12SZ(D6)/Areas 12-11 set-up register(0x48124) A10SZ(D6)/Areas 10-9 set-up register(0x48126) A8SZ(D6)/Areas 8-7 set-up register(0x48128) A5SZ(D6)/Areas 6-4 set-up register(0x4812A) At cold start, each area by default is set to 16 bits. When using an 8-bit device, write "1" to the control bit. Note: The BCU supports 16-bit burst ROM. Therefore, when connecting burst ROM to area 10 or area 9, do not set the device size to 8 bits (A10SZ = "1"). For differences in bus operation due to the device size and access data size, refer to "Bus Operation of External Memory". S1C33T01 FUNCTION PART EPSON B-II-4-11 II CORE BLOCK: BCU (Bus Control Unit) Setting SRAM Timing Conditions The areas set for the SRAM allow wait cycles and output disable delay time to be set. Number of wait cycles: 0 to 7 (incremented in units of one cycle) Output disable delay time: 0.5, 1.5, 2.5, 3.5 cycles This selection can be made once every two areas except for area 6. Table 4.11 Timing Condition Setting Bits (for SRAM type) Area Number of wait cycles Output disable delay time Control register 18, 17 16, 15 14, 13 12, 11 10, 9 8, 7 6 5, 4 A18WT[2:0](D[A:8]) A16WT[2:0](D[2:0]) A14WT[2:0](D[2:0]) A12WT[2:0](D[2:0]) A10WT[2:0](D[2:0]) A8WT[2:0](D[2:0]) A6WT[2:0](D[A:8]) A5WT[2:0](D[2:0]) A18DF[1:0](D[D:C]) A16DF[1:0](D5:4]) A14DF[1:0](D5:4]) A12DF[1:0](D5:4]) A10DF[1:0](D5:4]) A8DF[1:0](D[5:4]) A6DF[1:0](D[D:C]) A5DF[1:0](D[5:4]) Areas 18-15 set-up register(0x48120) Areas 18-15 set-up register(0x48120) Areas 14-13 set-up register(0x48122) Areas 12-11 set-up register(0x48124) Areas 10-9 set-up register(0x48126) Areas 8-7 set-up register(0x48128) Areas 6-4 set-up register(0x4812A) Areas 6-4 set-up register(0x4812A) At cold start, the number of wait cycles is set to 7 and the output disable delay time is set to 3.5 cycles. Reset up these parameters as necessary using software according to specifications of the connected device. At hot start, these parameters retain their previous settings before a reset. Wait cycles When the number of wait cycles is set for an area using the control bit, the BCU extends the bus cycle for a duration equivalent to the wait cycles set when it accesses the area. Set the desired wait cycles according to the bus clock frequency and the external device's access time. Separately from the wait cycles set here, a wait request from an external device can also be accepted using the #WAIT pin. Since the settings of wait cycles using software are made once every two areas, use this external wait request function if you want the wait cycles to be controlled individually in each area or if you need 7 or more wait cycles. The #WAIT pin is shared with the P30 I/O port. For an external wait request to be accepted, write "1" to CFP30 (D0) / P3 function select register (0x402DC [Byte]) and write "1" (default = "0") to SWAIT (D0) / Bus control register (0x4812E) to enable the #WAIT pin. For timing charts for bus cycles and when wait cycles are inserted, refer to "Bus Cycles in External System Interface". If the number of wait cycles is set to 0 and no external wait is requested, the basic read cycle (read in byte or half-word) for the SRAM external device consists of one cycle. If wait cycles are set, because these cycles are added, the bus read cycle consists of [number of wait cycles + 1] (providing that there is no external wait). On the other hand, the basic write cycle consists of at least two cycles. This does not change regardless of whether zero or one wait cycle is set. If the number of wait cycles set is 2 or more, the bus cycle is actually extended. In this case, the bus write cycle consists of [number of wait cycles + 1], as in the case of read cycles (providing that there is no external wait). B-II-4-12 EPSON S1C33T01 FUNCTION PART II CORE BLOCK: BCU (Bus Control Unit) Output disable delay time In cases when a device having a long output disable time is connected, if a read cycle for that device is followed by the next access, contention for the data bus may occur. (Due to the fact the read device's data bus is not placed in the high-impedance state.) The output disable delay time is provided to prevent such data bus contention. This is accomplished by inserting a specified number of cycles between a read cycle and the next bus operation. Check the specifications of the device to be connected before setting the output disable delay time. By default, the output disable delay time is inserted only in the following cases: * when a read cycle from the external device that has had an output disable delay time set is followed by a write cycle performed by the CPU; and * when a read cycle from the external device that has had an output disable delay time set is followed by a read cycle for a different area (including the internal device). Conversely, no output disable delay time is inserted in the following conditions: * immediately after a write cycle, and * during a successive read from the same external device. Setting Timing Conditions of Burst ROM Wait cycles If burst ROM is selected for area 10 or 9, the wait cycles to be inserted in the burst read cycle can be selected in a range from 0 to 3 cycles. A10BW[1:0] (D[A:9]) / Areas 10-9 set-up register (0x48126) is used for this selection. This selection is applied simultaneously to areas 10 and 9, so wait cycles can not be chosen individually for each area. The wait cycles set at cold start is 0. Even for a burst read, the SRAM settings of wait cycles in the first bus operation are valid. (Refer to A10WT[2:0] in the foregoing section.) The wait cycles set by A10BW[1:0] are inserted into the burst cycles after the first bus operation. In addition, when burst ROM is selected, no wait cycles can be inserted into the read cycle via the #WAIT pin. For writing to an area that has had burst ROM selected, an SRAM write cycle is executed. In this case, both the SRAM settings of wait cycles and those input via the #WAIT pin are valid. Burst mode The burst mode can be selected between an eight-consecutive-burst and a four-consecutive-burst mode. RBST8 (DD) / Bus control register (0x4812E) is used for this selection. The eight-consecutive-burst mode is selected by writing "1" to RBST8 and the four-consecutive-burst mode is selected by setting the bit to "0". At cold start, the four-consecutive-burst mode is set by default. S1C33T01 FUNCTION PART EPSON B-II-4-13 II CORE BLOCK: BCU (Bus Control Unit) Bus Operation Data Arrangement in Memory The S1C33 Family of devices handle data in bytes (8 bits), half-words (16 bits), and words (32 bits). When accessing data in memory, it is necessary to specify a boundary address that conforms to the data size involved. Specification of an invalid address causes an address error exception. For instructions (e.g., stack manipulation or branch instructions) that rewrite the SP (stack pointer) or PC (program counter), the specified addresses are forcibly modified to appropriate boundary addresses. Therefore, no address error exception occurs in this type of instruction. For details about the address error exception, refer to the "S1C33000 Core CPU Manual". Table 4.12 shows the data arrangement in memory, classified by data type. Table 4.12 Data Arrangement in Memory Data type Byte data Half-word data Word data Arranged location Byte boundary address (all addresses) Half-word boundary address (A[0]="0") Word boundary address (A[1:0]="00") The half-word and word data in memory area accessed in little-endian format by default. It can be changed to bigendian format using AxxEC (D[7:0])/Access control register (0x48132). When "1" is written to AxxEC, the corresponding area is accessed in big-endian method. The bit names and the corresponding areas are as follows: A18EC (D7): Areas 17 and 18 A16EC (D6): Areas 15 and 16 A14EC (D5): Areas 13 and 14 A12EC (D4): Areas 11 and 12 A10EC (D3): Areas 9 and 10 ... Fixed at "0" (little-endian) for booting. A8EC (D2): Areas 7 and 8 A6EC (D1): Area 6 A5EC (D0): Areas 4 and 5 To increase memory efficiency, try to locate the same type of data at continuous locations on exact boundary addresses in order to minimize invalid areas. Bus Operation of External Memory The external data bus is 16-bits wide. For this reason, more than one bus operation occurs depending on the device size and the data size of the instruction executed, as shown in Table 4.13. Table 4.13 Data size to be accessed Devise size Number of bus operation cycles 32 bits 16 bits 8 bits 16 bits 16 bits 16 bits 2 1 1 32 bits 8 bits 4 16 bits 8 bits 2 8 bits 8 bits 1 B-II-4-14 Number of Bus Operation Cycles Remarks In little-endian method, the low-order byte is accessed when the LSB of the address (A[0]) is "0" or the #BSL signal is L. The high-order byte is accessed when the LSB of the address (A[0]) is "1" or the #BSH signal is H. In big-endian method, the high-order byte is accessed when the LSB of the address (A[0]) is "0" or the #BSL signal is L. The low-order byte is accessed when the LSB of the address (A[0]) is "1" or the #BSH signal is H. In little-endian method, the 8-bit device must be connected to the loworder 8 bits of the data bus. In big-endian method, the 8-bit device must be connected to the high-order 8 bits of the data bus. In little-endian method, the 8-bit device must be connected to the loworder 8 bits of the data bus. In big-endian method, the 8-bit device must be connected to the high-order 8 bits of the data bus. In little-endian method, the 8-bit device must be connected to the loworder 8 bits of the data bus. In big-endian method, the 8-bit device must be connected to the high-order 8 bits of the data bus. EPSON S1C33T01 FUNCTION PART II CORE BLOCK: BCU (Bus Control Unit) The following diagram shows sample bus operations where the A0 system is used. With the BSL method, the following adjustments should be made when reading the figure. (1) For data reads, the operation is as shown in the figure below. (2) For little-endian data writes, read A0 as #BSC, and #WRH as #BSH. (3) For big-endian data writes, read A0 as #BSL, and #WRL as #BSH. For information on memory connection, see Figure 4.20. Little-endian 31 Byte 3 Source (general-purpose register) Byte 2 Byte 1 Byte 0 2 15 1 0 15 A[1:0]=10 Bus operation 0 0 A[1:0]=00 No. A1 A0 #WRH #WRL 15 Data bus 1 Byte 1 Byte 0 0 0 0 0 2 Byte 3 Byte 2 0 0 0 1 0 Destination (16-bit device) Big-endian 31 Byte 3 Source (general-purpose register) Byte 2 Byte 1 Byte 0 1 15 2 0 15 A[1:0]=00 Bus operation 0 0 A[1:0]=10 No. A1 A0 #WRH #WRL 15 Data bus Byte 3 Byte 2 1 0 0 0 0 2 Byte 1 Byte 0 0 0 0 1 0 Destination (16-bit device) Figure 4.7 Word Data Writing to a 16-bit Device Little-endian 31 Destination (general-purpose register) Byte 3 Byte 2 Byte 1 Byte 0 2 15 1 0 15 A[1:0]=10 Bus operation 0 0 A[1:0]=00 No. A1 A0 #WRH #WRL 15 Data bus 1 Byte 1 Byte 0 1 1 0 0 2 Byte 3 Byte 2 1 1 0 1 0 Source (16-bit device) Big-endian 31 Destination (general-purpose register) Byte 3 Byte 2 Byte 1 Byte 0 1 15 2 0 15 A[1:0]=00 Bus operation 0 0 A[1:0]=10 No. A1 A0 #WRH #WRL 15 Data bus Byte 3 Byte 2 1 1 1 0 0 Byte 1 Byte 0 2 1 1 0 1 0 Source (16-bit device) Figure 4.8 Word Data Reading from a 16-bit Device Little-endian 31 Byte 3 Source (general-purpose register) Byte 2 Byte 1 Byte 0 15 Bus operation 0 1 0 No. A1 A0 #WRH #WRL 15 Data bus 1 Byte 1 Byte 0 0 0 0 0 A[1:0]=0 Destination (16-bit device) Big-endian 31 Byte 3 Source (general-purpose register) Byte 2 Byte 1 Byte 0 15 Bus operation 0 1 0 No. A1 A0 #WRH #WRL 15 Data bus 1 Byte 1 Byte 0 0 0 0 0 A[1:0]=0 Destination (16-bit device) Figure 4.9 Half-word Data Writing to a 16-bit Device S1C33T01 FUNCTION PART EPSON B-II-4-15 II CORE BLOCK: BCU (Bus Control Unit) Little-endian 31 Destination (general-purpose register) Sign or Zero extension Byte 1 Byte 0 1 15 Bus operation 0 0 No. A1 A0 #WRH #WRL 15 Data bus 1 Byte 1 Byte 0 0 1 1 0 A[1:0]=0 Source (16-bit device) Big-endian 31 Destination (general-purpose register) Sign or Zero extension Byte 1 Byte 0 1 15 Bus operation 0 0 No. A1 A0 #WRH #WRL 15 Data bus Byte 1 Byte 0 1 0 1 1 0 A[1:0]=0 Source (16-bit device) Figure 4.10 Half-word Data Reading from a 16-bit Device Little-endian 31 Byte 3 Source (general-purpose register) Byte 2 Byte 1 Byte 0 1 15 A[1:0]=1 1' 0 Bus operation 0 No. A1 A0 #WRH #WRL 15 Data bus 0 1 Byte 0 Data retained 1 0 1 Data retained Byte 0 1' 0 1 0 A[1:0]=0 Destination (16-bit device) Big-endian 31 Byte 3 Source (general-purpose register) Byte 2 Byte 1 Byte 0 1 15 A[1:0]=0 1' 0 Bus operation 0 No. A1 A0 #WRH #WRL 15 Data bus 0 Byte 0 Data retained 1 1 0 0 Data retained Byte 0 1' 0 1 1 A[1:0]=1 Destination (16-bit device) Figure 4.11 Byte Data Writing to a 16-bit Device Little-endian Destination (general-purpose register) 0 Sign or Zero extension RD byte 31 1 15 A[1:0]=1 1' 0 A[1:0]=0 Bus operation No. A1 A0 #WRH #WRL 15 Data bus 0 1 RD byte Ignored 1 1 1 Ignored RD byte 1' 1 1 0 Source (16-bit device) Big-endian Destination (general-purpose register) 0 Sign or Zero extension RD byte 31 1 15 A[1:0]=0 1' 0 A[1:0]=1 Bus operation No. A1 A0 #WRH #WRL 15 Data bus 0 RD byte Ignored 1 1 1 0 Ignored RD byte 1' 1 1 1 Source (16-bit device) Figure 4.12 Byte Data Reading from a 16-bit Device Little-endian 31 Byte 3 Source (general-purpose register) Byte 2 Byte 1 Byte 0 4 8 0 8 A[1:0]=11 3 0 8 A[1:0]=10 2 0 8 A[1:0]=01 Bus operation 0 1 0 A[1:0]=00 Destination (8-bit device) No. A1 A0 #WRH #WRL 15 Data bus 1 Data retained Byte 0 0 X 0 0 2 Data retained Byte 1 0 X 1 0 3 Data retained Byte 2 0 X 0 1 4 Data retained Byte 3 0 X 1 1 (X: Not connected/Unused) Big-endian 31 Byte 3 Source (general-purpose register) Byte 2 Byte 1 Byte 0 1 8 A[1:0]=00 0 8 2 A[1:0]=01 0 8 3 0 8 A[1:0]=10 Destination (8-bit device) Figure 4.13 B-II-4-16 0 Bus operation 0 4 0 A[1:0]=11 No. A1 A0 #WRH #WRL 15 Data bus 0 1 Byte 3 Data retained 1 0 0 0 2 Byte 2 Data retained 1 0 1 0 3 Byte 1 Data retained 1 0 0 1 4 Byte 0 Data retained 1 0 1 1 Word Data Writing to an 8-bit Device EPSON S1C33T01 FUNCTION PART II CORE BLOCK: BCU (Bus Control Unit) Little-endian 31 8 Destination (general-purpose register) Byte 3 Byte 2 Byte 1 Byte 0 4 0 8 A[1:0]=11 3 0 8 A[1:0]=10 2 1 0 8 A[1:0]=01 Bus operation 0 0 A[1:0]=00 Source (8-bit device) No. A1 A0 #WRH #WRL 15 Data bus 1 Ignored Byte 0 1 X 0 0 2 Ignored Byte 1 1 X 1 0 3 Ignored Byte 2 1 X 0 1 4 Ignored Byte 3 1 X 1 1 (X: Not connected/Unused) Big-endian 31 8 0 Destination (general-purpose register) Byte 3 Byte 2 Byte 1 Byte 0 1 0 8 A[1:0]=00 2 0 8 A[1:0]=01 3 4 0 8 A[1:0]=10 0 A[1:0]=11 Source (8-bit device) Figure 4.14 Bus operation 0 No. A1 A0 #WRH #WRL 15 Data bus 0 1 Byte 3 Ignored 1 1 0 0 2 Byte 2 Ignored 1 1 1 0 3 Byte 1 Ignored 1 1 0 1 4 Byte 0 Ignored 1 1 1 1 Word Data Reading from an 8-bit Device Little-endian 31 Byte 3 Source (general-purpose register) Byte 2 Byte 1 Byte 0 8 2 1 0 8 A[1:0]=1 Bus operation 0 0 A[1:0]=0 Data bus No. A1 A0 #WRH #WRL 15 1 0 Data retained Byte 0 0 X Data retained Byte 1 2 1 0 X 0 (X: Not connected/Unused) Destination (8-bit device) Big-endian 31 Byte 3 Source (general-purpose register) Byte 2 Byte 1 Byte 0 8 1 2 0 8 A[1:0]=0 0 Bus operation 0 No. A1 A0 #WRH #WRL 15 Data bus 0 1 0 Byte 1 Data retained 0 0 2 1 Byte 0 Data retained 0 0 A[1:0]=1 (: Uniformly 1 or 0) Destination (8-bit device) Figure 4.15 Half-word Data Writing to an 8-bit Device Little-endian 31 Destination (general-purpose register) Sign or Zero extension Byte 1 Byte 0 8 2 0 8 A[1:0]=1 1 Bus operation 0 0 A[1:0]=0 No. A1 A0 #WRH #WRL 15 Data bus 1 0 Ignored Byte 0 1 X 2 1 Ignored Byte 1 1 X 0 (X: Not connected/Unused) Source (8-bit device) Big-endian 31 Destination (general-purpose register) Sign or Zero extension Byte 1 Byte 0 8 1 0 8 A[1:0]=0 0 0 Bus operation 0 No. A1 A0 #WRH #WRL 15 Data bus 0 1 0 Byte 1 Ignored 1 1 2 1 Byte 0 Ignored 1 1 A[1:0]=1 (: Uniformly 1 or 0) Source (8-bit device) Figure 4.16 Half-word Data Reading from an 8-bit Device Little-endian 31 Byte 3 Source (general-purpose register) Byte 2 Byte 1 Byte 0 8 1 Bus operation 0 0 No. A1 A0 #WRH #WRL 15 Data bus 1 Data retained Byte 0 X 0 0 A[1:0]= (X: Not connected/Unused) Destination (8-bit device) Big-endian 31 Byte 3 Source (general-purpose register) Byte 2 Byte 1 Byte 0 8 1 0 Bus operation 0 No. A1 A0 #WRH #WRL 15 Data bus 0 1 Byte 0 Data retained 0 1 A[1:0]= Destination (8-bit device) Figure 4.17 S1C33T01 FUNCTION PART Byte Data Writing to an 8-bit Device EPSON B-II-4-17 II CORE BLOCK: BCU (Bus Control Unit) Little-endian Destination (general-purpose register) Sign or Zero extension Byte 0 31 1 8 Bus operation 0 0 No. A1 A0 #WRH #WRL 15 Data bus 1 Ignored Byte 0 X 1 0 A[1:0]= (X: Not connected/Unused) Source (8-bit device) Big-endian Destination (general-purpose register) Sign or Zero extension Byte 0 31 1 8 0 Bus operation 0 No. A1 A0 #WRH #WRL 15 Data bus 0 Byte 0 Ignored 1 1 1 A[1:0]= Source (8-bit device) Figure 4.18 Byte Data Reading from an 8-bit Device Bus Clock The bus clock is generated by the BCU using the CPU system clock output from the clock generator. Figure 4.19 shows the clock system. To CPU #X2SPD pin PLLS[1:0] pins Bus clock CLKDT[1:0] CLKCHG CLG High-speed (OSC3) oscillation circuit BCU OSC3_CLK A 1/1~1/8 CPU_CLK 1/1 or 1/2 BCLKSEL[1:0] BCU_CLK BCLK pin PLL_CLK PLL Low-speed (OSC1) oscillation circuit OSC3_CLK (PLL: off) PLL_CLK (PLL: x2 mode) PLL_CLK (PLL: x4 mode) (when the CPU system clock source is OSC3) A CPU_CLK (CLKDT = 1/1) CPU_CLK (CLKDT = 1/2) CPU_CLK (CLKDT = 1/4) CPU_CLK (CLKDT = 1/8) CPU_CLK BCU_CLK(#X2SPD=H, x1 speed mode) 1 1 1 1 2 1 2 BCU_CLK(#X2SPD=L, x2 speed mode) 2 1 2 1 Access to the internal RAM 2 Access to the external memory Figure 4.19 B-II-4-18 Clock System EPSON S1C33T01 FUNCTION PART II CORE BLOCK: BCU (Bus Control Unit) Since the bus clock is generated from the CPU system clock (CPU_CLK), the following settings affect the bus clock: 1. Selection of an oscillation circuit (OSC3 or OSC1) 2. PLL configuration (OSC3_CLK x 1, x2 or x4) 3. CPU clock division ratio for power saving Items 2 and 3 apply when the high-speed (OSC3) oscillation circuit is selected as the CPU clock source. For details about the settings of the system clock, refer to "CLG (Clock Generator)". Bus clock operation during standby is as follows: Basic HALT mode: the BCU and bus clock continue operating. DRAM can be refreshed. HALT2 mode: the BCU and bus clock are stopped. SLEEP mode: the BCU and bus clock are stopped. Bus Speed Mode The CPU - bus clock ratio can be set using the #X2SPD pin as follows: When #X2SPD = High, x1 speed mode (CPU - bus clock ratio is 1 : 1) is set. The bus clock and the CPU system clock will be the same. When #X2SPD = Low, x2 speed mode (CPU - bus clock ratio is 2 : 1) is set. In x2 speed mode, the bus clock will be dynamically varied according to the memory to be accessed. * When an external memory area is accessed, the bus clock frequency becomes half of the CPU system clock. * When the internal RAM/ROM area is accessed, the bus clock frequency becomes equal to the CPU system clock. In x1 speed mode, area 1 (internal I/O area) is accessed in 4 cycles of the CPU system clock, while in x2 speed mode, the number of access cycles can be selected using A1X1MD (D3) / BCLK select register (0x4813A). When A1X1MD = "1", area 1 is accessed in 2 cycles of the CPU system clock. When A1X1MD = "0", area 1 is accessed in 4 cycles of the CPU system clock. (default) Note: The x1 speed mode can be set up for each area in cases where the #X2SPD pin has been set low by setting AxxBS (D[7:0]) in the bus speed setting register (0x4813E). Bus Clock Output The bus clock is also output from the BCLK pin to an external device. The BCLK output clock can be selected from among four types using BCLKSEL[1:0] (D[1:0]) / BCLK select register (0x4813A). Table 4.14 S1C33T01 FUNCTION PART Selection of BCLK Output Clock BCLKSEL1 BCLKSEL0 1 1 0 0 1 0 1 0 Output clock PLL_CLK (PLL output clock) OSC3_CLK (OSC3 oscillation clock) BCU_CLK (BCU operating clock) CPU_CLK (CPU operating clock) EPSON B-II-4-19 II CORE BLOCK: BCU (Bus Control Unit) Bus Cycles in External System Interface The following shows a sample SRAM connection the basic bus cycles. S1C33 SRAM S1C33 SRAM S1C33 SRAM A[9:1] D[15:0] A[8:0] I/O[15:0] A[9:1] D[15:0] A[8:0] I/O[15:0] A[9:1] D[15:0] A[8:0] I/O[15:0] #RD #WRH #WRL #CE #RD #WRH #WRL #CE A0 #WRH #WRL #CE #RD #LB #UB #WE #OS #OE A0 #WRH #WRL #CE #RD #LB #UB #WE #OS #OE (1) A0 system (little endian/big endian) (2) #BSL system (little endian) Figure 4.20 (3) #BSL system (big endian) Sample DRAM Connection SRAM Read Cycles Basic read cycle with no wait mode C1 BCLK addr A[23:0] #CExx ;; ;; D[15:0] #RD ;;; ;;; data #WAIT Figure 4.21 Basic Read Cycle with No Wait Read cycle with wait mode Example: When the BCU has no internal wait mode and 2 wait cycles via #WAIT pin are inserted C1 CW BCLK addr A[23:0] #CExx D[15:0] #RD #WAIT CW ;;; ;;; ;;;;;;;;;;;;;; ;;;;;;;;;;;;;; ;;;;; ;;;;;;;;;;; ;;;;;;;;;;; ;;;;; ;;;;; ;;;;; data Figure 4.22 Read Cycle with Wait The #WAIT signal is sampled at the falling edge of the transition of BCLK (bus clock) and when it is sampled on an inactive (high level), the read cycle is terminated. Note: Insertion of wait cycles via the #WAIT pin is possible only when the device for bus conditions is set for SRAM, and SWAIT (D0) / Bus control register (0x4812E) is enabled for waiting. B-II-4-20 EPSON S1C33T01 FUNCTION PART II CORE BLOCK: BCU (Bus Control Unit) The above example shows a read cycle when a wait mode is inserted via the #WAIT signal. A wait mode consisting of 0 to 7 cycles can also be inserted using the wait control bits. The settings of these bits can also be used in combination with the #WAIT signal. In this case as well, the #WAIT signal is sampled at the falling edge of the transition of BCLK. However, even when the #WAIT signal is inactive before the wait cycles set by the wait control bits are terminated, the read cycle is not terminated at that time. Precaution #CE and address hold times at the rising edge of the #RD signal In read cycles of this BCU, the rise of the #RD signal, negating the chip enable (#CExx) signal and changing the address (A[23:0]) occur simultaneously at the same clock edge. No hold time is inserted to the chip enable and address signals. The same applies even when an output disable delay time is inserted. Therefore when connecting a peripheral circuit, which changes its internal state by reading, to the bus, take a measure to insert a delay to the address and chip enable signals. BCLK addr A[23:0] #CE4 #CE7 #RD Hazard occurrence. This hazard causes an erroneous RD operation on the next area. Figure 4.23 Trouble Case Output disable cycle When an output disable cycle (set with output disable delay time parameter) is inserted, the chip enable (#CExx) signal temporarily goes high. This makes an interval between the next read cycle. Note, however, that no output disable cycle is inserted when reading is continuously performed to the area that is accessed with the same chip enable signal. S1C33T01 FUNCTION PART EPSON B-II-4-21 II CORE BLOCK: BCU (Bus Control Unit) SRAM Write Cycles Basic write cycle with no wait mode C1 C2 BCLK ;;; ;;; addr A[23:0] #CExx data D[15:0] #WRH/#WRL #WAIT #WR #BSL/#BSH Figure 4.24 C1 Half-word Write Cycle with No Wait C2 C3 C4 BCLK ;;; ;;; addr A[23:0] #CExx #WRH #WRL D[15:8] Undefined Valid D[7:0] Valid Undefined Figure 4.25 Byte Write Cycle with No Wait (A0 system, little endian) C1 C2 C3 C4 BCLK ;;; ;;; addr A[23:0] #CExx #BSH #BSL #WRL D[15:8] Undefined Valid D[7:0] Valid Undefined Figure 4.26 B-II-4-22 Byte Write Cycle with No Wait (#BSL system, little endian) EPSON S1C33T01 FUNCTION PART II CORE BLOCK: BCU (Bus Control Unit) Write cycle with wait mode Example: When the BCU has no internal wait mode, and 1 wait cycle is inserted via the #WAIT pin C1 CW C2 BCLK ;;; ;;; addr A[23:0] #CExx data D[15:0] #WRH/#WRL #WAIT #WR #BSL/#BSH Figure 4.27 Half-word Write Cycle with Wait The #WAIT signal is sampled at the falling edge of the transition of BCLK (bus clock), and the write cycle is terminated in the cycle immediately following the cycle in which the #WAIT signal was sampled in an inactive (high level). Note: Insertion of wait cycles via the #WAIT pin is possible only when the device for bus conditions is set to SRAM and SWAIT (D0) / Bus control register (0x4812E) is enabled for waiting. The above example shows a write cycle when a wait mode is inserted via the #WAIT signal. A wait mode consisting of 2 to 7 cycles can also be inserted using the wait control bits. The settings of these bits also can be used in combination with the #WAIT signal. In this case as well, the #WAIT signal is sampled at the falling edge of the transition of BCLK. However, even when the #WAIT signal is inactive before the wait cycles set by the wait control bits are terminated, the write cycle is not terminated at that time. Note: The basic write cycle consists of at least two cycles. This does not change regardless of whether zero or one wait cycle is set by the wait control bits. If the number of wait cycles set is 2 or more, the bus cycle is actually extended. In this case, the bus write cycle consists of [number of wait cycles + 1], as in the case of read cycles (providing that there is no external wait). S1C33T01 FUNCTION PART EPSON B-II-4-23 II CORE BLOCK: BCU (Bus Control Unit) Burst ROM Read Cycles Burst read cycle Example: When 4-consecutive-burst and 2-wait cycles are set during the first access BCLK addr[23:2] A[23:2] A[1:0] #CE10(9) D[15:0] #RD "00" "01" "10" "11" ;;; ;;; ;;; ;;; ;;;;;;;;;;;;;; IR0 ;;;; IR1 ;;;; IR2 ;;;; IR3 ;;;;;;;;;;;;;; ;;;; ;;;; ;;;; Figure 4.28 Burst Read Cycle A burst read cycle occurs when area 10 or 9 is set for burst ROM and one of those areas is accessed for the following reasons: 1) Instruction fetch The burst read cycle is executed as long as a instruction fetch from contiguous addresses continues until A[2:1] = "11" (for 4-consecutive bursts); or A[3:1] = "111" (for 8-consecutive bursts) 2) Word (32-bit) data readout Note: A 16-bit output is supported for the burst ROM. Set the device size to 16 bits. Wait cycles during burst read In the first bus operation, 0 to 7 wait cycles can be inserted using the wait control bits A10WT[2:0] (D[2:0]) / Areas 10-9 set-up register (0x48126) in the same way as for ordinary SRAM. For the wait cycles to be inserted in the burst cycle that follows, use a dedicated wait control bits, A10BW[1:0], which is only used for reading bursts. The wait cycles can be set in the range from 0 to 3 using these bits. Note that no wait cycle via the #WAIT pin can be inserted into the burst-read cycle. Write cycle to burst ROM area If area 10 or 9 is set for burst ROM, a SRAM write cycle is executed when a write to that area is attempted. In this case, wait cycles via the #WAIT pin can be inserted. B-II-4-24 EPSON S1C33T01 FUNCTION PART II CORE BLOCK: BCU (Bus Control Unit) DRAM Direct Interface Outline of DRAM Interface The BCU incorporates a DRAM direct interface that allows DRAM to be connected directly to areas 8 and 7 or areas 14 and 13. This interface supports the 2CAS method, so that column addresses can be set at between 8 and 11 bits. In addition, this interface supports a fast-page or an EDO-page mode (EDO DRAM directly connectable to areas) as well as random cycles. The refresh method (CAS-before-RAS refresh or self-refresh) and timing conditions (e.g., number of RAS/CAS cycles and number of precharge cycles) can be programmed using a control bit. When selecting areas 8 and 7 or areas 14 and 13 to be used for DRAM, it depends on chip-enable settings using CEFUNC (D9) / DRAM timing set-up register (0x48130). CEFUNC = "00": DRAM can be connected to areas 8 and 7 (default) #CE8 and #CE7 function as #RAS0 and #RAS1, respectively. CEFUNC "00": DRAM can be connected to areas 14 and 13. #CE14 and #CE13 function as #RAS2 and #RAS3, respectively. Figure 4.29 shows a sample DRAM connection. Table 4.15 and Table 4.16 show examples of connectable DRAMs and typical configurations. S1C33 4M DRAM (256K x 16) A[9:1] D[15:0] A[8:0] I/O[15:0] #RD #RASx(#CEx)* #HCAS #LCAS #WE #OE #RAS #HCAS #LCAS #WE x: 14, 13, 8 or 7 Figure 4.29 Table 4.15 DRAM 1M (64K x 16) 4M (256K x 16) 16M (1M x 16) Number of Row bits Number of Column bits Memory size 1 1 1 8 9 12 8 9 8 128K bytes 512K bytes 2M bytes DRAM Configuration Example (areas 7 and 8 only) Area 7 S1C33T01 FUNCTION PART Connectable DRAM Example Number of devices Table 4.16 1 2 3 4 5 6 Sample DRAM Connection I/O I/O I/O DRAM (1M) DRAM (4M) DRAM (16M) Area 8 DRAM DRAM DRAM DRAM DRAM DRAM (1M) (4M) (16M) (1M) (4M) (16M) EPSON Total memory size 1M bits 4M bits 16M bits 2M bits 8M bits 32M bits (128K bytes) (512K bytes) (2M bytes) (256K bytes) (1M bytes) (4M bytes) B-II-4-25 II CORE BLOCK: BCU (Bus Control Unit) DRAM Setting Conditions The DRAM interface allows the following conditions to be selected. Although DRAM can be used in areas 8 and 7 or areas 14 and 13, these condition are applied to all four areas and cannot be set individually for each area. Table 4.17 Parameter Selectable condition DRAM Interface Parameters Initial setting Control bits Page mode EDO page mode or Fast page mode Fast page mode REDO(DC)/Bus control register(0x4812E) RAS mode Successive RAS mode or Normal mode Normal mode Column address size 8, 9, 10 or 11 bits 8 bits RCA[1:0](D[B:A])/Bus control register(0x4812E) Refresh enable Enabled or Disabled Disabled RPC2(D9)/Bus control register(0x4812E) Refresh method Self-refresh or CBR refresh CBR refresh RPC1(D8)/Bus control register(0x4812E) CRAS(D8)/DRAM timing set-up register(0x48130) Refresh RPC delay 2.0 or 1.0 1.0 RPC0(D7)/Bus control register(0x4812E) Refresh RAS pulse width 2, 3, 4 or 5 cycles 2 cycles RRA[1:0](D[6:5])/Bus control register(0x4812E) Number of RAS precharge cycles 1, 2, 3 or 4 cycles 1 cycle RPRC[1:0](D[7:6])/DRAM timing set-up register(0x48130) CAS cycle control 1, 2, 3 or 4 cycles 1 cycle CASC[1:0](D[4:3])/DRAM timing set-up register(0x48130) RAS cycle control 1, 2, 3 or 4 cycles 1 cycle RASC[1:0](D[1:0])/DRAM timing set-up register(0x48130) Page mode The DRAM interface allows EDO DRAM to be connected directly. Therefore, the EDO-page mode is supported along with the fast-page mode. Use REDO to choose the desired page mode that suits the DRAM to be used. REDO = "1": EDO page mode REDO = "0": Fast page mode (default) Successive RAS mode For applications that require high-speed DRAM access, the DRAM interface supports a successive RAS mode. In this mode, even when successive accesses to the DRAM are not requested by the CPU or DMA, the #RAS signal is kept low and operation is continued without inserting any precharge cycle. Therefore, when accessing the same page (row address) of the DRAM that has been accessed previously, the page mode remains active, allowing read/write to be performed at high speeds. However, to maintain the rated AC characteristics, one idle cycle is inserted when access in the page mode is begun and when finished. CRAS is used to set the successive RAS mode. CRAS = "1": Successive RAS mode CRAS = "0": Normal mode (default) The successive RAS mode is suspended by one of the following causes: * a refresh cycle has occurred; * bus control is requested by an external bus master; * the requested device and page are not compatible with DRAM memory; and * the slp or halt instruction is executed. If the successive RAS mode is suspended, a precharge cycle is inserted before the next bus cycle begins. Note: When using the successive RAS mode, always be sure to use #DRD for the read signal and #DWE for the low-byte write signal. B-II-4-26 EPSON S1C33T01 FUNCTION PART II CORE BLOCK: BCU (Bus Control Unit) Column address size When accessing DRAM, addresses are divided into a row address and a column address as they are output. Choose the size of this column address using RCA, as shown below. Table 4.18 Column Address Size RCA1 RCA0 Column address size 1 1 0 0 1 0 1 0 11 10 9 8 The initial default size is 8 bits. Choose the desired size according to the address input pins of the DRAM to be used. The row addresses output synchronously with falling edges of the #RAS signal are derived from the CPU's internal 28-bit addresses by logically shifting them to the right by an amount equal to the column address size. The MSB contains a 1. The column addresses are output to the address bus along with the falling edges of the #CAS signal. These addresses are derived directly from the CPU's internal 28-bit addresses. Figure 4.30 shows the contents of the row addresses thus output. 28-bit CPU internal address 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 (1) Row address when column address is set to 8 bits T T T T T T T T 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 (2) Row address when column address is set to 9 bits T T T T T T T T T 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 (3) Row address when column address is set to 10 bits T T T T T T T T T T 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 (4) Row address when column address is set to 11 bits T T T T T T T T T T T 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 T = "1", 0-27: Bit number of CPU internal address Figure 4.30 Example of Row/Column Address Mapping Refresh enable Use RPC2 to enable or disable the internal refresh function. RPC2 = "1": Enabled RPC2 = "0": Disabled (default) After choosing the desired refresh method using RPC1, write "1" to RPC2. Refresh method The DRAM interface supports both a CAS-before-RAS refresh cycle and a self-refresh cycle. Choose the desired method using RPC1. RPC1 = "1": Self-refresh RPC1 = "0": CAS-before-RAS refresh The generation interval of the CAS-before-RAS refresh is determined by the underflow signal of an 8-bit programmable timer 0. Consequently, before the CAS-before-RAS refresh can be executed, the 8-bit programmable timer 0 must be set to obtain the necessary underflow timing. When this method is selected and RPC2 is enabled, the refresh cycle is generated each time the 8-bit programmable timer 0 underflows. The self-refresh is started by writing "1" to RPC2 while RPC1 = "1" and is terminated by clearing RPC1 or RPC2 to "0". If RPC1 is switched over when RPC2 = "1" (refresh enabled), an undesirable self-refresh cycle is generated. So be sure to clear RPC2 to "0" (refresh disabled) before selecting the refresh method. S1C33T01 FUNCTION PART EPSON B-II-4-27 II CORE BLOCK: BCU (Bus Control Unit) Refresh RPC delay Use RPC0 to set the RPC delay value of a refresh cycle (a delay time from the immediately preceding precharge to the fall of #CAS). RPC0 = "1": 2 cycles RPC0 = "0": 1 cycle Refresh RAS pulse width Use RRA to set the #RAS pulse width of a CAS-before-RAS refresh cycle. Table 4.19 Refresh RAS Pulse Width RRA1 RRA0 1 1 0 0 1 0 1 0 Pulse width 5 4 3 2 cycles cycles cycles cycles The initial default value is 2 cycles. Number of RAS precharge cycles Use RPRC to choose the number of RAS precharge cycles. Table 4.20 Number of RAS Precharge Cycles RPRC1 RPRC0 Number of cycles 1 1 0 0 1 0 1 0 4 cycles 3 cycles 2 cycles 1 cycle The initial default value is 1 cycle. CAS cycle control Use CASC to choose the number of CAS cycles when accessing DRAM. Table 4.21 Number of CAS Cycles CASC1 CASC0 Number of cycles 1 1 0 0 1 0 1 0 4 cycles 3 cycles 2 cycles 1 cycle The initial default value is 1 cycle. RAS cycle control Use RASC to choose the number of RAS cycles when accessing DRAM. Table 4.22 Number of RAS Cycles RASC1 RASC0 Number of cycles 1 1 0 0 1 0 1 0 4 cycles 3 cycles 2 cycles 1 cycle The initial default value is 1 cycle. B-II-4-28 EPSON S1C33T01 FUNCTION PART II CORE BLOCK: BCU (Bus Control Unit) DRAM Read/Write Cycles The following shows the basic bus cycles of DRAM. The DRAM interface does not accept wait cycles inserted via the #WAIT pin. DRAM random read cycle Example: RAS: 1 cycle; CAS: 2 cycles; Precharge: 1 cycle RAS cycle Precharge cycle CAS cycle BCLK A[11:0] ROW ;;;;;;; ;;;;;;; COL #RASx #HCAS/ #LCAS #RD D[15:0] ;;;;;;;;;;;;; ;;;;;;;;;;;;; Figure 4.31 data DRAM Random Read Cycle ;;;; ;;;; DRAM read cycle (fast page mode) Example: RAS: 1 cycle; CAS: 2 cycles; Precharge: 1 cycle RAS cycle CAS cycle #1 BCLK A[11:0] ROW Precharge cycle CAS cycle #2 COL #1 COL #2 #RASx ;;;;;;; ;;;;;;; #HCAS/ #LCAS #RD D[15:0] ;;;;;;;;;;;;; ;;;;;;;;;;;;; Figure 4.32 ;;;;;;;;; ;;;;;;;;; data ;;;; ;;;; data DRAM Read Cycle (fast page mode) DRAM read cycle (EDO page mode) Example: RAS: 1 cycle; CAS: 2 cycles; Precharge: 1 cycle RAS cycle CAS cycle #1 CAS cycle #2 BCLK A[11:0] ROW COL #1 COL #2 #RASx Precharge cycle ;;;;;;; ;;;;;;; #HCAS/ #LCAS #RD D[15:0] ;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;; Figure 4.33 data ;;;;;;;;; ;;;;;;;;; DRAM Read Cycle (EDO page mode) data ;; ;; The read timing in EDO page-mode lags 0.5 cycles behind that in fast page mode. S1C33T01 FUNCTION PART EPSON B-II-4-29 II CORE BLOCK: BCU (Bus Control Unit) DRAM random write cycle Example: RAS: 1 cycle; CAS: 2 cycles; Precharge: 1 cycle RAS cycle CAS cycle BCLK ROW A[11:0] COL #RASx Precharge cycle ;;;;;;; ;;;;;;; #HCAS/ #LCAS #WE write data D[15:0] Figure 4.34 ;;;;; ;;;;; 2CAS Type DRAM Random Write Cycle DRAM write cycle (fast page or EDO page mode) Example: RAS: 1 cycle; CAS: 2 cycles; Precharge: 1 cycle; word-write sample RAS cycle CAS cycle #1 Precharge cycle CAS cycle #2 BCLK A[11:0] ROW COL #1 ;;;;;;; ;;;;;;; COL #2 #RASx #HCAS/ #LCAS #WE write data D[15:0] Figure 4.35 write data DRAM Word-Write Cycle (fast page or EDO page mode) ;;;;; ;;;;; Example: RAS: 1 cycle; CAS: 2 cycles; Precharge: 1 cycle; byte-write sample (little endian) RAS cycle CAS cycle #1 Precharge cycle CAS cycle #2 BCLK A[11:0] ROW ;;;;;;; ;;;;;;; COL #RASx #HCAS #LCAS #WE D[15:8] Undefined write data D[7:0] write data Undefined Figure 4.36 B-II-4-30 DRAM Byte-Write Cycle (fast page or EDO page mode) EPSON ;;;;; ;;;;; ;;;;; ;;;;; S1C33T01 FUNCTION PART II CORE BLOCK: BCU (Bus Control Unit) Operation in successive RAS mode Example: RAS: 2 cycles; CAS: 1 cycle; Precharge: 2 cycles (1) RAS cycle CAS cycles in page mode (2) (3) Deassert cycle Assert cycle (4) CAS cycles in page mode Precharge cycle RAS cycle CAS cycles BCLK A[11:0] #RASx #HCAS/ #LCAS #DRD #DWE Accsess to other device than DRAM Figure 4.37 Not asserted for areas other than DRAM Operation in Successive RAS Mode (1) When accessing the DRAM area, an ordinary RAS cycle is executed first. (2) If access to the same DRAM is suspended during a page mode, #RASx remains asserted while some other device is accessed. In this case, a cycle to temporarily deassert #DRD/#DWE is inserted before accessing the other device. (3) If access to the same page in the same DRAM area as in (1) is requested after (2), #DRD/#DWE is asserted back again to restart the page mode. (4) A precharge cycle is executed when one of the following conditions that cause the page mode to suspend is encountered: * access to different DRAM is requested; * access to a different page in the same DRAM area is requested; * access to some other device than DRAM is requested; * CAS-before-RAS refresh is requested; and * relinquishing of bus control is requested by an external bus master. Note: When using the successive RAS mode, always be sure to use #DRD for the read signal and #DWE for the low-byte write signal. S1C33T01 FUNCTION PART EPSON B-II-4-31 II CORE BLOCK: BCU (Bus Control Unit) DRAM Refresh Cycles The DRAM interface supports a CAS-before-RAS refresh cycle and a self-refresh cycle. CAS-before-RAS refresh cycle Before performing a CAS-before-RAS refresh, set RPC2 to "1" while RPC1 = "0" in order to enable the DRAM refresh function. Once this is done, the BCU executes a CAS-before-RAS refresh by using the underflow signal that is output by the 8-bit programmable timer 0 as a trigger. Therefore, refresh generation timing can be programmed using the internal prescaler and 8-bit programmable timer 0. For details on how to control the prescaler and 8-bit programmable timer 0, refer to "Prescaler and Operating Clock for Peripheral Circuits", and "8-Bit Programmable Timers". Example: RPC delay: 1 cycle; Refresh RAS pulse width: 2 cycles; Precharge: 1 cycle CAS-before-RAS refresh cycle BCLK #RAS ;;;;;;; ;;;;;;; ;;;; ;;;; #HCAS/ #LCAS Refresh RPC delay Fixed at 1 cycle Figure 4.38 Refresh RPC pulse width Precharge cycle CAS-Before-RAS Refresh When the refresh cycle is terminated, the #HCAS/#LCAS signal boot timing is 0.5 cycles before that of #RAS. Consequently, the pulse width of #HCAS/#LCAS is determined by the refresh RAS pulse width that was set using RRA. The number of precharge cycles after the refresh cycle is defined by the value that was set using RPRC, the same value that is used for both random cycles and page mode accesses. Self-refresh To support DRAM chips equipped with a self-refresh function, the BCU has a function to generate a selfrefresh cycle. To start a self-refresh cycle, set RPC2 to "1" after setting RPC1 to "1". To deactivate a self-refresh cycle, write "0" to RPC1 or RPC2. Example: RPC delay: 1 cycle Self-refresh mode set up BCLK #RAS Self-refresh mode Self-refresh mode deactivation ;;;;;;; ;;;;;;; ;;;; ;;;; #HCAS/ #LCAS Refresh RPC delay Fixed at 1 cycle Precharge cycle (6 cycles) Figure 4.39 Self-Refresh For a self-refresh function as well, the RPC delay is determined by setting RPC0 in the same way as for a CAS-before-RAS refresh. The refresh RAS pulse width is determined by the timing at which the refresh is deactivated in software and is unaffected by settings of RRA. #RAS and #HCAS/#LCAS are booted up simultaneously upon completion of a self-refresh and the precharge duration that follows is fixed at 6 cycles. B-II-4-32 EPSON S1C33T01 FUNCTION PART II CORE BLOCK: BCU (Bus Control Unit) Normally, DRAM specifications require that the contents of all row addresses be refreshed within a certain time before and after a self-refresh. To meet this requirement, make sure a CAS-before-RAS refresh is executed by a program. In this case, set the 8-bit programmable timer 0 so that the contents of all row addresses are refreshed within a predetermined time. Note: If read from or write to the DRAM under a self-refresh is attempted, the BCU keeps #RAS and #HCAS/#LCAS low as it executes a read/write cycle. Other bus signals than #RAS and #HCAS/#LCAS (e.g., address, data, and control signals) change their state according to the specified conditions. Since said attempt initiates an invalid access to the DRAM, do not read from or write to the DRAM during a self-refresh. Releasing External Bus The external bus is normally controlled by the CPU, but the BCU is designed to release control of the bus ownership to an external device. This function is enabled by writing "1" to SEMAS (D2) / Bus control register (0x4812E) (disabled by default). The #BUSREQ (P34) and #BUSACK (P35) pins are used for control of the bus ownership. To direct the P34 and P35 pins for input/output of the #BUSREQ and #BUSACK signals, write "1" to CFP34 (D4) and CFP35 (D5) / P3 function select register (0x402DC [Byte]). Sequence in which control of the bus is released This sequence is described below. 1. The external bus master device requesting control of the bus ownership lowers the #BUSREQ pin. 2. The CPU keeps monitoring the status of the #BUSREQ pin, so that when this pin is lower, the CPU terminates the bus cycle being executed and places the signals listed below in high-impedance state one cycle later: A[23:0], D[15:0], #RD, #WRL, #WRH, #HCAS, #LCAS, #CExx Then the CPU lowers the #BUSACK pin to inform the external device that control of the bus ownership has been released. 3. One cycle later, the external bus starts its own bus cycle. The external bus master must hold the #BUSREQ pin low until the bus cycle is completed. 4. After completing the necessary bus cycles, the external bus master places the bus in high-impedance state and releases the #BUSREQ pin back high. 5. After confirming that the #BUSREQ pin is raised again, the CPU raises the #BUSACK pin one cycle later and resumes the processing that has been suspended. BCLK Synchronization #BUSREQ Synchronization #BUSACK The S1C33 terminates the bus cycle being executed. 1 cycle 1 cycle The external bus master controls bus cycles. 1 cycle The S1C33 controls bus cycles. D[15:0] Hi-Z A[23:0] #RD, #WR Figure 4.40 External Bus Release Timing If control of the bus ownership is requested during a DMA transfer by the internal DMA controller, the DMA transfer under way is suspended at a break in data to accept the request for bus ownership control. The DMA transfer that has been kept pending is restarted when the CPU gains control of the bus ownership. S1C33T01 FUNCTION PART EPSON B-II-4-33 II CORE BLOCK: BCU (Bus Control Unit) DRAM refresh when bus ownership control is released In systems where DRAM is connected directly, a refresh request could arise while control of the bus ownership is released from the CPU. In such a case, take one of the corrective measures described below. * Monitoring the output signal of the 8-bit programmable timer 0 The underflow signal (DRAM refresh request) of the 8-bit programmable timer 0 can be output from the P10 I/O port pin. If a refresh request arises while the external bus master is monitoring this output, release #BUSREQ back high to drop the request for bus ownership control. Start a DRAM refresh cycle when control of the bus ownership is returned to the CPU. To direct the P10 pin in order to output the underflow signal of the 8-bit programmable timer 0, write "1" to CFP10 (D0) / P1 function select register (0x402D4 [Byte]) and IOC10 (D0) / P1 I/O control register (0x402D6 [Byte]). Also, to output the underflow signal to an external device, write "1" to PTOUT0 (D2) / 8-bit Timer 0 control register (0x40160 [Byte]). For details about output control, refer to "8-Bit Programmable Timers". * Monitoring the #BUSGET signal The #BUSGET signal can be output from the P31 I/O port pin. The #BUSGET signal is derived from logical sum of the following signals: 1. DRAM refresh request signal (output from the 8-bit programmable timer 0) 2. Interrupt request signal from the interrupt controller to the CPU 3. Startup request signal from the interrupt controller to the IDMA If the #BUSGET signal is found to be active when the external bus master is monitoring it, release #BUSREQ back high to drop the request for bus ownership control. When using the #BUSGET signal to only monitor a refresh request, set the interrupt controller in such a way that no interrupt request or IDMA startup request will be generated. To direct the P31 pin for output of the #BUSGET signal, write "1" to CFP31 (D1) / P3 function select register (0x402DC [Byte]) and CFEX3 (D3) / Port function extension register (0x402DF [Byte]). Power-down Control by External Device In addition to requesting the releasing of bus ownership control described above, it is possible to place the CPU in a HALT state by using the #BUSREQ signal. This allows the CPU to be stopped during bus operation by an external bus master in order to conserve power. This function is enabled by writing "1" to SEPD (D1) / Bus control register (0x4812E). If SEPD = "1", the CPU and the BCU stop operating when the #BUSREQ pin is lowered, thus entering a HALT state. This HALT state is not cleared by an interrupt from the internal peripheral circuits and remains set until the #BUSREQ pin is released back high. Unlike in the case of ordinary releasing of the bus by #BUSREQ, the address bus and bus control signals are not placed in high-impedance state. For a DRAM refresh request that may arise in this HALT state, take one of the corrective measures described above. B-II-4-34 EPSON S1C33T01 FUNCTION PART II CORE BLOCK: BCU (Bus Control Unit) I/O Memory of BCU Table 4.23 shows the control bits of the BCU. These I/O memories are mapped into the area (0x48000 and following addresses) used for the internal 16-bit peripheral circuits. However, these I/O memories can be accessed in bytes or words, as well as in half-words. For the control bits of the external system interface pins assigned to the I/O ports, and for details on how to control the 8-bit programmable timer 0 in order to generate a DRAM refresh cycle, refer to each corresponding section in this manual. Table 4.23 Register name Address Bit Name Areas 18-15 0048120 set-up register (HW) DF DE DD DC - A18SZ A18DF1 A18DF0 DB DA D9 D8 - A18WT2 A18WT1 A18WT0 D7 D6 D5 D4 - A16SZ A16DF1 A16DF0 D3 D2 D1 D0 - A16WT2 A16WT1 A16WT0 DF-9 D8 D7 D6 D5 D4 D3 D2 D1 D0 Areas 14-13 0048122 set-up register (HW) S1C33T01 FUNCTION PART Control Bits of External System Interface Function Setting Init. R/W Remarks reserved - Areas 18-17 device size selection 1 8 bits 0 16 bits Areas 18-17 A18DF[1:0] Number of cycles 1 1 3.5 output disable delay time 1 0 2.5 0 1 1.5 0 0 0.5 - reserved A18WT[2:0] Wait cycles Areas 18-17 wait control 1 1 1 7 1 1 0 6 1 0 1 5 1 0 0 4 0 1 1 3 0 1 0 2 0 0 1 1 0 0 0 0 - reserved Areas 16-15 device size selection 1 8 bits 0 16 bits Areas 16-15 A16DF[1:0] Number of cycles 1 1 3.5 output disable delay time 1 0 2.5 0 1 1.5 0 0 0.5 - reserved A16WT[2:0] Wait cycles Areas 16-15 wait control 1 1 1 7 1 1 0 6 1 0 1 5 1 0 0 4 0 1 1 3 0 1 0 2 0 0 1 1 0 0 0 0 - 0 1 1 - 0 when being read. R/W R/W - 1 1 1 - 0 when being read. R/W - 0 1 1 - 0 when being read. R/W R/W - 1 1 1 - 0 when being read. R/W - A14DRA A13DRA A14SZ A14DF1 A14DF0 reserved Area 14 DRAM selection Area 13 DRAM selection Areas 14-13 device size selection Areas 14-13 output disable delay time - 0 0 0 1 1 - 0 when being read. R/W R/W R/W R/W - A14WT2 A14WT1 A14WT0 reserved Areas 14-13 wait control - 1 1 1 - 0 when being read. R/W EPSON - 1 Used 0 Not used 1 Used 0 Not used 1 8 bits 0 16 bits A14DF[1:0] Number of cycles 1 1 3.5 1 0 2.5 0 1 1.5 0 0 0.5 - A14WT[2:0] Wait cycles 1 1 1 7 1 1 0 6 1 0 1 5 1 0 0 4 0 1 1 3 0 1 0 2 0 0 1 1 0 0 0 0 B-II-4-35 II CORE BLOCK: BCU (Bus Control Unit) Table 4.23 Control Bits of External System Interface (continue) Register name Address Bit Areas 12-11 0048124 set-up register (HW) DF-7 D6 D5 D4 - A12SZ A12DF1 A12DF0 D3 D2 D1 D0 - A12WT2 A12WT1 A12WT0 DF DE DD DC - A10IR2 A10IR1 A10IR0 DB DA D9 - A10BW1 A10BW0 D8 D7 D6 D5 D4 A10DRA A9DRA A10SZ A10DF1 A10DF0 D3 D2 D1 D0 - A10WT2 A10WT1 A10WT0 DF-9 D8 D7 D6 D5 D4 D3 D2 D1 D0 Areas 10-9 0048126 set-up register (HW) Areas 8-7 0048128 set-up register (HW) B-II-4-36 Name Function Setting Init. R/W Remarks reserved - Areas 12-11 device size selection 1 8 bits 0 16 bits Areas 12-11 A18DF[1:0] Number of cycles 1 1 3.5 output disable delay time 1 0 2.5 0 1 1.5 0 0 0.5 reserved - Areas 12-11 wait control A18WT[2:0] Wait cycles 1 1 1 7 1 1 0 6 1 0 1 5 1 0 0 4 0 1 1 3 0 1 0 2 0 0 1 1 0 0 0 0 - 0 1 1 - 0 when being read. R/W R/W - 1 1 1 - 0 when being read. R/W reserved - ROM size Area 10 internal ROM wait control A10IR[2:0] 1 1 1 2MB Area 10 internal ROM size 1 1 0 1MB selection 1 0 1 512KB 1 0 0 256KB 0 1 1 128KB 0 1 0 64KB 0 0 1 32KB 0 0 0 16KB - reserved A10BW[1:0] Wait cycles Areas 10-9 1 1 3 burst ROM 1 0 2 burst read cycle wait control 0 1 1 0 0 0 1 Used 0 Not used Area 10 burst ROM selection 1 Used 0 Not used Area 9 burst ROM selection Areas 10-9 device size selection 1 8 bits 0 16 bits Areas 10-9 A10DF[1:0] Number of cycles 1 1 3.5 output disable delay time 1 0 2.5 0 1 1.5 0 0 0.5 - reserved A10WT[2:0] Wait cycles Areas 10-9 wait control 1 1 1 7 1 1 0 6 1 0 1 5 1 0 0 4 0 1 1 3 0 1 0 2 0 0 1 1 0 0 0 0 - 1 1 1 - 0 when being read. R/W - 0 0 - 0 when being read. R/W 0 0 0 1 1 R/W R/W R/W R/W - 1 1 1 - 0 when being read. R/W - A8DRA A7DRA A8SZ A8DF1 A8DF0 reserved Area 8 DRAM selection Area 7 DRAM selection Areas 8-7 device size selection Areas 8-7 output disable delay time - 0 0 0 1 1 - 0 when being read. R/W R/W R/W R/W - A8WT2 A8WT1 A8WT0 reserved Areas 8-7 wait control - 1 1 1 - 0 when being read. R/W EPSON - 1 Used 1 Used 1 8 bits A8DF[1:0] 1 1 1 0 0 1 0 0 0 Not used 0 Not used 0 16 bits Number of cycles 3.5 2.5 1.5 0.5 - A8WT[2:0] Wait cycles 1 1 1 7 1 1 0 6 1 0 1 5 1 0 0 4 0 1 1 3 0 1 0 2 0 0 1 1 0 0 0 0 S1C33T01 FUNCTION PART II CORE BLOCK: BCU (Bus Control Unit) Table 4.23 Control Bits of External System Interface (continue) Register name Address Bit Name Areas 6-4 004812A DF-E - set-up register (HW) DD A6DF1 DC A6DF0 Bus control register 004812E (HW) Function reserved Area 6 output disable delay time DB DA D9 D8 - A6WT2 A6WT1 A6WT0 reserved Area 6 wait control D7 D6 D5 D4 - A5SZ A5DF1 A5DF0 reserved Areas 5-4 device size selection Areas 5-4 output disable delay time D3 D2 D1 D0 - A5WT2 A5WT1 A5WT0 reserved Areas 5-4 wait control DF DE DD DC DB DA RBCLK - RBST8 REDO RCA1 RCA0 BCLK output control reserved Burst ROM burst mode selection DRAM page mode selection Column address size selection D9 D8 D7 D6 D5 RPC2 RPC1 RPC0 RRA1 RRA0 D4 D3 D2 D1 D0 - SBUSST SEMAS SEPD SWAITE S1C33T01 FUNCTION PART Setting - A6DF[1:0] Number of cycles 1 1 3.5 1 0 2.5 0 1 1.5 0 0 0.5 - A6WT[2:0] Wait cycles 1 1 1 7 1 1 0 6 1 0 1 5 1 0 0 4 0 1 1 3 0 1 0 2 0 0 1 1 0 0 0 0 - 1 8 bits 0 16 bits A5DF[1:0] Number of cycles 1 1 3.5 1 0 2.5 0 1 1.5 0 0 0.5 A5WT[2:0] 1 1 1 1 1 0 1 0 1 1 0 0 0 1 1 0 1 0 0 0 1 0 0 0 0 Enabled - 1 8-successive 0 4-successive 1 EDO 0 Fast page RCA[1:0] Size 1 1 11 1 0 10 0 1 9 0 0 8 1 Enabled 0 Disabled Refresh enable 1 Self-refresh 0 CBR-refresh Refresh method selection 1 2.0 0 1.0 Refresh RPC delay setup RRA[1:0] Number of cycles Refresh RAS pulse width 1 1 5 selection 1 0 4 0 1 3 0 0 2 - reserved External interface method selection 1 #BSL 0 A0 External bus master setup 1 Existing 0 Nonexistent 1 Enabled 0 Disabled External power-down control 1 Enabled 0 Disabled #WAIT enable EPSON 1 Fixed at H Wait cycles 7 6 5 4 3 2 1 0 Init. R/W Remarks - 1 1 - 0 when being read. R/W - 1 1 1 - 0 when being read. R/W - 0 1 1 - 0 when being read. R/W R/W - 1 1 1 - 0 when being read. R/W 0 0 0 0 0 0 R/W - Writing 1 not allowed. R/W R/W R/W 0 0 0 0 0 R/W R/W R/W R/W 0 0 0 0 0 - Writing 1 not allowed. R/W R/W R/W R/W B-II-4-37 II CORE BLOCK: BCU (Bus Control Unit) Table 4.23 Control Bits of External System Interface (continue) Register name Address Bit Name Function DRAM timing 0048130 DF-C - reserved set-up register (HW) DB A3EEN Area 3 emulation DA CEFUNC1 #CE pin function selection D9 CEFUNC0 Setting Init. R/W Remarks - 1 Internal ROM 0 Emulation CFFUNC[1:0] #CE output 1 x #CE7/8..#CE17/18 #CE6..#CE17 0 1 #CE4..#CE10 0 0 1 Successive 0 Normal RPRC[1:0] Number of cycles 1 1 4 1 0 3 0 1 2 0 0 1 - CASC[1:0] Number of cycles 1 1 4 1 0 3 0 1 2 0 0 1 - RASC[1:0] Number of cycles 1 1 4 1 0 3 0 1 2 0 0 1 - 1 0 0 - 0 when being read. R/W R/W 0 0 0 R/W R/W - 0 0 - 0 when being read. R/W - 0 0 - 0 when being read. R/W D8 D7 D6 CRAS RPRC1 RPRC0 Successive RAS mode setup DRAM RAS precharge cycles selection D5 D4 D3 - CASC1 CASC0 reserved DRAM CAS cycles selection D2 D1 D0 - RASC1 RASC0 reserved DRAM RAS cycles selection Access control 0048132 register (HW) DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 A18IO A16IO A14IO A12IO - A8IO A6IO A5IO A18EC A16EC A14EC A12EC A10EC A8EC A6EC A5EC Area 18, 17 internal/external access 1 Internal 0 External Area 16, 15 internal/external access access access Area 14, 13 internal/external access Area 12, 11 internal/external access reserved - 0 External Area 8, 7 internal/external access 1 Internal Area 6 internal/external access access access Area 5, 4 internal/external access Area 18, 17 endian control 1 Big endian 0 Little endian Area 16, 15 endian control Area 14, 13 endian control Area 12, 11 endian control Area 10, 9 endian control Area 8, 7 endian control Area 6 endian control Area 5, 4 endian control 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 R/W R/W R/W R/W - 0 when being read. R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W G/A read signal 0048138 control register (HW) DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 A18AS A16AS A14AS A12AS - A8AS A6AS A5AS A18RD A16RD A14RD A12RD - A8RD A6RD A5RD Area 18, 17 address strobe signal Area 16, 15 address strobe signal Area 14, 13 address strobe signal Area 12, 11 address strobe signal reserved Area 8, 7 address strobe signal Area 6 address strobe signal Area 5, 4 address strobe signal Area 18, 17 read signal Area 16, 15 read signal Area 14, 13 read signal Area 12, 11 read signal reserved Area 8, 7 read signal Area 6 read signal Area 5, 4 read signal 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 R/W R/W R/W R/W - 0 when being read. R/W R/W R/W R/W R/W R/W R/W - 0 when being read. R/W R/W R/W 0 0 0 0 0 - 0 when being read. R/W x2 speed mode only - 0 when being read. R/W BCLK select register B-II-4-38 004813A D7-4 - (B) D3 A1X1MD D2 - D1 BCLKSEL1 D0 BCLKSEL0 reserved Area 1 access-speed reserved BCLK output clock selection EPSON 1 Enabled 0 Disabled - 1 Enabled 0 Disabled 1 Enabled 0 Disabled - 1 Enabled 0 Disabled - 1 2 cycles 0 4 cycles - BCLKSEL[1:0] 1 1 1 0 0 1 0 0 BCLK PLL_CLK OSC3_CLK BCU_CLK CPU_CLK S1C33T01 FUNCTION PART II CORE BLOCK: BCU (Bus Control Unit) Table 4.23 Control Bits of External System Interface (continue) Register name Address Bit Read cycle hold time control register D7 D6 D5 D4 D3 D2 D1 D0 A18RH A16RH A14RH A12RH A8RH A6RH A5RH Area 17, 18 read hold cycle Area 15, 16 read hold cycle Area 13, 14 read hold cycle Area 11, 12 read hold cycle reserved Area 7, 8 read hold cycle Area 6 read hold cycle Area 5 read hold cycle 1 1 1 1 D7 D6 D5 D4 D3 D2 D1 D0 A18BS A16BS A14BS A12BS A10BS A8BS A6BS A5BS Area 17, 18 bus speed selection Area 15, 16 bus speed selection Area 13, 14 bus speed selection Area 11, 12 bus speed selection reserved Area 7, 8 bus speed selection Area 6 bus speed selection Area 5 bus speed selection 1 1 1 1 1 1 1 1 Bus speed setting register 004813C (B) 004813E (B) Name Function Setting Inserted Inserted Inserted Inserted 0 0 0 0 Init. R/W Not inserted Not inserted Not inserted Not inserted 0 Not inserted 0 Not inserted 0 Not inserted R/W R/W R/W R/W - Undefined when being read. R/W R/W R/W 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 R/W R/W R/W R/W R/W R/W R/W R/W - 1 Inserted 1 Inserted 1 Inserted x1 speed x1 speed x1 speed x1 speed x1 speed x1 speed x1 speed x1 speed Remarks 0 0 0 0 - 0 0 0 #x2SPD #x2SPD #x2SPD #x2SPD #x2SPD #x2SPD #x2SPD #x2SPD This register's setting is meaningful when #x2SPD = 0 (2 x speed mode) A18SZ:Areas 18-17 device size selection (DE) / Areas 18-15 set-up register (0x48120) A16SZ:Areas 16-15 device size selection (D6) / Areas 18-15 set-up register (0x48120) A14SZ:Areas 14-13 device size selection (D6) / Areas 14-13 set-up register (0x48122) A12SZ:Areas 12-11 device size selection (D6) / Areas 12-11 set-up register (0x48124) A10SZ:Areas 10-9 device size selection (D6) / Areas 10-9 set-up register (0x48126) A8SZ: Areas 8-7 device size selection (D6) / Areas 8-7 set-up register (0x48128) A5SZ: Areas 5-4 device size selection (D6) / Areas 6-4 set-up register (0x4812A) Select the size of the device connected to each area. Write "1": 8 bits Write "0": 16 bits Read: Valid A device size can be selected for every two areas. An 8-bit size is selected by writing "1" to AxxSZ and a 16-bit size is selected by writing "0" to AxxSZ. Area 6 has its first half (0x300000 through 0x37FFFF) fixed to an 8-bit device and the last half (0x380000 through 0x3FFFFF) fixed to a 16-bit device. At cold start, these bits are set to "0" (16 bits). At hot start, these bits retain their status before being initialized. A18DF1-A18DF0: Areas 18-17 output disable delay time (D[D:C]) / Areas 18-15 set-up register (0x48120) A16DF1-A16DF0: Areas 16-15 output disable delay time (D[5:4]) / Areas 18-15 set-up register (0x48120) A14DF1-A14DF0: Areas 14-13 output disable delay time (D[5:4]) / Areas 14-13 set-up register (0x48122) A12DF1-A12DF0: Areas 12-11 output disable delay time (D[5:4]) / Areas 12-11 set-up register (0x48124) A10DF1-A10DF0: Areas 10-9 output disable delay time (D[5:4]) / Areas 10-9 set-up register (0x48126) A8DF1-A8DF0: Areas 8-7 output disable delay time (D[5:4]) / Areas 8-7 set-up register (0x48128) A6DF1-A6DF0: Area 6 output disable delay time (D[D:C]) / Areas 6-4 set-up register (0x4812A) A5DF1-A5DF0: Areas 5-4 output disable delay time (D[5:4]) / Areas 6-4 set-up register (0x4812A) Set the output-disable delay time. Table 4.24 Output Disable Delay Time AxxDF1 AxxDF0 Delay time 1 1 0 0 1 0 1 0 3.5 cycles 2.5 cycles 1.5 cycles 0.5 cycles When using a device that has a long output-disable time, set a delay time to ensure that no contention for the data bus occurs during the bus operation immediately after a device is read. At cold start, these bits are set to "11" (3.5 cycles). At hot start, the bits retain their status before being initialized. S1C33T01 FUNCTION PART EPSON B-II-4-39 II CORE BLOCK: BCU (Bus Control Unit) A18WT2-A18WT0: Areas 18-17 wait control (D[A:8]) / Areas 18-15 set-up register (0x48120) A16WT2-A16WT0: Areas 16-15 wait control (D[2:0]) / Areas 18-15 set-up register (0x48120) A14WT2-A14WT0: Areas 14-13 wait control (D[2:0]) / Areas 14-13 set-up register (0x48122) A12WT2-A12WT0: Areas 12-11 wait control (D[2:0]) / Areas 12-11 set-up register (0x48124) A10WT2-A10WT0: Areas 10-9 wait control (D[2:0]) / Areas 10-9 set-up register (0x48126) A8WT2-A8WT0: Areas 8-7 wait control (D[2:0]) / Areas 8-7 set-up register (0x48128) A6WT2-A6WT0: Area 6 wait control (D[A:8]) / Areas 6-4 set-up register (0x4812A) A5WT2-A5WT0: Areas 5-4 wait control (D[2:0]) / Areas 6-4 set-up register (0x4812A) Set the number of wait cycles to be inserted when accessing an SRAM device. The values 0 through 7 written to the control bits equal the number of wait cycles inserted. Note that the write cycle consists of a minimum of two cycles, so that a writing 0 or 1 is invalid. When an SRAM device is connected, wait cycles derived via the #WAIT pin can also be inserted. In this case too, the wait cycles set by AxxWT are valid. The DRAM read/write cycles do not have wait cycles inserted that are set by AxxWT or derived from the #WAIT pin. The burst read cycle of a burst ROM (except for the first access) also does not have any wait cycle inserted. The first read cycle of a burst ROM and the write cycle to the burst ROM area have wait cycles inserted that are set by AxxWT . Wait cycles derived from the #WAIT pin also can be inserted in the cycle for writing to the burst ROM area. At cold start, these bits are set to "111" (7 cycles). At hot start, the bits retain their status before being initialized. A14DRA: Area A13DRA: Area A8DRA: Area A7DRA: Area 14 DRAM selection (D8) / Areas 14-13 set-up register (0x48122) 13 DRAM selection (D7) / Areas 14-13 set-up register (0x48122) 8 DRAM selection (D8) / Areas 8-7 set-up register (0x48128) 7 DRAM selection (D7) / Areas 8-7 set-up register (0x48128) Select the DRAM direct interface. Write "1": DRAM is used Write "0": DRAM is not used Read: Valid When DRAM is used by connecting it directly to the BCU, write "1" to this bit. The ordinary SRAM interface is selected by writing "0" to the control bit. The areas to which DRAM can be connected are areas 8 and 7 when the CEFUNC = "0", or areas 14 and 13 when the bit = "1". At cold start, these bits are set to "0" (DRAM not used). At hot start, the bits retain their status before being initialized. A10IR2-A10IR0: Area 10 internal ROM size selection (D[D:B]) / Areas 10-9 set-up register (0x48126) Select an area 10 internal/emulation memory size. Table 4.25 Area 10 Internal ROM Size A10IR2 A10IR1 A10IR0 ROM size 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 16KB 32KB 64KB 128KB 256KB 512KB 1MB 2MB At cold start, A10IR is set to "111" (2MB). At hot start, A10IR retains its status before being initialized. B-II-4-40 EPSON S1C33T01 FUNCTION PART II CORE BLOCK: BCU (Bus Control Unit) A10BW1-A10BW0: Burst read cycle wait control (D[A:9]) / Areas 10-9 set-up register (0x48126) Set the number of wait cycles inserted during a burst read. The values 0 to 3 written to the bits constitute the number of wait cycles inserted. The contents set here are applied to both areas 10 and 9. The wait cycles set by AxxWT are inserted in the first read cycle of burst ROM and in the burst ROM write cycle. For the burst ROM write cycle, the wait cycles set via the #WAIT pin can also be used. At cold start, A10BW is set to "0" (no wait cycle). At hot start, A10BW retains its status before being initialized. A10DRA: Area 10 burst ROM selection (D8) / Areas 10-9 set-up register (0x48126) A9DRA: Area 9 burst ROM selection (D7) / Areas 10-9 set-up register (0x48126) Set areas 10 and 9 for use of burst ROM. Write "1": Burst ROM is used Write "0": Burst ROM is not used Read: Valid When using burst ROM, write "1" to the control bit. The ordinary SRAM interface is selected by writing "0" to the bit. Area 9 can only be used when the CEFUNC = "00". At cold start, these bits are set to "0" (burst ROM not used). At hot start, the bits retain their status before being initialized. RBCLK: BCLK output control (DF) / Bus control register (0x4812E) Control the bus clock BCLK to enable or disable external output. Write "1": Fixed at high level Write "0": Output enabled Read: Valid To stop outputting the bus clock from the BCLK pin, write "1" to RBCLK. When the clock output is stopped, the BCLK pin is fixed at high level. The bus clock output from the BCLK pin is enabled by writing "0" to RBCLK. The bus clock output from the BCLK pin also is stopped in the HALT2 and the SLEEP modes. At cold start, the RBCLK is set to "0" (output enabled). At hot start, RBCLK retains its status before being initialized. RBST8: Burst mode selection (DD) / Bus control register (0x4812E) Set the operation mode during a burst read. Write "1": 8-successive-burst mode Write "0": 4-successive-burst mode Read: Valid The 8-successive-burst mode is selected by writing "1" to RBST8 and the 4-successive-burst mode is selected by writing "0" to RBST8. This setting is valid when areas 10 and 9 are set for burst ROM, and the setting is applied to both areas simultaneously. At cold start, RBST8 is set to "0" (4-successive-burst mode). At hot start, RBST8 retains its status before being initialized. REDO: Page mode selection (DC) / Bus control register (0x4812E) Select the page mode of DRAM. Write "1": EDO-page mode Write "0": Fast-page mode Read: Valid When using EDO DRAM, write "1" to REDO to select the EDO-page mode. The contents set here are applied to all of areas 14, 13, 8, and 7 that are set for DRAM. At cold start, REDO is set to "0" (fast-page mode). At hot start, REDO retains its status before being initialized. S1C33T01 FUNCTION PART EPSON B-II-4-41 II CORE BLOCK: BCU (Bus Control Unit) RCA1-RCA0: Column address size selection (D[B:A]) / Bus control register (0x4812E) Select the column address size of DRAM. Table 4.26 Column Address Size RCA1 RCA0 Column address size 1 1 0 0 1 0 1 0 11 10 9 8 The contents set here are applied to all of areas 14, 13, 8, and 7 that are set for DRAM. RCA can be read to obtain its set value. At cold start, RCA is set to "0" (8 bits). At hot start, RCA retain its status before being initialized. RPC2: Refresh enable (D9) / Bus control register (0x4812E) Control the DRAM refresh function. Write "1": Enabled Write "0": Disabled Read: Valid When DRAM is connected directly, a refresh cycle is generated by writing "1" to RPC2. The internal refresh function is disabled by writing "0" to RPC2. Since the BCU stops operating in the HALT2 and the SLEEP modes, no refresh cycle is generated regardless of how this bit is set. The contents set here are applied to all of areas 14, 13, 8, and 7 that are set for DRAM. At cold start, RPC2 is set to "0" (disabled). At hot start, RPC2 retains its status before being initialized. RPC1: Refresh method selection (D8) / Bus control register (0x4812E) Select the DRAM refresh method. Write "1": Self-refresh Write "0": CAS-before-RAS refresh Read: Valid To perform a CAS-before-RAS refresh, set RPC1 to "0" and then RPC2 to "1". This causes the underflow output signal of the 8-bit programmable timer 0 is fed to the DRAM interface, at which timing a refresh cycle is generated. To start a self-refresh, set RPC1 to "1" and then RPC2 to "1". The self-refresh is disabled by writing "0" to RPC2. The contents set here are applied to all of areas 14, 13, 8, and 7 that are set for DRAM. At cold start, RPC1 is set to "0" (CAS-before-RAS refresh). At hot start, RPC1 retains its status before being initialized. RPC0: Refresh RPC delay (D7) / Bus control register (0x4812E) Set a RPC delay when at start of refresh. Write "1": 2 cycles Write "0": 1 cycle Read: Valid Set a time from the immediately preceding precharge to the falling transition of #HCAS/#LCAS necessary in order to perform a refresh. This time is 2 cycles when RPC0 = "1" or 1 cycle when RPC0 = "0". The contents set here are applied to all of areas 14, 13, 8, and 7 that are set for DRAM. At cold start, RPC0 is set to "0" (1 cycle). At hot start, RPC0 retains its status before being initialized. B-II-4-42 EPSON S1C33T01 FUNCTION PART II CORE BLOCK: BCU (Bus Control Unit) RRA1-RRA0: Refresh RAS pulse width selection (D[6:5]) / Bus control register (0x4812E) Select the RAS pulse width of a CAS-before-RAS refresh. Table 4.27 Refresh RAS Pulse Width RRA1 RRA0 1 1 0 0 1 0 1 0 Pulse width 5 4 3 2 cycles cycles cycles cycles The contents set here are applied to all of areas 14, 13, 8, and 7 that are set for DRAM. The RRA can be read to obtain their set value. At cold start, RRA is set to "0" (2 cycles). At hot start, RRA retains its status before being initialized. SBUSST: External interface method select register (D3) / Bus control register (0x4812E) Select the interface method of an SRAM device. Write "1": #BSL system Write "0": A0 system Read: Valid When using the #BSL system, write "1" to SBUSST. The contents set here are applied to all areas that are set for the SRAM type. At cold start, SBUSST is set to "0" (A0 system). At hot start, SBUSST retains its status before being initialized. SEMAS: External bus master setup (D2) / Bus control register (0x4812E) Specify whether an external bus master exists. Write "1": Existing Write "0": Nonexistent Read: Valid A request for bus ownership control via the #BUSREQ pin is made acceptable by writing "1" to SEMAS. If the system does not have any external bus master, fix this register at "0". At cold start, SEMAS is set to "0" (nonexistent). At hot start, SEMAS retains its status before being initialized. SEPD: External power-down control (D1) / Bus control register (0x4812E) Enable or disable the CPU's power-down control by an external bus master. Write "1": Enabled Write "0": Disabled Read: Valid Power-down control via an external pin (#BUSREQ) is enabled by writing "1" to SEPD. If the #BUSREQ pin is lowered when external power-down control is thus enabled, the CPU is placed in a HALT state, allowing for reduction in power consumption. At cold start, SEPD is set to "0" (disabled). At hot start, SEPD retains its status before being initialized. SWAITE: #WAIT enable (D0) / Bus control register (0x4812E) Enable or disable wait cycle control via the #WAIT pin. Write "1": Enabled Write "0": Disabled Read: Valid A wait request from an SRAM device is made acceptable by writing "1" to SWAITE. The wait request signal input from the #WAIT pin is sampled at each falling edge of the bus clock when executing an SRAM read/write cycle. Wait cycles are inserted until the wait request signal is sampled and detected as high (inactive). S1C33T01 FUNCTION PART EPSON B-II-4-43 II CORE BLOCK: BCU (Bus Control Unit) Wait control for 0 to 7 cycles can be accomplished by AxxWT without using the #WAIT pin. However, since the setting via AxxWT is applied to every two areas, the number of wait cycles may be controlled individually in each area or more than 7 wait cycles may be set. In such a case, use an external wait request via the #WAIT pin. Wait requests from the #WAIT pin are ignored when SWAITE = "0". The contents set here are applied to all areas that are set for SRAM, and are also effective for write cycles in the areas that are set for burst ROM. At cold start, SWAITE is set to "0" (disabled). At hot start, SWAITE retains its status before being initialized. A3EEN: Area 3 emulation (DB) / DRAM timing set-up register (0x48130) Select area 3 emulation mode. Write "1": Internal ROM mode Write "0": Emulation mode Read: Valid When "1" is written to A3EEN, internal ROM emulation mode is selected and the external device will be accessed with the same condition as the internal ROM. When "0" is written, the internal ROM will be used for accessing area 3. This bit functions the same as the EA3MD pin. The bit status and the pin status are logically ORed. At cold start, A3EEN is set to "1" (internal ROM mode). At hot start, A3EEN retains its status before being initialized. CEFUNC1-CEFUNC0: #CE pin function selection (D[A:9]) / DRAM timing set-up register (0x48130) Change the #CE pin-assigned area. Table 4.28 Pin #CE4 #CE5 #CE6 #CE7/#RAS0 #CE8/#RAS1 #CE9 #CE10EX #CE Output Assignment CEFUNC = "00" #CE4 #CE5 #CE6 #CE7/#RAS0 #CE8/#RAS1 #CE9 #CE10EX CEFUNC = "01" #CE11 #CE15 #CE6 #CE13/#RAS2 #CE14/#RAS3 #CE17 #CE10EX CEFUNC = "1x" #CE11+#CE12 #CE15+#CE16 #CE7+#CE8 #CE13/#RAS2 #CE14/#RAS3 #CE17+#CE18 #CE9+#CE10EX (Default: CEFUNC = "00") The high-order areas that are made available for use by writing "01" to CEFUNC can be larger in size than the default low-order areas. For example, when using DRAM in default settings, the available space is 4MB in areas 7 and 8. However, if areas 13 and 14 are used, up to 32MB of DRAM can be used. The same applies to the other areas. Furthermore, when CEFUNC is set to "10" or "11", four chip enable signal is expanded into two area size. At cold start, CEFUNC is set to "00". At hot start, CEFUNC retains its status before being initialized. CRAS: Successive RAS mode (D8) / DRAM timing set-up register (0x48130) Set the successive RAS mode. Write "1": Successive RAS mode Write "0": Normal mode Read: Valid In systems using DRAM, the successive RAS mode is entered by writing "1" to CRAS. In this mode, read/write operations can be performed in page mode even when DRAM accesses do not occur back-to-back. When using the successive RAS mode, be sure to use #DRD for the read signal and #DWE for the write signal for low-byte. When CRAS = "0", random read/write cycles are used for non-successive DRAM accesses. The contents set here are applied to all of areas 14, 13, 8, and 7 that are set for DRAM. At cold start, CRAS is set to "0" (normal mode). At hot start, CRAS retains its status before being initialized. B-II-4-44 EPSON S1C33T01 FUNCTION PART II CORE BLOCK: BCU (Bus Control Unit) RPRC1-RPRC0: Number of RAS precharge cycles (D[7:6]) / DRAM timing set-up register (0x48130) Select the number of precharge cycles during a DRAM access. Table 4.29 Number of RAS Precharge Cycles RPRC1 RPRC0 Number of cycles 1 1 0 0 1 0 1 0 4 cycles 3 cycles 2 cycles 1 cycle The contents set here are applied to all of areas 14, 13, 8, and 7 that are set for DRAM. At cold start, RPRC is set to "0" (1 cycle). At hot start, RPRC retains its status before being initialized. CASC1-CASC0: Number of CAS cycles (D[4:3]) / DRAM timing set-up register (0x48130) Select the number of CAS cycles during a DRAM access. Table 4.30 Number of CAS Cycles CASC1 CASC0 Number of cycles 1 1 0 0 1 0 1 0 4 cycles 3 cycles 2 cycles 1 cycle The contents set here are applied to all of areas 14, 13, 8, and 7 that are set for DRAM. At cold start, CASC is set to "0" (1 cycle). At hot start, CASC retains its status before being initialized. RASC1-RASC0: Number of RAS cycles (D[1:0]) / DRAM timing set-up register (0x48130) Select the number of RAS cycles during a DRAM access. Table 4.31 Number of RAS Cycles RASC1 RASC0 Number of cycles 1 1 0 0 1 0 1 0 4 cycles 3 cycles 2 cycles 1 cycle The contents set here are applied to all of areas 14, 13, 8, and 7 that are set for DRAM. At cold start, RASC is set to "0" (1 cycle). At hot start, RASC retains its status before being initialized. A18IO: Areas 18-17 internal/external access selection (DF) / Access control register (0x48132) A16IO: Areas 16-15 internal/external access selection (DE) / Access control register (0x48132) A14IO: Areas 14-13 internal/external access selection (DD) / Access control register (0x48132) A12IO: Areas 12-11 internal/external access selection (DC) / Access control register (0x48132) A8IO: Areas 8-7 internal/external access selection (DA) / Access control register (0x48132) A6IO: Area 6 internal/external access selection (D9) / Access control register (0x48132) A5IO: Areas 5-4 internal/external access selection (D8) / Access control register (0x48132) Select either internal access or external access for each area. Write "1": Internal access Write "0": External access Read: Valid When AxxIO is set to "1", the internal device that mapped to the corresponding area is accessed. When AxxIO is set to "0", the external device is accessed. At cold start, these bits are set to "0" (external access). At hot start, these bits retain their status before being initialized. S1C33T01 FUNCTION PART EPSON B-II-4-45 II CORE BLOCK: BCU (Bus Control Unit) A18EC: Areas 18-17 little/big endian method selection (D7) / Access control register (0x48132) A16EC: Areas 16-15 little/big endian method selection (D6) / Access control register (0x48132) A14EC: Areas 14-13 little/big endian method selection (D5) / Access control register (0x48132) A12EC: Areas 12-11 little/big endian method selection (D4) / Access control register (0x48132) A10EC: Areas 10-9 little/big endian method selection (D3) / Access control register (0x48132) A8EC: Areas 8-7 little/big endian method selection (D2) / Access control register (0x48132) A6EC: Area 6 little/big endian method selection (D1) / Access control register (0x48132) A5EC: Areas 5-4 little/big endian method selection (D0) / Access control register (0x48132) Select either little endian or big-endian method for accessing each area. Write "1": Big-endian Write "0": Little-endian Read: Valid When AxxEC is set to "1", the corresponding area is accessed in big-endian method. When AxxEC is set to "0", the area is accessed in little-endian method. When using area 10 as the boot area, fix A10EC at "0" (little-endian). At cold start, these bits are set to "0" (little-endian). At hot start, these bits retain their status before being initialized. A18AS: A16AS: A14AS: A12AS: A8AS: A6AS: A5AS: Areas 18-17 address strobe signal (DF) / G/A read signal control register (0x48138) Areas 16-15 address strobe signal (DE) / G/A read signal control register (0x48138) Areas 14-13 address strobe signal (DD) / G/A read signal control register (0x48138) Areas 12-11 address strobe signal (DC) / G/A read signal control register (0x48138) Areas 8-7 address strobe signal (DA) / G/A read signal control register (0x48138) Area 6 address strobe signal (D9) / G/A read signal control register (0x48138) Areas 5-4 address strobe signal (D8) / G/A read signal control register (0x48138) Enable/disable the exclusive address strobe signal output. Write "1": Enabled Write "0": Disabled Read: Valid If AxxAS is set to "1", the exclusive address strobe signal is output from #GAAS (P21) pin when the corresponding area is accessed. If AxxAS is set to "0", the signal output is disabled. At cold start, these bits are set to "0" (disabled). At hot start, these bits retain their status before being initialized. A18RD: A16RD: A14RD: A12RD: A8RD: A6RD: A5RD: Areas 18-17 read signal (D7) / G/A read signal control register (0x48138) Areas 16-15 read signal (D6) / G/A read signal control register (0x48138) Areas 14-13 read signal (D5) / G/A read signal control register (0x48138) Areas 12-11 read signal (D4) / G/A read signal control register (0x48138) Areas 8-7 read signal (D2) / G/A read signal control register (0x48138) Area 6 read signal (D1) / G/A read signal control register (0x48138) Areas 5-4 read signal (D0) / G/A read signal control register (0x48138) Enable/disable the exclusive read signal output. Write "1": Enabled Write "0": Disabled Read: Valid If AxxRD is set to "1", the exclusive read signal is output from #GARD (P31) pin when the corresponding area is read. If AxxRD is set to "0", the signal output is disabled. At cold start, these bits are set to "0" (disabled). At hot start, these bits retain their status before being initialized. BCLKSEL1-BCLKSEL0: BCLK output clock selection (D[1:0]) / BCLK select register (0x4813A) Select a clock to be output from the BCLK pin. Table 4.32 B-II-4-46 Selection of BCLK Output Clock BCLKSEL1 BCLKSEL0 1 1 0 0 1 0 1 0 Output clock PLL_CLK (PLL output clock) OSC3_CLK (OSC3 oscillation clock) BCU_CLK (BCU operating clock) CPU_CLK (CPU operating clock) EPSON S1C33T01 FUNCTION PART II CORE BLOCK: BCU (Bus Control Unit) PLL_CLK: PLL output clock. This clock is stable and kept as output except in the following cases: 1. When the PLL is off by setting the PLLS[1:0] pins. 2. When the OSC3 (high-speed) oscillation is stopped by executing the SLP instruction. 3. When the OSC3 (high-speed) oscillation is stopped using the CLG register. Note that the PLL_CLK clock is out of phase with the CPU operating clock. OSC3_CLK: OSC3 (high-speed) oscillation circuit output clock. This clock is stable and kept as output except in the following cases: 1. When the OSC3 (high-speed) oscillation is stopped by executing the SLP instruction. 2. When the OSC3 (high-speed) oscillation is stopped using the CLG register. Note that the OSC3_CLK clock is out of phase with the CPU operating clock. BCU_CLK: Bus clock in the bus controller. This clock varies according to the bus cycle speed. Furthermore, the clock frequency changes dynamically in x2 speed mode as follows: 1. When the internal RAM/ROM is accessed, x2 clock (e.g., 50 MHz same as the CPU operating clock) is output. 2. When an external device is accessed via the external bus, x1 clock (e.g., 25 MHz) is output. This dynamic change (e.g., between 50 MHz and 25 MHz) does not affect the external memory access timing, such as position relationship between the rising or falling edge of the 25 MHz clock and the falling edge of the #WR signal. (It is the same as that in the x1 speed mode with 25 MHz clock.) CPU_CLK: The CPU operating clock. The clock frequency is as follows: 1. Equals to the PLL output clock frequency when the PLL is on. 2. Equals to the OSC3 (high-speed) oscillation circuit output clock frequency when the PLL is off. 3. However, it equals to the divided frequency when the CLG is set to generate the CPU operating clock by dividing the source clock. 4. When the CPU stops by the HALT or SLP instruction, this clock is also stopped. This clock is almost in phase with the bus clock. At initial reset, BCLKSEL is set to "0" (CPU_CLK). A1X1MD: Area 1 access speed (D3) / BCLK select register (0x4813A) Select a number of access cycles for area 1 in x2 speed mode. Write "1": 2 cycles Write "0": 4 cycles Read: Valid When x2 speed mode is set (#X2SPD pin = L) and A1X1MD = "1", area 1 is read/written in 2 cycles of the CPU system clock. When A1X1MD = "0", area 1 is read/written in 4 cycles. When x1 speed mode is set (#X2SPD pin = H), area 1 is always accessed in 2 cycles regardless of the A1X1MD value. At cold start, A1X1MD is set to "0" (4 cycles). At hot start, A1X1MD retains its status before being initialized. A18RH: A16RH: A14RH: A12RH: A8RH: A6RH: A5RH: Areas 17 and 18 read hold cycle insertion (D7) / Read cycle hold time control register (0x4813C) Areas 15 and 16 read hold cycle insertion (D6) / Read cycle hold time control register (0x4813C) Areas 13 and 14 read hold cycle insertion (D5) / Read cycle hold time control register (0x4813C) Areas 11 and 12 read hold cycle insertion (D4) / Read cycle hold time control register (0x4813C) Areas 7 and 8 read hold cycle insertion (D2) / Read cycle hold time control register (0x4813C) Area 6 read hold cycle insertion (D1) / Read cycle hold time control register (0x4813C) Area 5 read hold cycle insertion (D0) / Read cycle hold time control register (0x4813C) Selects whether or not a read hold cycle is inserted in each area when accessed. Write "1": Read hold cycle inserted Write "0": No read hold cycle inserted Read: Valid S1C33T01 FUNCTION PART EPSON B-II-4-47 II CORE BLOCK: BCU (Bus Control Unit) When this bit is set to "1", the read cycle access time to the corresponding area is extended by 1 cycle. However, the length of the #RD pulse and the timing do not change; only #CE and the address are lengthened by 1 cycle. When read hold cycle insertion is specified, a read hold cycle is always inserted after a read cycle to the specified area. Also, if an output disable cycle is set up, after the read hold cycle, an output disable cycle is also inserted. Note that areas 9 and 10 do not support this function. BCLK addr A[23:0] #CExx #RD (a) When AsRH = 0 (default) BCLK addr A[23:0] #CExx #RD (b) When AsRH = 1 (default) Figure 4.41 A18BS: A16BS: A14BS: A12BS: A10BS: A8BS: A6BS: A5BS: Read Hold Cycle Insertion Timing Areas 17 and 18 bus speed setting (D7) / Bus speed setting register (0x4813E) Areas 15 and 16 bus speed setting (D6) / Bus speed setting register (0x4813E) Areas 13 and 14 bus speed setting (D5) / Bus speed setting register (0x4813E) Areas 11 and 12 bus speed setting (D4) / Bus speed setting register (0x4813E) Areas 9 and 10 bus speed setting (D3) / Bus speed setting register (0x4813E) Areas 7 and 8 bus speed setting (D2) / Bus speed setting register (0x4813E) Area 6 bus speed setting (D1) / Bus speed setting register (0x4813E) Area 5 bus speed setting (D0) / Bus speed setting register (0x4813E) Sets the bus speed mode for the corresponding areas. Write "1": x1 speed mode Write "0": The bus speed follows the #X2SPD setting. Read: Valid When #X2SPD = "0" (x2 speed mode), it is possible to switch the x2 speed mode setting to the x1 speed mode setting for each area. Since this setting is independent of the access control register upper byte, which switches each area between internal and external, each area can be set to x1 or x2 speed and to internal or external arbitrarily. B-II-4-48 EPSON S1C33T01 FUNCTION PART II CORE BLOCK: ITC (Interrupt Controller) II-5 ITC (Interrupt Controller) The C33 Core Block contains an interrupt controller, making it possible to control all interrupts generated by the internal peripheral circuits. This section explains the functions of this interrupt controller centering around the method for controlling maskable interrupts. For details about the various factors and conditions under which interrupts are generated, refer to the description of each peripheral circuit in this manual. Outline of Interrupt Functions Maskable Interrupts The ITC can handle 39 kinds of maskable interrupts as shown in the table below. Table 5.1 List of Maskable Interrupts No. HEX No. Vector number (Hex address) Interrupt system (Peripheral circuit) Interrupt factor IDMA Ch. Priority 1 10 16(Base+40) Port input interrupt 0 Edge (rising or falling) or level (High or Low) 1 High 2 11 17(Base+44) Port input interrupt 1 Edge (rising or falling) or level (High or Low) 2 3 12 18(Base+48) Port input interrupt 2 Edge (rising or falling) or level (High or Low) 3 4 13 19(Base+4C) Port input interrupt 3 Edge (rising or falling) or level (High or Low) 4 5 14 20(Base+50) Key input interrupt 0 Rising or falling edge - 6 15 21(Base+54) Key input interrupt 1 Rising or falling edge - 7 16 22(Base+58) High-speed DMA Ch.0 High-speed DMA Ch.0, end of transfer 5 8 17 23(Base+5C) High-speed DMA Ch.1 High-speed DMA Ch.1, end of transfer 6 9 18 24(Base+60) High-speed DMA Ch.2 High-speed DMA Ch.2, end of transfer - 10 19 25(Base+64) High-speed DMA Ch.3 High-speed DMA Ch.3, end of transfer - 11 1A 26(Base+68) IDMA Intelligent DMA, end of transfer - reserved - - Timer 0 comparison B 7 - 27-29 12 1E 30(Base+78) 13 1F 31(Base+7C) - 32-33 14 22 34(Base+88) 15 23 35(Base+8C) - 36-37 16 26 38(Base+98) 17 27 39(Base+9C) - 40-41 18 2A 42(Base+A8) 19 2B 43(Base+AC) - 44-45 20 2E 46(Base+B8) 21 2F 47(Base+BC) - 22 48-49 32 50(Base+C8) 23 33 51(Base+CC) 24 34 52(Base+D0) 25 26 16-bit programmable timer 0 reserved 16-bit programmable timer 1 Timer 0 comparison A 8 - - Timer 1 comparison B 9 Timer 1 comparison A 10 reserved - - 16-bit programmable timer 2 Timer 2 comparison B 11 Timer 2 comparison A 12 reserved - - 16-bit programmable timer 3 Timer 3 comparison B 13 Timer 3 comparison A 14 reserved - - 16-bit programmable timer 4 Timer 4 comparison B 15 Timer 4 comparison A 16 reserved - - 16-bit programmable timer 5 Timer 5 comparison B 17 Timer 5 comparison A 18 Timer 0 underflow 19 35 53(Base+D4) Timer 1 underflow 20 36 54(Base+D8) Timer 2 underflow 21 27 37 55(Base+DC) Timer 3 underflow 22 28 38 56(Base+E0) 29 39 57(Base+E4) 30 3A 58(Base+E8) - 59 8-bit programmable timer Serial interface Ch.0 Receive error - Receive buffer full 23 Transmit buffer empty 24 reserved - - Serial interface Ch.1 Receive error - 31 3C 60(Base+F0) 32 3D 61(Base+F4) Receive buffer full 25 33 3E 62(Base+F8) Transmit buffer empty 26 Low S1C33T01 FUNCTION PART EPSON B-II-5-1 II CORE BLOCK: ITC (Interrupt Controller) Table 5.1 List of Maskable Interrupts (continue) No. HEX No. - Vector number (Hex address) 63 Interrupt system (Peripheral circuit) Interrupt factor IDMA Ch. Priority reserved - - High 34 40 64(Base+100) A/D converter A/D converter, end of conversion 27 35 41 65(Base+104) Clock timer Falling edge of 32 Hz, 8 Hz, 2 Hz or 1 Hz signal - 1-minuet, 1-hour or specified time count up - 66-67 reserved - - Edge (rising or falling) or level (High or Low) 28 36 44 68(Base+110) Port input interrupt 4 37 45 69(Base+114) Port input interrupt 5 Edge (rising or falling) or level (High or Low) 29 38 46 70(Base+118) Port input interrupt 6 Edge (rising or falling) or level (High or Low) 30 39 47 71(Base+11C) Port input interrupt 7 Edge (rising or falling) or level (High or Low) 31 40 48 72(Base+120) 8-bit programmable timer Timer 4 underflow 32 41 49 73(Base+124) Timer 5 underflow 33 - - - 74-75 42 4C 76(Base+130) 43 4D 77(Base+134) 44 4E 78(Base+138) - 79 45 50 80(Base+140) 46 51 81(Base+144) 47 52 82(Base+148) - 83 Serial interface Ch.2 Receive error - Receive buffer full 34 Transmit buffer empty 35 reserved - - Serial interface Ch.3 Receive error - Receive buffer full 36 Transmit buffer empty 37 reserved - - 48 54 84(Base+150) Port input interrupt 8 Edge (rising or falling) or level (High or Low) 38 49 55 85(Base+154) Port input interrupt 9 Edge (rising or falling) or level (High or Low) 39 50 56 86(Base+158) Port input interrupt 10 Edge (rising or falling) or level (High or Low) 40 51 57 87(Base+15C) Port input interrupt 11 Edge (rising or falling) or level (High or Low) 41 52 58 88(Base+160) Port input interrupt 12 Edge (rising or falling) or level (High or Low) 42 53 59 89(Base+164) Port input interrupt 13 Edge (rising or falling) or level (High or Low) 43 54 5A 90(Base+168) Port input interrupt 14 Edge (rising or falling) or level (High or Low) 44 55 5B 91(Base+16C) Port input interrupt 15 Edge (rising or falling) or level (High or Low) 45 reserved - - 8-bit programmable timer 6 Timer 6 comparison B 46 Timer 6 comparison A 47 - 92-93 56 5E 94(Base+178) 57 5F 95(Base+17C) - 96-97 58 62 98(Base+188) 59 63 99(Base+18C) - 100-101 reserved - - 16-bit programmable timer 7 Timer 7 comparison B 48 Timer 7 comparison A 49 - - 60 66 102(Base+198) 16-bit programmable timer 8 Timer 8 comparison B 50 61 67 103(Base+19C) Timer 8 comparison A 51 - - - 104-105 reserved reserved 62 6A 106(Base+198) 16-bit programmable timer 9 Timer 9 comparison B 52 63 6B 107(Base+19C) Timer 9 comparison A 53 64 6C 108(Base+198) Single-master I2C-bus Ch. 0 Command complete/error occurred - 65 6D 109(Base+19C) Read DMA request 54 66 6E 110(Base+198) Write DMA request 55 - 111 reserved - - - 67 70 112(Base+1C0) Single-master I2C-bus Ch. 1 Command complete/error occurred - 68 71 113(Base+1C4) Read DMA request 56 69 72 114(Base+1C8) Write DMA request 57 - - Low - B-II-5-2 115 reserved EPSON S1C33T01 FUNCTION PART II CORE BLOCK: ITC (Interrupt Controller) Contents of table "Hex No." indicates an interrupt number in hexadecimal value. "Vector number (Address)" indicates the trap table's vector number. The numerals in parentheses show an offset (in bytes) from the starting address (Base) of the trap table. The starting address (Base) of the trap table by default is the boot address, 0xC00000 set at an initial reset. This address can be changed using the TTBR register (0x48134 to 0x48137). For details about the trap table contents including exception factors, etc., refer to the "S1C33000 Core CPU Manual". "Interrupt system (Peripheral circuit)" indicates that interrupt levels can be programmed for each peripheral circuit written. "Interrupt factor" indicates the factor of the interrupt occurring in each interrupt system. "IDMA Ch." indicates that an interrupt factor which has a numeric value in this column can start up the intelligent DMA (IDMA) to transfer data when an interrupt factor occurs. The numeric value indicates the IDMA's channel number. Interrupt factors that do not have a numeric value here cannot start up the IDMA. "Priority" indicates the priority of interrupts in cases when all interrupt systems are set to the same interrupt level. If two or more interrupt factors occur simultaneously, interrupt requests are accepted in order of highest priority. Interrupt priority varies depending on the interrupt levels set in each interrupt system. However, the priorities of interrupt factors in the same interrupt system are fixed in the order that they are written here. Maskable interrupt generating conditions A maskable interrupt to the CPU occurs when all of the conditions described below are met. * The interrupt enable register for the interrupt factor that has occurred is set to "1". * The IE (Interrupt Enable) bit of the Processor Status Register (PSR) in the CPU is set to "1". * The interrupt factor that has occurred has a higher priority level than the value that is set in the PSR's Interrupt Level (IL). (The interrupt levels can be set using the interrupt priority register in each interrupt system.) * No other trap factor having higher priority, such as NMI, has occurred. * The interrupt factor does not invoke IDMA (the IDMA request bit is set to "0"). When an interrupt factor occurs, the corresponding interrupt factor flag is set to "1" and the flag remains set until it is reset in the software program. Therefore, in no cases can the generated interrupt factor be inadvertently cleared even if the above conditions are not met when the interrupt factor has occurred. The interrupt will occur when the above conditions are met. However, when the interrupt factor invokes IDMA, the interrupt factor is reset if the following condition is met. * The IDMA transfer counter is not "0". * Interrupts are disabled in the IDMA control information even if the transfer counter is "0". If two or more maskable interrupt factors occur simultaneously, the interrupt factor that has the highest priority is allowed to signal an interrupt request to the CPU. The other interrupts with lower priorities are kept pending until the above conditions are met. The PSR and interrupt control register will be detailed later. For details about interrupt factor generating conditions, refer to the description of each peripheral circuit in this manual. S1C33T01 FUNCTION PART EPSON B-II-5-3 II CORE BLOCK: ITC (Interrupt Controller) Interrupt Factors and Intelligent DMA Several interrupt factors can be set so that they can invoke IDMA startup. When one of these interrupt factors occurs, IDMA is started up before an interrupt request to the CPU. The interrupt request to the CPU is generated after IDMA is completed. (The interrupt request can be disabled by a program.) IDMA is always started up regardless of how the PSR is set. For details, refer to "IDMA Invocation". Nonmaskable Interrupt (NMI) The nonmaskable interrupt (NMI) can be generated by pulling the #NMI pin low or using the internal watchdog timer. The vector number of NMI is 7, with the vector address set to the trap table's starting address + 28 bytes. This interrupt is prioritized over other interrupts and is unconditionally accepted by the CPU. However, since this interrupt may operate erratically if it occurs before the stack pointer (SP) is set up, it is masked in hardware until a write to the SP is completed after an initial reset. Interrupt Processing by the CPU The CPU keeps sampling interrupt requests every cycle. When the CPU accepts an interrupt request, it enters trap processing after completing execution of the instruction that was being executed. The following lists the contents executed in trap processing. (1) The PSR and the current program counter (PC) value are saved to the stack. (2) The IE bit of the PSR is reset to "0" (following maskable interrupts are disabled). (3) The IL of the PSR is set to the priority level of the accepted interrupt (NMI does not have its interrupt level changed). (4) The vector of the generated interrupt factor is loaded into the PC, thus executing the interrupt processing routine. Thus, once an interrupt is accepted, all maskable interrupts that may follow are disabled in (2). Multiple interrupts can also be handled by setting the IE bit to "1" in the interrupt processing routine. In this case, since the IL has been changed in (3), only an interrupt that has a higher priority than that of the currently processed interrupt is accepted. When the interrupt processing routine is terminated by the reti instruction, the PSR is restored to its previous status before the interrupt has occurred. The program restarts processing after branching to the instruction next to the one that was being executed when the interrupt occurred. Clearing Standby Mode by Interrupts The standby modes (HALT and SLEEP) are cleared by an NMI or a maskable interrupt. All maskable interrupts can be used to clear HALT mode. However, if the bus clock has stopped in HALT2 mode, a DMA interrupt cannot be used. In SLEEP mode, since the high-speed (OSC3) oscillation circuit is deactivated, interrupts from the peripheral circuits that operate with the OSC3 clock cannot be used. Interrupts that can be used to clear basic HALT mode: NMI and all maskable interrupts Interrupts that can be used to clear HALT2 mode: NMI and all maskable interrupts (except DMA interrupts) Interrupts that can be used to clear SLEEP mode: NMI, input port interrupts, and clock timer interrupts Clearing of the standby modes is accomplished by an interrupt request to the CPU. Therefore, this requires that the PSR be set in such a way that the requested interrupt will be accepted, and that the interrupt enable register for the interrupt factor be set to accept the interrupt. When standby mode is cleared and the CPU has accepted the interrupt, it returns to the instruction next to the halt or slp instruction after executing the interrupt processing routine. Note: If the interrupt factor used to restart from the standby mode has been set to invoke the IDMA, the IDMA is started up by that interrupt. In the case of SLEEP mode, the high-speed (OSC3) oscillation circuit also starts operating. If an interrupt to be generated upon completion of IDMA is disabled at the setting of the IDMA side, no interrupt request is signaled to the CPU. Therefore, the CPU remains idle until the next interrupt request is generated. B-II-5-4 EPSON S1C33T01 FUNCTION PART II CORE BLOCK: ITC (Interrupt Controller) Trap Table The C33 Core Block allows the base (starting) address of the trap table to be set by the TTBR register. TTBR0 (D[9:0]) / TTBR low-order register (0x48134): Trap table base address [9:0] (fixed at "0") TTBR1 (D[F:A]) / TTBR low-order register (0x48134): Trap table base address [15:10] TTBR2 (D[B:0]) / TTBR high-order register (0x48136): Trap table base address [27:16] TTBR3 (D[F:C]) / TTBR high-order register (0x48136): Trap table base address [31:28] (fixed at "0") After an initial reset, the TTBR register is set to the following boot address. 0x0C00000 Therefore, even when the trap table position is changed, it is necessary that at least the reset vector be written to the above address. TTBR0 and TTBR3 are read-only bits which are fixed at "0". Therefore, the trap table starting address always begins with a 1KB boundary address. The TTBR register is normally write-protected to prevent them from being inadvertently rewritten. To remove this write protection function, another register, TBRP (D[7:0]) / TTBR write-protect register (0x4812D [byte]), is provided. A write to the TTBR register is enabled by writing "0x59" to TBRP and is disabled back again by a write to the most significant byte of the TTBR register (0x48137). Consequently, a write to the TTBR register needs to begin with the low-order half-word first. However, since an occurrence of NMI or the like between writes of the low-order and high-order half-words would cause a malfunction, it is recommended that the register be written in words. S1C33T01 FUNCTION PART EPSON B-II-5-5 II CORE BLOCK: ITC (Interrupt Controller) Control of Maskable Interrupts Structure of the Interrupt Controller The interrupt controller is configured as shown in Figure 5.1. ITC Key input x HSDMA x Interrupt factor flag Interrupt vector generator Interrupt enable IDMA request Interrupt vector generator IDMA enable Interrupt factors 16-bit timer x 8-bit timer x Serial I/F x I2CSMSTx A/D Port input x Interrupt factor flag Interrupt enable IDMA request IDMA enable Interrupt request Interrupt level CPU Interrupt vector IDMA request priority judgment (without interrupt level) IDMA request IDMA channel number generator IDMA completion IDMA channel number IDMA Reset A Reset B Reset C HSDMA trigger selection circuit Ch.x HSDMA request HSDMA Ch.x K5x (#DMAREQx) input Software trigger Figure 5.1 Configuration of Interrupt Controller The following sections explain the functions of the registers used to control interrupts. Processor Status Register (PSR) The PSR is a special register incorporated in the core CPU and contains control bits to enable or disable an interrupt request to the CPU. Interrupt Enable (IE) bit: PSR[4] This bit is used to enable or disable an interrupt request to the CPU. When this bit is set to "1", the CPU is enabled to accept a maskable interrupt request. When this bit is reset to "0", no maskable interrupt request is accepted by the CPU. When the CPU accepts an interrupt request (or some other trap occurs), it saves the PSR to the stack and resets the IE bit to "0". Consequently, no maskable interrupt request occurring thereafter will be accepted unless the IE bit is set to "1" in software program or the interrupt (trap) processing routine is terminated by the reti instruction. The IE bit is initialized to "0" (interrupts disabled) by an initial reset. Interrupt Level (IL): PSR[11:8] The IL bits disable the interrupts whose priorities are below the set interrupt level. For example, if the interrupt level set in the IL is 3, the interrupts whose priorities are set below 3 in the interrupt priority register (described later) are not accepted by the CPU even if the IE bit is set to "1". The IL and the interrupt priority register together allow you to control the interrupt priorities in each interrupt system. For details about the interrupt levels, refer to "Interrupt Priority Register and Interrupt Levels". When the CPU accepts a maskable interrupt request, it saves the PSR to the stack and sets the IL to the accepted interrupt's priority level. Therefore, even when the IE bit is set to "1" in the interrupt processing routine, no interrupts whose priority levels are equal or below that of the interrupt currently being processed are accepted unless the IL is rewritten. The IL is restored to its previous status when the interrupt processing routine is terminated by the reti instruction. B-II-5-6 EPSON S1C33T01 FUNCTION PART II CORE BLOCK: ITC (Interrupt Controller) The IL is rewritten for only maskable interrupts and not for any other traps (except a reset). The IL is set to level 0 (that is, all interrupts above level 1 are enabled) by an initial reset. Note: As the S1C33000 Core CPU function, the IL allows interrupt levels to be set in the range of 0 to 15. However, since the interrupt priority register in the ITC consists of three bits, interrupt levels in each interrupt system can only be set for up to 8. Interrupt Factor Flag and Interrupt Enable Register An interrupt factor flag and an interrupt enable register are provided for each maskable interrupt factor. Interrupt factor flag The interrupt factor flag is set to "1" when the corresponding interrupt factor occurs. Reading the flag enables you to determine what caused an interrupt, making it unnecessary to resort to the CPU's trap processing. The interrupt factor flag is reset only by writing data in software. Note that the method by which this flag is reset can be selected from the software application using either of the two methods described below. This selection is accomplished using RSTONLY (D0) / Interrupt factor flag reset method select register (0x4029F). * Reset-only method (default) This method is selected (RSTONLY = "1") when initially reset. With this method, the interrupt factor flag is reset by writing "1". Although multiple interrupt factor flags are located at the same address of the interrupt control register, the interrupt factor flags for which "0" has been written can be neither set nor reset. Therefore, this method ensures that only a specific factor flag is reset. However, when using read-modify-write instructions (e.g., bset, bclr, or bnot), note that an interrupt factor flag that has been set to "1" is reset by writing. In this method, no interrupt factor flag can be set in the software application. * Read/write method This method is selected by writing "0" to RSTONLY. When this method is used, interrupt factor flags can be read and written as for other registers. Therefore, the flag is reset by writing "0" and set by writing "1". In this case, all factor flags for which "0" has been written are reset. Even in a read-modify-write operation, an interrupt factor can occur between the read and the write, so be careful when using this method. Since interrupt factor flags are not initialized by an initial reset, be sure to reset them before enabling interrupts. Note: Even when a maskable interrupt request is accepted by the CPU and control branches off to the interrupt processing routine, the interrupt factor flag is not reset. Consequently, if control is returned from the interrupt processing routine by the reti instruction without resetting the interrupt factor flag in a program, the same interrupt factor occurs again. For details about interrupt factor generating conditions, refer to the description of each peripheral circuit in this manual. S1C33T01 FUNCTION PART EPSON B-II-5-7 II CORE BLOCK: ITC (Interrupt Controller) Interrupt enable register This register controls the output of an interrupt request to the CPU. Only when the interrupt enable bit of this register is set to "1" can an interrupt request to the CPU be enabled by an occurrence of the corresponding interrupt factor. If the bit is set to "0", no interrupt request is made to the CPU even when the corresponding interrupt factor occurs. Interrupt enable bits can be read and written as for other registers. Therefore, the interrupt enable bit is reset by writing "0" and set by writing "1". By reading this register, its setup status can be checked at any time. Settings of the interrupt enable register do not affect the operation of interrupt factor flags, so when an interrupt factor occurs the interrupt factor flag is set to "1" even if the corresponding interrupt enable bit is set to "0". When initially reset, the interrupt enable register is set to "0" (interrupts are disabled). In cases when IDMA is started up by occurrence of an interrupt factor or when clearing standby mode (HALT or SLEEP mode) too, the corresponding interrupt enable bit must be set to "1". The interrupt controller outputs an interrupt request to the CPU when the following conditions are met: * An interrupt factor has occurred and the interrupt factor flag is set to "1". * The bit of the interrupt enable register for the interrupt factor that has occurred is set to "1" (interrupt enable). * The bit of the IDMA request register for the interrupt factor that has occurred is set to "0" (interrupt request). If two or more interrupt factors occur simultaneously, the interrupt factor that has the highest priority is allowed to signal an interrupt request to the CPU. (See the following section.) When these conditions are met, the interrupt controller outputs an interrupt request signal to the CPU along with the setup content (interrupt level) of the interrupt priority register for the generated interrupt system and its vector number. These signals remain asserted until the interrupt factor flag is reset to "0" or the corresponding bit of the interrupt enable register is set to "0" (interrupts are disabled) or until some other interrupt factor of higher priority occurs. They are not cleared if the CPU simply accepts the interrupt request. B-II-5-8 EPSON S1C33T01 FUNCTION PART II CORE BLOCK: ITC (Interrupt Controller) Interrupt Priority Register and Interrupt Levels The interrupt priority register is a 3-bit register provided for each interrupt system. It allows the interrupt levels of a given interrupt system to be set in the range of 0 to 7. The default priorities shown in Table 5.1 can be modified according to system requirements by this setting. The value set in this register is used by the interrupt controller and the CPU as described below. Roles of the interrupt priority register in the interrupt controller If two or more interrupt factors that have been enabled by the interrupt enable register occur simultaneously, the interrupt factor in the interrupt system whose interrupt priority register contains the greatest value is allowed by the interrupt controller to signal an interrupt request to the CPU. If an interrupt factor occurs in two or more interrupt systems having the same value, the interrupt priority is resolved according to the default priorities in Table 5.1. Interrupt factors in the same interrupt system also have their priorities resolved according to the order in Table 5.1. Other interrupt factors are kept pending until all interrupts of higher priority are accepted by the CPU. When outputting an interrupt request signal to the CPU, the interrupt controller outputs the content of the interrupt priority register to the CPU along with it. If another interrupt factor of higher priority occurs during outputting an interrupt request signal, the interrupt controller changes the vector number and interrupt level to those of the new interrupt factor before they are output to the CPU. The first interrupt request is left pending. Roles of the interrupt priority register in CPU processing The CPU compares the content of the interrupt priority register received from the interrupt controller with the interrupt level that is set in the IL of the PSR to determine whether or not to accept the interrupt request. IE bit = "1" & IL < interrupt priority register: the interrupt request is accepted IE bit = "1" & IL > interrupt priority register: the interrupt request is rejected Before interrupts can be controlled by an interrupt level, the interrupt disabling level must be written to the IL. For example, if the value written to the IL is 3, only the interrupts whose interrupt levels written in the interrupt priority register are 4 or more will be accepted. When an interrupt is accepted, the interrupt level that is set in its interrupt priority register is written to the IL. As a result, the interrupt requests below that interrupt level can no longer be accepted. If the interrupt priority register for an interrupt is set to "0", the interrupt is disabled. However, invoking IDMA by means of an interrupt factor works fine. Notes: * As the S1C33000 Core CPU function, the IL allows interrupt levels to be set in the range of 0 to 15. However, since the interrupt priority register in the C33 Core Block consists of three bits, interrupt levels in each interrupt system can only be set for up to 8. * Multiple interrupts can also be handled by rewriting the interrupt level to the IL in the interrupt processing routine. However, if the interrupt level of the IL is set below the current level and the IE is set to enable interrupts before resetting the interrupt factor flag after an interrupt has occurred, the same interrupt may occur again. S1C33T01 FUNCTION PART EPSON B-II-5-9 II CORE BLOCK: ITC (Interrupt Controller) IDMA Invocation The interrupt factors for which IDMA channel numbers are written in Table 5.1 have the function to invoke the intelligent DMA (IDMA). IDMA request register The IDMA request register is used to specify the interrupt factor that invoke an IDMA transfer. If an IDMA request bit is set to "1", the IDMA request will be generated when the corresponding interrupt factor occurs. When the IDMA request bit is set to "0", the corresponding interrupt factor does not invoke IDMA and a normal interrupt processing will be performed. The IDMA request register is set to "0" by an initial reset. The method by which this register is set can be selected from the software application using either of the two methods described below. This selection is accomplished using IDMAONLY (D1) / Flag set/reset method select register (0x4029F). * Set-only method (default) This method is selected (IDMAONLY = "1") when initially reset. With this method, an IDMA request bit is set by writing "1". Although multiple IDMA request bits are located in the IDMA request register, the IDMA request bits for which "0" has been written can be neither set nor reset. Therefore, this method ensures that only a specific IDMA request bit is set. However, when using read-modify-write instructions (e.g., bset, bclr, or bnot), note that an IDMA request bit that has been set to "1" is not reset by writing. * Read/write method This method is selected by writing "0" to IDMAONLY. When this method is used, IDMA request bits can be read and written as for other registers. Therefore, the IDMA request bit is reset by writing "0" and set by writing "1". In this case, all IDMA request bits for which "0" has been written are reset. Even in a read-modify-write operation, an IDMA request bit can be reset by the hardware between the read and the write, so be careful when using this method. IDMA enable register To perform IDMA transfer using an interrupt factor, the corresponding bit of the IDMA enable register must be set to "1". If this bit is set to "0", the interrupt factor cannot invoke the IDMA channel. The IDMA enable register is set to "0" by an initial reset. The IDMA enable register allows selection of a set method (set-only method or Read/write method) similar to the IDMA request register. This selection is accomplished using DENONLY (D2) / Flag set/reset method select register (0x4029F). See the above explanation for the set method. Invoking IDMA Before IDMA can be invoked by the occurrence of an interrupt factor, the corresponding bits of the IDMA request and IDMA enable registers must be set to "1". Then when an interrupt factor occurs, the interrupt request to the CPU is made pending and the corresponding IDMA channel is invoked. The DMA transfer is performed according to the control information of that IDMA channel. The interrupt level set by the interrupt priority register of the ITC does not affect the IDMA invocation. The IDMA request can be accepted even if the interrupt level of the CPU is higher than the set value of the interrupt priority register. However, when generating the interrupt request to the CPU after the IDMA transfer is completed, the interrupt is controlled using the interrupt level set by the interrupt priority register. An IDMA invocation request is accepted even when the interrupt enable register and PSR of the CPU is set to disable interrupts. It is also necessary that the control information for the IDMA channel has been set. B-II-5-10 EPSON S1C33T01 FUNCTION PART II CORE BLOCK: ITC (Interrupt Controller) Interrupt after IDMA transfer To generate an interrupt after completion of IDMA transfer: The interrupt request that has been kept pending can be generated after completion of the DMA transfer. In this case, the interrupt must be enabled by the IDMA control information (DINTEM = "1") in adition to the interrupt controller and the PSR register settings. However, if the transfer counter set for the selected IDMA channel does not reach the terminal count of 0 after the number of transfers set have been performed, the interrupt factor flag is reset and no interrupt request is generated. The transfer counter is decremented by 1 for each transfer performed. If the transfer counter is decremented to 0 when DINTEN is set to "1", the interrupt factor flag is not reset and the IDMA request bit is cleared to "0". An interrupt request is generated if other interrupt conditions are met. The IDMA request bit must be set up again in order for IDMA to be invoked when an interrupt factor occurs next time as well. To ensure that no unwanted IDMA request occurs, this setup must be performed after resetting the interrupt factor flag. Figure 5.2 shows the hardware sequence when DINTEN is set to "1". IDMA trigger (interrupt factor flag) Transfer counter 3 2 1 0 Data transfer Reset A signal (reset interrupt factor flag) Reset B signal (reset IDMA request bit) IDMA request bit Interrupt request Figure 5.2 Sequence when DINTEN = "1" To disable an interrupt after completion of IDMA transfer: If an interrupt has been disabled in the IDMA control information (DINTEN = "0"), the interrupt is not generated since the interrupt factor flag is reset when the transfer counter becomes 0. In this case, the IDMA request bit remains set to "1" without being cleared. However, the IDMA enable bit is cleared, so the following IDMA request by the same interrupt factor will be disabled. Figure 5.3 shows the hardware sequence when DINTEN is set to "0". IDMA trigger (interrupt factor flag) Transfer counter 3 2 1 0 Data transfer Reset A signal (reset interrupt factor flag) Reset B signal (reset IDMA request bit) Reset C signal (reset IDMA enable bit) IDMA request bit L "1" IDMA enable bit Figure 5.3 Sequence when DINTEN = "0" For details on IDMA, refer to "IDMA (Intelligent DMA)". S1C33T01 FUNCTION PART EPSON B-II-5-11 II CORE BLOCK: ITC (Interrupt Controller) HSDMA Invocation Some interrupt factors can invoke high-speed DMAs (HSDMA). HSDMA trigger set-up register The DMA block contains four channel of HSDMA circuit. Each channel allows selection of an interrupt factor as the trigger. The HSDMA trigger set-up registers are used for this selection. HSDMA Ch.0: HSD0S[3:0] (D[3:0])/HSDMA Ch.0/1 trigger set-up register (0x40298) HSDMA Ch.1: HSD1S[3:0] (D[7:4])/HSDMA Ch.0/1 trigger set-up register (0x40298) HSDMA Ch.2: HSD2S[3:0] (D[3:0])/HSDMA Ch.2/3 trigger set-up register (0x40299) HSDMA Ch.3: HSD3S[3:0] (D[7:4])/HSDMA Ch.2/3 trigger set-up register (0x40299) Table 5.2 shows the setting value and the corresponding trigger factor. Table 5.2 HSDMA Trigger Factor Value 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 Ch.0 trigger factor Ch.1 trigger factor Ch.2 trigger factor Ch.3 trigger factor Software trigger Software trigger Software trigger Software trigger K50 port input (falling edge) K51 port input (falling edge) K53 port input (falling edge) K54 port input (falling edge) K50 port input (rising edge) K51 port input (rising edge) K53 port input (rising edge) K54 port input (rising edge) Port 0 input Port 1 input Port 2 input Port 3 input Port 4 input Port 5 input Port 6 input Port 7 input 8-bit timer 0 underflow 8-bit timer 1 underflow 8-bit timer 2 underflow 8-bit timer 3 underflow 16-bit timer 0 compare B 16-bit timer 1 compare B 16-bit timer 2 compare B 16-bit timer 3 compare B 16-bit timer 0 compare A 16-bit timer 1 compare A 16-bit timer 2 compare A 16-bit timer 3 compare A 16-bit timer 4 compare B 16-bit timer 5 compare B 16-bit timer 4 compare B 16-bit timer 5 compare B 16-bit timer 4 compare A 16-bit timer 5 compare A 16-bit timer 4 compare A 16-bit timer 5 compare A Serial I/F Ch.0 Rx buffer full Serial I/F Ch.1 Rx buffer full Serial I/F Ch.0 Rx buffer full Serial I/F Ch.1 Rx buffer full Serial I/F Ch.0 Tx buffer empty Serial I/F Ch.1 Tx buffer empty Serial I/F Ch.0 Tx buffer empty Serial I/F Ch.1 Tx buffer empty A/D conversion completion A/D conversion completion A/D conversion completion A/D conversion completion Single-master I2C-bus Ch.0 read DMA request Single-master I2C-bus Ch.1 read DMA request Single-master I2C-bus Ch.2 read DMA request Single-master I2C-bus Ch.3 read DMA request Single-master I2C-bus Ch.1 write DMA request Single-master I2C-bus Ch.2 write DMA request Single-master I2C-bus Ch.3 write DMA request 1110 Single-master I2C-bus Ch.0 write DMA request Invoking HSDMA By selecting an interrupt factor with the HSDMA trigger set-up register, the HSDMA channel is invoked when the selected interrupt factor occurs. The interrupt control bits (interrupt factor flag, interrupt enable register, IDMA request register, interrupt priority register) do not affect this invocation. Since HSDMA does not reset the interrupt factor flag, an interrupt will occur when the DMA transfer is completed if the interrupt is enabled by ITC. Before HSDMA can be invoked by the occurrence of an interrupt factor, it is necessary that DMA be enabled on the HSDMA side by setting the control register for HSDMA transfer. For details about HSDMA, refer to "HSDMA (High-Speed DMA)". B-II-5-12 EPSON S1C33T01 FUNCTION PART II CORE BLOCK: ITC (Interrupt Controller) I/O Memory of Interrupt Controller Table 5.3 shows the control bits of the interrupt controller. Table 5.3 Control Bits of Interrupt Controller Register name Address Bit Port input 0/1 0040260 interrupt (B) priority register D7 D6 D5 D4 D3 D2 D1 D0 - PP1L2 PP1L1 PP1L0 - PP0L2 PP0L1 PP0L0 reserved Port input 1 interrupt level - 0 to 7 reserved Port input 0 interrupt level - 0 to 7 D7 D6 D5 D4 D3 D2 D1 D0 - PP3L2 PP3L1 PP3L0 - PP2L2 PP2L1 PP2L0 reserved Port input 3 interrupt level - 0 to 7 reserved Port input 2 interrupt level - 0 to 7 D7 D6 D5 D4 D3 D2 D1 D0 - PK1L2 PK1L1 PK1L0 - PK0L2 PK0L1 PK0L0 reserved Key input 1 interrupt level - 0 to 7 reserved Key input 0 interrupt level - 0 to 7 D7 D6 D5 D4 D3 D2 D1 D0 - PHSD1L2 PHSD1L1 PHSD1L0 - PHSD0L2 PHSD0L1 PHSD0L0 reserved High-speed DMA Ch.1 interrupt level - 0 to 7 reserved High-speed DMA Ch.0 interrupt level - 0 to 7 D7 D6 D5 D4 D3 D2 D1 D0 - PHSD3L2 PHSD3L1 PHSD3L0 - PHSD2L2 PHSD2L1 PHSD2L0 reserved High-speed DMA Ch.3 interrupt level - 0 to 7 reserved High-speed DMA Ch.2 interrupt level - 0 to 7 - PDM2 PDM1 PDM0 reserved IDMA interrupt level Port input 2/3 0040261 interrupt (B) priority register Key input 0040262 interrupt (B) priority register High-speed 0040263 DMA Ch.0/1 (B) interrupt priority register High-speed 0040264 DMA Ch.2/3 (B) interrupt priority register Name Function Setting - 0 when being read. R/W - X X X - X X X - 0 when being read. R/W - X X X - X X X - 0 when being read. R/W - X X X - X X X - 0 when being read. R/W - X X X - X X X - 0 when being read. R/W - 0 to 7 - X X X - 0 when being read. R/W - X X X - X X X - 0 when being read. R/W - X X X - X X X - 0 when being read. R/W D7-3 D2 D1 D0 16-bit timer 0/1 0040266 interrupt (B) priority register D7 D6 D5 D4 D3 D2 D1 D0 - P16T12 P16T11 P16T10 - P16T02 P16T01 P16T00 reserved 16-bit timer 1 interrupt level - 0 to 7 reserved 16-bit timer 0 interrupt level - 0 to 7 D7 D6 D5 D4 D3 D2 D1 D0 - P16T32 P16T31 P16T30 - P16T22 P16T21 P16T20 reserved 16-bit timer 3 interrupt level - 0 to 7 reserved 16-bit timer 2 interrupt level - 0 to 7 S1C33T01 FUNCTION PART EPSON Remarks - X X X - X X X IDMA interrupt 0040265 priority register (B) 16-bit timer 2/3 0040267 interrupt (B) priority register Init. R/W - 0 when being read. R/W - 0 when being read. R/W - 0 when being read. R/W - 0 when being read. R/W - 0 when being read. R/W - 0 when being read. R/W - 0 when being read. R/W B-II-5-13 II CORE BLOCK: ITC (Interrupt Controller) Table 5.3 Control Bits of Interrupt Controller (continue) Register name Address Bit 16-bit timer 4/5 0040268 interrupt (B) priority register D7 D6 D5 D4 D3 D2 D1 D0 - P16T52 P16T51 P16T50 - P16T42 P16T41 P16T40 reserved 16-bit timer 5 interrupt level - 0 to 7 reserved 16-bit timer 4 interrupt level - 0 to 7 D7 D6 D5 D4 D3 D2 D1 D0 - PSIO02 PSIO01 PSIO00 - P8TM2 P8TM1 P8TM0 reserved Serial interface Ch.0 interrupt level - 0 to 7 reserved 8-bit timer 0-5 interrupt level - 0 to 7 D7 D6 D5 D4 D3 D2 D1 D0 - PAD2 PAD1 PAD0 - PSI012 PSI011 PSI010 reserved A/D converter interrupt level - 0 to 7 reserved Serial interface Ch.1 interrupt level - 0 to 7 Clock timer 004026B D7-3 - interrupt (B) D2 PCTM2 priority register D1 PCTM1 D0 PCTM0 reserved Clock timer interrupt level Port input 4/5 004026C interrupt (B) priority register 8-bit timer, 0040269 serial I/F Ch.0 (B) interrupt priority register Serial I/F Ch.1, 004026A A/D interrupt (B) priority register Port input 6/7 004026D interrupt (B) priority register Serial I/F 004026E Ch.2/3 (B) interrupt priority register Name Function - X X X - X X X - 0 when being read. R/W - X X X - X X X - 0 when being read. R/W - 0 to 7 - X X X - Writing 1 not allowed. R/W - X X X - X X X - 0 when being read. R/W - X X X - X X X - 0 when being read. R/W - X X X - X X X - 0 when being read. R/W - 0 0 0 0 0 0 - 0 when being read. R/W R/W R/W R/W R/W R/W - 0 0 0 0 0 - 0 when being read. R/W R/W R/W R/W R/W reserved Port input 5 interrupt level - 0 to 7 reserved Port input 4 interrupt level - 0 to 7 D7 D6 D5 D4 D3 D2 D1 D0 - PP7L2 PP7L1 PP7L0 - PP6L2 PP6L1 PP6L0 reserved Port input 7 interrupt level - 0 to 7 reserved Port input 6 interrupt level - 0 to 7 D7 D6 D5 D4 D3 D2 D1 D0 - PSIO32 PSIO31 PSIO30 - PSIO22 PSIO21 PSIO20 reserved Serial interface Ch.3 interrupt level - 0 to 7 reserved Serial interface Ch.2 interrupt level - 0 to 7 - EK1 EK0 EP3 EP2 EP1 EP0 reserved Key input 1 Key input 0 Port input 3 Port input 2 Port input 1 Port input 0 DMA interrupt 0040271 enable register (B) D7-5 D4 D3 D2 D1 D0 - EIDMA EHDM3 EHDM2 EHDM1 EHDM0 reserved IDMA High-speed DMA Ch.3 High-speed DMA Ch.2 High-speed DMA Ch.1 High-speed DMA Ch.0 - 1 Enabled EPSON 0 Disabled - 1 Enabled Remarks - 0 when being read. R/W - PP5L2 PP5L1 PP5L0 - PP4L2 PP4L1 PP4L0 D7-6 D5 D4 D3 D2 D1 D0 Init. R/W - X X X - X X X D7 D6 D5 D4 D3 D2 D1 D0 Key input, 0040270 port input 0-3 (B) interrupt enable register B-II-5-14 Setting 0 Disabled - 0 when being read. R/W - 0 when being read. R/W - 0 when being read. R/W - 0 when being read. R/W - 0 when being read. R/W - 0 when being read. R/W S1C33T01 FUNCTION PART II CORE BLOCK: ITC (Interrupt Controller) Table 5.3 Control Bits of Interrupt Controller (continue) Register name Address Bit 16-bit timer 0/1 0040272 interrupt (B) enable register D7 D6 D5-4 D3 D2 D1-0 E16TC1 E16TU1 - E16TC0 E16TU0 - 16-bit timer 1 comparison A 16-bit timer 1 comparison B reserved 16-bit timer 0 comparison A 16-bit timer 0 comparison B reserved 1 Enabled D7 D6 D5-4 D3 D2 D1-0 E16TC3 E16TU3 - E16TC2 E16TU2 - 16-bit timer 3 comparison A 16-bit timer 3 comparison B reserved 16-bit timer 2 comparison A 16-bit timer 2 comparison B reserved 1 Enabled D7 D6 D5-4 D3 D2 D1-0 E16TC5 E16TU5 - E16TC4 E16TU4 - 16-bit timer 5 comparison A 16-bit timer 5 comparison B reserved 16-bit timer 4 comparison A 16-bit timer 4 comparison B reserved 1 Enabled 8-bit timer 0040275 interrupt (B) enable register D7-4 D3 D2 D1 D0 - E8TU3 E8TU2 E8TU1 E8TU0 reserved 8-bit timer 3 underflow 8-bit timer 2 underflow 8-bit timer 1 underflow 8-bit timer 0 underflow Serial I/F Ch.0/1 0040276 interrupt (B) enable register D7-6 D5 D4 D3 D2 D1 D0 - ESTX1 ESRX1 ESERR1 ESTX0 ESRX0 ESERR0 reserved SIF Ch.1 transmit buffer empty SIF Ch.1 receive buffer full SIF Ch.1 receive error SIF Ch.0 transmit buffer empty SIF Ch.0 receive buffer full SIF Ch.0 receive error Port input 4-7, 0040277 clock timer, (B) A/D interrupt enable register D7-6 D5 D4 D3 D2 D1 D0 - EP7 EP6 EP5 EP4 ECTM EADE reserved Port input 7 Port input 6 Port input 5 Port input 4 Clock timer A/D converter 8-bit timer 0040278 interrupt (B) enable register D7-2 - D1 E8TU1 D0 E8TU0 reserved 8-bit timer 5 underflow 8-bit timer 4 underflow Serial I/F 0040279 Ch.2/3 (B) interrupt enable register D7-6 D5 D4 D3 D2 D1 D0 - ESTX3 ESRX3 ESERR3 ESTX2 ESRX2 ESERR2 reserved SIF Ch.3 transmit buffer empty SIF Ch.3 receive buffer full SIF Ch.3 receive error SIF Ch.2 transmit buffer empty SIF Ch.2 receive buffer full SIF Ch.2 receive error Key input, 0040280 port input 0-3 (B) interrupt factor flag register D7-6 D5 D4 D3 D2 D1 D0 - FK1 FK0 FP3 FP2 FP1 FP0 reserved Key input 1 Key input 0 Port input 3 Port input 2 Port input 1 Port input 0 DMA interrupt factor flag register 0040281 (B) D7-5 D4 D3 D2 D1 D0 - FIDMA FHDM3 FHDM2 FHDM1 FHDM0 reserved IDMA High-speed DMA Ch.3 High-speed DMA Ch.2 High-speed DMA Ch.1 High-speed DMA Ch.0 16-bit timer 0/1 0040282 interrupt factor (B) flag register D7 D6 D5-4 D3 D2 D1-0 F16TC1 F16TU1 - F16TC0 F16TU0 - 16-bit timer 1 comparison A 16-bit timer 1 comparison B reserved 16-bit timer 0 comparison A 16-bit timer 0 comparison B reserved 16-bit timer 2/3 0040273 interrupt (B) enable register 16-bit timer 4/5 0040274 interrupt (B) enable register S1C33T01 FUNCTION PART Name Function Setting Init. R/W 0 Disabled - 1 Enabled 0 Disabled - 0 Disabled - 1 Enabled 0 Disabled - 0 Disabled - 1 Enabled 0 Disabled - - 1 Enabled 0 Disabled - 1 Enabled 0 Disabled - 1 Enabled 0 Disabled - 1 Enabled 0 Disabled - 1 Enabled 0 Disabled - 1 Factor is generated EPSON 0 No factor is generated - 1 Factor is generated 0 No factor is generated 1 Factor is generated 0 No factor is generated - 1 Factor is generated 0 No factor is generated - Remarks 0 0 - 0 0 - R/W R/W - 0 when being read. R/W R/W - 0 when being read. 0 0 - 0 0 - R/W R/W - 0 when being read. R/W R/W - 0 when being read. 0 0 - 0 0 - R/W R/W - 0 when being read. R/W R/W - 0 when being read. - 0 0 0 0 - 0 when being read. R/W R/W R/W R/W - 0 0 0 0 0 0 - 0 when being read. R/W R/W R/W R/W R/W R/W - 0 0 0 0 0 0 - 0 when being read. R/W R/W R/W R/W R/W R/W - 0 0 - 0 when being read. R/W R/W - 0 0 0 0 0 0 - 0 when being read. R/W R/W R/W R/W R/W R/W - X X X X X X - 0 when being read. R/W R/W R/W R/W R/W R/W - X X X X X - 0 when being read. R/W R/W R/W R/W R/W X X - X X - R/W R/W - 0 when being read. R/W R/W - 0 when being read. B-II-5-15 II CORE BLOCK: ITC (Interrupt Controller) Table 5.3 Control Bits of Interrupt Controller (continue) Register name Address Bit 16-bit timer 2/3 0040283 interrupt factor (B) flag register D7 D6 D5-4 D3 D2 D1-0 F16TC3 F16TU3 - F16TC2 F16TU2 - 16-bit timer 3 comparison A 16-bit timer 3 comparison B reserved 16-bit timer 2 comparison A 16-bit timer 2 comparison B reserved 1 Factor is generated D7 D6 D5-4 D3 D2 D1-0 F16TC5 F16TU5 - F16TC4 F16TU4 - 16-bit timer 5 comparison A 16-bit timer 5 comparison B reserved 16-bit timer 4 comparison A 16-bit timer 4 comparison B reserved 1 Factor is generated 8-bit timer 0040285 interrupt factor (B) flag register D7-4 D3 D2 D1 D0 - F8TU3 F8TU2 F8TU1 F8TU0 reserved 8-bit timer 3 underflow 8-bit timer 2 underflow 8-bit timer 1 underflow 8-bit timer 0 underflow Serial I/F Ch.0/1 0040286 interrupt factor (B) flag register D7-6 D5 D4 D3 D2 D1 D0 - FSTX1 FSRX1 FSERR1 FSTX0 FSRX0 FSERR0 reserved SIF Ch.1 transmit buffer empty SIF Ch.1 receive buffer full SIF Ch.1 receive error SIF Ch.0 transmit buffer empty SIF Ch.0 receive buffer full SIF Ch.0 receive error Port input 4-7, 0040287 clock timer, A/D (B) interrupt factor flag register D7-6 D5 D4 D3 D2 D1 D0 - FP7 FP6 FP5 FP4 FCTM FADE reserved Port input 7 Port input 6 Port input 5 Port input 4 Clock timer A/D converter 8-bit timer 0040288 interrupt factor (B) flag register D7-2 - D1 E8TU1 D0 E8TU0 reserved 8-bit timer 5 underflow 8-bit timer 4 underflow Serial I/F 0040289 Ch.2/3 (B) interrupt factor flag register D7-6 D5 D4 D3 D2 D1 D0 - FSTX3 FSRX3 FSERR3 FSTX2 FSRX2 FSERR2 reserved SIF Ch.3 transmit buffer empty SIF Ch.3 receive buffer full SIF Ch.3 receive error SIF Ch.2 transmit buffer empty SIF Ch.2 receive buffer full SIF Ch.2 receive error 0040290 (B) D7 D6 D5 D4 D3 D2 D1 D0 R16TC0 R16TU0 RHDM1 RHDM0 RP3 RP2 RP1 RP0 16-bit timer 1-4 0040291 IDMA request (B) register D7 D6 D5 D4 D3 D2 D1 D0 16-bit timer 5, 8-bit timer, serial I/F Ch.0 IDMA request register D7 D6 D5 D4 D3 D2 D1 D0 16-bit timer 4/5 0040284 interrupt factor (B) flag register Port input 0-3, high-speed DMA, 16-bit timer 0 IDMA request register B-II-5-16 0040292 (B) Name Function Setting 0 No factor is generated - 1 Factor is generated 0 No factor is generated - 0 No factor is generated - 1 Factor is generated 0 No factor is generated - - 1 Factor is generated 0 No factor is generated - 1 Factor is generated 0 No factor is generated - 1 Factor is generated 0 No factor is generated - 1 Factor is generated 0 No factor is generated - Init. R/W R/W R/W - 0 when being read. R/W R/W - 0 when being read. X X - X X - R/W R/W - 0 when being read. R/W R/W - 0 when being read. - X X X X - 0 when being read. R/W R/W R/W R/W - X X X X X X - 0 when being read. R/W R/W R/W R/W R/W R/W - X X X X X X - 0 when being read. R/W R/W R/W R/W R/W R/W - X X - 0 when being read. R/W R/W - X X X X X X - 0 when being read. R/W R/W R/W R/W R/W R/W 1 Factor is generated 0 No factor is generated 16-bit timer 0 comparison A 16-bit timer 0 comparison B High-speed DMA Ch.1 High-speed DMA Ch.0 Port input 3 Port input 2 Port input 1 Port input 0 1 IDMA request 0 Interrupt request 0 0 0 0 0 0 0 0 R/W R/W R/W R/W R/W R/W R/W R/W R16TC4 R16TU4 R16TC3 R16TU3 R16TC2 R16TU2 R16TC1 R16TU1 16-bit timer 4 comparison A 16-bit timer 4 comparison B 16-bit timer 3 comparison A 16-bit timer 3 comparison B 16-bit timer 2 comparison A 16-bit timer 2 comparison B 16-bit timer 1 comparison A 16-bit timer 1 comparison B 1 IDMA request 0 Interrupt request 0 0 0 0 0 0 0 0 R/W R/W R/W R/W R/W R/W R/W R/W RSTX0 RSRX0 R8TU3 R8TU2 R8TU1 R8TU0 R16TC5 R16TU5 SIF Ch.0 transmit buffer empty SIF Ch.0 receive buffer full 8-bit timer 3 underflow 8-bit timer 2 underflow 8-bit timer 1 underflow 8-bit timer 0 underflow 16-bit timer 5 comparison A 16-bit timer 5 comparison B 1 IDMA request 0 Interrupt request 0 0 0 0 0 0 0 0 R/W R/W R/W R/W R/W R/W R/W R/W EPSON Remarks X X - X X - S1C33T01 FUNCTION PART II CORE BLOCK: ITC (Interrupt Controller) Table 5.3 Control Bits of Interrupt Controller (continue) Register name Address Bit Serial I/F Ch.1, A/D, port input 4-7 IDMA request register D7 D6 D5 D4 D3 D2 D1 D0 RP7 RP6 RP5 RP4 - RADE RSTX1 RSRX1 Port input 7 Port input 6 Port input 5 Port input 4 reserved A/D converter SIF Ch.1 transmit buffer empty SIF Ch.1 receive buffer full 1 IDMA request 1 IDMA request 0 Interrupt request 0040294 (B) D7 D6 D5 D4 D3 D2 D1 D0 DE16TC0 DE16TU0 DEHDM1 DEHDM0 DEP3 DEP2 DEP1 DEP0 16-bit timer 0 comparison A 16-bit timer 0 comparison B High-speed DMA Ch.1 High-speed DMA Ch.0 Port input 3 Port input 2 Port input 1 Port input 0 1 IDMA enabled 16-bit timer 1-4 0040295 IDMA enable (B) register D7 D6 D5 D4 D3 D2 D1 D0 DE16TC4 DE16TU4 DE16TC3 DE16TU3 DE16TC2 DE16TU2 DE16TC1 DE16TU1 16-bit timer 4 comparison A 16-bit timer 4 comparison B 16-bit timer 3 comparison A 16-bit timer 3 comparison B 16-bit timer 2 comparison A 16-bit timer 2 comparison B 16-bit timer 1 comparison A 16-bit timer 1 comparison B 16-bit timer 5, 8-bit timer, serial I/F Ch.0 IDMA enable register 0040296 (B) D7 D6 D5 D4 D3 D2 D1 D0 DESTX0 DESRX0 DE8TU3 DE8TU2 DE8TU1 DE8TU0 DE16TC5 DE16TU5 Serial I/F Ch.1, A/D, port input 4-7 IDMA enable register 0040297 (B) D7 D6 D5 D4 D3 D2 D1 D0 D7 D6 D5 D4 Port input 0-3, high-speed DMA, 16-bit timer 0 IDMA enable register High-speed DMA Ch.0/1 trigger set-up register 0040293 (B) 0040298 (B) D3 D2 D1 D0 S1C33T01 FUNCTION PART Name Function Setting Init. R/W Remarks 0 0 0 0 - 0 0 0 R/W R/W R/W R/W - 0 when being read. R/W R/W R/W 0 IDMA disabled 0 0 0 0 0 0 0 0 R/W R/W R/W R/W R/W R/W R/W R/W 1 IDMA enabled 0 IDMA disabled 0 0 0 0 0 0 0 0 R/W R/W R/W R/W R/W R/W R/W R/W SIF Ch.0 transmit buffer empty SIF Ch.0 receive buffer full 8-bit timer 3 underflow 8-bit timer 2 underflow 8-bit timer 1 underflow 8-bit timer 0 underflow 16-bit timer 5 comparison A 16-bit timer 5 comparison B 1 IDMA enabled 0 IDMA disabled 0 0 0 0 0 0 0 0 R/W R/W R/W R/W R/W R/W R/W R/W DEP7 DEP6 DEP5 DEP4 - DEADE DESTX1 DESRX1 Port input 7 Port input 6 Port input 5 Port input 4 reserved A/D converter SIF Ch.1 transmit buffer empty SIF Ch.1 receive buffer full 1 IDMA enabled 0 IDMA disabled 0 0 0 0 - 0 0 0 R/W R/W R/W R/W - 0 when being read. R/W R/W R/W HSD1S3 HSD1S2 HSD1S1 HSD1S0 High-speed DMA Ch.1 trigger set-up 0 1 2 3 4 5 6 7 8 9 A B C D E 0 1 2 3 4 5 6 7 8 9 A B C D E 0 0 0 0 R/W 0 0 0 0 R/W HSD0S3 HSD0S2 HSD0S1 HSD0S0 High-speed DMA Ch.0 trigger set-up EPSON 0 Interrupt request - - 1 IDMA enabled 0 IDMA disabled Software trigger K51 input (falling edge) K51 input (rising edge) Port 1 input Port 5 input 8-bit timer Ch.1 underflow 16-bit timer Ch.1 compare B 16-bit timer Ch.1 compare A 16-bit timer Ch.5 compare B 16-bit timer Ch.5 compare A SI/F Ch.1 Rx buffer full SI/F Ch.1 Tx buffer empty A/D conversion completion Single-master I2C-bus Ch.1 read DMA request Single-master I2C-bus Ch.1 write DMA request Software trigger K50 input (falling edge) K50 input (rising edge) Port 0 input Port 4 input 8-bit timer Ch.0 underflow 16-bit timer Ch.0 compare B 16-bit timer Ch.0 compare A 16-bit timer Ch.4 compare B 16-bit timer Ch.4 compare A SI/F Ch.0 Rx buffer full SI/F Ch.0 Tx buffer empty A/D conversion completion Single-master I2C-bus Ch.0 read DMA request Single-master I2C-bus Ch.0 write DMA request B-II-5-17 II CORE BLOCK: ITC (Interrupt Controller) Table 5.3 Control Bits of Interrupt Controller (continue) Register name Address Bit Name High-speed DMA Ch.2/3 trigger set-up register D7 D6 D5 D4 HSD3S3 HSD3S2 HSD3S1 HSD3S0 0040299 (B) D3 D2 D1 D0 Flag set/reset method select register 004029F (B) Port input 8/9 00402A0 interrupt (B) priority register Port input 00402A1 10/11 interrupt (B) priority register B-II-5-18 HSD2S3 HSD2S2 HSD2S1 HSD2S0 Function High-speed DMA Ch.3 trigger set-up High-speed DMA Ch.2 trigger set-up Setting 0 1 2 3 4 5 6 7 8 9 A B C D E 0 1 2 3 4 5 6 7 8 9 A B C D E Software trigger K54 input (falling edge) K54 input (rising edge) Port 3 input Port 7 input 8-bit timer Ch.3 underflow 16-bit timer Ch.3 compare B 16-bit timer Ch.3 compare A 16-bit timer Ch.5 compare B 16-bit timer Ch.5 compare A SI/F Ch.1 Rx buffer full SI/F Ch.1 Tx buffer empty A/D conversion completion Remarks 0 0 0 0 R/W 0 0 0 0 R/W - 1 - R/W 1 R/W 1 R/W - X X X - X X X - 0 when being read. R/W - X X X - X X X - 0 when being read. R/W Single-master I2C-bus Ch.1 read DMA request Single-master I2C-bus Ch.1 write DMA request Software trigger K53 input (falling edge) K53 input (rising edge) Port 2 input Port 6 input 8-bit timer Ch.2 underflow 16-bit timer Ch.2 compare B 16-bit timer Ch.2 compare A 16-bit timer Ch.4 compare B 16-bit timer Ch.4 compare A SI/F Ch.0 Rx buffer full SI/F Ch.0 Tx buffer empty A/D conversion completion Single-master I2C-bus Ch.0 read DMA request Single-master I2C-bus Ch.0 write DMA request D7-3 - reserved - 0 RD/WR D2 DENONLY IDMA enable register set method 1 Set only selection D1 IDMAONLY IDMA request register set method 1 Set only 0 RD/WR selection D0 RSTONLY Interrupt factor flag reset method 1 Reset only 0 RD/WR selection D7 D6 D5 D4 D3 D2 D1 D0 - PP9L2 PP9L1 PP9L0 - PP8L2 PP8L1 PP8L0 reserved Port input 9 interrupt level - 0 to 7 reserved Port input 8 interrupt level - 0 to 7 D7 D6 D5 D4 D3 D2 D1 D0 - PP11L2 PP11L1 PP11L0 - PP10L2 PP10L1 PP10L0 reserved Port input 11 interrupt level - 0 to 7 reserved Port input 10 interrupt level - 0 to 7 EPSON Init. R/W - 0 when being read. R/W - 0 when being read. R/W S1C33T01 FUNCTION PART II CORE BLOCK: ITC (Interrupt Controller) Table 5.3 Control Bits of Interrupt Controller (continue) Register name Address Bit Port input 00402A2 12/13 interrupt (B) priority register D7 D6 D5 D4 D3 D2 D1 D0 - PP13L2 PP13L1 PP13L0 - PP12L2 PP12L1 PP12L0 reserved Port input 12 interrupt level - 0 to 7 reserved Port input 13 interrupt level - 0 to 7 D7 D6 D5 D4 D3 D2 D1 D0 - PP15L2 PP15L1 PP15L0 - PP14L2 PP14L1 PP14L0 eserved Port input 15 interrupt level - 0 to 7 reserved Port input 14 interrupt level - 0 to 7 D7 D6 D5 D4 D3 D2 D1 D0 - P16T72 P16T71 P16T70 - P16T62 P16T61 P16T60 reserved 16-bit timer 7 interrupt level - 0 to 7 reserved 16-bit timer 6 interrupt level - 0 to 7 D7 D6 D5 D4 D3 D2 D1 D0 - P16T72 P16T71 P16T70 - P16T62 P16T61 P16T60 reserved 16-bit timer 9 interrupt level - 0 to 7 reserved 16-bit timer 8 interrupt level - 0 to 7 D7 D6 D5 D4 D3 D2 D1 D0 EP15 EP14 EP13 EP12 EP11 EP10 EP9 EP8 Port input 15 Port input 14 Port input 13 Port input 12 Port input 11 Port input 10 Port input 9 Port input 8 1 Enabled 16-bit timer 6/7 00402A7 D7 interrupt (B) D6 enable register D5-4 D3 D2 D1-0 E16TC7 E16TU7 - E16TC6 E16TU6 - 16-bit timer 7 comparison A 16-bit timer 7 comparison B reserved 16-bit timer 6 comparison A 16-bit timer 6 comparison B reserved 1 Enabled 16-bit timer 8/9 00402A8 D7 interrupt (B) D6 enable register D5-4 D3 D2 D1-0 E16TC9 E16TU9 - E16TC8 E16TU8 - 16-bit timer 9 comparison A 16-bit timer 9 comparison B reserved 16-bit timer 8 comparison A 16-bit timer 8 comparison B reserved 1 Enabled Port input 00402A9 interrupt factor (B) flag register FP15 FP14 FP13 FP12 FP11 FP10 FP9 FP8 Port input 15 Port input 14 Port input 13 Port input 12 Port input 11 Port input 10 Port input 9 Port input 8 1 Factor is generated F16TC7 F16TU7 - F16TC6 F16TU6 - 16-bit timer 7 comparison A 16-bit timer 7 comparison B reserved 16-bit timer 6 comparison A 16-bit timer 6 comparison B reserved 1 Factor is generated Port input 00402A3 14/15 interrupt (B) priority register 16-bit timer 6/7 00402A4 interrupt (B) priority register 16-bit timer 8/9 00402A5 interrupt (B) priority register Port input 00402A6 interrupt (B) enable register D7 D6 D5 D4 D3 D2 D1 D0 16-bit timer 6/7 00402AA D7 interrupt factor (B) D6 flag register D5-4 D3 D2 D1-0 S1C33T01 FUNCTION PART Name Function EPSON Setting - 0 when being read. R/W - X X X - X X X - 0 when being read. R/W - X X X - X X X - 0 when being read. R/W - X X X - X X X - 0 when being read. R/W 0 Disabled 0 0 0 0 0 0 0 0 R/W R/W R/W R/W R/W R/W R/W R/W 0 Disabled 0 0 - 0 0 - R/W R/W - 0 when being read. R/W R/W - 0 when being read. 0 0 - 0 0 - R/W R/W - 0 when being read. R/W R/W - 0 when being read. 0 No factor is generated 0 0 0 0 0 0 0 0 R/W R/W R/W R/W R/W R/W R/W R/W 0 No factor is generated 0 0 - 0 0 - R/W R/W - 0 when being read. R/W R/W - 0 when being read. 0 Disabled - 0 Disabled - 1 Enabled 0 Disabled - - 1 Factor is generated 0 No factor is generated - Remarks - X X X - X X X - 1 Enabled Init. R/W - 0 when being read. R/W - 0 when being read. R/W - 0 when being read. R/W - 0 when being read. R/W B-II-5-19 II CORE BLOCK: ITC (Interrupt Controller) Table 5.3 Control Bits of Interrupt Controller (continue) Register name Address Bit Name Function Setting 16-bit timer 8/9 00402AB D7 interrupt factor (B) D6 flag register D5-4 D3 D2 D1-0 F16TC9 F16TU9 - F16TC8 F16TU8 - 16-bit timer 9 comparison A 16-bit timer 9 comparison B reserved 16-bit timer 8 comparison A 16-bit timer 8 comparison B reserved 1 Factor is generated Port input IDMA request register 0 No factor is generated - 1 Factor is generated 0 No factor is generated - Init. R/W Remarks 0 0 - 0 0 - R/W R/W - 0 when being read. R/W R/W - 0 when being read. 00402AC (B) D7 D6 D5 D4 D3 D2 D1 D0 RP15 RP14 RP13 RP12 RP11 RP10 RP9 RP8 Port input 15 Port input 14 Port input 13 Port input 12 Port input 11 Port input 10 Port input 9 Port input 8 1 IDMA request 0 Interrupt request 0 0 0 0 0 0 0 0 R/W R/W R/W R/W R/W R/W R/W R/W 16-bit timer 6-9 00402AD IDMA request (B) register D7 D6 D5 D4 D3 D2 D1 D0 R16TC9 R16TU9 R16TC8 R16TU8 R16TC7 R16TU7 R16TC6 R16TU6 16-bit timer 9 comparison A 16-bit timer 9 comparison B 16-bit timer 8 comparison A 16-bit timer 8 comparison B 16-bit timer 7 comparison A 16-bit timer 7 comparison B 16-bit timer 6 comparison A 16-bit timer 6 comparison B 1 IDMA request 0 Interrupt request 0 0 0 0 0 0 0 0 R/W R/W R/W R/W R/W R/W R/W R/W Port input IDMA enable register 00402AE (B) D7 D6 D5 D4 D3 D2 D1 D0 DEP15 DEP14 DEP13 DEP12 DEP11 DEP10 DEP9 DEP8 Port input 15 Port input 14 Port input 13 Port input 12 Port input 11 Port input 10 Port input 9 Port input 8 1 IDMA enabled 0 IDMA disabled 0 0 0 0 0 0 0 0 R/W R/W R/W R/W R/W R/W R/W R/W 16-bit timer 6-9 00402AF IDMA enable (B) register D7 D6 D5 D4 D3 D2 D1 D0 DE16TC9 DE16TU9 DE16TC8 DE16TU8 DE16TC7 DE16TU7 DE16TC6 DE16TU6 16-bit timer 9 comparison A 16-bit timer 9 comparison B 16-bit timer 8 comparison A 16-bit timer 8 comparison B 16-bit timer 7 comparison A 16-bit timer 7 comparison B 16-bit timer 6 comparison A 16-bit timer 6 comparison B 1 IDMA enabled 0 IDMA disabled 0 0 0 0 0 0 0 0 R/W R/W R/W R/W R/W R/W R/W R/W Single-master 00402B0 I2C-bus Ch.0/1 (B) interrupt priority register D7 D6 D5 D4 D3 D2 D1 D0 - P12C12 P12C11 P12C10 - P12C02 P12C01 P12C00 reserved I2CSMST Ch.1 interrupt level - 0 to 7 - 0 when being read. R/W reserved I2CSMST Ch.0 interrupt level - 0 to 7 - X X X - X X X - 0 0 0 0 0 0 - 0 when being read. R/W R/W R/W R/W R/W R/W - 0 0 0 0 0 0 - 0 when being read. R/W R/W R/W R/W R/W R/W - 0 0 0 0 - 0 when being read. R/W R/W R/W R/W Single-master 00402B1 D7-6 - I2C-bus Ch.0/1 (B) D5 E12CW1 interrupt D4 E12CR1 ebable D3 E12CI1 register D2 E12CW0 D1 E12CR0 D0 E12CI0 reserved I2CSMST Ch.1 write DMA request I2CSMST Ch.1 read DMA request I2CSMST Ch.1 request I2CSMST Ch.0 write DMA request I2CSMST Ch.0 read DMA request I2CSMST Ch.0 request Single-master 00402B2 D7-6 - I2C-bus Ch.0/1 (B) D5 F12CW1 interrupt D4 F12CR1 factor flag D3 F12CI1 register D2 F12CW0 D1 F12CR0 D0 F12CI0 reserved I2CSMST Ch.1 write DMA request I2CSMST Ch.1 read DMA request I2CSMST Ch.1 request I2CSMST Ch.0 write DMA request I2CSMST Ch.0 read DMA request I2CSMST Ch.0 request Single-master 00402B3 D7-4 - I2C-bus Ch.0/1 (B) D3 R12CW1 IDMA D2 R12CR1 request D1 R12CW0 register D0 R12CR0 reserved I2CSMST Ch.1 write DMA request 1 IDMA I2CSMST Ch.1 read DMArequest request I2CSMST Ch.0 write DMA request I2CSMST Ch.0 read DMA request B-II-5-20 EPSON - 1 Enabled 0 Disabled - 1 Factor is generated 0 No factor is generated - 0 Interrupt request - 0 when being read. R/W S1C33T01 FUNCTION PART II CORE BLOCK: ITC (Interrupt Controller) Table 5.3 Control Bits of Interrupt Controller (continue) Register name Address Bit Name Function Setting Single-master 00402B4 D7-4 - reserved I2C-bus Ch.0/1 (B) D3 DE12CW1 I2CSMST Ch.1 write DMA request 1 IDMA enabled IDMA D2 DE12CR1 I2CSMST Ch.1 read DMArequest enable D1 DE12CW0 I2CSMST Ch.0 write DMA request register D0 DE12CR0 I2CSMST Ch.0 read DMA request - 0 IDMA disabled TTBR write 004812D protect register (B) D7 D6 D5 D4 D3 D2 D1 D0 TBRP7 TBRP6 TBRP5 TBRP4 TBRP3 TBRP2 TBRP1 TBRP0 TTBR register write protect TTBR loworder register DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 TTBR15 TTBR14 TTBR13 TTBR12 TTBR11 TTBR10 TTBR09 TTBR08 TTBR07 TTBR06 TTBR05 TTBR04 TTBR03 TTBR02 TTBR01 TTBR00 Trap table base address [15:10] Trap table base address [9:0] Fixed at 0 DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 TTBR33 TTBR32 TTBR31 TTBR30 TTBR2B TTBR2A TTBR29 TTBR28 TTBR27 TTBR26 TTBR25 TTBR24 TTBR23 TTBR22 TTBR21 TTBR20 Trap table base address [31:28] Fixed at 0 TTBR highorder register 0048134 (HW) 0048136 (HW) Trap table base address [27:16] Writing 01011001(0x59) removes the TTBR (0x48134) write protection. Writing other data sets the write protection. The initial value is set. 0x0C0 Init. R/W - 0 0 0 0 Remarks - 0 when being read. R/W R/W R/W R/W 0 0 0 0 0 0 0 0 W Undefined in read. 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 R/W R 0 when being read. Writing 1 not allowed. 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 R 0 when being read. Writing 1 not allowed. R/W The following collectively explains the basic functions of each control register/bit. For details about individual interrupt systems and the contents classified by an interrupt factor, refer to the descriptions of the peripheral circuits in this manual. Pxxx2-Pxxx0: Interrupt priority register Set the priority levels of each interrupt system in the range of 0 to 7. If this register is set below the IL value of the PSR, no interrupt is generated. The value of this register when initially reset is indeterminate. S1C33T01 FUNCTION PART EPSON B-II-5-21 II CORE BLOCK: ITC (Interrupt Controller) Exxx: Interrupt enable register Enable or disable interrupt generation to the CPU. Write "1": Interrupt enabled Write "0": Interrupt disabled Read: Valid Interrupts are enabled when the corresponding bits of this register are set to "1" and are disabled when the bits are set to "0". For the interrupt factors used to request IDMA invocation or clear the standby mode, the corresponding interrupt enable register bit must be set for interrupt enable. When initially reset, this register is set to "0" (interrupt disabled). Fxxx: Interrupt factor flag Indicate the status of interrupt factors generated. When read Read "1": Interrupt factor generated Read "0": No interrupt factor generated When written using the reset-only method (default) Write "1": Factor flag is reset Write "0": Invalid When written using the read/write method Write "1": Factor flag is set Write "0": Factor flag is reset The interrupt factor flag is set to "1" when an interrupt factor occurs in each peripheral circuit. If the following conditions are met at this time, an interrupt is generated to the CPU: 1. The corresponding bit of the interrupt enable register is set to "1". 2. No other interrupt request of higher priority has occurred. 3. The IE bit of the PSR is set to "1" (interrupt enabled). 4. The corresponding interrupt priority register is set to a level higher than the CPU's interrupt level (IL). When using an interrupt factor to request IDMA, note that even when the above conditions are met, no interrupt request to the CPU is generated for the interrupt factor that has occurred. If interrupts are enabled at the setting of IDMA, an interrupt is generated under the above conditions after the data transfer by IDMA is completed. The interrupt factor flag is always set to "1" when an interrupt factor occurs no matter how the interrupt enable and interrupt priority registers are set. In order for the next interrupt to be accepted after interrupt generation, the interrupt factor flag must be reset and the PSR must be set up again (by setting the IL below the level indicated by the interrupt priority register and setting the IE bit to "1" or executing the reti instruction). The interrupt factor flag can only be reset by a write instruction in the software application. If the PSR is again set up to accept interrupts (or the reti instruction is executed) without resetting the interrupt factor flag, the same interrupt may occur again. Note also that the value to be written to reset the flag is "1" when using the reset-only method (RSTONLY = "1") and "0" when using the read/write method (RSTONLY = "0"). Be careful not to confuse these two conditions. The interrupt factor flag becomes indeterminate when initially reset, so be sure to reset the flag in the software application. B-II-5-22 EPSON S1C33T01 FUNCTION PART II CORE BLOCK: ITC (Interrupt Controller) Rxxx: IDMA request register Specify whether or not to invoke IDMA when an interrupt factor occurs. When using the set-only method (default) Write "1": IDMA request Write "0": Not changed Read: Valid When using the read/write method Write "1": IDMA request Write "0": Interrupt request Read: Valid If a bit of this register is set to "1", IDMA is invoked when the corresponding interrupt factor occurs and the programmed data transfer is performed. If the register bit is set to "0", regular interrupt processing is performed, without ever invoking IDMA. For details about IDMA, refer to "IDMA (Intelligent DMA)". If interrupts are enabled on the IDMA side and the transfer counter reaches the terminal count of 0 after completion of DMA transfer, the IDMA request register is reset to "0" and an interrupt request for the interrupt factor that enabled IDMA invoking is generated. After an initial reset, this register is set to "0" (Interrupt is requested). DExxx: IDMA enable register Enable or disable the IDMA request. When using the set-only method (default) Write "1": IDMA enabled Write "0": Not changed Read: Valid When using the read/write method Write "1": IDMA enabled Write "0": IDMA disabled Read: Valid If a bit of this register is set to "1", the IDMA request by the interrupt factor is enabled. If the register bit is set to "0", the IDMA request is disabled. After an initial reset, this register is set to "0" (IDMA is disabled). RSTONLY: Interrupt factor flag reset method selection (D0) / Flag set/reset method select register (0x4029F) Select the method for resetting the interrupt factor flag. Write "1": Reset-only method Write "0": Read/write method Read: Valid With the reset-only method, the interrupt factor flag is reset by writing "1". The interrupt factor flags for which "0" has been written can neither be set nor reset. Therefore, this method ensures that only a specific factor flag is reset. However, when using read-modify-write instructions (e.g., bset, bclr, or bnot), note that an interrupt factor flag that has been set to "1" is reset by writing. This method cannot be used to set any interrupt factor flag in the software application. The read/write method is selected by writing "0" to RSTONLY. When this method is selected, interrupt factor flags can be read and written as for other registers. Therefore, the flag is reset by writing "0" and set by writing "1". In this case all factor flags for which "0" has been written are reset. Even in a read-modify-write operation, an interrupt factor can occur between read and write instructions, so be careful when using this method. After an initial reset, RSTONLY is set to "1" (reset-only method). S1C33T01 FUNCTION PART EPSON B-II-5-23 II CORE BLOCK: ITC (Interrupt Controller) IDMAONLY: IDMA request register set method selection (D1) / Flag set/reset method select register (0x4029F) Select the method for setting the IDMA request registers. Write "1": Set-only method Write "0": Read/write method Read: Valid With the set-only method, IDMA request bits are set by writing "1". The IDMA request bits for which "0" has been written can neither be set nor reset. Therefore, this method ensures that only a specific IDMA request bit is set. However, when using read-modify-write instructions (e.g., bset, bclr, or bnot), note that an IDMA request bit that has been set to "1" is not reset by writing. The read/write method is selected by writing "0" to IDMAONLY. When this method is selected, IDMA request bits can be read and written as for other registers. Therefore, the IDMA request bit is reset by writing "0" and set by writing "1". In this case all IDMA request bits for which "0" has been written are reset. Even in a read-modify-write operation, an IDMA request bit can be reset by the hardware between the read and the write, so be careful when using this method. After an initial reset, IDMAONLY is set to "1" (set-only method). DENONLY: IDMA enable register set method selection (D2) / Flag set/reset method select register (0x4029F) Select the method for setting the IDMA enable registers. Write "1": Set-only method Write "0": Read/write method Read: Valid With the set-only method, IDMA enable bits are set by writing "1". The IDMA enable bits for which "0" has been written can neither be set nor reset. Therefore, this method ensures that only a specific IDMA enable bit is set. However, when using read-modify-write instructions (e.g., bset, bclr, or bnot), note that an IDMA enable bit that has been set to "1" is not reset by writing. The read/write method is selected by writing "0" to DENONLY. When this method is selected, IDMA enable bits can be read and written as for other registers. Therefore, the IDMA enable bit is reset by writing "0" and set by writing "1". In this case all IDMA enable bits for which "0" has been written are reset. Even in a read-modify-write operation, an interrupt enable bit can be reset by the hardware between the read and the write, so be careful when using this method. After an initial reset, DENONLY is set to "1" (set-only method). TBRP7-TBRP0: TTBR register write protection ([D[7:0]) / TTBR write-protect register (0x4812D) Remove write protection for the TTBR register. Write 0x59: Write protection is removed Write not the above: No operation (write protected) Read: Valid Before writing to the TTBR register, set TBRP to "0x59" to remove the write protection. Then when data is written to the most significant byte (0x48137) of the TTBR, the register once again becomes write-protected. After an initial reset, TBRP is set to "0x0" (write protected). B-II-5-24 EPSON S1C33T01 FUNCTION PART II CORE BLOCK: ITC (Interrupt Controller) TTBR09-TTBR00: Trap table base address TTBR15-TTBR10: Trap table base address TTBR2B-TTBR20: Trap table base address TTBR33-TTBR30: Trap table base address [9:0] (D[9:0]) / TTBR low-order register (0x48134[HW]) [15:10] (D[F:A]) / TTBR low-order register (0x48134[HW]) [27:16] (D[B:0]) / TTBR high-order register (0x48136[HW]) [31:28] (D[F:C]) / TTBR high-order register (0x48136[HW]) Set the starting address of the trap table. TTBR0 and TTBR3 are read-only registers and are fixed to "0". For this reason, the trap table starting address always begins with a 1KB boundary address. The TTBR registers normally are write-protected to prevent them from being inadvertently rewritten. To remove this write protect function, another register, TBRP (D[F:8]) / TTBR write-protect register (0x4812D), is provided. A write to the TTBR register is enabled by writing "0x59" to TBRP and is disabled back again by a write to the most significant byte of the TTBR register (0x48137). Consequently, writes to the TTBR register need to begin with the low-order half-word first. However, since occurrences of NMI and the like between writes of the low-order and high-order half-words cause malfunctions, it is recommended that the register be written in words. After an initial reset, the TTBR register is set to the boot address (0x0C00000). Programming Notes (1) In cases when an interrupt factor that is used for restarting from the standby mode has been set to invoke IDMA, IDMA is started up by the interrupt at its occurrence. In SLEEP mode, the high-speed (OSC3) oscillation circuit also starts operating. However, if an interrupt to be generated upon completion of IDMA is disabled at the setting of IDMA side, no interrupt request is signaled to the CPU. Therefore, the CPU remains idle until the next interrupt request is generated. (2) As the S1C33000 Core CPU function, the IL allows interrupt levels to be set in the range of 0 to 15. However, since the interrupt priority register in the C33 Core Block consists of three bits, interrupt levels in each interrupt system can only be set for up to 8. (3) When the reset-only method is used to reset the interrupt factor flag (by writing "1"), if a read-modify-write instruction (e.g., bset, bclr, or bnot) is executed, the other interrupt factor flags at the same address that have been set to "1" are reset by a write. This requires caution. In cases when the read/write method is used to reset the interrupt factor flag (by writing "0"), all factor flags for which "0" has been written are reset. When a read-modify-write operation is performed, an interrupt factor may occur between reads and writes, so be careful when using this method. The same applies to the set-only method and read/write method for the IDMA request and IDMA enable registers. (4) After an initial reset, the interrupt factor flags and interrupt priority registers all become indeterminate. To prevent unwanted interrupts or IDMA requests from being generated inadvertently, be sure to reset these flags and registers in the software application. (5) To prevent another interrupt from being generated for the same factor again after generation of an interrupt, be sure to reset the interrupt factor flag before enabling interrupts and setting the PSR again or executing the reti instruction. S1C33T01 FUNCTION PART EPSON B-II-5-25 II CORE BLOCK: ITC (Interrupt Controller) THIS PAGE IS BLANK. B-II-5-26 EPSON S1C33T01 FUNCTION PART II CORE BLOCK: CLG (Clock Generator) II-6 CLG (Clock Generator) This section describes the method for controlling the system clock. Configuration of Clock Generator The C33 Core Block has a built-in clock generator that consists of a high-speed oscillation circuit (OSC3) and a PLL. The high-speed (OSC3) oscillation circuit generates the main clock for the CPU and internal peripheral circuits (e.g., DMA, serial interface, single-master I2 C-bus core, programmable timer, and A/D converter). Furthermore, the clock generator can input a sub clock, such as low-speed (OSC1, 32.768 kHz, Typ.) clock generated by the Peripheral Block, for the clock timer and for operating the CPU at a low clock speed in order to reduce current consumption. Note: When the Peripheral Block including the low-speed (OSC1) oscillation circuit is used, the source clocks for the CPU and the peripheral circuits (e.g., DMA, serial interface, single-master I 2C-bus core, programmable timer, and A/D converter) can be selected between the OSC3 clock and the OSC1 clock independently. For details, refer to "Setting and Switching Over the CPU Operating Clock" in this section and "Prescaler" and "Low-Speed (OSC1) oscillation circuit" of the Peripheral Block. Figure 6.1 shows the configuration of the clock generator. CLG SOSC3 CLKDT[1:0] Oscillation ON/OFF OSC3 OSC4 SLEEP High-speed (OSC3) oscillation circuit PLLC PLLS0 PLLS1 Divider 1/1 to 1/8 CLKCHG Clock switch HALT, HALT2, SLEEP HALT2, SLEEP PLL SLEEP To CPU To BCU and DMA To peripheral circuits To peripheral circuits and clock timer Peripheral Block SOSC1 Oscillation ON/OFF OSC1 OSC2 Low-speed (OSC1) oscillation circuit Figure 6.1 Configuration of Clock Generator After an initial reset, the output (OSC3 clock) of the high-speed (OSC3) oscillation circuit is set for the CPU operating clock. When the low-speed (OSC1) oscillation circuit is used, the CPU operating clock can be switched to the output (OSC1 clock) of the low-speed (OSC1) oscillation circuit in a program. Furthermore, each oscillation circuit can be stopped in a program. If the OSC3 clock is unnecessary such as when performing clock processing only, set the OSC1 clock for operation of the CPU and turn off the high-speed (OSC3) oscillation circuit in order to reduce current consumption. In addition, when SLEEP mode is set, the high-speed (OSC3) oscillation circuit is turned off, greatly reducing current consumption (no internal units except for the clock timer need to be operated). S1C33T01 FUNCTION PART EPSON B-II-6-1 II CORE BLOCK: CLG (Clock Generator) I/O Pins of Clock Generator Table 6.1 lists the I/O pins of the clock generator. Table 6.1 I/O Pins of Clock Generator Pin name I/O OSC3 I OSC4 PLLC PLLS[1:0] Function High-speed (OSC3) oscillation input pin Crystal/ceramic oscillation or external clock input O High-speed (OSC3) oscillation output pin Crystal/ceramic oscillation (open when external clock is used) - Capasitor connecting pin for PLL I PLL set-up pins PLLS1 PLLS0 fin (fOSC3) fout (fPSCIN) 1 1 10-30MHz 20-60MHz 1 10-25MHz 20-50MHz 2 0 1 10-15MHz 40-60MHz 1 10-12.5MHz 40-50MHz 2 0 0 PLL is not used L 3 1: ROM-less model with 3.3 V 0.3 V operating voltage 2: ROM built-in model, or 3.0 V 0.3 V operating voltage 3: When the PLL is not used, the OSC3 clock is used directly. High-Speed (OSC3) Oscillation Circuit The high-speed (OSC3) oscillation circuit generates the main clock for the CPU and internal peripheral circuits (e.g., DMA, serial interface, Single-master I2 C-bus core, programmable timer, and A/D converter). This circuit can be a crystal or a ceramic oscillation circuit. Optionally an external clock source can be used. Figure 6.2 shows the structure of the high-speed (OSC3) oscillation circuit. CG2 Rf CD2 VSS OSC3 X'tal2 or Ceramic OSC4 VDD VSS fOSC3 Oscillation circuit control signal SLEEP status (1) Crystal/ceramic oscillation circuit OSC3 fOSC3 External clock Oscillation circuit control signal SLEEP status N.C. OSC4 (2) External clock input Figure 6.2 High-Speed (OSC3) Oscillation Circuit When using a crystal or a ceramic oscillation for this circuit, connect a crystal (X'tal2) or ceramic (Ceramic) resonator and feedback resistor (Rf) between the OSC3 and OSC4 pins, and two capacitors (CG2 , CD2 ) between the OSC3 pin and VSS and the OSC4 pin and VSS, respectively. When an external clock is used, leave the OSC4 pin open and input a square-wave clock to the OSC3 pin. The range of oscillation frequencies is 10 MHz to 33 MHz. This frequency range also applies when an external clock is used. Note: When using the PLL, the oscillation frequency range changes according to the PLL setting. See Table 6.2. For details on oscillation characteristics and the external clock input characteristics, refer to "Electrical Characteristics". B-II-6-2 EPSON S1C33T01 FUNCTION PART II CORE BLOCK: CLG (Clock Generator) PLL The PLL inputs the OSC3 clock and multiply its frequency. The multiply mode should be set using the PLLS[1:0] pins according to the OSC3 clock frequency. PLLS1 1 PLLS0 1 Mode x2 0 1 x4 0 0 PLL is not used Table 6.2 Setting the PLLS[1:0] Pins fin (OSC3 clock) fout Notes 10 to 30 MHz 20 to 60 MHz ROM-less model with 3.3V0.3V operating voltage 10 to 25 MHz 20 to 50 MHz 10 to 15 MHz 40 to 60 MHz ROM built-in model, or 3.3V0.3V 10 to 12.5 MHz 40 to 50 MHz operating voltage - Not used Figure 6.3 shows a basic external connection diagram for the PLL pins. VDD PLLS1 PLLS0 100 pF PLL 4.7 k PLLC 10 pF VSS Figure 6.3 External Connection Diagram Note: When the PLL is not used, the OSC3 oscillation output is used as the source clock. In this case, the oscillation frequency range is 10 MHz to 33 MHz. Furthermore, leave the PLLC pin open. Controlling Oscillation The high-speed (OSC3) oscillation circuit can be turned on or off using SOSC3 (D1) / Power control register (0x40180). The oscillation circuit is turned off by writing "0" to SOSC3 and turned back on again by writing "1". SOSC3 is set to "1" at initial reset, so the oscillation circuit is turned on. Notes: * When the high-speed (OSC3) oscillation circuit is used as the clock source for the CPU operating clock, it cannot be turned off. In this case, writing "0" to SOSC3 is ignored. Note also that writing to SOSC3 is allowed only when the power-control register protection flag is set to "0b10010110". * Immediately after the oscillation circuit is turned on, a certain period of time is required for oscillation to stabilize (for 3.3-V crystal resonator, this time is 10 ms max.). To prevent the device from operating erratically, do not use the clock until its oscillation has stabilized. The high-speed (OSC3) oscillation circuit turns off when the CPU is set in SLEEP mode. S1C33T01 FUNCTION PART EPSON B-II-6-3 II CORE BLOCK: CLG (Clock Generator) Setting and Switching Over the CPU Operating Clock Setting the CPU operating clock frequency When operating the CPU with the high-speed (OSC3) clock, the operating frequency can be switched over in four steps. Use CLKDT[1:0] (D[7:6]) / Power control register (0x40180) for this switchover. Table 6.3 Setting of CPU Operating Clock CLKDT1 CLKDT0 1 1 0 0 1 0 1 0 Division ratio fout/8 fout/4 fout/2 fout/1 fout: PLL output The clock thus set becomes the system clock, which is used as the CPU operating clock and the bus clock. At initial reset, the division ratio is set to fout/1, so the CPU is operated directly by the PLL output clock. Since the device's current consumption can be decreased by reducing the CPU operating speed, switch over the operating frequency as necessary. This setting is effective only for the high-speed (OSC3) clock, and has no effect when the low-speed (OSC1) clock is used as the system clock. Note: Writing to CLKDT[1:0] is effective only when the power-control register protection flag is set to "0b10010110". Switching over the CPU operating clock Note: The CPU operating clock can be switched from OSC3 to OSC1 only when the low-speed (OSC1) oscillation circuit in the Peripheral Block is used. After an initial reset, the CPU starts operating using the OSC3 clock. All internal peripheral circuits also operate. In cases in which some peripheral circuits (e.g., programmable timer, serial interface, and A/D converter) that are clocked by the OSC3 clock do not need to be operate and the CPU can process its jobs at a low clock speed, the CPU operating clock can be switched to the OSC1 clock, thereby reducing current consumption. Use CLKCHG (D2) / Power control register (0x40180) to switch over the operating clock. Procedure for switching over from the OSC3 clock to the OSC1 clock 1. Turn on the low-speed (OSC1) oscillation circuit (by writing "1" to SOSC1). 2. Wait until the OSC1 oscillation stabilizes (three seconds or more). 3. Change the CPU operating clock (by writing "0" to CLKCHG). 4. Turn off the high-speed (OSC3) oscillation circuit (by writing "0" to SOSC3). Steps 1 and 2 are required only when the low-speed (OSC1) oscillation circuit is inactive. Notes: * Use separate instructions to switch from OSC3 to OSC1 and turn the OSC3 oscillation off. If these operations are processed simultaneously using one instruction, the CPU may operate erratically. * Make sure the operation of the peripheral circuits, such as the programmable timer, A/D converter, and serial interface, which are clocked by the OSC3 oscillation circuit, is terminated before the OSC3 oscillation is turned off in order to prevent them from operating erratically. Procedure for switching over from the OSC1 clock to the OSC3 clock 1. Turn on the high-speed (OSC3) oscillation circuit (by writing "1" to SOSC3). 2. Wait until the OSC3 oscillation stabilizes (10 ms or more for a 3.3-V crystal resonator). 3. Switch over the CPU operating clock (by writing "1" to CLKCHG). Note: The operating clock switchover by CLKCHG is effective only when both oscillation circuits are on and the power-control register protection flag is set to "0b10010110". B-II-6-4 EPSON S1C33T01 FUNCTION PART II CORE BLOCK: CLG (Clock Generator) Power-Control Register Protection Flag The power-control register at address 0x40180, which is used to control the oscillation circuits and the CPU operating clock, is normally disabled against writing in order to prevent it from malfunctioning due to unnecessary writing. To enable this register for writing, the power-control register protection flag CLGP[7:0] (D[7:0]) / Power-control protection register (0x4019E) must be set to "0b10010110". Note that this setting allows for the power-control register (0x40180) to be written to only once, so all bits of CLGP[7:0] are cleared to "0" when this address is written to. Therefore, CLGP[7:0] must be set to "0b10010110" each time the power-control register (0x40180) is written to. The flag CLGP[7:0] does not affect the readout from the power-control register (0x40180). Operation in Standby Mode In HALT mode, which is entered by executing the halt instruction, the high-speed (OSC3) and low-speed (OSC1) oscillation circuits both retain their status before HALT mode is entered. Under normal conditions, therefore, there is no need to control the oscillation circuits before entering or after exiting HALT mode. The high-speed (OSC3) oscillation circuit stops operating after SLEEP mode is entered, which is done by executing the slp (sleep) instruction. If the high-speed (OSC3) oscillation circuit was operating before SLEEP mode was entered, it automatically starts oscillating again after SLEEP mode is exited. In addition, if the CPU was operating using the OSC3 clock before SLEEP mode was entered, the CPU starts operating using the OSC3 clock again even after SLEEP mode is exited. The high-speed (OSC3) oscillation circuit requires 10 ms max. (when using a 3.3-V crystal resonator) for its oscillation to stabilize after oscillation starts. To prevent the CPU from operating erratically upon restart during this period, the C33 Core Block is designed to allow the OSC3 clock supply to the CPU to be disabled in the hardware after SLEEP mode is exited. Use 8T1ON (D2) / Clock option register (0x40190) to select this function. Use 8-bit programmable timer 1 to set the waitting time before clock supply is started. The processing procedure and the operations to be performed when this function is used are as follows: 1. Disable the 8-bit programmable timer 1 interrupt. 2. Preset the initial count to 8-bit programmable timer 1. Set a value that will provide an ample stabilization waiting time. It is also necessary to set the input clock for 8bit programmable timer 1 using the prescaler. 3. Enable the interrupt used to exit SLEEP mode. Before enabling the interrupt, be sure to reset the interrupt factor flag. 4. Write "0" to 8T1ON (turn on the function for waiting until the oscillation stabilizes after exiting SLEEP mode). 5. Activate 8-bit programmable timer 1 to start counting. 6. Enter SLEEP mode using the slp instruction. : SLEEP mode : 7. Exit SLEEP mode using an NMI, input port, or timer interrupt. 8. The high-speed (OSC3) oscillation circuit starts oscillating when SLEEP mode is exited. 8-bit programmable timer 1 also is made to start counting using the OSC3 clock. 9. 8-bit programmable timer 1 underflows. The operating clock supply to the CPU is begun by the underflow signal, so that the CPU restarts. For details on how to control the 8-bit programmable timer, prescaler, and interrupts, refer to the description of each item in this manual. Note: The function for waiting until the high-speed (OSC3) oscillation is stabilized by 8T1ON is effective only when SLEEP mode is exited. Writing to 8T1ON is effective only when the power-control register protection flag is set to "0b10010110". S1C33T01 FUNCTION PART EPSON B-II-6-5 II CORE BLOCK: CLG (Clock Generator) I/O Memory of Clock Generator Table 6.4 lists the control bits of clock generator. Table 6.4 Control Bits of Clock Generator Register name Address Bit Name Power control register D7 D6 CLKDT1 CLKDT0 System clock division ratio selection D5 D4-3 D2 D1 D0 PSCON - CLKCHG SOSC3 SOSC1 Prescaler On/Off control reserved 1 OSC3 CPU operating clock switch High-speed (OSC3) oscillation On/Off 1 On Low-speed (OSC1) oscillation On/Off 1 On D7-4 D3 D2 D1 D0 - HLT2OP 8T1ON - PF1ON - HALT clock option OSC3-stabilize waiting function reserved OSC1 external output control CLGP7 CLGP6 CLGP5 CLGP4 CLGP3 CLGP2 CLGP1 CLGP0 Power control register protect flag Writing 10010110 (0x96) removes the write protection of the power control register (0x40180) and the clock option register(0x40190). Writing another value set the write protection. Clock option register 0040180 (B) 0040190 (B) Power control 004019E protect register (B) D7 D6 D5 D4 D3 D2 D1 D0 Function Setting CLKDT[1:0] 1 1 1 0 0 1 0 0 1 On Remarks 0 0 R/W 1 0 1 1 1 R/W - Writing 1 not allowed. R/W R/W R/W - - 0 1 0 0 - 0 when being read. R/W R/W - Do not write 1. R/W 0 0 0 0 0 0 0 0 R/W 1 On 1 Off 0 Off 0 On - 1 On Init. R/W Division ratio 1/8 1/4 1/2 1/1 0 Off - 0 OSC1 0 Off 0 Off 0 Off SOSC1: Low-speed (OSC1) oscillation control (D0) / Power control register (0x40180) Turns the low-speed (OSC1) oscillation on or off. Write "1": OSC1 oscillation turned on Write "0": OSC1 oscillation turned off Read: Valid The oscillation of the low-speed (OSC1) oscillation circuit is stopped by writing "0" to SOSC1, and started again by writing "1". Since a duration of maximum three seconds is required for oscillation to stabilize after the oscillation has been restarted, at least this length of time must pass before the OSC1 clock can be used. Writing to SOSC1 is allowed only when CLGP[7:0] is set to "0b10010110". Note also that if the CPU is operating using the OSC1 clock, writing "0" to SOSC1 is ignored and the oscillation is not turned off. At initial reset, SOSC1 is set to "1" (OSC1 oscillation turned on). Note: This control bit is effective only when the low-speed (OSC1) oscillation circuit in the Peripheral Block is used. SOSC3: High-speed (OSC3) oscillation control (D1) / Power control register (0x40180) Turns the high-speed (OSC3) oscillation on or off. Write "1": OSC3 oscillation turned on Write "0": OSC3 oscillation turned off Read: Valid The oscillation of the high-speed (OSC3) oscillation circuit is stopped by writing "0" to SOSC3, and started again by writing "1". Since a duration of maximum 10 ms (for a 3.3-V crystal resonator) is required for oscillation to stabilize after the oscillation has been restarted, at least this length of time must pass before the OSC3 clock can be used. Writing to SOSC3 is allowed only when CLGP[7:0] is set to "0b10010110". Note also that if the CPU is operating using the OSC3 clock, writing "0" to SOSC3 is ignored and the oscillation is not turned off. At initial reset, SOSC3 is set to "1" (OSC3 oscillation turned on). B-II-6-6 EPSON S1C33T01 FUNCTION PART II CORE BLOCK: CLG (Clock Generator) CLKCHG: CPU operating clock switch (D2) / Power control register (0x40180) Selects the CPU operating clock. Write "1": OSC3 clock Write "0": OSC1 clock Read: Valid The OSC3 clock is selected as the CPU operating clock by writing "1" to CLKCHG, and OSC1 is selected by writing "0". The operating clock can be switched over in this way only when both the high-speed (OSC3) and lowspeed (OSC1) oscillation circuits are on. In addition, writing to CLKCHG is effective only when CLGP[7:0] is set to "0b10010110". Immediately after the oscillation circuit has started oscillating, wait for the oscillation to stabilize before switching over the CPU operating clock. At initial reset, CLKCHG is set to "1" (OSC3 clock). Note: This control bit is effective only when the low-speed (OSC1) oscillation circuit in the Peripheral Block is used. CLKDT1-CLKDT0: CPU operating frequency selection (D[7:6]) / Power control register (0x40180) Select the CPU operating clock frequency. Table 6.5 Setting of CPU Operating Clock CLKDT1 CLKDT0 Division ratio 1 1 0 0 1 0 1 0 fout/8 fout/4 fout/2 fout/1 fout: PLL output This setting is effective when the CPU is operated using the high-speed (OSC3) clock and has no effect on the lowspeed (OSC1) clock. Writing to CLKDT[1:0] is allowed only when CLGP[7:0] is set to "0b10010110". At initial reset, CLKDT is set to "0" (fout/1). 8T1ON: High-speed (OSC3) oscillation waiting function (D2) / Clock option register (0x40190) Sets the function for waiting until the high-speed (OSC3) oscillation stabilizes after SLEEP mode is exited. Write "0": On Write "1": Off Read: Valid After SLEEP mode is exited, the high-speed (OSC3) oscillation waiting function is effective by writing "0" to 8T1ON. For this function to be used, the waiting time must be set in 8-bit programmable timer 1 to allow it to start counting before entering SLEEP mode. After SLEEP mode is exited, the OSC3 clock is not supplied to the CPU until 8-bit programmable timer 1 underflows. This function will not work when 8T1ON is set to "1". The high-speed (OSC3) oscillation waiting function is effective only when SLEEP mode is exited. Writing to 8T1ON is effective only when CLGP[7:0] is set to "0b10010110". When writing to 8T1ON, always be sure to write "1" to the reserved bits at address 0x40190. At initial reset, 8T1ON is set to "1" (Off). HLT2OP: HALT clock option (D3) / Clock option register (0x40190) Select a HALT condition (basic mode or HALT2 mode). Write "1": HALT2 mode Write "0": Basic mode Read: Valid When "1" is written to HLT2OP, the CPU will enter HALT2 mode when the HALT instruction is executed. When "0" is written, the CPU will enter basic mode. Writing to HLT2OP is allowed only when CLGP[7:0] is set to "0b10010110". At initial reset, HLT2OP is set to "0" (basic mode). S1C33T01 FUNCTION PART EPSON B-II-6-7 II CORE BLOCK: CLG (Clock Generator) The following shows the operating status in HALT mode (basic mode and HALT2 mode) and SLEEP mode. Table 6.6 Operating Status in Standby Mode Standby mode HALT mode Basic mode Operating status * * * * * * HALT2 mode * * * * * * SLEEP mode * * * * * The CPU clock is stopped. (CPU stop status) BCU clock is supplied. (BCU run status) DMA clock is not stopped. (DMA run status) Clocks for the peripheral circuits maintain the status before entering HALT mode. (run or stop) The high-speed oscillation circuit maintains the status before entering HALT mode. The low-speed oscillation circuit maintains the status before entering HALT mode. The CPU clock is stopped. (CPU stop status) BCU clock is stopped. (BCU stop status) DMA clock is stopped. (DMA stop status) Clocks for the peripheral circuits maintain the status before entering HALT mode. (run or stop) The high-speed oscillation circuit maintains the status before entering HALT mode. The low-speed oscillation circuit maintains the status before entering HALT mode. Reactivating factor * * Reset, NMI Enabled (not masked) interrupt factors In HALT2 mode, the A/D, SIO, and timers (8-bit and 16-bit) continue operating without stopping, but since the synchronization clock is stopped, these circuits cannot be restarted. A restart is possible only in the case of: * Interrupt from input pin * Interrupt from clock timer * NMI * Reset The CPU clock is stopped. (CPU stop status) * Reset, NMI BCU clock is stopped. (BCU stop status) * Enabled (not masked) input port Clocks for the peripheral circuits are stopped. interrupt factors The high-speed oscillation circuit is stopped. * Clock timer interrupt when the The low-speed oscillation circuit maintains the low-speed oscillation circuit is status before entering SLEEP mode. being operated CLGP7-CLGP0:Power-control register protection flag ([D[7:0]) / Power control protection register (0x4019E) These bits remove the protection against writing to addresses 0x40180 and 0x40190. Write "0b10010110": Write protection removed Write other than the above: No operation (write-protected) Read: Valid Before writing to address 0x40180 or 0x40190, set CLGP[7:0] to "0b10010110" to remove the protection against writing to that address. This clearing of write protection is effective for only one writing, so the bits are cleared to "0b00000000" by one writing. Therefore, CLGP[7:0] must be set each time the protected address is written to. At initial reset, CLGP is set to "0b00000000" (write-protected). B-II-6-8 EPSON S1C33T01 FUNCTION PART II CORE BLOCK: CLG (Clock Generator) Programming Notes (1) Immediately after the high-speed (OSC3) oscillation circuit is turned on, a certain period of time is required for oscillation to stabilize (for a 3.3-V crystal resonator, this time is 10 ms max.). To prevent the device from operating erratically, do not use the clock until its oscillation has stabilized. In particular, if the CPU is set in SLEEP mode during operation using the OSC3 clock, the high-speed (OSC3) oscillation circuit is turned off during in SLEEP mode and starts oscillating again after SLEEP mode is exited. To prevent the CPU from operating erratically at restart due to an unstable OSC3 clock, set a sufficient stabilization waiting time in 8-bit programmable timer 1 to turn on the oscillation stabilization waiting function after SLEEP mode is exited before entering SLEEP mode. (2) The oscillation circuit used for the CPU operating clock cannot be turned off. (3) The CPU operating clock can only be switched over when both the OSC3 and OSC1 oscillation circuits are on. Furthermore, when turning off an oscillation circuit that has become unnecessary as a result of the CPU operating clock switchover, be sure to use separate instructions for switchover and oscillation turnoff. If these two operations are processed simultaneously using one instruction, the CPU may operate erratically. (4) If the high-speed (OSC3) oscillation circuit is turned off, all peripheral circuits operated using the OSC3 clock will be inactive. (5) If the OSC3 clock is unnecessary, use the OSC1 clock to operate the CPU and turn the high-speed (OSC3) oscillation circuit off. This helps reduce current consumption. (6) In the SLEEP state, the oscillation circuit clock stops, and in the HALT2 mode, the clock supply to peripheral circuits is stopped. When restarting from this state, interrupt input from a port can be used as a trigger, but functionally, this interrupt input operates as level input. Therefore, a level input based restart is performed even in the case of set edge input. Restart operation is as follows for rising and falling edges. In case of rising edge interrupt setting: Restarted by high level input. In case of falling edge interrupt setting: Restarted by low level input. In normal operation, a restart begins following the elapse of a given time after execution of the SLP instruction, but when restart by a falling (rising) level (edge) is set, the operation is as follows. * The restart is effected immediately after execution of the SLP instruction. * As ports are already at the low level when the SLP instruction is executed, there is no falling (rising) edge, and therefore the SLP state is entered only momentarily, and the restart is effected immediately afterwards. There was a synchronization circuit using a clock signal in the port input circuit, and as the clock is stopped in the SLEEP state or HALT2 state, the configuration provided for this synchronization circuit to be bypassed when restarting. Therefore, a restart is effected when the input level from a port is active by level. Consequently, the system design should assume that a restart by means of port input from the SLEEP state or HALT2 state is performed by level. S1C33T01 FUNCTION PART EPSON B-II-6-9 II CORE BLOCK: CLG (Clock Generator) THIS PAGE IS BLANK. B-II-6-10 EPSON S1C33T01 FUNCTION PART II CORE BLOCK: DBG (Debug Unit) II-7 DBG (Debug Unit) Debug Circuit The C33 Core Block has a built-in debug circuit. This functional block is provided to simply realize an advanced software development environment. Note: The debug circuit does not work during normal operation. To construct a software development environment using the debug circuit, the S5U1C33000H (In-Circuit Debugger for S1C33 Family) is separately required. I/O Pins of Debug Circuit Six pins used to exclusively connect the S5U1C33000H (In-Circuit Debugger for S1C33 Family) are reserved for the debug circuit. The I/O voltage level of these pins is 3.3 V. Table 7.1 lists the I/O pins of the debug circuit. Table 7.1 I/O Pins of Debug Circuit Pin name I/O Pull-up Initial status Voltage level DCLK O - 1 3.3 V Clock output for debugging Function DST2 O - 0 3.3 V Status output 2 for debugging DST1 O - 1 3.3 V Status output 1 for debugging DST0 O - 1 3.3 V Status output 0 for debugging DPCO O - 1 3.3 V PC output for debugging DSIO I/O With pull-up 1 (Input) 3.3 V Serial I/O for debugging The DCLK, DST[2:0] and DPCO outputs are extended functions of the I/O port pins P14, P1[2:0] and P13, respectively. At initial reset, these pins are set as debug signal outputs. If the debug circuit is not used, these pins can be used for I/O ports or the redefined peripheral circuits by writing "0" to CFEX[1:0] (D[1:0]) / Port function extension register (0x402DF). Refer to "I/O Ports (P Ports)" for the pin functions. Note: When these pins are set as debug signal outputs, only the S5U1C33000H (In-Circuit Debugger for S1C33 Family) can be connected to these pins. Leave these pins open if the S5U1C33000H is not connected. For connecting the S5U1C33000H, refer to the "S5U1C33000H Manual (S1C33 Family In-Circuit Debugger)". Furthermore, the pin status is fixed as shown in the above table after a user reset. S1C33T01 FUNCTION PART EPSON B-II-7-1 II CORE BLOCK: DBG (Debug Unit) THIS PAGE IS BLANK. B-II-7-2 EPSON S1C33T01 FUNCTION PART S1C33T01 FUNCTION PART III PERIPHERAL BLOCK III PERIPHERAL BLOCK: INTRODUCTION III-1 INTRODUCTION The peripheral block consists of a prescaler, four channels of 8-bit programmable timer, six channels of 16-bit programmable timer including watchdog timer function, two channels of serial interface, input and I/O ports, lowspeed (OSC1) oscillation circuit and a clock timer. C33 DMA Block C33 Internal Memory Block C33_DMA (IDMA, HSDMA) CORE_PAD Internal RAM (Area 0) C33_CORE (CPU, BCU, ITC, CLG, DBG) Pads C33_SBUS C33_PERI C33_ADC (A/D converter) (Prescaler, 8-bit timer, 16-bit timer, Clock timer, Serial interface, I2CSMST,Ports) C33 Analog Block PERI_PAD C33 Core Block Pads C33 Peripheral Block Figure 1.1 Peripheral Block S1C33T01 FUNCTION PART EPSON B-III-1-1 III PERIPHERAL BLOCK: INTRODUCTION THIS PAGE IS BLANK. B-III-1-2 EPSON S1C33T01 FUNCTION PART III PERIPHERAL BLOCK: PRESCALER III-2 PRESCALER Configuration of Prescaler The prescaler divides the source clock (OSC3/PLL output clock or OSC1 clock) to generate the clocks for the internal peripheral circuits. The prescaler division ratio can be selected for each peripheral circuit in a program. A clock control circuit to control the clock supply to each peripheral circuit is also included. The following are the peripheral circuits that use the output clock: * 16-bit programmable timers 9 to 0 (and watchdog timer) * 8-bit programmable timers 5 to 0 (and serial interface) * A/D converter Figure 2.1 shows the configuration of the prescaler. For details on control of each peripheral circuit, refer to each corresponding section in this manual. PSCON OSC3 or PLL output clock Selector OSC1 clock 1/1 1/2 1/4 Division ratio select register Prescaler output control 1/8 1/16 1/32 1/64 1/128 1/256 1/512 1/1024 1/2048 1/4096 Selector Control register 16-bit programmable timer 9-0 8-bit programmable timer 5-0 A/D converter Figure 2.1 Configuration of Prescaler and Clock Control Circuit Source Clock The source clock for the prescaler can be selected using PSCDT0 (D0) / Prescaer clock select register (0x40181). When PSCDT0 = "0", the OSC3 clock (when the PLL is not used) or the PLL output clock (when the PLL is used) is selected. When PSCDT0 = "1", the OSC1 clock (typ. 32 kHz) is selected. At initial reset, the OSC3/PLL output clock is selected. Note: For the prescaler clock, the clock source same as the CPU operating clock must be selected. For details on how to control the oscillation circuit and CPU operating clock, refer to "CLG (Clock Generator)". At initial reset, the OSC3 clock is selected. The source clock is supplied to the prescaler by writing "1" to PSCON (D5) / Power control register (0x40180). At initial reset, PSCON is set to "1", so the prescaler is in an operating state. If all of said peripheral circuits can be turned off, stop the prescaler by writing "0" to PSCON. This helps to reduce current consumption. S1C33T01 FUNCTION PART EPSON B-III-2-1 III PERIPHERAL BLOCK: PRESCALER Selecting Division Ratio and Output Control for Prescaler The prescaler has registers for selecting the division ratio and clock output control separately for each peripheral circuit described above, allowing each peripheral circuit to be controlled. The prescaler's division ratio can be selected from among eight ratios set for each peripheral circuit through the use of the division ratio selection bits. The divided clock is output to the corresponding peripheral circuit by writing "1" to the clock control bit. Table 2.1 Control Bits of the Clock Control Registers Peripheral circuit Division ratio selection bit 16-bit programmable timer 0 16-bit programmable timer 1 16-bit programmable timer 2 16-bit programmable timer 3 16-bit programmable timer 4 16-bit programmable timer 5 16-bit programmable timer 6 16-bit programmable timer 7 16-bit programmable timer 8 16-bit programmable timer 9 8-bit programmable timer 0 8-bit programmable timer 1 8-bit programmable timer 2 8-bit programmable timer 3 8-bit programmable timer 4 8-bit programmable timer 5 A/D converter 1 to 4: See Table 2.2. Clock control bit P16TS0[2:0] (D[2:0]/0x40147)1 P16TS1[2:0] (D[2:0]/0x40148)1 P16TS2[2:0] (D[2:0]/0x40149)1 P16TS3[2:0] (D[2:0]/0x4014A)1 P16TS4[2:0] (D[2:0]/0x4014B)1 P16TS5[2:0] (D[2:0]/0x4014C)1 P16TS6[2:0] (D[2:0]/0x40141)1 P16TS7[2:0] (D[2:0]/0x40142)1 P16TS8[2:0] (D[2:0]/0x40143)1 P16TS9[2:0] (D[2:0]/0x40144)1 P8TS0[2:0] (D[2:0]/0x4014D)2 P8TS1[2:0] (D[6:4]/0x4014D)3 P8TS2[2:0] (D[2:0]/0x4014E)4 P8TS3[2:0] (D[6:4]/0x4014E)2 P8TS4[2:0] (D[2:0]/0x40145)4 P8TS5[2:0] (D[6:4]/0x40145)2 PSAD[2:0] (D[2:0]/0x4014F)2 P16TON0 (D3/0x40147) P16TON1 (D3/0x40148) P16TON2 (D3/0x40149) P16TON3 (D3/0x4014A) P16TON4 (D3/0x4014B) P16TON5 (D3/0x4014C) P16TON6 (D3/0x40141) P16TON6 (D3/0x40142) P16TON6 (D3/0x40143) P16TON6 (D3/0x40144) P8TON0 (D3/0x4014D) P8TON1 (D7/0x4014D) P8TON2 (D3/0x4014E) P8TON3 (D7/0x4014E) P8TON (D3/0x40145) P8TON (D7/0x40145) PSONAD (D3/0x4014F) Table 2.2 Division Ratio Bit setting 7 6 1 /4096 /1024 2 /256 /128 3 /4096 /2048 4 /4096 /2048 ( = Source clock selected by PSCDT0) 5 4 3 2 1 0 /256 /64 /1024 /64 /64 /32 /512 /32 /16 /16 /256 /16 /4 /8 /128 /8 /2 /4 /64 /4 /1 /2 /32 /2 Current consumption can be reduced by turning off the clock output to the peripheral circuits that are unused among those listed above. Note: In the following cases, the prescaler output clock may contain a hazard: * If, when a clock is output, its division ratio is changed * When the clock output is switched between on and off * When the oscillation circuit is turned off or the CPU operating clock is switched over Before performing these operations, make sure the 16-bit and 8-bit programmable timers and the A/D converter are turned off. B-III-2-2 EPSON S1C33T01 FUNCTION PART III PERIPHERAL BLOCK: PRESCALER Source Clock Output to 8-Bit Programmable Timer In addition to the divided clock, the prescaler can output the source clock directly to the 8-bit programmable timer. This function can be selected for each 8-bit timer using P8TPCKx bit. 8-bit timer 0: P8TPCK0 (D0) / 8-bit timer clock select register (0x40146) 8-bit timer 1: P8TPCK1 (D1) / 8-bit timer clock select register (0x40146) 8-bit timer 2: P8TPCK2 (D2) / 8-bit timer clock select register (0x40146) 8-bit timer 3: P8TPCK3 (D3) / 8-bit timer clock select register (0x40146) 8-bit timer 4: P8TPCK4 (D0) / 8-bit timer clock select register (0x40140) 8-bit timer 5: P8TPCK5 (D1) / 8-bit timer clock select register (0x40140) When P8TPCKx is set to "1", the prescaler input clock (/1) is selected for the 8-bit timer x operating clock. The clock output is controlled by the P8TONx bit even if P8TPCKx is set to "1". When P8TPCKx is "0", the divided clock that is selected by P8TSx[2:0] will be output to the 8-bit timer x. At initial reset, P8TPCKx is set to "0" and P8TSx[2:0] becomes effective. I/O Memory of Prescaler Table 2.3 shows the control bits of the prescaler. Table 2.3 Control Bits of Prescaler Register name Address Bit Name Function 8-bit timer clock select register 0040140 (B) D7-2 - D1 P8TPCK5 D0 P8TPCK4 reserved 8-bit timer 5 clock selection 8-bit timer 4 clock selection 16-bit timer 6 clock control register 0040141 (B) D7-4 D3 D2 D1 D0 - P16TON6 P16TS62 P16TS61 P16TS60 reserved 16-bit timer 6 clock control 16-bit timer 6 clock division ratio selection 16-bit timer 7 clock control register 0040142 (B) D7-4 D3 D2 D1 D0 - P16TON7 P16TS72 P16TS71 P16TS70 reserved 16-bit timer 7 clock control 16-bit timer 7 clock division ratio selection 16-bit timer 8 clock control register 0040143 (B) D7-4 D3 D2 D1 D0 - P16TON8 P16TS82 P16TS81 P16TS80 reserved 16-bit timer 8 clock control 16-bit timer 8 clock division ratio selection S1C33T01 FUNCTION PART EPSON Setting - 1 /1 1 /1 0 Divided clk. 0 Divided clk. - 1 On P16TS6[2:0] 1 1 1 1 1 0 1 0 1 1 0 0 0 1 1 0 1 0 0 0 1 0 0 0 0 Off Division ratio /4096 /1024 /256 /64 /16 /4 /2 /1 - 1 On P16TS7[2:0] 1 1 1 1 1 0 1 0 1 1 0 0 0 1 1 0 1 0 0 0 1 0 0 0 0 Off Division ratio /4096 /1024 /256 /64 /16 /4 /2 /1 - 1 On P16TS8[2:0] 1 1 1 1 1 0 1 0 1 1 0 0 0 1 1 0 1 0 0 0 1 0 0 0 0 Off Division ratio /4096 /1024 /256 /64 /16 /4 /2 /1 Init. R/W Remarks - 0 0 - 0 when being read. R/W : selected by Prescaler clock R/W select register (0x40181) - 0 0 0 0 - 0 when being read. R/W R/W : selected by Prescaler clock select register (0x40181) - 0 0 0 0 - 0 when being read. R/W R/W : selected by Prescaler clock select register (0x40181) - 0 0 0 0 - 0 when being read. R/W R/W : selected by Prescaler clock select register (0x40181) B-III-2-3 III PERIPHERAL BLOCK: PRESCALER Table 2.3 Register name Address Bit Name Control Bits of Prescaler (continue) Function 16-bit timer 9 clock control register 0040144 (B) D7-4 D3 D2 D1 D0 - P16TON9 P16TS92 P16TS91 P16TS90 reserved 16-bit timer 9 clock control 16-bit timer 9 clock division ratio selection 8-bit timer 4/5 clock control register 0040145 (B) D7 D6 D5 D4 P8TON5 P8TS52 P8TS51 P8TS50 8-bit timer 5 clock control 8-bit timer 5 clock division ratio selection D3 D2 D1 D0 P8TON4 P8TS42 P8TS41 P8TS40 8-bit timer 4 clock control 8-bit timer 4 clock division ratio selection 8-bit timer clock select register 0040146 (B) D7-4 D3 D2 D1 D0 - P8TPCK3 P8TPCK2 P8TPCK1 P8TPCK0 reserved 8-bit timer 3 clock selection 8-bit timer 2 clock selection 8-bit timer 1 clock selection 8-bit timer 0 clock selection 16-bit timer 0 clock control register 0040147 (B) D7-4 D3 D2 D1 D0 - P16TON0 P16TS02 P16TS01 P16TS00 reserved 16-bit timer 0 clock control 16-bit timer 0 clock division ratio selection 16-bit timer 1 clock control register 0040148 (B) D7-4 D3 D2 D1 D0 - P16TON1 P16TS12 P16TS11 P16TS10 reserved 16-bit timer 1 clock control 16-bit timer 1 clock division ratio selection 16-bit timer 2 clock control register 0040149 (B) D7-4 D3 D2 D1 D0 - P16TON2 P16TS22 P16TS21 P16TS20 reserved 16-bit timer 2 clock control 16-bit timer 2 clock division ratio selection B-III-2-4 EPSON Setting Init. R/W - 1 On P16TS9[2:0] 1 1 1 1 1 0 1 0 1 1 0 0 0 1 1 0 1 0 0 0 1 0 0 0 0 Off Division ratio /4096 /1024 /256 /64 /16 /4 /2 /1 1 On P8TS5[2:0] 1 1 1 1 1 0 1 0 1 1 0 0 0 1 1 0 1 0 0 0 1 0 0 0 1 On P8TS4[2:0] 1 1 1 1 1 0 1 0 1 1 0 0 0 1 1 0 1 0 0 0 1 0 0 0 0 Off Division ratio /256 /128 /64 /32 /16 /8 /4 /2 0 Off Division ratio /4096 /2048 /64 /32 /16 /8 /4 /2 - 1 1 1 1 /1 /1 /1 /1 0 0 0 0 Divided clk. Divided clk. Divided clk. Divided clk. - 1 On P16TS0[2:0] 1 1 1 1 1 0 1 0 1 1 0 0 0 1 1 0 1 0 0 0 1 0 0 0 0 Off Division ratio /4096 /1024 /256 /64 /16 /4 /2 /1 - 1 On P16TS1[2:0] 1 1 1 1 1 0 1 0 1 1 0 0 0 1 1 0 1 0 0 0 1 0 0 0 0 Off Division ratio /4096 /1024 /256 /64 /16 /4 /2 /1 - 1 On P16TS2[2:0] 1 1 1 1 1 0 1 0 1 1 0 0 0 1 1 0 1 0 0 0 1 0 0 0 0 Off Division ratio /4096 /1024 /256 /64 /16 /4 /2 /1 Remarks - 0 0 0 0 - 0 when being read. R/W R/W : selected by Prescaler clock select register (0x40181) 0 0 0 0 R/W R/W : selected by Prescaler clock select register (0x40181) 8-bit timer 5 can generate the clock for the serial I/F Ch.3. 0 0 0 0 R/W R/W : selected by Prescaler clock select register (0x40181) 8-bit timer 4 can generate the clock for the serial I/F Ch.2. - 0 0 0 0 - R/W R/W R/W R/W 0 when being read. : selected by Prescaler clock select register (0x40181) - 0 0 0 0 - 0 when being read. R/W R/W : selected by Prescaler clock select register (0x40181) 16-bit timer 0 can be used as a watchdog timer. - 0 0 0 0 - 0 when being read. R/W R/W : selected by Prescaler clock select register (0x40181) - 0 0 0 0 - 0 when being read. R/W R/W : selected by Prescaler clock select register (0x40181) S1C33T01 FUNCTION PART III PERIPHERAL BLOCK: PRESCALER Table 2.3 Register name Address Bit Name Control Bits of Prescaler (continue) Function 16-bit timer 3 clock control register 004014A D7-4 - (B) D3 P16TON3 D2 P16TS32 D1 P16TS31 D0 P16TS30 reserved 16-bit timer 3 clock control 16-bit timer 3 clock division ratio selection 16-bit timer 4 clock control register 004014B D7-4 - (B) D3 P16TON4 D2 P16TS42 D1 P16TS41 D0 P16TS40 reserved 16-bit timer 4 clock control 16-bit timer 4 clock division ratio selection 16-bit timer 5 clock control register 004014C D7-4 - (B) D3 P16TON5 D2 P16TS52 D1 P16TS51 D0 P16TS50 reserved 16-bit timer 5 clock control 16-bit timer 5 clock division ratio selection 8-bit timer 0/1 clock control register 004014D (B) 8-bit timer 1 clock control 8-bit timer 1 clock division ratio selection D7 D6 D5 D4 D3 D2 D1 D0 S1C33T01 FUNCTION PART P8TON1 P8TS12 P8TS11 P8TS10 P8TON0 P8TS02 P8TS01 P8TS00 8-bit timer 0 clock control 8-bit timer 0 clock division ratio selection EPSON Setting - 1 On P16TS3[2:0] 1 1 1 1 1 0 1 0 1 1 0 0 0 1 1 0 1 0 0 0 1 0 0 0 0 Off Division ratio /4096 /1024 /256 /64 /16 /4 /2 /1 - 1 On P16TS4[2:0] 1 1 1 1 1 0 1 0 1 1 0 0 0 1 1 0 1 0 0 0 1 0 0 0 0 Off Division ratio /4096 /1024 /256 /64 /16 /4 /2 /1 - 1 On P16TS5[2:0] 1 1 1 1 1 0 1 0 1 1 0 0 0 1 1 0 1 0 0 0 1 0 0 0 0 Off Division ratio /4096 /1024 /256 /64 /16 /4 /2 /1 1 On P8TS1[2:0] 1 1 1 1 1 0 1 0 1 1 0 0 0 1 1 0 1 0 0 0 1 0 0 0 1 On P8TS0[2:0] 1 1 1 1 1 0 1 0 1 1 0 0 0 1 1 0 1 0 0 0 1 0 0 0 0 Off Division ratio /4096 /2048 /1024 /512 /256 /128 /64 /32 0 Off Division ratio /256 /128 /64 /32 /16 /8 /4 /2 Init. R/W Remarks - 0 0 0 0 - 0 when being read. R/W R/W : selected by Prescaler clock select register (0x40181) - 0 0 0 0 - 0 when being read. R/W R/W : selected by Prescaler clock select register (0x40181) - 0 0 0 0 - 0 when being read. R/W R/W : selected by Prescaler clock select register (0x40181) 0 0 0 0 R/W R/W : selected by Prescaler clock select register (0x40181) 8-bit timer 1 can generate the OSC3 oscillation-stabilize waiting period. 0 0 0 0 R/W R/W : selected by Prescaler clock select register (0x40181) 8-bit timer 0 can generate the DRAM refresh clock. B-III-2-5 III PERIPHERAL BLOCK: PRESCALER Table 2.3 Register name Address Bit Name 8-bit timer 2/3 clock control register D7 D6 D5 D4 P8TON3 P8TS32 P8TS31 P8TS30 004014E (B) D3 D2 D1 D0 A/D clock 004014F control register (B) Power control register 0040180 (B) Prescaler clock 0040181 select register (B) Power control 004019E protect register (B) B-III-2-6 P8TON2 P8TS22 P8TS21 P8TS20 Control Bits of Prescaler (continue) Function 8-bit timer 3 clock control 8-bit timer 3 clock division ratio selection 8-bit timer 2 clock control 8-bit timer 2 clock division ratio selection Setting 1 On P8TS3[2:0] 1 1 1 1 1 0 1 0 1 1 0 0 0 1 1 0 1 0 0 0 1 0 0 0 1 On P8TS2[2:0] 1 1 1 1 1 0 1 0 1 1 0 0 0 1 1 0 1 0 0 0 1 0 0 0 D7-4 D3 D2 D1 D0 - PSONAD PSAD2 PSAD1 PSAD0 reserved A/D converter clock control A/D converter clock division ratio selection D7 D6 CLKDT1 CLKDT0 System clock division ratio selection D5 D4-3 D2 D1 D0 PSCON - CLKCHG SOSC3 SOSC1 Prescaler On/Off control reserved 1 OSC3 CPU operating clock switch High-speed (OSC3) oscillation On/Off 1 On Low-speed (OSC1) oscillation On/Off 1 On D7-1 - D0 PSCDT0 D7 D6 D5 D4 D3 D2 D1 D0 CLGP7 CLGP6 CLGP5 CLGP4 CLGP3 CLGP2 CLGP1 CLGP0 reserved Prescaler clock selection 0 Off Division ratio /256 /128 /64 /32 /16 /8 /4 /2 0 Off Division ratio /4096 /2048 /64 /32 /16 /8 /4 /2 - Remarks R/W R/W : selected by Prescaler clock select register (0x40181) 8-bit timer 3 can generate the clock for the serial I/F Ch.1. 0 0 0 0 R/W R/W : selected by Prescaler clock select register (0x40181) 8-bit timer 2 can generate the clock for the serial I/F Ch.0. - 0 when being read. R/W R/W : selected by Prescaler clock select register (0x40181) Division ratio 1/8 1/4 1/2 1/1 0 Off - 0 OSC1 0 Off 0 Off 0 0 R/W 1 0 1 1 1 R/W - Writing 1 not allowed. R/W R/W R/W - 0 0 - R/W 0 0 0 0 0 0 0 0 R/W 0 Off Division ratio /256 /128 /64 /32 /16 /8 /4 /2 CLKDT[1:0] 1 1 1 0 0 1 0 0 1 On 0 OSC3/PLL Power control register protect flag Writing 10010110 (0x96) removes the write protection of the power control register (0x40180). Writing another value set the write protection. EPSON 0 0 0 0 - 0 0 0 0 1 On P8TS0[2:0] 1 1 1 1 1 0 1 0 1 1 0 0 0 1 1 0 1 0 0 0 1 0 0 0 1 OSC1 Init. R/W S1C33T01 FUNCTION PART III PERIPHERAL BLOCK: PRESCALER PSCON: Prescaler on/off control (D5) / Power control register (0x40180) Turns the prescaler on or off. Write "1": On Write "0": Off Read: Valid The source clock is input to the prescaler by writing "1" to PSCON, thereby starting a dividing operation. The prescaler is turned off by writing "0". If the peripheral circuits do not need to be operated, write "0" to this bit to reduce current consumption. Since PSCON is protected against writing the same as SOSC1, SOSC3, CLKCHG and CLKDT[1:0], CLGP[7:0] must be set to "0b10010110" before PSCON can be changed. At initial reset, PSCON is set to "1" (On). CLGP7-CLGP0:Power-control register protection flag ([D[7:0]) / Power control protection register (0x4019E) These bits remove the protection against writing to addresses 0x40180 and 0x40190. Write "0b10010110": Write protection removed Write other than the above: No operation (write-protected) Read: Valid Before writing to address 0x40180 or 0x40190, set CLGP[7:0] to "0b10010110" to remove the protection against writing to that address. This clearing of write protection is effective for only one writing, so the bits are cleared to "0b00000000" by one writing. Therefore, CLGP[7:0] must be set each time the protected address is written to. At initial reset, CLGP is set to "0b00000000" (write-protected). PSCDT0: Prescaler clock selection (D0) / Prescaler clock select register (0x40181) Select the source clock for the prescaler. Write "1": OSC1 clock Write "0": OSC3 clock/PLL output clock Read: Valid When "1" is written to PSCDT0, the OSC1 clock (typ. 32 kHz) is selected. When "0" is written, the OSC3 clock (when the PLL is not used) or the PLL output clock (when the PLL is used) is selected. For the prescaler clock, the clock source same as the CPU operating clock must be selected. At initial reset, PSCDT0 is set to "0" (OSC3 clock/PLL output clock). P16TS0[2:0]: 16-bit timer 0 clock division ratio (D[2:0]) / 16-bit timer 0 clock control register (0x40147) P16TS1[2:0]: 16-bit timer 1 clock division ratio (D[2:0]) / 16-bit timer 1 clock control register (0x40148) P16TS2[2:0]: 16-bit timer 2 clock division ratio (D[2:0]) / 16-bit timer 2 clock control register (0x40149) P16TS3[2:0]: 16-bit timer 3 clock division ratio (D[2:0]) / 16-bit timer 3 clock control register (0x4014A) P16TS4[2:0]: 16-bit timer 4 clock division ratio (D[2:0]) / 16-bit timer 4 clock control register (0x4014B) P16TS5[2:0]: 16-bit timer 5 clock division ratio (D[2:0]) / 16-bit timer 5 clock control register (0x4014C) P16TS6[2:0]: 16-bit timer 6 clock division ratio (D[2:0]) / 16-bit timer 6 clock control register (0x40141) P16TS7[2:0]: 16-bit timer 7 clock division ratio (D[2:0]) / 16-bit timer 7 clock control register (0x40142) P16TS8[2:0]: 16-bit timer 8 clock division ratio (D[2:0]) / 16-bit timer 8 clock control register (0x40143) P16TS9[2:0]: 16-bit timer 9 clock division ratio (D[2:0]) / 16-bit timer 9 clock control register (0x40144) P8TS0[2:0]: 8-bit timer 0 clock division ratio (D[2:0]) / 8-bit timer 0/1 clock control register (0x4014D) P8TS1[2:0]: 8-bit timer 1 clock division ratio (D[6:4]) / 8-bit timer 0/1 clock control register (0x4014D) P8TS2[2:0]: 8-bit timer 2 clock division ratio (D[2:0]) / 8-bit timer 2/3 clock control register (0x4014E) P8TS3[2:0]: 8-bit timer 3 clock division ratio (D[6:4]) / 8-bit timer 2/3 clock control register (0x4014E) P8TS4[2:0]: 8-bit timer 4 clock division ratio (D[2:0]) / 8-bit timer 4/5 clock control register (0x40145) P8TS5[2:0]: 8-bit timer 5 clock division ratio (D[6:4]) / 8-bit timer 4/5 clock control register (0x40145) PSAD[2:0]: A/D converter clock division ratio (D[2:0]) / A/D clock control register (0x4014F) Select a clock for each peripheral circuit. S1C33T01 FUNCTION PART EPSON B-III-2-7 III PERIPHERAL BLOCK: PRESCALER The desired division ratio can be selected from among the eight ratios shown on the I/O map. Note that the division ratio differs for each peripheral circuit. These bits can also be read out. At initial reset, all of these bits are set to "0b000" (highest frequency available). P16TON0: 16-bit timer 0 clock control (D3) / 16-bit timer 0 clock control register (0x40147) P16TON1: 16-bit timer 1 clock control (D3) / 16-bit timer 1 clock control register (0x40148) P16TON2: 16-bit timer 2 clock control (D3) / 16-bit timer 2 clock control register (0x40149) P16TON3: 16-bit timer 3 clock control (D3) / 16-bit timer 3 clock control register (0x4014A) P16TON4: 16-bit timer 4 clock control (D3) / 16-bit timer 4 clock control register (0x4014B) P16TON5: 16-bit timer 5 clock control (D3) / 16-bit timer 5 clock control register (0x4014C) P16TON6: 16-bit timer 6 clock control (D3) / 16-bit timer 6 clock control register (0x40141) P16TON7: 16-bit timer 7 clock control (D3) / 16-bit timer 7 clock control register (0x40142) P16TON8: 16-bit timer 8 clock control (D3) / 16-bit timer 8 clock control register (0x40143) P16TON9: 16-bit timer 9 clock control (D3) / 16-bit timer 9 clock control register (0x40144) P8TON0: 8-bit timer 0 clock control (D3) / 8-bit timer 0/1 clock control register (0x4014D) P8TON1: 8-bit timer 1 clock control (D7) / 8-bit timer 0/1 clock control register (0x4014D) P8TON2: 8-bit timer 2 clock control (D3) / 8-bit timer 2/3 clock control register (0x4014E) P8TON3: 8-bit timer 3 clock control (D7) / 8-bit timer 2/3 clock control register (0x4014E) P8TON4: 8-bit timer 4 clock control (D3) / 8-bit timer 4/5 clock control register (0x40145) P8TON5: 8-bit timer 5 clock control (D7) / 8-bit timer 4/5 clock control register (0x40145) PSONAD: A/D converter clock control (D3) / A/D clock control register (0x4014F) Control the clock supply to each peripheral circuit. Write "1": On Write "0": Off Read: Valid The clock selected using the division ratio setup bits is output to the corresponding peripheral circuit by writing "1" to these bits. The clock is not output by writing "0". If the peripheral circuits do not need to be operated, write "0" to these bits. This helps to reduce current consumption. At initial reset, all of these bits are set to "0" (Off). P8TPCK0: 8-bit timer 0 P8TPCK1: 8-bit timer 1 P8TPCK2: 8-bit timer 2 P8TPCK3: 8-bit timer 3 P8TPCK4: 8-bit timer 4 P8TPCK5: 8-bit timer 5 clock selection (D0) / 8-bit timer clock select register (0x40146) clock selection (D1) / 8-bit timer clock select register (0x40146) clock selection (D2) / 8-bit timer clock select register (0x40146) clock selection (D3) / 8-bit timer clock select register (0x40146) clock selection (D0) / 8-bit timer clock select register (0x40140) clock selection (D1) / 8-bit timer clock select register (0x40140) Select the operating clock for the 8-bit programmable timer. Write "1": Prescaler input clock (/1) Write "0": Divided clock Read: Valid When "1" is written to P8TPCKx, the prescaler input clock (/1) is selected for the 8-bit timer x operating clock. The clock output is controlled by the P8TONx bit even if P8TPCKx is set to "1". When "0" is written, the divided clock that is selected by P8TSx[2:0] will be output to the 8-bit timer x. At initial reset, P8TPCKx is set to "0" (divided clock). B-III-2-8 EPSON S1C33T01 FUNCTION PART III PERIPHERAL BLOCK: PRESCALER Programming Notes (1) For the prescaler clock, the clock source same as the CPU operating clock must be selected. (2) In the following cases, the prescaler output clock may contain a hazard: * If, during outputting of a clock, its division ratio is changed * When the clock output is switched between on and off * When the oscillation circuit is turned off or the CPU operating clock is switched over Before performing these operations, make sure the 16-bit and 8-bit programmable timers and the A/D converter are turned off. (3) When the 16-bit and 8-bit programmable timers and the A/D converter do not need to be operated, turn off the clock supply to those peripheral circuits. This helps to reduce current consumption. S1C33T01 FUNCTION PART EPSON B-III-2-9 III PERIPHERAL BLOCK: PRESCALER THIS PAGE IS BLANK. B-III-2-10 EPSON S1C33T01 FUNCTION PART III PERIPHERAL BLOCK: 8-BIT PROGRAMMABLE TIMERS III-3 8-BIT PROGRAMMABLE TIMERS Configuration of 8-Bit Programmable Timer The Peripheral Block contains six channels of 8-bit programmable timers (timers 0 to 5). Figure 3.1 shows the structure of the 8-bit programmable timer. Prescaler 8-bit reload data register (RLDx) Reload Underflow Clock output Underflow signal output Underflow interrupt 8-bit down counter Data bus Clock generator Data buffer (PTDx) Control circuit Control registers Interrupt controller Figure 3.1 Structure of 8-Bit Programmable Timer Each timer consists of an 8-bit presentable counter and can output a clock generated by the counter's underflow signal to the internal peripheral circuits or external devices. The output clock cycle can be selected from a wide range of cycles by setting the preset data that can be set in the software and the input clock in the prescaler. Output Pins of 8-Bit Programmable Timers Table 3.1 shows the pins that are used to output the underflow signals of the 8-bit programmable timers to external devices. Table 3.1 Output Pins of 8-Bit Programmable Timers Pin name P10/EXCL0/ T8UF0 P11/EXCL1/ T8UF1 P12/EXCL2/ T8UF2 P13/EXCL3/ T8UF3 P50/ T8UF4 P51/ T8UF5 I/O Function Function select bit I/O I/O port / 16-bit timer 0 event counter input / 8-bit timer 0 output / DST0 output I/O I/O port / 16-bit timer 1 event counter input / 8-bit timer 1 output / DST1 output I/O I/O port / 16-bit timer 2 event counter input / 8-bit timer 2 output / DST2 output I/O I/O port / 16-bit timer 3 event counter input / 8-bit timer 3 output / DPCO output I/O I/O port / 8-bit timer 4 CFP10(D0)/P1 function select register (0x402D4) CFEX1(D1)/Port function extension register (0x402DF) CFP11(D1)/P1 function select register (0x402D4) CFEX1(D1)/Port function extension register (0x402DF) CFP12(D2)/P1 function select register (0x402D4) CFEX0(D0)/Port function extension register (0x402DF) CFP13(D3)/P1 function select register (0x402D4) CFEX1(D1)/Port function extension register (0x402DF) CFP50(D0)/P5 function select register (0x40303) I/O I/O port / 8-bit timer 5 CFP51(D1)/P5 function select register (0x40303) T8UFx (output pin of the 8-bit programmable timer) This pin outputs a clock divided in each 8-bit programmable timer. The pulse width is equal to that of input clock of the 8-bit programmable timer (prescaler output). Therefore, the pulse width varies according to the prescaler setting. How to set the output pins of the 8-bit programmable timer The pins used with channels 0 through 3 of the 8-bit programmable timers are shared function I/O port pins. They share functions as event counter inputs and debug signal outputs for the 16-bit programmable timers. At cold start, these pins are set up as debug signal output pins (function selection bit CFP1[3:0] = "0" and port function expansion bit CFEX[1:0] = "1"). When using the clock output function of the 8-bit programmable timer, write "0" to the port extended function bit CFEXx and write "1" to the function select bit CFP1x for the corresponding pin. S1C33T01 FUNCTION PART EPSON B-III-3-1 III PERIPHERAL BLOCK: 8-BIT PROGRAMMABLE TIMERS Then, after setting the above, write "1" to the I/O port's I/O control bit IOC1x (D[3:0]) / P1 I/O control register (0x402D6) to set to output mode. In input mode, the pin functions as the 16-bit programmable timer's event counter input and cannot be used to output a clock of the 8-bit programmable timer. At cold start, the register is set to input mode. When the channel 4 and 5 timer outputs are used, write "1" to the function selection bit CFP5x. At hot start, the register retains its status from prior to the reset. Uses of 8-Bit Programmable Timers The down-counter of the 8-bit programmable timer cyclically outputs an underflow signal according to the preset data that is set in the software. This underflow signal is used to generate an interrupt request to the CPU or to control the internal peripheral circuits. In addition, this signal can be output to external devices. Furthermore, each 8-bit programmable timer generates a clock from the underflow signal by dividing it by 2, and the resulting clock is output to a specific internal peripheral circuit. CPU interrupt request/IDMA invocation request Each timer's underflow condition can be used as an interrupt factor to output an interrupt request to the CPU. Therefore, an interrupt can be generated at an interval that is set in the software. This interrupt factor also can be used to invoke IDMA or HSDMA. Clock output to external devices The underflow signal can be output from the chip to the outside. This output can be used to control external devices. The output pins of each timer are described in the preceding section. Control of and clock supply to internal peripheral circuits The following describes the functions controlled by the underflow signal from the 8-bit programmable timer and the internal peripheral circuits that use the timer's output clock. 8-bit programmable timer 0 * DRAM refresh When the BCU has a DRAM directly connected to its external bus, the underflow signal from timer 0 can be used as a DRAM refresh request signal. This enables the intervals of the refresh cycle to be programmed. To use this function, write "1" to the BCU's control bit RPC (D9) / Bus control register (0x4812E) to enable the DRAM refresh. * A/D conversion start trigger The A/D converter enables a trigger for starting the A/D conversion to be selected from among four available types. One of these is the underflow signal of the 8-bit programmable timer 0. This makes it possible to perform the A/D conversion at programmable intervals. To use this function, write "10" to the A/D converter control bit TS[1:0] (D[4:3]) / A/D trigger register (0x40242) to select the 8-bit programmable timer 0 as the trigger. 8-bit programmable timer 1 * Oscillation stabilization wait time of the high-speed (OSC3) oscillation circuit When SLEEP mode is cleared by an external interrupt, the high-speed (OSC3) oscillation circuit starts oscillating. To prevent the CPU from being operated erratically by an unstable clock before the oscillation stabilizes, the C33 Core Block enables setting of the waiting time before the CPU starts operating after SLEEP is cleared. Use the 8-bit programmable timer 1 to generate this waiting time. If the 8-bit programmable timer 1 is set so that the timer is actuated when the high-speed (OSC3) oscillation circuit starts oscillating the timer and, after the oscillation stabilization time elapses, an underflow signal is generated, then the CPU can be started up by that underflow signal. To use this function, write "0" to the oscillation circuit control bit 8T1ON (D2) / Clock option register (0x40190) to enable the oscillation stabilization waiting function. B-III-3-2 EPSON S1C33T01 FUNCTION PART III PERIPHERAL BLOCK: 8-BIT PROGRAMMABLE TIMERS 8-bit programmable timer 2 * Clock supply to the Ch.0 serial interface When using the Ch.0 serial interface in the clock-synchronized master mode or the internal clock-based asynchronous mode, the output clock derived from the underflow signal of the 8-bit programmable timer 2 by dividing it by 2 is supplied to the serial interface as its operating clock. This enables the transfer rate of the serial interface to be programmed. To use this function, write "0" to the serial interface control bit SSCK0 (D2) / Serial I/F Ch.0 control register (0x401E3) to select the internal clock. 8-bit programmable timer 3 * Clock supply to the Ch.1 serial interface When using the Ch.1 serial interface in the clock-synchronized master mode or the internal clock-based asynchronous mode, the output clock derived from the underflow signal of the 8-bit programmable timer 3 by dividing it by 2 is supplied to the serial interface as its operating clock. This enables the transfer rate of the serial interface to be programmed. To use this function, write "0" to the serial interface control bit SSCK1 (D2) / Serial I/F Ch.1 control register (0x401E8) to select the internal clock. 8-bit programmable timer 4 * Clock supply to the Ch.2 serial interface When using the Ch.2 serial interface in the clock-synchronized master mode or the internal clock-based asynchronous mode, the output clock derived from the underflow signal of the 8-bit programmable timer 4 by dividing it by 2 is supplied to the serial interface as its operating clock. This enables the transfer rate of the serial interface to be programmed. To use this function, write "0" to the serial interface control bit SSCK2 (D2) / Serial I/F Ch.2 control register (0x401F3) to select the internal clock. 8-bit programmable timer 5 * Clock supply to the Ch.3 serial interface When using the Ch.3 serial interface in the clock-synchronized master mode or the internal clock-based asynchronous mode, the output clock derived from the underflow signal of the 8-bit programmable timer 5 by dividing it by 2 is supplied to the serial interface as its operating clock. This enables the transfer rate of the serial interface to be programmed. To use this function, write "0" to the serial interface control bit SSCK3 (D2) / Serial I/F Ch.3 control register (0x401F8) to select the internal clock. S1C33T01 FUNCTION PART EPSON B-III-3-3 III PERIPHERAL BLOCK: 8-BIT PROGRAMMABLE TIMERS Control and Operation of 8-Bit Programmable Timer With the 8-bit programmable timer, the following settings must first be made before it starts counting: 1. Setting the output pin (only when necessary) 2. Setting the input clock 3. Setting the preset data (initial counter value) 4. Setting the interrupt/IDMA/HSDMA Setting of an output pin is necessary only when the output clock of the 8-bit programmable timer is supplied to external devices. For details on how to set the pin, refer to "Output Pins of 8-Bit Programmable Timers". For details on how to set interrupts and DMA, refer to "8-Bit Programmable Timer Interrupts and DMA". Note: The 8-bit programmable timers 0 through 5 all operate in the same way during counting, and the structure of their control registers is also the same. The control bit names are assigned the numerals "0" through "5" to denote the timer numbers. Since all these timers have common functions, timer numbers here are represented it is by "x" unless necessary to specify a timer number. Setting the input clock The 8-bit programmable timer is operated by the prescaler's output clock. The prescaler's division ratio can be selected for each timer. Division ratio select bit Clock control bit Register 8-bit timer 0: P8TS0[2:0] (D[2:0]) P8TON0 (D3) 8-bit timer 0/1 clock control register (0x4014D) 8-bit timer 1: P8TS1[2:0] (D[6:4]) P8TON1 (D7) 8-bit timer 0/1 clock control register (0x4014D) 8-bit timer 2: P8TS2[2:0] (D[2:0]) P8TON2 (D3) 8-bit timer 2/3 clock control register (0x4014E) 8-bit timer 3: P8TS3[2:0] (D[6:4]) P8TON3 (D7) 8-bit timer 2/3 clock control register (0x4014E) 8-bit timer 4: P8TS4[2:0] (D[2:0]) P8TON3 (D3) 8-bit timer 4/5 clock control register (0x40145) 8-bit timer 5: P8TS5[2:0] (D[6:4]) P8TON3 (D7) 8-bit timer 4/5 clock control register (0x40145) Note that the division ratios differ for each timer (see Table 3.2). Furthermore, the prescaler input clock can be directly supplied to the 8-bit timer by writing "1" to the P8TCPKx bit in the 8-bit timer clock select register (0x40146). Timer 0 clock selection: P8TCPK0 (D0) / 8-bit timer clock select register (0x40146) Timer 1 clock selection: P8TCPK1 (D1) / 8-bit timer clock select register (0x40146) Timer 2 clock selection: P8TCPK2 (D2) / 8-bit timer clock select register (0x40146) Timer 3 clock selection: P8TCPK3 (D3) / 8-bit timer clock select register (0x40146) Timer 4 clock selection: P8TCPK4 (D0) / 8-bit timer clock select register (0x40140) Timer 5 clock selection: P8TCPK5 (D1) / 8-bit timer clock select register (0x40140) When using the divided clock selected by P8TSx, set P8TCPKx to "0". Table 3.2 Input Clock Selection Timer P8TSx = 7 P8TSx = 6 P8TSx = 5 P8TSx = 4 P8TSx = 3 P8TSx = 2 P8TSx = 1 P8TSx = 0 P8TCPK = 1 Timer 0 fPSCIN/256 fPSCIN/128 fPSCIN/64 fPSCIN/32 fPSCIN/16 fPSCIN/8 fPSCIN/4 fPSCIN/2 fPSCIN/1 Timer 1 fPSCIN/4096 fPSCIN/2048 fPSCIN/1024 fPSCIN/512 fPSCIN/256 fPSCIN/128 fPSCIN/64 fPSCIN/32 fPSCIN/1 Timer 2 fPSCIN/4096 fPSCIN/2048 fPSCIN/64 fPSCIN/32 fPSCIN/16 fPSCIN/8 fPSCIN/4 fPSCIN/2 fPSCIN/1 Timer 3 fPSCIN/256 fPSCIN/128 fPSCIN/64 fPSCIN/32 fPSCIN/16 fPSCIN/8 fPSCIN/4 fPSCIN/2 fPSCIN/1 Timer 4 fPSCIN/4096 fPSCIN/2048 fPSCIN/64 fPSCIN/32 fPSCIN/16 fPSCIN/8 fPSCIN/4 fPSCIN/2 fPSCIN/1 Timer 5 fPSCIN/256 fPSCIN/128 fPSCIN/64 fPSCIN/32 fPSCIN/16 fPSCIN/8 fPSCIN/4 fPSCIN/2 fPSCIN/1 fPSCIN: Prescaler input clock frequency The selected clock is output from the prescaler to the 8-bit programmable timer by writing "1" to P8TONx. Notes: * The 8-bit programmable timer operates only when the prescaler is operating. (Refer to "Prescaler".) * Do not use a clock that is faster than the CPU operating clock as the 8-bit programmable timer. * When setting an input clock, make sure the 8-bit programmable timer is turned off. B-III-3-4 EPSON S1C33T01 FUNCTION PART III PERIPHERAL BLOCK: 8-BIT PROGRAMMABLE TIMERS Setting preset data (initial counter value) Each timer has an 8-bit down-counter and a reload data register. The reload data register RLDx is used to set the initial value of the down-counter of each timer. Timer 0 reload data: RLD0[7:0] (D[7:0]) / 8-bit timer 0 reload data register (0x40161) Timer 1 reload data: RLD1[7:0] (D[7:0]) / 8-bit timer 1 reload data register (0x40165) Timer 2 reload data: RLD2[7:0] (D[7:0]) / 8-bit timer 2 reload data register (0x40169) Timer 3 reload data: RLD3[7:0] (D[7:0]) / 8-bit timer 3 reload data register (0x4016D) Timer 4 reload data: RLD4[7:0] (D[7:0]) / 8-bit timer 4 reload data register (0x40175) Timer 5 reload data: RLD5[7:0] (D[7:0]) / 8-bit timer 5 reload data register (0x40179) The reload data registers can be read and written. At initial reset, the reload data registers are not initialized. The data written to this register is preset in the down-counter, and the counter starts counting down from the preset value. Data is thus preset in the down-counter in the following two cases: 1. When it is preset in the software Presetting in the software is performed using the preset control bit PSETx. When this bit is set to "1", the content of the reload data register is loaded into the down-counter at that point. Timer 0 preset: PSET0 (D1) / 8-bit timer 0 control register (0x40160) Timer 1 preset: PSET1 (D1) / 8-bit timer 1 control register (0x40164) Timer 2 preset: PSET2 (D1) / 8-bit timer 2 control register (0x40168) Timer 3 preset: PSET3 (D1) / 8-bit timer 3 control register (0x4016C) Timer 4 preset: PSET4 (D1) / 8-bit timer 4 control register (0x40174) Timer 5 preset: PSET5 (D1) / 8-bit timer 5 control register (0x40178) 2. When the down-counter underflown during counting Since the reload data is preset in the down-counter upon underflow, its underflow cycle is determined by the value that is set in the reload data register. This underflow signal controls each function described in the preceding section. Before starting the 8-bit programmable timer, set the initial value in the reload data register and use the PSETx bit to preset the data in the down-counter. The underflow cycle is determined by the prescaler setting and the reload data. The relationship between these two parameters is expressed by the following equation: Under flow cycle = RLDx + 1 f PSCIN x pdr [sec.] fPSCIN: Prescaler input clock frequency [Hz] pdr: Prescaler division ratio set by P8TSx RLDx: Set value of the RLDx register (0 to 255) Timer RUN/STOP control Each timer has a PTRUNx bit to control RUN/STOP. Timer 0 RUN/STOP control: PTRUN0 (D0) / 8-bit timer 0 control register (0x40160) Timer 1 RUN/STOP control: PTRUN1 (D0) / 8-bit timer 1 control register (0x40164) Timer 2 RUN/STOP control: PTRUN2 (D0) / 8-bit timer 2 control register (0x40168) Timer 3 RUN/STOP control: PTRUN3 (D0) / 8-bit timer 3 control register (0x4016C) Timer 4 RUN/STOP control: PTRUN4 (D0) / 8-bit timer 4 control register (0x40174) Timer 5 RUN/STOP control: PTRUN5 (D0) / 8-bit timer 5 control register (0x40178) The timer is initiated to start counting down by writing "1" to PTRUNx. Writing "0" to PTRUNx disables the clock input and causes the timer to stop counting. This RUN/STOP control does not affect the counter data. Even when the timer has stopped counting, the counter retains its count so that it can start counting again from that point. When the terminal count is reached and the counter underflows, the initial value is reloaded from the reload data register into the counter. S1C33T01 FUNCTION PART EPSON B-III-3-5 III PERIPHERAL BLOCK: 8-BIT PROGRAMMABLE TIMERS When both the timer RUN/STOP control bit (PTRUNx) and the timer preset bit (PSETx) are set to "1" at the same time, the timer starts counting after presetting the reload register value into the counter. PTRUNx PSETx RLDx 0x10 0xA6 0xF3 Input clock PTDx7 PTDx6 PTDx5 PTDx4 PTDx3 PTDx2 PTDx1 PTDx0 Timer initial setup Preset Reload and interrupt Figure 3.2 Basic Operation Timing of Counter Reading out counter data The counter data is read out via a PTDx data buffer. The counter data can be read out at any time. Timer 0 data: PTD0[7:0] (D[7:0]) / 8-bit timer 0 counter data register (0x40162) Timer 1 data: PTD1[7:0] (D[7:0]) / 8-bit timer 1 counter data register (0x40166) Timer 2 data: PTD2[7:0] (D[7:0]) / 8-bit timer 2 counter data register (0x4016A) Timer 3 data: PTD3[7:0] (D[7:0]) / 8-bit timer 3 counter data register (0x4016E) Timer 4 data: PTD4[7:0] (D[7:0]) / 8-bit timer 4 counter data register (0x40176) Timer 5 data: PTD5[7:0] (D[7:0]) / 8-bit timer 5 counter data register (0x4017A) B-III-3-6 EPSON S1C33T01 FUNCTION PART III PERIPHERAL BLOCK: 8-BIT PROGRAMMABLE TIMERS Control of Clock Output When outputting an underflow signal of the 8-bit programmable timer to external devices, or when supplying a clock generated by the underflow signal to the serial interface, it is necessary to control the clock output of the timer. Timer 0 clock output control: PTOUT0 (D2) / 8-bit timer 0 control register (0x40160) Timer 1 clock output control: PTOUT1 (D2) / 8-bit timer 1 control register (0x40164) Timer 2 clock output control: PTOUT2 (D2) / 8-bit timer 2 control register (0x40168) Timer 3 clock output control: PTOUT3 (D2) / 8-bit timer 3 control register (0x4016C) Timer 4 clock output control: PTOUT4 (D2) / 8-bit timer 4 control register (0x40174) Timer 5 clock output control: PTOUT5 (D2) / 8-bit timer 5 control register (0x40178) To output the underflow signal/clock, write "1" to PTOUTx. If an output pin has been set, the underflow signal is output from that pin. The same applies when timer 2 or 3 has been set as the clock source of the serial interface. A clock generated from the underflow signal by dividing it by 2 is output to the serial interface through this control. The clock output is turned off by writing "0" to PTOUTx, and the external output is fixed at "0" and the internal clock output is fixed at "1". Figure 3.3 shows the waveforms of the output signals. Underflow signal Underflow signal/2 PTOUTx External output T8UFx pin Clock output Figure 3.3 8-Bit Programmable Timer Output Waveform The underflow signal's pulse width (duration of the high period) is equal to that of the timer's input clock (prescaler's output). 8-bit timer external output (ports P10 to P13 and P50 to P51) 1) After an initial reset (cold start), the ports (P10-P13) are set to debug signal putput ports. Also, ports P50 and P51 are set to function as input ports. 2) At the stage that ports P10 to P13 and P50 to P51 are set to be 8-bit timer outputs, they will output "0" levels. (That is, the timer outputs will be in the off state.) 3) The timer output is left as "0" when the timer output is turned on after setting the input clock and timer initial value. 4) When an underflow occurs after starting the timer, the port outputs a pulse with the same width as the 8-bit timer input clock pulse (prescaler's output). S1C33T01 FUNCTION PART EPSON B-III-3-7 III PERIPHERAL BLOCK: 8-BIT PROGRAMMABLE TIMERS 8-Bit Programmable Timer Interrupts and DMA The 8-bit programmable timer has a function to generate an interrupt based on the underflow state of each timer. The timing at which an interrupt is generated is shown in Figure 3.2 in the preceding section. Control registers of the interrupt controller Table 3.3 shows the interrupt controller's control register provided for each timer. Table 3.3 Control Registers of Interrupt Controller Timer Timer Timer Timer Timer Timer Timer 0 1 2 3 4 5 Interrupt factor flag F8TU0(D0/0x40285) F8TU1(D1/0x40285) F8TU2(D2/0x40285) F8TU3(D3/0x40285) F8TU4(D0/0x40288) F8TU5(D1/0x40288) Interrupt enable register E8TU0(D0/0x40275) E8TU1(D1/0x40275) E8TU2(D2/0x40275) E8TU3(D3/0x40275) E8TU4(D0/0x40278) E8TU5(D1/0x40278) Interrupt priority register P8TM[2:0](D[2:0]/0x40269) When the timer underflows, the corresponding interrupt factor flag is set to "1". If the interrupt enable register bit corresponding to that interrupt factor flag has been set to "1", an interrupt request is generated. An interrupt caused by a timer can be disabled by leaving the interrupt enable register bit for that timer set to "0". The interrupt factor flag is set to "1" whenever the timer underflows, regardless of how the interrupt enable register is set (even when it is set to "0"). The interrupt priority register sets an interrupt priority level (0 to 7) for the four timers as one interrupt source. Within 8-bit programmable timers, timer 0 has the highest priority and timer 3 the lowest. An interrupt request to the CPU is accepted on the condition that no other interrupt request of a higher priority has been generated. It is only when the PSR's IE bit = "1" (interrupts enabled) and the set value of the IL is smaller than the timer interrupt level set by the interrupt priority register, that a timer interrupt request is actually accepted by the CPU. For details on these interrupt control registers and device operation when an interrupt has occurred, refer to "ITC (Interrupt Controller)". Intelligent DMA The underflow interrupt factor of each timer can invoke intelligent DMA (IDMA). This enables memory-tomemory DMA transfers to be performed cyclically. The following shows the IDMA channel numbers set to each timer: IDMA channel Timer 0: 0x13 Timer 1: 0x14 Timer 2: 0x15 Timer 3: 0x16 Timer 4: 0x20 Timer 5: 0x21 For IDMA to be invoked, the IDMA request and IDMA enable bits shown in Table 3.4 must be set to "1" in advance. Transfer conditions, etc. must also be set on the IDMA side in advance. Table 3.4 Control Bits for IDMA Transfer Timer Timer Timer Timer Timer Timer Timer 0 1 2 3 4 5 IDMA request bit R8TU0(D2/0x40292) R8TU1(D3/0x40292) R8TU2(D4/0x40292) R8TU3(D5/0x40292) R8TU4(D0/0x4029B) R8TU5(D1/0x4029B) IDMA enable bit DE8TU0(D2/0x40296) DE8TU1(D3/0x40296) DE8TU2(D4/0x40296) DE8TU3(D5/0x40296) DE8TU4(D0/0x4029C) DE8TU5(D1/0x4029C) If the IDMA request and enable bits are set to "1", IDMA is invoked through generation of an interrupt factor. No interrupt request is generated at that point. An interrupt request is generated after the DMA transfer is completed. The registers can also be set so as not to generate an interrupt, with only a DMA transfer performed. B-III-3-8 EPSON S1C33T01 FUNCTION PART III PERIPHERAL BLOCK: 8-BIT PROGRAMMABLE TIMERS For details on IDMA transfers and interrupt control upon completion of IDMA transfer, refer to "IDMA (Intelligent DMA)". High-speed DMA The timer channels 0 to 3 underflow interrupt factors can also be used to start high-speed DMA (HSDMA) operation. The HSDMA channel numbers and trigger setting bits corresponding to the timers are described below. The following shows the HSDMA channel number and trigger set-up bit corresponding to each timer: Table 3.5 HSDMA Trigger Set-up Bits Timer Timer Timer Timer Timer HSDMA channel 0 1 2 3 0 1 2 3 Trigger set-up bits HSD0S[3:0] (D[3:0]) / HSDMA Ch.0/1 HSD1S[3:0] (D[7:4]) / HSDMA Ch.0/1 HSD2S[3:0] (D[3:0]) / HSDMA Ch.2/3 HSD3S[3:0] (D[7:4]) / HSDMA Ch.2/3 trigger set-up register (0x40298) trigger set-up register (0x40298) trigger set-up register (0x40299) trigger set-up register (0x40299) For HSDMA to be invoked, the trigger set-up bits should be set to "0101" in advance. Transfer conditions, etc. must also be set on the HSDMA side. If the 8-bit timer is selected as the HSDMA trigger, the HSDMA channel is invoked through generation of the interrupt factor. For details on HSDMA transfer, refer to "HSDMA (High-Speed DMA)". Trap vectors The trap vector addresses for individual underflow interrupt factors are set by default as shown below: Timer 0 underflow interrupt: 0x0C000D0 Timer 1 underflow interrupt: 0x0C000D4 Timer 2 underflow interrupt: 0x0C000D8 Timer 3 underflow interrupt: 0x0C000DC Timer 4 underflow interrupt: 0x0C00120 Timer 5 underflow interrupt: 0x0C00124 The base address of the trap table can be changed using the TTBR register (0x48134 to 0x48137). S1C33T01 FUNCTION PART EPSON B-III-3-9 III PERIPHERAL BLOCK: 8-BIT PROGRAMMABLE TIMERS I/O Memory of 8-Bit Programmable Timers Table 3.6 shows the control bits of the 8-bit programmable timers. For details on the I/O memory of the prescaler used to set a clock, refer to "Prescaler". Table 3.6 Control Bits of 8-Bit Programmable Timer Register name Address Bit 8-bit timer 0 0040160 control register (B) D7-3 D2 D1 D0 Name Function - PTOUT0 PSET0 PTRUN0 reserved 8-bit timer 0 clock output control 8-bit timer 0 preset 8-bit timer 0 Run/Stop control Setting - 1 On 1 Preset 1 Run 0 Off 0 Invalid 0 Stop Init. R/W Remarks - 0 - 0 - 0 when being read. R/W W 0 when being read. R/W 8-bit timer 0 reload data register 0040161 (B) D7 D6 D5 D4 D3 D2 D1 D0 RLD07 RLD06 RLD05 RLD04 RLD03 RLD02 RLD01 RLD00 8-bit timer 0 reload data RLD07 = MSB RLD00 = LSB 0 to 255 X X X X X X X X R/W 8-bit timer 0 counter data register 0040162 (B) D7 D6 D5 D4 D3 D2 D1 D0 PTD07 PTD06 PTD05 PTD04 PTD03 PTD02 PTD01 PTD00 8-bit timer 0 counter data PTD07 = MSB PTD00 = LSB 0 to 255 X X X X X X X X R - PTOUT1 PSET1 PTRUN1 reserved 8-bit timer 1 clock output control 8-bit timer 1 preset 8-bit timer 1 Run/Stop control - - 0 - 0 - 0 when being read. R/W W 0 when being read. R/W 8-bit timer 1 0040164 control register (B) D7-3 D2 D1 D0 1 On 1 Preset 1 Run 0 Off 0 Invalid 0 Stop 8-bit timer 1 reload data register 0040165 (B) D7 D6 D5 D4 D3 D2 D1 D0 RLD17 RLD16 RLD15 RLD14 RLD13 RLD12 RLD11 RLD10 8-bit timer 1 reload data RLD17 = MSB RLD10 = LSB 0 to 255 X X X X X X X X R/W 8-bit timer 1 counter data register 0040166 (B) D7 D6 D5 D4 D3 D2 D1 D0 PTD17 PTD16 PTD15 PTD14 PTD13 PTD12 PTD11 PTD10 8-bit timer 1 counter data PTD17 = MSB PTD10 = LSB 0 to 255 X X X X X X X X R B-III-3-10 EPSON S1C33T01 FUNCTION PART III PERIPHERAL BLOCK: 8-BIT PROGRAMMABLE TIMERS Table 3.6 Register name Address Bit 8-bit timer 2 0040168 control register (B) D7-3 D2 D1 D0 Name Control Bits of 8-Bit Programmable Timer (continue) Function - PTOUT2 PSET2 PTRUN2 reserved 8-bit timer 2 clock output control 8-bit timer 2 preset 8-bit timer 2 Run/Stop control Setting - 1 On 1 Preset 1 Run 0 Off 0 Invalid 0 Stop Init. R/W Remarks - 0 - 0 - 0 when being read. R/W W 0 when being read. R/W 8-bit timer 2 reload data register 0040169 (B) D7 D6 D5 D4 D3 D2 D1 D0 RLD27 RLD26 RLD25 RLD24 RLD23 RLD22 RLD21 RLD20 8-bit timer 2 reload data RLD27 = MSB RLD20 = LSB 0 to 255 X X X X X X X X R/W 8-bit timer 2 counter data register 004016A (B) D7 D6 D5 D4 D3 D2 D1 D0 PTD27 PTD26 PTD25 PTD24 PTD23 PTD22 PTD21 PTD20 8-bit timer 2 counter data PTD27 = MSB PTD20 = LSB 0 to 255 X X X X X X X X R - - 0 - 0 - 0 when being read. R/W W 0 when being read. R/W 8-bit timer 3 004016C D7-3 - control register (B) D2 PTOUT3 D1 PSET3 D0 PTRUN3 reserved 8-bit timer 3 clock output control 8-bit timer 3 preset 8-bit timer 3 Run/Stop control 8-bit timer 3 reload data register 004016D (B) D7 D6 D5 D4 D3 D2 D1 D0 RLD37 RLD36 RLD35 RLD34 RLD33 RLD32 RLD31 RLD30 8-bit timer 3 reload data RLD37 = MSB RLD30 = LSB 0 to 255 X X X X X X X X R/W 8-bit timer 3 counter data register 004016E (B) D7 D6 D5 D4 D3 D2 D1 D0 PTD37 PTD36 PTD35 PTD34 PTD33 PTD32 PTD31 PTD30 8-bit timer 3 counter data PTD37 = MSB PTD30 = LSB 0 to 255 X X X X X X X X R - PTOUT4 PSET4 PTRUN4 reserved 8-bit timer 4 clock output control 8-bit timer 4 preset 8-bit timer 4 Run/Stop control - - 0 - 0 - 0 when being read. R/W W 0 when being read. R/W 8-bit timer 4 0040174 control register (B) D7-3 D2 D1 D0 1 On 1 Preset 1 Run 0 Off 0 Invalid 0 Stop 1 On 1 Preset 1 Run 0 Off 0 Invalid 0 Stop 8-bit timer 4 reload data register 0040175 (B) D7 D6 D5 D4 D3 D2 D1 D0 RLD47 RLD46 RLD45 RLD44 RLD43 RLD42 RLD41 RLD40 8-bit timer 4 reload data RLD47 = MSB RLD40 = LSB 0 to 255 X X X X X X X X R/W 8-bit timer 4 counter data register 0040176 (B) D7 D6 D5 D4 D3 D2 D1 D0 PTD47 PTD46 PTD45 PTD44 PTD43 PTD42 PTD41 PTD40 8-bit timer 4 counter data PTD47 = MSB PTD40 = LSB 0 to 255 X X X X X X X X R - PTOUT5 PSET5 PTRUN5 reserved 8-bit timer 5 clock output control 8-bit timer 5 preset 8-bit timer 5 Run/Stop control - - 0 - 0 8-bit timer 5 0040178 control register (B) D7-3 D2 D1 D0 S1C33T01 FUNCTION PART EPSON 1 On 1 Preset 1 Run 0 Off 0 Invalid 0 Stop - 0 when being read. R/W W 0 when being read. R/W B-III-3-11 III PERIPHERAL BLOCK: 8-BIT PROGRAMMABLE TIMERS Table 3.6 Name Control Bits of 8-Bit Programmable Timer (continue) Register name Address Bit 8-bit timer 5 reload data register 0040179 (B) D7 D6 D5 D4 D3 D2 D1 D0 RLD57 RLD56 RLD55 RLD54 RLD53 RLD52 RLD51 RLD50 8-bit timer 5 reload data RLD57 = MSB RLD50 = LSB Function 0 to 255 Setting Init. R/W X X X X X X X X R/W 8-bit timer 5 counter data register 004017A (B) D7 D6 D5 D4 D3 D2 D1 D0 PTD57 PTD56 PTD55 PTD54 PTD53 PTD52 PTD51 PTD50 8-bit timer 5 counter data PTD57 = MSB PTD50 = LSB 0 to 255 X X X X X X X X R 8-bit timer, 0040269 serial I/F Ch.0 (B) interrupt priority register D7 D6 D5 D4 D3 D2 D1 D0 - PSIO02 PSIO01 PSIO00 - P8TM2 P8TM1 P8TM0 reserved Serial interface Ch.0 interrupt level - 0 to 7 - 0 when being read. R/W reserved 8-bit timer 0-5 interrupt level - 0 to 7 - X X X - X X X 8-bit timer 0040275 interrupt (B) enable register D7-4 D3 D2 D1 D0 - E8TU3 E8TU2 E8TU1 E8TU0 reserved 8-bit timer 3 underflow 8-bit timer 2 underflow 8-bit timer 1 underflow 8-bit timer 0 underflow - 0 0 0 0 - 0 when being read. R/W R/W R/W R/W 8-bit timer 0040278 interrupt (B) enable register D7-2 - D1 E8TU1 D0 E8TU0 reserved 8-bit timer 5 underflow 8-bit timer 4 underflow - 0 0 - 0 when being read. R/W R/W 8-bit timer 0040285 interrupt factor (B) flag register D7-4 D3 D2 D1 D0 - F8TU3 F8TU2 F8TU1 F8TU0 reserved 8-bit timer 3 underflow 8-bit timer 2 underflow 8-bit timer 1 underflow 8-bit timer 0 underflow - X X X X - 0 when being read. R/W R/W R/W R/W 8-bit timer 0040288 interrupt factor (B) flag register D7-2 - D1 E8TU1 D0 E8TU0 reserved 8-bit timer 5 underflow 8-bit timer 4 underflow - X X - 0 when being read. R/W R/W - 1 Enabled 0 Disabled - 1 Enabled 0 Disabled - 1 Factor is generated 0 No factor is generated - 1 Factor is generated 0 No factor is generated Remarks - 0 when being read. R/W 16-bit timer 5, 8-bit timer, serial I/F Ch.0 IDMA request register 0040292 (B) D7 D6 D5 D4 D3 D2 D1 D0 RSTX0 RSRX0 R8TU3 R8TU2 R8TU1 R8TU0 R16TC5 R16TU5 SIF Ch.0 transmit buffer empty SIF Ch.0 receive buffer full 8-bit timer 3 underflow 8-bit timer 2 underflow 8-bit timer 1 underflow 8-bit timer 0 underflow 16-bit timer 5 comparison A 16-bit timer 5 comparison B 1 IDMA request 0 Interrupt request 0 0 0 0 0 0 0 0 R/W R/W R/W R/W R/W R/W R/W R/W 16-bit timer 5, 8-bit timer, serial I/F Ch.0 IDMA enable register 0040296 (B) D7 D6 D5 D4 D3 D2 D1 D0 DESTX0 DESRX0 DE8TU3 DE8TU2 DE8TU1 DE8TU0 DE16TC5 DE16TU5 SIF Ch.0 transmit buffer empty SIF Ch.0 receive buffer full 8-bit timer 3 underflow 8-bit timer 2 underflow 8-bit timer 1 underflow 8-bit timer 0 underflow 16-bit timer 5 comparison A 16-bit timer 5 comparison B 1 IDMA enabled 0 IDMA disabled 0 0 0 0 0 0 0 0 R/W R/W R/W R/W R/W R/W R/W R/W - 0 0 0 0 0 0 - 0 when being read. R/W R/W R/W R/W R/W R/W 8-bit timer 4-5 004029B D7-6 - serial I/F Ch.2/3 (B) D5 RSTX3 IDMA request D4 RSRX3 register D3 RSTX2 D2 RSRX2 D1 R8TU5 D0 R8TU4 B-III-3-12 reserved SIF Ch.3 transmit buffer empty SIF Ch.3 receive buffer full SIF Ch.2 transmit buffer empty SIF Ch.2 receive buffer full 8-bit timer 5 underflow 8-bit timer 4 underflow EPSON - 1 IDMA request 0 Interrupt request S1C33T01 FUNCTION PART III PERIPHERAL BLOCK: 8-BIT PROGRAMMABLE TIMERS Table 3.6 Register name Address Bit Name 8-bit timer 4-5 004029C D7-6 - serial I/F Ch.2/3 (B) D5 DESTX3 IDMA enable D4 DESRX3 register D3 DESTX2 D2 DESRX2 D1 DE8TU5 D0 DE8TU4 P1 function select register 00402D4 (B) Control Bits of 8-Bit Programmable Timer (continue) Function reserved SIF Ch.3 transmit buffer empty SIF Ch.3 receive buffer full SIF Ch.2 transmit buffer empty SIF Ch.2 receive buffer full 8-bit timer 5 underflow 8-bit timer 4 underflow D7 D6 - CFP16 reserved P16 function selection D5 CFP15 P15 function selection D4 CFP14 P14 function selection D3 CFP13 P13 function selection D2 CFP12 P12 function selection D1 CFP11 P11 function selection D0 CFP10 P10 function selection P1 I/O control register 00402D6 (B) D7 D6 D5 D4 D3 D2 D1 D0 - IOC16 IOC15 IOC14 IOC13 IOC12 IOC11 IOC10 reserved P16 I/O control P15 I/O control P14 I/O control P13 I/O control P12 I/O control P11 I/O control P10 I/O control Port function extension register 00402DF (B) D7 D6 D5 D4 D3 D2 D1 CFEX7 CFEX6 CFEX5 CFEX4 CFEX3 CFEX2 CFEX1 P07 port extended function P06 port extended function P05 port extended function P04 port extended function P31 port extended function P21 port extended function P10, P11, P13 port extended function D0 CFEX0 P12, P14 port extended function P5 function select register 0040303 (B) D7-2 - D1 CFP51 D0 CFP50 Setting Init. R/W - - 0 when being read. R/W R/W R/W R/W R/W R/W - 1 EXCL5 0 P16 #DMAEND1 1 EXCL4 0 P15 #DMAEND0 1 FOSC1 0 P14 - 0 - 0 when being read. R/W 0 R/W 0 1 EXCL3 T8UF3 1 EXCL2 T8UF2 1 EXCL1 T8UF1 1 EXCL0 T8UF0 0 P13 0 R/W Extended functions (0x402DF) R/W 0 P12 0 R/W 0 P11 0 R/W 0 P10 0 R/W - 0 0 0 0 0 0 0 - 0 when being read. R/W R/W R/W R/W R/W R/W R/W 0 0 0 0 0 0 1 R/W R/W R/W R/W R/W R/W R/W 1 R/W - 0 0 - 0 when being read. R/W R/W 1 IDMA enabled 0 IDMA disabled - reserved P51 function selection P50 function selection Remarks - 0 0 0 0 0 0 1 Output 0 Input 1 1 1 1 1 1 1 0 0 0 0 0 0 0 P07, P06, P05, P04, P31, P21, P10, P11, P13, 0 P12, P14, #DMAEND3 #DMAACK3 #DMAEND2 #DMAACK2 #GARD #GAAS DST0 DST1 DPC0 1 DST2 DCLK - 1 T8UF5 1 T8UF4 0 P51 0 P50 etc. etc. etc. etc. etc. etc. etc. etc. etc. etc. etc. CFP13-CFP10: P1[3:0] pin function selection (D[3:0]) / P1 function select register (0x402D4) CFP51-CFP50: P5[1:0] pin function selection (D[1:0]) / P5 function select register (0x40303) Selects the pin that is used to output a timer underflow signal to external devices. Write "1": Underflow signal output pin Write "0": I/O port pin Read: Valid Select the pins to be used as timer underflow signal external outputs from P10 to P13 and P50 to P51 by writing "1" values to CFP10 to CFP13 and CFP50 to CFP51. P10 to P13 correspond to timers 0 to 3, and P50 and P51 correspond to timers 4 and 5. If "0" is written to CFP1x, the pin is set for an I/O port. At cold start, CFP1x is set to "0" (I/O port). At hot start, the bit retains its state from prior to the initial reset. S1C33T01 FUNCTION PART EPSON B-III-3-13 III PERIPHERAL BLOCK: 8-BIT PROGRAMMABLE TIMERS IOC13-IOC10: P1[3:0] port I/O control (D[3:0]) / P1 I/O control register (0x402D6) Sets input or output mode for P10 through P13. Write "1": Output mode Write "0": Input mode Read: Valid If a pin chosen from among P10 through P13 is used to output an underflow signal, write "1" to the corresponding I/O control bit to set it to output mode. If the pin is set to input mode, even if its CFP1x is set to "1", it functions as the event counter input pin of a 16-bit programmable timer cannot be used to output a timer underflow signal. At cold start, IOC1x is set to "0" (input mode). At hot start, the bit retains its state from prior to the initial reset. CFEX1: P10, P11, P13 port extended function (D1) / Port function extension register (0x402DF) CFEX0: P12, P14 port extended function (D0) / Port function extension register (0x402DF) Sets whether the function of an I/O-port pin is to be extended. Write "1": Function-extended pin Write "0": I/O-port/peripheral-circuit pin Read: Valid When CFEX[1:0] is set to "1", the P13-P10 ports function as debug signal output ports. When CFEX[1:0] = "0", the CFP1[3:0] bit becomes effective, so the settings of these bits determine whether the P13-P10 ports function as I/O port s or timer underflow signal output ports. At cold start, CFEX[1:0] is set to "1" (function-extended pins). At hot start, CFEX[1:0] retains its state from prior to the initial reset. RLD07-RLD00: Timer 0 RLD17-RLD10: Timer 1 RLD27-RLD20: Timer 2 RLD37-RLD30: Timer 3 RLD47-RLD40: Timer 4 RLD57-RLD50: Timer 5 reload reload reload reload reload reload data (D[7:0]) / 8-bit timer 0 reload data register (0x40161) data (D[7:0]) / 8-bit timer 1 reload data register (0x40165) data (D[7:0]) / 8-bit timer 2 reload data register (0x40169) data (D[7:0]) / 8-bit timer 3 reload data register (0x4016D) data (D[7:0]) / 8-bit timer 4 reload data register (0x40175) data (D[7:0]) / 8-bit timer 5 reload data register (0x40179) Set the initial counter value of each timer. The reload data set in this register is loaded into each counter, and the counter starts counting down beginning with this data, which is used as the initial count. There are two cases in which the reload data is loaded into the counter: when data is preset after "1" is written to PSETx, or when data is automatically reloaded upon counter underflow. At initial reset, RLD is not initialized. PTD07-PTD00: Timer 0 PTD17-PTD10: Timer 1 PTD27-PTD20: Timer 2 PTD37-PTD30: Timer 3 PTD47-PTD40: Timer 4 PTD57-PTD50: Timer 4 counter counter counter counter counter counter data (D[7:0]) / 8-bit timer 0 data (D[7:0]) / 8-bit timer 1 data (D[7:0]) / 8-bit timer 2 data (D[7:0]) / 8-bit timer 3 data (D[7:0]) / 8-bit timer 4 data (D[7:0]) / 8-bit timer 5 counter counter counter counter counter counter data (0x40162) data (0x40166) data (0x4016A) data (0x4016E) data (0x40176) data (0x4017A) The 8-bit programmable timer data can be read out from these bits. These bits function as buffers that retain the counter data when read out, enabling the data to be read out at any time. At initial reset, PTD is not initialized. B-III-3-14 EPSON S1C33T01 FUNCTION PART III PERIPHERAL BLOCK: 8-BIT PROGRAMMABLE TIMERS PSET0: Timer 0 PSET1: Timer 1 PSET2: Timer 2 PSET3: Timer 3 PSET4: Timer 4 PSET5: Timer 5 preset preset preset preset preset preset (D1) / 8-bit timer 0 (D1) / 8-bit timer 1 (D1) / 8-bit timer 2 (D1) / 8-bit timer 3 (D1) / 8-bit timer 4 (D1) / 8-bit timer 5 control control control control control control register register register register register register (0x40160) (0x40164) (0x40168) (0x4016C) (0x40174) (0x40178) Preset the reload data in the counter. Write "1": Preset Write "0": Invalid Read: Always "0" The reload data of RLDx is preset in the counter of timer x by writing "1" to PSETx. If the counter is preset when in a RUN state, the counter starts counting immediately after the reload data is preset. If the counter is preset when in a STOP state, the reload data that has been preset is retained. Writing "0" results in No Operation. Since PSETx is a write-only bit, its content when read is always "0". PTRUN0: Timer 0 PTRUN1: Timer 1 PTRUN2: Timer 2 PTRUN3: Timer 3 PTRUN4: Timer 4 PTRUN5: Timer 5 RUN/STOP control RUN/STOP control RUN/STOP control RUN/STOP control RUN/STOP control RUN/STOP control (D0) / 8-bit timer 0 (D0) / 8-bit timer 1 (D0) / 8-bit timer 2 (D0) / 8-bit timer 3 (D0) / 8-bit timer 4 (D0) / 8-bit timer 5 control control control control control control register register register register register register (0x40160) (0x40164) (0x40168) (0x4016C) (0x40174) (0x40178) Controls the counter's RUN/STOP states. Write "1": RUN Write "0": STOP Read: Valid The counter of each timer starts counting down when "1" written to PTRUNx, and stops counting when "0" is written. While in a STOP state, the counter retains its count until it is preset with reload data or placed in a RUN state. When the state is changed from STOP to RUN, the counter can restart counting beginning with the retained count. At initial reset, PTRUNx is set to "0" (STOP). PTOUT0: Timer 0 PTOUT1: Timer 1 PTOUT2: Timer 2 PTOUT3: Timer 3 PTOUT4: Timer 4 PTOUT5: Timer 5 clock clock clock clock clock clock output output output output output output control control control control control control register register register register register register (D2) / 8-bit timer 0 (D2) / 8-bit timer 1 (D2) / 8-bit timer 2 (D2) / 8-bit timer 3 (D2) / 8-bit timer 4 (D2) / 8-bit timer 5 control control control control control control register register register register register register (0x40160) (0x40164) (0x40168) (0x4016C) (0x40174) (0x40178) Controls the clock output of each timer. Write "1": On Write "0": Off Read: Valid The underflow signal of timer x is output from the external output pin set by CFP1x by writing "1" to PTOUTx. When using timer 2 to 5 as the clock source of the serial interface, a clock generated from the underflow signal by dividing it by 2 is output to the corresponding channel of the serial interface. The clock output is turned off by writing "0" to PTOUT, and the external output is fixed at "0" and the internal clock output is fixed at "1". At initial reset, PTOUT is set to "0" (off). S1C33T01 FUNCTION PART EPSON B-III-3-15 III PERIPHERAL BLOCK: 8-BIT PROGRAMMABLE TIMERS P8TM2-P8TM0: 8-bit timer interrupt level (D[2:0]) / 8-bit timer, serial I/F Ch.0 interrupt priority register (0x40269) Set the priority level of the 8-bit programmable timer interrupt in the range of 0 to 7. At initial reset, the content of the P8TM register becomes indeterminate. E8TU0: Timer 0 E8TU1: Timer 1 E8TU2: Timer 2 E8TU3: Timer 3 E8TU4: Timer 4 E8TU5: Timer 5 interrupt interrupt interrupt interrupt interrupt interrupt enable enable enable enable enable enable (D0) / 8-bit timer interrupt enable register (0x40275) (D1) / 8-bit timer interrupt enable register (0x40275) (D2) / 8-bit timer interrupt enable register (0x40275) (D3) / 8-bit timer interrupt enable register (0x40275) (D0) / 8-bit timer interrupt enable register (0x40278) (D1) / 8-bit timer interrupt enable register (0x40278) Enables or disables generation of an interrupt to the CPU. Write "1": Interrupt enabled Write "0": Interrupt disabled Read: Valid E8TUx is the interrupt enable bit which controls the interrupt generated by each timer. The interrupt set to "1" by this bit is enabled, and the interrupt set to "0" by this bit is disabled. At initial reset, E8TUx is set to "0" (interrupt disabled). F8TU0: Timer 0 F8TU1: Timer 1 F8TU2: Timer 2 F8TU3: Timer 3 F8TU4: Timer 4 F8TU5: Timer 5 interrupt interrupt interrupt interrupt interrupt interrupt factor flag factor flag factor flag factor flag factor flag factor flag (D0) / 8-bit timer interrupt factor flag register (0x40285) (D1) / 8-bit timer interrupt factor flag register (0x40285) (D2) / 8-bit timer interrupt factor flag register (0x40285) (D3) / 8-bit timer interrupt factor flag register (0x40285) (D0) / 8-bit timer interrupt factor flag register (0x40288) (D1) / 8-bit timer interrupt factor flag register (0x40288) Indicates the interrupt generation status of the 8-bit programmable timer. When read Read "1": Interrupt factor has occurred Read "0": No interrupt factor has occurred When written using the reset-only method (default) Write "1": Interrupt factor flag is reset Write "0": Invalid When written using the read/write method Write "1": Interrupt flag is set Write "0": Interrupt flag is reset F8TUx is the interrupt factor flag corresponding to each timer. It is set to "1" when the counter underflows. At this time, if the following conditions are met, an interrupt to the CPU is generated: 1. The corresponding interrupt enable register bit is set to "1". 2. No other interrupt request of a higher priority has been generated. 3. The IE bit of the PSR is set to "1" (interrupts enabled). 4. The value set in the corresponding interrupt priority register is higher than the interrupt level (IL) of the CPU. When using the interrupt factor of the 8-bit programmable timer to request IDMA, note that even when the above conditions are met, no interrupt request to the CPU is generated for the interrupt factor that has occurred. If interrupts are enabled at the setting of IDMA, an interrupt is generated under the above conditions after the data transfer by IDMA is completed. The interrupt factor flag is set to "1" whenever interrupt generation conditions are met, regardless of how the interrupt enable and interrupt priority registers are set. If the next interrupt is to be accepted after an interrupt has occurred, it is necessary that the interrupt factor flag be reset, and that the PSR be set again (by setting the IE bit to "1" after setting the IL to a value lower than the level indicated by the interrupt priority register, or by executing the reti instruction). B-III-3-16 EPSON S1C33T01 FUNCTION PART III PERIPHERAL BLOCK: 8-BIT PROGRAMMABLE TIMERS The interrupt factor flag can be reset only by writing to it in the software. Note that if the PSR is set again to accept interrupts generated (or if the reti instruction is executed) without resetting the interrupt factor flag, the same interrupt occurs again. Note also that the value to be written to reset the flag is "1" when the reset-only method (RSTONLY = "1") is used, and "0" when the read/write method (RSTONLY = "0") is used. At initial reset, the content of F8TUx becomes indeterminate, so be sure to reset it in the software. R8TU0: Timer 0 IDMA request (D2) / 16-bit timer 5, 8-bit timer, serial I/F Ch.0 IDMA request register (0x40292) R8TU1: Timer 1 IDMA request (D3) / 16-bit timer 5, 8-bit timer, serial I/F Ch.0 IDMA request register (0x40292) R8TU2: Timer 2 IDMA request (D4) / 16-bit timer 5, 8-bit timer, serial I/F Ch.0 IDMA request register (0x40292) R8TU3: Timer 3 IDMA request (D5) / 16-bit timer 5, 8-bit timer, serial I/F Ch.0 IDMA request register (0x40292) R8TU4: Timer 4 IDMA request (D0) / 8-bit timer 4-5, serial I/F Ch.2/3 IDMA request register (0x4029B) R8TU5: Timer 5 IDMA request (D1) / 8-bit timer 4-5, serial I/F Ch.2/3 IDMA request register (0x4029B) Specifies whether IDMA is to be invoked at the occurrence of an interrupt factor. When using the set-only method (default) Write "1": IDMA request Write "0": Not changed Read: Valid When using the read/write method Write "1": IDMA request Write "0": Interrupt request Read: Valid R8TUx is the IDMA request bit for each timer. If this bit is set to "1", IDMA can be invoked when an interrupt factor occurs, and thus programmed data transfers are performed. If the bit is set to "0", normal interrupt processing is performed and IDMA is not invoked. For details on IDMA, refer to "IDMA (Intelligent DMA)". At initial reset, R8TUx is set to "0" (interrupt request). DE8TU0: Timer 0 IDMA enable (D2) / 16-bit timer 5, 8-bit timer, serial I/F Ch.0 IDMA enable register (0x40296) DE8TU1: Timer 1 IDMA enable (D3) / 16-bit timer 5, 8-bit timer, serial I/F Ch.0 IDMA enable register (0x40296) DE8TU2: Timer 2 IDMA enable (D4) / 16-bit timer 5, 8-bit timer, serial I/F Ch.0 IDMA enable register (0x40296) DE8TU3: Timer 3 IDMA enable (D5) / 16-bit timer 5, 8-bit timer, serial I/F Ch.0 IDMA enable register (0x40296) DE8TU4: Timer 4 IDMA enable (D0) / 8-bit timer 4-5, serial I/F Ch.2/3 IDMA enable register (0x4029C) DE8TU5: Timer 5 IDMA enable (D1) / 8-bit timer 4-5, serial I/F Ch.2/3 IDMA enable register (0x4029C) Enables IDMA transfer by means of an interrupt factor. When using the set-only method (default) Write "1": IDMA enabled Write "0": Not changed Read: Valid When using the read/write method Write "1": IDMA enabled Write "0": IDMA disabled Read: Valid If DE8TUx is set to "1", the IDMA request by the interrupt factor is enabled. If the register bit is set to "0", the IDMA request is disabled. After an initial reset, DE8TUx is set to "0" (IDMA disabled). S1C33T01 FUNCTION PART EPSON B-III-3-17 III PERIPHERAL BLOCK: 8-BIT PROGRAMMABLE TIMERS Programming Notes (1) The 8-bit programmable timer operates only when the prescaler is operating. (2) Do not use a clock that is faster than the CPU operating clock for the 8-bit programmable timer. (3) When setting an input clock, make sure the 8-bit programmable timer is turned off. (4) Since the underflow interrupt condition and the timer output status are undefined after an initial reset, the counter initial value should be set to the 8-bit timer before resetting the interrupt factor flag or turning the timer output on. (5) After an initial reset, the interrupt factor flag (F8TUx) becomes indeterminate. To prevent generation of an unwanted interrupt or IDMA request, be sure to reset this flag in the software. (6) To prevent another interrupt from being generated again by the same factor after an interrupt has occurred, be sure to reset the interrupt factor flag (F8TUx) before setting the PSR again or executing the reti instruction. B-III-3-18 EPSON S1C33T01 FUNCTION PART III PERIPHERAL BLOCK: 16-BIT PROGRAMMABLE TIMERS III-4 16-BIT PROGRAMMABLE TIMERS Configuration of 16-Bit Programmable Timer The Peripheral Block contains ten systems of 16-bit programmable timers (timers 0 to 9). They also have an event counter function using an I/O port pin. Note: On the following pages, each timer is identified as timer x (x = 0 to 9). The functions and control register structures of 16-bit programmable timers 0 to 9 are the same. Control bit names are assigned numerals "0" to "9" denoting timer numbers. Since explanations are common to all timers, timer numbers are represented by "x" unless it is necessary to specify a timer number. Figure 4.1 shows the structure of one channel of the 16-bit programmable timer. Timer x Comparison register A buffer (CRBxA) Prescaler INCLx 16-bit comparison data register A (CRxA) Clock select circuit EXCLx External clock Comparison match A Comparator 16-bit up counter (TCx) TMx Clock output Control circuit Comparison A interrupt Comparison B interrupt Interrupt controller Comparison match B Comparator Data bus Clock generator 16-bit comparison data register B (CRxB) Comparison A Comparison B Comparison register B buffer (CRBxB) Timer x control register Figure 4.1 Structure of 16-Bit Programmable Timer In each timer, a 16-bit up-counter (TCx), as well as two 16-bit comparison data registers (CRxA, CRxB) and their buffers (CRBxA, CRBxB), are provided. The 16-bit counter can be reset to "0" by software and counts up using the prescaler output clock or an external signal input from the I/O port. The counter value can be read by software. The comparison data registers A and B are used to store the data to be compared with the content of the up-counter. This register can be directly read and written. Furthermore, comparison data can be set via the comparison register buffer. In this case, the set value is loaded to the comparison data register when the counter is reset by the comparison match B signal or software (by writing "1" to PRESETx bit). The software can select whether comparison data is written to the comparison data register or the buffer. When the counter value matches to the content of each comparison data register, the comparator outputs a signal that controls the interrupt and the output signal. Thus the registers allow interrupt generating intervals and the timer's output clock frequency and duty ratio to be programmed. S1C33T01 FUNCTION PART EPSON B-III-4-1 III PERIPHERAL BLOCK: 16-BIT PROGRAMMABLE TIMERS I/O Pins of 16-Bit Programmable Timers Table 4.1 shows the input/output pins used for the 16-bit programmable timers. Table 4.1 I/O Pins of 16-Bit Programmable Timer Pin name I/O Function Function select bit P10/EXCL0/ T8UF0/DST0 I/O I/O port / 16-bit timer 0 event counter input (I) / 8-bit timer 0 output (O) / DST0 output (Ex) CFP10(D0)/P1 function select register(0x402D4) CFEX1(D1)/Port function extension register(0x402DF) P11/EXCL1/ T8UF1/DST1 I/O I/O port / 16-bit timer 1 event counter input (I) / 8-bit timer 1 output (O) / DST1 output (Ex) CFP11(D1)/P1 function select register(0x402D4) CFEX1(D1)/Port function extension register(0x402DF) P12/EXCL2/ T8UF2/DST2 I/O I/O port / 16-bit timer 2 event counter input (I) / 8-bit timer 2 output (O) / DST2 output (Ex) CFP12(D2)/P1 function select register(0x402D4) CFEX0(D0)/Port function extension register(0x402DF) P13/EXCL3/ T8UF3/DPCO I/O I/O port / 16-bit timer 3 event counter input (I) / 8-bit timer 3 output (O) / DPCO output (Ex) CFP13(D3)/P1 function select register(0x402D4) CFEX1(D1)/Port function extension register(0x402DF) P15/EXCL4 /#DMAEND0 I/O I/O port / 16-bit timer 4 event counter input (I) / High-speed DMA Ch.0 end signal output (O) CFP15(D5)/P1 function select register(0x402D4) P16/EXCL5 /#DMAEND1 I/O I/O port / 16-bit timer 5 event counter input (I) / High-speed DMA Ch.1 end signal output (O) CFP16(D6)/P1 function select register(0x402D4) P80/EXCL6 I/O I/O port / 16-bit timer 6 event counter input CFP80(D0)/P8 function select register(0x4030D) P81/EXCL7 I/O I/O port / 16-bit timer 7 event counter input CFP81(D1)/P8 function select register(0x4030D) P82/EXCL8 I/O I/O port / 16-bit timer 8 event counter input CFP82(D2)/P8 function select register(0x4030D) P83/EXCL9 I/O I/O port / 16-bit timer 9 event counter input CFP83(D3)/P8 function select register(0x4030D) P22/TM0 I/O I/O port / 16-bit timer 0 output CFP22(D2)/P8 function select register(0x402D8) P23/TM1 I/O I/O port / 16-bit timer 1 output CFP23(D3)/P2 function select register(0x402D8) P24/TM2 I/O I/O port / 16-bit timer 2 output CFP24(D4)/P2 function select register(0x402D8) P25/TM3 I/O I/O port / 16-bit timer 3 output CFP25(D5)/P2 function select register(0x402D8) P26/TM4 I/O I/O port / 16-bit timer 4 output CFP26(D6)/P2 function select register(0x402D8) P27/TM5 I/O I/O port / 16-bit timer 5 output CFP27(D7)/P2 function select register(0x402D8) P84/TM6 I/O I/O port / 16-bit timer 6 output CFP84(D4)/P8 function select register(0x4030D) P85/TM7 I/O I/O port / 16-bit timer 7 output CFP85(D5)/P8 function select register(0x4030D) P86/TM8 I/O I/O port / 16-bit timer 8 output CFP86(D6)/P8 function select register(0x4030D) P87/TM9 I/O I/O port / 16-bit timer 9 output CFP87(D7)/P8 function select register(0x4030D) (I): Input mode, (O): Output mode, (Ex): Extended function TMx (output pin of the 16-bit programmable timer) This pin outputs a clock generated by the timer x. EXCLx (event counter input pin) When using the timer x as an event counter, input count pulses from an external source to this pin. How to set the input/output pins of 16-bit programmable timers All clock output pins used by the 16-bit programmable timers are shared with I/O ports. At cold start, all these pins are set for the I/O port pins P2x (function select bit CFP2x = "0"), and go into high-impedance. When using the clock output function of the 16-bit programmable timer, select the desired timer and write "1" to the function select bit CFP2x for the corresponding pin. At hot start, these pins retain their status before from prior to the reset. All event-counter input pins are also shared with I/O-ports. At cold start, channels 0 to 5 are set up as debug signal output pins (the port function expansion bits CFX[1:0] are set to "1"). When using the event counter function, select the desired timer and write "1" to the function select bit CFP1x and write "0" to the function select bit CFEXx for the corresponding pin. Note that these pins are also shared with output pins for the 8-bit programmer timers, etc. When the input/output pins are set in input mode, they function as event counter inputs. Therefore, it is necessary to set the I/O port's I/O control bit IOC1x to "0" in advance. At cold start, these pins are set in input mode. Channels 6 to 9 function as event input pins when "1" is written to the corresponding CFPx. At hot start, the states of these register prior to the reset are retained. B-III-4-2 EPSON S1C33T01 FUNCTION PART III PERIPHERAL BLOCK: 16-BIT PROGRAMMABLE TIMERS Uses of 16-Bit Programmable Timers The up-counters of the 16-bit programmable timer cyclically output a comparison-match signal in accordance with the comparison data that are set in the software. This signal is used to generate an interrupt request to the CPU or control the internal peripheral circuits. A clock generated from the signal can also be output to external devices. CPU interrupt request/IDMA invocation request Each timer's comparison match (matching of counter and comparison data) can be used as an interrupt factor to generate an interrupt request to the CPU. Therefore, an interrupt can be generated at an interval that is set in the software. Furthermore, this interrupt factor can also be used to invoke IDMA or HSDMA. Clock output to external devices A clock generated from the comparison-match signal can be output from the chip to the outside. The clock cycle is determined by comparison data B, and the duty ratio is determined by comparison data A. This output can be used to control external devices. The output pins of each timer are described in the preceding section. A/D converter start trigger The A/D converter allows a trigger to start the A/D conversion to be selected from among four available types. One is the comparison-match B of the 16-bit programmable timer 0. This makes it possible to perform the A/D conversion at programmable intervals. To use this function, write "01" to the A/D converter control TS[1:0] (D[4:3]) / A/D trigger register (0x40242) to select the 16-bit programmable timer 0 as the trigger. Watchdog timer The 16-bit programmable timer 0 can be used as a watchdog timer to monitor CPU crash. In this case, the comparison-match B of this timer serves as an NMI request signal to the CPU. To use this function, write "1" to the watchdog timer control bit EWD (D1) / Watchdog timer enable register (0x40171) to enable the NMI. For details on how to control the watchdog timer, refer to "Watchdog Timer". S1C33T01 FUNCTION PART EPSON B-III-4-3 III PERIPHERAL BLOCK: 16-BIT PROGRAMMABLE TIMERS Control and Operation of 16-Bit Programmable Timer The following settings must first be made before the 16-bit programmable timer starts counting: 1. Setting pins for input/output (only when necessary) 2. Setting input clock 3. Selecting comparison data register/buffer 4. Setting clock output conditions (signal active level, fine mode) 5. Setting comparison data 6. Setting interrupt/IDMA For details on how to set clock output conditions and interrupts and DMA, refer to "Controlling Clock Output" and "16-Bit Programmable Timer Interrupts and DMA". Setting pin for input/output The pin must be set for output for the output clock of the 16-bit programmable timer to be fed to external devices. The pin for input must be set for the 16-bit programmable timer to be used as an event counter that counts external clock pulses. For details on how to set the pin, refer to "I/O Pins of 16-Bit Programmable Timers". Setting the input clock The count clock for each timer can be selected from between an internal clock and an external clock. Use the following control bits to select the input clock: Timer 0 input clock selection: CKSL0 (D3) / 16-bit timer 0 control register (0x48186) Timer 1 input clock selection: CKSL1 (D3) / 16-bit timer 1 control register (0X4818E) Timer 2 input clock selection: CKSL2 (D3) / 16-bit timer 2 control register (0x48196) Timer 3 input clock selection: CKSL3 (D3) / 16-bit timer 3 control register (0x4819E) Timer 4 input clock selection: CKSL4 (D3) / 16-bit timer 4 control register (0x481A6) Timer 5 input clock selection: CKSL5 (D3) / 16-bit timer 5 control register (0x481AE) Timer 6 input clock selection: CKSL6 (D3) / 16-bit timer 6 control register (0x481B6) Timer 7 input clock selection: CKSL7 (D3) / 16-bit timer 7 control register (0x481BE) Timer 8 input clock selection: CKSL8 (D3) / 16-bit timer 8 control register (0x481C6) Timer 9 input clock selection: CKSL9 (D3) / 16-bit timer 9 control register (0x481CE) An external clock is selected by writing "1" to CKSLx, and the internal clock is selected by writing "0". At initial reset, CKSLx is set for the internal clock. An external clock can be used for the timer for which the pin is set for input. * Internal clock When the internal clock is selected as a timer, the timer is operated by the prescaler output clock. The prescaler division ratio can be selected for each timer. Table 4.2 Setting the Internal Clock Timer Timer Timer Timer Timer Timer Timer Timer Timer Timer Timer 0 1 2 3 4 5 6 7 8 9 Control register 16-bit timer 0 clock control register (0x40147) 16-bit timer 1 clock control register (0x40148) 16-bit timer 2 clock control register (0x40149) 16-bit timer 3 clock control register (0x4014A) 16-bit timer 4 clock control register (0x4014B) 16-bit timer 5 clock control register (0x4014C) 16-bit timer 6 clock control register (0x40141) 16-bit timer 7 clock control register (0x40142) 16-bit timer 8 clock control register (0x40143) 16-bit timer 9 clock control register (0x40144) Division ratio select bit Clock control bit P16TS0[2:0] (D2:0]) P16TS1[2:0] (D2:0]) P16TS2[2:0] (D2:0]) P16TS3[2:0] (D2:0]) P16TS4[2:0] (D2:0]) P16TS5[2:0] (D2:0]) P16TS6[2:0] (D2:0]) P16TS7[2:0] (D2:0]) P16TS8[2:0] (D2:0]) P16TS9[2:0] (D2:0]) P16TON0 (D3) P16TON1 (D3) P16TON2 (D3) P16TON3 (D3) P16TON4 (D3) P16TON5 (D3) P16TON6 (D3) P16TON7 (D3) P16TON8 (D3) P16TON9 (D3) The division ratio can be selected from among eight types as shown in Table 4.3. B-III-4-4 EPSON S1C33T01 FUNCTION PART III PERIPHERAL BLOCK: 16-BIT PROGRAMMABLE TIMERS Table 4.3 Input Clock Selection P16TS = 7 P16TS = 6 P16TS = 5 P16TS = 4 P16TS = 3 fPSCIN/4096 fPSCIN/1024 fPSCIN/256 fPSCIN/64 fPSCIN/16 P16TS = 2 P16TS = 1 P16TS = 0 fPSCIN/4 fPSCIN/2 fPSCIN/1 fPSCIN: Prescaler input clock frequency The selected clock is output from the prescaler to the 16-bit programmable timer by writing "1" to P16TONx. Notes: * When the internal clock is used, the 16-bit programmable timer operates only when the prescaler is operating (refer to "Prescaler"). * When setting an input clock, make sure the 16-bit programmable timer is turned off. * External clock When using the timer as an event counter by supplying clock pulses from an external source, make sure the event cycle is at least the CPU operating clock period. Selecting comparison data register/buffer The comparison data registers A and B are used to store the data to be compared with the content of the upcounter. This register can be directly read and written. Furthermore, comparison data can be set via the comparison register buffer. In this case, the set value is loaded to the comparison data register when the counter is reset by the comparison match B signal or software (by writing "1" to PRESETx bit). Select whether comparison data is written to the comparison data register or the buffer using the following control bits: Timer 0 comparison register buffer enable: SELCRB0 (D5) / 16-bit timer 0 control register (0x48186) Timer 1 comparison register buffer enable: SELCRB1 (D5) / 16-bit timer 1 control register (0x4818E) Timer 2 comparison register buffer enable: SELCRB2 (D5) / 16-bit timer 2 control register (0x48196) Timer 3 comparison register buffer enable: SELCRB3 (D5) / 16-bit timer 3 control register (0x4819E) Timer 4 comparison register buffer enable: SELCRB4 (D5) / 16-bit timer 4 control register (0x481A6) Timer 5 comparison register buffer enable: SELCRB5 (D5) / 16-bit timer 5 control register (0x481AE) Timer 6 comparison register buffer enable: SELCRB6 (D5) / 16-bit timer 6 control register (0x481B6) Timer 7 comparison register buffer enable: SELCRB7 (D5) / 16-bit timer 7 control register (0x481BE) Timer 8 comparison register buffer enable: SELCRB8 (D5) / 16-bit timer 8 control register (0x481C6) Timer 9 comparison register buffer enable: SELCRB9 (D5) / 16-bit timer 9 control register (0x481CE) When "1" is written to SELCRBx, the comparison register buffer is selected and when "0" is written, the comparison data register is selected. At initial reset, the comparison data register is selected. Setting comparison data The programmable timer contains two data comparators that allows the count data to be compared with given values. The following registers are used to set these values. Timer Timer Timer Timer Timer Timer Timer Timer Timer Timer Timer Timer Timer Timer Timer Timer Timer 0 comparison data A: CR0A[15:0] (D[F:0]) / 16-bit timer 0 comparison data A set-up register (0x48180) 0 comparison data B: CR0B[15:0] (D[F:0]) / 16-bit timer 0 comparison data B set-up register (0x48182) 1 comparison data A: CR1A[15:0] (D[F:0]) / 16-bit timer 1 comparison data A set-up register (0x48188) 1 comparison data B: CR1B[15:0] (D[F:0]) / 16-bit timer 1 comparison data B set-up register (0x4818A) 2 comparison data A: CR2A[15:0] (D[F:0]) / 16-bit timer 2 comparison data A set-up register (0x48190) 2 comparison data B: CR2B[15:0] (D[F:0]) / 16-bit timer 2 comparison data B set-up register (0x48192) 3 comparison data A: CR3A[15:0] (D[F:0]) / 16-bit timer 3 comparison data A set-up register (0x48198) 3 comparison data B: CR3B[15:0] (D[F:0]) / 16-bit timer 3 comparison data B set-up register (0x4819A) 4 comparison data A: CR4A[15:0] (D[F:0]) / 16-bit timer 4 comparison data A set-up register (0x481A0) 4 comparison data B: CR4B[15:0] (D[F:0]) / 16-bit timer 4 comparison data B set-up register (0x481A2) 5 comparison data A: CR5A[15:0] (D[F:0]) / 16-bit timer 5 comparison data A set-up register (0x481A8) 5 comparison data B: CR5B[15:0] (D[F:0]) / 16-bit timer 5 comparison data B set-up register (0x481AA) 6 comparison data A: CR6A[15:0] (D[F:0]) / 16-bit timer 6 comparison A set-up register (0x481B0) 6 comparison data B: CR6B[15:0] (D[F:0]) / 16-bit timer 6 comparison B set-up register (0x481B2) 7 comparison data A: CR7A[15:0] (D[F:0]) / 16-bit timer 7 comparison A set-up register (0x481B8) 7 comparison data B: CR7B[15:0] (D[F:0]) / 16-bit timer 7 comparison B set-up register (0x481BA) 8 comparison data A: CR8A[15:0] (D[F:0]) / 16-bit timer 8 comparison A set-up register (0x481C0) S1C33T01 FUNCTION PART EPSON B-III-4-5 III PERIPHERAL BLOCK: 16-BIT PROGRAMMABLE TIMERS Timer 8 comparison data B: CR8B[15:0] (D[F:0]) / 16-bit timer 8 comparison B set-up register (0x481C2) Timer 9 comparison data A: CR9A[15:0] (D[F:0]) / 16-bit timer 9 comparison A set-up register (0x481C8) Timer 9 comparison data B: CR9B[15:0] (D[F:0]) / 16-bit timer 9 comparison B set-up register (0x481CA) When SELCRBx is set to "0", these registers allow direct reading/writing from/to the comparison data register. When SELCRBx is set to "1", these registers are used to read/write from/to the comparison register buffer. The content of the buffer is loaded to the comparison data register when the counter is reset. At initial reset, the comparison data registers/buffers are not initialized. The programmable timer compares the comparison data register and count data and, when the two values are equal, generates a comparison match signal. This comparison match signal controls the clock output (TMx signal) to external devices, in addition to generating an interrupt. The comparison data B is also used to reset the counter. Resetting the counter Each timer includes the PRESETx bit to reset the counter. Timer 0 reset: PRESET0 (D1) / 16-bit timer 0 control register (0x48186) Timer 1 reset: PRESET1 (D1) / 16-bit timer 1 control register (0x4818E) Timer 2 reset: PRESET2 (D1) / 16-bit timer 2 control register (0x48196) Timer 3 reset: PRESET3 (D1) / 16-bit timer 3 control register (0x4819E) Timer 4 reset: PRESET4 (D1) / 16-bit timer 4 control register (0x481A6) Timer 5 reset: PRESET5 (D1) / 16-bit timer 5 control register (0x481AE) Timer 6 reset: PRESET6 (D1) / 16-bit timer 6 control register (0x481B6) Timer 7 reset: PRESET7 (D1) / 16-bit timer 7 control register (0x481BE) Timer 8 reset: PRESET8 (D1) / 16-bit timer 8 control register (0x481C6) Timer 9 reset: PRESET9 (D1) / 16-bit timer 9 control register (0x481CE) Normally, reset the counter before starting count-up by writing "1" to this control bit. After the counter starts counting, it will be reset by comparison match B. Timer RUN/STOP control Each timer includes the PRUNx bit to control RUN/STOP. Timer 0 RUN/STOP control: PRUN0 (D0) / 16-bit timer 0 control register (0x48186) Timer 1 RUN/STOP control: PRUN1 (D0) / 16-bit timer 1 control register (0x4818E) Timer 2 RUN/STOP control: PRUN2 (D0) / 16-bit timer 2 control register (0x48196) Timer 3 RUN/STOP control: PRUN3 (D0) / 16-bit timer 3 control register (0x4819E) Timer 4 RUN/STOP control: PRUN4 (D0) / 16-bit timer 4 control register (0x481A6) Timer 5 RUN/STOP control: PRUN5 (D0) / 16-bit timer 5 control register (0x481AE) Timer 6 RUN/STOP control: PRUN6 (D0) / 16-bit timer 6 control register (0x481B6) Timer 7 RUN/STOP control: PRUN7 (D0) / 16-bit timer 7 control register (0x481BE) Timer 8 RUN/STOP control: PRUN8 (D0) / 16-bit timer 8 control register (0x481C6) Timer 9 RUN/STOP control: PRUN9 (D0) / 16-bit timer 9 control register (0x481CE) The timer starts counting when "1" is written to PRUNx. The clock input is disabled and the timer stops counting when "0" is written to PRUNx. This RUN/STOP control does not affect the counter data. Even when the timer has stopped counting, the counter retains its count so that the timer can start counting again from that point. If the count of the counter matches the set value of the comparison data register during count-up, the timer generates a comparison match interrupt. When the counter matches comparison data B, an interrupt is generated and the counter is reset. At the same time, the values set in the compare register buffer are loaded to the compare data register if SELCRBx is set to "1". The counter continues counting up regardless of which interrupt has occurred. In the case of a comparison B interrupt, the counter starts counting beginning with 0. When both the timer RUN/STOP control bit (PRUNx) and the timer reset bit (PRESETx) are set to "1" at the same time, the timer starts counting after resetting the counter. B-III-4-6 EPSON S1C33T01 FUNCTION PART III PERIPHERAL BLOCK: 16-BIT PROGRAMMABLE TIMERS PRUNx PRESETx CRxA 0x2 CRxB 0x5 Input clock TCx 0 Reset 1 2 3 4 5 Comparison A interrupt 0 1 2 3 Reset and Comparison A Comparison B interrupt interrupt Figure 4.2 Basic Operation Timing of Counter 4 5 0 1 Reset and Comparison B interrupt Reading counter data The counter data can be read out from the following addresses shown below at any time: Timer 0 counter data: TC0[15:0] (D[F:0]) / 16-bit timer 0 counter data register (0x48184) Timer 1 counter data: TC1[15:0] (D[F:0]) / 16-bit timer 1 counter data register (0x4818C) Timer 2 counter data: TC2[15:0] (D[F:0]) / 16-bit timer 2 counter data register (0x48194) Timer 3 counter data: TC3[15:0] (D[F:0]) / 16-bit timer 3 counter data register (0x4819C) Timer 4 counter data: TC4[15:0] (D[F:0]) / 16-bit timer 4 counter data register (0x481A4) Timer 5 counter data: TC5[15:0] (D[F:0]) / 16-bit timer 5 counter data register (0x481AC) Timer 6 counter data: TC6[15:0] (D[F:0]) / 16-bit timer 6 counter data register (0x481B4) Timer 7 counter data: TC7[15:0] (D[F:0]) / 16-bit timer 7 counter data register (0x481BC) Timer 8 counter data: TC8[15:0] (D[F:0]) / 16-bit timer 8 counter data register (0x481C4) Timer 9 counter data: TC9[15:0] (D[F:0]) / 16-bit timer 9 counter data register (0x481CC) Controlling Clock Output The timers can generate a TMx signal using the comparison match signals from the counter. Setting the signal active level By default, an active high signal (normal low) is generated. This logic can be inverted using the OUTINVx bit. When "1" is written to the OUTINVx bit, the timer generates an active low (normal high) signal. Timer 0 clock output inversion: OUTINV0 (D4) / 16-bit timer 0 control register (0x48186) Timer 1 clock output inversion: OUTINV1 (D4) / 16-bit timer 1 control register (0x4818E) Timer 2 clock output inversion: OUTINV2 (D4) / 16-bit timer 2 control register (0x48196) Timer 3 clock output inversion: OUTINV3 (D4) / 16-bit timer 3 control register (0x4819E) Timer 4 clock output inversion: OUTINV4 (D4) / 16-bit timer 4 control register (0x481A6) Timer 5 clock output inversion: OUTINV5 (D4) / 16-bit timer 5 control register (0x481AE) Timer 6 clock output inversion: OUTINV6 (D4) / 16-bit timer 6 control register (0x481B6) Timer 7 clock output inversion: OUTINV7 (D4) / 16-bit timer 7 control register (0x481BE) Timer 8 clock output inversion: OUTINV8 (D4) / 16-bit timer 8 control register (0x481C6) Timer 9 clock output inversion: OUTINV9 (D4) / 16-bit timer 9 control register (0x481CE) See Figure 4.3 for the waveforms. Setting the output port The TMx signal generated here can be output from the clock output pins (see Table 4.1), enabling a programmable clock to be supplied to external devices. After a cold start, the output pins are set for the I/O ports and set in input mode. The pins go into highimpedance status. When the pin function is switched to the timer output, the pin goes low if OUTINVx is set to "0" or goes high if OUTINVx is set to "1". S1C33T01 FUNCTION PART EPSON B-III-4-7 III PERIPHERAL BLOCK: 16-BIT PROGRAMMABLE TIMERS Starting clock output To output the TMx clock, write "1" to the clock output control bit PTMx. Clock output is stopped by writing "0" to PTMx and goes to the off level according to the OUTINVx setting (low when OUTINVx = "0" or high when OUTINVx = "1"). Timer 0 clock output control: PTM0 (D2) / 16-bit timer 0 control register (0x48186) Timer 1 clock output control: PTM1 (D2) / 16-bit timer 1 control register (0x4818E) Timer 2 clock output control: PTM2 (D2) / 16-bit timer 2 control register (0x48196) Timer 3 clock output control: PTM3 (D2) / 16-bit timer 3 control register (0x4819E) Timer 4 clock output control: PTM4 (D2) / 16-bit timer 4 control register (0x481A6) Timer 5 clock output control: PTM5 (D2) / 16-bit timer 5 control register (0x481AE) Timer 6 clock output control: PTM6 (D2) / 16-bit timer 6 control register (0x481B6) Timer 7 clock output control: PTM7 (D2) / 16-bit timer 7 control register (0x481BE) Timer 8 clock output control: PTM8 (D2) / 16-bit timer 8 control register (0x481C6) Timer 9 clock output control: PTM9 (D2) / 16-bit timer 9 control register (0x481CE) Figure 4.3 shows the waveform of the output signal. Input clock PRUNx CRxA 3 CRxB 5 Counter value 0 1 2 3 4 5 0 1 2 3 4 5 0 1 2 3 4 5 0 1 Comparison match A signal Comparison match B signal PTMx TMx output (when OUTINVx = "0") TMx output (when OUTINVx = "1") Figure 4.3 Waveform of 16-Bit Programmable Timer Output When OUTINVx = "0" (active high): The timer outputs a low level until the counter becomes equal to the comparison data A set in the CRxA register. When the counter is incremented to the next value from the comparison data A, the output pin goes high and a comparison A interrupt occurs. When the counter becomes equal to the comparison data B set in the CRxB register, the counter is reset and the output pin goes low. At the same time a comparison B interrupt occurs. When OUTINVx = "1" (active low): The timer outputs a high level until the counter becomes equal to the comparison data A set in the CRxA register. When the counter is incremented to the next value from the comparison data A, the output pin goes low and a comparison A interrupt occurs. When the counter becomes equal to the comparison data B set in the CRxB register, the counter is reset and the output pin goes high. At the same time a comparison B interrupt occurs. Setting clock output fine mode By default (after an initial reset), the clock output signal changes at the rising edge of the input clock when CRxA[15:0] becomes equal to TCx[15:0]. In fine mode, the output signal changes according to CRxA[0] when CRxA[15:1] becomes equal to TCx[14:0]. When CRxA[0] is "0", the output signal changes at the rising edge of the input clock. When CRxA[0] is "1", the output signal changes at the falling edge of the input clock a half cycle from the default setting. Example) CRxA = 3, CRxB = 5 B-III-4-8 EPSON S1C33T01 FUNCTION PART III PERIPHERAL BLOCK: 16-BIT PROGRAMMABLE TIMERS Input clock Counter value 0 1 2 3 4 5 0 1 2 3 4 5 0 1 Comparison match A signal Comparison match B signal TMx output (when OUTINVx = "0") TMx output (when OUTINVx = "1") Figure 4.4 Clock Output in Fine Mode As shown in the figure above, in fine mode the output clock duty ratio can be adjusted in the half cycle of the input clock. However, when the CRxA value is "0", the timer outputs a pulse with a 1-cycle width as the input clock, the same as the default setting. In fine mode, the maximum value of CRxB is 215 - 1 = 32,767 and the range of CRxA that can be set is 0 to (2 x CRxB - 1). The fine mode is set by the following registers: Timer 0 fine mode selection: SELFM0 (D6) / 16-bit timer 0 control register (0x48186) Timer 1 fine mode selection: SELFM1 (D6) / 16-bit timer 1 control register (0x4818E) Timer 2 fine mode selection: SELFM2 (D6) / 16-bit timer 2 control register (0x48196) Timer 3 fine mode selection: SELFM3 (D6) / 16-bit timer 3 control register (0x4819E) Timer 4 fine mode selection: SELFM4 (D6) / 16-bit timer 4 control register (0x481A6) Timer 5 fine mode selection: SELFM5 (D6) / 16-bit timer 5 control register (0x481AE) Timer 6 fine mode selection: SELFM6 (D6) / 16-bit timer 6 control register (0x481B6) Timer 7 fine mode selection: SELFM7 (D6) / 16-bit timer 7 control register (0x481BE) Timer 8 fine mode selection: SELFM8 (D6) / 16-bit timer 8 control register (0x481C6) Timer 9 fine mode selection: SELFM9 (D6) / 16-bit timer 9 control register (0x481CE) When "1" is written to the SELFMx bit, fine mode is set. At initial reset, the fine mode is disabled. Precautions 1) If a same value is set to the comparison data A and B registers, a hazard may be generated in the output signal. Therefore, do not set the comparison registers as A = B. There is no problem when the interrupt function only is used. 2) When using the output clock, set the comparison data registers as A 0 and B 1. The minimum settings are A = 0 and B = 1. In this case, the timer output clock cycle is the input clock x 1/2. 3) When the comparison data registers are set as A > B, no comparison A signal is generated. In this case, the output signal is fixed at the off level. S1C33T01 FUNCTION PART EPSON B-III-4-9 III PERIPHERAL BLOCK: 16-BIT PROGRAMMABLE TIMERS 16-Bit Programmable Timer Interrupts and DMA The 16-bit programmable timer has a function for generating an interrupt using the comparison match A and B states. The timing at which an interrupt is generated is shown in Figure 4.2 in the preceding section. Control registers of the interrupt controller Table 4.4 shows the control registers of the interrupt controller provided for each timer. Table 4.4 Control Registers of Interrupt Controller Interrupt factor Timer Timer Timer Timer Timer Timer Timer Timer Timer Timer Timer Timer Timer Timer Timer Timer Timer Timer Timer Timer 0 comparison A 0 comparison B 1 comparison A 1 comparison B 2 comparison A 2 comparison B 3 comparison A 3 comparison B 4 comparison A 4 comparison B 5 comparison A 5 comparison B 6 comparison A 6 comparison B 7 comparison A 7 comparison B 8 comparison A 8 comparison B 9 comparison A 9 comparison B Interrupt factor flag Interrupt enable register Interrupt priority register F16TC0 (D3/0x40282) F16TU0 (D2/0x40282) F16TC1 (D7/0x40282) F16TU1 (D6/0x40282) F16TC2 (D3/0x40283) F16TU2 (D2/0x40283) F16TC3 (D7/0x40283) F16TU3 (D6/0x40283) F16TC4 (D3/0x40284) F16TU4 (D2/0x40284) F16TC5 (D7/0x40284) F16TU5 (D6/0x40284) F16TC6 (D3/0x402AA) F16TU6 (D2/0x402AA) F16TC7 (D7/0x402AA) F16TU7 (D6/0x402AA) F16TC8 (D3/0x402AB) F16TU8 (D2/0x402AB) F16TC9 (D7/0x402AB) F16TU9 (D6/0x402AB) E16TC0 (D3/0x40272) E16TU0 (D2/0x40272) E16TC1 (D7/0x40272) E16TU1 (D6/0x40272) E16TC2 (D3/0x40273) E16TU2 (D2/0x40273) E16TC3 (D7/0x40273) E16TU3 (D6/0x40273) E16TC4 (D3/0x40274) E16TU4 (D2/0x40274) E16TC5 (D7/0x40274) E16TU5 (D6/0x40274) E16TC6 (D3/0x402A7) E16TU6 (D2/0x402A7) E16TC7 (D7/0x402A7) E16TU7 (D6/0x402A7) E16TC8 (D3/0x402A8) E16TU8 (D2/0x402A8) E16TC9 (D7/0x402A8) E16TU9 (D6/0x402A8) P16T0[2:0] (D[2:0]/0x40266) P16T1[2:0] (D[6:4]/0x40266) P16T2[2:0] (D[2:0]/0x40267) P16T3[2:0] (D[6:4]/0x40267) P16T4[2:0] (D[2:0]/0x40268) P16T5[2:0] (D[6:4]/0x40268) P16T6[2:0] (D[2:0]/0x402A4) P16T7[2:0] (D[6:4]/0x402A4) P16T8[2:0] (D[2:0]/0x402A5) P16T9[2:0] (D[6:4]/0x402A5) When a comparison match state occurs in the timer, the corresponding interrupt factor flag is set to "1". If the interrupt enable register bit corresponding to that interrupt factor flag has been set to "1", an interrupt request is generated. An interrupt caused by a timer can be disabled by leaving the interrupt enable register bit for that timer set to "0". The interrupt factor flag is always set to "1" by the timer's comparison match state, regardless of how the interrupt enable register is set (even when set to "0"). The interrupt priority register sets an interrupt priority level (0 to 7) for each timer. Priorities within a timer block are such that timers of smaller numbers have a higher priority. Priorities between interrupt types are such that the comparison B interrupt has priority over the comparison A interrupt. An interrupt request to the CPU is accepted only when no other interrupt request of a higher priority has been generated. It is only when the PSR's IE bit = "1" (interrupts enabled) and the set value of the IL is smaller than the timer interrupt level set by the interrupt priority register, that a timer interrupt request is actually accepted by the CPU. For details on these interrupt control registers, as well as the device operation when an interrupt has occurred, refer to "ITC (Interrupt Controller)". B-III-4-10 EPSON S1C33T01 FUNCTION PART III PERIPHERAL BLOCK: 16-BIT PROGRAMMABLE TIMERS Intelligent DMA The interrupt factor of each timer can also invoke intelligent DMA (IDMA). This allows memory-to-memory DMA transfers to be performed cyclically. The following shows the IDMA channel numbers set for each interrupt factor of timer: IDMA Ch. IDMA Ch. Timer 0 comparison B: 0x07 Timer 0 comparison A: 0x08 Timer 1 comparison B: 0x09 Timer 1 comparison A: 0x0A Timer 2 comparison B: 0x0B Timer 2 comparison A: 0x0C Timer 3 comparison B: 0x0D Timer 3 comparison A: 0x0E Timer 4 comparison B: 0x0F Timer 4 comparison A: 0x10 Timer 5 comparison B: 0x11 Timer 5 comparison A: 0x12 Timer 6 comparison B: 0x2E Timer 6 comparison A: 0x2F Timer 7 comparison B: 0x30 Timer 7 comparison A: 0x31 Timer 8 comparison B: 0x32 Timer 8 comparison A: 0x33 Timer 9 comparison B: 0x34 Timer 9 comparison A: 0x35 For IDMA to be invoked, the IDMA request and IDMA enable bits shown in Table 4.5 must be set to "1" in advance. Transfer conditions, etc. must also be set on the IDMA side in advance. Table 4.5 Control Bits for IDMA Transfer Interrupt factor Timer Timer Timer Timer Timer Timer Timer Timer Timer Timer Timer Timer Timer Timer Timer Timer Timer Timer Timer Timer 0 comparison A 0 comparison B 1 comparison A 1 comparison B 2 comparison A 2 comparison B 3 comparison A 3 comparison B 4 comparison A 4 comparison B 5 comparison A 5 comparison B 6 comparison A 6 comparison B 7 comparison A 7 comparison B 8 comparison A 8 comparison B 9 comparison A 9 comparison B IDMA request bit R16TC0(D7/0x40290) R16TU0(D6/0x40290) R16TC1(D1/0x40291) R16TU1(D0/0x40291) R16TC2(D3/0x40291) R16TU2(D2/0x40291) R16TC3(D5/0x40291) R16TU3(D4/0x40291) R16TC4(D7/0x40291) R16TU4(D6/0x40291) R16TC5(D1/0x40292) R16TU5(D0/0x40292) R16TC6(D1/0x402AD) R16TU6(D0/0x402AD) R16TC7(D3/0x402AD) R16TU7(D2/0x402AD) R16TC8(D5/0x402AD) R16TU8(D4/0x402AD) R16TC9(D7/0x402AD) R16TU9(D6/0x402AD) IDMA enable bit DE16TC0(D7/0x40294) DE16TU0(D6/0x40294) DE16TC1(D1/0x40295) DE16TU1(D0/0x40295) DE16TC2(D3/0x40295) DE16TU2(D2/0x40295) DE16TC3(D5/0x40295) DE16TU3(D4/0x40295) DE16TC4(D7/0x40295) DE16TU4(D6/0x40295) DE16TC5(D1/0x40296) DE16TU5(D0/0x40296) DE16TC6(D1/0x402AF) DE16TU6(D0/0x402AF) DE16TC7(D3/0x402AF) DE16TU7(D2/0x402AF) DE16TC8(D5/0x402AF) DE16TU8(D4/0x402AF) DE16TC9(D7/0x402AF) DE16TU9(D6/0x402AF) If the IDMA request and enable bits are set to "1", IDMA is invoked through generation of an interrupt factor. No interrupt request is generated at that point. An interrupt request is generated after the DMA transfer is completed. The registers can also be set so as not to generate an interrupt, with only a DMA transfer performed. For details on IDMA transfers and interrupt control upon completion of IDMA transfer, refer to "IDMA (Intelligent DMA)". S1C33T01 FUNCTION PART EPSON B-III-4-11 III PERIPHERAL BLOCK: 16-BIT PROGRAMMABLE TIMERS High-speed DMA The channel 0 to 5 timer interrupt factors can also be used to start high-speed DMA (HSDMA) operation. The HSDMA channel numbers and trigger setting bits corresponding to the channel 0 to 5 timers are described below. Table 4.6 HSDMA Trigger Set-up Bits Interrupt factor Timer Timer Timer Timer Timer Timer Timer Timer Timer 0 comparison A 0 comparison B 1 comparison A 1 comparison B 2 comparison A 2 comparison B 3 comparison A 3 comparison B 4 comparison A Timer 4 comparison B Timer 5 comparison A Timer 5 comparison B HSDMA Ch. 0 0 1 1 2 2 3 3 0 2 0 2 1 3 1 3 Trigger set-up bits HSD0S[3:0] (D[3:0]) / HSDMA Ch.0/1 HSD0S[3:0] (D[3:0]) / HSDMA Ch.0/1 HSD1S[3:0] (D[7:4]) / HSDMA Ch.0/1 HSD1S[3:0] (D[7:4]) / HSDMA Ch.0/1 HSD2S[3:0] (D[3:0]) / HSDMA Ch.2/3 HSD2S[3:0] (D[3:0]) / HSDMA Ch.2/3 HSD3S[3:0] (D[7:4]) / HSDMA Ch.2/3 HSD3S[3:0] (D[7:4]) / HSDMA Ch.2/3 HSD0S[3:0] (D[3:0]) / HSDMA Ch.0/1 HSD2S[3:0] (D[3:0]) / HSDMA Ch.2/3 HSD0S[3:0] (D[3:0]) / HSDMA Ch.0/1 HSD2S[3:0] (D[3:0]) / HSDMA Ch.2/3 HSD1S[3:0] (D[7:4]) / HSDMA Ch.0/1 HSD3S[3:0] (D[7:4]) / HSDMA Ch.2/3 HSD1S[3:0] (D[7:4]) / HSDMA Ch.0/1 HSD3S[3:0] (D[7:4]) / HSDMA Ch.2/3 trigger set-up register (0x40298) = "0111" trigger set-up register (0x40298) = "0110" trigger set-up register (0x40298) = "0111" trigger set-up register (0x40298) = "0110" trigger set-up register (0x40299) = "0111" trigger set-up register (0x40299) = "0110" trigger set-up register (0x40299) = "0111" trigger set-up register (0x40299) = "0110" trigger set-up register (0x40298) = "1001" trigger set-up register (0x40299) = "1001" trigger set-up register (0x40298) = "1000" trigger set-up register (0x40299) = "1000" trigger set-up register (0x40298) = "1001" trigger set-up register (0x40299) = "1001" trigger set-up register (0x40298) = "1000" trigger set-up register (0x40299) = "1000" For HSDMA to be invoked, a 16-bit timer interrupt factor should be selected using the trigger set-up bits in advance. Transfer conditions, etc. must also be set on the HSDMA side. If a 16-bit timer is selected as the HSDMA trigger, the HSDMA channel is invoked through generation of the interrupt factor. For details on HSDMA transfer, refer to "HSDMA (High-Speed DMA)". Trap vectors The trap vector addresses for each default interrupt factor are set as shown below: Timer 0 comparison B: 0x0C00078 Timer 0 comparison A: 0x0C0007C Timer 1 comparison B: 0x0C00088 Timer 1 comparison A: 0x0C0008C Timer 2 comparison B: 0x0C00098 Timer 2 comparison A: 0x0C0009C Timer 3 comparison B: 0x0C000A8 Timer 3 comparison A: 0x0C000AC Timer 4 comparison B: 0x0C000B8 Timer 4 comparison A: 0x0C000BC Timer 5 comparison B: 0x0C000C8 Timer 5 comparison A: 0x0C000CC Timer 6 comparison B: 0x0C00178 Timer 6 comparison A: 0x0C0017C Timer 7 comparison B: 0x0C00188 Timer 7 comparison A: 0x0C0018C Timer 8 comparison B: 0x0C00198 Timer 8 comparison A: 0x0C0019C Timer 9 comparison B: 0x0C001A8 Timer 9 comparison A: 0x0C001AC The base address of the trap table can be changed using the TTBR register (0x48134 to 0x48137). B-III-4-12 EPSON S1C33T01 FUNCTION PART III PERIPHERAL BLOCK: 16-BIT PROGRAMMABLE TIMERS I/O Memory of 16-Bit Programmable Timers Table 4.7 shows the control bits of the 16-bit programmable timers. For details on the I/O memory of the prescaler used to set a clock, refer to "Prescaler". Table 4.7 Control Bits of 16-Bit Programmable Timer Register name Address Bit 16-bit timer 0/1 0040266 interrupt (B) priority register D7 D6 D5 D4 D3 D2 D1 D0 - P16T12 P16T11 P16T10 - P16T02 P16T01 P16T00 reserved 16-bit timer 1 interrupt level - 0 to 7 reserved 16-bit timer 0 interrupt level - 0 to 7 D7 D6 D5 D4 D3 D2 D1 D0 - P16T32 P16T31 P16T30 - P16T22 P16T21 P16T20 reserved 16-bit timer 3 interrupt level - 0 to 7 reserved 16-bit timer 2 interrupt level - 0 to 7 D7 D6 D5 D4 D3 D2 D1 D0 - P16T52 P16T51 P16T50 - P16T42 P16T41 P16T40 reserved 16-bit timer 5 interrupt level - 0 to 7 reserved 16-bit timer 4 interrupt level - 0 to 7 D7 D6 D5-4 D3 D2 D1-0 E16TC1 E16TU1 - E16TC0 E16TU0 - 16-bit timer 1 comparison A 16-bit timer 1 comparison B reserved 16-bit timer 0 comparison A 16-bit timer 0 comparison B reserved 1 Enabled D7 D6 D5-4 D3 D2 D1-0 E16TC3 E16TU3 - E16TC2 E16TU2 - 16-bit timer 3 comparison A 16-bit timer 3 comparison B reserved 16-bit timer 2 comparison A 16-bit timer 2 comparison B reserved 1 Enabled D7 D6 D5-4 D3 D2 D1-0 E16TC5 E16TU5 - E16TC4 E16TU4 - 16-bit timer 5 comparison A 16-bit timer 5 comparison B reserved 16-bit timer 4 comparison A 16-bit timer 4 comparison B reserved 1 Enabled D7 D6 D5-4 D3 D2 D1-0 F16TC1 F16TU1 - F16TC0 F16TU0 - 16-bit timer 1 comparison A 16-bit timer 1 comparison B reserved 16-bit timer 0 comparison A 16-bit timer 0 comparison B reserved 1 Factor is generated D7 D6 D5-4 D3 D2 D1-0 F16TC3 F16TU3 - F16TC2 F16TU2 - 16-bit timer 3 comparison A 16-bit timer 3 comparison B reserved 16-bit timer 2 comparison A 16-bit timer 2 comparison B reserved 1 Factor is generated D7 D6 D5-4 D3 D2 D1-0 F16TC5 F16TU5 - F16TC4 F16TU4 - 16-bit timer 5 comparison A 16-bit timer 5 comparison B reserved 16-bit timer 4 comparison A 16-bit timer 4 comparison B reserved 1 Factor is generated 16-bit timer 2/3 0040267 interrupt (B) priority register 16-bit timer 4/5 0040268 interrupt (B) priority register 16-bit timer 0/1 0040272 interrupt (B) enable register 16-bit timer 2/3 0040273 interrupt (B) enable register 16-bit timer 4/5 0040274 interrupt (B) enable register 16-bit timer 0/1 0040282 interrupt factor (B) flag register 16-bit timer 2/3 0040283 interrupt factor (B) flag register 16-bit timer 4/5 0040284 interrupt factor (B) flag register S1C33T01 FUNCTION PART Name Function EPSON Setting 0 Disabled - 1 Enabled 0 Disabled - 0 Disabled - 1 Enabled 0 Disabled - 0 Disabled - 1 Enabled 0 Disabled - 0 No factor is generated - 1 Factor is generated 0 No factor is generated - 0 No factor is generated - 1 Factor is generated 0 No factor is generated - 0 No factor is generated - 1 Factor is generated 0 No factor is generated - Init. R/W Remarks - X X X - X X X - 0 when being read. R/W - X X X - X X X - 0 when being read. R/W - X X X - X X X - 0 when being read. R/W 0 0 - 0 0 - R/W R/W - 0 when being read. R/W R/W - 0 when being read. 0 0 - 0 0 - R/W R/W - 0 when being read. R/W R/W - 0 when being read. 0 0 - 0 0 - R/W R/W - 0 when being read. R/W R/W - 0 when being read. X X - X X - R/W R/W - 0 when being read. R/W R/W - 0 when being read. X X - X X - R/W R/W - 0 when being read. R/W R/W - 0 when being read. X X - X X - R/W R/W - 0 when being read. R/W R/W - 0 when being read. - 0 when being read. R/W - 0 when being read. R/W - 0 when being read. R/W B-III-4-13 III PERIPHERAL BLOCK: 16-BIT PROGRAMMABLE TIMERS Table 4.7 Control Bits of 16-Bit Programmable Timer (continue) Register name Address Bit Name Port input 0-3, high-speed DMA, 16-bit timer 0 IDMA request register 0040290 (B) D7 D6 D5 D4 D3 D2 D1 D0 R16TC0 R16TU0 RHDM1 RHDM0 RP3 RP2 RP1 RP0 16-bit timer 0 comparison A 16-bit timer 0 comparison B High-speed DMA Ch.1 High-speed DMA Ch.0 Port input 3 Port input 2 Port input 1 Port input 0 1 IDMA request 0 Interrupt request 0 0 0 0 0 0 0 0 R/W R/W R/W R/W R/W R/W R/W R/W 16-bit timer 1-4 0040291 IDMA request (B) register D7 D6 D5 D4 D3 D2 D1 D0 R16TC4 R16TU4 R16TC3 R16TU3 R16TC2 R16TU2 R16TC1 R16TU1 16-bit timer 4 comparison A 16-bit timer 4 comparison B 16-bit timer 3 comparison A 16-bit timer 3 comparison B 16-bit timer 2 comparison A 16-bit timer 2 comparison B 16-bit timer 1 comparison A 16-bit timer 1 comparison B 1 IDMA request 0 Interrupt request 0 0 0 0 0 0 0 0 R/W R/W R/W R/W R/W R/W R/W R/W 16-bit timer 5, 8-bit timer, serial I/F Ch.0 IDMA request register 0040292 (B) D7 D6 D5 D4 D3 D2 D1 D0 RSTX0 RSRX0 R8TU3 R8TU2 R8TU1 R8TU0 R16TC5 R16TU5 SIF Ch.0 transmit buffer empty SIF Ch.0 receive buffer full 8-bit timer 3 underflow 8-bit timer 2 underflow 8-bit timer 1 underflow 8-bit timer 0 underflow 16-bit timer 5 comparison A 16-bit timer 5 comparison B 1 IDMA request 0 Interrupt request 0 0 0 0 0 0 0 0 R/W R/W R/W R/W R/W R/W R/W R/W Port input 0-3, high-speed DMA, 16-bit timer 0 IDMA enable register 0040294 (B) D7 D6 D5 D4 D3 D2 D1 D0 DE16TC0 DE16TU0 DEHDM1 DEHDM0 DEP3 DEP2 DEP1 DEP0 16-bit timer 0 comparison A 16-bit timer 0 comparison B High-speed DMA Ch.1 High-speed DMA Ch.0 Port input 3 Port input 2 Port input 1 Port input 0 1 IDMA enabled 0 IDMA disabled 0 0 0 0 0 0 0 0 R/W R/W R/W R/W R/W R/W R/W R/W 16-bit timer 1-4 0040295 IDMA enable (B) register D7 D6 D5 D4 D3 D2 D1 D0 DE16TC4 DE16TU4 DE16TC3 DE16TU3 DE16TC2 DE16TU2 DE16TC1 DE16TU1 16-bit timer 4 comparison A 16-bit timer 4 comparison B 16-bit timer 3 comparison A 16-bit timer 3 comparison B 16-bit timer 2 comparison A 16-bit timer 2 comparison B 16-bit timer 1 comparison A 16-bit timer 1 comparison B 1 IDMA enabled 0 IDMA disabled 0 0 0 0 0 0 0 0 R/W R/W R/W R/W R/W R/W R/W R/W 16-bit timer 5, 8-bit timer, serial I/F Ch.0 IDMA enable register 0040296 (B) D7 D6 D5 D4 D3 D2 D1 D0 DESTX0 DESRX0 DE8TU3 DE8TU2 DE8TU1 DE8TU0 DE16TC5 DE16TU5 SIF Ch.0 transmit buffer empty SIF Ch.0 receive buffer full 8-bit timer 3 underflow 8-bit timer 2 underflow 8-bit timer 1 underflow 8-bit timer 0 underflow 16-bit timer 5 comparison A 16-bit timer 5 comparison B 1 IDMA enabled 0 IDMA disabled 0 0 0 0 0 0 0 0 R/W R/W R/W R/W R/W R/W R/W R/W 16-bit timer 6/7 00402A4 interrupt (B) priority register D7 D6 D5 D4 D3 D2 D1 D0 - P16T72 P16T71 P16T70 - P16T62 P16T61 P16T60 reserved 16-bit timer 7 interrupt level - 0 to 7 - 0 when being read. R/W reserved 16-bit timer 6 interrupt level - 0 to 7 - X X X - X X X D7 D6 D5 D4 D3 D2 D1 D0 - P16T72 P16T71 P16T70 - P16T62 P16T61 P16T60 reserved 16-bit timer 9 interrupt level - 0 to 7 - 0 when being read. R/W reserved 16-bit timer 8 interrupt level - 0 to 7 - X X X - X X X 16-bit timer 8/9 00402A5 interrupt (B) priority register B-III-4-14 Function EPSON Setting Init. R/W Remarks - 0 when being read. R/W - 0 when being read. R/W S1C33T01 FUNCTION PART III PERIPHERAL BLOCK: 16-BIT PROGRAMMABLE TIMERS Table 4.7 Register name Address Bit Name Control Bits of 16-Bit Programmable Timer (continue) Function Setting 16-bit timer 6/7 00402A7 D7 interrupt (B) D6 enable register D5-4 D3 D2 D1-0 E16TC7 E16TU7 - E16TC6 E16TU6 - 16-bit timer 7 comparison A 16-bit timer 7 comparison B reserved 16-bit timer 6 comparison A 16-bit timer 6 comparison B reserved 1 Enabled 16-bit timer 8/9 00402A8 D7 interrupt (B) D6 enable register D5-4 D3 D2 D1-0 E16TC9 E16TU9 - E16TC8 E16TU8 - 16-bit timer 9 comparison A 16-bit timer 9 comparison B reserved 16-bit timer 8 comparison A 16-bit timer 8 comparison B reserved 1 Enabled 16-bit timer 6/7 00402AA D7 interrupt factor (B) D6 flag register D5-4 D3 D2 D1-0 F16TC7 F16TU7 - F16TC6 F16TU6 - 16-bit timer 7 comparison A 16-bit timer 7 comparison B reserved 16-bit timer 6 comparison A 16-bit timer 6 comparison B reserved 1 Factor is generated 16-bit timer 8/9 00402AB D7 interrupt factor (B) D6 flag register D5-4 D3 D2 D1-0 F16TC9 F16TU9 - F16TC8 F16TU8 - 16-bit timer 9 comparison A 16-bit timer 9 comparison B reserved 16-bit timer 8 comparison A 16-bit timer 8 comparison B reserved 1 Factor is generated 16-bit timer 6-9 00402AD IDMA request (B) register D7 D6 D5 D4 D3 D2 D1 D0 R16TC9 R16TU9 R16TC8 R16TU8 R16TC7 R16TU7 R16TC6 R16TU6 16-bit timer 9 comparison A 16-bit timer 9 comparison B 16-bit timer 8 comparison A 16-bit timer 8 comparison B 16-bit timer 7 comparison A 16-bit timer 7 comparison B 16-bit timer 6 comparison A 16-bit timer 6 comparison B 1 IDMA request 16-bit timer 6-9 00402AF IDMA enable (B) register D7 D6 D5 D4 D3 D2 D1 D0 DE16TC9 DE16TU9 DE16TC8 DE16TU8 DE16TC7 DE16TU7 DE16TC6 DE16TU6 16-bit timer 9 comparison A 16-bit timer 9 comparison B 16-bit timer 8 comparison A 16-bit timer 8 comparison B 16-bit timer 7 comparison A 16-bit timer 7 comparison B 16-bit timer 6 comparison A 16-bit timer 6 comparison B 1 IDMA enabled P1 function select register D7 D6 - CFP16 reserved P16 function selection D5 CFP15 P15 function selection D4 CFP14 P14 function selection D3 CFP13 P13 function selection D2 CFP12 P12 function selection D1 CFP11 P11 function selection D0 CFP10 P10 function selection D7 D6 D5 D4 D3 D2 D1 D0 CFP27 CFP26 CFP25 CFP24 CFP23 CFP22 CFP21 CFP20 P27 function selection P26 function selection P25 function selection P24 function selection P23 function selection P22 function selection P21 function selection P20 function selection P2 function select register 00402D4 (B) 00402D8 (B) S1C33T01 FUNCTION PART EPSON Init. R/W 0 Disabled Remarks 0 0 - 0 0 - R/W R/W - 0 when being read. R/W R/W - 0 when being read. 0 0 - 0 0 - R/W R/W - 0 when being read. R/W R/W - 0 when being read. 0 0 - 0 0 - R/W R/W - 0 when being read. R/W R/W - 0 when being read. 0 0 - 0 0 - R/W R/W - 0 when being read. R/W R/W - 0 when being read. 0 Interrupt request 0 0 0 0 0 0 0 0 R/W R/W R/W R/W R/W R/W R/W R/W 0 IDMA disabled 0 0 0 0 0 0 0 0 R/W R/W R/W R/W R/W R/W R/W R/W - 1 EXCL5 0 P16 #DMAEND1 1 EXCL4 0 P15 #DMAEND0 1 FOSC1 0 P14 - 0 - 0 when being read. R/W 0 R/W 0 1 EXCL3 T8UF3 1 EXCL2 T8UF2 1 EXCL1 T8UF1 1 EXCL0 T8UF0 0 P13 0 R/W Extended functions (0x402DF) R/W 0 P12 0 R/W 0 P11 0 R/W 0 P10 0 R/W 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 R/W R/W R/W R/W R/W R/W R/W Ext. func.(0x402DF) R/W - 1 Enabled 0 Disabled - 0 Disabled - 1 Enabled 0 Disabled - 0 No factor is generated - 1 Factor is generated 0 No factor is generated - 0 No factor is generated - 1 Factor is generated 0 No factor is generated - TM5 TM4 TM3 TM2 TM1 TM0 #DWE #DRD P27 P26 P25 P24 P23 P22 P21 P20 B-III-4-15 III PERIPHERAL BLOCK: 16-BIT PROGRAMMABLE TIMERS Table 4.7 Bit Port function extension register D7 D6 D5 D4 D3 D2 D1 CFEX7 CFEX6 CFEX5 CFEX4 CFEX3 CFEX2 CFEX1 P07 port extended function P06 port extended function P05 port extended function P04 port extended function P31 port extended function P21 port extended function P10, P11, P13 port extended function D0 CFEX0 P12, P14 port extended function 00402DF (B) Name Control Bits of 16-Bit Programmable Timer (continue) Register name Address Function Setting 1 1 1 1 1 1 1 Init. R/W #DMAEND3 #DMAACK3 #DMAEND2 #DMAACK2 #GARD #GAAS DST0 DST1 DPC0 1 DST2 DCLK 0 0 0 0 0 0 0 P07, etc. P06, etc. P05, etc. P04, etc. P31, etc. P21, etc. P10, etc. P11, etc. P13, etc. 0 P12, etc. P14, etc. 0 0 0 0 0 0 1 R/W R/W R/W R/W R/W R/W R/W 1 R/W 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 R/W R/W R/W R/W R/W R/W R/W R/W P8 function select register 004030D (B) D7 D6 D5 D4 D3 D2 D1 D0 CFP87 CFP86 CFP85 CFP84 CFP83 CFP82 CFP81 CFP80 P87 function selection P86 function selection P85 function selection P84 function selection P83 function selection P82 function selection P81 function selection P80 function selection 16-bit timer 0 comparison data A set-up register 0048180 (HW) DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 CR0A15 CR0A14 CR0A13 CR0A12 CR0A11 CR0A10 CR0A9 CR0A8 CR0A7 CR0A6 CR0A5 CR0A4 CR0A3 CR0A2 CR0A1 CR0A0 16-bit timer 0 comparison data A CR0A15 = MSB CR0A0 = LSB 0 to 65535 X X X X X X X X X X X X X X X X R/W 16-bit timer 0 comparison data B set-up register 0048182 (HW) DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 CR0B15 CR0B14 CR0B13 CR0B12 CR0B11 CR0B10 CR0B9 CR0B8 CR0B7 CR0B6 CR0B5 CR0B4 CR0B3 CR0B2 CR0B1 CR0B0 16-bit timer 0 comparison data B CR0B15 = MSB CR0B0 = LSB 0 to 65535 X X X X X X X X X X X X X X X X R/W 16-bit timer 0 counter data register 0048184 (HW) DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 TC015 TC014 TC013 TC012 TC011 TC010 TC09 TC08 TC07 TC06 TC05 TC04 TC03 TC02 TC01 TC00 16-bit timer 0 counter data TC015 = MSB TC00 = LSB 0 to 65535 X X X X X X X X X X X X X X X X R B-III-4-16 EPSON TM9 TM8 TM7 TM6 EXCL9 EXCL8 EXCL7 EXCL6 P87 P86 P85 P84 P83 P82 P81 P80 Remarks S1C33T01 FUNCTION PART III PERIPHERAL BLOCK: 16-BIT PROGRAMMABLE TIMERS Table 4.7 Bit Function Setting 16-bit timer 0 0048186 control register (B) D7 D6 D5 D4 D3 D2 D1 D0 - SELFM0 SELCRB0 OUTINV0 CKSL0 PTM0 PRESET0 PRUN0 reserved 16-bit timer 0 fine mode selection 16-bit timer 0 comparison buffer 16-bit timer 0 output inversion 16-bit timer 0 input clock selection 16-bit timer 0 clock output control 16-bit timer 0 reset 16-bit timer 0 Run/Stop control - 16-bit timer 1 comparison data A set-up register 0048188 (HW) DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 CR1A15 CR1A14 CR1A13 CR1A12 CR1A11 CR1A10 CR1A9 CR1A8 CR1A7 CR1A6 CR1A5 CR1A4 CR1A3 CR1A2 CR1A1 CR1A0 16-bit timer 1 comparison data A CR1A15 = MSB CR1A0 = LSB 16-bit timer 1 comparison data B set-up register 004818A (HW) DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 CR1B15 CR1B14 CR1B13 CR1B12 CR1B11 CR1B10 CR1B9 CR1B8 CR1B7 CR1B6 CR1B5 CR1B4 CR1B3 CR1B2 CR1B1 CR1B0 16-bit timer 1 counter data register 004818C (HW) DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 16-bit timer 1 004818E control register (B) D7 D6 D5 D4 D3 D2 D1 D0 S1C33T01 FUNCTION PART Name Control Bits of 16-Bit Programmable Timer (continue) Register name Address Init. R/W Remarks 0 0 0 0 0 0 0 0 - 0 when being read. R/W R/W R/W R/W R/W W 0 when being read. R/W 0 to 65535 X X X X X X X X X X X X X X X X R/W 16-bit timer 1 comparison data B CR1B15 = MSB CR1B0 = LSB 0 to 65535 X X X X X X X X X X X X X X X X R/W TC115 TC114 TC113 TC112 TC111 TC110 TC19 TC18 TC17 TC16 TC15 TC14 TC13 TC12 TC11 TC10 16-bit timer 1 counter data TC115 = MSB TC10 = LSB 0 to 65535 X X X X X X X X X X X X X X X X R - SELFM1 SELCRB1 OUTINV1 CKSL1 PTM1 PRESET1 PRUN1 reserved 16-bit timer 1 fine mode selection 16-bit timer 1 comparison buffer 16-bit timer 1 output inversion 16-bit timer 1 input clock selection 16-bit timer 1 clock output control 16-bit timer 1 reset 16-bit timer 1 Run/Stop control EPSON 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Fine mode Enabled Invert External clock On Reset Run 0 0 0 0 0 0 0 - Fine mode 0 Enabled 0 Invert 0 External clock 0 On 0 Reset 0 Run 0 Normal Disabled Normal Internal clock Off Invalid Stop Normal Disabled Normal Internal clock Off Invalid Stop 0 0 0 0 0 0 0 0 - 0 when being read. R/W R/W R/W R/W R/W W 0 when being read. R/W B-III-4-17 III PERIPHERAL BLOCK: 16-BIT PROGRAMMABLE TIMERS Table 4.7 Control Bits of 16-Bit Programmable Timer (continue) Register name Address Bit Name Function Setting 16-bit timer 2 comparison data A set-up register 0048190 (HW) DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 CR2A15 CR2A14 CR2A13 CR2A12 CR2A11 CR2A10 CR2A9 CR2A8 CR2A7 CR2A6 CR2A5 CR2A4 CR2A3 CR2A2 CR2A1 CR2A0 16-bit timer 2 comparison data A CR2A15 = MSB CR2A0 = LSB 0 to 65535 X X X X X X X X X X X X X X X X R/W 16-bit timer 2 comparison data B set-up register 0048192 (HW) DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 CR2B15 CR2B14 CR2B13 CR2B12 CR2B11 CR2B10 CR2B9 CR2B8 CR2B7 CR2B6 CR2B5 CR2B4 CR2B3 CR2B2 CR2B1 CR2B0 16-bit timer 2 comparison data B CR2B15 = MSB CR2B0 = LSB 0 to 65535 X X X X X X X X X X X X X X X X R/W 16-bit timer 2 counter data register 0048194 (HW) DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 TC215 TC214 TC213 TC212 TC211 TC210 TC29 TC28 TC27 TC26 TC25 TC24 TC23 TC22 TC21 TC20 16-bit timer 2 counter data TC215 = MSB TC20 = LSB 0 to 65535 X X X X X X X X X X X X X X X X R 16-bit timer 2 0048196 control register (B) D7 D6 D5 D4 D3 D2 D1 D0 - SELFM2 SELCRB2 OUTINV2 CKSL2 PTM2 PRESET2 PRUN2 reserved 16-bit timer 2 fine mode selection 16-bit timer 2 comparison buffer 16-bit timer 2 output inversion 16-bit timer 2 input clock selection 16-bit timer 2 clock output control 16-bit timer 2 reset 16-bit timer 2 Run/Stop control B-III-4-18 EPSON 1 1 1 1 1 1 1 - Fine mode 0 Enabled 0 Invert 0 External clock 0 On 0 Reset 0 Run 0 Init. R/W Normal Disabled Normal Internal clock Off Invalid Stop 0 0 0 0 0 0 0 0 Remarks - 0 when being read. R/W R/W R/W R/W R/W W 0 when being read. R/W S1C33T01 FUNCTION PART III PERIPHERAL BLOCK: 16-BIT PROGRAMMABLE TIMERS Table 4.7 Control Bits of 16-Bit Programmable Timer (continue) Register name Address Bit Name Function Setting 16-bit timer 3 comparison data A set-up register 0048198 (HW) DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 CR3A15 CR3A14 CR3A13 CR3A12 CR3A11 CR3A10 CR3A9 CR3A8 CR3A7 CR3A6 CR3A5 CR3A4 CR3A3 CR3A2 CR3A1 CR3A0 16-bit timer 3 comparison data A CR3A15 = MSB CR3A0 = LSB 0 to 65535 X X X X X X X X X X X X X X X X R/W 16-bit timer 3 comparison data B set-up register 004819A (HW) DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 CR3B15 CR3B14 CR3B13 CR3B12 CR3B11 CR3B10 CR3B9 CR3B8 CR3B7 CR3B6 CR3B5 CR3B4 CR3B3 CR3B2 CR3B1 CR3B0 16-bit timer 3 comparison data B CR3B15 = MSB CR3B0 = LSB 0 to 65535 X X X X X X X X X X X X X X X X R/W 16-bit timer 3 counter data register 004819C (HW) DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 TC315 TC314 TC313 TC312 TC311 TC310 TC39 TC38 TC37 TC36 TC35 TC34 TC33 TC32 TC31 TC30 16-bit timer 3 counter data TC315 = MSB TC30 = LSB 0 to 65535 X X X X X X X X X X X X X X X X R 16-bit timer 3 004819E control register (B) D7 D6 D5 D4 D3 D2 D1 D0 - SELFM3 SELCRB3 OUTINV3 CKSL3 PTM3 PRESET3 PRUN3 reserved 16-bit timer 3 fine mode selection 16-bit timer 3 comparison buffer 16-bit timer 3 output inversion 16-bit timer 3 input clock selection 16-bit timer 3 clock output control 16-bit timer 3 reset 16-bit timer 3 Run/Stop control S1C33T01 FUNCTION PART EPSON 1 1 1 1 1 1 1 - Fine mode 0 Enabled 0 Invert 0 External clock 0 On 0 Reset 0 Run 0 Init. R/W Normal Disabled Normal Internal clock Off Invalid Stop 0 0 0 0 0 0 0 0 Remarks - 0 when being read. R/W R/W R/W R/W R/W W 0 when being read. R/W B-III-4-19 III PERIPHERAL BLOCK: 16-BIT PROGRAMMABLE TIMERS Table 4.7 Control Bits of 16-Bit Programmable Timer (continue) Register name Address Bit Name Function Setting 16-bit timer 4 comparison data A set-up register 00481A0 (HW) DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 CR4A15 CR4A14 CR4A13 CR4A12 CR4A11 CR4A10 CR4A9 CR4A8 CR4A7 CR4A6 CR4A5 CR4A4 CR4A3 CR4A2 CR4A1 CR4A0 16-bit timer 4 comparison data A CR4A15 = MSB CR4A0 = LSB 0 to 65535 X X X X X X X X X X X X X X X X R/W 16-bit timer 4 comparison data B set-up register 00481A2 (HW) DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 CR4B15 CR4B14 CR4B13 CR4B12 CR4B11 CR4B10 CR4B9 CR4B8 CR4B7 CR4B6 CR4B5 CR4B4 CR4B3 CR4B2 CR4B1 CR4B0 16-bit timer 4 comparison data B CR4B15 = MSB CR4B0 = LSB 0 to 65535 X X X X X X X X X X X X X X X X R/W 16-bit timer 4 counter data register 00481A4 (HW) DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 TC415 TC414 TC413 TC412 TC411 TC410 TC49 TC48 TC47 TC46 TC45 TC44 TC43 TC42 TC41 TC40 16-bit timer 4 counter data TC415 = MSB TC40 = LSB 0 to 65535 X X X X X X X X X X X X X X X X R 16-bit timer 4 00481A6 control register (B) D7 D6 D5 D4 D3 D2 D1 D0 - SELFM4 SELCRB4 OUTINV4 CKSL4 PTM4 PRESET4 PRUN4 reserved 16-bit timer 4 fine mode selection 16-bit timer 4 comparison buffer 16-bit timer 4 output inversion 16-bit timer 4 input clock selection 16-bit timer 4 clock output control 16-bit timer 4 reset 16-bit timer 4 Run/Stop control B-III-4-20 EPSON 1 1 1 1 1 1 1 - Fine mode 0 Enabled 0 Invert 0 External clock 0 On 0 Reset 0 Run 0 Init. R/W Normal Disabled Normal Internal clock Off Invalid Stop 0 0 0 0 0 0 0 0 Remarks - 0 when being read. R/W R/W R/W R/W R/W W 0 when being read. R/W S1C33T01 FUNCTION PART III PERIPHERAL BLOCK: 16-BIT PROGRAMMABLE TIMERS Table 4.7 Control Bits of 16-Bit Programmable Timer (continue) Register name Address Bit Name Function Setting 16-bit timer 5 comparison data A set-up register 00481A8 (HW) DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 CR5A15 CR5A14 CR5A13 CR5A12 CR5A11 CR5A10 CR5A9 CR5A8 CR5A7 CR5A6 CR5A5 CR5A4 CR5A3 CR5A2 CR5A1 CR5A0 16-bit timer 5 comparison data A CR5A15 = MSB CR5A0 = LSB 0 to 65535 X X X X X X X X X X X X X X X X R/W 16-bit timer 5 comparison data B set-up register 00481AA (HW) DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 CR5B15 CR5B14 CR5B13 CR5B12 CR5B11 CR5B10 CR5B9 CR5B8 CR5B7 CR5B6 CR5B5 CR5B4 CR5B3 CR5B2 CR5B1 CR5B0 16-bit timer 5 comparison data B CR5B15 = MSB CR5B0 = LSB 0 to 65535 X X X X X X X X X X X X X X X X R/W 16-bit timer 5 counter data register 00481AC (HW) DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 TC515 TC514 TC513 TC512 TC511 TC510 TC59 TC58 TC57 TC56 TC55 TC54 TC53 TC52 TC51 TC50 16-bit timer 5 counter data TC515 = MSB TC50 = LSB 0 to 65535 X X X X X X X X X X X X X X X X R 16-bit timer 5 00481AE control register (B) D7 D6 D5 D4 D3 D2 D1 D0 - SELFM5 SELCRB5 OUTINV5 CKSL5 PTM5 PRESET5 PRUN5 reserved 16-bit timer 5 fine mode selection 16-bit timer 5 comparison buffer 16-bit timer 5 output inversion 16-bit timer 5 input clock selection 16-bit timer 5 clock output control 16-bit timer 5 reset 16-bit timer 5 Run/Stop control S1C33T01 FUNCTION PART EPSON 1 1 1 1 1 1 1 - Fine mode 0 Enabled 0 Invert 0 External clock 0 On 0 Reset 0 Run 0 Init. R/W Normal Disabled Normal Internal clock Off Invalid Stop 0 0 0 0 0 0 0 0 Remarks - 0 when being read. R/W R/W R/W R/W R/W W 0 when being read. R/W B-III-4-21 III PERIPHERAL BLOCK: 16-BIT PROGRAMMABLE TIMERS Table 4.7 Control Bits of 16-Bit Programmable Timer (continue) Register name Address Bit Name Function Setting 16-bit timer 6 comparison data A set-up register 00481B0 (HW) DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 CR6A15 CR6A14 CR6A13 CR6A12 CR6A11 CR6A10 CR6A9 CR6A8 CR6A7 CR6A6 CR6A5 CR6A4 CR6A3 CR6A2 CR6A1 CR6A0 16-bit timer 6 comparison data A CR6A15 = MSB CR6A0 = LSB 0 to 65535 X X X X X X X X X X X X X X X X R/W 16-bit timer 6 comparison data B set-up register 00481B2 (HW) DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 CR6B15 CR6B14 CR6B13 CR6B12 CR6B11 CR6B10 CR6B9 CR6B8 CR6B7 CR6B6 CR6B5 CR6B4 CR6B3 CR6B2 CR6B1 CR6B0 16-bit timer 6 comparison data B CR6B15 = MSB CR6B0 = LSB 0 to 65535 X X X X X X X X X X X X X X X X R/W 16-bit timer 6 counter data register 00481B4 (HW) DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 TC615 TC614 TC613 TC612 TC611 TC610 TC69 TC68 TC67 TC66 TC65 TC64 TC63 TC62 TC61 TC60 16-bit timer 6 counter data TC615 = MSB TC60 = LSB 0 to 65535 X X X X X X X X X X X X X X X X R 16-bit timer 6 00481B6 control register (B) D7 D6 D5 D4 D3 D2 D1 D0 - SELFM6 SELCRB6 OUTINV6 CKSL6 PTM6 PRESET6 PRUN6 reserved 16-bit timer 6 fine mode selection 16-bit timer 6 comparison buffer 16-bit timer 6 output inversion 16-bit timer 6 input clock selection 16-bit timer 6 clock output control 16-bit timer 6 reset 16-bit timer 6 Run/Stop control B-III-4-22 EPSON 1 1 1 1 1 1 1 - Fine mode 0 Enabled 0 Invert 0 External clock 0 On 0 Reset 0 Run 0 Init. R/W Normal Disabled Normal Internal clock Off Invalid Stop 0 0 0 0 0 0 0 0 Remarks - 0 when being read. R/W R/W R/W R/W R/W W 0 when being read. R/W S1C33T01 FUNCTION PART III PERIPHERAL BLOCK: 16-BIT PROGRAMMABLE TIMERS Table 4.7 Control Bits of 16-Bit Programmable Timer (continue) Register name Address Bit Name Function Setting 16-bit timer 7 comparison data A set-up register 00481B8 (HW) DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 CR7A15 CR7A14 CR7A13 CR7A12 CR7A11 CR7A10 CR7A9 CR7A8 CR7A7 CR7A6 CR7A5 CR7A4 CR7A3 CR7A2 CR7A1 CR7A0 16-bit timer 7 comparison data A CR7A15 = MSB CR7A0 = LSB 0 to 65535 X X X X X X X X X X X X X X X X R/W 16-bit timer 7 comparison data B set-up register 00481BA (HW) DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 CR7B15 CR7B14 CR7B13 CR7B12 CR7B11 CR7B10 CR7B9 CR7B8 CR7B7 CR7B6 CR7B5 CR7B4 CR7B3 CR7B2 CR7B1 CR7B0 16-bit timer 7 comparison data B CR7B15 = MSB CR7B0 = LSB 0 to 65535 X X X X X X X X X X X X X X X X R/W 16-bit timer 7 counter data register 00481BC (HW) DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 TC715 TC714 TC713 TC712 TC711 TC710 TC79 TC78 TC77 TC76 TC75 TC74 TC73 TC72 TC71 TC70 16-bit timer 7 counter data TC715 = MSB TC70 = LSB 0 to 65535 X X X X X X X X X X X X X X X X R 16-bit timer 7 00481BE control register (B) D7 D6 D5 D4 D3 D2 D1 D0 - SELFM7 SELCRB7 OUTINV7 CKSL7 PTM7 PRESET7 PRUN7 reserved 16-bit timer 7 fine mode selection 16-bit timer 7 comparison buffer 16-bit timer 7 output inversion 16-bit timer 7 input clock selection 16-bit timer 7 clock output control 16-bit timer 7 reset 16-bit timer 7 Run/Stop control S1C33T01 FUNCTION PART EPSON 1 1 1 1 1 1 1 - Fine mode 0 Enabled 0 Invert 0 External clock 0 On 0 Reset 0 Run 0 Init. R/W Normal Disabled Normal Internal clock Off Invalid Stop 0 0 0 0 0 0 0 0 Remarks - 0 when being read. R/W R/W R/W R/W R/W W 0 when being read. R/W B-III-4-23 III PERIPHERAL BLOCK: 16-BIT PROGRAMMABLE TIMERS Table 4.7 Control Bits of 16-Bit Programmable Timer (continue) Register name Address Bit Name Function Setting 16-bit timer 8 comparison data A set-up register 00481C0 (HW) DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 CR8A15 CR8A14 CR8A13 CR8A12 CR8A11 CR8A10 CR8A9 CR8A8 CR8A7 CR8A6 CR8A5 CR8A4 CR8A3 CR8A2 CR8A1 CR8A0 16-bit timer 8 comparison data A CR8A15 = MSB CR8A0 = LSB 0 to 65535 X X X X X X X X X X X X X X X X R/W 16-bit timer 8 comparison data B set-up register 00481C2 (HW) DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 CR8B15 CR8B14 CR8B13 CR8B12 CR8B11 CR8B10 CR8B9 CR8B8 CR8B7 CR8B6 CR8B5 CR8B4 CR8B3 CR8B2 CR8B1 CR8B0 16-bit timer 8 comparison data B CR8B15 = MSB CR8B0 = LSB 0 to 65535 X X X X X X X X X X X X X X X X R/W 16-bit timer 8 counter data register 00481C4 (HW) DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 TC815 TC814 TC813 TC812 TC811 TC810 TC89 TC88 TC87 TC86 TC85 TC84 TC83 TC82 TC81 TC80 16-bit timer 8 counter data TC815 = MSB TC80 = LSB 0 to 65535 X X X X X X X X X X X X X X X X R 16-bit timer 8 00481C6 control register (B) D7 D6 D5 D4 D3 D2 D1 D0 - SELFM8 SELCRB8 OUTINV8 CKSL8 PTM8 PRESET8 PRUN8 reserved 16-bit timer 8 fine mode selection 16-bit timer 8 comparison buffer 16-bit timer 8 output inversion 16-bit timer 8 input clock selection 16-bit timer 8 clock output control 16-bit timer 8 reset 16-bit timer 8 Run/Stop control B-III-4-24 EPSON 1 1 1 1 1 1 1 - Fine mode 0 Enabled 0 Invert 0 External clock 0 On 0 Reset 0 Run 0 Init. R/W Normal Disabled Normal Internal clock Off Invalid Stop 0 0 0 0 0 0 0 0 Remarks - 0 when being read. R/W R/W R/W R/W R/W W 0 when being read. R/W S1C33T01 FUNCTION PART III PERIPHERAL BLOCK: 16-BIT PROGRAMMABLE TIMERS Table 4.7 Control Bits of 16-Bit Programmable Timer (continue) Register name Address Bit Name Function Setting 16-bit timer 9 comparison data A set-up register 00481C8 (HW) DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 CR9A15 CR9A14 CR9A13 CR9A12 CR9A11 CR9A10 CR9A9 CR9A8 CR9A7 CR9A6 CR9A5 CR9A4 CR9A3 CR9A2 CR9A1 CR9A0 16-bit timer 9 comparison data A CR9A15 = MSB CR9A0 = LSB 0 to 65535 X X X X X X X X X X X X X X X X R/W 16-bit timer 9 comparison data B set-up register 00481CA (HW) DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 CR9B15 CR9B14 CR9B13 CR9B12 CR9B11 CR9B10 CR9B9 CR9B8 CR9B7 CR9B6 CR9B5 CR9B4 CR9B3 CR9B2 CR9B1 CR9B0 16-bit timer 9 comparison data B CR9B15 = MSB CR9B0 = LSB 0 to 65535 X X X X X X X X X X X X X X X X R/W 16-bit timer 9 counter data register 00481CC (HW) DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 TC915 TC914 TC913 TC912 TC911 TC910 TC99 TC98 TC97 TC96 TC95 TC94 TC93 TC92 TC91 TC90 16-bit timer 9 counter data TC915 = MSB TC90 = LSB 0 to 65535 X X X X X X X X X X X X X X X X R 16-bit timer 9 00481CE control register (B) D7 D6 D5 D4 D3 D2 D1 D0 - SELFM9 SELCRB9 OUTINV9 CKSL9 PTM9 PRESET9 PRUN9 reserved 16-bit timer 9 fine mode selection 16-bit timer 9 comparison buffer 16-bit timer 9 output inversion 16-bit timer 9 input clock selection 16-bit timer 9 clock output control 16-bit timer 9 reset 16-bit timer 9 Run/Stop control 1 1 1 1 1 1 1 - Fine mode 0 Enabled 0 Invert 0 External clock 0 On 0 Reset 0 Run 0 Init. R/W Normal Disabled Normal Internal clock Off Invalid Stop 0 0 0 0 0 0 0 0 Remarks - 0 when being read. R/W R/W R/W R/W R/W W 0 when being read. R/W CFP16-CFP10: P1[6:0] pin function selection (D[6:0]) / P1 function select register (0x402D4) CFP83-CFP80: P8[3:0] pin function selection (D[3:0]) / P5 function select register (0x4030D) Selects the pin to be used for input of an external count clock to the timer. Write "1": Clock input pin Write "0": I/O port pin Read: Valid S1C33T01 FUNCTION PART EPSON B-III-4-25 III PERIPHERAL BLOCK: 16-BIT PROGRAMMABLE TIMERS Select clock input pins for the timers that are used as an event counter from among P10 through P16 and P80 through P83, by writing "1" to CFP10-CFP16 and CFP80-CFP83. For the relationship between each pin and timer, refer to Table 4.1. The pin is set for an I/O port by writing "0" to CFP1x. In addition to pin selection here, the pin to be used for clock input to the 16-bit programmable timer must be set to input mode using the I/O control register. At cold start, CFP is set to "0" (I/O port). At hot start, CFP1x retains its status from prior to the initial reset. CFP27-CFP22: P2[7:2] pin function selection (D[7:2]) / P2 function select register (0x402D8) CFP87-CFP84: P8[7:4] pin function selection (D[7:4]) / P5 function select register (0x4030D) Selects the pin used for clock output. Write "1": Clock output pin Write "0": I/O port pin Read: Valid Select the pin to be used to output a timer-generated clock to external devices from among P22 through P27, by writing "1" to CFP22-CFP27. For the relationship between each pin and timer, refer to Table 4.1. The pin is set for an I/O port by writing "0" to CFP2x. At cold start, CFP2x is set to "0" (I/O port). At hot start, CFP2x retains its status from prior to the initial reset. CFEX1: P10, P11, P13 port extended function (D1) / Port function extension register (0x402DF) CFEX0: P12, P14 port extended function (D0) / Port function extension register (0x402DF) Sets whether the function of an I/O-port pin is to be extended. Write "1": Function-extended pin Write "0": I/O-port/peripheral-circuit pin Read: Valid When CFEX[1:0] is set to "1", the P14-P10 ports function as debug signal output ports. When CFEX[1:0] = "0", the CFP1[4:0] bit becomes effective, so the settings of these bits determine whether the P14-P10 ports function as I/O port s or external clock input ports. At cold start, CFEX[1:0] is set to "1" (function-extended pins). At hot start, CFEX[1:0] retains its state from prior to the initial reset. IOC16-IOC10: P1[6:0] port I/O control (D[6:0]) / P1 I/O control register (0x402D6) Directs P10 through P16 for input or output. Write "1": Output mode Write "0": Input mode Read: Valid For the pin selected from among P10 through P16 for use for external clock input, write "0" to the corresponding I/O control bit to set it to input mode . If the pin is set to output mode, even though its CFP1x may be set to "1", it functions as the output pin of an 8-bit programmable timer and cannot be used to receive an external clock. At cold start, all IOC1x is set to "0" (input mode). At hot start, IOC1x retains its state from prior to the initial reset. SELFM0: Timer 0 SELFM1: Timer 1 SELFM2: Timer 2 SELFM3: Timer 3 SELFM4: Timer 4 SELFM5: Timer 5 SELFM6: Timer 6 SELFM7: Timer 7 SELFM8: Timer 8 SELFM9: Timer 9 fine mode selection (D6) / 16-bit timer 0 fine mode selection (D6) / 16-bit timer 1 fine mode selection (D6) / 16-bit timer 2 fine mode selection (D6) / 16-bit timer 3 fine mode selection (D6) / 16-bit timer 4 fine mode selection (D6) / 16-bit timer 5 fine mode selection (D6) / 16-bit timer 6 fine mode selection (D6) / 16-bit timer 7 fine mode selection (D6) / 16-bit timer 8 fine mode selection (D6) / 16-bit timer 9 control control control control control control control control control control register (0x48186) register (0x4818E) register (0x48196) register (0x4819E) register (0x481A6) register (0x481AE) register (0x481B6) register (0x481BE) register (0x481C6) register (0x481CE) Sets fine mode for clock output. Write "1": Fine mode B-III-4-26 EPSON S1C33T01 FUNCTION PART III PERIPHERAL BLOCK: 16-BIT PROGRAMMABLE TIMERS Write "0": Normal output Read: Valid When SELFMx is set to "1", clock output is set in fine mode which allows adjustment of the output signal duty ratio in units of a half cycle for the input clock. When SELFMx is set to "0", normal clock output will be performed. At initial reset, SELCFMx is set to "0" (normal output). SELCRB0: Timer 0 SELCRB1: Timer 1 SELCRB2: Timer 2 SELCRB3: Timer 3 SELCRB4: Timer 4 SELCRB5: Timer 5 SELCRB6: Timer 6 SELCRB7: Timer 7 SELCRB8: Timer 8 SELCRB9: Timer 9 comparison register buffer comparison register buffer comparison register buffer comparison register buffer comparison register buffer comparison register buffer comparison register buffer comparison register buffer comparison register buffer comparison register buffer enable enable enable enable enable enable enable enable enable enable (D5) / 16-bit timer 0 (D5) / 16-bit timer 1 (D5) / 16-bit timer 2 (D5) / 16-bit timer 3 (D5) / 16-bit timer 4 (D5) / 16-bit timer 5 (D5) / 16-bit timer 6 (D5) / 16-bit timer 7 (D5) / 16-bit timer 8 (D5) / 16-bit timer 9 control register (0x48186) control register (0x4818E) control register (0x48196) control register (0x4819E) control register (0x481A6) control register (0x481AE) control register (0x481B6) control register (0x481BE) control register (0x481C6) control register (0x481CE) Enables or disables writing to the comparison register buffer. Write "1": Enabled Write "0": Disabled Read: Valid When SELCRBx is set to "1", comparison data is read and written from/to the comparison register buffer. The content of the buffer is loaded to the comparison data register when the counter is reset by the software or the comparison B signal. When SELCRBx is set to "0", comparison data is read and written from/to the comparison data register. At initial reset, SELCRBx is set to "0" (disabled). OUTINV0: Timer 0 OUTINV1: Timer 1 OUTINV2: Timer 2 OUTINV3: Timer 3 OUTINV4: Timer 4 OUTINV5: Timer 5 OUTINV6: Timer 6 OUTINV7: Timer 7 OUTINV8: Timer 8 OUTINV9: Timer 9 output output output output output output output output output output inversion inversion inversion inversion inversion inversion inversion inversion inversion inversion (D4) / 16-bit timer 0 (D4) / 16-bit timer 1 (D4) / 16-bit timer 2 (D4) / 16-bit timer 3 (D4) / 16-bit timer 4 (D4) / 16-bit timer 5 (D4) / 16-bit timer 6 (D4) / 16-bit timer 7 (D4) / 16-bit timer 8 (D4) / 16-bit timer 9 control control control control control control control control control control register (0x48186) register (0x4818E) register (0x48196) register (0x4819E) register (0x481A6) register (0x481AE) register (0x481B6) register (0x481BE) register (0x481C6) register (0x481CE) Selects a logic of the output signal. Write "1": Inverted (active low) Write "0": Normal (active high) Read: Valid By writing "1" to OUTINVx, an active-low signal (off level = high) is generated for the TMx output. When OUTINVx is set to "0", an active-high signal (off level = low) is generated. At initial reset, OUTINVx is set to "0" (normal). S1C33T01 FUNCTION PART EPSON B-III-4-27 III PERIPHERAL BLOCK: 16-BIT PROGRAMMABLE TIMERS CKSL0: Timer 0 CKSL1: Timer 1 CKSL2: Timer 2 CKSL3: Timer 3 CKSL4: Timer 4 CKSL5: Timer 5 CKSL6: Timer 6 CKSL7: Timer 7 CKSL8: Timer 8 CKSL9: Timer 9 input clock selection (D3) / 16-bit timer 0 input clock selection (D3) / 16-bit timer 1 input clock selection (D3) / 16-bit timer 2 input clock selection (D3) / 16-bit timer 3 input clock selection (D3) / 16-bit timer 4 input clock selection (D3) / 16-bit timer 5 input clock selection (D3) / 16-bit timer 6 input clock selection (D3) / 16-bit timer 7 input clock selection (D3) / 16-bit timer 8 input clock selection (D3) / 16-bit timer 9 control control control control control control control control control control register (0x48186) register (0x4818E) register (0x48196) register (0x4819E) register (0x481A6) register (0x481AE) register (0x481B6) register (0x481BE) register (0x481C6) register (0x481CE) Selects the input clock of each timer. Write "1": External clock Write "0": Internal clock Read: Valid The internal clock (prescaler output) is selected for the input clock of each timer by writing "0" to CKSLx. An external clock (one that is fed from the clock input pin) is selected by writing "1", and the timer functions as an event counter. The clock input pin function must be set up for channels 0 to 5 using the CFPx bits. At initial reset, CKSLx is set to "0" (internal clock). PTM0: Timer 0 PTM1: Timer 1 PTM2: Timer 2 PTM3: Timer 3 PTM4: Timer 4 PTM5: Timer 5 PTM6: Timer 6 PTM7: Timer 7 PTM8: Timer 8 PTM9: Timer 9 clock output clock output clock output clock output clock output clock output clock output clock output clock output clock output control control control control control control control control control control (D2) / 16-bit timer 0 (D2) / 16-bit timer 1 (D2) / 16-bit timer 2 (D2) / 16-bit timer 3 (D2) / 16-bit timer 4 (D2) / 16-bit timer 5 (D2) / 16-bit timer 6 (D2) / 16-bit timer 7 (D2) / 16-bit timer 8 (D2) / 16-bit timer 9 control control control control control control control control control control register (0x48186) register (0x4818E) register (0x48196) register (0x4819E) register (0x481A6) register (0x481AE) register (0x481B6) register (0x481BE) register (0x481C6) register (0x481CE) Controls the output of the TMx signal (timer output clock). Write "1": On Write "0": Off Read: Valid The TMx signal is output from the clock output pin by writing "1" to PTMx. Clock output is stopped by writing "0" to PTMx and goes to the off level according to the OUTINVx setting (low when OUTINVx = "0" or high when OUTINVx = "1"). The clock output pin function must be set up for channels 0 to 5 using the CFP2x bits. At initial reset, PTMx is set to "0" (off). PRESET0: Timer 0 PRESET1: Timer 1 PRESET2: Timer 2 PRESET3: Timer 3 PRESET4: Timer 4 PRESET5: Timer 5 PRESET6: Timer 6 PRESET7: Timer 7 PRESET8: Timer 8 PRESET9: Timer 9 reset reset reset reset reset reset reset reset reset reset (D1) / 16-bit timer 0 (D1) / 16-bit timer 1 (D1) / 16-bit timer 2 (D1) / 16-bit timer 3 (D1) / 16-bit timer 4 (D1) / 16-bit timer 5 (D1) / 16-bit timer 6 (D1) / 16-bit timer 7 (D1) / 16-bit timer 8 (D1) / 16-bit timer 9 control control control control control control control control control control register (0x48186) register (0x4818E) register (0x48196) register (0x4819E) register (0x481A6) register (0x481AE) register (0x481B6) register (0x481BE) register (0x481C6) register (0x481CE) Resets the counter. Write "1": Reset Write "0": Invalid Read: Always "0" B-III-4-28 EPSON S1C33T01 FUNCTION PART III PERIPHERAL BLOCK: 16-BIT PROGRAMMABLE TIMERS The counter of timer x is reset by writing "1" to PRESETx. Writing "0" results in No Operation. Since PRESETx is a write-only bit, its content when read is always "0". PRUN0: Timer 0 PRUN1: Timer 1 PRUN2: Timer 2 PRUN3: Timer 3 PRUN4: Timer 4 PRUN5: Timer 5 PRUN6: Timer 6 PRUN7: Timer 7 PRUN8: Timer 8 PRUN9: Timer 9 RUN/STOP control (D0) / 16-bit timer 0 control register (0x48186) RUN/STOP control (D0) / 16-bit timer 1 control register (0x4818E) RUN/STOP control (D0) / 16-bit timer 2 control register (0x48196) RUN/STOP control (D0) / 16-bit timer 3 control register (0x4819E) RUN/STOP control (D0) / 16-bit timer 4 control register (0x481A6) RUN/STOP control (D0) / 16-bit timer 5 control register (0x481AE) RUN/STOP control (D0) / 16-bit timer 6 control register (0x481B6) RUN/STOP control (D0) / 16-bit timer 7 control register (0x481BE) RUN/STOP control (D0) / 16-bit timer 8 control register (0x481C6) RUN/STOP control (D0) / 16-bit timer 9 control register (0x481CE) Controls the timer's RUN/STOP state. Write "1": RUN Write "0": STOP Read: Valid Each timer is made to start counting up by writing "1" to PRUNx and made to stop counting by writing "0". In the STOP state, the counter data is retained until the timer is reset or placed in a RUN state. By changing states from STOP to RUN, the timer can restart counting beginning at the retained count. At initial reset, PRUNx is set to "0" (STOP). CR0A15-CR0A0: Timer 0 comparison data A (D[F:0]) / 16-bit timer 0 comparison data A set-up register (0x48180) CR1A15-CR1A0: Timer 1 comparison data A (D[F:0]) / 16-bit timer 1 comparison data A set-up register (0x48188) CR2A15-CR2A0: Timer 2 comparison data A (D[F:0]) / 16-bit timer 2 comparison data A set-up register (0x48190) CR3A15-CR3A0: Timer 3 comparison data A (D[F:0]) / 16-bit timer 3 comparison data A set-up register (0x48198) CR4A15-CR4A0: Timer 4 comparison data A (D[F:0]) / 16-bit timer 4 comparison data A set-up register (0x481A0) CR5A15-CR5A0: Timer 5 comparison data A (D[F:0]) / 16-bit timer 5 comparison data A set-up register (0x481A8) CR0A15-CR6A0: Timer 6 comparison data A (D[F:0]) / 16-bit timer 6 comparison data A set-up register (0x481B0) CR1A15-CR7A0: Timer 7 comparison data A (D[F:0]) / 16-bit timer 7 comparison data A set-up register (0x481B8) CR2A15-CR8A0: Timer 8 comparison data A (D[F:0]) / 16-bit timer 8 comparison data A set-up register (0x481C0) CR3A15-CR9A0: Timer 9 comparison data A (D[F:0]) / 16-bit timer 9 comparison data A set-up register (0x481C8) Sets the comparison data A of each timer. When SELCRBx is set to "0", comparison data is directly read or writing from/to the comparison data register A. When SELCRBx is set to "1", comparison data is read or written from/to the comparison register buffer A. The content of the buffer is loaded to the comparison data register A when the counter is reset. The data set in this register is compared with each corresponding counter data. When the contents match, a comparison A interrupt is generated and the output signal rises (OUTINVx = "0") or falls (OUTINVx = "1"). This does not affect the counter value and count-up operation. At initial reset, CRxA is not initialized. S1C33T01 FUNCTION PART EPSON B-III-4-29 III PERIPHERAL BLOCK: 16-BIT PROGRAMMABLE TIMERS CR0B15-CR0B0: Timer 0 comparison data B (D[F:0]) / 16-bit timer 0 comparison data B set-up register (0x48182) CR1B15-CR1B0: Timer 1 comparison data B (D[F:0]) / 16-bit timer 1 comparison data B set-up register (0x4818A) CR2B15-CR2B0: Timer 2 comparison data B (D[F:0]) / 16-bit timer 2 comparison data B set-up register (0x48192) CR3B15-CR3B0: Timer 3 comparison data B (D[F:0]) / 16-bit timer 3 comparison data B set-up register (0x4819A) CR4B15-CR4B0: Timer 4 comparison data B (D[F:0]) / 16-bit timer 4 comparison data B set-up register (0x481A2) CR5B15-CR5B0: Timer 5 comparison data B (D[F:0]) / 16-bit timer 5 comparison data B set-up register (0x481AA) CR2B15-CR6B0: Timer 6 comparison data B (D[F:0]) / 16-bit timer 6 comparison data B set-up register (0x481B2) CR3B15-CR7B0: Timer 7 comparison data B (D[F:0]) / 16-bit timer 7 comparison data B set-up register (0x481BA) CR4B15-CR8B0: Timer 8 comparison data B (D[F:0]) / 16-bit timer 8 comparison data B set-up register (0x481C2) CR5B15-CR9B0: Timer 9 comparison data B (D[F:0]) / 16-bit timer 9 comparison data B set-up register (0x481CA) Sets the comparison data B of each timer. When SELCRBx is set to "0", comparison data is directly read or writing from/to the comparison data register B. When SELCRBx is set to "1", comparison data is read or written from/to the comparison register buffer B. The content of the buffer is loaded to the comparison data register B when the counter is reset. The data set in this register is compared with each corresponding counter data. When the contents match, a comparison B interrupt is generated and the output signal falls (OUTINVx = "0") or rises (OUTINVx = "1"). Furthermore, the counter is reset to "0". At initial reset, CRxB is not initialized. TC015-TC00: Timer 0 TC115-TC10: Timer 1 TC215-TC20: Timer 2 TC315-TC30: Timer 3 TC415-TC40: Timer 4 TC515-TC50: Timer 5 TC615-TC60: Timer 6 TC715-TC70: Timer 7 TC815-TC80: Timer 8 TC915-TC90: Timer 9 counter counter counter counter counter counter counter counter counter counter data (D[F:0]) / 16-bit timer 0 data (D[F:0]) / 16-bit timer 1 data (D[F:0]) / 16-bit timer 2 data (D[F:0]) / 16-bit timer 3 data (D[F:0]) / 16-bit timer 4 data (D[F:0]) / 16-bit timer 5 data (D[F:0]) / 16-bit timer 6 data (D[F:0]) / 16-bit timer 7 data (D[F:0]) / 16-bit timer 8 data (D[F:0]) / 16-bit timer 9 counter counter counter counter counter counter counter counter counter counter data register (0x48184) data register (0x4818C) data register (0x48194) data register (0x4819C) data register (0x481A4) data register (0x481AC) data register (0x481B4) data register (0x481BC) data register (0x481C4) data register (0x481CC) The counter data of each timer can be read from this register. The data can be read out at any time. Since TCx is a read-only register, writing to this register is ignored. At initial reset, TCx is not initialized. P16T02-P16T00: Timer 0 P16T12-P16T10: Timer 1 P16T22-P16T20: Timer 2 P16T32-P16T30: Timer 3 P16T42-P16T40: Timer 4 P16T52-P16T50: Timer 5 P16T62-P16T60: Timer 6 P16T72-P16T70: Timer 7 P16T82-P16T80: Timer 8 P16T92-P16T90: Timer 9 interrupt level (D[2:0]) / 16-bit timer 0/1 interrupt priority register (0x40266) interrupt level (D[6:4]) / 16-bit timer 0/1 interrupt priority register (0x40266) interrupt level (D[2:0]) / 16-bit timer 2/3 interrupt priority register (0x40267) interrupt level (D[6:4]) / 16-bit timer 2/3 interrupt priority register (0x40267) interrupt level (D[2:0]) / 16-bit timer 4/5 interrupt priority register (0x40268) interrupt level (D[6:4]) / 16-bit timer 4/5 interrupt priority register (0x40268) interrupt level (D[2:0]) / 16-bit timer 6/7 interrupt priority register (0x402A4) interrupt level (D[6:4]) / 16-bit timer 6/7 interrupt priority register (0x402A4) interrupt level (D[2:0]) / 16-bit timer 8/9 interrupt priority register (0x402A5) interrupt level (D[6:4]) / 16-bit timer 8/9 interrupt priority register (0x402A5) Sets the priority levels of 16-bit programmable timer interrupts. The priority level can be set in the range of 0 to 7. At initial reset, P16Tx becomes indeterminate. B-III-4-30 EPSON S1C33T01 FUNCTION PART III PERIPHERAL BLOCK: 16-BIT PROGRAMMABLE TIMERS E16TU0, E16TC0: Timer 0 E16TU1, E16TC1: Timer 1 E16TU2, E16TC2: Timer 2 E16TU3, E16TC3: Timer 3 E16TU4, E16TC4: Timer 4 E16TU5, E16TC5: Timer 5 E16TU6, E16TC6: Timer 6 E16TU7, E16TC7: Timer 7 E16TU8, E16TC8: Timer 8 E16TU9, E16TC9: Timer 9 interrupt enable (D2, D3) / 16-bit timer 0/1 interrupt enable register (0x40272) interrupt enable (D6, D7) / 16-bit timer 0/1 interrupt enable register (0x40272) interrupt enable (D2, D3) / 16-bit timer 2/3 interrupt enable register (0x40273) interrupt enable (D6, D7) / 16-bit timer 2/3 interrupt enable register (0x40273) interrupt enable (D2, D3) / 16-bit timer 4/5 interrupt enable register (0x40274) interrupt enable (D6, D7) / 16-bit timer 4/5 interrupt enable register (0x40274) interrupt enable (D2, D3) / 16-bit timer 6/7 interrupt enable register (0x402A7) interrupt enable (D6, D7) / 16-bit timer 6/7 interrupt enable register (0x402A7) interrupt enable (D2, D3) / 16-bit timer 8/9 interrupt enable register (0x402A8) interrupt enable (D6, D7) / 16-bit timer 8/9 interrupt enable register (0x402A8) Enables or disables the generation of an interrupt to the CPU. Write "1": Interrupt enabled Write "0": Interrupt disabled Read: Valid The E16TUx and E16TCx are provided for the comparison B and comparison A interrupt factors, respectively. The interrupt for which the bit is set to "1" is enabled, and the interrupt for which the bit is set to "0" is disabled. At initial reset, these bits are set to "0" (interrupt disabled). F16TU0, F16TC0: Timer 0 interrupt factor flag (D2, D3) / 16-bit timer 0/1 interrupt factor flag register (0x40282) F16TU1, F16TC1: Timer 1 interrupt factor flag (D6, D7) / 16-bit timer 0/1 interrupt factor flag register (0x40282) F16TU2, F16TC2: Timer 2 interrupt factor flag (D2, D3) / 16-bit timer 2/3 interrupt factor flag register (0x40283) F16TU3, F16TC3: Timer 3 interrupt factor flag (D6, D7) / 16-bit timer 2/3 interrupt factor flag register (0x40283) F16TU4, F16TC4: Timer 4 interrupt factor flag (D2, D3) / 16-bit timer 4/5 interrupt factor flag register (0x40284) F16TU5, F16TC5: Timer 5 interrupt factor flag (D6, D7) / 16-bit timer 4/5 interrupt factor flag register (0x40284) F16TU6, F16TC6: Timer 6 interrupt factor flag (D2, D3) / 16-bit timer 6/7 interrupt factor flag register (0x402AA) F16TU7, F16TC7: Timer 7 interrupt factor flag (D6, D7) / 16-bit timer 6/7 interrupt factor flag register (0x402AA) F16TU8, F16TC8: Timer 8 interrupt factor flag (D2, D3) / 16-bit timer 8/9 interrupt factor flag register (0x402AB) F16TU9, F16TC9: Timer 9 interrupt factor flag (D6, D7) / 16-bit timer 8/9 interrupt factor flag register (0x402AB) Indicates the status of 16-bit programmable timer interrupt generation. When read Read "1": Interrupt factor has occurred Read "0": No interrupt factor has occurred When written using the reset-only method (default) Write "1": Interrupt factor flag is reset Write "0": Invalid When written using the read/write method Write "1": Interrupt flag is set Write "0": Interrupt flag is reset F16TUx and F16TCx are the interrupt factor flags corresponding to the comparison B and comparison A interrupts, respectively. The flag is set to "1" when each interrupt factor occurs. At this time, if the following conditions are met, an interrupt to the CPU is generated: 1. The corresponding interrupt enable register bit is set to "1". 2. No other interrupt request of a higher priority has been generated. 3. The PSR's IE bit is set to "1" (interrupts enabled). 4. The value set in the corresponding interrupt priority register is higher than the CPU's interrupt level (IL). When using the interrupt factor of the 16-bit programmable timer to request IDMA, note that even when the above conditions are met, no interrupt request to the CPU is generated for the interrupt factor that has occurred. If interrupts are enabled at the setting of IDMA, an interrupt is generated under the above conditions after the data transfer by IDMA is completed. The interrupt factor flag is set to "1" whenever interrupt generation conditions are met, regardless of how the interrupt enable and interrupt priority registers are set. S1C33T01 FUNCTION PART EPSON B-III-4-31 III PERIPHERAL BLOCK: 16-BIT PROGRAMMABLE TIMERS If the next interrupt is to be accepted after an interrupt has occurred, it is necessary that the interrupt factor flag be reset, and that the PSR be set again (by setting the IE bit to "1" after setting the IL to a value lower than the level indicated by the interrupt priority register, or by executing the reti instruction). The interrupt factor flag can be reset only by writing to it in the software. Note that if the PSR is set again to accept interrupts generated (or if the reti instruction is executed) without resetting the interrupt factor flag, the same interrupt occurs again. Note also that the value to be written to reset the flag is "1" when the reset-only method (RSTONLY = "1") is used, and "0" when the read/write method (RSTONLY = "0") is used. At initial reset, all these flags become indeterminate, so be sure to reset them in the software. R16TU0, R16TC0: Timer 0 IDMA request (D6, D7) / Port input 0-3, HSDMA, 16-bit timer 0 IDMA request register (0x40290) R16TU1, R16TC1: Timer 1 IDMA request (D0, D1) / 16-bit timer 1-4 IDMA request register (0x40291) R16TU2, R16TC2: Timer 2 IDMA request (D2, D3) / 16-bit timer 1-4 IDMA request register (0x40291) R16TU3, R16TC3: Timer 3 IDMA request (D4, D5) / 16-bit timer 1-4 IDMA request register (0x40291) R16TU4, R16TC4: Timer 4 IDMA request (D6, D7) / 16-bit timer 1-4 IDMA request register (0x40291) R16TU5, R16TC5: Timer 5 IDMA request (D0, D1) / 16-bit timer 5, 8-bit timer, serial I/F Ch.0 IDMA request register (0x40292) R16TU6, R16TC6: Timer 6 IDMA request (D0, D1) / 16-bit timer 6-9 IDMA request register (0x402AD) R16TU7, R16TC7: Timer 7 IDMA request (D2, D3) / 16-bit timer 6-9 IDMA request register (0x402AD) R16TU8, R16TC8: Timer 8 IDMA request (D4, D5) / 16-bit timer 6-9 IDMA request register (0x402AD) R16TU9, R16TC9: Timer 9 IDMA request (D6, D7) / 16-bit timer 6-9 IDMA request register (0x402AD) Specifies whether to invoke IDMA when an interrupt factor occurs. When using the set-only method (default) Write "1": IDMA request Write "0": Not changed Read: Valid When using the read/write method Write "1": IDMA request Write "0": Interrupt request Read: Valid R16TUx and R16TCx are IDMA request bits corresponding to the comparison B and comparison A interrupt factors, respectively. When the bit is set to "1", IDMA is invoked when the interrupt factor occurs, thereby performing programmed data transfers. When the register is set to "0", normal interrupt processing is performed and IDMA is not invoked. For details on IDMA, refer to "IDMA (Intelligent DMA)". At initial reset, these bits are set to "0" (interrupt request). B-III-4-32 EPSON S1C33T01 FUNCTION PART III PERIPHERAL BLOCK: 16-BIT PROGRAMMABLE TIMERS DE16TU0, DE16TC0: Timer 0 IDMA enable (D6, D7) / Port input 0-3, HSDMA, 16-bit timer 0 IDMA enable register (0x40294) DE16TU1, DE16TC1: Timer 1 IDMA enable (D0, D1) / 16-bit timer 1-4 IDMA enable register (0x40295) DE16TU2, DE16TC2: Timer 2 IDMA enable (D2, D3) / 16-bit timer 1-4 IDMA enable register (0x40295) DE16TU3, DE16TC3: Timer 3 IDMA enable (D4, D5) / 16-bit timer 1-4 IDMA enable register (0x40295) DE16TU4, DE16TC4: Timer 4 IDMA enable (D6, D7) / 16-bit timer 1-4 IDMA enable register (0x40295) DE16TU5, DE16TC5: Timer 5 IDMA enable (D0, D1) / 16-bit timer 5, 8-bit timer, serial I/F Ch.0 IDMA enable register (0x40296) DE16TU6, DE16TC6: Timer 6 IDMA enable (D0, D1) / 16-bit timer 6-9 IDMA enable register (0x402AF) DE16TU7, DE16TC7: Timer 7 IDMA enable (D2, D3) / 16-bit timer 6-9 IDMA enable register (0x402AF) DE16TU8, DE16TC8: Timer 8 IDMA enable (D4, D5) / 16-bit timer 6-9 IDMA enable register (0x402AF) DE16TU9, DE16TC9: Timer 9 IDMA enable (D6, D7) / 16-bit timer 6-9 IDMA enable register (0x402AF) Enables IDMA transfer by means of an interrupt factor. When using the set-only method (default) Write "1": IDMA enabled Write "0": Not changed Read: Valid When using the read/write method Write "1": IDMA enabled Write "0": IDMA disabled Read: Valid DE16TUx and DE16TCx are IDMA enable bits corresponding to the comparison B and comparison A interrupt factors, respectively. If the bit is set to "1", the IDMA request by the interrupt factor is enabled. If the bit is set to "0", the IDMA request is disabled. After an initial reset, these bits are set to "0" (IDMA disabled). S1C33T01 FUNCTION PART EPSON B-III-4-33 III PERIPHERAL BLOCK: 16-BIT PROGRAMMABLE TIMERS Programming Notes (1) The 16-bit programmable timers clocked by the internal clock operate only when the prescaler is operating. (2) When setting the input clock or operation mode, make sure the 16-bit programmable timer is turned off. (3) If a same value is set to the comparison data A and B registers, a hazard may be generated in the output signal. Therefore, do not set the comparison registers as A = B. There is no problem when the interrupt function only is used. (4) When using the output clock, set the comparison data registers as A 0 and B 1. The minimum settings are A = 0 and B = 1. In this case, the timer output clock cycle is the input clock x 1/2. (5) When the comparison data registers are set as A > B in normal mode, no comparison A interrupt is generated. In this case, the output signal is fixed at the off level. In fine mode, no comparison A interrupt is generated when the comparison data registers are set as A > 2 x B + 1. (6) After an initial reset, the interrupt factor flag becomes indeterminate. To prevent generation of an unwanted interrupt or IDMA request, be sure to reset this flag and register in the software. (7) To prevent another interrupt from being generated by the same factor after an interrupt has occurred, be sure to reset the interrupt factor flag before setting the PSR again or executing the reti instruction. (8) Be aware that unnecessary pulse may be generated according to the control of the clock output and port configuration when a 16-bit programmable timer is used to output the TMx clock. For example, when TMx is set as inverted output (OUTINVx = "1"), the output waveform falls with the comparison B signal and it rises with the comparison A signal. Furthermore, the output pin is fixed at high level when PTMx is set to "0" to stop the clock output. When switching the output pin to the I/O port pin and then setting the port to low after the TMx signal falls with the comparison A signal, a high level pulse will be generated if "0" is written to PTMx before setting the port to low. It can be prevented by writing "0" to PTMx after setting the port to low. B-III-4-34 EPSON S1C33T01 FUNCTION PART III PERIPHERAL BLOCK: WATCHDOG TIMER III-5 WATCHDOG TIMER Configuration of Watchdog Timer The Periheral Block incorporates a watchdog timer function to detect the CPU's crash. This function is implemented through the use of the 16-bit programmable timer 0. When this function is enabled, an NMI (nonmaskable interrupt) is generated by the comparison B signal from the 16-bit programmable timer 0 (generating intervals can be set through the use of software). The 16-bit programmable timer 0 set in the software so as not to generate the NMI, making it possible to detect a program crash that may not pass through this processing routine. Figure 5.1 shows the block diagram of the watchdog timer. Watchdog timer Clock Generator Prescaler 16-bit programmable timer 0 EWD NMI Figure 5.1 Watchdog Timer Block Diagram Control of Watchdog Timer Setting the operating clock and NMI generating interval The watchdog timer is operated by the prescaler's output clock. Therefore, the watchdog timer function cannot be used when the prescaler is inactive. The NMI is generated every time the 16-bit programmable timer 0 is reset by the comparison B setting. Therefore, this interval is determined by the prescaler's P16TS0[2:0] (D[2:0]) / 16-bit timer 0 clock control register (0x40147), and the comparison data B set in CR0B[15:0] (D[F:0]) / 16-bit timer 0 comparison register B (0x48182). The NMI generating interval is calculated using the following equation: NMI generating interval = CR0B + 1 f PSCIN x pdr [sec.] fPSCIN: Prescaler input clock frequency [Hz] pdr: Prescaler's division ratio set by the P16TS0 register (1/4096, 1/1024, 1/256, 1/64, 1/16, 1/4, 1/2, 1/1) CR0B: Set value of the CR0B register (0 to 65,535) For details on how to control the prescaler and the 16-bit programmable timer 0, refer to "Prescaler" and "16Bit Programmable Timers". Setting the watchdog timer function To use the watchdog timer function, enable the NMI that is generated by the comparison B signal from the 16-bit programmable timer 0. For this purpose, use EWD (D1) / Watchdog timer enable register (0x40171). The NMI is enabled by writing "1" to EWD. At initial reset, EWD is set to "0", so generation of the NMI is disabled. To prevent an unwanted NMI from being generated by erroneous writing to EWD, this register is normally write-protected. To write-enable EWD, write "1" to WRWD (D7) / Watchdog timer write-protect register (0x40170). Only one writing to EWD is enabled in this way by the WRWD bit. When data is written to EWD after it is write-enabled, the WRWD bit is reset back to "0", thus making EWD write-protected again. For the 16-bit programmable timer 0, set an appropriate comparison B value to make it start operating. If the watchdog timer function is not to be used, set EWD to "0" and do not change it. S1C33T01 FUNCTION PART EPSON B-III-5-1 III PERIPHERAL BLOCK: WATCHDOG TIMER Resetting the watchdog timer When using the watchdog timer, prepare a routine to reset the 16-bit programmable timer 0 before an NMI is generated in a location where it will be periodically processed. Make sure this routine is processed within the NMI generation interval described above. The 16-bit programmable timer 0 is reset by writing "1" to PRESET0 (D1) / 16-bit timer 0 control register (0x48186). At this point, the timer counter is set to 0, and the timer starts counting the NMI generation interval over again from that point. If the watchdog timer is not reset within the set interval for any reason, the CPU is made to enter trap processing by an NMI and starts executing the processing routine indicated by the NMI vector. The NMI trap vector address is set by default as follows: 0x0C0001C The trap table base address can be changed using the TTBR registers (0x48134 to 0x48137). Operation in Standby Modes During HALT mode In HALT mode (basic mode or HALT2 mode), the prescaler and watchdog timer are operating. Consequently, if HALT mode continues beyond the NMI generation interval, HALT mode is cleared by the NMI. To disable the watchdog timer in HALT mode, set EWD to "0" before executing the halt instruction or turn off the 16-bit programmable timer 0. If the NMI is disabled by EWD, the 16-bit programmable timer 0 continues counting even in HALT mode. To reenable the NMI after clearing HALT mode, reset the 16-bit programmable timer 0 in advance. If HALT mode was entered after the 16-bit programmable timer 0 was turned off, reset the timer before restarting it. During SLEEP mode In SLEEP mode, the prescaler is turned off. Therefore, the watchdog timer also stops operating. To prevent generation of an unwanted NMI after clearing SLEEP mode, reset the 16-bit programmable timer 0 before executing the slp instruction. In addition, disable generation of the NMI by EWD as necessary. B-III-5-2 EPSON S1C33T01 FUNCTION PART III PERIPHERAL BLOCK: WATCHDOG TIMER I/O Memory of Watchdog Timer Table 5.1 shows the control bits of the watchdog timer. Table 5.1 Control Bits of Watchdog Timer Register name Address Bit Name Function Setting Init. R/W Remarks Watchdog 0040170 timer write(B) protect register D7 WRWD D6-0 - EWD write protection - 1 Write enabled 0 Write-protect - 0 - R/W - 0 when being read. Watchdog timer enable register D7-2 - D1 EWD D0 - - Watchdog timer enable - - 1 NMI enabled 0 NMI disabled - - 0 - - 0 when being read. R/W - 0 when being read. 0040171 (B) WRWD: EWD write protection (D7) / Watchdog timer write-protect register (0x40170) Enables writing to the EWD register. Write "1": Writing enabled Write "0": Write-protected Read: Valid The EWD bit is write-protected to prevent unwanted modifications. Writing to this bit is enabled for only one writing by setting WRWD to "1". WRWD is reset back to "0" by writing to EWD, so EWD is write-protected again. If WRWD is reset to "0" when EWD is write-enabled (WRWD = "1"), EWD becomes write-protected again. At initial reset, WRWD is set to "0" (write-protected). EWD: NMI enable (D1) / Watchdog timer enable register (0x40171) Controls the generation of a nonmaskable interrupt (NMI) by the watchdog timer. Write "1": NMI is enabled Write "0": NMI is disabled Read: Valid The watchdog timer's interrupt signal is masked by writing "0" to EWD, so a nonmaskable interrupt (NMI) to the CPU is not generated. If EWD is set to "1", an NMI is generated by the 16-bit programmable timer 0 comparison B signal. Writing to EWD is valid only when WRWD = "1". Even when EWD is set to "0", the 16-bit programmable timer 0 does not stop counting. Therefore, if the NMI has been temporarily disabled, be sure to reset the 16-bit programmable timer 0 before setting the EWD register back to "1". At initial reset, EWD is set to "0" (NMI disabled). Programming Notes (1) If the watchdog timer's NMI is enabled, the watchdog timer must be reset in the software before the 16-bit programmable timer 0 outputs the comparison B signal. (2) Even when EWD is set to "0", the 16-bit programmable timer 0 does not stop counting. Therefore, if the NMI has been temporarily disabled, be sure to reset the 16-bit programmable timer 0 before setting EWD back to "1". S1C33T01 FUNCTION PART EPSON B-III-5-3 III PERIPHERAL BLOCK: WATCHDOG TIMER THIS PAGE IS BLANK. B-III-5-4 EPSON S1C33T01 FUNCTION PART III PERIPHERAL BLOCK: LOW-SPEED (OSC1) OSCILLATION CIRCUIT III-6 LOW-SPEED (OSC1) OSCILLATION CIRCUIT Configuration of Low-Speed (OSC1) Oscillation Circuit The Peripheral Block has a built-in low-speed (OSC1) oscillation circuit. The low-speed (OSC1) oscillation circuit generates a 32.768-kHz (Typ.) subclock. The OSC1 clock output by this circuit is delivered to the CLG (clock generator) in the Core Block and is used as the source clock for the clock timer. It can also be used as a sub-clock for the low-speed (low-power) operation of the CPU and peripheral circuits (switchable in a program). Figure 6.1 shows the configuration of the clock system. Oscillation SOSC1 ON/OFF OSC1 OSC2 Low-speed (OSC1) oscillation circuit I/O port FOSC1 (P14) CLG CLKCHG OSC3/PLL clock Clock switch Prescaler PF1ON To CPU and BCU To peripheral circuits Clock timer Figure 6.1 Configuration of Clock System The CPU operating clock can be switched to the output (OSC1 clock) of the low-speed (OSC1) oscillation circuit in a program. Furthermore, the oscillation circuit can be stopped in a program. If the OSC3 clock is unnecessary such as when performing clock processing only, set the OSC1 clock for operation of the CPU/peripheral circuits and turn off the high-speed (OSC3) oscillation circuit in order to reduce current consumption. The low-speed (OSC1) oscillation circuit does not stop in SLEEP mode. For the control method when using the OSC1 clock for the operating clock of the peripheral circuits, refer to "Prescaler". I/O Pins of Low-Speed (OSC1) Oscillation Circuit Table 6.1 lists the I/O pins of the low-speed (OSC1) oscillation circuit. Table 6.1 I/O Pins of Low-Speed (OSC1) Oscillation Circuit Pin name I/O OSC1 I OSC2 O P14/FOSC1/DCLK I/O S1C33T01 FUNCTION PART Function Low-speed (OSC1) oscillation input pin Crystal oscillation or external clock input Low-speed (OSC1) oscillation output pin Crystal oscillation (open when external clock is used) I/O port / Low-speed (OSC1) oscillation clock output / DCLK signal output EPSON B-III-6-1 III PERIPHERAL BLOCK: LOW-SPEED (OSC1) OSCILLATION CIRCUIT Oscillator Types In the low-speed (OSC1) oscillation circuit, either a crystal oscillation or an external clock input can be selected as the type of oscillation circuit. Figure 6.2 shows the structure of the low-speed (OSC1) oscillation circuit. CG1 OSC1 VDD VSS fOSC1 Rf CD1 VSS X'tal1 OSC2 OSC1 fOSC1 External clock N.C. Oscillation circuit control signal Oscillation circuit control signal OSC2 (1) Crystal oscillation circuit (2) External clock input OSC1 Low level Oscillation circuit control signal OSC2 VSS (3) When not used Figure 6.2 Low-Speed (OSC1) Oscillation Circuit When using a crystal oscillation for this circuit, connect a crystal resonator X'tal1 (32.768 kHz, Typ.) and feedback resistor (Rf) between the OSC1 and OSC2 pins, and two capacitors (CG1 , CD1 ) between the OSC1 pin and VSS and the OSC2 pin and VSS, respectively. When an external clock source is used, leave the OSC2 pin open and input a square-wave clock to the OSC1 pin. If the low-speed (OSC1) oscillation circuit is not used, connect the OSC1 pin to VSS and leave the OSC2 pin open. The oscillation frequency is 32.768 kHz (Typ.). Use a crystal resonator or external clock that oscillates at this frequency. No other frequency can be used for clock applications. For details on oscillation characteristics and the external clock input characteristics, refer to "Electrical Characteristics". B-III-6-2 EPSON S1C33T01 FUNCTION PART III PERIPHERAL BLOCK: LOW-SPEED (OSC1) OSCILLATION CIRCUIT Controlling Oscillation The low-speed (OSC1) oscillation circuit can be turned on or off using SOSC1 (D0) / Power control register (0x40180). The oscillation circuit is turned off by writing "0" to SOSC1 and turned back on again by writing "1". SOSC1 is set to "1" at initial reset, so the oscillation circuit is turned on. Notes: * When the low-speed (OSC1) oscillation circuit is used as the clock source for the CPU operating clock, it cannot be turned off. In this case, writing "0" to SOSC1 is ignored. Note also that writing to SOSC1 is allowed only when the power-control register protection flag is set to "0b10010110". * Immediately after the oscillation circuit is turned on, a certain period of time is required for oscillation to stabilize (3 sec max.). To prevent the device from operating erratically, do not use the clock until its oscillation has stabilized. The low-speed (OSC1) oscillation circuit does not stop when the CPU is set in SLEEP mode. Switching Over the CPU Operating Clock After an initial reset, the CPU starts operating using the OSC3 clock. In cases in which some peripheral circuits (e.g., programmable timer, serial interface, and A/D converter) that are clocked by the OSC3 clock do not need to be operate and the CPU can process its jobs at a low clock speed, the CPU operating clock can be switched to the OSC1 clock, thereby reducing current consumption. Use CLKCHG (D2) / Power control register (0x40180) to switch over the operating clock. Procedure for switching over from the OSC3 clock to the OSC1 clock 1. Turn on the low-speed (OSC1) oscillation circuit (by writing "1" to SOSC1). 2. Wait until the OSC1 oscillation stabilizes (three seconds or more). 3. Change the CPU operating clock (by writing "0" to CLKCHG). 4. Turn off the high-speed (OSC3) oscillation circuit (by writing "0" to SOSC3). Steps 1 and 2 are required only when the low-speed (OSC1) oscillation circuit is inactive. Notes: * Use separate instructions to switch from OSC3 to OSC1 and turn the OSC3 oscillation off. If these operations are processed simultaneously using one instruction, the CPU may operate erratically. * Make sure the operation of the peripheral circuits, such as the programmable timer, A/D converter, and serial interface, which are clocked by the OSC3 oscillation circuit, is terminated before the OSC3 oscillation is turned off in order to prevent them from operating erratically. Procedure for switching over from the OSC1 clock to the OSC3 clock 1. Turn on the high-speed (OSC3) oscillation circuit (by writing "1" to SOSC3). 2. Wait until the OSC3 oscillation stabilizes (10 ms or more for a 3.3-V crystal resonator). 3. Switch over the CPU operating clock (by writing "1" to CLKCHG). Note: The operating clock switchover by CLKCHG is effective only when both oscillation circuits are on and the power-control register protection flag is set to "0b10010110". Power-Control Register Protection Flag The power-control register (SOSC1, SOSC3, CLKCHG, CLKDT[1:0]) at address 0x40180, which is used to control the oscillation circuits and the CPU operating clock, is normally disabled against writing in order to prevent it from malfunctioning due to unnecessary writing. To enable this register for writing, the power-control register protection flag CLGP[7:0] (D[7:0]) / Power-control protection register (0x4019E) must be set to "0b10010110". Note that this setting allows for the power-control register (0x40180) to be written to only once, so all bits of CLGP[7:0] are cleared to "0" when this address is written to. Therefore, CLGP[7:0] must be set to "0b10010110" each time the power-control register (0x40180) is written to. The flag CLGP[7:0] does not affect the readout from the power-control register (0x40180). S1C33T01 FUNCTION PART EPSON B-III-6-3 III PERIPHERAL BLOCK: LOW-SPEED (OSC1) OSCILLATION CIRCUIT Operation in Standby Mode In HALT mode, which is entered by executing the halt instruction, the low-speed (OSC1) oscillation circuits retains its status before HALT mode is entered. Under normal conditions, therefore, there is no need to control the oscillation circuit before entering or after exiting HALT mode. The low-speed (OSC1) oscillation circuit does not stop operating in SLEEP mode set by executing the slp (sleep) instruction. Therefore, if the CPU was operating using the OSC1 clock before SLEEP mode was entered, the CPU keeps operating using the OSC1 clock in SLEEP mode. OSC1 Clock Output to External Devices The low-speed (OSC1) oscillation clock can be output from the FOSC1 (P14) pin to external devices. Table 6.2 OSC1 Clock Output Pin Pin name I/O Function Function select bit P14/FOSC1/ I/O I/O port / Low-speed (OSC1) oscillation DCLK clock output / DCLK signal output CFP14(D4) / P1 function select register (0x402D4) CFEX0 (D0) / Port function extension register (0x402DF) Setting the clock output pin The pin used to output the OSC1 clock to external devices is shared with the P14 I/O port and the debug clock signal DCLK. At cold start, it is set for the DCLK signal output (CFP14 = "0" and CFEX0 = "1"). When using the clock output function, write "1" to CFP14, "0" to CFEX0, and "1" to IOC14 (D4/0x402D6) (refer to "I/O Ports"). At hot start, the pin retains its pre-reset status. Output control To start clock output, write "1" to PF1ON (D0) / Clock option register (0x40190). The clock output is stopped by writing "0". At initial reset, PF1ON is set to "0" (output disabled). PF1ON register 0 1 0 VDD VSS FOSC1(P14) pin output Figure 6.3 OSC1 Clock Output B-III-6-4 EPSON S1C33T01 FUNCTION PART III PERIPHERAL BLOCK: LOW-SPEED (OSC1) OSCILLATION CIRCUIT I/O Memory of Clock Generator Table 6.3 lists the control bits of clock generator. Table 6.3 Control Bits of Clock Generator Register name Address Bit Name Power control register D7 D6 CLKDT1 CLKDT0 System clock division ratio selection D5 D4-3 D2 D1 D0 PSCON - CLKCHG SOSC3 SOSC1 Prescaler On/Off control reserved 1 OSC3 CPU operating clock switch High-speed (OSC3) oscillation On/Off 1 On Low-speed (OSC1) oscillation On/Off 1 On D7-4 D3 D2 D1 D0 - HLT2OP 8T1ON - PF1ON - HALT clock option OSC3-stabilize waiting function reserved OSC1 external output control Clock option register 0040180 (B) 0040190 (B) Function Setting CLKDT[1:0] 1 1 1 0 0 1 0 0 1 On Init. R/W Remarks Division ratio 1/8 1/4 1/2 1/1 0 Off - 0 OSC1 0 Off 0 Off 0 0 R/W 1 0 1 1 1 R/W - Writing 1 not allowed. R/W R/W R/W - - 0 1 0 0 - 0 when being read. R/W R/W - Do not write 1. R/W 1 On 1 Off 0 Off 0 On - 1 On 0 Off Power control 004019E protect register (B) D7 D6 D5 D4 D3 D2 D1 D0 CLGP7 CLGP6 CLGP5 CLGP4 CLGP3 CLGP2 CLGP1 CLGP0 Power control register protect flag Writing 10010110 (0x96) removes the write protection of the power control register (0x40180) and the clock option register(0x40190). Writing another value set the write protection. 0 0 0 0 0 0 0 0 R/W P1 function select register D7 D6 - CFP16 reserved P16 function selection - 0 - 0 when being read. R/W D5 CFP15 P15 function selection 0 R/W D4 CFP14 P14 function selection - 1 EXCL5 0 P16 #DMAEND1 1 EXCL4 0 P15 #DMAEND0 1 FOSC1 0 P14 0 D3 CFP13 P13 function selection 0 P13 0 D2 CFP12 P12 function selection 0 P12 0 R/W D1 CFP11 P11 function selection 0 P11 0 R/W D0 CFP10 P10 function selection 1 EXCL3 T8UF3 1 EXCL2 T8UF2 1 EXCL1 T8UF1 1 EXCL0 T8UF0 R/W Extended functions (0x402DF) R/W 0 P10 0 R/W D7 D6 D5 D4 D3 D2 D1 CFEX7 CFEX6 CFEX5 CFEX4 CFEX3 CFEX2 CFEX1 P07 port extended function P06 port extended function P05 port extended function P04 port extended function P31 port extended function P21 port extended function P10, P11, P13 port extended function 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 R/W R/W R/W R/W R/W R/W R/W D0 CFEX0 P12, P14 port extended function 1 R/W Port function extension register 00402D4 (B) 00402DF (B) S1C33T01 FUNCTION PART EPSON #DMAEND3 #DMAACK3 #DMAEND2 #DMAACK2 #GARD #GAAS DST0 DST1 DPC0 1 DST2 DCLK P07, etc. P06, etc. P05, etc. P04, etc. P31, etc. P21, etc. P10, etc. P11, etc. P13, etc. 0 P12, etc. P14, etc. B-III-6-5 III PERIPHERAL BLOCK: LOW-SPEED (OSC1) OSCILLATION CIRCUIT SOSC1: Low-speed (OSC1) oscillation control (D0) / Power control register (0x40180) Turns the low-speed (OSC1) oscillation on or off. Write "1": OSC1 oscillation turned on Write "0": OSC1 oscillation turned off Read: Valid The oscillation of the low-speed (OSC1) oscillation circuit is stopped by writing "0" to SOSC1, and started again by writing "1". Since a duration of maximum three seconds is required for oscillation to stabilize after the oscillation has been restarted, at least this length of time must pass before the OSC1 clock can be used. Writing to SOSC1 is allowed only when CLGP[7:0] is set to "0b10010110". Note also that if the CPU is operating using the OSC1 clock, writing "0" to SOSC1 is ignored and the oscillation is not turned off. At initial reset, SOSC1 is set to "1" (OSC1 oscillation turned on). CLKCHG: CPU operating clock switch (D2) / Power control register (0x40180) Selects the CPU operating clock. Write "1": OSC3 clock Write "0": OSC1 clock Read: Valid The OSC3 clock is selected as the CPU operating clock by writing "1" to CLKCHG, and OSC1 is selected by writing "0". The operating clock can be switched over in this way only when both the high-speed (OSC3) and lowspeed (OSC1) oscillation circuits are on. In addition, writing to CLKCHG is effective only when CLGP[7:0] is set to "0b10010110". Immediately after the oscillation circuit has started oscillating, wait for the oscillation to stabilize before switching over the CPU operating clock. At initial reset, CLKCHG is set to "1" (OSC3 clock). For controlling the high-speed (OSC3) oscillation circuit, refer to "CLG (Clock Generator)" in the Core Block. HLT2OP: HALT clock option (D3) / Clock option register (0x40190) Select a HALT condition (basic mode or HALT2 mode). Write "1": HALT2 mode Write "0": Basic mode Read: Valid When "1" is written to HLT2OP, the CPU will enter HALT2 mode when the HALT instruction is executed. When "0" is written, the CPU will enter basic mode. Writing to HLT2OP is allowed only when CLGP[7:0] is set to "0b10010110". At initial reset, HLT2OP is set to "0" (basic mode). B-III-6-6 EPSON S1C33T01 FUNCTION PART III PERIPHERAL BLOCK: LOW-SPEED (OSC1) OSCILLATION CIRCUIT The following shows the operating status in HALT mode (basic mode and HALT2 mode) and SLEEP mode. Table 6.4 Operating Status in Standby Mode Standby mode HALT mode Basic mode Operating status * * * * * * HALT2 mode * * * * * * SLEEP mode * * * * * The CPU clock is stopped. (CPU stop status) BCU clock is supplied. (BCU run status) DMA clock is not stopped. (DMA run status) Clocks for the peripheral circuits maintain the status before entering HALT mode. (run or stop) The high-speed oscillation circuit maintains the status before entering HALT mode. The low-speed oscillation circuit maintains the status before entering HALT mode. The CPU clock is stopped. (CPU stop status) BCU clock is stopped. (BCU stop status) DMA clock is stopped. (DMA stop status) Clocks for the peripheral circuits maintain the status before entering HALT mode. (run or stop) The high-speed oscillation circuit maintains the status before entering HALT mode. The low-speed oscillation circuit maintains the status before entering HALT mode. Reactivating factor * * Reset, NMI Enabled (not masked) interrupt factors In HALT2 mode, the A/D, SIO, and timers (8-bit and 16-bit) continue operating without stopping, but since the synchronization clock is stopped, these circuits cannot be restarted. A restart is possible only in the case of: * Interrupt from input pin * Interrupt from clock timer * NMI * Reset The CPU clock is stopped. (CPU stop status) * Reset, NMI BCU clock is stopped. (BCU stop status) * Enabled (not masked) input port Clocks for the peripheral circuits are stopped. interrupt factors The high-speed oscillation circuit is stopped. * Clock timer interrupt when the The low-speed oscillation circuit maintains the low-speed oscillation circuit is status before entering SLEEP mode. being operated PF1ON: OSC1 external output control (D0) / Clock option register (0x40190) Turns the low-speed (OSC1) clock output to external devices on or off. Write "1": On Write "0": Off Read: Valid The low-speed (OSC1) clock is output from the FOSC1 pin to an external device by writing "1" to PF1ON. However, for this setting to be effective, the P14 pin must be set for the FOSC1 pin by CFP14 and CFEX0. The clock output is disabled by writing "0". Writing to PF1ON is allowed only when CLGP[7:0] is set to "0b10010110". At initial reset, PF1ON is set to "0" (Off). CLGP7-CLGP0: Power-control register protection flag ([D[7:0]) / Power control protection register (0x4019E) These bits remove the protection against writing to addresses 0x40180 and 0x40190. Write "0b10010110": Write protection removed Write other than the above: No operation (write-protected) Read: Valid Before writing to address 0x40180 or 0x40190, set CLGP[7:0] to "0b10010110" to remove the protection against writing to that address. This clearing of write protection is effective for only one writing, so the bits are cleared to "0b00000000" by one writing. Therefore, CLGP[7:0] must be set each time the protected address is written to. At initial reset, CLGP is set to "0b00000000" (write-protected). S1C33T01 FUNCTION PART EPSON B-III-6-7 III PERIPHERAL BLOCK: LOW-SPEED (OSC1) OSCILLATION CIRCUIT CFP14: P14 function selection (D4) / P1 function select register (0x402D4) Selects the pin function of the P14 I/O port. Write "1": OSC1 clock output pin Write "0": I/O port pin Read: Invalid The P14 pin is set for OSC1 clock output (FOSC1) by writing "1" to CFP14. When used as the FOSC1 output pin, also set IOC14 (D4) in the P1 I/O control register (0x402D6) to "1". At cold start, CFP14 is set to "0" (I/O port pin). At hot start, CFP14 retains its status from before the initial reset. CFEX0: P12, P14 extended function (D0) / Port function extension register (0x402DF) Sets whether the function of the P14 pin is to be extended. Write "1": DCLK output pin Write "0": P14/FOSC1 output pin Read: Invalid When CFEX0 is set to "1", the P14 pin functions as a debug clock DCLK output pin. When CFEX0 = "0", the CFP14 register becomes effective, so the settings of this register determine whether the P14 pin functions as an P14 I/O port or a FOSC1 output pin. At cold start, CFEX0 is set to "1" (DCLK output pin). At hot start, CFEX0 retains its state from prior to the initial reset. Programming Notes (1) Immediately after the low-speed (OSC1) oscillation circuit is turned on, a certain period of time is required for oscillation to stabilize (3 sec max.). To prevent the device from operating erratically, do not use the clock until its oscillation has stabilized. (2) The oscillation circuit used for the CPU operating clock cannot be turned off. (3) The CPU operating clock can only be switched over when both the OSC3 and OSC1 oscillation circuits are on. Furthermore, when turning off an oscillation circuit that has become unnecessary as a result of the CPU operating clock switchover, be sure to use separate instructions for switchover and oscillation turnoff. If these two operations are processed simultaneously using one instruction, the CPU may operate erratically. (4) If the low-speed (OSC1) oscillation circuit is turned off, all peripheral circuits operated using the OSC1 clock will be inactive. (5) If the OSC3 clock is unnecessary, use the OSC1 clock to operate the CPU and turn the high-speed (OSC3) oscillation circuit off. This helps reduce current consumption. (6) If the P14/FOSC1/DCLK pin is used as the FOSC1 pin, in addition to setting CFP14 (D4) in 0x402D4 and CFEX0 (D0) in 0x402DF, also set IOC14 (D4) in 0x402D6 to "1" (output). B-III-6-8 EPSON S1C33T01 FUNCTION PART III PERIPHERAL BLOCK: CLOCK TIMER III-7 CLOCK TIMER Configuration of Clock Timer The clock timer consists of an 8-bit binary counter that is clocked by a 256-Hz signal derived from the low-speed (OSC1) oscillation clock fOSC1, and second, minute, hour, and day counters, allowing all data (128 Hz to 1 Hz, seconds, minutes, hours, and day) to be read out in a software. It can also generate an interrupt using a 32-Hz, 8-Hz, 2-Hz, or 1-Hz (1-second) signal or when a one-minute, one-hour, or one-day count is up, in addition to generating an alarm at a specified time (minute or hour) or day. The low-speed (OSC1) oscillation circuit and the clock timer can be kept operating even when the CPU and other internal peripheral circuits are placed in standby mode (HALT or SLEEP). Normally, this clock timer should be used for a clock and various other clocking functions. Figure 7.1 shows the structure of the clock timer. Note: Since the clock timer is driven by a clock originating from the low-speed (OSC1) oscillation circuit, this timer cannot be used unless the low-speed (OSC1) oscillation circuit (32.768 kHz, Typ.) is used. Internal data bus OSC1 fOSC1 oscillation circuit 32.768 kHz Divider 256 Hz 128 64 32 16 8 Clock timer Run/Stop Clock timer reset Interrupt request (to interrupt controller) 4 2 1 Hz Hz Hz Hz Hz Hz Hz Hz 6-bit seconds counter 6-bit minutes counter 5-bit hours counter 16-bit day counter Interrupt generation control circuit Interrupt/alarm select circuit Comparator Comparator Comparator Alarm generation control circuit 6-bit minute 5-bit hour 5-bit day comparison comparison comparison data data data Figure 7.1 Structure of Clock Timer S1C33T01 FUNCTION PART EPSON B-III-7-1 III PERIPHERAL BLOCK: CLOCK TIMER Control and Operation of the Clock Timer Initial setting At initial reset, the clock timer's counter data, setup contents of alarms, and control bits including RUN/STOP, are not initialized. (This does not include the CPU core power on/off flag TCHVOF or OSC1 auto-off flag TCAOFF.) Therefore, when using the clock timer, initialize it as follows: 1. Before you start setting up, stop the clock timer and disable the clock timer interrupt. 2. Reset the counters. 3. Preset the minute, hour, and day data (only when necessary). 4. Select an interrupt factor. 5. Select the alarm function. 6. Enable the interrupt. 7. Start the clock timer. The following shows how to set and control each of the above. For details on interrupt control, refer to "Interrupt Function". Resetting the counters Each counter of the clock timer can only be reset to "0" in the software. Note that they are not reset by an initial reset or the auto-off function. To reset the clock timer, write "1" to TCRST (D1) / Clock timer Run/Stop register (0x40151). Note, however, that this reset input is accepted only when the clock timer is inactive, and is ignored when the timer is operating. Notes: * The clock timer reset bit TCRST and the clock timer RUN/STOP control bit TCRUN are located at the same address (0x40151). However, the clock timer cannot be reset at the same time it is set to RUN by writing "1" to both. In this case, the reset input is ignored and the timer starts counting up from the counter values then in effect. Always make sure TCRUN = "0" before resetting the timer. * When the counters are cleared as the clock timer is reset, an interrupt may be generated depending on the timer settings. Therefore, first disable the clock timer interrupt before resetting the clock timer, and after resetting the clock timer, reset the interrupt factor flag, interrupt factor generation flag, and alarm factor generation flag. Presetting minute, hour, and day data The clock timer's minute, hour, and day counters have a data preset function, enabling the desired time and day to be set. Table 7.1 Presetting the Counters Counter Minute counter Hour counter Day counter Data register Preset value TCHD[5:0] (D[5:0]) / Clock timer minute register (0x40155) TCDD[4:0] (D[4:0]) / Clock timer hour register (0x40156) TCND[15:0](D[7:0]) / Clock timer day (high-order) register (0x40158) (D[7:0]) / Clock timer day (low-order) register (0x40157) 0 to 59 0 to 23 0 to 65535 When using the clock timer as an RTC, be sure to set these counter values before starting operating of the clock timer. For the day counter, set a number of days starting from the reference day (e.g., January 1, 1990). B-III-7-2 EPSON S1C33T01 FUNCTION PART III PERIPHERAL BLOCK: CLOCK TIMER RUN/STOP the clock timer The clock timer starts counting when "1" is written to TCRUN (D0) / Clock timer Run/Stop register (0x40151) and stops counting when "0" is written. When the clock timer is made to RUN, the 256-Hz clock input is enabled at a falling edge of the low-speed (OSC1) oscillation clock pulse, and the 8-bit binary counter counts up at each falling edge of this 256-Hz clock. Figure 7.2 shows the operation of the 8-bit binary counter. fOSC1/128 256 Hz TCD0 128 Hz TCD1 64 Hz TCD2 32 Hz TCD3 16 Hz TCD4 8 Hz TCD5 4 Hz TCD6 2 Hz TCD7 1 Hz 32 Hz interrupt 8 Hz interrupt 2 Hz interrupt 1 Hz interrupt Figure 7.2 Timing Chart of 8-Bit Binary Counter The 8-bit binary counter outputs a 1-Hz signal in its final stage. The second counter counts the 1-Hz signal thus output. When it counts 60 seconds, the counter outputs a 60second signal and is reset to 0 seconds. Similarly, the minute and hour counters count 60 minutes and 24 hours, respectively, using the signals output by each preceding counter. The day counter is a 16-bit binary counter and can count up to 65,536 days using the 24-hour signal output by the hour counter. One of the following signals output by each counter can be selected to generate an interrupt: 32 Hz, 8 Hz, 2 Hz, 1 Hz (1 second), 1 minute, 1 hour, 1 day If "0" is written to TCRUN, the clock timer is stopped at a rising edge of the low-speed (OSC1) oscillation clock to prevent device malfunction caused by the concurrent termination of counting (falling edge of the 256-Hz clock). Even when the clock timer is stopped, each counter retains the data set at that point. When the timer is made to RUN again while in that state, each counter restarts counting from the retained value. Reading out counter data The data in each counter can be read out in a software as binary data. Table 7.2 Reading Out Counter Data Counter 1 Hz to 128 Hz Second counter Minute counter Hour counter Day counter Counter data TCD[7:0] (D[7:0]) / Clock timer divider register (0x40153) TCMD[5:0] (D[5:0]) / Clock timer second counter (0x40154) TCHD[5:0] (D[5:0]) / Clock timer minute counter (0x40155) TCDD[4:0] (D[4:0]) / Clock timer hour counter (0x40156) TCND[15:0](D[7:0]) / Clock timer day (high-order) counter (0x40158) (D[7:0]) / Clock timer day (low-order) counter (0x40157) Data is read directly from the counter during operation. For this reason, a counter can overflow while reading data from each counter, so the data thus read may not be exact. For example, if the 8-bit binary counter is read at 0xFF and then overflows before reading the next seconds counter, the value of the seconds counter is its count plus the one second that has elapsed since the 8-bit binary counter was read. To prevent this problem, try reading out each counter several times and make sure data has not been modified. S1C33T01 FUNCTION PART EPSON B-III-7-3 III PERIPHERAL BLOCK: CLOCK TIMER Setting alarm function The clock timer has an alarm function, enabling an interrupt to be generated at a specified time and day. This specification can be made in minutes, hours, and days for each alarm or a combination of multiple alarms. Use TCASE[2:0] (D[4:2) / Clock timer interrupt control register (0x40152) for this specification. Table 7.3 Alarm Factor Selection TCASE2 TCASE1 TCASE0 X X 1 0 X 1 X 0 1 X X 0 Alarm factor Minutes alarm Hours alarm Day alarm None For example, if TCASE is set to "001", only a minutes alarm is enabled and an alarm is generated at a specified minute every hour. If TCASE is set to "111", an alarm is generated on each specified day at each specified hour and minute. If alarms are not to be used, set TCASE to "000". An interrupt can be generated every minute, every hour, and every day through the use of the counter's interrupt function instead of the alarm function. To specify a day, hours, and minutes, use the registers shown below: To specify minutes: TCCH[5:0] (D[5:0]) / Minute-comparison data register (90x40159) 0 to 59 minutes* To specify hours: TCCD[4:0] (D[4:0]) / Hour-comparison data register (0x4015A) 0 to 23 hours* To specify day: TCCN4[4:0] (D[4:0]) / Day-comparison data register 0x4015B) 0 to 31 days after The minute-comparison data register (6 bits) and hour-comparison data register (5 bits) can be set for up to 63 minutes and 31 hours, respectively. Note that even when the data set in these registers exceeds 59 minutes or 23 hours, the data is not considered invalid. The values set in these registers are compared with those of each counter, and when they match, the alarm factor generation flag TCAF (D0) / Clock timer interrupt control register (0x40152) is set to "1". If clock timer interrupts have been enabled using the interrupt controller, an interrupt is generated when the flag is set. The day-comparison data register is a 5-bit register, and its value is compared with the five low-order bits of the day counter. Therefore, an alarm can be generated for up to 31 days after the register is set. Interrupt Function Clock timer interrupt factors The clock timer can generate an interrupt using a 32-Hz, 8-Hz, 2-Hz, 1-Hz (1-second), 1-minute, 1-hour, or 1day signal. The interrupt factor to be used from among these signals can be selected using the interrupt factor selection bit TCISE[2:0] (D[7:5]) / Clock timer interrupt control register (0x40152). Table 7.4 Selecting Interrupt Factor TCISE2 TCISE1 TCISE0 1 1 1 1 0 0 0 0 1 1 0 0 1 1 0 0 1 0 1 0 1 0 1 0 Interrupt factor None 1 day 1 hour 1 minute 1 Hz 2 Hz 8 Hz 32 Hz An interrupt factor is generated at intervals of a selected signal (each falling edge of the signal). If interrupts based on these signals are not to be used, set TCISE to "111". When a selected interrupt factor is generated, the interrupt factor generation flag TCIF (D1) / Clock timer interrupt control register (0x40152) is set to "1". At the same time, the clock timer interrupt factor flag FCTM (D1) / Port input 4-7, clock timer, A/D interrupt factor flag register (0x40287) also is set to "1". At this time, if the interrupt conditions set by the interrupt control registers are met, an interrupt to the CPU is generated. An interrupt can be generated on a specified alarm day at a specified time as described in the preceding section. B-III-7-4 EPSON S1C33T01 FUNCTION PART III PERIPHERAL BLOCK: CLOCK TIMER Interrupts generated by a signal and those generated by an alarm can both be used. However, since the clock timer has only one interrupt factor flag, it is the same interrupt that is generated by the timer. Therefore, if both types of interrupts are used, when an interrupt occurs, read the interrupt factor generation flag TCIF and alarm factor generation flag TCAF to determine which factor has generated the interrupt. Once the factor generation flag is set to "1", it remains set until it is reset by writing "1" in the software. After confirming that the flag is set, write "1" to reset it. The interrupt factor generation flag TCIF and alarm factor generation flag TCAF should be reset after at least 4 ms have passed from generation of an interrupt or an alarm. Note: To prevent generation of an unwanted interrupt, disable the clock timer interrupt before selecting the interrupt and alarm factors. Then, before reenabling the interrupt, reset each factor generation flag and the interrupt factor flag. Control registers of the interrupt controller The following lists the clock timer interrupt control registers: Interrupt factor flag: FCTM (D1) / Port input 4-7, clock timer, A/D interrupt factor flag register (0x40287) Interrupt enable: ECTM (D1) / Port input 4-7, clock timer, A/D interrupt enable register (0x40277) Interrupt level: PCTM[2:0] (D[2:0]) / Clock timer interrupt priority register (0x4026B) When an interrupt factor occurs, the clock timer sets the interrupt actor flag to "1" as described above. At this time, if the interrupt enable register bit is set to "1", an interrupt request is generated. Interrupts can be disabled by leaving the interrupt enable register bit reset to "0". The interrupt factor flag is always set to "1" when an interrupt factor is generated, regardless of the setting of the interrupt enable register (even when it is set to "0"). The interrupt priority register sets the priority levels (0 to 7) of interrupts. An interrupt request to the CPU is accepted on the condition that no other interrupt request has been generated that is of a higher priority. It is only when the PSR's IE bit = "1" (interrupts enabled) and the set value of the IL is smaller than the clock timer interrupt level set by the interrupt priority register that a clock timer interrupt request is actually accepted by the CPU. For details on these interrupt control registers, as well as the device operation when an interrupt has occurred, refer to "ITC (Interrupt Controller)". Note that the clock timer interrupt factor does not have a function to invoke an intelligent DMA. Trap vectors The trap vector addresses for the clock-timer interrupt by default are set as shown below: 0x0C00104 The trap table base address can be changed using the TTBR registers (0x48134 to 0x48137). S1C33T01 FUNCTION PART EPSON B-III-7-5 III PERIPHERAL BLOCK: CLOCK TIMER Examples of Use of Clock Timer The following shows examples of use of the clock timer and how to control the timer in each case. To use the clock timer as a timer/counter Example in which while the CPU is inactive, the clock timer is kept operating in order to start again the CPU after a specified length of time has elapsed (e.g., three days): 1. Make sure the low-speed (OSC1) oscillation circuit is oscillating stably (SOSC1 = "1"). Wait for approximately three seconds after the oscillation starts for its oscillation to stabilize. 2. Disable the clock timer interrupt using the interrupt controller (ECTM = "0"). 3. Stop the clock timer and set "3 days" in the day-comparison register (TCRUN = "0", TCCN = "3"). 4. Choose a "day-specified alarm" using the alarm-factor select bit and set "none" in the interrupt-factor select bit (TCASE = "100", TCISE = "111"). 5. Reset the interrupt factor and alarm factor generation flags (FCTM = "0", TCAF = "0"). 6. Reenable the clock timer interrupt using the interrupt controller (ECTM = "1"). 7. Switch the CPU operating clock to the low-speed (OSC1) clock (CLKCHG = "0"). 8. Turn off the high-speed (OSC3) oscillation circuit (SOSC3 = "0"). 9. Reset the clock timer (TCRST = "0"). 10.Start the clock timer (TCRUN = "1"). 11.Execute the halt instruction to stop the CPU. : Wait until an interrupt is generated by a day-specified alarm from the clock timer. When an interrupt occurs, the CPU starts up using the OSC1 clock. : 12.If necessary, turn on the high-speed (OSC3) oscillation circuit and change the CPU operating clock back to the OSC3 clock. In the above example, if the device is reset before a three-day period has elapsed, the device operates as follows: * The CPU starts up using the OSC3 clock. * The clock timer counters are not reset. They remain in the RUN state. The time during which the CPU has been idle can be checked by reading out the clock timer counters. For using the clock timer as RTC Example in which the clock timer is kept operating and an alarm is generated at 10:00 A.M. every day: 1. Disable the clock timer interrupt using the interrupt controller (ECTM = "0"). 2. Stop the clock timer (TCRUN = "0"). 3. Reset the clock timer (TCRST = "1"). 4. Set the current day and time in the minute (TCHD), hour (TCDD), and day (TCND) counters. For the day counter, set a number of days starting from the reference day (e.g., January 1, 1990). When the count is read, it is converted into the current date by the software. 5. Set "10:00" in the hour-compare register (TCCD = "0x0A"). 6. Select an a "hour-specified alarm" using the alarm factor select bit, and set "none" in the interrupt factor select bit (TCASE = "010", TCISE = "111"). 7. Reset the interrupt factor and alarm-factor generation flags (FCTM = "1", TCAF = "0"). 8. Reenable the clock timer interrupt using the interrupt controller (ECTM = "1"). 9. Start the clock timer (TCRUN = "1"). : The clock timer is made to generate an interrupt at 10:00 every day by an hour-specified alarm. : In the above example, if any interrupt factor other than an alarm is selected, an interrupt is also generated by that interrupt factor. To determine which factor caused the interrupt generated, read the interrupt factor generation flag TCIF and alarm factor generation flag TCAF. If TCAF is set to 1, the interrupt has been caused by an alarm. If you select an interrupt factor (other than a 1-day factor) along with the hour-specified alarm, the selected interrupt factor occurs at the same time as the alarm factor. B-III-7-6 EPSON S1C33T01 FUNCTION PART III PERIPHERAL BLOCK: CLOCK TIMER I/O Memory of Clock Timer Table 7.5 shows the control bits of the clock timer. Table 7.5 Control Bits of Clock Timer Register name Address Clock timer Run/Stop register 0040151 (B) Clock timer 0040152 interrupt (B) control register Clock timer 0040153 divider register (B) Clock timer second register Bit Name D7-2 - D1 TCRST D0 TCRUN Function reserved Clock timer reset Clock timer Run/Stop control Setting Init. R/W - 1 Reset 1 Run - 0 when being read. W 0 when being read. R/W X X X R/W X X X R/W X X R/W Reset by writing 1. R/W Reset by writing 1. Low Low Low Low Low Low Low Low X X X X X X X X R R R R R R R R - R 0 Invalid 0 Stop D7 D6 D5 TCISE2 TCISE1 TCISE0 Clock timer interrupt factor selection D4 D3 D2 TCASE2 TCASE1 TCASE0 D1 D0 TCIF TCAF TCISE[2:0] Interrupt factor 1 1 1 None 1 1 0 Day 1 0 1 Hour 1 0 0 Minute 0 1 1 1 Hz 0 1 0 2 Hz 0 0 1 8 Hz 0 0 0 32 Hz Alarm factor Clock timer alarm factor selection TCASE[2:0] 1 X X Day X 1 X Hour X X 1 Minute 0 0 0 None 1 Generated 0 Not generated Interrupt factor generation flag 1 Generated 0 Not generated Alarm factor generation flag D7 D6 D5 D4 D3 D2 D1 D0 TCD7 TCD6 TCD5 TCD4 TCD3 TCD2 TCD1 TCD0 Clock timer data 1 Hz Clock timer data 2 Hz Clock timer data 4 Hz Clock timer data 8 Hz Clock timer data 16 Hz Clock timer data 32 Hz Clock timer data 64 Hz Clock timer data 128 Hz 1 1 1 1 1 1 1 1 High High High High High High High High 0 0 0 0 0 0 0 0 Remarks - X X 0040154 (B) D7-6 D5 D4 D3 D2 D1 D0 - TCMD5 TCMD4 TCMD3 TCMD2 TCMD1 TCMD0 reserved Clock timer second counter data TCMD5 = MSB TCMD0 = LSB - 0 to 59 seconds - X X X X X X Clock timer 0040155 minute register (B) D7-6 D5 D4 D3 D2 D1 D0 - TCHD5 TCHD4 TCHD3 TCHD2 TCHD1 TCHD0 reserved Clock timer minute counter data TCHD5 = MSB TCHD0 = LSB - 0 to 59 minutes - X X X X X X - 0 when being read. R/W Clock timer hour register D7-5 D4 D3 D2 D1 D0 - TCDD4 TCDD3 TCDD2 TCDD1 TCDD0 reserved Clock timer hour counter data TCDD4 = MSB TCDD0 = LSB - 0 to 23 hours - X X X X X - 0 when being read. R/W Clock timer 0040157 day (low-order) (B) register D7 D6 D5 D4 D3 D2 D1 D0 TCND7 TCND6 TCND5 TCND4 TCND3 TCND2 TCND1 TCND0 Clock timer day counter data (low-order 8 bits) TCND0 = LSB 0 to 65535 days (low-order 8 bits) X X X X X X X X R/W Clock timer day (highorder) register D7 D6 D5 D4 D3 D2 D1 D0 TCND15 TCND14 TCND13 TCND12 TCND11 TCND10 TCND9 TCND8 Clock timer day counter data (high-order 8 bits) TCND15 = MSB 0 to 65535 days (high-order 8 bits) X X X X X X X X R/W 0040156 (B) 0040158 (B) S1C33T01 FUNCTION PART EPSON 0 when being read. B-III-7-7 III PERIPHERAL BLOCK: CLOCK TIMER Table 7.5 Register name Address Clock timer minute comparison register 0040159 (B) Clock timer hour comparison register Clock timer day comparison register Bit D7-6 D5 D4 D3 D2 D1 D0 Name - TCCH5 TCCH4 TCCH3 TCCH2 TCCH1 TCCH0 Control Bits of Clock Timer (continue) Function reserved Clock timer minute comparison data TCCH5 = MSB TCCH0 = LSB Setting Init. R/W Remarks - 0 to 59 minutes (Note) Can be set within 0-63. - X X X X X X - 0 when being read. R/W 004015A D7-5 - (B) D4 TCCD4 D3 TCCD3 D2 TCCD2 D1 TCCD1 D0 TCCD0 reserved - 0 to 23 hours Clock timer hour comparison data (Note) Can be set within 0-31. TCCD4 = MSB TCCD0 = LSB - X X X X X - 0 when being read. R/W 004015B D7-5 - (B) D4 TCCN4 D3 TCCN3 D2 TCCN2 D1 TCCN1 D0 TCCN0 reserved Clock timer day comparison data TCCN4 = MSB TCCN0 = LSB - 0 to 31 days - X X X X X - 0 when being read. R/W Compared with TCND[4:0]. - 0 to 7 - X X X - Writing 1 not allowed. R/W - - 0 0 0 0 0 0 - 0 when being read. R/W R/W R/W R/W R/W R/W - X X X X X X - 0 when being read. R/W R/W R/W R/W R/W R/W Clock timer 004026B D7-3 - interrupt (B) D2 PCTM2 priority register D1 PCTM1 D0 PCTM0 reserved Clock timer interrupt level Port input 4-7, 0040277 clock timer, (B) A/D interrupt enable register D7-6 D5 D4 D3 D2 D1 D0 - EP7 EP6 EP5 EP4 ECTM EADE reserved Port input 7 Port input 6 Port input 5 Port input 4 Clock timer A/D converter Port input 4-7, 0040287 clock timer, A/D (B) interrupt factor flag register D7-6 D5 D4 D3 D2 D1 D0 - FP7 FP6 FP5 FP4 FCTM FADE reserved Port input 7 Port input 6 Port input 5 Port input 4 Clock timer A/D converter 1 Enabled 0 Disabled - 1 Factor is generated 0 No factor is generated TCRST: Clock timer reset (D1) / Clock timer Run/Stop register (0x40151) Resets the clock timer. Write "1": The clock timer is reset Write "0": Invalid Read: Always "0" The clock timer is reset by writing "1" to TCRST when the timer is inactive. All timer counters are cleared to "0". The clock timer cannot be reset when in the RUN state, nor can it be reset at the same time it is made to RUN through the execution of one write to address 0x40151. (The clock timer is started, but not reset.) In this case, first reset the clock timer and then use another instruction to RUN the clock timer. When the counters are cleared as the clock timer is reset, an interrupt may be generated, depending on the register settings. Therefore, before resetting the clock timer, first disable the clock timer interrupt, and after resetting the clock timer, reset the interrupt factor flag and the interrupt factor and alarm factor generation flags. Writing "0" to TCRST results in No Operation. Since this TCRST is a write-only bit, its value when read is always "0". The clock timer is not reset by an initial reset. B-III-7-8 EPSON S1C33T01 FUNCTION PART III PERIPHERAL BLOCK: CLOCK TIMER TCRUN: Clock timer RUN/STOP control (D0) / Clock timer Run/Stop register (0x40151) Controls the RUN/STOP of the clock timer. Write "1": RUN Write "0": STOP Read: Valid The clock timer is made to start counting by writing "1" to the TCRUN register and made to stop by writing "0". The timer data is retained even in the STOP state. The timer can also be made to start counting from the retained data by changing its state from STOP to RUN. The TCRUN register is not initialized at initial reset. TCD7-TCD0: 1-128 Hz counter data (D[7:0]) / Clock timer divider register (0x40153) TCMD5-TCMD0: Second counter data (D[5:0]) / Clock timer second register (0x40154) TCHD5-TCHD0: Minute counter data (D[5:0]) / Clock timer minute register (0x40155) TCDD4-TCDD0: Hour counter data (D[4:0]) / Clock timer hour register (0x40156) TCND15-TCND0: Day counter data (D[7:0]) / Clock timer day (high-order) register (0x40158) (D[7:0]) / Clock timer day (low-order) register (0x40157) Data can be read out from each counter. The minute, hour, and day counters allow data to be written to, in addition to being read out. The 1-128 Hz counter and seconds counter are read-only, so writing to these registers is ignored. The unused high-order bits at each address of the second, minute, and hour counter data are always "0" when read out. The counter data is not initialized at initial reset. TCCH5-TCCH0: Minute-comparison data (D[5:0]) / Clock timer minute-comparison register (0x40159) TCCD4-TCCD0: Hour-comparison data (D[4:0]) / Clock timer hour-comparison register (0x4015A) TCCN4-TCCN0: Day-comparison data (D[4:0]) / Clock timer day-comparison register (0x4015B) Set a day on which and a time at which an alarm is to be generated. The comparison data register corresponding to the alarm factor selected using the TCASE register is compared with the counter data, and when the data matches, an alarm interrupt request is generated. The day-comparison data is compared with the 5 low-order bits of the day counter. Each register can be read out. These registers are not initialized at initial reset. TCISE2-TCISE0: Interrupt factor selection (D[7:5]) / Clock timer interrupt control register (0x40152) Selects the factor for which the clock timer interrupt is to be generated. Table 7.6 Selecting Interrupt Factor TCISE2 TCISE1 TCISE0 1 1 1 1 0 0 0 0 1 1 0 0 1 1 0 0 1 0 1 0 1 0 1 0 Interrupt factor None 1 day 1 hour 1 minute 1 Hz 2 Hz 8 Hz 32 Hz When the clock timer interrupt is enabled, an interrupt is generated cyclically at each falling edge of the selected signal. If you the interrupt caused by these factors is not be used set TCISE to "111". TCISE is not initialized at initial reset. S1C33T01 FUNCTION PART EPSON B-III-7-9 III PERIPHERAL BLOCK: CLOCK TIMER TCASE2-TCASE0: Alarm factor select register (D[4:2]) / Clock timer interrupt control register (0x40152) Selects the factor for which an alarm is to be generated. Table 7.7 Selecting Alarm Factor TCASE2 TCASE1 TCASE0 X X 1 0 X 1 X 0 1 X X 0 Alarm factor Minute alarm Hour alarm Day alarm None Use the TCASE2, TCASE1, and TCASE0 bits to select a day, hour, and minute alarm, respectively. It is therefore possible to select multiple alarm factors. When one of these bits is set to "1", the contents of the comparison data register that corresponds to the selected alarm factor is compared with the counter. If the comparison data of all selected alarm factors matches the counter data, an alarm interrupt request is generated. The comparison data register from which the alarm factor is unselected by writing "0" is not compared with the counter data. TCASE is not initialized at initial reset. TCIF: Interrupt factor generation flag (D1) / Clock timer interrupt control register (0x40152) Indicates whether an interrupt factor has occurred. Read "1": Read "0": Write "1": Write "0": Interrupt factor has occurred No interrupt factor has occurred Flag is reset Invalid TCIF is set to "1" when an interrupt factor selected using TCISE occurs. Since there is only one source for the clock timer interrupt, use this flag to differentiate it from interrupts caused by an alarm. Once set to "1", TCIF remains set until it is reset by writing "1". TCIF is not initialized at initial reset. This bit does not affect generation of an interrupt even if it is set to "1" or "0". TCAF: Alarm factor generation flag (D0) / Clock timer interrupt control register (0x40152) Indicates whether an alarm factor has occurred. Read "1": Read "0": Write "1": Write "0": Alarm factor has occurred No alarm factor has occurred Flag is reset Invalid TCAF is set to "1" when all alarm factors selected using the TCASE register occur. Since there is only one source for the clock timer interrupt, use this flag to differentiate it from interrupts due to other interrupt factors. Once set to "1", TCAF remains set until it is reset by writing "1". TCAF is not initialized at initial reset. This bit does not affect generation of an alarm even if it is set to "1" or "0". PCTM2-PCTM0: Clock timer interrupt level (D[2:0]) / Clock timer interrupt priority register (0x4026B) Sets the priority level of the clock timer interrupt between 0 and 7. At initial reset, PCTM becomes indeterminate. ECTM: Clock timer interrupt enable (D1) / Port input 4-7, clock timer, A/D interrupt enable register (0x40277) Enables or disables generation of an interrupt to the CPU. Write "1": Interrupt enabled Write "0": Interrupt disabled Read: Valid This bit controls the clock timer interrupt. The interrupt is enabled by setting ECTM to "1" and is disabled by setting it to "0". At initial reset, ECTM is set to "0" (interrupt disabled). B-III-7-10 EPSON S1C33T01 FUNCTION PART III PERIPHERAL BLOCK: CLOCK TIMER FCTM: Clock timer interrupt factor flag (D1) / Port input 4-7, clock timer, A/D interrupt factor flag register (0x40287) Indicates whether the clock timer interrupt factor has occurred. When read Read "1": Interrupt factor has occurred Read "0": No interrupt factor has occurred When written using the reset-only method (default) Write "1": Interrupt factor flag is reset Write "0": Invalid When written using the read/write method Write "1": Interrupt flag is set Write "0": Interrupt flag is reset FCTM is set to "1" when the selected interrupt factor or alarm factor occurs. At this time, if the following conditions are met, an interrupt to the CPU is generated: 1. The corresponding interrupt enable register bit is set to "1". 2. No other interrupt request of a higher interrupt priority is generated. 3. The IE bit of the PSR is set to "1" (interrupt enabled). 4. The corresponding interrupt priority register is set to a value higher than the CPU interrupt level (IL). The interrupt factor flag is always set to "1" when an interrupt factor occurs, no matter how the interrupt enable and interrupt priority registers are set. For the next interrupt to be accepted after an interrupt has occurred, it is necessary that the interrupt factor flag be reset, and that the PSR be set again (by setting the IE bit to "1" after setting the IL to a value lower than the level indicated by the interrupt priority register, or by executing the reti instruction). The interrupt factor flag can be reset only by writing to it in the software. Note that if the PSR is set again to accept generated interrupts (or if the reti instruction is executed) without the interrupt factor flag being reset, the same interrupt occurs again. Note also that the value to be written to reset the flag is "1" when the reset-only method (RSTONLY = "1") is used, and "0" when the read/write method (RSTONLY = "0") is used. The FCTM flag becomes indeterminate at initial reset, so be sure to reset it in the software. S1C33T01 FUNCTION PART EPSON B-III-7-11 III PERIPHERAL BLOCK: CLOCK TIMER Programming Notes (1) The low-speed (OSC1) oscillation circuit, which is the clock source for the clock timer, requires a muxmum of three seconds for its oscillation to stabilize after it is started up. Therefore, immediately after power-on, wait until the oscillation stabilizes before starting the clock timer. (2) At initial reset, the clock timer counter data, the setup contents of alarms, and control bits, including RUN/STOP, are not initialized. Therefore, always initialize the clock timer in the software following poweron. (3) The clock timer reset bit TCRST and the clock timer RUN/STOP control bit TCRUN are located at the same address (0x40151). However, the clock timer cannot be reset at the same time it is set to RUN by writing "1" to both. In this case, the reset input is ignored and the timer starts counting up from the counter values then in effect. When resetting the timer, always make sure TCRUN = "0" (timer stopped). (4) When the counters are cleared as the clock timer is reset, an interrupt may be generated depending on the register settings. Therefore, before resetting the clock timer, first disable the clock timer interrupt and, after resetting the clock timer, reset the interrupt factor flag and the interrupt factor generation and alarm factor generation flags. (5) To prevent generation of an unwanted interrupt, disable the clock timer interrupt before selecting the interrupt and alarm factors. Then, before reenabling the interrupt, reset each factor generation flag and the interrupt factor flag. (6) The interrupt factor flag (FCTM) becomes indeterminate at initial reset. To prevent generation of an unwanted interrupt, be sure to reset the flag in a program. (7) To prevent regeneration of interrupts with the same factor after an interrupt has occurred, be sure to reset the interrupt factor flag (FCTM) before setting the PSR again or executing the reti instruction. B-III-7-12 EPSON S1C33T01 FUNCTION PART III PERIPHERAL BLOCK: SERIAL INTERFACE III-8 SERIAL INTERFACE Configuration of Serial Interfaces Features of Serial Interfaces The Peripheral Block contains four channels (Ch.0, Ch.3) of serial interfaces, the features of which are described below. The functions of these four serial interfaces are the same. * A clock-synchronized or asynchronous mode can be selected for the transfer method. Clock-synchronized mode Data length: 8 bits, fixed (No start, stop, and parity bits) Receive error: An overrun error can been detected. Asynchronous mode Data length: 7 or 8 bits, selectable Receive error: Overrun, framing, or parity errors can been detected. Start bit: 1 bit, fixed Stop bit: 1 or 2 bits, selectable Parity bit: Even, odd, or none; selectable Since the transmit and receive units are independent, full-duplex communication is possible. * Baud-rate setting: Any desired baud rate can be set by selecting the prescaler's division ratio, setting the 8-bit programmable timer, or using external clock input (asynchronous mode only). * The receive and transmit units are constructed with a double-buffer structure, allowing for successive receive and transmit operations. * Data transfers using IDMA or HSDMA are possible. * Three types of interrupts (transmit data empty, receive data full, and receive error) can be generated. Figure 8.1 shows the configuration of the serial interface (one channel). Internal data bus Control registers Transmit unit Receive unit SOUTx Serial output control circuit Data buffer and shift register Data buffer and shift register SINx Serial input control circuit Transmit data buffer empty interrupt request Interrupt control circuit Receive error interrupt request Ready signal control circuit Start bit detection circuit Clock control circuit Receive data buffer full interrupt request #SRDYx 8-bit programmable timer output #SCLKx Figure 8.1 Configuration of Serial Interface Note: Ch.0 and Ch.1 have the same configuration and the same function. The signal and control bit names are suffixed by a 0 or a 1 to indicate the channel number, enabling discrimination between channels 0 and 1. In this manual, however, channel numbers 0 and 1 are replaced with "x" unless discrimination is necessary, because explanations are common to both channels. S1C33T01 FUNCTION PART EPSON B-III-8-1 III PERIPHERAL BLOCK: SERIAL INTERFACE I/O Pins of Serial Interface Table 8.1 lists the I/O pins used by the serial interface. Table 8.1 Serial-Interface Pin Configuration Pin name I/O Function Function select bit P00/SIN0 I/O I/O port / Serial IF Ch.0 data input CFP00(D0)/P0 function select register(0x402D0) P01/SOUT0 I/O I/O port / Serial IF Ch.0 data output CFP01(D1)/P0 function select register(0x402D0) P02/#SCLK0 I/O I/O port / Serial IF Ch.0 clock input/output CFP02(D2)/P0 function select register(0x402D0) P03/#SRDY0 I/O I/O port / Serial IF Ch.0 ready input/output CFP03(D3)/P0 function select register(0x402D0) P04/SIN1/ #DMAACK2 I/O I/O port / Serial IF Ch.1 data input CFP04(D4)/P0 function select register(0x402D0) CFEX4(D4)/Port function extension register(0x402DF) P05/SOUT1/ #DMAEND2 I/O I/O port / Serial IF Ch.1 data output CFP05(D5)/P0 function select register(0x402D0) CFEX5(D5)/Port function extension register(0x402DF) P06/#SCLK1/ #DMAACK3 I/O I/O port / Serial IF Ch.1 clock input/output CFP06(D6)/P0 function select register(0x402D0) CFEX6(D6)/Port function extension register(0x402DF) P07/#SRDY1/ #DMAEND3 I/O I/O port / Serial IF Ch.1 ready input/output CFP07(D7)/P0 function select register(0x402D0) CFEX7(D7)/Port function extension register(0x402DF) P40/SIN2 I/O I/O port / Serial IF Ch.2 data input CFP40(D0)/P4 function select register(0x40300) P41/SOUT2 I/O I/O port / Serial IF Ch.2 data output CFP41(D1)/P4 function select register(0x40300) P42/#SCLK2 I/O I/O port / Serial IF Ch.2 clock input/output CFP42(D2)/P4 function select register(0x40300) P43/#SRDY2 I/O I/O port / Serial IF Ch.2 ready input/output CFP43(D3)/P4 function select register(0x40300) P44/SIN3 I/O I/O port / Serial IF Ch.3 data input CFP44(D4)/P4 function select register(0x40300) P45/SOUT2 I/O I/O port / Serial IF Ch.3 data output CFP45(D5)/P4 function select register(0x40300) P46/#SCLK3 I/O I/O port / Serial IF Ch.3 data clock input/output CFP46(D6)/P4 function select register(0x40300) P47/#SRDY3 I/O I/O port / Serial IF Ch.3 data ready input/output CFP47(D7)/P4 function select register(0x40300) SINx (serial-data input pin) This pin is used to input serial data to the device, regardless of the transfer mode. SOUTx (serial-data output pin) This pin is used to output serial data from the device, regardless of the transfer mode. #SCLKx (clock input/output pin) This pin is used to input or output a clock. In the clock-synchronized slave mode, it is used as a clock input pin; in the clock-synchronized master mode, it is used as a clock output pin. In the asynchronous mode, this pin is used as clock input when an external clock is used. This pin is not used when the internal clock is used, so it can be used as an I/O port. #SRDYx (ready-signal input/output pin) This pin is used to input or output the ready signal that is used in the clock-synchronized mode. In the clock-synchronized slave mode, it is used as a ready-signal output pin; in the clock-synchronized master mode, it is used as a ready-signal input pin. This pin is not used in the asynchronous mode, so it can be used as an I/O port. Method for setting the serial-interface input/output pins All of the pins used in the serial interface are shared with I/O ports. At cold start, they are all set for I/O port pins P0x (function select bit CFP0x = "0"). When using the serial interface, write "1" to CFP0x for the pin to be used in accordance with the channel and transfer mode used. Furthermore, the P04-P07 ports that are used for channel 1 may be used for channels 2 and 3 of HSDMA. When using the serial interface Ch.1, fix CFEX[7:4] at "0" (default). At hot start, the pins retain their status from prior to the reset. B-III-8-2 EPSON S1C33T01 FUNCTION PART III PERIPHERAL BLOCK: SERIAL INTERFACE Setting Transfer Mode The transfer mode of the serial interface can be set using SMDx[1:0] individually for each channel as shown in Table 8.2 below. Table 8.2 Transfer Mode SMDx1 SMDx0 Transfer mode 1 1 0 0 1 0 1 0 8-bit asynchronous mode 7-bit asynchronous mode Clock-synchronized slave mode Clock-synchronized master mode At initial reset, SMDx becomes indeterminate, so be sure to initialize it in the software. When using the IrDA interface, set the transfer mode for the asynchronous 7-bit or asynchronous 8-bit mode. The input/output pins are configured differently, depending on the transfer mode. The pin configuration in each mode is shown in Table 8.3. Table 8.3 Pin Configuration by Transfer Mode Transfer mode SINx (P00/P04/P40/P44) SOUTx (P01/P05/P41/P45) #SCLKx (P02/P06/P42/P46) #SRDYx (P03/P07/P43/P47) 8-bit asynchronous 7-bit asynchronous Clock-synchronized slave Clock-synchronized master Data input Data input Data input Data input Data output Data output Data output Data output Clock input/P port Clock input/P port Clock input Clock output P port P port Ready output Ready input All four pins are used in the clock-synchronized mode. In the asynchronous mode, since #SRDYx is unused, P03 (or P07, P43, P47) can be used as an I/O (P) port. In addition, when an external clock is not used, P02 (or P06, P42, P46) can also be used as an I/O port. The I/O control and data registers for the I/O ports used in the serial interface can be used as general-purpose read/write registers. Note: The serial interface IrDA registers (Ch. 0: 0x401E4, Ch. 1: 0x401E9, Ch. 2: 0x401F4, and Ch. 3: 0x401F9) are provided to set up the IrDA interface. Since these bits become indeterminate at initial reset, be sure to initialize them by writing "00" when using as the normal interface or "10" when using as the IrDA interface. S1C33T01 FUNCTION PART EPSON B-III-8-3 III PERIPHERAL BLOCK: SERIAL INTERFACE Clock-Synchronized Interface Outline of Clock-Synchronized Interface In the clock-synchronized transfer mode, 8 bits of data are synchronized to the common clock on both the transmit and receive sides when the data is transferred. Since the transmit and receive units both have a double-buffer structure, successive transmit and receive operations are possible. Since the clock line is shared between the transmit and receive units, the communication mode is half-duplex. Master and slave modes Either clock synchronous master mode or clock synchronous slave mode can be selected with the serial interface control registers (Ch. 0: 0x401E3, Ch. 1: 0x401E8, Ch. 2: 0x401F3, and Ch. 3: 0x401F8). Clock-synchronized master mode (SMDx[1:0] = "00") In this mode, clock-synchronized 8-bit serial transfers, in which the serial interface functions as the master, can be performed using the internal clock to synchronize the operation of the internal shift registers. The synchronizing clock is output from the #SCLKx pin, enabling an external (slave side) serial input/output device to be controlled. The #SRDYx pin is also used to input a signal that indicates whether the external serial input/output device is ready to transmit or receive (when ready in a low level). Clock-synchronized slave mode (SMDx[1:0] = "01") In this mode, clock-synchronized 8-bit serial transfers, in which the serial interface functions as a slave, can be performed using the synchronizing clock that is supplied by an external (master side) serial input/output device. The synchronizing clock is input from the #SCLKx pin for use as the synchronizing clock of the serial interface. In addition, a #SRDYx signal indicating whether the serial interface is ready to transmit or receive (when ready in a low level) is output from the #SRDYx pin. Figure 8.2 shows an example of how the input/output pins are connected in the clock-synchronized mode. S1C33 External serial device SINx S1C33 Data input External serial device SINx Data input SOUTx Data output SOUTx Data output #SCLKx Clock input #SCLKx Clock output #SRDYx Ready output #SRDYx Ready input (1) Master mode (2) Slave mode Figure 8.2 Example of Connection in Clock-Synchronized Mode Clock-synchronized transfer data format In clock-synchronized transfers, the data format is fixed as shown below. Data length: 8 bits Start bit: None Stop bit: None Parity bit: None #SCLKx Data LSB MSB D0 D1 D2 D3 D4 D5 D6 D7 Figure 8.3 Clock-Synchronized Transfer Data Format Serial data is transmitted and received starting with the LSB. B-III-8-4 EPSON S1C33T01 FUNCTION PART III PERIPHERAL BLOCK: SERIAL INTERFACE Setting Clock-Synchronized Interface When performing clock-synchronized transfers via the serial interface, the following settings must be made before data transfer is actually begun: 1. Setting input/output pins 2. Setting the interface mode 3. Setting the transfer mode 4. Setting the input clock 5. Setting interrupts and IDMA/HSDMA The following explains the content of each setting. For details on interrupt/DMA settings, refer to "Serial Interface Interrupts and DMA". Note: Always make sure the serial interface is inactive (TXENx and RXENx = "0") before these settings are made. A change of settings during operation may cause a malfunction. Setting input/output pins All four pins--SINx, SOUTx, #SCLKx, and #SRDYx--are used in the clock-synchronized mode. To use Ch. 0, write "1111" to CFP0[3:0] (D[3:0]) in the P0 function select register (0x402D0), and to use Ch. 1 write "1111" to CFP0[7:4] (D[7:4]). To use Ch. 2, write "1111" to CFP4[3:0] (D[3:0]) in the P4 function select register (0x40300), and to use Ch. 3 write "1111" to CFP4[7:4] (D[7:4]). Note that it is possible to use all 4 channels. Setting the interface mode Select normal interface operation by writing "00" to IrMDx[1:0] (D[1:0]) in the serial interface Ch. x IrDA register (Ch. 0: 0x401E4, Ch. 1: 0x401E9, Ch. 2: 0x401F4, and Ch. 3: 0x401F9). Note that this register sets the interface mode (normal interface or IrDA interface). Since IRMDx[1:0] becomes indeterminate at initial reset, it must be initialized. Setting the transfer mode Use SMDx to set the transfer mode of the serial interface as described earlier. When using the serial interface as the master for clock-synchronized transfer, set SMDx[1:0] to "00"; when using the serial interface as a slave, set SMDx[1:0] to "01". Setting the input clock * Clock-synchronized master mode This mode operates using an internally derived clock. The clock source for each channel is as follows: Ch.0: A clock output by 8-bit programmable timer 2 Ch.1: A clock output by 8-bit programmable timer 3 Ch.2: A clock output by 8-bit programmable timer 4 Ch.3: A clock output by 8-bit programmable timer 5 Therefore, in order for the serial interface to be used in the clock-synchronized master mode, the following conditions must be met: 1. The prescaler is feeding a clock to 8-bit programmable timer 2 (3, 4, 5). 2. The 8-bit programmable timer 2 (3, 4, 5) is generating a clock. Any desired clock frequency can be selected by setting the division ratio of the prescaler and the reload data of the 8-bit programmable timer as necessary. The relationship between the contents of these settings and the transfer rate is expressed by Eq. 1 below. To ensure that the duty ratio of the clock to be fed to the serial interface is 50%, the 8-bit programmable timer further divides the underflow signal frequency by 2 internally. This 1/2 frequency division is factored into Eq. 1. RLD = f PSCIN x pdr - 1 2 x bps S1C33T01 FUNCTION PART (Eq. 1) EPSON B-III-8-5 III PERIPHERAL BLOCK: SERIAL INTERFACE RLD: Reload data register setup value of the 8-bit programmable timer fPSCIN: Prescaler input clock frequency (Hz) bps: Transfer rate (bits/second) pdr: Division ratio of the prescaler Note: The division ratios selected by the prescaler differ between 8-bit programmable timers 2, 4 and 3, 5 so be careful when setting the ratio. 8-bit programmable timer 2, 4: 1/2, 1/4, 1/8, 1/16, 1/32, 1/64, 1/2048, 1/4096 8-bit programmable timer 3, 5: 1/2, 1/4, 1/8, 1/16, 1/32, 1/64, 1/128, 1/256 For details on how to control the prescaler and 8-bit programmable timers, refer to "Prescaler", and "8-Bit Programmable Timers". The serial-interface control register contains an SSCKx bit to select the clock source used for the asynchronous mode. Although this bit does not affect the clock in the clock-synchronized mode, its content becomes indeterminate at initial reset. Therefore, be sure to initialize this bit by writing "0" (Internal clock), even when using the serial interface in the clock-synchronized master mode. * Clock-synchronized slave mode This mode operates using the clock that is output by the external master. This clock is input from the #SCLK pin. Therefore, there is no need to control the prescaler or 8-bit programmable timer. Initialize SSCKx by writing "1" (#SCLKx). B-III-8-6 EPSON S1C33T01 FUNCTION PART III PERIPHERAL BLOCK: SERIAL INTERFACE Control and Operation of Clock-Synchronized Transfer Transmit control (1) Enabling transmit operation Use the transmit-enable bit TXENx for transmit control. Ch.0 transmit-enable: TXEN0 (D7) / Serial I/F Ch.0 control register (0x401E3) Ch.1 transmit-enable: TXEN1 (D7) / Serial I/F Ch.1 control register (0x401E8) Ch.2 transmit-enable: TXEN2 (D7) / Serial I/F Ch.2 control register (0x401E3) Ch.3 transmit-enable: TXEN3 (D7) / Serial I/F Ch.3 control register (0x401E8) When transmit is enabled by writing "1" to this bit, the clock input to the shift register is enabled (ready for input), thus allowing for data to be transmitted. The synchronizing clock input/output of the #SCLKx pin is also enabled (ready for input/output). Transmit is disabled by writing "0" to TXENx. After the P0 function select register is set for the serial interface, the I/O direction of the #SRDY and #SCLK pins are changed at follows: #SRDY: When slave mode is set, P03 (P07, P43, P47) enters output mode. Otherwise, P03 (P07) stays in input mode. #SCLK: When master mode is set, P02 (P06, P42, P46) enters output mode. Otherwise, P02 (P06, P42, P46) stays in input mode. Note: In clock-synchronized transfers, the clock line is shared between the transmit and receive units, so the communication mode is half-duplex. Therefore, TXENx and receive-enable bit RXENx cannot be enabled simultaneously. When transmitting data, fix RXENx at "0" and do not change it during a transmit operation. In addition, make sure TXENx is not set to "0" during a transmit operation. (2) Transmit procedure The serial interface contains a transmit shift register and a transmit data register (transmit data buffer), which are provided independently of those used for a receive operation. Ch.0 transmit data: TXD0[7:0] (D[7:0]) / Serial I/F Ch.0 transmit data register (0x401E0) Ch.1 transmit data: TXD1[7:0] (D[7:0]) / Serial I/F Ch.1 transmit data register (0x401E5) Ch.2 transmit data: TXD2[7:0] (D[7:0]) / Serial I/F Ch.2 transmit data register (0x401F0) Ch.3 transmit data: TXD3[7:0] (D[7:0]) / Serial I/F Ch.3 transmit data register (0x401F5) The serial interface contains a status bit to indicate the status of the transmit data register. Ch.0 transmit data buffer empty: TDBE0(D1) / Serial I/F Ch.0 status register (0x401E2) Ch.1 transmit data buffer empty: TDBE1(D1) / Serial I/F Ch.1 status register (0x401E7) Ch.2 transmit data buffer empty: TDBE2(D1) / Serial I/F Ch.2 status register (0x401F2) Ch.3 transmit data buffer empty: TDBE3(D1) / Serial I/F Ch.3 status register (0x401F7) This bit is reset to "0" by writing data to the transmit-data register, and set to "1" again (buffer empty) when the data is transferred to the shift register. The serial interface starts transmitting when data is written to the transmit data register. The transfer status can be checked using the transmit-completion flag (TENDx). Ch.0 transmit-completion flag: TEND0 (D5) / Serial I/F Ch.0 status register (0x401E2) Ch.1 transmit-completion flag: TEND1 (D5) / Serial I/F Ch.1 status register (0x401E7) Ch.2 transmit-completion flag: TEND2 (D5) / Serial I/F Ch.2 status register (0x401F2) Ch.3 transmit-completion flag: TEND3 (D5) / Serial I/F Ch.3 status register (0x401F7) This bit goes "1" when data is being transmitted and goes "0" when the transmission has completed. When data is transmitted successively in clock-synchronized master mode, TENDx maintains "1" until all data is transmitted (Figure 8.4). In slave mode, TENDx goes "0" every time 1-byte data is transmitted (Figure 8.5). Following explains transmit operation in both the master and slave modes. S1C33T01 FUNCTION PART EPSON B-III-8-7 III PERIPHERAL BLOCK: SERIAL INTERFACE * Clock-synchronized master mode The timing at which the device starts transmitting in the master mode is as follows: When #SRDY is on a low level while TDBEx = "0" (the transmit-data register contains data written to it) or when TDBEx is set to "0" (data has been written to the transmit-data register) while #SRDY is on a low level. Figure 8.4 shows a transmit timing chart in the clock-synchronized master mode. #SCLKx A #SRDYx SOUTx TDBEx D0 B B D1 D2 C D3 D4 D5 D6 D7 D0 D1 D2 D6 D7 D TENDx Transmit-buffer empty interrupt request Transmit-buffer empty interrupt request A Slave device receives the LSB. B Slave device receives the MSB. C First data is written. D Next data is written. Figure 8.4 Transmit Timing Chart in Clock-Synchronized Master Mode 1. If the #SRDYx signal from the slave is on a high level, the master waits until it is on a low level (ready to receive). 2. If #SRDYx is on a low level, the synchronizing clock input to the serial interface begins. The synchronizing clock is also output from the #SCLKx pin to the slave device. 3. The content of the data register is transferred to the shift register synchronously with the first falling edge of the clock. At the same time, the LSB of the data transferred to the shift register is output from the SOUTx pin. 4. The data in the shift register is shifted 1 bit by the next falling edge of the clock, and the bit following the LSB is output from SOUTx. This operation is repeated until all 8 bits of data are transmitted. The slave device must take in each bit synchronously with the rising edges of the synchronizing clock. * Clock-synchronized slave mode Figure 8.5 shows a transmit timing chart in the clock-synchronized slave mode. #SCLKx SOUTx D0 D1 D2 D3 D4 D5 D6 D7 D0 D1 D2 D6 D7 #SRDYx TDBEx A B TENDx Transmit-buffer empty interrupt request Transmit-buffer empty interrupt request A First data is written. B Next data is written. Figure 8.5 Transmit Timing Chart in Clock-Synchronized Slave Mode 1. After setting the #SRDYx signal to a low level (ready to transmit), the slave waits for clock input from the master. 2. When the synchronizing clock is input from the #SCLKx pin, the content of the data register is transferred to the shift register synchronously with the first falling edge of the clock. At the same time, the LSB of the data transferred to the shift register is output from the SOUTx pin. B-III-8-8 EPSON S1C33T01 FUNCTION PART III PERIPHERAL BLOCK: SERIAL INTERFACE The #SRDYx signal is returned to a high level at this point. 3. The data in the shift register is shifted 1 bit by the next falling edge of the clock, and the bit following the LSB is output from SOUTx. This operation is repeated until all 8 bits of data are transmitted. 4. The #SRDYx signal is set to a low level when the last bit (8th bit) is output from the SOUTx pin. The master device must take in each bit synchronously with the rising edges of the synchronizing clock. * Successive transmit operations When the data in the transmit data register is transferred to the shift register, TDBEx is reset to "1" (buffer empty). Once this occurs, the next transmit data can be written to the transmit data register, even during data transmission. This allows data to be transmitted successively. The transmit procedure is described above. When TDBEx is set to "1", a transmit-data empty interrupt factor occurs. Since an interrupt can be generated as set by the interrupt controller, the next piece of transmit data can be written using an interrupt processing routine. In addition, since this interrupt factor can be used to invoke DMA, the data prepared in memory can be transmitted successively to the transmit-data register through DMA transfers. For details on how to control interrupts and DMA requests, refer to "Serial Interface Interrupts and DMA". (3) Terminating transmit operation Upon completion of data transmission, write "0" to the transmit-enable bit TXENx to disable transmit operation. Receive control (1) Enabling receive operation Use the receive-enable bit RXENx for receive control. Ch.0 receive-enable: RXEN0 (D6) / Serial I/F Ch.0 receive-enable register (0x401E3) Ch.1 receive-enable: RXEN1 (D6) / Serial I/F Ch.1 receive-enable register (0x401E8) Ch.2 receive-enable: RXEN2 (D6) / Serial I/F Ch.2 receive-enable register (0x401F3) Ch.3 receive-enable: RXEN3 (D6) / Serial I/F Ch.3 receive-enable register (0x401F8) When receive operations are enabled by writing "1" to this bit, clock input to the shift register is enabled (ready for input), thereby starting a data-receive operation. The synchronizing clock input/output on the #SCLKx pin also is enabled (ready for input/output). Receive operations are disabled by writing "0" to RXENx. After the P0 function select register is set for the serial interface, the I/O direction of the #SRDY and #SCLK pins are changed at follows: #SRDY: When slave mode is set, P03 (P07) enters output mode. Otherwise, P03 (P07, P43, P47) stays in input mode. #SCLK: When master mode is set, P02 (P06, P42, P46) enters output mode. Otherwise, P02 (P06, P42, P46) stays in input mode. Note: In clock-synchronized transfers, the clock line is shared between the transmit and receive units, so the communication mode is half-duplex. Therefore, RXENx and transmit-enable bit TXENx cannot be enabled simultaneously. When receiving data, fix TXENx at "0" and do not change it during a receive operation. In addition, make sure RXENx is not set to "0" during a receive operation. (2) Receive procedure This serial interface has a receive shift register and a receive data register (receive data buffer) that are provided independently of those used for transmit operations. Ch.0 receive data: RXD0[7:0] (D[7:0]) / Serial I/F Ch.0 receive data register (0x401E1) Ch.1 receive data: RXD1[7:0] (D[7:0]) / Serial I/F Ch.1 receive data register (0x401E6) Ch.2 receive data: RXD2[7:0] (D[7:0]) / Serial I/F Ch.2 receive data register (0x401F1) Ch.3 receive data: RXD3[7:0] (D[7:0]) / Serial I/F Ch.3 receive data register (0x401F6) The receive data can be read out from this register. S1C33T01 FUNCTION PART EPSON B-III-8-9 III PERIPHERAL BLOCK: SERIAL INTERFACE A status bit is also provided that indicates the status of the receive data register. Ch.0 receive data buffer full: RDBF0 (D0) / Serial I/F Ch.0 status register (0x401E2) Ch.1 receive data buffer full: RDBF1 (D0) / Serial I/F Ch.1 status register (0x401E7) Ch.2 receive data buffer full: RDBF2 (D0) / Serial I/F Ch.2 status register (0x401F2) Ch.3 receive data buffer full: RDBF3 (D0) / Serial I/F Ch.3 status register (0x401F7) This bit is set to "1" (buffer full) when the MSB of serial data is received and the data in the shift register is transferred to the receive data register, indicating that the received data can be read out. When the data is read out, the bit is reset to "0". The following describes a receive operation in the master and slave modes. * Clock-synchronized master mode Figure 8.6 shows a receive timing chart in the clock-synchronized master mode. #SCLKx SINx D0 D1 D6 D7 D0 RXDx D1 D6 D7 1st data D0 D1 2nd data A RDBFx #SRDYx Receive-buffer full interrupt request Receive-buffer full interrupt request A First data is read. Figure 8.6 Receive Timing Chart in Clock-Synchronized Master Mode 1. If the #SRDYx signal from the slave is on a high level, the master waits until it turns to a low level (ready to receive). 2. If #SRDYx is on a low level, synchronizing clock input to the serial interface begins. The synchronizing clock is also output from the #SCLKx pin to the slave device. 3. The slave device outputs each bit of data synchronously with the falling edges of the clock. The LSB is output first. 4. This serial interface takes the SIN input into the shift register at the rising edges of the clock. The data in the shift register is sequentially shifted as bits are taken in. This operation is repeated until the MSB of data is received. 5. When the MSB is taken in, the data in the shift register is transferred to the receive data register, enabling the data to be read out. * Clock-synchronized slave mode Figure 8.7 shows a receive timing chart in the clock-synchronized slave mode. #SCLKx SINx D0 D1 D6 D7 D0 RXDx D1 D6 D7 D0 1st data D1 D6 2nd data D7 3rd data A RDBFx B D C #SRDYx Receive-buffer full interrupt request A First data is read. B 3rd data is read. Receive-buffer full interrupt request Receive-buffer full interrupt request C An overrun error occurs because the receive operation has completed when RDBFx = "1". D Send the busy signal to the master device to stop the clock. Figure 8.7 Receive Timing Chart in Clock-Synchronized Slave Mode B-III-8-10 EPSON S1C33T01 FUNCTION PART III PERIPHERAL BLOCK: SERIAL INTERFACE 1. After setting the #SRDYx signal to a low level (ready to receive), the slave waits for clock input from the master. 2. The master device outputs each bit of data synchronously with the falling edges of the clock. The LSB is output first. 3. This serial interface takes the SIN input into the shift register at the rising edges of the clock that is input from #SCLKx. The data in the shift register is sequentially shifted as bits are taken in. This operation is repeated until the MSB of data is received. 4. When the MSB is taken in, the data in the shift register is transferred to the receive data register, enabling the data to be read out. * Successive receive operations When the data received in the shift register is transferred to the receive data register, RDBFx is set to "1" (buffer full), indicating that the received data can be read out. Since the receive data register can be read out while receiving the next data, data can be received successively. The procedure for receiving is described above. When RDBFx is set to "1", a receive-data full interrupt factor occurs. Since an interrupt can be generated as set by the interrupt controller, the received data can be read by an interrupt processing routine. In addition, since this interrupt factor can be used to invoke DMA, the received data can be received successively in locations prepared in memory through DMA transfers. For details on how to control interrupts/DMA, refer to "Serial Interface Interrupts and DMA". (3) Overrun error If, during successive receive operation, a receive operation for the next data is completed before the receive data register is read out, the receive data register is overwritten with the new data. Therefore, the receive data register must always be read out before a receive operation for the next data is completed. When the receive data register is overwritten, an overrun error is generated and the overrun error flag is set to "1". Ch.0 overrun error flag: OER0 (D2) / Serial I/F Ch.0 status register (0x401E2) Ch.1 overrun error flag: OER1 (D2) / Serial I/F Ch.1 status register (0x401E7) Ch.2 overrun error flag: OER2 (D2) / Serial I/F Ch.2 status register (0x401F2) Ch.3 overrun error flag: OER3 (D2) / Serial I/F Ch.3 status register (0x401F7) Once the overrun error flag is set to "1", it remains set until it is reset by writing "0" to it in the software. The overrun error is one of the receive-error interrupt factors in the serial interface. An interrupt can be generated for this error by setting the interrupt controller as necessary, so that the error can be processed by an interrupt processing routine. (4) #SRDYx in slave mode When receive operations are enabled by writing "1" to RXENx, the #SRDYx signal is turned to a low level, thereby indicating to the master device that the slave is ready to receive. When the LSB of serial data is received, #SRDYx is turned to a high level; when the MSB is received, #SRDYx is returned to a low level, in preparation for the next receive operation. If an overrun error occurs, #SRDYx is turned to a high level (unable to receive) at that point, with receive operations for the following data thus suspended. In this case, #SRDYx is returned to a low by reading out the data overwritten in the receive data register, and if any receive data follows, the slave restarts receiving data. (5) Terminating receive operation Upon completion of a data receive operation, write "0" to the receive-enable bit RXENx to disable receive operations. S1C33T01 FUNCTION PART EPSON B-III-8-11 III PERIPHERAL BLOCK: SERIAL INTERFACE Asynchronous Interface Outline of Asynchronous Interface Asynchronous transfers are performed by adding a start bit and a stop bit to the start and end points of each serialconverted data. With this method, there is no need to use a clock that is fully synchronized on the transmit and receive sides; instead, transfer operations are timed by the start and stop bits added to the start and end points of each data. In the 8-bit asynchronous mode (SMDx[1:0] = "11"), 8 bits of data can be transferred; in the 7-bit asynchronous mode (SMDx[1:0] = "10"), 7 bits of data can be transferred. In either mode, it is possible to select the stop-bit length, add a parity bit, and choose between even and odd parity. The start bit is fixed at "1". The operating clock can be selected between an internal clock generated by an 8-bit programmable timer or an external clock that is input from the #SCLKx pin. Since the transmit and receive units are both constructed with a double-buffer structure, successive transmit and receive operations are possible. Furthermore, since the transmit and receive units are independent, full-duplex communication in which transmit and receive operations are performed simultaneously is also possible. Figure 8.8 shows an example of how input/output pins are connected for transfers in the asynchronous mode. S1C33 External serial device SINx Data input SOUTx #SCLKx S1C33 External serial device SINx Data output Data input SOUTx Data output External clock (1) When external clock is used (2) When internal clock is used Figure 8.8 Example of Connection in Asynchronous Mode When the asynchronous mode is selected, it is possible to use the IrDA interface function. Asynchronous-transfer data format The data format for asynchronous transfer is shown below. Data length: 7 or 8 bits (determined by the selected transfer mode) Start bit: 1 bit, fixed Stop bit: 1 or 2 bits Parity bit: Even or odd parity, or none Sampling clock (for transmitting) 7-bit asynchronous mode (Stop bit: 1 bit, parity: none) s1 D0 D1 D2 D3 D4 D5 D6 s2 (Stop bit: 1 bit, parity: used) s1 D0 D1 D2 D3 D4 D5 D6 p s2 (Stop bit: 2 bits, parity: none) s1 D0 D1 D2 D3 D4 D5 D6 s2 s3 (Stop bit: 2 bits, parity: used) s1 D0 D1 D2 D3 D4 D5 D6 p s2 (Stop bit: 1 bit, parity: none) s1 D0 D1 D2 D3 D4 D5 D6 D7 s2 (Stop bit: 1 bit, parity: used) s1 D0 D1 D2 D3 D4 D5 D6 D7 p s2 (Stop bit: 2 bits, parity: non) s1 D0 D1 D2 D3 D4 D5 D6 D7 s2 s3 (Stop bit: 2 bits, parity: used) s1 D0 D1 D2 D3 D4 D5 D6 D7 p s2 8-bit asynchronous mode s3 s3 s1: start bit, s2 & s3: stop bit, p: parity bit Figure 8.9 Data Format for Asynchronous Transfer Serial data is transmitted and received, starting with the LSB. B-III-8-12 EPSON S1C33T01 FUNCTION PART III PERIPHERAL BLOCK: SERIAL INTERFACE Setting Asynchronous Interface When performing asynchronous transfer via the serial interface, the following must be done before data transfer can be started: 1. Setting input/output pins 2. Setting the interface mode 3. Setting the transfer mode 4. Setting the input clock 5. Setting the data format 6. Setting interrupt/IDMA/HSDMA The following describes how to set each of the above. For details on interrupt/DMA settings, refer to "Serial Interface Interrupts and DMA". Note: Always make sure the serial interface is inactive (TXENx and RXENx = "0") before making these settings. A change in settings during operation may result in a malfunction. Setting input/output pins In the asynchronous mode, two pins-SINx and SOUTx-are used. When external clock input is used, one more pin, #SCLKx, is also used. Set CFP0[7:0] (D[7:0]) / P0 function select register (0x402D0) according to the pins used. (Both channels can be used, if necessary.) Since the #SRDYx pins are not used, P03, CFP4[7:0] (D[7:0]) in the P4 function select register (0x40300), P07, P43, and P47 can be used as shared function I/O ports. When operated from an internal clock, P03, P06, P43, and P46 can also be used as shared function I/O ports. Setting the interface mode The IRMDx[1:0] (D[1:0]) field in the serial interface IrDA registers (Ch. 0: 0x401E4, Ch. 1: 0x401E9, Ch. 2: 0x401F4, and Ch. 3: 0x401F9) are provided to set up the IrDA interface. Since IRMDx[1:0] becomes indeterminate at initial reset, initialize it by writing "00" when using the serial interface as a normal interface, or "10" when using the serial interface as an IrDA interface. This setting must be made before a transfer mode is set. Setting the transfer mode Use SMDx to set the transfer mode of the serial interface as described earlier. When using the serial interface in the 8-bit asynchronous mode, set SMDx[1:0] to "11", when using the serial interface in the 7-bit asynchronous mode, set SMDx[1:0] to "10". Setting the input clock In the asynchronous mode, the operating clock can be selected between the internal clock and an external clock. Ch.0 input clock selection: SSCK0 (D2) / Serial I/F Ch.0 control register (0x401E3) Ch.1 input clock selection: SSCK1 (D2) / Serial I/F Ch.1 control register (0x401E8) Ch.2 input clock selection: SSCK2 (D2) / Serial I/F Ch.2 control register (0x401F3) Ch.3 input clock selection: SSCK3 (D2) / Serial I/F Ch.3 control register (0x401F8) The external clock is selected (input from the #SCLKx pin) by writing "1" to SSCKx, and an internal clock is selected by writing "0". Note: SSCKx becomes indeterminate at initial reset, so be sure to reset it in the software. * Internal clock When the internal clock is selected, the serial interface is clocked by a clock generated using an 8-bit programmable timer. The clock source for each channel is as follows: Ch.0: Clock output by 8-bit programmable timer 2 Ch.1: Clock output by 8-bit programmable timer 3 Ch.2: Clock output by 8-bit programmable timer 4 Ch.3: Clock output by 8-bit programmable timer 5 S1C33T01 FUNCTION PART EPSON B-III-8-13 III PERIPHERAL BLOCK: SERIAL INTERFACE Therefore, before the internal clock can be used, the following conditions must be met: 1. The prescaler is outputting a clock to the 8-bit programmable timer 2 (or 3, 4, 5). 2. The 8-bit programmable timer 2 (or 3, 4, 5) is outputting a clock. Any desired clock frequency can be obtained by setting the prescaler division ratio and the reload data of the 8-bit programmable timer as necessary. The relationship between the contents of these setting and the transfer rate is expressed by Eq. 2. The 8-bit programmable timer has its underflow signal further divided by 2 internally, in order to ensure that the duty ratio of the clock supplied to the serial interface is 50%. Furthermore, the clock output by the 8-bit programmable timer is divided by 16 or 8 internally in the serial interface, in order to create a sampling clock (refer to "Sampling clock"). This division ratio must also be considered when setting the transfer rate. These division ratios are taken into account in Eq. 2. RLD = f PSCIN x pdr x sdr - 1 2 x bps (Eq. 2) RLD: Set value of the 8-bit programmable timer's reload data register fPSCIN: Prescaler input clock frequency (Hz) bps: Transfer rate (bits/second) pdr: Division ratio of the prescaler sdr: Internal division ratio of the serial interface (1/16 or 1/8) Note: The division ratio selected using the prescaler differs between 8-bit programmable timers 2 and 3, 4, 5. Take this into account when setting a division ratio. 8-bit programmable timer 2, 4: 1/2, 1/4, 1/8, 1/16, 1/32, 1/64, 1/2048, 1/4096 8-bit programmable timer 3, 5: 1/2, 1/4, 1/8, 1/16, 1/32, 1/64, 1/128, 1/256 Table 8.4 shows examples of prescaler division ratios and the reload data settings of the programmable timer, in cases in which the internal division ratio of the serial interface is set to 1/16. Table 8.4 Example of Transfer Rate Settings Transfer rate fPSCIN = 20 MHz fPSCIN = 25 MHz fPSCIN = 33 MHz (bps) RLD pdr Error (%) RLD pdr Error (%) RLD pdr Error (%) 300 1200 2400 4800 9600 14400 28800 129 129 129 64 32 21 10 1/16 1/4 1/2 1/2 1/2 1/2 1/2 0.16025 0.16025 0.16025 0.16025 -1.35732 -1.35732 -1.35732 162 162 162 80 40 13 13 1/16 1/4 1/2 1/2 1/2 1/4 1/2 -0.14698 -0.14698 -0.14698 -0.46939 -0.75584 -3.11880 -3.11880 216 216 216 108 53 35 17 1/16 1/4 1/2 1/2 1/2 1/2 1/2 0.00640 0.00640 0.00640 -0.45234 0.46939 0.46939 0.46939 Make sure the error is within 1%. Calculate the error using the following equation: Error = { f PSCIN x pdr (RLD + 1) x 32 x bps -1 } x 100 [%] For details on how to control the prescaler and 8-bit programmable timers, refer to "Prescaler" and "8-Bit Programmable Timers". * External clock When an external clock is selected, the serial interface is clocked by a clock input from the #SCLKx pin. Therefore, there is no need to control the prescaler and 8-bit programmable timers. Any desired clock frequency can be set. The clock input from the #SCLKx pin is internally divided by 16 or 8 in the serial interface, in order to create a sampling clock (refer to "Sampling clock"). This division ratio must also be considered when setting the transfer rate. B-III-8-14 EPSON S1C33T01 FUNCTION PART III PERIPHERAL BLOCK: SERIAL INTERFACE * Sampling clock In the asynchronous mode, TCLK (the clock output by the 8-bit programmable timer or input from the #SCLKx pin) is internally divided in the serial interface, in order to create a sampling clock. A 1/16 division ratio is selected by writing "1" to DIVMDx , and a 1/8 ratio is selected by writing "0". Ch.0 clock division ratio selection: DIVMD0 (D4) / Serial I/F Ch.0 IrDA register (0x401E4) Ch.1 clock division ratio selection: DIVMD1 (D4) / Serial I/F Ch.1 IrDA register (0x401E9) Ch.2 clock division ratio selection: DIVMD2 (D4) / Serial I/F Ch.2 IrDA register (0x401F4) Ch.3 clock division ratio selection: DIVMD3 (D4) / Serial I/F Ch.3 IrDA register (0x401F9) Note: The DIVMDx bit becomes indeterminate at initial reset, so be sure to reset it in the software. Settings of this bit are valid only in the asynchronous mode (and when using the IrDA interface). For receiving Start bit SINx D0 TCLK 1 2 8 16 1 2 8 Sampling clock for receiving 6xTCLK 10xTCLK Sampling of start bit Figure 8.10 Sampling of D0 bit Sampling Clock for Asynchronous Receive Operation (when 1/16 division is selected) As shown in Figure 8.10, the sampling clock is created by dividing TCLK by 16 (or 8). Its duty ratio (low: high ratio) is 6:10 (or 2:6 when divided by 8), and not 50%. Since the receive data is sampled in the middle point of each bit, the sampling clock recognizes the start bit first, and then changes the level from high to low at the second falling edge of TCLK. And at the 8th (4th for 1/8) falling edge of TCLK, it changes the level from low to high. This change in levels is repeated for the following bits of data: Each bit of data is sampled at each rising edge of this sampling clock. When the stop bit is sampled, the sampling clock is fixed at high level until the next start bit is sampled. If the SINx pin is returned to high level at the second falling edge of TCLK when it recognize the start bit, the data is assumed to be noise, and generation of the sampling clock is stopped. If the SINx pin is not on a low level when the start bit is sampled at the 8th (4th for 1/8) clock, such as when the baud rate is not matched between the transmit and receive units, the serial interface stops sampling the following data and returns to a start-bit detection mode. In this case, no error is generated. For transmitting TCLK 1 2 3 ... 16 Sampling clock for transmitting 8xTCLK Figure 8.11 8xTCLK Sampling Clock for Asynchronous Transmit Operation (when 1/16 division is selected) When transmitting data, a sampling clock of a 50% duty cycle is generated from TCLK by dividing it by 16 (or 8), and each bit of data is output synchronously with this clock. S1C33T01 FUNCTION PART EPSON B-III-8-15 III PERIPHERAL BLOCK: SERIAL INTERFACE Setting the data format In the asynchronous mode, the data length is 7 or 8 bits as determined by the transfer mode set. The start bit is fixed at 1. The stop and parity bits can be set as shown in the Table 8.5 using the following control bits: Stop-bit selection Ch.0: STPB0 (D3) / Serial I/F Ch.0 control register (0x401E3) Ch.1: STPB1 (D3) / Serial I/F Ch.1 control register (0x401E8) Ch.2: STPB2 (D3) / Serial I/F Ch.2 control register (0x401F3) Ch.3: STPB3 (D3) / Serial I/F Ch.3 control register (0x401F8) Parity enable Ch.0: EPR0 (D5) / Serial I/F Ch.0 control register (0x401E3) Ch.1: EPR1 (D5) / Serial I/F Ch.1 control register (0x401E8) Ch.2: EPR2 (D5) / Serial I/F Ch.2 control register (0x401F3) Ch.3: EPR3 (D5) / Serial I/F Ch.3 control register (0x401F8) Parity-mode selection Ch.0: PMD0 (D4) / Serial I/F Ch.0 control register (0x401E3) Ch.1: PMD1 (D4) / Serial I/F Ch.1 control register (0x401E8) Ch.2: PMD2 (D4) / Serial I/F Ch.2 control register (0x401F3) Ch.3: PMD3 (D4) / Serial I/F Ch.3 control register (0x401F8) Table 8.5 Stop Bit and Parity Bit Settings STPBx EPRx 1 1 0 PMDx Stop bit 1 2 bits 0 2 bits 0 2 bits 1 1 1 bit 0 1 bit 0 1 bit Setting PMDx is invalid when EPRx = "0". Parity bit Odd Even None Odd Even Non Note: These bits become indeterminate at initial reset, so be sure to initialize them in the software. B-III-8-16 EPSON S1C33T01 FUNCTION PART III PERIPHERAL BLOCK: SERIAL INTERFACE Control and Operation of Asynchronous Transfer Transmit control (1) Enabling transmit operation Use the transmit-enable bit TXENx for transmit control. Ch.0 transmit-enable: TXEN0 (D7) / Serial I/F Ch.0 control register (0x401E3) Ch.1 transmit-enable: TXEN1 (D7) / Serial I/F Ch.1 control register (0x401E8) Ch.2 transmit-enable: TXEN2 (D7) / Serial I/F Ch.2 control register (0x401E3) Ch.3 transmit-enable: TXEN3 (D7) / Serial I/F Ch.3 control register (0x401E8) When transmit is enabled by writing "1" to this bit, the clock input to the shift register is enabled (ready for input), thus allowing data to be transmitted. Transmit is disabled by writing "0" to TXENx. Note: Do not set TXENx to "0" during a transmit operation. (2) Transmit procedure The serial interface has a transmit shift register and a transmit data register (transmit data buffer) that are provided independently of those used for receive operations. Ch.0 transmit data: TXD0[7:0] (D[7:0]) / Serial I/F Ch.0 transmit data register (0x401E0) Ch.1 transmit data: TXD1[7:0] (D[7:0]) / Serial I/F Ch.1 transmit data register (0x401E5) Ch.2 transmit data: TXD2[7:0] (D[7:0]) / Serial I/F Ch.2 transmit data register (0x401F0) Ch.3 transmit data: TXD3[7:0] (D[7:0]) / Serial I/F Ch.3 transmit data register (0x401F5) The serial interface starts a transmit operation by writing data to this register. In the 7-bit asynchronous mode, bit 7 (MSB) in each register is ignored. The serial interface also contains a status bit to indicate the status of the transmit data register. Ch.0 transmit data buffer empty: TDBE0 (D1) / Serial I/F Ch.0 status register (0x401E2) Ch.1 transmit data buffer empty: TDBE1 (D1) / Serial I/F Ch.1 status register (0x401E7) Ch.2 transmit data buffer empty: TDBE2 (D1) / Serial I/F Ch.2 status register (0x401F2) Ch.3 transmit data buffer empty: TDBE3 (D1) / Serial I/F Ch.3 status register (0x401F7) This bit is reset to "0" by writing data to the transmit data register, and set back to "1" (buffer empty) when the data is transferred to the shift register. The transfer begins when the serial interface starts sending the start bit. The transfer status can be checked using the transmit-completion flag (TENDx). Ch.0 transmit-completion flag: TEND0 (D5) / Serial I/F Ch.0 status register (0x401E2) Ch.1 transmit-completion flag: TEND1 (D5) / Serial I/F Ch.1 status register (0x401E7) Ch.2 transmit-completion flag: TEND2 (D5) / Serial I/F Ch.2 status register (0x401F2) Ch.3 transmit-completion flag: TEND3 (D5) / Serial I/F Ch.3 status register (0x401F7) This bit goes "1" when data is being transmitted and goes "0" when the transmission has completed. When data is transmitted successively in asynchronous mode, TENDx maintains "1" until all data is transmitted. Figure 8.12 shows a transmit timing chart in the asynchronous mode. Example: Data length 8 bits Stop bit 1 bit Parity bit Included S1C33T01 FUNCTION PART EPSON B-III-8-17 III PERIPHERAL BLOCK: SERIAL INTERFACE Sampling clock SOUTx TDBEx S1 D0 D1 D2 A D3 D4 D5 D6 D7 P S2 S1 D0 P S2 B TENDx Transmit-buffer empty interrupt request S1 Start bit S2 Stop bit P Parity bit Figure 8.12 Transmit-buffer empty interrupt request A First data is written. B Next data is written. Transmit Timing Chart in Asynchronous Mode 1. The contents of the data register are transferred to the shift register synchronously with the first falling edge of the sampling clock. At the same time, the SOUTx pin is setting to a low level to send the start bit. 2. Each bit of data in the shift register is transmitted beginning with the LSB at each falling edge of the subsequent sampling clock. This operation is repeated until all 8 (or 7) bits of data are transmitted. 3. After sending the MSB, the parity bit (if EPRx = "1") and the stop bit are transmitted insuccession. * Successive transmit operation When the data in the transmit data register is transferred to the shift register, TDBEx is reset to "1" (buffer empty). Once this occurs, the next transmit data can be written to the transmit data register, even during data transmission. This allows data to be transmitted successively. The transmit procedure is described above. When TDBEx is set to "1", a transmit-data empty interrupt factor simultaneously occurs. Since an interrupt can be generated as set by the interrupt controller, the next transmit data can be written using an interrupt processing routine. In addition, since this interrupt factor can be used to invoke IDMA, the data prepared in memory can be transmitted successively to the transmit data register through DMA transfers. For details on how to control interrupts and IDMA requests, refer to "Serial Interface Interrupts and DMA". (3) Terminating transmit operations When data transmission is completed, write "0" to the transmit-enable bit TXENx to disable transmit operations. Receive control (1) Enabling receive operations Use the receive-enable bit RXENx for receive control. Ch.0 receive-enable: RXEN0 (D6) / Serial I/F Ch.0 control register (0x401E3) Ch.1 receive-enable: RXEN1 (D6) / Serial I/F Ch.1 control register (0x401E8) Ch.2 receive-enable: RXEN2 (D6) / Serial I/F Ch.2 control register (0x401F3) Ch.3 receive-enable: RXEN3 (D6) / Serial I/F Ch.3 control register (0x401F8) When receiving enabled by writing "1" to this bit, clock input to the shift register is enabled (ready for input), meaning that it is ready to receive data. Receive operations are disabled by writing "0" to RXENx. Note: Do not set RXENx to "0" during a receive operation. B-III-8-18 EPSON S1C33T01 FUNCTION PART III PERIPHERAL BLOCK: SERIAL INTERFACE (2) Receive procedure This serial interface has a receive shift register and a receive data register (receive data buffer) that are provided independently of those used for transmit operations. Ch.0 receive data: RXD0[7:0] (D[7:0]) / Serial I/F Ch.0 receive data register (0x401E1) Ch.1 receive data: RXD1[7:0] (D[7:0]) / Serial I/F Ch.1 receive data register (0x401E6) Ch.2 receive data: RXD2[7:0] (D[7:0]) / Serial I/F Ch.2 receive data register (0x401F1) Ch.3 receive data: RXD3[7:0] (D[7:0]) / Serial I/F Ch.3 receive data register (0x401F6) Receive data can be read out from this register. A status bit is also provided to indicate the status of the receive data register. Ch.0 receive data buffer full: RDBF0 (D0) / Serial I/F Ch.0 status register (0x401E2) Ch.1 receive data buffer full: RDBF1 (D0) / Serial I/F Ch.1 status register (0x401E7) Ch.2 receive data buffer full: RDBF2 (D0) / Serial I/F Ch.2 status register (0x401F2) Ch.3 receive data buffer full: RDBF3 (D0) / Serial I/F Ch.3 status register (0x401F7) This bit is set to "1" (buffer full) when data is transferred from the shift register to the receive data register after the stop bit is sampled (the second bit if two stop bits are used), indicating that the received data can be read out. When the data is read out, the bit is reset to "0". Figure 8.13 shows a receive timing chart in the asynchronous mode. Example: Data length 8 bits Stop bit 1 bit Parity bit Included Sampling clock SOUTx S1 D0 D1 D2 D3 D4 D5 D6 D7 P S2 S1 D0 D1 A RDBFx RXDx 1st data S1 Start bit S2 Stop bit Figure 8.13 P Parity bit A First data is read. Receive-buffer full interrupt request Receive Timing Chart in Asynchronous Mode 1. The serial interface starts sampling when the start bit is input (SINx = low). 2. When the start bit is sampled at the first rising edge of the sampling clock, each bit of receive data is taken into the shift register, beginning with the LSB at each rising edge of the subsequent clock. This operation is repeated until the MSB of data is received. 3. When the MSB is taken in, the parity bit that follows is also taken in (if EPRx = "1"). 4. When the stop bit is sampled, the data in the shift register is transferred to the receive data register, enabling the data to be read out. The parity is checked when data is transferred to the receive data register (if EPRx = "1"). Note: The receive operation is terminated when the first stop bit is sampled even if the stop bit is configured with two bits. * Successive receive operations When the data received in the shift register is transferred to the receive data register, RDBFx is set to "1" (buffer full), indicating that the received data can be read out. Thereafter, data can be received successively because the receive data register can be read out while the next data is received. The procedure for receiving is described above. When RDBFx is set to "1", a receive-data full interrupt factor occurs. Since an interrupt can be generated as set by the interrupt controller, the received data can be read using an interrupt processing routine. In addition, since this interrupt factor can be used to invoke IDMA, the received data can be received successively in locations prepared in memory through DMA transfers. For details on how to control interrupts and IDMA requests, refer to "Serial Interface Interrupts and DMA". S1C33T01 FUNCTION PART EPSON B-III-8-19 III PERIPHERAL BLOCK: SERIAL INTERFACE (3) Receive errors Three types of receive errors can be detected when receiving data in the asynchronous mode. Since an interrupt can be generated by setting the interrupt controller, the error can be processed using an interrupt processing routine. For details on receive error interrupts, refer to "Serial Interface Interrupts and DMA". * Parity error If EPRx is set to "1" (parity added), the parity is checked when data is received. This parity check is performed when the data received in the shift register is transferred to the receive data register in order to check conformity with PMDx settings (odd or even parity). If any nonconformity is found in this check, a parity error is assumed and the parity error flag is set to "1". Ch.0 parity error flag: PER0 (D3) / Serial I/F Ch.0 status register (0x401E2) Ch.1 parity error flag: PER1 (D3) / Serial I/F Ch.1 status register (0x401E7) Ch.2 parity error flag: PER2 (D3) / Serial I/F Ch.2 status register (0x401F2) Ch.3 parity error flag: PER3 (D3) / Serial I/F Ch.3 status register (0x401F7) Even when this error occurs, the received data in error is transferred to the receive data register and the receive operation is continued. However, the content of the received data for which a parity error is flagged cannot be guaranteed. The PERx flag is reset to "0" by writing "0". * Framing error If data with a stop bit = "0" is received, the serial interface assumes that the data is out of synchronization and generates a framing error. If two stop bits are used, only the first stop bit is checked. When this error occurs, the framing-error flag is set to "1". Ch.0 framing-error flag: FER0 (D4) / Serial I/F Ch.0 status register (0x401E2) Ch.1 framing-error flag: FER1 (D4) / Serial I/F Ch.1 status register (0x401E7) Ch.2 framing-error flag: FER2 (D4) / Serial I/F Ch.2 status register (0x401F2) Ch.3 framing-error flag: FER3 (D4) / Serial I/F Ch.3 status register (0x401F7) Even when this error occurs, the received data in error is transferred to the receive data register and the receive operation is continued. However, the content of the received data for which a framing error is flagged cannot be guaranteed, even if no framing error is found in the following data received. The FERx flag is reset to "0" by writing "0". * Overrun error If during successive receive operations, a receive operation for the next data is completed before the receive data register is read out, the receive data register is overwritten with the new data. Therefore, the receive data register must always be read out before a receive operation for the next data is completed. When the receive data register is overwritten, an overrun error is generated and the overrun-error flag is set to "1". Ch.0 overrun-error flag: OER0 (D2) / Serial I/F Ch.0 status register (0x401E2) Ch.1 overrun-error flag: OER1 (D2) / Serial I/F Ch.1 status register (0x401E7) Ch.2 overrun-error flag: OER2 (D2) / Serial I/F Ch.2 status register (0x401F2) Ch.3 overrun-error flag: OER3 (D2) / Serial I/F Ch.3 status register (0x401F7) Even when this error occurs, the received data in error is transferred to the receive data register and the receive operation is continued. The OERx flag is reset to "0" by writing "0". (4) Terminating receive operation When a data receive operation is completed, write "0" to the receive-enable bit RXENx to disable receive operations. B-III-8-20 EPSON S1C33T01 FUNCTION PART III PERIPHERAL BLOCK: SERIAL INTERFACE IrDA Interface Outline of IrDA Interface Each channel of the serial interface contains a PPM modulator circuit, allowing an infrared-ray communication circuit to be configured based on IrDA 1.0 simply by adding a simple external circuit. Infrared communication module S1C33 LED A PPM Modulator SOUTx LED TXD VP1N LED C Serial I/F Photodiode PPM Modulator SINx RXD CX1 VDD Vcc CX2 VSS VP1N GND (Example: HP HSDL-1000) Figure 8.14 Configuration Example of IrDA Interface This IrDA interface function can be used only when the selected transfer mode is an asynchronous mode. Since the contents of the asynchronous mode are applied directly for the serial-interface functions other than the IrDA interface unit, refer to "Asynchronous Interface", for details on how to set and control the data formats and data transfers. Setting IrDA Interface When performing infrared-ray communication, the following settings must be made before communication can be started: 1. Setting input/output pins 2. Selecting the interface mode (IrDA interface function) 3. Setting the transfer mode 4. Setting the input clock 5. Setting the data format 6. Setting the interrupt/IDMA 7. Setting the input/output logic The contents for items 1 through 5 have been explained in connection with the asynchronous interface. For details, refer to "Asynchronous Interface". For details on item 6, refer to "Serial Interface Interrupts and DMA". Note: Before making these settings, always make sure the serial interface is inactive (TXENx and RXENx are both set to "0"), as a change in settings during operation could cause a malfunction. In addition, be sure to set the transfer mode in (3) and the following items before selecting the IrDA interface function in (2). S1C33T01 FUNCTION PART EPSON B-III-8-21 III PERIPHERAL BLOCK: SERIAL INTERFACE Selecting the IrDA interface function To use the IrDA interface function, select it using the control bits shown below and then set the 8-bit (or 7-bit) asynchronous mode as the transfer mode. Ch.0 IrDA interface-function selection: IRMD0[1:0] (D[1:0]) / Serial I/F Ch.0 IrDA register (0x401E4) Ch.1 IrDA interface-function selection: IRMD1[1:0] (D[1:0]) / Serial I/F Ch.1 IrDA register (0x401E9) Ch.2 IrDA interface-function selection: IRMD2[1:0] (D[1:0]) / Serial I/F Ch.2 IrDA register (0x401F4) Ch.3 IrDA interface-function selection: IRMD3[1:0] (D[1:0]) / Serial I/F Ch.3 IrDA register (0x401F9) Table 8.6 Setting of IrDA Interface IRMDx1 IRMDx0 1 1 0 0 1 0 1 0 Interface mode Do not set. (reserved) IrDA 1.0 interface Do not set. (reserved) Normal interface Note: The IRMDx bit becomes indeterminate when initially reset, so be sure to initialize it in the software. Setting the input/output logic When using the IrDA interface, the logic of the input/output signals of the PPM modulator circuit can be changed in accordance with the infrared-ray communication module or the circuit connected externally to the chip. The logic of the internal serial interface is "active-low". If the input/output signals are active-high, the logic of these signals must be inverted before they can be used. The input SINx and output SOUTx logic can be set individually through the use of the IRRLx and IRTLx bits, respectively. IrDA input logic inversion Ch.0: IRRL0 (D2) / Serial I/F Ch.0 IrDA register (0x401E4) Ch.1: IRRL1 (D2) / Serial I/F Ch.1 IrDA register (0x401E9) Ch.2: IRRL2 (D2) / Serial I/F Ch.2 IrDA register (0x401F4) Ch.3: IRRL3 (D2) / Serial I/F Ch.3 IrDA register (0x401F9) IrDA output logic inversion Ch.0: IRTL0 (D3) / Serial I/F Ch.0 IrDA register (0x401E4) Ch.1: IRTL1 (D3) / Serial I/F Ch.1 IrDA register (0x401E9) Ch.2: IRTL2 (D3) / Serial I/F Ch.2 IrDA register (0x401F4) Ch.3: IRTL3 (D3) / Serial I/F Ch.3 IrDA register (0x401F9) The logic of the input/output signal is inverted by writing "1" to each corresponding bit. Logic is not inverted if the bit is set to "0". When transmitting (1) IRTLx = "0" PPM modulator input (I/F output) PPM modulator output (SOUTx) (2) IRTLx = "1" PPM modulator input (I/F output) PPM modulator output (SOUTx) When receiving (1) IRRLx = "0" PPM modulator input (SINx) PPM modulator output (I/F input) (2) IRRLx = "1" PPM modulator input (SINx) PPM modulator output (I/F input) Figure 8.15 IRRLx and IRTLx Settings Note: The IRRLx and IRTLx bits become indeterminate at initial reset, so be sure to initialize them in the software. B-III-8-22 EPSON S1C33T01 FUNCTION PART III PERIPHERAL BLOCK: SERIAL INTERFACE Control and Operation of IrDA Interface The transmit/receive procedures have been explained in the section on the asynchronous interface, so refer to "Control and Operation of Asynchronous Transfer". The following describes the data modulation and demodulation performed using the PPM modulator circuit: When transmitting During data transmission, the pulse width of the serial interface output signal is set to 3/16 before the signal is output from the SOUTx pin. TCLK 1 2 3 8 9 10 11 16 PPM modulator input (I/F output) 16xTCLK PPM modulator output (SOUTx) 3xTCLK Figure 8.16 Data Modulation by PPM Circuit When receiving During data reception, the pulse width of the input signal from SINx is set to 16/3 before the signal is transferred to the serial interface. TCLK 1 2 3 4 16 PPM modulator input (SINx) 3xTCLK PPM modulator output (I/F input) 16xTCLK Figure 8.17 Demodulation by PPM Circuit Note: When using the IrDA interface, set the internal division ratio of the serial interface 1/16 (DIVMDx = "1"), rather than 1/8 (DIVMDx = "0"). S1C33T01 FUNCTION PART EPSON B-III-8-23 III PERIPHERAL BLOCK: SERIAL INTERFACE Serial Interface Interrupts and DMA The serial interface can generate the following three types of interrupts in each channel: * Transmit-buffer empty interrupt * Receive-buffer full interrupt * Receive-error interrupt Transmit-buffer empty interrupt factor This interrupt factor occurs when the transmit data set in the transmit data register is transferred to the shift register, in which case the interrupt factor flag FSTXx is set to "1". At this time, if the interrupt conditions set using the interrupt control register are met, an interrupt to the CPU is generated. Occurrence of this interrupt factor indicates that the next transmit data can be written to the transmit data register. This interrupt factor can also be used to invoke IDMA, enabling transmit data to be written to the register by means of a DMA transfer. Receive-completion interrupt This interrupt factor occurs when a receive operation is completed and the receive data taken into the shift register is transferred to the receive data register, in which case the interrupt factor flag FSRXx is set to "1". At this time, if the interrupt conditions set using the interrupt control register are met, an interrupt to the CPU is generated. Occurrence of this interrupt factor indicates that the received data can be read out. This interrupt factor can also be used to invoke IDMA, enabling the received data to be written into specified memory locations by means of a DMA transfer. Receive-error interrupt This interrupt factor occurs when a parity, framing, or overrun error is detected during data reception, in which case the interrupt factor flag FSERRx is set to "1". At this time, if the interrupt conditions set using the interrupt control register are met, an interrupt to the CPU is generated. Since all three types of errors generate the same interrupt factor, check the error flags PERx (parity error), OERx (overrun error), and FERx (framing error) to identify the type of error that has occurred. In the clocksynchronized mode, parity and framing errors do not occur. Note: If a receive error (parity or framing error) occurs, the receive-error interrupt and receive-buffer full interrupt factors occur simultaneously. However, since the receive-error interrupt has priority over the receive-buffer full interrupt, the receive-error interrupt is processed first. It is therefore necessary for the receive-buffer full interrupt factor flag be cleared through the use of the receive-error interrupt processing routine. Control registers of the interrupt controller Table 8.7 shows the interrupt controller's control registers provided for each interrupt source (channel). Table 8.7 Control Register of Interrupt Controller Channel Ch.0 Ch.1 Ch.2 Ch.3 B-III-8-24 Interrupt factor Receive-error interrupt Receive-buffer full Transmit-buffer empty Receive-error interrupt Receive-buffer full Transmit-buffer empty Receive-error interrupt Receive-buffer full Transmit-buffer empty Receive-error interrupt Receive-buffer full Transmit-buffer empty Interrupt factor flag FSERR0(D0/0x40286) FSRX0(D1/0x40286) FSTX0(D2/0x40286) FSERR1(D3/0x40286) FSRX1(D4/0x40286) FSTX1(D5/0x40286) FSERR2(D0/0x40289) FSRX2(D1/0x40289) FSTX2(D2/0x40289) FSERR3(D3/0x40289) FSRX3(D4/0x40289) FSTX3(D5/0x40289) Interrupt enable register ESERR0(D0/0x40276) ESRX0(D1/0x40276) ESTX0(D2/0x40276) ESERR1(D3/0x40276) ESRX1(D4/0x40276) ESTX1(D5/0x40276) ESERR2(D0/0x40279) ESRX2(D1/0x40279) ESTX2(D2/0x40279) ESERR3(D3/0x40279) ESRX3(D4/0x40279) ESTX3(D5/0x40279) EPSON Interrupt priority register PSIO0[2:0](D[6:4]/0x40269) PSIO1[2:0](D[2:0]/0x4026A) PSIO2[2:0](D[2:0]/0x4026E) PSIO3[2:0](D[6:4]/0x4026E) S1C33T01 FUNCTION PART III PERIPHERAL BLOCK: SERIAL INTERFACE When the interrupt factor described above occurs, the corresponding interrupt factor flag is set to "1". If the interrupt enable register bit for that interrupt factor has been set to "1", an interrupt request is generated. Interrupts caused by an interrupt factor can be disabled by leaving the interrupt enable register bit for that factor set to "0". The interrupt factor flag is set to "1" whenever interrupt conditions are met, regardless of the setting of the interrupt enable register (even if it is set to "0"). The interrupt priority register sets the interrupt priority level of each interrupt source in a range between 0 and 7. An interrupt request to the CPU is accepted only when no other interrupt request of a higher priority has been generated. In addition, only when the PSR's IE bit = "1" (interrupts enabled) and the set value of the IL is smaller than the input interrupt level set by the interrupt priority register, will the input interrupt request actually be accepted by the CPU. For details on these interrupt control registers, as well as the device operation when an interrupt has occurred, refer to "ITC (Interrupt Controller)". Intelligent DMA The receive-buffer full interrupt and transmit-buffer empty interrupt factors can be used to invoke intelligent DMA (IDMA). This enables successive transmit/receive operations between memory and the transmit/receive-buffer to be performed by means of a DAM transfer. The following shows the IDMA channel numbers set for each interrupt factor: IDMA Ch. Ch.0 receive-buffer full interrupt: 0x17 Ch.0 transmit-buffer empty interrupt: 0x18 Ch.1 receive-buffer full interrupt: 0x19 Ch.1 transmit-buffer empty interrupt: 0x1A Ch.2 receive-buffer full interrupt: 0x22 Ch.2 transmit-buffer empty interrupt: 0x23 Ch.3 receive-buffer full interrupt: 0x24 Ch.3 transmit-buffer empty interrupt: 0x25 The IDMA request and enable bits shown in Table 8.8 must be set to "1" for IDMA to be invoked. Transfer conditions, etc. on the IDMA side must also be set in advance. Table 8.8 Control Bits for IDMA Transfer Channel Ch.0 Ch.1 Ch.2 Ch.3 Interrupt factor Receive-buffer full Transmit-buffer empty Receive-buffer full Transmit-buffer empty Receive-buffer full Transmit-buffer empty Receive-buffer full Transmit-buffer empty IDMA request bit RSRX0(D6/0x40292) RSTX0(D7/0x40292) RSRX1(D0/0x40293) RSTX1(D1/0x40293) RSRX2(D2/0x4029B) RSTX2(D3/0x4029B) RSRX3(D4/0x4029B) RSTX3(D5/0x4029B) IDMA enable bit DESRX0(D6/0x40296) DESTX0(D7/0x40296) DESRX1(D0/0x40297) DESTX1(D1/0x40297) DESRX2(D2/0x4029C) DESTX2(D3/0x4029C) DESRX3(D4/0x4029C) DESTX3(D5/0x4029C) If an interrupt factor occurs when the IDMA request and enable bits are set to "1", IDMA is invoked. No interrupt request is generated at that point. An interrupt request is generated upon completion of the DMA transfer. The bits can also be set so as not to generate an interrupt, with only a DAM transfer performed. For details on DMA transfer and how to control interrupts upon completion of DMA transfer, refer to "IDMA (Intelligent DMA)". High-speed DMA The serial interface Ch.0 and Ch. 1 transmit buffer empty and receive buffer full interrupt factors can be used to start high-speed DMS (HSDMA) operations. The following shows the HSDMA channel number and trigger set-up bit corresponding to each channel: S1C33T01 FUNCTION PART EPSON B-III-8-25 III PERIPHERAL BLOCK: SERIAL INTERFACE Table 8.9 HSDMA Trigger Set-up Bits SIF Ch. 0 1 0 1 HSDMA Ch. 0 1 2 3 Trigger set-up bits HSD0S[3:0] (D[3:0]) / HSDMA Ch.0/1 trigger set-up register (0x40298) HSD1S[3:0] (D[7:4]) / HSDMA Ch.0/1 trigger set-up register (0x40298) HSD2S[3:0] (D[3:0]) / HSDMA Ch.2/3 trigger set-up register (0x40299) HSD3S[3:0] (D[7:4]) / HSDMA Ch.2/3 trigger set-up register (0x40299) For HSDMA to be invoked by the receive-buffer full interrupt factor, the trigger set-up bits should be set to "1010". For HSDMA to be invoked by the transmit-buffer empty interrupt factor, the trigger set-up bits should be set to "1011". Transfer conditions, etc. must also be set on the HSDMA side. The HSDMA channel is invoked through generation of the interrupt factor. For details on HSDMA transfer, refer to "HSDMA (High-Speed DMA)". Trap vectors The trap-vector address of each default interrupt factor is set as follows: Ch.0 receive-error interrupt: 0x0C000E0 Ch.0 receive-buffer full interrupt: 0x0C000E4 Ch.0 transmit-buffer empty interrupt: 0x0C000E8 Ch.1 receive-error interrupt: 0x0C000EC Ch.1 receive-buffer full interrupt: 0x0C000F0 Ch.1 transmit-buffer empty interrupt: 0x0C000F4 Ch.2 receive-error interrupt: 0x0C00130 Ch.2 receive-buffer full interrupt: 0x0C00134 Ch.2 transmit-buffer empty interrupt: 0x0C00138 Ch.3 receive-error interrupt: 0x0C00140 Ch.3 receive-buffer full interrupt: 0x0C00144 Ch.3 transmit-buffer empty interrupt: 0x0C00148 The base address of the trap table can be changed using the TTBR register (0x48134 to 0x48137). B-III-8-26 EPSON S1C33T01 FUNCTION PART III PERIPHERAL BLOCK: SERIAL INTERFACE I/O Memory of Serial Interface Table 8.10 shows the control bits of the serial interface. For details on the I/O memory of the prescaler that is used to set clocks, as well of that of 8-bit programmable timers, refer to "Prescaler" and "8-Bit Programmable Timers", respectively. Table 8.10 Name Control Bits of Serial Interface Register name Address Bit Function Serial I/F Ch.0 transmit data register 00401E0 (B) D7 D6 D5 D4 D3 D2 D1 D0 TXD07 TXD06 TXD05 TXD04 TXD03 TXD02 TXD01 TXD00 Serial I/F Ch.0 transmit data TXD07(06) = MSB TXD00 = LSB 0x0 to 0xFF(0x7F) X X X X X X X X Serial I/F Ch.0 receive data register 00401E1 (B) D7 D6 D5 D4 D3 D2 D1 D0 RXD07 RXD06 RXD05 RXD04 RXD03 RXD02 RXD01 RXD00 Serial I/F Ch.0 receive data RXD07(06) = MSB RXD00 = LSB 0x0 to 0xFF(0x7F) X X X X X X X X R 7-bit asynchronous mode does not use RXD07 (fixed at 0). - - 0 0 0 0 1 0 - R R/W R/W R/W R R 0 when being read. 1 Enabled 0 Disabled 1 Enabled 0 Disabled 1 With parity 0 No parity 1 Odd 0 Even 1 2 bits 0 1 bit 1 #SCLK0 0 Internal clock SMD0[1:0] Transfer mode 1 1 8-bit asynchronous 1 0 7-bit asynchronous Clock sync. Slave 0 1 Clock sync. Master 0 0 0 0 X X X X X X R/W R/W R/W Valid only in R/W asynchronous mode. R/W R/W R/W - - X X X X X - 0 when being read. R/W R/W Valid only in R/W asynchronous mode. R/W R/W 7-bit asynchronous mode does not use TXD17. Serial I/F Ch.0 00401E2 D7-6 - status register (B) D5 TEND0 D4 FER0 D3 PER0 D2 OER0 D1 TDBE0 D0 RDBF0 - Ch.0 transmit-completion flag Ch.0 flaming error flag Ch.0 parity error flag Ch.0 overrun error flag Ch.0 transmit data buffer empty Ch.0 receive data buffer full Serial I/F Ch.0 00401E3 control register (B) Ch.0 transmit enable Ch.0 receive enable Ch.0 parity enable Ch.0 parity mode selection Ch.0 stop bit selection Ch.0 input clock selection Ch.0 transfer mode selection D7 D6 D5 D4 D3 D2 D1 D0 TXEN0 RXEN0 EPR0 PMD0 STPB0 SSCK0 SMD01 SMD00 Setting 1 1 1 1 1 1 Transmitting Error Error Error Empty Buffer full 0 0 0 0 0 0 Init. R/W End Normal Normal Normal Buffer full Empty Serial I/F Ch.0 IrDA register 00401E4 D7-5 - (B) D4 DIVMD0 D3 IRTL0 D2 IRRL0 D1 IRMD01 D0 IRMD00 - Ch.0 async. clock division ratio Ch.0 IrDA I/F output logic inversion Ch.0 IrDA I/F input logic inversion Ch.0 interface mode selection Serial I/F Ch.1 transmit data register 00401E5 (B) D7 D6 D5 D4 D3 D2 D1 D0 TXD17 TXD16 TXD15 TXD14 TXD13 TXD12 TXD11 TXD10 Serial I/F Ch.1 transmit data TXD17(16) = MSB TXD10 = LSB 0x0 to 0xFF(0x7F) X X X X X X X X Serial I/F Ch.1 receive data register 00401E6 (B) D7 D6 D5 D4 D3 D2 D1 D0 RXD17 RXD16 RXD15 RXD14 RXD13 RXD12 RXD11 RXD10 Serial I/F Ch.1 receive data RXD17(16) = MSB RXD10 = LSB 0x0 to 0xFF(0x7F) X X X X X X X X S1C33T01 FUNCTION PART EPSON 1 1/8 1 Inverted 1 Inverted IRMD0[1:0] 1 1 1 0 0 1 0 0 0 1/16 0 Direct 0 Direct I/F mode reserved IrDA 1.0 reserved General I/F Remarks R/W 7-bit asynchronous mode does not use TXD07. R Reset by writing 0. Reset by writing 0. Reset by writing 0. 7-bit asynchronous mode does not use RXD17 (fixed at 0). B-III-8-27 III PERIPHERAL BLOCK: SERIAL INTERFACE Table 8.10 Control Bits of Serial Interface (continue) Register name Address Bit Name Function Serial I/F Ch.1 00401E7 D7-6 - status register (B) D5 TEND1 D4 FER1 D3 PER1 D2 OER1 D1 TDBE1 D0 RDBF1 - Ch.1 transmit-completion flag Ch.1 flaming error flag Ch.1 parity error flag Ch.1 overrun error flag Ch.1 transmit data buffer empty Ch.1 receive data buffer full Serial I/F Ch.1 00401E8 control register (B) Ch.1 transmit enable Ch.1 receive enable Ch.1 parity enable Ch.1 parity mode selection Ch.1 stop bit selection Ch.1 input clock selection Ch.1 transfer mode selection D7 D6 D5 D4 D3 D2 D1 D0 TXEN1 RXEN1 EPR1 PMD1 STPB1 SSCK1 SMD11 SMD10 Setting Init. R/W - Remarks - 0 0 0 0 1 0 - R R/W R/W R/W R R 1 Enabled 0 Disabled 1 Enabled 0 Disabled 1 With parity 0 No parity 1 Odd 0 Even 1 2 bits 0 1 bit 1 #SCLK1 0 Internal clock SMD1[1:0] Transfer mode 1 1 8-bit asynchronous 1 0 7-bit asynchronous Clock sync. Slave 0 1 Clock sync. Master 0 0 0 0 X X X X X X R/W R/W R/W Valid only in R/W asynchronous mode. R/W R/W R/W - - X X X X X - 0 when being read. R/W R/W Valid only in R/W asynchronous mode. R/W R/W 7-bit asynchronous mode does not use TXD27. 1 1 1 1 1 1 Transmitting Error Error Error Empty Buffer full 0 0 0 0 0 0 End Normal Normal Normal Buffer full Empty 0 when being read. Reset by writing 0. Reset by writing 0. Reset by writing 0. Serial I/F Ch.1 IrDA register 00401E9 D7-5 - (B) D4 DIVMD1 D3 IRTL1 D2 IRRL1 D1 IRMD11 D0 IRMD10 - Ch.1 async. clock division ratio Ch.1 IrDA I/F output logic inversion Ch.1 IrDA I/F input logic inversion Ch.1 interface mode selection Serial I/F Ch.2 transmit data register 00401F0 (B) D7 D6 D5 D4 D3 D2 D1 D0 TXD27 TXD26 TXD25 TXD24 TXD23 TXD22 TXD21 TXD20 Serial I/F Ch.2 transmit data TXD27(26) = MSB TXD20 = LSB 0x0 to 0xFF(0x7F) X X X X X X X X Serial I/F Ch.2 receive data register 00401F1 (B) D7 D6 D5 D4 D3 D2 D1 D0 RXD27 RXD26 RXD25 RXD24 RXD23 RXD22 RXD21 RXD20 Serial I/F Ch.2 receive data RXD27(26) = MSB RXD20 = LSB 0x0 to 0xFF(0x7F) X X X X X X X X R 7-bit asynchronous mode does not use RXD27 (fixed at 0). D7-6 D5 D4 D3 D2 D1 D0 - TEND2 FER2 PER2 OER2 TDBE2 RDBF2 reserved Ch.2 transmit-completion flag Ch.2 flaming error flag Ch.2 parity error flag Ch.2 overrun error flag Ch.2 transmit data buffer empty Ch.2 receive data buffer full - - 0 0 0 0 1 0 - R R/W R/W R/W R R 0 when being read. D7 D6 D5 D4 D3 D2 D1 D0 TXEN2 RXEN2 EPR2 PMD2 STPB2 SSCK2 SMD21 SMD20 Ch.2 transmit enable Ch.2 receive enable Ch.2 parity enable Ch.2 parity mode selection Ch.2 stop bit selection Ch.2 input clock selection Ch.2 transfer mode selection 0 0 X X X X X X R/W R/W R/W Valid only in R/W asynchronous mode. R/W R/W R/W Serial I/F Ch.2 00401F2 status register (B) Serial I/F Ch.2 00401F3 control register (B) B-III-8-28 EPSON 1 1/8 1 Inverted 1 Inverted IRMD1[1:0] 1 1 1 0 0 1 0 0 1 1 1 1 1 1 Transmitting Error Error Error Empty Buffer full 0 1/16 0 Direct 0 Direct I/F mode reserved IrDA 1.0 reserved General I/F 0 0 0 0 0 0 End Normal Normal Normal Buffer full Empty 1 Enabled 0 Disabled 1 Enabled 0 Disabled 1 With parity 0 No parity 1 Odd 0 Even 1 2 bits 0 1 bit 1 #SCLK2 0 Internal clock SMD2[1:0] Transfer mode 1 1 8-bit asynchronous 1 0 7-bit asynchronous Clock sync. Slave 0 1 Clock sync. Master 0 0 Reset by writing 0. Reset by writing 0. Reset by writing 0. S1C33T01 FUNCTION PART III PERIPHERAL BLOCK: SERIAL INTERFACE Table 8.10 Control Bits of Serial Interface (continue) Register name Address Bit Function Setting - DIVMD2 IRTL2 IRRL2 IRMD21 IRMD20 reserved Ch.2 async. clock division ratio Ch.2 IrDA I/F output logic inversion Ch.2 IrDA I/F input logic inversion Ch.2 interface mode selection - D7 D6 D5 D4 D3 D2 D1 D0 TXD37 TXD36 TXD35 TXD34 TXD33 TXD32 TXD31 TXD30 Serial I/F Ch.3 transmit data TXD37(36) = MSB TXD30 = LSB D7 D6 D5 D4 D3 D2 D1 D0 RXD37 RXD36 RXD35 RXD34 RXD33 RXD32 RXD31 RXD30 Serial I/F Ch.3 receive data RXD37(36) = MSB RXD30 = LSB D7-6 D5 D4 D3 D2 D1 D0 - TEND3 FER3 PER3 OER3 TDBE3 RDBF3 reserved Ch.3 transmit-completion flag Ch.3 flaming error flag Ch.3 parity error flag Ch.3 overrun error flag Ch.3 transmit data buffer empty Ch.3 receive data buffer full D7 D6 D5 D4 D3 D2 D1 D0 TXEN3 RXEN3 EPR3 PMD3 STPB3 SSCK3 SMD31 SMD30 Ch.3 transmit enable Ch.3 receive enable Ch.3 parity enable Ch.3 parity mode selection Ch.3 stop bit selection Ch.3 input clock selection Ch.3 transfer mode selection D7-5 D4 D3 D2 D1 D0 - DIVMD3 IRTL3 IRRL3 IRMD31 IRMD30 reserved Ch.3 async. clock division ratio Ch.3 IrDA I/F output logic inversion Ch.3 IrDA I/F input logic inversion Ch.3 interface mode selection D7 D6 D5 D4 D3 D2 D1 D0 - PSIO02 PSIO01 PSIO00 - P8TM2 P8TM1 P8TM0 reserved Serial interface Ch.0 interrupt level - 0 to 7 reserved 8-bit timer 0-3 interrupt level - 0 to 7 D7 D6 D5 D4 D3 D2 D1 D0 - PAD2 PAD1 PAD0 - PSIO12 PSIO11 PSIO10 reserved A/D converter interrupt level - 0 to 7 reserved Serial interface Ch.1 interrupt level - 0 to 7 Serial I/F Ch.2 IrDA register 00401F4 (B) D7-5 D4 D3 D2 D1 D0 Serial I/F Ch.3 transmit data register 00401F5 (B) Serial I/F Ch.3 receive data register 00401F6 (B) Serial I/F Ch.3 00401F7 status register (B) Serial I/F Ch.3 00401F8 control register (B) Serial I/F Ch.3 IrDA register 00401F9 (B) 8-bit timer, 0040269 serial I/F Ch.0 (B) interrupt priority register Serial I/F Ch.1, 004026A A/D interrupt (B) priority register S1C33T01 FUNCTION PART Name EPSON Init. R/W Remarks - X X X X X - 0 when being read. R/W R/W Valid only in R/W asynchronous mode. R/W 0x0 to 0xFF(0x7F) X X X X X X X X R/W 7-bit asynchronous mode does not use TXD37. 0x0 to 0xFF(0x7F) X X X X X X X X R 7-bit asynchronous mode does not use RXD37 (fixed at 0). - - 0 0 0 0 1 0 - R R/W R/W R/W R R 0 when being read. 1 Enabled 0 Disabled 1 Enabled 0 Disabled 1 With parity 0 No parity 1 Odd 0 Even 1 2 bits 0 1 bit 1 #SCLK3 0 Internal clock SMD3[1:0] Transfer mode 1 1 8-bit asynchronous 1 0 7-bit asynchronous Clock sync. Slave 0 1 Clock sync. Master 0 0 0 0 X X X X X X R/W R/W R/W Valid only in R/W asynchronous mode. R/W R/W R/W - - X X X X X - 0 when being read. R/W R/W Valid only in R/W asynchronous mode. R/W - X X X - X X X - 0 when being read. R/W - X X X - X X X - 0 when being read. R/W 1 1/8 1 Inverted 1 Inverted IRMD2[1:0] 1 1 1 0 0 1 0 0 1 1 1 1 1 1 0 1/16 0 Direct 0 Direct I/F mode reserved IrDA 1.0 reserved General I/F Transmitting Error Error Error Empty Buffer full 1 1/8 1 Inverted 1 Inverted IRMD3[1:0] 1 1 1 0 0 1 0 0 0 0 0 0 0 0 End Normal Normal Normal Buffer full Empty 0 1/16 0 Direct 0 Direct I/F mode reserved IrDA 1.0 reserved General I/F Reset by writing 0. Reset by writing 0. Reset by writing 0. - 0 when being read. R/W - 0 when being read. R/W B-III-8-29 III PERIPHERAL BLOCK: SERIAL INTERFACE Table 8.10 Control Bits of Serial Interface (continue) Register name Address Bit Name Serial I/F 004026E Ch.2/3 (B) interrupt priority register D7 D6 D5 D4 D3 D2 D1 D0 - PSIO32 PSIO31 PSIO30 - PSIO22 PSIO21 PSIO20 reserved Serial interface Ch.3 interrupt level Function Setting - 0 to 7 reserved Serial interface Ch.2 interrupt level - 0 to 7 Serial I/F Ch.0/1 0040276 interrupt (B) enable register D7-6 D5 D4 D3 D2 D1 D0 - ESTX1 ESRX1 ESERR1 ESTX0 ESRX0 ESERR0 reserved SIF Ch.1 transmit buffer empty SIF Ch.1 receive buffer full SIF Ch.1 receive error SIF Ch.0 transmit buffer empty SIF Ch.0 receive buffer full SIF Ch.0 receive error Serial I/F 0040279 Ch.2/3 (B) interrupt enable register D7-6 D5 D4 D3 D2 D1 D0 - ESTX3 ESRX3 ESERR3 ESTX2 ESRX2 ESERR2 reserved SIF Ch.3 transmit buffer empty SIF Ch.3 receive buffer full SIF Ch.3 receive error SIF Ch.2 transmit buffer empty SIF Ch.2 receive buffer full SIF Ch.2 receive error Serial I/F Ch.0/1 0040286 interrupt factor (B) flag register D7-6 D5 D4 D3 D2 D1 D0 - FSTX1 FSRX1 FSERR1 FSTX0 FSRX0 FSERR0 reserved SIF Ch.1 transmit buffer empty SIF Ch.1 receive buffer full SIF Ch.1 receive error SIF Ch.0 transmit buffer empty SIF Ch.0 receive buffer full SIF Ch.0 receive error Serial I/F 0040289 Ch.2/3 (B) interrupt factor flag register D7-6 D5 D4 D3 D2 D1 D0 - FSTX3 FSRX3 FSERR3 FSTX2 FSRX2 FSERR2 reserved SIF Ch.3 transmit buffer empty SIF Ch.3 receive buffer full SIF Ch.3 receive error SIF Ch.2 transmit buffer empty SIF Ch.2 receive buffer full SIF Ch.2 receive error - 1 Enabled 0 Disabled - 1 Enabled 0 Disabled - 1 Factor is generated 0 No factor is generated - 1 Factor is generated 0 No factor is generated Init. R/W Remarks - X X X - X X X - 0 when being read. R/W - 0 0 0 0 0 0 - 0 when being read. R/W R/W R/W R/W R/W R/W - 0 0 0 0 0 0 - 0 when being read. R/W R/W R/W R/W R/W R/W - X X X X X X - 0 when being read. R/W R/W R/W R/W R/W R/W - X X X X X X - 0 when being read. R/W R/W R/W R/W R/W R/W - 0 when being read. R/W 16-bit timer 5, 8-bit timer, serial I/F Ch.0 IDMA request register 0040292 (B) D7 D6 D5 D4 D3 D2 D1 D0 RSTX0 RSRX0 R8TU3 R8TU2 R8TU1 R8TU0 R16TC5 R16TU5 SIF Ch.0 transmit buffer empty SIF Ch.0 receive buffer full 8-bit timer 3 underflow 8-bit timer 2 underflow 8-bit timer 1 underflow 8-bit timer 0 underflow 16-bit timer 5 comparison A 16-bit timer 5 comparison B 1 IDMA request 0 Interrupt request 0 0 0 0 0 0 0 0 R/W R/W R/W R/W R/W R/W R/W R/W Serial I/F Ch.1, A/D, port input 4-7 IDMA request register 0040293 (B) D7 D6 D5 D4 D3 D2 D1 D0 RP7 RP6 RP5 RP4 - RADE RSTX1 RSRX1 Port input 7 Port input 6 Port input 5 Port input 4 reserved A/D converter SIF Ch.1 transmit buffer empty SIF Ch.1 receive buffer full 1 IDMA request 0 Interrupt request 1 IDMA request 0 Interrupt request 0 0 0 0 - 0 0 0 R/W R/W R/W R/W - 0 when being read. R/W R/W R/W - 16-bit timer 5, 8-bit timer, serial I/F Ch.0 IDMA enable register 0040296 (B) D7 D6 D5 D4 D3 D2 D1 D0 DESTX0 DESRX0 DE8TU3 DE8TU2 DE8TU1 DE8TU0 DE16TC5 DE16TU5 SIF Ch.0 transmit buffer empty SIF Ch.0 receive buffer full 8-bit timer 3 underflow 8-bit timer 2 underflow 8-bit timer 1 underflow 8-bit timer 0 underflow 16-bit timer 5 comparison A 16-bit timer 5 comparison B 1 IDMA enabled 0 IDMA disabled 0 0 0 0 0 0 0 0 R/W R/W R/W R/W R/W R/W R/W R/W Serial I/F Ch.1, A/D, port input 4-7 IDMA enable register 0040297 (B) D7 D6 D5 D4 D3 D2 D1 D0 DEP7 DEP6 DEP5 DEP4 - DEADE DESTX1 DESRX1 Port input 7 Port input 6 Port input 5 Port input 4 reserved A/D converter SIF Ch.1 transmit buffer empty SIF Ch.1 receive buffer full 1 IDMA enabled 0 IDMA disabled 0 0 0 0 - 0 0 0 R/W R/W R/W R/W - 0 when being read. R/W R/W R/W B-III-8-30 EPSON - 1 IDMA enabled 0 IDMA disabled S1C33T01 FUNCTION PART III PERIPHERAL BLOCK: SERIAL INTERFACE Table 8.1 Register name Address Bit Serial-Interface Pin Configuration (continue) Name Function 8-bit timer 4-5 004029B D7-6 - serial I/F Ch.2/3 (B) D5 RSTX3 IDMA request D4 RSRX3 register D3 RSTX2 D2 RSRX2 D1 R8TU5 D0 R8TU4 reserved SIF Ch.3 transmit buffer empty SIF Ch.3 receive buffer full SIF Ch.2 transmit buffer empty SIF Ch.2 receive buffer full 8-bit timer 5 underflow 8-bit timer 4 underflow 8-bit timer 4-5 004029C D7-6 - serial I/F Ch.2/3 (B) D5 DESTX3 IDMA enable D4 DESRX3 register D3 DESTX2 D2 DESRX2 D1 DE8TU5 D0 DE8TU4 reserved SIF Ch.3 transmit buffer empty SIF Ch.3 receive buffer full SIF Ch.2 transmit buffer empty SIF Ch.2 receive buffer full 8-bit timer 5 underflow 8-bit timer 4 underflow P0 function select register 00402D0 (B) D7 D6 D5 D4 D3 D2 D1 D0 CFP07 CFP06 CFP05 CFP04 CFP03 CFP02 CFP01 CFP00 Port function extension register 00402DF (B) D7 D6 D5 D4 D3 D2 D1 P4 function select register 0040300 (B) Setting Init. R/W - 1 IDMA request 0 Interrupt request - - 0 when being read. R/W R/W R/W R/W R/W R/W - 0 0 0 0 0 0 - 0 when being read. R/W R/W R/W R/W R/W R/W 0 0 0 0 0 0 0 0 R/W Extended functions R/W (0x402DF) R/W R/W R/W R/W R/W R/W 1 IDMA enabled 0 IDMA disabled P07 function selection P06 function selection P05 function selection P04 function selection P03 function selection P02 function selection P01 function selection P00 function selection 1 1 1 1 1 1 1 1 #SRDY1 #SCLK1 SOUT1 SIN1 #SRDY0 #SCLK0 SOUT0 SIN0 0 0 0 0 0 0 0 0 CFEX7 CFEX6 CFEX5 CFEX4 CFEX3 CFEX2 CFEX1 P07 port extended function P06 port extended function P05 port extended function P04 port extended function P31 port extended function P21 port extended function P10, P11, P13 port extended function 1 1 1 1 1 1 1 0 0 0 0 0 0 0 R/W R/W R/W R/W R/W R/W R/W CFEX0 P12, P14 port extended function P07, etc. P06, etc. P05, etc. P04, etc. P31, etc. P21, etc. P10, etc. P11, etc. P13, etc. 0 P12, etc. P14, etc. 0 0 0 0 0 0 1 D0 #DMAEND3 #DMAACK3 #DMAEND2 #DMAACK2 #GARD #GAAS DST0 DST1 DPC0 1 DST2 DCLK 1 R/W D7 D6 D5 D4 D3 D2 D1 D0 CFP47 CFP46 CFP45 CFP44 CFP43 CFP42 CFP41 CFP40 P47 function selection P46 function selection P45 function selection P44 function selection P43 function selection P42 function selection P41 function selection P40 function selection 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 R/W R/W R/W R/W R/W R/W R/W R/W #SRDY3 #SCLK3 SOUT3 SIN3 #SRDY2 #SCLK2 SOUT2 SIN2 P07 P06 P05 P04 P03 P02 P01 P00 P47 P46 P45 P44 P43 P42 P41 P40 Remarks - 0 0 0 0 0 0 CFP07-CFP00: P0[7:0] pin function selection (D[7:0]) / P0 function select register (0x402D0) CFP47-CFP40: P4[7:0] pin function selection (D[7:0]) / P0 function select register (0x40300) Selects the pins used for the serial interface. Write "1": Serial-interface input/output pin Write "0": I/O port pin Read: Valid The pins used for the serial interface are selected from P00 to P07 and P40 to P47 by writing "1" to CFP00 to CFP07 and CFP40 to CFP47. Pins P00 to P03 (SIN0, SOUT0, #SCLK0, and #SRDY0) are used for Ch. 0 and Pins P04 to P07 (SIN1, SOUT1, #SCLK1, and #SRDY1) are used for Ch. 1. Pins P40 to P43 (SIN2, SOUT2, #SCLK2, and #SRDY2) are used for Ch. 2 and Pins P44 to P47 (SIN3, SOUT3, #SCLK3, and #SRDY3) are used for Ch. 3. If "0" is written, the corresponding pin functions as a shared function I/O port pin. The necessary input/output pins differ depending on the transfer mode set (see Table 8.3). At cold start, CFP is set to "0" (I/O port). At hot start, CFP retains its state from prior to the initial reset. S1C33T01 FUNCTION PART EPSON B-III-8-31 III PERIPHERAL BLOCK: SERIAL INTERFACE CFEX7-CFEX4: P0[7:4] pin function selection (D[7:4]) / Port function extension register (0x402DF) Selects the extended function of pins P07-P04. Write "1": Function-extended pin Write "0": I/O-port/serial I/O pin Read: Valid When CFEX[7:4] is set to "1", the P07-P04 ports function as DMA signal output ports. When CFEX[7:4] = "0", the CFP0[7:4] bit becomes effective, so the settings of these bits determine whether the P07-P04 ports function as I/O port s or serial interface Ch.1 signal output ports. At cold start, CFEX[7:4] is set to "0" (I/O-port/serial I/O pin). At hot start, CFEX[7:4] retains its state from prior to the initial reset. TXD07-TXD00: Ch.0 TXD17-TXD10: Ch.1 TXD27-TXD20: Ch.2 TXD37-TXD30: Ch.3 transmit data (D[7:0]) / Serial I/F Ch.0 transmit data (D[7:0]) / Serial I/F Ch.1 transmit data (D[7:0]) / Serial I/F Ch.2 transmit data (D[7:0]) / Serial I/F Ch.3 transmit data register transmit data register transmit data register transmit data register (0x401E0) (0x401E5) (0x401F0) (0x401F5) Sets transmit data. When data is written to this register (transmit buffer) after "1" is written to TXENx, a transmit operation is begun. TDBEx is set to "1" (transmit-buffer empty) when the data is transferred to the shift register. A transmit-buffer empty interrupt factor is simultaneously generated. The next transmit data can be written to the buffer at any time thereafter, even when the serial interface is sending data. In the 7-bit asynchronous mode, TXDx7 (MSB) is ignored. The serial-converted data is output from the SOUT pin beginning with the LSB, in which the bits set to "1" are output as high-level signals and those set to "0" output as low-level signals. This register can be read as well as written. At initial reset, the content of TXDx becomes indeterminate. RXD07-RXD00: Ch.0 RXD17-RXD10: Ch.1 RXD27-RXD20: Ch.2 RXD37-RXD30: Ch.3 receive receive receive receive data (D[7:0]) / Serial I/F Ch.0 data (D[7:0]) / Serial I/F Ch.1 data (D[7:0]) / Serial I/F Ch.2 data (D[7:0]) / Serial I/F Ch.3 receive receive receive receive data register (0x401E1) data register (0x401E6) data register (0x401F1) data register (0x401F6) Stores received data. When a receive operation is completed and the data received in the shift register is transferred to this register (receive buffer), RDBFx is set to "1" (receive buffer full). At the same time, a receive-buffer full interrupt factor is generated. Thereafter, the data can be read out at any time before a receive operation for the next data is completed. If the next data receive operation is completed before this register is read out, the data in it is overwritten with the newly received data, causing an overrun error to occur. In the 7-bit asynchronous mode, "0" is stored in RXDx7. The serial data input from the SINx pin is converted into parallel data beginning with the LSB, with the high-level signals changed to "1"s and the low-level signals changed to "0"s. The resulting data is stored in this buffer. This register is a read-only register, so no data can be written to it. At initial reset, the content of RXDx becomes indeterminate. TEND0: Ch.0 TEND1: Ch.1 TEND2: Ch.2 TEND3: Ch.3 transmit-completion flag transmit-completion flag transmit-completion flag transmit-completion flag (D5) / Serial I/F Ch.0 (D5) / Serial I/F Ch.1 (D5) / Serial I/F Ch.2 (D5) / Serial I/F Ch.3 status status status status register (0x401E2) register (0x401E7) register (0x401F2) register (0x401F7) Indicates the transmission status. Read "1": During transmitting Read "0": End of transmission Write: Invalid TENDx goes "1" when data is being transmitted and goes "0" when the transmission has completed. B-III-8-32 EPSON S1C33T01 FUNCTION PART III PERIPHERAL BLOCK: SERIAL INTERFACE When data is transmitted successively in clock-synchronized master mode or asynchronous mode, TENDx maintains "1" until all data is transmitted (see Figure 8.4 and Figure 8.12). In clock-synchronized slave mode, TENDx goes "0" every time 1-byte data is transmitted (see Figure 8.5). At initial reset, TENDx is set to "0" (End of transmission). FER0: Ch.0 FER1: Ch.1 FER2: Ch.2 FER3: Ch.3 framing-error flag framing-error flag framing-error flag framing-error flag (D4) / Serial I/F Ch.0 (D4) / Serial I/F Ch.1 (D4) / Serial I/F Ch.2 (D4) / Serial I/F Ch.3 status status status status register (0x401E2) register (0x401E7) register (0x401F2) register (0x401F7) Indicates whether a framing error occurred. Read "1": Read "0": Write "1": Write "0": An error occurred No error occurred Invalid Reset to "0" The FERx flag is an error flag indicating whether a framing error occurred. When an error has occurred, it is set to "1". A framing error occurs when data with a stop bit = "0" is received in the asynchronous mode. The FERx flag is reset by writing "0". At initial reset, as well as when RXENx and TXENx both are set to "0", the FERx flag is set to "0" (no error). PER0: Ch.0 PER1: Ch.1 PER2: Ch.2 PER3: Ch.3 parity-error flag parity-error flag parity-error flag parity-error flag (D3) / Serial I/F Ch.0 (D3) / Serial I/F Ch.1 (D3) / Serial I/F Ch.2 (D3) / Serial I/F Ch.3 status status status status register (0x401E2) register (0x401E7) register (0x401F2) register (0x401F7) Indicates whether a parity error occurred. Read "1": Read "0": Write "1": Write "0": An error occurred No error occurred Invalid Reset to "0" The PERx flag is an error flag indicating whether a parity error occurred. When an error has occurred, it is set to "1". Parity checks are valid only in the asynchronous mode with EPRx set to "1" (parity added). This check is performed when the received data is transferred from the shift register to the receive data register. The PERx flag is reset by writing "0". At initial reset, as well as when RXENx and TXENx both are set to "0", PERx is set to "0" (no error). OER0: Ch.0 OER1: Ch.1 OER2: Ch.2 OER3: Ch.3 overrun-error flag overrun-error flag overrun-error flag overrun-error flag (D2) / Serial I/F Ch.0 (D2) / Serial I/F Ch.1 (D2) / Serial I/F Ch.2 (D2) / Serial I/F Ch.3 status status status status register (0x401E2) register (0x401E7) register (0x401F2) register (0x401F7) Indicates whether an overrun error occurred. Read "1": Read "0": Write "1": Write "0": An error occurred No error occurred Invalid Reset to "0" The OERx flag is an error flag indicating whether an overrun error occurred. When an error has occurred, it is set to "1". An overrun error occurs when the next receive operation is completed before the receive data register is read out, resulting in the receive data register being overwritten. The OERx flag is reset by writing "0". At initial reset, as well as when RXENx and TXENx both are set to "0", OERx is set to "0" (no error). S1C33T01 FUNCTION PART EPSON B-III-8-33 III PERIPHERAL BLOCK: SERIAL INTERFACE TDBE0: Ch.0 TDBE1: Ch.1 TDBE2: Ch.2 TDBE3: Ch.3 transmit data buffer empty transmit data buffer empty transmit data buffer empty transmit data buffer empty (D1) / Serial I/F Ch.0 (D1) / Serial I/F Ch.1 (D1) / Serial I/F Ch.2 (D1) / Serial I/F Ch.3 status status status status register (0x401E2) register (0x401E7) register (0x401F2) register (0x401F7) Indicates the status of the transmit data register (buffer). Read "1": Buffer empty Read "0": Buffer full Write: Invalid TDBEx is set to "0" when transmit data is written to the transmit data register, and is set to "1" when this data is transferred to the shift register (transmit operation started). Transmit data is written to the transmit data register when this bit = "1". At initial reset, TDBEx is set to "1" (buffer empty). RDBF0: Ch.0 RDBF1: Ch.1 RDBF2: Ch.2 RDBF3: Ch.3 receive receive receive receive data buffer data buffer data buffer data buffer full (D0) / Serial I/F Ch.0 full (D0) / Serial I/F Ch.1 full (D0) / Serial I/F Ch.2 full (D0) / Serial I/F Ch.3 status status status status register (0x401E2) register (0x401E7) register (0x401F2) register (0x401F7) Indicates the status of the receive data register (buffer). Read "1": Buffer full Read "0": Buffer empty Write: Invalid RDBFx is set to "1" when the data received in the shift register is transferred to the receive data register (receive operation completed), indicating that the received data can be read out. This bit is reset to "0" when the data is read out. At initial reset, RDBFx is set to "0" (buffer empty). TXEN0: Ch.0 TXEN1: Ch.1 TXEN2: Ch.2 TXEN3: Ch.3 transmit transmit transmit transmit enable enable enable enable (D7) / Serial I/F Ch.0 (D7) / Serial I/F Ch.1 (D7) / Serial I/F Ch.2 (D7) / Serial I/F Ch.3 control control control control register (0x401E3) register (0x401E8) register (0x401F3) register (0x401F8) Enables each channel for transmit operations. Write "1": Transmit enabled Write "0": Transmit disabled Read: Valid When TXENx for a channel is set to "1", the channel is enabled for transmit operations. When TXENx is set to "0", the channel is disabled for transmit operations. Always make sure the TXENx = "0" before setting the transfer mode and other conditions. At initial reset, TXENx is set to "0" (transmit disabled). RXEN0: Ch.0 RXEN1: Ch.1 RXEN2: Ch.2 RXEN3: Ch.3 receive receive receive receive enable enable enable enable (D6) / Serial I/F Ch.0 (D6) / Serial I/F Ch.1 (D6) / Serial I/F Ch.2 (D6) / Serial I/F Ch.3 control control control control register (0x401E3) register (0x401E8) register (0x401F3) register (0x401F8) Enables each channel for receive operations. Write "1": Receive enabled Write "0": Receive disabled Read: Valid B-III-8-34 EPSON S1C33T01 FUNCTION PART III PERIPHERAL BLOCK: SERIAL INTERFACE When RXENx for a channel is set to "1", the channel is enabled for receive operations. When RXENx is set to "0", the channel is disabled for receive operations. Always make sure the RXENx = "0" before setting the transfer mode and other conditions. At initial reset, RXENx is set to "0" (receive disabled). EPR0: Ch.0 EPR1: Ch.1 EPR2: Ch.2 EPR3: Ch.3 parity parity parity parity enable enable enable enable (D5) / Serial I/F Ch.0 (D5) / Serial I/F Ch.1 (D5) / Serial I/F Ch.2 (D5) / Serial I/F Ch.3 control register (0x401E3) control register (0x401E8) control register (0x401F3) control register (0x401F8) Selects a parity function. Write "1": Parity added Write "0": No parity added Read: Valid EPRx is used to select whether receive data is to be checked for parity, and whether a parity bit is to be added to transmit data. When EPRx is set to "1", the receive data is checked for parity. A parity bit is automatically added to the transmit data. When EPRx is set to "0", parity is not checked and no parity bit is added. The parity function is only valid in the asynchronous mode. Settings of EPRx have no effect in the clocksynchronized mode. At initial reset, EPRx becomes indeterminate. PMD0: Ch.0 PMD1: Ch.1 PMD2: Ch.2 PMD3: Ch.3 parity parity parity parity mode selection mode selection mode selection mode selection (D4) / Serial I/F Ch.0 (D4) / Serial I/F Ch.1 (D4) / Serial I/F Ch.2 (D4) / Serial I/F Ch.3 control control control control register (0x401E3) register (0x401E8) register (0x401F3) register (0x401F8) Selects an odd or even parity. Write "1": Odd parity Write "0": Even parity Read: Valid Odd parity is selected by writing "1" to PMDx, and even parity is selected by writing "0". Parity check and the addition of a parity bit are only effective in asynchronous transfers in which EPRx is set to "1". If EPRx = "0", settings of PMDx do not have any effect. At initial reset, PMDx becomes indeterminate. STPB0: Ch.0 STPB1: Ch.1 STPB2: Ch.2 STPB3: Ch.3 stop stop stop stop bit selection bit selection bit selection bit selection (D3) / Serial I/F Ch.0 control register (0x401E3) (D3) / Serial I/F Ch.1 control register (0x401E8) (D3) / Serial I/F Ch.2 control register (0x401F3) (D3) / Serial I/F Ch.3 control register (0x401F8) Selects a stop-bit length during the performance of an asynchronous transfer. Write "1": 2 bits Write "0": 1 bit Read: Valid STPBx is only valid in an asynchronous transfer. Two stop bits are selected by writing "1" to STPBx , and one stop bit is selected by writing "0". The start bit is fixed at 1 bit. Settings of STPBx are ignored during the performance of a clock-synchronized transfer. At initial reset, STPBx becomes indeterminate. SSCK0: Ch.0 SSCK1: Ch.1 SSCK2: Ch.2 SSCK3: Ch.3 input clock selection input clock selection input clock selection input clock selection (D2) / Serial I/F Ch.0 (D2) / Serial I/F Ch.1 (D2) / Serial I/F Ch.2 (D2) / Serial I/F Ch.3 control control control control register (0x401E3) register (0x401E8) register (0x401F3) register (0x401F8) Selects the clock source for an asynchronous transfer. S1C33T01 FUNCTION PART EPSON B-III-8-35 III PERIPHERAL BLOCK: SERIAL INTERFACE Write "1": #SCLK (external clock) Write "0": Internal clock Read: Valid During operation in the asynchronous mode, this bit is used to select the clock source between an internal clock (output by an 8-bit programmable timer) and an external clock (input from the #SCLKx pin). An external clock is selected by writing "1" to this bit, and an internal clock is selected by writing "0". At initial reset, SSCKx becomes indeterminate. SMD01-SMD00: Ch.0 SMD11-SMD10: Ch.1 SMD21-SMD20: Ch.2 SMD31-SMD30: Ch.3 transfer transfer transfer transfer mode selection mode selection mode selection mode selection (D[1:0]) / Serial I/F Ch.0 (D[1:0]) / Serial I/F Ch.1 (D[1:0]) / Serial I/F Ch.2 (D[1:0]) / Serial I/F Ch.3 control control control control register (0x401E3) register (0x401E8) register (0x401F3) register (0x401F8) Sets the transfer mode of the serial interface as shown in Table 8.11 below. Table 8.11 Setting of Transfer Mode SMDx1 SMDx0 Transfer mode 1 1 0 0 1 0 1 0 8-bit asynchronous mode 7-bit asynchronous mode Clock-synchronized slave mode Clock-synchronized master mode The SMDx bit can be read as well as written. When using the IrDA interface, always be sure to set an asynchronous mode for the transfer mode. At initial reset, SMDx becomes indeterminate. DIVMD0: Sampling DIVMD1: Sampling DIVMD2: Sampling DIVMD3: Sampling clock division clock division clock division clock division ratio (D4) / Serial I/F Ch.0 ratio (D4) / Serial I/F Ch.1 ratio (D4) / Serial I/F Ch.2 ratio (D4) / Serial I/F Ch.3 IrDA register (0x401E4) IrDA register (0x401E9) IrDA register (0x401F4) IrDA register (0x401F9) Selects the division ratio of the sampling clock. Write "1": 1/8 Write "0": 1/16 Read: Valid Select the division ratio necessary to generate the sampling clock for asynchronous transfers. When DIVMDx is set to "1", the sampling clock is generated from the input clock of the serial interface (output by an 8-bit programmable timer or input from #SCLKx) by dividing it by 8. When DIVMDx is set to "0", the input clock is divided by 16. At initial reset, DIVMDx becomes indeterminate. IRTL0: Ch.0 IRTL1: Ch.1 IRTL2: Ch.2 IRTL3: Ch.3 IrDA IrDA IrDA IrDA output output output output logic logic logic logic inversion inversion inversion inversion (D3) / Serial I/F Ch.0 (D3) / Serial I/F Ch.1 (D3) / Serial I/F Ch.2 (D3) / Serial I/F Ch.3 IrDA register (0x401E4) IrDA register (0x401E9) IrDA register (0x401F4) IrDA register (0x401F9) Inverts the logic of the IrDA output signal. Write "1": Inverted Write "0": Not inverted Read: Valid When using the IrDA interface, set the logic of the SOUTx output signal to suit the infrared-ray communication circuit that is connected external to the chip. If IRTLx is set to "1", a high pulse is output when the output data = "0" (held low-level when the output data = "1"). If IRTLx is set to "0", a low pulse is output when the output data = "0" (held high-level when the output data = "1"). At initial reset, IRTLx becomes indeterminate. B-III-8-36 EPSON S1C33T01 FUNCTION PART III PERIPHERAL BLOCK: SERIAL INTERFACE IRRL0: Ch.0 IRRL1: Ch.1 IRRL2: Ch.2 IRRL3: Ch.3 IrDA IrDA IrDA IrDA input logic input logic input logic input logic inversion inversion inversion inversion (D2) / Serial I/F Ch.0 (D2) / Serial I/F Ch.1 (D2) / Serial I/F Ch.2 (D2) / Serial I/F Ch.3 IrDA register (0x401E4) IrDA register (0x401E9) IrDA register (0x401F4) IrDA register (0x401F9) Inverts the logic of the IrDA input signal. Write "1": Inverted Write "0": Not inverted Read: Valid When using the IrDA interface, set the logic of the signal that is input from an external infrared-ray communication circuit to the chip to suit the serial interface. If IRRLx is set to "1", a high pulse is input as a logic "0". If IRRLx is set to "0", a low pulse is input as a logic "0". At initial reset, IRRLx becomes indeterminate. IRMD01-IRMD00: Ch.0 IrDA interface mode selection (D[1:0]) / Serial I/F Ch.0 IrDA register (0x401E4) IRMD11-IRMD10: Ch.1 IrDA interface mode selection (D[1:0]) / Serial I/F Ch.1 IrDA register (0x401E9) IRM21-IRM20: Ch.2 IrDA interface mode selection (D[1:0]) / Serial I/F Ch.2 IrDA register (0x401F4) IRM31-IRM30: Ch.3 IrDA interface mode selection (D[1:0]) / Serial I/F Ch.3 IrDA register (0x401F9) Selects the IrDA interface function. Table 8.12 IRMDx1 IRMDx0 1 1 0 0 1 0 1 0 IrDA Interface Setting Interface mode Do not set. (reserved) IrDA 1.0 interface Do not set. (reserved) Normal interface When using the IrDA interface function, write "10" to IRMDx while setting to an asynchronous mode for the transfer mode. If the IrDA interface function is not to be used, write "00" to IRMDx. At initial reset, IRMDx becomes indeterminate. Note: This selection must always be performed before the transfer mode and other conditions are set. PSIO02-PSIO00: Ch.0 interrupt level (D[6:4]) / 8-bit timer, serial I/F Ch.0 interrupt priority register (0x40269) PSIO12-PSIO10: Ch.1 interrupt level (D[2:0]) / Serial I/F Ch.1 A/D interrupt priority register (0x4026A) PSIO22-PSIO20: Ch.2 interrupt level (D[2:0]) / 8-bit timer, serial I/F Ch.2/3 interrupt priority register (0x4026E) PSIO32-PSIO30: Ch.3 interrupt level (D[6:4]) / Serial I/F Ch.2/3 A/D interrupt priority register (0x4026E) Sets the priority level of the serial-interface interrupt. The interrupt priority level can be set for each channel in the range of 0 to 7. At initial reset, PSIOx becomes indeterminate. ESERR0, ESRX0, ESTX0: Ch.0 interrupt enable (D0,D1,D2) / Serial I/F Ch.0/1 interrupt enable register (0x40276) ESERR1, ESRX1, ESTX1: Ch.1 interrupt enable (D3,D4,D5) / Serial I/F Ch.0/1 interrupt enable register (0x40276) ESERR2, ESRX2, ESTX2: Ch.2 interrupt enable (D0,D1,D2) / Serial I/F Ch.0/1 interrupt enable register (0x40279) ESERR3, ESRX3, ESTX3: Ch.3 interrupt enable (D3,D4,D5) / Serial I/F Ch.0/1 interrupt enable register (0x40279) Enable or disable interrupt generation to the CPU. Write "1": Interrupt enabled Write "0": Interrupt disabled Read: Valid The ESERRx, ESRXx, and ESTXx bits are interrupt enable bits corresponding to receive-error, receive-buffer full, and transmit-buffer empty interrupt factors, respectively, in each channel. The interrupts for which this bit is set to "1" are enabled, and the interrupts for which this bit is set to "0" are disabled. At initial reset, all these bits are set to "0" (interrupts disabled). S1C33T01 FUNCTION PART EPSON B-III-8-37 III PERIPHERAL BLOCK: SERIAL INTERFACE FSERR0, FSRX0, FSTX0: Ch.0 interrupt factor flags (D0,D1,D2) / Serial I/F Ch.2/3 interrupt factor flag register (0x40286) FSERR1, FSRX1, FSTX1: Ch.1 interrupt factor flags (D3,D4,D5) / Serial I/F Ch.2/3 interrupt factor flag register (0x40286) FSERR2, FSRX2, FSTX2: Ch.2 interrupt factor flags (D0,D1,D2) / Serial I/F Ch.2/3 interrupt factor flag register (0x40289) FSERR3, FSRX3, FSTX3: Ch.3 interrupt factor flags (D3,D4,D5) / Serial I/F Ch.2/3 interrupt factor flag register (0x40289) Indicate the status of serial-interface interrupt generation. When read Read "1": An interrupt factor occurred Read "0": No interrupt factor occurred When written using the reset-only method (default) Write "1": Flag is reset Write "0": Invalid When written using the read/write method Write "1": Flag is set Write "0": Flag is reset The FSERRx, FSRXx, and FSTXx flags are interrupt factor flags corresponding to receive-error, receive-buffer full, and transmit-buffer empty interrupts, respectively, in each channel. The flag is set to "1" when each interrupt factor occurs. A transmit-buffer empty interrupt factor occurs when transmit data is transferred from the transmit data register to the shift register. A receive-buffer full interrupt factor occurs when receive data is transferred from the shift register to the receive data register. A receive-error interrupt factor occurs when a parity, framing, or overrun error is detected during reception of data. At this time, if the following conditions are met, an interrupt to the CPU is generated: 1. The corresponding interrupt enable register bit is set to "1". 2. No other interrupt request of a higher priority has been generated. 3. The PSR's IE bit is set to "1" (interrupts enabled). 4. The set value of the corresponding interrupt priority register is higher than the CPU interrupt level (IL). When using the receive-buffer full or transmit-buffer empty interrupt factor as an IDMA request, the fact that the above conditions are met does not necessarily mean that an interrupt request to the CPU has been output simultaneously when an interrupt factor occurs. An interrupt is generated under the above conditions upon completion of the data transfer by IDMA, provided that interrupts are enabled by settings on the IDMA side. The interrupt factor flag is set to "1" whenever an interrupt factor occurs, regardless of the settings of the interruptenable and interrupt priority registers. If the next interrupt is to be accepted following the occurrence of an interrupt, it is necessary that the interrupt factor flag be reset, and that the PSR be set up again (by setting the IE bit to "1" after setting the IL to a value lower than the level indicated by the interrupt priority register, or by executing the reti instruction). The interrupt factor flag can only be reset by writing to it in the software. Note that if the PSR is set up again to accept interrupts generated (or if the reti instruction is executed) without resetting the interrupt factor flag, the same interrupt occurs again. Note also that the value to be written to reset the flag is "1" when the reset-only method (RSTONLY = "1") is used, and "0" when the read/write method (RSTONLY = "0") is used. At initial reset, all of these flags become indeterminate, so be sure to reset them in the software. B-III-8-38 EPSON S1C33T01 FUNCTION PART III PERIPHERAL BLOCK: SERIAL INTERFACE RSRX0, RSTX0: Ch.0 IDMA request (D6, D7) / 16-bit timer 5, 8-bit timer, serial I/F Ch.0 IDMA request register (0x40292) RSRX1, RSTX1: Ch.1 IDMA request (D0, D1) / Serial I/F Ch.1, A/D IDMA request register (0x40293) RSRX2, RSTX2: Ch.2 IDMA request (D2, D3) / 8-bit timer 4-5, serial I/F Ch.2/3 IDMA request register (0x4029B) RSRX3, RSTX3: Ch.3 IDMA request (D4, D5) / 8-bit timer 4-5, serial I/F Ch.2/3 IDMA request register (0x4029B) Specifies whether to invoke IDMA when an interrupt factor occurs. When using the set-only method (default) Write "1": IDMA request Write "0": Not changed Read: Valid When using the read/write method Write "1": IDMA request Write "0": Interrupt request Read: Valid The RSRXx and RSTXx bits are IDMA request bits corresponding to receive-buffer full and transmit-buffer empty interrupt factors, respectively. If the bit is set to "1", IDMA is invoked when an interrupt factor occurs, thus performing a programmed data transfer. If this bit is set to "0", normal interrupt processing is performed, without invoking IDMA. For details on IDMA, refer to "IDMA (Intelligent DMA)". At initial reset, these bits are set to "0" (interrupt request). DESRX0, DESTX0: Ch.0 IDMA enable (D6, D7) / 16-bit timer 5, 8-bit timer, serial I/F Ch.0 IDMA enable register (0x40296) DESRX1, DESTX1: Ch.1 IDMA enable (D0, D1) / Serial I/F Ch.1, A/D IDMA enable register (0x40297) DESRX2, DESTX2: Ch.2 IDMA enable (D2, D3) / 8-bit timer 4-5,serial I/F Ch.2/3 IDMA enable register (0x4029C) DESRX3, DESTX3: Ch.3 IDMA enable (D4, D5) / 8-bit timer 4-5,serial I/F Ch.2/3 IDMA enable register (0x4029C) Enables IDMA transfer by means of an interrupt factor. When using the set-only method (default) Write "1": IDMA enabled Write "0": Not changed Read: Valid When using the read/write method Write "1": IDMA enabled Write "0": IDMA disabled Read: Valid The DESRXx and DESTXx bits are IDMA enable bits corresponding to receive-buffer full and transmit-buffer empty interrupt factors, respectively. If the bit is set to "1", the IDMA request by the interrupt factor is enabled. If the bit is set to "0", the IDMA request is disabled. At initial reset, these bits are set to "0" (IDMA disabled). S1C33T01 FUNCTION PART EPSON B-III-8-39 III PERIPHERAL BLOCK: SERIAL INTERFACE Programming Notes (1) Before setting various serial-interface parameters, make sure the transmit and receive operations are disabled (TXENx = RXENx = "0"). (2) When the serial interface is transmitting or receiving data, do not set TXENx or RXENx to "0", and do not execute the slp instruction. (3) In clock-synchronized transfers, the mode of communication is half-duplex, in which the clock line is shared between the transmit and receive units. Therefore, RXENx and TXENx cannot be enabled simultaneously. (4) After an initial reset, the interrupt factor flag becomes indeterminate. To prevent generation of an unwanted interrupt or IDMA request, reset this flag in the program. (5) If a receive error occurs, the receive-error interrupt and receive-buffer full interrupt factors occur simultaneously. However, since the receive-error interrupt has priority over the receive-buffer full interrupt, the receive-error interrupt is processed first. Therefore, it is necessary to reset the receive-buffer full interrupt factor flag through the use of the receive-error interrupt processing routine (6) To prevent the regeneration of interrupts due to the same factor following the occurrence of an interrupt, always be sure to reset the interrupt factor flag before setting the PSR again or executing the reti instruction. (7) Follow the procedure described below to initialize the serial interface. Set IRMDx[1:0] "00"(normal I/F) or "10"(IrDA I/F) Set SMDx[1:0] Transfer mode setting Other settings Data format and clock selection Internal division ratio, IrDA I/O logic and other settings Enable transmitting/receiving Figure 8.18 Enable transmitting, receiving or both Serial Interface Initialize Procedure (8) When transmitting data in the clock-synchronized master mode, transmit data is written to the transmit data register after the initial setting is performed following the flow in item (7). However, the clock generated by the 8-bit timer must be supplied to the serial interface (at least one underflow has had to have occurred in the 8-bit tier) before this writing. Otherwise, 0xFF will be transmitted prior to the written data. (9) The maximum transfer rate of the serial interface is limited to 1 Mbps. (10) If the receive circuit is stopped during reception, set both transmission and reception to the disabled status. B-III-8-40 EPSON S1C33T01 FUNCTION PART III PERIPHERAL BLOCK: SINGLE MASTER I2C-BUS III-9 SINGLE MASTER I2C-BUS Configuration of Single-Master I 2C-Bus Features of the Single-Master I 2 C-Bus The Peripheral Block includes a single-master (I2CSMST) I2 C-bus controller with two channels (Ch. 0 and Ch. 1). This controller supports data transfers in conformance with the Philips I2 C-bus data transfer format. It supports two transfer rates: fast mode (up to 400 kbps) and standard mode (up to 100 kbps). This circuit achieves improved costperformance by limiting its functionality to single-master operation. Since this controller also includes a DMA interface, large quantities of data can be transferred without incurring additional CPU overhead. This single-master I2 C-bus controller provides the following features. - I2 C-bus * Supports transfer rates from 3 kHz to 6 MHz (with a 50 MHz master clock). * Provides a spike noise suppression function with characteristics appropriate for the bus to reduce line noise. It also supports full swing specifications. * Provides the following I2 C-bus error management functions. Function for detecting mismatches between the transfer data and the transfer clock Data transmit/receive mode start/stop condition detection function Transmit mode NACK detection function * Function for independently issuing start/stop conditions to support a wide variety of formats * Function for specifying the ACK/NACK responses during data reception * Clock wait function for connection to a low-speed slave - CPU interface * Interrupt generation function - DMA interface * Two DMA channels each for transmit and receive operations, corresponding to each of the I2CSMST channels (Ch. 0 and Ch. 1). - Other features * One-shot pulse generation function used when errors occur. S1C33T01 FUNCTION PART EPSON B-III-9-1 III PERIPHERAL BLOCK: SINGLE MASTER I2C-BUS Figure 9.1 shows the structure of one channel of the single-master I2 C-bus core. EHP OSDA WDREQ WDACK WEOP DMA I/F I2C Transfer Control RDREQ RDACK ISDA REOP Noise Filter Noise Filter Clock Prescaler CLK ISCL SEQ_CLK SCL Control OSCL NCLK 3 I2C register 4 S_Config Div IO Select N_Config Div 8 AD ID OD 4 8 NCLK 8 CPU I/F XRD XWR XINT Figure 9.1 Structure of Single Master I2C-Bus Note: The two channels (Ch. 0 and Ch. 1) have identical structures and provide identical functions. The channels are differentiated by appending a "0" or a "1" to the signal and control bit names. However, since the channels are identical, the "0" and "1" identifier has been replaced with an "x" in this documentation unless specifying the channel is required. Single-Master I 2C-Bus Input and Output Pins Table 9.1 lists the pins used by the single-master I2 C-bus core. Table 9.1 Single-Master I2C-Bus Core Pins Pin name I/O Function Function selection bit P70/SCL0 I/O I/O port/single-master I2C-bus Ch. 0 clock I/O P71/SDA0 I/O I/O port/single-master I2C-bus Ch. 0 data I/O P72/SCL1 I/O I/O port/single-master I2C-bus Ch. 1 clock I/O P73/SDA1 I/O I/O port/single-master I2C-bus Ch. 1 data I/O CFP70 (D0) / P7 function select register (0x4030A) CFP71 (D1) / P7 function select register (0x4030A) SCLx (single-master I2C-bus clock I/O pin) SDAx (single-master I2C-bus data I/O pin) During data transfers, the SDAx (data) pin may change between high and low only during periods when the SCLx (clock) pin is low. That is, the state of the SDAx pin must remain fixed during the high period of the SCLx pin during data transfers. Figure 9.2 shows the details of the data bits transferred on the I2 C-bus. B-III-9-2 EPSON S1C33T01 FUNCTION PART III PERIPHERAL BLOCK: SINGLE MASTER I2C-BUS SDAx SCLx Data remains Period during fixed which the (SCLx=High) data value may change (SCLx=Low) Figure 9.2 Bit Transfers over the I2C-Bus Method for setting the single-master I2C-bus input/output pins All of the pins used by the single-master I2 C-bus are shared with I/O ports. At cold start, they are all set up to function as I/O port pins P7x. (That is, the function selection bits CFP7x are set to "0".) To use a single-master I2 C-bus I/O pin, set the function selection bit CFP7x for the channel to be used to "1". At hot start, the value prior to the reset is retained. Transfer start and transfer stop In data communication over an I2 C-bus, the start and stop of data transfers is controlled by the start conditions and the stop conditions. When the SCLx pin is high, if the SDAx pin switches from high to low, that transition is seen as a start condition and the bus goes to the busy state. When the SCLx pin is high, if the SDAx pin switches from low to high, that transition is seen as a stop condition and the bus goes to the free state (released state). This single-master I2 C-bus core always controls transmit and reception over the I2 C-bus itself. The communication control sequence of start condition generation/detection data transfer stop condition generation/detection is controlled by writing the stipulated commands into the single-master I2 C-bus control register, TRNSx[2:0]. SDAx SCLx Start condition (An SDAx high to low transition when SCLx is high) Stop condition (An SDAx low to high transition when SCLx is high) Figure 9.3 Start and Stop Conditions S1C33T01 FUNCTION PART EPSON B-III-9-3 III PERIPHERAL BLOCK: SINGLE MASTER I2C-BUS Data Transfer Formats The smallest unit of data output from the SDAx pin is the byte (8 bits). There is no limit on the number of bytes that can be transferred in a single transfer operation. Data is sent and received MSB first. (See Figure 9.4.) An acknowledge bit is required after every byte. The acknowledge clock is generated by the single-master I2 C-bus core. During the acknowledge clock period, the transmitter releases the SDAx pin. The receiver must set the SDAx pin low to match the acknowledge pulse so that the SDAx pin goes to the low state and is stable during the period when the acknowledge clock is high. (See Figure 9.5.) ACK signal (low) from the receiver MSB SDAx SCLx 1 8 2 9K 1 2 8 9 Stop condition Start condition Acknowledge Figure 9.4 Data Transfer Format over an I2C-Bus Transmitter SDAx output NACK Receiver SDAx output ACK SCLx (Generated by the master) 1 2 8 9 Start condition ACK signal pulse Figure 9.5 Acknowledge over an I2C-Bus Single-Master I 2 C-Bus Settings The following settings are required prior to the actual data transfer to transfer data using the single-master I2 C-bus core. 1. 2. 3. 4. I/O pin setup Input clock setup DMA transfer mode settings Interrupt/IDMA/HSDMA settings The remainder of this section describes this setup in detail. See the section "Single-master I2 C-bus master interrupts and DMA" for details on setting up the interrupts and DMA. Note: This setup must be performed with the single-master I 2C-bus in the stopped state (RUNx = "0": command wait state). Changing these settings while the circuit is operating will lead to incorrect operation. Normally, applications should only perform the initial settings after executing a software reset (by setting the single-master I 2C-bus control register I2CSR to "1".) B-III-9-4 EPSON S1C33T01 FUNCTION PART III PERIPHERAL BLOCK: SINGLE MASTER I2C-BUS I/O pin setup The single-master I2 C-bus uses two pins: SDAx and SCLx. Set CFP7x[1:0] (D[1:0]) in the P7 function select register (0x4030A) according to the pins used. (Note that both channels can be used at the same time.) The SDAx and SCLx pins are set either to low/high-impedance output or to low/high output (for noise suppression) by the SDAPx and SCLPx bits in the single-master I2 C-bus I/O select register. Input clock setup The single-master I2 C-bus includes prescalers both for noise filter clock (NCLKx) generation and for SCLx clock generation. The divisors provided by these prescalers are set by the registers listed in Table 9.2. Table 9.2 Noise Filter Clock (NCLKx) Divisor Register and SCLx Clock Divisor Register Channel Bit Register Ch. 0 NIS_P0[3:0] (D[3:0]) / Single-master I2C-bus Ch. 0 noise filter clock NCLK0 divisor register (0x40326) Ch. 1 NIS_P1[3:0] (D[3:0]) / Single-master I2C-bus Ch. 1 noise filter clock NCLK1 divisor register (0x40326) Ch. 0 SCL_P0[2:0] (D[2:0]) / Single-master I2C-bus Ch. 0 I2C-bus clock (SCL0) divisor register (0x40327) Ch. 1 SCL_P1[2:0] (D[2:0]) / Single-master I2C-bus Ch. 1 I2C-bus clock (SCL1) divisor register (0x40327) The frequency of the noise filter clock NCLKx is expressed as follows. fNCLKx =fPSCIN /(4xNIS_Px[3:0]) [Hz] (fNCLKx =fPSCIN /2 when NIS_Px=0) fPSCIN : The prescaler input clock frequency (Hz) The frequency of SCLx is expressed as follows. fSCLx =fNCLKx /(2n x4)=f PSCIN /((4xNIS_Px[3:0])x(2n x4)) [Hz] n=SCL_Px[2:0] (fSCLx =fPSCIN /(2x(2n x4)) when SCL_Px=0) See the "Programming Notes" item for detailed information. DMA transfer mode settings Either (1) dual address transfers using HSDMA (with EOP), (2) dual address transfers using DMA (no EOP), or (3) CPU transfer can be selected by setting the single-master I2 C-bus DMA mode register. However, the only DMA transfer mode that can be used is single transfer mode, which transfers one byte for each transfer request. The read DMA request interrupt factor and the write DMA request interrupt factor are used as the start events. Note that when IDMA transfers are used the single-master I2 C-bus internal IDMA byte counter is used. This allows the stipulated number of bytes to be sent or received without incurring CPU overhead. I 2C-Bus Control and Operation Transfer commands Transmit/receive operations are executed by writing transfer commands to the TRNSx[2:0] bits in the control register. Ch. 0 operation commands: TRNS0[2:0] (D[2:0]) / Single-master I2 C-bus Ch. 0 control register (0x40322) Ch. 1 operation commands: TRNS1[2:0] (D[2:0]) / Single-master I2 C-bus Ch. 1 control register (0x40332) Table 9.3 Transfer Commands TRNSx[2:0] Operation 001 Generate start condition 010 Generate stop condition 011 Receive data 100 Transfer data 101 Dummy DMA send mode 110 Dummy DMA receive mode Any other value S1C33T01 FUNCTION PART Clear the error status register error flags. EPSON B-III-9-5 III PERIPHERAL BLOCK: SINGLE MASTER I2C-BUS Note that when generating an interrupt at transfer command completion, it is necessary to enable the command complete interrupt by setting to "1" both IC_CMPx in the interrupt control/status register in the single-master I2 C-bus core and the EI2CIx interrupt enable bit in the Ch. 0/1 interrupt enable register in the single-master I2 C-bus core in the interrupt controller. (See the "Single-Master I2 C-Bus Interrupts and DMA" item for detailed information on interrupts.) Transmit procedure The single-master I2 C-bus core includes both a transmit shift register and a transmit data register (used as a transmit data buffer). Ch. 0 transmit data: I2CTD0[7:0] (D[7:0]) / Single-master I2 C-bus Ch. 0 transmit data register (0x40320) Ch. 1 transmit data: I2CTD1[7:0] (D[7:0]) / Single-master I2 C-bus Ch. 1 transmit data register (0x40330) After writing data to this register and setting the bus to the busy state by writing "001" (generate start condition) to the TRNSx[2:0] control register, one byte of data can be transmitted (MSB first) by writing "100" to TRNSx[2:0] to execute the data transmit command. The acknowledge (ACK) from the slave will be reflected in the error status register RACK flag. Data can be transmitted continuously be repeating the sequence of first writing the next data to be sent and setting TRNSx[2:0] to "100" (data transmit command). After the stipulated number of bytes have been transmitted, return the bus to the free state by writing "010" to TRNSx[2:0] to execute the generate stop condition command. Receive procedure The single-master I2 C-bus core includes both a receive shift register and a receive data register (used as a receive data buffer). Ch. 0 receive data: I2CRD0[7:0] (D[7:0]) / Single-master I2 C-bus Ch. 0 receive data register (0x40321) Ch. 1 receive data: I2CRD1[7:0] (D[7:0]) / Single-master I2 C-bus Ch. 1 receive data register (0x40331) After setting the bus to the busy state by writing "001" (generate start condition) to the TRNSx[2:0] control register, one byte of data can be received (MSB first) by writing "011" to TRNSx[2:0] to execute the data receive command. An acknowledge (ACK) can be sent to the slave by setting TACK in the control register to "1". Data can be received continuously by repeating the sequence of first reading out the received data, then setting TRNSx[2:0] to "011" (data receive command) and then sending an ACK. After the stipulated number of bytes have been received, return the bus to the free state by writing "010" to TRNSx[2:0] to execute the generate stop condition command. Data transfer and I2C-bus status The command run state (RUNx), the SDAx and SCLx pin states (SSDAx and SSCLx), the bus usage state of the single-master I2 C-bus (UBx), the I2 C-bus state (BBx), the error flag (EHx), and the transfer command completion (CMPx) status states are reflected in the following registers. Ch. 0 status: single-master I2 C-bus Ch. 0 status register (0x40323) Ch. 1 status: single-master I2 C-bus Ch. 1 status register (0x40333) Transfer errors Transfer errors are reflected in the bits in the error status register. Table 9.4 Error Status Register Error status RACKx: Receive ACK signal Register (D4) / Single-master I2C-bus Ch. 0 error status register (0x40324) (D4) / Single-master I2C-bus Ch. 1 error status register (0x40334) CMSx: Clock mismatch (D3) / Single-master I2C-bus Ch. 0 error status register (0x40324) (D3) / Single-master I2C-bus Ch. 1 error status register (0x40334) DMSx: Data mismatch (D2) / Single-master I2C-bus Ch. 0 error status register (0x40324) SPDx: Stop condition (D1) / Single-master I2C-bus Ch. 0 error status register (0x40324) (D2) / Single-master I2C-bus Ch. 1 error status register (0x40334) (D1) / Single-master I2C-bus Ch. 1 error status register (0x40334) STDx: Start condition (D0) / Single-master I2C-bus Ch. 0 error status register (0x40324) (D0) / Single-master I2C-bus Ch. 1 error status register (0x40334) B-III-9-6 EPSON S1C33T01 FUNCTION PART III PERIPHERAL BLOCK: SINGLE MASTER I2C-BUS When a NACK is detected, RACKx is cleared to "0". CMSx and DMSx are clock mismatch states, and are set to "1" when a data mismatch is detected. SPDx and STDx are set to "1" when a corresponding stop or start condition is detected anywhere other than the stipulated position. When one of the above errors occurs, the EHx bit in the status register is set to "1" and the bus is set to the free state with the timing shown in Figure 9.6. An error occurs NCLKx SCLx SDAx After setting SCLx to the high-impedance state, wait for one cycle of the noise filter clock (NCLKx) and then set SDAx to the high-impedance state. Figure 9.6 Bus Release after an Error Occurs The error status flag in the error status register is cleared by writing either "000" or "111" to TRNSx[2:0]. It is also cleared by a software reset (setting I2CSRx to "1"). Note that if an interrupt is issued when an error occurs, it is necessary to enable the command complete interrupt by setting to "1" both IC_EHx in the interrupt control/status register in the single-master I2 C-bus core and the EI2CIx interrupt enable bit in the Ch. 0/1 interrupt enable register in the single-master I2 C-bus core interrupt controller. (See the "Single-Master I2 C-Bus Interrupts and DMA" item for detailed information on interrupts.) Clock wait function The I2 C-bus can be connected to devices that have a clock wait function by setting CLKWx in the control register to "1". When the clock wait function is enabled, master transmit operations can be delayed by lengthening the master clock period while the slave outputs a low level to SCLx. Ch. 0 clock wait: CLKW0 (D4) / Single-master I2 C-bus Ch. 0 control register (0x40322) Ch. 1 clock wait: CLKW1 (D4) / Single-master I2 C-bus Ch. 1 control register (0x40332) Single-Master I 2C-Bus Interrupts and DMA The single-master I2 C-bus core provides functions in each channel that generate the following interrupts. * Command complete/error interrupt * Read DMA request interrupt * Write DMA request interrupt Command complete/error interrupt factor This interrupt factor occurs when interrupts are enabled with either IC_EHx error interrupt flag or the IC_CMPx command complete interrupt flag (both of which are in the single-master I2 C-bus interrupt control/status register) and when either the IS_EHx interrupt error status flag or the IS_CMPx interrupt complete status flag (in the same register) is set. When either IS_CMPx or IS_EHx is set, the FI2CIx flag in the single-master I2 Cbus core Ch. 0/1 interrupt factor flag register will be set. At this time, if the interrupt is enabled by the inglemaster I2 C-bus core Ch. 0/1 interrupt enable register, and interrupt request will be issued to the CPU. This interrupt factor can be used to report the completion of execution of the transfer command and the occurrence of errors. S1C33T01 FUNCTION PART EPSON B-III-9-7 III PERIPHERAL BLOCK: SINGLE MASTER I2C-BUS Read DMA request interrupt factor When a DMA transfer is set up by the single-master I2 C-bus core DMA transfer mode setting register Dx_MD[1:0], and TRNSx[2:0] in the single-master I2 C-bus core control register is set to "011" (data receive), if the interrupt is enabled by setting the FI2CRx flag in the single-master I2 C-bus core Ch. 0/1 factor flag register, a read DMA request interrupt will be issued. This interrupt factor can be used to start HSDMA or IDMA operations. Write DMA request interrupt factor When a DMA transfer is set up by the single-master I2 C-bus core DMA transfer mode setting register Dx_MD[1:0], and TRNSx[2:0] in the single-master I2 C-bus core control register is set to "100" (data transfer), if the interrupt is enabled by setting the FI2CWx flag in the single-master I2 C-bus core Ch. 0/1 factor flag register, a read DMA request interrupt will be issued. This interrupt factor can be used to start HSDMA or IDMA operations. Interrupt controller control registers Table 9.5 lists the interrupt controller control register that are provided for each interrupt system (channel). Table 9.5 Interrupt Controller Control Registers Ch. 0 1 Interrupt factor Interrupt factor flag Interrupt enable register Command complete/error FI2CI0(D0/0x402B2) EI2CI0(D0/0x402B1) Read DMA request FI2CR0(D1/0x402B2) EI2CR0(D1/0x402B1) Write DMA request FI2CW0(D2/0x402B2) EI2CW0(D2/0x402B1) Command complete/error FI2CI1(D3/0x402B2) EI2CI1(D3/0x402B1) Read DMA request FI2CR1(D4/0x402B2) EI2CR1(D4/0x402B1) Write DMA request FI2CW1(D5/0x402B2) EI2CW1(D5/0x402B1) Interrupt priority register PI2C0[2:0](D[2:0] / 0x402B0) PI2C1[2:0](D[6:4] / 0x402B0) When one of the previously described interrupt factors occurs, the corresponding interrupt flag is set to "1". If the interrupt enable register bit corresponding to that interrupt factor is set to "1", an interrupt request is issued. Particular interrupt factors can be disabled by setting the corresponding bit in the interrupt enable register to "0". The interrupt flags are always set to "1" when the corresponding interrupt conditions are established, regardless of the interrupt enable register setting, i.e., even if the corresponding bit is set to "0". The interrupt priority register sets the interrupt priority level (0 to 7) for each interrupt system. For an interrupt request to be issued to the CPU, there must be no outstanding interrupt factors with a higher priority. Also note that the CPU will only accept an input interrupt request if the PSR IE bit is set to "1" (interrupts enabled) and IL is set to a value smaller than the input interrupt level set in the interrupt priority register. See the "ITC (interrupt controller)" section for details on these interrupt control registers and operation when an interrupt occurs. Intelligent DMA The read DMA request interrupt and the write DMA request interrupt can start intelligent DMA (IDMA) operation. This allows continuous transmit/receive operations to be performed using DMA transfers between memory and the transmit/receive data registers. The IDMA channel numbers assigned to each factor are as follows. IDMA Ch. Ch. 0 read DMA request interrupt: 0x36 Ch. 0 write DMA request interrupt: 0x37 Ch. 1 read DMA request interrupt: 0x38 Ch. 1 write DMA request interrupt: 0x39 The IDMA enable and request bits listed in Table 9.6 must be set to "1" to start an IDMA operation. Also note that in addition to setting the single-master I2 C-bus DMA mode register and the single-master I2 C-bus DMA counter, the IDMA transfer conditions must be set up in the IDMA itself. B-III-9-8 EPSON S1C33T01 FUNCTION PART III PERIPHERAL BLOCK: SINGLE MASTER I2C-BUS Table 9.6 IDMA Transfer Control Bits Ch. 0 1 Interrupt factor IDMA request bit IDMA enable bit Read DMA request RI2CR0(D0/0x402B3) DEI2CR0(D0/0x402B4) Write DMA request RI2CW0(D1/0x402B3) DEI2CW0(D1/0x402B4) Read DMA request RI2CR1(D2/0x402B3) DEI2CR1(D2/0x402B4) Write DMA request RI2CW1(D3/0x402B3) DEI2CW1(D3/0x402B4) If an interrupt factor occurs when the IDMA request and enable bits are set to "1", an IDMA operation is started. No interrupt request is generated at that point. The interrupt request is generated after the DMA transfer completes. These bits can be set so that an interrupt is not generated, but only the DMA transfer is performed. See the "IDMA (Intelligent DMA)" section for details on DMA transfers and interrupt control following DMA transfer completion. High-speed DMA The read DMA request and write DMA request interrupt factors can also start high-speed DMA (HSDMA) operations. The Table 9.7 lists the HSDMA channel numbers and trigger setup bits corresponding to each channel. Table 9.7 HSDMA Trigger Setup Bits I2CSMST Ch. HSDMA Ch. 0 0 HSD0S[3:0] (D[3:0]) / HSDMA Ch. 0/1 trigger set-up register (0x40298) Trigger setup bit 1 1 HSD1S[3:0] (D[7:4]) / HSDMA Ch. 0/1 trigger set-up register (0x40298) 0 2 HSD2S[3:0] (D[3:0]) / HSDMA Ch. 2/3 trigger set-up register (0x40299) 1 3 HSD3S[3:0] (D[7:4]) / HSDMA Ch. 2/3 trigger set-up register (0x40299) For HSDMA to be started by a read DMA request interrupt factor, write "1101" to the trigger setup bits. For HSDMA to be started by a write DMA request interrupt factor, write "1110" to the trigger setup bits. Note that in addition to the single-master I2 C-bus DMA mode setting register settings, the HSDMA side transfer conditions must be set as well. The HSDMA operation is started when the interrupt factor occurs. See the "HSDMA (High-speed DMA)" section for details on HSDMA. Trap vectors The default values of the interrupt factor trap vectors are listed below. Ch. 0 command complete/error interrupt Ch. 0 read DMA request interrupt Ch. 0 write DMA request interrupt Ch. 1 command complete/error interrupt Ch. 1 read DMA request interrupt Ch. 1 write DMA request interrupt S1C33T01 FUNCTION PART 0x0C001B0 0x0C001B4 0x0C001B8 0x0C001C0 0x0C001C4 0x0C001C8 EPSON B-III-9-9 III PERIPHERAL BLOCK: SINGLE MASTER I2C-BUS Single-Master I 2C-Bus I/O Memory Table 9.8 lists the single-master I2 C-bus core control bits. Table 9.8 Single-Master I2C-Bus I/O Memory Register name Address Bit Single-master 00402B0 I2C-bus Ch.0/1 (B) interrupt priority register D7 D6 D5 D4 D3 D2 D1 D0 Name - P12C12 P12C11 P12C10 - P12C02 P12C01 P12C00 Function Setting reserved I2CSMST Ch.1 interrupt level - 0 to 7 reserved I2CSMST Ch.0 interrupt level - 0 to 7 Single-master 00402B1 D7-6 - I2C-bus Ch.0/1 (B) D5 E12CW1 interrupt D4 E12CR1 ebable D3 E12CI1 register D2 E12CW0 D1 E12CR0 D0 E12CI0 reserved I2CSMST Ch.1 write DMA request I2CSMST Ch.1 read DMA request I2CSMST Ch.1 request I2CSMST Ch.0 write DMA request I2CSMST Ch.0 read DMA request I2CSMST Ch.0 request - Single-master 00402B2 D7-6 - I2C-bus Ch.0/1 (B) D5 F12CW1 interrupt D4 F12CR1 factor flag D3 F12CI1 register D2 F12CW0 D1 F12CR0 D0 F12CI0 reserved I2CSMST Ch.1 write DMA request I2CSMST Ch.1 read DMA request I2CSMST Ch.1 request I2CSMST Ch.0 write DMA request I2CSMST Ch.0 read DMA request I2CSMST Ch.0 request Single-master 00402B3 D7-4 - I2C-bus Ch.0/1 (B) D3 R12CW1 IDMA D2 R12CR1 request D1 R12CW0 register D0 R12CR0 reserved I2CSMST Ch.1 write DMA request 1 IDMA I2CSMST Ch.1 read DMArequest request I2CSMST Ch.0 write DMA request I2CSMST Ch.0 read DMA request - Single-master 00402B4 D7-4 - reserved I2C-bus Ch.0/1 (B) D3 DE12CW1 I2CSMST Ch.1 write DMA request 1 IDMA enabled IDMA D2 DE12CR1 I2CSMST Ch.1 read DMArequest enable D1 DE12CW0 I2CSMST Ch.0 write DMA request register D0 DE12CR0 I2CSMST Ch.0 read DMA request - 1 Enabled 0 Disabled - 1 Factor is generated 0 No factor is generated 0 Interrupt request 0 IDMA disabled - 0 when being read. R/W - 0 0 0 0 0 0 - 0 when being read. R/W R/W R/W R/W R/W R/W - 0 0 0 0 0 0 - 0 when being read. R/W R/W R/W R/W R/W R/W - 0 0 0 0 - 0 when being read. R/W R/W R/W R/W - 0 0 0 0 - 0 when being read. R/W R/W R/W R/W - 0 0 - 0 when being read. R/W R/W R/W Initialized by software reset - 0 when being read. R/W 004030A D7-2 - (B) D1 CFP71 D0 CFP70 reserved P72,P73 function selection P70,P71 function selection Single-master I2C-bus Ch.0 transmit data register 0040320 (B) D7 D6 D5 D4 D3 D2 D1 D0 I2CTD07 I2CTD06 I2CTD05 I2CTD04 I2CTD03 I2CTD02 I2CTD01 I2CTD00 Single-master I2C-bus Ch.0 transmit data I2CTD07 = MSB I2CTD00 = LSB 0x0 to 0xFF 0 0 0 0 0 0 0 0 Single-master I2C-bus Ch.0 receive data register 0040321 (B) D7 D6 D5 D4 D3 D2 D1 D0 I2CRD07 I2CRD06 I2CRD05 I2CRD04 I2CRD03 I2CRD02 I2CRD01 I2CRD00 Single-master I2C-bus Ch.0 receive data I2CRD07 = MSB I2CRD00 = LSB 0x0 to 0xFF 0 0 0 0 0 0 0 0 R Single-master I2C-bus Ch.0 control register 0040322 (B) D7-6 D5 D4 D3 D2 D1 D0 - I2CSR0 CLKW0 TACK0 TRNS02 TRNS01 TRNS00 reserved Ch.0 dual-wavelength reset Ch.0 clock wait Ch.0 transmit ACK signal Ch.0 operate command - - 0 0 0 0 0 0 - R/W R/W R/W R/W EPSON 1 Reset 1 On 1 ACK TRNS0[2:0] 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 0 Clear 0 Off 0 NACK Transfer mode Generate start condition Generate stop condition Receive data Transfer data Dummy DMA send mode Dummy DMA receive mode Other values Clear error flag Remarks - X X X - X X X P7 function select register B-III-9-10 - 1 SCL1,SDA1 0 P72,P73 1 SCL0,SDA0 0 P70,P71 Init. R/W Initialized by software reset 0 when being read. Initialized by software reset Initialized by software reset Initialized by software reset S1C33T01 FUNCTION PART III PERIPHERAL BLOCK: SINGLE MASTER I2C-BUS Table 9.8 Single-Master I2C-Bus I/O Memory (continue) Register name Address Bit Single-master I2C-bus Ch.0 status register D7 D6 D5 D4 D3 D2 D1 D0 RUN0 - SSDA0 SSCL0 UB0 BB0 EH0 CMP0 Command operating state reserved SDA0 status SCL0 status Ch.0 bus usage state I2C-bus usage state Ch.0 error flag Ch.0 transmit command complete 0040323 (B) Name Function Setting 1 Executing Init. R/W 0 Standby 0 0 0 0 0 0 Low Low Bus not in use I2C-bus free Normal Wait for complete or idle 0 - X X 0 0 0 0 - 1 1 1 1 1 1 High High Bus in use I2C-bus in use Error Done Initialized by software reset 0 when being read. Initialized by software reset Initialized by software reset Initialized by software reset Initialized by software reset Single-master I2C-bus Ch.0 error status register 0040324 (B) D7-5 D4 D3 D2 D1 D0 - RACK0 CMS0 DMS0 SPD0 STD0 reserved Ch.0 receive ACK signal Ch.0 clock mismatch Ch.0 data mismatch Ch.0 stop condition Ch.0 start condition 1 1 1 1 1 Error Detected Detected Detected Detected 0 0 0 0 0 No error Not detected Not detected Not detected Not detected - 0 0 0 0 0 - R R R R R 0 when being read. Initialized by software reset Initialized by software reset Initialized by software reset Initialized by software reset Initialized by software reset Single-master I2C-bus Ch.0 interrupt control/status register 0040325 (B) D7-4 D3 D2 D1 D0 - IS_EH0 IS_CMP0 IC_EH0 IC_CMP0 reserved Ch.0 interrupt error status Ch.0 interrupt complete status Ch.0 error interrput Ch.0 complete interrupt 1 1 1 1 - Factor generated 0 Factor generated 0 Enabled 0 Enabled 0 No factor generated No factor generated Disabled Disabled - 0 0 0 0 - R/W R/W R/W R/W 0 when being read. Initialized by software reset Initialized by software reset Initialized by software reset Initialized by software reset Single-master I2C-bus Ch.0 noise filter clock (NCLK0) divisor register 0040326 (B) D7-4 D3 D2 D1 D0 - NIS_P03 NIS_P02 NIS_P01 NIS_P00 reserved Ch.0 noise filter clock division ratio setting - 0 0 0 0 - 0 when being read. R/W : selected by Prescaler clock select register (0x40181) Single-master I2C-bus Ch.0 I2C-bus clock (SCL0) divisor register 0040327 (B) D7-3 D2 D1 D0 - SCL_P02 SCL_P01 SCL_P00 reserved SCL0 division ratio setting - 0 0 0 - 0 when being read. R/W : Single-master I2C-bus Ch.0 noise filter clock (NCLK0) Single-master I2C-bus Ch.0 I/O select register 0040328 (B) D7-4 D3 D2 D1 D0 - SDAP0 SCLP0 SDAS0 SCLS0 reserved Ch.0 data push-pull circuit Ch.0 clock push-pull circuit Ch.0 data spike suppression circuit Ch.0 clock spike suppression circuit - 1 Low/high output 0 Low/Hi-Z output 1 Low/high output 0 Low/Hi-Z output suppression suppression 1 Spike 0 Spike required not required suppression suppression 1 Spike 0 Spike required not required - 0 0 1 1 - R/W R/W R/W R/W Single-master I2C-bus Ch.0 DMA mode setting register 0040329 (B) D7-2 - D1 D0_MD1 D0 D0_MD0 - - 0 0 - 0 when being read. R/W Initialized by software reset Single-master I2C-bus Ch.0 IDMA counter (lower) register 004032A (B) 0 0 0 0 0 0 0 0 R/W D7 D6 D5 D4 D3 D2 D1 D0 S1C33T01 FUNCTION PART D0_CNT7 D0_CNT6 D0_CNT5 D0_CNT4 D0_CNT3 D0_CNT2 D0_CNT1 D0_CNT0 reserved Ch.0 DMA mode setting Ch.0 IDMA byte counter value [7:0] (lower byte) D0_CNT0 = LSB EPSON - Remarks R - R R R R R R - NIS_P0[3:0] Division ratio 1 1 1 1 /60 1 1 1 0 /56 1 1 0 1 /52 1 1 0 0 /48 1 0 1 1 /44 1 0 1 0 /40 1 0 0 1 /36 1 0 0 0 /32 0 1 1 1 /28 0 1 1 0 /24 0 1 0 1 /20 0 1 0 0 /16 0 0 1 1 /12 0 0 1 0 /8 0 0 0 1 /4 0 0 0 0 /2 SCL P0[2:0] 1 1 1 1 1 0 1 0 1 1 0 0 0 1 1 0 1 0 0 0 1 0 0 0 D0_MD[1:0] 1 1 1 0 0 1 0 0 - Division ratio /512 /256 /128 /64 /32 /16 /8 /4 DMA mode HS_DMA IDMA reserved NON 0 when being read. Initialized by software reset Initialized by software reset Initialized by software reset Initialized by software reset B-III-9-11 III PERIPHERAL BLOCK: SINGLE MASTER I2C-BUS Table 9.8 Single-Master I2C-Bus I/O Memory (continue) Register name Address Bit Single-master I2C-bus Ch.0 IDMA counter (upper) register 004032B (B) D7 D6 D5 D4 D3 D2 D1 D0 Name Function Setting Init. R/W Single-master I2C-bus Ch.0 DMA status register 004032C D7-4 - (B) D3 I2CTDBE0 D2 I2CRDBE0 D1 RDREQ0_H D0 WDREQ0_H reserved Ch.0 transmit data buffer empty Ch.0 receive data buffer update Ch.0 read DMA request signal status Ch.0 write DMA request signal status Single-master I2C-bus Ch.1 transmit data register 0040330 (B) D7 D6 D5 D4 D3 D2 D1 D0 I2CTD17 I2CTD16 I2CTD15 I2CTD14 I2CTD13 I2CTD12 I2CTD11 I2CTD10 Single-master I2C-bus Ch.1 transmit data I2CTD17 = MSB I2CTD10 = LSB 0x0 to 0xFF 0 0 0 0 0 0 0 0 Single-master I2C-bus Ch.1 receive data register 0040331 (B) D7 D6 D5 D4 D3 D2 D1 D0 I2CRD17 I2CRD16 I2CRD15 I2CRD14 I2CRD13 I2CRD12 I2CRD11 I2CRD10 Single-master I2C-bus Ch.1 receive data I2CRD17 = MSB I2CRD10 = LSB 0x0 to 0xFF 0 0 0 0 0 0 0 0 R Single-master I2C-bus Ch.1 control register 0040332 (B) D7-6 D5 D4 D3 D2 D1 D0 - I2CSR1 CLKW1 TACK1 TRNS12 TRNS11 TRNS10 reserved Ch.1 dual-wavelength reset Ch.1 clock wait Ch.1 transmit ACK signal Ch.1 operate command - - 0 0 0 0 0 0 - R/W R/W R/W R/W Single-master I2C-bus Ch.1 status register 0040333 (B) D7 D6 D5 D4 D3 D2 D1 D0 RUN01 - SSDA1 SSCL1 UB1 BB1 EH1 CMP1 Command operating state reserved SDA1 status SCL1 status Ch.1 bus usage state I2C-bus usage state Ch.1 error flag Ch.1 transmit command complete R - R R R R R R Initialized by software reset 0 when being read. D0_CNT15 Ch.1 IDMA byte counter value D0_CNT14 [15:8] (upper byte) D0_CNT13 D0_CNT15 = MSB D0_CNT12 D0_CNT11 D0_CNT10 D0_CNT9 D0_CNT8 - 1 1 1 1 Empty Updated High High 0 0 0 0 Full Not updated Low Low 1 Reset 1 On 1 ACK TRNS1[2:0] 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 0 Clear 0 Off 0 NACK Transfer mode Generate start condition Generate stop condition Receive data Transfer data Dummy DMA send mode Dummy DMA receive mode Other values Clear error flag 1 Executing 0 Standby High High Bus in use I2C-bus in use Error Done R/W - 1 0 0 0 - R R R R 0 0 0 0 0 0 Low Low Bus not in use I2C-bus free Normal Wait for complete or idle 0 - X X 0 0 0 0 - 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 when being read. Initialized by software reset Initialized by software reset Initialized by software reset Initialized by software reset R/W Initialized by software reset Initialized by software reset 0 when being read. Initialized by software reset Initialized by software reset Initialized by software reset Initialized by software reset Initialized by software reset Initialized by software reset Initialized by software reset Single-master I2C-bus Ch.1 error status register 0040334 (B) D7-5 D4 D3 D2 D1 D0 - RACK1 CMS1 DMS1 SPD1 STD1 reserved Ch.1 receive ACK signal Ch.1 clock mismatch Ch.1 data mismatch Ch.1 stop condition Ch.1 start condition 1 1 1 1 1 Error Detected Detected Detected Detected 0 0 0 0 0 No error Not detected Not detected Not detected Not detected - 0 0 0 0 0 - R R R R R 0 when being read. Initialized by software reset Initialized by software reset Initialized by software reset Initialized by software reset Initialized by software reset Single-master I2C-bus Ch.1 interrupt control/status register 0040335 (B) D7-4 D3 D2 D1 D0 - IS_EH1 IS_CMP1 IC_EH1 IC_CMP1 reserved Ch.1 interrupt error status Ch.1 interrupt complete status Ch.1 error interrput Ch.1 complete interrupt 1 1 1 1 - Factor generated 0 Factor generated 0 Enabled 0 Enabled 0 No factor generated No factor generated Disabled Disabled - 0 0 0 0 - R/W R/W R/W R/W 0 when being read. Initialized by software reset Initialized by software reset Initialized by software reset Initialized by software reset B-III-9-12 EPSON - Remarks S1C33T01 FUNCTION PART III PERIPHERAL BLOCK: SINGLE MASTER I2C-BUS Table 9.8 Single-Master I2C-Bus I/O Memory (continue) Register name Address Single-master I2C-bus Ch.1 noise filter clock (NCLK0) divisor register 0040336 (B) Single-master I2C-bus Ch.1 I2C-bus clock (SCL0) divisor register Bit Name Function D7-4 D3 D2 D1 D0 - NIS_P13 NIS_P12 NIS_P11 NIS_P10 reserved Ch.1 noise filter clock division ratio setting 0040337 (B) D7-3 D2 D1 D0 - SCL_P12 SCL_P11 SCL_P10 reserved SCL1 division ratio setting Single-master I2C-bus Ch.1 I/O select register 0040338 (B) D7-4 D3 D2 D1 D0 - SDAP1 SCLP1 SDAS1 SCLS1 reserved Ch.1 data push-pull circuit Ch.1 clock push-pull circuit Ch.1 data spike suppression circuit Ch.1 clock spike suppression circuit Single-master I2C-bus Ch.1 DMA mode setting register 0040339 (B) D7-2 - D1 D1_MD1 D0 D1_MD0 Single-master I2C-bus Ch.1 IDMA counter (lower) register 004033A (B) D7 D6 D5 D4 D3 D2 D1 D0 D1_CNT7 D1_CNT6 D1_CNT5 D1_CNT4 D1_CNT3 D1_CNT2 D1_CNT1 D1_CNT0 Single-master I2C-bus Ch.1 IDMA counter (upper) register 004033B (B) D7 D6 D5 D4 D3 D2 D1 D0 Single-master I2C-bus Ch.1 DMA status register 004033C D7-4 - (B) D3 I2CTDBE1 D2 I2CRDBE1 D1 RDREQ1_H D0 WDREQ1_H S1C33T01 FUNCTION PART Setting Init. R/W Remarks - 0 0 0 0 - 0 when being read. R/W : selected by Prescaler clock select register (0x40181) - 0 0 0 - 0 when being read. R/W : Single-master I2C-bus Ch.1 noise filter clock (NCLK1) - 1 Low/high output 0 Low/Hi-Z output 1 Low/high output 0 Low/Hi-Z output suppression suppression 1 Spike 0 Spike required not required suppression suppression 1 Spike 0 Spike required not required - 0 0 1 1 - R/W R/W R/W R/W - - 0 0 - 0 when being read. R/W Initialized by software reset Ch.1 IDMA byte counter value [7:0] (lower byte) D1_CNT0 = LSB 0 0 0 0 0 0 0 0 R/W D1_CNT15 Ch.1 IDMA byte counter value D1_CNT14 [15:8] (upper byte) D1_CNT13 D1_CNT15 = MSB D1_CNT12 D1_CNT11 D1_CNT10 D1_CNT9 D1_CNT8 0 0 0 0 0 0 0 0 R/W - 1 0 0 0 - R R R R reserved Ch.1 DMA mode setting reserved Ch.1 transmit data buffer empty Ch.1 receive data buffer update Ch.1 read DMA request signal status Ch.1 write DMA request signal status EPSON - 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 NIS_P1[3:0] Division ratio 1 1 1 /60 1 1 0 /56 1 0 1 /52 1 0 0 /48 0 1 1 /44 0 1 0 /40 0 0 1 /36 0 0 0 /32 1 1 1 /28 1 1 0 /24 1 0 1 /20 1 0 0 /16 0 1 1 /12 0 1 0 /8 0 0 1 /4 0 0 0 /2 SCL P1[2:0] 1 1 1 1 1 0 1 0 1 1 0 0 0 1 1 0 1 0 0 0 1 0 0 0 - Division ratio /512 /256 /128 /64 /32 /16 /8 /4 D1_MD[1:0] 1 1 1 0 0 1 0 0 DMA mode HS_DMA IDMA reserved NON - 1 1 1 1 Empty Updated High High 0 0 0 0 Full Not updated Low Low 0 when being read. Initialized by software reset Initialized by software reset Initialized by software reset Initialized by software reset 0 when being read. Initialized by software reset Initialized by software reset Initialized by software reset Initialized by software reset B-III-9-13 III PERIPHERAL BLOCK: SINGLE MASTER I2C-BUS CFP71-CFP70: P7[1:0] pin function selection (D[1:0]) / P7 pin function select register (0x4030A) Selects the pins used for the single-master I2 C-bus core. Write "1": Single-master I2 C-bus core input/output pin Write "0": I/O port pin Read: Valid Selects the pins used for the single-master I2 C-bus core by writing "1" to CFP70 through CFP71. P70 and P71 (SCL0 and SDA0) are used for channel 0, and P72 and P73 (SCL1 and SDA1) are used for channel 1. If the bit corresponding to a pin is set to "0", that pin functions as an I/O port pin. At cold start, CFP is set to "0" (I/O port). At hot start, CFP retains its state prior to the initial reset. Sets the transmit data. The transmit data is transmitted MSB first in synchronization with the SCLx clock. At initial reset, the state of this register is undefined. I2CTD07-I2CTD00: Single-master I 2C-bus Ch. 0 transmit data (D[7:0]) / Single-master I 2C-bus Ch. 0 transmit data register (0x40320) I2CTD17-I2CTD10: Single-master I 2C-bus Ch. 1 transmit data (D[7:0]) / Single-master I 2C-bus Ch. 1 transmit data register (0x40330) Stores the receive data. The receive data is received MSB first in synchronization with the SCLx clock. At initial reset, the state of this register is undefined. I2CRD07-I2CRD00: Single-master I 2C-bus Ch. 0 receive data (D[7:0]) / Single-master I 2C-bus Ch. 0 receive data register (0x40321) I2CRD17-I2CRD10: Single-master I 2C-bus Ch. 1 receive data (D[7:0]) / Single-master I 2C-bus Ch. 1 receive data register (0x40331) Store the receive data. The receive data is received MSB first in synchronization with the SCLx clock. At initial reset, the state of this register is undefined. I2CSR0: Ch. 0 dual-wavelength reset (D5) / Single-master I 2C-bus Ch. 0 control register (0x40322) I2CSR1: Ch. 1 dual-wavelength reset (D5) / Single-master I 2C-bus Ch. 1 control register (0x40332) Applies a reset forcibly from software, clears the sequence, and releases the bus. Write "1": Applies a software reset Write "0": Releases the software reset Read: Valid When a software reset is applied (I2CSR = "1"), the following registers in the corresponding channel are cleared. B-III-9-14 EPSON S1C33T01 FUNCTION PART III PERIPHERAL BLOCK: SINGLE MASTER I2C-BUS Table 9.9 Register Initialized by Software Reset Bit Register I2CTDx[7:0]:Transmit data (D[7:0]) / Single-master I2C-bus Ch. 0 transmit data register (0x40320) (D[7:0]) / Single-master I2C-bus Ch. 1 transmit data register (0x40330) I2CRDx[7:0]:Receive data (D[7:0]) / Single-master I2C-bus Ch. 0 receive data register (0x40321) (D[7:0]) / Single-master I2C-bus Ch. 1 receive data register (0x40331) CLKWx:Clock wait (D4) / Single-master I2C-bus Ch. 0 control register (0x40322) (D4) / Single-master I2C-bus Ch. 1 control register (0x40332) TACKx:Transmit ACK signal (D3) / Single-master I2C-bus Ch. 0 control register (0x40322) (D3) / Single-master I2C-bus Ch. 1 control register (0x40332) TRNSx[2:0]:Operation command (D[2:0]) / Single-master I2C-bus Ch. 0 control register (0x40322) (D[2:0]) / Single-master I2C-bus Ch. 1 control register (0x40332) RUNx:Command operation state (D7) / Single-master I2C-bus Ch. 0 status register (0x40323) (D7) / Single-master I2C-bus Ch. 1 status register (0x40333) UBx:Ch. 0/1 bus usage state (D3) / Single-master I2C-bus Ch. 0 status register (0x40323) (D3) / Single-master I2C-bus Ch. 1 status register (0x40333) BBx:I2C-bus usage state (D2) / Single-master I2C-bus Ch. 0 status register (0x40323) (D2) / Single-master I2C-bus Ch. 1 status register (0x40333) EHx:Error flag (D1) / Single-master I2C-bus Ch. 0 status register (0x40323) (D1) / Single-master I2C-bus Ch. 1 status register (0x40333) CMPx: Ch. 0/1 transmit command complete (D0) / Single-master I2C-bus Ch. 0 status register (0x40323) (D0) / Single-master I2C-bus Ch. 1 status register (0x40333) RACKx:Receive ACK signal (D4) / Single-master I2C-bus Ch. 0 error status register (0x40324) (D4) / Single-master I2C-bus Ch. 1 error status register (0x40334) CMSx:Clock mismatch (D3) / Single-master I2C-bus Ch. 0 error status register (0x40324) (D3) / Single-master I2C-bus Ch. 1 error status register (0x40334) DMSx:Data mismatch (D2) / Single-master I2C-bus Ch. 0 error status register (0x40324) (D2) / Single-master I2C-bus Ch. 1 error status register (0x40334) SPDx:Stop condition (D1) / Single-master I2C-bus Ch. 0 error status register (0x40324) (D1) / Single-master I2C-bus Ch. 1 error status register (0x40334) STDx:Start condition (D0) / Single-master I2C-bus Ch. 0 error status register (0x40324) (D0) / Single-master I2C-bus Ch. 1 error status register (0x40334) IS_EHx:Interrupt error status (D3) / Single-master I2C-bus Ch. 0 interrupt control/status register (0x40325) (D3) / Single-master I2C-bus Ch. 1 interrupt control/status register (0x40335) IS_CMPx:Interrupt complete (D2) / Single-master I2C-bus Ch. 0 interrupt control/status register (0x40325) (D2) / Single-master I2C-bus Ch. 1 interrupt control/status register (0x40335) IC_EHx:Error interrupt (D1) / Single-master I2C-bus Ch. 0 interrupt control/status register (0x40325) (D1) / Single-master I2C-bus Ch. 1 interrupt control/status register (0x40335) IC_CMPx:Complete interrupt (D0) / Single-master I2C-bus Ch. 0 interrupt control/status register (0x40325) (D0) / Single-master I2C-bus Ch. 1 interrupt control/status register (0x40335) SDAPx:Data push-pull (D3) / Single-master I2C-bus Ch. 0 I/O select register (0x40328) (D3) / Single-master I2C-bus Ch. 1 I/O select register (0x40338) SCLPx:Clock push-pull (D2) / Single-master I2C-bus Ch. 0 I/O select register (0x40328) (D2) / Single-master I2C-bus Ch. 1 I/O select register (0x40338) SDASx:Data spike suppression circuit (D1) / Single-master I2C-bus Ch. 0 I/O select register (0x40328) (D1) / Single-master I2C-bus Ch. 1 I/O select register (0x40338) SCLSx:Clock spike suppression circuit (D0) / Single-master I2C-bus Ch. 0 I/O select register (0x40328) (D0) / Single-master I2C-bus Ch. 1 I/O select register (0x40338) Dx_MD[1:0]:DMA mode setting (D[1:0]) / Single-master I2C-bus Ch. 0 DMA mode setting register (0x40329) (D[1:0]) / Single-master I2C-bus Ch. 1 DMA mode setting register (0x40339) I2CTDBEx:Transmit data buffer empty (D3) / Single-master I2C-bus Ch. 0 DMA status register (0x4032C) (D3) / Single-master I2C-bus Ch. 1 DMA status register (0x4033C) I2CRDBUx:Receive data buffer update (D2) / Single-master I2C-bus Ch. 0 DMA status register (0x4032C) (D2) / Single-master I2C-bus Ch. 1 DMA status register (0x4033C) RDREQx_H:Read DMA request signal status (D1) / Single-master I2C-bus Ch. 0 DMA status register (0x4032C) (D1) / Single-master I2C-bus Ch. 1 DMA status register (0x4033C) WDREQx_H:Write DMA request signal status (D0) / Single-master I2C-bus Ch. 0 DMA status register (0x4032C) (D0) / Single-master I2C-bus Ch. 1 DMA status register (0x4033C) S1C33T01 FUNCTION PART EPSON B-III-9-15 III PERIPHERAL BLOCK: SINGLE MASTER I2C-BUS CLKW0: Ch. 0 clock wait (D4) / Single-master I 2C-bus Ch. 0 control register (0x40322) CLKW1: Ch. 1 clock wait (D4) / Single-master I 2C-bus Ch. 1 control register (0x40332) Selects use of the clock wait function. Write "1": Clock wait function used. Write "0": Clock wait function not used. Read: Valid This bit is cleared to "0" by a software reset (I2CSRx = "1"). At initial reset, the state of this register is undefined. TACK0: Ch. 0 transmit ACK signal (D3) / Single-master I 2C-bus Ch. 0 control register (0x40322) TACK1: Ch. 1 transmit ACK signal (D3) / Single-master I 2C-bus Ch. 1 control register (0x40332) Sets the ACK signal sent to the slave in receive mode. Write "1": ACK signal Write "0": NACK signal This bit is cleared to "0" by a software reset (I2CSRx = "1"). At initial reset, the state of this register is undefined. Note: When DMA is used, the value of TACKx is only used during the transfer of the last byte. (An ACK is always sent to delimit intermediate bytes.) TRNS02-TRNS00: Ch. 0 operate command (D[2:0]) / Single-master I2C-bus Ch. 0 control register (0x40322) TRNS12-TRNS10: Ch. 1 operate command (D[2:0]) / Single-master I2C-bus Ch. 1 control register (0x40332) Specifies the commands that specify single-master I2 C-bus core operation and the start of that operation. Table 9.10 Transfer Commands TRNS[2:0] Operation 001 Issues an I2C-bus start condition 010 Issues an I2C-bus stop condition 011 I2C-bus data receive 100 I2C-bus data transfer 101 Dummy DMA send mode* 110 Dummy DMA receive mode* Any other value Clears the single-master I2C-bus error status register error flag. These bits are cleared to "000" by a software reset (I2CSRx = "1"). No te: I n t he dum my DM A mod es, only a DM A t ran sf er is perf orm ed wit hout perf orm ing an I 2C-bus transmit or receive operation. RUN0: Command operation state (D7) / Single-master I 2C-bus Ch. 0 status register (0x40323) RUN1: Command operation state (D7) / Single-master I 2C-bus Ch. 1 status register (0x40333) Indicates whether or not a command operation (TRNSx[2:0]) is executing. Read "1": A command is executing Read "0": Command wait state Write: Invalid This bit is cleared to "0" by a software reset (I2CSRx = "1"). At initial reset, the state of this register is undefined. SSDA0: SSCL0: SSDA1: SSCL1: SDA0 status (D5) / Single-master I 2C-bus Ch. 0 status register (0x40323) SCL0 status (D4) / Single-master I 2C-bus Ch. 0 status register (0x40323) SDA1 status (D5) / Single-master I 2C-bus Ch. 1 status register (0x40333) SCL1 status (D4) / Single-master I 2C-bus Ch. 1 status register (0x40333) Indicates the current SDAx and SCLx line status. At initial reset, the state of this register is undefined. B-III-9-16 EPSON S1C33T01 FUNCTION PART III PERIPHERAL BLOCK: SINGLE MASTER I2C-BUS UB0: Ch. 0 BUS usage state (D3) / Single-master I 2C-bus Ch. 0 status register (0x40323) UB1: Ch. 1 BUS usage state (D3) / Single-master I 2C-bus Ch. 1 status register (0x40333) Indicates whether or not the single-master I2 C-bus is using the bus. Read "1": The single-master I2 C-bus is using the bus. Read "0": The single-master I2 C-bus is not using the bus. Write: Invalid This bit is cleared to "0" by a software reset (I2CSRx = "1"). At initial reset, the state of this register is undefined. BB0: I 2C-BUS usage state (D2) / Single-master I 2C-bus Ch. 0 status register (0x40323) BB1: I 2C-BUS usage state (D2) / Single-master I 2C-bus Ch. 1 status register (0x40333) Indicates whether or not the I2 C-bus is being used. Read "1": The I2 C-bus is being used. Read "0": The I2 C-bus is not being used. Write: Invalid This bit is cleared to "0" by a software reset (I2CSRx = "1"). At initial reset, the state of this register is undefined. EH0: Ch. 0 error flag (D1) / Single-master I 2C-bus Ch. 0 status register (0x40323) EH1: Ch. 1 error flag (D1) / Single-master I 2C-bus Ch. 1 status register (0x40333) Indicates whether or not an error occurred. EHx is set to "1" when any one of RACKx, STDx, SPDx, DMSx, and CMSx is set to "1". Read "1": An error occurred. Read "0": No error occurred. Write: Invalid This bit is cleared to "0" by a software reset (I2CSRx = "1"). It is also cleared when either a "000" or "111" is written to the TRNSx[2:0] single-master I2 C-bus control register. At initial reset, the state of this register is undefined. CMP0: Ch. 0 transmit command complete (D0) / Single-master I 2C-bus Ch. 0 status register (0x40323) CMP1: Ch. 1 transmit command complete (D0) / Single-master I 2C-bus Ch. 1 status register (0x40333) Indicates the completion of a transfer command. Read "1": The transfer command completed Read "0": Either waiting for command completion or in the IDLE state. Write: Invalid This bit is cleared when a command is written to the TRNSx[2:0] single-master I2 C-bus control register. This bit is also cleared to "0" by a software reset (I2CSRx = "1"). At initial reset, the state of this register is undefined. RACK0: Ch. 0 receive ACK signal (D4) / Single-master I 2C-bus Ch. 0 error status register (0x40324) RACK1: Ch. 1 receive ACK signal (D4) / Single-master I 2C-bus Ch. 1 error status register (0x40334) Indicates whether there was an error due to a NACK signal reception. Read "1": An error occurred. Read "0": No error occurred. Write: Invalid This bit is cleared to "0" by a software reset (I2CSRx = "1"). It is also cleared when either a "000" or "111" is written to the TRNSx[2:0] single-master I2 C-bus control register. At initial reset, the state of this register is undefined. S1C33T01 FUNCTION PART EPSON B-III-9-17 III PERIPHERAL BLOCK: SINGLE MASTER I2C-BUS CMS0: Ch. 0 clock mismatch (D3) / Single-master I 2C-bus Ch. 0 error status register (0x40324) CMS1: Ch. 1 clock mismatch (D3) / Single-master I 2C-bus Ch. 1 error status register (0x40334) Detects clock mismatch. This bit is set to "1" when the clock output by the master (this I2CSMST) is accepted by the I2CSMST itself (the slave side is in the open state) and that clock does not match. Read "1": Clock mismatch detected. Read "0": No clock mismatch detected. Write: Invalid This bit is cleared to "0" by a software reset (I2CSRx = "1"). It is also cleared when either a "000" or "111" is written to the TRNSx[2:0] single-master I2 C-bus control register. At initial reset, the state of this register is undefined. DMS0: Ch. 0 data mismatch (D2) / Single-master I 2C-bus Ch. 0 error status register (0x40324) DMS1: Ch. 1 data mismatch (D2) / Single-master I 2C-bus Ch. 1 error status register (0x40334) Detects data mismatch. This bit is set to "1" when the data output by the master (this I2CSMST) is accepted by the I2CSMST itself (the slave side is in the open state) and that data does not match. Read "1": Clock mismatch detected. Read "0": No clock mismatch detected. Write: Invalid This bit is cleared to "0" by a software reset (I2CSRx = "1"). It is also cleared when either a "000" or "111" is written to the TRNSx[2:0] single-master I2 C-bus control register. At initial reset, the state of this register is undefined. SPD0: Ch. 0 stop condition (D1) / Single-master I 2C-bus Ch. 0 error status register (0x40324) SPD1: Ch. 1 stop condition (D1) / Single-master I 2C-bus Ch. 1 error status register (0x40334) This bit is set if a stop condition is detected at any point other than the stipulated position. Read "1": A stop condition was detected at a point other than the stipulated position. Read "0": A stop condition was not detected at a point other than the stipulated position. Write: Invalid This bit is cleared to "0" by a software reset (I2CSRx = "1"). It is also cleared when either a "000" or "111" is written to the TRNSx[2:0] single-master I2 C-bus control register. At initial reset, the state of this register is undefined. STD0: Ch. 0 start condition (D0) / Single-master I 2C-bus Ch. 0 error status register (0x40324) STD1: Ch. 1 start condition (D0) / Single-master I 2C-bus Ch. 1 error status register (0x40334) This bit is set if a start condition is detected at any point other than the stipulated position. Read "1": A start condition was detected at a point other than the stipulated position. Read "0": A start condition was not detected at a point other than the stipulated position. Write: Invalid This bit is cleared to "0" by a software reset (I2CSRx = "1"). It is also cleared when either a "000" or "111" is written to the TRNSx[2:0] single-master I2 C-bus control register. At initial reset, the state of this register is undefined. B-III-9-18 EPSON S1C33T01 FUNCTION PART III PERIPHERAL BLOCK: SINGLE MASTER I2C-BUS Ch. 0 interrupt error status (D3) / Single-master I 2C-bus Ch. 0 interrupt control / status register (0x40325) IS_EH1: Ch. 1 interrupt error status (D3) / Single-master I 2C-bus Ch. 1 interrupt control / status register (0x40335) IS_CMP0: Ch. 0 interrupt complete status (D2) / Single-master I 2C-bus Ch. 0 interrupt control / status register (0x40325) IS_CMP1: Ch. 1 interrupt complete status (D2) / Single-master I 2C-bus Ch. 1 interrupt control / status register (0x40335) IS_EH0: The interrupt factor flag used when an error or command completion occurs. This flag is set when IC_EHx (IC_CMPX) is "1" and an error (or command completion) occurs. * When read Read "1": Read "0": * When written Write "1": Write "0": An interrupt for the factor is outstanding. There is no interrupt for the factor. Resets the factor flag. Invalid This bit is cleared to "0" by a software reset (I2CSRx = "1"). At initial reset, the state of this register is undefined. IC_EH0: Ch. 0 error interrupt (D1) / Single-master I 2C-bus Ch. 0 interrupt control / status register (0x40325) IC_EH1: Ch. 1 error interrupt (D1) / Single-master I 2C-bus Ch. 1 interrupt control / status register (0x40335) IC_CMP0: Ch. 0 complete interrupt (D0) / Single-master I 2C-bus Ch. 0 interrupt control / status register (0x40325) IC_CMP1: Ch. 1 complete interrupt (D0) / Single-master I 2C-bus Ch. 1 interrupt control / status register (0x40335) Enables/disables the error interrupt/command completion interrupt. Write "1": Enables the interrupt. Write "0": Disables the interrupt. Read: Valid When this flag is "0", the IS_EHx (IS_CMPX) flag will not be set to "1" if an error (or command completion) occurs. This bit is cleared to "0" by a software reset (I2CSRx = "1"). At initial reset, the state of this register is undefined. NIS_P03-NIS_P00: Ch. 0 noise filter clock division ration setting (D[3:0]) / Single-master I 2C-bus Ch. 0 noise filter clock (NCLK0) divisor register (0x40326) NIS_P13-NIS_P10: Ch. 1 noise filter clock division ration setting (D[3:0]) / Single-master I 2C-bus Ch. 1 noise filter clock (NCLK1) divisor register (0x40336) The noise filter clock (NCLKx) is generated by dividing the master clock. This register sets the divisor. S1C33T01 FUNCTION PART EPSON B-III-9-19 III PERIPHERAL BLOCK: SINGLE MASTER I2C-BUS Table 9.11 NCLKx Divisor NIS_Px[3:0] Divisor 1111 /60 1110 /56 1101 /52 1100 /48 1011 /44 1010 /40 1001 /36 1000 /32 0111 /28 0110 /24 0101 /20 0100 /16 0011 /12 0010 /8 0001 /4 0000 /2 The frequency of the noise filter clock can be determined from the following formula. fNCLKx =fPSCIN /(4xNIS_Px[3:0]) [Hz] (fNCLKx =fPSCIN /2 when NIS_Px=0) At initial reset, the state of this register is undefined. SCL_P02-SCL_P00: SCL0 division ratio setting (D[2:0]) / Single-master I 2C-bus Ch. 0 clock (SCL0) divisor register (0x40327) SCL_P12-SCL_P10: SCL1 division ratio setting (D[2:0]) / Single-master I 2C-bus Ch. 1 clock (SCL1) divisor register (0x40337) The SCLx clock is generated by dividing the noise filter clock NCLKx. This register sets the divisor. Table 9.12 SCLx Divisor SCL_Px[2:0] Divisor 111 /512 110 /256 101 /128 100 /64 011 /32 010 /16 001 /8 000 /4 Therefore, the SCLx frequency during I2 C-bus transfers is determined by the following formula. fSCLx =fNCLKx /(2n x4)=f PSCIN /((4xNIS_Px[3:0])x(2n x4)) [Hz] (fSCLx =fPSCIN /(2x(2n x4)) when SCL_Px=0 [Hz]) Note: n=SCL_P[2:0] SDAP0: SCLP0: SDAP1: SCLP1: Ch. Ch. Ch. Ch. 0 0 1 1 data push-pull (D3) / Single-master I 2C-bus Ch. 0 I/O select register (0x40328) clock push-pull (D2) / Single-master I 2C-bus Ch. 0 I/O select register (0x40328) data push-pull (D3) / Single-master I 2C-bus Ch. 1 I/O select register (0x40338) clock push-pull (D2) / Single-master I 2C-bus Ch. 1 I/O select register (0x40338) Sets the SDAx and SCLx pin output levels. Write "1": Low- and high-level outputs. The high level is driven to the supply voltage to reduce noise. Write "0": Low-level and high-impedance outputs (I2 C-bus standard) Read: Valid This bit is cleared to "0" by a software reset (I2CSRx = "1"). At initial reset, the state of this register is undefined. B-III-9-20 EPSON S1C33T01 FUNCTION PART III PERIPHERAL BLOCK: SINGLE MASTER I2C-BUS SDAS0: Ch. 0 data spike suppresion circuit (D1) / Single-master I 2C-bus Ch. 0 I/O select register (0x40328) SCLS0: Ch. 0 clock spike suppresion circuit (D0) / Single-master I 2C-bus Ch. 0 I/O select register (0x40328) SDAS1: Ch. 1 data spike suppresion circuit (D1) / Single-master I 2C-bus Ch. 1 I/O select register (0x40338) SCLS1: Ch. 1 clock spike suppresion circuit (D0) / Single-master I 2C-bus Ch. 1 I/O select register (0x40338) Specifies whether the spike suppression circuit is included on the SDAx and SCLx pins. Write "1": Spike suppression circuit enabled. Write "0": Spike suppression circuit disabled. Read: Valid This bit is cleared to "0" by a software reset (I2CSRx = "1"). At initial reset, the state of this register is undefined. D0_MD1-D0_MD0: Ch. 0 DMA mode setting (D[1:0]) / Single-master I 2C-bus Ch. 0 DMA mode setting register (0x40329) D1_MD1-D1_MD0: Ch. 1 DMA mode setting (D[1:0]) / Single-master I 2C-bus Ch. 1 DMA mode setting register (0x40339) Sets the DMA mode. Only single transfer mode is supported. D_MD[1:0] Setting 00 No DMA. Transfers are performed without using the DMA function. 01 Reserved. 10 IDMA. Dual address mode DMA transfers (no EOP). The DMA counter is used. 11 HSDMA. Dual address mode DMA transfers (with EOP). This bit is cleared to "0" by a software reset (I2CSRx = "1"). At initial reset, the state of this register is undefined. D0_CNT7-D0_CNT0: Ch. 0 IDMA type counter value (lower byte)(D[7:0]) / Single-master I 2C-bus Ch. 0 IDMA counter (lower) register (0x4032A) D0_CNT15-D0_CNT8: Ch. 0 IDMA type counter value (upper byte)(D[7:0]) / Single-master I 2C-bus Ch. 0 IDMA counter (upper) register (0x4032B) D1_CNT7-D1_CNT0: Ch. 1 IDMA type counter value (lower byte)(D[7:0]) / Single-master I 2C-bus Ch. 1 IDMA counter (lower) register (0x4033A) D1_CNT15-D1_CNT8: Ch. 1 IDMA type counter value (upper byte)(D[7:0]) / Single-master I 2C-bus Ch. 1 IDMA counter (upper) register (0x4033B) Transfer counter (16 bits) used during IDMA transfers (when Dx_MD[1:0] = "10"). This counter is set to the number of bytes transmitted or received. No te: Sinc e t his regist er does not hav e a read prot ect f unct ion, applic ations s hould read out t he regist er twice and compare the values to verify that they match. I2CTDBE0: Ch .0 transmit data buffer empty (D3) / Single-master I 2C-bus Ch. 0 DMA status register (0x4032C) I2CTDBE1: Ch .1 transmit data buffer empty (D3) / Single-master I 2C-bus Ch. 1 DMA status register (0x4033C) This bit is set to "1" when the contents of the single-master I2 C-bus transmit data register are written to the transmit shift register. This bit is cleared to "0" when the next data is written to the transmit data register. Read "1": Transmit data register ready Read "0": Transmit data register full Write: Invalid S1C33T01 FUNCTION PART EPSON B-III-9-21 III PERIPHERAL BLOCK: SINGLE MASTER I2C-BUS This bit is cleared to "0" by a software reset (I2CSRx = "1"). At initial reset, the state of this register is undefined. I2CRDBU0: Ch. 0 receive data buffer update (D2) / Single-master I2C-bus Ch. 0 DMA status register (0x4032C) I2CRDBU1: Ch. 1 receive data buffer update (D2) / Single-master I2C-bus Ch. 1 DMA status register (0x4033C) Set to "1" when the contents of the single-master I2 C-bus receive data register are updated. This bit is cleared to "0" when the contents of the receive data register are read out by the CPU or a DMA transfer. Read "1": The receive data register has been updated. Read "0": The receive data register has not been updated. Write: Invalid This bit is cleared to "0" by a software reset (I2CSRx = "1"). At initial reset, the state of this register is undefined. RDREQ0_H: Ch. 0 read DMA request signal status (D1) / Single-master I2C-bus Ch. 0 DMA status register (0x4032C) WDREQ0_H: Ch. 0 write DMA request signal status (D1) / Single-master I2C-bus Ch. 0 DMA status register (0x4032C) RDREQ1_H: Ch. 1 read DMA request signal status (D1) / Single-master I2C-bus Ch. 1 DMA status register (0x4033C) WDREQ1_H: Ch. 1 write DMA request signal status (D1) / Single-master I2C-bus Ch. 1 DMA status register (0x4033C) Indicates the status of the read DREQ signal and the write DREQ signal. Read "1": High Read "0": Low Write: Invalid This bit is cleared to "0" by a software reset (I2CSRx = "1"). At initial reset, the state of this register is undefined. PI2C02-PI2C00: Ch. 0 interrupt level (D[2:0]) / Single-master I2C-bus Ch. 0/1 interrupt priority register (0x402B0) PI2C12-PI2C10: Ch. 1 interrupt level (D[6:4]) / Single-master I2C-bus Ch. 0/1 interrupt priority register (0x402B0) Sets the priority level of the single-master I2 C-bus interrupt. The interrupt priority can be set to a level in the range 0 to 7 for each channel. PI2Cx is undefined at initial reset. At initial reset, the state of this register is undefined. EI2CI0,EI2CR0,EI2CW0: Ch. 0 interrupt enable (D0, D1, D2) / Single-master I2C-bus Ch. 0/1 interrupt enable register (0x402B1) EI2CI1,EI2CR1,EI2CW1: Ch. 1 interrupt enable (D3, D4, D5) / Single-master I2C-bus Ch. 0/1 interrupt enable register (0x402B1) Enables or disables the generation of CPU interrupts. Write "1": Interrupts enabled Write "0": Interrupt disabled Read: Valid The EI2CIx, EI2CRx, and EI2CWx bits enable the command complete/error interrupt, the read DMA request interrupt, and the write DMA request interrupt for the corresponding channel when set to "1", and disable that interrupt when set to "0". At initial reset, the interrupt enable registers are set to "0" (interrupts disabled). At initial reset, the state of this register is undefined. B-III-9-22 EPSON S1C33T01 FUNCTION PART III PERIPHERAL BLOCK: SINGLE MASTER I2C-BUS FI2CI0,FI2CR0,FI2CW0: Ch. 0 interrupt factor flag (D0, D1, D2) / Single-master I2C-bus Ch. 0/1 interrupt factor flag register (0x402B2) FI2CI1,FI2CR1,FI2CW1: Ch. 1 interrupt factor flag (D3, D4, D5) / Single-master I2C-bus Ch. 0/1 interrupt factor flag register (0x402B2) Indicates the interrupt generation state of the single-master I2 C-bus. * When read Read "1": An interrupt factor occurred. Read "0": No interrupt factor occurred. * When written using the reset only method (default) Write "1": Resets the factor flag Write "0": Invalid * When written using the read/write method Write "1": Sets the factor flag. Write "0": Resets the factor flag. The FI2CIx, FI2CRx, and FI2CWx flags are the interrupt request flags for the command complete/error interrupt, the read DMA request interrupt, and the write DMA request interrupt for the corresponding channel. These flags are set to "1" when the corresponding factor occurs. A command complete/error interrupt occurs at the point when the corresponding interrupt has been enabled internally to the single-master I2 C-bus and a command completion or error occurs. A read DMA request occurs when a data receive is performed in the state where the single-master I2 C-bus has been set to DMA transfer mode. A write DMA request occurs when a data transfer is performed in the state where the single-master I2 C-bus has been set to DMA transfer mode. A receive error interrupt factor occurs when a parity error, framing error, or overrun error is detected during data reception. At this time an interrupt will be issued to the CPU if the following conditions are met. 1. The corresponding bit in the interrupt enable register is set to "1". 2. Another interrupt with a higher priority level has not occurred. 3. The PSR IE bit is set to "1" (interrupts enabled). 4. The corresponding interrupt priority register is set to a level higher than the CPU interrupt level (IL). Note that when using the read DMA request and write DMA request interrupts as IDMA requests, an interrupt will not be issued to the CPU at the point the interrupt factor occurs, even if the above conditions are met. If interrupts are enabled by the IDAM settings, the interrupt will be generated after the IDMA data transfer completes under the above conditions. The interrupt factor flags are set to "1" by the occurrence of an interrupt factor regardless of the settings of the interrupt enable register and the interrupt priority register. After an interrupt occurs, the following is required for the next interrupt to be accepted: the interrupt factor flag must be reset and PSR must be set again. (That is, IL must be set to a level lower than the level indicated by the interrupt priority register and the IE bit must be set to "1" or an reti instruction executed.) Note that the interrupt factor flags are only reset by being written by software. This means that if PSR is set again to the state where interrupts can be accepted (including by executing an reti instruction) without resetting the interrupt factor flag, the same interrupt will occur again. Also note that the value that must be written to reset a interrupt factor flag is "1" when the reset only method is enabled (RSTONLY = "1") and "0" when the read/write method is enabled (RSTONLY = "0"). Since these flags are all undefined at initial reset, applications must reset them in software. At initial reset, the state of this register is undefined. S1C33T01 FUNCTION PART EPSON B-III-9-23 III PERIPHERAL BLOCK: SINGLE MASTER I2C-BUS RI2CR0RICW0: Ch.0 IDMA request (D0, D1) / Single-master I2C-bus Ch. 0/1 IDMA request register (0x402B3) RI2CR1RICW1: Ch.1 IDMA request (D2, D3) / Single-master I2C-bus Ch. 0/1 IDMA request register (0x402B3) Enables or disables interrupt-driven IDMA transfers. * When written using the set only method (default) Write "1": IDMA enabled Write "0": Invalid Read: Valid * When written using the read/write method Write "1": IDMA enabled Write "0": IDMA disabled Read: Valid RI2CRXx and RI2CWx are IDMA enable bits that correspond to the read DMA request and write DMA request interrupts for each channel. When these bits are set to "1", an IDMA operation is started when the interrupt factor occurs, and the programmed data transfer is performed. When set to "0", the normal interrupt handling is performed and IDMA is not used. At initial reset, these bits are set to "0" (IDMA disabled). At initial reset, the state of this register is undefined. DEI2CR0DEICW0: Ch.0 IDMA request (D0, D1) / Single-master I2C-bus Ch. 0/1 IDMA request register (0x402B4) DEI2CR1DEICW1: Ch.0 IDMA request (D2, D3) / Single-master I2C-bus Ch. 0/1 IDMA request register (0x402B4) Enables or disables interrupt-driven IDMA transfers. * When written using the set only method (default) Write "1": IDMA enabled Write "0": Invalid Read: Valid * When written using the read/write method Write "1": IDMA enabled Write "0": IDMA disabled Read: Valid DEI2CRXx and DE2CWx are IDMA enable bits that correspond to the read DMA request and write DMA request interrupts for each channel. When these bits are set to "1", an IDMA operation is started when the interrupt factor occurs, and the programmed data transfer is performed. When set to "0", the normal interrupt handling is performed and IDMA is not used. At initial reset, these bits are set to "0" (IDMA disabled). At initial reset, the state of this register is undefined. B-III-9-24 EPSON S1C33T01 FUNCTION PART III PERIPHERAL BLOCK: SINGLE MASTER I2C-BUS Programming Notes Noise Filter Overview The input signal is input to the noise filter and sampled by the noise filter clock (NCLKx). If the value is the same for two samples, that value is output. The previous value is output if the sampled values differ. ISDA ISCL NCLKx DF DF 1 0 1 11 0 00 10 NIS_ISDA NIS_ISCL 01 Selecter Figure 9.7 Noise Filter Overview (1) Specifying the transfer rate Set the transfer rate by setting the noise filter clock (NCLKx) divisor register and the I2 C-bus clock (SCLx) divisor register. The set value will be 1/4 of the SCLx prescaler frequency. Since the SCLx clock is generated with a 50% duty, adjust the transfer clock to match the high and low periods. Do not change the transfer clock settings during a transmit or receive operation. Set the I2 C-bus to the bus free state when changing the transfer clock settings. If the SCLx clock high level is generated by a high-impedance plus pull-up resistor technique, take the time constant of the signal rise time into account when determining the SCLx frequency. CLK Noise filter clock (NCLKx) divisor register I2C-bus clock (SCLx) divisor register NCLKx prescaler SCLx prescaler I2C sequencer SCLx prescaler output x 4 SCLx ISCL Noise filter ISDA Figure 9.8 I2C-Bus Clock Division Process S1C33T01 FUNCTION PART EPSON B-III-9-25 III PERIPHERAL BLOCK: SINGLE MASTER I2C-BUS Table 9.13 Relationship Between fCLK and fNCLKx Due to the Noise Filter Clock (NCLKx) Divisor Register Setting (NCLK_Px[3:0]) fCLK 50,000 33,000 25,000 20,000 10,000 8,000 kHz kHz kHz kHz kHz kHz NCLK_Px [3:0] 1/2 00 25,000kHz 16,500kHz 12,500kHz 10,000kHz 5,000kHz 4,000kHz 1/4 01 12,500kHz 8,250kHz 6,250kHz 5,000kHz 2,500kHz 2,000kHz 1/8 02 6,250kHz 4,125kHz 3,125kHz 2,500kHz 1,250kHz 1,000kHz 1/12 03 4,167kHz 2,750kHz 2,083kHz 1,667kHz 833kHz 667kHz 1/16 04 3,125kHz 2,062kHz 1,563kHz 1,250kHz 625kHz 500kHz 1/20 05 2,500kHz 1,650kHz 1,250kHz 1,000kHz 500kHz 400kHz 1/24 06 2,083kHz 1,375kHz 1,042kHz 833kHz 417kHz 333kHz 1/28 07 1,786kHz 1,178kHz 893kHz 714kHz 357kHz 286kHz 1/32 08 1,563kHz 1,031kHz 781kHz 625kHz 313kHz 250kHz 1/36 09 1,389kHz 916kHz 694kHz 555kHz 278kHz 222kHz 1/40 10 1,250kHz 825kHz 625kHz 500kHz 250kHz 200kHz 1/44 11 1,136kHz 750kHz 568kHz 455kHz 227kHz 182kHz 1/48 12 1,042kHz 687kHz 521kHz 417kHz 208kHz 166kHz 1/52 13 961kHz 634kHz 481kHz 385kHz 192kHz 153kHz 1/56 14 893kHz 589kHz 446kHz 357kHz 178kHz 142kHz 1/60 15 833kHz 550kHz 417kHz 333kHz 167kHz 133kHz Table 9.14 Relationship Between fNCLKx and the Generated SCLx Clock Due to the I2C-Bus Clock (SCLx) Divisor Register Setting (SCL_Px[2:0]) fNCLKx 25,000 10,000 5,000 1,000 500 250 kHz kHz kHz kHz kHz kHz 00 6,250kHz 2,500kHz 1,250kHz 250kHz 125kHz 6kHz 01 3,125kHz 1,250kHz 625kHz 125kHz 63kHz 3kHz 02 1,563kHz 625kHz 313kHz 63kHz 31kHz 1.5kHz 03 781kHz 313kHz 156kHz 31kHz 16kHz 0.8kHz 04 391kHz 156kHz 78kHz 16kHz 8kHz 0.4kHz 05 195kHz 78kHz 39kHz 8kHz 4kHz 0.2kHz 06 98kHz 39kHz 20kHz 4kHz 2kHz 0.1kHz 07 49kHz 20kHz 10kHz 2kHz 1kHz 0.05kHz SCL_Px [2:0] Note: The transfer rate has a period 4 times that of the output from the SCLx prescaler. (2) Notes on use of the output push-pull circuit Since the outputs go to the high-impedance state when the bus is in the free state, external pull-up resistors must be used. In the standby state during data transfers, SCA control is cut and the line set to the high-impedance state to prevent bus contention, even if the push-pull circuit is used. This circuit cannot be connected to slaves that execute clock wait in bit units. (3) SDAx I/O switching timing SDAx I/O switching is not performed by monitoring the bus state, but rather by switching based on the time. (4) Notes on data transfer completion during DMA reception Since the ACK is returned to the slave after verifying the EOP from the DMA for data reception completion when HSDMA is used, and after the IDAM counter value becomes "0" for IDMA, data reception continues even after the DMA transfer completes. Furthermore, transfers also continue after EOP is detected even for DMA transmit operations. This means that applications must first verify that transfers have completed on the corresponding channel (with the status register CMPx bit) before performing the next operation. B-III-9-26 EPSON S1C33T01 FUNCTION PART III PERIPHERAL BLOCK: SINGLE MASTER I2C-BUS SDAx 6 7 5 4 3 2 1 0 Hi-Z ACK Output state SCLx Receive complete DMA request interrupt occurs EOP occurs Receive complete interrupt occurs Figure 9.9 Data Transfer Complete Operation During DMA Transfers (5) Notes on Use of the Clock Wait Function The CPU must monitor the I2 C-bus for deadlock errors if the clock wait function is used. S1C33T01 FUNCTION PART EPSON B-III-9-27 III PERIPHERAL BLOCK: SINGLE MASTER I2C-BUS THIS PAGE IS BLANK. B-III-9-28 EPSON S1C33T01 FUNCTION PART III PERIPHERAL BLOCK: INPUT/OUTPUT PORTS III-10 INPUT/OUTPUT PORTS The Peripheral Block has a total of 82 input/output ports. Although each pin is used for input/output from/to the internal peripheral circuits, some pins can be used as general-purpose input/output ports unless they are used for the peripheral circuits. Input Ports (K Ports) Structure of Input Port The Peripheral Block contains 13 bits of input ports (K50 to K54, K60 to K67). Figure 10.1 shows the structure of a typical input port. VDDE KxxD Kxx Address Internal data bus Input interrupt circuit VSS AVDD for K60 to K67 Figure 10.1 Structure of Input Port Each input-port pin is connected directly to the internal data bus via a three-state buffer. The state of the input signal when read at an input port is directly taken into the internal circuit as data. Input-Port Pins The input pins concurrently serve as the input pins for peripheral circuits, as shown in Table 10.1. Whether they are used as input ports or for peripheral circuits can be set bit-for-bit using a function select register. All pins not used for peripheral circuits can be used as general-purpose input ports that have an interrupt function. Table 10.1 Input Pins Pin name K50/#DMAREQ0 K51/#DMAREQ1 K52/#ADTRG K53/#DMAREQ2 K54/#DMAREQ3 K60/AD0 K61/AD1 K62/AD2 K63/AD3 K64/AD4 K65/AD5 K66/AD6 K67/AD7 I/O Pull-up I - Input port / High-speed DMA request 0 Function CFK50(D0)/K5 function select register(0x402C0) Function select bit I - Input port / High-speed DMA request 1 CFK51(D1)/K5 function select register(0x402C0) I - Input port / AD converter trigger CFK52(D2)/K5 function select register(0x402C0) I - Input port / High-speed DMA request 2 CFK53(D3)/K5 function select register(0x402C0) I - Input port / High-speed DMA request 3 CFK54(D4)/K5 function select register(0x402C0) I - Input port / AD converter input 0 CFK60(D0)/K6 function select register(0x402C3) I - Input port / AD converter input 1 CFK61(D1)/K6 function select register(0x402C3) I - Input port / AD converter input 2 CFK62(D2)/K6 function select register(0x402C3) I - Input port / AD converter input 3 CFK63(D3)/K6 function select register(0x402C3) I - Input port / AD converter input 4 CFK64(D4)/K6 function select register(0x402C3) I - Input port / AD converter input 5 CFK65(D5)/K6 function select register(0x402C3) I - Input port / AD converter input 6 CFK66(D6)/K6 function select register(0x402C3) I - Input port / AD converter input 7 CFK67(D7)/K6 function select register(0x402C3) At cold start, all pins are set for input ports Kxx (function select register CFKxx = "0"). When these pins are used for the internal peripheral circuits, write "1" to CFKxx. For details on pin functions in this case, refer to the description of each peripheral circuit in this manual. At hot start, the pins retain their state from prior to the reset. When the ports set for A/D converter input are read, the value obtained is always "0". S1C33T01 FUNCTION PART EPSON B-III-10-1 III PERIPHERAL BLOCK: INPUT/OUTPUT PORTS Notes on Use The input buffers of the K60 to K67 ports use AVDD (power voltage for A/D converter) as their power source. Therefore, the following precautions must be taken. 1) When using K60 to K67 as general-purpose input ports, the voltage input to the port must be high level = AVDD and low level = VSS. 2) When using VDDE as high level similar to other ports, VDDE must be the same voltage level as AVDDE. If the input VDDE level is lower than the AVDDE level, current flows in the input buffer, or if the input VDDE level is higher than the AVDDE level, current flows from the VDDE power supply to the AVDD power supply. 3) To fix the input level externally when the port is not used, the input pin should be connected to VSS or AVDDE. B-III-10-2 EPSON S1C33T01 FUNCTION PART III PERIPHERAL BLOCK: INPUT/OUTPUT PORTS I/O Memory of Input Ports Table 10.2 shows the control bits of the input ports. Table 10.2 Register name Address Bit Name Control Bits of Input Ports Function K5 function select register 00402C0 D7-5 - (B) D4 CFK54 D3 CFK53 D2 CFK52 D1 CFK51 D0 CFK50 reserved K54 function selection K53 function selection K52 function selection K51 function selection K50 function selection K5 input port data register 00402C1 D7-5 - (B) D4 K54D D3 K53D D2 K52D D1 K51D D0 K50D reserved K54 input port data K53 input port data K52 input port data K51 input port data K50 input port data K6 function select register 00402C3 (B) D7 D6 D5 D4 D3 D2 D1 D0 CFK67 CFK66 CFK65 CFK64 CFK63 CFK62 CFK61 CFK60 K6 input port data register 00402C4 (B) D7 D6 D5 D4 D3 D2 D1 D0 K67D K66D K65D K64D K63D K62D K61D K60D Setting Init. R/W - 1 1 1 1 1 #DMAREQ3 #DMAREQ2 #ADTRG #DMAREQ1 #DMAREQ0 0 0 0 0 0 K54 K53 K52 K51 K50 - - R R R R R K67 K66 K65 K64 K63 K62 K61 K60 0 0 0 0 0 0 0 0 R/W R/W R/W R/W R/W R/W R/W R/W 0 Low - - - - - - - - R R R R R R R R 0 Low K67 function selection K66 function selection K65 function selection K64 function selection K63 function selection K62 function selection K61 function selection K60 function selection 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 K67 input port data K66 input port data K65 input port data K64 input port data K63 input port data K62 input port data K61 input port data K60 input port data 1 High Remarks - 0 when being read. R/W R/W R/W R/W R/W - - - - - - 1 High AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0 - 0 0 0 0 0 0 when being read. CFK54-CFK50: K5[4:0] function selection (D[4:0]) / K5 function select register (0x402C0) CFK67-CFK60: K6[7:0] function selection (D[7:0]) / K6 function select register (0x402C3) Selects the function of each input-port pin. Write "1": Used for peripheral circuit Write "0": Input port pin Read: Invalid When a bit of the CFK register is set to "1", the corresponding pin is set for use with the peripheral circuit (see Table 10.1). The pins for which register bits are set to "0" can be used as general-purpose input ports. At cold start, CFK is set to "0" (input port). At hot start, CFK retains its state from prior to the initial reset. K54D-K50D: K5[4:0] input port data (D[4:0]) / K5 input port data register (0x402C1) K67D-K60D: K6[7:0] input port data (D[7:0]) / K6 input port data register (0x402C4) The input data on each input port pin can be read from this register. Read "1": High level Read "0": Low level Write: Invalid The pin voltage of each input port can be read out "1" directly when the voltage is high (VDD) or "0" when the voltage is low (VSS) respectively. Since this register is a read-only register, writing to the register is ignored. When the ports set for A/D converter input are read, the value obtained is always "0". S1C33T01 FUNCTION PART EPSON B-III-10-3 III PERIPHERAL BLOCK: INPUT/OUTPUT PORTS I/O Ports (P Ports) Structure of I/O Port The Peripheral Block contains 69 bits of I/O ports (P00 to P07, P10 to P16, P20 to P27, P30 to P35, P40 to P47, P50 to P57, P60 to P67, P70 to P77, P80 to P87) that can be directed for input or output through the use of a program. Figure 10.2 shows the structure of a typical I/O port. VDDE Internal data bus I/O control register Function select register Pxx Data register Peripheral circuit output VSS Peripheral circuit input Figure 10.2 Structure of I/O Port I/O Port Pins The I/O ports concurrently serve as the input/output pins for peripheral circuits, as shown in Table 10.3. Whether they are used as I/O ports or for peripheral circuits can be set bit-for-bit using a function select register. All pins not used for peripheral circuits can be used as general-purpose I/O ports. Table 10.3 I/O Pins Pin name I/O Pull-up Function Function select bit P00/SIN0 I/O - I/O port / Serial IF Ch.0 data input CFP00(D0)/P0 function select register(0x402D0) P01/SOUT0 I/O - I/O port / Serial IF Ch.0 data output CFP01(D1)/P0 function select register(0x402D0) P02/#SCLK0 I/O - I/O port / Serial IF Ch.0 clock input/output CFP02(D2)/P0 function select register(0x402D0) P03/#SRDY0 I/O - I/O port / Serial IF Ch.0 ready input/output CFP03(D3)/P0 function select register(0x402D0) P04/SIN1/ #DMAACK2 I/O - I/O port / Serial IF Ch.1 data input / #DMAACK2 output (Ex) CFP04(D4)/P0 function select register(0x402D0) CFEX4(D4)/Port function extension register(0x402DF) P05/SOUT1/ #DMAEND2 I/O - I/O port / Serial IF Ch.1 data output / #DMAEND2 output (Ex) CFP05(D5)/P0 function select register(0x402D0) CFEX5(D5)/Port function extension register(0x402DF) P06/#SCLK1/ #DMAACK3 I/O - I/O port / Serial IF Ch.1 clock input/output / #DMAACK3 output (Ex) CFP06(D6)/P0 function select register(0x402D0) CFEX6(D6)/Port function extension register(0x402DF) P07/#SRDY1/ #DMAEND3 I/O - I/O port / Serial IF Ch.1 ready input/output / #DMAEND3 output (Ex) CFP07(D7)/P0 function select register(0x402D0) CFEX7(D7)/Port function extension register(0x402DF) P10/EXCL0/ I/O T8UF0/DST0 - I/O port / 16-bit timer 0 event counter input (I) / CFP10(D0)/P1 function select register(0x402D4) 8-bit timer 0 output (O) / DST0 output (Ex) CFEX1(D1)/Port function extension register(0x402DF) P11/EXCL1/ I/O T8UF1/DST1 - I/O port / 16-bit timer 1 event counter input (I) / CFP11(D1)/P1 function select register(0x402D4) 8-bit timer 1 output (O) / DST1 output (Ex) CFEX1(D1)/Port function extension register(0x402DF) P12/EXCL2/ I/O T8UF2/DST2 - I/O port / 16-bit timer 2 event counter input (I) / CFP12(D2)/P1 function select register(0x402D4) 8-bit timer 2 output (O) / DST2 output (Ex) CFEX0(D0)/Port function extension register(0x402DF) P13/EXCL3/ I/O T8UF3/DPCO - I/O port / 16-bit timer 3 event counter input (I) / CFP13(D3)/P1 function select register(0x402D4) 8-bit timer 3 output (O) / DPCO output (Ex) CFEX1(D1)/Port function extension register(0x402DF) P14/FOSC1/ DCLK I/O - I/O port / Low-speed (OSC1) clock output / DCLK output (Ex) P15/EXCL4/ #DMAEND0 I/O - I/O port / 16-bit timer 4 event counter input (I) / CFP15(D5)/P1 function select register(0x402D4) #DMAEND0 output (O) P16/EXCL5/ #DMAEND1 I/O - I/O port / 16-bit timer 5 event counter input (I) / CFP16(D6)/P1 function select register(0x402D4) #DMAEND1 output (O) CFP14(D4)/P1 function select register(0x402D4) CFEX0(D0)/Port function extension register(0x402DF) (I): Input mode, (O): Output mode, (Ex): Extended function : A 3-V system I/O voltage can only be used for the P10-P14 pins. B-III-10-4 EPSON S1C33T01 FUNCTION PART III PERIPHERAL BLOCK: INPUT/OUTPUT PORTS Table 10.3 Pin name P20/#DRD P21/#DWE/ #GAAS P22/TM0 P23/TM1 P24/TM2 P25/TM3 P26/TM4 P27/TM5 P30/#WAIT/ #CE4&5 P31/#BUSGET/ #GARD P32/#DMAACK0 P33/#DMAACK1 P34/#BUSREQ/ #CE6 P35/#BUSACK P40/SIN2 P41/SOUT2 P42/#SCLK2 P43/#SRDY2 P44/SIN3 P45/SOUT3 P46/#SCLK3 P47/#SRDY3 P50/T8UF4 P51/T8UF5 P52 P53 P54 P55 P60 P61 P62 P63 P64 P65 P66 P67 P70/SCL0 I/O Pins (continue) I/O Pull-up Function I/O - I/O port / #DRD output I/O - I/O port / #DWE output / GA address strobe output (Ex) I/O - I/O port / 16-bit timer 0 output I/O - I/O port / 16-bit timer 1 output I/O - I/O port / 16-bit timer 2 output I/O - I/O port / 16-bit timer 3 output I/O - I/O port / 16-bit timer 4 output I/O - I/O port / 16-bit timer 5 output I/O - I/O port / #WAIT input (I) / #CE4&5 output (O) I/O - I/O I/O I/O - - - I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O - - - - - - - - - - - - - - - - - - - - - - - - P71/SDA0 I/O - P72/SCL1 I/O - P73/SDA1 I/O - P74 P75 P76 P77 P80/EXCL6 P81/EXCL7 P82/EXCL8 P83/EXCL9 P84/TM6 P85/TM7 P86/TM8 P87/TM9 I/O I/O - - I/O I/O I/O I/O I/O I/O I/O I/O - - - - - - - - I/O port / #BUSGET output / GA read signal output (Ex) I/O port / #DMAACK0 output I/O port / #DMAACK1 output I/O port / #BUSREQ input (I) / #CE6 output (O) I/O port / #BUSACK output I/O port / Serial IF Ch.2 data input I/O port / Serial IF Ch.2 data output I/O port / Serial IF Ch.2 clock input/output I/O port / Serial IF Ch.2 ready input/output I/O port / Serial IF Ch.3 data input I/O port / Serial IF Ch.3 data output I/O port / Serial IF Ch.3 clock input/output I/O port / Serial IF Ch.3 ready input/output I/O port / 8-bit timer 4 output I/O port / 8-bit timer 4 output I/O port I/O port I/O port I/O port I/O port I/O port I/O port I/O port I/O port I/O port I/O port I/O port I/O port / Single-master I2C-bus Ch.0 clock input/ouput I/O port / Single-master I2C-bus Ch.0 data input/ouput I/O port / Single-master I2C-bus Ch.1 clock input/ouput I/O port / Single-master I2C-bus Ch.1 data input/ouput I/O port I/O port I/O port I/O port I/O port / 16-bit timer 6 event counter input I/O port / 16-bit timer 7 event counter input I/O port / 16-bit timer 8 event counter input I/O port / 16-bit timer 9 event counter input I/O port / 16-bit timer 6 output I/O port / 16-bit timer 7 output I/O port / 16-bit timer 8 output I/O port / 16-bit timer 9 output Function select bit CFP20(D0)/P2 function select register(0x402D8) CFP21(D1)/P2 function select register(0x402D8) CFEX2(D2)/Port function extension register(0x402DF) CFP22(D2)/P2 function select register(0x402D8) CFP23(D3)/P2 function select register(0x402D8) CFP24(D4)/P2 function select register(0x402D8) CFP25(D5)/P2 function select register(0x402D8) CFP26(D6)/P2 function select register(0x402D8) CFP27(D7)/P2 function select register(0x402D8) CFP30(D0)/P3 function select register(0x402DC) CFP31(D1)/P3 function select register(0x402DC) CFEX3(D3)/Port function extension register(0x402DF) CFP32(D2)/P3 function select register(0x402DC) CFP33(D3)/P3 function select register(0x402DC) CFP34(D4)/P3 function select register(0x402DC) CFP35(D5)/P3 function select register(0x402DC) CFP40(D0)/P4 function select register(0x40300) CFP41(D1)/P4 function select register(0x40300) CFP42(D2)/P4 function select register(0x40300) CFP43(D3)/P4 function select register(0x40300) CFP44(D4)/P4 function select register(0x40300) CFP45(D5)/P4 function select register(0x40300) CFP46(D6)/P4 function select register(0x40300) CFP47(D7)/P4 function select register(0x40300) CFP50(D0)/P5 function select register(0x40303) CFP51(D1)/P5 function select register(0x40303) - - - - - - - - - - - - CFP70(D0)/P7 function select register(0x4030A) CFP70(D0)/P7 function select register(0x4030A) CFP71(D1)/P7 function select register(0x4030A) CFP71(D1)/P7 function select register(0x4030A) - - - - CFP80(D0)/P8 CFP81(D1)/P8 CFP82(D2)/P8 CFP83(D3)/P8 CFP84(D4)/P8 CFP85(D5)/P8 CFP86(D6)/P8 CFP87(D7)/P8 function select register(0x4030D) function select register(0x4030D) function select register(0x4030D) function select register(0x4030D) function select register(0x4030D) function select register(0x4030D) function select register(0x4030D) function select register(0x4030D) (I): Input mode, (O): Output mode, (Ex): Extended function S1C33T01 FUNCTION PART EPSON B-III-10-5 III PERIPHERAL BLOCK: INPUT/OUTPUT PORTS At cold start, all pins are set for I/O ports Pxx (function select register CFPxx = "0"). When these pins are used for the internal peripheral circuits, write "1" to CFPxx. For details on pin functions in this case, refer to the description of each peripheral circuit in this manual. At hot start, the pins retain their state from prior to the reset. In addition to being an I/O port, the P10-P13, P15-P16, P30 and P34 pins are shared with two types (three types for P10-P13) of peripheral circuits. The type of peripheral circuit for which these pins are used is determined by the direction (input or output) in which the pin is set using an I/O control register, as will be described later. The P04-P07, P10-P14, P21 and P31 ports have extended functions indicated with (Ex) in the table. They can be selected by writing "1" to CFEXx / Port function extension register (0x402DF). The setting of CFEXx has priority over the CFPxx. At cold start, CFEX1 and CFEX0 are set to "1", so the P10-P14 pins are set for debug signal outputs. I/O Control Register and I/O Modes The I/O ports are directed for input or output modes by writing data to an I/O control register corresponding to each port bit. P07-P00 I/O control: IOC0[7:0] (D[7:0]) / P0 I/O control register (0x402D2) P16-P10 I/O control: IOC1[6:0] (D[6:0]) / P1 I/O control register (0x402D6) P27-P20 I/O control: IOC2[7:0] (D[7:0]) / P2 I/O control register (0x402DA) P35-P30 I/O control: IOC3[5:0] (D[5:0]) / P3 I/O control register (0x402DE) P47-P40 I/O control: IOC4[7:0] (D[7:0]) / P4 I/O control register (0x40302) P57-P50 I/O control: IOC5[7:0] (D[7:0]) / P5 I/O control register (0x40305) P67-P60 I/O control: IOC6[7:0] (D[7:0]) / P6 I/O control register (0x40308) P77-P70 I/O control: IOC7[7:0] (D[7:0]) / P7 I/O control register (0x4030C) P87-P80 I/O control: IOC8[7:0] (D[7:0]) / P8 I/O control register (0x4030F) To set an I/O port for input, write "0" to the I/O control bit. I/O ports set for input mode are placed in the highimpedance state, and thus function as input ports. In the input mode, the state of the input pin is read directly, so the data is "1" when the pin state is high (VDD level) or "0" when the pin state is low (VSS level). Even in the input mode, data can be written to the data register without affecting the pin state. To set an I/O port for output, write "1" to the I/O control bit. I/O port set for output function as output ports. When the port output data is "1", the port outputs a high level (VDD level); when the data is "0", the port outputs a low level (VSS level). At cold start, the I/O control register is set to "0" (input mode). At hot start, the pins retain their state from prior to the reset. Note: If pins P10-P14, P15-P16, P30 and P34 are set for use with peripheral circuits, their pin functions vary depending on the input/output direction control by the IOC1x register. B-III-10-6 EPSON S1C33T01 FUNCTION PART III PERIPHERAL BLOCK: INPUT/OUTPUT PORTS I/O Memory of I/O Ports Table 10.4 shows the control bits of the I/O ports. Table 10.4 Control Bits of I/O Ports Register name Address Bit Name P0 function select register 00402D0 (B) D7 D6 D5 D4 D3 D2 D1 D0 CFP07 CFP06 CFP05 CFP04 CFP03 CFP02 CFP01 CFP00 P07 function selection P06 function selection P05 function selection P04 function selection P03 function selection P02 function selection P01 function selection P00 function selection Function 1 1 1 1 1 1 1 1 Setting P0 I/O port data 00402D1 register (B) D7 D6 D5 D4 D3 D2 D1 D0 P07D P06D P05D P04D P03D P02D P01D P00D P07 I/O port data P06 I/O port data P05 I/O port data P04 I/O port data P03 I/O port data P02 I/O port data P01 I/O port data P00 I/O port data P0 I/O control register 00402D2 (B) D7 D6 D5 D4 D3 D2 D1 D0 IOC07 IOC06 IOC05 IOC04 IOC03 IOC02 IOC01 IOC00 P1 function select register 00402D4 (B) D7 D6 0 0 0 0 0 0 0 0 Init. R/W Remarks P07 P06 P05 P04 P03 P02 P01 P00 0 0 0 0 0 0 0 0 R/W Extended functions R/W (0x402DF) R/W R/W R/W R/W R/W R/W 1 High 0 Low 0 0 0 0 0 0 0 0 R/W R/W R/W R/W R/W R/W R/W R/W P07 I/O control P06 I/O control P05 I/O control P04 I/O control P03 I/O control P02 I/O control P01 I/O control P00 I/O control 1 Output 0 Input 0 0 0 0 0 0 0 0 R/W R/W R/W R/W R/W R/W R/W R/W - CFP16 reserved P16 function selection - 0 - 0 when being read. R/W D5 CFP15 P15 function selection 0 R/W D4 CFP14 P14 function selection - 1 EXCL5 0 P16 #DMAEND1 1 EXCL4 0 P15 #DMAEND0 1 FOSC1 0 P14 0 D3 CFP13 P13 function selection 0 P13 0 D2 CFP12 P12 function selection 0 P12 0 R/W D1 CFP11 P11 function selection 0 P11 0 R/W D0 CFP10 P10 function selection 1 EXCL3 T8UF3 1 EXCL2 T8UF2 1 EXCL1 T8UF1 1 EXCL0 T8UF0 R/W Extended functions (0x402DF) R/W 0 P10 0 R/W P1 I/O port data 00402D5 register (B) D7 D6 D5 D4 D3 D2 D1 D0 - P16D P15D P14D P13D P12D P11D P10D reserved P16 I/O port data P15 I/O port data P14 I/O port data P13 I/O port data P12 I/O port data P11 I/O port data P10 I/O port data - 0 0 0 0 0 0 0 - 0 when being read. R/W R/W R/W R/W R/W R/W R/W P1 I/O control register 00402D6 (B) D7 D6 D5 D4 D3 D2 D1 D0 - IOC16 IOC15 IOC14 IOC13 IOC12 IOC11 IOC10 reserved P16 I/O control P15 I/O control P14 I/O control P13 I/O control P12 I/O control P11 I/O control P10 I/O control - 0 0 0 0 0 0 0 - 0 when being read. R/W R/W R/W R/W R/W R/W R/W P2 function select register 00402D8 (B) D7 D6 D5 D4 D3 D2 D1 D0 CFP27 CFP26 CFP25 CFP24 CFP23 CFP22 CFP21 CFP20 P27 function selection P26 function selection P25 function selection P24 function selection P23 function selection P22 function selection P21 function selection P20 function selection 0 0 0 0 0 0 0 0 R/W R/W R/W R/W R/W R/W R/W Ext. func.(0x402DF) R/W S1C33T01 FUNCTION PART #SRDY1 #SCLK1 SOUT1 SIN1 #SRDY0 #SCLK0 SOUT0 SIN0 - 1 High 0 Low - EPSON 1 Output 0 Input 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 TM5 TM4 TM3 TM2 TM1 TM0 #DWE #DRD P27 P26 P25 P24 P23 P22 P21 P20 B-III-10-7 III PERIPHERAL BLOCK: INPUT/OUTPUT PORTS Table 10.4 Bit P2 I/O port data 00402D9 register (B) D7 D6 D5 D4 D3 D2 D1 D0 P27D P26D P25D P24D P23D P22D P21D P20D P27 I/O port data P26 I/O port data P25 I/O port data P24 I/O port data P23 I/O port data P22 I/O port data P21 I/O port data P20 I/O port data 1 High 0 Low 0 0 0 0 0 0 0 0 R/W R/W R/W R/W R/W R/W R/W R/W P2 I/O control register D7 D6 D5 D4 D3 D2 D1 D0 IOC27 IOC26 IOC25 IOC24 IOC23 IOC22 IOC21 IOC20 P27 I/O control P26 I/O control P25 I/O control P24 I/O control P23 I/O control P22 I/O control P21 I/O control P20 I/O control 1 Output 0 Input 0 0 0 0 0 0 0 0 R/W R/W R/W R/W R/W R/W R/W R/W reserved P35 function selection P34 function selection - 1 #BUSACK 0 1 #BUSREQ 0 #CE6 1 #DMAACK1 0 1 #DMAACK0 0 1 #BUSGET 0 1 #WAIT 0 #CE4/#CE5 P35 P34 - 0 0 - 0 when being read. R/W R/W P33 P32 P31 P30 0 0 0 0 R/W R/W R/W Ext. func.(0x402DF) R/W - 0 0 0 0 0 0 - 0 when being read. R/W R/W R/W R/W R/W R/W - 0 0 0 0 0 0 - 0 when being read. R/W R/W R/W R/W R/W R/W 00402DA (B) Name Control Bits of I/O Ports (continue) Register name Address P3 function 00402DC D7-6 - select register (B) D5 CFP35 D4 CFP34 D3 D2 D1 D0 CFP33 CFP32 CFP31 CFP30 Function P33 function selection P32 function selection P31 function selection P30 function selection P3 I/O port data 00402DD D7-6 - register (B) D5 P35D D4 P34D D3 P33D D2 P32D D1 P31D D0 P30D reserved P35 I/O port data P34 I/O port data P33 I/O port data P32 I/O port data P31 I/O port data P30 I/O port data P3 I/O control register 00402DE D7-6 - (B) D5 IOC35 D4 IOC34 D3 IOC33 D2 IOC32 D1 IOC31 D0 IOC30 reserved P35 I/O control P34 I/O control P33 I/O control P32 I/O control P31 I/O control P30 I/O control Port function extension register 00402DF (B) Setting - 1 High - 0 Input 1 1 1 1 1 1 1 #DMAEND3 #DMAACK3 #DMAEND2 #DMAACK2 #GARD #GAAS DST0 DST1 DPC0 1 DST2 DCLK 0 0 0 0 0 0 0 P07, etc. P06, etc. P05, etc. P04, etc. P31, etc. P21, etc. P10, etc. P11, etc. P13, etc. 0 P12, etc. P14, etc. 0 0 0 0 0 0 1 R/W R/W R/W R/W R/W R/W R/W 1 R/W 0 0 0 0 0 0 0 0 P47 P46 P45 P44 P43 P42 P41 P40 0 0 0 0 0 0 0 0 R/W R/W R/W R/W R/W R/W R/W R/W 0 Low 0 0 0 0 0 0 0 0 R/W R/W R/W R/W R/W R/W R/W R/W CFEX7 CFEX6 CFEX5 CFEX4 CFEX3 CFEX2 CFEX1 P07 port extended function P06 port extended function P05 port extended function P04 port extended function P31 port extended function P21 port extended function P10, P11, P13 port extended function D0 CFEX0 P12, P14 port extended function 0040300 (B) D7 D6 D5 D4 D3 D2 D1 D0 CFP47 CFP46 CFP45 CFP44 CFP43 CFP42 CFP41 CFP40 P47 function selection P46 function selection P45 function selection P44 function selection P43 function selection P42 function selection P41 function selection P40 function selection 1 1 1 1 1 1 1 1 P4 I/O port data 0040301 register (B) D7 D6 D5 D4 D3 D2 D1 D0 P47D P46D P45D P44D P43D P42D P41D P40D P47 I/O port data P46 I/O port data P45 I/O port data P44 I/O port data P43 I/O port data P42 I/O port data P41 I/O port data P40 I/O port data 1 High B-III-10-8 0 Low 1 Output D7 D6 D5 D4 D3 D2 D1 P4 function select register Init. R/W EPSON #SRDY3 #SCLK3 SOUT3 SIN3 #SRDY2 #SCLK2 SOUT2 SIN2 Remarks S1C33T01 FUNCTION PART III PERIPHERAL BLOCK: INPUT/OUTPUT PORTS Table 10.4 Register name Address Bit P4 I/O control register 0040302 (B) D7 D6 D5 D4 D3 D2 D1 D0 P5 function select register 0040303 (B) Name IOC47 IOC46 IOC45 IOC44 IOC43 IOC42 IOC41 IOC40 D7-2 - D1 CFP51 D0 CFP50 Control Bits of I/O Ports (continue) Function P47 I/O control P46 I/O control P45 I/O control P44 I/O control P43 I/O control P42 I/O control P41 I/O control P40 I/O control Setting 1 Output reserved P51 function selection P50 function selection 0 Input - 1 T8UF5 1 T8UF4 0 P51 0 P50 Init. R/W Remarks 0 0 0 0 0 0 0 0 R/W R/W R/W R/W R/W R/W R/W R/W - 0 0 - 0 when being read. R/W R/W P5 I/O port data 0040304 register (B) D7 D6 D5 D4 D3 D2 D1 D0 P57D P56D P55D P54D P53D P52D P51D P50D P57 I/O port data P56 I/O port data P55 I/O port data P54 I/O port data P53 I/O port data P52 I/O port data P51 I/O port data P50 I/O port data 1 High 0 Low 0 0 0 0 0 0 0 0 R/W R/W R/W R/W R/W R/W R/W R/W P5 I/O control register 0040305 (B) D7 D6 D5 D4 D3 D2 D1 D0 IOC57 IOC56 IOC55 IOC54 IOC53 IOC52 IOC51 IOC50 P57 I/O control P56 I/O control P55 I/O control P54 I/O control P53 I/O control P52 I/O control P51 I/O control P50 I/O control 1 Output 0 Input 0 0 0 0 0 0 0 0 R/W R/W R/W R/W R/W R/W R/W R/W P6 I/O port data 0040307 register (B) D7 D6 D5 D4 D3 D2 D1 D0 P67D P66D P65D P64D P63D P62D P61D P60D P67 I/O port data P66 I/O port data P65 I/O port data P64 I/O port data P63 I/O port data P62 I/O port data P61 I/O port data P60 I/O port data 1 High 0 Low 0 0 0 0 0 0 0 0 R/W R/W R/W R/W R/W R/W R/W R/W P6 I/O control register 0040308 (B) D7 D6 D5 D4 D3 D2 D1 D0 IOC67 IOC66 IOC65 IOC64 IOC63 IOC62 IOC61 IOC60 P67 I/O control P66 I/O control P65 I/O control P64 I/O control P63 I/O control P62 I/O control P61 I/O control P60 I/O control 1 Output 0 Input 0 0 0 0 0 0 0 0 R/W R/W R/W R/W R/W R/W R/W R/W P7 function select register 004030A D7-2 - (B) D1 CFP71 D0 CFP70 reserved P72,P73 function selection P70,P71 function selection - 1 SCL1,SDA1 0 P72,P73 1 SCL0,SDA0 0 P70,P71 - 0 0 - 0 when being read. R/W R/W P7 I/O port data 004030B register (B) D7 D6 D5 D4 D3 D2 D1 D0 P77D P76D P75D P74D P73D P72D P71D P70D P77 I/O port data P76 I/O port data P75 I/O port data P74 I/O port data P73 I/O port data P72 I/O port data P71 I/O port data P70 I/O port data 1 High 0 Low 0 0 0 0 0 0 0 0 R/W R/W R/W R/W R/W R/W R/W R/W P7 I/O control register D7 D6 D5 D4 D3 D2 D1 D0 IOC77 IOC76 IOC75 IOC74 IOC73 IOC72 IOC71 IOC70 P77 I/O control P76 I/O control P75 I/O control P74 I/O control P73 I/O control P72 I/O control P71 I/O control P70 I/O control 1 Output 0 Input 0 0 0 0 0 0 0 0 R/W R/W R/W R/W R/W R/W R/W R/W 004030C (B) S1C33T01 FUNCTION PART EPSON B-III-10-9 III PERIPHERAL BLOCK: INPUT/OUTPUT PORTS Table 10.4 Bit P8 function select register 004030D (B) D7 D6 D5 D4 D3 D2 D1 D0 CFP87 CFP86 CFP85 CFP84 CFP83 CFP82 CFP81 CFP80 P87 function selection P86 function selection P85 function selection P84 function selection P83 function selection P82 function selection P81 function selection P80 function selection 1 1 1 1 1 1 1 1 P8 I/O port data 004030E register (B) D7 D6 D5 D4 D3 D2 D1 D0 P87D P86D P85D P84D P83D P82D P81D P80D P87 I/O port data P86 I/O port data P85 I/O port data P84 I/O port data P83 I/O port data P82 I/O port data P81 I/O port data P80 I/O port data P8 I/O control register D7 D6 D5 D4 D3 D2 D1 D0 IOC87 IOC86 IOC85 IOC84 IOC83 IOC82 IOC81 IOC80 P87 I/O control P86 I/O control P85 I/O control P84 I/O control P83 I/O control P82 I/O control P81 I/O control P80 I/O control 004030F (B) CFP07-CFP00: P0[7:0] CFP16-CFP10: P1[6:0] CFP27-CFP20: P2[7:0] CFP35-CFP30: P3[5:0] CFP47-CFP40: P4[7:0] CFP57-CFP50: P5[7:0] CFP71-CFP70: P7[1:0] CFP87-CFP80: P8[7:0] Name Control Bits of I/O Ports (continue) Register name Address Function function selection function selection function selection function selection function selection function selection function selection function selection (D[7:0]) / P0 (D[6:0]) / P1 (D[7:0]) / P2 (D[5:0]) / P3 (D[7:0]) / P4 (D[7:0]) / P5 (D[7:0]) / P7 (D[7:0]) / P8 Setting TM9 TM8 TM7 TM6 EXCL9 EXCL8 EXCL7 EXCL6 0 0 0 0 0 0 0 0 Init. R/W P87 P86 P85 P84 P83 P82 P81 P80 0 0 0 0 0 0 0 0 R/W R/W R/W R/W R/W R/W R/W R/W 1 High 0 Low 0 0 0 0 0 0 0 0 R/W R/W R/W R/W R/W R/W R/W R/W 1 Output 0 Input 0 0 0 0 0 0 0 0 R/W R/W R/W R/W R/W R/W R/W R/W Remarks function select register (0x402D0) function select register (0x402D4) function select register (0x402D8) function select register (0x402DC) function select register (0x40300) function select register (0x40303) function select register (0x4030A) function select register (0x4030D) Selects the function of each I/O port pin. Write "1": Used for peripheral circuit Write "0": I/O port pin Read: Valid When a bit of the CFP register is set to "1", the corresponding pin is set for use with peripheral circuits (see Table 10.3). The pins for which register bits are set to "0" can be used as general-purpose I/O ports. At cold start, CFP is set to "0" (I/O port). At hot start, CFP retains its state from prior to the initial reset. P07D-P00D: P0[7:0] I/O port data (D[7:0]) / P0 I/O port data register (0x402D1) P16D-P10D: P1[6:0] I/O port data (D[6:0]) / P1 I/O port data register (0x402D5) P27D-P20D: P2[7:0] I/O port data (D[7:0]) / P2 I/O port data register (0x402D9) P35D-P30D: P3[5:0] I/O port data (D[5:0]) / P3 I/O port data register (0x402DD) P47D-P40D: P4[7:0] I/O port data (D[7:0]) / P4 I/O port data register (0x40301) P57D-P50D: P5[7:0] I/O port data (D[7:0]) / P5 I/O port data register (0x40304) P67D-P60D: P6[7:0] I/O port data (D[7:0]) / P6 I/O port data register (0x40307) P77D-P70D: P7[7:0] I/O port data (D[7:0]) / P7 I/O port data register (0x4030B) P87D-P80D: P8[7:0] I/O port data (D[7:0]) / P8 I/O port data register (0x4030E) This register reads data from I/O-port pins or sets output data. When writing data Write "1": High level Write "0": Low level When an I/O port is set for output, the data written to it is directly output to the I/O port pin. If the data written to the port is "1", the port pin is set high (VDD, VDDE level); if the data is "0", the port pin is set low (VSS level). B-III-10-10 EPSON S1C33T01 FUNCTION PART III PERIPHERAL BLOCK: INPUT/OUTPUT PORTS Even in the input mode, data can be written to the port data register. When reading data Read "1": High level Read "0": Low level The voltage level on the port pin is read out regardless of whether an I/O port is set for input or output mode. If the pin voltage is high (VDD, VDDE level), "1" is read out as input data; if the pin voltage is low (VSS level), "0" is read out as input data. At cold start, all data bits are set to "0". At hot start, they retain their state from prior to the initial reset. IOC07-IOC00: P0[7:0] port I/O control (D[7:0]) / P0 port I/O control register (0x402D2) IOC16-IOC10: P1[6:0] port I/O control (D[6:0]) / P1 port I/O control register (0x402D6) IOC27-IOC20: P2[7:0] port I/O control (D[7:0]) / P2 port I/O control register (0x402DA) IOC35-IOC30: P3[5:0] port I/O control (D[5:0]) / P3 port I/O control register (0x402DE) IOC47-IOC40: P4[7:0] port I/O control (D[7:0]) / P4 port I/O control register (0x40302) IOC57-IOC50: P5[7:0] port I/O control (D[7:0]) / P5 port I/O control register (0x40305) IOC67-IOC60: P6[7:0] port I/O control (D[7:0]) / P6 port I/O control register (0x40308) IOC77-IOC70: P7[7:0] port I/O control (D[7:0]) / P7 port I/O control register (0x4030C) IOC87-IOC80: P8[7:0] port I/O control (D[7:0]) / P8 port I/O control register (0x4030F) Directs an I/O port for input or output. Write "1": Output mode Write "0": Input mode Read: Valid This I/O control register corresponds bit-for-bit to each I/O port. When an IOC bit is set to "1", the corresponding I/O port is directed for output; if it is set to "0", the I/O port is directed for input. At cold start, all IOC bits are set to "0" (input). At hot start, IOC retains its state from prior to the initial reset. If pins P10-P13, P15-P16, P30 and P34 are set for use with peripheral circuits, their pin functions vary depending on the input/output direction control by the IOC1x register. CFEX0: P12, P14 function extension (D0) / Port function extension register (0x402DF) CFEX1: P10, P11, P13 function extension (D1) / Port function extension register (0x402DF) CFEX2: P21 function extension (D2) / Port function extension register (0x402DF) CFEX3: P31 function extension (D3) / Port function extension register (0x402DF) CFEX4: P04 function extension (D4) / Port function extension register (0x402DF) CFEX5: P05 function extension (D5) / Port function extension register (0x402DF) CFEX6: P06 function extension (D6) / Port function extension register (0x402DF) CFEX7: P07 function extension (D7) / Port function extension register (0x402DF) Sets whether the function of an I/O-port pin is to be extended. Write "1": Function-extended pin Write "0": I/O-port/peripheral-circuit pin Read: Valid When CFEXx is set to "1", the corresponding pin is set to the extended function input/output pin. When CFEXx = "0", the corresponding CFP bit becomes effective. At cold start, CFEX0 and CFEX1 are set to "1" (function-extended pin) and other bits are set to "0" (I/Oport/peripheral-circuit pin). At hot start, CFEX retains its state from prior to the initial reset. S1C33T01 FUNCTION PART EPSON B-III-10-11 III PERIPHERAL BLOCK: INPUT/OUTPUT PORTS Input Interrupt The input ports and the I/O ports support 16 system of port input interrupts and two systems of key input interrupts. Port Input Interrupt The port input interrupt circuit has 16 interrupt systems (FPT0 to FPT15) and allows the selection of the ports that generation interrupt factors corresponding to FPT0 to FPT7. The interrupt factors FPT8 to FPT15 are allocated to P50 to P57 and cannot be reassigned. The interrupt condition can also be selected from between input signal edge and input signal level. Figure 10.3 shows the configuration of the port input interrupt circuit. Internal data bus K57 Interrupt signal generation Input port selection SPPT15 Interrupt request FPT15 FPT14 FPT13 FPT12 FPT11 FPT10 FPT9 FPT8 Address Edge/level selection SEPT15 Address FPT15 FPT14 FPT13 FPT12 FPT11 FPT10 FPT9 FPT8 (a) Configuration of FPT8 to FPT10 K67 P33 P07 P27 P67 Interrupt signal generation Internal data bus Input port selection SPT7,SPTEX7 Input polarity selection SPPT7 Interrupt request FPT7 FPT6 FPT5 FPT4 FPT3 FPT2 FPT1 FPT0 Address Edge/level selection SEPT7 Address FPT7 FPT6 FPT5 FPT4 FPT3 FPT2 FPT1 FPT0 (b) Configuration of FPT0 to FPT7 Figure 10.3 Configuration of Port Input Interrupt Circuit B-III-10-12 EPSON S1C33T01 FUNCTION PART III PERIPHERAL BLOCK: INPUT/OUTPUT PORTS Selecting input pins The interrupt factors allows selection of an input pin from the four predefined pins independently. Table 10.5 shows the control bits and the selectable pins for each factor. Table 10.5 Selecting Pins for Port Input Interrupts Interrupt Control bit SPTEX=0 SPTEX=1 factor SPT settings 11 - P33 K67 P67 P06 P32 K66 P66 P25 P05 P31 K65 P65 SPT4[1:0] (D[1:0])/Port input interrupt select register 2 (0x402C7) SPTEX4(D[4])/Port input interrupt selection expansion register (0x40306) P24 P04 K54 K64 P64 FPT3 SPT3[1:0] (D[7:6])/Port input interrupt select register 1 (0x402C6) SPTEX3(D[3])/Port input interrupt selection expansion register (0x40306) P23 P03 K53 K63 P63 FPT2 SPT2[1:0] (D[5:4])/Port input interrupt select register 1 (0x402C6) SPTEX2(D[2])/Port input interrupt selection expansion register (0x40306) P22 P02 K52 K62 P62 FPT1 SPT1[1:0] (D[3:2])/Port input interrupt select register 1 (0x402C6) SPTEX1(D[1])/Port input interrupt selection expansion register (0x40306) P21 P01 K51 K61 P61 FPT0 SPT0[1:0] (D[1:0])/Port input interrupt select register 1 (0x402C6) SPTEX0(D[0])/Port input interrupt selection expansion register (0x40306) P20 P00 K50 K60 P60 11 10 01 FPT15 - P57 FPT14 - P56 FPT13 - P55 FPT12 - P54 FPT11 - P53 FPT10 - P52 FPT9 - P51 FPT8 - FPT7 SPT7[1:0] (D[7:6])/Port input interrupt select register 2 (0x402C7) SPTEX7(D[7])/Port input interrupt selection expansion register (0x40306) P27 P07 FPT6 SPT6[1:0] (D[5:4])/Port input interrupt select register 2 (0x402C7) SPTEX6(D[6])/Port input interrupt selection expansion register (0x40306) P26 FPT5 SPT5[1:0] (D[3:2])/Port input interrupt select register 2 (0x402C7) SPTEX5(D[5])/Port input interrupt selection expansion register (0x40306) FPT4 P50 Conditions for port input-interrupt generation Each port input interrupt can be generated by the edge or level of the input signal. The SEPTx bit of the edge/level select register (0x402C9, 0x40310) is used for this selection. When SEPTx is set to "1", the FPTx interrupt will be generated at the signal edge. When SEPTx is set to "0", the FPTx interrupt will be generated by the input signal level. Furthermore, the signal polarity can be selected using the SPPTx bit of the input porarity select register (0x402C8, 0x40310). With these registers, the port input interrupt condition is decided as shown in Table 10.6. Table 10.6 Port Input Interrupt Condition SEPTx SPPTx 1 1 0 0 1 0 1 0 FPTx interrupt condition Rising edge Falling edge High level Low level When the input signal goes to the selected status, the interrupt factor flag FP is set to "1" and, if other interrupt conditions set by the interrupt controller are met, an interrupt is generated. S1C33T01 FUNCTION PART EPSON B-III-10-13 III PERIPHERAL BLOCK: INPUT/OUTPUT PORTS Key Input Interrupt The key input interrupt circuit has two interrupt systems (FPK1 and FPK0) and a port group can be selected for generating each interrupt factor. The interrupt condition can also be set by software. Figure 10.4 shows the configuration of the port input interrupt circuit. FPK0 system K50 K60 P00 P20 P70 Input port selection SPPK0,SPPKEX0 Interrupt signal generation FPK0 Interrupt request Interrupt signal generation FPK1 Interrupt request Input comparison register SCPK0 Address Input mask register SMPK0 Internal data bus Address K50, K60, P00, P20, P70 K51, K61, P01, P21, P71 K52, K62, P02, P22, P72 K53, K63, P03, P23, P73 K54, K64, P04, P24, P74 FPK1 system K60 K64 P04 P24 Input port selection SPPK1,SPPKEX1 Input comparison register SCPK1 Address Input mask register SMPK1 Address K60, K64, P04, P24, P74 K61, K65, P05, P25, P75 K62, K66, P06, P26, P76 K63, K67, P07, P27, P77 Figure 10.4 Configuration of Key Input Interrupt Circuit B-III-10-14 EPSON S1C33T01 FUNCTION PART III PERIPHERAL BLOCK: INPUT/OUTPUT PORTS Selecting input pins For the FPK1 interrupt system, a five-bit input pin group can be selected from the four predefined groups. For the FPK0 system, a five-bit input pin group can be selected. Table 10.7 shows the control bits and the selectable groups for each factor. Table 10.7 Selecting Pins for Key Input Interrupts Interrupt Control bit SPTEX=0 SPTEX=1 factor SPT settings FPK1 FPK0 SPPK1[1:0] (D[3:2])/Key input interrupt select register (0x402CA) SPPKEX1(D1) Key input interrupt selection expansion register (0x40309) SPPK0[1:0] (D[1:0])/Key input interrupt select register (0x402CA) SPPKEX0(D0) Key input interrupt selection expansion register (0x40309) 11 10 01 00 - P2[7:4] P0[7:4] K6[7:4] K6[3:0] P7[7:4] P2[4:0] P0[4:0] K6[4:0] K5[4:0] P7[4:0] Conditions for key input-interrupt generation The key input interrupt circuit has two input mask registers (SMPK0[4:0] for FPK0 and SMPK1[3:0] for FPK1) and two input comparison registers (SCPK0[4:0] for FPK0 and SCPK1[3:0] for FPK1) to set input-interrupt conditions. The input mask register SMPK is used to mask the input pin that is not used for an interrupt. This register masks each input pin, whereas the interrupt enable register of the interrupt controller masks the interrupt factor for each interrupt group. The input comparison register SCPK is used to select whether an interrupt for each input port is to be generated at the rising or falling edge of the input. A change in state occurs so that the input pin enabled for interrupt by the interrupt mask register SMPK and the content of the input comparison register SCPK become unmatched after being matched, the interrupt factor flag FK is set to "1" and, if other interrupt conditions are met, an interrupt is generated. Figure 10.5 shows cases in which a FPK0 interrupt is generated. Here, it is assumed that the K5[4:0] pins are selected for the input-pin group and the control register of the interrupt controller is set so as to enable generation of a FPK0 interrupt. Intput mask register SMPK0 SMPK04 SMPK03 SMPK02 SMPK01 SMPK00 1 1 1 1 0 Input comparison register SCPK0 SCPK04 SCPK03 SCPK02 SCPK01 SCPK00 1 1 0 1 0 With the settings shown above, FPK0 interrupt is generated under the condition shown below. Input port K5 (1) K54 1 K53 1 K52 0 K51 1 K50 0 (2) K54 1 K53 1 K52 0 K51 1 K50 1 (3) K54 1 K53 0 K52 0 K51 1 K50 0 K54 1 K53 0 K52 1 K51 1 K50 0 (4) (Initial value) Interrupt generation Because interrupt has been disabled for K50, interrupt will be generated when nonconformity occurs between the contents of the four bits K51-K54 and the four bits input comparison register SCPK0[4:1]. Figure 10.5 FPK0 Interrupt Generation Example (when K5[4:0] is selected by SPPK[1:0]) S1C33T01 FUNCTION PART EPSON B-III-10-15 III PERIPHERAL BLOCK: INPUT/OUTPUT PORTS Since K50 is masked from interrupt by SMPK00, no interrupt occurs at that point (2) above. Next, because K53 becomes "0" at (3), an interrupt is generated due to the lack of a match between the data of the input pin K5[4:1] that is enabled for interrupt and that of the input comparison register SCPK0[4:1]. Since only a change in states in which the input data and the content of the input comparison register SCPK become unmatched after being matched constitutes an interrupt generation condition as described above, no interrupt is generated when a change in states from one unmatched state to another, as in (4), occurs. Consequently, if another interrupt is to be generated again following the occurrence of an interrupt, the state of the input pin must be temporarily restored to the same content as that of the input comparison register SCPK, or the input comparison register SCPK must be set again. Note that the input pins masked from interrupt by the SMPK register do not affect interrupt generation conditions. An interrupt is generated for FPK1 in the same way as described above. Control Registers of the Interrupt Controller Table 10.8 shows the control registers of the interrupt controller that are provided for each input-interrupt system. Table 10.8 Control Registers of Interrupt Controller System Interrupt factor flag FPT15 FPT14 FPT13 FPT12 FPT11 FPT10 FPT9 FPT8 FPT7 FPT6 FPT5 FPT4 FPT3 FPT2 FPT1 FPT0 FPK1 FPK0 FP15(D7/0x402A9) FP14(D6/0x402A9) FP13(D5/0x402A9) FP12(D4/0x402A9) FP11(D3/0x402A9) FP10(D2/0x402A9) FP9(D1/0x402A9) FP8(D0/0x402A9) FP7(D5/0x40287) FP6(D4/0x40287) FP5(D3/0x40287) FP4(D2/0x40287) FP3(D3/0x40280) FP2(D2/0x40280) FP1(D1/0x40280) FP0(D0/0x40280) FK1(D5/0x40280) FK0(D4/0x40280) Interrupt enable register EP15(D7/0x402A6) EP14(D6/0x402A6) EP13(D5/0x402A6) EP12(D4/0x402A6) EP11(D3/0x402A6) EP10(D2/0x402A6) EP9(D1/0x402A6) EP8(D0/0x402A6) EP7(D5/0x40277) EP6(D4/0x40277) EP5(D3/0x40277) EP4(D2/0x40277) EP3(D3/0x40270) EP2(D2/0x40270) EP1(D1/0x40270) EP0(D0/0x40270) EK1(D5/0x40270) EK0(D4/0x40270) Interrupt priority register PP15L[2:0](D[6:4]/0x402A3) PP14L[2:0](D[2:0]/0x402A3) PP13L[2:0](D[6:4]/0x402A2) PP12L[2:0](D[2:0]/0x402A2) PP11L[2:0](D[6:4]/0x402A1) PP10L[2:0](D[2:0]/0x402A1) PP9L[2:0](D[6:4]/0x402A0) PP8L[2:0](D[2:0]/0x402A0) PP7L[2:0](D[6:4]/0x4026D) PP6L[2:0](D[2:0]/0x4026D) PP5L[2:0](D[6:4]/0x4026C) PP4L[2:0](D[2:0]/0x4026C) PP3L[2:0](D[6:4]/0x40261) PP2L[2:0](D[2:0]/0x40261) PP1L[2:0](D[6:4]/0x40260) PP0L[2:0](D[2:0]/0x40260) PK1L[2:0](D[6:4]/0x40262) PK0L[2:0](D[2:0]/0x40262) When the interrupt generation condition described above is met, the corresponding interrupt factor flag is set to "1". If the interrupt enable register bit for that interrupt factor has been set to "1", an interrupt request is generated. Interrupts due to an interrupt factor can be disabled by leaving the interrupt enable register bit for that factor set to "0". The interrupt factor flag is set to "1" whenever interrupt generation conditions are met, regardless of the setting of the interrupt enable register. The interrupt priority register sets the interrupt priority level (0 to 7) for each interrupt system. An interrupt request to the CPU is accepted only when no other interrupt request of a higher priority has been generated. In addition, only when the PSR's IE bit = "1" (interrupts enabled) and the set value of the IL is smaller than the input interrupt level set using the interrupt priority register will the input interrupt request actually be accepted by the CPU. For details on these interrupt control registers, as well as the device operation when an interrupt has occurred, refer to "ITC (Interrupt Controller)". B-III-10-16 EPSON S1C33T01 FUNCTION PART III PERIPHERAL BLOCK: INPUT/OUTPUT PORTS Intelligent DMA The port input interrupt system can invoke an intelligent DMA (IDMA) through the use of its interrupt factor. This enables the port inputs to be used as a trigger to perform DMA transfer. The following shows the IDMA channel numbers assigned to each interrupt factor: IDMA Ch. FPT0 input interrupt: 1 FPT1 input interrupt: 2 FPT2 input interrupt: 3 FPT3 input interrupt: 4 FPT4 input interrupt: 28 FPT5 input interrupt: 29 FPT6 input interrupt: 30 FPT7 input interrupt: 31 IDMA Ch. FPT8 input interrupt: 38 FPT9 input interrupt: 39 FPT10 input interrupt: 40 FPT11 input interrupt: 41 FP12 input interrupt: 42 FP13 input interrupt: 43 FP14 input interrupt: 44 FP15 input interrupt: 45 For IDMA to be invoked, the IDMA request and IDMA enable bits shown in Table 10.9 must be set to "1" in advance. Transfer conditions, etc. must also be set on the IDMA side in advance. Table 10.9 Control Bits for IDMA Transfer System IDMA request bit IDMA enable bit FPT15 FPT14 FPT13 FPT12 FPT11 FPT10 FPT9 FPT8 FPT7 FPT6 FPT5 FPT4 FPT3 FPT2 FPT1 FPT0 RP15(D7/0x402AC) RP14(D6/0x402AC) RP13(D5/0x402AC) RP12(D4/0x402AC) RP11(D3/0x402AC) RP10(D2/0x402AC) RP9(D1/0x402AC) RP8(D0/0x402AC) RP7(D7/0x40293) RP6(D6/0x40293) RP5(D5/0x40293) RP4(D4/0x40293) RP3(D3/0x40290) RP2(D2/0x40290) RP1(D1/0x40290) RP0(D0/0x40290) DEP15(D7/0x402AE) DEP14(D6/0x402AE) DEP13(D5/0x402AE) DEP12(D4/0x402AE) DEP11(D3/0x402AE) DEP10(D2/0x402AE) DEP9(D1/0x402AE) DEP8(D0/0x402AE) DEP7(D7/0x40297) DEP6(D6/0x40297) DEP5(D5/0x40297) DEP4(D4/0x40297) DEP3(D3/0x40294) DEP2(D2/0x40294) DEP1(D1/0x40294) DEP0(D0/0x40294) If the IDMA request and enable bits are set to "1", IDMA is invoked through generation of an interrupt factor. No interrupt request is generated at that point. An interrupt request is generated after the DMA transfer is completed. The registers can also be set so as not to generate an interrupt, with only DMA transfers performed. For details on IDMA transfers and interrupt control upon completion of IDMA transfer, refer to "IDMA (Intelligent DMA)". S1C33T01 FUNCTION PART EPSON B-III-10-17 III PERIPHERAL BLOCK: INPUT/OUTPUT PORTS Trap vectors The trap-vector address of each input default interrupt factor is set as follows: FPT0 input interrupt: 0x0C00040 FPT1 input interrupt: 0x0C00044 FPT2 input interrupt: 0x0C00048 FPT3 input interrupt: 0x0C0004C FPK0 input interrupt: 0x0C00050 FPK1 input interrupt: 0x0C00054 FPT4 input interrupt: 0x0C00110 FPT5 input interrupt: 0x0C00114 FPT6 input interrupt: 0x0C00118 FPT7 input interrupt: 0x0C0011C FPT8 input interrupt: 0x0C00150 FPT9 input interrupt: 0x0C00154 FPK10 input interrupt: 0x0C00158 FPK11 input interrupt: 0x0C0015C FPT12 input interrupt: 0x0C00160 FPT13 input interrupt: 0x0C00164 FPT14 input interrupt: 0x0C00168 FPT15 input interrupt: 0x0C0016C The base address of the trap table can be changed using the TTBR register (0x48134 to 0x48137). B-III-10-18 EPSON S1C33T01 FUNCTION PART III PERIPHERAL BLOCK: INPUT/OUTPUT PORTS I/O Memory for Input Interrupts Table 10.10 shows the control bits for the port input and key input interrupts. Table 10.10 Bit Port input 0/1 0040260 interrupt (B) priority register D7 D6 D5 D4 D3 D2 D1 D0 - PP1L2 PP1L1 PP1L0 - PP0L2 PP0L1 PP0L0 reserved Port input 1 interrupt level - 0 to 7 reserved Port input 0 interrupt level - 0 to 7 D7 D6 D5 D4 D3 D2 D1 D0 - PP3L2 PP3L1 PP3L0 - PP2L2 PP2L1 PP2L0 reserved Port input 3 interrupt level - 0 to 7 reserved Port input 2 interrupt level - 0 to 7 D7 D6 D5 D4 D3 D2 D1 D0 - PK1L2 PK1L1 PK1L0 - PK0L2 PK0L1 PK0L0 reserved Key input 1 interrupt level - 0 to 7 reserved Key input 0 interrupt level - 0 to 7 Port input 2/3 0040261 interrupt (B) priority register Key input 0040262 interrupt (B) priority register Name Control Bits for Input Interrupts Register name Address Function Key input, 0040270 port input 0-3 (B) interrupt enable register D7-6 D5 D4 D3 D2 D1 D0 - EK1 EK0 EP3 EP2 EP1 EP0 reserved Key input 1 Key input 0 Port input 3 Port input 2 Port input 1 Port input 0 Port input 4-7, 0040277 clock timer, (B) A/D interrupt enable register D7-6 D5 D4 D3 D2 D1 D0 - EP7 EP6 EP5 EP4 ECTM EADE reserved Port input 7 Port input 6 Port input 5 Port input 4 Clock timer A/D converter Key input, 0040280 port input 0-3 (B) interrupt factor flag register D7-6 D5 D4 D3 D2 D1 D0 - FK1 FK0 FP3 FP2 FP1 FP0 reserved Key input 1 Key input 0 Port input 3 Port input 2 Port input 1 Port input 0 Port input 4-7, 0040287 clock timer, A/D (B) interrupt factor flag register D7-6 D5 D4 D3 D2 D1 D0 - FP7 FP6 FP5 FP4 FCTM FADE reserved Port input 7 Port input 6 Port input 5 Port input 4 Clock timer A/D converter R16TC0 R16TU0 RHDM1 RHDM0 RP3 RP2 RP1 RP0 16-bit timer 0 comparison A 16-bit timer 0 comparison B High-speed DMA Ch.1 High-speed DMA Ch.0 Port input 3 Port input 2 Port input 1 Port input 0 Port input 0-3, high-speed DMA, 16-bit timer 0 IDMA request register 0040290 (B) D7 D6 D5 D4 D3 D2 D1 D0 S1C33T01 FUNCTION PART Setting - 1 Enabled 0 Disabled - 1 Enabled 0 Disabled - 1 Factor is generated 0 No factor is generated - EPSON 1 Factor is generated 0 No factor is generated 1 IDMA request 0 Interrupt request Init. R/W Remarks - X X X - X X X - 0 when being read. R/W - X X X - X X X - 0 when being read. R/W - X X X - X X X - 0 when being read. R/W - 0 0 0 0 0 0 - 0 when being read. R/W R/W R/W R/W R/W R/W - 0 0 0 0 0 0 - 0 when being read. R/W R/W R/W R/W R/W R/W - X X X X X X - 0 when being read. R/W R/W R/W R/W R/W R/W - X X X X X X - 0 when being read. R/W R/W R/W R/W R/W R/W 0 0 0 0 0 0 0 0 R/W R/W R/W R/W R/W R/W R/W R/W - 0 when being read. R/W - 0 when being read. R/W - 0 when being read. R/W B-III-10-19 III PERIPHERAL BLOCK: INPUT/OUTPUT PORTS Table 10.10 Control Bits for Input Interrupts (continue) Register name Address Bit Serial I/F Ch.1, A/D, port input 4-7 IDMA request register D7 D6 D5 D4 D3 D2 D1 D0 RP7 RP6 RP5 RP4 - RADE RSTX1 RSRX1 Port input 7 Port input 6 Port input 5 Port input 4 reserved A/D converter SIF Ch.1 transmit buffer empty SIF Ch.1 receive buffer full 1 IDMA request 1 IDMA request 0 Interrupt request 0040293 (B) Name Function Setting 0 Interrupt request - Init. R/W Remarks 0 0 0 0 - 0 0 0 R/W R/W R/W R/W - 0 when being read. R/W R/W R/W Port input 0-3, high-speed DMA, 16-bit timer 0 IDMA enable register 0040294 (B) D7 D6 D5 D4 D3 D2 D1 D0 DE16TC0 DE16TU0 DEHDM1 DEHDM0 DEP3 DEP2 DEP1 DEP0 16-bit timer 0 comparison A 16-bit timer 0 comparison B High-speed DMA Ch.1 High-speed DMA Ch.0 Port input 3 Port input 2 Port input 1 Port input 0 1 IDMA enabled 0 IDMA disabled 0 0 0 0 0 0 0 0 R/W R/W R/W R/W R/W R/W R/W R/W Serial I/F Ch.1, A/D, port input 4-7 IDMA enable register 0040297 (B) D7 D6 D5 D4 D3 D2 D1 D0 DEP7 DEP6 DEP5 DEP4 - DEADE DESTX1 DESRX1 Port input 7 Port input 6 Port input 5 Port input 4 reserved A/D converter SIF Ch.1 transmit buffer empty SIF Ch.1 receive buffer full 1 IDMA enabled 0 IDMA disabled 0 0 0 0 - 0 0 0 R/W R/W R/W R/W - 0 when being read. R/W R/W R/W D7 D6 D5 D4 D3 D2 D1 D0 - PP9L2 PP9L1 PP9L0 - PP8L2 PP8L1 PP8L0 reserved Port input 9 interrupt level - 0 to 7 - 0 when being read. R/W reserved Port input 8 interrupt level - 0 to 7 - X X X - X X X D7 D6 D5 D4 D3 D2 D1 D0 - PP11L2 PP11L1 PP11L0 - PP10L2 PP10L1 PP10L0 reserved Port input 11 interrupt level - 0 to 7 - 0 when being read. R/W reserved Port input 10 interrupt level - 0 to 7 - X X X - X X X D7 D6 D5 D4 D3 D2 D1 D0 - PP13L2 PP13L1 PP13L0 - PP12L2 PP12L1 PP12L0 reserved Port input 12 interrupt level - 0 to 7 - 0 when being read. R/W reserved Port input 13 interrupt level - 0 to 7 - X X X - X X X D7 D6 D5 D4 D3 D2 D1 D0 - PP15L2 PP15L1 PP15L0 - PP14L2 PP14L1 PP14L0 eserved Port input 15 interrupt level - 0 to 7 - 0 when being read. R/W reserved Port input 14 interrupt level - 0 to 7 - X X X - X X X D7 D6 D5 D4 D3 D2 D1 D0 EP15 EP14 EP13 EP12 EP11 EP10 EP9 EP8 Port input 15 Port input 14 Port input 13 Port input 12 Port input 11 Port input 10 Port input 9 Port input 8 0 0 0 0 0 0 0 0 R/W R/W R/W R/W R/W R/W R/W R/W Port input 8/9 00402A0 interrupt (B) priority register Port input 00402A1 10/11 interrupt (B) priority register Port input 00402A2 12/13 interrupt (B) priority register Port input 00402A3 14/15 interrupt (B) priority register Port input 00402A6 interrupt (B) enable register B-III-10-20 - 1 IDMA enabled 1 Enabled EPSON 0 IDMA disabled 0 Disabled - 0 when being read. R/W - 0 when being read. R/W - 0 when being read. R/W - 0 when being read. R/W S1C33T01 FUNCTION PART III PERIPHERAL BLOCK: INPUT/OUTPUT PORTS Table 10.10 Control Bits for Input Interrupts(continue) Register name Address Bit Port input 00402A9 interrupt factor (B) flag register D7 D6 D5 D4 D3 D2 D1 D0 FP15 FP14 FP13 FP12 FP11 FP10 FP9 FP8 Port input 15 Port input 14 Port input 13 Port input 12 Port input 11 Port input 10 Port input 9 Port input 8 1 Factor is generated 0 No factor is generated 0 0 0 0 0 0 0 0 R/W R/W R/W R/W R/W R/W R/W R/W Port input IDMA request register 00402AC (B) D7 D6 D5 D4 D3 D2 D1 D0 RP15 RP14 RP13 RP12 RP11 RP10 RP9 RP8 Port input 15 Port input 14 Port input 13 Port input 12 Port input 11 Port input 10 Port input 9 Port input 8 1 IDMA request 0 Interrupt request 0 0 0 0 0 0 0 0 R/W R/W R/W R/W R/W R/W R/W R/W Port input IDMA enable register 00402AE (B) D7 D6 D5 D4 D3 D2 D1 D0 DEP15 DEP14 DEP13 DEP12 DEP11 DEP10 DEP9 DEP8 Port input 15 Port input 14 Port input 13 Port input 12 Port input 11 Port input 10 Port input 9 Port input 8 1 IDMA enabled 0 IDMA disabled 0 0 0 0 0 0 0 0 R/W R/W R/W R/W R/W R/W R/W R/W Port input 00402C6 interrupt select (B) register 1 D7 D6 D5 D4 D3 D2 D1 D0 SPT31 SPT30 SPT21 SPT20 SPT11 SPT10 SPT01 SPT00 FPT3 interrupt input port selection D7 D6 D5 D4 D3 D2 D1 D0 SPT71 SPT70 SPT61 SPT60 SPT51 SPT50 SPT41 SPT40 FPT7 interrupt input port selection Port input 00402C7 interrupt select (B) register 2 Name Function FPT2 interrupt input port selection FPT1 interrupt input port selection FPT0 interrupt input port selection FPT6 interrupt input port selection FPT5 interrupt input port selection FPT4 interrupt input port selection Setting Init. R/W 11 P23 11 P22 11 P21 11 P20 10 P03 10 P02 10 P01 10 P00 01 K53 01 K52 01 K51 01 K50 00 K63 00 K62 00 K61 00 K60 0 0 0 0 0 0 0 0 R/W 11 P27 11 P26 11 P25 11 P24 10 P07 10 P06 10 P05 10 P04 01 P33 01 P32 01 P31 01 K54 00 K67 00 K66 00 K65 00 K64 0 0 0 0 0 0 0 0 R/W Low level or Falling edge 1 1 1 1 1 1 1 1 R/W R/W R/W R/W R/W R/W R/W R/W 1 1 1 1 1 1 1 1 R/W R/W R/W R/W R/W R/W R/W R/W Port input interrupt input polarity select register 00402C8 (B) D7 D6 D5 D4 D3 D2 D1 D0 SPPT7 SPPT6 SPPT5 SPPT4 SPPT3 SPPT2 SPPT1 SPPT0 FPT7 input polarity selection FPT6 input polarity selection FPT5 input polarity selection FPT4 input polarity selection FPT3 input polarity selection FPT2 input polarity selection FPT1 input polarity selection FPT0 input polarity selection 1 High level 0 or Rising edge Port input interrupt edge/level select register 00402C9 (B) D7 D6 D5 D4 D3 D2 D1 D0 SEPT7 SEPT6 SEPT5 SEPT4 SEPT3 SEPT2 SEPT1 SEPT0 FPT7 edge/level selection FPT6 edge/level selection FPT5 edge/level selection FPT4 edge/level selection FPT3 edge/level selection FPT2 edge/level selection FPT1 edge/level selection FPT0 edge/level selection 1 Edge 0 Level Remarks R/W R/W R/W R/W R/W R/W Key input 00402CA D7-4 - interrupt select (B) D3 SPPK11 register D2 SPPK10 D1 SPPK01 D0 SPPK00 reserved FPK1 interrupt input port selection - 11 10 01 00 P2[7:4] P0[7:4] K6[7:4] K6[3:0] FPK0 interrupt input port selection 11 10 01 00 P2[4:0] P0[4:0] K6[4:0] K5[4:0] - 0 0 0 0 - 0 when being read. R/W Key input interrupt (FPK0) input comparison register reserved FPK04 input comparison FPK03 input comparison FPK02 input comparison FPK01 input comparison FPK00 input comparison - 0 0 0 0 0 - 0 when being read. R/W R/W R/W R/W R/W 00402CC D7-5 - (B) D4 SCPK04 D3 SCPK03 D2 SCPK02 D1 SCPK01 D0 SCPK00 S1C33T01 FUNCTION PART EPSON - 1 High 0 Low R/W B-III-10-21 III PERIPHERAL BLOCK: INPUT/OUTPUT PORTS Table 10.10 Control Bits for Input Interrupts (continue) Register name Address Bit Name Function Key input interrupt (FPK1) input comparison register 00402CD D7-4 - (B) D3 SCPK13 D2 SCPK12 D1 SCPK11 D0 SCPK10 reserved FPK13 input comparison FPK12 input comparison FPK11 input comparison FPK10 input comparison Key input interrupt (FPK0) input mask register 00402CE D7-5 - (B) D4 SMPK04 D3 SMPK03 D2 SMPK02 D1 SMPK01 D0 SMPK00 reserved FPK04 input mask FPK03 input mask FPK02 input mask FPK01 input mask FPK00 input mask Key input interrupt (FPK1) input mask register 00402CF D7-4 - (B) D3 SMPK13 D2 SMPK12 D1 SMPK11 D0 SMPK10 reserved FPK13 input mask FPK12 input mask FPK11 input mask FPK10 input mask Port input interrupt selection expansion register 0040306 (B) FPT7 interrupt input port selection expansion FPT6 interrupt input port selection expansion FPT5 interrupt input port selection expansion FPT4 interrupt input port selection expansion FPT3 interrupt input port selection expansion FPT2 interrupt input port selection expansion FPT1 interrupt input port selection expansion FPT0 interrupt input port selection expansion Key input 0040309 (B) interrupt selection expansion register D7 D6 D5 D4 D3 D2 D1 D0 SPTEX7 SPTEX6 SPTEX5 SPTEX4 SPTEX3 SPTEX2 SPTEX1 SPTEX0 D7-2 - D1 SPPKEX1 D0 SPPKEX0 Setting 1 High - 0 when being read. R/W R/W R/W R/W - 0 0 0 0 0 - 0 when being read. R/W R/W R/W R/W R/W - 0 0 0 0 - 0 when being read. R/W R/W R/W R/W P27,etc. P26,etc. P25,etc. P24,etc. P23,etc. P22,etc. P21,etc. P20,etc. 0 0 0 0 0 0 0 0 R/W R/W R/W R/W R/W R/W R/W R/W 0 P2[7:4],etc. 0 P2[4:0],etc. - 0 0 - 0 when being read. R/W R/W 1 1 1 1 1 1 1 1 R/W R/W R/W R/W R/W R/W R/W R/W 1 1 1 1 1 1 1 1 R/W R/W R/W R/W R/W R/W R/W R/W - 0 Interrupt disabled - 1 Interrupt enabled 0 Interrupt disabled 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 P67 P66 P65 P64 P63 P62 P61 P60 reserved FPK1 interrupt input port selection expansion 1 P7[7:4] FPK0 interrupt input port selection expansion 1 P7[4:0] 0040310 (B) D7 D6 D5 D4 D3 D2 D1 D0 SPPT15 SPPT14 SPPT13 SPPT12 SPPT11 SPPT10 SPPT9 SPPT8 FPT15 input polarity selection FPT14 input polarity selection FPT13 input polarity selection FPT12 input polarity selection FPT11 input polarity selection FPT10 input polarity selection FPT9 input polarity selection FPT8 input polarity selection 1 Port input interrupt edge/level select register 0040311 (B) D7 D6 D5 D4 D3 D2 D1 D0 SEPT15 SEPT14 SEPT13 SEPT12 SEPT11 SEPT10 SEPT9 SEPT8 FPT15 edge/level selection FPT14 edge/level selection FPT13 edge/level selection FPT12 edge/level selection FPT11 edge/level selection FPT10 edge/level selection FPT9 edge/level selection FP8 edge/level selection 1 Edge EPSON Remarks - 0 0 0 0 0 Low 1 Interrupt enabled Port input interrupt input polarity select register B-III-10-22 Init. R/W - - High level 0 or Rising edge Low level or Falling edge 0 Level S1C33T01 FUNCTION PART III PERIPHERAL BLOCK: INPUT/OUTPUT PORTS SPTEX7-SPTEX0: FPT7 to FPT0 interrupt input port selection expansion SPT71-SPT70: SPT61-SPT60: SPT51-SPT50: SPT41-SPT40: SPT31-SPT30: SPT21-SPT20: SPT11-SPT10: SPT01-SPT00: (D[7:0])/Port input interrupt selection expansion register (0x40306) FPT7 interrupt input port selection (D[7:6]) / Port input interrupt select register 2 (0x402C7) FPT6 interrupt input port selection (D[5:4]) / Port input interrupt select register 2 (0x402C7) FPT5 interrupt input port selection (D[3:2]) / Port input interrupt select register 2 (0x402C7) FPT4 interrupt input port selection (D[1:0]) / Port input interrupt select register 2 (0x402C7) FPT3 interrupt input port selection (D[7:6]) / Port input interrupt select register 1 (0x402C6) FPT2 interrupt input port selection (D[5:4]) / Port input interrupt select register 1 (0x402C6) FPT1 interrupt input port selection (D[3:2]) / Port input interrupt select register 1 (0x402C6) FPT0 interrupt input port selection (D[1:0]) / Port input interrupt select register 1 (0x402C6) Select an input pin for port interrupt generation. Table 10.11 Selecting Pins for Port Input Interrupts Interrupt SPTEX=0 settings SPTEX=1 system 11 10 01 00 - FPT7 FPT6 FPT5 FPT4 FPT3 FPT2 FPT1 FPT0 P27 P26 P25 P24 P23 P22 P21 P20 P07 P06 P05 P04 P03 P02 P01 P00 P33 P32 P31 K54 K53 K52 K51 K50 K67 K66 K65 K64 K63 K62 K61 K60 P67 P66 P65 P64 P63 P62 P61 P60 At cold start, SPT is set to "00". At hot start, SPT retains its state from prior to the initial reset. SPPT15-SPPT8: Input polarity selection (D[7:0]) / Port interrupt input polarity select register (0x40310) SPPT7-SPPT0: Input polarity selection (D[7:0]) / Port interrupt input polarity select register (0x402C8) Selects input signal porarity for port interrupt generation. Write "1": High level or Rising edge Write "0": Low level or Falling edge Read: Valid SPPTx is the input polarity select bit corresponding to the FPTx interrupt. When SPPTx is set to "1", the FPTx interrupt will be generated by a high level input or at the rising edge. When SPPTx is set to "0", the interrupt will be generated by a low level input or at the falling edge. An edge or a level interrupt is selected by the SEPTx bit. At cold start, SPPT is set to "0" (low level). At hot start, SPPT retains its state from prior to the initial reset. SEPT15-SEPT8: Edge/level selection (D[7:0]) / Port interrupt edge/level select register (0x40311) SEPT7-SEPT0: Edge/level selection (D[7:0]) / Port interrupt edge/level select register (0x402C9) Selects an edge trigger or a level trigger for port interrupt generation. Write "1": Edge Write "0": Level Read: Valid SEPTx is the edge/level select bit corresponding to the FPTx interrupt. When SEPTx is set to "1", the FPTx interrupt will be generated at the signal edge. Either falling edge or rising edge can be selected by the SPPTx bit. When SEPTx is set to "0", the interrupt will be generated by the level (high or low) specified with the SPPTx bit. At cold start, SEPT is set to "0" (level). At hot start, SEPT retains its state from prior to the initial reset. S1C33T01 FUNCTION PART EPSON B-III-10-23 III PERIPHERAL BLOCK: INPUT/OUTPUT PORTS SPPKEX1-SPPKEX0: FPK1 to FPK0 interrupt input port selection (D[1:0]) / Key input interrupt select register SPPK11-SPPK10: SPPK01-SPPK00: (0x40309) FPK1 interrupt input port selection (D[3:2]) / Key input interrupt select register (0x402CA) FPK0 interrupt input port selection (D[1:0]) / Key input interrupt select register (0x402CA) Select an input-pin group for key interrupt generation. Table 10.12 Interrupt system FPK1 FPK0 Selecting Pins for Key Input Interrupts SPPKEX=0 settings 11 10 01 SPPKEX=1 - 00 P2[7:4] P0[7:4] K6[7:4] K6[3:0] P2[4:0] P0[4:0] K6[4:0] K5[4:0] P7[7:4] P7[4:0] At cold start, SPPK is set to "00". At hot start, SPPK retains its state from prior to the initial reset. SCPK13-SCPK10: FPK1 input comparison (D[3:0]) / FPK1 input comparison register (0x402CD) SCPK04-SCPK00: FPK0 input comparison (D[4:0]) / FPK0 input comparison register (0x402CC) Sets the conditions for key-input interrupt generation (timing of interrupt generation). Write "1": Generated at falling edge Write "0": Generated at rising edge Read: Valid SCPK0[4:0] is compared with the input state of five bits of the FPK0 input ports, and SCPK1[3:0] is compared with the input state of four bits of the FPK1 input ports, and when a change in states from a matched to an unmatched state occurs in either, an interrupt is generated (except for the inputs disabled from interrupt by the SMPK register). At cold start, SCPK is set to "0" (rising edge). At hot start, SCPK retains its state from prior to the initial reset. SMPK13-SMPK10: FPK1 input mask (D[3:0]) / FPK1 input mask register (0x402CF) SMPK04-SMPK00: FPK0 input mask (D[4:0]) / FPK0 input mask register (0x402CE) Sets conditions for key-input interrupt generation (interrupt enabled/disabled). Write "1": Interrupt enabled Write "0": Interrupt disabled Read: Valid SMPK is an input mask register for each key-input interrupt system. Interrupts for bits set to "1" are enabled, and interrupts for bits set to "0" are disabled. A change in the state of an input pin that is disabled from interrupt does not affect interrupt generation. At cold start, SMPK is set to "0" (interrupt disabled). At hot start, SMPK retains its state from prior to the initial reset. B-III-10-24 EPSON S1C33T01 FUNCTION PART III PERIPHERAL BLOCK: INPUT/OUTPUT PORTS PP0L2-PP0L0: PP1L2-PP1L0: PP2L2-PP2L0: PP3L2-PP3L0: PP4L2-PP4L0: PP5L2-PP5L0: PP6L2-PP6L0: PP7L2-PP7L0: PP8L2-PP8L0: PP9L2-PP9L0: PP10L2-PP10L0: PP11L2-PP11L0: PP12L2-PP12L0: PP13L2-PP13L0: PP14L2-PP14L0: PP15L2-PP15L0: PK0L2-PK0L0: PK1L2-PK1L0: Port input 0 interrupt level (D[2:0]) / Port input 0/1 interrupt priority register (0x40260) Port input 1 interrupt level (D[6:4]) / Port input 0/1 interrupt priority register (0x40260) Port input 2 interrupt level (D[2:0]) / Port input 2/3 interrupt priority register (0x40261) Port input 3 interrupt level (D[6:4]) / Port input 2/3 interrupt priority register (0x40261) Port input 4 interrupt level (D[2:0]) / Port input 4/5 interrupt priority register (0x4026C) Port input 5 interrupt level (D[6:4]) / Port input 4/5 interrupt priority register (0x4026C) Port input 6 interrupt level (D[2:0]) / Port input 6/7 interrupt priority register (0x4026D) Port input 7 interrupt level (D[6:4]) / Port input 6/7 interrupt priority register (0x4026D) Port input 8 interrupt level (D[2:0]) / Port input 8/9 interrupt priority register (0x402A0) Port input 9 interrupt level (D[6:4]) / Port input 8/9 interrupt priority register (0x402A0) Port input 10 interrupt level (D[2:0]) / Port input 10/11 interrupt priority register (0x402A1) Port input 11 interrupt level (D[6:4]) / Port input 10/11 interrupt priority register (0x402A1) Port input 12 interrupt level (D[2:0]) / Port input 12/13 interrupt priority register (0x402A2) Port input 13 interrupt level (D[6:4]) / Port input 12/13 interrupt priority register (0x402A2) Port input 14 interrupt level (D[2:0]) / Port input 14/15 interrupt priority register (0x402A3) Port input 15 interrupt level (D[6:4]) / Port input 14/15 interrupt priority register (0x402A3) Key input 0 interrupt level (D[2:0]) / Key input interrupt priority register (0x40262) Key input 1 interrupt level (D[6:4]) / Key input interrupt priority register (0x40262) Sets the priority level of the input interrupt. PPxL and PKxL are interrupt priority registers corresponding to each port-input interrupt and key-input interrupt, respectively. The priority level can be set for each interrupt group in the range of 0 to 7. At initial reset, these registers becomes indeterminate. EP3-EP0: ort input 3-0 interrupt enable (D[3:0]) / Key input, port input 0-3 interrupt enable register (0x40270) EP7-EP4: Port input 7-4 interrupt enable (D[5:2]) / Port input 4-7, clock timer, A/D interrupt enable register (0x40277) EP15-EP8: Port input 15-8 interrupt enable (D[7:0]) / Port input interrupt enable register (0x402A6) EK1, EK0: Key input 1, 0 interrupt enable (D[5:4]) / Key input, port input 0-3 interrupt enable register (0x40270) Enables or disables the generation of an interrupt to the CPU. Write "1": Interrupt enabled Write "0": Interrupt disabled Read: Valid EP and EK are interrupt enable bits corresponding to the port-input interrupt and the key-input interrupt, respectively. Interrupts for input systems set to "1" are enabled, and interrupts for input systems set to "0" are disabled. At initial reset, these bits are set to "0" (interrupt disabled). FP3-FP0: Port input 3-0 interrupt factor flag (D[3:0]) / Key input, port input 0-3 interrupt factor flag register (0x40280) FP7-FP4: Port input 7-4 interrupt factor flag (D[5:2]) / Port input 4-7, clock timer, A/D interrupt factor flag register (0x40287) FP15-FP8: Port input 15-8 interrupt factor flag (D[7:0]) / Port input interrupt factor flag register (0x402A9) FK1, FK0: Key input 1, 0 interrupt factor flag (D[5:4]) / Key input, port input 0-3 interrupt factor flag register (0x40280) Indicates the status of an input interrupt factor generated. When read Read "1": Interrupt factor has occurred Read "0": No interrupt factor has occurred S1C33T01 FUNCTION PART EPSON B-III-10-25 III PERIPHERAL BLOCK: INPUT/OUTPUT PORTS When written using the reset-only method (default) Write "1": Interrupt factor flag is reset Write "0": Invalid When written using the read/write method Write "1": Interrupt flag is set Write "0": Interrupt flag is reset FP and FK are an interrupt factor flags corresponding to the port-input interrupt and the key-input interrupt, respectively. The flag is set to "1" when interrupt generation conditions are met. At this time, if the following conditions are met, an interrupt to the CPU is generated: 1. The corresponding interrupt enable register bit is set to "1". 2. No other interrupt request of a higher priority has been generated. 3. The IE bit of the PSR is set to "1" (interrupts enabled). 4. The value set in the corresponding interrupt priority register is higher than the interrupt level (IL) of the CPU. When using the interrupt factor of the port-input to request IDMA, note that even when the above conditions are met, no interrupt request to the CPU is generated for the interrupt factor that has occurred. If interrupts are enabled at the setting of IDMA, an interrupt is generated under the above conditions after the data transfer by IDMA is completed. The interrupt factor flag is set to "1" whenever interrupt generation conditions are met, regardless of how the interrupt enable and interrupt priority registers are set. If the next interrupt is to be accepted after an interrupt has occurred, it is necessary that the interrupt factor flag be reset, and that the PSR be set again (by setting the IE bit to "1" after setting the IL to a value lower than the level indicated by the interrupt priority register, or by executing the reti instruction). The interrupt factor flag can be reset only by writing to it in the software. Note that if the PSR is set again to accept interrupts generated (or if the reti instruction is executed) without resetting the interrupt factor flag, the same interrupt occurs again. Note also that the value to be written to reset the flag is "1" when the reset-only method (RSTONLY = "1") is used, and "0" when the read/write method (RSTONLY = "0") is used. At initial reset, all the flags become indeterminate, so be sure to reset them in the software. RP3-RP0: Port input 3-0 IDMA request (D[3:0]) / Port input 0-3, high-speed DMA, 16-bit timer 0 IDMA request register (0x40290) RP7-RP4: Port input 7-4 IDMA request (D[7:4]) / Serial I/F Ch.1, A/D, Port input 4-7 IDMA request register (0x40293) RP15-RP8: Port input 15-8 IDMA request (D[7:0]) / Port input IDMA request register (0x402AC) Specifies whether to invoke IDMA when an interrupt factor occurs. When using the set-only method (default) Write "1": IDMA request Write "0": Not changed Read: Valid When using the read/write method Write "1": IDMA request Write "0": Interrupt request Read: Valid RP7 to RP0 are IDMA request bits corresponding to the port-input 7 to 0 interrupts, respectively. If the bit is set to "1", IDMA is invoked when an interrupt factor occurs, thereby performing a programmed data transfer. If the bit is set to "0", normal interrupt processing is performed, without invoking IDMA. For details on IDMA, refer to "IDMA (Intelligent DMA)". At initial reset, RP set to "0" (interrupt request). B-III-10-26 EPSON S1C33T01 FUNCTION PART III PERIPHERAL BLOCK: INPUT/OUTPUT PORTS DEP3-DEP0: Port input 3-0 IDMA enable (D[3:0]) / Port input 0-3, high-speed DMA, 16-bit timer 0 IDMA enable register (0x40294) DEP7-DEP4: Port input 7-4 IDMA enable (D[7:4]) / Serial I/F Ch.1, A/D, Port input 4-7 IDMA enable register (0x40297) DEP15-DEP8: Port input 15-8 IDMA enable (D[7:0]) / Port input IDMA enable register (0x402AE) Enables IDMA transfer by means of an interrupt factor. When using the set-only method (default) Write "1": IDMA enabled Write "0": Not changed Read: Valid When using the read/write method Write "1": IDMA enabled Write "0": IDMA disabled Read: Valid If DEP is set to "1", the IDMA request by the interrupt factor is enabled. If the register bit is set to "0", the IDMA request is disabled. After an initial reset, DEP is set to "0" (IDMA disabled). Programming Notes (1) After an initial reset, the interrupt factor flags become indeterminate. To prevent generation of an unwanted interrupt or IDMA request, be sure to reset the flags in a program. (2) To prevent regeneration of interrupts due to the same factor following the occurrence of an interrupt, always be sure to reset the interrupt factor flag before resetting the PSR or executing the reti instruction. S1C33T01 FUNCTION PART EPSON B-III-10-27 III PERIPHERAL BLOCK: INPUT/OUTPUT PORTS THIS PAGE IS BLANK. B-III-10-28 EPSON S1C33T01 FUNCTION PART S1C33T01 FUNCTION PART IV ANALOG BLOCK IV ANALOG BLOCK: INTRODUCTION IV-1 INTRODUCTION The analog block consists of an A/D converter with 8 input channels. C33 DMA Block C33 Internal Memory Block C33_DMA (IDMA, HSDMA) CORE_PAD Internal RAM (Area 0) C33_CORE (CPU, BCU, ITC, CLG,DBG) Pads C33_SBUS C33_PERI C33_ADC (A/D converter) (Prescaler, 8-bit timer, 16-bit timer, Clock timer, Serial interface, I2CSMST,Ports) C33 Analog Block PERI_PAD C33 Core Block Pads C33 Peripheral Block Figure 1.1 Analog Block S1C33T01 FUNCTION PART EPSON B-IV-1-1 IV ANALOG BLOCK: INTRODUCTION THIS PAGE IS BLANK. B-IV-1-2 EPSON S1C33T01 FUNCTION PART IV ANALOG BLOCK: A/D CONVERTER IV-2 A/D CONVERTER Features and Structure of A/D Converter The Analog Block contains an A/D converter with the following features: * Conversion method: Successive comparison * Resolution: 10 bits * Input channels: Maximum of 8 * Conversion time: Maximum of 10 s (when a 2-MHz input clock is selected) * Conversion range: Between VSS and AVDDE * Two conversion modes can be selected: Normal mode: Conversion is completed in one operation. Continuous mode: Conversion is continuous and terminated through software control. Continuous conversion of multiple channels can be performed in each mode. * Four types of A/D-conversion start triggers can be selected: Triggered by the external pin (#ADTRG) Triggered by the compare match B of the 16-bit programmable timer 0 Triggered by the underflow of the 8-bit programmable timer 0 Triggered by the software * A/D conversion results can be read out from a 10-bit data register. * An interrupt is generated upon completion of A/D conversion. Figure 2.1 shows the structure of the A/D converter. AVDDE VSS Control registers Analog input decoder Analog block Successive approximation block Data register Control circuit #ADTRG 8-bit timer 0 16-bit timer 0 Internal data bus AD0 AD1 AD2 AD3 AD4 AD5 AD6 AD7 Interrupt control circuit Clock generator Prescaler Interrupt request Figure 2.1 Structure of A/D Converter S1C33T01 FUNCTION PART EPSON B-IV-2-1 IV ANALOG BLOCK: A/D CONVERTER I/O Pins of A/D Converter Table 2.1 shows the pins used by the A/D converter. Table 2.1 I/O Pins of A/D Converter Pin name K52/#ADTRG K60/AD0 K61/AD1 K62/AD2 K63/AD3 K64/AD4 K65/AD5 K66/AD6 K67/AD7 AV DDE I/O Function I I I I I I I I I - Input port / AD trigger Input port / AD converter input 0 Input port / AD converter input 1 Input port / AD converter input 2 Input port / AD converter input 3 Input port / AD converter input 4 Input port / AD converter input 5 Input port / AD converter input 6 Input port / AD converter input 7 Power supply for analog system (+) Function select bit CFK52(D2)/K5 CFK60(D0)/K6 CFK61(D1)/K6 CFK62(D2)/K6 CFK63(D3)/K6 CFK64(D4)/K6 CFK65(D5)/K6 CFK66(D6)/K6 CFK67(D7)/K6 function select register(0x402C0) function select register(0x402C3) function select register(0x402C3) function select register(0x402C3) function select register(0x402C3) function select register(0x402C3) function select register(0x402C3) function select register(0x402C3) function select register(0x402C3) - AVDDE (analog power-supply pin) AVDDE is the power-supply pin for the analog circuit. The voltage level supplied to this pin must be AVDDE = VDDE. Note: If the A/D converter is enabled, even when the A/D converter is not operated current will flow between AVDDE and VSS and result in power consumption. Therefore, applications should disable the A/D converter when it is not being used by setting ADE (D2) in the A/D enable register (0x40244) to "0" (the default value). AD[7:0] (analog-signal input pins) The analog input pins AD7 (Ch.7) through AD0 (Ch.0) are shared with input port pins K67 through K60. Therefore, when these pins are used for analog input, they must be set for use with the A/D converter in the software. This setting can be made individually for each pin. At cold start, all these pins are set for input ports. The analog input voltage AVIN can be input in the range of VSS AVIN AVDDE. #ADTRG (external-trigger input pin) This pin is used to input a trigger signal to start A/D conversion from an external source. Since this pin is shared with input port K52, it must be set for use with the A/D converter in the software before an external trigger can be applied to the pin. At cold start, this pin is set for an input port. Method for setting A/D-converter input pins At cold start, the #ADTRG and AD[7:0] pins all are set for input ports Kxx (function select bit CFKxx = "0"). When using these pins for the A/D converter, write "1" to the function select bit CFKxx. At hot start, these pins retain their state from prior to the reset. B-IV-2-2 EPSON S1C33T01 FUNCTION PART IV ANALOG BLOCK: A/D CONVERTER Setting A/D Converter When the A/D converter is used, the following settings must be made before an A/D conversion can be performed: 1. Setting analog input pins 2. Setting the input clock 3. Selecting the analog-conversion start and end channels 4. Setting the A/D conversion mode 5. Selecting a trigger 6. Setting the sampling time 7. Setting interrupt/IDMA/HSDMA The following describes how to set each item. For details on how to set the analog input pins, refer to the preceding section. For details on how to set interrupt/DMA, refer to "A/D Converter Interrupt and DMA". Note: Before making these settings, make sure the A/D converter is disabled (ADE (D2) / A/D enable register (0x40244) = "0"). Changing the settings while the A/D converter is enabled could cause a malfunction. Setting the input clock As explained in "Prescaler", the A/D conversion clock can be selected from among the eight types shown in Table 2.2 below. Use PSAD[2:0] (D[2:0]) / A/D clock control register (0x4014F) for this selection. Table 2.2 Input Clock Selection PSAD2 PSAD1 1 1 1 1 0 0 0 0 1 1 0 0 1 1 0 0 PSAD0 Division ratio 1 fPSCIN/256 0 fPSCIN/128 1 fPSCIN/64 0 fPSCIN/32 1 fPSCIN/16 0 fPSCIN/8 1 fPSCIN/4 0 fPSCIN/2 fPSCIN: Prescaler input clock frequency The selected clock is output from the prescaler to the A/D converter by writing "1" to PSONAD (D3) / A/D clock control register (0x4014F). Notes: * The A/D converter operates only when the prescaler is operating. * The recommended input clock frequency is a maximum of 2 MHz. * Do not start an A/D conversion when the clock output from the prescaler to the A/D converter is turned off, and do not turn off the prescaler's clock output when an A/D conversion is underway. This could cause the A/D converter to operate erratically. Selecting analog-conversion start and end channels Select the channel in which the A/D conversion is to be performed from among the pins (channels) that have been set for analog input. To enable A/D conversions in multiple channels to be performed successively through one convert operation, specify the conversion start and conversion end channels. Conversion start channel: CS[2:0] (D[2:0]) / A/D channel register (0x40243) Conversion end channel: CE[2:0] (D[5:3]) / A/D channel register (0x40243) S1C33T01 FUNCTION PART EPSON B-IV-2-3 IV ANALOG BLOCK: A/D CONVERTER Table 2.3 Relationship between CS/CE and Input Channel CS2/CE2 CS1/CE1 CS0/CE0 Channel selected 1 1 1 1 0 0 0 0 1 1 0 0 1 1 0 0 1 0 1 0 1 0 1 0 AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0 Example: Operation of one A/D conversion CS[2:0] = "0", CE[2:0] = "0": Converted only in AD0 CS[2:0] = "0", CE[2:0] = "3": Converted in the following order: AD0AD1AD2AD3 CS[2:0] = "5", CE[2:0] = "1": Converted in the following order: AD5AD6AD7AD0AD1 Note: Only conversion-channel input pins that have been set for use with the A/D converter can be set using the CS and CE bits. Setting the A/D conversion mode The A/D converter can operate in one of the following two modes. This operation mode is selected using MS (D5) / A/D trigger register (0x40242). 1. Normal mode (MS = "0") All inputs in the range of channels set using the CS and CE bits are A/D converted once and then stopped. 2. Continuous mode (MS = "1") A/D conversions in the range of channels set using the CS and CE bits are executed successively until stopped by the software. At initial reset, the normal mode is selected. Selecting a trigger Use TS[1:0] (D[4:3]) / A/D trigger register (0x40242) to select a trigger to start A/D conversion from among the four types shown in Table 2.4. Table 2.4 Trigger Selection TS1 TS0 1 1 0 0 1 0 1 0 Trigger External trigger (K52/#ADTRG) 8-bit programmable timer 0 16-bit programmable timer 0 Software 1. External trigger The signal input to the #ADTRG pin is used as a trigger. When this trigger is used, the K52 pin must be set for #ADTRG in advance by writing "1" to CFK52 (D2) / K5 function select register (0x402C0). A/D conversion is started at a falling edge of the #ADTRG signal. 2. Programmable timer The underflow signal of 8-bit programmable timer 0 or the comarison match B signal of the 16-bit programmable timer 0 is used as a trigger. Since the cycle can be programmed using each timer, this trigger is effective when cyclic A/D conversions are required. For details on how to set a timer, refer to the explanation of each programmable timer in this manual. 3. Software trigger Writing "1" to ADST (D1) / A/D enable register (0x40244) in the software serves as a trigger to start A/D conversion. B-IV-2-4 EPSON S1C33T01 FUNCTION PART IV ANALOG BLOCK: A/D CONVERTER Setting the sampling time The A/D converter contains ST[1:0] (D[1:0]) / A/D sampling register (0x40245) that allows the analog-signal input sampling time to be set in four steps (3, 5, 7, or 9 times the input clock period). However, this register should be used as set by default (ST = "11"; x9 clock periods). Control and Operation of A/D Conversion Figure 2.2 shows the operation of the A/D converter. ADE Trigger ADST (When AD0 to AD2 are converted) Sampling Conversion Sampling Conversion Sampling Conversion AD0 AD0 AD1 AD1 AD2 AD2 A/D operation AD0 converted data ADD AD1 converted data AD2 converted data ADD is overwritten ADF Conversion-result read OWE Interrupt request (1) Normal mode ADE Trigger ADST Reset in software (When only AD0 is converted) Sampling Conversion Sampling Conversion AD0-1 AD0-1 AD0-2 AD0-2 A/D operation Sampling Conversion AD0-3 invalid AD0-1 converted data AD0-2 converted data ADD ADF Conversion-result read OWE Interrupt request (2) Continuous mode Figure 2.2 Operation of A/D Converter Starting up the A/D converter circuit After the settings specified in the preceding section have been made, write "1" to ADE (D2) / A/D enable register (0x40244) to enable the A/D converter. The A/D converter is thereby readied to accept a trigger to start A/D conversion. To set the A/D converter again, or if it is not be used, set ADE to "0". Starting A/D conversion When a trigger is input while ADE = "1", A/D conversion is started. If a software trigger has been selected, A/D conversion is started by writing "1" to ADST (D1) / A/D enable register (0x40244). Only the trigger selected using TS[1:0] (D[4:3]) / A/D trigger register (0x40242) are valid; no other trigger is accepted. S1C33T01 FUNCTION PART EPSON B-IV-2-5 IV ANALOG BLOCK: A/D CONVERTER When a trigger is input, the A/D converter samples and A/D-converts the analog input signal, beginning with the conversion start channel selected by CS[2:0]. Upon completion of the A/D conversion in that channel, the A/D converter stores the conversion result, in 10bit data registers ADD[9:0] (ADD[9:8] = D[1:0]/0x40241, ADD[7:0] = D[7:0]/0x40240), and sets the conversion-complete flag ADF (D3) / A/D enable register (0x40244) and interrupt factor flag FADE (D0) / Port input 4-7, clock timer and A/D interrupt factor flag register (0x40287). If multiple channels are specified using CS[2:0] and CE[2:0], A/D conversions in the subsequent channels are performed in succession. The ADST used for the software trigger is set to "1" during A/D conversion, even when it is started by some other trigger, so it can be used as an A/D-conversion status bit. The channel in which conversion is underway can be identified by reading CH[2:0] (D[2:0]) / A/D trigger register (0x40242). Reading out A/D conversion results As explained earlier, the results of A/D conversion are stored in the ADD[9:0] register each time conversion in one channel is completed. Since an interrupt can be generated simultaneously, this interrupt is normally used to read out the converted data. In addition, be sure to reset the interrupt factor flag (by writing "0") to prepare the A/D converter for the next operation. Since the interrupt factor of the A/D converter can also be used to invoke DMA, the conversion results can automatically be transferred to a specified memory location. If multiple A/D conversion channels are specified, the conversion results in one channel must be read out prior to completion of conversion in the next channel. If the A/D conversion currently under way is completed before the previous conversion results are read out, the ADD[9:0] register is overwritten with the new conversion results. If ADD[9:0] is updated when the conversion-complete flag ADF = "1" (before the converted data is read out), the overwrite-error flag OWE (D0) / A/D enable register (0x40244) is set to "1". The conversion-complete flag ADF is reset to "0" when the converted data is read out. If ADD[9:0] is updated when ADF = "0", OWE remains at "0", indicating that the operation has been completed normally. When reading out data, also read the OWE flag also to make sure the data is valid. Once OWE is set, it remains set until it is reset to "0" in the software. Note also that if OWE is set, ADF also is set. In this case, read out the converted data and reset ADF. Terminating A/D conversion * For normal mode (MS = "1") In the normal mode, A/D conversion is performed successively from the conversion start channel specified using CS[2:0] to the conversion end channel specified using CE[2:0], and is completed after these conversions are executed in one operation. ADST is reset to "0" upon completion of the conversion. * For continuous mode (MS = "0") In the continuous mode, A/D conversion from the conversion-start to the conversion-end channels is executed repeatedly, without being stopped in the hardware. To terminate conversion, therefore, ADST must be reset to "0" in the software. The A/D conversion being executed when ADST is reset to "0" is forcibly stopped. Therefore, the results of this conversion cannot be obtained. * Forced termination In either normal or continuous mode, A/D conversion is immediately terminated by writing "0" to ADST. The results of the conversion then under-way cannot be obtained. In addition, ADST is reset to "0" by writing "0" to ADE, so the conversion under-way is terminated. B-IV-2-6 EPSON S1C33T01 FUNCTION PART IV ANALOG BLOCK: A/D CONVERTER A/D Converter Interrupt and DMA Upon completion of A/D conversion in each channel, the A/D converter generates an interrupt and invokes the DMA if necessary. Control registers of the interrupt controller The following shows the interrupt control registers available for the A/D converter: Interrupt factor flag: FADE (D0) / Port input 4-7, clock timer, A/D interrupt factor flag register (0x40287) Interrupt enable: EADE (D0) / Port input 4-7, clock timer, A/D interrupt enable register (0x40277) Interrupt level: PAD[2:0] (D[6:4]) / Serial I/F Ch.1, A/D interrupt priority register (0x4026A) The A/D converter sets the interrupt factor flag to "1" when A/D conversion in one channel is completed, and the conversion results are stored in the ADD register. At this time, if the interrupt enable register bit has been set to "1", an interrupt request is generated. Interrupts can be disabled by leaving the interrupt enable register bit set to "0". The interrupt factor flag is set to "1" upon completion of A/D conversion in each channel, regardless of the setting of the interrupt enable register (even when it is set to "0"). The interrupt priority register sets the priority level (0 to 7) of an interrupt. An interrupt request to the CPU is accepted no other interrupt request of a higher priority has been generated. In addition, it is only when the PSR's IE bit = "1" (interrupts enabled) and the set value of the IL is smaller than the A/D-converter interrupt level set by the interrupt priority register, that the A/D converter's interrupt request is actually accepted by the CPU. For details on these interrupt control registers, as well as the device operation when an interrupt has occurred, refer to "ITC (Interrupt Controller)". Intelligent DMA The A/D converter can invoke the intelligent DMA (IDMA) through the use of its interrupt factor. This allows the conversion results to be transferred to a specified memory location with no need to execute an interrupt processing routine. The IDMA channel number assigned to the A/D converter is 0x1B. Before IDMA can be invoked, the IDMA request and IDMA enable bits must be set to "1". Transfer conditions on the IDMA side must also be set in advance. IDMA request: RADE (D2)/ Serial I/F Ch.1, A/D, Port input 4-7 IDMA request register (0x40293) IDMA enable: DEADE (D2)/ Serial I/F Ch.1, A/D, Port input 4-7 IDMA enable register (0x40297) If an interrupt factor occurs when the IDMA request and IDMA enable bits are set to "1", IDMA is invoked. No interrupt request is generated at that point. An interrupt request is generated upon completion of the DMA transfer. Otherwise, the bit can be set so as not to generate an interrupt, with only a DMA transfer performed. For details on DMA transfers and how to control interrupts upon completion of a DMA transfer, refer to "IDMA (Intelligent DMA)". High-speed DMA The A/D interrupt factor can also invoke high-speed DMA (HSDMA). The following shows the HSDMA channel number and trigger set-up bit: Table 2.5 HSDMA Trigger Set-up Bits HSDMA channel 0 1 2 3 Trigger set-up bits HSD0S[3:0] (D[3:0]) / HSDMA Ch.0/1 HSD1S[3:0] (D[7:4]) / HSDMA Ch.0/1 HSD2S[3:0] (D[3:0]) / HSDMA Ch.2/3 HSD3S[3:0] (D[7:4]) / HSDMA Ch.2/3 trigger set-up register (0x40298) trigger set-up register (0x40298) trigger set-up register (0x40299) trigger set-up register (0x40299) For HSDMA to be invoked, the trigger set-up bits should be set to "1100" in advance. Transfer conditions, etc. must also be set on the HSDMA side. If the A/D interrupt factor is selected as the HSDMA trigger, the HSDMA channel is invoked through generation of the interrupt factor. For details on HSDMA transfer, refer to "HSDMA (High-Speed DMA)". S1C33T01 FUNCTION PART EPSON B-IV-2-7 IV ANALOG BLOCK: A/D CONVERTER Trap vector The A/D converter's interrupt trap-vector default address is set as follows: 0x0C00100 The base address of the trap table can be changed using the TTBR register (0x48134 to 0x48137). B-IV-2-8 EPSON S1C33T01 FUNCTION PART IV ANALOG BLOCK: A/D CONVERTER I/O Memory of A/D Converter Table 2.6 shows the control bits of the A/D converter. For details on the I/O memory of the prescaler used to set clocks, refer to "Prescaler". For details on the I/O memory of the programmable timers used for a trigger, refer to "8-Bit Programmable Timers" or "16-Bit Programmable Timers". Table 2.6 Control Bits of A/D Converter Register name Address Bit A/D conversion 0040240 result (low(B) order) register D7 D6 D5 D4 D3 D2 D1 D0 Name ADD7 ADD6 ADD5 ADD4 ADD3 ADD2 ADD1 ADD0 Function 0 0 0 0 0 0 0 0 R - 0x0 to 0x3FF (high-order 2 bits) - 0 0 - R - - 0 0 0 D7-2 - D1 ADD9 D0 ADD8 - A/D converted data (high-order 2 bits) ADD9 = MSB A/D trigger register D7-6 D5 D4 D3 - MS TS1 TS0 - A/D conversion mode selection A/D conversion trigger selection D2 D1 D0 CH2 CH1 CH0 A/D conversion channel status D7-6 D5 D4 D3 - CE2 CE1 CE0 - A/D converter end channel selection D2 D1 D0 CS2 CS1 CS0 A/D converter start channel selection - ADF ADE ADST OWE - Conversion-complete flag A/D enable A/D conversion control/status Overwrite error flag A/D channel register 0040243 (B) A/D enable register 0040244 (B) D7-4 D3 D2 D1 D0 A/D sampling register 0040245 (B) D7-2 - D1 ST1 D0 ST0 S1C33T01 FUNCTION PART Init. R/W 0x0 to 0x3FF (low-order 8 bits) A/D conversion 0040241 result (high(B) order) register 0040242 (B) Setting A/D converted data (low-order 8 bits) ADD0 = LSB - Input signal sampling time setup EPSON 1 Continuous TS[1:0] 1 1 1 0 0 1 0 0 CH[2:0] 1 1 1 1 1 0 1 0 1 1 0 0 0 1 1 0 1 0 0 0 1 0 0 0 CE[2:0] 1 1 1 1 1 0 1 0 1 1 0 0 0 1 1 0 1 0 0 0 1 0 0 0 CS[2:0] 1 1 1 1 1 0 1 0 1 1 0 0 0 1 1 0 1 0 0 0 1 0 0 0 1 1 1 1 Completed Enabled Start/Run Error ST[1:0] 1 1 1 0 0 1 0 0 0 Normal Trigger #ADTRG pin 8-bit timer 0 16-bit timer 0 Software Channel AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0 0 0 0 Remarks 0 when being read. - 0 when being read. R/W R/W R - End channel AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0 Start channel AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0 - 0 0 0 - 0 when being read. R/W 0 0 0 R/W - - 0 0 0 0 - 0 when being read. R Reset when ADD is read. R/W R/W R/W Reset by writing 0. - 1 1 - 0 when being read. R/W Use with 9 clocks. 0 0 0 0 Run/Standby Disabled Stop Normal - Sampring time 9 clocks 7 clocks 5 clocks 3 clocks B-IV-2-9 IV ANALOG BLOCK: A/D CONVERTER Table 2.6 Register name Address Bit Serial I/F Ch.1, 004026A A/D interrupt (B) priority register D7 D6 D5 D4 D3 D2 D1 D0 Name Control Bits of A/D Converter (continue) Function reserved A/D converter interrupt level - 0 to 7 reserved Serial interface Ch.1 interrupt level - 0 to 7 Port input 4-7, 0040277 clock timer, (B) A/D interrupt enable register D7-6 D5 D4 D3 D2 D1 D0 - EP7 EP6 EP5 EP4 ECTM EADE reserved Port input 7 Port input 6 Port input 5 Port input 4 Clock timer A/D converter Port input 4-7, 0040287 clock timer, A/D (B) interrupt factor flag register D7-6 D5 D4 D3 D2 D1 D0 - FP7 FP6 FP5 FP4 FCTM FADE reserved Port input 7 Port input 6 Port input 5 Port input 4 Clock timer A/D converter D7 D6 D5 D4 D3 D2 D1 D0 RP7 RP6 RP5 RP4 - RADE RSTX1 RSRX1 D7 D6 D5 D4 D3 D2 D1 D0 DEP7 DEP6 DEP5 DEP4 - DEADE DESTX1 DESRX1 Serial I/F Ch.1, A/D, port input 4-7 IDMA request register Serial I/F Ch.1, A/D, port input 4-7 IDMA enable register 0040293 (B) 0040297 (B) Setting - PAD2 PAD1 PAD0 - PSIO12 PSIO11 PSIO10 Init. R/W - 1 Enabled 0 Disabled - 1 Factor is generated 0 No factor is generated Port input 7 Port input 6 Port input 5 Port input 4 reserved A/D converter SIF Ch.1 transmit buffer empty SIF Ch.1 receive buffer full 1 IDMA request 0 Interrupt request 1 IDMA request 0 Interrupt request Port input 7 Port input 6 Port input 5 Port input 4 reserved A/D converter SIF Ch.1 transmit buffer empty SIF Ch.1 receive buffer full 1 IDMA enabled 0 IDMA disabled - - 1 IDMA enabled 0 IDMA disabled - 0 when being read. R/W - 0 0 0 0 0 0 - 0 when being read. R/W R/W R/W R/W R/W R/W - X X X X X X - 0 when being read. R/W R/W R/W R/W R/W R/W 0 0 0 0 - 0 0 0 R/W R/W R/W R/W - 0 when being read. R/W R/W R/W 0 0 0 0 - 0 0 0 R/W R/W R/W R/W - 0 when being read. R/W R/W R/W - 0 when being read. R/W K5 function select register 00402C0 D7-5 - (B) D4 CFK54 D3 CFK53 D2 CFK52 D1 CFK51 D0 CFK50 reserved K54 function selection K53 function selection K52 function selection K51 function selection K50 function selection 1 1 1 1 1 #DMAREQ3 #DMAREQ2 #ADTRG #DMAREQ1 #DMAREQ0 0 0 0 0 0 K54 K53 K52 K51 K50 - 0 0 0 0 0 - 0 when being read. R/W R/W R/W R/W R/W K6 function select register 00402C3 (B) K67 function selection K66 function selection K65 function selection K64 function selection K63 function selection K62 function selection K61 function selection K60 function selection 1 1 1 1 1 1 1 1 AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0 0 0 0 0 0 0 0 0 K67 K66 K65 K64 K63 K62 K61 K60 0 0 0 0 0 0 0 0 R/W R/W R/W R/W R/W R/W R/W R/W D7 D6 D5 D4 D3 D2 D1 D0 CFK67 CFK66 CFK65 CFK64 CFK63 CFK62 CFK61 CFK60 - Remarks - X X X - X X X CFK52: K52 pin function selection (D2) / K5 function select register (0x402C0) CFK67-CFK60: K6[7:0] pin function selection (D[7:0]) / K6 function select register (0x402C3) Selects the pins used by the A/D converter. Write "1": A/D converter Write "0": Input port Read: Valid When an external trigger is used, write "1" to CFK52 to set the K52 pin for external trigger input #ADTRG. Select the pin used for analog input from among K60 (AD0) through K67 (AD7) by writing "1" to CFK60 through CFK67. If the function select bit for a pin is set to "0", the pin is set for an input port. At cold start, CFK is set to "0" (input port). At hot start, CFK retains its state from prior to the initial reset. B-IV-2-10 EPSON S1C33T01 FUNCTION PART IV ANALOG BLOCK: A/D CONVERTER ADD9-ADD0: A/D converted data (D[1:0]) / A/D conversion result (high-order) register (0x40241) (D[7:0]) / A/D conversion result (low-order) register (0x40240) Stores the results of A/D conversion. The LSB is stored in ADD0, and the MSB is stored in ADD9. ADD0 and ADD1 are mapped to bits D0 and D1 at the address 0x40241, but bits D2 through D7 are always 0 when read. This is a read-only register, so writing to this register is ignored. At initial reset, the data in this register is cleared to "0". MS: A/D conversion mode selection (D5) / A/D trigger register (0x40242) Selects an A/D conversion mode. Write "1": Continuous mode Write "0": Normal mode Read: Valid The A/D converter is set for the continuous mode by writing "1" to MS. In this mode, A/D conversions in the range of the channels selected using CS and CE are executed continuously until stopped in the software. When MS = "0", the A/D converter operates in the normal mode. In this mode, A/D conversion is completed after all inputs in the range of the channels selected by CS and CE are converted in one operation. At initial reset, MS is set to "0" (normal mode). TS1-TS0: Trigger selection (D[4:3]) / A/D trigger register (0X40242) Selects a trigger to start A/D conversion. Table 2.7 Trigger Selection TS1 TS0 Trigger 1 1 0 0 1 0 1 0 External trigger (K52/#ADTRG) 8-bit programmable timer 0 16-bit programmable timer 0 Software When an external trigger is used, use the CFK52 bit to set the K52 pin for #ADTRG. When a programmable timer is used, since its underflow signal (8-bit timer) or comarison match B signal (16-bit timer) serves as a trigger, set the cycle and other parameters for the programmable timer. At initial reset, TS is set to "0" (software trigger). CH2-CH0: Conversion channel status (D[2:0]) / A/D trigger register (0X40242) Indicates the channel number (0 to 7) currently being A/D-converted. When A/D conversion is performed in multiple channels, read this bit to identify the channel in which conversion is underway. At initial reset, CH is set to "0" (AD0). CE2-CE0: Conversion end-channel setup (D[5:3]) / A/D channel register (0x40243) Sets the conversion end channel by selecting a channel number from 0 to 7. Analog inputs can be A/D-converted successively from the channel set using CS to the channel set using this bit in one operation. If only one channel is to be A/D converted, set the same channel number in both the CS and CE bits. At initial reset, CE is set to "0" (AD0). CS2-CS0: Conversion start-channel setup (D[2:0]) / A/D channel register (0x40243) Sets the conversion start channel by selecting a channel number from 0 to 7. Analog inputs can be A/D-converted successively from the channel set using this bit to the channel set using CE in one operation. If only one channel is to be A/D converted, set the same channel number in both the CS and CE bits. At initial reset, CS is set to "0" (AD0). S1C33T01 FUNCTION PART EPSON B-IV-2-11 IV ANALOG BLOCK: A/D CONVERTER ADF: Conversion-complete flag (D3) / A/D enable register (0x40244) Indicates that A/D conversion has been completed. Read "1": Conversion completed Read "0": Being converted or standing by Write: Invalid This flag is set to "1" when A/D conversion is completed, and the converted data is stored in the data register and is reset to "0" when the converted data is read out. When A/D conversion is performed in multiple channels, if the next A/D conversion is completed while ADF = "1" (before the converted data is read out), the data register is overwritten with the new conversion results, causing an overrun error to occur. Therefore, ADF must be reset by reading out the converted data before the next A/D conversion is completed. At initial reset, ADF is set to "0" (being converted or standing by). ADE: A/D enable (D2) / A/D enable register (0x40244) Enables the A/D converter (readied for conversion). Write "1": Enabled Write "0": Disabled Read: Valid When ADE is set to "1", the A/D converter is enabled, meaning it is ready to start A/D conversion (i.e., ready to accept a trigger). When ADE = "0", the A/D converter is disabled, meaning it is unable to accept a trigger. Before setting the conversion mode, start/end channels, etc. for the A/D converter, be sure to reset ADE to "0". This helps to prevent the A/D converter from operating erratically. At initial reset, ADE is set to "0" (disabled). ADST: A/D conversion control/status (D1) / A/D enable register (0x40244) Controls A/D conversion. Write "1": Software trigger Write "0": A/D conversion is stopped Read: Valid If A/D conversion is to be started by a software trigger, set ADST to "1". If any other trigger is used, ADST is automatically set to "1" by the hardware. ADST remains set while A/D conversion is underway. In normal mode, upon completion of A/D conversion in selected channels, ADST is reset to "0" and the A/D conversion circuit is turned off. To stop A/D conversion during operation in continuous mode, reset ADST by writing "0". When ADE = "0" (A/D conversion disabled), ADST is fixed to "0", with no trigger accepted. In addition, ADST is reset to "0" when ADE is reset by writing "0" during A/D conversion. At initial reset, ADST is set to "0" (A/D conversion stopped). OWE: Overwrite-error flag (D0) / A/D enable register (0x40244) Indicates that the converted data has been overwritten. Read "1": Read "0": Write "1": Write "0": Overwritten Normal Invalid Flag is set During A/D conversion in multiple channels, if the conversion results for the next channel are written to the converted-data register (overwritten) before the converted data is read out to reset the conversion-complete flag ADF that has been set through conversion of the preceding channel, OWE is set to "1". When ADF is reset, because this means that the converted data has been read out, OWE is not set. Once OWE is set to "1", it remains set until it is reset by writing "0" in the software. At initial reset, OWE is set to "0" (normal). B-IV-2-12 EPSON S1C33T01 FUNCTION PART IV ANALOG BLOCK: A/D CONVERTER ST1-ST0: Sampling-time setup (D[1:0]) / A/D sampling register (0x40245) Sets the analog input sampling time. Table 2.8 Sampling Time ST1 ST0 Sampling Time 1 1 1 0 0 1 0 0 The A/D converter input 9-clock period 7-clock period 5-clock period 3-clock period clock is used for counting. At initial reset, ST is set to "11" (9-clock period). To maintain the conversion accuracy, use ST as set by default (9-clock period). PAD2-PAD0: A/D converter interrupt level (D[6:4]) / Serial I/F Ch.1, A/D interrupt priority register (0x4026A) Sets the priority level of the A/D-converter interrupt in the range of 0 to 7. At initial reset, PAD becomes indeterminate. EADE: A/D converter interrupt enable (D0) / Port input 4-7, clock timer, A/D interrupt enable register (0x40277) Enables or disables an interrupt to the CPU generated by the A/D converter. Write "1": Interrupt enabled Write "0": Interrupt disabled Read: Valid EADE is an interrupt enable bit to control the A/D converter interrupt. When EADE is set to "1", the A/D converter interrupt is enabled. When EADE is set to "0", the A/D-converter interrupt is disabled. At initial reset, EADE is set to "0" (interrupt disabled). FADE: A/D converter interrupt factor flag (D0) / Port input 4-7, clock timer, A/D interrupt factor flag register (0x40287) Indicates the status of an A/D-converter interrupt factor generated. When read Read "1": Interrupt factor has occurred Read "0": No interrupt factor has occurred When written using the reset-only method (default) Write "1": Interrupt factor flag is reset Write "0": Invalid When written using the read/write method Write "1": Interrupt flag is set Write "0": Interrupt flag is reset FADE is the interrupt factor flag of the A/D converter. It is set to "1" upon completion of A/D conversion in one channel (i.e., when the conversion results are written into the ADD register). At this time, if the following conditions are met, an interrupt to the CPU is generated: 1. The corresponding interrupt enable register bit is set to "1". 2. No other interrupt request of a higher priority has been generated. 3. The IE bit of the PSR is set to "1" (interrupts enabled). 4. The value set in the corresponding interrupt priority register is higher than the interrupt level (IL) of the CPU. When using the interrupt factor of the A/D converter to request IDMA, note that even when the above conditions are met, no interrupt request to the CPU is generated for the interrupt factor that has occurred. If interrupts are enabled at the setting of IDMA, an interrupt is generated under the above conditions after the data transfer by IDMA is completed. The interrupt factor flag is set to "1" whenever interrupt generation conditions are met, regardless of how the interrupt enable and interrupt priority registers are set. S1C33T01 FUNCTION PART EPSON B-IV-2-13 IV ANALOG BLOCK: A/D CONVERTER If the next interrupt is to be accepted after an interrupt has occurred, it is necessary that the interrupt factor flag be reset, and that the PSR be set again (by setting the IE bit to "1" after setting the IL to a value lower than the level indicated by the interrupt priority register, or by executing the reti instruction). The interrupt factor flag can be reset only by writing to it in the software. Note that if the PSR is set again to accept interrupts generated (or if the reti instruction is executed) without resetting the interrupt factor flag, the same interrupt occurs again. Note also that the value to be written to reset the flag is "1" when the reset-only method (RSTONLY = "1") is used, and "0" when the read/write method (RSTONLY = "0") is used. At initial reset, the content of FADE becomes indeterminate, so be sure to reset it in the software. RADE: A/D converter IDMA request (D2) / Serial I/F Ch.1, A/D, port input 4-7 IDMA request register (0x40293) Specifies whether to invoke IDMA when an interrupt factor occurs. When using the set-only method (default) Write "1": IDMA request Write "0": Not changed Read: Valid When using the read/write method Write "1": IDMA request Write "0": Interrupt request Read: Valid When RADE is set to "1", IDMA is invoked when an interrupt factor occurs, thereby performing a programmed data transfer. If RADE is set to "0", normal interrupt processing is performed, without invoking IDMA. For details on IDMA, refer to "IDMA (Intelligent DMA)". At initial reset, RADE is set to "0" (interrupt request). DEADE: A/D converter IDMA enable (D2) / Serial I/F Ch.1, A/D, port input 4-7 IDMA enable register (0x40297) Enables IDMA transfer by means of an interrupt factor. When using the set-only method (default) Write "1": IDMA enabled Write "0": Not changed Read: Valid When using the read/write method Write "1": IDMA enabled Write "0": IDMA disabled Read: Valid If DEADE is set to "1", the IDMA request by the interrupt factor is enabled. If this bit is set to "0", the IDMA request is disabled. After an initial reset, DEADE is set to "0" (IDMA disabled). B-IV-2-14 EPSON S1C33T01 FUNCTION PART IV ANALOG BLOCK: A/D CONVERTER Programming Notes (1) Before setting the conversion mode, start/end channels, etc. for the A/D converter, be sure to disable the A/D converter (ADE (D2) / A/D enable register (0x40244) = "0"). A change in settings while the A/D converter is enabled could cause it to operate erratically. (2) The A/D converter operates only when the prescaler is operating. When the A/D converter registers are set up, the prescaler must be operating. Therefore, start the prescaler first and make sure the A/D converter is supplied with its operating clock before setting up the A/D converter registers. In consideration of the conversion accuracy, we recommend that the A/D converter operating clock be min. 32 kHz to max. 2 MHz. (3) Do not start an A/D conversion when the clock supplied from the prescaler to the A/D converter is turned off, and do not turn off the prescaler's clock output when an A/D conversion is underway, as doing so could cause the A/D converter to operate erratically. (4) After an initial reset, the interrupt factor flag (FADE) becomes indeterminate. To prevent generation of an unwanted interrupt or IDMA request, be sure to reset this flag and register in a program. (5) To prevent the regeneration of interrupts due to the same factor following the occurrence an interrupt, always be sure to reset the interrupt factor flag before setting the PSR again or executing the reti instruction. (6) If the A/D converter is enabled, current will flow between AVDDE and VSS even when the A/D converter is not operating and result in power consumption. Therefore, applications should disable the A/D converter when it is not being used by setting ADE (D2) in the A/D enable register (0x40244) to "0" (the default value). (7) Once A/D conversion ends, further A/D conversion will not be performed correctly if restarted within an interval shorter than one cycle of the A/D converter operating clock set by the prescaler. (8) When the 8-bit programmable timer 0 underflow signal or the 16-bit programmable timer 0 compare match B signal is used as a trigger factor, the division ratio of the prescaler used by the relevant timer must not be set to /1. S1C33T01 FUNCTION PART EPSON B-IV-2-15 IV ANALOG BLOCK: A/D CONVERTER THIS PAGE IS BLANK. B-IV-2-16 EPSON S1C33T01 FUNCTION PART S1C33T01 FUNCTION PART V DMA BLOCK V DMA BLOCK: INTRODUCTION V-1 INTRODUCTION The DMA block is configured with two types of DMA controllers: HSDMA (High-Speed DMA) that has on-chip registers for controlling DMA command information and IDMA (Intelligent DMA) that uses a memory area for storing DMA command information. C33 DMA Block C33 Internal Memory Block C33_DMA (IDMA, HSDMA) CORE_PAD Internal RAM (Area 0) C33_CORE (CPU, BCU, ITC, CLG, DBG) Pads C33_SBUS C33_PERI C33_ADC (A/D converter) (Prescaler, 8-bit timer, 16-bit timer, Clock timer, Serial interface, I2CSMST,Ports) C33 Analog Block PERI_PAD C33 Core Block Pads C33 Peripheral Block Figure 1.1 DMA Block S1C33T01 FUNCTION PART EPSON B-V-1-1 V DMA BLOCK: INTRODUCTION THIS PAGE IS BLANK. B-V-1-2 EPSON S1C33T01 FUNCTION PART V DMA BLOCK: HSDMA (High-Speed DMA) V-2 HSDMA (High-Speed DMA) Functional Outline of HSDMA The DMA Block contains four channels of HSDMA (High-Speed DMA) circuits that support dual-address transfer and single-address transfer methods. Since the control registers required for the DMA function are built into the chip, DMA requests for data transfer can be responded to instantaneously. Dual-address transfer In this method, a source address and a destination address for DMA transfer can be specified and a DMA transfer is performed in two phases. The first phase reads data at the source address into the on-chip temporary register. The second phase writes the temporary register data to the destination address. Unlike IDMA (Intelligent DMA), which has transfer information in memory, this DMA method does not support a DMA link function but allows high-speed data transfers because it is not necessary to read transfer information from a memory. Address bus BCU Data bus Data transfer (2) High-speed DMA #DMAREQx #DMAENDx (1) Memory, I/O Memory, I/O Destination DMA request End of DMA Source Figure 2.1 Dual-Address Transfer Method Single-address transfer In this method, data transfers that are normally accomplished by executing data read and write operations back-to-back are executed on the external bus collectively at one time, thus further speeding up the transfer operation. The #DMAACKx and #DMAENDx signals are used to control data transfer. Unlike dual-address transfer, this method does not allow memory to memory data transfer but data transfers can be performed in minimum cycles. Bus control signals BCU Memory I/O Address bus Data bus Data transfer High-speed DMA External I/O #RD/#WR #DMAREQx #DMAACKx #DMAENDx DMA request DMA reception End of DMA Note: Single-address mode does not allow data transfer between memory devices. Figure 2.2 Single-Address Transfet Method Note: Channels 0 to 3 are configured in the same way and have the same functionality. Signal and control bit names are assigned channel numbers 0 to 3 to distinguish them from other channels. In this manual, however, channel numbers 0 to 3 are designated with an "x" except where they must be distinguished, as the explanation is the same for all channels. S1C33T01 FUNCTION PART EPSON B-V-2-1 V DMA BLOCK: HSDMA (High-Speed DMA) I/O Pins of HSDMA Table 2.1 lists the I/O pins used for HSDMA. Table 2.1 I/O Pins of HSDMA Pin name I/O Function Function select bit K50/#DMAREQ0 I Input port / High-speed DMA request 0 CFK50(D0)/K5 function select register(0x402C0) K51/#DMAREQ1 I Input port / High-speed DMA request 1 CFK51(D1)/K5 function select register(0x402C0) K53/#DMAREQ2 I Input port / High-speed DMA request 2 CFK53(D3)/K5 function select register(0x402C0) K54/#DMAREQ3 I Input port / High-speed DMA request 3 CFK54(D4)/K5 function select register(0x402C0) P04/SIN1/ #DMAACK2 I/O I/O port / Serial IF Ch.1 data input / #DMAACK2 output (Ex) CFEX4(D4)/Port function extension register(0x402DF) P05/SOUT1/ #DMAEND2 I/O I/O port / Serial IF Ch.1 data output / #DMAEND2 output (Ex) CFEX5(D5)/Port function extension register(0x402DF) P06/#SCLK1/ #DMAACK3 I/O I/O port / Serial IF Ch.1 clock input/output / #DMAACK3 output (Ex) CFEX6(D6)/Port function extension register(0x402DF) P07/#SRDY1/ #DMAEND3 I/O I/O port / Serial IF Ch.1 ready input/output / #DMAEND3 output (Ex) CFEX7(D7)/Port function extension register(0x402DF) P15/EXCL4/ #DMAEND0 I/O I/O port / 16-bit timer 4 event counter input (I) / High-speed DMA Ch.0 end signal output (O) CFP15(D5)/P1 function select register(0x402D4) P16/EXCL5/ #DMAEND1 I/O I/O port / 16-bit timer 5 event counter input (I) / High-speed DMA Ch.1 end signal output (O) CFP16(D6)/P1 function select register(0x402D4) P32/#DMAACK0 I/O I/O port / #DMAACK0 output CFP32(D2)/P3 function select register(0x402DC) P33/#DMAACK1 I/O I/O port / #DMAACK1 output CFP33(D3)/P3 function select register(0x402DC) (I): Input mode, (O): Output mode, (Ex): Extended function #DMAREQx (DMA request input pin) This pin is used to input a DMA request signal from an external peripheral circuit. One data transfer operation is performed by this trigger (either the rising edge or the falling edge of the signal can be selected). The #DMAREQ0 to #DMAREQ3 pins correspond to channel 0 to channel 3, respectively. In addition to this external input, software trigger or an interrupt factor can be selected for the HSDMA trigger factor using the register in the interrupt controller. #DMAACKx (DMA acknowledge signal output pin for single-address mode) This signal is output to indicate that a DMA request has been acknowledged by the DMA controller. In single-address mode, the I/O device that is the source or destination of transfer outputs data to the external bus or takes in data from the external data synchronously with this signal. The #DMAACK0 to #DMAACK3 pins correspond to channel 0 to channel 3, respectively. This signal is not output in dual-address mode. #DMAENDx (End-of-transfer signal output pin) This signal is output to indicate that the number of data transfer operations that is set in the control register have been completed. The #DMAEND0 to #DMAEND3 pins correspond to channel 0 to channel 3, respectively. Method for setting HSDMA I/O pins As shown in Table 2.1, the pins used for HSDMA are shared with input ports and I/O ports. At cold start, all of these are set as input and I/O port pins (function select register = "0"). According to the signals to be used, set the corresponding pin function select bit by writing "1". At hot start, the register retains the previous status before a reset. The #DMAEND3, #DMAACK3, #DMAEND2 and #DMAACK2 outputs are the extended functions of the P04 to P07 ports. When using these signals, the extended function bit (CFEX[7:4]) must be set to "1". In addition, setup of the #DMAEND0 pin or #DMAEND1 pin further requires setting the I/O port's I/O control bit IOC15 (D5) or IOC16 (D6) / P1 I/O control register (0x402D6) by writing "1" in order to direct the pin for output. If this pin is directed for input, it functions as a 16-bit programmable timer's event counter input and cannot be used to output the #DMAENDx signal. At cold start, this pin is set for input. At hot start, it retains the previous status. B-V-2-2 EPSON S1C33T01 FUNCTION PART V DMA BLOCK: HSDMA (High-Speed DMA) Programming Control Information The HSDMA operates according to the control information set in the registers. Note that some control bits change their functions according to the address mode. The following explains how to set the contents of control information. Before using HSDMA, make each the settings described below. Setting the Registers in Dual-Address Mode Make sure that the HSDMA channel is disabled (HSx_EN = "0") before setting the control information. Address mode The address mode select bit DUALMx should be set to "1" (dual-address mode). This bit is set to "0" (singleaddress mode) at initial reset. DUALM0: Ch. 0 address mode selection (DF) / HSDMA Ch. 0 control register (0x48222) DUALM1: Ch. 1 address mode selection (DF) / HSDMA Ch. 1 control register (0x48232) DUALM2: Ch. 2 address mode selection (DF) / HSDMA Ch. 2 control register (0x48242) DUALM3: Ch. 3 address mode selection (DF) / HSDMA Ch. 3 control register (0x48252) Transfer mode A transfer mode should be set using the DxMOD[1:0] bits. D0MOD[1:0]: Ch. 0 transfer mode (D[F:E]) / HSDMA Ch. 0 high-order destination address set-up register (0x4822A) D1MOD[1:0]: Ch. 1 transfer mode (D[F:E]) / HSDMA Ch. 1 high-order destination address set-up register (0x4823A) D2MOD[1:0]: Ch. 2 transfer mode (D[F:E]) / HSDMA Ch. 2 high-order destination address set-up register (0x4824A) D3MOD[1:0]: Ch. 3 transfer mode (D[F:E]) / HSDMA Ch. 3 high-order destination address set-up register (0x4825A) The following three transfer modes are available: Single transfer mode (DxMOD = "00", default) In this mode, a transfer operation invoked by one trigger is completed after transferring one unit of data of the size set by DATSIZEx. If data transfer need to be performed a number of times as set by the transfer counter, an equal number of triggers are required. Successive transfer mode (DxMOD = "01") In this mode, data transfer operations are performed by one trigger a number of times as set by the transfer counter. The transfer counter is decremented to 0 each time data is transferred. Block transfer mode (DxMOD = "10") In this mode, a transfer operation invoked by one trigger is completed after transferring one block of data of the size set by BLKLENx. If a block transfer need to be performed a number of times as set by the transfer counter, an equal number of triggers are required. Transfer data size The DATSIZEx bit is used to set the unit size of data to be transferred. A half-word size (16 bits) is assumed if this bit is "1" and a byte size (8 bits) is assumed if this bit is "0" (default). DATSIZE0: Ch. 0 transfer data size (DE) / HSDMA Ch. 0 high-order source address set-up register (0x48226) DATSIZE1: Ch. 1 transfer data size (DE) / HSDMA Ch. 1 high-order source address set-up register (0x48236) DATSIZE2: Ch. 2 transfer data size (DE) / HSDMA Ch. 2 high-order source address set-up register (0x48246) DATSIZE3: Ch. 3 transfer data size (DE) / HSDMA Ch. 3 high-order source address set-up register (0x48256) Block length When using block transfer mode (DxMOD = "10"), the data block length (in units of DATSIZEx) should be set using the BLKLENx[7:0] bits. BLKLEN0[7:0]: Ch. 0 block length (D[7:0]) / HSDMA Ch. 0 transfer counter register (0x48220) BLKLEN1[7:0]: Ch. 1 block length (D[7:0]) / HSDMA Ch. 1 transfer counter register (0x48230) BLKLEN2[7:0]: Ch. 2 block length (D[7:0]) / HSDMA Ch. 2 transfer counter register (0x48240) BLKLEN3[7:0]: Ch. 3 block length (D[7:0]) / HSDMA Ch. 3 transfer counter register (0x48250) S1C33T01 FUNCTION PART EPSON B-V-2-3 V DMA BLOCK: HSDMA (High-Speed DMA) Note: The block size thus set is decremented according to the transfers performed. If the block size is set to 0, it is decremented to all Fs by the first transfer performed. This means that you have set the maximum value that is determined by the number of bits available. In single transfer and successive transfer modes, these bits are used as the bits7-0 of the transfer counter. Transfer counter Block transfer mode In block transfer mode, up to 16 bits of transfer count can be specified. TC0_L[7:0]: Ch. 0 transfer counter [7:0] (D[F:8]) / HSDMA Ch. 0 transfer counter register (0x48220) TC1_L[7:0]: Ch. 1 transfer counter [7:0] (D[F:8]) / HSDMA Ch. 1 transfer counter register (0x48230) TC2_L[7:0]: Ch. 2 transfer counter [7:0] (D[F:8]) / HSDMA Ch. 2 transfer counter register (0x48240) TC3_L[7:0]: Ch. 3 transfer counter [7:0] (D[F:8]) / HSDMA Ch. 3 transfer counter register (0x48250) TC0_H[7:0]: Ch. 0 transfer counter [15:8] (D[7:0]) / HSDMA Ch. 0 control register (0x48222) TC1_H[7:0]: Ch. 1 transfer counter [15:8] (D[7:0]) / HSDMA Ch. 1 control register (0x48232) TC2_H[7:0]: Ch. 2 transfer counter [15:8] (D[7:0]) / HSDMA Ch. 2 control register (0x48242) TC3_H[7:0]: Ch. 3 transfer counter [15:8] (D[7:0]) / HSDMA Ch. 3 control register (0x48252) Single transfer and successive transfer modes In single transfer and successive transfer modes, up to 24 bits of transfer count can be specified. BLKLEN0[7:0]: Ch. 0 transfer counter [7:0] (D[7:0]) / HSDMA Ch.0 transfer counter register (0x48220). BLKLEN1[7:0]: Ch. 1 transfer counter [7:0] (D[7:0]) / HSDMA Ch.1 transfer counter register (0x48230). BLKLEN2[7:0]: Ch. 2 transfer counter [7:0] (D[7:0]) / HSDMA Ch.2 transfer counter register (0x48240). BLKLEN3[7:0]: Ch. 3 transfer counter [7:0] (D[7:0]) / HSDMA Ch.3 transfer counter register (0x48250). TC0_L[7:0]: Ch. 0 transfer counter [15:8] (D[F:8]) / HSDMA Ch. 0 transfer counter register (0x48220) TC1_L[7:0]: Ch. 1 transfer counter [15:8] (D[F:8]) / HSDMA Ch. 1 transfer counter register (0x48230) TC2_L[7:0]: Ch. 2 transfer counter [15:8] (D[F:8]) / HSDMA Ch. 2 transfer counter register (0x48240) TC3_L[7:0]: Ch. 3 transfer counter [15:8] (D[F:8]) / HSDMA Ch. 3 transfer counter register (0x48250) TC0_H[7:0]: Ch. 0 transfer counter [23:16] (D[7:0]) / HSDMA Ch. 0 control register (0x48222) TC1_H[7:0]: Ch. 1 transfer counter [23:16] (D[7:0]) / HSDMA Ch. 1 control register (0x48232) TC2_H[7:0]: Ch. 2 transfer counter [23:16] (D[7:0]) / HSDMA Ch. 2 control register (0x48242) TC3_H[7:0]: Ch. 3 transfer counter [23:16] (D[7:0]) / HSDMA Ch. 3 control register (0x48252) Note: The transfer count thus set is decremented according to the transfers performed. If the transfer count is set to 0, it is decremented to all Fs by the first transfer performed. This means that you have set the maximum value that is determined by the number of bits available. Source and destination addresses In dual-address mode, a source address and a destination address for DMA transfer can be specified. S0ADRL[15:0]: Ch. 0 source address [15:0] (D[F:0]) / Ch. 0 low-order source address set-up register (0x48224) S1ADRL[15:0]: Ch. 1 source address [15:0] (D[F:0]) / Ch. 1 low-order source address set-up register (0x48234) S2ADRL[15:0]: Ch. 2 source address [15:0] (D[F:0]) / Ch. 2 low-order source address set-up register (0x48244) S3ADRL[15:0]: Ch. 3 source address [15:0] (D[F:0]) / Ch. 3 low-order source address set-up register (0x48254) S0ADRH[11:0]: Ch. 0 source address [27:16] (D[B:0]) / Ch. 0 high-order source address set-up register (0x48226) S1ADRH[11:0]: Ch. 1 source address [27:16] (D[B:0]) / Ch. 1 high-order source address set-up register (0x48236) S2ADRH[11:0]: Ch. 2 source address [27:16] (D[B:0]) / Ch. 2 high-order source address set-up register (0x48246) S3ADRH[11:0]: Ch. 3 source address [27:16] (D[B:0]) / Ch. 3 high-order source address set-up register (0x48256) D0ADRL[15:0]: D1ADRL[15:0]: D2ADRL[15:0]: D3ADRL[15:0]: D0ADRH[11:0]: D1ADRH[11:0]: D2ADRH[11:0]: D3ADRH[11:0]: B-V-2-4 Ch. 0 destination address [15:0] (D[F:0]) / Ch. 0 low-order destination address set-up register (0x48228) Ch. 1 destination address [15:0] (D[F:0]) / Ch. 1 low-order destination address set-up register (0x48238) Ch. 2 destination address [15:0] (D[F:0]) / Ch. 2 low-order destination address set-up register (0x48248) Ch. 3 destination address [15:0] (D[F:0]) / Ch. 3 low-order destination address set-up register (0x48258) Ch. 0 destination address [27:16] (D[B:0]) / Ch. 0 high-order destination address set-up register (0x4822A) Ch. 1 destination address [27:16] (D[B:0]) / Ch. 1 high-order destination address set-up register (0x4823A) Ch. 2 destination address [27:16] (D[B:0]) / Ch. 2 high-order destination address set-up register (0x4824A) Ch. 3 destination address [27:16] (D[B:0]) / Ch. 3 high-order destination address set-up register (0x4825A) EPSON S1C33T01 FUNCTION PART V DMA BLOCK: HSDMA (High-Speed DMA) Address increment/decrement control The source and/or destination addresses can be incremented or decremented when one data transfer is completed. The SxIN[1:0] bits (for source address) and DxIN[1:0] bits (for destination address) are used to set this function. S0IN[1:0]: Ch. 0 source address control (D[D:C]) / Ch. 0 high-order source address set-up register (0x48226) S1IN[1:0]: Ch. 1 source address control (D[D:C]) / Ch. 1 high-order source address set-up register (0x48236) S2IN[1:0]: Ch. 2 source address control (D[D:C]) / Ch. 2 high-order source address set-up register (0x48246) S3IN[1:0]: Ch. 3 source address control (D[D:C]) / Ch. 3 high-order source address set-up register (0x48256) D0IN[1:0]: Ch. 0 destination address control (D[D:C]) / Ch. 0 high-order destination address set-up register (0x4822A) D1IN[1:0]: Ch. 1 destination address control (D[D:C]) / Ch. 1 high-order destination address set-up register (0x4823A) D2IN[1:0]: Ch. 2 destination address control (D[D:C]) / Ch. 2 high-order destination address set-up register (0x4824A) D3IN[1:0]: Ch. 3 destination address control (D[D:C]) / Ch. 3 high-order destination address set-up register (0x4825A) SxIN/DxIN = "00": address fixed (default) The address is not changed by a data transfer performed. Even when transferring multiple data, the transfer data is always read/write from/to the same address. SxIN/DxIN = "01": address decremented without initialization The address is decremented by an amount equal to the data size set by DATSIZEx when one data transfer is completed. The address that has been decremented during transfer does not return to the initial value. SxIN/DxIN = "10": address incremented with initialization If this function is selected in single and successive transfer modes, the address is incremented by an amount equal to the data size set by DATSIZEx when one data transfer is completed. The address that has been incremented during transfer does not return to the initial value. In block transfer mode too, the address is incremented when one data unit is transferred. However, the address that has been incremented during a block transfer recycles returns to the initial value when the block transfer is completed. SxIN/DxIN = "11": address incremented without initialization The address is incremented by an amount equal to the data size set by DATSIZEx when one data transfer is completed. The address that has been incremented during transfer does not return to the initial value. S1C33T01 FUNCTION PART EPSON B-V-2-5 V DMA BLOCK: HSDMA (High-Speed DMA) Setting the Registers in Single-Address Mode Make sure that the HSDMA channel is disabled (HSx_EN = "0") before seffing the control information. Address mode The address mode select bit DUALMx should be set to "0" (single-address mode). This bit is set to "0" at initial reset. Transfer mode A transfer mode should be set using the DxMOD[1:0] bits. * Single transfer mode (DxMOD = "00", default) * Successive transfer mode (DxMOD = "01") * Block transfer mode (DxMOD = "10") Refer to the explanation in "Setting the Registers in Dual-Address Mode". Direction of transfer The direction of data transfer should be set using DxDIR. D0DIR: Ch. 0 transfer direction control (DE) / HSDMA Ch. 0 control register (0x48222) D1DIR: Ch. 1 transfer direction control (DE) / HSDMA Ch. 1 control register (0x48232) D2DIR: Ch. 2 transfer direction control (DE) / HSDMA Ch. 2 control register (0x48242) D3DIR: Ch. 3 transfer direction control (DE) / HSDMA Ch. 3 control register (0x48252) Memory write operations (data transfer from I/O device to memory) are specified by writing "1" and memory read operations (data transfer from memory to I/O device) are specified by writing "0". Transfer data size The DATSIZEx bit is used to set the unit size of data to be transferred. A half-word size (16 bits) is assumed if this bit is "1" and a byte size (8 bits) is assumed if this bit is "0" (default). Block length When using block transfer mode (DxMOD = "10"), the data block length (in units of DATSIZEx) should be set using the BLKLENx[7:0] bits. In single transfer and successive transfer modes, BLKLENx[7:0] is used as the bits7-0 of the transfer counter. Transfer counter Block transfer mode In block transfer mode, up to 16 bits of transfer count can be specified using TCx_L[7:0] and TCx_H[7:0]. Single transfer and successive transfer modes In single transfer and successive transfer modes, up to 24 bits of transfer count can be specified using BLKLENx[7:0], TCx_L[7:0] and TCx_H[7:0]. Memory address In single-address mode, SxADRL[15:0] and SxADRH[11:0] are used to specify a memory address. S0ADRL[15:0]: Ch. 0 memory address [15:0] (D[F:0]) / Ch. 0 low-order source address set-up register (0x48224) S0ADRH[11:0]: Ch. 0 memory address [27:16] (D[B:0]) / Ch. 0 high-order source address set-up register (0x48226) S1ADRL[15:0]: Ch. 1 memory address [15:0] (D[F:0]) / Ch. 1 low-order source address set-up register (0x48234) S1ADRH[11:0]: Ch. 1 memory address [27:16] (D[B:0]) / Ch. 1 high-order source address set-up register (0x48236) S2ADRL[15:0]: Ch. 2 memory address [15:0] (D[F:0]) / Ch. 2 low-order source address set-up register (0x48244) S2ADRH[11:0]: Ch. 2 memory address [27:16] (D[B:0]) / Ch. 2 high-order source address set-up register (0x48246) S3ADRL[15:0]: Ch. 3 memory address [15:0] (D[F:0]) / Ch. 3 low-order source address set-up register (0x48254) S3ADRH[11:0]: Ch. 3 memory address [27:16] (D[B:0]) / Ch. 3 high-order source address set-up register (0x48256) In single-address mode, data transfer is performed between the memory connected to the system interface and an external I/O device. The I/O device is accessed directly by the #DMAACKx signal, so it is unnecessary to specify an address. DxADRL[15:0] and DxADRH[11:0] are not used in single-address mode. B-V-2-6 EPSON S1C33T01 FUNCTION PART V DMA BLOCK: HSDMA (High-Speed DMA) Address increment/decrement control The memory addresses can be incremented or decremented when one data transfer is completed. SxIN[1:0] is used to set this function. S0IN[1:0]: Ch. 0 memory address control (D[D:C]) / Ch. 0 high-order source address set-up register (0x48226) S1IN[1:0]: Ch. 1 memory address control (D[D:C]) / Ch. 1 high-order source address set-up register (0x48236) S2IN[1:0]: Ch. 2 memory address control (D[D:C]) / Ch. 2 high-order source address set-up register (0x48246) S3IN[1:0]: Ch. 3 memory address control (D[D:C]) / Ch. 3 high-order source address set-up register (0x48256) SxIN = "00": address fixed (default) SxIN = "01": address decremented without initialization SxIN = "10": address incremented with initialization SxIN = "00": address incremented without initialization Refer to the explanation in "Setting the Registers in Dual-Address Mode". D0IN[1:0] is not used in single-address mode. Enabling/Disabling DMA Transfer The HSDMA transfer is enabled by writing "1" to the enable bit HSx_EN. HS0_EN: Ch. 0 enable (D0) / Ch. 0 enable register (0x4822C) HS1_EN: Ch. 1 enable (D0) / Ch. 1 enable register (0x4823C) HS2_EN: Ch. 2 enable (D0) / Ch. 2 enable register (0x4824C) HS3_EN: Ch. 3 enable (D0) / Ch. 3 enable register (0x4825C) However, the control information must always be set correctly before enabling a DMA transfer. Note that the control information cannot be set when HSx_EN = "1". When HSx_EN is set to "0", HSDMA requests are no longer accepted. When a DMA transfer is completed (transfer counter = 0), HSx_EN is reset to "0" to disable the following trigger inputs. S1C33T01 FUNCTION PART EPSON B-V-2-7 V DMA BLOCK: HSDMA (High-Speed DMA) Trigger Factor A HSDMA tigger factor can be selected from among 13 types using the HSDMA trigger set-up register for each channel. This function is supported by the interrupt controller. HSD0S[3:0]: Ch. 0 trigger set-up (D[3:0]) / HSDMA Ch. 0/1 trigger set-up register (0x40298) HSD1S[3:0]: Ch. 1 trigger set-up (D[7:4]) / HSDMA Ch. 0/1 trigger set-up register (0x40298) HSD2S[3:0]: Ch. 2 trigger set-up (D[3:0]) / HSDMA Ch. 2/3 trigger set-up register (0x40299) HSD3S[3:0]: Ch. 3 trigger set-up (D[7:4]) / HSDMA Ch. 2/3 trigger set-up register (0x40299) Table 2.2 shows the setting value and the corresponding trigger factor. Table 2.2 HSDMA Trigger Factor Value 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 Ch.0 trigger factor Ch.1 trigger factor Ch.2 trigger factor Ch.3 trigger factor Software trigger Software trigger Software trigger Software trigger K50 port input (falling edge) K51 port input (falling edge) K53 port input (falling edge) K54 port input (falling edge) K50 port input (rising edge) K51 port input (rising edge) K53 port input (rising edge) K54 port input (rising edge) Port 0 input Port 1 input Port 2 input Port 3 input Port 4 input Port 5 input Port 6 input Port 7 input 8-bit timer 0 underflow 8-bit timer 1 underflow 8-bit timer 2 underflow 8-bit timer 3 underflow 16-bit timer 0 compare B 16-bit timer 1 compare B 16-bit timer 2 compare B 16-bit timer 3 compare B 16-bit timer 0 compare A 16-bit timer 1 compare A 16-bit timer 2 compare A 16-bit timer 3 compare A 16-bit timer 4 compare B 16-bit timer 5 compare B 16-bit timer 4 compare B 16-bit timer 5 compare B 16-bit timer 4 compare A 16-bit timer 5 compare A 16-bit timer 4 compare A 16-bit timer 5 compare A Serial I/F Ch.0 Rx buffer full Serial I/F Ch.1 Rx buffer full Serial I/F Ch.0 Rx buffer full Serial I/F Ch.1 Rx buffer full Serial I/F Ch.0 Tx buffer empty Serial I/F Ch.1 Tx buffer empty Serial I/F Ch.0 Tx buffer empty Serial I/F Ch.1 Tx buffer empty A/D conversion completion A/D conversion completion A/D conversion completion A/D conversion completion Single-master I2C-bus Ch.0 read DMA request Single-master I2C-bus Ch.1 read DMA request Single-master I2C-bus Ch.0 read DMA request Single-master I2C-bus Ch.1 read DMA request 1110 Single-master I2C-bus Ch.0 Single-master I2C-bus Ch.1 write DMA request Single-master I2C-bus Ch.0 write DMA request Single-master I2C-bus Ch.1 write DMA request write DMA request By selecting an interrupt factor with the HSDMA trigger set-up register, the HSDMA channel is invoked when the selected interrupt factor occurs. The interrupt control bits (interrupt factor flag, interrupt enable register, IDMA request register, interrupt priority register) do not affect this invocation. The interrupt factor that invokes HSDMA sets the interrupt factor flag. and HSDMA does not reset the flag. Consequently, when the DMA transfer is completed (even if the transfer counter is not 0), an interrupt request to the CPU will be generated if the interrupt has been enabled. To generate an interrupt only when the transfer counter reaches 0, disable the interrupt by the interrupt factor that invokes HSDMA and use the HSDMA transfer completion interrupt . When software trigger is selected, the HSDMA channel can be invoked by writing "1" to the HSTx bit. HST0: Ch. 0 software trigger (D0) / HSDMA software trigger register (0x4029F) HST1: Ch. 1 software trigger (D1) / HSDMA software trigger register (0x4029F) HST2: Ch. 2 software trigger (D2) / HSDMA software trigger register (0x4029F) HST3: Ch. 3 software trigger (D3) / HSDMA software trigger register (0x4029F) When the selected trigger factor occurs, the trigger flag is set to "1" to invoke the HSDMA channel. The HSDMA starts a DMA transfer if it has been enabled and the trigger flag is cleared by the hardware at the same time. This makes it possible to queue the HSDMA triggers that have been generated. The trigger flag can be read and cleared using the HSx_TF bit. HS0_TF: Ch. 0 trigger flag status/clear (D0) / Ch. 0 trigger flag register (0x4822E) HS1_TF: Ch. 1 trigger flag status/clear (D0) / Ch. 1 trigger flag register (0x4823E) HS2_TF: Ch. 2 trigger flag status/clear (D0) / Ch. 2 trigger flag register (0x4824E) HS3_TF: Ch. 3 trigger flag status/clear (D0) / Ch. 3 trigger flag register (0x4825E) By writing "1" to this bit, the set trigger flag can be cleared if the DMA transfer has not been started. When this bit is read, "1" indicates that the flag is set and "0" indicates that the flag is cleared. B-V-2-8 EPSON S1C33T01 FUNCTION PART V DMA BLOCK: HSDMA (High-Speed DMA) Operation of HSDMA An HSDMA channel starts data transfer by the selected trigger factor. Make sure that transfer conditions and a trigger factor are set and the HSDMA channel is enabled before starting a DMA transfer. Operation in Dual-Address Mode In dual-address mode, both the source and destination addresses are accessed according to the bus condition set by the BCU. HSDMA has three transfer modes, in each of which data transfer operates differently. The following describes the operation of HSDMA in each transfer mode. Single transfer mode The channel for which DxMOD in control information is set to "00" operates in single transfer mode. In this mode, a transfer operation invoked by one trigger is completed after transferring one data unit of the size set by DATSIZEx. If a data transfer needs to be performed a number of times as set by the transfer counter, an equal number of triggers are required. The operation of HSDMA in single transfer mode is shown by the flow chart in Figure 2.3. START Clear trigger flag HSx_TF to accept next trigger Data read from source (1 byte or 1 half word) Data write to destination (1 byte or 1 half word) Increment/decrement address : according to SxIN/DxIN settings Transfer counter - 1 Transfer counter = 0 N Y Clear HSDMA enable bit HSx_EN Set interrupt factor flag FHDMx END Figure 2.3 Operation Flow in Single Transfer Mode (1) When a trigger is accepted, the trigger flag HSx_TF is cleared and then data of the size set in the control information is read from the source address. (2) The read data is written to the destination address. (3) The addresses are incremented or decremented according to the SxIN/DxIN settings. (4) The transfer counter is decremented. (5) The HSDMA enable bit HSx_EN is cleared and HSDMA interrupt factor flag in ITC is set when the transfer counter reaches 0. S1C33T01 FUNCTION PART EPSON B-V-2-9 V DMA BLOCK: HSDMA (High-Speed DMA) Successive transfer mode The channel for which DxMOD in control information is set to "01" operates in successive transfer mode. In this mode, a data transfer is performed by one trigger a number of times as set by the transfer counter. The transfer counter is decremented to "0" by one transfer executed. The operation of HSDMA in successive transfer mode is shown by the flow chart in Figure 2.4. START Clear trigger flag HSx_TF to accept next trigger Data read from source (1 byte or 1 half word) Data write to destination (1 byte or 1 half word) Increments/decrements address : according to SxIN/DxIN settings Transfer counter - 1 N Transfer counter = 0 Y Clear HSDMA enable bit HSx_EN Set interrupt factor flag FHDMx END Figure 2.4 Operation Flow in Successive Transfer Mode (1) When a trigger is accepted, the trigger flag HSx_TF is cleared and then data of the size set in the control information is read from the source address. (2) The read data is written to the destination address. (3) The addresses are incremented or decremented according to the SxIN/DxIN settings. (4) The transfer counter is decremented. (5) Steps (1) to (4) are repeated until the transfer counter reaches 0. (6) The HSDMA enable bit HSx_EN is cleared and HSDMA interrupt factor flag in ITC is set when the transfer counter reaches 0. B-V-2-10 EPSON S1C33T01 FUNCTION PART V DMA BLOCK: HSDMA (High-Speed DMA) Block transfer mode The channel for which DxMOD in control information is set to "10" operates in block transfer mode. In this mode, a transfer operation invoked by one trigger is completed after transferring one block of data of the size set by BLKLENx. If a block transfer needs to be performed a number of times as set by the transfer counter, an equal number of triggers are required. The operation of HSDMA in block transfer mode is shown by the flow chart in Figure 2.5. START Clear trigger flag HSx_TF to accept next trigger Data read from source (1 byte or 1 half word) Data write to destination (1 byte or 1 half word) Increments/decrements address : according to SxIN/DxIN settings Block size - 1 N Block size = 0 1-block transfer Y Restores initial values to block size and address : according to SxIN/DxIN settings Transfer counter - 1 Transfer counter = 0 N Y Clear HSDMA enable bit HSx_EN Set interrupt factor flag FHDMx END Figure 2.5 Operation Flow in Block Transfer Mode (1) When a trigger is accepted, the trigger flag HSx_TF is cleared and then data of the size set in the control information is read from the source address. (2) The read data is written to the destination address. (3) The address is incremented or decremented and BLKLENx is decremented. (4) Steps (1) to (3) are repeated until BLKLEN reaches 0. (5) If SxIN or DxIN is "10", the address is recycled to the initial value. (6) The transfer counter is decremented. (7) The HSDMA enable bit HSx_EN is cleared and HSDMA interrupt factor flag in ITC is set when the transfer counter reaches 0. S1C33T01 FUNCTION PART EPSON B-V-2-11 V DMA BLOCK: HSDMA (High-Speed DMA) Operation in Single-Address Mode The operation of each transfer mode is almost the same as that of dual-address mode (see the previous section). However, data read/write operation is performed simultaneously in single-address mode. The following explains the data transfer operation different from dual-address mode. #DMAACKx signal output and bus operation When the HSDMA circuit accepts the DMA request, it outputs a low-level pulse from the #DMAACKx pin and starts bus operation for the memory at the same time. The contents of this bus operation are as follows: * Data transfer from I/O device to memory The address that has been set in the memory address register is output to the address bus. A write operation is performed under the interface conditions set on the area to which the memory at the destination of transfer belongs. The data bus is left floating. The external I/O device outputs the transfer data onto the data bus using the #DMAACKx signal as the read signal. The memory takes in this data using the write signal. * Data transfer from memory to an I/O device The address that has been set in the memory address register is output to the address bus. A read operation is performed under the interface conditions set on the area to which the memory at the source of transfer belongs. The memory outputs the transfer data onto the data bus using the read signal. The external I/O device takes in the data from the data bus using the #DMAACKx signal as the write signal. If the transfer data size is 16 bits and the I/O device is an 8-bit device, two bus operations are performed. Otherwise, transfer is completed in one bus operation. #DMAENDx signal output When the transfer counter reaches 0, the end-of-transfer signal is output from the #DMAENDx pin indicating that a specified number of transfers has been completed. At the same time, the interrupt factor for the completion of HSDMA is generated. B-V-2-12 EPSON S1C33T01 FUNCTION PART V DMA BLOCK: HSDMA (High-Speed DMA) Timing Chart Dual-address mode (1) SRAM Example: When 2 (RD)/1 (WR) wait cycles are inserted Read cycle Write cycle source address destination address BCLK A[23:0] #CE(src) ;;; ;;; #CE(dst) #RD #WRH/#WRL #DMAEND Figure 2.6 #DMAEND Signal Output Timing (SRAM) (2) DRAM Example: Page mode, RAS: 1 cycle; CAS: 2 cycles; Precharge: 1 cycle Read cycle Write cycle BCLK A[11:0] ROW #RASx COL #1 COL #2 ;;;; ;;;; ROW COL #1 COL #2 ;;;; ;;;; #HCAS/ #LCAS #RD #WR #DMAEND Figure 2.7 #DMAEND Signal Output Timing (DRAM) S1C33T01 FUNCTION PART EPSON B-V-2-13 V DMA BLOCK: HSDMA (High-Speed DMA) Single-address mode (1) SRAM Example: When 2 (RD)/1 (WR) wait cycles are inserted BCLK ;;; ;;; addr A[23:0] #CExx #RD #WRH/#WRL #DMAACK #DMAEND Figure 2.8 #DMAACK/#DMAEND Signal Output Timing (SRAM) (2) Burst ROM Example: When 4-consecutive-burst and 2-wait cycles are set during the first access BCLK addr[23:2] A[23:2] "00" A[1:0] #CE10(9) D[15:0] #RD ;;;;;;;;;;;;;; ;;;;;;;;;;;;;; "01" "10" "11" ;;;; ;;;; ;;;; ;;;; ;;;; ;;;; ;;; ;;; ;;; ;;; #DMAACK #DMAEND Figure 2.9 #DMAACK/#DMAEND Signal Output Timing (Burst ROM) (3) DRAM Example: Page mode, RAS: 1 cycle; CAS: 2 cycles; Precharge: 1 cycle BCLK A[11:0] ROW COL #1 COL #2 #RASx ;;;;;;; ;;;;;;; #CAS #RD #WR #DMAACK #DMAEND Figure 2.10 B-V-2-14 #DMAACK/#DMAEND Signal Output Timing (DRAM) EPSON S1C33T01 FUNCTION PART V DMA BLOCK: HSDMA (High-Speed DMA) Interrupt Function of HSDMA The DMA controller can generate an interrupt when the transfer counter in each HSDMA channel reaches 0. Furthermore, channels 0 and 1 can invoke IDMA using their interrupt factor. Control registers of the interrupt controller Table 2.3 shows the control registers of the interrupt controller that are provided for each channel. Table 2.3 Control Registers of Interrupt Controller Channel Ch. Ch. Ch. Ch. 0 1 2 3 Interrupt factor flag FHDM0(D0/0x40281) FHDM1(D1/0x40281) FHDM2(D2/0x40281) FHDM3(D3/0x40281) Interrupt enable register EHDM0(D0/0x40271) EHDM1(D1/0x40271) EHDM2(D2/0x40271) EHDM3(D3/0x40271) Interrupt priority register PHSD0L[2:0](D[2:0]/0x40263) PHSD1L[2:0](D[6:4]/0x40263) PHSD2L[2:0](D[2:0]/0x40264) PHSD3L[2:0](D[6:4]/0x40264) The HSDMA controller sets the HSDMA interrupt factor flag to "1" when the transfer counter reaches 0 after completing a series of HSDMA transfers. If the corresponding bit of the interrupt enable register is set to "1" at this time, an interrupt request is generated. Interrupts can be disabled by leaving the interrupt enable register bit set to "0". The HSDMA interrupt factor flag is always set to "1" when the data transfer in each channel is completed no matter what value the interrupt enable register bit is set to. (This is true even when it is set to "0".) The interrupt priority register sets an interrupt priority level (0 to 7). An interrupt request to the CPU is accepted only when there is no other interrupt request of higher priority. Furthermore, it is only when the PSR's IE bit = "1" (interrupt enable) and the set value of IL is smaller than the HSDMA interrupt level which is set in the interrupt priority register that the CPU actually accepts a HSDMA interrupt. For details about the interrupt control register and for the device operation when an interrupt occurs, refer to "ITC (Interrupt Controller)". S1C33T01 FUNCTION PART EPSON B-V-2-15 V DMA BLOCK: HSDMA (High-Speed DMA) Intelligent DMA Intelligent DMA (IDMA) can be invoked by the end-of-transfer interrupt factor of channels 0 and 1 of HSDMA. The following shows the IDMA channels set in HSDMA: IDMA channel Channel 0 end-of-transfer interrupt: 0x05 Channel 1 end-of-transfer interrupt: 0x06 Before IDMA can be invoked, the corresponding bits of the IDMA request and IDMA enable registers must be set to "1". Settings of transfer conditions on the IDMA side are also required. Table 2.4 Control Bits for IDMA Transfer Channel Ch. 0 Ch. 1 IDMA request bit RHDM0(D4/0x40290) RHDM1(D5/0x40290) IDMA enable bit DEHDM0(D4/0x40294) DEHDM1(D5/0x40294) If the IDMA request and enable bits are set to "1", IDMA is invoked through generation of an interrupt factor. No interrupt request is generated at that point. An interrupt request is generated after the DMA transfer is completed. The registers can also be set so as not to generate an interrupt, with only a DMA transfer performed. For details on IDMA transfers and interrupt control upon completion of IDMA transfer, refer to "IDMA (Intelligent DMA)". Trap vector The trap vector addresses for interrupt factors in each channel are set by default as follows: Channel 0 end-of-transfer interrupt: 0x0C00058 Channel 1 end-of-transfer interrupt: 0x0C0005C Channel 2 end-of-transfer interrupt: 0x0C00060 Channel 3 end-of-transfer interrupt: 0x0C00064 Note that the trap table base address can be modified using the TTBR registers (0x48134 to 0x48137). B-V-2-16 EPSON S1C33T01 FUNCTION PART V DMA BLOCK: HSDMA (High-Speed DMA) I/O Memory of HSDMA Table 2.5 shows the control bits of HSDMA. Table 2.5 Control Bits of HSDMA Register name Address Bit High-speed 0040263 DMA Ch.0/1 (B) interrupt priority register D7 D6 D5 D4 D3 D2 D1 D0 - PHSD1L2 PHSD1L1 PHSD1L0 - PHSD0L2 PHSD0L1 PHSD0L0 reserved High-speed DMA Ch.1 interrupt level - 0 to 7 reserved High-speed DMA Ch.0 interrupt level - 0 to 7 D7 D6 D5 D4 D3 D2 D1 D0 - PHSD3L2 PHSD3L1 PHSD3L0 - PHSD2L2 PHSD2L1 PHSD2L0 reserved High-speed DMA Ch.3 interrupt level - 0 to 7 reserved High-speed DMA Ch.2 interrupt level - 0 to 7 High-speed 0040264 DMA Ch.2/3 (B) interrupt priority register Name Function DMA interrupt 0040271 enable register (B) D7-5 D4 D3 D2 D1 D0 - EIDMA EHDM3 EHDM2 EHDM1 EHDM0 reserved IDMA High-speed DMA Ch.3 High-speed DMA Ch.2 High-speed DMA Ch.1 High-speed DMA Ch.0 DMA interrupt factor flag register 0040281 (B) D7-5 D4 D3 D2 D1 D0 - FIDMA FHDM3 FHDM2 FHDM1 FHDM0 reserved IDMA High-speed DMA Ch.3 High-speed DMA Ch.2 High-speed DMA Ch.1 High-speed DMA Ch.0 Port input 0-3, high-speed DMA, 16-bit timer 0 IDMA request register 0040290 (B) D7 D6 D5 D4 D3 D2 D1 D0 R16TC0 R16TU0 RHDM1 RHDM0 RP3 RP2 RP1 RP0 Port input 0-3, high-speed DMA, 16-bit timer 0 IDMA enable register 0040294 (B) D7 D6 D5 D4 D3 D2 D1 D0 DE16TC0 DE16TU0 DEHDM1 DEHDM0 DEP3 DEP2 DEP1 DEP0 S1C33T01 FUNCTION PART Setting - 1 Enabled 0 Disabled - Init. R/W - 0 when being read. R/W - X X X - X X X - 0 when being read. R/W - 0 0 0 0 0 - 0 when being read. R/W R/W R/W R/W R/W - X X X X X - 0 when being read. R/W R/W R/W R/W R/W - 0 when being read. R/W - 0 when being read. R/W 1 Factor is generated 0 No factor is generated 16-bit timer 0 comparison A 16-bit timer 0 comparison B High-speed DMA Ch.1 High-speed DMA Ch.0 Port input 3 Port input 2 Port input 1 Port input 0 1 IDMA request 0 Interrupt request 0 0 0 0 0 0 0 0 R/W R/W R/W R/W R/W R/W R/W R/W 16-bit timer 0 comparison A 16-bit timer 0 comparison B High-speed DMA Ch.1 High-speed DMA Ch.0 Port input 3 Port input 2 Port input 1 Port input 0 1 IDMA enabled 0 IDMA disabled 0 0 0 0 0 0 0 0 R/W R/W R/W R/W R/W R/W R/W R/W EPSON Remarks - X X X - X X X B-V-2-17 V DMA BLOCK: HSDMA (High-Speed DMA) Table 2.5 Register name Address Bit Name High-speed DMA Ch.0/1 trigger set-up register D7 D6 D5 D4 HSD1S3 HSD1S2 HSD1S1 HSD1S0 0040298 (B) D3 D2 D1 D0 High-speed DMA Ch.2/3 trigger set-up register 0040299 (B) D7 D6 D5 D4 D3 D2 D1 D0 HSD0S3 HSD0S2 HSD0S1 HSD0S0 HSD3S3 HSD3S2 HSD3S1 HSD3S0 HSD2S3 HSD2S2 HSD2S1 HSD2S0 High-speed 004029A D7-4 - DMA software (B) D3 HST3 trigger register D2 HST2 D1 HST1 D0 HST0 B-V-2-18 Control Bits of HSDMA (continue) Function High-speed DMA Ch.1 trigger set-up High-speed DMA Ch.0 trigger set-up High-speed DMA Ch.3 trigger set-up High-speed DMA Ch.2 trigger set-up reserved HSDMA Ch.3 software trigger HSDMA Ch.2 software trigger HSDMA Ch.1 software trigger HSDMA Ch.0 software trigger EPSON Setting 0 1 2 3 4 5 6 7 8 9 A B C D E 0 1 2 3 4 5 6 7 8 9 A B C D E 0 1 2 3 4 5 6 7 8 9 A B C D E 0 1 2 3 4 5 6 7 8 9 A B C D E Software trigger K51 input (falling edge) K51 input (rising edge) Port 1 input Port 5 input 8-bit timer Ch.1 underflow 16-bit timer Ch.1 compare B 16-bit timer Ch.1 compare A 16-bit timer Ch.5 compare B 16-bit timer Ch.5 compare A SI/F Ch.1 Rx buffer full SI/F Ch.1 Tx buffer empty A/D conversion completion Init. R/W 0 0 0 0 R/W 0 0 0 0 R/W 0 0 0 0 R/W 0 0 0 0 R/W - 0 0 0 0 - W W W W Remarks Single-master I2C-bus Ch.1 read DMA request Single-master I2C-bus Ch.1 write DMA request Software trigger K50 input (falling edge) K50 input (rising edge) Port 0 input Port 4 input 8-bit timer Ch.0 underflow 16-bit timer Ch.0 compare B 16-bit timer Ch.0 compare A 16-bit timer Ch.4 compare B 16-bit timer Ch.4 compare A SI/F Ch.0 Rx buffer full SI/F Ch.0 Tx buffer empty A/D conversion completion Single-master I2C-bus Ch.0 read DMA request Single-master I2C-bus Ch.0 write DMA request Software trigger K54 input (falling edge) K54 input (rising edge) Port 3 input Port 7 input 8-bit timer Ch.3 underflow 16-bit timer Ch.3 compare B 16-bit timer Ch.3 compare A 16-bit timer Ch.5 compare B 16-bit timer Ch.5 compare A SI/F Ch.1 Rx buffer full SI/F Ch.1 Tx buffer empty A/D conversion completion Single-master I2C-bus Ch.1 read DMA request Single-master I2C-bus Ch.1 write DMA request Software trigger K53 input (falling edge) K53 input (rising edge) Port 2 input Port 6 input 8-bit timer Ch.2 underflow 16-bit timer Ch.2 compare B 16-bit timer Ch.2 compare A 16-bit timer Ch.4 compare B 16-bit timer Ch.4 compare A SI/F Ch.0 Rx buffer full SI/F Ch.0 Tx buffer empty A/D conversion completion Single-master I2C-bus Ch.0 read DMA request Single-master I2C-bus Ch.0 write DMA request - 1 Trigger 0 Invalid 0 when being read. S1C33T01 FUNCTION PART V DMA BLOCK: HSDMA (High-Speed DMA) Table 2.5 Register name Address Bit Name Control Bits of HSDMA (continue) Function K5 function select register 00402C0 D7-5 - (B) D4 CFK54 D3 CFK53 D2 CFK52 D1 CFK51 D0 CFK50 reserved K54 function selection K53 function selection K52 function selection K51 function selection K50 function selection P1 function select register 00402D4 (B) P1 I/O control register 00402D6 (B) D7 D6 - CFP16 reserved P16 function selection D5 CFP15 P15 function selection D4 CFP14 P14 function selection D3 CFP13 P13 function selection D2 CFP12 P12 function selection D1 CFP11 P11 function selection D0 CFP10 P10 function selection D7 D6 D5 D4 D3 D2 D1 D0 - IOC16 IOC15 IOC14 IOC13 IOC12 IOC11 IOC10 reserved P16 I/O control P15 I/O control P14 I/O control P13 I/O control P12 I/O control P11 I/O control P10 I/O control P3 function 00402DC D7-6 - select register (B) D5 CFP35 D4 CFP34 Port function extension register High-speed DMA Ch.0 transfer counter register 00402DF (B) 0048220 (HW) Init. R/W - - 0 when being read. R/W R/W R/W R/W R/W - 1 EXCL5 0 P16 #DMAEND1 1 EXCL4 0 P15 #DMAEND0 1 FOSC1 0 P14 - 0 - 0 when being read. R/W 0 R/W 0 1 EXCL3 T8UF3 1 EXCL2 T8UF2 1 EXCL1 T8UF1 1 EXCL0 T8UF0 0 P13 0 R/W Extended functions (0x402DF) R/W 0 P12 0 R/W 0 P11 0 R/W 0 P10 0 R/W - 0 0 0 0 0 0 0 - 0 when being read. R/W R/W R/W R/W R/W R/W R/W P35 P34 - 0 0 - 0 when being read. R/W R/W P33 P32 P31 P30 0 0 0 0 R/W R/W R/W Ext. func.(0x402DF) R/W 0 0 0 0 0 0 1 R/W R/W R/W R/W R/W R/W R/W 1 R/W X X X X X X X X X X X X X X X X R/W 1 1 1 1 1 #DMAREQ3 #DMAREQ2 #ADTRG #DMAREQ1 #DMAREQ0 0 0 0 0 0 K54 K53 K52 K51 K50 - reserved P35 function selection P34 function selection CFP33 CFP32 CFP31 CFP30 P33 function selection P32 function selection P31 function selection P30 function selection D7 D6 D5 D4 D3 D2 D1 CFEX7 CFEX6 CFEX5 CFEX4 CFEX3 CFEX2 CFEX1 P07 port extended function P06 port extended function P05 port extended function P04 port extended function P31 port extended function P21 port extended function P10, P11, P13 port extended function D0 CFEX0 P12, P14 port extended function DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 TC0_L7 TC0_L6 TC0_L5 TC0_L4 TC0_L3 TC0_L2 TC0_L1 TC0_L0 BLKLEN07 BLKLEN06 BLKLEN05 BLKLEN04 BLKLEN03 BLKLEN02 BLKLEN01 BLKLEN00 Ch.0 transfer counter[7:0] (block transfer mode) Ch.0 transfer counter[15:8] (single/successive transfer mode) Ch.0 block length (block transfer mode) Ch.0 transfer counter[7:0] (single/successive transfer mode) EPSON Remarks - 0 0 0 0 0 1 Output D3 D2 D1 D0 S1C33T01 FUNCTION PART Setting 0 Input - 1 #BUSACK 0 1 #BUSREQ 0 #CE6 1 #DMAACK1 0 1 #DMAACK0 0 1 #BUSGET 0 1 #WAIT 0 #CE4/#CE5 1 1 1 1 1 1 1 #DMAEND3 #DMAACK3 #DMAEND2 #DMAACK2 #GARD #GAAS DST0 DST1 DPC0 1 DST2 DCLK 0 0 0 0 0 0 0 P07, etc. P06, etc. P05, etc. P04, etc. P31, etc. P21, etc. P10, etc. P11, etc. P13, etc. 0 P12, etc. P14, etc. R/W B-V-2-19 V DMA BLOCK: HSDMA (High-Speed DMA) Table 2.5 Register name Address Bit Name High-speed 0048222 DMA Ch.0 (HW) control register DF DE DUALM0 D0DIR DD-8 D7 D6 D5 D4 D3 D2 D1 D0 - TC0_H7 TC0_H6 TC0_H5 TC0_H4 TC0_H3 TC0_H2 TC0_H1 TC0_H0 Note: D) Dual address mode S) Single address mode High-speed 0048224 DMA Ch.0 (HW) low-order source address set-up register Note: D) Dual address mode S) Single address mode High-speed 0048226 DMA Ch.0 (HW) high-order source address set-up register Note: D) Dual address mode S) Single address mode High-speed 0048228 DMA Ch.0 (HW) low-order destination address set-up register Note: D) Dual address mode S) Single address mode B-V-2-20 Control Bits of HSDMA (continue) Function Ch.0 address mode selection D) Invalid S) Ch.0 transfer direction control reserved Ch.0 transfer counter[15:8] (block transfer mode) Setting 1 Dual addr 0 Single addr - 1 Memory WR 0 Memory RD - Ch.0 transfer counter[23:16] (single/successive transfer mode) Init. R/W R/W - R/W - Undefined in read. R/W X X X X X X X X X X X X X X X X R/W - 0 0 0 - Undefined in read. R/W R/W DF DE DD DC DB DA D9 A8 D7 D6 D5 D4 D3 D2 D1 D0 S0ADRL15 D) Ch.0 source address[15:0] S0ADRL14 S) Ch.0 memory address[15:0] S0ADRL13 S0ADRL12 S0ADRL11 S0ADRL10 S0ADRL9 S0ADRL8 S0ADRL7 S0ADRL6 S0ADRL5 S0ADRL4 S0ADRL3 S0ADRL2 S0ADRL1 S0ADRL0 DF DE DD DC - DATSIZE0 S0IN1 S0IN0 DB DA D9 A8 D7 D6 D5 D4 D3 D2 D1 D0 S0ADRH11 D) Ch.0 source address[27:16] S0ADRH10 S) Ch.0 memory address[27:16] S0ADRH9 S0ADRH8 S0ADRH7 S0ADRH6 S0ADRH5 S0ADRH4 S0ADRH3 S0ADRH2 S0ADRH1 S0ADRH0 X X X X X X X X X X X X R/W DF DE DD DC DB DA D9 A8 D7 D6 D5 D4 D3 D2 D1 D0 D0ADRL15 D) Ch.0 destination address[15:0] D0ADRL14 S) Invalid D0ADRL13 D0ADRL12 D0ADRL11 D0ADRL10 D0ADRL9 D0ADRL8 D0ADRL7 D0ADRL6 D0ADRL5 D0ADRL4 D0ADRL3 D0ADRL2 D0ADRL1 D0ADRL0 X X X X X X X X X X X X X X X X R/W reserved Ch.0 transfer data size D) Ch.0 source address control S) Ch.0 memory address control EPSON - 1 Half word S0IN[1:0] 1 1 1 0 0 1 0 0 0 Byte Inc/dec Inc.(no init) Inc.(init) Dec.(no init) Fixed Remarks 0 - 0 - X X X X X X X X S1C33T01 FUNCTION PART V DMA BLOCK: HSDMA (High-Speed DMA) Table 2.5 Control Bits of HSDMA (continue) Register name Address Bit Name High-speed 004822A DMA Ch.0 (HW) high-order destination address set-up register DF DE D0MOD1 D0MOD0 Ch.0 transfer mode DD DC D0IN1 D0IN0 D) Ch.0 destination address control S) Invalid DB DA D9 A8 D7 D6 D5 D4 D3 D2 D1 D0 D0ADRH11 D) Ch.0 destination D0ADRH10 address[27:16] D0ADRH9 S) Invalid D0ADRH8 D0ADRH7 D0ADRH6 D0ADRH5 D0ADRH4 D0ADRH3 D0ADRH2 D0ADRH1 D0ADRH0 Note: D) Dual address mode S) Single address mode Function High-speed 004822C DF-1 - DMA Ch.0 (HW) D0 HS0_EN enable register reserved High-speed DMA Ch.0 trigger flag register 004822E DF-1 - (HW) D0 HS0_TF reserved High-speed DMA Ch.1 transfer counter register 0048230 (HW) High-speed 0048232 DMA Ch.1 (HW) control register Note: D) Dual address mode S) Single address mode Mode Invalid Block Successive Single Inc/dec Inc.(no init) Inc.(init) Dec.(no init) Fixed - Ch.0 enable 1 Enable 0 Disable - Ch.0 trigger flag clear (writing) Ch.0 trigger flag status (reading) DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 TC1_L7 TC1_L6 TC1_L5 TC1_L4 TC1_L3 TC1_L2 TC1_L1 TC1_L0 BLKLEN17 BLKLEN16 BLKLEN15 BLKLEN14 BLKLEN13 BLKLEN12 BLKLEN11 BLKLEN10 Ch.1 transfer counter[7:0] (block transfer mode) DF DE DUALM1 D1DIR DD-8 D7 D6 D5 D4 D3 D2 D1 D0 - TC1_H7 TC1_H6 TC1_H5 TC1_H4 TC1_H3 TC1_H2 TC1_H1 TC1_H0 Ch.1 address mode selection D) Invalid S) Ch.1 transfer direction control reserved Ch.1 transfer counter[15:8] (block transfer mode) S1C33T01 FUNCTION PART Setting D0MOD[1:0] 1 1 1 0 0 1 0 0 D0IN[1:0] 1 1 1 0 0 1 0 0 1 Clear 1 Set 0 No operation 0 Cleared Ch.1 transfer counter[15:8] (single/successive transfer mode) Ch.1 block length (block transfer mode) Ch.1 transfer counter[7:0] (single/successive transfer mode) Ch.1 transfer counter[23:16] (single/successive transfer mode) EPSON 1 Dual addr 0 Single addr - 1 Memory WR 0 Memory RD - Init. R/W Remarks 0 0 R/W 0 0 R/W X X X X X X X X X X X X R/W - - 0 R/W - - 0 R/W X X X X X X X X X X X X X X X X R/W 0 - 0 - X X X X X X X X R/W - R/W - Undefined in read. R/W Undefined in read. Undefined in read. R/W B-V-2-21 V DMA BLOCK: HSDMA (High-Speed DMA) Table 2.5 Bit High-speed 0048234 DMA Ch.1 (HW) low-order source address set-up register DF DE DD DC DB DA D9 A8 D7 D6 D5 D4 D3 D2 D1 D0 S1ADRL15 D) Ch.1 source address[15:0] S1ADRL14 S) Ch.1 memory address[15:0] S1ADRL13 S1ADRL12 S1ADRL11 S1ADRL10 S1ADRL9 S1ADRL8 S1ADRL7 S1ADRL6 S1ADRL5 S1ADRL4 S1ADRL3 S1ADRL2 S1ADRL1 S1ADRL0 DF DE DD DC - DATSIZE1 S1IN1 S1IN0 DB DA D9 A8 D7 D6 D5 D4 D3 D2 D1 D0 DF DE DD DC DB DA D9 A8 D7 D6 D5 D4 D3 D2 D1 D0 Note: D) Dual address mode S) Single address mode High-speed 0048236 DMA Ch.1 (HW) high-order source address set-up register Note: D) Dual address mode S) Single address mode High-speed 0048238 DMA Ch.1 (HW) low-order destination address set-up register Note: D) Dual address mode S) Single address mode B-V-2-22 Name Control Bits of HSDMA (continue) Register name Address Function Setting Init. R/W Remarks X X X X X X X X X X X X X X X X R/W - 0 0 0 - Undefined in read. R/W R/W S1ADRH11 D) Ch.1 source address[27:16] S1ADRH10 S) Ch.1 memory address[27:16] S1ADRH9 S1ADRH8 S1ADRH7 S1ADRH6 S1ADRH5 S1ADRH4 S1ADRH3 S1ADRH2 S1ADRH1 S1ADRH0 X X X X X X X X X X X X R/W D1ADRL15 D) Ch.1 destination address[15:0] D1ADRL14 S) Invalid D1ADRL13 D1ADRL12 D1ADRL11 D1ADRL10 D1ADRL9 D1ADRL8 D1ADRL7 D1ADRL6 D1ADRL5 D1ADRL4 D1ADRL3 D1ADRL2 D1ADRL1 D1ADRL0 X X X X X X X X X X X X X X X X R/W reserved Ch.1 transfer data size D) Ch.1 source address control S) Ch.1 memory address control EPSON - 1 Half word S1IN[1:0] 1 1 1 0 0 1 0 0 0 Byte Inc/dec Inc.(no init) Inc.(init) Dec.(no init) Fixed S1C33T01 FUNCTION PART V DMA BLOCK: HSDMA (High-Speed DMA) Table 2.5 Control Bits of HSDMA (continue) Register name Address Bit Name High-speed 004823A DMA Ch.1 (HW) high-order destination address set-up register DF DE D1MOD1 D1MOD0 Ch.1 transfer mode DD DC D1IN1 D1IN0 D) Ch.1 destination address control S) Invalid DB DA D9 A8 D7 D6 D5 D4 D3 D2 D1 D0 D1ADRH11 D) Ch.1 destination D1ADRH10 address[27:16] D1ADRH9 S) Invalid D1ADRH8 D1ADRH7 D1ADRH6 D1ADRH5 D1ADRH4 D1ADRH3 D1ADRH2 D1ADRH1 D1ADRH0 Note: D) Dual address mode S) Single address mode Function High-speed 004823C DF-1 - DMA Ch.1 (HW) D0 HS1_EN enable register reserved High-speed DMA Ch.1 trigger flag register 004823E DF-1 - (HW) D0 HS1_TF reserved High-speed DMA Ch.2 transfer counter register 0048240 (HW) High-speed 0048242 DMA Ch.2 (HW) control register Note: D) Dual address mode S) Single address mode Mode Invalid Block Successive Single Inc/dec Inc.(no init) Inc.(init) Dec.(no init) Fixed - Ch.1 enable 1 Enable 0 Disable - Ch.1 trigger flag clear (writing) Ch.1 trigger flag status (reading) DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 TC2_L7 TC2_L6 TC2_L5 TC2_L4 TC2_L3 TC2_L2 TC2_L1 TC2_L0 BLKLEN27 BLKLEN26 BLKLEN25 BLKLEN24 BLKLEN23 BLKLEN22 BLKLEN21 BLKLEN20 Ch.2 transfer counter[7:0] (block transfer mode) DF DE DUALM2 D2DIR DD-8 D7 D6 D5 D4 D3 D2 D1 D0 - TC2_H7 TC2_H6 TC2_H5 TC2_H4 TC2_H3 TC2_H2 TC2_H1 TC2_H0 Ch.2 address mode selection D) Invalid S) Ch.2 transfer direction control reserved Ch.2 transfer counter[15:8] (block transfer mode) S1C33T01 FUNCTION PART Setting D1MOD[1:0] 1 1 1 0 0 1 0 0 D1IN[1:0] 1 1 1 0 0 1 0 0 1 Clear 1 Set 0 No operation 0 Cleared Ch.2 transfer counter[15:8] (single/successive transfer mode) Ch.2 block length (block transfer mode) Ch.2 transfer counter[7:0] (single/successive transfer mode) Ch.2 transfer counter[23:16] (single/successive transfer mode) EPSON 1 Dual addr 0 Single addr - 1 Memory WR 0 Memory RD - Init. R/W Remarks 0 0 R/W 0 0 R/W X X X X X X X X X X X X R/W - - 0 R/W - - 0 R/W X X X X X X X X X X X X X X X X R/W 0 - 0 - X X X X X X X X R/W - R/W - Undefined in read. R/W Undefined in read. Undefined in read. R/W B-V-2-23 V DMA BLOCK: HSDMA (High-Speed DMA) Table 2.5 Bit High-speed 0048244 DMA Ch.2 (HW) low-order source address set-up register DF DE DD DC DB DA D9 A8 D7 D6 D5 D4 D3 D2 D1 D0 S2ADRL15 D) Ch.2 source address[15:0] S2ADRL14 S) Ch.2 memory address[15:0] S2ADRL13 S2ADRL12 S2ADRL11 S2ADRL10 S2ADRL9 S2ADRL8 S2ADRL7 S2ADRL6 S2ADRL5 S2ADRL4 S2ADRL3 S2ADRL2 S2ADRL1 S2ADRL0 DF DE DD DC - DATSIZE2 S2IN1 S2IN0 DB DA D9 A8 D7 D6 D5 D4 D3 D2 D1 D0 DF DE DD DC DB DA D9 A8 D7 D6 D5 D4 D3 D2 D1 D0 Note: D) Dual address mode S) Single address mode High-speed 0048246 DMA Ch.2 (HW) high-order source address set-up register Note: D) Dual address mode S) Single address mode High-speed 0048248 DMA Ch.2 (HW) low-order destination address set-up register Note: D) Dual address mode S) Single address mode B-V-2-24 Name Control Bits of HSDMA (continue) Register name Address Function Setting Init. R/W Remarks X X X X X X X X X X X X X X X X R/W - 0 0 0 - Undefined in read. R/W R/W S2ADRH11 D) Ch.2 source address[27:16] S2ADRH10 S) Ch.2 memory address[27:16] S2ADRH9 S2ADRH8 S2ADRH7 S2ADRH6 S2ADRH5 S2ADRH4 S2ADRH3 S2ADRH2 S2ADRH1 S2ADRH0 X X X X X X X X X X X X R/W D2ADRL15 D) Ch.2 destination address[15:0] D2ADRL14 S) Invalid D2ADRL13 D2ADRL12 D2ADRL11 D2ADRL10 D2ADRL9 D2ADRL8 D2ADRL7 D2ADRL6 D2ADRL5 D2ADRL4 D2ADRL3 D2ADRL2 D2ADRL1 D2ADRL0 X X X X X X X X X X X X X X X X R/W reserved Ch.2 transfer data size D) Ch.2 source address control S) Ch.2 memory address control EPSON - 1 Half word S2IN[1:0] 1 1 1 0 0 1 0 0 0 Byte Inc/dec Inc.(no init) Inc.(init) Dec.(no init) Fixed S1C33T01 FUNCTION PART V DMA BLOCK: HSDMA (High-Speed DMA) Table 2.5 Control Bits of HSDMA (continue) Register name Address Bit Name High-speed 004824A DMA Ch.2 (HW) high-order destination address set-up register DF DE D2MOD1 D2MOD0 Ch.2 transfer mode DD DC D2IN1 D2IN0 D) Ch.2 destination address control S) Invalid DB DA D9 A8 D7 D6 D5 D4 D3 D2 D1 D0 D2ADRH11 D) Ch.2 destination D2ADRH10 address[27:16] D2ADRH9 S) Invalid D2ADRH8 D2ADRH7 D2ADRH6 D2ADRH5 D2ADRH4 D2ADRH3 D2ADRH2 D2ADRH1 D2ADRH0 Note: D) Dual address mode S) Single address mode Function High-speed 004824C DF-1 - DMA Ch.2 (HW) D0 HS2_EN enable register reserved High-speed DMA Ch.2 trigger flag register 004824E DF-1 - (HW) D0 HS2_TF reserved High-speed DMA Ch.3 transfer counter register 0048250 (HW) High-speed 0048252 DMA Ch.3 (HW) control register Note: D) Dual address mode S) Single address mode Mode Invalid Block Successive Single Inc/dec Inc.(no init) Inc.(init) Dec.(no init) Fixed - Ch.2 enable 1 Enable 0 Disable - Ch.2 trigger flag clear (writing) Ch.2 trigger flag status (reading) DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 TC3_L7 TC3_L6 TC3_L5 TC3_L4 TC3_L3 TC3_L2 TC3_L1 TC3_L0 BLKLEN37 BLKLEN36 BLKLEN35 BLKLEN34 BLKLEN33 BLKLEN32 BLKLEN31 BLKLEN30 Ch.3 transfer counter[7:0] (block transfer mode) DF DE DUALM3 D3DIR DD-8 D7 D6 D5 D4 D3 D2 D1 D0 - TC3_H7 TC3_H6 TC3_H5 TC3_H4 TC3_H3 TC3_H2 TC3_H1 TC3_H0 Ch.3 address mode selection D) Invalid S) Ch.3 transfer direction control reserved Ch.3 transfer counter[15:8] (block transfer mode) S1C33T01 FUNCTION PART Setting D2MOD[1:0] 1 1 1 0 0 1 0 0 D2IN[1:0] 1 1 1 0 0 1 0 0 1 Clear 1 Set 0 No operation 0 Cleared Ch.3 transfer counter[15:8] (single/successive transfer mode) Ch.3 block length (block transfer mode) Ch.3 transfer counter[7:0] (single/successive transfer mode) Ch.3 transfer counter[23:16] (single/successive transfer mode) EPSON 1 Dual addr 0 Single addr - 1 Memory WR 0 Memory RD - Init. R/W Remarks 0 0 R/W 0 0 R/W X X X X X X X X X X X X R/W - - 0 R/W - - 0 R/W X X X X X X X X X X X X X X X X R/W 0 - 0 - X X X X X X X X R/W - R/W - Undefined in read. R/W Undefined in read. Undefined in read. R/W B-V-2-25 V DMA BLOCK: HSDMA (High-Speed DMA) Table 2.5 Bit High-speed 0048254 DMA Ch.3 (HW) low-order source address set-up register DF DE DD DC DB DA D9 A8 D7 D6 D5 D4 D3 D2 D1 D0 S3ADRL15 D) Ch.3 source address[15:0] S3ADRL14 S) Ch.3 memory address[15:0] S3ADRL13 S3ADRL12 S3ADRL11 S3ADRL10 S3ADRL9 S3ADRL8 S3ADRL7 S3ADRL6 S3ADRL5 S3ADRL4 S3ADRL3 S3ADRL2 S3ADRL1 S3ADRL0 DF DE DD DC - DATSIZE3 S3IN1 S3IN0 DB DA D9 A8 D7 D6 D5 D4 D3 D2 D1 D0 DF DE DD DC DB DA D9 A8 D7 D6 D5 D4 D3 D2 D1 D0 Note: D) Dual address mode S) Single address mode High-speed 0048256 DMA Ch.3 (HW) high-order source address set-up register Note: D) Dual address mode S) Single address mode High-speed 0048258 DMA Ch.3 (HW) low-order destination address set-up register Note: D) Dual address mode S) Single address mode B-V-2-26 Name Control Bits of HSDMA (continue) Register name Address Function Setting Init. R/W Remarks X X X X X X X X X X X X X X X X R/W - 0 0 0 - Undefined in read. R/W R/W S3ADRH11 D) Ch.3 source address[27:16] S3ADRH10 S) Ch.3 memory address[27:16] S3ADRH9 S3ADRH8 S3ADRH7 S3ADRH6 S3ADRH5 S3ADRH4 S3ADRH3 S3ADRH2 S3ADRH1 S3ADRH0 X X X X X X X X X X X X R/W D3ADRL15 D) Ch.3 destination address[15:0] D3ADRL14 S) Invalid D3ADRL13 D3ADRL12 D3ADRL11 D3ADRL10 D3ADRL9 D3ADRL8 D3ADRL7 D3ADRL6 D3ADRL5 D3ADRL4 D3ADRL3 D3ADRL2 D3ADRL1 D3ADRL0 X X X X X X X X X X X X X X X X R/W reserved Ch.3 transfer data size D) Ch.3 source address control S) Ch.3 memory address control EPSON - 1 Half word S3IN[1:0] 1 1 1 0 0 1 0 0 0 Byte Inc/dec Inc.(no init) Inc.(init) Dec.(no init) Fixed S1C33T01 FUNCTION PART V DMA BLOCK: HSDMA (High-Speed DMA) Table 2.5 Control Bits of HSDMA (continue) Register name Address Bit Name High-speed 004825A DMA Ch.3 (HW) high-order destination address set-up register DF DE D3MOD1 D3MOD0 Ch.3 transfer mode DD DC D3IN1 D3IN0 D) Ch.3 destination address control S) Invalid DB DA D9 A8 D7 D6 D5 D4 D3 D2 D1 D0 D3ADRH11 D) Ch.3 destination D3ADRH10 address[27:16] D3ADRH9 S) Invalid D3ADRH8 D3ADRH7 D3ADRH6 D3ADRH5 D3ADRH4 D3ADRH3 D3ADRH2 D3ADRH1 D3ADRH0 Note: D) Dual address mode S) Single address mode Function High-speed 004825C DF-1 - DMA Ch.3 (HW) D0 HS3_EN enable register reserved High-speed DMA Ch.3 trigger flag register reserved 004825E DF-1 - (HW) D0 HS3_TF Setting D3MOD[1:0] 1 1 1 0 0 1 0 0 D3IN[1:0] 1 1 1 0 0 1 0 0 Mode Invalid Block Successive Single Inc/dec Inc.(no init) Inc.(init) Dec.(no init) Fixed - Ch.3 enable 1 Enable 0 Disable - Ch.3 trigger flag clear (writing) Ch.3 trigger flag status (reading) 1 Clear 1 Set 0 No operation 0 Cleared Init. R/W 0 0 R/W 0 0 R/W X X X X X X X X X X X X R/W - - 0 R/W - - 0 R/W Remarks Undefined in read. Undefined in read. CFK51-CFK50: K5[1:0] pin function selection (D[1:0]) / K5 function select register (0x402C0) CFK54-CFK53: K5[4:3] pin function selection (D[4:3]) / K5 function select register (0x402C0) Set the #DMAREQx pin of HSDMA. Write "1": #DMAREQx input Write "0": Input port Read: Valid CFK50, CFK51, CFK53 and CFK54 are the function select bits for K50 (#DMAREQ0), K51 (#DMAREQ1), K53 (#DMAREQ2) and K54 (#DMAREQ3), respectively. When using the #DMAREQx signal, write "1" to CFK5x to set the K5x port for inputting the signal. If this bit is set to "0", the pin is set for an input port. At cold start, CFK5x is set to "0" (input port). At hot start, CFK5x retains the previous status before an initial reset. CFP16-CFP15: P1[6:5] pin function selection (D[6:5]) / P1 function select register (0x402D4) Set the #DMAENDx pin of HSDMA. Write "1": #DMAENDx output Write "0": I/O port Read: Valid When using the #DMAEND0 signal, set the P15 pin for the #DMAEND0 output pin by writing "1" to CFP15. Similarly, when using the #DMAEND1 signal, set the P16 pin for the #DMAEND1 output pin by writing "1" to CFP16. Furthermore, direct these pins for output by writing "1" to the corresponding I/O control register. If CFP1x is set to "0", the pin is set for an I/O port. At cold start, CFP1x is set to "0" (I/O port). At hot start, CFP1x retains the previous status before an initial reset. S1C33T01 FUNCTION PART EPSON B-V-2-27 V DMA BLOCK: HSDMA (High-Speed DMA) IOC16-IOC15: P1[6:5] port I/O control (D[6:5]) / P1 I/O control register (0x402D6) Direct the I/O port for input or output. Write "1": Output mode Write "0": Input mode Read: Valid To use the #DMAEND0 pin (channel 0), direct the pin for output by writing "1" to IOC15; to use the #DMAEND1 pin (channel 1), direct the pin for output by writing "1" to IOC16. If these pins are set for input, the P15 and P16 pins do not function as the #DMAENDx output pins even when CFP15 and CFP16 are set to "1". At cold start, IOC1x is set to "0" (input mode). At hot start, IOC1x retains the previous state before an initial reset. CFP33-CFP32: P3[3:2] pin function selection (D[3:2]) / P3 function select register (0x402DC) Set the #DMAACKx pin of HSDMA. Write "1": #DMAACKx output Write "0": I/O port Read: Valid When using the #DMAACK0 signal, set the P32 pin for the #DMAACK0 output pin by writing "1" to CFP32. Similarly, when using the #DMAACK1 signal, set the P33 pin for the #DMAACK1 output pin by writing "1" to CFP33. If CFP3x is set to "0", the pin is set for an I/O port. At cold start, CFP3x is set to "0" (I/O port). At hot start, CFP3x retains the previous status before an initial reset. CFEX7-CFEX4: P0[7:4] function extension (D[7:4]) / Port function extension register (0x402DF) Set the #DMAACKx and #DMAENDx pins of HSDMA. Write "1": HSDMA output pin Write "0": I/O-port/serial interface I/O pin Read: Valid CFEX4, CFEX5, CFEX6 and CFEX7 are the function extention bits for P04 (#DMAACK2), P05 (#DMAEND2), P06 (#DMAACK3) and P07 (#DMAEND3), respectively. When using the HSDMA signal, write "1" to CFEXx to set the P0x port for outputting the signal. When CFEXx is set to "0", the corresponding CFP bit becomes effective. At cold start, these bits are set to "0" (I/O-port/serial interface I/O pin). At hot start, these bits retain the previous status before an initial reset. B-V-2-28 EPSON S1C33T01 FUNCTION PART V DMA BLOCK: HSDMA (High-Speed DMA) HSD0S3-HSD0S0: Ch. HSD1S3-HSD1S0: Ch. HSD2S3-HSD2S0: Ch. HSD3S3-HSD3S0: Ch. 0 1 2 3 trigger set-up trigger set-up trigger set-up trigger set-up (D[3:0]) / HSDMA Ch. (D[7:4]) / HSDMA Ch. (D[3:0]) / HSDMA Ch. (D[7:4]) / HSDMA Ch. 0/1 trigger set-up register (0x40298) 0/1 trigger set-up register (0x40298) 2/3 trigger set-up register (0x40299) 2/3 trigger set-up register (0x40299) Select a trigger factor for each HSDMA channel. Table 2.6 HSDMA Trigger Factor Value 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 Ch.0 trigger factor Ch.1 trigger factor Ch.2 trigger factor Software trigger Ch.3 trigger factor Software trigger Software trigger Software trigger K50 port input (falling edge) K51 port input (falling edge) K53 port input (falling edge) K54 port input (falling edge) K50 port input (rising edge) K51 port input (rising edge) K53 port input (rising edge) K54 port input (rising edge) Port 0 input Port 1 input Port 2 input Port 3 input Port 4 input Port 5 input Port 6 input Port 7 input 8-bit timer 0 underflow 8-bit timer 1 underflow 8-bit timer 2 underflow 8-bit timer 3 underflow 16-bit timer 0 compare B 16-bit timer 1 compare B 16-bit timer 2 compare B 16-bit timer 3 compare B 16-bit timer 0 compare A 16-bit timer 1 compare A 16-bit timer 2 compare A 16-bit timer 3 compare A 16-bit timer 4 compare B 16-bit timer 5 compare B 16-bit timer 4 compare B 16-bit timer 5 compare B 16-bit timer 4 compare A 16-bit timer 5 compare A 16-bit timer 4 compare A 16-bit timer 5 compare A Serial I/F Ch.0 Rx buffer full Serial I/F Ch.1 Rx buffer full Serial I/F Ch.0 Rx buffer full Serial I/F Ch.1 Rx buffer full Serial I/F Ch.0 Tx buffer empty Serial I/F Ch.1 Tx buffer empty Serial I/F Ch.0 Tx buffer empty Serial I/F Ch.1 Tx buffer empty A/D conversion completion A/D conversion completion A/D conversion completion A/D conversion completion Single-master I2C-bus Ch.0 read DMA request Single-master I2C-bus Ch.1 read DMA request Single-master I2C-bus Ch.0 read DMA request Single-master I2C-bus Ch.1 read DMA request 1110 Single-master I2C-bus Ch.0 Single-master I2C-bus Ch.1 write DMA request Single-master I2C-bus Ch.0 write DMA request Single-master I2C-bus Ch.1 write DMA request write DMA request At initial reset, HSDxS is set to "0000" (software trigger). HST0: Ch. HST1: Ch. HST2: Ch. HST3: Ch. 0 1 2 3 software software software software trigger (D0) / HSDMA software trigger register (0x4029A) trigger (D1) / HSDMA software trigger register (0x4029A) trigger (D2) / HSDMA software trigger register (0x4029A) trigger (D3) / HSDMA software trigger register (0x4029A) Start a DMA transfer. Write "1": Trigger Write "0": Invalid Read: Invalid Writing "1" to HSTx generates a trigger pulse that starts a DMA transfer. HSTx is effective only when software trigger is selected as the trigger factor of the HSDMA channel by the HSDxS bits. At initial reset, HSTx is set to "0". HS0_TF: Ch. HS1_TF: Ch. HS2_TF: Ch. HS3_TF: Ch. 0 1 2 3 trigger flag clear/status trigger flag clear/status trigger flag clear/status trigger flag clear/status (D0) / HSDMA Ch. (D0) / HSDMA Ch. (D0) / HSDMA Ch. (D0) / HSDMA Ch. 0 1 2 3 trigger flag register trigger flag register trigger flag register trigger flag register (0x4022E) (0x4023E) (0x4024E) (0x4025E) These bits are used to check and clear the trigger flag status. Write "1": Write "0": Read "1": Read "0": Trigger flag clear Invalid Trigger flag has been set Trigger flag has been cleared The trigger flag is set when the trigger factor is input to the HSDMA channel and is cleared when the HSDMA channel starts a data transfer. By reading HSx_TF, the flag status can be checked. Writing "1" to HSx_TF clears the trigger flag if the DMA transfer has not been started. At initial reset, HSx_TF is set to "0". S1C33T01 FUNCTION PART EPSON B-V-2-29 V DMA BLOCK: HSDMA (High-Speed DMA) HS0_EN: Ch. HS1_EN: Ch. HS2_EN: Ch. HS3_EN: Ch. 0 1 2 3 enable enable enable enable (D0) / HSDMA Ch. (D1) / HSDMA Ch. (D2) / HSDMA Ch. (D3) / HSDMA Ch. 0 1 2 3 enable enable enable enable register register register register (0x4822C) (0x4823C) (0x4824C) (0x4825C) Enable a DMA transfer. Write "1": Enabled Write "0": Disabled Read: Valid DMA transfer is enabled by writing "1" to this bit. HSDMA is placed in a state ready to accept a DMA request from the #DMAREQx pin or by the selected trigger factor. DMA transfer is disabled by writing "0" to this bit. When DMA transfers are completed (transfer counter = 0), HSx_EN is cleared by the hardware. Be sure to disable DMA transfers (HSx_EN = "0") before setting the transfer condition. At initial reset, HSx_EN is set to "0" (disabled). DUALM0: Ch. DUALM1: Ch. DUALM2: Ch. DUALM3: Ch. 0 1 2 3 address address address address mode selection mode selection mode selection mode selection (DF) / HSDMA Ch. (DF) / HSDMA Ch. (DF) / HSDMA Ch. (DF) / HSDMA Ch. 0 1 2 3 control control control control register register register register (0x48222) (0x48232) (0x48242) (0x48252) Select an address mode. Write "1": Dual-address mode Write "0": Single-address mode Read: Valid When "1" is written to DUALMx, the HSDMA channel enters dual-address mode that allows specification of source and destination addresses. When "0" is written, the HSDMA channel enters single-address mode for high-speed data transfer between the external memory and an I/O device. At initial reset, DUALMx is set to "0" (single-address mode). D0DIR: Ch. D1DIR: Ch. D2DIR: Ch. D3DIR: Ch. 0 1 2 3 transfer direction transfer direction transfer direction transfer direction control control control control (DE) / HSDMA Ch.0 (DE) / HSDMA Ch.1 (DE) / HSDMA Ch.2 (DE) / HSDMA Ch.3 control control control control register (0x48222) register (0x48232) register (0x48242) register (0x48252) Control the direction of data transfer in single-address mode. Write "1": Memory write (I/O to memory) Write "0": Memory read (memory to I/O) Read: Valid Data transfer from an external I/O device to external memory is performed by writing "1" to DxDIR. Data transfer from external memory to an external I/O is performed by writing "0". At initial reset, DxDIR is set to "0" (memory to I/O). This bit is effective only in single-address mode. B-V-2-30 EPSON S1C33T01 FUNCTION PART V DMA BLOCK: HSDMA (High-Speed DMA) D0MOD1-D0MOD0: Ch. 0 transfer mode (D[F:E]) / Ch. 0 high-order destination address set-up register (0x4822A) D1MOD1-D1MOD0: Ch. 1 transfer mode (D[F:E]) / Ch. 1 high-order destination address set-up register (0x4823A) D2MOD1-D2MOD0: Ch. 2 transfer mode (D[F:E]) / Ch. 2 high-order destination address set-up register (0x4824A) D3MOD1-D3MOD0: Ch. 3 transfer mode (D[F:E]) / Ch. 3 high-order destination address set-up register (0x4825A) Select a transfer mode. Table 2.7 Transfer Mode DxMOD1 DxMOD0 1 1 0 0 1 0 1 0 Mode Invalid Block transfer mode Successive transfer mode Single transfer mode In single transfer mode, a transfer operation invoked by one trigger is completed after transferring one unit of data of the size set by DATSIZEx. In successive transfer mode, data transfer operations are performed by one trigger a number of times as set by the transfer counter. In block transfer mode, a transfer operation invoked by one trigger is completed after transferring one block of data of the size set by BLKLENx. At initial reset, DxMOD is set to "00" (single transfer mode). DATSIZE0: Ch. DATSIZE1: Ch. DATSIZE2: Ch. DATSIZE3: Ch. 0 1 2 3 transfer data size transfer data size transfer data size transfer data size (DE) / Ch. (DE) / Ch. (DE) / Ch. (DE) / Ch. 0 1 2 3 high-order high-order high-order high-order source source source source address address address address register (0x48226) register (0x48236) register (0x48246) register (0x48256) Select the data size to be transferred. Write "1": Half-word (16 bits) Write "0": Byte (8 bits) Read: Valid The transfer data size is set to 16 bits by writing "1" to DATSIZEx and set to 8 bits by writing "0". At initial reset, DATSIZEx is set to "0" (8 bits). S0IN1-S0IN0: Ch. 0 source address control (D[D:C]) / Ch. 0 high-order source address set-up register (0x48226) S1IN1-S1IN0: Ch. 1 source address control (D[D:C]) / Ch. 1 high-order source address set-up register (0x48236) S2IN1-S2IN0: Ch. 2 source address control (D[D:C]) / Ch. 2 high-order source address set-up register (0x48246) S3IN1-S3IN0: Ch. 3 source address control (D[D:C]) / Ch. 3 high-order source address set-up register (0x48256) Control the incrementing or decrementing of the memory address. Table 2.8 Address Control SxIN1 SxIN0 1 1 0 0 1 0 1 0 Address control Increment without initialization Increment with initialization Decrement without initialization Fixed In dual-address mode, this setting applies to the source address. In single-address mode, this setting applies to the external memory address. When "address fixed" (00) is selected, the source address is not changed by a data transfer performed. Even when transferring multiple data, the transfer data is always read from the same address. When "address increment" (11 or 10) is selected in single and successive transfer modes, the source address is incremented by an amount equal to the data size set by DATSIZEx when one data transfer is completed. When "address decrement" (01) is selected, the source address is decremented in the same way. In block transfer mode too, the source address is incremented or decremented when one data unit is transferred. However, if SxIN is set to "10", the source address that has been incremented during a block transfer recycles back to the initial value when the block transfer is completed. At initial reset, SxIN is set to "00" (Fixed). S1C33T01 FUNCTION PART EPSON B-V-2-31 V DMA BLOCK: HSDMA (High-Speed DMA) D0IN1-D0IN0: Ch. 0 destination address control (D[D:C]) / Ch. 0 high-order destination address set-up register (0x4822A) D1IN1-D1IN0: Ch. 1 destination address control (D[D:C]) / Ch. 1 high-order destination address set-up register (0x4823A) D2IN1-D2IN0: Ch. 2 destination address control (D[D:C]) / Ch. 2 high-order destination address set-up register (0x4824A) D3IN1-D3IN0: Ch. 3 destination address control (D[D:C]) / Ch. 3 high-order destination address set-up register (0x4825A) Control the incrementing or decrementing of the memory address. Table 2.9 Address Control DxIN1 DxIN0 1 1 0 0 1 0 1 0 Address control Increment without initialization Increment with initialization Decrement without initialization Fixed In dual-address mode, this setting applies to the destination address. In single-address mode, these bits are not used. When "address fixed" (00) is selected, the destination address is not changed by a data transfer performed. Even when transferring multiple data, the transfer data is always written to the same address. When "address increment" (11 or 10) is selected in single and successive transfer modes, the destination address is incremented by an amount equal to the data size set by DATSIZEx when one data transfer is completed. When "address decrement" (01) is selected, the destination address is decremented in the same way. In block transfer mode too, the destination address is incremented or decremented when one data unit is transferred. However, if DxIN is set to "10", the destination address that has been incremented during a block transfer recycles back to the initial value when the block transfer is completed. At initial reset, DxIN is set to "00" (Fixed). BLKLEN07-BLKLEN00: Ch. 0 block length/transfer counter[7:0] (D[7:0]) / Ch. 0 transfer counter register (0x48220) BLKLEN17-BLKLEN10: Ch. 1 block length/transfer counter[7:0] (D[7:0]) / Ch. 1 transfer counter register (0x48230) BLKLEN27-BLKLEN20: Ch. 2 block length/transfer counter[7:0] (D[7:0]) / Ch. 2 transfer counter register (0x48240) BLKLEN37-BLKLEN30: Ch. 3 block length/transfer counter[7:0] (D[7:0]) / Ch. 3 transfer counter register (0x48250) In block transfer mode, these bits are used to specify a transfer block size. A transfer operation invoked by one trigger is completed after transferring one block of data of the size set by BLKLENx. In single or successive transfer mode, these bits are used to specifythe 8 low-order bits of the transfer counter. At initial reset, these bits are not initialized. TC0_L7-TC0_L0: Ch. 0 TC0_H7-TC0_H0: Ch. 0 TC1_L7-TC1_L0: Ch. 1 TC1_H7-TC1_H0: Ch. 1 TC2_L7-TC2_L0: Ch. 2 TC2_H7-TC2_H0: Ch. 2 TC3_L7-TC3_L0: Ch. 3 TC3_H7-TC3_H0: Ch. 3 transfer counter[7:0]/[15:8] (D[F:8]) / Ch. 0 transfer counter register (0x48220) transfer counter[15:8]/[23:16] (D[F:8]) / Ch. 0 control register (0x48222) transfer counter[7:0]/[15:8] (D[F:8]) / Ch. 1 transfer counter register (0x48230) transfer counter[15:8]/[23:16] (D[F:8]) / Ch. 1 control register (0x48232) transfer counter[7:0]/[15:8] (D[F:8]) / Ch. 2 transfer counter register (0x48240) transfer counter[15:8]/[23:16] (D[F:8]) / Ch. 2 control register (0x48242) transfer counter[7:0]/[15:8] (D[F:8]) / Ch. 3 transfer counter register (0x48250) transfer counter[15:8]/[23:16] (D[F:8]) / Ch. 3 control register (0x48252) Set the data transfer count. In block transfer mode, TCx_L[7:0] is bits[7:0] of the transfer counter, and TCx_H[7:0] is bits[15:8] of the transfer counter. In single or successive transfer mode, TCx_L[7:0] is bits[15:8] of the transfer counter, and TCx_H[7:0] is bits[23:16] of the transfer counter. The 8 low-order bits are specified by BLKLENx[7:0]. This counter is decremented each time a DMA transfer in the corresponding channel is performed. When the counter reaches 0, an interrupt factor is generated. In single-address mode, the end-of-transfer signal is output from the #DMAENDx pin at the same time. Even when the counter is 0, a DMA request is accepted and the counter is decremented to "0xFFFF" (or "0xFFFFFF"). Be sure to disable DMA transfers (HSx_EN = "0") before writing and reading to and from the counter. At initial reset, these bits are not initialized. B-V-2-32 EPSON S1C33T01 FUNCTION PART V DMA BLOCK: HSDMA (High-Speed DMA) S0ADRL15-S0ADRL0: Ch. 0 source address[15:0] (D[F:0]) / Ch. 0 low-order source address set-up register (0x48224) S0ADRH11-S0ADRH0: Ch. 0 source address[27:16] (D[B:0]) / Ch. 0 high-order source address set-up register (0x48226) S1ADRL15-S1ADRL0: Ch. 1 source address[15:0] (D[F:0]) / Ch. 1 low-order source address set-up register (0x48234) S1ADRH11-S1ADRH0: Ch. 1 source address[27:16] (D[B:0]) / Ch. 1 high-order source address set-up register (0x48236) S2ADRL15-S2ADRL0: Ch. 2 source address[15:0] (D[F:0]) / Ch. 2 low-order source address set-up register (0x48244) S2ADRH11-S2ADRH0: Ch. 2 source address[27:16] (D[B:0]) / Ch. 2 high-order source address set-up register (0x48246) S3ADRL15-S3ADRL0: Ch. 3 source address[15:0] (D[F:0]) / Ch. 3 low-order source address set-up register (0x48254) S3ADRH11-S3ADRH0: Ch. 3 source address[27:16] (D[B:0]) / Ch. 3 high-order source address set-up register (0x48256) In dual-address mode, these bits are used to specify a source address. In single-address mode, an external memory address at the destination or source of transfer is specified. Use SxADRL to set the 16 low-order bits of the address and SxADRH to set the 12 high-order bits. Be sure to disable DMA transfers (HSx_EN = "0") before writing or reading to and from these registers. The address is incremented or decremented (as set by SxIN) according to the transfer data size each time a DMA transfer in the corresponding channel is performed. At initial reset, these bits are not initialized. D0ADRL15-D0ADRL0: Ch. 0 destination address[15:0] (D[F:0]) / Ch. 0 low-order destination address set-up register (0x48228) D0ADRH11-D0ADRH0: Ch. 0 destination address[27:16] (D[B:0]) / Ch. 0 high-order destination address set-up register (0x4822A) D1ADRL15-D1ADRL0: Ch. 1 destination address[15:0] (D[F:0]) / Ch. 1 low-order destination address set-up register (0x48238) D1ADRH11-D1ADRH0: Ch. 1 destination address[27:16] (D[B:0]) / Ch. 1 high-order destination address set-up register (0x4823A) D2ADRL15-D2ADRL0: Ch. 2 destination address[15:0] (D[F:0]) / Ch. 2 low-order destination address set-up register (0x48248) D2ADRH11-D2ADRH0: Ch. 2 destination address[27:16] (D[B:0]) / Ch. 2 high-order destination address set-up register (0x4824A) D3ADRL15-D3ADRL0: Ch. 3 destination address[15:0] (D[F:0]) / Ch. 3 low-order destination address set-up register (0x48258) D3ADRH11-D3ADRH0: Ch. 3 destination address[27:16] (D[B:0]) / Ch. 3 high-order destination address set-up register (0x4825A) In dual-address mode, these bits are used to specify a destination address. In single-address mode, these bits are not used. Be sure to disable DMA transfers (HSx_EN = "0") before writing or reading to and from these registers. The address is incremented or decremented (as set by DxIN) according to the transfer data size each time a DMA transfer in the corresponding channel is performed. At initial reset, these bits are not initialized. S1C33T01 FUNCTION PART EPSON B-V-2-33 V DMA BLOCK: HSDMA (High-Speed DMA) PHSD0L2-PHSD0L0: Ch. PHSD1L2-PHSD1L0: Ch. PHSD2L2-PHSD2L0: Ch. PHSD3L2-PHSD3L0: Ch. 0 1 2 3 interrupt interrupt interrupt interrupt level level level level (D[2:0]) / HSDMA Ch. 0/1 interrupt priority register (0x40263) (D[6:4]) / HSDMA Ch. 0/1 interrupt priority register (0x40263) (D[2:0]) / HSDMA Ch. 2/3 interrupt priority register (0x40264) (D[6:4]) / HSDMA Ch. 2/3 interrupt priority register (0x40264) Set the priority level of an end-of-DMA interrupt in the range of 0 to 7. At initial reset, these registers become indeterminate. EHDM0: EHDM1: EHDM2: EHDM3: Ch. Ch. Ch. Ch. 0 1 2 3 interrupt interrupt interrupt interrupt enable enable enable enable (D0) / DMA interrupt (D1) / DMA interrupt (D2) / DMA interrupt (D3) / DMA interrupt enable enable enable enable register (0x40271) register (0x40271) register (0x40271) register (0x40271) Enable or disable interrupt generation to the CPU. Write "1": Interrupt enabled Write "0": Interrupt disabled Read: Valid EHDMx is the interrupt enable bit for HSDMA channel x. The interrupt is enabled when EHDMx is set to "1" and disabled when EHDMx is set to "0". At initial reset, EHDMx is set to "0" (interrupt disabled). FHDM0: FHDM1: FHDM2: FHDM3: Ch. Ch. Ch. Ch. 0 1 2 3 interrupt interrupt interrupt interrupt factor flag (D0) / DMA interrupt factor flag (D1) / DMA interrupt factor flag (D2) / DMA interrupt factor flag (D3) / DMA interrupt factor flag register (0x40281) factor flag register (0x40281) factor flag register (0x40281) factor flag register (0x40281) Indicate the occurrence status of HSDMA interrupt factor. When read Read "1": Interrupt factor generated Read "0": No interrupt factor generated When written using the reset-only method (default) Write "1": Factor flag is reset Write "0": Invalid When written using the read/write method Write "1": Factor flag is set Write "0": Factor flag is reset FHDMx is the interrupt factor flag for HSDMA channel x. These flags are set to "1" when the transfer counter reaches 0. An interrupt to the CPU is generated if the following conditions are met at this time: 1. The corresponding interrupt enable register is set to "1". 2. No other interrupt request of higher priority is generated. 3. The IE bit of the PSR is set to "1" (interrupt enable). 4. The corresponding interrupt priority register is set to a level higher than the CPU's interrupt level (IL). When using an interrupt factor to request IDMA, note that even when the above conditions are met, no interrupt request to the CPU is generated for the interrupt factor that has occurred. If interrupts are enabled at the setting of the IDMA side, an interrupt is generated under the above conditions after the data transfer by IDMA is completed. The interrupt factor flag is always set to "1" when an interrupt factor occurs no matter how the interrupt enable and interrupt priority registers are set. In order for the next interrupt to be accepted after interrupt generation, the interrupt factor flag must be reset and the PSR must be set up again (by setting the IL below the level indicated by the interrupt priority register and setting the IE bit to "1" or executing the reti instruction). The interrupt factor flag can only be reset by a write instruction in the software application. If the PSR is again set up to accept interrupts (or the reti instruction is executed) without resetting the interrupt factor flag, the same interrupt may occur again. Note also that the value to be written to reset the flag is "1" when using the reset-only method (RSTONLY = "1") and "0" when using the read/write method (RSTONLY = "0"). Be careful not to confuse these two cases. B-V-2-34 EPSON S1C33T01 FUNCTION PART V DMA BLOCK: HSDMA (High-Speed DMA) The FHDMx flag becomes indeterminate when initially reset, so be sure to reset the flag in the software application. RHDM0: Ch.0 IDMA request (D4) / Port input 0-3, HSDMA, 16-bit timer 0 IDMA request register (0x40290) RHDM1: Ch.1 IDMA request (D5) / Port input 0-3, HSDMA, 16-bit timer 0 IDMA request register (0x40290) Specify whether IDMA need to be invoked when an interrupt factor occurs. When using the set-only method (default) Write "1": IDMA request Write "0": Not changed Read: Valid When using the read/write method Write "1": IDMA request Write "0": Interrupt request Read: Valid RHDM0 and RHDM1 are the IDMA request bits for HSDMA channels 0 and 1, respectively. If the bit is set to "1", IDMA is invoked when an interrupt factor occurs, thus performing a programmed data transfer. If the register is set to "0", regular interrupt processing is performed without ever invoking IDMA. For details on IDMA, refer to "IDMA (Intelligent DMA)". At initial reset, RHDMx is set to "0" (interrupt request). DEHDM0: Ch.0 IDMA enable (D4) / Port input 0-3, HSDMA, 16-bit timer 0 IDMA enable register (0x40294) DEHDM1: Ch.1 IDMA enable (D5) / Port input 0-3, HSDMA, 16-bit timer 0 IDMA enable register (0x40294) Enables IDMA transfer by means of an interrupt factor. When using the set-only method (default) Write "1": IDMA enabled Write "0": Not changed Read: Valid When using the read/write method Write "1": IDMA enabled Write "0": IDMA disabled Read: Valid DEHDM0 and DEHDM1 are the IDMA enable bits for HSDMA channels 0 and 1, respectively. If DEHDMx is set to "1", the IDMA request by the interrupt factor is enabled. If the bit is set to "0", the IDMA request is disabled. At initial reset, DEHDMx is set to "0" (IDMA disabled). S1C33T01 FUNCTION PART EPSON B-V-2-35 V DMA BLOCK: HSDMA (High-Speed DMA) Programming Notes (1) When setting the transfer conditions, always make sure the DMA controller is inactive (HSx_EN = "0"). (2) After an initial reset, the interrupt factor flag (FHDMx) becomes indeterminate. Always be sure to reset the flag to prevent interrupts or IDMA requests from being generated inadvertently. (3) To prevent an interrupt from being generated repeatedly for the same factor, be sure to reset the interrupt factor flag before setting up the PSR again or executing the reti instruction. (4) The HSDMA function is set to a higher priority level for simultaneously occurring interrupts than IDMA (intelligent DMA) and the CPU. However, since HSDMA and IDMA share the same circuit, HSDMA cannot gain the bus ownership while an IDMA transfer is under way. Requests for HSDMA invocation that have occurred during an IDMA transfer are kept pending until the IDMA transfer is completed. A request for IDMA invocation or an interrupt request that has occurred during a HSDMA transfer are accepted after completion of the HSDMA transfer. (5) In HALT mode, since the DMA and BCU clocks operate, if the next operation is performed in HALT mode, not HALT2 mode, with a setting of 0 in clock option register HLT20 (0x0040190 bit 3), that operation will be an unpredictable erroneous operation. If a DMA trigger occurs and DMA is invoked while the CPU is stopped after HALT mode execution, erroneous operation will result. Ensure that DMA is not invoked in HALT mode. In HALT2 mode, DMA is not invoked since the DMA and BCU clocks are stopped. B-V-2-36 EPSON S1C33T01 FUNCTION PART V DMA BLOCK: IDMA (Intelligent DMA) V-3 IDMA (Intelligent DMA) Functional Outline of IDMA The DMA Block contains an intelligent DMA (IDMA), a function that allows control information to be programmed in RAM. Up to 128 channels can be programmed, including 31 channels that are invoked by an interrupt factor that occurs in some internal peripheral circuit. Although an additional overhead for loading and storing control information in RAM may be incurred, this intelligent DMA supports such functions as successive transfers, block transfers, and linking to another IDMA. IDMA is invoked by an interrupt factor that occurs in some internal peripheral circuit or a software trigger, thereby performing a data transfer according to the control information in RAM. When the transfer is completed, IDMA can generate an interrupt or invoke another IDMA according to link settings. Programming Control Information The intelligent DMA operates according to the control information prepared in RAM. The control information can be stored in either internal RAM or external RAM should the necessary area be allocated. The control information is 3 words (12 bytes) per channel in size, and must be located at contiguous addresses beginning with the base address that is set in the software application as the starting address of channel 0. Consequently, an area of 384 words (1,536 bytes) in RAM is required in order for all of 128 channels to be used. The following explains how to set the base address and the contents of control information. Before using IDMA, make each the settings described below. Setting the base address Set the starting address of control information (starting address of channel 0) in the IDMA base address register. 16 low-order bits: DBASEL[15:0](D[15:0]) / IDMA base address low-order register (0x48200) 12 high-order bits: DBASEH[11:0](D[11:0]) / IDMA base address high-order register (0x48202) When initially reset, the base address is set to 0x0C003A0. Notes: * The address you set in the IDMA base address register must always be a word (32-bit) boundary address. * Be sure to disable DMA transfers (IDMAEN = "0") before setting the base address. Writing to the IDMA base address register is ignored when the DMA transfer is enabled (IDMAEN = "1"). When the register is read, the read data is indeterminate. Control information Write the control information for the IDMA channels used to RAM. The addresses at which the control information of each channel is placed are determined by the base address and a channel number. Starting address of channel = base address + (channel number x 12 [bytes]) Note: The control information must be written only when the channel to be set does not start a DMA transfer. If a DMA transfer starts when the control information is being written to the RAM, proper transfer cannot performed. Reading the control information can always be done. S1C33T01 FUNCTION PART EPSON B-V-3-1 V DMA BLOCK: IDMA (Intelligent DMA) The contents of control information (3 words) in each channel are shown in the table below. Table 3.1 IDMA Control Information Word 1st Bit D31 D30-24 D23-8 D7-0 2nd 3rd D31 D30 D29-28 D27-0 D31-30 D29-28 D27-0 Name Function LNKEN IDMA link enable "1" = Enabled, "0" = Disabled LNKCHN[6:0] IDMA link field TC[15:0] Transfer counter (block transfer mode) Transfer counter - high-order 16 bits (single or successive transfer mode) BLKLEN[7:0] Block size (block transfer mode) Transfer counter - low-order 8 bits (single or successive transfer mode) DINTEN End-of-transfer interrupt enable "1" = Enabled, "0" = Disabled DATSIZ Data size control "1" = Half-word, "0" = Byte SRINC[1:0] Source address control SRINC1 SRINC0 Setting contents 1 1 Address incremented (In block transfer mode, the transfer address is updated without reset using the initial value.) 1 0 Address incremented (In block transfer mode, the transfer address is updated with the initial value.) 0 1 Address decremented (In block transfer mode, the transfer address is updated without reset using the initial value.) 0 0 Address fixed SRADR[27:0] Source address DMOD[1:0] Transfer mode (Do not set to "11".) DMOD1 DMOD0 Setting contents 1 0 Block transfer mode 0 1 Successive transfer mode 0 0 Single transfer mode DSINC[1:0] Destination address control DSINC1 DSINC0 Setting contents 1 1 Address incremented (In block transfer mode, the transfer address is updated without reset using the initial value.) 1 0 Address incremented (In block transfer mode, the transfer address is updated with the initial value.) 0 1 Address decremented (In block transfer mode, the transfer address is updated without reset using the initial value.) 0 0 Address fixed DSADR[27:0] Destination address LNKEN: IDMA link enable (D31/1st Word) If this bit remains set (= "1"), the IDMA channel that is set in the IDMA link field is invoked after the completion of a DMA transfer in this channel. DMA transfers in multiple channels can be performed successively by merely triggering the first channel to be executed. There is no limit to the number of channels linked. Set this link in order of the IDMA channels you want to be executed. If this bit is "0", IDMA is completed by merely executing a DMA transfer in this channel. LNKCHN[6:0]: IDMA link field (D[30:24]/1st Word) If you want IDMA to be linked, set the channel numbers (0 to 127) to be executed next. The data in this field is valid only when LINKEN = "1". TC[15:0]: Transfer counter (D[23:8]/1st Word) In block transfer mode, a transfer count can be specified using up to 16 bits. Set this value here. In single transfer and successive transfer modes, a transfer count can be specified using up to 24 bits. Set a 16-bit high-order value here. B-V-3-2 EPSON S1C33T01 FUNCTION PART V DMA BLOCK: IDMA (Intelligent DMA) BLKLEN[7:0]: Block size/transfer counter (D[7:0]/1st Word) In block transfer mode, set the size of a block that is transferred in one operation (in units of DATSIZ). In single transfer and successive transfer modes, set an 8-bit low-order value for the transfer count here. Note: The transfer count and block size thus set are decremented according to the transfers performed. If the transfer count or block size is set to 0, it is decremented to all Fs by the first transfer performed. This means that you have set the maximum value that is determined by the number of bits available. DINTEN: End-of-transfer interrupt enable (D31/2nd Word) If this bit is left set (= "1"), when the transfer counter reaches 0, an interrupt request to the CPU is generated based on the interrupt factor flag by which IDMA has been invoked. If this bit is "0", no interrupt request to the CPU is generated even when the transfer counter has reached 0. DATSIZ: Data size control (D30/2nd Word) Set the unit size of data to be transferred. A half-word size (16 bits) is assumed if this bit is "1" and a byte size (8 bits) is assumed if this bit is "0". SRINC[1:0]: Source address control (D[29:28]/2nd Word) Set the source address updating format. If the format is set for "address fixed" (00), the source address is not changed by a data transfer performed. Even when transferring multiple data, the transfer data is always read from the same address. If the format is set for "address increment" (11 or 10) in single and successive transfer modes, the source address is incremented by an amount equal to the data size set by DATSIZ when one data transfer is completed. If the format is set for "address decrement" (01), the source address is decremented in the same way. In block transfer mode too, the source address is incremented or decremented when one data unit is transferred. However, if the set format is "10", the source address that has been incremented during a block transfer recycles back to the initial value when the block transfer is completed. SRADR[27:0]: Source address (D[27:0]/2nd Word) Use these bits to set the starting address at the source of transfer. The content set here is updated according to the setting of SRINC. DMOD[1:0]: Transfer mode (D[31:30]/3rd Word) Use these bits to set the desired transfer mode. The transfer modes are outlined below (to be detailed later): * Single transfer mode (00) In this mode, a transfer operation invoked by one trigger is completed after transferring one unit of data of the size set by DATSIZ. If data transfer need to be performed a number of times as set by the transfer counter, an equal number of triggers are required. * Successive transfer mode (01) In this mode, data transfer operations are performed by one trigger a number of times as set by the transfer counter. The transfer counter is decremented to 0 each time data is transferred. * Block transfer mode (10) In this mode, a transfer operation invoked by one trigger is completed after transferring one block of data of the size set by BLKLEN. If a block transfer need to be performed a number of times as set by the transfer counter, an equal number of triggers are required. S1C33T01 FUNCTION PART EPSON B-V-3-3 V DMA BLOCK: IDMA (Intelligent DMA) DSINC[1:0]: Destination address control (D[29:28]/3rd Word) Set the destination address update format. If the format is set for "address fixed" (00), the destination address is not changed by the performance of a data transfer operation. Even when transferring multiple data, the transfer data is always written to the same address. If the format is set for "address increment" (11 or 10) in single and successive transfer modes, the destination address is incremented by an amount equal to the data size set by DATSIZ when one data transfer is completed. If the format is set for "address decrement" (01), the destination address is decremented in the same way. In block transfer mode as well, the destination address is incremented or decremented when one data unit is transferred. However, if the set format is "10", the destination address that has been incremented during a block transfer recycles back to the initial value when the block transfer is completed. DSADR[27:0]: Destination address (D[27:0]/3rd Word) Use these bits to set the starting address at the destination of transfer. The content set here is updated according to the setting of DSINC. Since the control information is placed in RAM, it can be rewritten. However, before rewriting the content of this information, make sure that no DMA transfer is generated in the channel whose information you are going to rewrite. B-V-3-4 EPSON S1C33T01 FUNCTION PART V DMA BLOCK: IDMA (Intelligent DMA) IDMA Invocation The triggers by which IDMA is invoked have the following three causes: 1. Interrupt factor in an internal peripheral circuit 2. Trigger in the software application 3. Link setting Enabling/disabling DMA transfer The IDMA controller is enabled by writing "1" to the IDMA enable bit IDMAEN (D0) / IDMA enable register (0x48205), and is ready to accept the triggers described above. However, before enabling a DMA transfer, be sure to set the base address and the control information for the channel to be invoked correctly. If IDMAEN is set to "0", no IDMA invocation request is accepted. IDMA invocation by an interrupt factor in internal peripheral circuits Some internal peripheral circuits that have an interrupt generating function can invoke IDMA by an interrupt factor in that circuit. The IDMA channel numbers corresponding to such IDMA invocation are predetermined. The relationship between the interrupt factors that have this function and the IDMA channels is shown in Table 3.2. Table 3.2 Interrupt Factors Used to Invoke IDMA Peripheral circuit Ports Interrupt factor Port input 0 Port input 1 Port input 2 Port input 3 High-speed DMA Ch.0, end of transfer Ch.1, end of transfer 16-bit programmable Timer 0 comparison B timer Timer 0 comparison A Timer 1 comparison B Timer 1 comparison A Timer 2 comparison B Timer 2 comparison A Timer 3 comparison B Timer 3 comparison A Timer 4 comparison B Timer 4 comparison A Timer 5 comparison B Timer 5 comparison A 8-bit programmable Timer 0 underflow timer Timer 1 underflow Timer 2 underflow Timer 3 underflow Serial interface Ch.0 receive buffer full Ch.0 transmit buffer empty Ch.1 receive buffer full Ch.1 transmit buffer empty A/D converter End of A/D conversion Ports Port input 4 Port input 5 Port input 6 Port input 7 S1C33T01 FUNCTION PART IDMA Ch. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 EPSON IDMA request bit RP0 (D0/0x40290) RP1 (D1/0x40290) RP2 (D2/0x40290) RP3 (D3/0x40290) RHDM0 (D4/0x40290) RHDM1 (D5/0x40290) R16TU0 (D6/0x40290) R16TC0 (D7/0x40290) R16TU1 (D0/0x40291) R16TC1 (D1/0x40291) R16TU2 (D2/0x40291) R16TC2 (D3/0x40291) R16TU3 (D4/0x40291) R16TC3 (D5/0x40291) R16TU4 (D6/0x40291) R16TC4 (D7/0x40291) R16TU5 (D0/0x40292) R16TC5 (D1/0x40292) R8TU0 (D2/0x40292) R8TU1 (D3/0x40292) R8TU2 (D4/0x40292) R8TU3 (D5/0x40292) RSRX0 (D6/0x40292) RSTX0 (D7/0x40292) RSRX1 (D0/0x40293) RSTX1 (D1/0x40293) RADE (D2/0x40293) RP4 (D4/0x40293) RP5 (D5/0x40293) RP4 (D6/0x40293) RP7 (D7/0x40293) IDMA enable bit DEP0 (D0/0x40294) DEP1 (D1/0x40294) DEP2 (D2/0x40294) DEP3 (D3/0x40294) DEHDM0 (D4/0x40294) DEHDM1 (D5/0x40294) DE16TU0 (D6/0x40294) DE16TC0 (D7/0x40294) DE16TU1 (D0/0x40295) DE16TC1 (D1/0x40295) DE16TU2 (D2/0x40295) DE16TC2 (D3/0x40295) DE16TU3 (D4/0x40295) DE16TC3 (D5/0x40295) DE16TU4 (D6/0x40295) DE16TC4 (D7/0x40295) DE16TU5 (D0/0x40296) DE16TC5 (D1/0x40296) DE8TU0 (D2/0x40296) DE8TU1 (D3/0x40296) DE8TU2 (D4/0x40296) DE8TU3 (D5/0x40296) DESRX0 (D6/0x40296) DESTX0 (D7/0x40296) DESRX1 (D0/0x40297) DESTX1 (D1/0x40297) DEADE (D2/0x40297) DEP4 (D4/0x40297) DEP5 (D5/0x40297) DEP4 (D6/0x40297) DEP7 (D7/0x40297) B-V-3-5 V DMA BLOCK: IDMA (Intelligent DMA) Table 3.2 Peripheral circuit 8-bit programmable timer Serial interface Interrupt Factors Used to Invoke IDMA (continue) Interrupt factor Timer 4 underflow Timer 5 underflow Ch.2 receive buffer full Ch.2 transmit buffer empty Ch.3 receive buffer full Ch.3 transmit buffer empty Ports Port input 8 Port input 9 Port input 10 Port input 11 Port input 12 Port input 13 Port input 14 Port input 15 16-bit programmable Timer 6 comparison B timer Timer 6 comparison A Timer 7 comparison B Timer 7 comparison A Timer 8 comparison B Timer 8 comparison A Timer 9 comparison B Timer 9 comparison A Single master 12C- I2CSMST Ch.0 read DMA bus request I2CSMST Ch.0 write DMA request I2CSMST Ch.1 read DMA request I2CSMST Ch.1 write DMA request IDMA Ch. IDMA request bit IDMA enable bit 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 RP0 (D0/0x40290) RP1 (D1/0x40290) RP2 (D2/0x40290) RP3 (D3/0x40290) RHDM0 (D4/0x40290) RHDM1 (D5/0x40290) R16TU0 (D6/0x40290) R16TC0 (D7/0x40290) R16TU1 (D0/0x40291) R16TC1 (D1/0x40291) R16TU2 (D2/0x40291) R16TC2 (D3/0x40291) R16TU3 (D4/0x40291) R16TC3 (D5/0x40291) R16TC4 (D7/0x40291) R16TU5 (D0/0x40292) R16TC5 (D1/0x40292) R8TU0 (D2/0x40292) R8TU1 (D3/0x40292) R8TU2 (D4/0x40292) R8TU3 (D5/0x40292) RSRX0 (D6/0x40292) RI2CR0 (D0/0x402B3) DEP0 (D0/0x40294) DEP1 (D1/0x40294) DEP2 (D2/0x40294) DEP3 (D3/0x40294) DEHDM0 (D4/0x40294) DEHDM1 (D5/0x40294) DE16TU0 (D6/0x40294) DE16TC0 (D7/0x40294) DE16TU1 (D0/0x40295) DE16TC1 (D1/0x40295) DE16TU2 (D2/0x40295) DE16TC2 (D3/0x40295) DE16TU3 (D4/0x40295) DE16TC3 (D5/0x40295) DE16TC4 (D7/0x40295) DE16TU5 (D0/0x40296) DE16TC5 (D1/0x40296) DE8TU0 (D2/0x40296) DE8TU1 (D3/0x40296) DE8TU2 (D4/0x40296) DE8TU3 (D5/0x40296) DESRX0 (D6/0x40296) DEI2CR0 (D0/0x402B4) 55 RI2CW0 (D1/0x402B3) DE12CW0 (D1/0x402B4) 56 RI2CR1 (D2/0x402B3) DE12CR1 (D2/0x402B4) 57 RI2CW1 (D3/0x402B3) DE12CW1 (D3/0x402B4) These interrupt factors are used in common for interrupt requests and IDMA invocation requests. To invoke IDMA upon the occurrence of an interrupt factor, set the corresponding bits of the IDMA request and IDMA enable registers shown in the table by writing "1". Then when an interrupt factor occurs, an interrupt request to the CPU is kept pending and the corresponding IDMA channel is invoked. The interrupt factor flag that has been set to "1" remains set until the DMA transfer invoked by it is completed. If the following two conditions are met when one DMA transfer is completed, an interrupt request is generated without resetting the interrupt factor flag. * The transfer counter has reached 0. * DINTEN in control information is set to "1" (interrupt enabled). In this case, the IDMA request register is cleared to "0". Therefore, if IDMA needs to be invoked when an interrupt factor occurs next time, this register must be set up again. To prevent unwanted IDMA requests from being generated, this setting must be performed before enabling interrupts and after resetting the interrupt factor flag. The IDMA enable bit is not cleared and remains set to "1". If the transfer counter is not 0, the interrupt factor flag is reset when the DMA transfer is completed, so that no interrupt is generated. In this case, the IDMA request bit and IDMA enable bit are not cleared and remain set to "1". When DINTEN in control information has been set to "0", the interrupt factor flag is reset even if the transfer counter reaches 0, so that no interrupt is generated. In this case, the IDMA request bit is not cleared but the IDMA enable bit is cleared. If the IDMA request register bit is left reset to "0", the relevant interrupt factor generates an interrupt request and not a IDMA request. B-V-3-6 EPSON S1C33T01 FUNCTION PART V DMA BLOCK: IDMA (Intelligent DMA) The control registers (interrupt enable register and interrupt priority register) corresponding to the interrupt factor do not affect IDMA invocation. IDMA can be invoked even if the interrupt enable bit in ITC is set to "0" (interrupt disabled). However, these register must be set to enable the interrupt when generating the interrupt after completing the DMA transfer. IDMA invocation by a trigger in the software application All IDMA channels for which control information is set, including those corresponding to interrupt factors described above, can be invoked by a trigger in the software application. The following bits are used for this control: IDMA channel number set-up: DCHN[6:0] (D[6:0]) / IDMA start register (0x48204) IDMA start control: DSTART (D7) / IDMA start register (0x48204) When the IDMA channel number to be invoked (0 to 127) is written to DCHN and DSTART is set to "1", the specified IDMA channel starts a DMA transfer. DSTART remains set (= "1") during a DMA transfer and is reset to "0" in hardware when one DMA transfer operation is completed. Do not modify these bits during a DMA transfer. If DINTEN is set to "1" (interrupt enabled), an interrupt factor for the completion of IDMA transfer is generated when one DMA transfer is completed. IDMA invocation by link setting If LNKEN in the control information is set to "1" (link enabled), the IDMA channel that is set in the IDMA link field "LNKCHN" is invoked successively after a DMA transfer in the link-enabled channel is completed. The interrupt request by the first channel is generated after transfers in all linked channels are completed if the interrupt conditions are met. To generate an interrupt at the end of an IDMA transfer, the DINTEN (end-of-transfer interrupt enable) bits in the IDMA control information for the first IDMA channel to be invoked and all the channels to be linked must be set to "1". IDMA invocation request during a DMA transfer An IDMA invocation request to another channel that is generated during a DMA transfer is kept pending until the DMA transfer that was being executed at the time is completed. Since an invocation request is not cleared, new requests will be accepted when the DMA transfer under execution is completed. An IDMA invocation request to the same channel cannot be accepted while the channel is executing a DMA transfer because the same interrupt factor is used. Therefore, an interval longer than the DMA transfer period is required when invoking the same channel. IDMA invocation request when DMA transfer is disabled An IDMA invocation request generated when IDMAEN is "0" (DMA transfer disabled) is kept pending until IDMAEN is set to "1". Since an invocation request is not cleared, it is accepted when DMA transfer is enabled. Simultaneous generation of a software trigger and a hardware trigger When a software trigger and the hardware trigger for the same channel are generated simultaneously, the software trigger starts IDMA transfer. The IDMA transfer by the hardware trigger is not executed since the interrupt factor is reset when the DMA transfer is completed. However, an operation like this cannot be recommended. S1C33T01 FUNCTION PART EPSON B-V-3-7 V DMA BLOCK: IDMA (Intelligent DMA) Operation of IDMA IDMA has three transfer modes, in each of which data transfer operates differently. Furthermore, an interrupt factor is processed differently depending on the type of trigger. The following describes the operation of IDMA in each transfer mode and how an interrupt factor is processed for each type of trigger. Single transfer mode The channels for which DMOD in control information is set to "00" operate in single transfer mode. In this mode, a transfer operation invoked by one trigger is completed after transferring one data unit of the size set by DATSIZ. If a data transfer needs to be performed a number of times as set by the transfer counter, an equal number of triggers are required. The operation of IDMA in single transfer mode is shown by the flow chart in Figure 3.1. START A Base address + (Channel number x 12) Calculates address of control information Loads channel control information B (3 words) Transfers one unit of data C (Data read from source of transfer) D (Data write to destination of transfer) Transfer counter - 1 E Saves channel control information F (3 words) Transfer counter = 0 N Y IDMA interrupt processing (if interrupt is enabled) END Trigger A B1 B2 B3 C D E F1 F2 F3 Figure 3.1 Operation Flow in Single Transfer Mode (1) When a trigger is accepted, the address for control information is calculated from the base address and channel number. (2) Control information is read from the calculated address into the internal temporary register. (3) Data of the size set in the control information is read from the source address. (4) The read data is written to the destination address. (5) The address is incremented or decremented and the transfer counter is decremented. (6) The modified control information is written to RAM. (7) In the case of a hardware trigger, the interrupt control bits are processed before completing IDMA. Condition Interrupt factor flag Transfer counter "0": Reset ("0") Transfer counter = "0", DINTEN = "1": Not changed ("1") Transfer counter = "0", DINTEN = "0": Reset ("0") B-V-3-8 EPSON IDMA request bit IDMA enable bit Not changed ("1") Reset ("0") Not changed ("1") Not changed ("1") Not changed ("1") Reset ("0") S1C33T01 FUNCTION PART V DMA BLOCK: IDMA (Intelligent DMA) Successive transfer mode The channels for which DMOD in control information is set to "01" operate in successive transfer mode. In this mode, a data transfer is performed by one trigger a number of times as set by the transfer counter. The transfer counter is decremented to "0" by one transfer executed. The operation of IDMA in successive transfer mode is shown by the flow chart in Figure 3.2. START Calculates address of control information Loads channel control information Transfers one unit of data Transfer counter - 1 A Base address + (Channel number x 12) B (3 words) C (Data read from source of transfer) D (Data write to destination of transfer) E Transfer counter = 0 N Y Saves channel control information F (3 words) IDMA interrupt processing (if interrupt is enabled) END Trigger A B1 B2 B3 C1 D1 E1 Cn Dn En F1 F2 F3 Figure 3.2 Operation Flow in Successive Transfer Mode (1) When a trigger is accepted, the address for control information is calculated from the base address and channel number. (2) Control information is read from the calculated address into the internal temporary register. (3) Data of the size set in the control information is read from the source address. (4) The read data is written to the destination address. (5) The address is incremented or decremented and the transfer counter is decremented. (6) Steps (3) to (5) are repeated until the transfer counter reaches 0. (7) The modified control information is written to RAM. (8) In the case of a hardware trigger, the interrupt control bits are processed before completing IDMA. Condition Interrupt factor flag Transfer counter "0": Reset ("0") Transfer counter = "0", DINTEN = "1": Not changed ("1") Transfer counter = "0", DINTEN = "0": Reset ("0") S1C33T01 FUNCTION PART EPSON IDMA request bit IDMA enable bit Not changed ("1") Reset ("0") Not changed ("1") Not changed ("1") Not changed ("1") Reset ("0") B-V-3-9 V DMA BLOCK: IDMA (Intelligent DMA) Block transfer mode The channels for which DMOD in control information is set to "10" operate in block transfer mode. In this mode, a transfer operation invoked by one trigger is completed after transferring one block of data of the size set by BLKLEN. If a block transfer needs to be performed a number of times as set by the transfer counter, an equal number of triggers are required. The operation of IDMA in block transfer mode is shown by the flow chart in Figure 3.3. START A Base address + (Channel number x 12) Calculates address of control information Loads channel control information B (3 words) C (Data read from source of transfer) D (Data write to destination of transfer) Transfers one unit of data Block size - 1 E Block size = 0 N 1-block transfer Y : according to SRINC/DSINC settings Restores initial values to block size and address F Transfer counter - 1 G Saves channel control information H (3 words) Transfer counter = 0 N Y IDMA interrupt processing (if interrupt is enabled) END F Trigger A B1 B2 B3 C1 D1 E1 G Cn Dn En H1 H2 H3 Figure 3.3 Operation Flow in Block Transfer Mode (1) When a trigger is accepted, the address for control information is calculated from the base address and channel number. (2) Control information is read from the calculated address into the internal temporary register. (3) Data of the size set in the control information is read from the source address. (4) The read data is written to the destination address. (5) The address is incremented or decremented and BLKLEN is decremented. (6) Steps (3) to (5) are repeated until BLKLEN reaches 0. (7) If SRINC and DSINC are "10", the address is recycled to the initial value. (8) The transfer counter is decremented. (9) The modified control information is written to RAM. (10) In the case of a hardware trigger, the interrupt control bits are processed before completing IDMA. Condition Interrupt factor flag Transfer counter "0": Reset ("0") Transfer counter = "0", DINTEN = "1": Not changed ("1") Transfer counter = "0", DINTEN = "0": Reset ("0") B-V-3-10 EPSON IDMA request bit IDMA enable bit Not changed ("1") Reset ("0") Not changed ("1") Not changed ("1") Not changed ("1") Reset ("0") S1C33T01 FUNCTION PART V DMA BLOCK: IDMA (Intelligent DMA) Processing of interrupt factors by type of trigger * When invoked by an interrupt factor The interrupt factor flag by which IDMA has been invoked remains set even during a DMA transfer. If the transfer counter is decremented to 0 and DINTEN = "1" (interrupt enabled) when one DMA transfer is completed, the interrupt factor that has invoked IDMA is not reset and an interrupt request is generated. At the same time, the IDMA request register is cleared to "0". The IDMA enable bit is not cleared and remains set to "1". If the transfer counter is not 0, the interrupt factor flag is reset when the DMA transfer is completed, so that no interrupt is generated. In this case, the IDMA request bit and IDMA enable bit are not cleared and remain set to "1". When DINTEN has been set to "0" (interrupt disabled), the interrupt factor flag is reset even if the transfer counter reaches 0, so that no interrupt is generated. In this case, the IDMA request bit is not cleared but the IDMA enable bit is cleared. Trigger by interrupt factor Data transfer Transfer counter 2 1 0 1 0 DINTEN IDMA request bit IDMA enable bit Interrupt factor flag Interrupt request Figure 3.4 Operation when Invoked by Interrupt Factor When IDMA is invoked by the software trigger, the IDMA interrupt factor flag FIDMA (D4)/DMA interrupt factor flag register (0x40281) will not be set. * When invoked by a software trigger If the transfer counter is decremented to 0 and DINTEN = "1" (interrupt enabled) when one DMA transfer is completed, the IDMA interrupt factor flag FIDMA (D4)/DMA interrupt factor flag register (0x40281) is set, thereby generating an interrupt request. If the transfer counter is not 0 or DINTEN = "0" (interrupt disabled), the FIDMA flag is not set. If the interrupt factor flag for the same channel is set during a software-triggered transfer, the IDMA invocation request by that interrupt factor flag is kept pending. However, the interrupt factor flag will be reset when the current execution is completed, so there will be no DMA transfer by the interrupt factor flag. Software trigger Data transfer Transfer counter 2 1 0 1 0 DINTEN FIDMA (D4/0x40281) Interrupt request Figure 3.5 Operation when Invoked by Software Trigger S1C33T01 FUNCTION PART EPSON B-V-3-11 V DMA BLOCK: IDMA (Intelligent DMA) Linking If the IDMA channel number to be executed next is set in the IDMA link field "LNKCHN" of control information and LNKEN is set to "1" (link enabled), DMA successive transfer in that IDMA channel can be performed. An example of link setting is shown in Figure 3.6. Trigger After transfer Ch.3 Ch.5 Ch.7 LNKEN = 1 LNKCHN = 5 DMOD = 01 DINTEN = 1 TC = 1024 LNKEN = 1 LNKCHN = 7 DMOD = 00 DINTEN = 1 TC = 8 LNKEN = 0 LNKCHN = 9 DMOD = 10 DINTEN = 1 TC = 1 TC = 0 TC = 7 TC = 0 Figure 3.6 Example of Link Setting For the above example, IDMA operates as described below. * For trigger in hardware (1) The IDMA channel 3 is invoked by an interrupt factor and the DMA transfer that is set is performed. Since the IDMA is operating in successive transfer mode and the transfer counter is decremented to 0 and DINTEN is set to "1", the interrupt factor flag by which the channel 3 has been invoked remains set. (2) Next, a DMA transfer is performed via the linked IDMA channel 5. Channel 5 is set for single transfer mode and the transfer counter in this transfer is decremented by 1. (3) Finally, a DMA transfer in IDMA channel 7 is performed. Although the channel 7 is set for block transfer mode, the transfer counter is decremented to 0 when the transfer is completed because the number of transfers to be performed is 1. (4) Since the interrupt factor flag that has invoked IDMA channel 3 in (1) remains set, an interrupt is generated when the IDMA transfer (channel 7) in (3) is completed. The transfer result does not affect the interrupt factor flag of channel 3. To generate an interrupt at the end of an IDMA transfer, the DINTEN (end-of-transfer interrupt enable) bits in the IDMA control information for the first IDMA channel to be invoked and all the channels to be linked must be set to "1". * For trigger in the software application (1) The IDMA channel 3 is invoked by a trigger in the software application and the DMA transfer that is set is performed. Since the IDMA is operating in successive transfer mode and the transfer counter is decremented to 0 and DINTEN is set to "1", the IDMA interrupt factor flag FIDMA (D4)/DMA interrupt factor flag register (0x40281) is set when the transfer is completed. (2) Next, a DMA transfer is performed in the linked IDMA channel 5. The channel 5 is set for the single transfer mode and the transfer counter in this transfer is decremented by 1. (3) Finally, a DMA transfer in IDMA channel 7 is performed. Although channel 7 is set for the block transfer mode, the transfer counter is decremented to 0 when the transfer is completed because the number of transfers to be performed is 1. The completion of this transfer also causes the FIDMA flag to be set to "1". However, the FIDMA flag has already been set when the transfer is completed in (1) above. (4) Since the FIDMA flag is set, an interrupt request is generated here. In cases when IDMA has been invoked by a trigger in the software application, if the transfer counter in any one of the linked channels is decremented to 0 and DINTEN for that channel is set to "1", an interrupt request for the completion of IDMA transfer is generated when a transfer operation in each of the linked channels is completed. The channel in which an interrupt request has been generated can be verified by reading out the transfer counter. Transfer operations in each channel are performed as described earlier. B-V-3-12 EPSON S1C33T01 FUNCTION PART V DMA BLOCK: IDMA (Intelligent DMA) Interrupt Function of Intelligent DMA IDMA can generate an interrupt that causes invocation of IDMA and an interrupt for the completion of IDMA transfer itself. Interrupt when invoked by an interrupt factor If the corresponding bits of the IDMA request and interrupt enable registers are left set (= "1"), assertion of an interrupt request is kept pending even when the enabled interrupt factor has occurred and the IDMA channel assigned to that interrupt factor is invoked. If the transfer counter is decremented to 0 and DINTEN = "1" (interrupt enabled) when one DMA transfer is completed, the interrupt factor that has invoked IDMA is not reset and an interrupt request is generated. At the same time, the IDMA request register is cleared to "0". The IDMA enable bit is not cleared and remains set to "1". If the transfer counter is not 0, the interrupt factor flag is reset when the DMA transfer is completed, so that no interrupt is generated. In this case, the IDMA request bit and IDMA enable bit are not cleared and remain set to "1". When DINTEN has been set to "0" (interrupt disabled), the interrupt factor flag is reset even if the transfer counter reaches 0, so that no interrupt is generated. In this case, the IDMA request bit is not cleared but the IDMA enable bit is cleared. When IDMA is invoked by the software trigger, the IDMA interrupt factor flag FIDMA (D4)/DMA interrupt factor flag register (0x40281) will not be set. For details about the interrupt factors that can be used to invoke IDMA and the interrupt control registers, refer to the descriptions of the peripheral circuits in this manual. Note that the priority levels of interrupt factors are set by the interrupt priority register. Refer to "ITC (Interrupt Controller)". However, when compared between IDMA and interrupt requests, IDMA is given higher priority over the other. Consequently, even when an interrupt factor occurring during an IDMA transfer has higher priority than the interrupt factor that invoked the IDMA transfer, an interrupt request for it or a new IDMA invocation request is not accepted until after the current IDMA transfer is completed. Software-triggered interrupts If the transfer counter is decremented to 0 and DINTEN = "1" (interrupt enabled) when one DMA transfer operation is completed, the IDMA interrupt factor flag FIDMA (D4)/DMA interrupt factor flag register (0x40281) is set, thereby generating an interrupt request. If the transfer counter is not 0 or DINTEN = "0" (interrupt disabled), the FIDMA flag is not set. IDMA interrupt control register in the interrupt controller The following registers are used to control an interrupt for the completion of IDMA transfer: Interrupt factor flag: FIDMA (D4) / DMA interrupt factor flag register (0x40281) Interrupt enable: EIDMA (D4) / DMA interrupt enable register (0x40271) Interrupt level: PDM[2:0](D[2:0]) / IDMA interrupt priority register (0x40265) When a DMA transfer in the IDMA channel invoked by a trigger in the software application or subsequent link is completed and the transfer counter is decremented to 0, the interrupt factor flag for the completion of IDMA transfer is set to "1". However, this requires as a precondition that interrupt be enabled (DINTEN = "1") in the control information for that channel. If the interrupt enable register bit remains set (= "1") when the flag is set, an interrupt request is generated. Interrupts can be disabled by leaving the interrupt enable register bit cleared (= "0"). Use the interrupt priority register to set interrupt priority levels (0 to 7). An interrupt request to the CPU is accepted on condition that no other interrupt request of higher priority is generated. Furthermore, it is only when the PSR's IE bit = "1" (interrupt enabled) and the set value of IL is smaller than the IDMA interrupt level which is set by the interrupt priority register that the CPU actually accepts an IDMA interrupt request. For details about these interrupt control registers, and for information on device operation when an interrupt occurs, refer to "ITC (Interrupt Controller)". S1C33T01 FUNCTION PART EPSON B-V-3-13 V DMA BLOCK: IDMA (Intelligent DMA) Trap vector The trap vector address for an interrupt upon completion of IDMA transfer by default is set as follows: 0x0C00068 The trap table base address can be changed using the TTBR registers (0x48134 to 0x48137). I/O Memory of Intelligent DMA Table 3.3 shows the control bits of IDMA. Table 3.3 Control Bits of IDMA Register name Address Bit IDMA interrupt 0040265 priority register (B) D7-3 D2 D1 D0 - PDM2 PDM1 PDM0 reserved IDMA interrupt level DMA interrupt 0040271 enable register (B) D7-5 D4 D3 D2 D1 D0 - EIDMA EHDM3 EHDM2 EHDM1 EHDM0 reserved IDMA High-speed DMA Ch.3 High-speed DMA Ch.2 High-speed DMA Ch.1 High-speed DMA Ch.0 DMA interrupt factor flag register 0040281 (B) D7-5 D4 D3 D2 D1 D0 - FIDMA FHDM3 FHDM2 FHDM1 FHDM0 reserved IDMA High-speed DMA Ch.3 High-speed DMA Ch.2 High-speed DMA Ch.1 High-speed DMA Ch.0 IDMA base address loworder register 0048200 (HW) DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 IDMA base address high-order register 0048202 DF-C - (HW) DB DBASEH11 DA DBASEH10 D9 DBASEH9 D8 DBASEH8 D7 DBASEH7 D6 DBASEH6 D5 DBASEH5 D4 DBASEH4 D3 DBASEH3 D2 DBASEH2 D1 DBASEH1 D0 DBASEH0 reserved IDMA base address high-order 12 bits (Initial value: 0x0C003A0) IDMA start register 0048204 (B) D7 DSTART D6-0 DCHN IDMA start IDMA channel number 1 IDMA start 0 Stop 0 to 127 IDMA enable register 0048205 (B) D7-1 - D0 IDMAEN reserved IDMA enable 1 Enabled B-V-3-14 Name Function Setting Remarks - X X X - 0 when being read. R/W - - 0 0 0 0 0 - 0 when being read. R/W R/W R/W R/W R/W - X X X X X - 0 when being read. R/W R/W R/W R/W R/W 0 0 0 0 0 0 1 1 1 0 1 0 0 0 0 0 R/W - 0 0 0 0 1 1 0 0 0 0 0 0 - Undefined in read. R/W 0 0 R/W R/W - 0 - R/W 1 Enabled 0 Disabled - 1 Factor is generated 0 No factor is generated DBASEL15 IDMA base address DBASEL14 low-order 16 bits DBASEL13 (Initial value: 0x0C003A0) DBASEL12 DBASEL11 DBASEL10 DBASEL9 DBASEL8 DBASEL7 DBASEL6 DBASEL5 DBASEL4 DBASEL3 DBASEL2 DBASEL1 DBASEL0 - - EPSON Init. R/W - 0 to 7 0 Disabled S1C33T01 FUNCTION PART V DMA BLOCK: IDMA (Intelligent DMA) DBASEL[15:0]: IDMA base address [15:0] (D[F:0]) / IDMA base address low-order register (0x48200) DDBASEH[11:0]: IDMA base address [27:16] (D[B:0]) / IDMA base address high-order register (0x48202) Specify the starting address of the control information to be placed in RAM. Use DBASEL to set the 16 low-order bits of the address and DBASEH to set the 12 high-order bits. The address to be set in these registers must always be a word (32-bit) boundary address. These registers cannot be read or written in bytes. The registers must be accessed in words for read/write operations to address 0x48200, and in half-words for read/write operations to addresses 0x48200 and 0x48202. Write operations in half-words must be performed in order of 0x48200 and 0x48202. Read operations in half-words may be performed in any order. Write operations to the IDMA base address registers during a DMA transfer are ignored. When the register is read during a DMA transfer, the read data is indeterminate. At initial reset, the base address is set to 0xC003A0. IDMAEN: DMA enable (D0) / DMA enable register (0x48205) Enable a DMA transfer. Write "1": Enabled Write "0": Disabled Read: Valid A data transfer operation by intelligent DMA and high-speed DMA is enabled by writing "1" to IDMAEN. DMA transfer is disabled by writing "0" to IDMAEN. Be sure to disable DMA transfers (IDMAEN = "0") before you set the base address and transfer conditions. At initial reset, IDMAEN is set to "0" (disabled). DCHN[6:0]: IDMA channel number (D[6:0]) / IDMA start register (0x48204) Set the channel numbers (0 to 127) to be invoked by a trigger in the software application. At initial reset, DCHN is set to "0". DSTART: IDMA start (D7) / IDMA start register (0x48204) Use this register for a trigger in the software application and for monitoring the operation of IDMA. When written Write "1": IDMA started Write "0": Invalid When read Read "1": IDMA operating (only when invoked by software trigger) Read "0": IDMA inactive When DSTART is set to "1", it functions as a trigger in the software application, invoking the IDMA channel that is set in the DCHN register. At initial reset, DSTART is set to "0". PDM2-PDM0: DMA interrupt level (D[2:0]) / IDMA interrupt priority register (0x40265) Set the priority level of the interrupt upon completion of IDMA transfer in the range of 0 to 7. At initial reset, the contents of this register are indeterminate. EIDMA: IDMA interrupt enable (D2) / DMA interrupt enable register (0x40271) Enable or disable occurrence of an interrupt to the CPU. Write "1": Interrupt enabled Write "0": Interrupt disabled Read: Valid This bit controls the interrupt generated upon completion of IDMA transfer. The interrupt is enabled by setting this bit to "1" and disabled by setting this bit to "0". At initial reset, EIDMA is set to "0" (interrupt disable). S1C33T01 FUNCTION PART EPSON B-V-3-15 V DMA BLOCK: IDMA (Intelligent DMA) FIDMA: IDMA interrupt factor flag (D2) / DMA interrupt factor flag register (0x40281) Indicate the occurrence status of an IDMA interrupt request. When read Read "1": Interrupt factor occurred Read "0": No interrupt factor occurred When written using reset-only method (default) Write "1": Interrupt factor flag is reset Write "0": Invalid When written using the read/write method Write "1": Interrupt factor flag is set Write "0": Interrupt factor flag is reset This flag is set to "1" when one DMA transfer initiated by a software trigger or subsequent link is completed and the transfer counter is decremented to 0. However, this requires as a precondition that interrupts be enabled in control information (DINTEN = "1"). At this time, an interrupt to the CPU is generated if the following conditions are met: 1. The corresponding interrupt enable register bit is set to "1". 2. No interrupt request of higher priority is generated. 3. The IE bit of the PSR is set to "1" (interrupt enable). 4. The corresponding interrupt priority register is set to a level higher than the CPU's interrupt level (IL). In order for the next interrupt to be accepted after interrupt generation, the interrupt factor flag must be reset and the PSR must be set up again (by setting the IL below the level indicated by the interrupt priority register and setting the IE bit to "1" or executing a reti instruction). The interrupt factor flag can only be reset by a write instruction in the software application. If the PSR is set up again to accept interrupts (or the reti instruction is executed) without resetting the interrupt factor flag, the same interrupt may occur again. Note also that the value to be written to reset the flag is "1" when using the reset-only method (RSTONLY = "1") and "0" when using the read/write method (RSTONLY = "0"). Be careful not to confuse these two cases. This flag becomes indeterminate when initially reset, so be sure to reset it in the software application. B-V-3-16 EPSON S1C33T01 FUNCTION PART V DMA BLOCK: IDMA (Intelligent DMA) Programming Notes (1) Before setting the IDMA base address, be sure to disable DMA transfers (IDMAEN = "0"). Writing to the IDMA base address register is ignored when the DMA transfer is enabled (IDMAEN = "1"). Also, when the register is read during a DMA transfer, the data is indeterminate. When setting or rewriting control information for each channel, make sure that DMA transfers will not occur in any channel. (2) The address that is set in the IDMA base address register must always be a word (32-bit) boundary address. (3) After an initial reset, the interrupt factor flag (FIDMA) becomes indeterminate. To prevent unwanted interrupts from occurring, be sure to reset the flag in a program. (4) Once an interrupt occurs, be sure to reset the interrupt factor flag (FIDMA) before setting up the PSR again or executing the reti instruction. This ensures that an interrupt will not be generated for the same factor. (5) If all the following conditions are met, the transfer counter value becomes invalid during IDMA transfer so data cannot be transferred properly. 1. The IDMA control information (source/destination addresses, transfer counter, etc.) is placed in the external EDO DRAM. 2. The DRAM access timing condition is set to EDO mode by the BCU register. 3. The bus clock is set to x2 speed mode (#X2SPD pin = " 0" ). When placing the control information in the EDO DRAM in x2 speed mode, the DRAM access timing condition must be set to high-speed page mode. Or place the control information in the internal RAM. Using the internal RAM increases the performance because the overhead during IDMA transfer is decreased to 6 cycles on both load/store operations. (6) The current version of the DMA controller (C33 macro Model 2 rev. 2.2) does not set the IDMA interrupt factor flag FIDMA (D4)/DMA interrupt factor flag register (0x40281) even when an IDMA transfer that was started with a software trigger has completed (transfer counter = 0). Therefore, a transfer completion interrupt cannot be used in software trigger mode. (7) In HALT mode, since the DMA and BCU clocks operate, if the next operation is performed in HALT mode, not HALT2 mode, with a setting of 0 in clock option register HLT20 (0x0040190 bit 3), that operation will be an unpredictable erroneous operation. If a DMA trigger occurs and DMA is invoked while the CPU is stopped after HALT mode execution, erroneous operation will result. Ensure that DMA is not invoked in HALT mode. In HALT2 mode, DMA is not invoked since the DMA and BCU clocks are stopped. S1C33T01 FUNCTION PART EPSON B-V-3-17 V DMA BLOCK: IDMA (Intelligent DMA) THIS PAGE IS BLANK. B-V-3-18 EPSON S1C33T01 FUNCTION PART S1C33T01 FUNCTION PART Appendix I/O MAP APPENDIX I/O MAP Register name Address Bit Name Function 8-bit timer clock select register 0040140 (B) D7-2 - D1 P8TPCK5 D0 P8TPCK4 reserved 8-bit timer 5 clock selection 8-bit timer 4 clock selection 16-bit timer 6 clock control register 0040141 (B) D7-4 D3 D2 D1 D0 - P16TON6 P16TS62 P16TS61 P16TS60 reserved 16-bit timer 6 clock control 16-bit timer 6 clock division ratio selection 16-bit timer 7 clock control register 0040142 (B) D7-4 D3 D2 D1 D0 - P16TON7 P16TS72 P16TS71 P16TS70 reserved 16-bit timer 7 clock control 16-bit timer 7 clock division ratio selection 16-bit timer 8 clock control register 0040143 (B) D7-4 D3 D2 D1 D0 - P16TON8 P16TS82 P16TS81 P16TS80 reserved 16-bit timer 8 clock control 16-bit timer 8 clock division ratio selection 16-bit timer 9 clock control register 0040144 (B) D7-4 D3 D2 D1 D0 - P16TON9 P16TS92 P16TS91 P16TS90 reserved 16-bit timer 9 clock control 16-bit timer 9 clock division ratio selection Setting - 1 /1 1 /1 0 Divided clk. 0 Divided clk. - 1 On P16TS6[2:0] 1 1 1 1 1 0 1 0 1 1 0 0 0 1 1 0 1 0 0 0 1 0 0 0 0 Off Division ratio /4096 /1024 /256 /64 /16 /4 /2 /1 - 1 On P16TS7[2:0] 1 1 1 1 1 0 1 0 1 1 0 0 0 1 1 0 1 0 0 0 1 0 0 0 0 Off Division ratio /4096 /1024 /256 /64 /16 /4 /2 /1 - 1 On P16TS8[2:0] 1 1 1 1 1 0 1 0 1 1 0 0 0 1 1 0 1 0 0 0 1 0 0 0 0 Off Division ratio /4096 /1024 /256 /64 /16 /4 /2 /1 - 1 On P16TS9[2:0] 1 1 1 1 1 0 1 0 1 1 0 0 0 1 1 0 1 0 0 0 1 0 0 0 0 Off Division ratio /4096 /1024 /256 /64 /16 /4 /2 /1 Init. R/W Remarks - 0 0 - 0 when being read. R/W : selected by Prescaler clock R/W select register (0x40181) - 0 0 0 0 - 0 when being read. R/W R/W : selected by Prescaler clock select register (0x40181) - 0 0 0 0 - 0 when being read. R/W R/W : selected by Prescaler clock select register (0x40181) - 0 0 0 0 - 0 when being read. R/W R/W : selected by Prescaler clock select register (0x40181) - 0 0 0 0 - 0 when being read. R/W R/W : selected by Prescaler clock select register (0x40181) (B) in [Address] indicates an 8-bit register and (HW) indicates a 6-bit register. The meaning of the symbols described in [Init.] are listed below: 0, 1: Initial values that are set at initial reset. (However, the registers for the bus and input/output ports are not initialized at hot start.) X: Not initialized at initial reset. -: Not set in the circuit. S1C33T01 FUNCTION PART EPSON B-APPENDIX-1 APPENDIX I/O MAP Register name Address Bit Name 8-bit timer 4/5 clock control register D7 D6 D5 D4 P8TON5 P8TS52 P8TS51 P8TS50 0040145 (B) D3 D2 D1 D0 P8TON4 P8TS42 P8TS41 P8TS40 Function 8-bit timer 5 clock control 8-bit timer 5 clock division ratio selection 8-bit timer 4 clock control 8-bit timer 4 clock division ratio selection 8-bit timer clock select register 0040146 (B) D7-4 D3 D2 D1 D0 - P8TPCK3 P8TPCK2 P8TPCK1 P8TPCK0 reserved 8-bit timer 3 clock selection 8-bit timer 2 clock selection 8-bit timer 1 clock selection 8-bit timer 0 clock selection 16-bit timer 0 clock control register 0040147 (B) D7-4 D3 D2 D1 D0 - P16TON0 P16TS02 P16TS01 P16TS00 reserved 16-bit timer 0 clock control 16-bit timer 0 clock division ratio selection 16-bit timer 1 clock control register 0040148 (B) D7-4 D3 D2 D1 D0 - P16TON1 P16TS12 P16TS11 P16TS10 reserved 16-bit timer 1 clock control 16-bit timer 1 clock division ratio selection 16-bit timer 2 clock control register 0040149 (B) D7-4 D3 D2 D1 D0 - P16TON2 P16TS22 P16TS21 P16TS20 reserved 16-bit timer 2 clock control 16-bit timer 2 clock division ratio selection 16-bit timer 3 clock control register 004014A D7-4 - (B) D3 P16TON3 D2 P16TS32 D1 P16TS31 D0 P16TS30 reserved 16-bit timer 3 clock control 16-bit timer 3 clock division ratio selection B-APPENDIX-2 EPSON Setting 1 On P8TS5[2:0] 1 1 1 1 1 0 1 0 1 1 0 0 0 1 1 0 1 0 0 0 1 0 0 0 1 On P8TS4[2:0] 1 1 1 1 1 0 1 0 1 1 0 0 0 1 1 0 1 0 0 0 1 0 0 0 Init. R/W 0 Off Division ratio /256 /128 /64 /32 /16 /8 /4 /2 0 Off Division ratio /4096 /2048 /64 /32 /16 /8 /4 /2 - 1 1 1 1 /1 /1 /1 /1 0 0 0 0 Divided clk. Divided clk. Divided clk. Divided clk. - 1 On P16TS0[2:0] 1 1 1 1 1 0 1 0 1 1 0 0 0 1 1 0 1 0 0 0 1 0 0 0 0 Off Division ratio /4096 /1024 /256 /64 /16 /4 /2 /1 - 1 On P16TS1[2:0] 1 1 1 1 1 0 1 0 1 1 0 0 0 1 1 0 1 0 0 0 1 0 0 0 0 Off Division ratio /4096 /1024 /256 /64 /16 /4 /2 /1 - 1 On P16TS2[2:0] 1 1 1 1 1 0 1 0 1 1 0 0 0 1 1 0 1 0 0 0 1 0 0 0 0 Off Division ratio /4096 /1024 /256 /64 /16 /4 /2 /1 - 1 On P16TS3[2:0] 1 1 1 1 1 0 1 0 1 1 0 0 0 1 1 0 1 0 0 0 1 0 0 0 0 Off Division ratio /4096 /1024 /256 /64 /16 /4 /2 /1 0 0 0 0 Remarks R/W R/W : selected by Prescaler clock select register (0x40181) 8-bit timer 5 can generate the clock for the serial I/F Ch.3. 0 0 0 0 R/W R/W : selected by Prescaler clock select register (0x40181) 8-bit timer 4 can generate the clock for the serial I/F Ch.2. - 0 0 0 0 - R/W R/W R/W R/W 0 when being read. : selected by Prescaler clock select register (0x40181) - 0 0 0 0 - 0 when being read. R/W R/W : selected by Prescaler clock select register (0x40181) 16-bit timer 0 can be used as a watchdog timer. - 0 0 0 0 - 0 when being read. R/W R/W : selected by Prescaler clock select register (0x40181) - 0 0 0 0 - 0 when being read. R/W R/W : selected by Prescaler clock select register (0x40181) - 0 0 0 0 - 0 when being read. R/W R/W : selected by Prescaler clock select register (0x40181) S1C33T01 FUNCTION PART APPENDIX I/O MAP Register name Address Bit Name Function 16-bit timer 4 clock control register 004014B D7-4 - (B) D3 P16TON4 D2 P16TS42 D1 P16TS41 D0 P16TS40 reserved 16-bit timer 4 clock control 16-bit timer 4 clock division ratio selection 16-bit timer 5 clock control register 004014C D7-4 - (B) D3 P16TON5 D2 P16TS52 D1 P16TS51 D0 P16TS50 reserved 16-bit timer 5 clock control 16-bit timer 5 clock division ratio selection 8-bit timer 0/1 clock control register 004014D (B) 8-bit timer 1 clock control 8-bit timer 1 clock division ratio selection D7 D6 D5 D4 D3 D2 D1 D0 8-bit timer 2/3 clock control register 004014E (B) D7 D6 D5 D4 D3 D2 D1 D0 S1C33T01 FUNCTION PART P8TON1 P8TS12 P8TS11 P8TS10 P8TON0 P8TS02 P8TS01 P8TS00 P8TON3 P8TS32 P8TS31 P8TS30 P8TON2 P8TS22 P8TS21 P8TS20 8-bit timer 0 clock control 8-bit timer 0 clock division ratio selection 8-bit timer 3 clock control 8-bit timer 3 clock division ratio selection 8-bit timer 2 clock control 8-bit timer 2 clock division ratio selection EPSON Setting - 1 On P16TS4[2:0] 1 1 1 1 1 0 1 0 1 1 0 0 0 1 1 0 1 0 0 0 1 0 0 0 0 Off Division ratio /4096 /1024 /256 /64 /16 /4 /2 /1 - Init. R/W Remarks - 0 0 0 0 - 0 when being read. R/W R/W : selected by Prescaler clock select register (0x40181) - 0 0 0 0 - 0 when being read. R/W R/W : selected by Prescaler clock select register (0x40181) R/W R/W : selected by Prescaler clock select register (0x40181) 1 On P16TS5[2:0] 1 1 1 1 1 0 1 0 1 1 0 0 0 1 1 0 1 0 0 0 1 0 0 0 0 Off Division ratio /4096 /1024 /256 /64 /16 /4 /2 /1 1 On P8TS1[2:0] 1 1 1 1 1 0 1 0 1 1 0 0 0 1 1 0 1 0 0 0 1 0 0 0 1 On P8TS0[2:0] 1 1 1 1 1 0 1 0 1 1 0 0 0 1 1 0 1 0 0 0 1 0 0 0 0 Off Division ratio /4096 /2048 /1024 /512 /256 /128 /64 /32 0 Off Division ratio /256 /128 /64 /32 /16 /8 /4 /2 0 0 0 0 1 On P8TS3[2:0] 1 1 1 1 1 0 1 0 1 1 0 0 0 1 1 0 1 0 0 0 1 0 0 0 1 On P8TS2[2:0] 1 1 1 1 1 0 1 0 1 1 0 0 0 1 1 0 1 0 0 0 1 0 0 0 0 Off Division ratio /256 /128 /64 /32 /16 /8 /4 /2 0 Off Division ratio /4096 /2048 /64 /32 /16 /8 /4 /2 0 0 0 0 8-bit timer 1 can generate the OSC3 oscillation-stabilize waiting period. 0 0 0 0 R/W R/W : selected by Prescaler clock select register (0x40181) 8-bit timer 0 can generate the DRAM refresh clock. R/W R/W : selected by Prescaler clock select register (0x40181) 8-bit timer 3 can generate the clock for the serial I/F Ch.1. 0 0 0 0 R/W R/W : selected by Prescaler clock select register (0x40181) 8-bit timer 2 can generate the clock for the serial I/F Ch.0. B-APPENDIX-3 APPENDIX I/O MAP Register name Address Bit A/D clock 004014F control register (B) D7-4 D3 D2 D1 D0 B-APPENDIX-4 Name - PSONAD PSAD2 PSAD1 PSAD0 Function Setting reserved A/D converter clock control A/D converter clock division ratio selection - EPSON 1 On P8TS0[2:0] 1 1 1 1 1 0 1 0 1 1 0 0 0 1 1 0 1 0 0 0 1 0 0 0 0 Off Division ratio /256 /128 /64 /32 /16 /8 /4 /2 Init. R/W - 0 0 0 0 Remarks - 0 when being read. R/W R/W : selected by Prescaler clock select register (0x40181) S1C33T01 FUNCTION PART APPENDIX I/O MAP Register name Address Clock timer Run/Stop register 0040151 (B) Clock timer 0040152 interrupt (B) control register Clock timer 0040153 divider register (B) Clock timer second register Bit Name D7-2 - D1 TCRST D0 TCRUN Function reserved Clock timer reset Clock timer Run/Stop control Setting Init. R/W - 1 Reset 1 Run - 0 when being read. W 0 when being read. R/W X X X R/W X X X R/W X X R/W Reset by writing 1. R/W Reset by writing 1. Low Low Low Low Low Low Low Low X X X X X X X X R R R R R R R R - R 0 Invalid 0 Stop D7 D6 D5 TCISE2 TCISE1 TCISE0 Clock timer interrupt factor selection D4 D3 D2 TCASE2 TCASE1 TCASE0 D1 D0 TCIF TCAF TCISE[2:0] Interrupt factor 1 1 1 None 1 1 0 Day 1 0 1 Hour 1 0 0 Minute 0 1 1 1 Hz 0 1 0 2 Hz 0 0 1 8 Hz 0 0 0 32 Hz Alarm factor Clock timer alarm factor selection TCASE[2:0] 1 X X Day X 1 X Hour X X 1 Minute 0 0 0 None 1 Generated 0 Not generated Interrupt factor generation flag 1 Generated 0 Not generated Alarm factor generation flag D7 D6 D5 D4 D3 D2 D1 D0 TCD7 TCD6 TCD5 TCD4 TCD3 TCD2 TCD1 TCD0 Clock timer data 1 Hz Clock timer data 2 Hz Clock timer data 4 Hz Clock timer data 8 Hz Clock timer data 16 Hz Clock timer data 32 Hz Clock timer data 64 Hz Clock timer data 128 Hz 1 1 1 1 1 1 1 1 High High High High High High High High 0 0 0 0 0 0 0 0 Remarks - X X 0040154 (B) D7-6 D5 D4 D3 D2 D1 D0 - TCMD5 TCMD4 TCMD3 TCMD2 TCMD1 TCMD0 reserved Clock timer second counter data TCMD5 = MSB TCMD0 = LSB - 0 to 59 seconds - X X X X X X Clock timer 0040155 minute register (B) D7-6 D5 D4 D3 D2 D1 D0 - TCHD5 TCHD4 TCHD3 TCHD2 TCHD1 TCHD0 reserved Clock timer minute counter data TCHD5 = MSB TCHD0 = LSB - 0 to 59 minutes - X X X X X X - 0 when being read. R/W Clock timer hour register D7-5 D4 D3 D2 D1 D0 - TCDD4 TCDD3 TCDD2 TCDD1 TCDD0 reserved Clock timer hour counter data TCDD4 = MSB TCDD0 = LSB - 0 to 23 hours - X X X X X - 0 when being read. R/W Clock timer 0040157 day (low-order) (B) register D7 D6 D5 D4 D3 D2 D1 D0 TCND7 TCND6 TCND5 TCND4 TCND3 TCND2 TCND1 TCND0 Clock timer day counter data (low-order 8 bits) TCND0 = LSB 0 to 65535 days (low-order 8 bits) X X X X X X X X R/W Clock timer day (highorder) register 0040158 (B) D7 D6 D5 D4 D3 D2 D1 D0 TCND15 TCND14 TCND13 TCND12 TCND11 TCND10 TCND9 TCND8 Clock timer day counter data (high-order 8 bits) TCND15 = MSB 0 to 65535 days (high-order 8 bits) X X X X X X X X R/W Clock timer minute comparison register 0040159 (B) D7-6 D5 D4 D3 D2 D1 D0 - TCCH5 TCCH4 TCCH3 TCCH2 TCCH1 TCCH0 reserved Clock timer minute comparison data TCCH5 = MSB TCCH0 = LSB - 0 to 59 minutes (Note) Can be set within 0-63. - X X X X X X - 0 when being read. R/W 0040156 (B) S1C33T01 FUNCTION PART EPSON 0 when being read. B-APPENDIX-5 APPENDIX I/O MAP Register name Address Bit Name Function Setting Init. R/W Remarks Clock timer hour comparison register 004015A D7-5 - (B) D4 TCCD4 D3 TCCD3 D2 TCCD2 D1 TCCD1 D0 TCCD0 reserved - 0 to 23 hours Clock timer hour comparison data (Note) Can be set within 0-31. TCCD4 = MSB TCCD0 = LSB - X X X X X - 0 when being read. R/W Clock timer day comparison register 004015B D7-5 - (B) D4 TCCN4 D3 TCCN3 D2 TCCN2 D1 TCCN1 D0 TCCN0 reserved Clock timer day comparison data TCCN4 = MSB TCCN0 = LSB - X X X X X - 0 when being read. R/W Compared with TCND[4:0]. B-APPENDIX-6 EPSON - 0 to 31 days S1C33T01 FUNCTION PART APPENDIX I/O MAP Register name Address Bit 8-bit timer 0 0040160 control register (B) D7-3 D2 D1 D0 Name Function - PTOUT0 PSET0 PTRUN0 reserved 8-bit timer 0 clock output control 8-bit timer 0 preset 8-bit timer 0 Run/Stop control Setting - 1 On 1 Preset 1 Run 0 Off 0 Invalid 0 Stop Init. R/W Remarks - 0 - 0 - 0 when being read. R/W W 0 when being read. R/W 8-bit timer 0 reload data register 0040161 (B) D7 D6 D5 D4 D3 D2 D1 D0 RLD07 RLD06 RLD05 RLD04 RLD03 RLD02 RLD01 RLD00 8-bit timer 0 reload data RLD07 = MSB RLD00 = LSB 0 to 255 X X X X X X X X R/W 8-bit timer 0 counter data register 0040162 (B) D7 D6 D5 D4 D3 D2 D1 D0 PTD07 PTD06 PTD05 PTD04 PTD03 PTD02 PTD01 PTD00 8-bit timer 0 counter data PTD07 = MSB PTD00 = LSB 0 to 255 X X X X X X X X R - PTOUT1 PSET1 PTRUN1 reserved 8-bit timer 1 clock output control 8-bit timer 1 preset 8-bit timer 1 Run/Stop control - - 0 - 0 - 0 when being read. R/W W 0 when being read. R/W 8-bit timer 1 0040164 control register (B) D7-3 D2 D1 D0 1 On 1 Preset 1 Run 0 Off 0 Invalid 0 Stop 8-bit timer 1 reload data register 0040165 (B) D7 D6 D5 D4 D3 D2 D1 D0 RLD17 RLD16 RLD15 RLD14 RLD13 RLD12 RLD11 RLD10 8-bit timer 1 reload data RLD17 = MSB RLD10 = LSB 0 to 255 X X X X X X X X R/W 8-bit timer 1 counter data register 0040166 (B) D7 D6 D5 D4 D3 D2 D1 D0 PTD17 PTD16 PTD15 PTD14 PTD13 PTD12 PTD11 PTD10 8-bit timer 1 counter data PTD17 = MSB PTD10 = LSB 0 to 255 X X X X X X X X R - PTOUT2 PSET2 PTRUN2 reserved 8-bit timer 2 clock output control 8-bit timer 2 preset 8-bit timer 2 Run/Stop control - - 0 - 0 - 0 when being read. R/W W 0 when being read. R/W 8-bit timer 2 0040168 control register (B) D7-3 D2 D1 D0 1 On 1 Preset 1 Run 0 Off 0 Invalid 0 Stop 8-bit timer 2 reload data register 0040169 (B) D7 D6 D5 D4 D3 D2 D1 D0 RLD27 RLD26 RLD25 RLD24 RLD23 RLD22 RLD21 RLD20 8-bit timer 2 reload data RLD27 = MSB RLD20 = LSB 0 to 255 X X X X X X X X R/W 8-bit timer 2 counter data register 004016A (B) D7 D6 D5 D4 D3 D2 D1 D0 PTD27 PTD26 PTD25 PTD24 PTD23 PTD22 PTD21 PTD20 8-bit timer 2 counter data PTD27 = MSB PTD20 = LSB 0 to 255 X X X X X X X X R S1C33T01 FUNCTION PART EPSON B-APPENDIX-7 APPENDIX I/O MAP Register name Address Bit Name Function 8-bit timer 3 004016C D7-3 - control register (B) D2 PTOUT3 D1 PSET3 D0 PTRUN3 reserved 8-bit timer 3 clock output control 8-bit timer 3 preset 8-bit timer 3 Run/Stop control 8-bit timer 3 reload data register 004016D (B) D7 D6 D5 D4 D3 D2 D1 D0 RLD37 RLD36 RLD35 RLD34 RLD33 RLD32 RLD31 RLD30 8-bit timer 3 reload data RLD37 = MSB RLD30 = LSB 8-bit timer 3 counter data register 004016E (B) D7 D6 D5 D4 D3 D2 D1 D0 PTD37 PTD36 PTD35 PTD34 PTD33 PTD32 PTD31 PTD30 8-bit timer 3 counter data PTD37 = MSB PTD30 = LSB B-APPENDIX-8 EPSON Setting - 1 On 1 Preset 1 Run Init. R/W Remarks - 0 - 0 - 0 when being read. R/W W 0 when being read. R/W 0 to 255 X X X X X X X X R/W 0 to 255 X X X X X X X X R 0 Off 0 Invalid 0 Stop S1C33T01 FUNCTION PART APPENDIX I/O MAP Register name Address Bit Name Function Setting Init. R/W Remarks Watchdog 0040170 timer write(B) protect register D7 WRWD D6-0 - EWD write protection - 1 Write enabled 0 Write-protect - 0 - R/W - 0 when being read. Watchdog timer enable register D7-2 - D1 EWD D0 - - Watchdog timer enable - - 1 NMI enabled 0 NMI disabled - - 0 - - 0 when being read. R/W - 0 when being read. D7-3 D2 D1 D0 - PTOUT4 PSET4 PTRUN4 reserved 8-bit timer 4 clock output control 8-bit timer 4 preset 8-bit timer 4 Run/Stop control - 1 On 1 Preset 1 Run - 0 - 0 - 0 when being read. R/W W 0 when being read. R/W 0040171 (B) 8-bit timer 4 0040174 control register (B) 0 Off 0 Invalid 0 Stop 8-bit timer 4 reload data register 0040175 (B) D7 D6 D5 D4 D3 D2 D1 D0 RLD47 RLD46 RLD45 RLD44 RLD43 RLD42 RLD41 RLD40 8-bit timer 4 reload data RLD47 = MSB RLD40 = LSB 0 to 255 X X X X X X X X R/W 8-bit timer 4 counter data register 0040176 (B) D7 D6 D5 D4 D3 D2 D1 D0 PTD47 PTD46 PTD45 PTD44 PTD43 PTD42 PTD41 PTD40 8-bit timer 4 counter data PTD47 = MSB PTD40 = LSB 0 to 255 X X X X X X X X R - PTOUT5 PSET5 PTRUN5 reserved 8-bit timer 5 clock output control 8-bit timer 5 preset 8-bit timer 5 Run/Stop control - - 0 - 0 - 0 when being read. R/W W 0 when being read. R/W 8-bit timer 5 0040178 control register (B) D7-3 D2 D1 D0 1 On 1 Preset 1 Run 0 Off 0 Invalid 0 Stop 8-bit timer 5 reload data register 0040179 (B) D7 D6 D5 D4 D3 D2 D1 D0 RLD57 RLD56 RLD55 RLD54 RLD53 RLD52 RLD51 RLD50 8-bit timer 5 reload data RLD57 = MSB RLD50 = LSB 0 to 255 X X X X X X X X R/W 8-bit timer 5 counter data register 004017A (B) D7 D6 D5 D4 D3 D2 D1 D0 PTD57 PTD56 PTD55 PTD54 PTD53 PTD52 PTD51 PTD50 8-bit timer 5 counter data PTD57 = MSB PTD50 = LSB 0 to 255 X X X X X X X X R S1C33T01 FUNCTION PART EPSON B-APPENDIX-9 APPENDIX I/O MAP Register name Address Bit Name Power control register D7 D6 CLKDT1 CLKDT0 System clock division ratio selection D5 D4-3 D2 D1 D0 PSCON - CLKCHG SOSC3 SOSC1 Prescaler On/Off control reserved 1 OSC3 CPU operating clock switch High-speed (OSC3) oscillation On/Off 1 On Low-speed (OSC1) oscillation On/Off 1 On 0040180 (B) Function Setting CLKDT[1:0] 1 1 1 0 0 1 0 0 1 On R/W 1 0 1 1 1 R/W - Writing 1 not allowed. R/W R/W R/W - 0 0 - R/W - 0 1 0 0 - 0 when being read. R/W R/W - Do not write 1. R/W 0 0 0 0 0 0 0 0 R/W D7-1 - D0 PSCDT0 reserved Prescaler clock selection Clock option register D7-4 D3 D2 D1 D0 - HLT2OP 8T1ON - PF1ON - HALT clock option OSC3-stabilize waiting function reserved OSC1 external output control CLGP7 CLGP6 CLGP5 CLGP4 CLGP3 CLGP2 CLGP1 CLGP0 Power control register protect flag Writing 10010110 (0x96) removes the write protection of the power control register (0x40180) and the clock option register(0x40190). Writing another value set the write protection. Power control 004019E protect register (B) B-APPENDIX-10 D7 D6 D5 D4 D3 D2 D1 D0 EPSON 1 OSC1 0 OSC3/PLL - 1 On 1 Off 0 Off 0 On - 1 On Remarks 0 0 Prescaler clock 0040181 select register (B) 0040190 (B) Init. R/W Division ratio 1/8 1/4 1/2 1/1 0 Off - 0 OSC1 0 Off 0 Off 0 Off S1C33T01 FUNCTION PART APPENDIX I/O MAP Register name Address Bit Serial I/F Ch.0 transmit data register 00401E0 (B) D7 D6 D5 D4 D3 D2 D1 D0 TXD07 TXD06 TXD05 TXD04 TXD03 TXD02 TXD01 TXD00 Name Serial I/F Ch.0 transmit data TXD07(06) = MSB TXD00 = LSB Function 0x0 to 0xFF(0x7F) X X X X X X X X Serial I/F Ch.0 receive data register 00401E1 (B) D7 D6 D5 D4 D3 D2 D1 D0 RXD07 RXD06 RXD05 RXD04 RXD03 RXD02 RXD01 RXD00 Serial I/F Ch.0 receive data RXD07(06) = MSB RXD00 = LSB 0x0 to 0xFF(0x7F) X X X X X X X X R 7-bit asynchronous mode does not use RXD07 (fixed at 0). - - 0 0 0 0 1 0 - R R/W R/W R/W R R 0 when being read. 1 Enabled 0 Disabled 1 Enabled 0 Disabled 1 With parity 0 No parity 1 Odd 0 Even 1 2 bits 0 1 bit 1 #SCLK0 0 Internal clock SMD0[1:0] Transfer mode 1 1 8-bit asynchronous 1 0 7-bit asynchronous Clock sync. Slave 0 1 Clock sync. Master 0 0 0 0 X X X X X X R/W R/W R/W Valid only in R/W asynchronous mode. R/W R/W R/W - - X X X X X - 0 when being read. R/W R/W Valid only in R/W asynchronous mode. R/W Serial I/F Ch.0 00401E2 D7-6 - status register (B) D5 TEND0 D4 FER0 D3 PER0 D2 OER0 D1 TDBE0 D0 RDBF0 - Ch.0 transmit-completion flag Ch.0 flaming error flag Ch.0 parity error flag Ch.0 overrun error flag Ch.0 transmit data buffer empty Ch.0 receive data buffer full Serial I/F Ch.0 00401E3 control register (B) Ch.0 transmit enable Ch.0 receive enable Ch.0 parity enable Ch.0 parity mode selection Ch.0 stop bit selection Ch.0 input clock selection Ch.0 transfer mode selection Serial I/F Ch.0 IrDA register D7 D6 D5 D4 D3 D2 D1 D0 TXEN0 RXEN0 EPR0 PMD0 STPB0 SSCK0 SMD01 SMD00 00401E4 D7-5 - (B) D4 DIVMD0 D3 IRTL0 D2 IRRL0 D1 IRMD01 D0 IRMD00 S1C33T01 FUNCTION PART - Ch.0 async. clock division ratio Ch.0 IrDA I/F output logic inversion Ch.0 IrDA I/F input logic inversion Ch.0 interface mode selection EPSON Setting 1 1 1 1 1 1 Transmitting Error Error Error Empty Buffer full 1 1/8 1 Inverted 1 Inverted IRMD0[1:0] 1 1 1 0 0 1 0 0 0 0 0 0 0 0 Init. R/W End Normal Normal Normal Buffer full Empty 0 1/16 0 Direct 0 Direct I/F mode reserved IrDA 1.0 reserved General I/F Remarks R/W 7-bit asynchronous mode does not use TXD07. Reset by writing 0. Reset by writing 0. Reset by writing 0. B-APPENDIX-11 APPENDIX I/O MAP Register name Address Bit Serial I/F Ch.1 transmit data register 00401E5 (B) D7 D6 D5 D4 D3 D2 D1 D0 TXD17 TXD16 TXD15 TXD14 TXD13 TXD12 TXD11 TXD10 Name Serial I/F Ch.1 transmit data TXD17(16) = MSB TXD10 = LSB Function 0x0 to 0xFF(0x7F) X X X X X X X X Serial I/F Ch.1 receive data register 00401E6 (B) D7 D6 D5 D4 D3 D2 D1 D0 RXD17 RXD16 RXD15 RXD14 RXD13 RXD12 RXD11 RXD10 Serial I/F Ch.1 receive data RXD17(16) = MSB RXD10 = LSB 0x0 to 0xFF(0x7F) X X X X X X X X R 7-bit asynchronous mode does not use RXD17 (fixed at 0). - - 0 0 0 0 1 0 - R R/W R/W R/W R R 0 when being read. 1 Enabled 0 Disabled 1 Enabled 0 Disabled 1 With parity 0 No parity 1 Odd 0 Even 1 2 bits 0 1 bit 1 #SCLK1 0 Internal clock SMD1[1:0] Transfer mode 1 1 8-bit asynchronous 1 0 7-bit asynchronous Clock sync. Slave 0 1 Clock sync. Master 0 0 0 0 X X X X X X R/W R/W R/W Valid only in R/W asynchronous mode. R/W R/W R/W - - X X X X X - 0 when being read. R/W R/W Valid only in R/W asynchronous mode. R/W R/W 7-bit asynchronous mode does not use TXD27. Serial I/F Ch.1 00401E7 D7-6 - status register (B) D5 TEND1 D4 FER1 D3 PER1 D2 OER1 D1 TDBE1 D0 RDBF1 - Ch.1 transmit-completion flag Ch.1 flaming error flag Ch.1 parity error flag Ch.1 overrun error flag Ch.1 transmit data buffer empty Ch.1 receive data buffer full Serial I/F Ch.1 00401E8 control register (B) Ch.1 transmit enable Ch.1 receive enable Ch.1 parity enable Ch.1 parity mode selection Ch.1 stop bit selection Ch.1 input clock selection Ch.1 transfer mode selection D7 D6 D5 D4 D3 D2 D1 D0 TXEN1 RXEN1 EPR1 PMD1 STPB1 SSCK1 SMD11 SMD10 Setting 1 1 1 1 1 1 Transmitting Error Error Error Empty Buffer full 0 0 0 0 0 0 Init. R/W End Normal Normal Normal Buffer full Empty Remarks R/W 7-bit asynchronous mode does not use TXD17. Reset by writing 0. Reset by writing 0. Reset by writing 0. Serial I/F Ch.1 IrDA register 00401E9 D7-5 - (B) D4 DIVMD1 D3 IRTL1 D2 IRRL1 D1 IRMD11 D0 IRMD10 - Ch.1 async. clock division ratio Ch.1 IrDA I/F output logic inversion Ch.1 IrDA I/F input logic inversion Ch.1 interface mode selection Serial I/F Ch.2 transmit data register 00401F0 (B) D7 D6 D5 D4 D3 D2 D1 D0 TXD27 TXD26 TXD25 TXD24 TXD23 TXD22 TXD21 TXD20 Serial I/F Ch.2 transmit data TXD27(26) = MSB TXD20 = LSB 0x0 to 0xFF(0x7F) X X X X X X X X Serial I/F Ch.2 receive data register 00401F1 (B) D7 D6 D5 D4 D3 D2 D1 D0 RXD27 RXD26 RXD25 RXD24 RXD23 RXD22 RXD21 RXD20 Serial I/F Ch.2 receive data RXD27(26) = MSB RXD20 = LSB 0x0 to 0xFF(0x7F) X X X X X X X X R 7-bit asynchronous mode does not use RXD27 (fixed at 0). D7-6 D5 D4 D3 D2 D1 D0 - TEND2 FER2 PER2 OER2 TDBE2 RDBF2 reserved Ch.2 transmit-completion flag Ch.2 flaming error flag Ch.2 parity error flag Ch.2 overrun error flag Ch.2 transmit data buffer empty Ch.2 receive data buffer full - - 0 0 0 0 1 0 - R R/W R/W R/W R R 0 when being read. Serial I/F Ch.2 00401F2 status register (B) B-APPENDIX-12 EPSON 1 1/8 1 Inverted 1 Inverted IRMD1[1:0] 1 1 1 0 0 1 0 0 1 1 1 1 1 1 Transmitting Error Error Error Empty Buffer full 0 1/16 0 Direct 0 Direct I/F mode reserved IrDA 1.0 reserved General I/F 0 0 0 0 0 0 End Normal Normal Normal Buffer full Empty Reset by writing 0. Reset by writing 0. Reset by writing 0. S1C33T01 FUNCTION PART APPENDIX I/O MAP Register name Address Bit Serial I/F Ch.2 00401F3 control register (B) D7 D6 D5 D4 D3 D2 D1 D0 TXEN2 RXEN2 EPR2 PMD2 STPB2 SSCK2 SMD21 SMD20 Name Ch.2 transmit enable Ch.2 receive enable Ch.2 parity enable Ch.2 parity mode selection Ch.2 stop bit selection Ch.2 input clock selection Ch.2 transfer mode selection Function - DIVMD2 IRTL2 IRRL2 IRMD21 IRMD20 reserved Ch.2 async. clock division ratio Ch.2 IrDA I/F output logic inversion Ch.2 IrDA I/F input logic inversion Ch.2 interface mode selection Setting Init. R/W Remarks 1 Enabled 0 Disabled 1 Enabled 0 Disabled 1 With parity 0 No parity 1 Odd 0 Even 1 2 bits 0 1 bit 1 #SCLK2 0 Internal clock SMD2[1:0] Transfer mode 1 1 8-bit asynchronous 1 0 7-bit asynchronous Clock sync. Slave 0 1 Clock sync. Master 0 0 0 0 X X X X X X R/W R/W R/W Valid only in R/W asynchronous mode. R/W R/W R/W - - X X X X X - 0 when being read. R/W R/W Valid only in R/W asynchronous mode. R/W R/W 7-bit asynchronous mode does not use TXD37. Serial I/F Ch.2 IrDA register 00401F4 (B) D7-5 D4 D3 D2 D1 D0 Serial I/F Ch.3 transmit data register 00401F5 (B) D7 D6 D5 D4 D3 D2 D1 D0 TXD37 TXD36 TXD35 TXD34 TXD33 TXD32 TXD31 TXD30 Serial I/F Ch.3 transmit data TXD37(36) = MSB TXD30 = LSB 0x0 to 0xFF(0x7F) X X X X X X X X Serial I/F Ch.3 receive data register 00401F6 (B) D7 D6 D5 D4 D3 D2 D1 D0 RXD37 RXD36 RXD35 RXD34 RXD33 RXD32 RXD31 RXD30 Serial I/F Ch.3 receive data RXD37(36) = MSB RXD30 = LSB 0x0 to 0xFF(0x7F) X X X X X X X X R 7-bit asynchronous mode does not use RXD37 (fixed at 0). D7-6 D5 D4 D3 D2 D1 D0 - TEND3 FER3 PER3 OER3 TDBE3 RDBF3 reserved Ch.3 transmit-completion flag Ch.3 flaming error flag Ch.3 parity error flag Ch.3 overrun error flag Ch.3 transmit data buffer empty Ch.3 receive data buffer full - - 0 0 0 0 1 0 - R R/W R/W R/W R R 0 when being read. D7 D6 D5 D4 D3 D2 D1 D0 TXEN3 RXEN3 EPR3 PMD3 STPB3 SSCK3 SMD31 SMD30 Ch.3 transmit enable Ch.3 receive enable Ch.3 parity enable Ch.3 parity mode selection Ch.3 stop bit selection Ch.3 input clock selection Ch.3 transfer mode selection 1 Enabled 0 Disabled 1 Enabled 0 Disabled 1 With parity 0 No parity 1 Odd 0 Even 1 2 bits 0 1 bit 1 #SCLK3 0 Internal clock SMD3[1:0] Transfer mode 1 1 8-bit asynchronous 1 0 7-bit asynchronous Clock sync. Slave 0 1 Clock sync. Master 0 0 0 0 X X X X X X R/W R/W R/W Valid only in R/W asynchronous mode. R/W R/W R/W D7-5 D4 D3 D2 D1 D0 - DIVMD3 IRTL3 IRRL3 IRMD31 IRMD30 reserved Ch.3 async. clock division ratio Ch.3 IrDA I/F output logic inversion Ch.3 IrDA I/F input logic inversion Ch.3 interface mode selection - - X X X X X - 0 when being read. R/W R/W Valid only in R/W asynchronous mode. R/W Serial I/F Ch.3 00401F7 status register (B) Serial I/F Ch.3 00401F8 control register (B) Serial I/F Ch.3 IrDA register 00401F9 (B) S1C33T01 FUNCTION PART EPSON 1 1/8 1 Inverted 1 Inverted IRMD2[1:0] 1 1 1 0 0 1 0 0 1 1 1 1 1 1 0 1/16 0 Direct 0 Direct I/F mode reserved IrDA 1.0 reserved General I/F Transmitting Error Error Error Empty Buffer full 1 1/8 1 Inverted 1 Inverted IRMD3[1:0] 1 1 1 0 0 1 0 0 0 0 0 0 0 0 End Normal Normal Normal Buffer full Empty 0 1/16 0 Direct 0 Direct I/F mode reserved IrDA 1.0 reserved General I/F Reset by writing 0. Reset by writing 0. Reset by writing 0. B-APPENDIX-13 APPENDIX I/O MAP Register name Address Bit A/D conversion 0040240 result (low(B) order) register D7 D6 D5 D4 D3 D2 D1 D0 Name ADD7 ADD6 ADD5 ADD4 ADD3 ADD2 ADD1 ADD0 Function 0 0 0 0 0 0 0 0 R - 0x0 to 0x3FF (high-order 2 bits) - 0 0 - R - - 0 0 0 D7-2 - D1 ADD9 D0 ADD8 - A/D converted data (high-order 2 bits) ADD9 = MSB A/D trigger register D7-6 D5 D4 D3 - MS TS1 TS0 - A/D conversion mode selection A/D conversion trigger selection D2 D1 D0 CH2 CH1 CH0 A/D conversion channel status D7-6 D5 D4 D3 - CE2 CE1 CE0 - A/D converter end channel selection D2 D1 D0 CS2 CS1 CS0 A/D converter start channel selection - ADF ADE ADST OWE - Conversion-complete flag A/D enable A/D conversion control/status Overwrite error flag A/D channel register 0040243 (B) A/D enable register 0040244 (B) D7-4 D3 D2 D1 D0 A/D sampling register 0040245 (B) D7-2 - D1 ST1 D0 ST0 B-APPENDIX-14 Init. R/W 0x0 to 0x3FF (low-order 8 bits) A/D conversion 0040241 result (high(B) order) register 0040242 (B) Setting A/D converted data (low-order 8 bits) ADD0 = LSB - Input signal sampling time setup EPSON 1 Continuous TS[1:0] 1 1 1 0 0 1 0 0 CH[2:0] 1 1 1 1 1 0 1 0 1 1 0 0 0 1 1 0 1 0 0 0 1 0 0 0 CE[2:0] 1 1 1 1 1 0 1 0 1 1 0 0 0 1 1 0 1 0 0 0 1 0 0 0 CS[2:0] 1 1 1 1 1 0 1 0 1 1 0 0 0 1 1 0 1 0 0 0 1 0 0 0 1 1 1 1 Completed Enabled Start/Run Error ST[1:0] 1 1 1 0 0 1 0 0 0 Normal Trigger #ADTRG pin 8-bit timer 0 16-bit timer 0 Software Channel AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0 0 0 0 Remarks 0 when being read. - 0 when being read. R/W R/W R - End channel AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0 Start channel AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0 - 0 0 0 - 0 when being read. R/W 0 0 0 R/W - - 0 0 0 0 - 0 when being read. R Reset when ADD is read. R/W R/W R/W Reset by writing 0. - 1 1 - 0 when being read. R/W Use with 9 clocks. 0 0 0 0 Run/Standby Disabled Stop Normal - Sampring time 9 clocks 7 clocks 5 clocks 3 clocks S1C33T01 FUNCTION PART APPENDIX I/O MAP Register name Address Bit Port input 0/1 0040260 interrupt (B) priority register D7 D6 D5 D4 D3 D2 D1 D0 - PP1L2 PP1L1 PP1L0 - PP0L2 PP0L1 PP0L0 reserved Port input 1 interrupt level - 0 to 7 reserved Port input 0 interrupt level - 0 to 7 D7 D6 D5 D4 D3 D2 D1 D0 - PP3L2 PP3L1 PP3L0 - PP2L2 PP2L1 PP2L0 reserved Port input 3 interrupt level - 0 to 7 reserved Port input 2 interrupt level - 0 to 7 D7 D6 D5 D4 D3 D2 D1 D0 - PK1L2 PK1L1 PK1L0 - PK0L2 PK0L1 PK0L0 reserved Key input 1 interrupt level - 0 to 7 reserved Key input 0 interrupt level - 0 to 7 D7 D6 D5 D4 D3 D2 D1 D0 - PHSD1L2 PHSD1L1 PHSD1L0 - PHSD0L2 PHSD0L1 PHSD0L0 reserved High-speed DMA Ch.1 interrupt level - 0 to 7 reserved High-speed DMA Ch.0 interrupt level - 0 to 7 D7 D6 D5 D4 D3 D2 D1 D0 - PHSD3L2 PHSD3L1 PHSD3L0 - PHSD2L2 PHSD2L1 PHSD2L0 reserved High-speed DMA Ch.3 interrupt level - 0 to 7 reserved High-speed DMA Ch.2 interrupt level - 0 to 7 - PDM2 PDM1 PDM0 reserved IDMA interrupt level Port input 2/3 0040261 interrupt (B) priority register Key input 0040262 interrupt (B) priority register High-speed 0040263 DMA Ch.0/1 (B) interrupt priority register High-speed 0040264 DMA Ch.2/3 (B) interrupt priority register Name Function Setting - 0 when being read. R/W - X X X - X X X - 0 when being read. R/W - X X X - X X X - 0 when being read. R/W - X X X - X X X - 0 when being read. R/W - X X X - X X X - 0 when being read. R/W - 0 to 7 - X X X - 0 when being read. R/W - X X X - X X X - 0 when being read. R/W - X X X - X X X - 0 when being read. R/W - X X X - X X X - 0 when being read. R/W D7-3 D2 D1 D0 16-bit timer 0/1 0040266 interrupt (B) priority register D7 D6 D5 D4 D3 D2 D1 D0 - P16T12 P16T11 P16T10 - P16T02 P16T01 P16T00 reserved 16-bit timer 1 interrupt level - 0 to 7 reserved 16-bit timer 0 interrupt level - 0 to 7 D7 D6 D5 D4 D3 D2 D1 D0 - P16T32 P16T31 P16T30 - P16T22 P16T21 P16T20 reserved 16-bit timer 3 interrupt level - 0 to 7 reserved 16-bit timer 2 interrupt level - 0 to 7 D7 D6 D5 D4 D3 D2 D1 D0 - P16T52 P16T51 P16T50 - P16T42 P16T41 P16T40 reserved 16-bit timer 5 interrupt level - 0 to 7 reserved 16-bit timer 4 interrupt level - 0 to 7 16-bit timer 4/5 0040268 interrupt (B) priority register S1C33T01 FUNCTION PART EPSON Remarks - X X X - X X X IDMA interrupt 0040265 priority register (B) 16-bit timer 2/3 0040267 interrupt (B) priority register Init. R/W - 0 when being read. R/W - 0 when being read. R/W - 0 when being read. R/W - 0 when being read. R/W - 0 when being read. R/W - 0 when being read. R/W - 0 when being read. R/W - 0 when being read. R/W B-APPENDIX-15 APPENDIX I/O MAP Register name Address Bit 8-bit timer, 0040269 serial I/F Ch.0 (B) interrupt priority register D7 D6 D5 D4 D3 D2 D1 D0 - PSIO02 PSIO01 PSIO00 - P8TM2 P8TM1 P8TM0 reserved Serial interface Ch.0 interrupt level - 0 to 7 reserved 8-bit timer 0-5 interrupt level - 0 to 7 D7 D6 D5 D4 D3 D2 D1 D0 - PAD2 PAD1 PAD0 - PSIO12 PSIO11 PSIO10 reserved A/D converter interrupt level - 0 to 7 reserved Serial interface Ch.1 interrupt level - 0 to 7 Clock timer 004026B D7-3 - interrupt (B) D2 PCTM2 priority register D1 PCTM1 D0 PCTM0 reserved Clock timer interrupt level Port input 4/5 004026C interrupt (B) priority register Serial I/F Ch.1, 004026A A/D interrupt (B) priority register Port input 6/7 004026D interrupt (B) priority register Serial I/F 004026E Ch.2/3 (B) interrupt priority register B-APPENDIX-16 Name Function Setting Remarks - X X X - X X X - 0 when being read. R/W - X X X - X X X - 0 when being read. R/W - 0 to 7 - X X X - Writing 1 not allowed. R/W - X X X - X X X - 0 when being read. R/W - X X X - X X X - 0 when being read. R/W - X X X - X X X - 0 when being read. R/W D7 D6 D5 D4 D3 D2 D1 D0 - PP5L2 PP5L1 PP5L0 - PP4L2 PP4L1 PP4L0 reserved Port input 5 interrupt level - 0 to 7 reserved Port input 4 interrupt level - 0 to 7 D7 D6 D5 D4 D3 D2 D1 D0 - PP7L2 PP7L1 PP7L0 - PP6L2 PP6L1 PP6L0 reserved Port input 7 interrupt level - 0 to 7 reserved Port input 6 interrupt level - 0 to 7 D7 D6 D5 D4 D3 D2 D1 D0 - PSIO32 PSIO31 PSIO30 - PSIO22 PSIO21 PSIO20 reserved Serial interface Ch.3 interrupt level - 0 to 7 reserved Serial interface Ch.2 interrupt level - 0 to 7 EPSON Init. R/W - 0 when being read. R/W - 0 when being read. R/W - 0 when being read. R/W - 0 when being read. R/W - 0 when being read. R/W S1C33T01 FUNCTION PART APPENDIX I/O MAP Register name Address Bit Key input, 0040270 port input 0-3 (B) interrupt enable register D7-6 D5 D4 D3 D2 D1 D0 - EK1 EK0 EP3 EP2 EP1 EP0 Name reserved Key input 1 Key input 0 Port input 3 Port input 2 Port input 1 Port input 0 Function DMA interrupt 0040271 enable register (B) D7-5 D4 D3 D2 D1 D0 - EIDMA EHDM3 EHDM2 EHDM1 EHDM0 reserved IDMA High-speed DMA Ch.3 High-speed DMA Ch.2 High-speed DMA Ch.1 High-speed DMA Ch.0 16-bit timer 0/1 0040272 interrupt (B) enable register D7 D6 D5-4 D3 D2 D1-0 E16TC1 E16TU1 - E16TC0 E16TU0 - D7 D6 D5-4 D3 D2 D1-0 Setting Init. R/W - 1 Enabled 0 Disabled - 1 Enabled 0 Disabled 16-bit timer 1 comparison A 16-bit timer 1 comparison B reserved 16-bit timer 0 comparison A 16-bit timer 0 comparison B reserved 1 Enabled 0 Disabled E16TC3 E16TU3 - E16TC2 E16TU2 - 16-bit timer 3 comparison A 16-bit timer 3 comparison B reserved 16-bit timer 2 comparison A 16-bit timer 2 comparison B reserved 1 Enabled D7 D6 D5-4 D3 D2 D1-0 E16TC5 E16TU5 - E16TC4 E16TU4 - 16-bit timer 5 comparison A 16-bit timer 5 comparison B reserved 16-bit timer 4 comparison A 16-bit timer 4 comparison B reserved 1 Enabled 8-bit timer 0040275 interrupt (B) enable register D7-4 D3 D2 D1 D0 - E8TU3 E8TU2 E8TU1 E8TU0 reserved 8-bit timer 3 underflow 8-bit timer 2 underflow 8-bit timer 1 underflow 8-bit timer 0 underflow Serial I/F Ch.0/1 0040276 interrupt (B) enable register D7-6 D5 D4 D3 D2 D1 D0 - ESTX1 ESRX1 ESERR1 ESTX0 ESRX0 ESERR0 reserved SIF Ch.1 transmit buffer empty SIF Ch.1 receive buffer full SIF Ch.1 receive error SIF Ch.0 transmit buffer empty SIF Ch.0 receive buffer full SIF Ch.0 receive error Port input 4-7, 0040277 clock timer, (B) A/D interrupt enable register D7-6 D5 D4 D3 D2 D1 D0 - EP7 EP6 EP5 EP4 ECTM EADE reserved Port input 7 Port input 6 Port input 5 Port input 4 Clock timer A/D converter 8-bit timer 0040278 interrupt (B) enable register D7-2 - D1 E8TU1 D0 E8TU0 reserved 8-bit timer 5 underflow 8-bit timer 4 underflow Serial I/F 0040279 Ch.2/3 (B) interrupt enable register D7-6 D5 D4 D3 D2 D1 D0 reserved SIF Ch.3 transmit buffer empty SIF Ch.3 receive buffer full SIF Ch.3 receive error SIF Ch.2 transmit buffer empty SIF Ch.2 receive buffer full SIF Ch.2 receive error 16-bit timer 2/3 0040273 interrupt (B) enable register 16-bit timer 4/5 0040274 interrupt (B) enable register S1C33T01 FUNCTION PART - ESTX3 ESRX3 ESERR3 ESTX2 ESRX2 ESERR2 - 1 Enabled 0 Disabled - 0 Disabled - 1 Enabled 0 Disabled - 0 Disabled - 1 Enabled 0 Disabled - - 1 Enabled 0 Disabled - 1 Enabled 0 Disabled - 1 Enabled EPSON 0 Disabled - 1 Enabled 0 Disabled - 1 Enabled 0 Disabled Remarks - 0 0 0 0 0 0 - 0 when being read. R/W R/W R/W R/W R/W R/W - 0 0 0 0 0 - 0 when being read. R/W R/W R/W R/W R/W 0 0 - 0 0 - R/W R/W - 0 when being read. R/W R/W - 0 when being read. 0 0 - 0 0 - R/W R/W - 0 when being read. R/W R/W - 0 when being read. 0 0 - 0 0 - R/W R/W - 0 when being read. R/W R/W - 0 when being read. - 0 0 0 0 - 0 when being read. R/W R/W R/W R/W - 0 0 0 0 0 0 - 0 when being read. R/W R/W R/W R/W R/W R/W - 0 0 0 0 0 0 - 0 when being read. R/W R/W R/W R/W R/W R/W - 0 0 - 0 when being read. R/W R/W - 0 0 0 0 0 0 - 0 when being read. R/W R/W R/W R/W R/W R/W B-APPENDIX-17 APPENDIX I/O MAP Register name Address Bit Key input, 0040280 port input 0-3 (B) interrupt factor flag register D7-6 D5 D4 D3 D2 D1 D0 - FK1 FK0 FP3 FP2 FP1 FP0 Name reserved Key input 1 Key input 0 Port input 3 Port input 2 Port input 1 Port input 0 Function DMA interrupt factor flag register 0040281 (B) D7-5 D4 D3 D2 D1 D0 - FIDMA FHDM3 FHDM2 FHDM1 FHDM0 reserved IDMA High-speed DMA Ch.3 High-speed DMA Ch.2 High-speed DMA Ch.1 High-speed DMA Ch.0 16-bit timer 0/1 0040282 interrupt factor (B) flag register D7 D6 D5-4 D3 D2 D1-0 F16TC1 F16TU1 - F16TC0 F16TU0 - D7 D6 D5-4 D3 D2 D1-0 Setting - 1 Factor is generated 0 No factor is generated - 1 Factor is generated 0 No factor is generated 16-bit timer 1 comparison A 16-bit timer 1 comparison B reserved 16-bit timer 0 comparison A 16-bit timer 0 comparison B reserved 1 Factor is generated 0 No factor is generated F16TC3 F16TU3 - F16TC2 F16TU2 - 16-bit timer 3 comparison A 16-bit timer 3 comparison B reserved 16-bit timer 2 comparison A 16-bit timer 2 comparison B reserved 1 Factor is generated D7 D6 D5-4 D3 D2 D1-0 F16TC5 F16TU5 - F16TC4 F16TU4 - 16-bit timer 5 comparison A 16-bit timer 5 comparison B reserved 16-bit timer 4 comparison A 16-bit timer 4 comparison B reserved 1 Factor is generated 8-bit timer 0040285 interrupt factor (B) flag register D7-4 D3 D2 D1 D0 - F8TU3 F8TU2 F8TU1 F8TU0 reserved 8-bit timer 3 underflow 8-bit timer 2 underflow 8-bit timer 1 underflow 8-bit timer 0 underflow Serial I/F Ch.0/1 0040286 interrupt factor (B) flag register D7-6 D5 D4 D3 D2 D1 D0 - FSTX1 FSRX1 FSERR1 FSTX0 FSRX0 FSERR0 reserved SIF Ch.1 transmit buffer empty SIF Ch.1 receive buffer full SIF Ch.1 receive error SIF Ch.0 transmit buffer empty SIF Ch.0 receive buffer full SIF Ch.0 receive error Port input 4-7, 0040287 clock timer, A/D (B) interrupt factor flag register D7-6 D5 D4 D3 D2 D1 D0 - FP7 FP6 FP5 FP4 FCTM FADE reserved Port input 7 Port input 6 Port input 5 Port input 4 Clock timer A/D converter 8-bit timer 0040288 interrupt factor (B) flag register D7-2 - D1 E8TU1 D0 E8TU0 reserved 8-bit timer 5 underflow 8-bit timer 4 underflow Serial I/F 0040289 Ch.2/3 (B) interrupt factor flag register D7-6 D5 D4 D3 D2 D1 D0 reserved SIF Ch.3 transmit buffer empty SIF Ch.3 receive buffer full SIF Ch.3 receive error SIF Ch.2 transmit buffer empty SIF Ch.2 receive buffer full SIF Ch.2 receive error 16-bit timer 2/3 0040283 interrupt factor (B) flag register 16-bit timer 4/5 0040284 interrupt factor (B) flag register B-APPENDIX-18 - FSTX3 FSRX3 FSERR3 FSTX2 FSRX2 FSERR2 - 1 Factor is generated 0 No factor is generated - 0 No factor is generated - 1 Factor is generated 0 No factor is generated - 0 No factor is generated - 1 Factor is generated 0 No factor is generated - - 1 Factor is generated 0 No factor is generated - 1 Factor is generated 0 No factor is generated - 1 Factor is generated EPSON 0 No factor is generated - 1 Factor is generated 0 No factor is generated - 1 Factor is generated 0 No factor is generated Init. R/W Remarks - X X X X X X - 0 when being read. R/W R/W R/W R/W R/W R/W - X X X X X - 0 when being read. R/W R/W R/W R/W R/W X X - X X - R/W R/W - 0 when being read. R/W R/W - 0 when being read. X X - X X - R/W R/W - 0 when being read. R/W R/W - 0 when being read. X X - X X - R/W R/W - 0 when being read. R/W R/W - 0 when being read. - X X X X - 0 when being read. R/W R/W R/W R/W - X X X X X X - 0 when being read. R/W R/W R/W R/W R/W R/W - X X X X X X - 0 when being read. R/W R/W R/W R/W R/W R/W - X X - 0 when being read. R/W R/W - X X X X X X - 0 when being read. R/W R/W R/W R/W R/W R/W S1C33T01 FUNCTION PART APPENDIX I/O MAP Register name Address Bit Name Port input 0-3, high-speed DMA Ch.0/1, 16-bit timer 0 IDMA request register 0040290 (B) D7 D6 D5 D4 D3 D2 D1 D0 R16TC0 R16TU0 RHDM1 RHDM0 RP3 RP2 RP1 RP0 16-bit timer 0 comparison A 16-bit timer 0 comparison B High-speed DMA Ch.1 High-speed DMA Ch.0 Port input 3 Port input 2 Port input 1 Port input 0 1 IDMA request 0 Interrupt request 0 0 0 0 0 0 0 0 R/W R/W R/W R/W R/W R/W R/W R/W 16-bit timer 1-4 0040291 IDMA request (B) register D7 D6 D5 D4 D3 D2 D1 D0 R16TC4 R16TU4 R16TC3 R16TU3 R16TC2 R16TU2 R16TC1 R16TU1 16-bit timer 4 comparison A 16-bit timer 4 comparison B 16-bit timer 3 comparison A 16-bit timer 3 comparison B 16-bit timer 2 comparison A 16-bit timer 2 comparison B 16-bit timer 1 comparison A 16-bit timer 1 comparison B 1 IDMA request 0 Interrupt request 0 0 0 0 0 0 0 0 R/W R/W R/W R/W R/W R/W R/W R/W 16-bit timer 5, 8-bit timer, serial I/F Ch.0 IDMA request register 0040292 (B) D7 D6 D5 D4 D3 D2 D1 D0 RSTX0 RSRX0 R8TU3 R8TU2 R8TU1 R8TU0 R16TC5 R16TU5 SIF Ch.0 transmit buffer empty SIF Ch.0 receive buffer full 8-bit timer 3 underflow 8-bit timer 2 underflow 8-bit timer 1 underflow 8-bit timer 0 underflow 16-bit timer 5 comparison A 16-bit timer 5 comparison B 1 IDMA request 0 Interrupt request 0 0 0 0 0 0 0 0 R/W R/W R/W R/W R/W R/W R/W R/W Serial I/F Ch.1, A/D, port input 4-7 IDMA request register 0040293 (B) D7 D6 D5 D4 D3 D2 D1 D0 RP7 RP6 RP5 RP4 - RADE RSTX1 RSRX1 Port input 7 Port input 6 Port input 5 Port input 4 reserved A/D converter SIF Ch.1 transmit buffer empty SIF Ch.1 receive buffer full 1 IDMA request 0 Interrupt request 1 IDMA request 0 Interrupt request 0 0 0 0 - 0 0 0 R/W R/W R/W R/W - 0 when being read. R/W R/W R/W 0040294 (B) D7 D6 D5 D4 D3 D2 D1 D0 DE16TC0 DE16TU0 DEHDM1 DEHDM0 DEP3 DEP2 DEP1 DEP0 16-bit timer 0 comparison A 16-bit timer 0 comparison B High-speed DMA Ch.1 High-speed DMA Ch.0 Port input 3 Port input 2 Port input 1 Port input 0 1 IDMA enabled 0 IDMA disabled 0 0 0 0 0 0 0 0 R/W R/W R/W R/W R/W R/W R/W R/W 16-bit timer 1-4 0040295 IDMA enable (B) register D7 D6 D5 D4 D3 D2 D1 D0 DE16TC4 DE16TU4 DE16TC3 DE16TU3 DE16TC2 DE16TU2 DE16TC1 DE16TU1 16-bit timer 4 comparison A 16-bit timer 4 comparison B 16-bit timer 3 comparison A 16-bit timer 3 comparison B 16-bit timer 2 comparison A 16-bit timer 2 comparison B 16-bit timer 1 comparison A 16-bit timer 1 comparison B 1 IDMA enabled 0 IDMA disabled 0 0 0 0 0 0 0 0 R/W R/W R/W R/W R/W R/W R/W R/W 16-bit timer 5, 8-bit timer, serial I/F Ch.0 IDMA enable register 0040296 (B) D7 D6 D5 D4 D3 D2 D1 D0 DESTX0 DESRX0 DE8TU3 DE8TU2 DE8TU1 DE8TU0 DE16TC5 DE16TU5 SIF Ch.0 transmit buffer empty SIF Ch.0 receive buffer full 8-bit timer 3 underflow 8-bit timer 2 underflow 8-bit timer 1 underflow 8-bit timer 0 underflow 16-bit timer 5 comparison A 16-bit timer 5 comparison B 1 IDMA enabled 0 IDMA disabled 0 0 0 0 0 0 0 0 R/W R/W R/W R/W R/W R/W R/W R/W Serial I/F Ch.1, A/D, port input 4-7 IDMA enable register 0040297 (B) D7 D6 D5 D4 D3 D2 D1 D0 DEP7 DEP6 DEP5 DEP4 - DEADE DESTX1 DESRX1 Port input 7 Port input 6 Port input 5 Port input 4 reserved A/D converter SIF Ch.1 transmit buffer empty SIF Ch.1 receive buffer full 1 IDMA enabled 0 IDMA disabled 0 0 0 0 - 0 0 0 R/W R/W R/W R/W - 0 when being read. R/W R/W R/W Port input 0-3, high-speed DMA Ch.0/1, 16-bit timer 0 IDMA enable register S1C33T01 FUNCTION PART Function EPSON Setting - - 1 IDMA enabled 0 IDMA disabled Init. R/W Remarks B-APPENDIX-19 APPENDIX I/O MAP Register name Address Bit Name High-speed DMA Ch.0/1 trigger set-up register D7 D6 D5 D4 HSD1S3 HSD1S2 HSD1S1 HSD1S0 0040298 (B) D3 D2 D1 D0 High-speed DMA Ch.2/3 trigger set-up register 0040299 (B) D7 D6 D5 D4 D3 D2 D1 D0 HSD0S3 HSD0S2 HSD0S1 HSD0S0 HSD3S3 HSD3S2 HSD3S1 HSD3S0 HSD2S3 HSD2S2 HSD2S1 HSD2S0 Function High-speed DMA Ch.1 trigger set-up High-speed DMA Ch.0 trigger set-up High-speed DMA Ch.3 trigger set-up High-speed DMA Ch.2 trigger set-up High-speed 004029A D7-4 - DMA software (B) D3 HST3 trigger register D2 HST2 D1 HST1 D0 HST0 reserved HSDMA Ch.3 software trigger HSDMA Ch.2 software trigger HSDMA Ch.1 software trigger HSDMA Ch.0 software trigger 8-bit timer 4-5 004029B D7-6 - serial I/F Ch.2/3 (B) D5 RSTX3 IDMA request D4 RSRX3 register D3 RSTX2 D2 RSRX2 D1 R8TU5 D0 R8TU4 reserved SIF Ch.3 transmit buffer empty SIF Ch.3 receive buffer full SIF Ch.2 transmit buffer empty SIF Ch.2 receive buffer full 8-bit timer 5 underflow 8-bit timer 4 underflow B-APPENDIX-20 EPSON Setting 0 1 2 3 4 5 6 7 8 9 A B C D E 0 1 2 3 4 5 6 7 8 9 A B C D E 0 1 2 3 4 5 6 7 8 9 A B C D E 0 1 2 3 4 5 6 7 8 9 A B C D E Software trigger K51 input (falling edge) K51 input (rising edge) Port 1 input Port 5 input 8-bit timer Ch.1 underflow 16-bit timer Ch.1 compare B 16-bit timer Ch.1 compare A 16-bit timer Ch.5 compare B 16-bit timer Ch.5 compare A SI/F Ch.1 Rx buffer full SI/F Ch.1 Tx buffer empty A/D conversion completion Init. R/W 0 0 0 0 R/W 0 0 0 0 R/W 0 0 0 0 R/W 0 0 0 0 R/W - 0 0 0 0 - W W W W Remarks Single-master I2C-bus Ch.1 read DMA request Single-master I2C-bus Ch.1 write DMA request Software trigger K50 input (falling edge) K50 input (rising edge) Port 0 input Port 4 input 8-bit timer Ch.0 underflow 16-bit timer Ch.0 compare B 16-bit timer Ch.0 compare A 16-bit timer Ch.4 compare B 16-bit timer Ch.4 compare A SI/F Ch.0 Rx buffer full SI/F Ch.0 Tx buffer empty A/D conversion completion Single-master I2C-bus Ch.0 read DMA request Single-master I2C-bus Ch.0 write DMA request Software trigger K54 input (falling edge) K54 input (rising edge) Port 3 input Port 7 input 8-bit timer Ch.3 underflow 16-bit timer Ch.3 compare B 16-bit timer Ch.3 compare A 16-bit timer Ch.5 compare B 16-bit timer Ch.5 compare A SI/F Ch.1 Rx buffer full SI/F Ch.1 Tx buffer empty A/D conversion completion Single-master I2C-bus Ch.1 read DMA request Single-master I2C-bus Ch.1 write DMA request Software trigger K53 input (falling edge) K53 input (rising edge) Port 2 input Port 6 input 8-bit timer Ch.2 underflow 16-bit timer Ch.2 compare B 16-bit timer Ch.2 compare A 16-bit timer Ch.4 compare B 16-bit timer Ch.4 compare A SI/F Ch.0 Rx buffer full SI/F Ch.0 Tx buffer empty A/D conversion completion Single-master I2C-bus Ch.0 read DMA request Single-master I2C-bus Ch.0 write DMA request - 1 Trigger 0 Invalid - 1 IDMA request 0 Interrupt request - 0 0 0 0 0 0 0 when being read. - 0 when being read. R/W R/W R/W R/W R/W R/W S1C33T01 FUNCTION PART APPENDIX I/O MAP Register name Address Bit Name 8-bit timer 4-5 004029C D7-6 - serial I/F Ch.2/3 (B) D5 DESTX3 IDMA enable D4 DESRX3 register D3 DESTX2 D2 DESRX2 D1 DE8TU5 D0 DE8TU4 Flag set/reset method select register 004029F (B) Function reserved SIF Ch.3 transmit buffer empty SIF Ch.3 receive buffer full SIF Ch.2 transmit buffer empty SIF Ch.2 receive buffer full 8-bit timer 5 underflow 8-bit timer 4 underflow Setting - 1 IDMA enabled 0 IDMA disabled D7-3 - reserved - 0 RD/WR D2 DENONLY IDMA enable register set method 1 Set only selection D1 IDMAONLY IDMA request register set method 1 Set only 0 RD/WR selection D0 RSTONLY Interrupt factor flag reset method 1 Reset only 0 RD/WR selection S1C33T01 FUNCTION PART EPSON Init. R/W Remarks - 0 0 0 0 0 0 - 0 when being read. R/W R/W R/W R/W R/W R/W - 1 - R/W 1 R/W 1 R/W B-APPENDIX-21 APPENDIX I/O MAP Register name Address Bit Port input 8/9 00402A0 interrupt (B) priority register D7 D6 D5 D4 D3 D2 D1 D0 - PP9L2 PP9L1 PP9L0 - PP8L2 PP8L1 PP8L0 reserved Port input 9 interrupt level - 0 to 7 reserved Port input 8 interrupt level - 0 to 7 D7 D6 D5 D4 D3 D2 D1 D0 - PP11L2 PP11L1 PP11L0 - PP10L2 PP10L1 PP10L0 reserved Port input 11 interrupt level - 0 to 7 reserved Port input 10 interrupt level - 0 to 7 D7 D6 D5 D4 D3 D2 D1 D0 - PP13L2 PP13L1 PP13L0 - PP12L2 PP12L1 PP12L0 reserved Port input 12 interrupt level - 0 to 7 reserved Port input 13 interrupt level - 0 to 7 D7 D6 D5 D4 D3 D2 D1 D0 - PP15L2 PP15L1 PP15L0 - PP14L2 PP14L1 PP14L0 eserved Port input 15 interrupt level - 0 to 7 reserved Port input 14 interrupt level - 0 to 7 D7 D6 D5 D4 D3 D2 D1 D0 - P16T72 P16T71 P16T70 - P16T62 P16T61 P16T60 reserved 16-bit timer 7 interrupt level - 0 to 7 reserved 16-bit timer 6 interrupt level - 0 to 7 D7 D6 D5 D4 D3 D2 D1 D0 - P16T72 P16T71 P16T70 - P16T62 P16T61 P16T60 reserved 16-bit timer 9 interrupt level - 0 to 7 reserved 16-bit timer 8 interrupt level - 0 to 7 D7 D6 D5 D4 D3 D2 D1 D0 EP15 EP14 EP13 EP12 EP11 EP10 EP9 EP8 Port input 15 Port input 14 Port input 13 Port input 12 Port input 11 Port input 10 Port input 9 Port input 8 1 Enabled 16-bit timer 6/7 00402A7 D7 interrupt (B) D6 enable register D5-4 D3 D2 D1-0 E16TC7 E16TU7 - E16TC6 E16TU6 - 16-bit timer 7 comparison A 16-bit timer 7 comparison B reserved 16-bit timer 6 comparison A 16-bit timer 6 comparison B reserved 1 Enabled 16-bit timer 8/9 00402A8 D7 interrupt (B) D6 enable register D5-4 D3 D2 D1-0 E16TC9 E16TU9 - E16TC8 E16TU8 - 16-bit timer 9 comparison A 16-bit timer 9 comparison B reserved 16-bit timer 8 comparison A 16-bit timer 8 comparison B reserved 1 Enabled Port input 00402A1 10/11 interrupt (B) priority register Port input 00402A2 12/13 interrupt (B) priority register Port input 00402A3 14/15 interrupt (B) priority register 16-bit timer 6/7 00402A4 interrupt (B) priority register 16-bit timer 8/9 00402A5 interrupt (B) priority register Port input 00402A6 interrupt (B) enable register B-APPENDIX-22 Name Function EPSON Setting - 0 when being read. R/W - X X X - X X X - 0 when being read. R/W - X X X - X X X - 0 when being read. R/W - X X X - X X X - 0 when being read. R/W - X X X - X X X - 0 when being read. R/W - X X X - X X X - 0 when being read. R/W 0 Disabled 0 0 0 0 0 0 0 0 R/W R/W R/W R/W R/W R/W R/W R/W 0 Disabled 0 0 - 0 0 - R/W R/W - 0 when being read. R/W R/W - 0 when being read. 0 0 - 0 0 - R/W R/W - 0 when being read. R/W R/W - 0 when being read. 0 Disabled - 0 Disabled - 1 Enabled 0 Disabled - Remarks - X X X - X X X - 1 Enabled Init. R/W - 0 when being read. R/W - 0 when being read. R/W - 0 when being read. R/W - 0 when being read. R/W - 0 when being read. R/W - 0 when being read. R/W S1C33T01 FUNCTION PART APPENDIX I/O MAP Register name Address Bit Port input 00402A9 interrupt factor (B) flag register D7 D6 D5 D4 D3 D2 D1 D0 Name Function Setting Init. R/W Remarks FP15 FP14 FP13 FP12 FP11 FP10 FP9 FP8 Port input 15 Port input 14 Port input 13 Port input 12 Port input 11 Port input 10 Port input 9 Port input 8 1 Factor is generated 0 No factor is generated 0 0 0 0 0 0 0 0 R/W R/W R/W R/W R/W R/W R/W R/W 16-bit timer 6/7 00402AA D7 interrupt factor (B) D6 flag register D5-4 D3 D2 D1-0 F16TC7 F16TU7 - F16TC6 F16TU6 - 16-bit timer 7 comparison A 16-bit timer 7 comparison B reserved 16-bit timer 6 comparison A 16-bit timer 6 comparison B reserved 1 Factor is generated 0 No factor is generated 0 0 - 0 0 - R/W R/W - 0 when being read. R/W R/W - 0 when being read. 16-bit timer 8/9 00402AB D7 interrupt factor (B) D6 flag register D5-4 D3 D2 D1-0 F16TC9 F16TU9 - F16TC8 F16TU8 - 16-bit timer 9 comparison A 16-bit timer 9 comparison B reserved 16-bit timer 8 comparison A 16-bit timer 8 comparison B reserved 1 Factor is generated 0 0 - 0 0 - R/W R/W - 0 when being read. R/W R/W - 0 when being read. Port input IDMA request register - 1 Factor is generated 0 No factor is generated - 0 No factor is generated - 1 Factor is generated 0 No factor is generated - 00402AC (B) D7 D6 D5 D4 D3 D2 D1 D0 RP15 RP14 RP13 RP12 RP11 RP10 RP9 RP8 Port input 15 Port input 14 Port input 13 Port input 12 Port input 11 Port input 10 Port input 9 Port input 8 1 IDMA request 0 Interrupt request 0 0 0 0 0 0 0 0 R/W R/W R/W R/W R/W R/W R/W R/W 16-bit timer 6-9 00402AD IDMA request (B) register D7 D6 D5 D4 D3 D2 D1 D0 R16TC9 R16TU9 R16TC8 R16TU8 R16TC7 R16TU7 R16TC6 R16TU6 16-bit timer 9 comparison A 16-bit timer 9 comparison B 16-bit timer 8 comparison A 16-bit timer 8 comparison B 16-bit timer 7 comparison A 16-bit timer 7 comparison B 16-bit timer 6 comparison A 16-bit timer 6 comparison B 1 IDMA request 0 Interrupt request 0 0 0 0 0 0 0 0 R/W R/W R/W R/W R/W R/W R/W R/W Port input IDMA enable register 00402AE (B) D7 D6 D5 D4 D3 D2 D1 D0 DEP15 DEP14 DEP13 DEP12 DEP11 DEP10 DEP9 DEP8 Port input 15 Port input 14 Port input 13 Port input 12 Port input 11 Port input 10 Port input 9 Port input 8 1 IDMA enabled 0 IDMA disabled 0 0 0 0 0 0 0 0 R/W R/W R/W R/W R/W R/W R/W R/W 16-bit timer 6-9 00402AF IDMA enable (B) register D7 D6 D5 D4 D3 D2 D1 D0 DE16TC9 DE16TU9 DE16TC8 DE16TU8 DE16TC7 DE16TU7 DE16TC6 DE16TU6 16-bit timer 9 comparison A 16-bit timer 9 comparison B 16-bit timer 8 comparison A 16-bit timer 8 comparison B 16-bit timer 7 comparison A 16-bit timer 7 comparison B 16-bit timer 6 comparison A 16-bit timer 6 comparison B 1 IDMA enabled 0 IDMA disabled 0 0 0 0 0 0 0 0 R/W R/W R/W R/W R/W R/W R/W R/W S1C33T01 FUNCTION PART EPSON B-APPENDIX-23 APPENDIX I/O MAP Register name Address Bit Single-master 00402B0 I2C-bus Ch.0/1 (B) interrupt priority register D7 D6 D5 D4 D3 D2 D1 D0 Name - P12C12 P12C11 P12C10 - P12C02 P12C01 P12C00 Function Setting reserved I2CSMST Ch.1 interrupt level - 0 to 7 reserved I2CSMST Ch.0 interrupt level - 0 to 7 Single-master 00402B1 D7-6 - I2C-bus Ch.0/1 (B) D5 E12CW1 interrupt D4 E12CR1 ebable D3 E12CI1 register D2 E12CW0 D1 E12CR0 D0 E12CI0 reserved I2CSMST Ch.1 write DMA request I2CSMST Ch.1 read DMA request I2CSMST Ch.1 request I2CSMST Ch.0 write DMA request I2CSMST Ch.0 read DMA request I2CSMST Ch.0 request Single-master 00402B2 D7-6 - I2C-bus Ch.0/1 (B) D5 F12CW1 interrupt D4 F12CR1 factor flag D3 F12CI1 register D2 F12CW0 D1 F12CR0 D0 F12CI0 reserved I2CSMST Ch.1 write DMA request I2CSMST Ch.1 read DMA request I2CSMST Ch.1 request I2CSMST Ch.0 write DMA request I2CSMST Ch.0 read DMA request I2CSMST Ch.0 request Single-master 00402B3 D7-4 - I2C-bus Ch.0/1 (B) D3 R12CW1 IDMA D2 R12CR1 request D1 R12CW0 register D0 R12CR0 reserved I2CSMST Ch.1 write DMA request 1 IDMA I2CSMST Ch.1 read DMArequest request I2CSMST Ch.0 write DMA request I2CSMST Ch.0 read DMA request - Single-master 00402B4 D7-4 - reserved I2C-bus Ch.0/1 (B) D3 DE12CW1 I2CSMST Ch.1 write DMA request 1 IDMA enabled IDMA D2 DE12CR1 I2CSMST Ch.1 read DMArequest enable D1 DE12CW0 I2CSMST Ch.0 write DMA request register D0 DE12CR0 I2CSMST Ch.0 read DMA request - K5 function select register 00402C0 D7-5 - (B) D4 CFK54 D3 CFK53 D2 CFK52 D1 CFK51 D0 CFK50 reserved K54 function selection K53 function selection K52 function selection K51 function selection K50 function selection - K5 input port data register 00402C1 D7-5 - (B) D4 K54D D3 K53D D2 K52D D1 K51D D0 K50D reserved K54 input port data K53 input port data K52 input port data K51 input port data K50 input port data K6 function select register 00402C3 (B) D7 D6 D5 D4 D3 D2 D1 D0 CFK67 CFK66 CFK65 CFK64 CFK63 CFK62 CFK61 CFK60 K6 input port data register 00402C4 (B) D7 D6 D5 D4 D3 D2 D1 D0 K67D K66D K65D K64D K63D K62D K61D K60D B-APPENDIX-24 Init. R/W - 1 Enabled 0 Disabled - 1 Factor is generated 1 1 1 1 1 0 No factor is generated 0 Interrupt request 0 IDMA disabled #DMAREQ3 #DMAREQ2 #ADTRG #DMAREQ1 #DMAREQ0 0 0 0 0 0 K54 K53 K52 K51 K50 - - 0 when being read. R/W R/W R/W R/W R/W R/W - 0 0 0 0 0 0 - 0 when being read. R/W R/W R/W R/W R/W R/W - 0 0 0 0 - 0 when being read. R/W R/W R/W R/W - 0 0 0 0 - 0 when being read. R/W R/W R/W R/W - 0 0 0 0 0 - 0 when being read. R/W R/W R/W R/W R/W K67 K66 K65 K64 K63 K62 K61 K60 0 0 0 0 0 0 0 0 R/W R/W R/W R/W R/W R/W R/W R/W 0 Low - - - - - - - - R R R R R R R R K67 function selection K66 function selection K65 function selection K64 function selection K63 function selection K62 function selection K61 function selection K60 function selection 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 K67 input port data K66 input port data K65 input port data K64 input port data K63 input port data K62 input port data K61 input port data K60 input port data 1 High EPSON - 0 0 0 0 0 0 - 0 when being read. R/W - R R R R R 0 Low AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0 - 0 when being read. R/W - - - - - - 1 High Remarks - X X X - X X X 0 when being read. S1C33T01 FUNCTION PART APPENDIX I/O MAP Register name Address Bit Port input 00402C6 interrupt select (B) register 1 D7 D6 D5 D4 D3 D2 D1 D0 SPT31 SPT30 SPT21 SPT20 SPT11 SPT10 SPT01 SPT00 FPT3 interrupt input port selection D7 D6 D5 D4 D3 D2 D1 D0 SPT71 SPT70 SPT61 SPT60 SPT51 SPT50 SPT41 SPT40 FPT7 interrupt input port selection Port input 00402C7 interrupt select (B) register 2 Name Function FPT2 interrupt input port selection FPT1 interrupt input port selection FPT0 interrupt input port selection FPT6 interrupt input port selection FPT5 interrupt input port selection FPT4 interrupt input port selection Setting Init. R/W 11 P23 11 P22 11 P21 11 P20 10 P03 10 P02 10 P01 10 P00 01 K53 01 K52 01 K51 01 K50 00 K63 00 K62 00 K61 00 K60 0 0 0 0 0 0 0 0 R/W 11 P27 11 P26 11 P25 11 P24 10 P07 10 P06 10 P05 10 P04 01 P33 01 P32 01 P31 01 K54 00 K67 00 K66 00 K65 00 K64 0 0 0 0 0 0 0 0 R/W Low level or Falling edge 1 1 1 1 1 1 1 1 R/W R/W R/W R/W R/W R/W R/W R/W 1 1 1 1 1 1 1 1 R/W R/W R/W R/W R/W R/W R/W R/W Port input interrupt input polarity select register 00402C8 (B) D7 D6 D5 D4 D3 D2 D1 D0 SPPT7 SPPT6 SPPT5 SPPT4 SPPT3 SPPT2 SPPT1 SPPT0 FPT7 input polarity selection FPT6 input polarity selection FPT5 input polarity selection FPT4 input polarity selection FPT3 input polarity selection FPT2 input polarity selection FPT1 input polarity selection FPT0 input polarity selection 1 High level 0 or Rising edge Port input interrupt edge/level select register 00402C9 (B) D7 D6 D5 D4 D3 D2 D1 D0 SEPT7 SEPT6 SEPT5 SEPT4 SEPT3 SEPT2 SEPT1 SEPT0 FPT7 edge/level selection FPT6 edge/level selection FPT5 edge/level selection FPT4 edge/level selection FPT3 edge/level selection FPT2 edge/level selection FPT1 edge/level selection FPT0 edge/level selection 1 Edge 0 Level Remarks R/W R/W R/W R/W R/W R/W Key input 00402CA D7-4 - interrupt select (B) D3 SPPK11 register D2 SPPK10 D1 SPPK01 D0 SPPK00 reserved FPK1 interrupt input port selection - 11 10 01 00 P2[7:4] P0[7:4] K6[7:4] K6[3:0] FPK0 interrupt input port selection 11 10 01 00 P2[4:0] P0[4:0] K6[4:0] K5[4:0] - 0 0 0 0 - 0 when being read. R/W Key input interrupt (FPK0) input comparison register 00402CC D7-5 - (B) D4 SCPK04 D3 SCPK03 D2 SCPK02 D1 SCPK01 D0 SCPK00 reserved FPK04 input comparison FPK03 input comparison FPK02 input comparison FPK01 input comparison FPK00 input comparison - 0 0 0 0 0 - 0 when being read. R/W R/W R/W R/W R/W Key input interrupt (FPK1) input comparison register 00402CD D7-4 - (B) D3 SCPK13 D2 SCPK12 D1 SCPK11 D0 SCPK10 reserved FPK13 input comparison FPK12 input comparison FPK11 input comparison FPK10 input comparison - 0 0 0 0 - 0 when being read. R/W R/W R/W R/W Key input interrupt (FPK0) input mask register 00402CE D7-5 - (B) D4 SMPK04 D3 SMPK03 D2 SMPK02 D1 SMPK01 D0 SMPK00 reserved FPK04 input mask FPK03 input mask FPK02 input mask FPK01 input mask FPK00 input mask - 0 0 0 0 0 - 0 when being read. R/W R/W R/W R/W R/W Key input interrupt (FPK1) input mask register 00402CF D7-4 - (B) D3 SMPK13 D2 SMPK12 D1 SMPK11 D0 SMPK10 reserved FPK13 input mask FPK12 input mask FPK11 input mask FPK10 input mask - 0 0 0 0 - 0 when being read. R/W R/W R/W R/W S1C33T01 FUNCTION PART - 1 High 0 Low - 1 High 0 Low - 1 Interrupt enabled 0 Interrupt disabled - 1 Interrupt enabled EPSON 0 Interrupt disabled R/W B-APPENDIX-25 APPENDIX I/O MAP Register name Address Bit P0 function select register 00402D0 (B) D7 D6 D5 D4 D3 D2 D1 D0 CFP07 CFP06 CFP05 CFP04 CFP03 CFP02 CFP01 CFP00 Name P07 function selection P06 function selection P05 function selection P04 function selection P03 function selection P02 function selection P01 function selection P00 function selection Function 1 1 1 1 1 1 1 1 Setting P0 I/O port data 00402D1 register (B) D7 D6 D5 D4 D3 D2 D1 D0 P07D P06D P05D P04D P03D P02D P01D P00D P07 I/O port data P06 I/O port data P05 I/O port data P04 I/O port data P03 I/O port data P02 I/O port data P01 I/O port data P00 I/O port data P0 I/O control register 00402D2 (B) D7 D6 D5 D4 D3 D2 D1 D0 IOC07 IOC06 IOC05 IOC04 IOC03 IOC02 IOC01 IOC00 P1 function select register 00402D4 (B) D7 D6 0 0 0 0 0 0 0 0 Init. R/W Remarks P07 P06 P05 P04 P03 P02 P01 P00 0 0 0 0 0 0 0 0 R/W Extended functions R/W (0x402DF) R/W R/W R/W R/W R/W R/W 1 High 0 Low 0 0 0 0 0 0 0 0 R/W R/W R/W R/W R/W R/W R/W R/W P07 I/O control P06 I/O control P05 I/O control P04 I/O control P03 I/O control P02 I/O control P01 I/O control P00 I/O control 1 Output 0 Input 0 0 0 0 0 0 0 0 R/W R/W R/W R/W R/W R/W R/W R/W - CFP16 reserved P16 function selection - 0 - 0 when being read. R/W D5 CFP15 P15 function selection 0 R/W D4 CFP14 P14 function selection - 1 EXCL5 0 P16 #DMAEND1 1 EXCL4 0 P15 #DMAEND0 1 FOSC1 0 P14 0 D3 CFP13 P13 function selection 0 P13 0 D2 CFP12 P12 function selection 0 P12 0 R/W D1 CFP11 P11 function selection 0 P11 0 R/W D0 CFP10 P10 function selection 1 EXCL3 T8UF3 1 EXCL2 T8UF2 1 EXCL1 T8UF1 1 EXCL0 T8UF0 R/W Extended functions (0x402DF) R/W 0 P10 0 R/W P1 I/O port data 00402D5 register (B) D7 D6 D5 D4 D3 D2 D1 D0 - P16D P15D P14D P13D P12D P11D P10D reserved P16 I/O port data P15 I/O port data P14 I/O port data P13 I/O port data P12 I/O port data P11 I/O port data P10 I/O port data - 0 0 0 0 0 0 0 - 0 when being read. R/W R/W R/W R/W R/W R/W R/W P1 I/O control register 00402D6 (B) D7 D6 D5 D4 D3 D2 D1 D0 - IOC16 IOC15 IOC14 IOC13 IOC12 IOC11 IOC10 reserved P16 I/O control P15 I/O control P14 I/O control P13 I/O control P12 I/O control P11 I/O control P10 I/O control - 0 0 0 0 0 0 0 - 0 when being read. R/W R/W R/W R/W R/W R/W R/W P2 function select register 00402D8 (B) D7 D6 D5 D4 D3 D2 D1 D0 CFP27 CFP26 CFP25 CFP24 CFP23 CFP22 CFP21 CFP20 P27 P26 P25 P24 P23 P22 P21 P20 0 0 0 0 0 0 0 0 R/W R/W R/W R/W R/W R/W R/W Ext. func.(0x402DF) R/W P2 I/O port data 00402D9 register (B) D7 D6 D5 D4 D3 D2 D1 D0 P27D P26D P25D P24D P23D P22D P21D P20D 0 Low 0 0 0 0 0 0 0 0 R/W R/W R/W R/W R/W R/W R/W R/W B-APPENDIX-26 #SRDY1 #SCLK1 SOUT1 SIN1 #SRDY0 #SCLK0 SOUT0 SIN0 - 1 High 0 Low - 1 Output 0 Input P27 function selection P26 function selection P25 function selection P24 function selection P23 function selection P22 function selection P21 function selection P20 function selection 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 P27 I/O port data P26 I/O port data P25 I/O port data P24 I/O port data P23 I/O port data P22 I/O port data P21 I/O port data P20 I/O port data 1 High EPSON TM5 TM4 TM3 TM2 TM1 TM0 #DWE #DRD S1C33T01 FUNCTION PART APPENDIX I/O MAP Register name Address Bit P2 I/O control register D7 D6 D5 D4 D3 D2 D1 D0 00402DA (B) Name IOC27 IOC26 IOC25 IOC24 IOC23 IOC22 IOC21 IOC20 P3 function 00402DC D7-6 - select register (B) D5 CFP35 D4 CFP34 D3 D2 D1 D0 CFP33 CFP32 CFP31 CFP30 Function 1 Output reserved P35 function selection P34 function selection - 1 #BUSACK 0 1 #BUSREQ 0 #CE6 1 #DMAACK1 0 1 #DMAACK0 0 1 #BUSGET 0 1 #WAIT 0 #CE4/#CE5 P33 function selection P32 function selection P31 function selection P30 function selection P3 I/O port data 00402DD D7-6 - register (B) D5 P35D D4 P34D D3 P33D D2 P32D D1 P31D D0 P30D reserved P35 I/O port data P34 I/O port data P33 I/O port data P32 I/O port data P31 I/O port data P30 I/O port data P3 I/O control register 00402DE D7-6 - (B) D5 IOC35 D4 IOC34 D3 IOC33 D2 IOC32 D1 IOC31 D0 IOC30 reserved P35 I/O control P34 I/O control P33 I/O control P32 I/O control P31 I/O control P30 I/O control Port function extension register 00402DF (B) Init. R/W 0 Input R/W R/W R/W R/W R/W R/W R/W R/W P35 P34 - 0 0 - 0 when being read. R/W R/W P33 P32 P31 P30 0 0 0 0 R/W R/W R/W Ext. func.(0x402DF) R/W - 0 0 0 0 0 0 - 0 when being read. R/W R/W R/W R/W R/W R/W - 0 0 0 0 0 0 - 0 when being read. R/W R/W R/W R/W R/W R/W 0 0 0 0 0 0 1 R/W R/W R/W R/W R/W R/W R/W 1 R/W 0 Low - CFEX7 CFEX6 CFEX5 CFEX4 CFEX3 CFEX2 CFEX1 P07 port extended function P06 port extended function P05 port extended function P04 port extended function P31 port extended function P21 port extended function P10, P11, P13 port extended function D0 CFEX0 P12, P14 port extended function EPSON 1 Output 0 Input 1 1 1 1 1 1 1 0 0 0 0 0 0 0 #DMAEND3 #DMAACK3 #DMAEND2 #DMAACK2 #GARD #GAAS DST0 DST1 DPC0 1 DST2 DCLK Remarks 0 0 0 0 0 0 0 0 - 1 High D7 D6 D5 D4 D3 D2 D1 S1C33T01 FUNCTION PART Setting P27 I/O control P26 I/O control P25 I/O control P24 I/O control P23 I/O control P22 I/O control P21 I/O control P20 I/O control P07, etc. P06, etc. P05, etc. P04, etc. P31, etc. P21, etc. P10, etc. P11, etc. P13, etc. 0 P12, etc. P14, etc. B-APPENDIX-27 APPENDIX I/O MAP Register name Address Bit P4 function select register 0040300 (B) D7 D6 D5 D4 D3 D2 D1 D0 CFP47 CFP46 CFP45 CFP44 CFP43 CFP42 CFP41 CFP40 Name P47 function selection P46 function selection P45 function selection P44 function selection P43 function selection P42 function selection P41 function selection P40 function selection 1 1 1 1 1 1 1 1 P4 I/O port data 0040301 register (B) D7 D6 D5 D4 D3 D2 D1 D0 P47D P46D P45D P44D P43D P42D P41D P40D P47 I/O port data P46 I/O port data P45 I/O port data P44 I/O port data P43 I/O port data P42 I/O port data P41 I/O port data P40 I/O port data P4 I/O control register 0040302 (B) D7 D6 D5 D4 D3 D2 D1 D0 IOC47 IOC46 IOC45 IOC44 IOC43 IOC42 IOC41 IOC40 P47 I/O control P46 I/O control P45 I/O control P44 I/O control P43 I/O control P42 I/O control P41 I/O control P40 I/O control P5 function select register 0040303 (B) D7-2 - D1 CFP51 D0 CFP50 Function reserved P51 function selection P50 function selection Setting #SRDY3 #SCLK3 SOUT3 SIN3 #SRDY2 #SCLK2 SOUT2 SIN2 0 0 0 0 0 0 0 0 Init. R/W Remarks P47 P46 P45 P44 P43 P42 P41 P40 0 0 0 0 0 0 0 0 R/W R/W R/W R/W R/W R/W R/W R/W 1 High 0 Low 0 0 0 0 0 0 0 0 R/W R/W R/W R/W R/W R/W R/W R/W 1 Output 0 Input 0 0 0 0 0 0 0 0 R/W R/W R/W R/W R/W R/W R/W R/W - 0 0 - 0 when being read. R/W R/W - 1 T8UF5 1 T8UF4 0 P51 0 P50 P5 I/O port data 0040304 register (B) D7 D6 D5 D4 D3 D2 D1 D0 P57D P56D P55D P54D P53D P52D P51D P50D P57 I/O port data P56 I/O port data P55 I/O port data P54 I/O port data P53 I/O port data P52 I/O port data P51 I/O port data P50 I/O port data 1 High 0 Low 0 0 0 0 0 0 0 0 R/W R/W R/W R/W R/W R/W R/W R/W P5 I/O control register 0040305 (B) D7 D6 D5 D4 D3 D2 D1 D0 IOC57 IOC56 IOC55 IOC54 IOC53 IOC52 IOC51 IOC50 P57 I/O control P56 I/O control P55 I/O control P54 I/O control P53 I/O control P52 I/O control P51 I/O control P50 I/O control 1 Output 0 Input 0 0 0 0 0 0 0 0 R/W R/W R/W R/W R/W R/W R/W R/W Port input interrupt selection expansion register 0040306 (B) D7 D6 D5 D4 D3 D2 D1 D0 SPTEX7 SPTEX6 SPTEX5 SPTEX4 SPTEX3 SPTEX2 SPTEX1 SPTEX0 FPT7 interrupt input port selection expansion FPT6 interrupt input port selection expansion FPT5 interrupt input port selection expansion FPT4 interrupt input port selection expansion FPT3 interrupt input port selection expansion FPT2 interrupt input port selection expansion FPT1 interrupt input port selection expansion FPT0 interrupt input port selection expansion 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 R/W R/W R/W R/W R/W R/W R/W R/W P6 I/O port data 0040307 register (B) D7 D6 D5 D4 D3 D2 D1 D0 P67D P66D P65D P64D P63D P62D P61D P60D P67 I/O port data P66 I/O port data P65 I/O port data P64 I/O port data P63 I/O port data P62 I/O port data P61 I/O port data P60 I/O port data 1 High 0 Low 0 0 0 0 0 0 0 0 R/W R/W R/W R/W R/W R/W R/W R/W P6 I/O control register 0040308 (B) D7 D6 D5 D4 D3 D2 D1 D0 IOC67 IOC66 IOC65 IOC64 IOC63 IOC62 IOC61 IOC60 P67 I/O control P66 I/O control P65 I/O control P64 I/O control P63 I/O control P62 I/O control P61 I/O control P60 I/O control 1 Output 0 Input 0 0 0 0 0 0 0 0 R/W R/W R/W R/W R/W R/W R/W R/W Key input 0040309 (B) - 0 0 - 0 when being read. R/W R/W interrupt selection expansion register B-APPENDIX-28 D7-2 - D1 SPPKEX1 D0 SPPKEX0 P67 P66 P65 P64 P63 P62 P61 P60 reserved FPK1 interrupt input port selection expansion 1 P7[7:4] FPK0 interrupt input port selection expansion 1 P7[4:0] EPSON P27,etc. P26,etc. P25,etc. P24,etc. P23,etc. P22,etc. P21,etc. P20,etc. - 0 P2[7:4],etc. 0 P2[4:0],etc. S1C33T01 FUNCTION PART APPENDIX I/O MAP Register name Address P7 function select register Bit Name 004030A D7-2 - (B) D1 CFP71 D0 CFP70 Function Setting Init. R/W - 1 SCL1,SDA1 0 P72,P73 1 SCL0,SDA0 0 P70,P71 - 0 0 - 0 when being read. R/W R/W P7 I/O port data 004030B register (B) D7 D6 D5 D4 D3 D2 D1 D0 P77D P76D P75D P74D P73D P72D P71D P70D P77 I/O port data P76 I/O port data P75 I/O port data P74 I/O port data P73 I/O port data P72 I/O port data P71 I/O port data P70 I/O port data 1 High 0 Low 0 0 0 0 0 0 0 0 R/W R/W R/W R/W R/W R/W R/W R/W P7 I/O control register 004030C (B) D7 D6 D5 D4 D3 D2 D1 D0 IOC77 IOC76 IOC75 IOC74 IOC73 IOC72 IOC71 IOC70 P77 I/O control P76 I/O control P75 I/O control P74 I/O control P73 I/O control P72 I/O control P71 I/O control P70 I/O control 1 Output 0 Input 0 0 0 0 0 0 0 0 R/W R/W R/W R/W R/W R/W R/W R/W P8 function select register 004030D (B) D7 D6 D5 D4 D3 D2 D1 D0 CFP87 CFP86 CFP85 CFP84 CFP83 CFP82 CFP81 CFP80 P87 function selection P86 function selection P85 function selection P84 function selection P83 function selection P82 function selection P81 function selection P80 function selection 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 P87 P86 P85 P84 P83 P82 P81 P80 0 0 0 0 0 0 0 0 R/W R/W R/W R/W R/W R/W R/W R/W P8 I/O port data 004030E register (B) D7 D6 D5 D4 D3 D2 D1 D0 P87D P86D P85D P84D P83D P82D P81D P80D P87 I/O port data P86 I/O port data P85 I/O port data P84 I/O port data P83 I/O port data P82 I/O port data P81 I/O port data P80 I/O port data 1 High 0 Low 0 0 0 0 0 0 0 0 R/W R/W R/W R/W R/W R/W R/W R/W P8 I/O control register 004030F (B) D7 D6 D5 D4 D3 D2 D1 D0 IOC87 IOC86 IOC85 IOC84 IOC83 IOC82 IOC81 IOC80 P87 I/O control P86 I/O control P85 I/O control P84 I/O control P83 I/O control P82 I/O control P81 I/O control P80 I/O control 1 Output 0 Input 0 0 0 0 0 0 0 0 R/W R/W R/W R/W R/W R/W R/W R/W Port input interrupt input polarity select register 0040310 (B) D7 D6 D5 D4 D3 D2 D1 D0 SPPT15 SPPT14 SPPT13 SPPT12 SPPT11 SPPT10 SPPT9 SPPT8 FPT15 input polarity selection FPT14 input polarity selection FPT13 input polarity selection FPT12 input polarity selection FPT11 input polarity selection FPT10 input polarity selection FPT9 input polarity selection FPT8 input polarity selection 1 1 1 1 1 1 1 1 1 R/W R/W R/W R/W R/W R/W R/W R/W Port input interrupt edge/level select register 0040311 (B) D7 D6 D5 D4 D3 D2 D1 D0 SEPT15 SEPT14 SEPT13 SEPT12 SEPT11 SEPT10 SEPT9 SEPT8 FPT15 edge/level selection FPT14 edge/level selection FPT13 edge/level selection FPT12 edge/level selection FPT11 edge/level selection FPT10 edge/level selection FPT9 edge/level selection FP8 edge/level selection 1 Edge 1 1 1 1 1 1 1 1 R/W R/W R/W R/W R/W R/W R/W R/W S1C33T01 FUNCTION PART Remarks reserved P72,P73 function selection P70,P71 function selection EPSON TM9 TM8 TM7 TM6 EXCL9 EXCL8 EXCL7 EXCL6 High level 0 or Rising edge Low level or Falling edge 0 Level B-APPENDIX-29 APPENDIX I/O MAP Register name Address Bit Name Single-master I2C-bus Ch.0 transmit data register 0040320 (B) D7 D6 D5 D4 D3 D2 D1 D0 I2CTD07 I2CTD06 I2CTD05 I2CTD04 I2CTD03 I2CTD02 I2CTD01 I2CTD00 Single-master I2C-bus Ch.0 transmit data I2CTD07 = MSB I2CTD00 = LSB Function 0x0 to 0xFF Setting Init. R/W 0 0 0 0 0 0 0 0 Single-master I2C-bus Ch.0 receive data register 0040321 (B) D7 D6 D5 D4 D3 D2 D1 D0 I2CRD07 I2CRD06 I2CRD05 I2CRD04 I2CRD03 I2CRD02 I2CRD01 I2CRD00 Single-master I2C-bus Ch.0 receive data I2CRD07 = MSB I2CRD00 = LSB 0x0 to 0xFF 0 0 0 0 0 0 0 0 R Single-master I2C-bus Ch.0 control register 0040322 (B) D7-6 D5 D4 D3 D2 D1 D0 - I2CSR0 CLKW0 TACK0 TRNS02 TRNS01 TRNS00 reserved Ch.0 dual-wavelength reset Ch.0 clock wait Ch.0 transmit ACK signal Ch.0 operate command - - 0 0 0 0 0 0 - R/W R/W R/W R/W Single-master I2C-bus Ch.0 status register 0040323 (B) D7 D6 D5 D4 D3 D2 D1 D0 RUN0 - SSDA0 SSCL0 UB0 BB0 EH0 CMP0 Command operating state reserved SDA0 status SCL0 status Ch.0 bus usage state I2C-bus usage state Ch.0 error flag Ch.0 transmit command complete R - R R R R R R Initialized by software reset 0 when being read. 1 Reset 1 On 1 ACK TRNS0[2:0] 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 0 Clear 0 Off 0 NACK Transfer mode Generate start condition Generate stop condition Receive data Transfer data Dummy DMA send mode Dummy DMA receive mode Other values Clear error flag 1 Executing 0 Standby 0 0 0 0 0 0 Low Low Bus not in use I2C-bus free Normal Wait for complete or idle 0 - X X 0 0 0 0 - 1 1 1 1 1 1 High High Bus in use I2C-bus in use Error Done Initialized by software reset 0 when being read. Initialized by software reset Initialized by software reset Initialized by software reset Initialized by software reset Initialized by software reset Initialized by software reset Initialized by software reset Single-master I2C-bus Ch.0 error status register 0040324 (B) D7-5 D4 D3 D2 D1 D0 - RACK0 CMS0 DMS0 SPD0 STD0 reserved Ch.0 receive ACK signal Ch.0 clock mismatch Ch.0 data mismatch Ch.0 stop condition Ch.0 start condition 1 1 1 1 1 Error Detected Detected Detected Detected 0 0 0 0 0 No error Not detected Not detected Not detected Not detected - 0 0 0 0 0 - R R R R R 0 when being read. Initialized by software reset Initialized by software reset Initialized by software reset Initialized by software reset Initialized by software reset Single-master I2C-bus Ch.0 interrupt control/status register 0040325 (B) D7-4 D3 D2 D1 D0 - IS_EH0 IS_CMP0 IC_EH0 IC_CMP0 reserved Ch.0 interrupt error status Ch.0 interrupt complete status Ch.0 error interrput Ch.0 complete interrupt 1 1 1 1 - Factor generated 0 Factor generated 0 Enabled 0 Enabled 0 No factor generated No factor generated Disabled Disabled - 0 0 0 0 - R/W R/W R/W R/W 0 when being read. Initialized by software reset Initialized by software reset Initialized by software reset Initialized by software reset Single-master I2C-bus Ch.0 noise filter clock (NCLK0) divisor register 0040326 (B) D7-4 D3 D2 D1 D0 - NIS_P03 NIS_P02 NIS_P01 NIS_P00 reserved Ch.0 noise filter clock division ratio setting - 0 0 0 0 - 0 when being read. R/W : selected by Prescaler clock select register (0x40181) B-APPENDIX-30 EPSON - Remarks R/W Initialized by software reset - NIS_P0[3:0] Division ratio 1 1 1 1 /60 1 1 1 0 /56 1 1 0 1 /52 1 1 0 0 /48 1 0 1 1 /44 1 0 1 0 /40 1 0 0 1 /36 1 0 0 0 /32 0 1 1 1 /28 0 1 1 0 /24 0 1 0 1 /20 0 1 0 0 /16 0 0 1 1 /12 0 0 1 0 /8 0 0 0 1 /4 0 0 0 0 /2 S1C33T01 FUNCTION PART APPENDIX I/O MAP Register name Address Bit Name Function Single-master I2C-bus Ch.0 I2C-bus clock (SCL0) divisor register 0040327 (B) D7-3 D2 D1 D0 - SCL_P02 SCL_P01 SCL_P00 reserved SCL0 division ratio setting Single-master I2C-bus Ch.0 I/O select register 0040328 (B) D7-4 D3 D2 D1 D0 - SDAP0 SCLP0 SDAS0 SCLS0 reserved Ch.0 data push-pull circuit Ch.0 clock push-pull circuit Ch.0 data spike suppression circuit Ch.0 clock spike suppression circuit Single-master I2C-bus Ch.0 DMA mode setting register 0040329 (B) D7-2 - D1 D0_MD1 D0 D0_MD0 Single-master I2C-bus Ch.0 IDMA counter (lower) register 004032A (B) D7 D6 D5 D4 D3 D2 D1 D0 D0_CNT7 D0_CNT6 D0_CNT5 D0_CNT4 D0_CNT3 D0_CNT2 D0_CNT1 D0_CNT0 Single-master I2C-bus Ch.0 IDMA counter (upper) register 004032B (B) D7 D6 D5 D4 D3 D2 D1 D0 Single-master I2C-bus Ch.0 DMA status register 004032C D7-4 - (B) D3 I2CTDBE0 D2 I2CRDBE0 D1 RDREQ0_H D0 WDREQ0_H S1C33T01 FUNCTION PART Setting Init. R/W Remarks - 0 0 0 - 0 when being read. R/W : Single-master I2C-bus Ch.0 noise filter clock (NCLK0) - 1 Low/high output 0 Low/Hi-Z output 1 Low/high output 0 Low/Hi-Z output suppression suppression 1 Spike 0 Spike required not required suppression suppression 1 Spike 0 Spike required not required - 0 0 1 1 - R/W R/W R/W R/W - - 0 0 - 0 when being read. R/W Initialized by software reset Ch.0 IDMA byte counter value [7:0] (lower byte) D0_CNT0 = LSB 0 0 0 0 0 0 0 0 R/W D0_CNT15 Ch.1 IDMA byte counter value D0_CNT14 [15:8] (upper byte) D0_CNT13 D0_CNT15 = MSB D0_CNT12 D0_CNT11 D0_CNT10 D0_CNT9 D0_CNT8 0 0 0 0 0 0 0 0 R/W - 1 0 0 0 - R R R R reserved Ch.0 DMA mode setting reserved Ch.0 transmit data buffer empty Ch.0 receive data buffer update Ch.0 read DMA request signal status Ch.0 write DMA request signal status EPSON SCL P0[2:0] 1 1 1 1 1 0 1 0 1 1 0 0 0 1 1 0 1 0 0 0 1 0 0 0 - Division ratio /512 /256 /128 /64 /32 /16 /8 /4 D0_MD[1:0] 1 1 1 0 0 1 0 0 DMA mode HS_DMA IDMA reserved NON - 1 1 1 1 Empty Updated High High 0 0 0 0 Full Not updated Low Low 0 when being read. Initialized by software reset Initialized by software reset Initialized by software reset Initialized by software reset 0 when being read. Initialized by software reset Initialized by software reset Initialized by software reset Initialized by software reset B-APPENDIX-31 APPENDIX I/O MAP Register name Address Bit Name Single-master I2C-bus Ch.1 transmit data register 0040330 (B) D7 D6 D5 D4 D3 D2 D1 D0 I2CTD17 I2CTD16 I2CTD15 I2CTD14 I2CTD13 I2CTD12 I2CTD11 I2CTD10 Single-master I2C-bus Ch.1 transmit data I2CTD17 = MSB I2CTD10 = LSB Function 0x0 to 0xFF Setting Init. R/W 0 0 0 0 0 0 0 0 Single-master I2C-bus Ch.1 receive data register 0040331 (B) D7 D6 D5 D4 D3 D2 D1 D0 I2CRD17 I2CRD16 I2CRD15 I2CRD14 I2CRD13 I2CRD12 I2CRD11 I2CRD10 Single-master I2C-bus Ch.1 receive data I2CRD17 = MSB I2CRD10 = LSB 0x0 to 0xFF 0 0 0 0 0 0 0 0 R Single-master I2C-bus Ch.1 control register 0040332 (B) D7-6 D5 D4 D3 D2 D1 D0 - I2CSR1 CLKW1 TACK1 TRNS12 TRNS11 TRNS10 reserved Ch.1 dual-wavelength reset Ch.1 clock wait Ch.1 transmit ACK signal Ch.1 operate command - - 0 0 0 0 0 0 - R/W R/W R/W R/W Single-master I2C-bus Ch.1 status register 0040333 (B) D7 D6 D5 D4 D3 D2 D1 D0 RUN01 - SSDA1 SSCL1 UB1 BB1 EH1 CMP1 Command operating state reserved SDA1 status SCL1 status Ch.1 bus usage state I2C-bus usage state Ch.1 error flag Ch.1 transmit command complete R - R R R R R R Initialized by software reset 0 when being read. 1 Reset 1 On 1 ACK TRNS1[2:0] 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 0 Clear 0 Off 0 NACK Transfer mode Generate start condition Generate stop condition Receive data Transfer data Dummy DMA send mode Dummy DMA receive mode Other values Clear error flag 1 Executing 0 Standby 0 0 0 0 0 0 Low Low Bus not in use I2C-bus free Normal Wait for complete or idle 0 - X X 0 0 0 0 - 1 1 1 1 1 1 High High Bus in use I2C-bus in use Error Done Initialized by software reset 0 when being read. Initialized by software reset Initialized by software reset Initialized by software reset Initialized by software reset Initialized by software reset Initialized by software reset Initialized by software reset Single-master I2C-bus Ch.1 error status register 0040334 (B) D7-5 D4 D3 D2 D1 D0 - RACK1 CMS1 DMS1 SPD1 STD1 reserved Ch.1 receive ACK signal Ch.1 clock mismatch Ch.1 data mismatch Ch.1 stop condition Ch.1 start condition 1 1 1 1 1 Error Detected Detected Detected Detected 0 0 0 0 0 No error Not detected Not detected Not detected Not detected - 0 0 0 0 0 - R R R R R 0 when being read. Initialized by software reset Initialized by software reset Initialized by software reset Initialized by software reset Initialized by software reset Single-master I2C-bus Ch.1 interrupt control/status register 0040335 (B) D7-4 D3 D2 D1 D0 - IS_EH1 IS_CMP1 IC_EH1 IC_CMP1 reserved Ch.1 interrupt error status Ch.1 interrupt complete status Ch.1 error interrput Ch.1 complete interrupt 1 1 1 1 - Factor generated 0 Factor generated 0 Enabled 0 Enabled 0 No factor generated No factor generated Disabled Disabled - 0 0 0 0 - R/W R/W R/W R/W 0 when being read. Initialized by software reset Initialized by software reset Initialized by software reset Initialized by software reset Single-master I2C-bus Ch.1 noise filter clock (NCLK0) divisor register 0040336 (B) D7-4 D3 D2 D1 D0 - NIS_P13 NIS_P12 NIS_P11 NIS_P10 reserved Ch.1 noise filter clock division ratio setting - 0 0 0 0 - 0 when being read. R/W : selected by Prescaler clock select register (0x40181) B-APPENDIX-32 EPSON - Remarks R/W Initialized by software reset - NIS_P1[3:0] Division ratio 1 1 1 1 /60 1 1 1 0 /56 1 1 0 1 /52 1 1 0 0 /48 1 0 1 1 /44 1 0 1 0 /40 1 0 0 1 /36 1 0 0 0 /32 0 1 1 1 /28 0 1 1 0 /24 0 1 0 1 /20 0 1 0 0 /16 0 0 1 1 /12 0 0 1 0 /8 0 0 0 1 /4 0 0 0 0 /2 S1C33T01 FUNCTION PART APPENDIX I/O MAP Register name Address Bit Name Function Single-master I2C-bus Ch.1 I2C-bus clock (SCL0) divisor register 0040337 (B) D7-3 D2 D1 D0 - SCL_P12 SCL_P11 SCL_P10 reserved SCL1 division ratio setting Single-master I2C-bus Ch.1 I/O select register 0040338 (B) D7-4 D3 D2 D1 D0 - SDAP1 SCLP1 SDAS1 SCLS1 reserved Ch.1 data push-pull circuit Ch.1 clock push-pull circuit Ch.1 data spike suppression circuit Ch.1 clock spike suppression circuit Single-master I2C-bus Ch.1 DMA mode setting register 0040339 (B) D7-2 - D1 D1_MD1 D0 D1_MD0 Single-master I2C-bus Ch.1 IDMA counter (lower) register 004033A (B) D7 D6 D5 D4 D3 D2 D1 D0 D1_CNT7 D1_CNT6 D1_CNT5 D1_CNT4 D1_CNT3 D1_CNT2 D1_CNT1 D1_CNT0 Single-master I2C-bus Ch.1 IDMA counter (upper) register 004033B (B) D7 D6 D5 D4 D3 D2 D1 D0 Single-master I2C-bus Ch.1 DMA status register 004033C D7-4 - (B) D3 I2CTDBE1 D2 I2CRDBE1 D1 RDREQ1_H D0 WDREQ1_H S1C33T01 FUNCTION PART Setting Init. R/W Remarks - 0 0 0 - 0 when being read. R/W : Single-master I2C-bus Ch.1 noise filter clock (NCLK1) - 1 Low/high output 0 Low/Hi-Z output 1 Low/high output 0 Low/Hi-Z output suppression suppression 1 Spike 0 Spike required not required suppression suppression 1 Spike 0 Spike required not required - 0 0 1 1 - R/W R/W R/W R/W - - 0 0 - 0 when being read. R/W Initialized by software reset Ch.1 IDMA byte counter value [7:0] (lower byte) D1_CNT0 = LSB 0 0 0 0 0 0 0 0 R/W D1_CNT15 Ch.1 IDMA byte counter value D1_CNT14 [15:8] (upper byte) D1_CNT13 D1_CNT15 = MSB D1_CNT12 D1_CNT11 D1_CNT10 D1_CNT9 D1_CNT8 0 0 0 0 0 0 0 0 R/W - 1 0 0 0 - R R R R reserved Ch.1 DMA mode setting reserved Ch.1 transmit data buffer empty Ch.1 receive data buffer update Ch.1 read DMA request signal status Ch.1 write DMA request signal status EPSON SCL P1[2:0] 1 1 1 1 1 0 1 0 1 1 0 0 0 1 1 0 1 0 0 0 1 0 0 0 - Division ratio /512 /256 /128 /64 /32 /16 /8 /4 D1_MD[1:0] 1 1 1 0 0 1 0 0 DMA mode HS_DMA IDMA reserved NON - 1 1 1 1 Empty Updated High High 0 0 0 0 Full Not updated Low Low 0 when being read. Initialized by software reset Initialized by software reset Initialized by software reset Initialized by software reset 0 when being read. Initialized by software reset Initialized by software reset Initialized by software reset Initialized by software reset B-APPENDIX-33 APPENDIX I/O MAP Register name Address Bit Name Areas 18-15 0048120 set-up register (HW) DF DE DD DC - A18SZ A18DF1 A18DF0 DB DA D9 D8 - A18WT2 A18WT1 A18WT0 D7 D6 D5 D4 - A16SZ A16DF1 A16DF0 D3 D2 D1 D0 - A16WT2 A16WT1 A16WT0 DF-9 D8 D7 D6 D5 D4 Areas 14-13 0048122 set-up register (HW) Areas 12-11 0048124 set-up register (HW) B-APPENDIX-34 Function Setting Init. R/W Remarks reserved - Areas 18-17 device size selection 1 8 bits 0 16 bits Areas 18-17 A18DF[1:0] Number of cycles 1 1 3.5 output disable delay time 1 0 2.5 0 1 1.5 0 0 0.5 - reserved A18WT[2:0] Wait cycles Areas 18-17 wait control 1 1 1 7 1 1 0 6 1 0 1 5 1 0 0 4 0 1 1 3 0 1 0 2 0 0 1 1 0 0 0 0 - reserved Areas 16-15 device size selection 1 8 bits 0 16 bits Areas 16-15 A16DF[1:0] Number of cycles 1 1 3.5 output disable delay time 1 0 2.5 0 1 1.5 0 0 0.5 - reserved A16WT[2:0] Wait cycles Areas 16-15 wait control 1 1 1 7 1 1 0 6 1 0 1 5 1 0 0 4 0 1 1 3 0 1 0 2 0 0 1 1 0 0 0 0 - 0 1 1 - 0 when being read. R/W R/W - 1 1 1 - 0 when being read. R/W - 0 1 1 - 0 when being read. R/W R/W - 1 1 1 - 0 when being read. R/W - A14DRA A13DRA A14SZ A14DF1 A14DF0 reserved Area 14 DRAM selection Area 13 DRAM selection Areas 14-13 device size selection Areas 14-13 output disable delay time - 0 0 0 1 1 - 0 when being read. R/W R/W R/W R/W D3 D2 D1 D0 - A14WT2 A14WT1 A14WT0 reserved Areas 14-13 wait control - 1 Used 0 Not used 1 Used 0 Not used 1 8 bits 0 16 bits A14DF[1:0] Number of cycles 1 1 3.5 1 0 2.5 0 1 1.5 0 0 0.5 - A14WT[2:0] Wait cycles 1 1 1 7 1 1 0 6 1 0 1 5 1 0 0 4 0 1 1 3 0 1 0 2 0 0 1 1 0 0 0 0 - 1 1 1 - 0 when being read. R/W DF-7 D6 D5 D4 - A12SZ A12DF1 A12DF0 - 0 1 1 - 0 when being read. R/W R/W D3 D2 D1 D0 - A12WT2 A12WT1 A12WT0 reserved - Areas 12-11 device size selection 1 8 bits 0 16 bits Areas 12-11 A18DF[1:0] Number of cycles 1 1 3.5 output disable delay time 1 0 2.5 0 1 1.5 0 0 0.5 reserved - Areas 12-11 wait control A18WT[2:0] Wait cycles 1 1 1 7 1 1 0 6 1 0 1 5 1 0 0 4 0 1 1 3 0 1 0 2 0 0 1 1 0 0 0 0 - 1 1 1 - 0 when being read. R/W EPSON S1C33T01 FUNCTION PART APPENDIX I/O MAP Register name Address Bit Areas 10-9 0048126 set-up register (HW) DF DE DD DC - A10IR2 A10IR1 A10IR0 DB DA D9 - A10BW1 A10BW0 D8 D7 D6 D5 D4 A10DRA A9DRA A10SZ A10DF1 A10DF0 D3 D2 D1 D0 - A10WT2 A10WT1 A10WT0 DF-9 D8 D7 D6 D5 D4 D3 D2 D1 D0 Areas 8-7 0048128 set-up register (HW) S1C33T01 FUNCTION PART Name Function Setting Init. R/W Remarks reserved - ROM size Area 10 internal ROM wait control A10IR[2:0] 1 1 1 2MB Area 10 internal ROM size 1 1 0 1MB selection 1 0 1 512KB 1 0 0 256KB 0 1 1 128KB 0 1 0 64KB 0 0 1 32KB 0 0 0 16KB - reserved A10BW[1:0] Wait cycles Areas 10-9 1 1 3 burst ROM 1 0 2 burst read cycle wait control 0 1 1 0 0 0 1 Used 0 Not used Area 10 burst ROM selection 1 Used 0 Not used Area 9 burst ROM selection Areas 10-9 device size selection 1 8 bits 0 16 bits Areas 10-9 A10DF[1:0] Number of cycles 1 1 3.5 output disable delay time 1 0 2.5 0 1 1.5 0 0 0.5 - reserved A10WT[2:0] Wait cycles Areas 10-9 wait control 1 1 1 7 1 1 0 6 1 0 1 5 1 0 0 4 0 1 1 3 0 1 0 2 0 0 1 1 0 0 0 0 - 1 1 1 - 0 when being read. R/W - 0 0 - 0 when being read. R/W 0 0 0 1 1 R/W R/W R/W R/W - 1 1 1 - 0 when being read. R/W - A8DRA A7DRA A8SZ A8DF1 A8DF0 reserved Area 8 DRAM selection Area 7 DRAM selection Areas 8-7 device size selection Areas 8-7 output disable delay time - 0 0 0 1 1 - 0 when being read. R/W R/W R/W R/W - A8WT2 A8WT1 A8WT0 reserved Areas 8-7 wait control - 1 1 1 - 0 when being read. R/W EPSON - 1 Used 1 Used 1 8 bits A8DF[1:0] 1 1 1 0 0 1 0 0 0 Not used 0 Not used 0 16 bits Number of cycles 3.5 2.5 1.5 0.5 - A8WT[2:0] Wait cycles 1 1 1 7 1 1 0 6 1 0 1 5 1 0 0 4 0 1 1 3 0 1 0 2 0 0 1 1 0 0 0 0 B-APPENDIX-35 APPENDIX I/O MAP Register name Address Bit Name Areas 6-4 004812A DF-E - set-up register (HW) DD A6DF1 DC A6DF0 Function reserved Area 6 output disable delay time Setting - A6DF[1:0] Number of cycles 1 1 3.5 1 0 2.5 0 1 1.5 0 0 0.5 - A6WT[2:0] Wait cycles 1 1 1 7 1 1 0 6 1 0 1 5 1 0 0 4 0 1 1 3 0 1 0 2 0 0 1 1 0 0 0 0 - 1 8 bits 0 16 bits A5DF[1:0] Number of cycles 1 1 3.5 1 0 2.5 0 1 1.5 0 0 0.5 Init. R/W Remarks - 1 1 - 0 when being read. R/W - 1 1 1 - 0 when being read. R/W - 0 1 1 - 0 when being read. R/W R/W - 1 1 1 - 0 when being read. R/W DB DA D9 D8 - A6WT2 A6WT1 A6WT0 reserved Area 6 wait control D7 D6 D5 D4 - A5SZ A5DF1 A5DF0 reserved Areas 5-4 device size selection Areas 5-4 output disable delay time D3 D2 D1 D0 - A5WT2 A5WT1 A5WT0 reserved Areas 5-4 wait control TTBR write 004812D protect register (B) D7 D6 D5 D4 D3 D2 D1 D0 TBRP7 TBRP6 TBRP5 TBRP4 TBRP3 TBRP2 TBRP1 TBRP0 TTBR register write protect Writing 01011001(0x59) removes the TTBR (0x48134) write protection. Writing other data sets the write protection. 0 0 0 0 0 0 0 0 Bus control register DF DE DD DC DB DA RBCLK - RBST8 REDO RCA1 RCA0 BCLK output control reserved Burst ROM burst mode selection DRAM page mode selection Column address size selection 1 Fixed at H 0 0 0 0 0 0 R/W - Writing 1 not allowed. R/W R/W R/W D9 D8 D7 D6 D5 RPC2 RPC1 RPC0 RRA1 RRA0 0 0 0 0 0 R/W R/W R/W R/W D4 D3 D2 D1 D0 - SBUSST SEMAS SEPD SWAITE 0 0 0 0 0 - Writing 1 not allowed. R/W R/W R/W R/W 004812E (HW) B-APPENDIX-36 A5WT[2:0] 1 1 1 1 1 0 1 0 1 1 0 0 0 1 1 0 1 0 0 0 1 0 0 0 Wait cycles 7 6 5 4 3 2 1 0 0 Enabled - 1 8-successive 0 4-successive 1 EDO 0 Fast page RCA[1:0] Size 1 1 11 1 0 10 0 1 9 0 0 8 1 Enabled 0 Disabled Refresh enable 1 Self-refresh 0 CBR-refresh Refresh method selection 1 2.0 0 1.0 Refresh RPC delay setup RRA[1:0] Number of cycles Refresh RAS pulse width 1 1 5 selection 1 0 4 0 1 3 0 0 2 - reserved External interface method selection 1 #BSL 0 A0 External bus master setup 1 Existing 0 Nonexistent 1 Enabled 0 Disabled External power-down control 1 Enabled 0 Disabled #WAIT enable EPSON W Undefined in read. S1C33T01 FUNCTION PART APPENDIX I/O MAP Register name Address Bit Name Function DRAM timing 0048130 DF-C - reserved set-up register (HW) DB A3EEN Area 3 emulation DA CEFUNC1 #CE pin function selection D9 CEFUNC0 Setting Init. R/W Remarks - 1 Internal ROM 0 Emulation CFFUNC[1:0] #CE output 1 x #CE7/8..#CE17/18 #CE6..#CE17 0 1 #CE4..#CE10 0 0 1 Successive 0 Normal RPRC[1:0] Number of cycles 1 1 4 1 0 3 0 1 2 0 0 1 - CASC[1:0] Number of cycles 1 1 4 1 0 3 0 1 2 0 0 1 - RASC[1:0] Number of cycles 1 1 4 1 0 3 0 1 2 0 0 1 - 1 0 0 - 0 when being read. R/W R/W 0 0 0 R/W R/W - 0 0 - 0 when being read. R/W - 0 0 - 0 when being read. R/W D8 D7 D6 CRAS RPRC1 RPRC0 Successive RAS mode setup DRAM RAS precharge cycles selection D5 D4 D3 - CASC1 CASC0 reserved DRAM CAS cycles selection D2 D1 D0 - RASC1 RASC0 reserved DRAM RAS cycles selection Access control 0048132 register (HW) DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 A18IO A16IO A14IO A12IO - A8IO A6IO A5IO A18EC A16EC A14EC A12EC A10EC A8EC A6EC A5EC Area 18, 17 internal/external access 1 Internal 0 External Area 16, 15 internal/external access access access Area 14, 13 internal/external access Area 12, 11 internal/external access reserved - 0 External Area 8, 7 internal/external access 1 Internal Area 6 internal/external access access access Area 5, 4 internal/external access Area 18, 17 endian control 1 Big endian 0 Little endian Area 16, 15 endian control Area 14, 13 endian control Area 12, 11 endian control Area 10, 9 endian control Area 8, 7 endian control Area 6 endian control Area 5, 4 endian control 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 R/W R/W R/W R/W - 0 when being read. R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W TTBR loworder register DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 TTBR15 TTBR14 TTBR13 TTBR12 TTBR11 TTBR10 TTBR09 TTBR08 TTBR07 TTBR06 TTBR05 TTBR04 TTBR03 TTBR02 TTBR01 TTBR00 Trap table base address [15:10] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 R/W 0048134 (HW) S1C33T01 FUNCTION PART Trap table base address [9:0] EPSON Fixed at 0 R 0 when being read. Writing 1 not allowed. B-APPENDIX-37 APPENDIX I/O MAP Register name Address Bit Name TTBR highorder register DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 TTBR33 TTBR32 TTBR31 TTBR30 TTBR2B TTBR2A TTBR29 TTBR28 TTBR27 TTBR26 TTBR25 TTBR24 TTBR23 TTBR22 TTBR21 TTBR20 Trap table base address [31:28] Trap table base address [27:16] The initial value is set. 0x0C0 DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 A18AS A16AS A14AS A12AS - A8AS A6AS A5AS A18RD A16RD A14RD A12RD - A8RD A6RD A5RD Area 18, 17 address strobe signal Area 16, 15 address strobe signal Area 14, 13 address strobe signal Area 12, 11 address strobe signal reserved Area 8, 7 address strobe signal Area 6 address strobe signal Area 5, 4 address strobe signal Area 18, 17 read signal Area 16, 15 read signal Area 14, 13 read signal Area 12, 11 read signal reserved Area 8, 7 read signal Area 6 read signal Area 5, 4 read signal 1 Enabled 0048136 (HW) G/A read signal 0048138 control register (HW) BCLK select register Read cycle hold time control register Bus speed setting register Function 004813A D7-4 - (B) D3 A1X1MD D2 - D1 BCLKSEL1 D0 BCLKSEL0 reserved Area 1 access-speed reserved BCLK output clock selection 004813C (B) 004813E (B) B-APPENDIX-38 Setting 0 Disabled 0 Not inserted 0 Not inserted 0 Not inserted 0 0 0 0 - 0 0 0 R/W R/W R/W R/W - Undefined when being read. R/W R/W R/W 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 R/W R/W R/W R/W R/W R/W R/W R/W 0 Disabled - 0 Disabled - 0 4 cycles - A18RH A16RH A14RH A12RH A8RH A6RH A5RH Area 17, 18 read hold cycle Area 15, 16 read hold cycle Area 13, 14 read hold cycle Area 11, 12 read hold cycle reserved Area 7, 8 read hold cycle Area 6 read hold cycle Area 5 read hold cycle 1 1 1 1 D7 D6 D5 D4 D3 D2 D1 D0 A18BS A16BS A14BS A12BS A10BS A8BS A6BS A5BS Area 17, 18 bus speed selection Area 15, 16 bus speed selection Area 13, 14 bus speed selection Area 11, 12 bus speed selection reserved Area 7, 8 bus speed selection Area 6 bus speed selection Area 5 bus speed selection 1 1 1 1 1 1 1 1 BCLK PLL_CLK OSC3_CLK BCU_CLK CPU_CLK Inserted Inserted Inserted Inserted 0 0 0 0 Not inserted Not inserted Not inserted Not inserted - 1 Inserted 1 Inserted 1 Inserted x1 speed x1 speed x1 speed x1 speed x1 speed x1 speed x1 speed x1 speed R/W - 0 when being read. R/W x2 speed mode only - 0 when being read. R/W 1 Enabled BCLKSEL[1:0] 1 1 1 0 0 1 0 0 Remarks 0 when being read. Writing 1 not allowed. 0 0 0 0 0 0 Disabled 1 2 cycles R R/W R/W R/W R/W - 0 when being read. R/W R/W R/W R/W R/W R/W R/W - 0 when being read. R/W R/W R/W - 1 Enabled 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 Enabled D7 D6 D5 D4 D3 D2 D1 D0 EPSON Init. R/W Fixed at 0 #x2SPD #x2SPD #x2SPD #x2SPD #x2SPD #x2SPD #x2SPD #x2SPD This register's setting is meaningful when #x2SPD = 0 (2 x speed mode) S1C33T01 FUNCTION PART APPENDIX I/O MAP Register name Address Bit Name Function Setting 16-bit timer 0 comparison data A set-up register 0048180 (HW) DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 CR0A15 CR0A14 CR0A13 CR0A12 CR0A11 CR0A10 CR0A9 CR0A8 CR0A7 CR0A6 CR0A5 CR0A4 CR0A3 CR0A2 CR0A1 CR0A0 16-bit timer 0 comparison data A CR0A15 = MSB CR0A0 = LSB 0 to 65535 X X X X X X X X X X X X X X X X R/W 16-bit timer 0 comparison data B set-up register 0048182 (HW) DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 CR0B15 CR0B14 CR0B13 CR0B12 CR0B11 CR0B10 CR0B9 CR0B8 CR0B7 CR0B6 CR0B5 CR0B4 CR0B3 CR0B2 CR0B1 CR0B0 16-bit timer 0 comparison data B CR0B15 = MSB CR0B0 = LSB 0 to 65535 X X X X X X X X X X X X X X X X R/W 16-bit timer 0 counter data register 0048184 (HW) DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 TC015 TC014 TC013 TC012 TC011 TC010 TC09 TC08 TC07 TC06 TC05 TC04 TC03 TC02 TC01 TC00 16-bit timer 0 counter data TC015 = MSB TC00 = LSB 0 to 65535 X X X X X X X X X X X X X X X X R 16-bit timer 0 0048186 control register (B) D7 D6 D5 D4 D3 D2 D1 D0 - SELFM0 SELCRB0 OUTINV0 CKSL0 PTM0 PRESET0 PRUN0 reserved 16-bit timer 0 fine mode selection 16-bit timer 0 comparison buffer 16-bit timer 0 output inversion 16-bit timer 0 input clock selection 16-bit timer 0 clock output control 16-bit timer 0 reset 16-bit timer 0 Run/Stop control S1C33T01 FUNCTION PART EPSON 1 1 1 1 1 1 1 - Fine mode 0 Enabled 0 Invert 0 External clock 0 On 0 Reset 0 Run 0 Init. R/W Normal Disabled Normal Internal clock Off Invalid Stop 0 0 0 0 0 0 0 0 Remarks - 0 when being read. R/W R/W R/W R/W R/W W 0 when being read. R/W B-APPENDIX-39 APPENDIX I/O MAP Register name Address Bit Name Function Setting 16-bit timer 1 comparison data A set-up register 0048188 (HW) DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 CR1A15 CR1A14 CR1A13 CR1A12 CR1A11 CR1A10 CR1A9 CR1A8 CR1A7 CR1A6 CR1A5 CR1A4 CR1A3 CR1A2 CR1A1 CR1A0 16-bit timer 1 comparison data A CR1A15 = MSB CR1A0 = LSB 0 to 65535 X X X X X X X X X X X X X X X X R/W 16-bit timer 1 comparison data B set-up register 004818A (HW) DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 CR1B15 CR1B14 CR1B13 CR1B12 CR1B11 CR1B10 CR1B9 CR1B8 CR1B7 CR1B6 CR1B5 CR1B4 CR1B3 CR1B2 CR1B1 CR1B0 16-bit timer 1 comparison data B CR1B15 = MSB CR1B0 = LSB 0 to 65535 X X X X X X X X X X X X X X X X R/W 16-bit timer 1 counter data register 004818C (HW) DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 TC115 TC114 TC113 TC112 TC111 TC110 TC19 TC18 TC17 TC16 TC15 TC14 TC13 TC12 TC11 TC10 16-bit timer 1 counter data TC115 = MSB TC10 = LSB 0 to 65535 X X X X X X X X X X X X X X X X R 16-bit timer 1 004818E control register (B) D7 D6 D5 D4 D3 D2 D1 D0 - SELFM1 SELCRB1 OUTINV1 CKSL1 PTM1 PRESET1 PRUN1 reserved 16-bit timer 1 fine mode selection 16-bit timer 1 comparison buffer 16-bit timer 1 output inversion 16-bit timer 1 input clock selection 16-bit timer 1 clock output control 16-bit timer 1 reset 16-bit timer 1 Run/Stop control B-APPENDIX-40 EPSON 1 1 1 1 1 1 1 - Fine mode 0 Enabled 0 Invert 0 External clock 0 On 0 Reset 0 Run 0 Init. R/W Normal Disabled Normal Internal clock Off Invalid Stop 0 0 0 0 0 0 0 0 Remarks - 0 when being read. R/W R/W R/W R/W R/W W 0 when being read. R/W S1C33T01 FUNCTION PART APPENDIX I/O MAP Register name Address Bit Name Function Setting 16-bit timer 2 comparison data A set-up register 0048190 (HW) DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 CR2A15 CR2A14 CR2A13 CR2A12 CR2A11 CR2A10 CR2A9 CR2A8 CR2A7 CR2A6 CR2A5 CR2A4 CR2A3 CR2A2 CR2A1 CR2A0 16-bit timer 2 comparison data A CR2A15 = MSB CR2A0 = LSB 0 to 65535 X X X X X X X X X X X X X X X X R/W 16-bit timer 2 comparison data B set-up register 0048192 (HW) DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 CR2B15 CR2B14 CR2B13 CR2B12 CR2B11 CR2B10 CR2B9 CR2B8 CR2B7 CR2B6 CR2B5 CR2B4 CR2B3 CR2B2 CR2B1 CR2B0 16-bit timer 2 comparison data B CR2B15 = MSB CR2B0 = LSB 0 to 65535 X X X X X X X X X X X X X X X X R/W 16-bit timer 2 counter data register 0048194 (HW) DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 TC215 TC214 TC213 TC212 TC211 TC210 TC29 TC28 TC27 TC26 TC25 TC24 TC23 TC22 TC21 TC20 16-bit timer 2 counter data TC215 = MSB TC20 = LSB 0 to 65535 X X X X X X X X X X X X X X X X R 16-bit timer 2 0048196 control register (B) D7 D6 D5 D4 D3 D2 D1 D0 - SELFM2 SELCRB2 OUTINV2 CKSL2 PTM2 PRESET2 PRUN2 reserved 16-bit timer 2 fine mode selection 16-bit timer 2 comparison buffer 16-bit timer 2 output inversion 16-bit timer 2 input clock selection 16-bit timer 2 clock output control 16-bit timer 2 reset 16-bit timer 2 Run/Stop control S1C33T01 FUNCTION PART EPSON 1 1 1 1 1 1 1 - Fine mode 0 Enabled 0 Invert 0 External clock 0 On 0 Reset 0 Run 0 Init. R/W Normal Disabled Normal Internal clock Off Invalid Stop 0 0 0 0 0 0 0 0 Remarks - 0 when being read. R/W R/W R/W R/W R/W W 0 when being read. R/W B-APPENDIX-41 APPENDIX I/O MAP Register name Address Bit Name Function Setting 16-bit timer 3 comparison data A set-up register 0048198 (HW) DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 CR3A15 CR3A14 CR3A13 CR3A12 CR3A11 CR3A10 CR3A9 CR3A8 CR3A7 CR3A6 CR3A5 CR3A4 CR3A3 CR3A2 CR3A1 CR3A0 16-bit timer 3 comparison data A CR3A15 = MSB CR3A0 = LSB 0 to 65535 X X X X X X X X X X X X X X X X R/W 16-bit timer 3 comparison data B set-up register 004819A (HW) DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 CR3B15 CR3B14 CR3B13 CR3B12 CR3B11 CR3B10 CR3B9 CR3B8 CR3B7 CR3B6 CR3B5 CR3B4 CR3B3 CR3B2 CR3B1 CR3B0 16-bit timer 3 comparison data B CR3B15 = MSB CR3B0 = LSB 0 to 65535 X X X X X X X X X X X X X X X X R/W 16-bit timer 3 counter data register 004819C (HW) DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 TC315 TC314 TC313 TC312 TC311 TC310 TC39 TC38 TC37 TC36 TC35 TC34 TC33 TC32 TC31 TC30 16-bit timer 3 counter data TC315 = MSB TC30 = LSB 0 to 65535 X X X X X X X X X X X X X X X X R 16-bit timer 3 004819E control register (B) D7 D6 D5 D4 D3 D2 D1 D0 - SELFM3 SELCRB3 OUTINV3 CKSL3 PTM3 PRESET3 PRUN3 reserved 16-bit timer 3 fine mode selection 16-bit timer 3 comparison buffer 16-bit timer 3 output inversion 16-bit timer 3 input clock selection 16-bit timer 3 clock output control 16-bit timer 3 reset 16-bit timer 3 Run/Stop control B-APPENDIX-42 EPSON 1 1 1 1 1 1 1 - Fine mode 0 Enabled 0 Invert 0 External clock 0 On 0 Reset 0 Run 0 Init. R/W Normal Disabled Normal Internal clock Off Invalid Stop 0 0 0 0 0 0 0 0 Remarks - 0 when being read. R/W R/W R/W R/W R/W W 0 when being read. R/W S1C33T01 FUNCTION PART APPENDIX I/O MAP Register name Address Bit Name Function Setting 16-bit timer 4 comparison data A set-up register 00481A0 (HW) DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 CR4A15 CR4A14 CR4A13 CR4A12 CR4A11 CR4A10 CR4A9 CR4A8 CR4A7 CR4A6 CR4A5 CR4A4 CR4A3 CR4A2 CR4A1 CR4A0 16-bit timer 4 comparison data A CR4A15 = MSB CR4A0 = LSB 0 to 65535 X X X X X X X X X X X X X X X X R/W 16-bit timer 4 comparison data B set-up register 00481A2 (HW) DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 CR4B15 CR4B14 CR4B13 CR4B12 CR4B11 CR4B10 CR4B9 CR4B8 CR4B7 CR4B6 CR4B5 CR4B4 CR4B3 CR4B2 CR4B1 CR4B0 16-bit timer 4 comparison data B CR4B15 = MSB CR4B0 = LSB 0 to 65535 X X X X X X X X X X X X X X X X R/W 16-bit timer 4 counter data register 00481A4 (HW) DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 TC415 TC414 TC413 TC412 TC411 TC410 TC49 TC48 TC47 TC46 TC45 TC44 TC43 TC42 TC41 TC40 16-bit timer 4 counter data TC415 = MSB TC40 = LSB 0 to 65535 X X X X X X X X X X X X X X X X R 16-bit timer 4 00481A6 control register (B) D7 D6 D5 D4 D3 D2 D1 D0 - SELFM4 SELCRB4 OUTINV4 CKSL4 PTM4 PRESET4 PRUN4 reserved 16-bit timer 4 fine mode selection 16-bit timer 4 comparison buffer 16-bit timer 4 output inversion 16-bit timer 4 input clock selection 16-bit timer 4 clock output control 16-bit timer 4 reset 16-bit timer 4 Run/Stop control S1C33T01 FUNCTION PART EPSON 1 1 1 1 1 1 1 - Fine mode 0 Enabled 0 Invert 0 External clock 0 On 0 Reset 0 Run 0 Init. R/W Normal Disabled Normal Internal clock Off Invalid Stop 0 0 0 0 0 0 0 0 Remarks - 0 when being read. R/W R/W R/W R/W R/W W 0 when being read. R/W B-APPENDIX-43 APPENDIX I/O MAP Register name Address Bit Name Function Setting 16-bit timer 5 comparison data A set-up register 00481A8 (HW) DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 CR5A15 CR5A14 CR5A13 CR5A12 CR5A11 CR5A10 CR5A9 CR5A8 CR5A7 CR5A6 CR5A5 CR5A4 CR5A3 CR5A2 CR5A1 CR5A0 16-bit timer 5 comparison data A CR5A15 = MSB CR5A0 = LSB 0 to 65535 X X X X X X X X X X X X X X X X R/W 16-bit timer 5 comparison data B set-up register 00481AA (HW) DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 CR5B15 CR5B14 CR5B13 CR5B12 CR5B11 CR5B10 CR5B9 CR5B8 CR5B7 CR5B6 CR5B5 CR5B4 CR5B3 CR5B2 CR5B1 CR5B0 16-bit timer 5 comparison data B CR5B15 = MSB CR5B0 = LSB 0 to 65535 X X X X X X X X X X X X X X X X R/W 16-bit timer 5 counter data register 00481AC (HW) DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 TC515 TC514 TC513 TC512 TC511 TC510 TC59 TC58 TC57 TC56 TC55 TC54 TC53 TC52 TC51 TC50 16-bit timer 5 counter data TC515 = MSB TC50 = LSB 0 to 65535 X X X X X X X X X X X X X X X X R 16-bit timer 5 00481AE control register (B) D7 D6 D5 D4 D3 D2 D1 D0 - SELFM5 SELCRB5 OUTINV5 CKSL5 PTM5 PRESET5 PRUN5 reserved 16-bit timer 5 fine mode selection 16-bit timer 5 comparison buffer 16-bit timer 5 output inversion 16-bit timer 5 input clock selection 16-bit timer 5 clock output control 16-bit timer 5 reset 16-bit timer 5 Run/Stop control B-APPENDIX-44 EPSON 1 1 1 1 1 1 1 - Fine mode 0 Enabled 0 Invert 0 External clock 0 On 0 Reset 0 Run 0 Init. R/W Normal Disabled Normal Internal clock Off Invalid Stop 0 0 0 0 0 0 0 0 Remarks - 0 when being read. R/W R/W R/W R/W R/W W 0 when being read. R/W S1C33T01 FUNCTION PART APPENDIX I/O MAP Register name Address Bit Name Function Setting 16-bit timer 6 comparison data A set-up register 00481B0 (HW) DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 CR6A15 CR6A14 CR6A13 CR6A12 CR6A11 CR6A10 CR6A9 CR6A8 CR6A7 CR6A6 CR6A5 CR6A4 CR6A3 CR6A2 CR6A1 CR6A0 16-bit timer 6 comparison data A CR6A15 = MSB CR6A0 = LSB 0 to 65535 X X X X X X X X X X X X X X X X R/W 16-bit timer 6 comparison data B set-up register 00481B2 (HW) DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 CR6B15 CR6B14 CR6B13 CR6B12 CR6B11 CR6B10 CR6B9 CR6B8 CR6B7 CR6B6 CR6B5 CR6B4 CR6B3 CR6B2 CR6B1 CR6B0 16-bit timer 6 comparison data B CR6B15 = MSB CR6B0 = LSB 0 to 65535 X X X X X X X X X X X X X X X X R/W 16-bit timer 6 counter data register 00481B4 (HW) DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 TC615 TC614 TC613 TC612 TC611 TC610 TC69 TC68 TC67 TC66 TC65 TC64 TC63 TC62 TC61 TC60 16-bit timer 6 counter data TC615 = MSB TC60 = LSB 0 to 65535 X X X X X X X X X X X X X X X X R 16-bit timer 6 00481B6 control register (B) D7 D6 D5 D4 D3 D2 D1 D0 - SELFM6 SELCRB6 OUTINV6 CKSL6 PTM6 PRESET6 PRUN6 reserved 16-bit timer 6 fine mode selection 16-bit timer 6 comparison buffer 16-bit timer 6 output inversion 16-bit timer 6 input clock selection 16-bit timer 6 clock output control 16-bit timer 6 reset 16-bit timer 6 Run/Stop control S1C33T01 FUNCTION PART EPSON 1 1 1 1 1 1 1 - Fine mode 0 Enabled 0 Invert 0 External clock 0 On 0 Reset 0 Run 0 Init. R/W Normal Disabled Normal Internal clock Off Invalid Stop 0 0 0 0 0 0 0 0 Remarks - 0 when being read. R/W R/W R/W R/W R/W W 0 when being read. R/W B-APPENDIX-45 APPENDIX I/O MAP Register name Address Bit Name Function Setting 16-bit timer 7 comparison data A set-up register 00481B8 (HW) DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 CR7A15 CR7A14 CR7A13 CR7A12 CR7A11 CR7A10 CR7A9 CR7A8 CR7A7 CR7A6 CR7A5 CR7A4 CR7A3 CR7A2 CR7A1 CR7A0 16-bit timer 7 comparison data A CR7A15 = MSB CR7A0 = LSB 0 to 65535 X X X X X X X X X X X X X X X X R/W 16-bit timer 7 comparison data B set-up register 00481BA (HW) DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 CR7B15 CR7B14 CR7B13 CR7B12 CR7B11 CR7B10 CR7B9 CR7B8 CR7B7 CR7B6 CR7B5 CR7B4 CR7B3 CR7B2 CR7B1 CR7B0 16-bit timer 7 comparison data B CR7B15 = MSB CR7B0 = LSB 0 to 65535 X X X X X X X X X X X X X X X X R/W 16-bit timer 7 counter data register 00481BC (HW) DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 TC715 TC714 TC713 TC712 TC711 TC710 TC79 TC78 TC77 TC76 TC75 TC74 TC73 TC72 TC71 TC70 16-bit timer 7 counter data TC715 = MSB TC70 = LSB 0 to 65535 X X X X X X X X X X X X X X X X R 16-bit timer 7 00481BE control register (B) D7 D6 D5 D4 D3 D2 D1 D0 - SELFM7 SELCRB7 OUTINV7 CKSL7 PTM7 PRESET7 PRUN7 reserved 16-bit timer 7 fine mode selection 16-bit timer 7 comparison buffer 16-bit timer 7 output inversion 16-bit timer 7 input clock selection 16-bit timer 7 clock output control 16-bit timer 7 reset 16-bit timer 7 Run/Stop control B-APPENDIX-46 EPSON 1 1 1 1 1 1 1 - Fine mode 0 Enabled 0 Invert 0 External clock 0 On 0 Reset 0 Run 0 Init. R/W Normal Disabled Normal Internal clock Off Invalid Stop 0 0 0 0 0 0 0 0 Remarks - 0 when being read. R/W R/W R/W R/W R/W W 0 when being read. R/W S1C33T01 FUNCTION PART APPENDIX I/O MAP Register name Address Bit Name Function Setting 16-bit timer 8 comparison data A set-up register 00481C0 (HW) DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 CR8A15 CR8A14 CR8A13 CR8A12 CR8A11 CR8A10 CR8A9 CR8A8 CR8A7 CR8A6 CR8A5 CR8A4 CR8A3 CR8A2 CR8A1 CR8A0 16-bit timer 8 comparison data A CR8A15 = MSB CR8A0 = LSB 0 to 65535 X X X X X X X X X X X X X X X X R/W 16-bit timer 8 comparison data B set-up register 00481C2 (HW) DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 CR8B15 CR8B14 CR8B13 CR8B12 CR8B11 CR8B10 CR8B9 CR8B8 CR8B7 CR8B6 CR8B5 CR8B4 CR8B3 CR8B2 CR8B1 CR8B0 16-bit timer 8 comparison data B CR8B15 = MSB CR8B0 = LSB 0 to 65535 X X X X X X X X X X X X X X X X R/W 16-bit timer 8 counter data register 00481C4 (HW) DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 TC815 TC814 TC813 TC812 TC811 TC810 TC89 TC88 TC87 TC86 TC85 TC84 TC83 TC82 TC81 TC80 16-bit timer 8 counter data TC815 = MSB TC80 = LSB 0 to 65535 X X X X X X X X X X X X X X X X R 16-bit timer 8 00481C6 control register (B) D7 D6 D5 D4 D3 D2 D1 D0 - SELFM8 SELCRB8 OUTINV8 CKSL8 PTM8 PRESET8 PRUN8 reserved 16-bit timer 8 fine mode selection 16-bit timer 8 comparison buffer 16-bit timer 8 output inversion 16-bit timer 8 input clock selection 16-bit timer 8 clock output control 16-bit timer 8 reset 16-bit timer 8 Run/Stop control S1C33T01 FUNCTION PART EPSON 1 1 1 1 1 1 1 - Fine mode 0 Enabled 0 Invert 0 External clock 0 On 0 Reset 0 Run 0 Init. R/W Normal Disabled Normal Internal clock Off Invalid Stop 0 0 0 0 0 0 0 0 Remarks - 0 when being read. R/W R/W R/W R/W R/W W 0 when being read. R/W B-APPENDIX-47 APPENDIX I/O MAP Register name Address Bit Name Function Setting 16-bit timer 9 comparison data A set-up register 00481C8 (HW) DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 CR9A15 CR9A14 CR9A13 CR9A12 CR9A11 CR9A10 CR9A9 CR9A8 CR9A7 CR9A6 CR9A5 CR9A4 CR9A3 CR9A2 CR9A1 CR9A0 16-bit timer 9 comparison data A CR9A15 = MSB CR9A0 = LSB 0 to 65535 X X X X X X X X X X X X X X X X R/W 16-bit timer 9 comparison data B set-up register 00481CA (HW) DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 CR9B15 CR9B14 CR9B13 CR9B12 CR9B11 CR9B10 CR9B9 CR9B8 CR9B7 CR9B6 CR9B5 CR9B4 CR9B3 CR9B2 CR9B1 CR9B0 16-bit timer 9 comparison data B CR9B15 = MSB CR9B0 = LSB 0 to 65535 X X X X X X X X X X X X X X X X R/W 16-bit timer 9 counter data register 00481CC (HW) DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 TC915 TC914 TC913 TC912 TC911 TC910 TC99 TC98 TC97 TC96 TC95 TC94 TC93 TC92 TC91 TC90 16-bit timer 9 counter data TC915 = MSB TC90 = LSB 0 to 65535 X X X X X X X X X X X X X X X X R 16-bit timer 9 00481CE control register (B) D7 D6 D5 D4 D3 D2 D1 D0 - SELFM9 SELCRB9 OUTINV9 CKSL9 PTM9 PRESET9 PRUN9 reserved 16-bit timer 9 fine mode selection 16-bit timer 9 comparison buffer 16-bit timer 9 output inversion 16-bit timer 9 input clock selection 16-bit timer 9 clock output control 16-bit timer 9 reset 16-bit timer 9 Run/Stop control B-APPENDIX-48 EPSON 1 1 1 1 1 1 1 - Fine mode 0 Enabled 0 Invert 0 External clock 0 On 0 Reset 0 Run 0 Init. R/W Normal Disabled Normal Internal clock Off Invalid Stop 0 0 0 0 0 0 0 0 Remarks - 0 when being read. R/W R/W R/W R/W R/W W 0 when being read. R/W S1C33T01 FUNCTION PART APPENDIX I/O MAP Register name Address Bit IDMA base address loworder register 0048200 (HW) DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 IDMA base address high-order register 0048202 DF-C - (HW) DB DBASEH11 DA DBASEH10 D9 DBASEH9 D8 DBASEH8 D7 DBASEH7 D6 DBASEH6 D5 DBASEH5 D4 DBASEH4 D3 DBASEH3 D2 DBASEH2 D1 DBASEH1 D0 DBASEH0 reserved IDMA base address high-order 12 bits (Initial value: 0x0C003A0) IDMA start register 0048204 (B) D7 DSTART D6-0 DCHN IDMA start IDMA channel number 1 IDMA start 0 Stop 0 to 127 IDMA enable register 0048205 (B) D7-1 - D0 IDMAEN reserved IDMA enable 1 Enabled S1C33T01 FUNCTION PART Name Function Setting DBASEL15 IDMA base address DBASEL14 low-order 16 bits DBASEL13 (Initial value: 0x0C003A0) DBASEL12 DBASEL11 DBASEL10 DBASEL9 DBASEL8 DBASEL7 DBASEL6 DBASEL5 DBASEL4 DBASEL3 DBASEL2 DBASEL1 DBASEL0 - - EPSON 0 Disabled Init. R/W Remarks 0 0 0 0 0 0 1 1 1 0 1 0 0 0 0 0 R/W - 0 0 0 0 1 1 0 0 0 0 0 0 - Undefined in read. R/W 0 0 R/W R/W - 0 - R/W B-APPENDIX-49 APPENDIX I/O MAP Register name Address Bit Name High-speed DMA Ch.0 transfer counter register DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 TC0_L7 TC0_L6 TC0_L5 TC0_L4 TC0_L3 TC0_L2 TC0_L1 TC0_L0 BLKLEN07 BLKLEN06 BLKLEN05 BLKLEN04 BLKLEN03 BLKLEN02 BLKLEN01 BLKLEN00 Ch.0 transfer counter[7:0] (block transfer mode) DF DE DUALM0 D0DIR DD-8 D7 D6 D5 D4 D3 D2 D1 D0 - TC0_H7 TC0_H6 TC0_H5 TC0_H4 TC0_H3 TC0_H2 TC0_H1 TC0_H0 Ch.0 address mode selection D) Invalid S) Ch.0 transfer direction control reserved Ch.0 transfer counter[15:8] (block transfer mode) 0048220 (HW) High-speed 0048222 DMA Ch.0 (HW) control register Note: D) Dual address mode S) Single address mode High-speed 0048224 DMA Ch.0 (HW) low-order source address set-up register Note: D) Dual address mode S) Single address mode High-speed 0048226 DMA Ch.0 (HW) high-order source address set-up register Note: D) Dual address mode S) Single address mode B-APPENDIX-50 Function Setting Ch.0 transfer counter[15:8] (single/successive transfer mode) Ch.0 block length (block transfer mode) Ch.0 transfer counter[7:0] (single/successive transfer mode) 1 Dual addr 0 Single addr - 1 Memory WR 0 Memory RD - Ch.0 transfer counter[23:16] (single/successive transfer mode) DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 S0ADRL15 D) Ch.0 source address[15:0] S0ADRL14 S) Ch.0 memory address[15:0] S0ADRL13 S0ADRL12 S0ADRL11 S0ADRL10 S0ADRL9 S0ADRL8 S0ADRL7 S0ADRL6 S0ADRL5 S0ADRL4 S0ADRL3 S0ADRL2 S0ADRL1 S0ADRL0 DF DE DD DC - DATSIZE0 S0IN1 S0IN0 DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 S0ADRH11 D) Ch.0 source address[27:16] S0ADRH10 S) Ch.0 memory address[27:16] S0ADRH9 S0ADRH8 S0ADRH7 S0ADRH6 S0ADRH5 S0ADRH4 S0ADRH3 S0ADRH2 S0ADRH1 S0ADRH0 reserved Ch.0 transfer data size D) Ch.0 source address control S) Ch.0 memory address control EPSON - 1 Half word S0IN[1:0] 1 1 1 0 0 1 0 0 0 Byte Inc/dec Inc.(no init) Inc.(init) Dec.(no init) Fixed Init. R/W Remarks X X X X X X X X X X X X X X X X R/W 0 - 0 - X X X X X X X X R/W - R/W - Undefined in read. R/W X X X X X X X X X X X X X X X X R/W - 0 0 0 - Undefined in read. R/W R/W X X X X X X X X X X X X R/W R/W S1C33T01 FUNCTION PART APPENDIX I/O MAP Register name Address Bit High-speed 0048228 DMA Ch.0 (HW) low-order destination address set-up register DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 D0ADRL15 D) Ch.0 destination address[15:0] D0ADRL14 S) Invalid D0ADRL13 D0ADRL12 D0ADRL11 D0ADRL10 D0ADRL9 D0ADRL8 D0ADRL7 D0ADRL6 D0ADRL5 D0ADRL4 D0ADRL3 D0ADRL2 D0ADRL1 D0ADRL0 DF DE D0MOD1 D0MOD0 Ch.0 transfer mode DD DC D0IN1 D0IN0 D) Ch.0 destination address control S) Invalid DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 D0ADRH11 D) Ch.0 destination D0ADRH10 address[27:16] D0ADRH9 S) Invalid D0ADRH8 D0ADRH7 D0ADRH6 D0ADRH5 D0ADRH4 D0ADRH3 D0ADRH2 D0ADRH1 D0ADRH0 Note: D) Dual address mode S) Single address mode High-speed 004822A DMA Ch.0 (HW) high-order destination address set-up register Note: D) Dual address mode S) Single address mode Name Function High-speed 004822C DF-1 - DMA Ch.0 (HW) D0 HS0_EN enable register reserved High-speed DMA Ch.0 trigger flag register reserved 004822E DF-1 - (HW) D0 HS0_TF S1C33T01 FUNCTION PART Setting D0MOD[1:0] 1 1 1 0 0 1 0 0 D0IN[1:0] 1 1 1 0 0 1 0 0 Mode Invalid Block Successive Single Inc/dec Inc.(no init) Inc.(init) Dec.(no init) Fixed - Ch.0 enable 1 Enable 0 Disable - Ch.0 trigger flag clear (writing) Ch.0 trigger flag status (reading) EPSON 1 Clear 1 Set 0 No operation 0 Cleared Init. R/W X X X X X X X X X X X X X X X X R/W 0 0 R/W 0 0 R/W X X X X X X X X X X X X R/W - - 0 R/W - - 0 R/W Remarks Undefined in read. Undefined in read. B-APPENDIX-51 APPENDIX I/O MAP Register name Address Bit Name High-speed DMA Ch.1 transfer counter register DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 TC1_L7 TC1_L6 TC1_L5 TC1_L4 TC1_L3 TC1_L2 TC1_L1 TC1_L0 BLKLEN17 BLKLEN16 BLKLEN15 BLKLEN14 BLKLEN13 BLKLEN12 BLKLEN11 BLKLEN10 Ch.1 transfer counter[7:0] (block transfer mode) DF DE DUALM1 D1DIR DD-8 D7 D6 D5 D4 D3 D2 D1 D0 - TC1_H7 TC1_H6 TC1_H5 TC1_H4 TC1_H3 TC1_H2 TC1_H1 TC1_H0 Ch.1 address mode selection D) Invalid S) Ch.1 transfer direction control reserved Ch.1 transfer counter[15:8] (block transfer mode) 0048230 (HW) High-speed 0048232 DMA Ch.1 (HW) control register Note: D) Dual address mode S) Single address mode High-speed 0048234 DMA Ch.1 (HW) low-order source address set-up register Note: D) Dual address mode S) Single address mode High-speed 0048236 DMA Ch.1 (HW) high-order source address set-up register Note: D) Dual address mode S) Single address mode B-APPENDIX-52 Function Setting Ch.1 transfer counter[15:8] (single/successive transfer mode) Ch.1 block length (block transfer mode) Ch.1 transfer counter[7:0] (single/successive transfer mode) 1 Dual addr 0 Single addr - 1 Memory WR 0 Memory RD - Ch.1 transfer counter[23:16] (single/successive transfer mode) DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 S1ADRL15 D) Ch.1 source address[15:0] S1ADRL14 S) Ch.1 memory address[15:0] S1ADRL13 S1ADRL12 S1ADRL11 S1ADRL10 S1ADRL9 S1ADRL8 S1ADRL7 S1ADRL6 S1ADRL5 S1ADRL4 S1ADRL3 S1ADRL2 S1ADRL1 S1ADRL0 DF DE DD DC - DATSIZE1 S1IN1 S1IN0 DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 S1ADRH11 D) Ch.1 source address[27:16] S1ADRH10 S) Ch.1 memory address[27:16] S1ADRH9 S1ADRH8 S1ADRH7 S1ADRH6 S1ADRH5 S1ADRH4 S1ADRH3 S1ADRH2 S1ADRH1 S1ADRH0 reserved Ch.1 transfer data size D) Ch.1 source address control S) Ch.1 memory address control EPSON - 1 Half word S1IN[1:0] 1 1 1 0 0 1 0 0 0 Byte Inc/dec Inc.(no init) Inc.(init) Dec.(no init) Fixed Init. R/W Remarks X X X X X X X X X X X X X X X X R/W 0 - 0 - X X X X X X X X R/W - R/W - Undefined in read. R/W X X X X X X X X X X X X X X X X R/W - 0 0 0 - Undefined in read. R/W R/W X X X X X X X X X X X X R/W R/W S1C33T01 FUNCTION PART APPENDIX I/O MAP Register name Address Bit High-speed 0048238 DMA Ch.1 (HW) low-order destination address set-up register DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 D1ADRL15 D) Ch.1 destination address[15:0] D1ADRL14 S) Invalid D1ADRL13 D1ADRL12 D1ADRL11 D1ADRL10 D1ADRL9 D1ADRL8 D1ADRL7 D1ADRL6 D1ADRL5 D1ADRL4 D1ADRL3 D1ADRL2 D1ADRL1 D1ADRL0 DF DE D1MOD1 D1MOD0 Ch.1 transfer mode DD DC D1IN1 D1IN0 D) Ch.1 destination address control S) Invalid DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 D1ADRH11 D) Ch.1 destination D1ADRH10 address[27:16] D1ADRH9 S) Invalid D1ADRH8 D1ADRH7 D1ADRH6 D1ADRH5 D1ADRH4 D1ADRH3 D1ADRH2 D1ADRH1 D1ADRH0 Note: D) Dual address mode S) Single address mode High-speed 004823A DMA Ch.1 (HW) high-order destination address set-up register Note: D) Dual address mode S) Single address mode Name Function High-speed 004823C DF-1 - DMA Ch.1 (HW) D0 HS1_EN enable register reserved High-speed DMA Ch.1 trigger flag register reserved 004823E DF-1 - (HW) D0 HS1_TF S1C33T01 FUNCTION PART Setting D1MOD[1:0] 1 1 1 0 0 1 0 0 D1IN[1:0] 1 1 1 0 0 1 0 0 Mode Invalid Block Successive Single Inc/dec Inc.(no init) Inc.(init) Dec.(no init) Fixed - Ch.1 enable 1 Enable 0 Disable - Ch.1 trigger flag clear (writing) Ch.1 trigger flag status (reading) EPSON 1 Clear 1 Set 0 No operation 0 Cleared Init. R/W X X X X X X X X X X X X X X X X R/W 0 0 R/W 0 0 R/W X X X X X X X X X X X X R/W - - 0 R/W - - 0 R/W Remarks Undefined in read. Undefined in read. B-APPENDIX-53 APPENDIX I/O MAP Register name Address Bit Name High-speed DMA Ch.2 transfer counter register DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 TC2_L7 TC2_L6 TC2_L5 TC2_L4 TC2_L3 TC2_L2 TC2_L1 TC2_L0 BLKLEN27 BLKLEN26 BLKLEN25 BLKLEN24 BLKLEN23 BLKLEN22 BLKLEN21 BLKLEN20 Ch.2 transfer counter[7:0] (block transfer mode) DF DE DUALM2 D2DIR DD-8 D7 D6 D5 D4 D3 D2 D1 D0 - TC2_H7 TC2_H6 TC2_H5 TC2_H4 TC2_H3 TC2_H2 TC2_H1 TC2_H0 Ch.2 address mode selection D) Invalid S) Ch.2 transfer direction control reserved Ch.2 transfer counter[15:8] (block transfer mode) 0048240 (HW) High-speed 0048242 DMA Ch.2 (HW) control register Note: D) Dual address mode S) Single address mode High-speed 0048244 DMA Ch.2 (HW) low-order source address set-up register Note: D) Dual address mode S) Single address mode High-speed 0048246 DMA Ch.2 (HW) high-order source address set-up register Note: D) Dual address mode S) Single address mode B-APPENDIX-54 Function Setting Ch.2 transfer counter[15:8] (single/successive transfer mode) Ch.2 block length (block transfer mode) Ch.2 transfer counter[7:0] (single/successive transfer mode) 1 Dual addr 0 Single addr - 1 Memory WR 0 Memory RD - Ch.2 transfer counter[23:16] (single/successive transfer mode) DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 S2ADRL15 D) Ch.2 source address[15:0] S2ADRL14 S) Ch.2 memory address[15:0] S2ADRL13 S2ADRL12 S2ADRL11 S2ADRL10 S2ADRL9 S2ADRL8 S2ADRL7 S2ADRL6 S2ADRL5 S2ADRL4 S2ADRL3 S2ADRL2 S2ADRL1 S2ADRL0 DF DE DD DC - DATSIZE2 S2IN1 S2IN0 DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 S2ADRH11 D) Ch.2 source address[27:16] S2ADRH10 S) Ch.2 memory address[27:16] S2ADRH9 S2ADRH8 S2ADRH7 S2ADRH6 S2ADRH5 S2ADRH4 S2ADRH3 S2ADRH2 S2ADRH1 S2ADRH0 reserved Ch.2 transfer data size D) Ch.2 source address control S) Ch.2 memory address control EPSON - 1 Half word S2IN[1:0] 1 1 1 0 0 1 0 0 0 Byte Inc/dec Inc.(no init) Inc.(init) Dec.(no init) Fixed Init. R/W Remarks X X X X X X X X X X X X X X X X R/W 0 - 0 - X X X X X X X X R/W - R/W - Undefined in read. R/W X X X X X X X X X X X X X X X X R/W - 0 0 0 - Undefined in read. R/W R/W X X X X X X X X X X X X R/W R/W S1C33T01 FUNCTION PART APPENDIX I/O MAP Register name Address Bit High-speed 0048248 DMA Ch.2 (HW) low-order destination address set-up register DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 D2ADRL15 D) Ch.2 destination address[15:0] D2ADRL14 S) Invalid D2ADRL13 D2ADRL12 D2ADRL11 D2ADRL10 D2ADRL9 D2ADRL8 D2ADRL7 D2ADRL6 D2ADRL5 D2ADRL4 D2ADRL3 D2ADRL2 D2ADRL1 D2ADRL0 DF DE D2MOD1 D2MOD0 Ch.2 transfer mode DD DC D2IN1 D2IN0 D) Ch.2 destination address control S) Invalid DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 D2ADRH11 D) Ch.2 destination D2ADRH10 address[27:16] D2ADRH9 S) Invalid D2ADRH8 D2ADRH7 D2ADRH6 D2ADRH5 D2ADRH4 D2ADRH3 D2ADRH2 D2ADRH1 D2ADRH0 Note: D) Dual address mode S) Single address mode High-speed 004824A DMA Ch.2 (HW) high-order destination address set-up register Note: D) Dual address mode S) Single address mode Name Function High-speed 004824C DF-1 - DMA Ch.2 (HW) D0 HS2_EN enable register reserved High-speed DMA Ch.2 trigger flag register reserved 004824E DF-1 - (HW) D0 HS2_TF S1C33T01 FUNCTION PART Setting D2MOD[1:0] 1 1 1 0 0 1 0 0 D2IN[1:0] 1 1 1 0 0 1 0 0 Mode Invalid Block Successive Single Inc/dec Inc.(no init) Inc.(init) Dec.(no init) Fixed - Ch.2 enable 1 Enable 0 Disable - Ch.2 trigger flag clear (writing) Ch.2 trigger flag status (reading) EPSON 1 Clear 1 Set 0 No operation 0 Cleared Init. R/W X X X X X X X X X X X X X X X X R/W 0 0 R/W 0 0 R/W X X X X X X X X X X X X R/W - - 0 R/W - - 0 R/W Remarks Undefined in read. Undefined in read. B-APPENDIX-55 APPENDIX I/O MAP Register name Address Bit Name High-speed DMA Ch.3 transfer counter register DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 TC3_L7 TC3_L6 TC3_L5 TC3_L4 TC3_L3 TC3_L2 TC3_L1 TC3_L0 BLKLEN37 BLKLEN36 BLKLEN35 BLKLEN34 BLKLEN33 BLKLEN32 BLKLEN31 BLKLEN30 Ch.3 transfer counter[7:0] (block transfer mode) DF DE DUALM3 D3DIR DD-8 D7 D6 D5 D4 D3 D2 D1 D0 - TC3_H7 TC3_H6 TC3_H5 TC3_H4 TC3_H3 TC3_H2 TC3_H1 TC3_H0 Ch.3 address mode selection D) Invalid S) Ch.3 transfer direction control reserved Ch.3 transfer counter[15:8] (block transfer mode) 0048250 (HW) High-speed 0048252 DMA Ch.3 (HW) control register Note: D) Dual address mode S) Single address mode High-speed 0048254 DMA Ch.3 (HW) low-order source address set-up register Note: D) Dual address mode S) Single address mode High-speed 0048256 DMA Ch.3 (HW) high-order source address set-up register Note: D) Dual address mode S) Single address mode B-APPENDIX-56 Function Setting Ch.3 transfer counter[15:8] (single/successive transfer mode) Ch.3 block length (block transfer mode) Ch.3 transfer counter[7:0] (single/successive transfer mode) 1 Dual addr 0 Single addr - 1 Memory WR 0 Memory RD - Ch.3 transfer counter[23:16] (single/successive transfer mode) DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 S3ADRL15 D) Ch.3 source address[15:0] S3ADRL14 S) Ch.3 memory address[15:0] S3ADRL13 S3ADRL12 S3ADRL11 S3ADRL10 S3ADRL9 S3ADRL8 S3ADRL7 S3ADRL6 S3ADRL5 S3ADRL4 S3ADRL3 S3ADRL2 S3ADRL1 S3ADRL0 DF DE DD DC - DATSIZE3 S3IN1 S3IN0 DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 S3ADRH11 D) Ch.3 source address[27:16] S3ADRH10 S) Ch.3 memory address[27:16] S3ADRH9 S3ADRH8 S3ADRH7 S3ADRH6 S3ADRH5 S3ADRH4 S3ADRH3 S3ADRH2 S3ADRH1 S3ADRH0 reserved Ch.3 transfer data size D) Ch.3 source address control S) Ch.3 memory address control EPSON - 1 Half word S3IN[1:0] 1 1 1 0 0 1 0 0 0 Byte Inc/dec Inc.(no init) Inc.(init) Dec.(no init) Fixed Init. R/W Remarks X X X X X X X X X X X X X X X X R/W 0 - 0 - X X X X X X X X R/W - R/W - Undefined in read. R/W X X X X X X X X X X X X X X X X R/W - 0 0 0 - Undefined in read. R/W R/W X X X X X X X X X X X X R/W R/W S1C33T01 FUNCTION PART APPENDIX I/O MAP Register name Address Bit High-speed 0048258 DMA Ch.3 (HW) low-order destination address set-up register DF DE DD DC DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 D3ADRL15 D) Ch.3 destination address[15:0] D3ADRL14 S) Invalid D3ADRL13 D3ADRL12 D3ADRL11 D3ADRL10 D3ADRL9 D3ADRL8 D3ADRL7 D3ADRL6 D3ADRL5 D3ADRL4 D3ADRL3 D3ADRL2 D3ADRL1 D3ADRL0 DF DE D3MOD1 D3MOD0 Ch.3 transfer mode DD DC D3IN1 D3IN0 D) Ch.3 destination address control S) Invalid DB DA D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 D3ADRH11 D) Ch.3 destination D3ADRH10 address[27:16] D3ADRH9 S) Invalid D3ADRH8 D3ADRH7 D3ADRH6 D3ADRH5 D3ADRH4 D3ADRH3 D3ADRH2 D3ADRH1 D3ADRH0 Note: D) Dual address mode S) Single address mode High-speed 004825A DMA Ch.3 (HW) high-order destination address set-up register Note: D) Dual address mode S) Single address mode Name Function High-speed 004825C DF-1 - DMA Ch.3 (HW) D0 HS3_EN enable register reserved High-speed DMA Ch.3 trigger flag register reserved 004825E DF-1 - (HW) D0 HS3_TF S1C33T01 FUNCTION PART Setting D3MOD[1:0] 1 1 1 0 0 1 0 0 D3IN[1:0] 1 1 1 0 0 1 0 0 Mode Invalid Block Successive Single Inc/dec Inc.(no init) Inc.(init) Dec.(no init) Fixed - Ch.3 enable 1 Enable 0 Disable - Ch.3 trigger flag clear (writing) Ch.3 trigger flag status (reading) EPSON 1 Clear 1 Set 0 No operation 0 Cleared Init. R/W X X X X X X X X X X X X X X X X R/W 0 0 R/W 0 0 R/W X X X X X X X X X X X X R/W - - 0 R/W - - 0 R/W Remarks Undefined in read. Undefined in read. B-APPENDIX-57 APPENDIX I/O MAP THIS PAGE IS BLANK. B-APPENDIX-58 EPSON S1C33T01 FUNCTION PART International Sales Operations AMERICA ASIA EPSON ELECTRONICS AMERICA, INC. EPSON (CHINA) CO., LTD. - HEADQUARTERS 150 River Oaks Parkway San Jose, CA 95134, U.S.A. Phone: +1-408-922-0200 Fax: +1-408-922-0238 23F, Beijing Silver Tower 2# North RD DongSanHuan ChaoYang District, Beijing, CHINA Phone: 64106655 Fax: 64107319 SHANGHAI BRANCH 4F, Bldg., 27, No. 69, Gui Jing Road Caohejing, Shanghai, CHINA Phone: 21-6485-5552 Fax: 21-6485-0775 - SALES OFFICES West 1960 E. Grand Avenue EI Segundo, CA 90245, U.S.A. Phone: +1-310-955-5300 Fax: +1-310-955-5400 Central 101 Virginia Street, Suite 290 Crystal Lake, IL 60014, U.S.A. Phone: +1-815-455-7630 Fax: +1-815-455-7633 Northeast 301 Edgewater Place, Suite 120 Wakefield, MA 01880, U.S.A. Phone: +1-781-246-3600 Fax: +1-781-246-5443 Southeast 3010 Royal Blvd. South, Suite 170 Alpharetta, GA 30005, U.S.A. Phone: +1-877-EEA-0020 Fax: +1-770-777-2637 EPSON HONG KONG LTD. 20/F., Harbour Centre, 25 Harbour Road Wanchai, Hong Kong Phone: +852-2585-4600 Fax: +852-2827-4346 Telex: 65542 EPSCO HX EPSON TAIWAN TECHNOLOGY & TRADING LTD. 10F, No. 287, Nanking East Road, Sec. 3 Taipei Phone: 02-2717-7360 Fax: 02-2712-9164 Telex: 24444 EPSONTB HSINCHU OFFICE 13F-3, No. 295, Kuang-Fu Road, Sec. 2 HsinChu 300 Phone: 03-573-9900 Fax: 03-573-9169 EPSON SINGAPORE PTE., LTD. EUROPE No. 1 Temasek Avenue, #36-00 Millenia Tower, SINGAPORE 039192 Phone: +65-337-7911 Fax: +65-334-2716 EPSON EUROPE ELECTRONICS GmbH SEIKO EPSON CORPORATION KOREA OFFICE - HEADQUARTERS - 50F, KLI 63 Bldg., 60 Yoido-dong Youngdeungpo-Ku, Seoul, 150-763, KOREA Phone: 02-784-6027 Fax: 02-767-3677 Riesstrasse 15 80992 Munich, GERMANY Phone: +49-(0)89-14005-0 Fax: +49-(0)89-14005-110 SALES OFFICE Altstadtstrasse 176 51379 Leverkusen, GERMANY Phone: +49-(0)2171-5045-0 Fax: +49-(0)2171-5045-10 UK BRANCH OFFICE SEIKO EPSON CORPORATION ELECTRONIC DEVICES MARKETING DIVISION Electronic Device Marketing Department IC Marketing & Engineering Group 421-8, Hino, Hino-shi, Tokyo 191-8501, JAPAN Phone: +81-(0)42-587-5816 Fax: +81-(0)42-587-5624 Unit 2.4, Doncastle House, Doncastle Road Bracknell, Berkshire RG12 8PE, ENGLAND Phone: +44-(0)1344-381700 Fax: +44-(0)1344-381701 ED International Marketing Department Europe & U.S.A. FRENCH BRANCH OFFICE ED International Marketing Department Asia 1 Avenue de l' Atlantique, LP 915 Les Conquerants Z.A. de Courtaboeuf 2, F-91976 Les Ulis Cedex, FRANCE Phone: +33-(0)1-64862350 Fax: +33-(0)1-64862355 421-8, Hino, Hino-shi, Tokyo 191-8501, JAPAN Phone: +81-(0)42-587-5814 Fax: +81-(0)42-587-5110 BARCELONA BRANCH OFFICE Barcelona Design Center Edificio Testa, Avda. Alcalde Barrils num. 64-68 E-08190 Sant Cugat del Valles, SPAIN Phone: +34-93-544-2490 Fax: +34-93-544-2491 421-8, Hino, Hino-shi, Tokyo 191-8501, JAPAN Phone: +81-(0)42-587-5812 Fax: +81-(0)42-587-5564 S1C33T01 Technical Manual ELECTRONIC DEVICES MARKETING DIVISION EPSON Electronic Devices Website http://www.epson.co.jp/device/ Issue September, 2001 Printed in Japan O B