电子工程世界电子工程世界电子工程世界

型号

产品描述

搜索
 

HD64F3687G

器件型号:HD64F3687G
文件大小:2547.44KB,共0页
厂商名称:RENESAS [Renesas Technology Corp]
厂商官网:http://www.renesas.com
下载文档

文档预览

HD64F3687G器件文档内容

16                     H8/3687Group

                                                Hardware Manual

               Renesas 16-Bit Single-Chip Microcomputer
                              H8 Family/H8/300H Tiny Series

                               HD64N3687G, HD6483687G,
                               HD64F3687, HD64F3687G,
                               HD6433687, HD6433687G,
                               HD6433686, HD6433686G,
                               HD6433685, HD6433685G,
                               HD64F3684, HD64F3684G,
                               HD6433684, HD6433684G,
                               HD6433683, HD6433683G,
                               HD6433682, HD6433682G

    Rev.3.00
    2003.5.29
Rev. 3.00, 05/03, page ii of xxx
Cautions

Keep safety first in your circuit designs!
1. Renesas Technology Corporation puts the maximum effort into making semiconductor

    products better and more reliable, but there is always the possibility that trouble may occur
    with them. Trouble with semiconductors may lead to personal injury, fire or property damage.
    Remember to give due consideration to safety when making your circuit designs, with
    appropriate measures such as (i) placement of substitutive, auxiliary circuits, (ii) use of
    nonflammable material or (iii) prevention against any malfunction or mishap.

Notes regarding these materials
1. These materials are intended as a reference to assist our customers in the selection of the

    Renesas Technology Corporation product best suited to the customer's application; they do not
    convey any license under any intellectual property rights, or any other rights, belonging to
    Renesas Technology Corporation or a third party.
2. Renesas Technology Corporation assumes no responsibility for any damage, or infringement
    of any third-party's rights, originating in the use of any product data, diagrams, charts,
    programs, algorithms, or circuit application examples contained in these materials.
3. All information contained in these materials, including product data, diagrams, charts,
    programs and algorithms represents information on products at the time of publication of these
    materials, and are subject to change by Renesas Technology Corporation without notice due to
    product improvements or other reasons. It is therefore recommended that customers contact
    Renesas Technology Corporation or an authorized Renesas Technology Corporation product
    distributor for the latest product information before purchasing a product listed herein.
    The information described here may contain technical inaccuracies or typographical errors.
    Renesas Technology Corporation assumes no responsibility for any damage, liability, or other
    loss rising from these inaccuracies or errors.
    Please also pay attention to information published by Renesas Technology Corporation by
    various means, including the Renesas Technology Corporation Semiconductor home page
    (http://www.renesas.com).
4. When using any or all of the information contained in these materials, including product data,
    diagrams, charts, programs, and algorithms, please be sure to evaluate all information as a total
    system before making a final decision on the applicability of the information and products.
    Renesas Technology Corporation assumes no responsibility for any damage, liability or other
    loss resulting from the information contained herein.
5. Renesas Technology Corporation semiconductors are not designed or manufactured for use in
    a device or system that is used under circumstances in which human life is potentially at stake.
    Please contact Renesas Technology Corporation or an authorized Renesas Technology
    Corporation product distributor when considering the use of a product contained herein for any
    specific purposes, such as apparatus or systems for transportation, vehicular, medical,
    aerospace, nuclear, or undersea repeater use.
6. The prior written approval of Renesas Technology Corporation is necessary to reprint or
    reproduce in whole or in part these materials.
7. If these products or technologies are subject to the Japanese export control restrictions, they
    must be exported under a license from the Japanese government and cannot be imported into a
    country other than the approved destination.
    Any diversion or reexport contrary to the export control laws and regulations of Japan and/or
    the country of destination is prohibited.
8. Please contact Renesas Technology Corporation for further details on these materials or the
    products contained therein.

                                                                                           Rev. 3.00, 05/03, page iii of xxx
General Precautions on Handling of Product

1. Treatment of NC Pins
Note: Do not connect anything to the NC pins.

         The NC (not connected) pins are either not connected to any of the internal circuitry or are
         used as test pins or to reduce noise. If something is connected to the NC pins, the
         operation of the LSI is not guaranteed.
2. Treatment of Unused Input Pins
Note: Fix all unused input pins to high or low level.
         Generally, the input pins of CMOS products are high-impedance input pins. If unused pins
         are in their open states, intermediate levels are induced by noise in the vicinity, a pass-
         through current flows internally, and a malfunction may occur.
3. Processing before Initialization
Note: When power is first supplied, the product's state is undefined.
         The states of internal circuits are undefined until full power is supplied throughout the
         chip and a low level is input on the reset pin. During the period where the states are
         undefined, the register settings and the output state of each pin are also undefined. Design
         your system so that it does not malfunction because of processing while it is in this
         undefined state. For those products which have a reset function, reset the LSI immediately
         after the power supply has been turned on.
4. Prohibition of Access to Undefined or Reserved Addresses
Note: Access to undefined or reserved addresses is prohibited.
         The undefined or reserved addresses may be used to expand functions, or test registers
         may have been be allocated to these addresses. Do not access these registers; the system's
         operation is not guaranteed if they are accessed.

Rev. 3.00, 05/03, page iv of xxx
                   Configuration of This Manual

This manual comprises the following items:

1. General Precautions on Handling of Product
2. Configuration of This Manual
3. Preface
4. Contents
5. Overview
6. Description of Functional Modules

    CPU and System-Control Modules
    On-Chip Peripheral Modules

        The configuration of the functional description of each module differs according to the
        module. However, the generic style includes the following items:
    i) Feature
    ii) Input/Output Pin
    iii) Register Description
    iv) Operation
    v) Usage Note

When designing an application system that includes this LSI, take notes into account. Each section
includes notes in relation to the descriptions given, and usage notes are given, as required, as the
final part of each section.

7. List of Registers
8. Electrical Characteristics
9. Appendix
10. Main Revisions and Additions in this Edition (only for revised versions)

The list of revisions is a summary of points that have been revised or added to earlier versions.
This does not include all of the revised contents. For details, see the actual locations in this
manual.

11. Index

                                                                                           Rev. 3.00, 05/03, page v of xxx
                                  Preface

The H8/3687 Group are single-chip microcomputers made up of the high-speed H8/300H CPU
employing Renesas Technology original architecture as their cores, and the peripheral functions
required to configure a system. The H8/300H CPU has an instruction set that is compatible with
the H8/300 CPU.

Target Users: This manual was written for users who will be using the H8/3687 Group in the
                   design of application systems. Target users are expected to understand the
                   fundamentals of electrical circuits, logical circuits, and microcomputers.

Objective:  This manual was written to explain the hardware functions and electrical
            characteristics of the H8/3687 Group to the target users.
            Refer to the H8/300H Series Programming Manual for a detailed description of the
            instruction set.

Notes on reading this manual:

In order to understand the overall functions of the chip
    Read the manual according to the contents. This manual can be roughly categorized into parts
    on the CPU, system control functions, peripheral functions and electrical characteristics.

In order to understand the details of the CPU's functions
    Read the H8/300H Series Programming Manual.

In order to understand the details of a register when its name is known
    Read the index that is the final part of the manual to find the page number of the entry on the
    register. The addresses, bits, and initial values of the registers are summarized in section 22,
    List of Registers.

Example:    Register name:        The following notation is used for cases when the same or a
            Bit order:            similar function, e.g. serial communication interface, is
                                  implemented on more than one channel:
                                  XXX_N (XXX is the register name and N is the channel
                                  number)

                                  The MSB is on the left and the LSB is on the right.

Notes:

When using an on-chip emulator (E10T) for H8/3687 program development and debugging, the
following restrictions must be noted.

1. The NMI pin is reserved for the E10T, and cannot be used.

Rev. 3.00, 05/03, page vi of xxx
2. Pins P85, P86, and P87 cannot be used. In order to use these pins, additional hardware must be
    provided on the user board.

3. Area H'D000 to H'DFFF is used by the E10T, and is not available to the user.
4. Area H'F780 to H'FB7F must on no account be accessed.
5. When the E10T is used, address breaks can be set as either available to the user or for use by

    the E10T. If address breaks are set as being used by the E10T, the address break control
    registers must not be accessed.
6. When the E10T is used, NMI is an input/output pin (open-drain in output mode), P85 and P87
    are input pins, and P86 is an output pin.

Related Manuals:  The latest versions of all related manuals are available from our web site.
                  Please ensure you have the latest versions of all documents you require.
                  http://www.renesas.com/eng/

H8/3687 Group manuals:

Document Title                                                           Document No.
H8/3687 Group Hardware Manual                                            This manual
H8/300H Series Programming Manual                                        ADE-602-053

User's manuals for development tools:

Document Title                                                           Document No.
                                                                         ADE-702-247
H8S, H8/300 Series C/C++ Compiler, Assembler, Optimizing Linkage Editor
User's Manual                                                            ADE-702-282
H8S, H8/300 Series Simulator/Debugger User's Manual                      ADE-702-231

H8S, H8/300 Series High-Performance Embedded Workshop,                   ADE-702-201
High-Performance Debugging Interface Tutorial
High-Performance Embedded Workshop User's Manual

Application notes:                                                       Document No.
                                                                         ADE-502-055
Document Title
Single Power Supply F-ZTATTM On-Board Programming

                                                   Rev. 3.00, 05/03, page vii of xxx
Rev. 3.00, 05/03, page viii of xxx
                                Contents

Section 1 Overview........................................................................................... 1

1.1 Features .............................................................................................................................1
1.2 Internal Block Diagram.....................................................................................................3
1.3 Pin Arrangement ...............................................................................................................5
1.4 Pin Functions.....................................................................................................................7

Section 2 CPU................................................................................................... 11

2.1 Address Space and Memory Map .....................................................................................12
2.2 Register Configuration ......................................................................................................15

        2.2.1 General Registers .................................................................................................16
        2.2.2 Program Counter (PC) .........................................................................................17
        2.2.3 Condition-Code Register (CCR) ..........................................................................17
2.3 Data Formats .....................................................................................................................19
        2.3.1 General Register Data Formats ............................................................................19
        2.3.2 Memory Data Formats .........................................................................................21
2.4 Instruction Set ...................................................................................................................22
        2.4.1 Table of Instructions Classified by Function .......................................................22
        2.4.2 Basic Instruction Formats ....................................................................................32
2.5 Addressing Modes and Effective Address Calculation .....................................................33
        2.5.1 Addressing Modes ...............................................................................................33
        2.5.2 Effective Address Calculation..............................................................................36
2.6 Basic Bus Cycle ................................................................................................................38
        2.6.1 Access to On-Chip Memory (RAM, ROM).........................................................38
        2.6.2 On-Chip Peripheral Modules ...............................................................................39
2.7 CPU States ........................................................................................................................40
2.8 Usage Notes ......................................................................................................................41
        2.8.1 Notes on Data Access to Empty Areas.................................................................41
        2.8.2 EEPMOV Instruction...........................................................................................41
        2.8.3 Bit-Manipulation Instruction................................................................................41

Section 3 Exception Handling .......................................................................... 47

3.1 Exception Sources and Vector Address ............................................................................48
3.2 Register Descriptions ........................................................................................................49

        3.2.1 Interrupt Edge Select Register 1 (IEGR1)............................................................50
        3.2.2 Interrupt Edge Select Register 2 (IEGR2)............................................................51
        3.2.3 Interrupt Enable Register 1 (IENR1) ...................................................................52
        3.2.4 Interrupt Enable Register 2 (IENR2) ...................................................................53
        3.2.5 Interrupt Flag Register 1 (IRR1) ..........................................................................53
        3.2.6 Interrupt Flag Register 2 (IRR2) ..........................................................................55

                                                                                          Rev. 3.00, 05/03, page ix of xxx
        3.2.7 Wakeup Interrupt Flag Register (IWPR) ............................................................. 55
3.3 Reset Exception Handling................................................................................................. 57
3.4 Interrupt Exception Handling............................................................................................ 57

        3.4.1 External Interrupts ............................................................................................... 57
        3.4.2 Internal Interrupts................................................................................................. 58
        3.4.3 Interrupt Handling Sequence ............................................................................... 59
        3.4.4 Interrupt Response Time...................................................................................... 60
3.5 Usage Notes ...................................................................................................................... 62
        3.5.1 Interrupts after Reset............................................................................................ 62
        3.5.2 Notes on Stack Area Use ..................................................................................... 62
        3.5.3 Notes on Rewriting Port Mode Registers............................................................. 62

Section 4 Address Break....................................................................................63

4.1 Register Descriptions ........................................................................................................ 63
        4.1.1 Address Break Control Register (ABRKCR)....................................................... 64
        4.1.2 Address Break Status Register (ABRKSR) ......................................................... 65
        4.1.3 Break Address Registers (BARH, BARL)........................................................... 65
        4.1.4 Break Data Registers (BDRH, BDRL) ................................................................ 65

4.2 Operation .......................................................................................................................... 66

Section 5 Clock Pulse Generators .....................................................................69

5.1 System Clock Generator ................................................................................................... 70
        5.1.1 Connecting Crystal Resonator ............................................................................. 70
        5.1.2 Connecting Ceramic Resonator ........................................................................... 71
        5.1.3 External Clock Input Method............................................................................... 71

5.2 Subclock Generator........................................................................................................... 72
        5.2.1 Connecting 32.768-kHz Crystal Resonator.......................................................... 72
        5.2.2 Pin Connection when Not Using Subclock .......................................................... 73

5.3 Prescalers .......................................................................................................................... 73
        5.3.1 Prescaler S ........................................................................................................... 73
        5.3.2 Prescaler W .......................................................................................................... 73

5.4 Usage Notes ...................................................................................................................... 74
        5.4.1 Note on Resonators .............................................................................................. 74
        5.4.2 Notes on Board Design ........................................................................................ 74

Section 6 Power-Down Modes ..........................................................................75

6.1 Register Descriptions ........................................................................................................ 75
        6.1.1 System Control Register 1 (SYSCR1) ................................................................. 76
        6.1.2 System Control Register 2 (SYSCR2) ................................................................. 78
        6.1.3 Module Standby Control Register 1 (MSTCR1) ................................................. 79
        6.1.4 Module Standby Control Register 2 (MSTCR2) ................................................. 80

6.2 Mode Transitions and States of LSI.................................................................................. 80
        6.2.1 Sleep Mode .......................................................................................................... 83

Rev. 3.00, 05/03, page x of xxx
        6.2.2 Standby Mode ......................................................................................................84
        6.2.3 Subsleep Mode.....................................................................................................84
        6.2.4 Subactive Mode ...................................................................................................85
6.3 Operating Frequency in Active Mode ...............................................................................85
6.4 Direct Transition ...............................................................................................................85
        6.4.1 Direct Transition from Active Mode to Subactive Mode.....................................85
        6.4.2 Direct Transition from Subactive Mode to Active Mode.....................................86
6.5 Module Standby Function .................................................................................................86

Section 7 ROM ................................................................................................. 87

7.1 Block Configuration..........................................................................................................87
7.2 Register Descriptions ........................................................................................................89

        7.2.1 Flash Memory Control Register 1 (FLMCR1).....................................................89
        7.2.2 Flash Memory Control Register 2 (FLMCR2).....................................................90
        7.2.3 Erase Block Register 1 (EBR1) ...........................................................................91
        7.2.4 Flash Memory Power Control Register (FLPWCR) ............................................92
        7.2.5 Flash Memory Enable Register (FENR) ..............................................................92
7.3 On-Board Programming Modes ........................................................................................93
        7.3.1 Boot Mode ...........................................................................................................93
        7.3.2 Programming/Erasing in User Program Mode.....................................................96
7.4 Flash Memory Programming/Erasing ...............................................................................97
        7.4.1 Program/Program-Verify .....................................................................................97
        7.4.2 Erase/Erase-Verify ...............................................................................................99
        7.4.3 Interrupt Handling when Programming/Erasing Flash Memory..........................100
7.5 Program/Erase Protection..................................................................................................102
        7.5.1 Hardware Protection ............................................................................................102
        7.5.2 Software Protection..............................................................................................102
        7.5.3 Error Protection....................................................................................................102
7.6 Programmer Mode ............................................................................................................103
7.7 Power-Down States for Flash Memory .............................................................................103

Section 8 RAM ................................................................................................. 105

Section 9 I/O Ports ............................................................................................ 107

9.1 Port 1.................................................................................................................................107
        9.1.1 Port Mode Register 1 (PMR1) .............................................................................108
        9.1.2 Port Control Register 1 (PCR1) ...........................................................................109
        9.1.3 Port Data Register 1 (PDR1)................................................................................109
        9.1.4 Port Pull-Up Control Register 1 (PUCR1)...........................................................110
        9.1.5 Pin Functions .......................................................................................................110

9.2 Port 2.................................................................................................................................113
        9.2.1 Port Control Register 2 (PCR2) ...........................................................................113
        9.2.2 Port Data Register 2 (PDR2)................................................................................114

                                                                                          Rev. 3.00, 05/03, page xi of xxx
        9.2.3 Port Mode Register 3 (PMR3) ............................................................................. 114
        9.2.4 Pin Functions ....................................................................................................... 114
9.3 Port 3................................................................................................................................. 116
        9.3.1 Port Control Register 3 (PCR3) ........................................................................... 116
        9.3.2 Port Data Register 3 (PDR3)................................................................................ 117
        9.3.3 Pin Functions ....................................................................................................... 117
9.4 Port 5................................................................................................................................. 119
        9.4.1 Port Mode Register 5 (PMR5) ............................................................................. 120
        9.4.2 Port Control Register 5 (PCR5) ........................................................................... 121
        9.4.3 Port Data Register 5 (PDR5)................................................................................ 121
        9.4.4 Port Pull-Up Control Register 5 (PUCR5)........................................................... 122
        9.4.5 Pin Functions ....................................................................................................... 122
9.5 Port 6................................................................................................................................. 125
        9.5.1 Port Control Register 6 (PCR6) ........................................................................... 125
        9.5.2 Port Data Register 6 (PDR6)................................................................................ 126
        9.5.3 Pin Functions ....................................................................................................... 126
9.6 Port 7................................................................................................................................. 130
        9.6.1 Port Control Register 7 (PCR7) ........................................................................... 130
        9.6.2 Port Data Register 7 (PDR7)................................................................................ 131
        9.6.3 Pin Functions ....................................................................................................... 131
9.7 Port 8................................................................................................................................. 133
        9.7.1 Port Control Register 8 (PCR8) ........................................................................... 133
        9.7.2 Port Data Register 8 (PDR8)................................................................................ 133
        9.7.3 Pin Functions ....................................................................................................... 134
9.8 Port B ................................................................................................................................ 135
        9.8.1 Port Data Register B (PDRB) .............................................................................. 135

Section 10 Realtime Clock (RTC).....................................................................137

10.1 Features ............................................................................................................................. 137
10.2 Input/Output Pin................................................................................................................ 138
10.3 Register Descriptions ........................................................................................................ 139

        10.3.1 Second Data Register/Free Running Counter Data Register (RSECDR)............. 139
        10.3.2 Minute Data Register (RMINDR)........................................................................ 140
        10.3.3 Hour Data Register (RHRDR) ............................................................................. 141
        10.3.4 Day-of-Week Data Register (RWKDR) .............................................................. 142
        10.3.5 RTC Control Register 1 (RTCCR1)..................................................................... 143
        10.3.6 RTC Control Register 2 (RTCCR2)..................................................................... 144
        10.3.7 Clock Source Select Register (RTCCSR) ............................................................ 145
10.4 Operation .......................................................................................................................... 146
        10.4.1 Initial Settings of Registers after Power-On ........................................................ 146
        10.4.2 Initial Setting Procedure ...................................................................................... 146
        10.4.3 Data Reading Procedure ...................................................................................... 147
10.5 Interrupt Source ................................................................................................................ 148

Rev. 3.00, 05/03, page xii of xxx
Section 11 Timer B1 ......................................................................................... 149

11.1 Features .............................................................................................................................149
11.2 Input/Output Pin................................................................................................................150
11.3 Register Descriptions ........................................................................................................150

        11.3.1 Timer Mode Register B1 (TMB1) .......................................................................151
        11.3.2 Timer Counter B1 (TCB1)...................................................................................151
        11.3.3 Timer Load Register B1 (TLB1) .........................................................................152
11.4 Operation...........................................................................................................................152
        11.4.1 Interval Timer Operation .....................................................................................152
        11.4.2 Auto-Reload Timer Operation .............................................................................152
        11.4.3 Event Counter Operation .....................................................................................153
11.5 Timer B1 Operating Modes ..............................................................................................153

Section 12 Timer V........................................................................................... 155

12.1 Features .............................................................................................................................155
12.2 Input/Output Pins ..............................................................................................................156
12.3 Register Descriptions ........................................................................................................157

        12.3.1 Timer Counter V (TCNTV) .................................................................................157
        12.3.2 Time Constant Registers A and B (TCORA, TCORB)........................................157
        12.3.3 Timer Control Register V0 (TCRV0) ..................................................................158
        12.3.4 Timer Control/Status Register V (TCSRV) .........................................................160
        12.3.5 Timer Control Register V1 (TCRV1) ..................................................................161
12.4 Operation...........................................................................................................................162
        12.4.1 Timer V Operation ...............................................................................................162
12.5 Timer V Application Examples.........................................................................................165
        12.5.1 Pulse Output with Arbitrary Duty Cycle..............................................................165
        12.5.2 Pulse Output with Arbitrary Pulse Width and Delay from TRGV Input .............166
12.6 Usage Notes ......................................................................................................................167

Section 13 Timer Z ........................................................................................... 169

13.1 Features .............................................................................................................................169
13.2 Input/Output Pins ..............................................................................................................174
13.3 Register Descriptions ........................................................................................................175

        13.3.1 Timer Start Register (TSTR)................................................................................176
        13.3.2 Timer Mode Register (TMDR) ............................................................................176
        13.3.3 Timer PWM Mode Register (TPMR) ..................................................................177
        13.3.4 Timer Function Control Register (TFCR)............................................................178
        13.3.5 Timer Output Master Enable Register (TOER) ...................................................180
        13.3.6 Timer Output Control Register (TOCR) ..............................................................181
        13.3.7 Timer Counter (TCNT)........................................................................................182
        13.3.8 General Registers A, B, C, and D (GRA, GRB, GRC, and GRD) .......................182
        13.3.9 Timer Control Register (TCR) .............................................................................183
        13.3.10 Timer I/O Control Register (TIORA and TIORC)...............................................184

                                                                                         Rev. 3.00, 05/03, page xiii of xxx
        13.3.11 Timer Status Register (TSR)................................................................................ 186
        13.3.12 Timer Interrupt Enable Register (TIER) .............................................................. 188
        13.3.13 PWM Mode Output Level Control Register (POCR) .......................................... 189
        13.3.14 Interface with CPU .............................................................................................. 189
13.4 Operation .......................................................................................................................... 191
        13.4.1 Counter Operation................................................................................................ 191
        13.4.2 Waveform Output by Compare Match................................................................. 194
        13.4.3 Input Capture Function ........................................................................................ 197
        13.4.4 Synchronous Operation........................................................................................ 199
        13.4.5 PWM Mode ......................................................................................................... 200
        13.4.6 Reset Synchronous PWM Mode .......................................................................... 206
        13.4.7 Complementary PWM Mode............................................................................... 210
        13.4.8 Buffer Operation .................................................................................................. 216
        13.4.9 Timer Z Output Timing ....................................................................................... 223
13.5 Interrupts ........................................................................................................................... 226
        13.5.1 Status Flag Set Timing......................................................................................... 226
        13.5.2 Status Flag Clearing Timing ................................................................................ 228
13.6 Usage Notes ...................................................................................................................... 228

Section 14 Watchdog Timer ..............................................................................235

14.1 Features ............................................................................................................................. 235
14.2 Register Descriptions ........................................................................................................ 235

        14.2.1 Timer Control/Status Register WD (TCSRWD).................................................. 236
        14.2.2 Timer Counter WD (TCWD)............................................................................... 237
        14.2.3 Timer Mode Register WD (TMWD) ................................................................... 237
14.3 Operation .......................................................................................................................... 238

Section 15 14-Bit PWM ....................................................................................239

15.1 Features ............................................................................................................................. 239
15.2 Input/Output Pin................................................................................................................ 240
15.3 Register Descriptions ........................................................................................................ 240

        15.3.1 PWM Control Register (PWCR).......................................................................... 240
        15.3.2 PWM Data Registers U and L (PWDRU, PWDRL)............................................ 241
15.4 Operation .......................................................................................................................... 241

Section 16 Serial Communication Interface 3 (SCI3) .......................................243

16.1 Features ............................................................................................................................. 243
16.2 Input/Output Pins .............................................................................................................. 246
16.3 Register Descriptions ........................................................................................................ 246

        16.3.1 Receive Shift Register (RSR) .............................................................................. 247
        16.3.2 Receive Data Register (RDR) .............................................................................. 247
        16.3.3 Transmit Shift Register TSR (SCI3) .................................................................... 247
        16.3.4 Transmit Data Register (TDR)............................................................................. 247

Rev. 3.00, 05/03, page xiv of xxx
        16.3.5 Serial Mode Register (SMR)................................................................................248
        16.3.6 Serial Control Register 3 (SCR3).........................................................................249
        16.3.7 Serial Status Register (SSR).................................................................................251
        16.3.8 Bit Rate Register (BRR) ......................................................................................253
16.4 Operation in Asynchronous Mode ....................................................................................260
        16.4.1 Clock....................................................................................................................260
        16.4.2 SCI3 Initialization ................................................................................................261
        16.4.3 Data Transmission................................................................................................262
        16.4.4 Serial Data Reception...........................................................................................264
16.5 Operation in Clocked Synchronous Mode ........................................................................267
        16.5.1 Clock....................................................................................................................267
        16.5.2 SCI3 Initialization ................................................................................................267
        16.5.3 Serial Data Transmission .....................................................................................268
        16.5.4 Serial Data Reception (Clocked Synchronous Mode)..........................................270
        16.5.5 Simultaneous Serial Data Transmission and Reception.......................................272
16.6 Multiprocessor Communication Function.........................................................................274
        16.6.1 Multiprocessor Serial Data Transmission ............................................................276
        16.6.2 Multiprocessor Serial Data Reception..................................................................277
16.7 Interrupts ...........................................................................................................................281
16.8 Usage Notes ......................................................................................................................282
        16.8.1 Break Detection and Processing...........................................................................282
        16.8.2 Mark State and Break Sending.............................................................................282
        16.8.3 Receive Error Flags and Transmit Operations

                  (Clocked Synchronous Mode Only).....................................................................282
        16.8.4 Receive Data Sampling Timing and Reception Margin in

                  Asynchronous Mode ............................................................................................283

Section 17 I2C Bus Interface 2 (IIC2)............................................................... 285

17.1 Features .............................................................................................................................285
17.2 Input/Output Pins ..............................................................................................................287
17.3 Register Descriptions ........................................................................................................287

        17.3.1 I2C Bus Control Register 1 (ICCR1)....................................................................288
        17.3.2 I2C Bus Control Register 2 (ICCR2)....................................................................290
        17.3.3 I2C Bus Mode Register (ICMR)...........................................................................291
        17.3.4 I2C Bus Interrupt Enable Register (ICIER)..........................................................293
        17.3.5 I2C Bus Status Register (ICSR)............................................................................295
        17.3.6 Slave Address Register (SAR) .............................................................................297
        17.3.7 I2C Bus Transmit Data Register (ICDRT) ...........................................................298
        17.3.8 I2C Bus Receive Data Register (ICDRR).............................................................298
        17.3.9 I2C Bus Shift Register (ICDRS)...........................................................................298
17.4 Operation...........................................................................................................................299
        17.4.1 I2C Bus Format ....................................................................................................299
        17.4.2 Master Transmit Operation ..................................................................................300

                                                                                          Rev. 3.00, 05/03, page xv of xxx
        17.4.3 Master Receive Operation.................................................................................... 302
        17.4.4 Slave Transmit Operation .................................................................................... 304
        17.4.5 Slave Receive Operation...................................................................................... 306
        17.4.6 Clocked Synchronous Serial Format.................................................................... 308
        17.4.7 Noise Canceler ..................................................................................................... 310
        17.4.8 Example of Use.................................................................................................... 311
17.5 Interrupt Request............................................................................................................... 315
17.6 Bit Synchronous Circuit.................................................................................................... 316

Section 18 A/D Converter .................................................................................317

18.1 Features ............................................................................................................................. 317
18.2 Input/Output Pins .............................................................................................................. 319
18.3 Register Descriptions ........................................................................................................ 320

        18.3.1 A/D Data Registers A to D (ADDRA to ADDRD) ............................................. 320
        18.3.2 A/D Control/Status Register (ADCSR) ............................................................... 321
        18.3.3 A/D Control Register (ADCR) ............................................................................ 322
18.4 Operation .......................................................................................................................... 323
        18.4.1 Single Mode......................................................................................................... 323
        18.4.2 Scan Mode ........................................................................................................... 323
        18.4.3 Input Sampling and A/D Conversion Time ......................................................... 324
        18.4.4 External Trigger Input Timing............................................................................. 325
18.5 A/D Conversion Accuracy Definitions ............................................................................. 326
18.6 Usage Notes ...................................................................................................................... 327
        18.6.1 Permissible Signal Source Impedance ................................................................. 327
        18.6.2 Influences on Absolute Accuracy ........................................................................ 327

Section 19 EEPROM .........................................................................................329

19.1 Features ............................................................................................................................. 329
19.2 Input/Output Pins .............................................................................................................. 331
19.3 Register Description.......................................................................................................... 331

        19.3.1 EEPROM Key Register (EKR)............................................................................ 331
19.4 Operation .......................................................................................................................... 332

        19.4.1 EEPROM Interface .............................................................................................. 332
        19.4.2 Bus Format and Timing ....................................................................................... 332
        19.4.3 Start Condition..................................................................................................... 332
        19.4.4 Stop Condition ..................................................................................................... 333
        19.4.5 Acknowledge ....................................................................................................... 333
        19.4.6 Slave Addressing ................................................................................................. 333
        19.4.7 Write Operations.................................................................................................. 334
        19.4.8 Acknowledge Polling........................................................................................... 336
        19.4.9 Read Operation .................................................................................................... 336
19.5 Usage Notes ...................................................................................................................... 339
        19.5.1 Data Protection at VCC On/Off............................................................................. 339

Rev. 3.00, 05/03, page xvi of xxx
        19.5.2 Write/Erase Endurance ........................................................................................339
        19.5.3 Noise Suppression Time ......................................................................................339

Section 20 Power-On Reset and Low-Voltage Detection Circuits (Optional) . 341

20.1 Features .............................................................................................................................341
20.2 Register Descriptions ........................................................................................................342

        20.2.1 Low-Voltage-Detection Control Register (LVDCR) ...........................................342
        20.2.2 Low-Voltage-Detection Status Register (LVDSR) ..............................................344
20.3 Operation...........................................................................................................................345
        20.3.1 Power-On Reset Circuit .......................................................................................345
        20.3.2 Low-Voltage Detection Circuit............................................................................346

Section 21 Power Supply Circuit ...................................................................... 349

21.1 When Using Internal Power Supply Step-Down Circuit...................................................349
21.2 When Not Using Internal Power Supply Step-Down Circuit............................................350

Section 22 List of Registers .............................................................................. 351

22.1 Register Addresses (Address Order) .................................................................................352
22.2 Register Bits......................................................................................................................358
22.3 Registers States in Each Operating Mode .........................................................................363

Section 23 Electrical Characteristics ................................................................ 367

23.1 Absolute Maximum Ratings..............................................................................................367
23.2 Electrical Characteristics

        (F-ZTATTM Version, EEPROM Laminated F-ZTATTM Version)..................................... 367
        23.2.1 Power Supply Voltage and Operating Ranges .....................................................367
        23.2.2 DC Characteristics ...............................................................................................370
        23.2.3 AC Characteristics ...............................................................................................376
        23.2.4 A/D Converter Characteristics .............................................................................380
        23.2.5 Watchdog Timer Characteristics..........................................................................381
        23.2.6 Flash Memory Characteristics..............................................................................382
        23.2.7 EEPROM Characteristics (Preliminary) ..............................................................384
        23.2.8 Power-Supply-Voltage Detection Circuit Characteristics (Optional) ..................385
        23.2.9 Power-On Reset Circuit Characteristics (Optional) .............................................385
23.3 Electrical Characteristics
        (Mask-ROM Version, EEPROM Laminated Mask-ROM Version) .................................386
        23.3.1 Power Supply Voltage and Operating Ranges .....................................................386
        23.3.2 DC Characteristics ...............................................................................................388
        23.3.3 AC Characteristics ...............................................................................................395
        23.3.4 A/D Converter Characteristics .............................................................................399
        23.3.5 Watchdog Timer Characteristics..........................................................................400
        23.3.6 EEPROM Characteristics (Preliminary) ..............................................................401
        23.3.7 Power-Supply-Voltage Detection Circuit Characteristics (Optional) ..................402

                                                                                        Rev. 3.00, 05/03, page xvii of xxx
        23.3.8 Power-On Reset Circuit Characteristics (Optional) ............................................. 402
23.4 Operation Timing.............................................................................................................. 403
23.5 Output Load Condition ..................................................................................................... 406

Appendix A Instruction Set ...............................................................................407

A.1 Instruction List .................................................................................................................. 407
A.2 Operation Code Map......................................................................................................... 422
A.3 Number of Execution States.............................................................................................. 425
A.4 Combinations of Instructions and Addressing Modes ...................................................... 436

Appendix B I/O Port Block Diagrams...............................................................437

B.1 I/O Port Block Diagrams................................................................................................... 437
B.2 Port States in Each Operating State................................................................................... 454

Appendix C Product Code Lineup.....................................................................455

Appendix D Package Dimensions .....................................................................457

Appendix E EEPROM Laminated-Structure Cross-Sectional View.................459

Main Revisions and Additions in this Edition.....................................................461

Index  ......................................................................................................... 469

Rev. 3.00, 05/03, page xviii of xxx
                                 Figures

Section 1 Overview
Figure 1.1 Internal Block Diagram of H8/3687 Group of F-ZTAT TM and Mask-ROM Versions .3
Figure 1.2 Internal Block Diagram of H8/3687N (EEPROM Laminated Version) ........................4
Figure 1.3 Pin Arrangement of H8/3687 Group of F-ZTATTM and Mask-ROM Versions

              (FP-64E, FP-64A) ..........................................................................................................5
Figure 1.4 Pin Arrangement of H8/3687N (EEPROM Laminated Version) (FP-64E)...................6

Section 2 CPU
Figure 2.1 Memory Map (1) .........................................................................................................12
Figure 2.1 Memory Map (2) .........................................................................................................13
Figure 2.1 Memory Map (3) .........................................................................................................14
Figure 2.2 CPU Registers .............................................................................................................15
Figure 2.3 Usage of General Registers .........................................................................................16
Figure 2.4 Relationship between Stack Pointer and Stack Area ...................................................17
Figure 2.5 General Register Data Formats (1) ..............................................................................19
Figure 2.5 General Register Data Formats (2) ..............................................................................20
Figure 2.6 Memory Data Formats.................................................................................................21
Figure 2.7 Instruction Formats......................................................................................................32
Figure 2.8 Branch Address Specification in Memory Indirect Mode ...........................................35
Figure 2.9 On-Chip Memory Access Cycle..................................................................................38
Figure 2.10 On-Chip Peripheral Module Access Cycle (3-State Access).....................................39
Figure 2.11 CPU Operation States................................................................................................40
Figure 2.12 State Transitions ........................................................................................................41
Figure 2.13 Example of Timer Configuration with Two Registers Allocated to Same Address ..42

Section 3 Exception Handling
Figure 3.1 Reset Sequence............................................................................................................58
Figure 3.2 Stack Status after Exception Handling ........................................................................60
Figure 3.3 Interrupt Sequence.......................................................................................................61
Figure 3.4 Port Mode Register Setting and Interrupt Request Flag Clearing Procedure ..............62

Section 4 Address Break
Figure 4.1 Block Diagram of Address Break................................................................................63
Figure 4.2 Address Break Interrupt Operation Example (1) .........................................................66
Figure 4.2 Address Break Interrupt Operation Example (2) .........................................................67

Section 5 Clock Pulse Generators
Figure 5.1 Block Diagram of Clock Pulse Generators..................................................................69
Figure 5.2 Block Diagram of System Clock Generator ................................................................70
Figure 5.3 Typical Connection to Crystal Resonator....................................................................70
Figure 5.4 Equivalent Circuit of Crystal Resonator......................................................................70
Figure 5.5 Typical Connection to Ceramic Resonator..................................................................71

                                                                                         Rev. 3.00, 05/03, page xix of xxx
Figure 5.6 Example of External Clock Input ................................................................................ 71
Figure 5.7 Block Diagram of Subclock Generator ....................................................................... 72
Figure 5.8 Typical Connection to 32.768-kHz Crystal Resonator ................................................ 72
Figure 5.9 Equivalent Circuit of 32.768-kHz Crystal Resonator .................................................. 72
Figure 5.10 Pin Connection when not Using Subclock ................................................................ 73
Figure 5.11 Example of Incorrect Board Design ........................................................................... 74

Section 6 Power-Down Modes
Figure 6.1 Mode Transition Diagram ...........................................................................................81

Section 7 ROM
Figure 7.1 Flash Memory Block Configuration............................................................................ 88
Figure 7.2 Programming/Erasing Flowchart Example in User Program Mode ............................ 96
Figure 7.3 Program/Program-Verify Flowchart............................................................................ 98
Figure 7.4 Erase/Erase-Verify Flowchart ................................................................................... 101

Section 9 I/O Ports
Figure 9.1 Port 1 Pin Configuration............................................................................................ 107
Figure 9.2 Port 2 Pin Configuration............................................................................................ 113
Figure 9.3 Port 3 Pin Configuration............................................................................................ 116
Figure 9.4 Port 5 Pin Configuration............................................................................................ 119
Figure 9.5 Port 6 Pin Configuration............................................................................................ 125
Figure 9.6 Port 7 Pin Configuration............................................................................................ 130
Figure 9.7 Port 8 Pin Configuration............................................................................................ 133
Figure 9.8 Port B Pin Configuration ........................................................................................... 135

Section 10 Realtime Clock (RTC)
Figure 10.1 Block Diagram of RTC ........................................................................................... 138
Figure 10.2 Definition of Time Expression ................................................................................ 143
Figure 10.3 Initial Setting Procedure .......................................................................................... 146
Figure 10.4 Example: Reading of Inaccurate Time Data............................................................ 147

Section 11 Timer B1
Figure 11.1 Block Diagram of Timer B1.................................................................................... 149

Section 12 Timer V
Figure 12.1 Block Diagram of Timer V...................................................................................... 156
Figure 12.2 Increment Timing with Internal Clock .................................................................... 162
Figure 12.3 Increment Timing with External Clock ................................................................... 163
Figure 12.4 OVF Set Timing ...................................................................................................... 163
Figure 12.5 CMFA and CMFB Set Timing ................................................................................ 163
Figure 12.6 TMOV Output Timing ............................................................................................ 164
Figure 12.7 Clear Timing by Compare Match............................................................................ 164
Figure 12.8 Clear Timing by TMRIV Input ............................................................................... 164
Figure 12.9 Pulse Output Example ............................................................................................. 165
Figure 12.10 Example of Pulse Output Synchronized to TRGV Input....................................... 166

Rev. 3.00, 05/03, page xx of xxx
Figure 12.11 Contention between TCNTV Write and Clear ......................................................167
Figure 12.12 Contention between TCORA Write and Compare Match .....................................168
Figure 12.13 Internal Clock Switching and TCNTV Operation .................................................168

Section 13 Timer Z
Figure 13.1 Timer Z Block Diagram ..........................................................................................171
Figure 13.2 Timer Z (Channel 0) Block Diagram.......................................................................172
Figure 13.3 Timer Z (Channel 1) Block Diagram.......................................................................173
Figure 13.4 Example of Outputs in Reset Synchronous PWM Mode and

                Complementary PWM Mode ...................................................................................179
Figure 13.5 Accessing Operation of 16-Bit Register (between CPU and TCNT (16 bits)) ........189
Figure 13.6 Accessing Operation of 8-Bit Register (between CPU and TSTR (8 bits)).............190
Figure 13.7 Example of Counter Operation Setting Procedure ..................................................191
Figure 13.8 Free-Running Counter Operation ............................................................................192
Figure 13.9 Periodic Counter Operation .....................................................................................193
Figure 13.10 Count Timing at Internal Clock Operation ............................................................193
Figure 13.11 Count Timing at External Clock Operation (Both Edges Detected)......................194
Figure 13.12 Example of Setting Procedure for Waveform Output by Compare Match ............194
Figure 13.13 Example of 0 Output/1 Output Operation..............................................................195
Figure 13.14 Example of Toggle Output Operation ...................................................................196
Figure 13.15 Output Compare Timing........................................................................................196
Figure 13.16 Example of Input Capture Operation Setting Procedure .......................................197
Figure 13.17 Example of Input Capture Operation.....................................................................198
Figure 13.18 Input Capture Signal Timing .................................................................................198
Figure 13.19 Example of Synchronous Operation Setting Procedure.........................................199
Figure 13.20 Example of Synchronous Operation ......................................................................200
Figure 13.21 Example of PWM Mode Setting Procedure ..........................................................201
Figure 13.22 Example of PWM Mode Operation (1) .................................................................202
Figure 13.23 Example of PWM Mode Operation (2) .................................................................203
Figure 13.24 Example of PWM Mode Operation (3) .................................................................204
Figure 13.25 Example of PWM Mode Operation (4) .................................................................205
Figure 13.26 Example of Reset Synchronous PWM Mode Setting Procedure...........................207
Figure 13.27 Example of Reset Synchronous PWM Mode Operation (OLS0 = OLS1 = 1) ......208
Figure 13.28 Example of Reset Synchronous PWM Mode Operation (OLS0 = OLS1 = 0) ......209
Figure 13.29 Example of Complementary PWM Mode Setting Procedure................................211
Figure 13.30 Canceling Procedure of Complementary PWM Mode ..........................................212
Figure 13.31 Example of Complementary PWM Mode Operation (1).......................................213
Figure 13.32 Example of Complementary PWM Mode Operation (2).......................................214
Figure 13.33 Timing of Overshooting ........................................................................................215
Figure 13.34 Timing of Undershooting ......................................................................................215
Figure 13.35 Compare Match Buffer Operation .........................................................................216
Figure 13.36 Input Capture Buffer Operation.............................................................................217
Figure 13.37 Example of Buffer Operation Setting Procedure ...................................................217

                                                                                         Rev. 3.00, 05/03, page xxi of xxx
Figure 13.38 Example of Buffer Operation (1)
                 (Buffer Operation for Output Compare Register) .................................................. 218

Figure 13.39 Example of Compare Match Timing for Buffer Operation ................................... 219
Figure 13.40 Example of Buffer Operation (2)

                 (Buffer Operation for Input Capture Register)....................................................... 220
Figure 13.41 Input Capture Timing of Buffer Operation............................................................ 221
Figure 13.42 Buffer Operation (3)

                 (Buffer Operation in Complementary PWM Mode CMD1 = CMD0 = 1) ............ 222
Figure 13.43 Buffer Operation (4)

                 (Buffer Operation in Complementary PWM Mode CMD1 = CMD0 = 1) ............ 223
Figure 13.44 Example of Output Disable Timing of Timer Z by Writing to TOER .................. 224
Figure 13.45 Example of Output Disable Timing of Timer Z by External Trigger .................... 224
Figure 13.46 Example of Output Inverse Timing of Timer Z by Writing to TFCR ................... 225
Figure 13.47 Example of Output Inverse Timing of Timer Z by Writing to POCR ................... 225
Figure 13.48 IMF Flag Set Timing when Compare Match Occurs............................................. 226
Figure 13.49 IMF Flag Set Timing at Input Capture .................................................................. 227
Figure 13.50 OVF Flag Set Timing ............................................................................................ 227
Figure 13.51 Status Flag Clearing Timing.................................................................................. 228
Figure 13.52 Contention between TCNT Write and Clear Operations....................................... 228
Figure 13.53 Contention between TCNT Write and Increment Operations ............................... 229
Figure 13.54 Contention between GR Write and Compare Match ............................................. 230
Figure 13.55 Contention between TCNT Write and Overflow................................................... 231
Figure 13.56 Contention between GR Read and Input Capture.................................................. 232
Figure 13.57 Contention between Count Clearing and Increment Operations

                  by Input Capture ................................................................................................... 232
Figure 13.58 Contention between GR Write and Input Capture................................................. 233

Section 14 Watchdog Timer
Figure 14.1 Block Diagram of Watchdog Timer ........................................................................ 235
Figure 14.2 Watchdog Timer Operation Example...................................................................... 238

Section 15 14-Bit PWM
Figure 15.1 Block Diagram of 14-Bit PWM............................................................................... 239
Figure 15.2 Waveform Output by 14-Bit PWM ......................................................................... 242

Section 16 Serial Communication Interface 3 (SCI3)
Figure 16.1 Block Diagram of SCI3 ........................................................................................... 245
Figure 16.2 Data Format in Asynchronous Communication ...................................................... 260
Figure 16.3 Relationship between Output Clock and Transfer Data Phase

                (Asynchronous Mode)(Example with 8-Bit Data, Parity, Two Stop Bits)............... 260
Figure 16.4 Sample SCI3 Initialization Flowchart ..................................................................... 261
Figure 16.5 Example of SCI3 Transmission in Asynchronous Mode

                (8-Bit Data, Parity, One Stop Bit)............................................................................ 262
Figure 16.6 Sample Serial Transmission Data Flowchart (Asynchronous Mode)...................... 263

Rev. 3.00, 05/03, page xxii of xxx
Figure 16.7 Example of SCI3 Reception in Asynchronous Mode
                (8-Bit Data, Parity, One Stop Bit)............................................................................264

Figure 16.8 Sample Serial Reception Data Flowchart (Asynchronous Mode)(1).......................265
Figure 16.8 Sample Serial Reception Data Flowchart (Asynchronous Mode)(2).......................266
Figure 16.9 Data Format in Clocked Synchronous Communication ..........................................267
Figure 16.10 Example of SCI3 Transmission in Clocked Synchronous Mode...........................268
Figure 16.11 Sample Serial Transmission Flowchart (Clocked Synchronous Mode) ................269
Figure 16.12 Example of SCI3 Reception in Clocked Synchronous Mode ................................270
Figure 16.13 Sample Serial Reception Flowchart (Clocked Synchronous Mode)......................271
Figure 16.14 Sample Flowchart of Simultaneous Serial Transmit and Receive Operations

                 (Clocked Synchronous Mode) ...............................................................................273
Figure 16.15 Example of Inter-Processor Communication Using Multiprocessor Format

                 (Transmission of Data H'AA to Receiving Station A) ...........................................275
Figure 16.16 Sample Multiprocessor Serial Transmission Flowchart ........................................276
Figure 16.17 Sample Multiprocessor Serial Reception Flowchart (1) ........................................278
Figure 16.17 Sample Multiprocessor Serial Reception Flowchart (2) ........................................279
Figure 16.18 Example of SCI3 Reception Using Multiprocessor Format

                 (Example with 8-Bit Data, Multiprocessor Bit, One Stop Bit) ..............................280
Figure 16.19 Receive Data Sampling Timing in Asynchronous Mode.......................................283

Section 17 I2C Bus Interface 2 (IIC2)
Figure 17.1 Block Diagram of I2C Bus Interface 2.....................................................................286
Figure 17.2 External Circuit Connections of I/O Pins ................................................................287
Figure 17.3 I2C Bus Formats ......................................................................................................299
Figure 17.4 I2C Bus Timing........................................................................................................299
Figure 17.5 Master Transmit Mode Operation Timing (1) .........................................................301
Figure 17.6 Master Transmit Mode Operation Timing (2) .........................................................301
Figure 17.7 Master Receive Mode Operation Timing (1)...........................................................303
Figure 17.8 Master Receive Mode Operation Timing (2)...........................................................303
Figure 17.9 Slave Transmit Mode Operation Timing (1) ...........................................................305
Figure 17.10 Slave Transmit Mode Operation Timing (2) .........................................................306
Figure 17.11 Slave Receive Mode Operation Timing (1) ...........................................................307
Figure 17.12 Slave Receive Mode Operation Timing (2) ...........................................................307
Figure 17.13 Clocked Synchronous Serial Transfer Format.......................................................308
Figure 17.14 Transmit Mode Operation Timing.........................................................................309
Figure 17.15 Receive Mode Operation Timing ..........................................................................310
Figure 17.16 Block Diagram of Noise Conceler.........................................................................310
Figure 17.17 Sample Flowchart for Master Transmit Mode.......................................................311
Figure 17.18 Sample Flowchart for Master Receive Mode ........................................................312
Figure 17.19 Sample Flowchart for Slave Transmit Mode.........................................................313
Figure 17.20 Sample Flowchart for Slave Receive Mode ..........................................................314
Figure 17.21 The Timing of the Bit Synchronous Circuit ..........................................................316

                                                                                        Rev. 3.00, 05/03, page xxiii of xxx
Section 18 A/D Converter
Figure 18.1 Block Diagram of A/D Converter ........................................................................... 318
Figure 18.2 A/D Conversion Timing .......................................................................................... 324
Figure 18.3 External Trigger Input Timing ................................................................................ 325
Figure 18.4 A/D Conversion Accuracy Definitions (1) .............................................................. 326
Figure 18.5 A/D Conversion Accuracy Definitions (2) .............................................................. 327
Figure 18.6 Analog Input Circuit Example................................................................................. 328

Section 19 EEPROM
Figure 19.1 Block Diagram of EEPROM ................................................................................... 330
Figure 19.2 EEPROM Bus Format and Bus Timing................................................................... 332
Figure 19.3 Byte Write Operation .............................................................................................. 335
Figure 19.4 Page Write Operation .............................................................................................. 335
Figure 19.5 Current Address Read Operation............................................................................. 337
Figure 19.6 Random Address Read Operation ........................................................................... 337
Figure 19.7 Sequential Read Operation (when current address read is used) ............................. 338

Section 20 Power-On Reset and Low-Voltage Detection Circuits (Optional)
Figure 20.1 Block Diagram of Power-On Reset Circuit and Low-Voltage Detection Circuit.... 342
Figure 20.2 Operational Timing of Power-On Reset Circuit ...................................................... 345
Figure 20.3 Operational Timing of LVDR Circuit ..................................................................... 346
Figure 20.4 Operational Timing of LVDI Circuit....................................................................... 347
Figure 20.5 Timing for Operation/Release of Low-Voltage Detection Circuit .......................... 348

Section 21 Power Supply Circuit
Figure 21.1 Power Supply Connection when Internal Step-Down Circuit is Used .................... 349
Figure 21.2 Power Supply Connection when Internal Step-Down Circuit is Not Used ............. 350

Section 23 Electrical Characteristics
Figure 23.1 System Clock Input Timing..................................................................................... 403
Figure 23.2 RES Low Width Timing.......................................................................................... 403
Figure 23.3 Input Timing............................................................................................................ 403
Figure 23.4 I2C Bus Interface Input/Output Timing ................................................................... 404
Figure 23.5 SCK3 Input Clock Timing....................................................................................... 404
Figure 23.6 SCI Input/Output Timing in Clocked Synchronous Mode ...................................... 405
Figure 23.7 EEPROM Bus Timing............................................................................................. 405
Figure 23.8 Output Load Circuit................................................................................................. 406

Appendix B I/O Port Block Diagrams
Figure B.1 Port 1 Block Diagram (P17) ..................................................................................... 437
Figure B.2 Port 1 Block Diagram (P14, P16) ............................................................................. 438
Figure B.3 Port 1 Block Diagram (P15) ..................................................................................... 439
Figure B.4 Port 1 Block Diagram (P12) ..................................................................................... 439
Figure B.5 Port 2 Block Diagram (P11) ..................................................................................... 440
Figure B.6 Port 1 Block Diagram (P10) ..................................................................................... 441
Figure B.7 Port 2 Block Diagram (P24, P23) ............................................................................. 441
Rev. 3.00, 05/03, page xxiv of xxx
Figure B.8 Port 2 Block Diagram (P22) .....................................................................................442
Figure B.9 Port 2 Block Diagram (P21) .....................................................................................443
Figure B.10 Port 2 Block Diagram (P20) ...................................................................................444
Figure B.11 Port 3 Block Diagram (P37 to P30) ........................................................................445
Figure B.12 Port 5 Block Diagram (P57, P56) ...........................................................................445
Figure B.13 Port 5 Block Diagram (P54 to P50) ........................................................................446
Figure B.14 Port 6 Block Diagram (P67 to P60) ........................................................................447
Figure B.15 Port 7 Block Diagram (P76) ...................................................................................448
Figure B.16 Port 7 Block Diagram (P75) ...................................................................................449
Figure B.17 Port 7 Block Diagram (P74) ...................................................................................450
Figure B.18 Port 7 Block Diagram (P72) ...................................................................................451
Figure B.19 Port 7 Block Diagram (P71) ...................................................................................451
Figure B.20 Port 7 Block Diagram (P70) ...................................................................................452
Figure B.21 Port 8 Block Diagram (P87 to P85) ........................................................................453
Figure B.22 Port B Block Diagram (PB7 to PB0) ......................................................................453
Appendix D Package Dimensions
Figure D.1 FP-64E Package Dimensions....................................................................................457
Figure D.2 FP-64A Package Dimensions ...................................................................................458
Appendix E EEPROM Laminated-Structure Cross-Sectional View
Figure E.1 EEPROM Laminated-Structure Cross-Sectional View.............................................459

                                                                                        Rev. 3.00, 05/03, page xxv of xxx
Rev. 3.00, 05/03, page xxvi of xxx
                                 Tables

Section 1 Overview
Table 1.1 Pin Functions ................................................................................................................7

Section 2 CPU
Table 2.1 Operation Notation......................................................................................................22
Table 2.2 Data Transfer Instructions...........................................................................................23
Table 2.3 Arithmetic Operations Instructions (1) .......................................................................24
Table 2.3 Arithmetic Operations Instructions (2) .......................................................................25
Table 2.4 Logic Operations Instructions .....................................................................................26
Table 2.5 Shift Instructions.........................................................................................................26
Table 2.6 Bit Manipulation Instructions (1)................................................................................27
Table 2.6 Bit Manipulation Instructions (2)................................................................................28
Table 2.7 Branch Instructions .....................................................................................................29
Table 2.8 System Control Instructions........................................................................................30
Table 2.9 Block Data Transfer Instructions ................................................................................31
Table 2.10 Addressing Modes ..................................................................................................33
Table 2.11 Absolute Address Access Ranges ...........................................................................34
Table 2.12 Effective Address Calculation (1) ...........................................................................36
Table 2.12 Effective Address Calculation (2) ...........................................................................37

Section 3 Exception Handling
Table 3.1 Exception Sources and Vector Address ......................................................................48
Table 3.2 Interrupt Wait States ...................................................................................................60

Section 4 Address Break
Table 4.1 Access and Data Bus Used..........................................................................................65

Section 5 Clock Pulse Generators
Table 5.1 Crystal Resonator Parameters .....................................................................................71

Section 6 Power-Down Modes
Table 6.1 Operating Frequency and Waiting Time.....................................................................77
Table 6.2 Transition Mode after SLEEP Instruction Execution and Transition Mode

               due to Interrupt............................................................................................................82
Table 6.3 Internal State in Each Operating Mode.......................................................................83

Section 7 ROM
Table 7.1 Setting Programming Modes ......................................................................................93
Table 7.2 Boot Mode Operation .................................................................................................95
Table 7.3 System Clock Frequencies for which Automatic Adjustment of LSI Bit Rate

               is Possible ...................................................................................................................96
Table 7.4 Reprogram Data Computation Table ..........................................................................99
Table 7.5 Additional-Program Data Computation Table ............................................................99

                                                                                       Rev. 3.00, 05/03, page xxvii of xxx
Table 7.6 Programming Time ..................................................................................................... 99
Table 7.7 Flash Memory Operating States................................................................................ 103

Section 10 Realtime Clock (RTC)
Table 10.1 Pin Configuration.................................................................................................. 138
Table 10.2 Interrupt Source .................................................................................................... 148

Section 11 Timer B1
Table 11.1 Pin Configuration.................................................................................................. 150
Table 11.2 Timer B1 Operating Modes .................................................................................. 153

Section 12 Timer V
Table 12.1 Pin Configuration.................................................................................................. 156
Table 12.2 Clock Signals to Input to TCNTV and Counting Conditions ............................... 159

Section 13 Timer Z
Table 13.1 Timer Z Functions................................................................................................. 170
Table 13.2 Pin Configuration.................................................................................................. 174
Table 13.3 Initial Output Level of FTIOB0 Pin...................................................................... 201
Table 13.4 Output Pins in Reset Synchronous PWM Mode ................................................... 206
Table 13.5 Register Settings in Reset Synchronous PWM Mode........................................... 206
Table 13.6 Output Pins in Complementary PWM Mode ........................................................ 210
Table 13.7 Register Settings in Complementary PWM Mode................................................ 210
Table 13.8 Register Combinations in Buffer Operation.......................................................... 216

Section 15 14-Bit PWM
Table 15.1 Pin Configuration.................................................................................................. 240

Section 16 Serial Communication Interface 3 (SCI3)
Table 16.1 Channel Configuration.......................................................................................... 244
Table 16.2 Pin Configuration.................................................................................................. 246
Table 16.3 Examples of BRR Settings for Various Bit Rates (Asynchronous Mode) (1) ...... 254
Table 16.3 Examples of BRR Settings for Various Bit Rates (Asynchronous Mode) (2) ...... 255
Table 16.3 Examples of BRR Settings for Various Bit Rates (Asynchronous Mode) (3) ...... 256
Table 16.4 Maximum Bit Rate for Each Frequency (Asynchronous Mode) .......................... 257
Table 16.5 Examples of BRR Settings for Various Bit Rates

                  (Clocked Synchronous Mode) (1)......................................................................... 258
Table 16.5 Examples of BRR Settings for Various Bit Rates

                  (Clocked Synchronous Mode) (2)......................................................................... 259
Table 16.6 SSR Status Flags and Receive Data Handling ...................................................... 265
Table 16.7 SCI3 Interrupt Requests........................................................................................ 281

Section 17 I2C Bus Interface 2 (IIC2)
Table 17.1 I2C Bus Interface Pins ........................................................................................... 287
Table 17.2 Transfer Rate......................................................................................................... 289
Table 17.3 Interrupt Requests ................................................................................................. 315
Table 17.4 Time for Monitoring SCL ..................................................................................... 316
Rev. 3.00, 05/03, page xxviii of xxx
Section 18 A/D Converter
Table 18.1 Pin Configuration..................................................................................................319
Table 18.2 Analog Input Channels and Corresponding ADDR Registers ..............................320
Table 18.3 A/D Conversion Time (Single Mode)...................................................................325

Section 19 EEPROM
Table 19.1 Pin Configuration..................................................................................................331
Table 19.2 Slave Addresses ....................................................................................................334

Section 20 Power-On Reset and Low-Voltage Detection Circuits (Optional)
Table 20.1 LVDCR Settings and Select Functions .................................................................344

Section 23 Electrical Characteristics
Table 23.1 Absolute Maximum Ratings .................................................................................367
Table 23.2 DC Characteristics (1)...........................................................................................370
Table 23.2 DC Characteristics (2)...........................................................................................374
Table 23.2 DC Characteristics (3)...........................................................................................375
Table 23.3 AC Characteristics ................................................................................................376
Table 23.4 I2C Bus Interface Timing ......................................................................................378
Table 23.5 Serial Communication Interface (SCI) Timing .....................................................379
Table 23.6 A/D Converter Characteristics ..............................................................................380
Table 23.7 Watchdog Timer Characteristics...........................................................................381
Table 23.8 Flash Memory Characteristics...............................................................................382
Table 23.9 EEPROM Characteristics......................................................................................384
Table 23.10 Power-Supply-Voltage Detection Circuit Characteristics.....................................385
Table 23.11 Power-On Reset Circuit Characteristics................................................................385
Table 23.12 DC Characteristics (1)...........................................................................................388
Table 23.12 DC Characteristics (2)...........................................................................................393
Table 23.12 DC Characteristics (3)...........................................................................................394
Table 23.13 AC Characteristics ................................................................................................395
Table 23.14 I2C Bus Interface Timing ......................................................................................397
Table 23.15 Serial Communication Interface (SCI) Timing .....................................................398
Table 23.16 A/D Converter Characteristics ..............................................................................399
Table 23.17 Watchdog Timer Characteristics...........................................................................400
Table 23.18 EEPROM Characteristics......................................................................................401
Table 23.19 Power-Supply-Voltage Detection Circuit Characteristics.....................................402
Table 23.20 Power-On Reset Circuit Characteristics................................................................402

Appendix A Instruction Set
Table A.1 Instruction Set .......................................................................................................409
Table A.2 Operation Code Map (1) .......................................................................................422
Table A.2 Operation Code Map (2) .......................................................................................423
Table A.2 Operation Code Map (3) .......................................................................................424
Table A.3 Number of Cycles in Each Instruction ..................................................................426
Table A.4 Number of Cycles in Each Instruction ..................................................................427

                                                                                       Rev. 3.00, 05/03, page xxix of xxx
Table A.5 Combinations of Instructions and Addressing Modes .......................................... 436
Rev. 3.00, 05/03, page xxx of xxx
                        Section 1 Overview

1.1 Features

High-speed H8/300H central processing unit with an internal 16-bit architecture
     Upward-compatible with H8/300 CPU on an object level
     Sixteen 16-bit general registers
     62 basic instructions

Various peripheral functions
     RTC (can be used as a free running counter)
     Timer B1 (8-bit timer)
     Timer V (8-bit timer)
     Timer Z (16-bit timer)
     14-bit PWM
     Watchdog timer
     SCI (Asynchronous or clocked synchronous serial communication interface) 2 channels
     I2C Bus Interface (conforms to the I2C bus interface format that is advocated by Philips
        Electronics)
     10-bit A/D converter

                                                                                          Rev. 3.00, 05/03, page 1 of 472
On-chip memory

                                            Model

                                            On-Chip Power-

                                            On Reset and

                                            Low-Voltage

                                 Standard   Detecting Circuit
                                 Version
Product Classification                      Version            ROM  RAM            Remarks

Flash memory version    H8/3687F HD64F3687 HD64F3687G          56 kbytes 4 kbytes  Under
(F-ZTATTM version)      H8/3684F HD64F3684 HD64F3684G          32 kbytes 4 kbytes  development
                                                                                   Under
Mask-ROM version        H8/3687 HD6433687 HD6433687G 56 kbytes 3 kbytes            development

                        H8/3686 HD6433686 HD6433686G 48 kbytes 3 kbytes

                        H8/3685 HD6433685 HD6433685G 40 kbytes 3 kbytes

                        H8/3684 HD6433684 HD6433684G 32 kbytes 3 kbytes

                        H8/3683 HD6433683 HD6433683G 24 kbytes 3 kbytes

                        H8/3682 HD6433682 HD6433682G 16 kbytes 3 kbytes

EEPROM       Flash      H8/3687N            HD64N3687G 56 kbytes 4 kbytes
laminated    memory                         HD6483687G 56 kbytes 3 kbytes
version      version
(512 bytes)
             Mask-ROM            

             version

General I/O ports
     I/O pins: 45 I/O pins (43 I/O pins for H8/3687N), including 8 large current ports (IOL = 20
        mA, @VOL = 1.5 V)
     Input-only pins: 8 input pins (also used for analog input)

EEPROM interface (only for H8/3687N)
     I2C bus interface (conforms to the I2C bus interface format that is advocated by Philips
        Electronics)

Supports various power-down states

Note: F-ZTATTM is a trademark of Renesas Technology Corp.

Compact package

Package                 Code                Body Size               Pin Pitch
                                                                    0.5 mm
LQFP-64                 FP-64E              10.0 10.0 mm          0.8 mm
                                            14.0 14.0 mm
QFP-64                  FP-64A

Only LQFP-64 (FP-64E) for H8/3687N package

Rev. 3.00, 05/03, page 2 of 472
1.2 Internal Block Diagram

                              X1
                                 X2
                                                  OSC1
                                                     OSC2
                                                                         VCL
                                                                              VCC
                                                                                   VSS
                                                                                             TEST

                              Subclock    System               CPU
                              generator     clock            H8/300H

                                         generator

       P10/TMOW                                     Data bus (lower)
         P11/PWM
                 P12  Port 1                                                                                             P67/FTIOD1
         P14/                                                                                                            P66/FTIOC1
                                                                                                   RAM           Port 6  P65/FTIOB1
P15/ /TMIB1                                                                                        IIC2                  P64/FTIOA1
         P16/                                       ROM                                                                  P63/FTIOD0
                                                                                                                         P62/FTIOC0
P17/ /TRGV                                                                                                               P61/FTIOB0
                                                                                                                         P60/FTIOA0
      P20/SCK3        Port 2
       P21/RXD                                                                                                           P76/TMOV
       P22/TXD                                        RTC                SCI3                                    Port 7  P75/TMCIV
              P23                                                                                                        P74/TMRIV
              P24     Port 3                         14-bit            SCI3_2                                            P72/TXD_2
                                                     PWM              Watchdog                                           P71/RXD_2
              P30                                   Timer Z                                                      Port 8  P70/SCK3_2
              P31                                                        timer
              P32                                   Timer V           Timer B1                                           P87
              P33                                                                                                        P86
              P34                                                                                                        P85
              P35
              P36
              P37

P55/    P57/SCL       Port 5
        P56/SDA
         /                                          A/D converter
      P54/
      P53/                                               Data bus (upper)
      P52/                                                  Address bus
      P51/
      P50/

                                                    Port B

                                                    PB0/AN0
                                                        PB1/AN1
                                                            PB2/AN2
                                                                PB3/AN3
                                                                     PB4/AN4
                                                                         PB5/AN5
                                                                             PB6/AN6
                                                                                 PB7/AN7

                                                                                                           AVCC

      Figure 1.1 Internal Block Diagram of H8/3687 Group of F-ZTAT TM
                                  and Mask-ROM Versions

                                                                                                                 Rev. 3.00, 05/03, page 3 of 472
                              X1
                                 X2
                                                  OSC1
                                                     OSC2
                                                                         VCL
                                                                              VCC
                                                                                   VSS
                                                                                             TEST

                              Subclock    System               CPU
                              generator     clock            H8/300H

                                         generator

       P10/TMOW                                     Data bus (lower)
         P11/PWM
                 P12  Port 1                                                                                                     P67/FTIOD1
         P14/                                                                                                                    P66/FTIOC1
                                                                                                   RAM           Port 6          P65/FTIOB1
P15/ /TMIB1                                                                                        IIC2                          P64/FTIOA1
         P16/                                       ROM                                                                          P63/FTIOD0
                                                                                                                                 P62/FTIOC0
P17/ /TRGV                                                                                                                       P61/FTIOB0
                                                                                                                                 P60/FTIOA0
      P20/SCK3        Port 2
       P21/RXD                                                                                                                   P76/TMOV
       P22/TXD                                        RTC                SCI3                                    Port 7          P75/TMCIV
              P23                                                                                                                P74/TMRIV
              P24     Port 3                         14-bit            SCI3_2                                                    P72/TXD_2
                                                     PWM              Watchdog                                                   P71/RXD_2
              P30                                   Timer Z                                                      Port 8          P70/SCK3_2
              P31                                                        timer
              P32                                   Timer V           Timer B1                                                   P87
              P33                                                                                                                P86
              P34                                                                                                                P85
              P35
              P36                                                                                                                        SDA
              P37                                                                                                                        SCL

P55/    P57/SCL       Port 5                                                                                            EEPROM
        P56/SDA
         /                                          A/D converter                                                I2C bus
      P54/
      P53/                                               Data bus (upper)
      P52/                                                  Address bus
      P51/
      P50/

                                                    Port B

                                                    PB0/AN0
                                                        PB1/AN1
                                                            PB2/AN2
                                                                PB3/AN3
                                                                     PB4/AN4
                                                                         PB5/AN5
                                                                             PB6/AN6
                                                                                 PB7/AN7

                                                                                                           AVCC

Note: The HD64N3687G is a laminated-structure product in which an EEPROM chip is mounted on the HD64F3687G (F-ZTATTM version).
         The HD6483687G is a laminated-structure product in which an EEPROM chip is mounted on the HD6433687G (mask-ROM version).

Figure 1.2 Internal Block Diagram of H8/3687N (EEPROM Laminated Version)

Rev. 3.00, 05/03, page 4 of 472
1.3 Pin Arrangement

                          P70/SCK3_2
                               P23
                                    P22/TXD
                                         P21/RXD
                                              P20/SCK3
                                                   P87
                                                        P86
                                                             P85
                                                                  P67/FTIOD1
                                                                       P66/FTIOC1
                                                                            P65/FTIOB1
                                                                                 P64/FTIOA1
                                                                                       P60/FTIOA0
                                                                                                 P61/FTIOB0
                                                                                                      P62/FTIOC0

                          48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33

       P71/RXD_2      49                                                                                          32  P63/FTIOD0
       P72/TXD_2
                      50                                                                                          31  P24
         P14/
P15/ /TMIB1           51                                                                                          30  P76/TMOV

         P16/         52                                                                                          29  P75/TMCIV
P17/ /TRGV
                      53                                                                                          28  P74/TMRIV
                 P33
                 P32  54                                                                                          27  P57/SCL
                 P31
                 P30  55  H8/3687 Group                                                                           26  P56/SDA
          PB3/AN3
          PB2/AN2     56  Top View                                                                                25  P12
          PB1/AN1
          PB0/AN0     57                                                                                          24  P11/PWM
          PB4/AN4
          PB5/AN5     58                                                                                          23  P10/TMOW

                      59                                                                                          22  P55/     /

                      60                                                                                          21  P54/

                      61                                                                                          20  P53/

                      62                                                                                          19  P52/

                      63                                                                                          18  P37

                      64                                                                                          17  P36

                          1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

                          PB6/AN6
                               PB7/AN7

                                    AVcc
                                         X2
                                              X1

                                                   VCL
                                                             TEST

                                                                  Vss
                                                                       OSC2
                                                                            OSC1

                                                                                 Vcc
                                                                                       P50/
                                                                                            P51/

                                                                                                 P34
                                                                                                      P35

Figure 1.3 Pin Arrangement of H8/3687 Group of F-ZTATTM and Mask-ROM Versions
                                             (FP-64E, FP-64A)

                                         Rev. 3.00, 05/03, page 5 of 472
                          P70/SCK3_2
                               P23
                                    P22/TXD
                                         P21/RXD
                                              P20/SCK3
                                                   P87
                                                        P86
                                                             P85
                                                                  P67/FTIOD1
                                                                       P66/FTIOC1
                                                                            P65/FTIOB1
                                                                                  P64/FTIOA1
                                                                                       P60/FTIOA0
                                                                                                 P61/FTIOB0
                                                                                                      P62/FTIOC0

                          48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33

       P71/RXD_2      49                                                                                          32  P63/FTIOD0
       P72/TXD_2
                      50                                                                                          31  P24
         P14/
P15/ /TMIB1           51                                                                                          30  P76/TMOV

         P16/         52                                                                                          29  P75/TMCIV
P17/ /TRGV
                      53                                                                                          28  P74/TMRIV
                 P33
                 P32  54                                                                                          27  SCL
                 P31
                 P30  55                                                                                          26  SDA
          PB3/AN3
          PB2/AN2                                        H8/3687N                                                 25  P12
          PB1/AN1     56
          PB0/AN0                Top View
          PB4/AN4     57                                                                                          24  P11/PWM
          PB5/AN5
                      58                                                                                          23  P10/TMOW

                      59                                                                                          22  P55/     /

                      60                                                                                          21  P54/

                      61                                                                                          20  P53/

                      62                                                                                          19  P52/

                      63                                                                                          18  P37

                      64                                                                                          17  P36

                          1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

                          PB6/AN6
                               PB7/AN7

                                    AVcc
                                         X2
                                              X1

                                                   VCL
                                                             TEST

                                                                  Vss
                                                                       OSC2
                                                                            OSC1

                                                                                 Vcc
                                                                                       P50/
                                                                                            P51/

                                                                                                 P34
                                                                                                      P35

Figure 1.4 Pin Arrangement of H8/3687N (EEPROM Laminated Version)
                                          (FP-64E)

Rev. 3.00, 05/03, page 6 of 472
1.4 Pin Functions

Table 1.1 Pin Functions

Type         Symbol   Pin No.   I/O     Functions
                      FP-64E    Input
Power        VCC      FP-64A    Input   Power supply pin. Connect this pin to the
                      12        Input   system power supply.
source pins
                      9         Input   Ground pin. Connect this pin to the system
             VSS                        power supply (0V).
                                Input
             AVCC     3         Output  Analog power supply pin for the A/D converter.
                                        When the A/D converter is not used, connect
             VCL      6         Input   this pin to the system power supply.
                                Output
Clock pins OSC1       11                Internal step-down power supply pin. Connect
                                Input   a capacitor of around 0.1 F between this pin
             OSC2     10                and the Vss pin for stabilization.
                                Input
             X1       5         Input   These pins connect with crystal or ceramic
                                Input   resonator for the system clock, or can be used
             X2       4         Input   to input an external clock.
                                Output
System       RES      7         Input   See section 5, Clock Pulse Generators, for a
                                Output  typical connection.
control                         Input
                                Input   These pins connect with a 32.768 kHz crystal
Interrupt    TEST     8         Input   resonator for the subclock. See section 5,
pins         NMI      35                Clock Pulse Generators, for a typical
             IRQ0 to  51 to 54          connection.
RTC          IRQ3
Timer B1     WKP0 to  13, 14,           Reset pin. The pull-up resistor (typ. 150 k) is
Timer V      WKP5     19 to 22          incorporated. When driven low, the chip is
             TMOW     23                reset.
             TMIB1    52
             TMOV     30                Test pin. Connect this pin to Vss.

             TMCIV    29                Non-maskable interrupt request input pin.

             TMRIV    28                External interrupt request input pins. Can
                                        select the rising or falling edge.
             TRGV     54
                                        External interrupt request input pins. Can
                                        select the rising or falling edge.

                                        This is an output pin for divided clocks.

                                        External event input pin.

                                        This is an output pin for waveforms generated
                                        by the output compare function.

                                        External event input pin.

                                        Counter reset input pin.

                                        Counter start trigger input pin.

                                        Rev. 3.00, 05/03, page 7 of 472
Type         Symbol     Pin No.          I/O     Functions
Timer Z      FTIOA0     FP-64E
             FTIOB0     FP-64A           I/O     Output compare output/input capture
             FTIOC0     36
                                                 input/external clock input pin
                        34
                                         I/O     Output compare output/input capture
                        33
                                                 input/PWM output pin

                                         I/O     Output compare output/input capture

                                                 input/PWM sync output pin (at a reset,

                                                 complementary PWM mode)

             FTIOD0 32                   I/O     Output compare output/input capture

                                                 input/PWM output pin

             FTIOA1     37               I/O     Output compare output/input capture

                                                 input/PWM output pin (at a reset,

                                                 complementary PWM mode)

             FTIOB1 to  38 to 40         I/O     Output compare output/input capture
             FTIOD1     24
                        26                       input/PWM output pin

14-bit PWM   PWM        27               Output 14-bit PWM square wave output pin
             SDA*1
I2C bus                                  I/O     IIC data I/O pin. Can directly drive a bus by
interface    SCL*1
(IIC)                                            NMOS open-drain output. When using this pin,

                                                 external pull-up resistance is required.

                                         I/O     IIC clock I/O pin. Can directly drive a bus by

                                         (EEPROM: NMOS open-drain output. When using this pin,

                                         Input)  external pull-up resistance is required.

Serial com-  TXD,       46, 50           Output Transmit data output pin
munication   TXD_2      45, 49
interface                                Input   Receive data input pin
(SCI)        RXD,
             RXD_2

             SCK3,      44, 48           I/O     Clock I/O pin
             SCK3_2

A/D          AN7 to AN0 1, 2,            Input   Analog input pin
converter                      59 to 64

             ADTRG      22               Input   A/D converter trigger input pin.

Rev. 3.00, 05/03, page 8 of 472
           Pin No.

Type                         FP-64E           Functions
           Symbol FP-64A I/O

I/O ports  PB7 to PB0 1, 2,            Input  8-bit input port.
                             59 to 64

           P17 to P14, 51 to 54, I/O          7-bit I/O port.
           P12 to P10 23 to 25

           P24 to P20 31, 44 to 47 I/O        5-bit I/O port.

           P37 to P30 15 to 18, I/O           8-bit I/O port
                             55 to 58

           P57 to P50 13, 14,          I/O    8-bit I/O port

           19 to 22,
           26*2, 27*2

           P67 to P60 32 to 34, I/O           8-bit I/O port
                             36, 37 to 40

           P76 to P74, 28 to 30, I/O          6-bit I/O port
           P72 to P70 48 to 50

           P87 to P85 41 to 43 I/O            3-bit I/O port.

Notes: 1. These pins are only available for the I2C bus interface in the H8/3687N. Since the I2C
               bus is disabled after canceling a reset, the ICE bit in ICCR1 must be set to 1 by using
               the program.

      2. The P57 and P56 pins are not available in the H8/3687N.

                                                                 Rev. 3.00, 05/03, page 9 of 472
Rev. 3.00, 05/03, page 10 of 472
                                 Section 2 CPU

This LSI has an H8/300H CPU with an internal 32-bit architecture that is upward-compatible with
the H8/300CPU, and supports only normal mode, which has a 64-kbyte address space.

Upward-compatible with H8/300 CPUs

Can execute H8/300 CPUs object programs

Additional eight 16-bit extended registers

32-bit transfer and arithmetic and logic instructions are added

Signed multiply and divide instructions are added.

General-register architecture

Sixteen 16-bit general registers also usable as sixteen 8-bit registers and eight 16-bit

registers, or eight 32-bit registers

Sixty-two basic instructions

8/16/32-bit data transfer and arithmetic and logic instructions

Multiply and divide instructions

Powerful bit-manipulation instructions

Eight addressing modes

Register direct [Rn]

Register indirect [@ERn]

Register indirect with displacement [@(d:16,ERn) or @(d:24,ERn)]

Register indirect with post-increment or pre-decrement [@ERn+ or @ERn]

Absolute address [@aa:8, @aa:16, @aa:24]

Immediate [#xx:8, #xx:16, or #xx:32]

Program-counter relative [@(d:8,PC) or @(d:16,PC)]

Memory indirect [@@aa:8]

64-kbyte address space

High-speed operation

All frequently-used instructions execute in one or two states

8/16/32-bit register-register add/subtract  : 2 state

8 8-bit register-register multiply : 14 states

16 8-bit register-register divide : 14 states

16 16-bit register-register multiply : 22 states

32 16-bit register-register divide : 22 states

Power-down state

Transition to power-down state by SLEEP instruction

CPU30H2C_000120030300                                   Rev. 3.00, 05/03, page 11 of 472
2.1 Address Space and Memory Map

The address space of this LSI is 64 kbytes, which includes the program area and the data area.
Figures 2.1 show the memory map.

              HD64N3687G               HD64F3684                                 HD6433682                      HD6433683
               HD64F3687              HD64F3684G                                HD6433682G                     HD6433683G
              HD64F3687G        (Flash memory version)                      (Mask-ROM version)             (Mask-ROM version)
        (Flash memory version)

H'0000  Interrupt vector        H'0000  Interrupt vector            H'0000  Interrupt vector       H'0000  Interrupt vector
H'0041                          H'0041                              H'0041                         H'0041
H'0042                          H'0042                              H'0042                         H'0042

                                        On-chip ROM                         On-chip ROM                    On-chip ROM
                                         (32 kbytes)                         (16 kbytes)                    (24 kbytes)

                                                                    H'3FFF

                                                                                                   H'5FFF

                                H'7FFF

        On-chip ROM
         (56 kbytes)

                                                                            Not used                       Not used

                                        Not used

H'DFFF

        Not used

H'E800                          H'E800                              H'E800                         H'E800

        On-chip RAM                     On-chip RAM                         On-chip RAM                    On-chip RAM
          (2 kbytes)                      (2 kbytes)                          (2 kbytes)                     (2 kbytes)

H'EFFF                          H'EFFF                              H'EFFF                         H'EFFF

H'F700        Not used          H'F700        Not used              H'F700        Not used         H'F700        Not used
H'F77F                          H'F77F                              H'F77F  Internal I/O register  H'F77F  Internal I/O register
H'F780  Internal I/O register   H'F780  Internal I/O register
                                                                            Not used                       Not used
H'FB7F  (1 kbyte work area      H'FB7F   (1 kbyte work area
H'FB80   for flash memory       H'FB80    for flash memory          H'FB80     On-chip RAM         H'FB80     On-chip RAM
                                                                                  (1 kbytes)                     (1 kbytes)
           programming)                     programming)            H'FF7F                         H'FF7F
                                                                    H'FF80  Internal I/O register  H'FF80  Internal I/O register
           On-chip RAM                      On-chip RAM
              (2 kbytes)                       (2 kbytes)           H'FFFF                         H'FFFF

H'FF7F  (1 kbyte user area)     H'FF7F (1 kbyte user area)
H'FF80  Internal I/O register   H'FF80

H'FFFF                                       Internal I/O register

                                H'FFFF

                                        Figure 2.1 Memory Map (1)

Rev. 3.00, 05/03, page 12 of 472
             HD6433684                      HD6433685                       HD6433686                      HD6483687G
            HD6433684G                     HD6433685G                      HD6433686G                       HD6433687
        (Mask-ROM version)             (Mask-ROM version)              (Mask-ROM version)                  HD6433687G
                                                                                                       (Mask-ROM version)
H'0000  Interrupt vector       H'0000     Interrupt vector     H'0000  Interrupt vector        H'0000
H'0041                         H'0041                          H'0041                          H'0041      Interrupt vector
H'0042                         H'0042                          H'0042                          H'0042

        On-chip ROM                             On-chip ROM                     On-chip ROM
         (32 kbytes)                              (40 kbytes)                     (48 kbytes)

H'7FFF                         H'9FFF                          H'BFFF

                                                                                                       On-chip ROM
                                                                                                        (56 kbytes)

        Not used                       Not used

                                                                       Not used

H'E800                         H'E800                          H'E800                          H'DFFF     Not used
                                                                                               H'E800
                                                                                                       On-chip RAM
        On-chip RAM                    On-chip RAM                     On-chip RAM                       (2 kbytes)
          (2 kbytes)                     (2 kbytes)                      (2 kbytes)

H'EFFF                         H'EFFF                          H'EFFF                          H'EFFF

        Not used               H'F700      Not used            H'F700      Not used            H'F700      Not used
                               H'F77F  Interrupt vector        H'F77F  Interrupt vector        H'F77F  Interrupt vector
H'F700  Internal I/O register
H'F77F

        Not used                           Not used                        Not used                        Not used

H'FB80     On-chip RAM         H'FB80   On-chip RAM            H'FB80   On-chip RAM            H'FB80   On-chip RAM
              (1 kbytes)                  (1 kbytes)                      (1 kbytes)                      (1 kbytes)
H'FF7F                         H'FF7F                          H'FF7F                          H'FF7F
H'FF80  Internal I/O register  H'FF80  Interrupt vector        H'FF80  Interrupt vector        H'FF80  Interrupt vector

H'FFFF                         H'FFFF                          H'FFFF                          H'FFFF

                                       Figure 2.1 Memory Map (2)

                                                                       Rev. 3.00, 05/03, page 13 of 472
                                           HD64N3687G
                                           HD6483687G
                                  (On-chip EEPROM module)

                                  H'0000

                                  H'01FF  User area
                                          (512 bytes)

                                          Not used

                                  H'FF09

                                          Slave address
                                              register

                                          Not used

                                  Figure 2.1 Memory Map (3)

Rev. 3.00, 05/03, page 14 of 472
2.2 Register Configuration

The H8/300H CPU has the internal registers shown in figure 2.2. There are two types of registers;
general registers and control registers. The control registers are a 24-bit program counter (PC), and
an 8-bit condition-code register (CCR).

General Registers (ERn)

             15                        07          07                0
                                                       R0L
ER0                          E0              R0H       R1L
                                                       R2L
ER1                          E1              R1H       R3L
                                                       R4L
ER2                          E2              R2H       R5L
                                                       R6L
ER3                          E3              R3H       R7L

ER4                          E4              R4H

ER5                          E5              R5H

ER6                          E6              R6H

ER7                          E7        (SP)  R7H

Control Registers (CR)

                             23                        0

                         PC

Legend       :Stack pointer                                     76543210
             :Program counter                          CCR I UI H U N Z V C
        SP   :Condition-code register
        PC   :Interrupt mask bit             H :Half-carry flag
        CCR  :User bit                       U :User bit
        I                                    N :Negative flag
        UI                                   Z :Zero flag
                                             V :Overflow flag
                                             C :Carry flag

                         Figure 2.2 CPU Registers

                                                   Rev. 3.00, 05/03, page 15 of 472
2.2.1 General Registers

The H8/300H CPU has eight 32-bit general registers. These general registers are all functionally
identical and can be used as both address registers and data registers. When a general register is
used as a data register, it can be accessed as a 32-bit, 16-bit, or 8-bit register. Figure 2.3 illustrates
the usage of the general registers. When the general registers are used as 32-bit registers or address
registers, they are designated by the letters ER (ER0 to ER7).

The ER registers divide into 16-bit general registers designated by the letters E (E0 to E7) and R
(R0 to R7). These registers are functionally equivalent, providing a maximum of sixteen 16-bit
registers. The E registers (E0 to E7) are also referred to as extended registers.

The R registers divide into 8-bit registers designated by the letters RH (R0H to R7H) and RL (R0L
to R7L). These registers are functionally equivalent, providing a maximum of sixteen 8-bit
registers.

The usage of each register can be selected independently.

Address registers                         16-bit registers       8-bit registers
32-bit registers
                                  E registers (extended registers)   RH registers
   ER registers                                 (E0 to E7)          (R0H to R7H)
   (ER0 to ER7)
                                               R registers           RL registers
                                                (R0 to R7)           (R0L to R7L)

                                  Figure 2.3 Usage of General Registers

General register ER7 has the function of stack pointer (SP) in addition to its general-register
function, and is used implicitly in exception handling and subroutine calls. Figure 2.4 shows the
relationship between the stack pointer and the stack area.

Rev. 3.00, 05/03, page 16 of 472
SP (ER7)  Empty area
          Stack area

                  Figure 2.4 Relationship between Stack Pointer and Stack Area

2.2.2 Program Counter (PC)

This 24-bit counter indicates the address of the next instruction the CPU will execute. The length
of all CPU instructions is 2 bytes (one word), so the least significant PC bit is ignored. (When an
instruction is fetched, the least significant PC bit is regarded as 0). The PC is initialized when the
start address is loaded by the vector address generated during reset exception-handling sequence.

2.2.3 Condition-Code Register (CCR)

This 8-bit register contains internal CPU status information, including an interrupt mask bit (I) and
half-carry (H), negative (N), zero (Z), overflow (V), and carry (C) flags. The I bit is initialized to 1
by reset exception-handling sequence, but other bits are not initialized.

Some instructions leave flag bits unchanged. Operations can be performed on the CCR bits by the
LDC, STC, ANDC, ORC, and XORC instructions. The N, Z, V, and C flags are used as branching
conditions for conditional branch (Bcc) instructions.

For the action of each instruction on the flag bits, see appendix A.1, Instruction List.

          Rev. 3.00, 05/03, page 17 of 472
         Initial

Bit  Bit Name Value               R/W Description

7    I   1                        R/W Interrupt Mask Bit

                                  Masks interrupts other than NMI when set to 1. NMI is
                                  accepted regardless of the I bit setting. The I bit is set
                                  to 1 at the start of an exception-handling sequence.

6    UI  Undefined R/W User Bit

                                  Can be written and read by software using the LDC,
                                  STC, ANDC, ORC, and XORC instructions.

5    H   Undefined R/W Half-Carry Flag

                                  When the ADD.B, ADDX.B, SUB.B, SUBX.B, CMP.B,
                                  or NEG.B instruction is executed, this flag is set to 1 if
                                  there is a carry or borrow at bit 3, and cleared to 0
                                  otherwise. When the ADD.W, SUB.W, CMP.W, or
                                  NEG.W instruction is executed, the H flag is set to 1 if
                                  there is a carry or borrow at bit 11, and cleared to 0
                                  otherwise. When the ADD.L, SUB.L, CMP.L, or NEG.L
                                  instruction is executed, the H flag is set to 1 if there is a
                                  carry or borrow at bit 27, and cleared to 0 otherwise.

4    U   Undefined R/W User Bit

                                  Can be written and read by software using the LDC,
                                  STC, ANDC, ORC, and XORC instructions.

3    N   Undefined R/W Negative Flag

                                  Stores the value of the most significant bit of data as a
                                  sign bit.

2    Z   Undefined R/W Zero Flag

                                  Set to 1 to indicate zero data, and cleared to 0 to
                                  indicate non-zero data.

1    V   Undefined R/W Overflow Flag

                                  Set to 1 when an arithmetic overflow occurs, and
                                  cleared to 0 at other times.

0    C   Undefined R/W Carry Flag

                                  Set to 1 when a carry occurs, and cleared to 0
                                  otherwise. Used by:

                                  Add instructions, to indicate a carry

                                  Subtract instructions, to indicate a borrow
                                  Shift and rotate instructions, to indicate a carry
                                  The carry flag is also used as a bit accumulator by bit
                                  manipulation instructions.

Rev. 3.00, 05/03, page 18 of 472
2.3 Data Formats

The H8/300H CPU can process 1-bit, 4-bit (BCD), 8-bit (byte), 16-bit (word), and 32-bit
(longword) data. Bit-manipulation instructions operate on 1-bit data by accessing bit n (n = 0, 1, 2,
..., 7) of byte operand data. The DAA and DAS decimal-adjust instructions treat byte data as two
digits of 4-bit BCD data.

2.3.1 General Register Data Formats

Figure 2.5 shows the data formats in general registers.

Data Type       General Register  Data Format
1-bit data        RnH
1-bit data                        7                     0
                  RnL
                                  7 6 5 4 3 2 10                Don't care

                                                           7                      0

                                     Don't care            7 6 5 4 3 2 10

                                  7         43          0

4-bit BCD data  RnH                  Upper      Lower           Don't care

                                                           7           43         0

4-bit BCD data  RnL                  Don't care                 Upper      Lower

Byte data       RnH                7                      0     Don't care
Byte data       RnL               MSB                                               0
                                                        LSB
                                            Don't care       7

                                                           MSB              LSB

                Figure 2.5 General Register Data Formats (1)

                                                        Rev. 3.00, 05/03, page 19 of 472
Data Type  General           Data Format
           Register

Word data Rn

                                                     15                    0

Word data En                                         MSB                   LSB
                                            15
                                                0

                             MSB                LSB

Longword ERn

data                         31                 16 15                      0

                             MSB                                           LSB

Legend
ERn: General register ER
En: General register E
Rn: General register R
RnH: General register RH
RnL: General register RL
MSB: Most significant bit
LSB: Least significant bit

                             Figure 2.5 General Register Data Formats (2)

Rev. 3.00, 05/03, page 20 of 472
2.3.2 Memory Data Formats

Figure 2.6 shows the data formats in memory. The H8/300H CPU can access word data and
longword data in memory, however word or longword data must begin at an even address. If an
attempt is made to access word or longword data at an odd address, an address error does not
occur, however the least significant bit of the address is regarded as 0, so access begins the
preceding address. This also applies to instruction fetches.

When ER7 (SP) is used as an address register to access the stack area, the operand size should be
word or longword.

Data Type      Address            Data Format
1-bit data
                             7                 0

               Address L     76 543210

Byte data      Address L     MSB               LSB

Word data      Address 2M MSB

               Address 2M+1                    LSB

Longword data  Address 2N MSB
               Address 2N+1

               Address 2N+2

               Address 2N+3                    LSB

           Figure 2.6 Memory Data Formats

                                  Rev. 3.00, 05/03, page 21 of 472
2.4 Instruction Set

2.4.1 Table of Instructions Classified by Function

The H8/300H CPU has 62 instructions. Tables 2.2 to 2.9 summarize the instructions in each
functional category. The notation used in tables 2.2 to 2.9 is defined below.

Table 2.1 Operation Notation

Symbol         Description

Rd             General register (destination)*

Rs             General register (source)*

Rn             General register*

ERn            General register (32-bit register or address register)

(EAd)          Destination operand

(EAs)          Source operand

CCR            Condition-code register

N              N (negative) flag in CCR

Z              Z (zero) flag in CCR

V              V (overflow) flag in CCR

C              C (carry) flag in CCR

PC             Program counter

SP             Stack pointer

#IMM           Immediate data

disp           Displacement

+              Addition

              Subtraction

              Multiplication

              Division

               Logical AND

               Logical OR

               Logical XOR

               Move

              NOT (logical complement)

:3/:8/:16/:24  3-, 8-, 16-, or 24-bit length

Note: * General registers include 8-bit registers (R0H to R7H, R0L to R7L), 16-bit registers (R0
               to R7, E0 to E7), and 32-bit registers/address register (ER0 to ER7).

Rev. 3.00, 05/03, page 22 of 472
Table 2.2 Data Transfer Instructions

Instruction Size* Function

MOV     B/W/L  (EAs)  Rd, Rs  (EAd)
               Moves data between two general registers or between a general register
               and memory, or moves immediate data to a general register.

MOVFPE  B      (EAs)  Rd
               Cannot be used in this LSI.

MOVTPE  B      Rs  (EAs)
               Cannot be used in this LSI.

POP     W/L    @SP+  Rn

               Pops a general register from the stack. POP.W Rn is identical to MOV.W

               @SP+, Rn. POP.L ERn is identical to MOV.L @SP+, ERn.

PUSH    W/L    Rn  @SP

               Pushes a general register onto the stack. PUSH.W Rn is identical to

               MOV.W Rn, @SP. PUSH.L ERn is identical to MOV.L ERn, @SP.

Note: * Refers to the operand size.
          B: Byte
          W: Word
          L: Longword

                                            Rev. 3.00, 05/03, page 23 of 472
Table 2.3 Arithmetic Operations Instructions (1)

Instruction Size* Function

ADD    B/W/L  Rd Rs  Rd, Rd #IMM  Rd
SUB           Performs addition or subtraction on data in two general registers, or on
              immediate data and data in a general register (immediate byte data
              cannot be subtracted from byte data in a general register. Use the SUBX
              or ADD instruction.)

ADDX   B      Rd Rs C  Rd, Rd #IMM C  Rd
SUBX
              Performs addition or subtraction with carry on byte data in two general

              registers, or on immediate data and data in a general register.

INC    B/W/L  Rd 1  Rd, Rd 2  Rd
DEC           Increments or decrements a general register by 1 or 2. (Byte operands
              can be incremented or decremented by 1 only.)

ADDS   L      Rd 1  Rd, Rd 2  Rd, Rd 4  Rd
SUBS
              Adds or subtracts the value 1, 2, or 4 to or from data in a 32-bit register.

DAA    B      Rd (decimal adjust)  Rd
DAS
              Decimal-adjusts an addition or subtraction result in a general register by

              referring to the CCR to produce 4-bit BCD data.

MULXU  B/W    Rd Rs  Rd

              Performs unsigned multiplication on data in two general registers: either

              8 bits 8 bits  16 bits or 16 bits 16 bits  32 bits.

MULXS  B/W    Rd Rs  Rd

              Performs signed multiplication on data in two general registers: either 8

              bits 8 bits  16 bits or 16 bits 16 bits  32 bits.

DIVXU  B/W    Rd Rs  Rd

              Performs unsigned division on data in two general registers: either 16

              bits 8 bits  8-bit quotient and 8-bit remainder or 32 bits 16 bits

              16-bit quotient and 16-bit remainder.

Note: * Refers to the operand size.
          B: Byte
          W: Word
          L: Longword

Rev. 3.00, 05/03, page 24 of 472
Table 2.3 Arithmetic Operations Instructions (2)

Instruction Size* Function

DIVXS  B/W    Rd Rs  Rd

              Performs signed division on data in two general registers: either 16 bits

              8 bits  8-bit quotient and 8-bit remainder or 32 bits 16 bits  16-bit

              quotient and 16-bit remainder.

CMP    B/W/L  Rd Rs, Rd #IMM
              Compares data in a general register with data in another general register
              or with immediate data, and sets CCR bits according to the result.

NEG    B/W/L  0 Rd  Rd
              Takes the two's complement (arithmetic complement) of data in a
              general register.

EXTU   W/L    Rd (zero extension)  Rd

              Extends the lower 8 bits of a 16-bit register to word size, or the lower 16

              bits of a 32-bit register to longword size, by padding with zeros on the

              left.

EXTS   W/L    Rd (sign extension)  Rd

              Extends the lower 8 bits of a 16-bit register to word size, or the lower 16

              bits of a 32-bit register to longword size, by extending the sign bit.

Note: * Refers to the operand size.
          B: Byte
          W: Word
          L: Longword

                                                  Rev. 3.00, 05/03, page 25 of 472
Table 2.4 Logic Operations Instructions

Instruction Size* Function

AND    B/W/L  Rd  Rs  Rd, Rd  #IMM  Rd
              Performs a logical AND operation on a general register and another
              general register or immediate data.

OR     B/W/L Rd  Rs  Rd, Rd  #IMM  Rd

              Performs a logical OR operation on a general register and another

              general register or immediate data.

XOR    B/W/L  Rd  Rs  Rd, Rd  #IMM  Rd
              Performs a logical exclusive OR operation on a general register and
              another general register or immediate data.

NOT    B/W/L   (Rd)  (Rd)
              Takes the one's complement (logical complement) of general register
              contents.

Note: * Refers to the operand size.
          B: Byte
          W: Word
          L: Longword

Table 2.5 Shift Instructions

Instruction Size* Function

SHAL   B/W/L Rd (shift)  Rd
SHAR                Performs an arithmetic shift on general register contents.

SHLL   B/W/L Rd (shift)  Rd
SHLR                Performs a logical shift on general register contents.

ROTL   B/W/L Rd (rotate)  Rd
ROTR                Rotates general register contents.

ROTXL  B/W/L Rd (rotate)  Rd
ROTXR               Rotates general register contents through the carry flag.

Note: * Refers to the operand size.
          B: Byte
          W: Word
          L: Longword

Rev. 3.00, 05/03, page 26 of 472
Table 2.6 Bit Manipulation Instructions (1)

Instruction Size* Function

BSET   B  1  ( of )

          Sets a specified bit in a general register or memory operand to 1. The bit

          number is specified by 3-bit immediate data or the lower three bits of a

          general register.

BCLR   B  0  ( of )

          Clears a specified bit in a general register or memory operand to 0. The

          bit number is specified by 3-bit immediate data or the lower three bits of a

          general register.

BNOT   B   ( of )  ( of )

          Inverts a specified bit in a general register or memory operand. The bit

          number is specified by 3-bit immediate data or the lower three bits of a

          general register.

BTST   B   ( of )  Z

          Tests a specified bit in a general register or memory operand and sets or

          clears the Z flag accordingly. The bit number is specified by 3-bit

          immediate data or the lower three bits of a general register.

BAND   B  C  ( of )  C

          ANDs the carry flag with a specified bit in a general register or memory

          operand and stores the result in the carry flag.

BIAND  B  C   ( of )  C

          ANDs the carry flag with the inverse of a specified bit in a general

          register or memory operand and stores the result in the carry flag.

          The bit number is specified by 3-bit immediate data.

BOR    B  C  ( of )  C

          ORs the carry flag with a specified bit in a general register or memory

          operand and stores the result in the carry flag.

BIOR   B  C   ( of )  C

          ORs the carry flag with the inverse of a specified bit in a general register

          or memory operand and stores the result in the carry flag.

          The bit number is specified by 3-bit immediate data.

Note: * Refers to the operand size.
          B: Byte

                                             Rev. 3.00, 05/03, page 27 of 472
Table 2.6 Bit Manipulation Instructions (2)

Instruction Size* Function

BXOR   B  C  ( of )  C

          XORs the carry flag with a specified bit in a general register or memory

          operand and stores the result in the carry flag.

BIXOR  B  C   ( of )  C

          XORs the carry flag with the inverse of a specified bit in a general

          register or memory operand and stores the result in the carry flag.

          The bit number is specified by 3-bit immediate data.

BLD    B  ( of )  C

          Transfers a specified bit in a general register or memory operand to the

          carry flag.

BILD   B   ( of )  C

          Transfers the inverse of a specified bit in a general register or memory

          operand to the carry flag.

          The bit number is specified by 3-bit immediate data.

BST    B  C  ( of )

          Transfers the carry flag value to a specified bit in a general register or

          memory operand.

BIST   B   C  ( of )

          Transfers the inverse of the carry flag value to a specified bit in a general

          register or memory operand.

          The bit number is specified by 3-bit immediate data.

Note: * Refers to the operand size.
          B: Byte

Rev. 3.00, 05/03, page 28 of 472
Table 2.7 Branch Instructions

Instruction  Size  Function
Bcc*         
                   Branches to a specified address if a specified condition is true. The
                   branching conditions are listed below.

                   Mnemonic    Description                            Condition

                   BRA(BT)     Always (true)                          Always

                   BRN(BF)     Never (false)                          Never

                   BHI         High                                   CZ=0

                   BLS         Low or same                            CZ=1

                   BCC(BHS)    Carry clear                            C=0
                               (high or same)

                   BCS(BLO)    Carry set (low)                        C=1

                   BNE         Not equal                              Z=0

                   BEQ         Equal                                  Z=1

                   BVC         Overflow clear                         V=0

                   BVS         Overflow set                           V=1

                   BPL         Plus                                   N=0

                   BMI         Minus                                  N=1

                   BGE         Greater or equal                       NV=0

                   BLT         Less than                              NV=1

                   BGT         Greater than                           Z(N  V) = 0

                   BLE         Less or equal                          Z(N  V) = 1

JMP                Branches unconditionally to a specified address.

BSR                Branches to a subroutine at a specified address.

JSR                Branches to a subroutine at a specified address.

RTS                Returns from a subroutine

Note: * Bcc is the general name for conditional branch instructions.

                                                 Rev. 3.00, 05/03, page 29 of 472
Table 2.8 System Control Instructions

Instruction Size* Function

TRAPA       Starts trap-instruction exception handling.

RTE         Returns from an exception-handling routine.

SLEEP       Causes a transition to a power-down state.

LDC    B/W  (EAs)  CCR

            Moves the source operand contents to the CCR. The CCR size is one

            byte, but in transfer from memory, data is read by word access.

STC    B/W  CCR  (EAd)

            Transfers the CCR contents to a destination location. The condition code

            register size is one byte, but in transfer to memory, data is written by

            word access.

ANDC   B    CCR  #IMM  CCR

            Logically ANDs the CCR with immediate data.

ORC    B    CCR  #IMM  CCR

            Logically ORs the CCR with immediate data.

XORC   B    CCR  #IMM  CCR

            Logically XORs the CCR with immediate data.

NOP         PC + 2  PC

            Only increments the program counter.

Note: * Refers to the operand size.
          B: Byte
          W: Word

Rev. 3.00, 05/03, page 30 of 472
Table 2.9 Block Data Transfer Instructions

Instruction  Size  Function
EEPMOV.B     
                   if R4L  0 then
EEPMOV.W                  Repeat @ER5+  @ER6+,
                             R4L1  R4L
                          Until R4L = 0

                   else next;

                   if R4  0 then
                          Repeat @ER5+  @ER6+,
                             R41  R4
                          Until R4 = 0

                   else next;

                   Transfers a data block. Starting from the address set in ER5, transfers
                   data for the number of bytes set in R4L or R4 to the address location set
                   in ER6.

                   Execution of the next instruction begins as soon as the transfer is
                   completed.

                                            Rev. 3.00, 05/03, page 31 of 472
2.4.2 Basic Instruction Formats

H8/300H CPU instructions consist of 2-byte (1-word) units. An instruction consists of an
operation field (op), a register field (r), an effective address extension (EA), and a condition field
(cc).

Figure 2.7 shows examples of instruction formats.

Operation Field
    Indicates the function of the instruction, the addressing mode, and the operation to be carried
    out on the operand. The operation field always includes the first four bits of the instruction.
    Some instructions have two operation fields.

Register Field
    Specifies a general register. Address registers are specified by 3 bits, and data registers by 3
    bits or 4 bits. Some instructions have two register fields. Some have no register field.

Effective Address Extension
    8, 16, or 32 bits specifying immediate data, an absolute address, or a displacement. A24-bit
    address or displacement is treated as a 32-bit data in which the first 8 bits are 0 (H'00).

Condition Field
    Specifies the branching condition of Bcc instructions.

(1) Operation field only                                          NOP, RTS, etc.
                                            op

(2) Operation field and register fields

    op                                          rn            rm  ADD.B Rn, Rm, etc.

(3) Operation field, register fields, and effective address extension

    op                                          rn            rm
                                                                            MOV.B @(d:16, Rn), Rm

                                      EA(disp)

(4) Operation field, effective address extension, and condition field

op                                cc                EA(disp)      BRA d:8

        Figure 2.7 Instruction Formats

Rev. 3.00, 05/03, page 32 of 472
2.5 Addressing Modes and Effective Address Calculation

The following describes the H8/300H CPU. In this LSI, the upper eight bits are ignored in the
generated 24-bit address, so the effective address is 16 bits.

2.5.1 Addressing Modes

The H8/300H CPU supports the eight addressing modes listed in table 2.10. Each instruction uses
a subset of these addressing modes. Addressing modes that can be used differ depending on the
instruction. For details, refer to appendix A.4, Combinations of Instructions and Addressing
Modes.

Arithmetic and logic instructions can use the register direct and immediate modes. Data transfer
instructions can use all addressing modes except program-counter relative and memory indirect.
Bit-manipulation instructions use register direct, register indirect, or the absolute addressing mode
(@aa:8) to specify an operand, and register direct (BSET, BCLR, BNOT, and BTST instructions)
or immediate (3-bit) addressing mode to specify a bit number in the operand.

Table 2.10 Addressing Modes

No.  Addressing Mode                        Symbol
                                            Rn
1    Register direct                        @ERn
                                            @(d:16,ERn)/@(d:24,ERn)
2    Register indirect                      @ERn+
                                            @ERn
3    Register indirect with displacement    @aa:8/@aa:16/@aa:24
                                            #xx:8/#xx:16/#xx:32
4    Register indirect with post-increment  @(d:8,PC)/@(d:16,PC)
                                            @@aa:8
     Register indirect with pre-decrement

5    Absolute address

6    Immediate

7    Program-counter relative

8    Memory indirect

Register DirectRn

The register field of the instruction specifies an 8-, 16-, or 32-bit general register containing the
operand. R0H to R7H and R0L to R7L can be specified as 8-bit registers. R0 to R7 and E0 to E7
can be specified as 16-bit registers. ER0 to ER7 can be specified as 32-bit registers.

Register Indirect@ERn

The register field of the instruction code specifies an address register (ERn), the lower 24 bits of
which contain the address of the operand on memory.

                                            Rev. 3.00, 05/03, page 33 of 472
Register Indirect with Displacement@(d:16, ERn) or @(d:24, ERn)

A 16-bit or 24-bit displacement contained in the instruction is added to an address register (ERn)
specified by the register field of the instruction, and the lower 24 bits of the sum the address of a
memory operand. A 16-bit displacement is sign-extended when added.

Register Indirect with Post-Increment or Pre-Decrement@ERn+ or @-ERn

Register indirect with post-increment@ERn+
    The register field of the instruction code specifies an address register (ERn) the lower 24 bits
    of which contains the address of a memory operand. After the operand is accessed, 1, 2, or 4 is
    added to the address register contents (32 bits) and the sum is stored in the address register.
    The value added is 1 for byte access, 2 for word access, or 4 for longword access. For the word
    or longword access, the register value should be even.

Register indirect with pre-decrement@-ERn
    The value 1, 2, or 4 is subtracted from an address register (ERn) specified by the register field
    in the instruction code, and the lower 24 bits of the result is the address of a memory operand.
    The result is also stored in the address register. The value subtracted is 1 for byte access, 2 for
    word access, or 4 for longword access. For the word or longword access, the register value
    should be even.

Absolute Address@aa:8, @aa:16, @aa:24

The instruction code contains the absolute address of a memory operand. The absolute address
may be 8 bits long (@aa:8), 16 bits long (@aa:16), 24 bits long (@aa:24)

For an 8-bit absolute address, the upper 16 bits are all assumed to be 1 (H'FFFF). For a 16-bit
absolute address the upper 8 bits are a sign extension. A 24-bit absolute address can access the
entire address space.

The access ranges of absolute addresses for the group of this LSI are those shown in table 2.11,
because the upper 8 bits are ignored.

Table 2.11 Absolute Address Access Ranges

Absolute Address                  Access Range
8 bits (@aa:8)                    H'FF00 to H'FFFF
16 bits (@aa:16)                  H'0000 to H'FFFF
24 bits (@aa:24)                  H'0000 to H'FFFF

Rev. 3.00, 05/03, page 34 of 472
Immediate#xx:8, #xx:16, or #xx:32

The instruction contains 8-bit (#xx:8), 16-bit (#xx:16), or 32-bit (#xx:32) immediate data as an
operand.

The ADDS, SUBS, INC, and DEC instructions contain immediate data implicitly. Some bit
manipulation instructions contain 3-bit immediate data in the instruction code, specifying a bit
number. The TRAPA instruction contains 2-bit immediate data in its instruction code, specifying a
vector address.

Program-Counter Relative@(d:8, PC) or @(d:16, PC)

This mode is used in the BSR instruction. An 8-bit or 16-bit displacement contained in the
instruction is sign-extended and added to the 24-bit PC contents to generate a branch address. The
PC value to which the displacement is added is the address of the first byte of the next instruction,
so the possible branching range is 126 to +128 bytes (63 to +64 words) or 32766 to +32768
bytes (16383 to +16384 words) from the branch instruction. The resulting value should be an
even number.

Memory Indirect@@aa:8

This mode can be used by the JMP and JSR instructions. The instruction code contains an 8-bit
absolute address specifying a memory operand. This memory operand contains a branch address.
The memory operand is accessed by longword access. The first byte of the memory operand is
ignored, generating a 24-bit branch address. Figure 2.8 shows how to specify branch address for in
memory indirect mode. The upper bits of the absolute address are all assumed to be 0, so the
address range is 0 to 255 (H'0000 to H'00FF).

Note that the first part of the address range is also the exception vector area.

Specified      Dummy
by @aa:8   Branch address

Figure 2.8 Branch Address Specification in Memory Indirect Mode

                           Rev. 3.00, 05/03, page 35 of 472
2.5.2 Effective Address Calculation

Table 2.12 indicates how effective addresses are calculated in each addressing mode. In this LSI
the upper 8 bits of the effective address are ignored in order to generate a 16-bit effective address.

Table 2.12 Effective Address Calculation (1)

No Addressing Mode and Instruction Format         Effective Address Calculation                                 Effective Address (EA)
1 Register direct(Rn)                                                                                   Operand is general register contents.

              op rm rn                        31                                 0                       23                                     0

2 Register indirect(@ERn)

                                                  General register contents

op  r

3 Register indirect with displacement         31                                 0
      @(d:16,ERn) or @(d:24,ERn)

                                                  General register contents

op  r          disp                                                                                      23                                     0

                                              31                                  0
                                                  Sign extension  disp

4 Register indirect with post-increment or

pre-decrement                                 31                                 0                       23                                     0

Register indirect with post-increment @ERn+      General register contents

op  r                                                             1, 2, or 4

Register indirect with pre-decrement @-ERn   31                                 0

                                                  General register contents                              23                                     0

op  r                                                                                        1, 2, or 4

                                              The value to be added or subtracted is 1 when the
                                              operand is byte size, 2 for word size, and 4 for
                                              longword size.

Rev. 3.00, 05/03, page 36 of 472
Table 2.12 Effective Address Calculation (2)

No Addressing Mode and Instruction Format   Effective Address Calculation                      Effective Address (EA)

5 Absolute address

      @aa:8                                                                                    23               87         0

        op        abs                                                                              H'FFFF

      @aa:16                                                                                   23        16 15             0

              op                      abs                                                      Sign extension

      @aa:24                                                                                   23                          0
                    op
                                 abs

6 Immediate                                                                                    Operand is immediate data.
      #xx:8/#xx:16/#xx:32
                    op                IMM   23                                           0
                                      disp
7 Program-counter relative                                          PC contents
       @(d:8,PC) @(d:16,PC)
                    op                      23                                           0

                                               Sign                     disp                   23                          0
                                            extension

8 Memory indirect @@aa:8

                                            23                          87                  0
                                                            H'0000
        op        abs                                                            abs

                                                                    15                      0  23 16 15                    0

                                                                        Memory contents            H'00

Legend

r, rm,rn : Register field

op :    Operation field

disp : Displacement

IMM : Immediate data

abs : Absolute address

                                                                                               Rev. 3.00, 05/03, page 37 of 472
2.6 Basic Bus Cycle

CPU operation is synchronized by a system clock () or a subclock (SUB). The period from a
rising edge of  or SUB to the next rising edge is called one state. A bus cycle consists of two
states or three states. The cycle differs depending on whether access is to on-chip memory or to
on-chip peripheral modules.

2.6.1 Access to On-Chip Memory (RAM, ROM)

Access to on-chip memory takes place in two states. The data bus width is 16 bits, allowing access
in byte or word size. Figure 2.9 shows the on-chip memory access cycle.

                                            Bus cycle

                                  T1 state             T2 state

or SUB                                   Address
Internal address bus

Internal read signal                        Read data

Internal data bus
(read access)

Internal write signal                       Write data

Internal data bus
(write access)

Figure 2.9 On-Chip Memory Access Cycle

Rev. 3.00, 05/03, page 38 of 472
2.6.2 On-Chip Peripheral Modules

On-chip peripheral modules are accessed in two states or three states. The data bus width is 8 bits
or 16 bits depending on the register. For description on the data bus width and number of
accessing states of each register, refer to section 22.1, Register Addresses (Address Order).
Registers with 16-bit data bus width can be accessed by word size only. Registers with 8-bit data
bus width can be accessed by byte or word size. When a register with 8-bit data bus width is
accessed by word size, a bus cycle occurs twice. In two-state access, the operation timing is the
same as that for on-chip memory.

Figure 2.10 shows the operation timing in the case of three-state access to an on-chip peripheral
module.

                T1 state  Bus cycle            T3 state
                           T2 state

or SUB

Internal                  Address
address bus                        Read data
                                   Write data
Internal
read signal

Internal
data bus
(read access)

Internal
write signal

Internal
data bus
(write access)

Figure 2.10 On-Chip Peripheral Module Access Cycle (3-State Access)

                                               Rev. 3.00, 05/03, page 39 of 472
2.7 CPU States

There are four CPU states: the reset state, program execution state, program halt state, and
exception-handling state. The program execution state includes active mode and subactive mode.
For the program halt state, there are a sleep mode, standby mode, and sub-sleep mode. These
states are shown in figure 2.11. Figure 2.12 shows the state transitions. For details on program
execution state and program halt state, refer to section 6, Power-Down Modes. For details on
exception processing, refer to section 3, Exception Handling.

CPU state        Reset state

           The CPU is initialized                   Active
                   Program                  (high speed) mode

              execution state       The CPU executes successive program
                                    instructions at high speed,
                                    synchronized by the system clock

                                             Subactive mode    Power-down
                                    The CPU executes              modes
                                    successive program
                Program halt state  instructions at reduced
                                    speed, synchronized
           A state in which some    by the subclock
           or all of the chip
           functions are stopped                Sleep mode
           to conserve power
                                               Standby mode

                                              Subsleep mode

                     Exception-
                   handling state
           A transient state in which the CPU changes
           the processing flow due to a reset or an interrupt

                Figure 2.11 CPU Operation States

Rev. 3.00, 05/03, page 40 of 472
Reset state                 Reset cleared  Exception-handling state
                            Reset occurs

Reset               Reset                  Interrupt  Interrupt  Exception-
occurs              occurs                 source     source     handling
                                                                 complete

Program halt state                                           Program execution state
                    SLEEP instruction executed

                    Figure 2.12 State Transitions

2.8 Usage Notes

2.8.1 Notes on Data Access to Empty Areas

The address space of this LSI includes empty areas in addition to the ROM, RAM, and on-chip
I/O registers areas available to the user. When data is transferred from CPU to empty areas, the
transferred data will be lost. This action may also cause the CPU to malfunction. When data is
transferred from an empty area to CPU, the contents of the data cannot be guaranteed.

2.8.2 EEPMOV Instruction

EEPMOV is a block-transfer instruction and transfers the byte size of data indicated by R4L,
which starts from the address indicated by R5, to the address indicated by R6. Set R4L and R6 so
that the end address of the destination address (value of R6 + R4L) does not exceed H'FFFF (the
value of R6 must not change from H'FFFF to H'0000 during execution).

2.8.3 Bit-Manipulation Instruction

The BSET, BCLR, BNOT, BST, and BIST instructions read data from the specified address in
byte units, manipulate the data of the target bit, and write data to the same address again in byte
units. Special care is required when using these instructions in cases where two registers are
assigned to the same address, or when a bit is directly manipulated for a port or a register
containing a write-only bit, because this may rewrite data of a bit other than the bit to be
manipulated.

                                                      Rev. 3.00, 05/03, page 41 of 472
Bit manipulation for two registers assigned to the same address

Example 1: Bit manipulation for the timer load register and timer counter

(Applicable for timer B1 in the H8/3687 Group.)

Figure 2.13 shows an example of a timer in which two timer registers are assigned to the same
address. When a bit-manipulation instruction accesses the timer load register and timer counter of
a reloadable timer, since these two registers share the same address, the following operations takes
place.

1. Data is read in byte units.
2. The CPU sets or resets the bit to be manipulated with the bit-manipulation instruction.
3. The written data is written again in byte units to the timer load register.
The timer is counting, so the value read is not necessarily the same as the value in the timer load
register. As a result, bits other than the intended bit in the timer counter may be modified and the
modified value may be written to the timer load register.

Count clock                          Timer counter     Read
                                              Reload   Write

                                  Timer load register

                                                                                                                     Internal data bus

     Figure 2.13 Example of Timer Configuration with Two Registers Allocated to Same
                                                      Address

Example 2: The BSET instruction is executed for port 5.

P57 and P56 are input pins, with a low-level signal input at P57 and a high-level signal input at
P56. P55 to P50 are output pins and output low-level signals. An example to output a high-level
signal at P50 with a BSET instruction is shown below.

Rev. 3.00, 05/03, page 42 of 472
Prior to executing BSET instruction

           P57    P56               P55    P54     P53     P52     P51            P50
                                           Output  Output  Output  Output         Output
Input/output Input Input Output            Low     Low     Low     Low            Low
                                           level   level   level   level          level
Pin state  Low    High              Low    1       1       1       1              1
           level  level             level  0       0       0       0              0

PCR5       0      0                 1

PDR5       1      0                 0

BSET instruction executed instruction

BSET #0, @PDR5                      The BSET instruction is executed for port 5.

After executing BSET instruction

           P57    P56               P55    P54     P53     P52     P51            P50
                                           Output  Output  Output  Output         Output
Input/output Input Input Output            Low     Low     Low     Low            High
                                           level   level   level   level          level
Pin state  Low    High              Low    1       1       1       1              1
           level  level             level  0       0       0       0              1

PCR5       0      0                 1

PDR5       0      1                 0

Description on operation
1. When the BSET instruction is executed, first the CPU reads port 5.

    Since P57 and P56 are input pins, the CPU reads the pin states (low-level and high-level
    input).
    P55 to P50 are output pins, so the CPU reads the value in PDR5. In this example PDR5 has a
    value of H'80, but the value read by the CPU is H'40.
2. Next, the CPU sets bit 0 of the read data to 1, changing the PDR5 data to H'41.
3. Finally, the CPU writes H'41 to PDR5, completing execution of BSET instruction.
    As a result of the BSET instruction, bit 0 in PDR5 becomes 1, and P50 outputs a high-level
    signal. However, bits 7 and 6 of PDR5 end up with different values. To prevent this problem,
    store a copy of the PDR5 data in a work area in memory. Perform the bit manipulation on the
    data in the work area, then write this data to PDR5.

                                                           Rev. 3.00, 05/03, page 43 of 472
Prior to executing BSET instruction

MOV.B         #80, R0L              The PDR5 value (H'80) is written to a work area in
MOV.B         R0L, @RAM0            memory (RAM0) as well as to PDR5.
MOV.B         R0L, @PDR5

Input/output  P57    P56            P55     P54     P53     P52     P51             P50
Pin state     Input  Input          Output  Output  Output  Output  Output          Output
              Low    High           Low     Low     Low     Low     Low             Low
PCR5          level  level          level   level   level   level   level           level
PDR5          0      0              1       1       1       1       1               1
RAM0          1      0              0       0       0       0       0               0
              1      0              0       0       0       0       0               0

BSET instruction executed         The BSET instruction is executed designating the PDR5
  BSET #0, @RAM0                    work area (RAM0).

After executing BSET instruction

MOV.B @RAM0, R0L                    The work area (RAM0) value is written to PDR5.
MOV.B R0L, @PDR5

Input/output  P57    P56            P55     P54     P53     P52     P51             P50
Pin state     Input  Input          Output  Output  Output  Output  Output          Output
              Low    High           Low     Low     Low     Low     Low             High
PCR5          level  level          level   level   level   level   level           level
PDR5          0      0              1       1       1       1       1               1
RAM0          1      0              0       0       0       0       0               1
              1      0              0       0       0       0       0               1

Bit Manipulation in a Register Containing a Write-Only Bit

Example 3: BCLR instruction executed designating port 5 control register PCR5

P57 and P56 are input pins, with a low-level signal input at P57 and a high-level signal input at
P56. P55 to P50 are output pins that output low-level signals. An example of setting the P50 pin as
an input pin by the BCLR instruction is shown below. It is assumed that a high-level signal will be
input to this input pin.

Rev. 3.00, 05/03, page 44 of 472
Prior to executing BCLR instruction

           P57    P56               P55    P54     P53     P52     P51          P50
                                           Output  Output  Output  Output       Output
Input/output Input Input Output            Low     Low     Low     Low          Low
                                           level   level   level   level        level
Pin state  Low    High              Low    1       1       1       1            1
           level  level             level  0       0       0       0            0

PCR5       0      0                 1

PDR5       1      0                 0

BCLR instruction executed         The BCLR instruction is executed for PCR5.
  BCLR #0, @PCR5

After executing BCLR instruction

           P57    P56               P55    P54     P53     P52     P51          P50
                                           Output  Output  Output  Output       Input
Input/output Output Output Output          Low     Low     Low     Low          High
                                           level   level   level   level        level
Pin state  Low    High              Low    1       1       1       1            0
           level  level             level  0       0       0       0            0

PCR5       1      1                 1

PDR5       1      0                 0

Description on operation
1. When the BCLR instruction is executed, first the CPU reads PCR5. Since PCR5 is a write-only

    register, the CPU reads a value of H'FF, even though the PCR5 value is actually H'3F.
2. Next, the CPU clears bit 0 in the read data to 0, changing the data to H'FE.
3. Finally, H'FE is written to PCR5 and BCLR instruction execution ends.

    As a result of this operation, bit 0 in PCR5 becomes 0, making P50 an input port. However,
    bits 7 and 6 in PCR5 change to 1, so that P57 and P56 change from input pins to output pins.
    To prevent this problem, store a copy of the PDR5 data in a work area in memory and
    manipulate data of the bit in the work area, then write this data to PDR5.

                                                           Rev. 3.00, 05/03, page 45 of 472
Prior to executing BCLR instruction

MOV.B         #3F, R0L              The PCR5 value (H'3F) is written to a work area in
MOV.B         R0L, @RAM0            memory (RAM0) as well as to PCR5.
MOV.B         R0L, @PCR5

Input/output  P57    P56            P55     P54     P53     P52     P51             P50
Pin state     Input  Input          Output  Output  Output  Output  Output          Output
              Low    High           Low     Low     Low     Low     Low             Low
PCR5          level  level          level   level   level   level   level           level
PDR5          0      0              1       1       1       1       1               1
RAM0          1      0              0       0       0       0       0               0
              0      0              1       1       1       1       1               1

BCLR instruction executed         The BCLR instructions executed for the PCR5 work area
  BCLR #0, @RAM0                    (RAM0).

After executing BCLR instruction

MOV.B @RAM0, R0L                    The work area (RAM0) value is written to PCR5.
MOV.B R0L, @PCR5

Input/output  P57    P56            P55     P54     P53     P52     P51             P50
Pin state     Input  Input          Output  Output  Output  Output  Output          Output
              Low    High           Low     Low     Low     Low     Low             High
PCR5          level  level          level   level   level   level   level           level
PDR5          0      0              1       1       1       1       1               0
RAM0          1      0              0       0       0       0       0               0
              0      0              1       1       1       1       1               0

Rev. 3.00, 05/03, page 46 of 472
                  Section 3 Exception Handling

Exception handling may be caused by a reset, a trap instruction (TRAPA), or interrupts.
Reset
A reset has the highest exception priority. Exception handling starts as soon as the reset is cleared
by the RES pin. The chip is also reset when the watchdog timer overflows, and exception handling
starts. Exception handling is the same as exception handling by the RES pin.
Trap Instruction
Exception handling starts when a trap instruction (TRAPA) is executed. The TRAPA instruction
generates a vector address corresponding to a vector number from 0 to 3, as specified in the
instruction code. Exception handling can be executed at all times in the program execution state,
regardless of the setting of the I bit in CCR.
Interrupts
External interrupts other than NMI and internal interrupts other than address break are masked by
the I bit in CCR, and kept masked while the I bit is set to 1. Exception handling starts when the
current instruction or exception handling ends, if an interrupt request has been issued.

                                                                                         Rev. 3.00, 05/03, page 47 of 472
3.1 Exception Sources and Vector Address

Table 3.1 shows the vector addresses and priority of each exception handling. When more than
one interrupt is requested, handling is performed from the interrupt with the highest priority.

Table 3.1 Exception Sources and Vector Address

Relative Module Exception Sources                 Vector  Vector Address    Priority
                                                  Number  H'0000 to H'0001  High

RES pin         Reset                             0

Watchdog timer

                Reserved for system use           1 to 6  H'0002 to H'000D
                                                          H'000E to H'000F
External interrupt pin NMI                        7       H'0010 to H'0011
                                                          H'0012 to H'0013
CPU             Trap instruction (#0)             8       H'0014 to H'0015
                                                          H'0016 to H'0017
                             (#1)                 9       H'0018 to H'0019
                                                          H'001A to H'001B
                             (#2)                 10

                             (#3)                 11

Address break   Break conditions satisfied        12

CPU             Direct transition by executing 13
                the SLEEP instruction

External interrupt pin IRQ0                       14      H'001C to H'001D

                Low-voltage detection interrupt*

                IRQ1                              15      H'001E to H'001F
                                                          H'0020 to H'0021
                IRQ2                              16      H'0022 to H'0023
                                                          H'0024 to H'0025
                IRQ3                              17      H'0026 to H'0027
                                                          H'0028 to H'0029
                WKP                               18      H'002C to H'002D

RTC             Overflow                          19

                Reserved for system use           20

Timer V         Timer V compare match A           22

                Timer V compare match B

                Timer V overflow

SCI3            SCI3 receive data full            23      H'002E to H'002F

                SCI3 transmit data empty

                SCI3 transmit end

                SCI3 receive error

IIC2            Transmit data empty               24      H'0030 to H'0031

                Transmit end

                Receive data full

                Arbitration lost/Overrun error

                NACK detection

                Stop conditions detected                                    Low

Rev. 3.00, 05/03, page 48 of 472
                                                       Vector

Relative Module Exception Sources                      Number Vector Address Priority

A/D converter  A/D conversion end                      25      H'0032 to H'0033 High

Timer Z        Compare match/input capture 26                  H'0034 to H'0035
               A0 to D0
               Timer Z overflow

               Compare match/input capture 27                  H'0036 to H'0037
               A1 to D1
               Timer Z overflow
               Timer Z underflow

Timer B1       Timer B1 overflow                       29      H'003A to H'003B

SCI3_2         Receive data full                       32      H'0040 to H'0041

               Transmit data empty

               Transmit end

               Receive error                                                     Low

Note: * A low-voltage detection interrupt is enabled only in the product with an on-chip power-
               on reset and low-voltage detection circuit.

3.2 Register Descriptions

Interrupts are controlled by the following registers.

Interrupt edge select register 1 (IEGR1)
Interrupt edge select register 2 (IEGR2)
Interrupt enable register 1 (IENR1)
Interrupt enable register 2 (IENR2)
Interrupt flag register 1 (IRR1)
Interrupt flag register 2 (IRR2)
Wakeup interrupt flag register (IWPR)

                                                               Rev. 3.00, 05/03, page 49 of 472
3.2.1 Interrupt Edge Select Register 1 (IEGR1)

IEGR1 selects the direction of an edge that generates interrupt requests of pins NMI and IRQ3 to
IRQ0.

           Initial

Bit  Bit Name Value R/W Description

7    NMIEG 0        R/W NMI Edge Select

                                  0: Falling edge of NMI pin input is detected

                                  1: Rising edge of NMI pin input is detected

6 to 4     All 1                  Reserved

                                  These bits are always read as 1.

3    IEG3  0        R/W IRQ3 Edge Select

                                  0: Falling edge of IRQ3 pin input is detected

                                  1: Rising edge of IRQ3 pin input is detected

2    IEG2  0        R/W IRQ2 Edge Select

                                  0: Falling edge of IRQ2 pin input is detected

                                  1: Rising edge of IRQ2 pin input is detected

1    IEG1  0        R/W IRQ1 Edge Select

                                  0: Falling edge of IRQ1 pin input is detected

                                  1: Rising edge of IRQ1 pin input is detected

0    IEG0  0        R/W IRQ0 Edge Select

                                  0: Falling edge of IRQ0 pin input is detected

                                  1: Rising edge of IRQ0 pin input is detected

Rev. 3.00, 05/03, page 50 of 472
3.2.2 Interrupt Edge Select Register 2 (IEGR2)

IEGR2 selects the direction of an edge that generates interrupt requests of the pins ADTRG and
WKP5 to WKP0.

       Initial

Bit  Bit Name Value R/W Description

7, 6   All 1      Reserved

                  These bits are always read as 1.

5    WPEG5 0    R/W WKP5 Edge Select

                  0: Falling edge of WKP5(ADTRG) pin input is detected

                  1: Rising edge of WKP5(ADTRG) pin input is detected

4    WPEG4 0    R/W WKP4 Edge Select

                  0: Falling edge of WKP4 pin input is detected

                  1: Rising edge of WKP4 pin input is detected

3    WPEG3 0    R/W WKP3 Edge Select

                  0: Falling edge of WKP3 pin input is detected

                  1: Rising edge of WKP3 pin input is detected

2    WPEG2 0    R/W WKP2 Edge Select

                  0: Falling edge of WKP2 pin input is detected

                  1: Rising edge of WKP2 pin input is detected

1    WPEG1 0    R/W WKP1Edge Select

                  0: Falling edge of WKP1 pin input is detected

                  1: Rising edge of WKP1 pin input is detected

0    WPEG0 0    R/W WKP0 Edge Select

                  0: Falling edge of WKP0 pin input is detected

                  1: Rising edge of WKP0 pin input is detected

                                                Rev. 3.00, 05/03, page 51 of 472
3.2.3 Interrupt Enable Register 1 (IENR1)

IENR1 enables direct transition interrupts, RTC interrupts, and external pin interrupts.

           Initial

Bit  Bit Name Value R/W Description

7    IENDT 0        R/W Direct Transfer Interrupt Enable

                                  When this bit is set to 1, direct transition interrupt
                                  requests are enabled.

6    IENTA 0        R/W RTC Interrupt Enable

                                  When this bit is set to 1, RTC interrupt requests are
                                  enabled.

5    IENWP 0        R/W Wakeup Interrupt Enable

                                  This bit is an enable bit, which is common to the pins
                                  WKP5 to WKP0. When the bit is set to 1, interrupt
                                  requests are enabled.

4          1                      Reserved

                                  This bit is always read as 1.

3    IEN3  0        R/W IRQ3 Interrupt Enable

                                  When this bit is set to 1, interrupt requests of the IRQ3 pin
                                  are enabled.

2    IEN2  0        R/W IRQ2 Interrupt Enable

                                  When this bit is set to 1, interrupt requests of the IRQ2 pin
                                  are enabled.

1    IEN1  0        R/W IRQ1 Interrupt Enable

                                  When this bit is set to 1, interrupt requests of the IRQ1 pin
                                  are enabled.

0    IEN0  0        R/W IRQ0 Interrupt Enable

                                  When this bit is set to 1, interrupt requests of the IRQ0 pin
                                  are enabled.

When disabling interrupts by clearing bits in an interrupt enable register, or when clearing bits in
an interrupt flag register, always do so while interrupts are masked (I = 1). If the above clear
operations are performed while I = 0, and as a result a conflict arises between the clear instruction
and an interrupt request, exception handling for the interrupt will be executed after the clear
instruction has been executed.

Rev. 3.00, 05/03, page 52 of 472
3.2.4 Interrupt Enable Register 2 (IENR2)

IENR2 enables, timer B1 overflow interrupts.

         Initial

Bit  Bit Name Value R/W Description

7, 6     All 0      Reserved

                    These bits are always read as 0.

5    IENTB1 0     R/W Timer B1 Interrupt Enable
                             When this bit is set to 1, timer B1 overflow interrupt
                             requests are enabled.

4 to 0   All 1      Reserved

                    These bits are always read as 1.

When disabling interrupts by clearing bits in an interrupt enable register, or when clearing bits in
an interrupt flag register, always do so while interrupts are masked (I = 1). If the above clear
operations are performed while I = 0, and as a result a conflict arises between the clear instruction
and an interrupt request, exception handling for the interrupt will be executed after the clear
instruction has been executed.

3.2.5 Interrupt Flag Register 1 (IRR1)

IRR1 is a status flag register for direct transition interrupts, RTC interrupts, and IRQ3 to IRQ0
interrupt requests.

         Initial

Bit  Bit Name Value R/W Description

7    IRRDT 0      R/W Direct Transfer Interrupt Request Flag

                    [Setting condition]

                    When a direct transfer is made by executing a SLEEP
                    instruction while DTON in SYSCR2 is set to 1.

                    [Clearing condition]

                    When IRRDT is cleared by writing 0

6    IRRTA 0      R/W RTC Interrupt Request Flag

                    [Setting condition]

                    When the RTC counter value overflows

                    [Clearing condition]

                    When IRRTA is cleared by writing 0

5, 4     All 1      Reserved

                    These bits are always read as 1.

                                              Rev. 3.00, 05/03, page 53 of 472
            Initial

Bit  Bit Name Value R/W Description

3    IRRI3  0        R/W IRQ3 Interrupt Request Flag

                                  [Setting condition]

                                  When IRQ3 pin is designated for interrupt input and the
                                  designated signal edge is detected.

                                  [Clearing condition]

                                  When IRRI3 is cleared by writing 0

2    IRRI2  0        R/W IRQ2 Interrupt Request Flag

                                  [Setting condition]

                                  When IRQ2 pin is designated for interrupt input and the
                                  designated signal edge is detected.

                                  [Clearing condition]

                                  When IRRI2 is cleared by writing 0

1    IRRI1  0        R/W IRQ1 Interrupt Request Flag

                                  [Setting condition]

                                  When IRQ1 pin is designated for interrupt input and the
                                  designated signal edge is detected.

                                  [Clearing condition]

                                  When IRRI1 is cleared by writing 0

0    IRRl0  0        R/W IRQ0 Interrupt Request Flag

                                  [Setting condition]

                                  When IRQ0 pin is designated for interrupt input and the
                                  designated signal edge is detected.

                                  [Clearing condition]

                                  When IRRI0 is cleared by writing 0

Rev. 3.00, 05/03, page 54 of 472
3.2.6 Interrupt Flag Register 2 (IRR2)

IRR2 is a status flag register for timer B1 overflow interrupts.

         Initial

Bit  Bit Name Value R/W Description

7, 6     All 0      Reserved

                    These bits are always read as 0.

5    IRRTB1 0     R/W Timer B1 Interrupt Request flag

                    [Setting condition]

                    When the timer B1 counter value overflows

                    [Clearing condition]

                    When IRRTB1 is cleared by writing 0

4 to 0   All 1      Reserved

                    These bits are always read as 1.

3.2.7 Wakeup Interrupt Flag Register (IWPR)

IWPR is a status flag register for WKP5 to WKP0 interrupt requests.

         Initial

Bit  Bit Name Value R/W Description

7, 6     All 1      Reserved

                    These bits are always read as 1.

5    IWPF5 0      R/W WKP5 Interrupt Request Flag

                    [Setting condition]

                    When WKP5 pin is designated for interrupt input and the
                    designated signal edge is detected.

                    [Clearing condition]

                    When IWPF5 is cleared by writing 0.

4    IWPF4 0      R/W WKP4 Interrupt Request Flag

                    [Setting condition]

                    When WKP4 pin is designated for interrupt input and the
                    designated signal edge is detected.

                    [Clearing condition]

                    When IWPF4 is cleared by writing 0.

                                                                  Rev. 3.00, 05/03, page 55 of 472
     Initial

Bit  Bit Name Value R/W Description

3    IWPF3 0  R/W WKP3 Interrupt Request Flag

                                  [Setting condition]

                                  When WKP3 pin is designated for interrupt input and the
                                  designated signal edge is detected.

                                  [Clearing condition]

                                  When IWPF3 is cleared by writing 0.

2    IWPF2 0  R/W WKP2 Interrupt Request Flag

                                  [Setting condition]

                                  When WKP2 pin is designated for interrupt input and the
                                  designated signal edge is detected.

                                  [Clearing condition]

                                  When IWPF2 is cleared by writing 0.

1    IWPF1 0  R/W WKP1 Interrupt Request Flag

                                  [Setting condition]

                                  When WKP1 pin is designated for interrupt input and the
                                  designated signal edge is detected.

                                  [Clearing condition]

                                  When IWPF1 is cleared by writing 0.

0    IWPF0 0  R/W WKP0 Interrupt Request Flag

                                  [Setting condition]

                                  When WKP0 pin is designated for interrupt input and the
                                  designated signal edge is detected.

                                  [Clearing condition]

                                  When IWPF0 is cleared by writing 0.

Rev. 3.00, 05/03, page 56 of 472
3.3 Reset Exception Handling

When the RES pin goes low, all processing halts and this LSI enters the reset. The internal state of
the CPU and the registers of the on-chip peripheral modules are initialized by the reset. To ensure
that this LSI is reset at power-up, hold the RES pin low until the clock pulse generator output
stabilizes. To reset the chip during operation, hold the RES pin low for at least 10 system clock
cycles. When the RES pin goes high after being held low for the necessary time, this LSI starts
reset exception handling. The reset exception handling sequence is shown in figure 3.1. However,
for the reset exception handling sequence of the product with on-chip power-on reset circuit, refer
to section 20, Power-On Reset and Low-Voltage Detection Circuits.

The reset exception handling sequence is as follows:

1. Set the I bit in the condition code register (CCR) to 1.
2. The CPU generates a reset exception handling vector address (from H'0000 to H'0001), the

    data in that address is sent to the program counter (PC) as the start address, and program
    execution starts from that address.

3.4 Interrupt Exception Handling

3.4.1 External Interrupts

As the external interrupts, there are NMI, IRQ3 to IRQ0, and WKP5 to WKP0 interrupts.

NMI Interrupt

    NMI interrupt is requested by input signal edge to pin NMI. This interrupt is detected by either
    rising edge sensing or falling edge sensing, depending on the setting of bit NMIEG in IEGR1.
    NMI is the highest-priority interrupt, and can always be accepted without depending on the I
    bit value in CCR.

IRQ3 to IRQ0 Interrupts

    IRQ3 to IRQ0 interrupts are requested by input signals to pins IRQ3 to IRQ0. These four
    interrupts are given different vector addresses, and are detected individually by either rising
    edge sensing or falling edge sensing, depending on the settings of bits IEG3 to IEG0 in
    IEGR1.
    When pins IRQ3 to IRQ0 are designated for interrupt input in PMR1 and the designated signal
    edge is input, the corresponding bit in IRR1 is set to 1, requesting the CPU of an interrupt.
    These interrupts can be masked by setting bits IEN3 to IEN0 in IENR1.

                                                                                         Rev. 3.00, 05/03, page 57 of 472
WKP5 to WKP0 Interrupts

    WKP5 to WKP0 interrupts are requested by input signals to pins WKP5 to WKP0. These six
    interrupts have the same vector addresses, and are detected individually by either rising edge
    sensing or falling edge sensing, depending on the settings of bits WPEG5 to WPEG0 in
    IEGR2.
    When pins WKP5 to WKP0 are designated for interrupt input in PMR5 and the designated
    signal edge is input, the corresponding bit in IWPR is set to 1, requesting the CPU of an
    interrupt. These interrupts can be masked by setting bit IENWP in IENR1.

                    Reset cleared

                                                   Initial program
                Vector fetch Internal instruction prefetch

                                 processing



Internal        (1)                                   (2)
address bus
                (2)                                   (3)
Internal read
signal

Internal write
signal

Internal data
bus (16 bits)

(1) Reset exception handling vector address (H'0000)
(2) Program start address
(3) Initial program instruction

                           Figure 3.1 Reset Sequence

3.4.2 Internal Interrupts

Each on-chip peripheral module has a flag to show the interrupt request status and the enable bit to
enable or disable the interrupt. For RTC interrupt requests and direct transfer interrupt requests
generated by execution of a SLEEP instruction, this function is included in IRR1, IRR2, IENR1,
and IENR2.

When an on-chip peripheral module requests an interrupt, the corresponding interrupt request
status flag is set to 1, requesting the CPU of an interrupt. These interrupts can be masked by
writing 0 to clear the corresponding enable bit.
Rev. 3.00, 05/03, page 58 of 472
3.4.3 Interrupt Handling Sequence

Interrupts are controlled by an interrupt controller.
Interrupt operation is described as follows.
1. If an interrupt occurs while the NMI or interrupt enable bit is set to 1, an interrupt request

    signal is sent to the interrupt controller.
2. When multiple interrupt requests are generated, the interrupt controller requests to the CPU for

    the interrupt handling with the highest priority at that time according to table 3.1. Other
    interrupt requests are held pending.
3. The CPU accepts the NMI and address break without depending on the I bit value. Other
    interrupt requests are accepted, if the I bit is cleared to 0 in CCR; if the I bit is set to 1, the
    interrupt request is held pending.
4. If the CPU accepts the interrupt after processing of the current instruction is completed,
    interrupt exception handling will begin. First, both PC and CCR are pushed onto the stack. The
    state of the stack at this time is shown in figure 3.2. The PC value pushed onto the stack is the
    address of the first instruction to be executed upon return from interrupt handling.
5. Then, the I bit of CCR is set to 1, masking further interrupts excluding the NMI and address
    break. Upon return from interrupt handling, the values of I bit and other bits in CCR will be
    restored and returned to the values prior to the start of interrupt exception handling.
6. Next, the CPU generates the vector address corresponding to the accepted interrupt, and
     transfers the address to PC as a start address of the interrupt handling-routine. Then a program
     starts executing from the address indicated in PC.
Figure 3.3 shows a typical interrupt sequence where the program area is in the on-chip ROM and
the stack area is in the on-chip RAM.

                                                                                         Rev. 3.00, 05/03, page 59 of 472
SP 4                                      SP (R7)    CCR
SP 3                                      SP + 1     CCR*3
SP 2                                      SP + 2      PCH
SP 1                                      SP + 3      PCL
SP (R7)                                     SP + 4
                                                                                      Even address
         Stack area

         Prior to start of interrupt  PC and CCR       After completion of interrupt
            exception handling        saved to stack        exception handling

Legend:
PCH : Upper 8 bits of program counter (PC)
PCL : Lower 8 bits of program counter (PC)
CCR: Condition code register
SP: Stack pointer

Notes: 1. PC shows the address of the first instruction to be executed upon return from the interrupt
              handling routine.

         2. Register contents must always be saved and restored by word length, starting from
              an even-numbered address.

         3. Ignored when returning from the interrupt handling routine.

         Figure 3.2 Stack Status after Exception Handling

3.4.4 Interrupt Response Time

Table 3.2 shows the number of wait states after an interrupt request flag is set until the first
instruction of the interrupt handling-routine is executed.

Table 3.2 Interrupt Wait States                        States                         Total
                                                       1 to 23                        15 to 37
Item                                                   4
Waiting time for completion of executing instruction*  2
Saving of PC and CCR to stack                          4
Vector fetch                                           4
Instruction fetch
Internal processing
Note: * Not including EEPMOV instruction.

Rev. 3.00, 05/03, page 60 of 472
                                                                                       Interrupt is

                                                                                       accepted

                                                                      Interrupt level

                                                                      decision and wait for Instruction        Internal                                                                        Prefetch instruction of
                                                                                                               processing                                                     Internal interrupt-handling routine
                                                                      end of instruction    prefetch                       Stack access            Vector fetch               processing

                                                   Interrupt
                                                   request signal

                    Figure 3.3 Interrupt Sequence  
Rev. 3.00, 05/03, page 61 of 472
                                                   Internal           (1)                                 (3)              (5)           (6)                     (8)          (9)
                                                   address bus                                                                                                                   (10)
                                                                                       (2)           (4)                        (1)           (7)  (9)
                                                   Internal read
                                                   signal

                                                   Internal write
                                                   signal

                                                   Internal data bus
                                                   (16 bits)

                                                   (1) Instruction prefetch address (Instruction is not executed. Address is saved as PC contents, becoming return address.)
                                                   (2)(4) Instruction code (not executed)
                                                   (3) Instruction prefetch address (Instruction is not executed.)
                                                   (5) SP 2
                                                   (6) SP 4
                                                   (7) CCR
                                                   (8) Vector address
                                                   (9) Starting address of interrupt-handling routine (contents of vector)
                                                   (10) First instruction of interrupt-handling routine
3.5 Usage Notes

3.5.1 Interrupts after Reset

If an interrupt is accepted after a reset and before the stack pointer (SP) is initialized, the PC and
CCR will not be saved correctly, leading to a program crash. To prevent this, all interrupt requests,
including NMI, are disabled immediately after a reset. Since the first instruction of a program is
always executed immediately after the reset state ends, make sure that this instruction initializes
the stack pointer (example: MOV.W #xx: 16, SP).

3.5.2 Notes on Stack Area Use

When word data is accessed, the least significant bit of the address is regarded as 0. Access to the
stack always takes place in word size, so the stack pointer (SP: R7) should never indicate an odd
address. Use PUSH Rn (MOV.W Rn, @SP) or POP Rn (MOV.W @SP+, Rn) to save or restore
register values.

3.5.3 Notes on Rewriting Port Mode Registers

When a port mode register is rewritten to switch the functions of external interrupt pins, IRQ3 to
IRQ0, and WKP5 to WKP0, the interrupt request flag may be set to 1.

When switching a pin function, mask the interrupt before setting the bit in the port mode register.
After accessing the port mode register, execute at least one instruction (e.g., NOP), then clear the
interrupt request flag from 1 to 0.

Figure 3.4 shows a port mode register setting and interrupt request flag clearing procedure.

           CCR I bit  1            Interrupts masked. (Another possibility
                                   is to disable the relevant interrupt in
   Set port mode register bit      interrupt enable register 1.)
    Execute NOP instruction
Clear interrupt request flag to 0  After setting the port mode register bit,
                                   first execute at least one instruction
                                   (e.g., NOP), then clear the interrupt
                                   request flag to 0.

CCR I bit  0                       Interrupt mask cleared

Figure 3.4 Port Mode Register Setting and Interrupt Request Flag Clearing Procedure

Rev. 3.00, 05/03, page 62 of 472
                     Section 4 Address Break

The address break simplifies on-board program debugging. It requests an address break interrupt
when the set break condition is satisfied. The interrupt request is not affected by the I bit of CCR.
Break conditions that can be set include instruction execution at a specific address and a
combination of access and data at a specific address. With the address break function, the
execution start point of a program containing a bug is detected and execution is branched to the
correcting program. Figure 4.1 shows a block diagram of the address break.

                                        Internal address bus

                                              Comparator

                          Interrupt     BARH                BARL  Internal data bus
                        generation      BDRH              ABRKCR
                       control circuit                    ABRKSR

                                                            BDRL

                                              Comparator

                                                                  Interrupt

                       Legend:
                       BARH, BARL: Break address register
                       BDRH, BDRL: Break data register
                       ABRKCR: Address break control register
                       ABRKSR: Address break status register

                       Figure 4.1 Block Diagram of Address Break

4.1 Register Descriptions

Address break has the following registers.

Address break control register (ABRKCR)
Address break status register (ABRKSR)
Break address register (BARH, BARL)
Break data register (BDRH, BDRL)

ABK0001A_000020020200                                             Rev. 3.00, 05/03, page 63 of 472
4.1.1 Address Break Control Register (ABRKCR)

ABRKCR sets address break conditions.

     Initial

Bit  Bit Name Value R/W Description

7    RTINTE 1           R/W RTE Interrupt Enable

                                       When this bit is 0, the interrupt immediately after
                                       executing RTE is masked and then one instruction must
                                       be executed. When this bit is 1, the interrupt is not
                                       masked.

6    CSEL1 0            R/W Condition Select 1 and 0

5    CSEL0 0            R/W These bits set address break conditions.

                                       00: Instruction execution cycle

                                       01: CPU data read cycle

                                       10: CPU data write cycle

                                       11: CPU data read/write cycle

4    ACMP2 0            R/W Address Compare Condition Select 2 to 0

3    ACMP1 0            R/W These bits set the comparison condition between the
                        R/W address set in BAR and the internal address bus.
2    ACMP0 0
                                   000: Compares 16-bit addresses

                                       001: Compares upper 12-bit addresses

                                       010: Compares upper 8-bit addresses

                                       011: Compares upper 4-bit addresses

                                       1XX: Reserved (setting prohibited)

1    DCMP1 0            R/W Data Compare Condition Select 1 and 0

0    DCMP0 0            R/W These bits set the comparison condition between the data
                                   set in BDR and the internal data bus.

                                       00: No data comparison

                                       01: Compares lower 8-bit data between BDRL and data
                                            bus

                                       10: Compares upper 8-bit data between BDRH and data
                                            bus

                                       11: Compares 16-bit data between BDR and data bus

Legend: X: Don't care.

When an address break is set in the data read cycle or data write cycle, the data bus used will
depend on the combination of the byte/word access and address. Table 4.1 shows the access and
data bus used. When an I/O register space with an 8-bit data bus width is accessed in word size, a
byte access is generated twice. For details on data widths of each register, see section 22.1,
Register Addresses (Address Order).
Rev. 3.00, 05/03, page 64 of 472
Table 4.1 Access and Data Bus Used

ROM space                                 Word Access                  Byte Access
                               Even Address Odd Address   Even Address Odd Address
RAM space                      Upper 8 bits Lower 8 bits  Upper 8 bits Upper 8 bits
                               Upper 8 bits Lower 8 bits  Upper 8 bits Upper 8 bits
I/O register with 8-bit data   Upper 8 bits Upper 8 bits  Upper 8 bits Upper 8 bits
bus width
                               Upper 8 bits Lower 8 bits                 
I/O register with 16-bit data
bus width

4.1.2 Address Break Status Register (ABRKSR)

ABRKSR consists of the address break interrupt flag and the address break interrupt enable bit.

           Initial

Bit  Bit Name Value R/W Description

7    ABIF  0                   R/W Address Break Interrupt Flag

                                 [Setting condition]

                                 When the condition set in ABRKCR is satisfied

                                 [Clearing condition]

                                 When 0 is written after ABIF=1 is read

6    ABIE  0                   R/W Address Break Interrupt Enable

                                 When this bit is 1, an address break interrupt request is
                                 enabled.

5 to 0     All 1                 Reserved

                                 These bits are always read as 1.

4.1.3 Break Address Registers (BARH, BARL)

BARH and BARL are 16-bit read/write registers that set the address for generating an address
break interrupt. When setting the address break condition to the instruction execution cycle, set
the first byte address of the instruction. The initial value of this register is H'FFFF.

4.1.4 Break Data Registers (BDRH, BDRL)

BDRH and BDRL are 16-bit read/write registers that set the data for generating an address break
interrupt. BDRH is compared with the upper 8-bit data bus. BDRL is compared with the lower 8-
bit data bus. When memory or registers are accessed by byte, the upper 8-bit data bus is used for
even and odd addresses in the data transmission. Therefore, comparison data must be set in

                                                                                         Rev. 3.00, 05/03, page 65 of 472
BDRH for byte access. For word access, the data bus used depends on the address. See section
4.1.1, Address Break Control Register (ABRKCR), for details. The initial value of this register is
undefined.

4.2 Operation

When the ABIF and ABIE bits in ABRKSR are set to 1, the address break function generates an
interrupt request to the CPU. The ABIF bit in ABRKSR is set to 1 by the combination of the
address set in BAR, the data set in BDR, and the conditions set in ABRKCR. When the interrupt
request is accepted, interrupt exception handling starts after the instruction being executed ends.
The address break interrupt is not masked by the I bit in CCR of the CPU.

Figures 4.2 show the operation examples of the address break interrupt setting.

When the address break is specified in instruction execution cycle

Register setting                  Program
ABRKCR = H'80
BAR = H'025A                    0258 NOP

                                  * 025A NOP

                                  025C MOV.W @H'025A,R0             Underline indicates the address
                                                                    to be stacked.
                                  0260 NOP

                                  0262 NOP

                                  :        :

           NOP NOP MOV MOV

           instruc- instruc- instruc- instruc-

           tion                   tion tion 1 tion 2 Internal

           prefetch prefetch prefetch prefetch processing           Stack save

           0258 025A 025C 025E                                      SP-2 SP-4
                                 Interrupt acceptance
Address
bus

Interrupt
request

Figure 4.2 Address Break Interrupt Operation Example (1)

Rev. 3.00, 05/03, page 66 of 472
When the address break is specified in the data read cycle

Register setting  Program
ABRKCR = H'A0
BAR = H'025A    0258 NOP

                  025A NOP

                  * 025C MOV.W @H'025A,R0

                  0260 NOP                                  Underline indicates the address

                  0262 NOP                                  to be stacked.

                  :        :

           MOV MOV NOP MOV NOP Next

           instruc- instruc- instruc- instruc- instruc- instru-

           tion 1 tion 2 tion  tion                         tion  ction Internal Stack

           prefetch prefetch prefetch execution prefetch prefetch processing save

           025C 025E 0260 025A 0262                               0264      SP-2

Address
bus

Interrupt
request

                                     Interrupt acceptance

Figure 4.2 Address Break Interrupt Operation Example (2)

                                                                  Rev. 3.00, 05/03, page 67 of 472
Rev. 3.00, 05/03, page 68 of 472
                Section 5 Clock Pulse Generators

Clock oscillator circuitry (CPG: clock pulse generator) is provided on-chip, including both a
system clock pulse generator and a subclock pulse generator. The system clock pulse generator
consists of a system clock oscillator, a duty correction circuit, and system clock dividers. The
subclock pulse generator consists of a subclock oscillator circuit and a subclock divider.

Figure 5.1 shows a block diagram of the clock pulse generators.

OSC1                   System      OSC       Duty     OSC    System    OSC     
OSC2                     clock     (fOSC)  correction  (fOSC)   clock
                                                               divider   OSC/8
                       oscillator            circuit                     OSC/16
                                                                         OSC/32
                                                                         OSC/64     Prescaler S   /2
                                                                                       (13 bits)   to
                       System clock pulse generator                                                /8192

X1                     Subclock            W                            W/2
                                                                         W/4
                       oscillator                              Subclock  W/8                SUB
                                                                divider
X2                                         (fW)                                      Prescaler W
                                                                                        (5 bits)
                                                                                                   W/8
                                                                                                   to
                                                                                                   W/128

                       Subclock pulse generator

                       Figure 5.1 Block Diagram of Clock Pulse Generators

The basic clock signals that drive the CPU and on-chip peripheral modules are and SUB. The
system clock is divided by prescaler S to become a clock signal from /8192 to /2, and the
subclock is divided by prescaler W to become a clock signal from w/128 to w/8. Both the
system clock and subclock signals are provided to the on-chip peripheral modules.

CPG0200A_000020020200                                                          Rev. 3.00, 05/03, page 69 of 472
5.1 System Clock Generator

Clock pulses can be supplied to the system clock divider either by connecting a crystal or ceramic
resonator, or by providing external clock input. Figure 5.2 shows a block diagram of the system
clock generator.

                                                   OSC 2

                                                  LPM

      OSC 1

LPM: Low-power mode (standby mode, subactive mode, subsleep mode)

Figure 5.2 Block Diagram of System Clock Generator

5.1.1 Connecting Crystal Resonator

Figure 5.3 shows a typical method of connecting a crystal resonator. An AT-cut parallel-resonance
crystal resonator should be used. Figure 5.4 shows the equivalent circuit of a crystal resonator. A
resonator having the characteristics given in table 5.1 should be used.

      OSC 1                           C1
      OSC 2
                                      C2
                                                     C1 = C2 = 12 pF 20%

Figure 5.3 Typical Connection to Crystal Resonator

                                  LS  CS      RS

OSC1                                                                       OSC2

                                          C0

Figure 5.4 Equivalent Circuit of Crystal Resonator

Rev. 3.00, 05/03, page 70 of 472
Table 5.1 Crystal Resonator Parameters

Frequency (MHz)  2           4          8     10                      16      20
RS (max)         500         120        80    60                      50      40
C0 (max)         7 pF        7 pF       7 pF  7 pF                    7 pF    7 pF

5.1.2 Connecting Ceramic Resonator
Figure 5.5 shows a typical method of connecting a ceramic resonator.

                       OSC1              C1
                       OSC2
                                         C2
                                                             C1 = 30 pF 10%
                                                             C2 = 30 pF 10%

                         Figure 5.5 Typical Connection to Ceramic Resonator

5.1.3 External Clock Input Method
Connect an external clock signal to pin OSC1, and leave pin OSC2 open. Figure 5.6 shows a
typical connection. The duty cycle of the external clock signal must be 45 to 55%.

                       OSC1                   External clock input
                       OSC 2
                                   Open

                 Figure 5.6 Example of External Clock Input

                                                    Rev. 3.00, 05/03, page 71 of 472
5.2 Subclock Generator

Figure 5.7 shows a block diagram of the subclock generator.

                 X2
                             8M

                 X1
                   Note : Registance is a reference value.

Figure 5.7 Block Diagram of Subclock Generator

5.2.1 Connecting 32.768-kHz Crystal Resonator

Clock pulses can be supplied to the subclock divider by connecting a 32.768-kHz crystal
resonator, as shown in figure 5.8. Figure 5.9 shows the equivalent circuit of the 32.768-kHz crystal
resonator.

                           C1
    X1

                                      C2

    X2                                        C1 = C 2 = 15 pF (typ.)

Figure 5.8 Typical Connection to 32.768-kHz Crystal Resonator

                                  LS      CS                 RS

X1                                                                     X2

                                              CO

            CO = 1.5 pF (typ.)
            RS = 14 k (typ.)
            fW = 32.768 kHz

Note: Constants are reference values.

Figure 5.9 Equivalent Circuit of 32.768-kHz Crystal Resonator

Rev. 3.00, 05/03, page 72 of 472
5.2.2 Pin Connection when Not Using Subclock

When the subclock is not used, connect pin X1 to VCL or VSS and leave pin X2 open, as shown in
figure 5.10.

                                             VCL or VSS
X1

X2  Open

                         Figure 5.10 Pin Connection when not Using Subclock

5.3 Prescalers

5.3.1 Prescaler S

Prescaler S is a 13-bit counter using the system clock () as its input clock. It is incremented once
per clock period. Prescaler S is initialized to H'0000 by a reset, and starts counting on exit from
the reset state. In standby mode, subactive mode, and subsleep mode, the system clock pulse
generator stops. Prescaler S also stops and is initialized to H'0000. The CPU cannot read or write
prescaler S. The output from prescaler S is shared by the on-chip peripheral modules. The divider
ratio can be set separately for each on-chip peripheral function. In active mode and sleep mode,
the clock input to prescaler S is determined by the division factor designated by MA2 to MA0 in
SYSCR2.

5.3.2 Prescaler W

Prescaler W is a 5-bit counter using a 32.768 kHz signal divided by 4 (W/4) as its input clock.
The divided output is used for clock time base operation of timer A. Prescaler W is initialized to
H'00 by a reset, and starts counting on exit from the reset state. Even in standby mode, subactive
mode, or subsleep mode, prescaler W continues functioning so long as clock signals are supplied
to pins X1 and X2.

    Rev. 3.00, 05/03, page 73 of 472
5.4 Usage Notes

5.4.1 Note on Resonators

Resonator characteristics are closely related to board design and should be carefully evaluated by
the user, referring to the examples shown in this section. Resonator circuit constants will differ
depending on the resonator element, stray capacitance in its interconnecting circuit, and other
factors. Suitable constants should be determined in consultation with the resonator element
manufacturer. Design the circuit so that the resonator element never receives voltages exceeding
its maximum rating.

5.4.2 Notes on Board Design

When using a crystal resonator (ceramic resonator), place the resonator and its load capacitors as
close as possible to the OSC1 and OSC2 pins. Other signal lines should be routed away from the
resonator circuit to prevent induction from interfering with correct oscillation (see figure 5.11).

                 Avoid            Signal A Signal B

                                                                                 C1
                                  OSC1

                                                                                 C2
                                  OSC2

Figure 5.11 Example of Incorrect Board Design

Rev. 3.00, 05/03, page 74 of 472
                  Section 6 Power-Down Modes

This LSI has six modes of operation after a reset. These include a normal active mode and four
power-down modes, in which power consumption is significantly reduced. Module standby mode
reduces power consumption by selectively halting on-chip module functions.

Active mode
    The CPU and all on-chip peripheral modules are operable on the system clock. The system
    clock frequency can be selected from osc, osc/8, osc/16, osc/32, and osc/64.

Subactive mode
    The CPU and all on-chip peripheral modules are operable on the subclock. The subclock
    frequency can be selected from w/2, w/4, and w/8.

Sleep mode
    The CPU halts. On-chip peripheral modules are operable on the system clock.

Subsleep mode
    The CPU halts. On-chip peripheral modules are operable on the subclock.

Standby mode
    The CPU and all on-chip peripheral modules halt. When the clock time-base function is
    selected, the RTC is operable.

Module standby mode
    Independent of the above modes, power consumption can be reduced by halting on-chip
    peripheral modules that are not used in module units.

6.1 Register Descriptions

The registers related to power-down modes are listed below.

System control register 1 (SYSCR1)
System control register 2 (SYSCR2)
Module standby control register 1 (MSTCR1)
Module standby control register 2 (MSTCR2)

LPW3002A_000120030300  Rev. 3.00, 05/03, page 75 of 472
6.1.1 System Control Register 1 (SYSCR1)

SYSCR1 controls the power-down modes, as well as SYSCR2.

           Initial

Bit  Bit Name Value R/W Description

7    SSBY  0        R/W Software Standby

                                  This bit selects the mode to transit after the execution of
                                  the SLEEP instruction.

                                  0: Enters sleep mode or subsleep mode.

                                  1: Enters standby mode.

                                  For details, see table 6.2.

6    STS2  0        R/W Standby Timer Select 2 to 0

5    STS1  0        R/W These bits designate the time the CPU and peripheral
                    R/W modules wait for stable clock operation after exiting from
4    STS0  0
                               standby mode, subactive mode, or subsleep mode to
                               active mode or sleep mode due to an interrupt. The
                               designation should be made according to the clock
                               frequency so that the waiting time is at least 6.5 ms. The
                               relationship between the specified value and the number
                               of wait states is shown in table 6.1. When an external
                               clock is to be used, the minimum value (STS2 = STS1 =
                               STS0 =1) is recommended.

3    NESEL 0        R/W Noise Elimination Sampling Frequency Select

                                  The subclock pulse generator generates the watch clock
                                  signal (W) and the system clock pulse generator
                                  generates the oscillator clock (OSC). This bit selects the
                                  sampling frequency of the oscillator clock when the watch
                                  clock signal (W) is sampled. When OSC=2 to 10 MHz,
                                  clear NESEL to 0.

                                  0: Sampling rate is OSC/16

                                  1: Sampling rate is OSC/4

2 to 0     All 0                  Reserved

                                  These bits are always read as 0.

Rev. 3.00, 05/03, page 76 of 472
Table 6.1 Operating Frequency and Waiting Time

   Bit Name                                     Operating Frequency

STS2 STS1 STS0 Waiting Time 20 MHz 16 MHz 10 MHz 8 MHz 4 MHz 2 MHz 1 MHz 0.5 MHz

0  0  0      8,192 states 0.4    0.5  0.8       1.0 2.0 4.1 8.1 16.4

      1      16,384 states 0.8   1.0  1.6       2.0 4.1 8.2 16.4 32.8

   1  0      32,768 states 1.6   2.0  3.3       4.1 8.2 16.4 32.8 65.5

      1      65,536 states 3.3   4.1  6.6       8.2 16.4 32.8 65.5 131.1

1  0  0      131,072 states 6.6  8.2  13.1 16.4 32.8 65.5 131.1 262.1

      1      1,024 states 0.05 0.06 0.10 0.13 0.26 0.51 1.02 2.05

   1  0      128 states  0.00 0.00 0.01 0.02 0.03 0.06 0.13 0.26

      1      16 states   0.00 0.00 0.00 0.00 0.00 0.01 0.02 0.03

Note: Time unit is ms.

                                                Rev. 3.00, 05/03, page 77 of 472
6.1.2 System Control Register 2 (SYSCR2)

SYSCR2 controls the power-down modes, as well as SYSCR1.

           Initial

Bit  Bit Name Value R/W Description

7    SMSEL 0           R/W Sleep Mode Selection

6    LSON  0           R/W Low Speed on Flag

5    DTON  0           R/W Direct Transfer on Flag

                                  These bits select the mode to enter after the execution of
                                  a SLEEP instruction, as well as bit SSBY of SYSCR1.

                                  For details, see table 6.2.

4    MA2   0           R/W Active Mode Clock Select 2 to 0

3    MA1   0           R/W These bits select the operating clock frequency in active
                       R/W and sleep modes. The operating clock frequency
2    MA0   0
                                  changes to the set frequency after the SLEEP instruction
                                  is executed.

1    SA1   0           R/W        0XX: OSC
                                  100: OSC/8
                                  101: OSC/16
                                  110: OSC/32
                                  111: OSC/64
                                  Subactive Mode Clock Select 1 and 0

0    SA0   0           R/W These bits select the operating clock frequency in
                                  subactive and subsleep modes. The operating clock
                                  frequency changes to the set frequency after the SLEEP
                                  instruction is executed.

                                  00: W/8
                                  01: W/4
                                  1X: W/2

Legend X: Don't care.

Rev. 3.00, 05/03, page 78 of 472
6.1.3 Module Standby Control Register 1 (MSTCR1)

MSTCR1 allows the on-chip peripheral modules to enter a standby state in module units.

       Initial

Bit  Bit Name Value R/W Description

7      0          Reserved

                  This bit is always read as 0.

6    MSTIIC 0   R/W IIC2 Module Standby

                  IIC2 enters standby mode when this bit is set to 1

5    MSTS3 0    R/W SCI3 Module Standby

                  SCI3 enters standby mode when this bit is set to 1

4    MSTAD 0    R/W A/D Converter Module Standby

                  A/D converter enters standby mode when this bit is set to
                  1

3    MSTWD 0    R/W Watchdog Timer Module Standby

                  Watchdog timer enters standby mode when this bit is set
                  to 1.When the internal oscillator is selected for the
                  watchdog timer clock, the watchdog timer operates
                  regardless of the setting of this bit

2      0          Reserved

                  This bit is always read as 0.

1    MSTTV 0    R/W Timer V Module Standby

                  Timer V enters standby mode when this bit is set to 1

0    MSTTA 0    R/W RTC Module Standby

                  RTC enters standby mode when this bit is set to 1

                                                  Rev. 3.00, 05/03, page 79 of 472
6.1.4 Module Standby Control Register 2 (MSTCR2)

MSTCR2 allows the on-chip peripheral modules to enter a standby state in module units.

       Initial

Bit  Bit Name Value R/W Description

7    MSTS3_2 0  R/W SCI3_2 Module Standby

                                  SCI3_2 enters standby mode when this bit is set to1

6, 5   All 0                      Reserved

                                  These bits are always read as 0.

4    MSTTB1 0   R/W Timer B1 Module Standby

                                  Timer B1 enters standby mode when this bit is set to1

3, 2   All 0                      Reserved

                                  These bits are always read as 0.

1    MSTTZ 0    R/W Timer Z Module Standby

                                  Timer Z enters standby mode when this bit is set to1

0    MSTPWM 0   R/W PWM Module Standby

                                  PWM enters standby mode when this bit is set to1

6.2 Mode Transitions and States of LSI

Figure 6.1 shows the possible transitions among these operating modes. A transition is made from
the program execution state to the program halt state by executing a SLEEP instruction. Interrupts
allow for returning from the program halt state to the program execution state. A direct transition
between active mode and subactive mode, which are both program execution states, can be made
without halting the program. The operating frequency can also be changed in the same modes by
making a transition directly from active mode to active mode, and from subactive mode to
subactive mode. RES input enables transitions from a mode to the reset state. Table 6.2 shows the
transition conditions of each mode after the SLEEP instruction is executed and a mode to return by
an interrupt. Table 6.3 shows the internal states of the LSI in each mode.

Rev. 3.00, 05/03, page 80 of 472
    Reset state                  Program execution state  Direct transition        Program halt state
Program halt state                                        interrupt                   Sleep mode
                    SLEEP        Active mode
  Standby mode      instruction                               SLEEP
                                                              instruction
                    Interrupt
                                                             Interrupt

                                 Direct      Direct       SLEEP
                                 transition  transition   instruction
                                 interrupt   interrupt
                                                                        Interrupt

                    SLEEP
                    instruction

                                             SLEEP        Interrupt
                                             instruction

                                 Subactive                SLEEP                    Subsleep mode
                                   mode                   instruction

                                                          Interrupt

                                                                                            Direct transition
                                                                                            interrupt

Notes: 1. To make a transition to another mode by an interrupt, make sure interrupt handling is after the interrupt
               is accepted.

          2. Details on the mode transition conditions are given in table 6.2.

                            Figure 6.1 Mode Transition Diagram

                                                          Rev. 3.00, 05/03, page 81 of 472
Table 6.2 Transition Mode after SLEEP Instruction Execution and Transition Mode due
                to Interrupt

DTON         SSBY  SMSEL LSON        Transition Mode after  Transition Mode due to
                                     SLEEP Instruction      Interrupt
                                     Execution

0            0     0              0  Sleep mode             Active mode

                                  1                         Subactive mode

                   1              0  Subsleep mode          Active mode

                                  1                         Subactive mode

             1     X              X  Standby mode           Active mode

1            X     0*             0  Active mode            

                                     (direct transition)

             X     X              1  Subactive mode         

                                     (direct transition)

Legend:      X: Don't care.
          *
             When a state transition is performed while SMSEL is 1, timer V, SCI3, SCI3_2 and the
             A/D converter are reset, and all registers are set to their initial values. To use these
             functions after entering active mode, reset the registers.

Rev. 3.00, 05/03, page 82 of 472
Table 6.3 Internal State in Each Operating Mode

Function                                                             Subactive  Subsleep     Standby Mode
                         Active Mode Sleep Mode Mode                            Mode

System clock oscillator  Functioning Functioning Halted                         Halted       Halted

Subclock oscillator      Functioning Functioning Functioning Functioning Functioning

CPU       Instructions   Functioning  Halted       Functioning                  Halted       Halted
                         Functioning  Retained     Functioning                  Retained     Retained
operations Registers

RAM                      Functioning Retained      Functioning Retained                      Retained

IO ports                 Functioning Retained      Functioning Retained                      Register
                                                                                             contents are
                                                                                             retained, but
                                                                                             output is the
                                                                                             high-impedance
                                                                                             state.

External IRQ3 to IRQ0 Functioning     Functioning  Functioning                  Functioning  Functioning
interrupts WKP5 to WKP0 Functioning   Functioning  Functioning                  Functioning  Functioning

Peripheral RTC           Functioning  Functioning  Functioning if the timekeeping time-base
functions                                          function is selected, and retained if not selected

          Timer V        Functioning Functioning Reset                          Reset        Reset

          Watchdog timer Functioning  Functioning  Retained (functioning if the internal oscillator is
                                                   selected as a count clock*)

          SCI3, SCI3_2 Functioning Functioning Reset                            Reset        Reset

          IIC2           Functioning Functioning Retained*                      Retained     Retained

          Timer B1       Functioning Functioning Retained*                      Retained     Retained

          Timer Z        Functioning  Functioning  Retained (the counter increments according to
                                                   subclocks if the internal clock () is selected as a
                                                   count clock*)

          A/D converter Functioning Functioning Reset                           Reset        Reset

Note: * Registers can be read or written in subactive mode.

6.2.1 Sleep Mode

In sleep mode, CPU operation is halted but the on-chip peripheral modules function at the clock
frequency set by the MA2, MA1, and MA0 bits in SYSCR2. CPU register contents are retained.
When an interrupt is requested, sleep mode is cleared and interrupt exception handling starts.
Sleep mode is not cleared if the I bit of the condition code register (CCR) is set to 1 or the
requested interrupt is disabled in the interrupt enable register. After sleep mode is cleared, a
transition is made to active mode when the LSON bit in SYSCR2 is 0, and a transition is made to
subactive mode when the bit is 1.

                                                                                         Rev. 3.00, 05/03, page 83 of 472
When the RES pin goes low, the CPU goes into the reset state and sleep mode is cleared.

6.2.2 Standby Mode

In standby mode, the clock pulse generator stops, so the CPU and on-chip peripheral modules stop
functioning. However, as long as the rated voltage is supplied, the contents of CPU registers, on-
chip RAM, and some on-chip peripheral module registers are retained. On-chip RAM contents
will be retained as long as the voltage set by the RAM data retention voltage is provided. The I/O
ports go to the high-impedance state.

Standby mode is cleared by an interrupt. When an interrupt is requested, the system clock pulse
generator starts. After the time set in bits STS2 to STS0 in SYSCR1 has elapsed, and interrupt
exception handling starts. Standby mode is not cleared if the I bit of CCR is set to 1 or the
requested interrupt is disabled in the interrupt enable register.

When the RES pin goes low, the system clock pulse generator starts. Since system clock signals
are supplied to the entire chip as soon as the system clock pulse generator starts functioning, the
RES pin must be kept low until the pulse generator output stabilizes. After the pulse generator
output has stabilized, the CPU starts reset exception handling if the RES pin is driven high.

6.2.3 Subsleep Mode

In subsleep mode, operation of the CPU and on-chip peripheral modules other than RTC is halted.
As long as a required voltage is applied, the contents of CPU registers, the on-chip RAM, and
some registers of the on-chip peripheral modules are retained. I/O ports keep the same states as
before the transition.

Subsleep mode is cleared by an interrupt. When an interrupt is requested, subsleep mode is cleared
and interrupt exception handling starts. Subsleep mode is not cleared if the I bit of CCR is set to 1
or the requested interrupt is disabled in the interrupt enable register. After subsleep mode is
cleared, a transition is made to active mode when the LSON bit in SYSCR2 is 0, and a transition is
made to subactive mode when the bit is 1. After the time set in bits STS2 to STS0 in SYSCR1 has
elapsed, a transition is made to active mode.

When the RES pin goes low, the system clock pulse generator starts. Since system clock signals
are supplied to the entire chip as soon as the system clock pulse generator starts functioning, the
RES pin must be kept low until the pulse generator output stabilizes. After the pulse generator
output has stabilized, the CPU starts reset exception handling if the RES pin is driven high.

Rev. 3.00, 05/03, page 84 of 472
6.2.4 Subactive Mode

The operating frequency of subactive mode is selected from W/2, W/4, and W/8 by the SA1 and
SA0 bits in SYSCR2. After the SLEEP instruction is executed, the operating frequency changes to
the frequency which is set before the execution. When the SLEEP instruction is executed in
subactive mode, a transition to sleep mode, subsleep mode, standby mode, active mode, or
subactive mode is made, depending on the combination of SYSCR1 and SYSCR2. When the RES
pin goes low, the system clock pulse generator starts. Since system clock signals are supplied to
the entire chip as soon as the system clock pulse generator starts functioning, the RES pin must be
kept low until the pulse generator output stabilizes. After the pulse generator output has stabilized,
the CPU starts reset exception handling if the RES pin is driven high.

6.3 Operating Frequency in Active Mode

Operation in active mode is clocked at the frequency designated by the MA2, MA1, and MA0 bits
in SYSCR2. The operating frequency changes to the set frequency after SLEEP instruction
execution.

6.4 Direct Transition

The CPU can execute programs in two modes: active and subactive modes. A direct transition is a
transition between these two modes without stopping program execution. A direct transition can
be made by executing a SLEEP instruction while the DTON bit in SYSCR2 is set to 1. The direct
transition also enables operating frequency modification in active or subactive mode. After the
mode transition, direct transition interrupt exception handling starts.

If the direct transition interrupt is disabled in interrupt enable register 1, a transition is made
instead to sleep or subsleep mode. Note that if a direct transition is attempted while the I bit in
CCR is set to 1, sleep or subsleep mode will be entered, and the resulting mode cannot be cleared
by means of an interrupt.

6.4.1 Direct Transition from Active Mode to Subactive Mode

The time from the start of SLEEP instruction execution to the end of interrupt exception handling
(the direct transition time) is calculated by equation (1).

Direct transition time = {(number of SLEEP instruction execution states) + (number of internal
processing states)} (tcyc before transition) + (number of interrupt exception handling states)
(tsubcyc after transition) (1)

    Example
    Direct transition time = (2 + 1) tosc + 14 8tw = 3tosc + 112tw
    (when the CPU operating clock of osc  w/8 is selected)

                                                                                         Rev. 3.00, 05/03, page 85 of 472
Legend
tosc: OSC clock cycle time
tw: Watch clock cycle time
tcyc: System clock () cycle time
tsubcyc: Subclock (SUB) cycle time

6.4.2 Direct Transition from Subactive Mode to Active Mode

The time from the start of SLEEP instruction execution to the end of interrupt exception handling
(the direct transition time) is calculated by equation (2).

Direct transition time = {(number of SLEEP instruction execution states) + (number of internal

processing states)} (tsubcyc before transition) + {(waiting time set in bits STS2 to STS0) +

(number of interrupt exception handling states)} (tcyc after transition)  (2)

Example
Direct transition time = (2 + 1) 8tw + (8192 + 14) tosc = 24tw + 8206tosc
(when the CPU operating clock of w/8  osc and a waiting time of 8192 states are selected)

Legend
tosc: OSC clock cycle time
tw: Watch clock cycle time
tcyc: System clock () cycle time
tsubcyc: Subclock (SUB) cycle time

6.5 Module Standby Function

The module-standby function can be set to any peripheral module. In module standby mode, the
clock supply to modules stops to enter the power-down mode. Module standby mode enables each
on-chip peripheral module to enter the standby state by setting a bit that corresponds to each
module to 1 and cancels the mode by clearing the bit to 0.

Rev. 3.00, 05/03, page 86 of 472
                           Section 7 ROM

The features of the 56-kbyte or 32-kbyte flash memories built into the flash memory (F-ZTAT)
version are summarized below.

Programming/erase methods
     The flash memory is programmed 128 bytes at a time. Erase is performed in single-block
        units. The flash memory is configured as follows: 1 kbyte 4 blocks, 28 kbytes 1 block,
        16 kbytes 1 block, and 8 kbytes 1 block for H8/3687F and 1 kbyte 4 blocks and 28
        kbytes 1 block for H8/3684F. To erase the entire flash memory, each block must be
        erased in turn.

Reprogramming capability
     The flash memory can be reprogrammed up to 1,000 times.

On-board programming
     On-board programming/erasing can be done in boot mode, in which the boot program built
        into the chip is started to erase or program of the entire flash memory. In normal user
        program mode, individual blocks can be erased or programmed.

Programmer mode
     Flash memory can be programmed/erased in programmer mode using a PROM
        programmer, as well as in on-board programming mode.

Automatic bit rate adjustment
     For data transfer in boot mode, this LSI's bit rate can be automatically adjusted to match
        the transfer bit rate of the host.

Programming/erasing protection
     Sets software protection against flash memory programming/erasing.

Power-down mode
     Operation of the power supply circuit can be partly halted in subactive mode. As a result,
        flash memory can be read with low power consumption.

7.1 Block Configuration

Figure 7.1 shows the block configuration of flash memory. The thick lines indicate erasing units,
the narrow lines indicate programming units, and the values are addresses. The 56-kbyte flash
memory is divided into 1 kbyte 4 blocks, 28 kbytes 1 block, 16 kbytes 1 block, and 8 kbytes
1 block. The 32-kbyte flash memory is divided into 1 kbyte 4 blocks and 28 kbytes 1 blocks.
Erasing is performed in these units. Programming is performed in 128-byte units starting from an
address with lower eight bits H'00 or H'80.

ROM3560A_000120030300  Rev. 3.00, 05/03, page 87 of 472
Erase unit  H'0000  H'0001        H'0002  Programming unit: 128 bytes  H'007F
1 kbyte     H'0080  H'0081        H'0082  Programming unit: 128 bytes  H'00FF
                                          Programming unit: 128 bytes
Erase unit  H'0380  H'0381        H'0382  Programming unit: 128 bytes  H'03FF
1 kbyte     H'0400  H'0401        H'0402  Programming unit: 128 bytes  H'047F
            H'0480  H'0481        H'0481                               H'04FF

Erase unit  H'0780  H'0781        H'0782                               H'07FF
1 kbyte     H'0800  H'0801        H'0802                               H'087F
            H'0880  H'0881        H'0882                               H'08FF

Erase unit  H'0B80  H'0B81        H'0B82                               H'0BFF
1 kbyte     H'0C00  H'0C01        H'0C02                               H'0C7F
            H'0C80  H'0C81        H'0C82                               H'0CFF

Erase unit  H'0F80  H'0F81        H'0F82                               H'0FFF
28 kbytes   H'1000  H'1001        H'1002                               H'107F
            H'1080  H'1081        H'1082                               H'10FF

            H'7F80  H'7F81        H'7F82  Programming unit: 128 bytes  H'7FFF
            H'8000  H'8001        H'8002                               H'807F
Erase unit  H'8080  H'8081        H'8082                               H'80FF
16 kbytes

            H'BF80  H'BF81        H'BF82  Programming unit: 128 bytes  H'BFFF
            H'C000  H'C001        H'C002                               H'C07F
Erase unit  H'C080  H'C081        H'C082                               H'C0FF
8 kbytes

            HDF80 H'DF81 H'DF82                                        H'DFFF

                 Figure 7.1 Flash Memory Block Configuration

Rev. 3.00, 05/03, page 88 of 472
7.2 Register Descriptions

The flash memory has the following registers.

Flash memory control register 1 (FLMCR1)
Flash memory control register 2 (FLMCR2)
Erase block register 1 (EBR1)
Flash memory power control register (FLPWCR)
Flash memory enable register (FENR)

7.2.1 Flash Memory Control Register 1 (FLMCR1)

FLMCR1 is a register that makes the flash memory change to program mode, program-verify
mode, erase mode, or erase-verify mode. For details on register setting, refer to section 7.4, Flash
Memory Programming/Erasing.

          Initial

Bit  Bit Name Value R/W Description

7         0          Reserved

                     This bit is always read as 0.

6    SWE  0        R/W Software Write Enable

                     When this bit is set to 1, flash memory
                     programming/erasing is enabled. When this bit is cleared
                     to 0, other FLMCR1 register bits and all EBR1 bits cannot
                     be set.

5    ESU  0        R/W Erase Setup

                     When this bit is set to 1, the flash memory changes to the
                     erase setup state. When it is cleared to 0, the erase
                     setup state is cancelled. Set this bit to 1 before setting the
                     E bit to 1 in FLMCR1.

4    PSU  0        R/W Program Setup

                     When this bit is set to 1, the flash memory changes to the
                     program setup state. When it is cleared to 0, the program
                     setup state is cancelled. Set this bit to 1 before setting
                     the P bit in FLMCR1.

3    EV   0        R/W Erase-Verify

                     When this bit is set to 1, the flash memory changes to
                     erase-verify mode. When it is cleared to 0, erase-verify
                     mode is cancelled.

                                                Rev.3.00, 05/03, page 89 of 472
           Initial

Bit  Bit Name Value R/W Description

2    PV    0        R/W Program-Verify

                                  When this bit is set to 1, the flash memory changes to
                                  program-verify mode. When it is cleared to 0, program-
                                  verify mode is cancelled.

1    E     0        R/W Erase

                                  When this bit is set to 1 while SWE=1 and ESU=1, the
                                  flash memory changes to erase mode. When it is cleared
                                  to 0, erase mode is cancelled.

0    P     0        R/W Program

                                  When this bit is set to 1 while SWE=1 and PSU=1, the
                                  flash memory changes to program mode. When it is
                                  cleared to 0, program mode is cancelled.

7.2.2 Flash Memory Control Register 2 (FLMCR2)

FLMCR2 is a register that displays the state of flash memory programming/erasing. FLMCR2 is a
read-only register, and should not be written to.

           Initial

Bit  Bit Name Value R/W Description

7    FLER  0        R             Flash Memory Error

                                  Indicates that an error has occurred during an operation
                                  on flash memory (programming or erasing). When FLER
                                  is set to 1, flash memory goes to the error-protection
                                  state.

                                  See section 7.5.3, Error Protection, for details.

6 to 0     All 0                  Reserved

                                  These bits are always read as 0.

Rev. 3.00, 05/03, page 90 of 472
7.2.3 Erase Block Register 1 (EBR1)

EBR1 specifies the flash memory erase area block. EBR1 is initialized to H'00 when the SWE bit
in FLMCR1 is 0. Do not set more than one bit at a time, as this will cause all the bits in EBR1 to
be automatically cleared to 0.

          Initial

Bit  Bit Name Value R/W Description

7         0          Reserved

                     This bit is always read as 0.

6    EB6  0        R/W When this bit is set to 1, 8 bytes of H'C000 to H'DFFF will
                              be erased.

5    EB5  0        R/W When this bit is set to 1, 16 bytes of H'8000 to H'BFFF
                              will be erased.

4    EB4  0        R/W When this bit is set to 1, 28 kbytes of H'1000 to H'7FFF
                              will be erased.

3    EB3  0        R/W When this bit is set to 1, 1 kbyte of H'0C00 to H'0FFF will
                              be erased.

2    EB2  0        R/W When this bit is set to 1, 1 kbyte of H'0800 to H'0BFF will
                              be erased.

1    EB1  0        R/W When this bit is set to 1, 1 kbyte of H'0400 to H'07FF will
                              be erased.

0    EB0  0        R/W When this bit is set to 1, 1 kbyte of H'0000 to H'03FF will
                              be erased.

                                     Rev.3.00, 05/03, page 91 of 472
7.2.4 Flash Memory Power Control Register (FLPWCR)

FLPWCR enables or disables a transition to the flash memory power-down mode when the LSI
switches to subactive mode. There are two modes: mode in which operation of the power supply
circuit of flash memory is partly halted in power-down mode and flash memory can be read, and
mode in which even if a transition is made to subactive mode, operation of the power supply
circuit of flash memory is retained and flash memory can be read.

         Initial

Bit  Bit Name Value R/W Description

7    PDWND 0      R/W Power-Down Disable

                                  When this bit is 0 and a transition is made to subactive
                                  mode, the flash memory enters the power-down mode.
                                  When this bit is 1, the flash memory remains in the
                                  normal mode even after a transition is made to subactive
                                  mode.

6 to 0   All 0                    Reserved

                                  These bits are always read as 0.

7.2.5 Flash Memory Enable Register (FENR)

Bit 7 (FLSHE) in FENR enables or disables the CPU access to the flash memory control registers,
FLMCR1, FLMCR2, EBR1, and FLPWCR.

         Initial

Bit  Bit Name Value R/W Description

7    FLSHE 0      R/W Flash Memory Control Register Enable

                                  Flash memory control registers can be accessed when
                                  this bit is set to 1. Flash memory control registers cannot
                                  be accessed when this bit is set to 0.

6 to 0   All 0                    Reserved

                                  These bits are always read as 0.

Rev. 3.00, 05/03, page 92 of 472
7.3 On-Board Programming Modes

There are two modes for programming/erasing of the flash memory; boot mode, which enables on-
board programming/erasing, and programmer mode, in which programming/erasing is performed
with a PROM programmer. On-board programming/erasing can also be performed in user
program mode. At reset-start in reset mode, this LSI changes to a mode depending on the TEST
pin settings, NMI pin settings, and input level of each port, as shown in table 7.1. The input level
of each pin must be defined four states before the reset ends.

When changing to boot mode, the boot program built into this LSI is initiated. The boot program
transfers the programming control program from the externally-connected host to on-chip RAM
via SCI3. After erasing the entire flash memory, the programming control program is executed.
This can be used for programming initial values in the on-board state or for a forcible return when
programming/erasing can no longer be done in user program mode. In user program mode,
individual blocks can be erased and programmed by branching to the user program/erase control
program prepared by the user.

Table 7.1 Setting Programming Modes

TEST NMI  P85            PB0  PB1    PB2  LSI State after Reset End
                                          User Mode
0  1      X              X    X      X    Boot Mode
                                          Programmer Mode
0  0      1              X    X      X

1  X      X              0    0      0

Legend: X : Don't care.

7.3.1 Boot Mode

Table 7.2 shows the boot mode operations between reset end and branching to the programming
control program.

1. When boot mode is used, the flash memory programming control program must be prepared in
    the host beforehand. Prepare a programming control program in accordance with the
    description in section 7.4, Flash Memory Programming/Erasing.

2. SCI3 should be set to asynchronous mode, and the transfer format as follows: 8-bit data, 1 stop
    bit, and no parity.

3. When the boot program is initiated, the chip measures the low-level period of asynchronous
    SCI communication data (H'00) transmitted continuously from the host. The chip then
    calculates the bit rate of transmission from the host, and adjusts the SCI3 bit rate to match that
    of the host. The reset should end with the RxD pin high. The RxD and TxD pins should be
    pulled up on the board if necessary. After the reset is complete, it takes approximately 100
    states before the chip is ready to measure the low-level period.

                                                                                         Rev.3.00, 05/03, page 93 of 472
4. After matching the bit rates, the chip transmits one H'00 byte to the host to indicate the
    completion of bit rate adjustment. The host should confirm that this adjustment end indication
    (H'00) has been received normally, and transmit one H'55 byte to the chip. If reception could
    not be performed normally, initiate boot mode again by a reset. Depending on the host's
    transfer bit rate and system clock frequency of this LSI, there will be a discrepancy between
    the bit rates of the host and the chip. To operate the SCI properly, set the host's transfer bit
    rate and system clock frequency of this LSI within the ranges listed in table 7.3.

5. In boot mode, a part of the on-chip RAM area is used by the boot program. The area H'F780 to
    H'FEEF is the area to which the programming control program is transferred from the host.
    The boot program area cannot be used until the execution state in boot mode switches to the
    programming control program.

6. Before branching to the programming control program, the chip terminates transfer operations
    by SCI3 (by clearing the RE and TE bits in SCR to 0), however the adjusted bit rate value
    remains set in BRR. Therefore, the programming control program can still use it for transfer
    of program data or verify data with the host. The TxD pin is high (PCR22 = 1, P22 = 1). The
    contents of the CPU general registers are undefined immediately after branching to the
    programming control program. These registers must be initialized at the beginning of the
    programming control program, as the stack pointer (SP), in particular, is used implicitly in
    subroutine calls, etc.

7. Boot mode can be cleared by a reset. End the reset after driving the reset pin low, waiting at
    least 20 states, and then setting the NMI pin. Boot mode is also cleared when a WDT overflow
    occurs.

8. Do not change the TEST pin and NMI pin input levels in boot mode.

Rev. 3.00, 05/03, page 94 of 472
Table 7.2 Boot Mode Operation

Bit rate adjustment Boot mode initiation Item     Host Operation                       Communication Contents                     LSI Operation
                                               Processing Contents                                                           Processing Contents

                                                                                                                 Branches to boot program at reset-start.

                                                 Continuously transmits data H'00      H'00, H'00 . . . H'00               Boot program initiation
                                                          at specified bit rate.                  H'00
                                                                                                  H'55            Measures low-level period of receive data
                                               Transmits data H'55 when data H'00                                 H'00.
                                                         is received error-free.
                                                                                                                  Calculates bit rate and sets BRR in SCI3.
                                                                                                                  Transmits data H'00 to host as adjustment

                                                                                                                  end indication.

                                                                                                                  H'55 reception.

Flash memory erase                                                      Boot program   H'FF                      Checks flash memory data, erases all flash
                                                                        erase error    H'AA                      memory blocks in case of written data
                                                                                                                 existing, and transmits data H'AA to host.
                                               H'AA reception                                                    (If erase could not be done, transmits data
                                                                                                                 H'FF to host and aborts operation.)

Transfer of number of bytes of                 Transmits number of bytes (N) of        Upper bytes, lower bytes  Echobacks the 2-byte data
   programming control program                 programming control program to be                 Echoback        received to host.
                                               transferred as 2-byte data
                                               (low-order byte following high-order     H'XX                     Echobacks received data to host and also
                                               byte)                                   Echoback                  transfers it to RAM.
                                                                                                                 (repeated for N times)
                                               Transmits 1-byte of programming
                                               control program (repeated for N times)

                                               H'AA reception                          H'AA                      Transmits data H'AA to host.

                                                                                                                  Branches to programming control program
                                                                                                                  transferred to on-chip RAM and starts
                                                                                                                  execution.

                                                                                                                 Rev.3.00, 05/03, page 95 of 472
Table 7.3 System Clock Frequencies for which Automatic Adjustment of LSI Bit Rate is
                Possible

Host Bit Rate  System Clock Frequency Range of LSI
19,200 bps     16 to 20 MHz
9,600 bps      8 to 16 MHz
4,800 bps      4 to 16 MHz
2,400 bps      2 to 16 MHz

7.3.2 Programming/Erasing in User Program Mode

On-board programming/erasing of an individual flash memory block can also be performed in user
program mode by branching to a user program/erase control program. The user must set branching
conditions and provide on-board means of supplying programming data. The flash memory must
contain the user program/erase control program or a program that provides the user program/erase
control program from external memory. As the flash memory itself cannot be read during
programming/erasing, transfer the user program/erase control program to on-chip RAM, as in boot
mode. Figure 7.2 shows a sample procedure for programming/erasing in user program mode.
Prepare a user program/erase control program in accordance with the description in section 7.4,
Flash Memory Programming/Erasing.

                                Reset-start                      Branch to flash memory application
                                                                                  program
                                                             No
                             Program/erase?

                                          Yes
               Transfer user program/erase control

                             program to RAM

               Branch to user program/erase control
                             program in RAM

               Execute user program/erase control
                 program (flash memory rewrite)

                              Branch to flash memory application
                                                program

         Figure 7.2 Programming/Erasing Flowchart Example in User Program Mode
Rev. 3.00, 05/03, page 96 of 472
7.4 Flash Memory Programming/Erasing

A software method using the CPU is employed to program and erase flash memory in the on-
board programming modes. Depending on the FLMCR1 setting, the flash memory operates in one
of the following four modes: Program mode, program-verify mode, erase mode, and erase-verify
mode. The programming control program in boot mode and the user program/erase control
program in user program mode use these operating modes in combination to perform
programming/erasing. Flash memory programming and erasing should be performed in
accordance with the descriptions in section 7.4.1, Program/Program-Verify and section 7.4.2,
Erase/Erase-Verify, respectively.

7.4.1 Program/Program-Verify

When writing data or programs to the flash memory, the program/program-verify flowchart shown
in figure 7.3 should be followed. Performing programming operations according to this flowchart
will enable data or programs to be written to the flash memory without subjecting the chip to
voltage stress or sacrificing program data reliability.

1. Programming must be done to an empty address. Do not reprogram an address to which
    programming has already been performed.

2. Programming should be carried out 128 bytes at a time. A 128-byte data transfer must be
    performed even if writing fewer than 128 bytes. In this case, H'FF data must be written to the
    extra addresses.

3. Prepare the following data storage areas in RAM: A 128-byte programming data area, a 128-
    byte reprogramming data area, and a 128-byte additional-programming data area. Perform
    reprogramming data computation according to table 7.4, and additional programming data
    computation according to table 7.5.

4. Consecutively transfer 128 bytes of data in byte units from the reprogramming data area or
    additional-programming data area to the flash memory. The program address and 128-byte
    data are latched in the flash memory. The lower 8 bits of the start address in the flash memory
    destination area must be H'00 or H'80.

5. The time during which the P bit is set to 1 is the programming time. Table 7.6 shows the
    allowable programming times.

6. The watchdog timer (WDT) is set to prevent overprogramming due to program runaway, etc.
    An overflow cycle of approximately 6.6 ms is allowed.

7. For a dummy write to a verify address, write 1-byte data H'FF to an address whose lower 2
     bits are B'00. Verify data can be read in words or in longwords from the address to which a
     dummy write was performed.

8. The maximum number of repetitions of the program/program-verify sequence of the same bit
     is 1,000.

                                                                                         Rev.3.00, 05/03, page 97 of 472
   Write pulse application subroutine                         START
            Apply Write Pulse
               WDT enable                                     Set SWE bit in FLMCR1

        Set PSU bit in FLMCR1                                 Wait 1 s
                 Wait 50 s
                                       *                      Store 128-byte program data in program
          Set P bit in FLMCR1                                    data area and reprogram data area
Wait (Wait time=programming time)
                                                              n= 1
        Clear P bit in FLMCR1
                 Wait 5 s                                    m= 0

      Clear PSU bit in FLMCR1                                  Write 128-byte data in RAM reprogram
                 Wait 5 s                                    data area consecutively to flash memory

                 Disable WDT                                       Apply Write pulse
                  End Sub
                                                                Set PV bit in FLMCR1
                                                                        Wait 4 s

                                                              Set block start address as
                                                                      verify address

                                                                                                                         nn+1

                                                              H'FF dummy write to verify address

                                                              Wait 2 s                                          *

                                                              Read verify data

                                       Increment address

                                                              Verify data =                            No

                                                              write data?                                           m=1

                                                                               Yes
                                                                                                       No

                                                                                 n6?
                                                                             Yes
                                                          Additional-programming data computation

                                                              Reprogram data computation

                                                              128-byte

                                                          No  data verification completed?

                                                                                Yes
                                                              Clear PV bit in FLMCR1

                                                              Wait 2 s

                                                                                                             No
                                                                                       n  6?

                                                                                   Yes

                                                          Successively write 128-byte data from additional-
                                                          programming data area in RAM to flash memory

                                                                                              Sub-Routine-Call
                                                                               Apply Write Pulse

                                                                                                  No                                                 Yes
                                                                           m= 0 ?                                               n  1000 ?

                                                                                  Yes                                                   No
                                                              Clear SWE bit in FLMCR1                               Clear SWE bit in FLMCR1

                                                                       Wait 100 s                                          Wait 100 s

                                                                    End of programming                                   Programming failure

Note: *The RTS instruction must not be used during the following 1. and 2. periods.
        1. A period between 128-byte data programming to flash memory and the P bit clearing
        2. A period between dummy writing of H'FF to a verify address and verify data reading

Figure 7.3 Program/Program-Verify Flowchart

Rev. 3.00, 05/03, page 98 of 472
Table 7.4 Reprogram Data Computation Table

Program Data    Verify Data  Reprogram Data          Comments
0               0            1                       Programming completed
0               1            0                       Reprogram bit
1               0            1                       
1               1            1                       Remains in erased state

Table 7.5 Additional-Program Data Computation Table

                             Additional-Program

Reprogram Data  Verify Data  Data                    Comments
0               0
0               1            0                       Additional-program bit
1               0
1               1            1                       No additional programming

                             1                       No additional programming

                             1                       No additional programming

Table 7.6 Programming Time

n               Programming  In Additional
                             Programming
(Number of Writes) Time                              Comments
                             10
1 to 6          30           

7 to 1,000      200

Note: Time shown in s.

7.4.2 Erase/Erase-Verify

When erasing flash memory, the erase/erase-verify flowchart shown in figure 7.4 should be
followed.

1. Prewriting (setting erase block data to all 0s) is not necessary.
2. Erasing is performed in block units. Make only a single-bit specification in the erase block

    register (EBR1). To erase multiple blocks, each block must be erased in turn.
3. The time during which the E bit is set to 1 is the flash memory erase time.
4. The watchdog timer (WDT) is set to prevent overerasing due to program runaway, etc. An

    overflow cycle of approximately 19.8 ms is allowed.
5. For a dummy write to a verify address, write 1-byte data H'FF to an address whose lower two

    bits are B'00. Verify data can be read in longwords from the address to which a dummy write
    was performed.

                                                     Rev.3.00, 05/03, page 99 of 472
6. If the read data is not erased successfully, set erase mode again, and repeat the erase/erase-
    verify sequence as before. The maximum number of repetitions of the erase/erase-verify
    sequence is 100.

7.4.3 Interrupt Handling when Programming/Erasing Flash Memory
All interrupts, including the NMI interrupt, are disabled while flash memory is being programmed
or erased, or while the boot program is executing, for the following three reasons:
1. Interrupt during programming/erasing may cause a violation of the programming or erasing

    algorithm, with the result that normal operation cannot be assured.
2. If interrupt exception handling starts before the vector address is written or during

    programming/erasing, a correct vector cannot be fetched and the CPU malfunctions.
3. If an interrupt occurs during boot program execution, normal boot mode sequence cannot be

    carried out.

Rev. 3.00, 05/03, page 100 of 472
                    Erase start
                   SWE bit  1

                     Wait 1 s

                     n1
                   Set EBR1

                                   Enable WDT
                                   ESU bit  1
                                    Wait 100 s

                                     E bit  1
                                    Wait 10 s
                                     E bit  0
                                    Wait 10 s
                                  ESU bit  10

                                        10 s
                                   Disable WDT

                                    EV bit  1
                                    Wait 20 s
                   Set block start address as verify address

                   H'FF dummy write to verify address

                   Wait 2 s                                  *

                                                                                     nn+1

                   Read verify data

Increment address                                        No
                   Verify data + all 1s ?

                                  Yes

                   No                                            EV bit  0
                                Last address of block ?           Wait 4s
                                                      Yes

                                         EV bit  0
                                          Wait 4 s

                   No                                            n 100 ?        Yes
                                All erase block erased ?
                                                      Yes        No
                                                 Yes
                                       SWE bit  0                SWE bit  0
                                        Wait 100 s              Wait 100 s

                   End of erasing                                Erase failure

Note: *The RTS instruction must not be used during a period between dummy writing of H'FF to a verify address and verify data reading.

                           Figure 7.4 Erase/Erase-Verify Flowchart
                                                                                  Rev.3.00, 05/03, page 101 of 472
7.5 Program/Erase Protection

There are three kinds of flash memory program/erase protection; hardware protection, software
protection, and error protection.

7.5.1 Hardware Protection

Hardware protection refers to a state in which programming/erasing of flash memory is forcibly
disabled or aborted because of a transition to reset, subactive mode, subsleep mode, or standby
mode. Flash memory control register 1 (FLMCR1), flash memory control register 2 (FLMCR2),
and erase block register 1 (EBR1) are initialized. In a reset via the RES pin, the reset state is not
entered unless the RES pin is held low until oscillation stabilizes after powering on. In the case of
a reset during operation, hold the RES pin low for the RES pulse width specified in the AC
Characteristics section.

7.5.2 Software Protection

Software protection can be implemented against programming/erasing of all flash memory blocks
by clearing the SWE bit in FLMCR1. When software protection is in effect, setting the P or E bit
in FLMCR1 does not cause a transition to program mode or erase mode. By setting the erase
block register 1 (EBR1), erase protection can be set for individual blocks. When EBR1 is set to
H'00, erase protection is set for all blocks.

7.5.3 Error Protection

In error protection, an error is detected when CPU runaway occurs during flash memory
programming/erasing, or operation is not performed in accordance with the program/erase
algorithm, and the program/erase operation is forcibly aborted. Aborting the program/erase
operation prevents damage to the flash memory due to overprogramming or overerasing.

When the following errors are detected during programming/erasing of flash memory, the FLER
bit in FLMCR2 is set to 1, and the error protection state is entered.

When the flash memory of the relevant address area is read during programming/erasing
    (including vector read and instruction fetch)

Immediately after exception handling excluding a reset during programming/erasing
When a SLEEP instruction is executed during programming/erasing

The FLMCR1, FLMCR2, and EBR1 settings are retained, however program mode or erase mode
is aborted at the point at which the error occurred. Program mode or erase mode cannot be re-
entered by re-setting the P or E bit. However, PV and EV bit settings are retained, and a transition
can be made to verify mode. Error protection can be cleared only by a reset.

Rev. 3.00, 05/03, page 102 of 472
7.6 Programmer Mode

In programmer mode, a PROM programmer can be used to perform programming/erasing via a
socket adapter, just as a discrete flash memory. Use a PROM programmer that supports the MCU
device type with the on-chip 64-kbyte flash memory (FZTAT64V5).

7.7 Power-Down States for Flash Memory

In user mode, the flash memory will operate in either of the following states:

Normal operating mode
    The flash memory can be read and written to at high speed.

Power-down operating mode
    The power supply circuit of flash memory can be partly halted. As a result, flash memory can
    be read with low power consumption.

Standby mode
    All flash memory circuits are halted.

Table 7.7 shows the correspondence between the operating modes of this LSI and the flash
memory. In subactive mode, the flash memory can be set to operate in power-down mode with the
PDWND bit in FLPWCR. When the flash memory returns to its normal operating state from
power-down mode or standby mode, a period to stabilize operation of the power supply circuits
that were stopped is needed. When the flash memory returns to its normal operating state, bits
STS2 to STS0 in SYSCR1 must be set to provide a wait time of at least 20 s, even when the
external clock is being used.

Table 7.7 Flash Memory Operating States

                                         Flash Memory Operating State

LSI Operating State  PDWND = 0 (Initial Value)  PDWND = 1
Active mode
Subactive mode       Normal operating mode      Normal operating mode
Sleep mode
Subsleep mode        Power-down mode            Normal operating mode
Standby mode
                     Normal operating mode      Normal operating mode

                     Standby mode               Standby mode

                     Standby mode               Standby mode

                                                Rev.3.00, 05/03, page 103 of 472
Rev. 3.00, 05/03, page 104 of 472
                        Section 8 RAM

This LSI has an on-chip high-speed static RAM. The RAM is connected to the CPU by a 16-bit
data bus, enabling two-state access by the CPU to both byte data and word data.

Product Classification            RAM Size RAM Address

Flash memory version    H8/3687F  4 kbytes  H'E800 to H'EFFF, H'F780 to H'FF7F*
(F-ZTATTM version)      H8/3684F  4 kbytes  H'E800 to H'EFFF, H'F780 to H'FF7F*

Mask-ROM version        H8/3687 3 kbytes H'E800 to H'EFFF, H'FB80 to H'FF7F

                        H8/3686 3 kbytes H'E800 to H'EFFF, H'FB80 to H'FF7F

                        H8/3685 3 kbytes H'E800 to H'EFFF, H'FB80 to H'FF7F

                        H8/3684 3 kbytes H'E800 to H'EFFF, H'FB80 to H'FF7F

                        H8/3683 3 kbytes H'E800 to H'EFFF, H'FB80 to H'FF7F

                        H8/3682 3 kbytes H'E800 to H'EFFF, H'FB80 to H'FF7F

EEPROM     Flash        H8/3687N 4 kbytes H'E800 to H'EFFF, H'F780 to H'FF7F*
laminated  memory
version    version

           Mask-ROM               3 kbytes H'E800 to H'EFFF, H'FB80 to H'FF7F
           version

Note: * When the E10T is used, area H'F780 to H'FB7F must not be accessed.

RAM0500A_000120030300                       Rev. 3.00, 05/03, page 105 of 472
Rev. 3.00, 05/03, page 106 of 472
                         Section 9 I/O Ports

The group of this LSI has forty-five general I/O ports (forty-three general I/O ports in the
H8/3687N) and eight general input-only ports. Port 6 is a large current port, which can drive 20
mA (@VOL = 1.5 V) when a low level signal is output. Any of these ports can become an input
port immediately after a reset. They can also be used as I/O pins of the on-chip peripheral modules
or external interrupt input pins, and these functions can be switched depending on the register
settings. The registers for selecting these functions can be divided into two types: those included
in I/O ports and those included in each on-chip peripheral module. General I/O ports are
comprised of the port control register for controlling inputs/outputs and the port data register for
storing output data and can select inputs/outputs in bit units.

For functions in each port, see appendix B.1, I/O Port Block Diagrams. For the execution of bit-
manipulation instructions to the port control register and port data register, see section 2.8.3, Bit
Manipulation Instruction.

9.1 Port 1

Port 1 is a general I/O port also functioning as IRQ interrupt input pins, an RTC output pin, a 14-
bit PWM output pin, a timer B1 input pin, and a timer V input pin. Figure 9.1 shows its pin
configuration.

Port 1  P17/ /TRGV
        P16/
        P15/ /TMIB1
        P14/
        P12
        P11/PWM
        P10/TMOW

                                    Figure 9.1 Port 1 Pin Configuration

Port 1 has the following registers.

Port mode register 1 (PMR1)
Port control register 1 (PCR1)
Port data register 1 (PDR1)
Port pull-up control register 1 (PUCR1)

        Rev. 3.00, 05/03, page 107 of 472
9.1.1 Port Mode Register 1 (PMR1)

PMR1 switches the functions of pins in port 1 and port 2.

           Initial

Bit  Bit Name Value R/W Description

7    IRQ3  0        R/W This bit selects the function of pin P17/IRQ3/TRGV.

                                   0: General I/O port

                                   1: IRQ3/TRGV input pin

6    IRQ2  0        R/W This bit selects the function of pin P16/IRQ2.

                                   0: General I/O port

                                   1: IRQ2 input pin

5    IRQ1  0        R/W This bit selects the function of pin P15/IRQ1/TMIB1.

                                   0: General I/O port

                                   1: IRQ1/TMIB1 input pin

4    IRQ0  0        R/W This bit selects the function of pin P14/IRQ0.

                                   0: General I/O port

                                   1: IRQ0 input pin

3    TXD2  0        R/W This bit selects the function of pin P72/TXD_2.

                                   0: General I/O port

                                   1: TXD_2 output pin

2    PWM   0        R/W This bit selects the function of pin P11/PWM.

                                   0: General I/O port

                                   1: PWM output pin

1    TXD   0        R/W This bit selects the function of pin P22/TXD.

                                   0: General I/O port

                                   1: TXD output pin

0    TMOW 0         R/W This bit selects the function of pin P10/TMOW.

                                   0: General I/O port

                                   1: TMOW output pin

Rev. 3.00, 05/03, page 108 of 464
9.1.2 Port Control Register 1 (PCR1)

PCR1 selects inputs/outputs in bit units for pins to be used as general I/O ports of port 1.

          Initial

Bit  Bit Name Value R/W Description

7    PCR17 0       W               When the corresponding pin is designated in PMR1 as a

6    PCR16 0       W               general I/O pin, setting a PCR1 bit to 1 makes the

5    PCR15 0       W               corresponding pin an output port, while clearing the bit to

                                   0 makes the pin an input port.

4    PCR14 0       W               Bit 3 is a reserved bit.

3                  

2    PCR12 0       W

1    PCR11 0       W

0    PCR10 0       W

9.1.3 Port Data Register 1 (PDR1)

PDR1 is a general I/O port data register of port 1.

          Initial

Bit  Bit Name Value R/W Description

7    P17  0        R/W PDR1 stores output data for port 1 pins.

6    P16  0        R/W If PDR1 is read while PCR1 bits are set to 1, the value

5    P15  0        R/W stored in PDR1 are read. If PDR1 is read while PCR1 bits
                              are cleared to 0, the pin states are read regardless of the
4    P14  0
                   R/W value stored in PDR1.

3         1                        Bit 3 is a reserved bit. This bit is always read as 1.

2    P12  0        R/W

1    P11  0        R/W

0    P10  0        R/W

                                                             Rev. 3.00, 05/03, page 109 of 472
9.1.4 Port Pull-Up Control Register 1 (PUCR1)

PUCR1 controls the pull-up MOS in bit units of the pins set as the input ports.

                    Initial

Bit       Bit Name Value R/W Description

7         PUCR17 0           R/W Only bits for which PCR1 is cleared are valid. The pull-up
                             R/W MOS of P17 to P14 and P12 to P10 pins enter the on-
6         PUCR16 0
                                        state when these bits are set to 1, while they enter the
5         PUCR15 0           R/W off-state when these bits are cleared to 0.
                             R/W Bit 3 is a reserved bit. This bit is always read as 1.
4         PUCR14 0           

3                   1

2         PUCR12 0           R/W

1         PUCR11 0           R/W

0         PUCR10 0           R/W

9.1.5 Pin Functions

The correspondence between the register specification and the port functions is shown below.

P17/IRQ3/TRGV pin

Register      PMR1           PCR1
                             PCR17
Bit Name      IRQ3           0      Pin Function
                             1      P17 input pin
Setting value 0              X      P17 output pin
                                    IRQ3 input/TRGV input pin
                     1
Legend X: Don't care.

P16/IRQ2 pin

Register      PMR1           PCR1
                             PCR16
Bit Name      IRQ2           0      Pin Function
                             1      P16 input pin
Setting value 0              X      P16 output pin
                                    IRQ2 input pin
                     1
Legend X: Don't care.

Rev. 3.00, 05/03, page 110 of 464
P15/IRQ1/TMIB1 pin

Register      PMR1      PCR1
                        PCR15
Bit Name      IRQ1      0      Pin Function
                        1      P15 input pin
Setting value 0         X      P15 output pin
                               IRQ1 input/TMIB1 input pin
                     1
Legend X: Don't care.

P14/IRQ0 pin

Register      PMR1      PCR1
                        PCR14
Bit Name      IRQ0      0      Pin Function
                        1      P14 input pin
Setting value 0         X      P14 output pin
                               IRQ0 input pin
                     1
Legend X: Don't care.

P12 pin

Register      PCR1

Bit Name      PCR12     Pin Function
                        P12 input pin
Setting value 0         P12 output pin

              1

                                               Rev. 3.00, 05/03, page 111 of 472
P11/PWM pin

Register     PMR1       PCR1
                        PCR11
Bit Name     PWM        0          Pin Function
                        1          P11 input pin
Setting value 0         X          P11 output pin
                                   PWM output pin
                     1
Legend X: Don't care.

P10/TMOW pin

Register     PMR1       PCR1
                        PCR10
Bit Name     TMOW       0          Pin Function
                        1          P10 input pin
Setting value 0         X          P10 output pin
                                   TMOW output pin
                     1
Legend X: Don't care.

Rev. 3.00, 05/03, page 112 of 464
9.2 Port 2

Port 2 is a general I/O port also functioning as SCI3 I/O pins. Each pin of the port 2 is shown in
figure 9.2. The register settings of PMR1and SCI3 have priority for functions of the pins for both
uses.

                     Port 2           P24
                                      P23
                                      P22/TXD
                                      P21/RXD
                                      P20/SCK3

                                    Figure 9.2 Port 2 Pin Configuration

Port 2 has the following registers.

Port control register 2 (PCR2)
Port data register 2 (PDR2)
Port mode register 3 (PMR3)

9.2.1 Port Control Register 2 (PCR2)

PCR2 selects inputs/outputs in bit units for pins to be used as general I/O ports of port 2.

         Initial

Bit  Bit Name Value R/W Description

7 to 5               Reserved

4    PCR24 0      W  When each of the port 2 pins P24 to P20 functions as a

3    PCR23 0      W  general I/O port, setting a PCR2 bit to 1 makes the

2    PCR22 0      W  corresponding pin an output port, while clearing the bit to

                     0 makes the pin an input port.

1    PCR21 0      W

0    PCR20 0      W

                                                Rev. 3.00, 05/03, page 113 of 472
9.2.2 Port Data Register 2 (PDR2)

PDR2 is a general I/O port data register of port 2.

                  Initial

Bit       Bit Name Value R/W Description

7 to 5            All 1            Reserved

                                   These bits are always read as 1.

4         P24     0        R/W PDR2 stores output data for port 2 pins.

3         P23     0        R/W If PDR2 is read while PCR2 bits are set to 1, the value
                           R/W stored in PDR2 is read. If PDR2 is read while PCR2 bits
2         P22     0
                                      are cleared to 0, the pin states are read regardless of the
1         P21     0        R/W value stored in PDR2.
                           R/W
0         P20     0

9.2.3 Port Mode Register 3 (PMR3)

PMR3 selects the CMOS output or NMOS open-drain output for port 2.

                  Initial

Bit       Bit Name Value R/W Description

7 to 5            All 0            Reserved

                                   These bits are always read as 0.

4         POF24 0          R/W When the bit is set to 1, the corresponding pin is cut off
                           R/W by PMOS and it functions as the NMOS open-drain
3         POF23 0
                                      output. When cleared to 0, the pin functions as the CMOS
                                      output.

2 to 0            All 1            Reserved

                                   These bits are always read as 1.

9.2.4 Pin Functions

The correspondence between the register specification and the port functions is shown below.

P24 pin

Register       PCR2

Bit Name       PCR24       Pin Function
                           P24 input pin
Setting Value 0            P24 output pin

               1

Rev. 3.00, 05/03, page 114 of 464
P23 pin

Register      PCR2

Bit Name      PCR23     Pin Function
                        P23 input pin
Setting Value 0         P23 output pin

              1

P22/TXD pin

Register      PMR1      PCR2
                        PCR22
Bit Name      TXD       0      Pin Function
                        1      P22 input pin
Setting Value 0         X      P22 output pin
                               TXD output pin
                     1
Legend X: Don't care.

P21/RXD pin

Register      SCR3      PCR2
                        PCR21
Bit Name      RE        0      Pin Function
                        1      P21 input pin
Setting Value 0         X      P21 output pin
                               RXD input pin
                     1
Legend X: Don't care.

P20/SCK3 pin

Register      SCR3             SMR      PCR2
                               COM      PCR20
Bit Name      CKE1      CKE0   0        0      Pin Function
                        0               1      P20 input pin
Setting Value 0                         X      P20 output pin
                                        X      SCK3 output pin
              0         0      1        X      SCK3 output pin
                                               SCK3 input pin
              0         1      X

              1         X      X

Legend X: Don't care.

                                               Rev. 3.00, 05/03, page 115 of 472
9.3 Port 3

Port 3 is a general I/O port. Each pin of the port 3 is shown in figure 9.3.

                                      P37

                                      P36

                                      P35

              Port 3                  P34

                                      P33

                                      P32

                                      P31

                                      P30

              Figure 9.3 Port 3 Pin Configuration

Port 3 has the following registers.

Port control register 3 (PCR3)
Port data register 3 (PDR3)

9.3.1 Port Control Register 3 (PCR3)

PCR3 selects inputs/outputs in bit units for pins to be used as general I/O ports of port 3.

     Initial

Bit  Bit Name Value R/W Description

7    PCR37 0  W                      Setting a PCR3 bit to 1 makes the corresponding pin an

6    PCR36 0  W                      output port, while clearing the bit to 0 makes the pin an

5    PCR35 0  W                      input port.

4    PCR34 0  W

3    PCR33 0  W

2    PCR32 0  W

1    PCR31 0  W

0    PCR30 0  W

Rev. 3.00, 05/03, page 116 of 464
9.3.2 Port Data Register 3 (PDR3)

PDR3 is a general I/O port data register of port 3.

                  Initial

Bit       Bit Name Value R/W Description

7         P37     0        R/W PDR3 stores output data for port 3 pins.

6         P36     0        R/W If PDR3 is read while PCR3 bits are set to 1, the value
                           R/W stored in PDR3 is read. If PDR3 is read while PCR3 bits
5         P35     0
                                      are cleared to 0, the pin states are read regardless of the
4         P34     0        R/W value stored in PDR3.
                           R/W
3         P33     0

2         P32     0        R/W

1         P31     0        R/W

0         P30     0        R/W

9.3.3 Pin Functions

The correspondence between the register specification and the port functions is shown below.

P37 pin

Register       PCR3

Bit Name       PCR37       Pin Function
                           P37 input pin
Setting Value 0            P37 output pin

               1

P36 pin

Register       PCR3

Bit Name       PCR36       Pin Function
                           P36 input pin
Setting Value 0            P36 output pin

               1

                                                     Rev. 3.00, 05/03, page 117 of 472
P35 pin

Register  PCR3

Bit Name  PCR35  Pin Function
                 P35 input pin
Setting Value 0  P35 output pin

          1

P34 pin

Register  PCR3

Bit Name  PCR34  Pin Function
                 P34 input pin
Setting Value 0  P34 output pin

          1

P33 pin

Register  PCR3

Bit Name  PCR33  Pin Function
                 P33 input pin
Setting Value 0  P33 output pin

          1

P32 pin

Register  PCR3

Bit Name  PCR32  Pin Function
                 P32 input pin
Setting Value 0  P32 output pin

          1

P31 pin

Register  PCR3

Bit Name  PCR31  Pin Function
                 P31 input pin
Setting Value 0  P31 output pin

          1

Rev. 3.00, 05/03, page 118 of 464
P30 pin

Register  PCR3

Bit Name  PCR30   Pin Function
                  P30 input pin
Setting Value 0   P30 output pin

          1

9.4 Port 5

Port 5 is a general I/O port also functioning as an I2C bus interface I/O pin, an A/D trigger input
pin, and wakeup interrupt input pin. Each pin of the port 5 is shown in figure 9.4. The register
setting of the I2C bus interface register has priority for functions of the pins P57/SCL and
P56/SDA. Since the output buffer for pins P56 and P57 has the NMOS push-pull structure, it
differs from an output buffer with the CMOS structure in the high-level output characteristics (see
section 23, Electrical Characteristics).

                  H8/3687                                                H8/3687N

                  P57/SCL                                                SCL

                  P56/SDA                                                SDA

                  P55/     /                                             P55/      /

          Port 5  P54/            Port 5                                 P54/

                  P53/                                                   P53/

                  P52/                                                   P52/

                  P51/                                                   P51/

                  P50/                                                   P50/

                                    Figure 9.4 Port 5 Pin Configuration

Port 5 has the following registers.

Port mode register 5 (PMR5)
Port control register 5 (PCR5)
Port data register 5 (PDR5)
Port pull-up control register 5 (PUCR5)

                                          Rev. 3.00, 05/03, page 119 of 472
9.4.1 Port Mode Register 5 (PMR5)

PMR5 switches the functions of pins in port 5.

           Initial

Bit  Bit Name Value R/W Description

7    POF57 0        R/W When the bit is set to 1, the corresponding pin is cut off
                    R/W by PMOS and it functions as the NMOS open-drain
6    POF56 0
                               output. When cleared to 0, the pin functions as the CMOS
                               output.

5    WKP5  0        R/W This bit selects the function of pin P55/WKP5/ADTRG.

                                   0: General I/O port

                                   1: WKP5/ADTRG input pin

4    WKP4  0        R/W This bit selects the function of pin P54/WKP4.

                                   0: General I/O port

                                   1: WKP4 input pin

3    WKP3  0        R/W This bit selects the function of pin P53/WKP3.

                                   0: General I/O port

                                   1: WKP3 input pin

2    WKP2  0        R/W This bit selects the function of pin P52/WKP2.

                                   0: General I/O port

                                   1: WKP2 input pin

1    WKP1  0        R/W This bit selects the function of pin P51/WKP1.

                                   0: General I/O port

                                   1: WKP1 input pin

0    WKP0  0        R/W This bit selects the function of pin P50/WKP0.

                                   0: General I/O port

                                   1: WKP0 input pin

Rev. 3.00, 05/03, page 120 of 464
9.4.2 Port Control Register 5 (PCR5)

PCR5 selects inputs/outputs in bit units for pins to be used as general I/O ports of port 5.

          Initial

Bit  Bit Name Value R/W Description

7    PCR57 0       W               When each of the port 5 pins P57 to P50 functions as a

6    PCR56 0       W               general I/O port, setting a PCR5 bit to 1 makes the

5    PCR55 0       W               corresponding pin an output port, while clearing the bit to

                                   0 makes the pin an input port.

4    PCR54 0       W               Note: The PCR57 and PCR56 bits should not be set to 1

3    PCR53 0       W                  in the H8/3687N.

2    PCR52 0       W

1    PCR51 0       W

0    PCR50 0       W

9.4.3 Port Data Register 5 (PDR5)

PDR5 is a general I/O port data register of port 5.

          Initial

Bit  Bit Name Value R/W Description

7    P57  0        R/W Stores output data for port 5 pins.

6    P56  0        R/W If PDR5 is read while PCR5 bits are set to 1, the value

5    P55  0        R/W stored in PDR5 are read. If PDR5 is read while PCR5 bits
                              are cleared to 0, the pin states are read regardless of the
4    P54  0
                   R/W value stored in PDR5.

3    P53  0        R/W Note: The P57 and P56 bits should not be set to 1 in the

2    P52  0        R/W                H8/3687N.

1    P51  0        R/W

0    P50  0        R/W

                                                        Rev. 3.00, 05/03, page 121 of 472
9.4.4 Port Pull-Up Control Register 5 (PUCR5)

PUCR5 controls the pull-up MOS in bit units of the pins set as the input ports.

                  Initial

Bit       Bit Name Value R/W Description

7, 6              All 0            Reserved

                                   These bits are always read as 0.

5         PUCR55 0         R/W Only bits for which PCR5 is cleared are valid. The pull-up
                           R/W MOS of the corresponding pins enter the on-state when
4         PUCR54 0
                                      these bits are set to 1, while they enter the off-state when
3         PUCR53 0         R/W these bits are cleared to 0.
                           R/W
2         PUCR52 0

1         PUCR51 0         R/W

0         PUCR50 0         R/W

9.4.5 Pin Functions

The correspondence between the register specification and the port functions is shown below.

P57/SCL pin

Register     ICCR1         PCR5
                           PCR57
Bit Name     ICE           0       Pin Function
                           1       P57 input pin
Setting Value 0            X       P57 output pin
                                   SCL I/O pin
                     1
Legend X: Don't care.

SCL performs the NMOS open-drain output, that enables a direct bus drive.

P56/SDA pin

Register     ICCR1         PCR5
                           PCR56
Bit Name     ICE           0       Pin Function
                           1       P56 input pin
Setting Value 0            X       P56 output pin
                                   SDA I/O pin
                     1
Legend X: Don't care.

Rev. 3.00, 05/03, page 122 of 464
SDA performs the NMOS open-drain output, that enables a direct bus drive.

P55/WKP5/ADTRG pin

Register      PMR5      PCR5
                        PCR55
Bit Name      WKP5      0      Pin Function
                        1      P55 input pin
Setting Value 0         X      P55 output pin
                               WKP5/ADTRG input pin
                     1
Legend X: Don't care.

P54/WKP4 pin

Register      PMR5      PCR5
                        PCR54
Bit Name      WKP4      0      Pin Function
                        1      P54 input pin
Setting Value 0         X      P54 output pin
                               WKP4 input pin
                     1
Legend X: Don't care.

P53/WKP3 pin

Register      PMR5      PCR5
                        PCR53
Bit Name      WKP3      0      Pin Function
                        1      P53 input pin
Setting Value 0         X      P53 output pin
                               WKP3 input pin
                     1
Legend X: Don't care.

P52/WKP2 pin

Register      PMR5      PCR5
                        PCR52
Bit Name      WKP2      0      Pin Function
                        1      P52 input pin
Setting Value 0         X      P52 output pin
                               WKP2 input pin
                     1
Legend X: Don't care.

                                                     Rev. 3.00, 05/03, page 123 of 472
P51/WKP1 pin

Register      PMR5      PCR5
                        PCR51
Bit Name      WKP1      0          Pin Function
                        1          P51 input pin
Setting Value 0         X          P51 output pin
                                   WKP1 input pin
                     1
Legend X: Don't care.

P50/WKP0 pin

Register      PMR5      PCR5
                        PCR50
Bit Name      WKP0      0          Pin Function
                        1          P50 input pin
Setting Value 0         X          P50 output pin
                                   WKP0 input pin
                     1
Legend X: Don't care.

Rev. 3.00, 05/03, page 124 of 464
9.5 Port 6

Port 6 is a general I/O port also functioning as a timer Z I/O pin. Each pin of the port 6 is shown in
figure 9.5. The register setting of the timer Z has priority for functions of the pins for both uses.

              Port 6                  P67/FTIOD1
                                      P66/FTIOC1
                                      P65/FTIOB1
                                      P64/FTIOA1
                                      P63/FTIOD0
                                      P62/FTIOC0
                                      P61/FTIOB0
                                      P60/FTIOA0

                                    Figure 9.5 Port 6 Pin Configuration

Port 6 has the following registers.

Port control register 6 (PCR6)
Port data register 6 (PDR6)

9.5.1 Port Control Register 6 (PCR6)

PCR6 selects inputs/outputs in bit units for pins to be used as general I/O ports of port 6.

     Initial

Bit  Bit Name Value R/W Description

7    PCR67 0  W       When each of the port 6 pins P67 to P60 functions as a

6    PCR66 0  W       general I/O port, setting a PCR6 bit to 1 makes the

5    PCR65 0  W       corresponding pin an output port, while clearing the bit to

                      0 makes the pin an input port.

4    PCR64 0  W

3    PCR63 0  W

2    PCR62 0  W

1    PCR61 0  W

0    PCR60 0  W

                                                  Rev. 3.00, 05/03, page 125 of 472
9.5.2 Port Data Register 6 (PDR6)

PDR6 is a general I/O port data register of port 6.

                 Initial

Bit  Bit Name Value R/W Description

7    P67         0        R/W Stores output data for port 6 pins.

6    P66         0        R/W If PDR6 is read while PCR6 bits are set to 1, the value
                          R/W stored in PDR6 are read. If PDR6 is read while PCR6 bits
5    P65         0
                                     are cleared to 0, the pin states are read regardless of the
4    P64         0        R/W value stored in PDR6.
                          R/W
3    P63         0

2    P62         0        R/W

1    P61         0        R/W

0    P60         0        R/W

9.5.3 Pin Functions

The correspondence between the register specification and the port functions is shown below.

P67/FTIOD1 pin

Register TOER TFCR                 TPMR TIORC1              PCR6

                    CMD1 and                       IOD2 to  PCR67
                                                            0
Bit Name ED1 CMD0                  PWMD1 IOD0                      Pin Function
                                                            1      P67 input/FTIOD1 input pin
Setting Value 1     00             0               000 or   X
                                                                   P67 output pin
                                                   1XX             FTIOD1 output pin

          0         00             0               001 or
                                                   01X
                                                1
                                                   XXX
                               Other than X
                               00                  XXX
Legend X: Don't care.

Rev. 3.00, 05/03, page 126 of 464
P66/FTIOC1 pin

Register TOER          TFCR             TPMR TIORC1           PCR6

Bit Name EC1           CMD1 and                    IOC2 to    PCR66
Setting Value 1                                               0
                       CMD0             PWMC1 IOC0                   Pin Function
                                                              1      P66 input/FTIOC1 input pin
                       00               0          000 or     X
                                                                     P66 output pin
                                                   1XX               FTIOC1 output pin

0                      00               0          001 or
                                                   01X
                                                1
                                                   XXX
                               Other than X
                               00                  XXX
Legend X: Don't care.

P65/FTIOB1 pin

Register TOER TFCR                      TPMR TIORA1           PCR6

                               CMD1 to               IOB2 to  PCR65  Pin Function
Bit Name EB1 CMD0                       PWMB1 IOB0            0      P65 input/FTIOB1 input pin

Setting Value 1        00               0          000 or     1      P65 output pin
                                                              X      FTIOB1 output pin
                                                   1XX

0                      00               0          001 or
                                                   01X
                                                1
                                                   XXX
                               Other than X
                               00                  XXX
Legend X: Don't care.

P64/FTIOA1 pin

Register TOER          TFCR             TIORA1 PCR6

Bit Name EB1           CMD1 to          IOA2 to               Pin Function
Setting Value 1        CMD0             IOA0 PCR64            P64 input/FTIOA1 input pin
                                                              P64 output pin
                       XX               000 or 0              FTIOA1 output pin

                                        1XX        1

0                      00               001 or X
                                        01X

Legend X: Don't care.

                                                                     Rev. 3.00, 05/03, page 127 of 472
P63/FTIOD0 pin

Register TOER    TFCR                   TPMR TIORC0           PCR6

Bit Name ED0     CMD1 to                             IOD2 to  PCR63  Pin Function
Setting Value 1  CMD0                   PWMD0 IOD0            0      P63 input/FTIOD0 input pin

                 00                     0          000 or     1      P63 output pin
                                                              X      FTIOD0 output pin
                                                   1XX

0                00                     0          001 or
                                                   01X
                                                1
                                                   XXX
                               Other than X
                               00                  XXX
Legend X: Don't care.

P62/FTIOC0 pin

Register TOER TFCR                      TPMR TIORC0           PCR6

                               CMD1 to               IOC2 to  PCR62  Pin Function
Bit Name EC0 CMD0                       PWMC0 IOC0            0      P62 input/FTIOC0 input pin

Setting Value 1  00                     0          000 or     1      P62 output pin
                                                              X      FTIOC0 output pin
                                                   1XX

0                00                     0          001 or
                                                   01X
                                                1
                                                   XXX
                               Other than X
                               00                  XXX
Legend X: Don't care.

Rev. 3.00, 05/03, page 128 of 464
P61/FTIOB0 pin

Register TOER          TFCR             TPMR TIORA0           PCR6

Bit Name EB0           CMD1 to                       IOB2 to  PCR61  Pin Function
Setting Value 1        CMD0             PWMB0 IOB0            0      P61 input/FTIOB0 input pin

                       00               0          000 or     1      P61 output pin
                                                              X      FTIOB0 output pin
                                                   1XX

0                      00               0          001 or
                                                   01X
                                                1
                                                   XXX
                               Other than X
                               00                  XXX
Legend X: Don't care.

P60/FTIOA0 pin

Register TOER TFCR                      TFCR TIORA0           PCR6

                               CMD1 to               IOA2 to  PCR60  Pin Function
Bit Name EA0 CMD0                       STCLK IOA0            0      P60 input/FTIOA0 input pin
                                                              1      P60 output pin
Setting Value 1        XX               X          000 or     X      FTIOA0 output pin

                                                   1XX

0                      00               0          001 or

                                                   01X

Legend X: Don't care.

                                                                     Rev. 3.00, 05/03, page 129 of 472
9.6 Port 7

Port 7 is a general I/O port also functioning as a timer V I/O pin and SCI3_2 I/O pin. Each pin of
the port 7 is shown in figure 9.6. The register settings of the timer V and SCI3_2 have priority for
functions of the pins for both uses.

                Port 7                P76/TMOV
                                      P75/TMCIV
                                      P74/TMRIV
                                      P72/TXD_2
                                      P71/RXD_2
                                      P70/SCK3_2

                                    Figure 9.6 Port 7 Pin Configuration

Port 7 has the following registers.

Port control register 7 (PCR7)
Port data register 7 (PDR7)

9.6.1 Port Control Register 7 (PCR7)

PCR7 selects inputs/outputs in bit units for pins to be used as general I/O ports of port 7.

       Initial

Bit  Bit Name Value R/W Description

7                                  When each of the port 7 pins P76 to P74 and P72 to P70

6    PCR76 0    W                  functions as a general I/O port, setting a PCR7 bit to 1

5    PCR75 0    W                  makes the corresponding pin an output port, while

                                   clearing the bit to 0 makes the pin an input port.

4    PCR74 0    W                  Bits 7 and 3 are reserved bits.

3               

2    PCR72 0    W

1    PCR71 0    W

0    PCR70 0    W

Rev. 3.00, 05/03, page 130 of 464
9.6.2 Port Data Register 7 (PDR7)

PDR7 is a general I/O port data register of port 7.

                    Initial

Bit       Bit Name Value R/W Description

7                   1                Stores output data for port 7 pins.

6         P76       0           R/W If PDR7 is read while PCR7 bits are set to 1, the value

5         P75       0           R/W stored in PDR7 are read. If PDR7 is read while PCR7 bits
                                           are cleared to 0, the pin states are read regardless of the
4         P74       0
                                R/W value stored in PDR7.

3                   1                Bits 7 and 3 are reserved bits. These bits are always read

2         P72       0           R/W as 1.

1         P71       0           R/W

0         P70       0           R/W

9.6.3 Pin Functions

The correspondence between the register specification and the port functions is shown below.

P76/TMOV pin

Register       TCSRV         PCR7

Bit Name       OS3 to OS0 PCR76      Pin Function
                                     P76 input pin
Setting Value 0000           0       P76 output pin
                                     TMOV output pin
                             1

               Other than X
               the above
               values

Legend X: Don't care.

P75/TMCIV pin

Register       PCR7

Bit Name       PCR75         Pin Function
                             P75 input/TMCIV input pin
Setting Value 0              P75 output/TMCIV input pin

               1

                                                         Rev. 3.00, 05/03, page 131 of 472
P74/TMRIV pin

Register  PCR7

Bit Name  PCR74            Pin Function
                           P74 input/TMRIV input pin
Setting Value 0            P74 output/TMRIV input pin

          1

P72/TXD_2 pin

Register  PMR1             PCR7
                           PCR72
Bit Name  TXD2             0       Pin Function
                           1       P72 input pin
Setting Value 0            X       P72 output pin
                                   TXD_2 output pin
                     1
Legend X: Don't care.

P71/RXD_2 pin

Register  SCR3_2           PCR7
                           PCR71
Bit Name  RE               0       Pin Function
                           1       P71 input pin
Setting Value 0            X       P71 output pin
                                   RXD_2 input pin
                     1
Legend X: Don't care.

P70/SCK3_2 pin

Register  SCR3_2           SMR2    PCR7
                           COM
Bit Name  CKE1 CKE0        0       PCR70 Pin Function

Setting Value 0         0  1       0     P70 input pin
                           X
                           X       1     P70 output pin

          0             0          X     SCK3_2 output pin

          0             1          X     SCK3_2 output pin

          1             X          X     SCK3_2 input pin

Legend X: Don't care.

Rev. 3.00, 05/03, page 132 of 464
9.7 Port 8

Port 8 is a general I/O port. Each pin of the port 8 is shown in figure 9.7.

                                                     P87

                      Port 8                         P86

                                                     P85

                                    Figure 9.7 Port 8 Pin Configuration

Port 8 has the following registers.

Port control register 8 (PCR8)
Port data register 8 (PDR8)

9.7.1 Port Control Register 8 (PCR8)

PCR8 selects inputs/outputs in bit units for pins to be used as general I/O ports of port 8.

          Initial

Bit  Bit Name Value R/W Description

7    PCR87 0       W               When each of the port 8 pins P87 to P85 functions as a

6    PCR86 0       W               general I/O port, setting a PCR8 bit to 1 makes the

5    PCR85 0       W               corresponding pin an output port, while clearing the bit to

                                   0 makes the pin an input port.

4 to 0                             Reserved

9.7.2 Port Data Register 8 (PDR8)

PDR8 is a general I/O port data register of port 8.

          Initial

Bit  Bit Name Value R/W Description

7    P87  0        R/W PDR8 stores output data for port 8 pins.

6    P86  0        R/W If PDR8 is read while PCR8 bits are set to 1, the value
                   R/W stored in PDR8 is read. If PDR8 is read while PCR8 bits
5    P85  0
                              are cleared to 0, the pin states are read regardless of the
                              value stored in PDR8.

4 to 0    All 1                    Reserved

                                   These bits are always read as 1.

                                                          Rev. 3.00, 05/03, page 133 of 472
9.7.3 Pin Functions

The correspondence between the register specification and the port functions is shown below.

P87 pin

Register  PCR8

Bit Name  PCR87      Pin Function
                     P87 input pin
Setting Value 0      P87 output pin

          1

P86 pin

Register  PCR8

Bit Name  PCR86      Pin Function
                     P86 input pin
Setting Value 0      P86 output pin

          1

P85 pin

Register  PCR8

Bit Name  PCR85      Pin Function
                     P85 input pin
Setting Value 0      P85 output pin

          1

Rev. 3.00, 05/03, page 134 of 464
9.8 Port B

Port B is an input port also functioning as an A/D converter analog input pin. Each pin of the port
B is shown in figure 9.8.

                      Port B         PB7/AN7
                                     PB6/AN6
                                     PB5/AN5
                                     PB4/AN4
                                     PB3/AN3
                                     PB2/AN2
                                     PB1/AN1
                                     PB0/AN0

                                    Figure 9.8 Port B Pin Configuration
Port B has the following register.
Port data register B (PDRB)

9.8.1 Port Data Register B (PDRB)

PDRB is a general input-only port data register of port B.

          Initial

Bit  Bit Name Value R/W Description

7    PB7           R  The input value of each pin is read by reading this

6    PB6           R  register.

5    PB5           R  However, if a port B pin is designated as an analog input

4    PB4           R  channel by ADCSR in A/D converter, 0 is read.

3    PB3           R

2    PB2           R

1    PB1           R

0    PB0           R

                                                            Rev. 3.00, 05/03, page 135 of 472
Rev. 3.00, 05/03, page 136 of 464
                Section 10 Realtime Clock (RTC)

The realtime clock (RTC) is a timer used to count time ranging from a second to a week. Figure
10.1 shows the block diagram of the RTC.

10.1 Features

Counts seconds, minutes, hours, and day-of-week
Start/stop function
Reset function
Readable/writable counter of seconds, minutes, hours, and day-of-week with BCD codes
Periodic (seconds, minutes, hours, days, and weeks) interrupts
8-bit free running counter
Selection of clock source

RTC3000A_000120030300  Rev. 3.00, 05/03, page 137 of 472
               32-kHz     PSS               RTCCSR
              oscillator  1/4               RSECDR
                                            RMINDR
                circuit                      RHRDR
                                            RWKDR
              TMOW         Clock count      RTCCR1                                 Internal data bus
                          control circuit   RTCCR2

                                              Interrupt                            Interrupt
                                            control circuit

              Legend      Clock source select register
                          Second date register/free running counter data register
                RTCCSR:   Minute date register
                RSECDR:   Hour date register
                RMINDR:   Day-of-week date register
                RHRDR:    RTC control register 1
                RWKDR:    RTC control register 2
                RTCCR1:   Prescaler S
                RTCCR2:
                PSS:

                          Figure 10.1 Block Diagram of RTC

10.2 Input/Output Pin

Table 10.1 shows the RTC input/output pin.

Table 10.1 Pin Configuration

Name          Abbreviation I/O              Function
Clock output                                RTC divided clock output
              TMOW             Output

Rev. 3.00, 05/03, page 138 of 472
10.3 Register Descriptions

The RTC has the following registers.

Second data register/free running counter data register (RSECDR)
Minute data register (RMINDR)
Hour data register (RHRDR)
Day-of-week data register (RWKDR)
RTC control register 1 (RTCCR1)
RTC control register 2 (RTCCR2)
Clock source select register (RTCCSR)

10.3.1 Second Data Register/Free Running Counter Data Register (RSECDR)

RSECDR counts the BCD-coded second value. The setting range is decimal 00 to 59. It is an 8-bit
read register used as a counter, when it operates as a free running counter. For more information
on reading seconds, minutes, hours, and day-of-week, see section 10.4.3, Data Reading Procedure.

           Initial

Bit  Bit Name Value R/W Description

7    BSY   --       R    RTC busy:

                         This bit is set to 1 when the RTC is updating (operating)
                         the values of second, minute, hour, and day-of-week data
                         registers. When this bit is 0, the values of second, minute,
                         hour, and day-of-week data registers must be adopted.

6    SC12  --       R/W Counting ten's position of seconds:

5    SC11  --       R/W Counts on 0 to 5 for 60-second counting.

4    SC10  --       R/W

3    SC03  --       R/W Counting one's position of seconds:

2    SC02  --       R/W Counts on 0 to 9 once per second. When a carry is
                    R/W generated, 1 is added to the ten's position.
1    SC01  --

0    SC00  --       R/W

                                     Rev. 3.00, 05/03, page 139 of 472
10.3.2 Minute Data Register (RMINDR)

RMINDR counts the BCD-coded minute value on the carry generated once per minute by the
RSECDR counting. The setting range is decimal 00 to 59.

           Initial

Bit  Bit Name Value R/W Description

7    BSY   --       R              RTC busy:

                                   This bit is set to 1 when the RTC is updating (operating)
                                   the values of second, minute, hour, and day-of-week data
                                   registers. When this bit is 0, the values of second, minute,
                                   hour, and day-of-week data registers must be adopted.

6    MN12  --       R/W Counting ten's position of minutes:

5    MN11  --       R/W Counts on 0 to 5 for 60-minute counting.

4    MN10  --       R/W

3    MN03  --       R/W Counting one's position of minutes:

2    MN02  --       R/W Counts on 0 to 9 once per minute. When a carry is
                    R/W generated, 1 is added to the ten's position.
1    MN01  --

0    MN00  --       R/W

Rev. 3.00, 05/03, page 140 of 472
10.3.3 Hour Data Register (RHRDR)

RHRDR counts the BCD-coded hour value on the carry generated once per hour by RMINDR.
The setting range is either decimal 00 to 11 or 00 to 23 by the selection of the 12/24 bit in
RTCCR1.

           Initial

Bit  Bit Name Value R/W Description

7    BSY   --       R    RTC busy:

                         This bit is set to 1 when the RTC is updating (operating)
                         the values of second, minute, hour, and day-of-week data
                         registers. When this bit is 0, the values of second, minute,
                         hour, and day-of-week data registers must be adopted.

6    --    0        --   Reserved

                         This bit is always read as 0.

5    HR11  --       R/W Counting ten's position of hours:

4    HR10  --       R/W Counts on 0 to 2 for ten's position of hours.

3    HR03  --       R/W Counting one's position of hours:

2    HR02  --       R/W Counts on 0 to 9 once per hour. When a carry is
                    R/W generated, 1 is added to the ten's position.
1    HR01  --

0    HR00  --       R/W

                                     Rev. 3.00, 05/03, page 141 of 472
10.3.4 Day-of-Week Data Register (RWKDR)

RWKDR counts the BCD-coded day-of-week value on the carry generated once per day by
RHRDR. The setting range is decimal 0 to 6 using bits WK2 to WK0.

Bit  Bit Name Initial R/W Description

           Value

7    BSY   --     R                RTC busy:

                                   This bit is set to 1 when the RTC is updating (operating)
                                   the values of second, minute, hour, and day-of-week data
                                   registers. When this bit is 0, the values of second, minute,
                                   hour, and day-of-week data registers must be adopted.

6 to 3 --  All 0  --               Reserved

                                   These bits are always read as 0.

2    WK2   --     R/W Day-of-week counting:

1    WK1   --     R/W Day-of-week is indicated with a binary code

0    WK0   --     R/W 000: Sunday

                                   001: Monday

                                   010: Tuesday

                                   011: Wednesday

                                   100: Thursday

                                   101: Friday

                                   110: Saturday

                                   111: Reserved (setting prohibited)

Rev. 3.00, 05/03, page 142 of 472
10.3.5 RTC Control Register 1 (RTCCR1)

RTCCR1 controls start/stop and reset of the clock timer. For the definition of time expression, see
figure 10.2.

            Initial

Bit  Bit Name Value R/W Description

7    RUN    --       R/W RTC operation start:

                         0: Stops RTC operation

                         1: Starts RTC operation

6    12/24  --       R/W Operating mode:

                         0: RTC operates in 12-hour mode. RHRDR counts on 0
                            to 11.

                         1: RTC operates in 24-hour mode. RHRDR counts on 0
                            to 23.

5    PM     --       R/W A.m./p.m.:

                         0: Indicates a.m. when RTC is in the 12-hour mode.

                         1: Indicates p.m. when RTC is in the 12-hour mode.

4    RST    0        R/W Reset:

                         0: Normal operation

                         1: Resets registers and control circuits except RTCCSR
                         and this bit. Clear this bit to 0 after having been set to 1.

3 to 0 --   All 0    --  Reserved

                         These bits are always read as 0.

                                               Noon

            24-hour count 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

            12-hour count 0 1 2 3 4 5 6 7 8 9 10 11 0 1 2 3 4 5

            PM           0 (Morning)                 1 (Afternoon)

            24-hour count 18 19 20 21 22 23 0

            12-hour count 6 7 8 9 10 11 0

            PM       1 (Afternoon)  0

                   Figure 10.2 Definition of Time Expression

                                                  Rev. 3.00, 05/03, page 143 of 472
10.3.6 RTC Control Register 2 (RTCCR2)

RTCCR2 controls RTC periodic interrupts of weeks, days, hours, minutes, and seconds. Enabling
interrupts of weeks, days, hours, minutes, and seconds sets the IRRTA flag to 1 in the interrupt
flag register 1 (IRR1) when an interrupt occurs. It also controls an overflow interrupt of a free
running counter when RTC operates as a free running counter.

           Initial

Bit  Bit Name Value R/W Description

7, 6 --    All 0    --             Reserved

                                   These bits are always read as 0.

5    FOIE  --       R/W Free Running Counter Overflow Interrupt Enable:

                                   0: Disables an overflow interrupt

                                   1: Enables an overflow interrupt

4    WKIE  --       R/W Week Periodic Interrupt Enable:

                                   0: Disables a week periodic interrupt

                                   1: Enables a week periodic interrupt

3    DYIE  --       R/W Day Periodic Interrupt Enable:

                                   0: Disables a day periodic interrupt

                                   1: Enables a day periodic interrupt

2    HRIE  --       R/W Hour Periodic Interrupt Enable:

                                   0: Disables an hour periodic interrupt

                                   1: Enables an hour periodic interrupt

1    MNIE  --       R/W Minute Periodic Interrupt Enable:

                                   0: Disables a minute periodic interrupt

                                   1: Enables a minute periodic interrupt

0    SEIE  --       R/W Second Periodic Interrupt Enable:

                                   0: Disables a second periodic interrupt

                                   1: Enables a second periodic interrupt

Rev. 3.00, 05/03, page 144 of 472
10.3.7 Clock Source Select Register (RTCCSR)

RTCCSR selects clock source. A free running counter controls start/stop of counter operation by
the RUN bit in RTCCR1. When a clock other than 32.768 MHz is selected, the RTC is disabled
and operates as an 8-bit free running counter. When the RTC operates as an 8-bit free running
counter, RSECDR enables counter values to be read. An interrupt can be generated by setting 1 to
the FOIE bit in RTCCR2 and enabling an overflow interrupt of the free running counter. A clock
in which the system clock is divided by 32, 16, 8, or 4 is output in active or sleep mode.

           Initial

Bit  Bit Name Value R/W Description

7    --    0        --  Reserved

                        This bit is always read as 0.

6    RCS6  0        R/W Clock output selection:

5    RCS5  0        R/W Selects a clock output from the TMOW pin when setting
                               TMOW in PMR1 to 1.

                        00: /4

                        01: /8

                        10: /16
                        11: /32

4    --    0        --  Reserved

                        This bit is always read as 0.

3    RCS3  1        R/W Clock source selection:

2    RCS2  0        R/W 0000: /8 Free running counter operation
                    R/W 0001: /32 Free running counter operation
1    RCS1  0

0    RCS0  0        R/W 0010: /128 Free running counter operation

                        0011: /256 Free running counter operation
                        0100: /512 Free running counter operation

                        0101: /2048 Free running counter operation

                        0110: /4096 Free running counter operation
                        0111: /8192 Free running counter operation

                        1000: 32.768 kHzRTC operation

                                                 Rev. 3.00, 05/03, page 145 of 472
10.4 Operation

10.4.1 Initial Settings of Registers after Power-On

The RTC registers that store second, minute, hour, and day-of week data are not reset by a RES
input. Therefore, all registers must be set to their initial values after power-on. Once the register
setting are made, the RTC provides an accurate time as long as power is supplied regardless of a
RES input.

10.4.2 Initial Setting Procedure

Figure 10.3 shows the procedure for the initial setting of the RTC. To set the RTC again, also
follow this procedure.

RUN in RTCCR1 = 0                 RTC operation is stopped.

  RST in RTCCR1 = 1                RTC registers and clock count
                                   controller are reset.
  RST in RTCCR1 = 0
                                   Clock output and clock source are
Set RTCCSR, RSECDR,                selected and second, minute, hour,
RMINDR, RHRDR,                     day-of-week, operating mode, and
RWKDR, 12/24 in                    a.m/p.m are set.
RTCCR1, and PM                     RTC operation is started.

RUN in RTCCR1 = 1

Figure 10.3 Initial Setting Procedure

Rev. 3.00, 05/03, page 146 of 472
10.4.3 Data Reading Procedure

When the seconds, minutes, hours, or day-of-week datum is updated while time data is being read,
the data obtained may not be correct, and so the time data must be read again. Figure 10.4 shows
an example in which correct data is not obtained. In this example, since only RSECDR is read
after data update, about 1-minute inconsistency occurs.

To avoid reading in this timing, the following processing must be performed.

1. Check the setting of the BSY bit, and when the BSY bit changes from 1 to 0, read from the
    second, minute, hour, and day-of-week registers. When about 62.5 ms is passed after the BSY
    bit is set to 1, the registers are updated, and the BSY bit is cleared to 0.

2. Making use of interrupts, read from the second, minute, hour, and day-of week registers after
    the IRRTA flag in IRR1 is set to 1 and the BSY bit is confirmed to be 0.

3. Read from the second, minute, hour, and day-of week registers twice in a row, and if there is
    no change in the read data, the read data is used.

                 Before update RWKDR = H'03, RHDDR = H'13, RMINDR = H'46, RSECDR = H'59

                 BSY bit = 0

Processing flow  (1) Day-of-week data register read H'03

                 (2) Hour data register read    H'13

                 (3) Minute data register read  H'46

                  BSY bit -> 1 (under data update)
                 After update RWKDR = H'03, RHDDR = H'13, RMINDR = H'47, RSECDR = H'00

                  BSY bit -> 0

                 (4) Second data register read  H'00

                 Figure 10.4 Example: Reading of Inaccurate Time Data

                                                          Rev. 3.00, 05/03, page 147 of 472
10.5 Interrupt Source

There are five kinds of RTC interrupts: week interrupts, day interrupts, hour interrupts, minute
interrupts, and second interrupts.

When using an interrupt, initiate the RTC last after other registers are set. Do not set multiple
interrupt enable bits in RTCCR2 simultaneously to 1.

When an interrupt request of the RTC occurs, the IRRTA flag in IRR1 is set to 1. When clearing
the flag, write 0.

Table 10.2 Interrupt Source

Interrupt Name             Interrupt Source                          Interrupt Enable Bit
Overflow interrupt
Week periodic interrupt    Occurs when the free running counter is   FOIE
Day periodic interrupt     overflown.
Hour periodic interrupt
Minute periodic interrupt  Occurs every week when the day-of-week date WKIE
Second periodic interrupt  register value becomes 0.

                           Occurs every day when the day-of-week date DYIE
                           register is counted.

                           Occurs every hour when the hour date register HRIE
                           is counted.

                           Occurs every minute when the minute date  MNIE
                           register is counted.

                           Occurs every second when the second date SCIE
                           register is counted.

Rev. 3.00, 05/03, page 148 of 472
                        Section 11 Timer B1

Timer B1 is an 8-bit timer that increments each time a clock pulse is input. This timer has two
operating modes, interval and auto reload. Figure 11.1 shows a block diagram of timer B1.

11.1 Features

Selection of seven internal clock sources (/8192, /2048, /512, /256, /64, /16, and /4) or
    an external clock (can be used to count external events).

An interrupt is generated when the counter overflows.

                            TMB1

                       PSS                                    Internal data bus

TMIB1                       TCB1
                            TLB1

Legend                                                        IRRTB1
  TMB1 : Timer mode register B1
  TCB1 : Timer counter B1
  TLB1 : Timer load register B1
  IRRTB1 : Timer B1 interrupt request flag
  PSS : Prescaler S
  TMIB1 : Timer B1 event input

                       Figure 11.1 Block Diagram of Timer B1

TIM08B0A_000020020200       Rev. 3.00, 05/03, page 149 of 472
11.2 Input/Output Pin

Table 11.1 shows the timer B1 pin configuration.

Table 11.1 Pin Configuration

Name                  Abbreviation                I/O    Function
Timer B1 event input  TMIB1                       Input  Event input to TCB1

11.3 Register Descriptions

The timer B1 has the following registers.

Timer mode register B1 (TMB1)
Timer counter B1 (TCB1)
Timer load register B1 (TLB1)

Rev. 3.00, 05/03, page 150 of 472
11.3.1 Timer Mode Register B1 (TMB1)

TMB1 selects the auto-reload function and input clock.

         Initial

Bit  Bit Name Value R/W Description

7    TMB17 0      R/W Auto-reload function select

                    0: Interval timer function selected

                    1: Auto-reload function selected

6 to 3   All 1      Reserved

                    These bits are always read as 1.

2    TMB12 0      R/W Clock select

1    TMB11 0      R/W 000: Internal clock: /8192

0    TMB10 0      R/W 001: Internal clock: /2048

                    010: Internal clock: /512
                    011: Internal clock: /256

                    100: Internal clock: /64

                    101: Internal clock: /16
                    110: Internal clock: /4

                    111: External event (TMIB1): rising or falling edge*

                    Note: * The edge of the external event signal is selected
                                by bit IEG1 in the interrupt edge select register 1
                                (IEGR1). See section 3.2.1, Interrupt Edge
                                Select Register 1 (IEGR1), for details. Before
                                setting TMB12 to TMB10 to 1, IRQ1 in the port
                                mode register 1 (PMR1) should be set to 1.

11.3.2 Timer Counter B1 (TCB1)

TCB1 is an 8-bit read-only up-counter, which is incremented by internal clock input. The clock
source for input to this counter is selected by bits TMB12 to TMB10 in TMB1. TCB1 values can
be read by the CPU at any time. When TCB1 overflows from H'FF to H'00 or to the value set in
TLB1, the IRRTB1 flag in IRR2 is set to 1. TCB1 is allocated to the same address as TLB1. TCB1
is initialized to H'00.

                                                        Rev. 3.00, 05/03, page 151 of 472
11.3.3 Timer Load Register B1 (TLB1)

TLB1 is an 8-bit write-only register for setting the reload value of TCB1. When a reload value is
set in TLB1, the same value is loaded into TCB1 as well, and TCB1 starts counting up from that
value. When TCB1 overflows during operation in auto-reload mode, the TLB1 value is loaded
into TCB1. Accordingly, overflow periods can be set within the range of 1 to 256 input clocks.
TLB1 is allocated to the same address as TCB1. TLB1 is initialized to H'00.

11.4 Operation

11.4.1 Interval Timer Operation

When bit TMB17 in TMB1 is cleared to 0, timer B1 functions as an 8-bit interval timer. Upon
reset, TCB1 is cleared to H'00 and bit TMB17 is cleared to 0, so up-counting and interval timing
resume immediately. The operating clock of timer B1 is selected from seven internal clock signals
output by prescaler S, or an external clock input at pin TMB1. The selection is made by bits
TMB12 to TMB10 in TMB1.

After the count value in TMB1 reaches H'FF, the next clock signal input causes timer B1 to
overflow, setting flag IRRTB1 in IRR2 to 1. If IENTB1 in IENR2 is 1, an interrupt is requested to
the CPU.

At overflow, TCB1 returns to H'00 and starts counting up again. During interval timer operation
(TMB17 = 0), when a value is set in TLB1, the same value is set in TCB1.

11.4.2 Auto-Reload Timer Operation

Setting bit TMB17 in TMB1 to 1 causes timer B1 to function as an 8-bit auto-reload timer. When
a reload value is set in TLB1, the same value is loaded into TCB1, becoming the value from which
TCB1 starts its count. After the count value in TCB1 reaches H'FF, the next clock signal input
causes timer B1 to overflow. The TLB1 value is then loaded into TCB1, and the count continues
from that value. The overflow period can be set within a range from 1 to 256 input clocks,
depending on the TLB1 value.

The clock sources and interrupts in auto-reload mode are the same as in interval mode. In auto-
reload mode (TMB17 = 1), when a new value is set in TLB1, the TLB1 value is also loaded into
TCB1.

Rev. 3.00, 05/03, page 152 of 472
11.4.3 Event Counter Operation

Timer B1 can operate as an event counter in which TMIB1 is set to an event input pin. External
event counting is selected by setting bits TMB12 to TMB10 in TMB1 to 1. TCB1 counts up at
rising or falling edge of an external event signal input at pin TMB1.

When timer B1 is used to count external event input, bit IRQ1 in PMR1 should be set to 1 and
IEN1 in IENR1 should be cleared to 0 to disable IRQ1 interrupt requests.

11.5 Timer B1 Operating Modes

Table 11.2 shows the timer B1 operating modes.

Table 11.2 Timer B1 Operating Modes

Operating Mode  Reset    Active      Sleep      Subactive Subsleep  Standby
                         Functions   Functions                      Halted
TCB1 Interval   Reset    Functions   Functions  Halted  Halted      Halted
                         Functions   Retained                       Retained
      Auto-reload Reset                         Halted  Halted

TMB1            Reset                           Retained Retained

                                                Rev. 3.00, 05/03, page 153 of 472
Rev. 3.00, 05/03, page 154 of 472
                        Section 12 Timer V

Timer V is an 8-bit timer based on an 8-bit counter. Timer V counts external events. Compare-
match signals with two registers can also be used to reset the counter, request an interrupt, or
output a pulse signal with an arbitrary duty cycle. Counting can be initiated by a trigger input at
the TRGV pin, enabling pulse output control to be synchronized to the trigger, with an arbitrary
delay from the trigger input. Figure 12.1 shows a block diagram of timer V.

12.1 Features

Choice of seven clock signals is available.
    Choice of six internal clock sources (/128, /64, /32, /16, /8, /4) or an external clock.

Counter can be cleared by compare match A or B, or by an external reset signal. If the count
    stop function is selected, the counter can be halted when cleared.

Timer output is controlled by two independent compare match signals, enabling pulse output
    with an arbitrary duty cycle, PWM output, and other applications.

Three interrupt sources: compare match A, compare match B, timer overflow
Counting can be initiated by trigger input at the TRGV pin. The rising edge, falling edge, or

    both edges of the TRGV input can be selected.

TIM08V0A_000120030300  Rev. 3.00, 05/03, page 155 of 472
                                                     TCRV1

TRGV                 Trigger                       TCORB
                     control                     Comparator

TMCIV                Clock select                    TCNTV   Internal data bus

                    PSS                         Comparator
TMRIV                                              TCORA
                                 Clear              TCRV0
                               control

TMOV                 Output                          TCSRV   Interrupt
                     control                                 request
                                                             control
Legend:   Time constant register A
TCORA:    Time constant register B                                            CMIA
TCORB:    Timer counter V                                                     CMIB
TCNTV:    Timer control/status register V                                     OVI
TCSRV:    Timer control register V0
TCRV0:    Timer control register V1
TCRV1:    Prescaler S
PSS:      Compare-match interrupt A
CMIA:     Compare-match interrupt B
CMIB:     Overflow interupt
OVI:

                     Figure 12.1 Block Diagram of Timer V

12.2 Input/Output Pins

Table 12.1 shows the timer V pin configuration.

Table 12.1 Pin Configuration

Name                               Abbreviation I/O          Function
Timer V output                                               Timer V waveform output
Timer V clock input                TMOV          Output      Clock input to TCNTV
Timer V reset input                                          External input to reset TCNTV
Trigger input                      TMCIV         Input       Trigger input to initiate counting

                                   TMRIV         Input

                                   TRGV          Input

Rev. 3.00, 05/03, page 156 of 472
12.3 Register Descriptions

Time V has the following registers.
Timer counter V (TCNTV)
Timer constant register A (TCORA)
Timer constant register B (TCORB)
Timer control register V0 (TCRV0)
Timer control/status register V (TCSRV)
Timer control register V1 (TCRV1)

12.3.1 Timer Counter V (TCNTV)
TCNTV is an 8-bit up-counter. The clock source is selected by bits CKS2 to CKS0 in timer
control register V0 (TCRV0). The TCNTV value can be read and written by the CPU at any time.
TCNTV can be cleared by an external reset input signal, or by compare match A or B. The
clearing signal is selected by bits CCLR1 and CCLR0 in TCRV0.
When TCNTV overflows, OVF is set to 1 in timer control/status register V (TCSRV).
TCNTV is initialized to H'00.

12.3.2 Time Constant Registers A and B (TCORA, TCORB)
TCORA and TCORB have the same function.
TCORA and TCORB are 8-bit read/write registers.
TCORA and TCNTV are compared at all times. When the TCORA and TCNTV contents match,
CMFA is set to 1 in TCSRV. If CMIEA is also set to 1 in TCRV0, a CPU interrupt is requested.
Note that they must not be compared during the T3 state of a TCORA write cycle.
Timer output from the TMOV pin can be controlled by the identifying signal (compare match A)
and the settings of bits OS3 to OS0 in TCSRV.
TCORA and TCORB are initialized to H'FF.

                                                                                       Rev. 3.00, 05/03, page 157 of 472
12.3.3 Timer Control Register V0 (TCRV0)

TCRV0 selects the input clock signals of TCNTV, specifies the clearing conditions of TCNTV,
and controls each interrupt request.

           Initial

Bit  Bit Name Value R/W Description

7    CMIEB 0        R/W Compare Match Interrupt Enable B

                                   When this bit is set to 1, interrupt request from the CMFB
                                   bit in TCSRV is enabled.

6    CMIEA 0        R/W Compare Match Interrupt Enable A

                                   When this bit is set to 1, interrupt request from the CMFA
                                   bit in TCSRV is enabled.

5    OVIE  0        R/W Timer Overflow Interrupt Enable

                                   When this bit is set to 1, interrupt request from the OVF
                                   bit in TCSRV is enabled.

4    CCLR1 0        R/W Counter Clear 1 and 0

3    CCLR0 0        R/W These bits specify the clearing conditions of TCNTV.

                                   00: Clearing is disabled

                                   01: Cleared by compare match A

                                   10: Cleared by compare match B

                                   11: Cleared on the rising edge of the TMRIV pin. The
                                   operation of TCNTV after clearing depends on TRGE in
                                   TCRV1.

2    CKS2  0        R/W Clock Select 2 to 0

1    CKS1  0        R/W These bits select clock signals to input to TCNTV and the
                    R/W counting condition in combination with ICKS0 in TCRV1.
0    CKS0  0
                               Refer to table 12.2.

Rev. 3.00, 05/03, page 158 of 472
Table 12.2 Clock Signals to Input to TCNTV and Counting Conditions

TCRV0  Bit 1  Bit 0  TCRV1  Description
Bit 2  CKS1   CKS0   Bit 0  Clock input prohibited
CKS2   0      0      ICKS0  Internal clock: counts on /4, falling edge
0             1             Internal clock: counts on /8, falling edge
                     0      Internal clock: counts on /16, falling edge
       1      0      1      Internal clock: counts on /32, falling edge
                     0      Internal clock: counts on /64, falling edge
1      0      1      1      Internal clock: counts on /128, falling edge
                     0      Clock input prohibited
       1      0      1      External clock: counts on rising edge
              1             External clock: counts on falling edge
              0             External clock: counts on rising and falling
              1             edge
                     

                            Rev. 3.00, 05/03, page 159 of 472
12.3.4 Timer Control/Status Register V (TCSRV)

TCSRV indicates the status flag and controls outputs by using a compare match.

           Initial

Bit  Bit Name Value R/W Description

7    CMFB  0        R/W Compare Match Flag B

                                   Setting condition:

                                   When the TCNTV value matches the TCORB value

                                   Clearing condition:

                                   After reading CMFB = 1, cleared by writing 0 to CMFB

6    CMFA  0        R/W Compare Match Flag A

                                   Setting condition:

                                   When the TCNTV value matches the TCORA value

                                   Clearing condition:

                                   After reading CMFA = 1, cleared by writing 0 to CMFA

5    OVF   0        R/W Timer Overflow Flag

                                   Setting condition:

                                   When TCNTV overflows from H'FF to H'00

                                   Clearing condition:

                                   After reading OVF = 1, cleared by writing 0 to OVF

4          1                       Reserved

                                   This bit is always read as 1.

3    OS3   0        R/W Output Select 3 and 2

2    OS2   0        R/W These bits select an output method for the TMOV pin by
                               the compare match of TCORB and TCNTV.

                                   00: No change

                                   01: 0 output

                                   10: 1 output

                                   11: Output toggles

1    OS1   0        R/W Output Select 1 and 0

0    OS0   0        R/W These bits select an output method for the TMOV pin by
                               the compare match of TCORA and TCNTV.

                                   00: No change

                                   01: 0 output

                                   10: 1 output

                                   11: Output toggles

Rev. 3.00, 05/03, page 160 of 472
OS3 and OS2 select the output level for compare match B. OS1 and OS0 select the output level
for compare match A. The two output levels can be controlled independently. After a reset, the
timer output is 0 until the first compare match.

12.3.5 Timer Control Register V1 (TCRV1)

TCRV1 selects the edge at the TRGV pin, enables TRGV input, and selects the clock input to
TCNTV.

            Initial

Bit  Bit Name Value R/W Description

7 to 5      All 1      Reserved

                       These bits are always read as 1.

4    TVEG1 0         R/W TRGV Input Edge Select

3    TVEG0 0         R/W These bits select the TRGV input edge.

                       00: TRGV trigger input is prohibited

                       01: Rising edge is selected

                       10: Falling edge is selected

                       11: Rising and falling edges are both selected

2    TRGE   0        R/W TCNT starts counting up by the input of the edge which is
                                selected by TVEG1 and TVEG0.

                       0: Disables starting counting-up TCNTV by the input of
                          the TRGV pin and halting counting-up TCNTV when
                          TCNTV is cleared by a compare match.

                       1: Enables starting counting-up TCNTV by the input of
                          the TRGV pin and halting counting-up TCNTV when
                          TCNTV is cleared by a compare match.

1           1          Reserved

                       This bit is always read as 1.

0    ICKS0  0        R/W Internal Clock Select 0

                       This bit selects clock signals to input to TCNTV in
                       combination with CKS2 to CKS0 in TCRV0.

                       Refer to table 12.2.

                                                  Rev. 3.00, 05/03, page 161 of 472
12.4 Operation

12.4.1 Timer V Operation

1. According to table 12.2, six internal/external clock signals output by prescaler S can be
    selected as the timer V operating clock signals. When the operating clock signal is selected,
    TCNTV starts counting-up. Figure 12.2 shows the count timing with an internal clock signal
    selected, and figure 12.3 shows the count timing with both edges of an external clock signal
    selected.

2. When TCNTV overflows (changes from H'FF to H'00), the overflow flag (OVF) in TCRV0
    will be set. The timing at this time is shown in figure 12.4. An interrupt request is sent to the
    CPU when OVIE in TCRV0 is 1.

3. TCNTV is constantly compared with TCORA and TCORB. Compare match flag A or B
    (CMFA or CMFB) is set to 1 when TCNTV matches TCORA or TCORB, respectively. The
    compare-match signal is generated in the last state in which the values match. Figure 12.5
    shows the timing. An interrupt request is generated for the CPU when CMIEA or CMIEB in
    TCRV0 is 1.

4. When a compare match A or B is generated, the TMOV responds with the output value
    selected by bits OS3 to OS0 in TCSRV. Figure 12.6 shows the timing when the output is
    toggled by compare match A.

5. When CCLR1 or CCLR0 in TCRV0 is 01 or 10, TCNTV can be cleared by the corresponding
    compare match. Figure 12.7 shows the timing.

6. When CCLR1 or CCLR0 in TCRV0 is 11, TCNTV can be cleared by the rising edge of the
    input of TMRIV pin. A TMRIV input pulse-width of at least 1.5 system clocks is necessary.
    Figure 12.8 shows the timing.

7. When a counter-clearing source is generated with TRGE in TCRV1 set to 1, the counting-up is
    halted as soon as TCNTV is cleared. TCNTV resumes counting-up when the edge selected by
    TVEG1 or TVEG0 in TCRV1 is input from the TGRV pin.



Internal clock

TCNTV input
clock

TCNTV           N1                N                              N+1

                Figure 12.2 Increment Timing with Internal Clock

Rev. 3.00, 05/03, page 162 of 472


TMCIV
(External clock
input pin)

TCNTV input
clock

TCNTV            N1      N                                        N+1

                 Figure 12.3 Increment Timing with External Clock

                H'FF     H'00
TCNTV
Overflow signal
OVF

                       Figure 12.4 OVF Set Timing



TCNTV                  N        N+1

TCORA or               N

TCORB

Compare match
signal

CMFA or
CMFB

                 Figure 12.5 CMFA and CMFB Set Timing

                                Rev. 3.00, 05/03, page 163 of 472


Compare match
A signal

Timer V output
pin

                Figure 12.6 TMOV Output Timing



Compare match
A signal

TCNTV                              N            H'00

                Figure 12.7 Clear Timing by Compare Match



Compare match   N1                   N         H'00
A signal

Timer V output
pin

TCNTV

                Figure 12.8 Clear Timing by TMRIV Input

Rev. 3.00, 05/03, page 164 of 472
12.5 Timer V Application Examples

12.5.1 Pulse Output with Arbitrary Duty Cycle

Figure 12.9 shows an example of output of pulses with an arbitrary duty cycle.

1. Set bits CCLR1 and CCLR0 in TCRV0 so that TCNTV will be cleared by compare match with
    TCORA.

2. Set bits OS3 to OS0 in TCSRV so that the output will go to 1 at compare match with TCORA
    and to 0 at compare match with TCORB.

3. Set bits CKS2 to CKS0 in TCRV0 and bit ICKS0 in TCRV1 to select the desired clock source.
4. With these settings, a waveform is output without further software intervention, with a period

    determined by TCORA and a pulse width determined by TCORB.

           TCNTV value             Counter cleared
H'FF
TCORA                                                     Time
TCORB
H'00
TMOV

                        Figure 12.9 Pulse Output Example

                                   Rev. 3.00, 05/03, page 165 of 472
12.5.2 Pulse Output with Arbitrary Pulse Width and Delay from TRGV Input

The trigger function can be used to output a pulse with an arbitrary pulse width at an arbitrary
delay from the TRGV input, as shown in figure 12.10. To set up this output:

1. Set bits CCLR1 and CCLR0 in TCRV0 so that TCNTV will be cleared by compare match with
    TCORB.

2. Set bits OS3 to OS0 in TCSRV so that the output will go to 1 at compare match with TCORA
    and to 0 at compare match with TCORB.

3. Set bits TVEG1 and TVEG0 in TCRV1 and set TRGE to select the falling edge of the TRGV
    input.

4. Set bits CKS2 to CKS0 in TCRV0 and bit ICKS0 in TCRV1 to select the desired clock source.
5. After these settings, a pulse waveform will be output without further software intervention,

    with a delay determined by TCORA from the TRGV input, and a pulse width determined by
    (TCORB TCORA).

           TCNTV value                    Counter cleared
H'FF
TCORB                                                                        Time
TCORA
H'00
TRGV

TMOV

      Compare match A                     Compare match A

                        Compare match B                    Compare match B
                        clears TCNTV and                   clears TCNTV and
                        halts count-up                     halts count-up

Figure 12.10 Example of Pulse Output Synchronized to TRGV Input

Rev. 3.00, 05/03, page 166 of 472
12.6 Usage Notes

The following types of contention or operation can occur in timer V operation.

1. Writing to registers is performed in the T3 state of a TCNTV write cycle. If a TCNTV clear
     signal is generated in the T3 state of a TCNTV write cycle, as shown in figure 12.11, clearing
     takes precedence and the write to the counter is not carried out. If counting-up is generated in
     the T3 state of a TCNTV write cycle, writing takes precedence.

2. If a compare match is generated in the T3 state of a TCORA or TCORB write cycle, the write
     to TCORA or TCORB takes precedence and the compare match signal is inhibited. Figure
     12.12 shows the timing.

3. If compare matches A and B occur simultaneously, any conflict between the output selections
     for compare match A and compare match B is resolved by the following priority: toggle
     output > output 1 > output 0.

4. Depending on the timing, TCNTV may be incremented by a switch between different internal
     clock sources. When TCNTV is internally clocked, an increment pulse is generated from the
     falling edge of an internal clock signal, that is divided system clock (). Therefore, as shown
     in figure 12.3 the switch is from a high clock signal to a low clock signal, the switchover is
     seen as a falling edge, causing TCNTV to increment. TCNTV can also be incremented by a
     switch between internal and external clocks.

                       TCNTV write cycle by CPU

                       T1     T2  T3

                          TCNTV address
Address

Internal write signal

Counter clear signal

TCNTV                      N                     H'00

Figure 12.11 Contention between TCNTV Write and Clear

                                  Rev. 3.00, 05/03, page 167 of 472
                                   TCORA write cycle by CPU

                                   T1      T2  T3

                                      TCORA address
              Address

Internal write signal

              TCNTV                     N                    N+1

              TCORA                     N                      M
                                                             TCORA write data

Compare match signal

                                                                  Inhibited

Figure 12.12 Contention between TCORA Write and Compare Match

Clock before
switching

Clock after
switching

Count clock

TCNTV         N                    N+1                       N+2

                                          Write to CKS1 and CKS0

Figure 12.13 Internal Clock Switching and TCNTV Operation

Rev. 3.00, 05/03, page 168 of 472
                       Section 13 Timer Z

The timer Z has a 16-bit timer with two channels. Figures 13.1, 13.2, and 13.3 show the block
diagrams of entire timer Z, its channel 0, and its channel 1, respectively. For details on the timer Z
functions, refer to table 13.1.

13.1 Features

Capability to process up to eight inputs/outputs
Eight general registers (GE): four registers for each channel

     Independently assignable output compare or input capture functions
Selection of five counter clock sources: four internal clocks (, /2, /4, and /8) and an

    external clock
Seven selectable operating modes

     Output compare function
        Selection of 0 output, 1 output, or toggle output

     Input capture function
        Rising edge, falling edge, or both edges

     Synchronous operation
        Timer counters_0 and _1 (TCNT_0 and TCNT_1) can be written simultaneously.
        Simultaneous clearing by compare match or input capture is possible.

     PWM mode
        Up to six-phase PWM output can be provided with desired duty ratio.

     Reset synchronous PWM mode
        Three-phase PWM output for normal and counter phases

     Complementary PWM mode
        Three-phase PWM output for non-overlapped normal and counter phases
        The A/D conversion start trigger can be set for PWM cycles.

     Buffer operation
        The input capture register can be consisted of double buffers.
        The output compare register can automatically be modified.

High-speed access by the internal 16-bit bus
     16-bit TCNT and GR registers can be accessed in high speed by a 16-bit bus interface

Any initial timer output value can be set
Output of the timer is disabled by external trigger
Eleven interrupt sources

     Four compare match/input capture interrupts and an overflow interrupt are available for
        each channel. An underflow interrupt can be set for channel 1.

TIM08Z0A_000120030300  Rev. 3.00, 05/03, page 169 of 472
Table 13.1 Timer Z Functions

Item                       Channel 0                       Channel 1

Count clock                Internal clocks: , /2, /4, /8
                           External clock: FTIOA0 (TCLK)

General registers          GRA_0, GRB_0, GRC_0, GRD_0 GRA_1, GRB_1, GRC_1, GRD_1
(output compare/input
capture registers)

Buffer register            GRC_0, GRD_0                    GRC_1, GRD_1

I/O pins                   FTIOA0, FTIOB0, FTIOC0,         FTIOA1, FTIOB1, FTIOC1,
                           FTIOD0                          FTIOD1

Counter clearing function  Compare match/input capture of  Compare match/input capture of
                           GRA_0, GRB_0, GRC_0, or         GRA_1, GRB_1, GRC_1, or
                           GRD_0                           GRD_1

Compare          0 output Yes                              Yes

match output 1 output Yes                                  Yes

                 output Yes                                Yes

Input capture function     Yes                             Yes

Synchronous operation Yes                                  Yes

PWM mode                   Yes                             Yes

Reset synchronous PWM Yes                                  Yes

mode

Complementary PWM          Yes                             Yes

mode

Buffer function            Yes                             Yes

Interrupt sources          Compare match/input capture A0  Compare match/input capture A1
                           to D0                           to D1
                           Overflow                        Overflow
                                                           Underflow

Rev. 3.00, 05/03, page 170 of 472
FTIOA0             Control logic                                                  ITMZ0
FTIOB0                                                                            ITMZ1
FTIOC0
FTIOD0                                                                            ADTRG

FTIOA1
FTIOB1
FTIOC1
FTIOD1

, /2,
/4, /8

        Channel 0  Channel 1      TSTR TMDR
           timer      timer       TPMR TFCR
                                  TOER TOCR

                                                                 Module data bus

Legend
TSTR : Timer start register (8 bits)
TMDR : Timer mode register (8 bits)
TPMR : Timer PWM mode register (8 bits)
TFCR : Timer function control register (8 bits)
TOER : Timer output master enable register (8 bits)
TOCR : Timer output control register (8 bits)

           : A/D conversion start trigger output signal
ITMZ0 : Channel 0 interrupt
ITMZ1 : Channel 1 interrupt

                               Figure 13.1 Timer Z Block Diagram

                                  Rev. 3.00, 05/03, page 171 of 472
, /2,      Clock select                                                                                                                 FTIOA0
/4, /8     Comparator                                                                                                                   FTIOB0
                                                                                                                                        FTIOC0
                                                       Control logic                                                                    FTIOD0

                                                                                                                                        ITMZ0

           TCNT_0
                      GRA_0
                                  GRB_0
                                              GRC_0
                                                          GRD_0
                                                                     TCR_0
                                                                                 TIORA_0
                                                                                             TIORC_0
                                                                                                         TSR_0
                                                                                                                     TIER_0
                                                                                                                                POCR_0

                                                    Module data bus

Legend

TCNT_0 :   Timer counter_0 (16 bits)

GRA_0, GRB_0: General registers A_0, B_0, C_0, and D_0 (input capture/output compare registers:
GRC_0, GRD_0 : 16 bits 4)

TCR_0 :    Timer control register_0 (8 bits)

TIORA_0 :  Timer I/O control register A_0 (8 bits)

TIORC_0 :  Timer I/O control register C_0 (8 bits)

TSR_0 :    Timer status register_0 (8 bits)

TIER_0 :   Timer interrupt enable register_0 (8 bits)

POCR_0 :   PWM mode output level control register_0 (8 bits)

ITMZ0 :    Channel 0 interrupt

           Figure 13.2 Timer Z (Channel 0) Block Diagram

Rev. 3.00, 05/03, page 172 of 472
, /2,      Clock select                                                                                                                 FTIOA1
/4, /8     Comparator                                                                                                                   FTIOB1
                                                                                                                                        FTIOC1
                                                    Control logic                                                                       FTIOD1

                                                                                                                                        ITMZ1

           TCNT_1
                      GRA_1
                                  GRB_1
                                              GRC_1
                                                          GRD_1
                                                                     TCR_1
                                                                                 TIORA_1
                                                                                             TIORC_1
                                                                                                         TSR_1
                                                                                                                     TIER_1
                                                                                                                                POCR_1

                                                    Module data bus

Legend

TCNT_1 :   Timer counter_1 (16 bits)

GRA_1, GRB_1: General registers A_1, B_1, C_1, and D_1 (input capture/output compare registers:
GRC_1, GRD_1 : 16 bits 4)

TCR_1 :    Timer control register_1 (8 bits)

TIORA_1 :  Timer I/O control register A_1 (8 bits)

TIORC_1 :  Timer I/O control register C_1 (8 bits)

TSR_1 :    Timer status register_1 (8 bits)

TIER_1 :   Timer interrupt enable register_1 (8 bits)
POCR_1 :   PWM mode output level control register_1 (8 bits)

ITMZ1 :    Channel 1 interrupt

           Figure 13.3 Timer Z (Channel 1) Block Diagram

                                                                     Rev. 3.00, 05/03, page 173 of 472
13.2 Input/Output Pins

Table 13.2 summarizes the timer Z pins.

Table 13.2 Pin Configuration

Name                  Abbreviation Input/Output        Function
Input capture/output
compare A0            FTIOA0             Input/output  GRA_0 output compare output, GRA_0
                                                       input capture input, or external clock
Input capture/output  FTIOB0             Input/output  input (TCLK)
compare B0            FTIOC0             Input/output
Input capture/output                                   GRB_0 output compare output, GRB_0
compare C0            FTIOD0             Input/output  input capture input, or PWM output
                      FTIOA1             Input/output
Input capture/output                                   GRC_0 output compare output, GRC_0
compare D0            FTIOB1             Input/output  input capture input, or PWM
Input capture/output  FTIOC1             Input/output  synchronous output (in reset
compare A1            FTIOD1             Input/output  synchronous PWM and complementary
                                                       PWM modes)
Input capture/output
compare B1                                             GRD_0 output compare output, GRD_0
Input capture/output                                   input capture input, or PWM output
compare C1
Input capture/output                                   GRA_1 output compare output, GRA_1
compare D1                                             input capture input, or PWM output (in
                                                       reset synchronous PWM and
                                                       complementary PWM modes)

                                                       GRB_1 output compare output, GRB_1
                                                       input capture input, or PWM output

                                                       GRC_1 output compare output, GRC_1
                                                       input capture input, or PWM output

                                                       GRD_1 output compare output, GRD_1
                                                       input capture input, or PWM output

Rev. 3.00, 05/03, page 174 of 472
13.3 Register Descriptions

The timer Z has the following registers.

Common

Timer start register (TSTR)
Timer mode register (TMDR)
Timer PWM mode register (TPMR)
Timer function control register (TFCR)
Timer output master enable register (TOER)
Timer output control register (TOCR)

Channel 0

Timer control register_0 (TCR_0)
Timer I/O control register A_0 (TIORA_0)
Timer I/O control register C_0 (TIORC_0)
Timer status register_0 (TSR_0)
Timer interrupt enable register_0 (TIER_0)
PWM mode output level control register_0 (POCR_0)
Timer counter_0 (TCNT_0)
General register A_0 (GRA_0)
General register B_0 (GRB_0)
General register C_0 (GRC_0)
General register D_0 (GRD_0)

Channel 1

Timer control register_1 (TCR_1)
Timer I/O control register A_1 (TIORA_1)
Timer I/O control register C_1 (TIORC_1)
Timer status register_1 (TSR_1)
Timer interrupt enable register_1 (TIER_1)
PWM mode output level control register_1 (POCR_1)
Timer counter_1 (TCNT_1)
General register A_1 (GRA_1)
General register B_1 (GRB_1)
General register C_1 (GRC_1)
General register D_1 (GRD_1)

                                                     Rev. 3.00, 05/03, page 175 of 472
13.3.1 Timer Start Register (TSTR)

TSTR selects the operation/stop for the TCNT counter.

           Initial

Bit  Bit Name Value R/W Description

7 to 2     All 1                    Reserved

                                    These bits are always read as 1, and cannot be modified.

1    STR1  0        R/W Channel 1 Counter Start

                                    0: TCNT_1 halts counting

                                    1: TCNT_1 starts counting

0    STR0  0        R/W Channel 0 Counter Start

                                    0: TCNT_0 halts counting

                                    1: TCNT_0 starts counting

13.3.2 Timer Mode Register (TMDR)

TMDR selects buffer operation settings and synchronized operation.

           Initial

Bit  Bit Name Value R/W Description

7    BFD1  0        R/W Buffer Operation D1

                                    0: GRD_1 operates normally

                                    1: GRB_1 and GRD_1 are used together for buffer
                                       operation

6    BFC1  0        R/W Buffer Operation C1

                                    0: GRC_1 operates normally

                                    1: GRA_1 and GRD_1 are used together for buffer
                                       operation

5    BFD0  0        R/W Buffer Operation D0

                                    0: GRD_0 operates normally

                                    1: GRB_0 and GRD_0 are used together for buffer
                                       operation

4    BFC0  0        R/W Buffer Operation C0

                                    0: GRC_0 operates normally

                                    1: GRA_0 and GRC_0 are used together for buffer
                                       operation

3 to 1     All 1                    Reserved

                                    These bits are always read as 1, and cannot be modified.

Rev. 3.00, 05/03, page 176 of 472
           Initial

Bit  Bit Name Value R/W Description

0    SYNC  0        R/W Timer Synchronization

                                      0: TCNT_1 and TCNT_0 operate independently

                                      1: TCNT_1 and TCNT_0 are synchronized

                                      TCNT_1 and TCNT_0 can be pre-set or cleared
                                      synchronously

13.3.3 Timer PWM Mode Register (TPMR)

TPMR sets the pin to enter PWM mode.

           Initial

Bit  Bit Name Value R/W Description

7          1                          Reserved

                                      This bit is always read as 1, and cannot be modified.

6    PWMD1 0        R/W PWM Mode D1

                                      0: FTIOD1 operates normally

                                      1: FTIOD1 operates in PWM mode

5    PWMC1 0        R/W PWM Mode C1

                                      0: FTIOC1 operates normally

                                      1: FTIOC1 operates in PWM mode

4    PWMB1 0        R/W PWM Mode B1

                                      0: FTIOB1 operates normally

                                      1: FTIOB1 operates in PWM mode

3          1                          Reserved

                                      This bit is always read as 1, and cannot be modified.

2    PWMD0 0        R/W PWM Mode D0

                                      0: FTIOD0 operates normally

                                      1: FTIOD0 operates in PWM mode

1    PWMC0 0        R/W PWM Mode C0

                                      0: FTIOC0 operates normally

                                      1: FTIOC0 operates in PWM mode

0    PWMB0 0        R/W PWM Mode B0

                                      0: FTIOB0 operates normally

                                      1: FTIOB0 operates in PWM mode

                                                Rev. 3.00, 05/03, page 177 of 472
13.3.4 Timer Function Control Register (TFCR)

TFCR selects the settings and output levels for each operating mode.

           Initial

Bit  Bit Name Value R/W Description

7          1                       Reserved

                                   This bit is always read as 1.

6    STCLK 0        R/W External Clock Input Select

                                   0: External clock input is disabled

                                   1: External clock input is enabled

5    ADEG  0        R/W A/D Trigger Edge Select

                                   A/D module should be set to start an A/D conversion by
                                   the external trigger

                                   0: A/D trigger at the crest in complementary PWM mode

                                   1: A/D trigger at the trough in complementary PWM mode

4    ADTRG 0        R/W External Trigger Disable

                                   0: A/D trigger for PWM cycles is disabled in
                                      complementary PWM mode

                                   1: A/D trigger for PWM cycles is enabled in
                                      complementary PWM mode

3    OLS1  0        R/W Output Level Select 1

                                   Selects the counter-phase output levels in reset
                                   synchronous PWM mode or complementary PWM mode.

                                   0: Initial output is high and the active level is low.

                                   1: Initial output is low and the active level is high.

2    OLS0  0        R/W Output Level Select 0

                                   Selects the normal-phase output levels in reset
                                   synchronous PWM mode or complementary PWM mode.

                                   0: Initial output is high and the active level is low.

                                   1: Initial output is low and the active level is high.

                                   Figure 13.4 shows an example of outputs in reset
                                   synchronous PWM mode and complementary PWM
                                   mode when OLS1 = 0 and OLS0 = 0.

Rev. 3.00, 05/03, page 178 of 472
                        Initial

Bit  Bit Name Value R/W Description

1    CMD1               0        R/W Combination Mode 1 and 0

0    CMD0               0        R/W 00: Channel 0 and channel 1 operate normally

                                               01: Channel 0 and channel 1 are used together to
                                                    operate in reset synchronous PWM mode

                                               10: Channel 0 and channel 1 are used together to
                                                    operate in complementary PWM mode (transferred at
                                                    the trough)

                                               11: Channel 0 and channel 1 are used together to
                                                    operate in complementary PWM mode (transferred at
                                                    the crest)

                                               Note: When reset synchronous PWM mode or
                                                       complementary PWM mode is selected by these
                                                       bits, this setting has the priority to the settings for
                                                       PWM mode by each bit in TPMR. Stop TCNT_0
                                                       and TCNT_1 before making settings for reset
                                                       synchronous PWM mode or complementary PWM
                                                       mode.

                                                                                                  TCNT_0
                                                                                                                 TCNT_1

Normal phase                                   Normal phase                                       Active level

                                 Active level

Counter phase                                  Counter phase  Initial
                                                              output
               Initial

               output                                                               Active level

                           Active level

Reset synchronous PWM mode                     Complementary PWM mode

     Note: Write H'00 to TOCR to start initial outputs after stopping the counter.

               Figure 13.4 Example of Outputs in Reset Synchronous PWM Mode
                                     and Complementary PWM Mode

                                                                                    Rev. 3.00, 05/03, page 179 of 472
13.3.5 Timer Output Master Enable Register (TOER)

TOER enables/disables the outputs for channel 0 and channel 1. When WKP4 is selected for
inputs, if a low level signal is input to WKP4, the bits in TOER are set to 1 to disable the output
for timer Z.

          Initial

Bit  Bit Name Value R/W Description

7    ED1  1        R/W Master Enable D1

                                   0: FTIOD1 pin output is enabled according to the TPMR,
                                      TFCR, and TIORC_1 settings

                                   1: FTIOD1 pin output is disabled regardless of the TPMR,
                                      TFCR, and TIORC_1 settings (FTIOD1 pin is operated
                                      as an I/O port).

6    EC1  1        R/W Master Enable C1

                                   0: FTIOC1 pin output is enabled according to the TPMR,
                                      TFCR, and TIORC_1 settings

                                   1: FTIOC1 pin output is disabled regardless of the TPMR,
                                      TFCR, and TIORC_1 settings (FTIOC1 pin is operated
                                      as an I/O port).

5    EB1  1        R/W Master Enable B1

                                   0: FTIOB1 pin output is enabled according to the TPMR,
                                      TFCR, and TIORA_1 settings

                                   1: FTIOB1 pin output is disabled regardless of the TPMR,
                                      TFCR, and TIORA_1 settings (FTIOB1 pin is operated
                                      as an I/O port).

4    EA1  1        R/W Master Enable A1

                                   0: FTIOA1 pin output is enabled according to the TPMR,
                                      TFCR, and TIORA_1 settings

                                   1: FTIOA1 pin output is disabled regardless of the TPMR,
                                      TFCR, and TIORA_1 settings (FTIOA1 pin is operated
                                      as an I/O port).

3    ED0  1        R/W Master Enable D0

                                   0: FTIOD0 pin output is enabled according to the TPMR,
                                      TFCR, and TIORC_0 settings

                                   1: FTIOD0 pin output is disabled regardless of the TPMR,
                                      TFCR, and TIORC_0 settings (FTIOD0 pin is operated
                                      as an I/O port).

Rev. 3.00, 05/03, page 180 of 472
           Initial

Bit  Bit Name Value R/W Description

2    EC0   1        R/W Master Enable C0

                    0: FTIOC0 pin output is enabled according to the TPMR,
                       TFCR, and TIORC_0 settings

                    1: FTIOC0 pin output is disabled regardless of the TPMR,
                       TFCR, and TIORC_0 settings (FTIOC0 pin is operated
                       as an I/O port).

1    EB0   1        R/W Master Enable B0

                    0: FTIOB0 pin output is enabled according to the TPMR,
                       TFCR, and TIORA_0 settings

                    1: FTIOB0 pin output is disabled regardless of the TPMR,
                       TFCR, and TIORA_0 settings (FTIOB0 pin is operated
                       as an I/O port).

0    EA0   1        R/W Master Enable A0

                    0: FTIOA0 pin output is enabled according to the TPMR,
                       TFCR, and TIORA_0 settings

                    1: FTIOA0 pin output is disabled regardless of the TPMR,
                       TFCR, and TIORA_0 settings (FTIOA0 pin is operated
                       as an I/O port).

13.3.6 Timer Output Control Register (TOCR)

TOCR selects the initial outputs before the first occurrence of a compare match. Note that bits
OLS1 and OLS0 in TFCR set these initial outputs in reset synchronous PWM mode and
complementary PWM mode.

           Initial

Bit  Bit Name Value R/W Description

7    TOD1  0        R/W Output Level Select D1

                    0: 0 output at the FTIOD1 pin*

                    1: 1 output at the FTIOD1 pin*

6    TOC1  0        R/W Output Level Select C1

                    0: 0 output at the FTIOC1 pin*

                    1: 1 output at the FTIOC1 pin*

5    TOB1  0        R/W Output Level Select B1

                    0: 0 output at the FTIOB1 pin*

                    1: 1 output at the FTIOB1 pin*

                                                Rev. 3.00, 05/03, page 181 of 472
           Initial

Bit  Bit Name Value R/W Description

4    TOA1  0        R/W Output Level Select A1

                                   0: 0 output at the FTIOA1 pin*

                                   1: 1 output at the FTIOA1 pin*

3    TOD0  0        R/W Output Level Select D0

                                   0: 0 output at the FTIOD0 pin*

                                   1: 1 output at the FTIOD0 pin*

2    TOC0  0        R/W Output Level Select C0

                                   0: 0 output at the FTIOC0 pin*

                                   1: 1 output at the FTIOC0 pin*

1    TOB0  0        R/W Output Level Select B0

                                   0: 0 output at the FTIOB0 pin*

                                   1: 1 output at the FTIOB0 pin*

0    TOA0  0        R/W Output Level Select A0

                                   0: 0 output at the FTIOA0 pin*

                                   1: 1 output at the FTIOA0 pin*

Note: * The change of the setting is immediately reflected in the output value.

13.3.7 Timer Counter (TCNT)

The timer Z has two TCNT counters (TCNT_0 and TCNT_1), one for each channel. The TCNT
counters are 16-bit readable/writable registers that increment/decrement according to input clocks.
Input clocks can be selected by bits TPSC2 to TPSC0 in TCR. TCNT0 and TCNT 1
increment/decrement in complementary PWM mode, while they only increment in other modes.

The TCNT counters are initialized to H'0000 by compare matches with corresponding GRA, GRB,
GRC, or GRD, or input captures to GRA, GRB, GRC, or GRD (counter clearing function). When
the TCNT counters overflow, an OVF flag in TSR for the corresponding channel is set to 1. When
TCNT_1 underflows, an UDF flag in TSR is set to 1. The TCNT counters cannot be accessed in 8-
bit units; they must always be accessed as a 16-bit unit.

13.3.8 General Registers A, B, C, and D (GRA, GRB, GRC, and GRD)

GR are 16-bit registers. Timer Z has eight general registers (GR), four for each channel. The GR
registers are dual function 16-bit readable/writable registers, functioning as either output compare
or input capture registers. Functions can be switched by TIORA and TIORC.

Rev. 3.00, 05/03, page 182 of 472
The values in GR and TCNT are constantly compared with each other when the GR registers are
used as output compare registers. When the both values match, the IMFA to IMFD flags in TSR
are set to 1. Compare match outputs can be selected by TIORA and TIORC.

When the GR registers are used as input capture registers, the TCNT value is stored after detecting
external signals. At this point, IMFA to IMFD flags in the corresponding TSR are set to 1.
Detection edges for input capture signals can be selected by TIORA and TIORC.

When PWM mode, complementary PWM mode, or reset synchronous PWM mode is selected, the
values in TIORA and TIORC are ignored. Upon reset, the GR registers are set as output compare
registers (no output) and initialized to H'FFFF. The GR registers cannot be accessed in 8-bit units;
they must always be accessed as a 16-bit unit.

13.3.9 Timer Control Register (TCR)

The TCR registers select a TCNT counter clock, an edge when an external clock is selected, and
counter clearing sources. Timer Z has a total of two TCR registers, one for each channel.

     Initial

Bit  Bit Name value R/W Description

7    CCLR2 0  R/W Counter Clear 2 to 0

6    CCLR1 0  R/W 000: Disables TCNT clearing

5    CCLR0 0  R/W 001: Clears TCNT by GRA compare match/input
                                capture*1

              010: Clears TCNT by GRB compare match/input
                     capture*1

              011: Synchronization clear; Clears TCNT in synchronous
                     with counter clearing of the other channel's timer*2

              000: Disables TCNT clearing

              001: Clears TCNT by GRC compare match/input
                     capture*1

              010: Clears TCNT by GRD compare match/input
                     capture*1

              011: Synchronization clear; Clears TCNT in synchronous
                     with counter clearing of the other channel's timer*2

4    CKEG1 0  R/W Clock Edge 1 and 0

3    CKEG0 0  R/W 00: Count at rising edge

              01: Count at falling edge

              1X: Count at both edges

                                        Rev. 3.00, 05/03, page 183 of 472
           Initial

Bit  Bit Name value R/W Description

2    TPSC2 0        R/W Time Prescaler 2 to 0

1    TPSC1 0        R/W 000: Internal clock: count by

0    TPSC0 0        R/W 001: Internal clock: count by /2

                                   010: Internal clock: count by /4
                                   011: Internal clock: count by /8

                                   1XX: External clock: count by FTIOA0 (TCLK) pin input

Notes: 1. When GR functions as an output compare register, TCNT is cleared by compare match.
               When GR functions as input capture, TCNT is cleared by input capture.

          2. Synchronous operation is set by TMDR.
          3. X: Don't care

13.3.10 Timer I/O Control Register (TIORA and TIORC)

The TIOR registers control the general registers (GR). Timer Z has four TIOR registers
(TIORA_0, TIORA_1, TIORC_0, and TIORC_1), two for each channel. In PWM mode including
complementary PWM mode and reset synchronous PWM mode, the settings of TIOR are invalid.

TIORA: TIORA selects whether GRA or GRB is used as an output compare register or an input
capture register. When an output compare register is selected, the output setting is selected. When
an input capture register is selected, an input edge of an input capture signal is selected. TIORA
also selects the function of FTIOA or FTIOB pin.

           Initial

Bit  Bit Name value R/W Description

7          1                       Reserved

                                   This bit is always read as 1.

6    IOB2  0        R/W I/O Control B2 to B0

5    IOB1  0        R/W GRB is an output compare register:

4    IOB0  0        R/W 000: Disables pin output by compare match

                                   001: 0 output by GRB compare match

                                   010: 1 output by GRB compare match

                                   011: Toggle output by GRB compare match

                                   GRB is an input capture register:

                                   100: Input capture to GRB at the rising edge

                                   101: Input capture to GRB at the falling edge

                                   11X: Input capture to GRB at both rising and falling edges

Rev. 3.00, 05/03, page 184 of 472
           Initial

Bit  Bit Name value R/W Description

3          1             Reserved

                         This bit is always read as 1.

2    IOA2  0           R/W I/O Control A2 to A0

1    IOA1  0           R/W GRA is an output compare register:

0    IOA0  0           R/W 000: Disables pin output by compare match

                         001: 0 output by GRA compare match

                         010: 1 output by GRA compare match

                         011: Toggle output by GRA compare match

                         GRA is an input capture register:

                         100: Input capture to GRA at the rising edge

                         101: Input capture to GRA at the falling edge

                         11X: Input capture to GRA at both rising and falling edges

Legend: X: Don't care

TIORC: TIORC selects whether GRC or GRD is used as an output compare register or an input
capture register. When an output compare register is selected, the output setting is selected. When
an input capture register is selected, an input edge of an input capture signal is selected. TIORC
also selects the function of FTIOC or FTIOD pin.

           Initial

Bit  Bit Name value R/W Description

7          1             Reserved

                         This bit is always read as 1.

6    IOD2  0           R/W I/O Control D2 to D0

5    IOD1  0           R/W GRD is an output compare register:

4    IOD0  0           R/W 000: Disables pin output by compare match

                         001: 0 output by GRD compare match

                         010: 1 output by GRD compare match

                         011: Toggle output by GRD compare match

                         GRD is an input capture register:

                         100: Input capture to GRD at the rising edge

                         101: Input capture to GRD at the falling edge

                         11X: Input capture to GRD at both rising and falling
                         edges

                                                 Rev. 3.00, 05/03, page 185 of 472
           Initial

Bit  Bit Name value    R/W           Description
                                     Reserved
3          1                         This bit is always read as 1.
                       R/W           I/O Control C2 to C0
2    IOC2  0           R/W           GRC is an output compare register:
                       R/W           000: Disables pin output by compare match
1    IOC1  0                         001: 0 output by GRC compare match
                                     010: 1 output by GRC compare match
0    IOC0  0                         011: Toggle Output by GRC compare match
                                     GRC is an input capture register:
                                     100: Input capture to GRC at the rising edge
                                     101: Input capture to GRC at the falling edge
                                     11X: Input capture to GRC at both rising and falling

                                            edges

Legend: X: Don't care

13.3.11 Timer Status Register (TSR)

TSR indicates generation of an overflow/underflow of TCNT and a compare match/input capture
of GRA, GRB, GRC, and GRD. These flags are interrupt sources. If an interrupt is enabled by a
corresponding bit in TIER, TSR requests an interrupt for the CPU. Timer Z has two TSR registers,
one for each channel.

           Initial

Bit  Bit Name value R/W Description

7, 6       All 1                     Reserved

                                     These bits are always read as 1.

5    UDF*  0           R/W Underflow Flag

                                     [Setting condition]

                                     When TCNT_1 underflows
                                     [Clearing condition]

                                     When 0 is written to UDF after reading UDF = 1

4    OVF   0           R/W Overflow Flag

                                     [Setting condition]

                                     When the TCNT value underflows
                                     [Clearing condition]

                                     When 0 is written to OVF after reading OVF = 1

Rev. 3.00, 05/03, page 186 of 472
           Initial

Bit  Bit Name value R/W Description

3    IMFD  0        R/W Input Capture/Compare Match Flag D

                    [Setting conditions]

                     When TCNT = GRD and GRD is functioning as output
                        compare register

                     When TCNT value is transferred to GRD by input
                        capture signal and GRD is functioning as input
                        capture register

                    [Clearing condition]

                     When 0 is written to IMFD after reading IMFD = 1

2    IMFC  0        R/W Input Capture/Compare Match Flag C

                    [Setting conditions]

                     When TCNT = GRC and GRC is functioning as output
                        compare register

                     When TCNT value is transferred to GRC by input
                        capture signal and GRC is functioning as input
                        capture register

                    [Clearing condition]

                     When 0 is written to IMFC after reading IMFC = 1

1    IMFB  0        R/W Input Capture/Compare Match Flag B

                    [Setting conditions]

                     When TCNT = GRB and GRB is functioning as output
                        compare register

                     When TCNT value is transferred to GRB by input
                        capture signal and GRB is functioning as input
                        capture register

                    [Clearing condition]

                     When 0 is written to IMFB after reading IMFB = 1

0    IMFA  0        R/W Input Capture/Compare Match Flag A

                    [Setting conditions]

                     When TCNT = GRA and GRA is functioning as output
                        compare register

                     When TCNT value is transferred to GRA by input
                        capture signal and GRA is functioning as input
                        capture register

                    [Clearing condition]

                                                       When 0 is written to IMFA after reading IMFA = 1
Note: Bit 5 is not the UDF flag in TSR_0. It is a reserved bit. It is always read as 1.

                                          Rev. 3.00, 05/03, page 187 of 472
13.3.12 Timer Interrupt Enable Register (TIER)

TIER enables or disables interrupt requests for overflow or GR compare match/input capture.
Timer Z has two TIER registers, one for each channel.

Bit     Bit Name  Initial  R/W     Description
7 to 5            value            Reserved
                           R/W     These bits are always read as 1.
                  All 1            Overflow Interrupt Enable
                           R/W     0: Interrupt requests (OVI) by OVF or UDF flag are
4       OVIE      0        R/W
                           R/W        disabled
3       IMIED     0        R/W     1: Interrupt requests (OVI) by OVF or UDF flag are

2       IMIEC     0                   enabled
                                   Input Capture/Compare Match Interrupt Enable D
1       IMIEB     0                0: Interrupt requests (IMID) by IMFD flag are disabled
                                   1: Interrupt requests (IMID) by IMFD flag are enabled
0       IMIEA     0                Input Capture/Compare Match Interrupt Enable C
                                   0: Interrupt requests (IMIC) by IMFC flag are disabled
                                   1: Interrupt requests (IMIC) by IMFC flag are enabled
                                   Input Capture/Compare Match Interrupt Enable B
                                   0: Interrupt requests (IMIB) by IMFB flag are disabled
                                   1: Interrupt requests (IMIB) by IMFB flag are enabled
                                   Input Capture/Compare Match Interrupt Enable A
                                   0: Interrupt requests (IMIA) by IMFA flag are disabled
                                   1: Interrupt requests (IMIA) by IMFA flag are enabled

Rev. 3.00, 05/03, page 188 of 472
13.3.13 PWM Mode Output Level Control Register (POCR)

POCR control the active level in PWM mode. Timer Z has two POCR registers, one for each
channel.

              Initial

Bit  Bit Name value R/W Description

7 to 3        All 1                       Reserved

                                          These bits are always read as 1.

2    POLD     0        R/W PWM Mode Output Level Control D

                                          0: The output level of FTIOD is low-active

                                          1: The output level of FTIOD is high-active

1    POLC     0        R/W PWM Mode Output Level Control C

                                          0: The output level of FTIOC is low-active

                                          1: The output level of FTIOC is high-active

0    POLB     0        R/W PWM Mode Output Level Control B

                                          0: The output level of FTIOB is low-active

                                          1: The output level of FTIOB is high-active

13.3.14 Interface with CPU

1. 16-bit register
    TCNT and GR are 16-bit registers. Reading/writing in a 16-bit unit is enabled but disabled in
    an 8-bit unit since the data bus with the CPU is 16-bit width. These registers must always be
    accessed in a 16-bit unit. Figure 13.5 shows an example of accessing the 16-bit registers.

                       Internal data bus
                    H
     C

     P     L             Bus interface                                      Module data bus

     U

                                                                                 TCNTH TCNTL

   Figure 13.5 Accessing Operation of 16-Bit Register (between CPU and TCNT (16 bits))

                                                    Rev. 3.00, 05/03, page 189 of 472
2. 8-bit register
    Registers other than TCNT and GR are 8-bit registers that are connected internally with the
    CPU in an 8-bit width. Figure 13.6 shows an example of accessing the 8-bit registers.

                 Internal data bus
               H
C

P  L                               Bus interface  Module data bus

U

                                                                                    TSTR

Figure 13.6 Accessing Operation of 8-Bit Register (between CPU and TSTR (8 bits))

Rev. 3.00, 05/03, page 190 of 472
13.4 Operation

13.4.1 Counter Operation

When one of bits STR0 and STR1 in TSTR is set to 1, the TCNT counter for the corresponding
channel begins counting. TCNT can operate as a free-running counter, periodic counter, for
example. Figure 13.7 shows an example of the counter operation setting procedure.

Operation selection                                       [1] Select the counter
                                                                clock with bits
      Select counter clock [1]      Free-running counter        TPSC2 to TPSC0 in
         Periodic counter                                       TCR. When an external
                                                                clock is selected, select
Select counter clearing source [2]                              the external clock edge
                                                                with bits CKEG1
Select output compare register [3]                              and CKEG0 in TCR.

Set period             [4]                                [2] For periodic counter
                                                                operation, select the
Start count operation  [5]                                      TCNT clearing
                                                                source with bits
                                                                CCLR2 to CCLR0 in
                                                                TCR.

                                                          [3] Designate the general
                                                                register selected in [2]
                                                                as an output compare
                                                                register by means of
                                                                TIOR.

                                                          [4] Set the periodic counter
                                                                cycle in the general
                                                                register selected
                                                                in [2].

                                                          [5] Set the STR bit in TSTR
                                                                to 1 to start the counter
                                                                operation.

                   Figure 13.7 Example of Counter Operation Setting Procedure

1. Free-running count operation and periodic count operation
    Immediately after a reset, the TCNT counters for channels 0 and 1 are all designated as free-
    running counters. When the relevant bit in TSTR is set to 1, the corresponding TCNT counter
    starts an increment operation as a free-running counter. When TCNT overflows, the OVF flag
    in TSR is set to 1. If the value of the OVIE bit in the corresponding TIER is 1 at this point,
    timer Z requests an interrupt. After overflow, TCNT starts an increment operation again from
    H'0000.
    Figure 13.8 illustrates free-running counter operation.

                                    Rev. 3.00, 05/03, page 191 of 472
TCNT value

H'FFFF

H'0000                             Time

STR0,
STR1

                 OVF

                             Figure 13.8 Free-Running Counter Operation

When compare match is selected as the TCNT clearing source, the TCNT counter for the relevant
channel performs periodic count operation. The GR registers for setting the period are designated
as output compare registers, and counter clearing by compare match is selected by means of bits
CCLR1 and CCLR0 in TCR. After the settings have been made, TCNT starts an increment
operation as a periodic counter when the corresponding bit in TSTR is set to 1. When the count
value matches the value in GR, the IMFA, IMFB, IMFC, or IMFD flag in TSR is set to 1 and
TCNT is cleared to H'0000.

If the value of the corresponding IMIEA, IMIEB, IMIEC, or IMIED bit in TIER is 1 at this point,
the timer Z requests an interrupt. After a compare match, TCNT starts an increment operation
again from H'0000.

Figure 13.9 illustrates periodic counter operation.

Rev. 3.00, 05/03, page 192 of 472
         TCNT value       Counter cleared by GR compare match
GR value

H'0000                                                         Time

                  STR

                  IMF

                                 Figure 13.9 Periodic Counter Operation

2. TCNT count timing
    A. Internal clock operation
        A system clock () or three types of clocks (/2, /4, or /8) that divides the system clock
        can be selected by bits TPSC2 to TPSC0 in TCR.
        Figure 13.10 illustrates this timing.

        
Internal clock

TCNT input

TCNT                 N-1  N                                          N+1

                  Figure 13.10 Count Timing at Internal Clock Operation

B. External clock operation
    An external clock input pin (TCLK) can be selected by bits TPSC2 to TPSC0 in TCR, and
    a detection edge can be selected by bits CKEG1 and CKEG0. To detect an external clock,
    the rising edge, falling edge, or both edges can be selected. The pulse width of the external
    clock needs two or more system clocks. Note that an external clock does not operate
    correctly with the lower pulse width.

                                                                                  Rev. 3.00, 05/03, page 193 of 472
Figure 13.11 illustrates the detection timing of the rising and falling edges.

               
External clock input pin

TCNT input

TCNT                               N-1              N                                  N+1

        Figure 13.11 Count Timing at External Clock Operation (Both Edges Detected)

13.4.2 Waveform Output by Compare Match
Timer Z can perform 0, 1, or toggle output from the corresponding FTIOA, FTIOB, FTIOC, or
FTIOD output pin using compare match A, B, C, or D.
Figure 13.12 shows an example of the setting procedure for waveform output by compare match.

         Output selection                    [1] Select 0 output, 1 output, or toggle
Select waveform output mode
                                             output as a compare much output, by
        Set output timing
   Enable waveform output                    means of TIOR. The initial values set in

                                        [1]  TOCR are output unit the first compare
                                             match occurs.

                                             [2] Set the timing for compare match

                                             generation in GRA/GRB/GRC/GRD.

                                        [2] [3] Enable or disable the timer output by

                                             TOER.

                                             [4] Set the STR bit in TSTR to 1 to start the

                                                      TCNT count operation.
                                        [3]

            Start count operation       [4]

                     

Figure 13.12 Example of Setting Procedure for Waveform Output by Compare Match

Rev. 3.00, 05/03, page 194 of 472
1. Examples of waveform output operation
    Figure 13.13 shows an example of 0 output/1 output.
    In this example, TCNT has been designated as a free-running counter, and settings have been
    made such that 0 is output by compare match A, and 1 is output by compare match B. When
    the set level and the pin level coincide, the pin level does not change.

                              TCNT value

                 H'FFFF

H'0000                        Time

FTIOB   No change  No change

FTIOA   No change  No change

                   Figure 13.13 Example of 0 Output/1 Output Operation

Figure 13.14 shows an example of toggle output.
In this example, TCNT has been designated as a periodic counter (with counter clearing on
compare match B), and settings have been made such that the output is toggled by both
compare match A and compare match B.

                   Rev. 3.00, 05/03, page 195 of 472
          TCNT value                                             Time
GRB
GRA
H'0000

FTIOB                                                            Toggle output

FTIOA                                                            Toggle output

                Figure 13.14 Example of Toggle Output Operation

2. Output compare timing

    The compare match signal is generated in the last state in which TCNT and GR match (when
    TCNT changes from the matching value to the next value). When the compare match signal is
    generated, the output value selected in TIOR is output at the compare match output pin
    (FTIOA, FTIOB, FTIOC, or FTIOD). When TCNT matches GR, the compare match signal is
    generated only after the next TCNT input clock pulse is input.

    Figure 13.15 shows an example of the output compare timing.



  TCNT input                       N  N+1

     TCNT                          N

       GR
Compare match
signal

FTIOA to FTIOD

                      Figure 13.15 Output Compare Timing

Rev. 3.00, 05/03, page 196 of 472
13.4.3 Input Capture Function

The TCNT value can be transferred to GR on detection of the input edge of the input
capture/output compare pin (FTIOA, FTIOB, FTIOC, or FTIOD). Rising edge, falling edge, or
both edges can be selected as the detected edge. When the input capture function is used, the pulse
width or period can be measured.

Figure 13.16 shows an example of the input capture operation setting procedure.

    Input selection        [1] Designate GR as an input capture

Select input edge of       register by means of TIOR, and select
     input capture
                           rising edge, falling edge, or both edges

                           as the input edge of the input capture

                           signal.

                      [1]  [2] Set the STR bit in TSTR to 1 to start the

                           TCNT counter operation.

                       Start counter operation [2]

                     

              Figure 13.16 Example of Input Capture Operation Setting Procedure
1. Example of input capture operation

    Figure 13.17 shows an example of input capture operation.
    In this example, both rising and falling edges have been selected as the FTIOA pin input
    capture input edge, the falling edge has been selected as the FTIOB pin input capture input
    edge, and counter clearing by GRB input capture has been designated for TCNT.

                                    Rev. 3.00, 05/03, page 197 of 472
           TCNT value          Counter cleared by FTIOB input (rising edge)

H'0180
H'0160

H'0005                                                                    Time
H'0000

FTIOB

FTIOA

GRA                    H'0005     H'0160

GRB                                       H'0180

                          Figure 13.17 Example of Input Capture Operation

2. Input capture signal timing
    Input capture on the rising edge, falling edge, or both edges can be selected through settings in
    TIOR. Figure 13.18 shows the timing when the rising edge is selected. The pulse width of the
    input capture signal must be at least two system clock () cycles.

           
Input capture input

Input capture signal

TCNT                           N

GR                             N

                                Figure 13.18 Input Capture Signal Timing
Rev. 3.00, 05/03, page 198 of 472
13.4.4 Synchronous Operation

In synchronous operation, the values in a number of TCNT counters can be rewritten
simultaneously (synchronous presetting). Also, a number of TCNT counters can be cleared
simultaneously by making the appropriate setting in TCR (synchronous clearing). Synchronous
operation enables GR to be increased with respect to a single time base.

Figure 13.19 shows an example of the synchronous operation setting procedure.

Synchronous operation
         selection

Set synchronous           [1]
    operation

Synchronous presetting         Synchronous clearing

Set TCNT                  [2]        Clearing           No
                               source generation            [3]
                                                                 Select counter                              [4]
                                    channel?                     clearing source

                                              Yes

                                 Select counter
                                 clearing source

                               Start counter operation  [5]      Start counter operation                     [5]

                      

[1] Set the SYNC bits in TMDR to 1.
[2] When a value is written to either of the TCNT counters, the same value is simultaneously written to the

      other TCNT counter.
[3] Set bits CCLR1 and CCLR0 in TCR to specify counter clearing by compare match/input capture.
[4] Set bits CCLR1 and CCLR0 in TCR to designate synchronous clearing for the counter clearing source.
[5] Set the STR bit in TSTR to 1 to start the count operation.

               Figure 13.19 Example of Synchronous Operation Setting Procedure

Figure 13.20 shows an example of synchronous operation. In this example, synchronous operation
has been selected, FTIOB0 and FTIOB1 have been designated for PWM mode, GRA_0 compare
match has been set as the channel 0 counter clearing source, and synchronous clearing has been set
for the channel 1 counter clearing source. Two-phase PWM waveforms are output from pins
FTIOB0 and FTIOB1. At this time, synchronous presetting and synchronous operation by GRA_0
compare match are performed by TCNT counters.

                                                                                       Rev. 3.00, 05/03, page 199 of 472
For details on PWM mode, see section 13.4.5, PWM Mode.

      TCNT values                  Synchronous clearing by GRA_0 compare match
GRA_0                                                                                                             Time
GRA_1
GRB_0
GRB_1
H'0000

FTIOB0

FTIOB1

        Figure 13.20 Example of Synchronous Operation

13.4.5 PWM Mode

In PWM mode, PWM waveforms are output from the FTIOB, FTIOC, and FTIOD output pins
with GRA as a cycle register and GRB, GRC, and GRD as duty registers. The initial output level
of the corresponding pin depends on the setting values of TOCR and POCR. Table 13.3 shows an
example of the initial output level of the FTIOB0 pin.

The output level is determined by the POLB to POLD bits corresponding to POCR. When POLB
is 0, the FTIOB output pin is set to 0 by compare match B and set to 1 by compare match A.
When POLB is 1, the FTIOB output pin is set to 1 by compare match B and cleared to 0 by
compare match A. In PWM mode, maximum 6-phase PWM outputs are possible.

Figure 13.21 shows an example of the PWM mode setting procedure.

Rev. 3.00, 05/03, page 200 of 472
Table 13.3 Initial Output Level of FTIOB0 Pin

TOB0  POLB                                Initial Output Level
0     0                                   1
0     1                                   0
1     0                                   0
1     1                                   1

      PWM mode

      Select counter clock      [1]       [1] Select the counter clock with bits TPSC2
                                                to TOSC0 in TCR. When an external
      Select counter clearing source [2]        clock is selected, select the external
                                                clock edge with bits CKEG1 and CKEG0
      Set PWM mode              [3]             in TCR.

      Set initial output level  [4]       [2] Use bits CCLR1 and CCLR0 in TCR to
                                                select the counter clearing source.
      Select output level       [5]
                                          [3] Select the PWM mode with bits PWMB0
      Set GR                    [6]             to PWMD0 and PWMB1 to PWMD1 in
                                                TPMR.

                                          [4] Set the initial output value with bits
                                                TOB0 to TOD0 and TOB1 to TOD1 in
                                                TOCR.

                                          [5] Set the output level with bits POLB to
                                                POLD in POCR.

                                          [6] Set the cycle in GRA, and set the duty in
                                                the other GR.

                                          [7] Enable or disable the timer output by
                                                TOER.

                                          [8] Set the STR bit in TSTR to 1 and start
                                                the counter operation.

      Enable waveform output [7]

      Start counter operation   [8]

      

      Figure 13.21 Example of PWM Mode Setting Procedure

                                               Rev. 3.00, 05/03, page 201 of 472
Figure 13.22 shows an example of operation in PWM mode. The output signals go to 1 and TCNT
is reset at compare match A, and the output signals go to 0 at compare match B, C, and D (TOB,
TOC, and TOD = 0, POLB, POLC, and POLD = 0).

                                   Counter cleared by GRA compare match

        TCNT value                                                       Time
GRA
GRB
GRC
GRD
H'0000

FTIOB

FTIOC

                  FTIOD

                         Figure 13.22 Example of PWM Mode Operation (1)

Figure 13.23 shows another example of operation in PWM mode. The output signals go to 0 and
TCNT is reset at compare match A, and the output signals go to 1 at compare match B, C, and D
(TOB, TOC, and TOD = 0, POLB, POLC, and POLD = 1).

Rev. 3.00, 05/03, page 202 of 472
                    Counter cleared by GRA compare match

        TCNT value                                        Time
GRA
GRB
GRC
GRD
H'0000

FTIOB

FTIOC

                  FTIOD

                         Figure 13.23 Example of PWM Mode Operation (2)

Figures 13.24 (when TOB, TOC, and TOD = 0, POLB, POLC, and POLD = 0) and 13.25 (when
TOB, TOC, and TOD = 0, POLB, POLC, and POLD = 1) show examples of the output of PWM
waveforms with duty cycles of 0% and 100% in PWM mode.

                    Rev. 3.00, 05/03, page 203 of 472
         TCNT value  GRB rewritten
GRA

GRB                                            GRB rewritten
H'0000
                                                                         Time

FTIOB                                 0% duty

         TCNT value                   When cycle register and duty register compare matches
                       GRB rewritten  occur simultaneously, duty register compare match has
                                      priority.
GRA
                                                     GRB rewritten
GRB
                                      GRB rewritten

H'0000                                                                   Time

FTIOB                                 100% duty

         TCNT value                   When cycle register and duty register compare matches
                       GRB rewritten  occur simultaneously, duty register compare match has
                                      priority.
GRA
                                      GRB rewritten
GRB
                                                                                                  GRB rewritten

H'0000                                                                   Time

FTIOB                                 100% duty      0% duty

                         Figure 13.24 Example of PWM Mode Operation (3)
Rev. 3.00, 05/03, page 204 of 472
         TCNT value  GRB rewritten
GRA

GRB                                               GRB rewritten
H'0000
                                                                     Time

FTIOB                                  0% duty

         TCNT value                    When cycle register and duty register compare matches
                        GRB rewritten  occur simultaneously, duty register compare match has
                                       priority.
GRA
                                                      GRB rewritten
GRB
                                       GRB rewritten

H'0000                                                               Time

FTIOB                                  100% duty

         TCNT value                    When cycle register and duty register compare matches
                       GRB rewritten   occur simultaneously, duty register compare match has
                                       priority.
GRA
                                        GRB rewritten
GRB
                                                                                                    GRB rewritten

H'0000                                                               Time

FTIOB                                  100% duty      0% duty

        Figure 13.25 Example of PWM Mode Operation (4)
                                                                  Rev. 3.00, 05/03, page 205 of 472
13.4.6 Reset Synchronous PWM Mode

Three normal- and counter-phase PWM waveforms are output by combining channels 0 and 1 that
one of changing points of waveforms will be common.

In reset synchronous PWM mode, the FTIOB0 to FTIOD0 and FTIOA1 to FTIOD1 pins become
PWM-output pins automatically. TCNT_0 performs an increment operation. Tables 13.4 and
13.5 show the PWM-output pins used and the register settings, respectively.

Figure 13.26 shows the example of reset synchronous PWM mode setting procedure.

Table 13.4 Output Pins in Reset Synchronous PWM Mode

Channel   Pin Name  Input/Output   Pin Function
0         FTIOC0    Output
0         FTIOB0    Output         Toggle output in synchronous with PWM cycle
0         FTIOD0    Output         PWM output 1
                                   PWM output 1 (counter-phase waveform of PWM
1         FTIOA1 Output            output 1)
                                   PWM output 2
1         FTIOC1 Output            PWM output 2 (counter-phase waveform of PWM
                                   output 2)
1         FTIOB1 Output            PWM output 3
                                   PWM output 3 (counter-phase waveform of PWM
1         FTIOD1 Output            output 3)

Table 13.5 Register Settings in Reset Synchronous PWM Mode

Register  Description
TCNT_0
TCNT_1    Initial setting of H'0000
GRA_0     Not used (independently operates)
GRB_0     Sets counter cycle of TCNT_0

GRA_1     Set a changing point of the PWM waveform output from pins FTIOB0 and
          FTIOD0.
GRB_1     Set a changing point of the PWM waveform output from pins FTIOA1 and
          FTIOC1.
          Set a changing point of the PWM waveform output from pins FTIOB1 and
          FTIOD1.

Rev. 3.00, 05/03, page 206 of 472
Reset synchronous PWM mode

Stop counter operation      [1]     [1] Clear bit STR0 in TSTR to 0 and stop the
                                          counter operation of TCNT_0. Set reset
Select counter clock        [2]           synchronous PWM mode after TCNT_0
                                          stops.
Select counter clearing source [3]
                                    [2] Select the counter clock with bits TPSC2
Set reset synchronous PWM mode [4]        to TOSC0 in TCR. When an external
                                          clock is selected, select the external clock
Initialize the output pin   [5]           edge with bits CKEG1 and CKEG0 in
                                          TCR.
Set TCNT                    [6]
                                    [3] Use bits CCLR1 and CCLR0 in TCR to
                                          select counter clearing source GRA_0.

                                    [4] Select the reset synchronous PWM mode
                                          with bits CMD1 and CMD0 in TFCR.
                                          FTIOB0 to FTIOD0 and FTIOA1 to
                                          FTIOD1 become PWM output pins
                                          automatically.

                                    [5] Set H'00 to TOCR.
                                    [6] Set TCNT_0 as H'0000. TCNT1 does not

                                          need to be set.
                                    [7] GRA_0 is a cycle register. Set a cycle for

                                          GRA_0. Set the changing point timing of
                                          the PWM output waveform for GRB_0,
                                          GRA_1, and GRB_1.
                                    [8] Enable or disable the timer output by
                                          TOER.
                                    [9] Set the STR bit in TSTR to 1 and start the
                                          counter operation.

Set GR                      [7]

Enable waveform output      [8]

Start counter operation     [9]



Figure 13.26 Example of Reset Synchronous PWM Mode Setting Procedure

                                    Rev. 3.00, 05/03, page 207 of 472
Figures 13.27 and 13.28 show examples of operation in reset synchronous PWM mode.

                                   Counter cleared by GRA compare match

        TCNT value                                                       Time
GRA_0
GRB_0
GRA_1
GRB_1
H'0000

FTIOB0
FTIOD0

FTIOA1
FTIOC1

              FTIOB1
              FTIOD1

              FTIOC0

Figure 13.27 Example of Reset Synchronous PWM Mode Operation (OLS0 = OLS1 = 1)

Rev. 3.00, 05/03, page 208 of 472
                     Counter cleared by GRA compare match

         TCNT value                                        Time
GRA_0
GRB_0
GRA_1
GRB_1
H'0000

FTIOB0
FTIOD0

FTIOA1
FTIOC1

                 FTIOB1
                 FTIOD1

                 FTIOC0

  Figure 13.28 Example of Reset Synchronous PWM Mode Operation (OLS0 = OLS1 = 0)
In reset synchronous PWM mode, TCNT_0 and TCNT_1 perform increment and independent
operations, respectively. However, GRA_1 and GRB_1 are separated from TCNT_1. When a
compare match occurs between TCNT_0 and GRA_0, a counter is cleared and an increment
operation is restarted from H'0000.
The PWM pin outputs 0 or 1 whenever a compare match between GRB_0, GRA_1, GRB_1 and
TCNT_0 or counter clearing occur.
For details on operations when reset synchronous PWM mode and buffer operation are
simultaneously set, refer to section 13.4.8, Buffer Operation.

                     Rev. 3.00, 05/03, page 209 of 472
13.4.7 Complementary PWM Mode

Three PWM waveforms for non-overlapped normal and counter phases are output by combining
channels 0 and 1.

In complementary PWM mode, the FTIOB0 to FTIOD0 and FTIOA1 to FTIOD1 pins become
PWM-output pins automatically. TCNT_0 and TCNT_1 perform an increment or decrement
operation. Tables 13.6 and 13.7 show the output pins and register settings in complementary PWM
mode, respectively.

Figure 13.29 shows the example of complementary PWM mode setting procedure.

Table 13.6 Output Pins in Complementary PWM Mode

Channel   Pin Name  Input/Output   Pin Function
0         FTIOC0    Output
0         FTIOB0    Output         Toggle output in synchronous with PWM cycle
0         FTIOD0    Output         PWM output 1
                                   PWM output 1 (counter-phase waveform non-
1         FTIOA1 Output            overlapped with PWM output 1)
                                   PWM output 2
1         FTIOC1 Output            PWM output 2 (counter-phase waveform non-
                                   overlapped with PWM output 2)
1         FTIOB1 Output            PWM output 3
                                   PWM output 3 (counter-phase waveform non-
1         FTIOD1 Output            overlapped with PWM output 3)

Table 13.7 Register Settings in Complementary PWM Mode

Register  Description
TCNT_0
          Initial setting of non-overlapped periods (non-overlapped periods are differences
TCNT_1    with TCNT_1)
GRA_0
GRB_0     Initial setting of H'0000

GRA_1     Sets (upper limit value 1) of TCNT_0

GRB_1     Set a changing point of the PWM waveform output from pins FTIOB0 and
          FTIOD0.

          Set a changing point of the PWM waveform output from pins FTIOA1 and
          FTIOC1.

          Set a changing point of the PWM waveform output from pins FTIOB1 and
          FTIOD1.

Rev. 3.00, 05/03, page 210 of 472
Complementary PWM mode        [1] Clear bits STR0 and STR1 in TSTR to 0,
                                    and stop the counter operation of
Stop counter operation   [1]        TCNT_0. Stop TCNT_0 and TCNT_1 and
                                    set complementary PWM mode.
Initialize output pin    [2]
                              [2] Write H'00 to TOCR.
Select counter clock     [3]  [3] Use bits TPSC2 to TPSC0 in TCR to

Set complementary        [4]        select the same counter clock for channels
                                    0 and 1. When an external clock is
PWM mode                            selected, select the edge of the external
                                    clock by bits CKEG1 and CKEG0 in TCR.
Initialize output pin    [5]        Do not use bits CCLR1 and CCLR0 in
                                    TCR to clear the counter.
Set TCNT                 [6]  [4] Use bits CMD1 and CMD0 in TFCR to set
                                    complementary PWM mode. FTIOB0 to
Set GR                   [7]        FTIOD0 and FTIOA1 to FTIOD1
                                    automatically become PWM output pins.
Enable waveform output [8]    [5] Set H'00 to TOCR.
                              [6] TCNT_1 must be H'0000. Set a non-
                                    overlapped period to TCNT_0.
                              [7] GRA_0 is a cycle register. Set the cycle to
                                    GRA_0. Set the timing to change the
                                    PWM output waveform to GRB_0, GRA_1,
                                    and GRB_1. Note that the timing must be
                                    set within the range of compare match
                                    carried out for TCNT_0 and TCNT_1.
                                    T X (X: Initial value of GRB_0, GRA_1,
                                    and GRB_1)
                              [8] Use TOER to enable or disable the timer
                                    output.
                              [9] Set the STR0 and STR1 bits in TSTR to 1
                                    to start the count operation.

Start counter operation  [9]


   Note: To re-enter complementary PWM mode after it has been
             cancelled during operation, repeat the setting procedures from [1].

Figure 13.29 Example of Complementary PWM Mode Setting Procedure

                              Rev. 3.00, 05/03, page 211 of 472
1. Canceling Procedure of Complementary PWM Mode: Figure 13.30 shows the complementary
     PWM mode canceling procedure.

Complementary PWM mode

Stop counter operation             [1]  [1] Clear bit CMD1 in TFCR to 0, and set
                                              channels 0 and 1 to normal operation.

                                        [2] After setting channels 0 and 1 to normal
                                              operation, clear bits STR0 and STR1 in
                                              TSTR to 0 and stop TCNT0 and TCNT1.

Cancel complementary               [2]

PWM mode

                       

                Figure 13.30 Canceling Procedure of Complementary PWM Mode

2. Examples of Complementary PWM Mode Operation: Figure 13.31 shows an example of
    complementary PWM mode operation. In complementary PWM mode, TCNT_0 and TCNT_1
    perform an increment or decrement operation. When TCNT_0 and GRA_0 are compared and
    their contents match, the counter is decremented, and when TCNT_1 underflows, the counter
    is incremented. In GRA_0, GRA_1, and GRB_1, compare match is carried out in the order of
    TCNT_0  TCNT_1  TCNT_1  TCNT_0 and PWM waveform is output, during one
    cycle of a up/down counter. In this mode, the initial setting will be TCNT_0 > TCNT_1.

Rev. 3.00, 05/03, page 212 of 472
TCNT values  TCNT_0 and GRA_0 are compared and their contents match
GRA_0                                                                                              Time
GRB_0
GRA_1
GRB_1
H'0000

FTIOB0
FTIOD0

FTIOA1
FTIOC1

FTIOB1
FTIOD1

                 FTIOC0

               Figure 13.31 Example of Complementary PWM Mode Operation (1)

Figure 13.32 shows examples of PWM waveform output with 0% duty and 100% duty in
complementary PWM mode (for one phase). In this example, by setting the GRB_0 to a value
equal to or more than GRA_0, and H'0000 for the value of GRB_0, the waveform with a duty of
0% and 100% can be output. When buffer operation is also used, manipulation of the above
operation and modification of the duty can be done easily during operation. For details on buffer
operation, refer to section 13.4.8, Buffer Operation.

              Rev. 3.00, 05/03, page 213 of 472
     TCNT values                          Time
GRA0
GRB0
H'0000

FTIOB0
FTIOD0

                  0% duty
                     (a) When duty is 0%

     TCNT values                          Time
GRA0
GRB0
H'0000

FTIOB0
FTIOD0

                  100% duty

                                                                          (b) When duty is 100%

               Figure 13.32 Example of Complementary PWM Mode Operation (2)
In complementary PWM mode, when the counter switches from up-counter to down-counter or
vice versa, TCNT_0 and TCNT_1 overshoots or undershoots, respectively. In this case, the
conditions to set the IMFA flag in channel 0 and the UDF flag in channel 1 differ from usual

Rev. 3.00, 05/03, page 214 of 472
settings. Also, the transfer conditions in buffer operation differ from usual settings. Such timings
are shown in figures 13.33 and 13.34.

TCNT                    N-1  N             N+1  N           N-1

GRA_0                                   N
IMFA                         Set to 1
Buffer transfer signal
                                                Flag is not set

GR

                             Transferred        Not transferred
                             to buffer          to buffer

      Figure 13.33 Timing of Overshooting

TCNT                    H'0001 H'0000 H'FFFF H'0000 H'0001
UDF                                                         Flag is not set
Buffer transfer signal
                                   Set to 1

GR

                             Transferred
                             to buffer

                                           Not transferred
                                           to buffer

      Figure 13.34 Timing of Undershooting

When the counter is incremented or decremented, the IMFA flag of channel 0 is set to 1, and when
the register is underflowed, the UDF flag of channel 0 is set to 1. After buffer operation has been
designated for BR, BR is transferred to GR when the counter is incremented by compare match
A0 or when TCNT_1 is underflowed.

                                                Rev. 3.00, 05/03, page 215 of 472
3. Setting GR Value in Complementary PWM Mode: To set GR or modify GR during operation
    in complementary PWM mode, refer to the following notes.
    A. Initial value
        a. H'0000 to T 1 (T: Initial value of TCNT0) must not be set for the initial value.
        b. GRA_0 (T 1) or more must not be set for the initial value.
        c. When using buffer operation, the same values must be set in the buffer registers and
             corresponding general registers.
    B. Modifying the setting value
        Use buffer operation. When GR is written to directly, a correct waveform may not be
        output. Do not change settings of GRA_0 during operation.

13.4.8 Buffer Operation

Buffer operation differs depending on whether GR has been designated for an input capture
register or an output compare register, or in reset synchronous PWM mode or complementary
PWM mode.

Table 13.8 shows the register combinations used in buffer operation.

Table 13.8 Register Combinations in Buffer Operation

General Register                   Buffer Register
GRA                                GRC
GRB                                GRD

1. When GR is an output compare register
    When a compare match occurs, the value in the buffer register of the corresponding channel is
    transferred to the general register.
    This operation is illustrated in figure 13.35.

                                   Compare match signal

Buffer register                    Buffer                Comparator   TCNT
                                   register

                  Figure 13.35 Compare Match Buffer Operation

Rev. 3.00, 05/03, page 216 of 472
2. When GR is an input capture register
    When an input capture occurs, the value in TCNT is transferred to the general register and the
    value previously stored in the general register is transferred to the buffer register.
    This operation is illustrated in figure 13.36.

   Input capture             Buffer                             TCNT
   signal                   register

Buffer register

                             Figure 13.36 Input Capture Buffer Operation

3. Complementary PWM Mode
    When the counter switches from counting up to counting down or vice versa, the value of the
    buffer register is transferred to the general register. Here, the value of the buffer register is
    transferred to the general register in the following timing:
    A. When TCNT_0 and GRA_0 are compared and their contents match
    B. When TCNT_1 underflows

4. Reset Synchronous PWM Mode
    The value of the buffer register is transferred from compare match A0 to the general register.

5. Example of Buffer Operation Setting Procedure
    Figure 13.37 shows an example of the buffer operation setting procedure.

  Buffer operation          [1] Designate GR as an input capture register
Select GR function
Set buffer operation                  or output compare register by means of

                                      TIOR.

                            [2] Designate GR for buffer operation with bits

                       [1]            BFD1, BFC1, BFD0, or BFC0 in TMDR.

                            [3] Set the STR bit in TSTR to 1 to start the

                                      count operation of TCNT.

                       [2]

Start count operation  [3]



Figure 13.37 Example of Buffer Operation Setting Procedure
                                                                 Rev. 3.00, 05/03, page 217 of 472
6. Examples of Buffer Operation
    Figure 13.38 shows an operation example in which GRA has been designated as an output
    compare register, and buffer operation has been designated for GRA and GRC.
    This is an example of TCNT operating as a periodic counter cleared by compare match B.
    Pins FTIOA and FTIOB are set for toggle output by compare match A and B.
    As buffer operation has been set, when compare match A occurs, the FTIOA pin performs
    toggle outputs and the value in buffer register is simultaneously transferred to the general
    register. This operation is repeated each time that compare match A occurs.
    The timing to transfer data is shown in figure 13.39.

        TCNT value                 Counter is cleared by GBR compare match
GRB                                                                                                       Time

H'0250
H'0200
H'0100
H'0000

GRC    H'0200                      H'0100          H'0200

GRA    H'0250                      H'0200  H'0100  H'0200

FTIOB
FTIOA

                                                      Compare match A

        Figure 13.38 Example of Buffer Operation (1)
       (Buffer Operation for Output Compare Register)

Rev. 3.00, 05/03, page 218 of 472
                  n        n+1

      TCNT              N

Compare match
      signal

Buffer transfer
      signal

       GRC

GRA                  n     N

             Figure 13.39 Example of Compare Match Timing for Buffer Operation

Figure 13.40 shows an operation example in which GRA has been designated as an input capture
register, and buffer operation has been designated for GRA and GRC.

Counter clearing by input capture B has been set for TCNT, and falling edges have been selected
as the FIOCB pin input capture input edge. And both rising and falling edges have been selected
as the FIOCA pin input capture input edge.

As buffer operation has been set, when the TCNT value is stored in GRA upon the occurrence of
input capture A, the value previously stored in GRA is simultaneously transferred to GRC. The
transfer timing is shown in figure 13.41.

                                Rev. 3.00, 05/03, page 219 of 472
                                           Counter is cleared by the input capture B

        TCNT value

H'0180
H'0160

H'0005                                                     Time
H'0000

FTIOB                              H'0005  H'0160
FTIOA                                      H'0005
GRA                                                H'0160
GRC
GRB                                                H'0180

                                          Input capture A

        Figure 13.40 Example of Buffer Operation (2)
        (Buffer Operation for Input Capture Register)

Rev. 3.00, 05/03, page 220 of 472
   
FTIO pin

Input capture  n     n+1  N     N+1
signal
               M  n       n  N
    TCNT

     GRA

GRC            m  M       M  n

                       Figure 13.41 Input Capture Timing of Buffer Operation

Figures 13.42 and 13.43 show the operation examples when buffer operation has been designated
for GRB_0 and GRD_0 in complementary PWM mode. These are examples when a PWM
waveform of 0% duty is created by using the buffer operation and performing GRD_0  GRA_0.
Data is transferred from GRD_0 to GRB_0 according to the settings of CMD_0 and CMD_1 when
TCNT_0 and GRA_0 are compared and their contents match or when TCNT_1 underflows.
However, when GRD_0  GRA_0, data is transferred from GRD_0 to GRB_0 when TCNT_1
underflows regardless of the setting of CMD_0 and CMD_1. When GRD_0 = H'0000, data is
transferred from GRD_0 to GRB_0 when TCNT_0 and GRA_0 are compared and their contents
match regardless of the settings of CMD_0 and CMD_1.

                          Rev. 3.00, 05/03, page 221 of 472
   TCNT values  TCNT_0                     GRB_0 (When restored, data will be transferred
GRA_0              TCNT_1                               to the saved location regardless of the
H'0999                                                  CMD1 and CMD0 values)

H'0000                                             Time

GRD_0 H'0999               H'1FFF  H'0999
GRB_0 H'0999    H'0999 H'1FFF
FTIOB0                                     H'0999

FTIOD0

                                   Figure 13.42 Buffer Operation (3)
           (Buffer Operation in Complementary PWM Mode CMD1 = CMD0 = 1)

Rev. 3.00, 05/03, page 222 of 472
      TCNT values  TCNT_0                      GRB_0 (When restored, data will be transferred
GRA_0                 TCNT_1                                to the saved location regardless of the
H'0999                                                      CMD1 and CMD0 values)

H'0000                                         Time

GRD_0 H'0999       H'0000       GRB_0  H'0999
GRB_0 H'0999                  H'0000   H'0999

FTIOC0

FTIOD0

                               Figure 13.43 Buffer Operation (4)
        (Buffer Operation in Complementary PWM Mode CMD1 = CMD0 = 1)

13.4.9 Timer Z Output Timing

The outputs of channels 0 and 1 can be disabled or inverted by the settings of TOER and TOCR
and the external level.

1. Output Disable/Enable Timing of Timer Z by TOER: Setting the master enable bit in TOER to
    1 disables the output of timer Z. By setting the PCR and PDR of the corresponding I/O port
    beforehand, any value can be output. Figure 13.44 shows the timing to enable or disable the
    output of timer Z by TOER.

                                               Rev. 3.00, 05/03, page 223 of 472
                                   T1  T2

                                   TOER address
            Address bus
                                   Timer output                    I/O port
               TOER                Timer Z output  I/O port

            Timer Z
            output pin

      Figure 13.44 Example of Output Disable Timing of Timer Z by Writing to TOER
2. Output Disable Timing of Timer Z by External Trigger: When P54/WKP4 is set as a WKP4

     input pin, and low level is input to WKP4, the master enable bit in TOER is set to 1 and the
     output of timer Z will be disabled.

        

TOER        N                                      H'00

Timer Z     Timer Z output                         I/O port
output pin

            Timer Z output             I/O port

Figure 13.45 Example of Output Disable Timing of Timer Z by External Trigger

Rev. 3.00, 05/03, page 224 of 472
3. Output Inverse Timing by TFCR: The output level can be inverted by inverting the OLS1 and
     OLS0 bits in TFCR in reset synchronous PWM mode or complementary PWM mode. Figure
     13.46 shows the timing.

             T1  T2



Address bus  TOER address

TFCR

Timer Z
output pin

                           Inverted

Figure 13.46 Example of Output Inverse Timing of Timer Z by Writing to TFCR

4. Output Inverse Timing by POCR: The output level can be inverted by inverting the POLD,
     POLC, and POLB bits in POCR in PWM mode. Figure 13.47 shows the timing.

             T1  T2

             POCR address
Address bus

TFCR

Timer Z
output pin

                           Inverted

Figure 13.47 Example of Output Inverse Timing of Timer Z by Writing to POCR

                                     Rev. 3.00, 05/03, page 225 of 472
13.5 Interrupts

There are three kinds of timer Z interrupt sources; input capture/compare match, overflow, and
underflow. An interrupt is requested when the corresponding interrupt request flag is set to 1 while
the corresponding interrupt enable bit is set to 1.

13.5.1 Status Flag Set Timing

1. IMF Flag Set Timing: The IMF flag is set to 1 by the compare match signal that is generated
     when the GR matches with the TCNT. The compare match signal is generated at the last state
     of matching (timing to update the counter value when the GR and TCNT match). Therefore,
     when the TCNT and GR matches, the compare match signal will not be generated until the
     TCNT input clock is generated. Figure 13.48 shows the timing to set the IMF flag.



TCNT input clock

TCNT              N                N+1

GR                                 N

Compare match
signal

IMF

ITMZ

        Figure 13.48 IMF Flag Set Timing when Compare Match Occurs

Rev. 3.00, 05/03, page 226 of 472
2. IMF Flag Set Timing at Input Capture: When an input capture signal is generated, the IMF flag
    is set to 1 and the value of TCNT is simultaneously transferred to corresponding GR. Figure
    13.49 shows the timing.

      

Input capture
signal

IMF

TCNT                   N

GR                             N

        ITMZ

                         Figure 13.49 IMF Flag Set Timing at Input Capture
3. Overflow Flag (OVF) Set Timing: The overflow flag is set to 1 when the TCNT overflows.

    Figure 13.50 shows the timing.

               H'FFFF  H'0000

TCNT
Overflow
signal

  OVF

ITMZ

                       Figure 13.50 OVF Flag Set Timing

                               Rev. 3.00, 05/03, page 227 of 472
13.5.2 Status Flag Clearing Timing

The status flag can be cleared by writing 0 after reading 1 from the CPU. Figure 13.51 shows the
timing in this case.

Address                               TSR address

WTSR
(internal write signal)

IMF, OVF
ITMZ

                         Figure 13.51 Status Flag Clearing Timing

13.6 Usage Notes

1. Contention between TCNT Write and Clear Operations: If a counter clear signal is generated
    in the T2 state of a TCNT write cycle, TCNT clearing has priority and the TCNT write is not
    performed. Figure 13.52 shows the timing in this case.

                                      TCNT write cycle

                                      T1  T2



                                      TCNT address

WTCNT
(internal write signal)

Counter clear signal

TCNT                               N                    H'0000

                                                                   Clearing has priority.

          Figure 13.52 Contention between TCNT Write and Clear Operations

Rev. 3.00, 05/03, page 228 of 472
2. Contention between TCNT Write and Increment Operations: If a counter clear signal is
     generated in T2 state of a TCNT write cycle, TCNT clearing has priority and TCNT write is
     not performed. Figure 13.53 shows the timing in this case.

                            TCNT write cycle

                            T1  T2



                            TCNT address

WTCNT
(internal write signal)

TCNT input clock

TCNT                     N                       M

                                TCNT write data

  Figure 13.53 Contention between TCNT Write and Increment Operations

3. Contention between GR Write and Compare Match: If a compare match occurs in the T2 state
    of a GR write cycle, GR write has priority and the compare match signal is disabled. Figure
    13.54 shows the timing in this case.

                                                 Rev. 3.00, 05/03, page 229 of 472
                                      GR write cycle

                                      T1  T2



                                      GR address

WGR
(internal write signal)

TCNT                               N                        N+1

GR                                 N                     M

                                          GR write data

Compare match                                                    Disabled
signal

      Figure 13.54 Contention between GR Write and Compare Match

4. Contention between TCNT Write and Overflow/Underflow: If overflow/underflow occurs in
    the T2 state of a TCNT write cycle, TCNT write has priority without an increment operation.
    At this time, the OVF flag is set to 1. Figure 13.55 shows the timing in this case.

Rev. 3.00, 05/03, page 230 of 472
                         TCNT write cycle

                                 T1  T2

                                 TCNT address

WTCNT
(internal write signal)

TCNT input clock

Overflow signal

TCNT                     H'FFFF                       M

                                     TCNT write data

         OVF

                   Figure 13.55 Contention between TCNT Write and Overflow

5. Contention between GR Read and Input Capture: If an input capture signal is generated in the
    T1 state of a GR read cycle, the data that is read will be transferred before input capture
    transfer. Figure 13.56 shows the timing in this case.

                                                      Rev. 3.00, 05/03, page 231 of 472
                                   GR read cycle

                                   T1  T2

     

                                   GR address

Internal read
signal

Input capture
signal

GR                    X                           M

Internal data

bus                                    X

                  Figure 13.56 Contention between GR Read and Input Capture

6. Contention between Count Clearing and Increment Operations by Input Capture: If an input
    capture and increment signals are simultaneously generated, count clearing by the input
    capture operation has priority without an increment operation. The TCNT contents before
    clearing counter are transferred to GR. Figure 13.57 shows the timing in this case.

     

Input capture signal

Counter clear signal

TCNT input clock

TCNT                  N                              H'0000

GR                                                   N

                                                             Clearing has priority.

     Figure 13.57 Contention between Count Clearing and Increment Operations
                                           by Input Capture

Rev. 3.00, 05/03, page 232 of 472
7. Contention between GR Write and Input Capture: If an input capture signal is generated in the
    T2 state of a GR write cycle, the input capture operation has priority and the write to GR is not
    performed. Figure 13.58 shows the timing in this case.

                            GR write cycle

                            T1  T2

                            GR address

     Address bus         N

WGR
(internal write signal)

      Input capture
      signal

        TCNT

GR                                          M

                                               GR write data

    Figure 13.58 Contention between GR Write and Input Capture

8. Notes on Setting Reset Synchronous PWM Mode/Complementary PWM Mode: When bits
    CMD1 and CMD0 in TFCR are set, note the following:

    A. Write bits CMD1 and CMD0 while TCNT_1 and TCNT_0 are halted.

    B. Changing the settings of reset synchronous PWM mode to complementary PWM mode or
        vice versa is disabled. Set reset synchronous PWM mode or complementary PWM mode
        after the normal operation (bits CMD1 and CMD0 are cleared to 0) has been set.

                                               Rev. 3.00, 05/03, page 233 of 472
9. Note on Clearing TSR Flag: When a specific flag in TSR is cleared, a combination of the
     BCLR or MOV instructions is used to read 1 from the flag and then write 0 to the flag.
     However, if another bit is set during this processing, the bit may also be cleared
     simultaneously. To avoid this, the following processing that does not use the BCLR
     instruction must be executed. Note that this note is only applied to the F-ZTAT version. This
     problem has already been solved in the mask ROM version.

Example: When clearing bit 4 (OVF) in TSR

MOV.B @TSR,R0L

MOV.B #B'11101111, R0L             Only the bit to be cleared is 0 and

                                   the other bits are all set to 1.

MOV.B R0L,@TSR

Rev. 3.00, 05/03, page 234 of 472
                   Section 14 Watchdog Timer

The watchdog timer is an 8-bit timer that can generate an internal reset signal for this LSI if a
system crash prevents the CPU from writing to the timer counter, thus allowing it to overflow.
The block diagram of the watchdog timer is shown in figure 14.1.

Internal              CLK                       TCSRWD             Internal data bus
oscillator             PSS                         TCWD



                                                 TMWD

Legend:                                                  Internal reset
                                                         signal
TCSRWD: Timer control/status register WD

TCWD: Timer counter WD

PSS:                   Prescaler S

TMWD: Timer mode register WD

                       Figure 14.1 Block Diagram of Watchdog Timer

14.1 Features

Selectable from nine counter input clocks.
    Eight clock sources (/64, /128, /256, /512, /1024, /2048, /4096, and /8192) or the
    internal oscillator can be selected as the timer-counter clock. When the internal oscillator is
    selected, it can operate as the watchdog timer in any operating mode.

Reset signal generated on counter overflow
    An overflow period of 1 to 256 times the selected clock can be set.

14.2 Register Descriptions

The watchdog timer has the following registers.

Timer control/status register WD (TCSRWD)
Timer counter WD (TCWD)
Timer mode register WD (TMWD)

WDT0110A_000020020200                                    Rev. 3.00, 05/03, page 235 of 472
14.2.1 Timer Control/Status Register WD (TCSRWD)

TCSRWD performs the TCSRWD and TCWD write control. TCSRWD also controls the
watchdog timer operation and indicates the operating state. TCSRWD must be rewritten by using
the MOV instruction. The bit manipulation instruction cannot be used to change the setting value.

           Initial

Bit  Bit Name Value R/W Description

7    B6WI  1        R/W Bit 6 Write Inhibit

                                   The TCWE bit can be written only when the write value of
                                   the B6WI bit is 0.

                                   This bit is always read as 1.

6    TCWE 0         R/W Timer Counter WD Write Enable

                                   TCWD can be written when the TCWE bit is set to 1.

                                   When writing data to this bit, the value for bit 7 must be 0.

5    B4WI  1        R/W Bit 4 Write Inhibit

                                   The TCSRWE bit can be written only when the write
                                   value of the B4WI bit is 0. This bit is always read as 1.

4    TCSRWE 0       R/W Timer Control/Status Register W Write Enable

                                   The WDON and WRST bits can be written when the
                                   TCSRWE bit is set to 1.

                                   When writing data to this bit, the value for bit 5 must be 0.

3    B2WI  1        R/W Bit 2 Write Inhibit

                                   This bit can be written to the WDON bit only when the
                                   write value of the B2WI bit is 0.

                                   This bit is always read as 1.

2    WDON 0         R/W Watchdog Timer On

                                   TCWD starts counting up when WDON is set to 1 and
                                   halts when WDON is cleared to 0.

                                   [Setting condition]

                                   When 1 is written to the WDON bit while writing 0 to the
                                   B2WI bit when the TCSRWE bit=1

                                   [Clearing condition]

                                    Reset by RES pin

                                    When 0 is written to the WDON bit while writing 0 to
                                       the B2WI when the TCSRWE bit=1

1    B0WI  1        R/W Bit 0 Write Inhibit

                                   This bit can be written to the WRST bit only when the
                                   write value of the B0WI bit is 0. This bit is always read as
                                   1.

Rev. 3.00, 05/03, page 236 of 472
     Bit

Bit  Name Initial Value R/W Description

0    WRST 0                    R/W Watchdog Timer Reset

               &nbs