To our custo mers,
Old Company Name in Catalogs and Other Documents
On April 1st, 2010, NEC Electronics Corporation merged with Renesas Technology
Corporation, and Renesas Electronics Corpor ation took over all the business of both
companies. Therefore, althoug h the old com pany name remains in this docum ent, it is a valid
Renesas Electronics document. W e appreciate your understanding.
Renesas Electronics website: http://www.renesas.com
April 1st, 2010
Renesas Electronics Corporation
Issued by: Renesas Electronics Corporation (http://www.renesas.com)
Send any inquiries to http://www.renesas.com/inquiry.
Notice
1. All information included in this document is current as of the date this document is issued. Such information, however, is
subject to change without any prior notice. Before purchasing or using any Renesas Electronics products listed herein, please
confirm the latest product information with a Renesas Electronics sales office. Also, please pay regular and careful attention to
additional and different information to be disclosed by Renesas Electronics such as that disclosed through our website.
2. Renesas Electronics does not assume any liability for infringement of patents, copyrights, or other intellectual property rights
of third parties by or arising from the use of Renesas Electronics products or technical information described in this document.
No license, express, implied or otherwise, is granted hereby under any patents, copyrights or other intellectual property rights
of Renesas Electronics or others.
3. You should not alter, modify, copy, or otherwise misappropriate any Renesas Electronics product, whether in whole or in part.
4. Descriptions of circuits, software and other related information in this document are provided only to illustrate the operation of
semiconductor products and application examples. You are fully responsible for the incorporation of these circuits, software,
and information in the design of your equipment. Renesas Electronics assumes no responsibility for any losses incurred by
you or third parties arising from the use of these circuits, software, or information.
5. When exporting the products or technology described in this document, you should comply with the applicable export control
laws and regulations and follow the procedures required by such laws and regulations. You should not use Renesas
Electronics products or the technology described in this document for any purpose relating to military applications or use by
the military, including but not limited to the development of weapons of mass destruction. Renesas Electronics products and
technology may not be used for or incorporated into any products or systems whose manufacture, use, or sale is prohibited
under any applicable domestic or foreign laws or regulations.
6. Renesas Electronics has used reasonable care in preparing the information included in this document, but Renesas Electronics
does not warrant that such information is error free. Ren esas E lectronics assumes no liability whatsoever for any da mages
incurred by you resulting from errors in or omissions from the information included herein.
7. Renesas Electronics products are classified acco rding to the following three quality grades: “Standard”, “High Quality”, and
“Specific”. The recommended applications for each Renesas Electronics product depends on the product’s quality grade, as
indicated below. You must check the quality grade of each Renesas Electronics product before using it in a particular
application. You may not use any Renesas Electronics product for any application categorized as “Specific” without the prior
written consent of Renesas Electronics. Further, you may not use any Renesas Electronics product for any application for
which it is not intended without the prior written consent of Renesas Electronics. Renesas Electronics shall not be in any way
liable for any damages or losses incurred by you or third parties arising from the use of any Renesas Electronics product for an
application categorized as “Specific” or for which the product is not intended where you have failed to obtain the prior written
consent of Renesas Electronics. The quality grade of each Renesas Electronics product is “Standard” unless otherwise
expressly specified in a Renesas Electronics data sheets or data books, et c.
“Standard”: Computers; office equipment; communications equipment; test and measurement equipment; audio and visual
equipment; home electro nic app liances; machine tool s; p ersonal electron ic equipment; and indu strial robots .
“High Quality”: Transportation equipment (automobiles, trains, ships, etc.); traffic control systems; anti-disaster systems; anti-
crime systems; safety equipment; and medical equipment not specifically designed for life support.
“Specific”: Aircraft; aerospace equ i pment; submersible repeaters; nu clear reactor control systems; medical equipment or
systems for life support (e.g. artificial life support devices or systems), surgical implantations, or healthcare
interven tion (e.g. excision, et c.), and any oth er applications or purposes that pose a direct th reat to human life.
8. You should use the Renesas Electronics products described in this document within the range specified by Renesas Electronics,
especially with respect to the maximum rating, operating supply voltage range, movement power voltage range, heat radiation
characteristics, installation and other product characteristics. Renesas Electronics shall have no liability for malfunctions or
damages arising out of the use of Renesas Electronics products beyond such specified ranges.
9. Although Renesas Electronics endeavors to improve the quality and reliability of its products, semiconductor products have
specific chara cterist ics such as the o ccurren ce of failure at a certai n rate an d malfunct ion s under certai n u se cond ition s. Further,
Renesas Electronics pr oducts are not subject to radiation resi stance design. Please be sure to implement safety measures to
guard them against the possibility of physical injury, and injury or damage caused by fire in the event of the failure of a
Renesas Electronics product, such as safety design for hardware and software including but not limited to redundancy, fire
control and malfunction prevention, appropriate treatment for aging degradation or any other appropriate measures. Because
the evaluation of microcomputer software alone is very difficult, please evaluate the safety of the final products or system
manufactured by you.
10. Please contact a Renesas Electronics sales office for det ai ls as to enviro nmental matters such as the en vi ronmental
compatibility of each Renesas Electronics product. Please use Renesas Electronics products in compliance with all applicable
laws and regulations that regulate the inclusion or use of controlled substances, including without limitation, the EU RoHS
Directive. Renesas Electronics assumes no liability for damages or losses occurring as a result of your noncompliance with
applicable laws and regulations.
11. This document may not be reproduced or duplicated, in any form, in whole or in part, without prior written consent of Renesas
Electronics.
12. Please contact a Renesas Electronics sales office if you have any questions regarding the information contained in this
document or Renesas Electronics products, or if you have any other inquiries.
(Note 1) “Renesas Electronics” as us ed in this document means Renesas Electronics Corporation and also includes its majo ri ty-
owned subsidiaries.
(Note 2) “Renesas Electronics product(s)” means any product developed or manufactured by or for Renesas Electronics.
M16C/28 Group
(M16C/28, M16C/28B)
Hardware Manual
16
Rev.2.00 2007.01
RENESAS 16-BIT SINGLE-CHIP
MICROCOMPUTER
M16C FAMILY / M16C/Tiny SERIES
All information contained in these materials, including products and product specifications,
represents information on the product at the time of publication and is subject to change by
Renesas Electronics Corp. without notice. Please review the latest information published by
Renesas Electronics Corp. through various means, including the Renesas Electronics Corp.
website (http://www.renesas.com).
Users Manual
1. This document is provided for reference purposes only so that Renesas customers may select the appropriate
Renesas products for their use. Renesas neither makes warranties or representations with respect to the
accuracy or completeness of the information contained in this document nor grants any license to any
intellectual property rights or any other rights of Renesas or any third party with respect to the information in
this document.
2. Renesas shall have no liability for damages or infringement of any intellectual property or other rights arising
out of the use of any information in this document, including, but not limited to, product data, diagrams, charts,
programs, algorithms, and application circuit examples.
3. You should not use the products or the technology described in this document for the purpose of military
applications such as the development of weapons of mass destruction or for the purpose of any other military
use. When exporting the products or technology described herein, you should follow the applicable export
control laws and regulations, and procedures required by such laws and regulations.
4. All information included in this document such as product data, diagrams, charts, programs, algorithms, and
application circuit examples, is current as of the date this document is issued. Such information, however, is
subject to change without any prior notice. Before purchasing or using any Renesas products listed in this
document, please confirm the latest product information with a Renesas sales office. Also, please pay regular
and careful attention to additional and different information to be disclosed by Renesas such as that disclosed
through our website. (http://www.renesas.com )
5. Renesas has used reasonable care in compiling the information included in this document, but Renesas
assumes no liability whatsoever for any damages incurred as a result of errors or omissions in the information
included in this document.
6. When using or otherwise relying on the information in this document, you should evaluate the information in
light of the total system before deciding about the applicability of such information to the intended application.
Renesas makes no representations, warranties or guaranties regarding the suitability of its products for any
particular application and specifically disclaims any liability arising out of the application and use of the
information in this document or Renesas products.
7. With the exception of products specified by Renesas as suitable for automobile applications, Renesas
products are not designed, manufactured or tested for applications or otherwise in systems the failure or
malfunction of which may cause a direct threat to human life or create a risk of human injury or which require
especially high quality and reliability such as safety systems, or equipment or systems for transportation and
traffic, healthcare, combustion control, aerospace and aeronautics, nuclear power, or undersea communication
transmission. If you are considering the use of our products for such purposes, please contact a Renesas
sales office beforehand. Renesas shall have no liability for damages arising out of the uses set forth above.
8. Notwithstanding the preceding paragraph, you should not use Renesas products for the purposes listed below:
(1) artificial life support devices or systems
(2) surgical implantations
(3) healthcare intervention (e.g., excision, administration of medication, etc.)
(4) any other purposes that pose a direct threat to human life
Renesas shall have no liability for damages arising out of the uses set forth in the above and purchasers who
elect to use Renesas products in any of the foregoing applications shall indemnify and hold harmless Renesas
Technology Corp., its affiliated companies and their officers, directors, and employees against any and all
damages arising out of such applications.
9. You should use the products described herein within the range specified by Renesas, especially with respect
to the maximum rating, operating supply voltage range, movement power voltage range, heat radiation
characteristics, installation and other product characteristics. Renesas shall have no liability for malfunctions or
damages arising out of the use of Renesas products beyond such specified ranges.
10. Although Renesas endeavors to improve the quality and reliability of its products, IC products have specific
characteristics such as the occurrence of failure at a certain rate and malfunctions under certain use
conditions. Please be sure to implement safety measures to guard against the possibility of physical injury, and
injury or damage caused by fire in the event of the failure of a Renesas product, such as safety design for
hardware and software including but not limited to redundancy, fire control and malfunction prevention,
appropriate treatment for aging degradation or any other applicable measures. Among others, since the
evaluation of microcomputer software alone is very difficult, please evaluate the safety of the final products or
system manufactured by you.
11. In case Renesas products listed in this document are detached from the products to which the Renesas
products are attached or affixed, the risk of accident such as swallowing by infants and small children is very
high. You should implement safety measures so that Renesas products may not be easily detached from your
products. Renesas shall have no liability for damages arising out of such detachment.
12. This document may not be reproduced or duplicated, in any form, in whole or in part, without prior written
approval from Renesas.
13. Please contact a Renesas sales office if you have any questions regarding the information contained in this
document, Renesas semiconductor products, or if you have any other inquiries.
Notes regarding these materials
General Precautions in the Handling of MPU/MCU Products
The following usage notes are applicable to all MPU/MCU products from Renesas. For detailed usage notes
on the products covered by this manual, refer to the relevant sections of the manual. If the descriptions under
General Precautions in the Handling of MPU/MCU Products and in the body of the manual differ from each
other, the description in the body of the manual takes precedence.
1. Handling of Unused Pins
Handle unused pins in accord with the directions given under Handling of Unused Pins in the
manual.
The input pins of CMOS products are generally in the high-impedance state. In operation
with an unused pin in the open-circuit state, extra electromagnetic noise is induced in the
vicinity of LSI, an associated shoot-through current flows internally, and malfunctions occur
due to the false recognition of the pin state as an input signal become possible. Unused
pins should be handled as described under Handling of Unused Pins in the manual.
2. Processing at Power-on
The state of the product is undefined at the moment when power is supplied.
The states of internal circuits in the LSI are indeterminate and the states of register
settings and pins are undefined at the moment when power is supplied.
In a finished product where the reset signal is applied to the external reset pin, the states
of pins are not guaranteed from the moment when power is supplied until the reset
process is completed.
In a similar way, the states of pins in a product that is reset by an on-chip power-on reset
function are not guaranteed from the moment when power is supplied until the power
reaches the level at which resetting has been specified.
3. Prohibition of Access to Reserved Addresses
Access to reserved addresses is prohibited.
The reserved addresses are provided for the possible future expansion of functions. Do
not access these addresses; the correct operation of LSI is not guaranteed if they are
accessed.
4. Clock Signals
After applying a reset, only release the reset line after the operating clock signal has become
stable. When switching the clock signal during program execution, wait until the target clock
signal has stabilized.
When the clock signal is generated with an external resonator (or from an external
oscillator) during a reset, ensure that the reset line is only released after full stabilization of
the clock signal. Moreover, when switching to a clock signal produced with an external
resonator (or by an external oscillator) while program execution is in progress, wait until
the target clock signal is stable.
5. Differences between Products
Before changing from one product to another, i.e. to one with a different part number, confirm
that the change will not lead to problems.
The characteristics of MPU/MCU in the same group but having different part numbers may
differ because of the differences in internal memory capacity and layout pattern. When
changing to products of different part numbers, implement a system-evaluation test for
each of the products.
How to Use This Manual
1. Purpose and Target Readers
This manual is designed to provide the user with an understanding of the hardware functions and electrical
characteristics of the MCU. It is intended for users designing application systems incorporating the MCU. A basic
knowledge of electric circuits, logical circuits, and MCUs is necessary in order to use this manual.
The manual comprises an overview of the product; descriptions of the CPU, system control functions, peripheral
functions, and electrical characteristics; and usage notes.
Particular attention should be paid to the precautionary notes when using the manual. These notes occur
within the body of the text, at the end of each section, and in the Usage Notes section.
The revision history summarizes the locations of revisions and additions. It does not list all revisions. Refer
to the text of the manual for details.
The following documents apply to the M16C/28 Group (M16C/28 and M16C/28B). Make sure to refer to the latest
versions of these documents. The newest versions of the documents listed may be obtained from the Renesas
Technology Web site.
Document Type Description Document Title Document No.
Hardware manual Hardware specifications (pin assignments,
memory maps, peripheral function
specifications, electrical characteristics, timing
charts) and operation description
Note: Refer to the application notes for details on
using peripheral functions.
M16C/28 Group
(M16C/28,
M16C/28B)
Hardware Manual
This hardware
manual
Software manual Description of CPU instruction set M16C/60,
M16C/20,
M16C/Tiny Series
Software Manual
REJ09B0137
Application note Information on using peripheral functions and
application examples
Sample programs
Information on writing programs in assembly
language and C
Available from Renesas
Technolog y Web site.
Renesas
technical update Product specifications, updates on documents,
etc.
2. Notation of Numbers and Symbols
The notation conventions for register names, bit names, numbers, and symbols used in this manual are described
below.
(1) Register Names, Bit Names, and Pin Names
Registers, bits, and pins are referred to in the text by symbols. The symbol is accompanied by the word
“register,” “bit,” or “pin” to distinguish the three categories.
Examples the PM03 bit in the PM0 register
P35 pin, VCC pin
(2) Notation of Numbers
The indication “2” is appended to numeric values given in binary format. However, nothing is appended to the
values of single bits. The indication “16” is appended to numeric values given in hexadecimal format. Nothing
is appended to numeric values given in decimal fo rm at.
Examples Binary: 112
Hexadecimal: EFA016
Decimal: 123 4
3. Register Notation
The symbols and terms used in register diagrams are described below.
*1 Blank: Set to 0 or 1 according to the application.
0: Set to 0.
1: Set to 1.
X: Nothing is assigned.
*2 RW: Read and write.
RO: Read only.
WO: Write only.
: Nothing is assigned.
*3 Reserved bit
Reserved bit. Set to specified value.
*4 Nothing is assigned
Nothing is assigned to the bit. As the bit may be used fo r future functions, if necessary, set to 0.
Do not set to a value
Operation is not guaranteed when a value is set.
Function varies according to the operating mode.
The function of the bit varies with the peripheral function mode. Refer to the register diagram for information
on the individual mode s.
XXX Register
Symbol Address After Reset
XXX XXX 0016
Bit NameBit Symbol RW
b7 b6 b5 b4 b3 b2 b1 b0
XXX bits 1 0: XXX
0 1: XXX
1 0: Do not set.
1 1: XXX
b1 b0
XXX1
XXX0
XXX4
Reserved bits
XXX5
XXX7
XXX6
Function
Nothing is assigned. If necessary, set to 0.
When read, the content is undefined.
XXX bit
Function varies according to the operating
mode.
Set to 0.
0
(b3)
(b2)
RW
RW
RW
RW
WO
RW
RO
XXX bits
0: XXX
1: XXX
*1
*2
*3
*4
4. List of Abbreviations and Acronyms
Abbreviation Full Form
ACIA Asynchr onous Communication Interface Adapter
bps bits per second
CRC Cyclic Redundancy Check
DMA Direct Memory Access
DMAC Direct Memory Access Controller
GSM Global System for Mobile Communications
Hi-Z High Impedance
IEBus Inter Equipment bus
I/O Input/Output
IrDA Infrared Data Association
LSB Least Significant Bit
MSB Most Significant Bit
NC Non-Connection
PLL Phase Locked Loop
PWM Pulse Width Modulation
SFR Special Function Registers
SIM Subscriber Identity Module
UART Universal Asynchronous Receiver/Transmitter
VCO Voltage Controlled Oscillator
All trademarks and registered trademarks are the property of their respective owners.
IEBus is a registered trademark of NEC Electronics Corporation.
A-1
Table of Contents
Quick Reference by Address........................................................................... B-1
1. Overview ......................................................................................................... 1
1.1 Features ...........................................................................................................................1
1.1.1 Applications ................................................................................................................1
1.1.2 Specifications .............................................................................................................2
1.2 Block Diagram ..................................................................................................................4
1.3 Product Information ..........................................................................................................6
1.4 Pin Assignment...............................................................................................................10
1.5 Pin Description ...............................................................................................................19
2. Central Processing Unit (CPU) ......................................................................22
2.1 Data Registers (R0, R1, R2 and R3) ..............................................................................22
2.2 Address Registers (A0 and A1) ......................................................................................22
2.3 Frame Base Register (FB)..............................................................................................23
2.4 Interrupt Table Register (INTB).......................................................................................23
2.5 Program Counter (PC)....................................................................................................23
2.6 User Stack Pointer (USP) and Interrupt Stack Pointer (ISP)..........................................23
2.7 Static Base Register (SB)...............................................................................................23
2.8 Flag Register (FLG)........................................................................................................23
2.8.1 Carry Flag (C Flag) ..................................................................................................23
2.8.2 Debug Flag (D Flag).................................................................................................23
2.8.3 Zero Flag (Z Flag) ...................................................................................................23
2.8.4 Sign Flag (S Flag) ....................................................................................................23
2.8.5 Register Bank Select Flag (B Flag)..........................................................................23
2.8.6 Overflow Flag (O Flag).............................................................................................23
2.8.7 Interrupt Enable Flag (I Flag) ...................................................................................23
2.8.8 Stack Pointer Select Flag (U Flag)...........................................................................23
2.8.9 Processor Interrupt Priority Level (IPL) ....................................................................23
2.8.10 Reserved Area .......................................................................................................23
3. Memory ..........................................................................................................24
4. Special Function Register (SFR)....................................................................25
A-2
5. Reset..............................................................................................................32
5.1 Hardware Reset..............................................................................................................32
5.1.1 Hardware Reset 1 ....................................................................................................32
5.1.2 Hardware Reset 2 ....................................................................................................32
5.2 Software Reset ...............................................................................................................33
5.3 Watchdog Timer Reset ...................................................................................................33
5.4 Oscillation Stop Detection Reset ....................................................................................33
5.5 Voltage Detection Circuit ................................................................................................35
5.5.1 Low Voltage Detection Interrupt ...............................................................................38
5.5.2 Limitations on Stop Mode.........................................................................................40
5.5.3 Limitations on WAIT Instruction................................................................................40
6. Processor Mode .............................................................................................41
7. Clock Generation Circuit ................................................................................44
7.1 Main Clock......................................................................................................................51
7.2 Sub Clock .......................................................................................................................52
7.3 On-chip Oscillator Clock .................................................................................................53
7.4 PLL Clock .......................................................................................................................53
7.5 CPU Clock and Peripheral Function Clock.....................................................................55
7.5.1 CPU Clock................................................................................................................55
7.5.2 Peripheral Function Clock(f1, f2, f8, f
32
, f1SIO, f2SIO, f8SIO, f32SIO, fAD, fC32)...........55
7.6 Power Control.................................................................................................................56
7.6.1 Normal Operation Mode...........................................................................................56
7.6.2 Wait Mode ................................................................................................................57
7.6.3 Stop Mode...............................................................................................................59
7.7 System Clock Protective Function..................................................................................63
7.8 Oscillation Stop and Re-oscillation Detect Function.......................................................63
7.8.1 Operation when CM27 bit is set to "0" (Oscillation Stop Detection Reset) ..............64
7.8.2
Operation when CM27 bit is set to "1" (Oscillation Stop and Re-oscillation Detect Interrupt) ....
64
7.8.3 How to Use Oscillation Stop and Re-oscillation Detect Function.............................65
8. Protection .......................................................................................................66
9. Interrupts ........................................................................................................67
9.1 Type of Interrupts............................................................................................................67
9.1.1 Software Interrupts...................................................................................................68
9.1.2 Hardware Interrupts .................................................................................................69
A-3
9.2 Interrupts and Interrupt Vector........................................................................................70
9.2.1 Fixed Vector Tables..................................................................................................70
9.2.2 Relocatable Vector Tables........................................................................................71
9.3 Interrupt Control..............................................................................................................72
9.3.1 I Flag ................................................................................................................... .....75
9.3.2 IR Bit ........................................................................................................................75
9.3.3 ILVL2 to ILVL0 Bits and IPL......................................................................................75
9.4 Interrupt Sequence .........................................................................................................76
9.4.1 Interrupt Response Time..........................................................................................77
9.4.2 Variation of IPL when Interrupt Request is Accepted ...............................................77
9.4.3 Saving Registers ......................................................................................................78
9.4.4 Returning from an Interrupt Routine.........................................................................80
9.5 Interrupt Priority ..............................................................................................................80
9.5.1 Interrupt Priority Resolution Circuit ..........................................................................80
______
9.6 INT Interrupt ...................................................................................................................82
______
9.7 NMI Interrupt...................................................................................................................83
9.8 Key Input Interrupt ..........................................................................................................83
9.9 Address Match Interrupt .................................................................................................84
10. Watchdog Timer ...........................................................................................86
10.1 Count Source Protective Mode.....................................................................................87
11. DMAC...........................................................................................................88
11.1 Transfer Cycles............................................................................................................93
11.1.1 Effect of Source and Destination Addresses .........................................................93
11.1.2 Effect of Software Wait ..........................................................................................93
11.2. DMA Transfer Cycles ...................................................................................................95
11.3 DMA Enable..................................................................................................................96
11.4 DMA Request................................................................................................................96
11.5 Channel Priority and DMA Transfer Timing..................................................................97
12. T imer ............................................................................................................98
12.1 Timer A ......................................................................................................................100
12.1.1 Timer Mode ..........................................................................................................103
12.1.2 Event Counter Mode ............................................................................................104
12.1.3 One-shot Timer Mode ..........................................................................................109
12.1.4 Pulse Width Modulation (PWM) Mode ................................................................. 111
A-4
12.2 Timer B ...................................................................................................................... 114
12.2.1 Timer Mode ......................................................................................................... 116
12.2.2 Event Counter Mode ............................................................................................ 117
12.2.3 Pulse Period and Pulse Width Measurement Mode............................................ 118
12.2.4 A/D Trigger Mode ................................................................................................120
12.3 Three-phase Motor Control Timer Function................................................................122
12.3.1 Position-Data-Retain Function .............................................................................133
13. T imer S.......................................................................................................135
13.1 Base Timer .................................................................................................................146
13.1.1 Base Timer Reset Register(G1BTRR) .................................................................150
13.2 Interrupt Operation .....................................................................................................151
13.3 DMA Support ..............................................................................................................151
13.4 Time Measurement Function ......................................................................................152
13.5 Waveform Generating Function..................................................................................156
13.5.1 Single-Phase Waveform Output Mode.................................................................157
13.5.2 Phase-Delayed Waveform Output Mode..............................................................159
13.5.3 Set/Reset Waveform Output (SR Waveform Output) Mode.................................161
13.6 I/O Port Function Select .............................................................................................163
13.6.1 INPC17 Alternate Input Pin Selection ..................................................................164
________
13.6.2 Digital Debounce Function for Pin P17/INT5/INPC17..........................................164
14. Serial I/O ....................................................................................................165
14.1 UARTi (i=0 to 2)..........................................................................................................165
14.1.1 Clock Synchronous serial I/O Mode.....................................................................175
14.1.2 Clock Asynchronous Serial I/O (UART) Mode .....................................................183
14.1.3 Special Mode 1 (I2C bus mode)(UART2) .............................................................191
14.1.4 Special Mode 2 (UART2) .....................................................................................201
14.1.5 Special Mode 3 (IEBus mode)(UART2) ..............................................................205
14.1.6 Special Mode 4 (SIM Mode) (UART2).................................................................207
14.2 SI/O3 and SI/O4 ........................................................................................................212
14.2.1 SI/Oi Operation Timing........................................................................................215
14.2.2 CLK Polarity Selection ........................................................................................215
14.2.3 Functions for Setting an SOUTi Initial Value .......................................................216
15. A/D Converter.............................................................................................217
15.1 Operating Modes ........................................................................................................223
15.1.1 One-Shot Mode....................................................................................................223
15.1.2 Repeat mode........................................................................................................225
A-5
15.1.3 Single Sweep Mode ............................................................................................227
15.1.4 Repeat Sweep Mode 0.........................................................................................229
15.1.5 Repeat Sweep Mode 1.........................................................................................231
15.1.6 Simultaneous Sample Sweep Mode ....................................................................233
15.1.7 Delayed Trigger Mode 0.......................................................................................236
15.1.8 Delayed Trigger Mode 1.......................................................................................242
15.2 Resolution Select Function.........................................................................................248
15.3 Sample and Hold ........................................................................................................248
15.4 Power Consumption Reducing Function ....................................................................248
15.5 Output Impedance of Sensor under A/D Conversion .................................................249
16. Multi-master I2C bus Interface....................................................................250
16.1 I2C0 Data Shift Register (S00 register).......................................................................259
16.2 I2C0 Address Register (S0D0 register) .......................................................................259
16.3 I2C0 Clock Control Register (S20 register) ................................................................260
16.3.1 Bits 0 to 4: SCL Frequency Control Bits (CCR0–CCR4).....................................260
16.3.2 Bit 5: SCL Mode Specification Bit (FAST MODE) ..............................................260
16.3.3 Bit 6: ACK Bit (ACKBIT) ......................................................................................260
16.3.4 Bit 7: ACK Clock Bit (ACK-CLK)..........................................................................260
16.4 I2C0 Control Register 0 (S1D0) .................................................................................262
16.4.1 Bits 0 to 2: Bit Counter (BC0–BC2).....................................................................262
16.4.2 Bit 3: I2C Interface Enable Bit (ES0)....................................................................262
16.4.3 Bit 4: Data Format Select Bit (ALS).....................................................................262
16.4.4 Bit 6: I2C bus Interface Reset Bit (IHR) ...............................................................262
16.4.5 Bit 7: I2C bus Interface Pin Input Level Select Bit (TISS) ....................................263
16.5 I2C0 Status Register (S10 register) ...........................................................................264
16.5.1 Bit 0: Last Receive Bit (LRB)...............................................................................264
16.5.2 Bit 1: General Call Detection Flag (ADR0)..........................................................264
16.5.3 Bit 2: Slave Address Comparison Flag (AAS) .....................................................264
16.5.4 Bit 3: Arbitration Lost Detection Flag (AL) ...........................................................264
16.5.5 Bit 4: I2C bus Interface Interrupt Request Bit (PIN) .............................................265
16.5.6 Bit 5: Bus Busy Flag (BB)....................................................................................265
16.5.7 Bit 6: Communication Mode Select Bit (Transfer Direction Select Bit: TRX).......266
16.5.8 Bit 7: Communication mode select bit (master/slave select bit: MST) ................266
16.6 I2C0 Control Register 1 (S3D0 register) ....................................................................267
16.6.1 Bit 0 : Interrupt Enable Bit by STOP Condition (SIM ).........................................267
16.6.2 Bit 1: Interrupt Enable Bit at the Completion of Data Receive (WIT) ..................267
16.6.3 Bits 2,3 : Port Function Select Bits PED, PEC ....................................................268
A-6
16.6.4 Bits 4,5 : SDA/SCL Logic Output Value Monitor Bits SDAM/SCLM ....................269
16.6.5 Bits 6,7 : I2C System Clock Select Bits ICK0, ICK1 ............................................269
16.6.6 Address Receive in STOP/WAIT Mode...............................................................269
16.7 I2C0 Control Register 2 (S4D0 Register) ...................................................................270
16.7.1 Bit0: Time-Out Detection Function Enable Bit (TOE) ..........................................271
16.7.2 Bit1: Time-Out Detection Flag (TOF )..................................................................271
16.7.3 Bit2: Time-Out Detection Period Select Bit (TOSEL) ..........................................271
16.7.4 Bits 3,4,5: I2C System Clock Select Bits (ICK2-4)...............................................271
16.7.5 Bit7: STOP Condition Detection Interrupt Request Bit (SCPIN)..........................271
16.8 I2C0 START/STOP Condition Control Register (S2D0 Register)...............................272
16.8.1 Bit0-Bit4: START/STOP Condition Setting Bits (SSC0-SSC4)............................272
16.8.2 Bit5: SCL/SDA Interrupt Pin Polarity Select Bit (SIP)..........................................272
16.8.3 Bit6 : SCL/SDA Interrupt Pin Select Bit (SIS)......................................................272
16.8.4 Bit7: START/STOP Condition Generation Select Bit (STSPSEL) .......................272
16.9 START Condition Generation Method .......................................................................273
16.10 START Condition Duplicate Protect Function...........................................................274
16.11 STOP Condition Generation Method ........................................................................274
16.12 START/STOP Condition Detect Operation ...............................................................276
16.13 Address Data Communication .................................................................................277
16.13.1 Example of Master Transmit .............................................................................277
16.13.2 Example of Slave Receive ................................................................................278
16.14 Precautions...............................................................................................................279
17. Programmable I/O Ports ............................................................................282
17.1 Port Pi Direction Register (PDi Register, i = 0 to 3, 6 to 10).......................................282
17.2 Port Pi Register (Pi Register, i = 0 to 3, 6 to 10).........................................................282
17.3 Pull-up Control Register 0 to 2 (PUR0 to PUR2 Registers)........................................282
17.4 Port Control Register (PCR Register).........................................................................282
17.5 Pin Assignment Control Register (PACR)...................................................................283
17.6 Digital Debounce Function .........................................................................................283
18. Flash Memory Version ...............................................................................296
18.1 Flash Memory Performance .......................................................................................296
18.1.1 Boot Mode...........................................................................................................297
18.2 Memory Map...............................................................................................................298
18.3 Functions To Prevent Flash Memory from Rewriting..................................................302
18.3.1 ROM Code Protect Function ................................................................................302
18.3.2 ID Code Check Function ......................................................................................302
A-7
18.4 CPU Rewrite Mode.....................................................................................................304
18.4.1 EW Mode 0 ..........................................................................................................305
18.4.2 EW Mode 1 ..........................................................................................................305
18.5 Register Description ...................................................................................................306
18.5.1 Flash Memory Control Register 0 (FMR0) ...........................................................306
18.5.2 Flash Memory Control Register 1 (FMR1) ...........................................................307
18.5.3 Flash Memory Control Register 4 (FMR4) ...........................................................307
18.6 Precautions in CPU Rewrite Mode .............................................................................312
18.6.1 Operation Speed ..................................................................................................312
18.6.2 Prohibited Instructions..........................................................................................312
18.6.3 Interrupts ..............................................................................................................312
18.6.4 How to Access......................................................................................................312
18.6.5 Writing in the User ROM Area..............................................................................312
18.6.6 DMA Transfer .......................................................................................................313
18.6.7 Writing Command and Data.................................................................................313
18.6.8 Wait Mode ............................................................................................................313
18.6.9 Stop Mode............................................................................................................313
18.6.10
Low Power Consumption Mode and On-Chip Oscillator-Low Power Consumption Mode...
313
18.7 Software Commands ..................................................................................................314
18.7.1 Read Array Command (FF16)...............................................................................314
18.7.2 Read Status Register Command (7016)...............................................................314
18.7.3 Clear Status Register Command (5016)...............................................................315
18.7.4 Program Command (4016) ...................................................................................315
18.7.5 Block Erase ..........................................................................................................316
18.8 Status Register ...........................................................................................................318
18.8.1 Sequence Status (SR7 and FMR00 Bits )............................................................318
18.8.2 Erase Status (SR5 and FMR07 Bits) ...................................................................318
18.8.3 Program Status (SR4 and FMR06 Bits) ...............................................................318
18.8.4 Full Status Check .................................................................................................319
18.9 Standard Serial I/O Mode ...........................................................................................321
18.9.1 ID Code Check Function ......................................................................................321
18.9.2 Example of Circuit Application in Standard Serial I/O Mode ................................325
18.10 Parallel I/O Mode......................................................................................................327
18.10.1 ROM Code Protect Function ..............................................................................327
19. Electrical Characteristics............................................................................328
A-8
20. Precautions ............................................................................................... 350
20.1 SFR ............................................................................................................................350
20.1.1 For 80-Pin and 85-Pin Package ...........................................................................350
20.1.2 For 64-Pin Package .............................................................................................350
22.1.3 Register Setting....................................................................................................350
20.1.4 For Flash Memory (128K+4K) Version and Mask ROM Version..........................351
20.2 Clock Generation Circuit.............................................................................................352
20.2.1 PLL Frequency Synthesizer .................................................................................352
20.2.2 Power Control ......................................................................................................353
20.3 Protection ...................................................................................................................355
20.4 Interrupts ....................................................................................................................356
20.4.1 Reading Address 0000016.....................................................................................................356
20.4.2 Setting the SP ......................................................................................................356
_______
20.4.3 NMI Interrupt .......................................................................................................356
20.4.4 Changing the Interrupt Generate Factor ..............................................................356
______
20.4.5 INT Interrupt .........................................................................................................357
20.4.6 Rewrite the Interrupt Control Register..................................................................358
20.4.7 Watchdog Timer Interrupt.....................................................................................358
20.5 DMAC .........................................................................................................................359
20.5.1 Write to DMAE Bit in DMiCON Register (i = 0, 1) ................................................359
20.6 Timer...........................................................................................................................360
20.6.1 Timer A .................................................................................................................360
20.6.2 Timer B.................................................................................................................363
20.6.3 Three-phase Motor Control Timer Function .........................................................364
20.7 Timer S .......................................................................................................................365
20.7.1 Rewrite the G1IR Register ..................................................................................365
20.7.2 Rewrite the ICOCiIC Register .............................................................................366
20.7.3 Waveform Generating Function ..........................................................................366
20.7.4 IC/OC Base Timer Interrupt..................................................................................366
20.8 Serial I/O.....................................................................................................................367
20.8.1 Clock-Synchronous Serial I/O ..............................................................................367
20.8.2 UART Mode..........................................................................................................368
20.8.3 SI/O3, SI/O4.........................................................................................................368
20.9 A/D Converter .............................................................................................................369
20.10 Multi-master I2C bus Interface .................................................................................371
20.10.1 Writing to the S00 Register ................................................................................371
20.10.2 AL Flag ...............................................................................................................371
A-9
20.11 Programmable I/O Ports ...........................................................................................372
20.12
Electric Characteristic Differences Between Mask ROM and Flash Memory Version ...
373
20.13 Mask ROM Version...................................................................................................374
20.13.1 Internal ROM Area .............................................................................................374
20.13.2 Reserved Bit.......................................................................................................374
20.14 Flash Memory Version..............................................................................................375
20.14.1 Functions to Inhibit Rewriting Flash Memory Rewrite ........................................375
20.14.2 Stop Mode..........................................................................................................375
20.14.3 Wait Mode ..........................................................................................................375
20.14.4
Low Power Dissipation Mode, On-Chip Oscillator Low Power Dissipation Mode ...
375
20.14.5 Writing Command and Data...............................................................................375
20.14.6 Program Command............................................................................................375
20.14.7 Operation Speed ................................................................................................375
20.14.8 Instructions Inhibited Against Use ......................................................................375
20.14.9 Interrupts ............................................................................................................376
20.14.10 How to Access..................................................................................................376
20.14.11 Writing in the User ROM Area ..........................................................................376
20.14.12 DMA Transfer ...................................................................................................376
20.14.13 Regarding Programming/Erasure Times and Execution Time .........................376
20.14.14 Definition of Programming/Erasure Times .......................................................377
20.14.15
Flash Memory Version Electrical Characteristics 10,000 E/W cycle products (U7, U9)...
377
20.14.16 Boot Mode........................................................................................................377
20.14.17 Standard Serial I/O Mode................................................................................377
20.15 Noise ........................................................................................................................378
20.15.1 Trace of Print Board (85-pin Package)...............................................................378
20.16 Instruction for a Device Use .....................................................................................379
Appendix 1. Package Dimensions .................................................................. 380
Appendix 2. Functional Comparison ................................................................382
Appendix 2.1
Difference between M16C/28 Group Normal-ver. and M16C/28 Group T-ver./V-ver. ....
382
Appendix 2.2 Difference between M16C/28 Group and M16C/29 Group (Normal-ver.) ....383
Register Index ..................................................................................................384
B-1
Quick Reference by Address
0000
16
0001
16
0002
16
0003
16
0004
16
0005
16
0006
16
0007
16
0008
16
0009
16
000A
16
000B
16
000C
16
000D
16
000E
16
000F
16
0010
16
0011
16
0012
16
0013
16
0014
16
0015
16
0016
16
0017
16
0018
16
0019
16
001A
16
001B
16
001C
16
001D
16
001E
16
001F
16
0020
16
0021
16
0022
16
0023
16
0024
16
0025
16
0026
16
0027
16
0028
16
0029
16
002A
16
002B
16
002C
16
002D
16
002E
16
002F
16
0030
16
0031
16
0032
16
0033
16
0034
16
0035
16
0036
16
0037
16
0038
16
0039
16
003A
16
003B
16
003C
16
003D
16
003E
16
003F
16
Address
NOTES:
1. The blank areas are reserved and cannot be accessed by users.
Register Symbol Page
0040
16
0041
16
0042
16
0043
16
0044
16
0045
16
0046
16
0047
16
0048
16
0049
16
004A
16
004B
16
004C
16
004D
16
004E
16
004F
16
0050
16
0051
16
0052
16
0053
16
0054
16
0055
16
0056
16
0057
16
0058
16
0059
16
005A
16
005B
16
005C
16
005D
16
005E
16
005F
16
0060
16
0061
16
0062
16
0063
16
0064
16
0065
16
0066
16
0067
16
0068
16
0069
16
006A
16
006B
16
006C
16
006D
16
006E
16
006F
16
0070
16
0071
16
0072
16
0073
16
0074
16
0075
16
0076
16
0077
16
0078
16
0079
16
007A
16
007B
16
007C
16
007D
16
007E
16
007F
16
Watchdog timer start register WDTS
Watchdog timer control register WDC
Processor mode register 0 PM0
System clock control register 0 CM0
System clock control register 1 CM1
Address match interrupt enable register AIER
Protect register PRCR
Processor mode register 1 PM1
Oscillation stop detection register CM2
PLL control register 0 PLC0
Processor mode register 2 PM2
Address match interrupt register 0 RMAD0
Address match interrupt register 1 RMAD1
DMA0 control register DM0CON
DMA0 transfer counter TCR0
DMA1 control register DM1CON
DMA1 source pointer SAR1
DMA1 destination pointer DAR1
DMA0 destination pointer DAR0
DMA0 source pointer SAR0
Voltage detection register 1 VCR1
Voltage detection register 2 VCR2
Low voltage detection interrupt register D4INT
UART0 transmit interrupt control register
S0TIC
UART0 receive interrupt control register
S0RIC
UART1 transmit interrupt control register
S1TIC
UART1 receive interrupt control register
S1RIC
DMA1 transfer counter TCR1
INT3 interrupt control register INT3IC
IC/OC 0 interrupt control register ICOC0IC
IC/OC 1 interrupt control register, ICOC1IC,
I2C-BUS interface interrupt control register IICIC
IC/OC base timer interrupt control register, BTIC,
SCLSDA interrupt control register SCLDAIC
SI/O4 interrupt control register, S4IC,
INT5 interrupt control register INT5IC
SI/O3 interrupt control register, S3IC,
INT4 interrupt control register INT4IC
UART2 Bus collision detection interrupt control register BCNIC
DMA0 interrupt control register DM0IC
DMA1 interrupt control register DM1IC
Key input interrupt control register KUPIC
A/D conversion interrupt control register ADIC
UART2 transmit interrupt control register
S2TIC
UART2 receive interrupt control register
S2RIC
Timer A0 interrupt control register TA0IC
Timer A1 interrupt control register TA1IC
Timer A2 interrupt control register TA2IC
Timer A3 interrupt control register TA3IC
Timer A4 interrupt control register TA4IC
Timer B0 interrupt control register TB0IC
Timer B2 interrupt control register TB2IC
INT0 interrupt control register INT0IC
INT1 interrupt control register INT1IC
INT2 interrupt control register INT2IC
Timer B1 interrupt control register TB1IC
41
41
46
47
85
66
48
87
87
85
85
36
36
50
49
37
92
92
92
91
92
92
92
91
73
73
73
73
73
73
73
73
73
73
73
73
73
73
73
73
73
73
73
73
73
73
73
73
73
73
73
73
Address Register Symbol Page
B-2
Quick Reference by Address
NOTES:
1. The blank areas are reserved and cannot be accessed by users.
2. This register is included in the flash memory version.
0300
16
0301
16
0302
16
0303
16
0304
16
0305
16
0306
16
0307
16
0308
16
0309
16
030A
16
030B
16
030C
16
030D
16
030E
16
030F
16
0310
16
0311
16
0312
16
0313
16
0314
16
0315
16
0316
16
0317
16
0318
16
0319
16
031A
16
031B
16
031C
16
031D
16
031E
16
031F
16
0320
16
0321
16
0322
16
0323
16
0324
16
0325
16
0326
16
0327
16
0328
16
0329
16
032A
16
032B
16
032C
16
032D
16
032E
16
032F
16
0330
16
0331
16
0332
16
0333
16
0334
16
0335
16
0336
16
0337
16
0338
16
0339
16
033A
16
033B
16
033C
16
033D
16
033E
16
033F
16
01B0
16
01B1
16
01B2
16
01B3
16
01B4
16
01B5
16
01B6
16
01B7
16
01B8
16
01B9
16
0210
16
0211
16
0212
16
0213
16
0214
16
0215
16
0216
16
0217
16
0218
16
0219
16
0250
16
0251
16
0252
16
0253
16
0254
16
0255
16
0256
16
0257
16
0258
16
0259
16
025A
16
025B
16
025C
16
025D
16
025E
16
025F
16
02E0
16
02E1
16
02E2
16
02E3
16
02E4
16
02E5
16
02E6
16
02E7
16
02E8
16
02E9
16
02EA
16
02FE
16
02FF
16
Peripheral clock select register PCLKR
Flash memory control register 0
(2)
FMR0
Flash memory control register 1 FMR1 308
308
49
(2)
Address
Register Symbol Page
Address
Register Symbol Page
Flash memory control register 4
(2)
FMR4 309
Pin assignment control register PACR
On-chip oscillator control register ROCR 172,292
47
P1
7
digital debounce register P17DDR
NMI digital debounce register NDDR 293
293
253
I
2
C0 data shift register S00
I
2
C0 address register S0D0
I
2
C0 control register 0 S1D0
I
2
C0 clock control register S20
I
2
C0 start/stop condition control register S2D0
I
2
C0 control register 1 S3D0
I
2
C0 control register 2 S4D0
I
2
C0 status register S10
252
254
253
258
256
257
255
TM, WG register 0
G1TM0, G1PO0
141,142
TM, WG register 1
G1TM1, G1PO1
TM, WG register 2
G1TM2, G1PO2
TM, WG register 3
G1TM3, G1PO3
TM, WG register 4
G1TM4, G1PO4
TM, WG register 5
G1TM5, G1PO5
TM, WG register 6
G1TM6, G1PO6
TM, WG register 7
G1TM7, G1PO7
WG control register 0 G1POCR0 141
WG control register 1 G1POCR1 141
WG control register 2 G1POCR2 141
WG control register 3 G1POCR3 141
WG control register 4 G1POCR4 141
WG control register 5 G1POCR5 141
WG control register 6 G1POCR6 141
WG control register 7 G1POCR7 141
TM control register 0 G1TMCR0 140
TM control register 1 G1TMCR1 140
TM control register 2 G1TMCR2 140
TM control register 3 G1TMCR3 140
TM control register 4 G1TMCR4 140
TM control register 5 G1TMCR5 140
TM control register 6 G1TMCR6 140
TM control register 7 G1TMCR7 140
Base timer register G1BT 137
Base timer control register 0 G1BCR0 137
Base timer control register 1 G1BCR1 138
TM prescale register 6 G1TPR6 140
TM prescale register 7 G1TPR7 140
Function enable register G1FE 143
Function select register G1FS 143
Base timer reset register G1BTRR 139
Divider register G1DV 138
141,142
141,142
141,142
141,142
141,142
141,142
141,142
Interrupt request register G1IR 144
Interrupt enable register 0 G1IE0 145
Interrupt enable register 1 G1IE1 145
Low-power Consumption Control 0 LPCC0
Low-power Consumption Control 1 LPCC1
351
351
B-3
Quick Reference by Address
NOTE:
1. The blank areas are reserved and cannot be accessed by users.
0380
16
0381
16
0382
16
0383
16
0384
16
0385
16
0386
16
0387
16
0388
16
0389
16
038A
16
038B
16
038C
16
038D
16
038E
16
038F
16
0390
16
0391
16
0392
16
0393
16
0394
16
0395
16
0396
16
0397
16
0398
16
0399
16
039A
16
039B
16
039C
16
039D
16
039E
16
039F
16
03A0
16
03A1
16
03A2
16
03A3
16
03A4
16
03A5
16
03A6
16
03A7
16
03A8
16
03A9
16
03AA
16
03AB
16
03AC
16
03AD
16
03AE
16
03AF
16
03B0
16
03B1
16
03B2
16
03B3
16
03B4
16
03B5
16
03B6
16
03B7
16
03B8
16
03B9
16
03BA
16
03BB
16
03BC
16
03BD
16
03BE
16
03BF
16
Count start flag TABSR
Trigger select register TRGSR
Timer A0 register TA0
Timer A1 register TA1
Timer A2 register TA2
Timer B0 register TB0
Timer B1 register TB1
Timer B2 register TB2
One-shot start flag ONSF
Timer A0 mode register TA0MR
Timer A1 mode register TA1MR
Timer A2 mode register TA2MR
Timer B0 mode register TB0MR
Timer B1 mode register TB1MR
Timer B2 mode register TB2MR
Up-down flag UDF
Timer A3 register TA3
Timer A4 register TA4
Timer A3 mode register TA3MR
Timer A4 mode register TA4MR
Clock prescaler reset flag CPSRF
UART0 transmit/receive mode register U0MR
UART0 transmit buffer register U0TB
UART0 receive buffer register U0RB
UART1 transmit/receive mode register U1MR
UART1 transmit buffer register U1TB
UART1 receive buffer register U1RB
UART0 bit rate generator U0BRG
UART0 transmit/receive control register 0 U0C0
UART0 transmit/receive control register 1 U0C1
UART1 bit rate generator U1BRG
UART1 transmit/receive control register 0 U1C0
UART1 transmit/receive control register 1 U1C1
DMA1 request cause select register DM1SL
DMA0 request cause select register DM0SL
UART transmit/receive control register 2 UCON
Timer B2 special mode register TB2SC
101,115
102
102,115
102,129
101
115
115
100
100,130
100
114
114
128,222
170
169
169
171
172
169
170
169
169
171
172
169
171
90
91
101
101
100,130
100,130
114,130
Address
Register Symbol Page
0340
16
0341
16
0342
16
0343
16
0344
16
0345
16
0346
16
0347
16
0348
16
0349
16
034A
16
034B
16
034C
16
034D
16
034E
16
034F
16
0350
16
0351
16
0352
16
0353
16
0354
16
0355
16
0356
16
0357
16
0358
16
0359
16
035A
16
035B
16
035C
16
035D
16
035E
16
035F
16
0360
16
0361
16
0362
16
0363
16
0364
16
0365
16
0366
16
0367
16
0368
16
0369
16
036A
16
036B
16
036C
16
036D
16
036E
16
036F
16
0370
16
0371
16
0372
16
0373
16
0374
16
0375
16
0376
16
0377
16
0378
16
0379
16
037A
16
037B
16
037C
16
037D
16
037E
16
037F
16
Timer A1-1 register TA11
Timer A2-1 register TA21
Dead time timer DTT
Timer B2 interrupt occurrence frequency set counter
ICTB2
Three-phase PWM control register 0 INVC0
Three-phase PWM control register 1 INVC1
Three-phase output buffer register 0 IDB0
Three-phase output buffer register 1 IDB1
Interrupt request cause select register IFSR
SI/O3 transmit/receive register S3TRR
SI/O4 transmit/receive register S4TRR
SI/O3 control register S3C
SI/O3 bit rate generator S3BRG
SI/O4 bit rate generator S4BRG
SI/O4 control register S4C
UART2 special mode register U2SMR
UART2 receive buffer register U2RB
UART2 transmit buffer register U2TB
UART2 transmit/receive control register 0 U2C0
UART2 transmit/receive mode register U2MR
UART2 transmit/receive control register 1 U2C1
UART2 bit rate generator U2BRG
Timer A4-1 register TA41
UART2 special mode register 2 U2SMR2
UART2 special mode register 3 U2SMR3
Interrupt request cause select register 2 IFSR2A
UART2 special mode register 4 U2SMR4
127
127
127
124
125
126
126
126
126
213
213
213
213
213
213
174
174
173
173
170
169
169
171
172
169
74
74, 82
Address
Register Symbol Page
Position-data-retain function contol register PDRF 134
101,127
101,127
101,127
115,129
B-4
Quick Reference by Address
NOTE:
1. The blank areas are reserved and cannot be accessed by users.
03C0
16
03C1
16
03C2
16
03C3
16
03C4
16
03C5
16
03C6
16
03C7
16
03C8
16
03C9
16
03CA
16
03CB
16
03CC
16
03CD
16
03CE
16
03CF
16
03D0
16
03D1
16
03D2
16
03D3
16
03D4
16
03D5
16
03D6
16
03D7
16
03D8
16
03D9
16
03DA
16
03DB
16
03DC
16
03DD
16
03DE
16
03DF
16
03E0
16
03E1
16
03E2
16
03E3
16
03E4
16
03E5
16
03E6
16
03E7
16
03E8
16
03E9
16
03EA
16
03EB
16
03EC
16
03ED
16
03EE
16
03EF
16
03F0
16
03F1
16
03F2
16
03F3
16
03F4
16
03F5
16
03F6
16
03F7
16
03F8
16
03F9
16
03FA
16
03FB
16
03FC
16
03FD
16
03FE
16
03FF
16
A/D control register 1 ADCON1
Port P9 register P9
Pull-up control register 0 PUR0
Port control register PCR
A/D register 7 AD7
A/D register 0 AD0
A/D register 1 AD1
A/D register 2 AD2
A/D register 3 AD3
A/D register 4 AD4
A/D register 5 AD5
A/D register 6 AD6
A/D control register 0 ADCON0
A/D control register 2 ADCON2
Port P0 register P0
Port P0 direction register PD0
Port P1 register P1
Port P1 direction register PD1
Port P2 register P2
Port P2 direction register PD2
Port P3 register P3
Port P3 direction register PD3
Port P6 register P6
Port P6 direction register PD6
Port P7 register P7
Port P7 direction register PD7
Port P8 register P8
Port P8 direction register PD8
Port P9 direction register PD9
Port P10 register P10
Port P10 direction register PD10
Pull-up control register 1 PUR1
Pull-up control register 2 PUR2
221
221
221
221
221
221
221
221
219
219
219
290
290
289
289
290
290
289
289
290
290
289
289
290
290
289
289
290
289
291
291
291
292
Address
Register Symbol Page
A/D convert status register 0 ADSTAT0 221
A/D trigger control register ADTRGCON 220
M16C/28 Group (M16C/28, M16C/28B)
SINGLE-CHIP 16-BIT CMOS MICROCOMPUTER
page 1
583fo7002,13.naJ00.2.veR 0020-7400B90JER
1. Overview
1.1 Features
The M16C/28 Group (M16C/28, M16C/28B) of single-chip control MCUs incorporates the M16C/60 series
CPU core, employing the high-performance silicon gate CMOS technology and sophisticated instructions
for a high level of efficiency. The M16C/28 Group (M16C/28, M16C/28B) are housed in 64-pin and 80-pin
plastic molded LQFP packages and also in 85-pin plastic molded TFLGA (Thin Fine Pitch Land Grid Array)
package. This MCU is capable of executing instructions at high speed. In addition, the CPU core boasts a
multiplier and DMAC for high-speed operation processing to make adequate for office automation, commu-
nication devices, and other high-speed processing applications.
The M16C/28 Group has normal version, T version, and V version.
This hardware manual only describes the normal version. For information on T version and V version,
please contact Renesas Technology Corp.
1.1.1 Applications
Audio, cameras, office equipment, communication equipment, portable equipment, home appliances (in-
verter solution), motor control, industrial equipment, etc.
1. Overview
page 2
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Table 1.1 Specifications (80/85-Pin Package)
1.1.2 Specifications
Table 1.1 and 1.2 list specification outline.
Item Function Specification
CPU Number of basic instructions 91 instructions
Minimum instruction
41.7 ns (f(BCLK) = 24 MH
Z
, V
CC
= 4.2 V to 5.5 V) (M16C/28B)
excution time 50 ns (f(BCLK) = 20 MH
Z
, V
CC
= 3.0 V to 5.5 V) (M16C/28,M16C/28B)
100 ns (f(BCLK) = 10 MH
Z
, V
CC
= 2.7 V to 5.5 V) (M16C/28,M16C/28B)
Operation mode Single chip mode
Address space 1 Mbyte
Memory capacity See Tables 1.3 and 1.4
Peripheral I/O port Input/Output: 71 lines
Function Multifunction timer TimerA: 16 bits x 5 channels, TimerB: 16 bits x 3 channels
Three-phase motor control timer
TimerS (Input Capture/Output Compare):
16bit base timer x 1 channel (Input/Output x 8 channels)
Serial I/O 2 channels (UART0, UART1)
UART, clock synchronous
1 channel (UART2)
UART, clock synchronous, I2C bus, or IEbus(1)
2 channels (SI/O3, SI/O4)
Clock synchronous
1 channel (Multi-Master I2C bus)
A/D converter 10 bits x 24 channels
DMAC 2 channels
Watchdog timer 15 bits x 1 (with prescaler)
Interrupt 25 internal and 8 external sources, 4 software sources, 7 levels
Clock generation circuit 4 circuits
• Main clock
• Sub-clock
• On-chip oscillator
• PLL frequency synthesizer
Oscillation stop detect function Main clock oscillation stop, re-oscillation detect function
Voltage detection circuit Available
Electrical Power supply voltage VCC = 4.2 V to 5.5 V (f(BCLK) = 24 MHZ) (M16C/28B)
Characteristics
VCC = 3.0 V to 5.5 V (f(BCLK) = 20 MHZ) (M16C/28, M16C/28B)
VCC = 2.7 V to 5.5 V (f(BCLK) = 10 MHZ) (M16C/28, M16C/28B)
Power consumption 23 mA (VCC = 5 V, f(BCLK) = 24 MHz) (M16C/28B)
18 mA (VCC = 5 V, f(BCLK) = 20 MHz)
25 µA (f(XCIN) = 32 KHz on RAM)
3.0 µA (VCC = 3 V, f(XCIN) = 32 KHz, in wait mode)
0.7 µA (VCC = 3 V, in stop mode)
Flash Memory Program/erase supply voltage 2.7 V to 5.5 V
Program and erase endurance 100 times (all space) or 1,000 times (Blocks 0 to 5)
/10,000 times (Block A, Block B(2))
Operating Ambient Temperature -20 to 85°C/-40 to 85°C(2)
Package 80-pin plastic mold LQFP, 85-pin plastic mold TFLGA
NOTES:
1. IEBus is a trademark of NEC Electronics Corporation.
2. Refer to Tables 1. 5 to 1.7 Product Code for number of program/erase and operating ambient temperature.
3. PLL frequency synthesizer is required to use the M16C/28B at f(BCLK) = 24 MHz.
(These circuits contain a built-in feedback
resistor)
1. Overview
page 3
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Table 1.2 Specifications (64-Pin Package)
Item Function Specification
CPU Number of basic instructions 91 instructions
Minimum instruction
41.7 ns (f(BCLK) = 24 MHz, VCC = 4.2 V to 5.5 V) (M16C/28B)
excution time
50 ns (f(BCLK) = 20 MHz, VCC = 3.0 V to 5.5 V) (M16C/28,M16C/28B)
100 ns (f(BCLK) = 10 MHz, VCC = 2.7 V to 5.5 V) (M16C/28,M16C/28B)
Operation mode Single chip mode
Address space 1 Mbyte
Memory capacity See Tables 1.3 and 1.4
Peripheral I/O Port Input/Output: 55 lines
Function Multifunction timer TimerA: 16 bits x 5 channels, TimerB: 16 bits x 3 channels
Three-phase motor control timer
TimerS (Input Capture/Output Compare):
16bit base timer x 1 channel (Input/Output x 8 channels)
Serial I/O 2 channels (UART0, UART1)
UART, clock synchronous
1 channel (UART2)
UART, clock synchronous, I2C bus, or IEbus(1)
1 channels (SI/O3, SI/O4)
Clock synchronous
1 channel (Multi-Master I2C bus)
A/D converter 10 bits x 13 channels
DMAC 2 channels
Watchdog timer 15 bits x 1 (with prescaler)
Interrupt 24 internal and 8 external sources, 4 software sources, 7 levels
Clock generation circuit 4 circuits
• Main clock
• Sub-clock
• On-chip oscillator
• PLL frequency synthesizer
Oscillation stop detect function Main clock oscillation stop, re-oscillation detect function
Voltage detection circuit Available
Electrical Power supply voltage VCC = 4.2 V to 5.5 V (f(BCLK) = 24 MHZ) (M16C/28B)
Characteristics
VCC = 3.0 V to 5.5 V (f(BCLK) = 20 MHZ) (M16C/28, M16C/28B)
VCC = 2.7 V to 5.5 V (f(BCLK) = 10 MHZ) (M16C/28, M16C/28B)
Power consumption 23 mA (VCC = 5 V, f(BCLK) = 24 MHz) (M16C/28B)
16 mA (VCC = 5 V, f(BCLK) = 20 MHz)
25 µA (f(XCIN) = 32 KHz on RAM)
3.0 µA (VCC = 3 V, f(XCIN) = 32 KHz, in wait mode)
0.7 µA (VCC = 3 V, in stop mode)
Flash Memory Program/erase supply voltage 2.7V to 5.5V
Program and erase endurance 100 times (all space) or 1,000 times (Blocks 0 to 5)
/10,000 times (Block A, Block B(2))
Operating Ambient Temperature -20 to 85C°/-40 to 85C°(2)
Package 64-pin plastic mold LQFP
NOTES:
1. IEBus is a trademark of NEC Electronics Corporation.
2. Refer to Tables 1. 5 to 1.7 Product Code for number of program/erase and operating ambient temperature.
3. PLL frequency synthesizer is required to use the M16C/28B at f(BCLK) = 24 MHz.
(These circuits contain a built-in feedback
resistor)
1. Overview
page 4
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
1.2 Block Diagram
Figure 1.1 is a block diagram of the M16C/28 Group, 80-pin and 85-pin packages.
Figure 1.2 is a block diagram of the M16C/28 Group, 64-pin package.
Figure 1.1 M16C/28 Group Block Diagram (80-Pin Package and 85-Pin Package)
AAAA
A
AA
A
AAAA
Output (Timer A) : 5
Input (Timer B) : 3
Internal Peripheral Functions
Watchdog timer
(15 bits)
DMAC
(2 channels)
Memory
ROM(1)
RAM(2)
A/D converter
(10 bits x 24 channels)
UART/clock synchronous SI/O
(8 bits x 3 channels) System clock generator
XIN-XOUT
XCIN-XCOUT
On-chip oscillator
PLL frequency synthesizer
M16C/60 Series CPU Core
R0LR0H
R1H R1L
R2
R3
A0
A1
FB
SB
ISP
USP
INTB
Multiplier
8
Port P10
7
Port P9
8
Port P8
Port P7
8
Port P6
8
Port P2
8
PC
FLG
Timer (16 bits)
3-phase PWM
Port P3
8
Port P1
8
I/O Ports
Port P0
8
Clock synchronous SI/O
(8 bits x 2 channels)
Multi-master I2C bus
()
Timer S
Input capture/
Output compare
Time measurement : 8 channels
Waveform generating : 8 channels
NOTES:
1. ROM size depends on MCU type.
2. RAM size depends on MCU type.
1. Overview
page 5
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Figure 1.2 M16C/28 Group Block Diagram (64-Pin Package)
AAAA
AAAA
Output (Timer A) : 5
Input (Timer B) : 3
Internal Peripheral Functions
Watchdog timer
(15 bits)
DMAC
(2 channels)
Memory
ROM(1)
RAM(2)
UART/Clock synchronous SI/O
(8 bits x 3 channels) System clock generator
XIN-XOUT
XCIN-XCOUT
On-chip oscillator
PLL frequency synthesizer
M16C/60 Series CPU Core
R0L
R0H
R1H R1L
R2
R3
A0
A1
FB
SB
ISP
USP
INTB
Multiplier
8
Port P10
4
Port P9
8
Port P8
Port P7
8
Port P6
8
Port P2
8
PC
FLG
Timer (16 bits)
3-phase PWM
Port P3
4
Port P1
3
I/O Ports Port P0
4
Timer S
Input capture/
Output compare
Time measurement : 8 channels
Waveform generating : 8 channels
Clock synchronous SI/O
(8 bits x 1 channel)
Multi-master I2C bus
()
A/D converter
(10 bits x 13 channels)
NOTES:
1. ROM size depends on MCU type.
2. RAM size depends on MCU type.
1. Overview
page 6
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
1.3 Product Information
Tables 1.3 and 1.4 list the M16C/28 Group product information and Figure 1.3 shows the product number-
ing system. The specifications are partially different between normal-ver.and T/ V-ver..
Table 1.3 M16C/28 Group Product List -Normal-ver. As of January, 2007
rebmuNtraP MOR yticapaC MAR yticapaC epyTegakcaPskrameRedoCtcudorP
GW6F08203M)N(K4+K84K4
)G0F58(A-BJ5800GLTP
hsalF yromeM 9U,7U,5U,3U
GW8F08203M)N(K4+K46K4
GWAF08203M)N(K4+K69K8
PH6F08203M)N(K4+K84K4
)A-Q6P08(A-BK0800PQLP
PH8F08203M)N(K4+K46K4
PHAF08203M)N(K4+K69K8
PHCF08203M)N(K4+K821K21
PH6F18203M)N(K4+K84K4
)A-Q6P46(A-BK4600PQLP
PH8F18203M)N(K4+K46K4
PHAF18203M)N(K4+K69K8
PHCF18203M)N(K4+K821K21
PHXXX-8M08203M)N(K46K4
)A-Q6P08(A-BK0800PQLP
ksaM MOR 5U,3U
PHXXX-AM08203M)N(K69K8
PHXXX-CM08203M)N(K821K21
PHXXX-8M18203M)N(K46K4
)A-Q6P46(A-BK4600PQLPPHXXX-AM18203M)N(K69K8
PHXXX-CM18203M)N(K821K21
(N): New
rebmuNtraP MOR yticapaC MAR yticapaC epyTegakcaPskrameRedoCtcudorP
PHBCF08203M)D(K4+K821K21)A-Q6P08(A-BK0800PQLP hsalF yromem 7U
PHBCF18203M)D(K4+K821K21)A-Q6P46(A-BK4600PQLP
tnempolevedrednU:)D(
Table 1.4 M16C/28B Group Product List -Normal-ver. As of January, 2007
1. Overview
page 7
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Figure 1.3 Product Numbering System
Package type:
HP : Package PLQP0080KB-A(80P6Q-A)
PLQP0064KB-A(64P6Q-A)
WG : Package PTLG0085JB-A(85F0G)
Version
(no): M16C/28
B: M16C/28B
ROM capacity / RAM capacity
(1)
:
6 : (48K+4K) bytes / 4K bytes
8 : (64K + 4K) bytes / 4K bytes
A : (96K + 4K) bytes / 8K bytes
C : (128K + 4K) bytes / 12K bytes
Memory type:
F : Flash memory version
M : Mask ROM version
Part No. M 3 0 2 8 0 F C B H P - U 7
M16C/28 Group
M16C Family
Pin count
(The value itself has no specific meaning)
Product code
NOTE:
1. "+4K bytes" is available only in flash memory ver..
1. Overview
page 8
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Table 1.5 Product Code (Flash Memory Version) - M16C/28 Normal Version, 64-, 80-, and 85-Pin
Packages
tcudorP edoC egakcaP
MORlanretnI )5ot0skcolB:ecapSmargorP( MORlanretnI )BdnaAskcolB:ecapSataD( tneibmAgnitarepO erutarepmeT
dnamargorP esare ecnarudne
erutarepmeT egnar
dnamargorP esare ecnarudne
erutarepmeT egnar
3U
eerfdaeL
001
Cº06ot0
001Cº06ot0 Cº58ot04-
5U Cº58ot02-
7U 000,1000,01 Cº58ot04-Cº58ot04-
9U Cº58ot02-Cº58ot02-
tcudorP edoC egakcaP tneibmAgnitarepO erutarepmeT
3U eerf-daeL Cº58ot04-
5UCº58ot02-
NOTE:
1. The lead contained products, D3, D5, D7 and D9, are put together with U3, U5, U7 and U9 respectively.
Lead-free (Sn-Ag-Cu plating) products can be mounted by both conventional Sn-Pb paste and Lead-
free paste.
Table 1.6 Product Code (Flash Memory-ver.) - M16C/28B Normal Version, 64- and 80-Pin Package
Table 1.7 Product Code (Mask ROM Version) - M16C/28 Normal Version
tcudorP edoC egakcaP
MORlanretnI )5ot0skcolB:ecapSmargorP( MORlanretnI )BdnaAskcolB:ecapSataD( tneibmAgnitarepO erutarepmeT
margorP esaredna ecnarudne egnarerutarepmeT margorP esaredna ecnarudne
erutarepmeT egnar
7Ueerf-daeL000,1Cº06ot0000,01Cº58ot04-Cº58ot04-
1. Overview
page 9
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
M30280FA
B U5
XXXXXXX
Type No. M30280FAWG
Chip version and product code
B : Chip version.
The first edition is shown to be blank and continues with A, B, and C.
U5: Product code. (See Table 1.5)
Date code seven digits
Manufacturing management code
(1) Flash Memory Version, PTLG0085JB-A (85F0G), Normal-ver.
M16C
M30280FAHP
A U5
XXXXXXX
Type No. M30280FAHP
Chip version and product code
A : Chip version and product code(1)
The first edition is shown to be blank and continues with A, B and C.
U5 : Product code. (Table 1.5)
Date code seven digits
Manufacturing management code
(2) Flash Memory Version, PLQP0080KB-A (80P6Q-A), Normal-ver.
30281FA
A U5
XXXXXXX
Type No. M30281FAHP
Date code seven digits
Manufacturing management code
(3) Flash Memory Version, PLQP0064KB-A (64P6Q-A), Normal-ver.
Chip version and product code
A : Chip version and product code(1)
The first edition is shown to be blank and continues with A, B and C.
U5 : Product code. (Table 1.5)
M16C
M30280MA-
XXXHP A U5
XXXXXXX
Type No. M30280MAHP
Chip version and product code
XXX : ROM No.
A : Chip version and product code(1)
The first edition is shown to be blank and continues with A, B and C.
U5 : Product code. (Table 1.7)
Date code seven digits
Manufacturing management code
(4) Mask ROM Version, PLQP0080KB-A (80P6Q-A), Normal-ver.
XXXXXXX
M30281MA-
XXXHP A U5
Type No. M30281MAHP
Date code seven digits
Manufacturing management code
(5) Mask ROM Version, PLQP0064-KB-A (64P6Q-A), Normal-ver.
Chip version and product code
XXX: ROM No.
A : Chip version and product code(1)
The first edition is shown to be blank and continues with A, B and C.
U5 : Product code. (Table 1.7)
NOTES:
1. The following functinos are not available in the first version and version A products.
-Delay trigger mode 0 of A/D conversion
-Delay trigger mode 1 of A/D conversion
Figure 1.4 Marking Diagram-M16C/28 Group Normal-ver.
1. Overview
page 10
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
1.4 Pin Assignment
Figures 1.5 to 1.7 show the pin Assignments (top view).
NOTES:
1. The numbers in each grid (circle) show the pin numbers of the M30280FAHP (PLQP0080KB-A (80P6Q-A))
2. Connect grids written as (Vss) to Vss(GND) or leave them open.
3. Set PACR2 to PACR0 bits in the PACR register to "0112" before you input and output it after resetting to each pin.
When the PACR register is not set, the input and output function of some pins are disabled.
Package: PTLG0085JB-A(85F0G)
Figure 1.5 Pin Assignment (Top View) of 85-pin Package
A
10
P06P07P11
5
P14
52
P17
50
P21
47
P24
44
P27
42
P61
38
P31
62
P05
63
P04
59
P10
5
P13
53
P16
51
P20
48
P23
45
P26
43
P60
39
P30
64
P03
65
P02
66
P01
5
P12
54
P15(Vss)(2)
49
P22
46
P25
41
P62
40
P63
67
P00
68
P107
69
P106
37
P32
36
P33
35
P34
70
P105
71
P104(Vss)(2)
34
P35
33
P36
32
P37
74
P101
73
P102
72
P103(Vss)(2)
31
P64
30
P65
77
VREF
76
P100
75
AVss (Vss)(2)
29
P66
28
P67
27
P70
78
AVcc
79
P97
4
P91
9
RESE
T
11
Vss
14
P85
17
P82
26
P71
25
P72
24
P73
80
P96
2
P93
5
P90
7
P87/XCIN
12
XIN
13
Vcc
16
P83
19
P80
23
P74
22
P75
1
P95
3
P92
6
CNVss
8
P86/XCOUT
10
XOUT
13
Vcc
15
P84
18
P81
21
P76
20
P77
61 60 58
9
8
7
6
5
4
3
2
1
BCDEFG
H
(11)
(11)
(11)
(11)
JK
1. Overview
page 11
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Table 1.8 Pin Characteristics for 85-Pin Package
niP .oN lortnoC niP troP tpurretnI niP niPremiTniPSremiTniPTRAU retsam-itluM
I
2
niPsubC niPgolanA A-BK0800PQLP rebmuNniP
1A9P
5
KLC
4
2NA
5
1
2A9P
6
S
4TUO
2NA
6
08
3AccVA 87
4AV
FER
77
5A01P
1
NA
1
47
6A01P
5
IK
1
NA
5
07
7A0P
0
0NA
0
76
8A0P
3
0NA
3
46
9A0P
5
0NA
5
26
01A0P
6
0NA
6
16
1B9P
2
BT
NI2
3
2B9P
3
2NA
4
2
3B9P
7
S
4NI
2NA
7
97
4B01P
0
NA
0
67
5B01P
2
NA
2
37
6B01P
4
IK
0
NA
4
17
7B01P
7
IK
3
NA
7
86
8B0P
2
0NA
2
56
9B0P
4
0NA
4
36
01B0P
7
0NA
7
06
1CssVNC 6
2C9P
0
BT
NI0
5
3C9P
1
BT
NI1
4
4CssVA 57
5C01P
3
NA
3
27
6CssV
)1(
)11(
7C01P
6
IK
2
NA
6
96
8C0P
1
0NA
1
66
9C1P
0
2NA
0
95
01C1P
1
2NA
1
85
1DX
TUOC
8P
6
8
2DX
NIC
8P
7
7
3DTESER 9
4DssV
)1(
)11(
8D1P
2
2NA
2
75
9D1P
3
2NA
3
65
01D1P
4
55
1EX
TUO
01
2EX
NI
21
3EssV 11
1. Overview
page 12
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Table 1.8 Pin Characteristics for 85-Pin Package (continued)
niP .oN lortnoC niP troP tpurretnI niP niPremiTniPSremiTniPTRAU retsam-itluM
I
2
niPsubC niPgolanA A-BK0800PQLP rebmuNniP
8E1P
5
TNI
3
VDIDA
GRT
45
9E1P
6
TNI
4
WDI 35
01E1P
7
TNI
5
UDI1CPNI
7
25
1FccV 31
2FccV 31
3F8P
5
IMNDS 41
8FssV
)1(
)11(
9F2P
0
1CTUO
0
/
1CPNI
0
ADS
MM
15
01F2P
1
1CTUO
1
/
1CPNI
1
LCS
MM
05
1G8P
4
TNI
2
PZ 51
2G8P
3
TNI
1
61
3G8P
2
TNI
0
71
8G2P
2
1CTUO
2
/
1CPNI
2
94
9G2P
3
1CTUO
3
/
1CPNI
3
84
01G2P
4
1CTUO
4
/
1CPNI
4
74
1H8P
1
AT
NI4
U/ 81
2H8P
0
AT
TUO4
U/ 91
3H7P
1
AT
NI0
R
X
D
2
LCS/
2
KLC/
1
62
4H6P
6
R
X
D
1
92
5HssV
)1(
)11(
6H3P
5
43
7H3P
2
S
3TUO
73
8H2P
5
1CTUO
5
/
1CPNI
5
64
9H2P
6
1CTUO
6
/
1CPNI
6
54
01H2P
7
1CTUO
7
/
1CPNI
7
44
1J7P
6
AT
TUO3
12
2J7P
4
AT
TUO2
W/ 32
3J7P
2
AT
TUO1
V/KLC
2
R/
X
D
1
52
4J6P
7
T
X
D
1
82
5J6P
4
STR
1
STC/
1
STC/
0
/
SKLC
1
13
6J3P
6
33
7J3P
3
63
8J6P
2
R
X
D
0
14
9J6P
0
STR
0
STC/
0
34
01J6P
1
KLC
0
24
1K7P
7
AT
NI3
02
2K7P
5
AT
NI2
W/ 22
3K7P
3
AT
NI1
V/STC
2
STR/
2
DXT/
1
42
4K7P
0
AT
TUO0
T
X
D
2
ADS/
2
STR/
1
/
STC
1
STC/
0
SKLC/
1
72
5K6P
5
KLC
1
03
6K3P
7
23
7K3P
4
53
8K6P
3
T
X
D
0
04
9K3P
0
KLC
3
93
01K3P
1
S
3NI
83
1. Overview
page 13
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
M16C/28 Group
(M16C/28, M16C/28B)
PLQP0080KB-A (80P6Q-A)
(Top View)
Figure 1.6 Pin Assignment (Top View) of 80-Pin Package
1 2 3 4 5 6 7 8 91011121314151617181920
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41424344454647484950515253545557585960
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
56
P6
1
/CLK
0
P3
5
P3
4
P3
3
P3
2
/SOUT
3
P3
1
/SIN
3
P3
7
P6
7
/T
X
D
1
P7
1
/RXD
2
/SCL
2
/TA0
IN
/CLK1
P7
2
/CLK
2
/TA1
OUT
/V/RxD1
P7
3
/CTS
2
/RTS
2
/TA1
IN
/V/TxD1
P6
5
/CLK
1
P6
6
/RxD
1
P6
4
/CTS
1
/RTS
1
/CTS
0
/CLKS
1
P7
0
/TXD
2
/SDA
2
/TA0
OUT
/CTS1/RTS1/CTS
0
/CLKS
1
P7
5
/TA2
IN
/W
P3
0
/CLK
3
P7
4
/TA2
OUT
/W
P1
0
/AN2
0
P1
1
/AN2
1
P1
2
/AN2
2
P1
5
/INT
3
/AD
TRG
/IDV
P1
6
/INT
4
/IDW
P1
7
/INT
5
/INPC1
7
/IDU
P2
0
/OUTC1
0
/INPC1
0
/SDA
MM
P2
1
/OUTC1
1
/INPC1
1
/SCL
MM
P2
2
/OUTC1
2
/INPC1
2
P2
3
/OUTC1
3
/INPC1
3
P2
4
/OUTC1
4
/INPC1
4
P2
5
/OUTC1
5
/INPC1
5
P2
6
/OUTC1
6
/INPC1
6
P2
7
/OUTC1
7
/INPC1
7
P6
0
/CTS
0
/RTS
0
V
CC
X
IN
X
OUT
V
SS
RESET
CNVss
P8
7
/X
CIN
P8
6
/X
COUT
P7
6
/TA3
OUT
P7
7
/TA3
IN
P9
2
/TB2
IN
P9
3
/AN2
4
P9
5
/AN2
5
/CLK
4
P9
1
/TB1
IN
P8
2
/INT
0
P8
3
/INT
1
P8
1
/TA4
IN
/U
P8
4
/INT
2
/ZP
P8
0
/TA4
OUT
/U
P8
5
/NMI/SD
P0
0
/AN0
0
P0
1
/AN0
1
P0
2
/AN0
2
P0
3
/AN0
3
P0
4
/AN0
4
P0
5
/AN0
5
P0
6
/AN0
6
P0
7
/AN0
7
V
REF
AV
SS
AVcc
P10
0
/AN
0
P10
1
/AN
1
P10
2
/AN
2
P10
3
/AN
3
P10
4
/AN
4/
KI
0
P10
5
/AN
5
/KI
1
P10
6
/AN
6
/KI
2
P10
7
/AN
7
/KI
3
P9
6
/AN2
6
/SOUT
4
P9
7
/AN2
7
/SIN
4
P9
0
/TB0
IN
P6
3
/T
X
D
0
P6
2
/RxD
0
P3
6
P1
3
/AN2
3
P1
4
NOTES:
1.Set PACR2 to PACR0 bit in the PACR register to "011
2
" before you
input and output it after resetting to each pin. When the PACR
register isn't set up, the input and output function of some of the pins
are disabled.
1. Overview
page 14
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Table 1.9 Pin Characteristics for 80-Pin Package
niP .oN lortnoC niP troP tpurretnI niP niPremiTniPSremiTniPTRAU retsam-itluM
I
2
niPsubC niPgolanA
19P
5
KLC
4
2NA
5
29P
3
2NA
4
39P
2
BT
NI2
49P
1
BT
NI1
59P
0
BT
NI0
6ssVNC
7X
NIC
8P
7
8X
TUOC
8P
6
9TESER
01X
TUO
11ssV
21X
NI
31ccV
418P
5
IMNDS
518P
4
TNI
2
PZ
618P
3
TNI
1
718P
2
TNI
0
818P
1
AT
NI4
U/
918P
0
AT
TUO4
U/
027P
7
AT
NI3
127P
6
AT
TUO3
227P
5
AT
NI2
W/
327P
4
AT
TUO2
W/
427P
3
AT
NI1
V/STC
2
STR/
2
T/
X
D
1
527P
2
AT
TUO1
V/KLC
2
R/
X
D
1
627P
1
AT
NI0
R
X
D
2
LCS/
2
KLC/
1
727P
0
AT
TUO0
T
X
D
2
ADS/
2
STR/
1
/
STC
1
STC/
0
SKLC/
1
826P
7
T
X
D
1
926P
6
R
X
D
1
036P
5
KLC
1
136P
4
STR
1
STC/
1
STC/
0
/
SKLC
1
233P
7
333P
6
433P
5
533P
4
633P
3
733P
2
S
3TUO
833P
1
S
3NI
933P
0
KLC
3
046P
3
T
X
D
0
1. Overview
page 15
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
niP .oN lortnoC niP troP tpurretnI niP niPremiTniPSremiTniPTRAU retsam-itluM
I
2
niPsubC niPgolanA
146P
2
R
X
D
0
246P
1
KLC
0
346P
0
STR
0
STC/
0
442P
7
1CTUO
7
1CPNI/
7
542P
6
1CTUO
6
1CPNI/
6
642P
5
1CTUO
5
1CPNI/
5
742P
4
1CTUO
4
1CPNI/
4
842P
3
1CTUO
3
1CPNI/
3
942P
2
1CTUO
2
1CPNI/
2
052P
1
1CTUO
1
1CPNI/
1
LCS
MM
152P
0
1CTUO
0
1CPNI/
0
ADS
MM
251P
7
TNI
5
UDI1CPNI
7
351P
6
TNI
4
WDI
451P
5
TNI
3
VDIDA
GRT
551P
4
651P
3
2NA
3
751P
2
2NA
2
851P
1
2NA
1
951P
0
2NA
0
060P
7
0NA
7
160P
6
0NA
6
260P
5
0NA
5
360P
4
0NA
4
460P
3
0NA
3
560P
2
0NA
2
660P
1
0NA
1
760P
0
0NA
0
8601P
7
IK
3
NA
7
9601P
6
IK
2
NA
6
0701P
5
IK
1
NA
5
1701P
4
IK
0
NA
4
2701P
3
NA
3
3701P
2
NA
2
4701P
1
NA
1
57ssVA
6701P
0
NA
0
77V
FER
87ccVA
979P
7
S
4NI
2NA
7
089P
6
S
4TUO
2NA
6
Table 1.9 Pin Characteristics for 80-Pin Package (continued)
1. Overview
page 16
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Figure 1.7 Pin Assignment (Top View) of 64-Pin Package
32
31
30
29
28
26
25
24
23
22
21
20
19
18
17
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
27
64
48
47
46
45
43
42
41
40
39
38
37
36
35
34
33
44
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
P0
3
/AN0
3
P1
5
/INT
3
/AD
TRG
/IDV
P1
6
/INT
4
/IDW
P1
7
/INT
5
/INPC1
7
/IDU
P2
0
/OUTC1
0
/INPC1
0
/SDA
MM
P2
1
/OUTC1
1
/INPC1
1
/SCL
MM
P2
2
/OUTC1
2
/INPC1
2
P2
5
/OUTC1
5
/INPC1
5
P2
3
/OUTC1
3
/INPC1
3
P2
4
/OUTC1
4
/INPC1
4
P2
6
/OUTC1
6
/INPC1
6
P6
6
/RxD
1
P3
0
/CLK
3
P3
1
/S
IN3
P3
2
/S
OUT3
P3
3
P6
4
/CTS
1
/RTS
1
/CTS0/CLKS1
P6
5
/CLK
1
P6
7
/TxD
1
P7
0
/TxD
2
/SDA
2
/TA0
OUT
/RTS1/CTS1/CTS0/CLKS1
P7
1
/RxD
2
/SCL
2
/TA0
IN
/CLK1
P7
6
/TA3
OUT
P7
4
/TA2
OUT
/W
P7
5
/TA2
IN
/W
P7
2
/CLK
2
/TA1
OUT
/V/RxD1
P7
3
/CTS
2
/RTS
2
/TA1
IN
/V/TxD1
P0
0
/AN0
0
P10
7
/AN
7
/KI
3
P10
4
/AN
4
/KI
0
P10
3
/AN
3
P10
2
/AN
2
P10
1
/AN
1
AV
SS
P10
0
/AN
0
V
REF
AV
CC
P9
3
/AN2
4
P9
2
/TB2
IN
P0
2
/AN0
2
P0
1
/AN0
1
P10
6
/AN
6
/KI
2
P10
5
/AN
5
/KI
1
P9
0
/TB0
IN
CNV
SS
P8
7
/X
CIN
P8
6
/X
COUT
RESET
X
OUT
X
IN
V
CC
P8
4
/INT
2
/ZP
P8
5
/NMI/SD
P8
1
/TA4
IN
/U
P8
0
/TA4
OUT
/U
P7
7
/TA3
IN
P9
1
/TB1
IN
P8
3
/INT
1
V
SS
P2
7
/OUTC1
7
/INPC1
7
P6
0
/CTS
0
/RTS
0
P6
1
/CLK
0
P6
2
/RxD
0
P6
3
/TxD
0
P8
2
/INT
0
NOTES:
1.Set PACR2 to PACR0 bit in the PACR register to "0102" before you
input and output it after resetting to each pin. When the PACR
register isn't set up, the input and output function of some of the pins
are disabled.
M16C/28 Group
(M16C/28, M16C/28B)
PLQP0064KB-A (64P6Q-A)
(Top View)
1. Overview
page 17
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Table 1.10 Pin Characteristics for 64-Pin Package
niP .oN lortnoC niP troP tpurretnI niP niPremiTniPSremiTniPTRAU retsam-tluM
I
2
niPsubC niPgolanA
19P
1
AT
NI1
29P
0
BT
NI0
3ssVNC
4X
NIC
8P
7
5X
TUOC
8P
6
6TESER
7X
TUO
8ssV
9X
NI
01ccV
118P
5
IMNDS
218P
4
TNI
2
PZ
318P
3
TNI
1
418P
2
TNI
0
518P
1
AT
NI4
U/
618P
0
AT
TUO4
U/
717P
7
AT
NI3
817P
6
AT
TUO3
917P
5
AT
NI2
W/
027P
4
AT
TUO2
W/
127P
3
AT
NI1
V/STC
2
STR/
2
T/
X
D
1
227P
2
AT
TUO1
V/KLC
2
R/
X
D
1
327P
1
AT
NI0
R
X
D
2
LCS/
2
KLC/
1
427P
0
AT
TUO0
T
X
D
2
ADS/
2
STR/
1
/
STC
1
STC/
0
SKLC/
1
526P
7
T
X
D
1
626P
6
R
X
D
1
726P
5
KLC
1
826P
4
STR
1
STC/
1
STC/
0
/
SKLC
1
923P
3
033P
2
S
3TUO
133P
1
S
3NI
233P
0
KLC
3
336P
3
T
X
D
0
436P
2
R
X
D
0
536P
1
KLC
0
636P
0
STR
0
STC/
0
732P
7
1CTUO
7
1CPNI/
7
832P
6
1CTUO
6
1CPNI/
6
932P
5
1CTUO
5
1CPNI/
5
042P
4
1CTUO
4
1CPNI/
4
1. Overview
page 18
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Table 1.10 Pin Characteristics for 64-Pin Package (continued)
niP .oN lortnoC niP troP tpurretnI niP niPremiTniPSremiTniPTRAU retsam-itluM
I
2
niPsubC niPgolanA
142P
3
1CTUO
3
1CPNI/
3
242P
2
1CTUO
2
1CPNI/
2
342P
1
1CTUO
1
1CPNI/
1
LCS
MM
442P
0
1CTUO
0
1CPNI/
0
ADS
MM
541P
7
TNI
5
UDI1CPNI
7
641P
6
TNI
4
WDI
741P
5
TNI
3
VDIDA
GRT
840P
3
0NA
3
940P
2
0NA
2
050P
1
0NA
1
150P
0
0NA
0
2501P
7
IK
3
NA
7
3501P
6
IK
2
NA
6
4501P
5
IK
1
NA
5
5501P
4
IK
0
NA
4
6501P
3
NA
3
7501P
2
NA
2
8501P
1
NA
1
95ssVA
0601P
0
NA
0
16V
FER
26ccVA
369P
3
2NA
4
469P
2
BT
NI2
1. Overview
page 19
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
1.5 Pin Description
Table 1.11 Pin Description (64-pin, 80-pin and 85-pin packages)
Apply 2.7 to 5.5V to the Vcc pin. Apply 0V to the Vss pin.
Supplies power to the A/D converter. Connect the AVCC pin to VCC and
the AVSS pin to VSS.
___________
The microcomputer is in a reset state when "L" is applied to the RESET pin
Connect the CNVSS pin to VSS.
I/O pins for the main clock oscillation circuit. Connect a ceramic resonator
or crystal oscillator between XIN and XOUT. To apply external clock, apply
it to XIN and leave XOUT open. If XIN is not used (for external oscillator or
external clock) connect XIN pin to VCC and leave XOUT open.
I/O pins for the sub clock oscillation circuit. Connect a crystal oscillator
between XCIN and XCOUT.
______ ________
Input pins for the INT interrupt. INT2 can be used for Timer A Z-phase
function.
_______ _______
Input pin for the NMI interrupt. NMI cannot be used as I/O port while the three-
_______
phase motor control is enabled. Apply a stable "H" to NMI after setting it's
direction register to "0" when the three-phase motor control is enabled.
Input pins for the key input interrupt
I/O pins for the timer A0 to A4
Input pins for the timer A0 to A4
Input pin for Z-phase
Input pins for the timer B0 to B2
Output pins for the three-phase motor control timer
Input and output pins for the three-phase motor control timer
Input pins for data transmission control
Output pins for data reception control
Inputs and outputs the transfer clock
Inputs serial data
Outputs serial data
Output pin for transfer clock
Inputs and outputs serial data
Inputs and outputs the transfer clock
Inputs and outputs serial data
Inputs and outputs the transfer clock
Applies reference voltage to the A/D converter
Analog input pins for the A/D converter
Input pin for an external A/D trigger
VCC, VSS
AVCC
AVSS
____________
RESET
CNVSS
XIN
XOUT
XCIN
XCOUT
________ ________
INT0 to INT5
_______
NMI
_____ _____
KI0 to KI3
TA0OUT to
TA4OUT
TA0IN to
TA4IN
ZP
TB0IN to
TB2IN
___ ___
U, U, V, V,
___
W, W
IDU, IDW,
_____
IDV, SD
_________ _________
CTS0 to CTS2
_________ _________
RTS0 to RTS2
CLK0 to CLK3
RxD0 to RxD2
TxD0 to TxD2
CLKS1
SDA2
SCL2
SDAMM
SCLMM
VREF
AN0 to AN7
AN0
0
to AN0
3
AN2
4
___________
ADTRG
Power Supply
Analog Power
Supply
Reset Input
CNVSS
Main Clock
Input
Main Clock
Output
Sub Clock Input
Sub Clock Output
______
INT Interrupt
Input
_______
NMI Interrupt
Input
Key Input Interrupt
Timer A
Timer B
Three-phase
Motor Control
Timer Output
Serial I/O
I2C bus Mode
Multi-master
I2C bus
Reference
Voltage Input
A/D Converter
I
I
I
I
I
O
I
O
I
I
I
I/O
I
I
I
O
I/O
I
O
I/O
I
O
O
I/O
I/O
I
I
I : Input O : Output I/O : Input and output
Classification Symbol I/O Type Function
1. Overview
page 20
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Input pins for the time measurement function
Output pins for the waveform generating function
CMOS I/O ports which have a direction register determines an individual
pin is used as an input port or an output port. A pull-up resistor is select-
able for every 4 input ports.
INPC10 to INPC17
OUTC1
0
to OUTC1
7
P00 to P03
P15 to P17
P20 to P27
P30 to P33
P60 to P67
P70 to P77
P80 to P87
P90 to P93
P10
0
to P10
7
Timer S
I/O Ports
I
O
I/O
I : Input O : Output I/O : Input and output
Classification Symbol I/O Type Function
Table 1.11 Pin Description (64-pin, 80-pin and 85-pin packages) (Continued)
1. Overview
page 21
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Inputs and outputs the transfer clock
Inputs serial data
Outputs serial data
Analog input pins for the A/D converter
CMOS I/O ports which have a direction register determines an individual
pin is used as an input port or an output port. A pull-up resistor is select-
able for every 4 input ports.
CLK4
SIN4
SOUT4
AN0
4
to AN0
7
AN2
0
to AN2
3
AN2
5
to AN2
7
P04 to P07
P10 to P14
P34 to P37
P95 to P97
Serial I/O
A/D Converter
I/O Ports
I/O
I
O
I
I/O
I : Input O : Output I/O : Input and output
Classification Symbol I/O Type Function
Table 1.11 Pin Description (80-pin and 85-pin packages only) (Continued)
2. Central Processing Unit(CPU)
)B82/C61M,82/C61M(puorG82/C61M
page 22
583fo7002,13.naJ00.2.veR 0020-7400B90JER
2. Central Processing Unit (CPU)
Figure 2.1 shows the CPU registers. The register bank is comprised of 7 registers (R0, R1, R2, R3, A0, A1
and FB) out of 13 CPU registers. Two sets of register banks are provided.
Figure 2.1 Central Processing Unit Register
2.1 Data Registers (R0, R1, R2 and R3)
The R0, R1, R2 and R3 registers are 16 bit registers for transfer and arithmetic/logic operations.
The R0 and R1 registers can be split into high-order bits(R0H, R1H) and low-order bits (R0L, R1L) to be
used seperately as 8-bit data registers. Conversely, R2 and R0 can be combined with R2 to be used as a
32-bit data register (R2R0). The same applies to R1 and R2.
2.2 Address Registers (A0 and A1)
The register A0 consists of 16 bits, and is used for address register indirect addressing and address register
relative addressing. They also are used for transfers and arithmetic/logic operations. A1 is the same as A0.
In some instructions, registers A1 and A0 can be combined for use as a 32-bit address register (A1A0).
Data registers (1)
Address registers (1)
Frame base registers (1)
Program counter
Interrupt table register
User stack pointer
Interrupt stack pointer
Static base register
Flag register
NOTES:
1. The register bank is comprised of these registers. Two sets of register banks are provided.
R0H(R0's high bits)
b15 b8 b7 b0
R3
INTBH
US P
ISP
SB
R0L(R0's low bits)
R1H(R1's high bits) R1L(R1's low bits)
R2
b31
R3
R2
A1
A0
FB
b19
INTBL
b15 b0
PC
b19 b0
b15 b0
FLG
b15 b0
b
1
5
b0
b
Reserved space
Carry flag
Debug flag
Zero flag
Sign flag
Register bank select flag
Overflow flag
Interrupt enable flag
Stack pointer select flag
Reserved space
Processor interrupt priority level
The upper 4 bits of INTB are INTBH and
the lower 16 bits of INTB are INTBL.
2. Central Processing Unit(CPU)
)B82/C61M,82/C61M(puorG82/C61M
page 23
583fo7002,13.naJ00.2.veR 0020-7400B90JER
2.3 Frame Base Register (FB)
FB is configured with 16 bits, and is used for FB relative addressing.
2.4 Interrupt Table Register (INTB)
INTB is configured with 20 bits, indicating the start address of an interrupt vector table.
2.5 Program Counter (PC)
PC is configured with 20 bits, indicating the address of an instruction to be executed.
2.6 User Stack Pointer (USP) and Interrupt Stack Pointer (ISP)
Stack pointer (SP) comes in two types: USP and ISP, each configured with 16 bits.
Your desired type of stack pointer (USP or ISP) can be selected by the U flag of FLG.
2.7 Static Base Register (SB)
SB is configured with 16 bits, and is used for SB relative addressing.
2.8 Flag Register (FLG)
FLG consists of 11 bits, indicating the CPU status.
2.8.1 Carry Flag (C Flag)
This flag retains a carry, borrow, or shift-out bit that has occurred in the arithmetic/logic unit.
2.8.2 Debug Flag (D Flag)
The D flag is used exclusively for debugging purpose. During normal use, it must be set to 0.
2.8.3 Zero Flag (Z Flag)
This flag is set to 1 when an arithmetic operation resulted in 0; otherwise, it is 0.
2.8.4 Sign Flag (S Flag)
This flag is set to 1 when an arithmetic operation resulted in a negative value; otherwise, it is 0.
2.8.5 Register Bank Select Flag (B Flag)
Register bank 0 is selected when this flag is 0 ; register bank 1 is selected when this flag is 1.
2.8.6 Overflow Flag (O Flag)
This flag is set to 1 when the operation resulted in an overflow; otherwise, it is 0.
2.8.7 Interrupt Enable Flag (I Flag)
This flag enables a maskable interrupt.
Maskable interrupts are disabled when the I flag is 0, and are enabled when the I flag is 1. The I flag
is cleared to 0 when the interrupt request is accepted.
2.8.8 Stack Pointer Select Flag (U Flag)
ISP is selected when the U flag is 0; USP is selected when the U flag is 1.
The U flag is cleared to 0 when a hardware interrupt request is accepted or an INT instruction for
software interrupt Nos. 0 to 31 is executed.
2.8.9 Processor Interrupt Priority Level (IPL)
IPL is configured with three bits, for specification of up to eight processor interrupt priority levels from level
0 to level 7.
If a requested interrupt has priority greater than IPL, the interrupt is enabled.
2.8.10 Reserved Area
When write to this bit, write "0". When read, its content is undefined.
3. Memory
page 24
)B82/C61M,82/C61M(puorG82/C61M
583fo7002,13.naJ00.2.veR 0020-7400B90JER
3. Memory
Figure 3.1 is a memory map of the M16C/28 Group. M16C/28 Group provides 1-Mbyte address space from
addresses 0000016 to FFFFF16. The internal ROM is allocated lower addresses beginning with address
FFFFF16. For example, 64 Kbytes internal ROM is allocated addresses F000016 to FFFFF16.
Two 2-Kbyte internal ROM areas, block A and block B, are available in the flash memory version. The
blocks are allocated addresses F00016 to FFFF16.
The fixed interrupt vector tables are allocated addresses FFFDC16 to FFFFF16. It stores the starting ad-
dress of each interrupt routine. See the section on interrupts for details.
The internal RAM is allocated higher addresses beginning with address 0040016. For example, 4-Kbytes
internal RAM is allocated addresses 0040016 to 013FF16. Besides storing data, it becomes stacks when the
subroutine is called or an interrupt is acknowledged.
SFR, consisting of control registers for peripheral functions such as I/O port, A/D converter, serial I/O,
timers is allocated addresses 0000016 to 003FF16. All blank spaces within SFR are reserved and cannot be
accessed by users.
The special page vector table is allocated to the addresses FFE0016 to FFFDB16. This vector is used by the
JMPS or JSRS instruction. For details, refer to the
M16C/60 and M16C/20 Series Software Manual
.
Figure 3.1 Memory Map
00000
16
XXXXX
16
FFFFF
16
00400
16
YYYYY
16
Internal ROM Area
(program space)
SFR Area
Internal RAM Area FFE00
16
FFFDC
16
FFFFF
16
Undefined Instruction
Overflow
BRK Instruction
Address Match
Single Step
Watchdog Timer
Reset
Special Page
Vector Table
DBC
RESERVED
Internal ROM Area
(data space)
RESERVED
0F000
16
XXXXX
16
YYYYY
16
Internal RAM area Internal ROM area
Memory size
013FF
16
01AFF
16
F4000
16
F0000
16
4K bytes
6K bytes
48K bytes
64K bytes
Memory size
E8000
16
96K bytes
NOTES:
1. The block A (2K bytes) and block B (2K bytes) are shown (only flash memory).
2. Do not write to the internal ROM area in Mask ROM ver..
(1)
0FFFF
16
NMI
023FF
16
8K bytes E0000
16
128K bytes
033FF
16
12K bytes
4. Special Function Register (SFR)
page 25
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
4. Special Function Register (SFR)
SFR (Special Function Register) is the control register of peripheral functions. Tables 4.1 to 4.7 list the SFR
information.
Table 4.1 SFR Information(1)(1)
NOTES:
1.The blank spaces are reserved. No access is allowed.
2. The CM20, CM21, and CM27 bits do not change at oscillation stop detection reset.
3. This register does not change at software reset, watchdog timer reset and oscillation stop detection reset.
X : Indeterminate
0000
16
0001
16
0002
16
0003
16
0004
16
0005
16
0006
16
0007
16
0008
16
0009
16
000A
16
000B
16
000C
16
000D
16
000E
16
000F
16
0010
16
0011
16
0012
16
0013
16
0014
16
0015
16
0016
16
0017
16
0018
16
0019
16
001A
16
001B
16
001C
16
001D
16
001E
16
001F
16
0020
16
0021
16
0022
16
0023
16
0024
16
0025
16
0026
16
0027
16
0028
16
0029
16
002A
16
002B
16
002C
16
002D
16
002E
16
002F
16
0030
16
0031
16
0032
16
0033
16
0034
16
0035
16
0036
16
0037
16
0038
16
0039
16
003A
16
003B
16
003C
16
003D
16
003E
16
003F
16
Address Register Symbol After Reset
Processor mode register 0 PM0 0016
Processor mode register 1 PM1 000010002
System clock control register 0 CM0 010010002
System clock control register 1 CM1 001000002
Address match interrupt enable register AIER XXXXXX002
Protect register PRCR XX0000002
Oscillation stop detection register (2) CM2 0X0000102
Watchdog timer start register WDTS XX16
Watchdog timer control register WDC 00XXXXXX2
Address match interrupt register 0 RMAD0 0016
0016
X016
Address match interrupt register 1 RMAD1 0016
0016
X016
Voltage detection register 1 (3) VCR1 000010002
Voltage detection register 2 (3) VCR2 0016
PLL control register 0 PLC0 0001X0102
Processor mode register 2 PM2 XXX000002
Low voltage detection interrupt register D4INT 0016
DMA0 source pointer SAR0 XX16
XX16
XX16
DMA0 destination pointer DAR0 XX16
XX16
XX16
DMA0 transfer counter TCR0 XX16
XX16
DMA0 control register DM0CON 00000X002
DMA1 source pointer SAR1 XX16
XX16
XX16
DMA1 destination pointer DAR1 XX16
XX16
XX16
DMA1 transfer counter TCR1 XX16
XX16
DMA1 control register DM1CON 00000X002
4. Special Function Register (SFR)
page 26
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
INT3 interrupt control register INT3IC XX00X000
2
IC/OC 0 interrupt control register ICOC0IC XXXXX000
2
IC/OC
1 interrupt control register, I2C bus interface interrupt control register
I C O C 1 I C , I I C I C XXXXX000
2
IC/OC
base timer interrupt control register, SCLSDA interrupt control register BTIC, SCLDAIC
XXXXX000
2
SI/O4 interrupt control register, INT5 interrupt control register S4IC, INT5IC XX00X000
2
SI/O3 interrupt control register, INT4 interrupt control register S3IC, INT4IC XX00X000
2
UART2 Bus collision detection interrupt control register BCNIC XXXXX000
2
DMA0 interrupt control register DM0IC XXXXX000
2
DMA1 interrupt control register DM1IC XXXXX000
2
Key input interrupt control register KUPIC XXXXX000
2
A/D conversion interrupt control register ADIC XXXXX000
2
UART2 transmit interrupt control register S2TIC XXXXX000
2
UART2 receive interrupt control register S2RIC XXXXX000
2
UART0 transmit interrupt control register S0TIC XXXXX000
2
UART0 receive interrupt control register S0RIC XXXXX000
2
UART1 transmit interrupt control register S1TIC XXXXX000
2
UART1 receive interrupt control register S1RIC XXXXX000
2
Timer A0 interrupt control register TA0IC XXXXX000
2
Timer A1 interrupt control register TA1IC XXXXX000
2
Timer A2 interrupt control register TA2IC XXXXX000
2
Timer A3 interrupt control register TA3IC XXXXX000
2
Timer A4 interrupt control register TA4IC XXXXX000
2
Timer B0 interrupt control register TB0IC XXXXX000
2
Timer B1 interrupt control register TB1IC XXXXX000
2
Timer B2 interrupt control register TB2IC XXXXX000
2
INT0 interrupt control register INT0IC XX00X000
2
INT1 interrupt control register INT1IC XX00X000
2
INT2 interrupt control register INT2IC XX00X000
2
0040
16
0041
16
0042
16
0043
16
0044
16
0045
16
0046
16
0047
16
0048
16
0049
16
004A
16
004B
16
004C
16
004D
16
004E
16
004F
16
0050
16
0051
16
0052
16
0053
16
0054
16
0055
16
0056
16
0057
16
0058
16
0059
16
005A
16
005B
16
005C
16
005D
16
005E
16
005F
16
0060
16
0061
16
0062
16
0063
16
0064
16
0065
16
0066
16
0067
16
0068
16
0069
16
006A
16
006B
16
006C
16
006D
16
006E
16
006F
16
0070
16
0071
16
0072
16
0073
16
0074
16
0075
16
0076
16
0077
16
0078
16
0079
16
007A
16
007B
16
007C
16
007D
16
007E
16
007F
16
Address Register Symbol After Reset
Note 1: The blank spaces are reserved. No access is allowed.
X : Indeterminate
Table 4.2 SFR Information(2)(1)
4. Special Function Register (SFR)
page 27
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
01B0
16
01B1
16
01B2
16
01B3
16
01B4
16
01B5
16
01B6
16
01B7
16
01B8
16
01B9
16
0210
16
0211
16
0212
16
0213
16
0214
16
0215
16
0216
16
0217
16
0218
16
0219
16
0250
16
0251
16
0252
16
0253
16
0254
16
0255
16
0256
16
0257
16
0258
16
0259
16
025A
16
025B
16
025C
16
025D
16
025E
16
025F
16
02E0
16
02E1
16
02E2
16
02E3
16
02E4
16
02E5
16
02E6
16
02E7
16
02E8
16
02E9
16
02EA
16
02FE
16
02FF
16
Note 1:The blank spaces are reserved. No access is allowed.
Note 2:This register is included in the flash memory version.
X : Indeterminate
Address Register Symbol After Reset
Flash memory control register 4
(2)
FMR4 010000002
Flash memory control register 1
(2)
FMR1 000XXX0X2
Flash memory control register 0
(2)
FMR0 000000012
Low-power Consumption Control 0 LPCC0 X00000012
On-chip oscillator control register ROCR X00001012
Pin assignment control register PACR 0016
Peripheral clock select register PCLKR 000000112
Low-power Consumption Control 1 LPCC1 0016
I
2
C0 data shift register S00 XX16
I
2
C0 address register S0D0 0016
I
2
C0 control register 0 S1D0 0016
I
2
C0 clock control register S20 0016
I
2
C0 start/stop condition control register S2D0 000110102
I
2
C0 control register 1 S3D0 001100002
I
2
C0 control register 2 S4D0 0016
I
2
C0 status register S10 0001000X2
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
Table 4.3 SFR Information(3)(1)
4. Special Function Register (SFR)
page 28
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Note 1:The blank spaces are reserved. No access is allowed.
X : Indeterminate
0300
16
0301
16
0302
16
0303
16
0304
16
0305
16
0306
16
0307
16
0308
16
0309
16
030A
16
030B
16
030C
16
030D
16
030E
16
030F
16
0310
16
0311
16
0312
16
0313
16
0314
16
0315
16
0316
16
0317
16
0318
16
0319
16
031A
16
031B
16
031C
16
031D
16
031E
16
031F
16
0320
16
0321
16
0322
16
0323
16
0324
16
0325
16
0326
16
0327
16
0328
16
0329
16
032A
16
032B
16
032C
16
032D
16
032E
16
032F
16
0330
16
0331
16
0332
16
0333
16
0334
16
0335
16
0336
16
0337
16
0338
16
0339
16
033A
16
033B
16
033C
16
033D
16
033E
16
033F
16
TM, WG register 0 G1TM0, G1PO0 XX
16
XX16
TM, WG register 1 G1TM1, G1PO1 XX16
XX16
TM, WG register 2 G1TM2, G1PO2 XX16
XX16
TM, WG register 3 G1TM3, G1PO3 XX16
XX16
TM, WG register 4 G1TM4, G1PO4 XX16
XX16
TM, WG register 5 G1TM5, G1PO5 XX16
XX16
TM, WG register 6 G1TM6, G1PO6 XX16
XX16
TM, WG register 7 G1TM7, G1PO7 XX16
XX16
WG control register 0 G1POCR0 0X00XX002
WG control register 1 G1POCR1 0X00XX002
WG control register 2 G1POCR2 0X00XX002
WG control register 3 G1POCR3 0X00XX002
WG control register 4 G1POCR4 0X00XX002
WG control register 5 G1POCR5 0X00XX002
WG control register 6 G1POCR6 0X00XX002
WG control register 7 G1POCR7 0X00XX002
TM control register 0 G1TMCR0 0016
TM control register 1 G1TMCR1 0016
TM control register 2 G1TMCR2 0016
TM control register 3 G1TMCR3 0016
TM control register 4 G1TMCR4 0016
TM control register 5 G1TMCR5 0016
TM control register 6 G1TMCR6 0016
TM control register 7 G1TMCR7 0016
Base timer register G1BT XX16
XX16
Base timer control register 0 G1BCR0 0016
Base timer control register 1 G1BCR1 0016
TM prescale register 6 G1TPR6 0016
TM prescale register 7 G1TPR7 0016
Function enable register G1FE 0016
Function select register G1FS 0016
Base timer reset register G1BTRR XX16
XX16
Divider register G1DV 0016
Interrupt request register G1IR XX16
Interrupt enable register 0 G1IE0 0016
Interrupt enable register 1 G1IE1 0016
NMI digital debounce register NDDR FF16
P17 digital debounce register P17DDR FF16
Address Register Symbol After Reset
Table 4.4 SFR Information(4)(1)
4. Special Function Register (SFR)
page 29
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
0340
16
0341
16
0342
16
0343
16
0344
16
0345
16
0346
16
0347
16
0348
16
0349
16
034A
16
034B
16
034C
16
034D
16
034E
16
034F
16
0350
16
0351
16
0352
16
0353
16
0354
16
0355
16
0356
16
0357
16
0358
16
0359
16
035A
16
035B
16
035C
16
035D
16
035E
16
035F
16
0360
16
0361
16
0362
16
0363
16
0364
16
0365
16
0366
16
0367
16
0368
16
0369
16
036A
16
036B
16
036C
16
036D
16
036E
16
036F
16
0370
16
0371
16
0372
16
0373
16
0374
16
0375
16
0376
16
0377
16
0378
16
0379
16
037A
16
037B
16
037C
16
037D
16
037E
16
037F
16
Note 1: The blank spaces are reserved. No access is allowed.
Note 2: Write "1" to bit 0 after reset.
X : Indeterminate
Timer A1-1 register TA11 XX
16
XX
16
Timer A2-1 register TA21 XX
16
XX
16
Timer A4-1 register TA41 XX
16
XX
16
Three-phase PWM control register 0 INVC0 00
16
Three-phase PWM control register 1 INVC1 00
16
Three-phase output buffer register 0 IDB0 00111111
2
Three-phase output buffer register 1 IDB1 00111111
2
Dead time timer DTT XX
16
Timer B2 interrupt occurrence frequency set counter ICTB2 XX
16
Position-data-retain function control register PDRF XXXX0000
2
Interrupt request cause select register 2 IFSR2A 00XXXXX0
2
(2)
Interrupt request cause select register IFSR 00
16
SI/O3 transmit/receive register S3TRR XX
16
SI/O3 control register S3C 01000000
2
SI/O3 bit rate generator S3BRG XX
16
SI/O4 transmit/receive register S4TRR XX
16
SI/O4 control register S4C 01000000
2
SI/O4 bit rate generator S4BRG XX
16
UART2 special mode register 4 U2SMR4 00
16
UART2 special mode register 3 U2SMR3 000X0X0X
2
UART2 special mode register 2 U2SMR2 X0000000
2
UART2 special mode register U2SMR X0000000
2
UART2 transmit/receive mode register U2MR 00
16
UART2 bit rate generator U2BRG XX
16
UART2 transmit buffer register U2TB XX
16
XX
16
UART2 transmit/receive control register 0 U2C0 00001000
2
UART2 transmit/receive control register 1 U2C1 00000010
2
UART2 receive buffer register U2RB XX
16
XX
16
Address Register Symbol After Reset
Table 4.5 SFR Information(5)(1)
4. Special Function Register (SFR)
page 30
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
0380
16
0381
16
0382
16
0383
16
0384
16
0385
16
0386
16
0387
16
0388
16
0389
16
038A
16
038B
16
038C
16
038D
16
038E
16
038F
16
0390
16
0391
16
0392
16
0393
16
0394
16
0395
16
0396
16
0397
16
0398
16
0399
16
039A
16
039B
16
039C
16
039D
16
039E
16
039F
16
03A0
16
03A1
16
03A2
16
03A3
16
03A4
16
03A5
16
03A6
16
03A7
16
03A8
16
03A9
16
03AA
16
03AB
16
03AC
16
03AD
16
03AE
16
03AF
16
03B0
16
03B1
16
03B2
16
03B3
16
03B4
16
03B5
16
03B6
16
03B7
16
03B8
16
03B9
16
03BA
16
03BB
16
03BC
16
03BD
16
03BE
16
03BF
16
Count start flag TABSR 0016
Clock prescaler reset flag CPSRF 0XXXXXXX2
One-shot start flag ONSF 0016
Trigger select register TRGSR 0016
Up-down flag UDF 0016
Timer A0 register TA0 XX16
XX16
Timer A1 register TA1 XX16
XX16
Timer A2 register TA2 XX16
XX16
Timer A3 register TA3 XX16
XX16
Timer A4 register TA4 XX16
XX16
Timer B0 register TB0 XX16
XX16
Timer B1 register TB1 XX16
XX16
Timer B2 register TB2 XX16
XX16
Timer A0 mode register TA0MR 0016
Timer A1 mode register TA1MR 0016
Timer A2 mode register TA2MR 0016
Timer A3 mode register TA3MR 0016
Timer A4 mode register TA4MR 0016
Timer B0 mode register TB0MR 00XX00002
Timer B1 mode register TB1MR 00XX00002
Timer B2 mode register TB2MR 00XX00002
Timer B2 special mode register TB2SC X00000002
UART0 transmit/receive mode register U0MR 0016
UART0 bit rate generator U0BRG XX16
UART0 transmit buffer register U0TB XX16
XX16
UART0 transmit/receive control register 0 U0C0 000010002
UART0 transmit/receive control register 1 U0C1 000000102
UART0 receive buffer register U0RB XX16
XX16
UART1 transmit/receive mode register U1MR 0016
UART1 bit rate generator U1BRG XX16
UART1 transmit buffer register U1TB XX16
XX16
UART1 transmit/receive control register 0 U1C0 000010002
UART1 transmit/receive control register 1 U1C1 000000102
UART1 receive buffer register U1RB XX16
XX16
UART transmit/receive control register 2 UCON X00000002
DMA0 request cause select register DM0SL 0016
DMA1 request cause select register DM1SL 0016
Address Register Symbol After Reset
Note 1:The blank spaces are reserved. No access is allowed.
X : Indeterminate
Table 4.6 SFR Information(6)(1)
4. Special Function Register (SFR)
page 31
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
03C016
03C116
03C216
03C316
03C416
03C516
03C616
03C716
03C816
03C916
03CA16
03CB16
03CC16
03CD16
03CE16
03CF16
03D016
03D116
03D216
03D316
03D416
03D516
03D616
03D716
03D816
03D916
03DA16
03DB16
03DC16
03DD16
03DE16
03DF16
03E016
03E116
03E216
03E316
03E416
03E516
03E616
03E716
03E816
03E916
03EA16
03EB16
03EC16
03ED16
03EE16
03EF16
03F016
03F116
03F216
03F316
03F416
03F516
03F616
03F716
03F816
03F916
03FA16
03FB16
03FC16
03FD16
03FE16
03FF16
A/D register 0 AD0 XX
16
XX
16
A/D register 1 AD1 XX
16
XX
16
A/D register 2 AD2 XX
16
XX
16
A/D register 3 AD3 XX
16
XX
16
A/D register 4 AD4 XX
16
XX
16
A/D register 5 AD5 XX
16
XX
16
A/D register 6 AD6 XX
16
XX
16
A/D register 7 AD7 XX
16
XX
16
A/D trigger control register ADTRGCON 00
16
A/D convert status register 0 ADSTAT0 00000X00
2
A/D control register 2 ADCON2 00
16
A/D control register 0 ADCON0 00000XXX
2
A/D control register 1 ADCON1 00
16
Port P0 register P0 XX
16
Port P1 register P1 XX
16
Port P0 direction register PD0 00
16
Port P1 direction register PD1 00
16
Port P2 register P2 XX
16
Port P3 register P3 XX
16
Port P2 direction register PD2 00
16
Port P3 direction register PD3 00
16
Port P6 register P6 XX
16
Port P7 register P7 XX
16
Port P6 direction register PD6 00
16
Port P7 direction register PD7 00
16
Port P8 register P8 XX
16
Port P9 register P9 XX
16
Port P8 direction register PD8 00
16
Port P9 direction register PD9 000X0000
2
Port P10 register P10 XX
16
Port P10 direction register PD10 00
16
Pull-up control register 0 PUR0 00
16
Pull-up control register 1 PUR1 00
16
Pull-up control register 2 PUR2 00
16
Port control register PCR 00
16
Note 1:The blank spaces are reserved. No access is allowed.
X : Indeterminate
Address Register Symbol After Reset
Table 4.7 SFR Information(7)(1)
5. Reset
page 32
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
5. Reset
Hardware reset, software reset, watchdog timer reset and oscillation stop detection reset are available to
initialize the microcomputer.
5.1 Hardware Reset
There are two types of hardware resets: a hardware reset 1 and a hardware reset 2.
5.1.1 Hardware Reset 1____________ ____________
A reset is applied using the RESET pin. When an L signal is applied to the RESET pin while the supply
voltage is within the recommended operating condition, the pins are initialized (see Table 5.1 Pin Status
____________
When RESET Pin Level is L). The internal on-chip oscillator is initialized and used as CPU clock.
____________
When the input level at the RESET pin is released from L to H, the CPU and SFR are initialized, and
the program is executed starting from the address indicated by the reset vector. The internal RAM is not
____________
initialized. If the RESET pin is pulled L while writing to the internal RAM, the internal RAM becomes
indeterminate.
Figure 5.1 shows the example reset circuit. Figure 5.2 shows the reset sequence. Table 5.1 shows the
____________
status of the other pins while the RESET pin is held L. Figure 5.3 shows the CPU register status after
reset. Refer to 4. Special Function Register (SFR) for SFR status after reset.
1. Reset on a stable supply voltage
____________
(1) Apply an L signal to the RESET pin.
(2) Wait
td(ROC)
or more. ____________
(3) Apply an H signal to the RESET pin.
2. Power-on reset ____________
(1) Apply an L signal to the RESET pin.
(2) Raise the supply voltage to the recommended operating level.
(3) Insert
td(P-R)
as wait time for the internal voltage is stabilized.
(4) Wait
td(ROC)
or more. ____________
(5) Apply an H signal to the RESET pin.
5.1.2 Hardware Reset 2
This reset is generated by the microcomputers internal voltage detection circuit. The voltage detection
circuit monitors the voltage applied to the VCC pin.
If the VC26 bit in the VCR2 register is set to 1 (reset level detection circuit enabled), the microcomputer
is reset when the voltage at the VCC input pin drops Vdet3 or below.
Conversely, when the input voltage at the VCC pin rises to Vdet3 or more, the pins and the CPU and SFR
are initialized, and the program is executed starting from the address indicated by the reset vector. It
takes about
td(S-R)
before the program starts running after Vdet3 is detected. The initialized pins and
registers and the status thereof are the same as in hardware reset 1.
The microcomputer cannot exit stop mode by brown-out detection reset (hardware reset 2).
5. Reset
page 33
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
5.2 Software Reset
When the PM03 bit in the PM0 register is set to 1 (microcomputer reset), the microcomputer has its pins,
CPU, and SFR initialized. Then the program is executed starting from the address indicated by the reset
vector. The device will reset using internal on-chip oscillator as the CPU clock.
At software reset, some SFRs are not initialized. Refer to 4. Special Function Register (SFR).
5.3 Watchdog Timer Reset
When the PM12 bit in the PM1 register is 1 (reset when watchdog timer underflows), the microcomputer
initializes its pins, CPU and SFR if the watchdog timer underflows. The device will reset using internal on-
chip oscillator as the CPU clock. Then the program is executed starting from the address indicated by the
reset vector.
At watchdog timer reset, some SFRs are not initialized. Refer to 4. Special Function Register (SFR).
5.4 Oscillation Stop Detection Reset
When the CM20 bit in the CM2 register is set to 1 (oscillation stop, re-oscillation detection function en-
abled) and the CM27 bit in the CM2 register is 0 (reset at oscillation stop detection), the microcomputer
initializes its pins, CPU and SFR, coming to a halt if it detects main clock oscillation circuit stop. Refer to the
section 7.8 oscillation stop, re-oscillation detection function.
At oscillation stop detection reset, some SFRs are not initialized. Refer to the section 4. Special Function
Register (SFR).
Figure 5.1 Example Reset Circuit
RESET V
CC
RESET
V
CC
0V
0V
More than td(ROC) + td(P-R)
Equal to or less
than 0.2V
CC
Equal to or less
than 0.2V
CC
Recommended
operating
voltage
5. Reset
page 34
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
____________
Table 5.1 Pin Status When RESET Pin Level is “L”
Status
Pin name
P0 to P3,
P6 to P10 Input port (high impedance)
Figure 5.3 CPU Register Status After Reset
b15 b0 Data register(R0)
Address register(A0)
Frame base register(FB)
Program counter(PC)
Interrupt table register(INTB)
User stack pointer(USP)
Interrupt stack pointer(ISP)
Static base register(SB)
Flag register(FLG)
0000
16
0000
16
0000
16
AA
AA
A
A
AA
AA
AA
AA
AAAAAA
AAAAAA
AA
AA
AA
AA
AA
AA
A
A
AA
AA
CDZSBOIU
IPL
0000
16
0000
16
0000
16
0000
16
0000
16
b19 b0
Content of addresses FFFFE
16
to FFFFC
16
b15 b0
b15 b0
b15 b0
b7 b8
00000
16
Data register(R1)
Data register(R2)
Data register(R3)
Address register(A1)
0000
16
0000
16
0000
16
Figure 5.2 Reset Sequence
td(P-R) More than
td(ROC)
CPU clock
Address
ROC
RESET
Content of reset vector
CPU clock
28 cycles
FFFFE
16
FFFFC
16
V
CC
5. Reset
page 35
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
5.5 Voltage Detection Circuit
Note
VCC=5V is assumed in 5.5 Voltage Detection Circuit.
The voltage detection circuit has the reset level detection circuit and the low voltage detection circuit. The
reset level detection circuit monitors the voltage applied to the VCC pin. The microcomputer is reset if the
reset level detection circuit detects VCC is Vdet3 or below. Use bits VC27 and VC26 in the VCR2 register
to determine whether the individual circuit is enabled.
Use the reset level detection circuit for brown-out reset.
The low voltage detection circuit also monitors the voltage applied to the VCC pin. The low voltage detec-
tion circuit use the VC13 bit in the VCR1 register to detect VCC is above or below Vdet4. The low voltage
detection interrupt can be used in the voltage detection circuit.
Figure 5.4 Low Voltage Detection Circuit Block
b7 b6
VCR2 Register
RESET
CM10 Bit=1
(Stop Mode)
+
>Vdet3
+
>Vdet4
ENoise Rejection Low Voltage
Detect Signal
b3
VCR1 Register
VC13 Bit
>T
Q
1 shot
Internal Reset Signal
(“L” active)
E
VCC
td(S-R)
Brown-out Detect Reset
(Hardware Reset 2
Release Wait Time)
Reset level
detection circuit
Low voltage
detection circuit
5. Reset
page 36
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Figure 5.5 VCR1 Register and VCR2 Register
V
C
1
3
V
o
l
t
a
g
e
D
e
t
e
c
t
i
o
n
R
e
g
i
s
t
e
r
1
S
y
m
b
o
lA
d
d
r
e
s
sA
f
t
e
r
R
e
s
e
t
(
2
)
V
C
R
10
0
1
9
1
6
0
0
0
0
1
0
0
0
2
Low voltage monitor flag
(1)
Bit name F unction
B
i
t
s
y
m
b
o
lR
W
b
7b
6b
5b
4b
3b
2b
1b
0
N
O
T
E
S
:
1
.
T
h
e
V
C
1
3
b
i
t
i
s
u
s
e
f
u
l
w
h
e
n
t
h
e
V
C
2
7
b
i
t
o
f
V
C
R
2
r
e
g
i
s
t
e
r
i
s
s
e
t
t
o
1
(
l
o
w
v
o
l
t
a
g
e
d
e
t
e
c
t
i
o
n
c
i
r
c
u
i
t
e
n
a
b
l
e
)
.
T
h
e
V
C
1
3
b
i
t
i
s
a
l
w
a
y
s
1
(
V
C
C
V
d
e
t
4
)
w
h
e
n
t
h
e
V
C
2
7
b
i
t
i
n
t
h
e
V
C
R
2
r
e
g
i
s
t
e
r
i
s
s
e
t
t
o
0
(
l
o
w
v
o
l
t
a
g
e
d
e
t
e
c
t
i
o
n
c
i
r
c
u
i
t
d
i
s
a
b
l
e
)
.
2
.
T
h
i
s
r
e
g
i
s
t
e
r
d
o
e
s
n
o
t
c
h
a
n
g
e
a
t
s
o
f
t
w
a
r
e
r
e
s
e
t
,
w
a
t
c
h
d
o
g
t
i
m
e
r
r
e
s
e
t
a
n
d
o
s
c
i
l
l
a
t
i
o
n
s
t
o
p
d
e
t
e
c
t
i
o
n
r
e
s
e
t
.
0:VCC < Vdet4
1:VCC Vdet4
RO
0000 000
RW
R
W
R
e
s
e
r
v
e
d
b
i
t
R
e
s
e
r
v
e
d
b
i
t
S
e
t
t
o
0
S
e
t
t
o
0
V
o
l
t
a
g
e
D
e
t
e
c
t
i
o
n
R
e
g
i
s
t
e
r
2
(
1
)
S
y
m
b
o
lA
d
d
r
e
s
sA
f
t
e
r
R
e
s
e
t
(
5
)
V
C
R
20
0
1
A
1
6
0
0
1
6
Bit Name
B
i
t
S
y
m
b
o
l
b
7b
6b
5b
4b
3b
2b
1b
0
N
O
T
E
S
:
1
.
W
r
i
t
e
t
o
t
h
i
s
r
e
g
i
s
t
e
r
a
f
t
e
r
s
e
t
t
i
n
g
t
h
e
P
R
C
3
b
i
t
i
n
t
h
e
P
R
C
R
r
e
g
i
s
t
e
r
t
o
1
(
w
r
i
t
e
e
n
a
b
l
e
)
.
2
.
W
h
e
n
n
o
t
i
n
s
t
o
p
m
o
d
e
,
t
o
u
s
e
h
a
r
d
w
a
r
e
r
e
s
e
t
2
,
s
e
t
t
h
e
V
C
2
6
b
i
t
t
o
1
(
r
e
s
e
t
l
e
v
e
l
d
e
t
e
c
t
i
o
n
c
i
r
c
u
i
t
e
n
a
b
l
e
)
.
3
.
V
C
2
6
b
i
t
i
s
d
i
s
a
b
l
e
d
i
n
s
t
o
p
m
o
d
e
.
(
T
h
e
m
i
c
r
o
c
o
m
p
u
t
e
r
i
s
n
o
t
r
e
s
e
t
e
v
e
n
i
f
t
h
e
v
o
l
t
a
g
e
i
n
p
u
t
t
o
V
c
c
p
i
n
b
e
c
o
m
e
s
l
o
w
e
r
t
h
a
n
V
d
e
t
3
.
)
4
.
W
h
e
n
t
h
e
V
C
1
3
b
i
t
i
n
t
h
e
V
C
R
1
r
e
g
i
s
t
e
r
a
n
d
D
4
2
b
i
t
i
n
t
h
e
D
4
I
N
T
r
e
g
i
s
t
e
r
a
r
e
u
s
e
d
o
r
t
h
e
D
4
0
b
i
t
i
s
s
e
t
t
o
1
(
l
o
w
v
o
l
t
a
g
e
d
e
t
e
c
t
i
o
n
i
n
t
e
r
r
u
p
t
e
n
a
b
l
e
)
,
s
e
t
t
h
e
V
C
2
7
b
i
t
t
o
1
(
l
o
w
v
o
l
t
a
g
e
d
e
t
e
c
t
i
o
n
c
i
r
c
u
i
t
e
n
a
b
l
e
)
.
5
.
T
h
i
s
r
e
g
i
s
t
e
r
d
o
e
s
n
o
t
c
h
a
n
g
e
a
t
s
o
f
t
w
a
r
e
r
e
s
e
t
,
w
a
t
c
h
d
o
g
t
i
m
e
r
r
e
s
e
t
a
n
d
o
s
c
i
l
l
a
t
i
o
n
s
t
o
p
d
e
t
e
c
t
i
o
n
r
e
s
e
t
.
6
.
T
h
e
d
e
t
e
c
t
i
o
n
c
i
r
c
u
i
t
d
o
e
s
n
o
t
s
t
a
r
t
o
p
e
r
a
t
i
o
n
u
n
t
i
l
t
d
(
E
-
A
)
e
l
a
p
s
e
s
a
f
t
e
r
t
h
e
V
C
2
6
b
i
t
o
r
V
C
2
7
b
i
t
a
r
e
s
e
t
t
o
1
.
VC26
V
C
2
7
RW
R
W
R
W
RW
00000
Function
R
e
s
e
r
v
e
d
b
i
tM
u
s
t
s
e
t
t
o
0
R
e
s
e
t
l
e
v
e
l
m
o
n
i
t
o
r
b
i
t
(
2
,
3
,
6
)
0: Disable reset level detection
circuit
1: Enable reset level detection
circuit
Lo
w
v
o
l
t
a
g
e
m
o
n
i
t
o
r
b
i
t
(
4
,
6
)
0
:
D
i
s
a
b
l
e
l
o
w
v
o
l
t
a
g
e
d
e
t
e
c
t
i
o
n
c
i
r
c
u
i
t
1
:
E
n
a
b
l
e
l
o
w
v
o
l
t
a
g
e
d
e
t
e
c
t
i
o
n
c
i
r
c
u
i
t
(
b
2
-
b
0
)
(
b
7
-
b
4
)
(b
5-
b
0
)
0
5. Reset
page 37
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Figure 5.7 Typical Operation of Brown-out Detection Reset (Hardware Reset 2)
Figure 5.6 D4INT Register
D
4
0
Low Voltage Detection Interrupt Register (1)
S
y
m
b
o
lA
d
d
r
e
s
sA
f
t
e
r
R
e
s
e
t
D
4
I
N
T0
0
1
F
1
6
0
0
1
6
Low voltage detection
interrupt enable bit
(5)
Bit Name
B
i
t
S
y
m
b
o
l
b
7
b
6
b
5
b
4
b
3
b
2
b
1
b
0
0 : Disable
1 : Enable
D
4
1STOP mode deactivation
control bit
(4)
0
:
D
i
s
a
b
l
e
(
d
o
n
o
t
u
s
e
t
h
e
l
o
w
v
o
l
t
a
g
e
d
e
t
e
c
t
i
o
n
i
n
t
e
r
r
u
p
t
t
o
e
x
i
t
s
t
o
p
m
o
d
e
)
1
:
E
n
a
b
l
e
(
u
s
e
t
h
e
l
o
w
v
o
l
t
a
g
e
d
e
t
e
c
t
i
o
n
i
n
t
e
r
r
u
p
t
t
o
e
x
i
t
s
t
o
p
m
o
d
e
)
D
4
2Voltage change detection flag
(2)
0: Not detected
1: Vdet4 passing detection
D43 WDT overflow detect flag 0
:
N
o
t
d
e
t
e
c
t
e
d
1
:
D
e
t
e
c
t
e
d
DF0 Sampling clock select bit 0
0
:
C
P
U
c
l
o
c
k
d
i
v
i
d
e
d
b
y
8
0
1
:
C
P
U
c
l
o
c
k
d
i
v
i
d
e
d
b
y
1
6
1
0
:
C
P
U
c
l
o
c
k
d
i
v
i
d
e
d
b
y
3
2
1
1
:
C
P
U
c
l
o
c
k
d
i
v
i
d
e
d
b
y
6
4
D
F
1
NOTES:
1. Write to this register after setting the PRC3 bit in the PRCR register to 1 (write enable).
2. Useful when the VC27 bit in the VCR2 register is set to 1 (low voltage detection circuit enabled). If the
VC27 bit is set to 0 (low voltage detection circuit disable), the D42 bit is set to 0 (Not detect).
3. This bit is set to 0 by writing a 0 in a program. (Writing a 1 has no effect.)
4. If the low voltage detection interrupt needs to be used to get out of stop mode again after once used for that
purpose, reset the D41 bit by writing a 0 and then a 1.
5. The D40 bit is effective when the VC27 bit in the VCR2 register is set to 1. To set the D40 bit to 1, follow
the procedure described below.
(1) Set the VC27 bit to 1.
(2) Wait for td(E-A) until the detection circuit is actuated.
(3) Wait for the sampling time (refer to Table 5.3 Sampling Clock Periods).
(4) Set the D40 bit to 1.
b
5
b
4
RW
RW
RW
RW
(
3
)
RW
R
W
R
W
(b7-b6)
Function
(
3
)
Nothing is assigned. When write, set to 0. When read, its
content is 0.
Vdet4
Vdet3
5.0V 5.0V
VCC
Internal Reset Signal
VC13 bit in
VCR1 register
VC26 bit in
VCR2 register (1)
VC27 bit in
VCR2 register
Set to 1 by program (reset level detect circuit enable)
Set to 1 by program
(low voltage detection circuit enable)
VSS
Indeterminate
RESET
Vdet3s
Vdet3r
NOTES :
1. VC26 bit is invalid in stop mode. (the microcomputer is not reset even if input voltage of VCC pin
becomes lower than Vdet3).
Indeterminate
Indeterminate
5. Reset
page 38
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
5.5.1 Low Voltage Detection Interrupt
If the D40 bit in the D4INT register is set to "1" (low voltge detection interrupt enabled), a low voltage
detection interrupt request is generated when voltage applied to the VCC pin is above or below Vdet4.
The low voltage detection interrupt shares the same interrupt vector with watchdog timer interrupt and
oscillation stop, re-oscillation detection interrupt.
Set the D41 bit in the D4INT register to "1" (enabled) to use the low voltage detection interrupt to exit stop
mode, set the D41 bit in the D4INT register to 1 (enable).
The D42 bit in the D4INT register is set to "1" (above or below Vdet4 detected) as soon as voltage applied
to the VCC pin goes above or below Vdet4 due to the voltage change. When the D42 bit setting changes
"0" to "1", a low voltage detection interrupt is generated. Set the D42 bit to 0 (not detected) by program.
However, when the D41 bit is set to 1 and the microcomputer is in stop mode, a low voltage detection
interrupt request is generated, regardless of the D42 bit setting, if voltage applies to the VCC pin is
detected to rise above or drop below Vdet4. The microcomputer then exits stop mode.
Table 5.2 shows how a low voltage detection interrupt request is generated.
Bits DF1 and DF0 in the D4INT register determine sampling period that detects voltage applied to the
VCC pin rises above or drops below Vdet4. Table 5.3 shows sampling periods.
Table 5.2 Low Voltage Detection Interrupt Request Generation Conditions
Table 5.3 Sampling Clock Periods
CPU
clock
(MHz) DF1 to DF0=00
(CPU clock divided by 8)
Sampling clock (µs)
16 3.0 6.0 12.0 24.0
DF1 to DF0=01
(CPU clock divided by 16) DF1 to DF0=10
(CPU clock divided by 32) DF1 to DF0=11
(CPU clock divided by 64)
D41 bitVC27 bitOperation Mode D40 bit D42 bit CM02 bit VC13 bit
Normal
operation
mode(1)
Wait mode
(2)
Stop mode
(2)
NOTES:
1. The status except the wait mode and stop mode is handled as the normal mode. (Refer to 7. Clock generating circuit)
2. Refer to 5.5.2 Limitations on stop mode and 5.5.3 Limitations on wait mode.
3. An interrupt request for voltage reduction is generated a sampling time after the value of the VC13 bit has changed.
Refer to the Figure 5.9 for details.
0 to 1
10
1
1
0
1 to 0
0 to 1
1 to 0
0 to 1
0 to 1
0 to 1
0 to 1
1
(3)
: 0or 1
(3)
(3)
(3)
5. Reset
page 39
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Figure 5.8 Low Voltage Detection Interrupt Generation Block
Figure 5.9 Low voltage Detection Interrupt Generation Circuit Operation Example
Low voltage detection interrupt generation circuit
Watchdog
timer interrupt
signal
D42 bit is set to 0(not detected) by
writing a 0 in a program. VC27 bit
is set to 0 (low voltage detection
circuit disabled), the D42 bit is set to
0.
VC27
VC13
Low voltage detection circuit
D4INT clock(the
clock with which it
operates also in
wait mode)
D42
DF1, DF0
1/2
00
2
01
2
10
2
11
2
1/21/21/8
Non-maskable
interrupt signal
Oscillation stop,
re-oscillation
detection
interrupt signal
Low voltage
detection
interrupt signal
Watchdog timer block
This bit is set to 0(not detected) by writing a 0 by program.
Watchdog timer
underflow signal
D43
D41
CM02
WAIT instruction(wait mode)
D40
V
CC
Vref
+
-
Noise
rejection
(Rejection wide:200 ns)
Low voltage detection
signal
H when VC27 bit= 0
(disabled)
Noise rejection
circuit Digital
filter
CM10
Output of the digital filter
(2)
D42 bit
NOTES:
1. D40 bit in the D4INT register is set to 1(low voltage
detection interrupt enabled).
2. Output of the digital filter shown in Figure 5.8.
Low voltage detection
interrupt signal
No low voltage detection interrupt signals are
generated when the D42 bit is 1.
sampling
Set to 0 by
program
(not
detected)
VC13 bit
VCC
sampling sampling sampling
Set to 0 by a
program
(not
detected)
5. Reset
page 40
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
5.5.2 Limitations on Stop Mode
The low voltage detection interrupt is immediately generated and the microcomputer exits stop mode if
the CM10 bit in the CM1 register is set to 1 under the conditions below.
the VC27 bit in the VCR2 register is set to 1 (low voltage detection circuit enabled)
the D40 bit in the D4INT register is set to 1 (low voltage detection interrupt enabled)
the D41 bit in the D4INT register is set to 1 (low voltage detection interrupt is used to exit stop mode)
the voltage applied to the VCC pin is higher than Vdet4 (the VC13 bit in the VCR1 register is 1)
If the microcomputer is set to enter stop mode when the voltage applied to the VCC pin drops below
Vdet4 and to exit stop mode when the voltage applied rises to Vdet4 or above, set the CM10 bit to 1
when VC13 bit is 0 (VCC < Vdet4).
5.5.3 Limitations on WAIT Instruction
The low voltage detection interrupt is immediately generated and the microcomputer exits wait mode If
WAIT instruction is executed under the conditions below.
the CM02 bit in the CM0 register is set to 1 (stop peripheral function clock)
the VC27 bit in the VCR2 register is set to 1 (low voltage detection circuit enabled)
the D40 bit in the D4INT register is set to 1 (low voltage detection interrupt enabled)
the D41 bit in the D4INT register is set to 1 (low voltage detection interrupt is used to exit wait mode)
the voltage applied to the VCC pin is higher than Vdet4 (the VC13 bit in the VCR1 register is 1)
If the microcomputer is set to enter wait mode when the voltage applied to the VCC pin drops below Vdet4
and to exit wait mode when the voltage applied rises to Vdet4 or above, perform WAIT instruction when
VC13 bit is 0 (VCC < Vdet4).
6. Processor Mode
page 41
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
6. Processor Mode
The microcomputer supports single-chip mode only. Figures 6.1 and 6.2 show the associated registers.
Figure 6.1 PM0 Register, PM1 Register
Processor Mode Register 0 (1)
Symbol Address After Reset
PM0 000416 0016
Bit Name FunctionBit Symbol RW
b7 b6 b5 b4 b3 b2 b1 b0
The microcomputer is reset when
this bit is set to "1". When read,
its content is "0".
Software reset bitPM03
RW
RW
RW
NOTES:
1. Rewrite the PM0 register after the PRC1 bit in the PRCR register is set to "1" (write enable).
Set to "0"
(b2-b0) Reserved bit
Set to "0"
(b7-b4) Reserved bit
0000000
Processor Mode Register 1 (1)
Symbol Address After Reset
PM1 000516 000010002
Bit Name FunctionBit Symbol RW
b7 b6 b5 b4 b3 b2 b1 b0
Flash data block access
bit
(2)
0: Disabled
1: Enabled
(3)
PM10
RW
PM17 Wait bit
(5)
0 : No wait state
1 : Wait state (1 wait)
0 : Watchdog timer interrupt
1 : Watchdog timer reset
(4)
Watchdog timer function
select bit
PM12
RW
RW
RW
RW
RW
NOTES:
1. Rewrite the PM1 register after the PRC1 bit in the PRCR register is set to "1" (write enable).
2. To access the two 2K-byte data spaces in data block A and data block B, set the PM10 bit to "1". The PM10
bit is not available in mask version.
3. When the FMR01 bit in the FMR0 register is set to "1" (enables CPU rewrite mode), the PM10 bit is
automatically set to "1".
4. Set the PM12 bit to "1" by program. (Writing "0" by program has no effect)
5. When the PM17 bit is set to "1" (wait state), one wait is inserted when accessing the internal RAM or the
internal ROM.
Set to "0"
(b1) Reserved bit
Set to "1"Reserved bit
Set to "0"
(b6-b4) Reserved bit
(b3)
010
00
6. Processor Mode
page 42
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Figure 6.2 PM2 Register
Function
Bit Symbol Bit Name
Processeor Mode Register 2
(1)
Symbol Address After Reset
PM2 001E16 XXX000002
RW
b7 b6 b5 b4 b3 b2 b1 b0
PM20
0
PM21 System clock protective bit
(3,4)
RW
RW
RW
(b7-b5)
PM22
PM24
(b3) Reserved bit Set to 0RW
RW
NOTES:
1. Write to this register after setting the PRC1 bit in the PRCR register to 1 (write enable).
2. The PM20 bit become effective when PLC07 bit in the PLC0 register is set to "1" (PLL on). Change the PM20 bit
when the PLC07 bit is set to "0" (PLL off). Set the PM20 bit to "0" (2 waits) when PLL clock > 16 MHz.
3. Once this bit is set to 1, it cannot be set to 0 by program.
4. Writing to the following bits has no effect when the PM21 bit is set to 1:
CM02 bit in the CM0 register
CM05 bit in the CM0 register (main clock is not halted)
CM07 bit in the CM0 register (CPU clock source does not change)
CM10 bit in the CM1 register (stop mode is not entered)
CM11 bit in the CM1 register (CPU clock source does not change)
CM20 bit in the CM2 register (oscillation stop, re-oscillation detection function settings do not change)
All bits in the PLC0 register (PLL frequency synthesizer setting do not change)
When the PM21 bit is set to "1", do not execute the WAIT instruction.
5. Setting the PM22 bit to 1 results in the following conditions:
- The on-chip oscillator continues oscillating even if the CM21 bit in the CM2 register is set to "0" (main clock or
PLL clock) (system clock of count source selected by the CM21 bit is valid)
- The on-chip oscillator starts oscillating, and the on-chip oscillator clock becomes the watchdog timer count
source.
- The CM10 bit in the CM1 register is disabled against write. (Writing a 1 has no effect, nor is stop mode
entered)
- The watchdog timer does not stop in wait mode.
6. For NMI function, the PM24 bit must be set to 1(NMI function). Once this bit is set to 1, it cannot be cleared to
0 by program.
7. SD input is valid regardless of the PM24 setting.
Specifying wait when
accessing SFR during PLL
operation
(2)
0: 2 wait
1: 1 wait
WDT count source
protective bit
(3,5)
P85/NMI configuration bit
(6,7)
0: P8
5
function (NMI disable)
1: NMI function
0: CPU clock is used for the
watchdog timer count source
1: On-chip oscillator clock is used
for the watchdog timer count
source
0: Clock is protected by PRCR
register
1: Clock modification disabled
Nothing is assigned. When write, set to0.
When read,its content is indeterminate
6. Processor Mode
page 43
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
The internal bus consists of CPU bus, memory bus, and peripheral bus. Bus Interface Unit (BIU) is used to
interfere with CPU, ROM/RAM, and perpheral functions by controling CPU bus, memory bus, and periph-
eral bus. Figure 6.3 shows the block diagram of the internal bus.
Figure 6.3 Bus Block Diagram
The number of bus cycle varies by the internal bus. Table 6.1 lists the accessible area and bus cycle.
Table 6.1 Accessible Area and Bus Cycle
Accessible Area Bus Cycle
SFR PM20 bit = 0 (2 waits) 3 CPU clock cycles
PM20 bit = 1 (1 wait) 2 CPU clock cycles
ROM/RAM PM17 bit = 0 (no wait) 1 CPU clock cycle
PM17 bit = 1 (1 wait) 2 CPU clock cycles
CPU
ROM
BIU
I/O
CP
U address bus
Memory data bus
Periphral data bus
DMAC
Memory address bus
Peripheral address bus
Timer
WDT
Serial I/O
ADC
Peripheral function
CPU clock
RAM
CPU data bus
Peripheral function
.
.
.
.
Clock
generation
circuit
S F R
7. Clock Generation Circuit
page 44
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
- CPU clock source
- Peripheral function
clock source
Use of clock
Main Clock
Oscillation Circuit Sub Clock
Oscillation Circuit
Item
- CPU clock source
- Timer A, B's clock
source
Clock frequency 0 to 20 MHz 32.768 kHz
- Ceramic oscillator
- Crystal oscillator
Usable oscillator - Crystal oscillator
XIN, XOUT
Pins to connect
oscillator XCIN, XCOUT
Available
Oscillation stop,
restart function Available
Oscillating
Oscillator status
after reset Stopped
Externally derived clock can be input
Other
PLL Frequency
Synthesizer
10 to 20 MHz
Available
Stopped
Variable On-chip Oscillator
- CPU clock source
- Peripheral function clock source
- CPU and peripheral function
clock sources when the main
clock stops oscillating
Selectable source frequency:
f1(ROC), f2(ROC), f3(ROC)
Selectable divider:
by 2, by 4, by 8
Available
Oscillating
- CPU clock source
- Peripheral function clock
source
(CPU clock source)
7. Clock Generation Circuit
The clock generation circuit contains four oscillator circuits as follows:
(1) Main clock oscillation circuit
(2) Sub clock oscillation circuit
(3) Variable on-chip oscillators
(4) PLL frequency synthesizer
Table 7.1 lists the clock generation circuit specifications. Figure 7.1 shows the clock generation circuit.
Figures 7.2 to 7.7 show the clock- associated registers.
Table 7.1 Clock Generation Circuit Specifications
7. Clock Generation Circuit
page 45
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Figure 7.1 Clock Generation Circuit
Variable
on-chip
oscillator
f
C3
2
CM02, CM04, CM05, CM06, CM07: Bits in the CM0 register
CM10, CM11, CM16, CM17: Bits in the CM1 register
PCLK0, PCLK1: Bits in the PCLKR register
CM21, CM27: Bits in the CM2 register
1/32
Main clock
generating circuit
f
C
CM02
CM04
CM10=1(stop mode) Q
S
R
WAIT instruction
CM05
QS
R
NMI
Interrupt request level judgment output
RESET
Software reset
f
C
CPU clock
CM07
=
0
CM07
=
1
a
d
1/2 1/2 1/2 1/2
CM06=0
CM17, CM16=00
2
CM06=0
CM17, CM16=01
2
CM06=0
CM17, CM16=10
2
CM06=1
CM06=0
CM17, CM16=11
2
d
a
Details of divider
Sub-clock
generating circuit
X
CIN
X
COUT
X
OUT
X
IN
f
8
f
32
c
b
b
1/2
c
f
32SIO
f
8S
I
O
f
AD
f
1
e
e
1/2 1/4 1/8 1/16 1/32
P
C
LK
0
=
1
PLL
frequency
s
y
nt
h
es
i
z
e
r
0
1
C
M21=
1
C
M11
C
M21=
0
PL
L
cloc
k
Sub-clock
On-chip
oscillator
clock
P
C
LK
0
=
0
f
2
f
1
S
I
O
P
C
LK1=1
P
C
LK1=
0
f
2
S
I
O
Main
clock
Oscillation
stop, re-
oscillation
detection
circuit
D4INT clock
CM21
Pulse generation
circuit for clock
edge detection
and charge,
discharge control
Charge,
discharge
circuit
Reset
generating
circuit
Oscillation stop,
re-oscillation
detection interrupt
generating circuit
Main
clock
Oscillation stop
detection reset
CM27=0
CM21 switch signal
Oscillation stop,
re-oscillation
detection signal
Oscillation stop, re-oscillation detection circuit
CM27=1
1/2 1/2 1/2
ROCR3 and ROCR2=11
2
0n-chip
oscillator
clock
1/8
1/4
1/2
ROCR3 and ROCR2=10
2
ROCR3 and ROCR2=01
2
ROCR1 and ROCR0=00
2
f
1(ROC)
f
2(ROC)
f
3(ROC)
ROCR1 and ROCR0=01
2
ROCR1 and ROCR0=11
2
Variable 0n-chip Oscillator
Phase
comparator Charge
pump
Voltage
control
oscillator
(VCO)
PLL clock
Main clock
1/2
Programmable
counter
Internal low-
pass filter
PLL frequency synthesizer
7. Clock Generation Circuit
page 46
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Figure 7.2 CM0 Register
0
System Clock Control Register 0 (1)
Symbol Address After Reset
CM0 010010002
Bit name FunctionBit symbol
b7 b6 b5 b4 b3 b2 b1 b0
CM07
CM05
CM04
CM03
CM02
CM06
Wait Mode peripheral function
clock stop bit
(10)
0 : Do not stop peripheral function clock in wait mode
1 : Stop peripheral function clock in wait mode
(8)
X
CIN
-X
COUT
drive capacity
select bit
(2)
0 : LOW
1 : HIGH
0 : I/O port P8
6
, P8
7
1 : X
CIN
-X
COUT
generation function
(9)
Main clock stop bit
(3, 10, 12, 13)
0 : On
(4)
1 : Off
(5)
Main clock division select
bit 0
(7, 13, 14)
0 : CM16 and CM17 valid
1 : Division by 8 mode
System clock select bit
(6, 10, 11, 12)
0 : Main clock, PLL clock, or on-chip oscillator clock
1 : Sub-clock
NOTES:
1. Write to this register after setting the PRC0 bit of PRCR register to "1" (write enable).
2. The CM03 bit is set to "1" (high) when the CM04 bit is set to "0" (I/O port) or the microcomputer goes to a stop mode.
3. This bit is provided to stop the main clock when the low power dissipation mode or on-chip oscillator low power dissipation mode
is selected. This bit cannot be used for detection as to whether the main clock stopped or not. To stop the main clock, the
following setting is required:
(1) Set the CM07 bit to "1" (Sub-clock select) or the CM21 bit in the CM2 register to "1" (on-chip oscillator select) with the sub-
clock stably oscillating.
(2) Set the CM20 bit in the CM2 register to "0" (Oscillation stop, re-oscillation detection function disabled).
(3) Set the CM05 bit to "1" (Stop).
4. During external clock input, set the CM05 bit to "0"(On).
5. When CM05 bit is set to "1", the X
OUT
pin goes "H". Futhermore, because the internal feedback resistor remains connectes,
the X
IN
pin is pulled "H" to the same level as X
OUT
via the feedback resistor.
6. After setting the CM04 bit to "1" (X
CIN
-X
COUT
oscillator function), wait until the sub-clock oscillates stably before switching
the CM07 bit from "0" to "1" (sub-clock).
7. When entering stop mode from high or middle speed mode, on-chip oscillator mode or on-chip oscillator low power mode, the
CM06 bit is set to "1" (divided-by-8 mode).
8. The f
C32
clock does not stop. During low speed or low power dissipation mode, do not set this bit to "1"(peripheral clock turned
off in wait mode).
9. To use a sub-clock, set this bit to "1". Also, make sure ports P86 and P87 are directed for input, with no pull-ups.
10. When the PM21 bit in the PM2 register is set to "1" (clock modification disable), writing to the CM02, CM05 and CM07 bits has
no effect.
11. If the PM21 bit needs to be set to "1", set the CM07 bit to "0" (main clock) before setting it.
12. To use the main clock a the clock source for the CPU clock, follow the procedure below.
(1) Set the CM05 bit to "0" (oscillate).
(2) Wait the main clock oscillation stabilized.
(3) Set the CM11, CM21 and CM07 bits all to "0".
13. When the CM21 bit is set to "0" (on-chip oscillaor turned off) and the CM05 bit is set to "1" (main clock turned off), the CM06 bit
is fixed to "1" (divide-by-8 mode) and the CM15 bit is fixed to "1" (drive capability High).
14. To return from on-chip oscillator mode to high-speed or middle-speed mode set the CM06 and CM15 bits both to "1".
RW
Port X
C
select bit
(2)
RW
RW
RW
RW
RW
RW
RW
Reserved bits Set to "0"
(b1-b0)
00006
16
7. Clock Generation Circuit
page 47
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Figure 7.3 CM1 Register
Figure 7.4 ROCR Register
System Clock Control Register 1 (1)
Symbol Address After Reset
CM1 0007
16
00100000
2
Bit
Name FunctionBit Symbol
b7 b6 b5 b4 b3 b2 b1 b0
CM10 All clock stop control bit
(4, 6)
0 : Clock on
1 : All clocks off (stop mode)
NOTES:
1. Write to this register after setting the PRC0 bit in the PRCR register to 1 (write enable).
2. When entering stop mode from high or middle speed mode, or when the CM05 bit is set to 1 (main clock turned off) in low
speed mode, the CM15 bit is set to 1 (drive capability high).
3. Effective when the CM06 bit is 0 (CM16 and CM17 bits enable).
4. If the CM10 bit is 1 (stop mode), X
OUT
goes H and the internal feedback resistor is disconnected. The X
CIN
and X
COUT
pins are placed in the high-impedance state. When the CM11 bit is set to 1 (PLL clock), or the CM20 bit in the CM2 register
is set to 1 (oscillation stop, re-oscillation detection function enabled), do not set the CM10 bit to 1.
5. After setting the PLC07 bit in the PLC0 register to 1 (PLL operation), wait until tsu (PLL) elapses before setting the CM11 bit to
1 (PLL clock).
6. When the PM21 bit in the PM2 register is set to 1 (clock modification disable), writing to the CM10, CM11 bits has no effect.
When the PM22 bit in the PM2 register is set to 1 (watchdog timer count source is on-chip oscillator clock), writing to the
CM10 bit has no effect.
7. Effective when CM07 bit is 0 and CM21 bit is 0 .
CM15 X
IN
-X
OUT
drive capacity
select bit
(2)
0 : LOW
1 : HIGH
RW
CM16
CM17
Reserved bit Set to 0
Main clock division
select bits
(3)
0 0 : No division mode
0 1 : Division by 2 mode
1 0 : Division by 4 mode
1 1 : Division by 16 mode
b7 b6
000
CM11 System clock select bit 1
(6, 7)
0 : Main clock
1 : PLL clock (Note 5)
RW
RW
RW
RW
RW
RW
(b4-b2)
b7 b6 b5 b4 b3 b2 b1 b0
RW
ROCR0
ROCR1
On-chip Oscillator Control Register (1)
Symbol Address After Reset
ROCR 025C16 X00001012
Bit Name Function
Bit Symbol
Frequency Select Bits RW
RW
Reserved Bit
000
0 0 : f1 (ROC)
0 1 : f2 (ROC)
1 0 : Do not set to this value
1 1 : f3 (ROC)
b1 b0
ROCR2
ROCR3
Divider Select Bits RW
RW
0 0 : Do not set to this value
0 1 : divide by 2
1 0 : divide by 4
1 1 : divide by 8
b3 b2
NOTES:
1. Write to this register after setting the PRC0 bit in the PRCR register to "1" (write enable).
(b6-b4) Set to 0.
Nothing is assigned. When write, set to 0. When read, its
content is indeterminate.
(b7)
RW
7. Clock Generation Circuit
page 48
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Figure 7.5 CM2 Register
b7 b6 b5 b4 b3 b2 b1 b0
RW
CM20
CM21
Oscillation Stop Detection Register (1)
Symbol Address After Reset
CM2 000C
16
0X000010
2(11)
Bit Name Function
Bit Symbol
System clock select bit 2
(2, 3, 6, 8, 11, 12 )
0: Oscillation stop, re-oscillation
detection function disabled
1: Oscillation stop, re-oscillation
detection function enabled
0: Main clock or PLL clock
1: On-chip oscillator clock
(On-chip oscillator oscillating)
Oscillation stop, re-
oscillation detection bit
(7, 9, 10, 11)
CM22
CM23
Oscillation stop, re-
oscillation detection flag 0: "Oscillation stop, re-oscillation"
not detected
1: "Oscillation stop, re-oscillation"
detected
0: Main clock oscillating
1: Main clock not oscillating
XIN monitor flag
(4)
CM27 0: Oscillation stop detection reset
1: Oscillation stop, re-oscillation
detection interrupt
Nothing is assigned. When write, set to 0. When read, its
content is indeterminate.
Operation select bit
(when an oscillation stop,
re-oscillation is detected)
(11)
RW
RW
RW
RW
RO
(b6)
(5)
Reserved bit
(b5-b4) Set to 0RW
00
NOTES:
1. Write to this register after setting the PRC0 bit in the PRCR register to 1 (write enable).
2. When the CM20 bit is 1 (oscillation stop, re-oscillation detection function enabled), the CM27 bit is set to
1 (oscillation stop, re-oscillation detection interrupt), and the CPU clock source is the main clock, the
CM21 bit is automatically set to 1 (on-chip oscillator clock) if the main clock stop is detected.
3. If the CM20 bit is set to 1 and the CM23 bit is set to 1 (main clock not oscillating), do not set the CM21
bit to 0.
4. This flag is set to 1 when the main clock is detected to have stopped or when the main clock is detected
to have restarted oscillating. When this flag changes state from 0 to 1, an oscillation stop, reoscillation
restart detection interrupt is generated. Use this flag in an interrupt routine to discriminate the causes of
interrupts between the oscillation stop, reoscillation detection interrupts and the watchdog timer interrupt.
The flag is cleared to 0 by writing a 0 by program. (Writing a 1 has no effect. Nor is it cleared to 0 by
an oscillation stop or an oscillation restart detection interrupt request acknowledged.)
If when the CM22 bit is set to "1" an oscillation stoppage or an oscillation restart is detected, no oscillation
stop, reoscillation restart detection interrupts are generated.
5. Read the CM23 bit in an oscillation stop, re-oscillation detection interrupt handling routine to determine the
main clock status.
6. Effective when the CM07 bit in the CM0 register is set to 0.
7. When the PM21 bit in the PM2 register is 1 (clock modification disabled), writing to the CM20 bit has no
effect.
8. When the CM20 bit is set to 1 (oscillation stop, re-oscillation detection function enabled), the CM27 bit is
set 1 (oscillation stop, re-oscillation detection interrupt), and the CM11 bit is 1 (the CPU clock source is
PLL clock), the CM21 bit remains unchanged even when main clock stop is detected. If the CM22 bit is set
to 0 under these conditions, oscillation stop, re-oscillation detection interrupt occur at main clock stop
detection; it is, therefore, necessary to set the CM21 bit to 1 (on-chip oscillator clock) inside the interrupt
routine.
9. Set the CM20 bit to 0 (disable) before entering stop mode. After exiting stop mode, set the CM20 bit back
to 1 (enable).
10. Set the CM20 bit to 0 (disable) before setting the CM05 bit in the CM0 register.
11. The CM20, CM21 and CM27 bits do not change at oscillation stop detection reset.
12. When the CM21 bit is set to 0 (on-chip oscillator turned off) and the CM05 bit is set to 1 (main clock
turned off), the CM06 bit is fixed to 1 (divide-by-8 mode) and the CM15 bit is fixed to 1 (drive capability
High).
7. Clock Generation Circuit
page 49
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Figure 7.6 PCLKR Register and PM2 Register
Function
Bit Symbol Bit Name
Peripheral Clock Select Register (1)
Symbol Address After Reset
PCLKR 025E16 000000112
RW
b7 b6 b5 b4 b3 b2 b1 b0
PCLK0
000
Reserved bit
NOTE:
1. Write to this register after setting the PRC0 bit in the PRCR register to 1 (write enable).
000
PCLK1
RW
RW
RW
(b7-b2)
0: f2SIO
1: f1SIO
SI/O clock select bit (Clock
source for UART0 to
UART2)
0: f2
1: f1
Timers A, B clock select bit
(Clock source for Timers A,
B, Timer S, the dead time
timer, SI/O3, SI/O4,multi-
master I2C bus)
Set to 0
Function
Bit Symbol Bit Name
Processeor Mode Register 2
(1)
Symbol Address After Reset
PM2 001E16 XXX000002
RW
b7 b6 b5 b4 b3 b2 b1 b0
PM20
0
PM21 System clock protective bit
(3,4)
RW
RW
RW
(b7-b5)
PM22
PM24
(b3) Reserved bit Set to 0RW
RW
NOTES:
1. Write to this register after setting the PRC1 bit in the PRCR register to 1 (write enable).
2. The PM20 bit become effective when PLC07 bit in the PLC0 register is set to "1" (PLL on). Change the PM20 bit
when the PLC07 bit is set to "0" (PLL off). Set the PM20 bit to "0" (2 waits) when PLL clock > 16 MHz.
3. Once this bit is set to 1, it cannot be set to 0 by program.
4. Writing to the following bits has no effect when the PM21 bit is set to 1:
CM02 bit in the CM0 register
CM05 bit in the CM0 register (main clock is not halted)
CM07 bit in the CM0 register (CPU clock source does not change)
CM10 bit in the CM1 register (stop mode is not entered)
CM11 bit in the CM1 register (CPU clock source does not change)
CM20 bit in the CM2 register (oscillation stop, re-oscillation detection function settings do not change)
All bits in the PLC0 register (PLL frequency synthesizer setting do not change)
When the PM21 bit is set to "1", do not execute the WAIT instruction.
5. Setting the PM22 bit to 1 results in the following conditions:
- The on-chip oscillator continues oscillating even if the CM21 bit in the CM2 register is set to "0" (main clock or
PLL clock) (system clock of count source selected by the CM21 bit is valid)
- The on-chip oscillator starts oscillating, and the on-chip oscillator clock becomes the watchdog timer count
source.
- The CM10 bit in the CM1 register is disabled against write. (Writing a 1 has no effect, nor is stop mode
entered)
- The watchdog timer does not stop in wait mode.
6. For NMI function, the PM24 bit must be set to 1(NMI function). Once this bit is set to 1, it cannot be cleared to
0 by program.
7. SD input is valid regardless of the PM24 setting.
Specifying wait when
accessing SFR during PLL
operation
(2)
0: 2 wait
1: 1 wait
WDT count source
protective bit
(3,5)
P85/NMI configuration bit
(6,7)
0: P8
5
function (NMI disable)
1: NMI function
0: CPU clock is used for the
watchdog timer count source
1: On-chip oscillator clock is used
for the watchdog timer count
source
0: Clock is protected by PRCR
register
1: Clock modification disabled
Nothing is assigned. When write, set to0.
When read,its content is indeterminate
7. Clock Generation Circuit
page 50
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Figure 7.7 PLC0 Register
PLC00
PLC01
PLC02
PLC07
(3)
(4)
Function
NOTES:
1. Write to this register after setting the PRC0 bit of PRCR register to "1" (write enable).
2. When the PM21 bit in the PM2 register is "1" (clock modification disable), writing to this register has no effect.
3.
These three bits can only be modified when the PLC07 bit is set to "0" (PLL turned off). The value once written to
this bit cannot be modified.
4. Before setting this bit to "1" , set the CM07 bit to "0" (main clock), set the CM17 to CM16 bits to "00
2
" (main
clock undivided mode), and set the CM06 bit to "0" (CM16 and CM17 bits enable).
PLL Control Register 0
(1,2)
PLL multiplying factor
select bit
Nothing is assigned. When write, set to "0".
When read, its content is indeterminate.
Reserved bit
Operation enable bit
0 0 0:
0 0 1: Multiply by 2
0 1 0: Multiply by 4
0 1 1:
1 0 0:
1 0 1:
1 1 0:
1 1 1:
0: PLL Off
1: PLL On
Set to "1"
Bit Name
Bit
Symbol
Symbol Address After Reset
PLC0 001C
16
0001 X010
2
RW
b1b0b2
Reserved bit Set to "0"
Do not set
RW
RW
RW
RW
RW
RW
Do not set
(b4)
(b6-b5)
(b3)
b7 b6 b5 b4 b3 b2 b1 b0
0 10
7. Clock Generation Circuit
page 51
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Figure 7.8 Examples of Main Clock Connection Circuit
The following describes the clocks generated by the clock generation circuit.
7.1 Main Clock
The main clock is generated by the main clock oscillation circuit. This clock is used as the clock source for
the CPU and peripheral function clocks. The main clock oscillator circuit is configured by connecting a
resonator between the XIN and XOUT pins. The main clock oscillator circuit contains a feedback resistor,
which is disconnected from the oscillator circuit during stop mode in order to reduce the amount of power
consumed in the chip. The main clock oscillator circuit may also be configured by feeding an externally
generated clock to the XIN pin. Figure 7.8 shows the examples of main clock connection circuit.
The main clock oscillates after reset. The power consumption in the chip can be reduced by setting the
CM05 bit in the CM0 register to 1 (main clock oscillator circuit turned off) after switching the clock source
for the CPU clock to a sub clock or on-chip oscillator clock. In this case, XOUT goes H. Furthermore,
because the internal feedback resistor remains on, XIN is pulled H to XOUT via the feedback resistor.
During stop mode, all clocks including the main clock are turned off. Refer to 7.6 power control.
If the main clock is not used, it is recommended to connect the XIN pin to VCC to reduce power consump-
tion during reset.
External Clock
X
IN
X
OUT
Open
V
CC
V
SS
NOTE:
1. Insert a damping resistor if required. Resistance value varies depending on the oscillator setting.
Use resistance value recommended by the oscillator manufacturer. If the oscillator manufacturer
recommends that a feedback resistor be added to the chip externally, insert a feedback resistor
between X
IN
and X
OUT
.
2. The external clock should not be stopped when it is connected to the X
IN
pin and the main clock is
selected as the CPU clock.
Oscillator
Rd
(1)
C
IN
C
OUT
X
IN
X
OUT
Microcomputer
(Built-in Feedback Resistor) Microcomputer
(Built-in Feedback Resistor)
V
SS
7. Clock Generation Circuit
page 52
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Figure 7.9 Examples of Sub Clock Connection Circuit
7.2 Sub Clock
The sub clock is generated by the sub clock oscillation circuit. This clock is used as the clock source for the
CPU clock, as well as the timer A and timer B count sources.
The sub clock oscillator circuit is configured by connecting a crystal resonator between the XCIN and XCOUT
pins. The sub clock oscillator circuit contains a feedback resistor, which is disconnected from the oscillator
circuit during stop mode in order to reduce the amount of power consumed in the chip. The sub clock
oscillator circuit may also be configured by feeding an externally generated clock to the XCIN pin. Figure 7.9
shows the examples of sub clock connection circuit.
After reset, the sub clock is turned off. At this time, the feedback resistor is disconnected from the oscillator
circuit.
To use the sub clock for the CPU clock, set the CM07 bit in the CM0 register to 1 (sub clock) after the sub
clock becomes oscillating stably.
During stop mode, all clocks including the sub clock are turned off. Refer to power control.
External Clock
XCIN
XCOUT Open
VCC
VSS
NOTES:
1. Place a damping resistor if required. Resistance values vary depending on the oscillator setting.
Use values recommended by each oscillator manufacturer.
Place a feedback resistor between XCIN and XCOUT if the oscillator manufacturer recommends
placing the resistor externally.
Oscillator
RCd(1)
CCIN
CCOUT
XCIN
XCOUT
Microcomputer
(Built-in Feedback Resistor) Microcomputer
(Built-in Feedback Resistor)
VSS
7. Clock Generation Circuit
page 53
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
7.3 On-chip Oscillator Clock
This clock is supplied by a variable on-chip oscillator. This clock is used as the clock source for the CPU
and peripheral function clocks. In addition, if the PM22 bit in the PM2 register is 1 (on-chip oscillator clock
for the watchdog timer count source), this clock is used as the count source for the watchdog timer (Refer
to 10.3 Count source protective mode, Watchdog Timer).
The on-chip oscillator after reset oscillates. The on-chip oscillator clock f2(ROC) divided by 16 is used for
the CPU clock. It can also be turned off by setting the CM21 bit in the CM2 register to 0 (main clock or PLL
clock). If the main clock stops oscillating when the CM20 bit in the CM2 register is 1 (oscillation stop, re-
oscillation detection function enabled) and the CM27 bit is 1 (oscillation stop, re-oscillation detection
interrupt), the on-chip oscillator automatically starts operating, supplying the necessary clock for the micro-
computer.
7.4 PLL Clock
The PLL clock is generated from the main clock by a PLL frequency synthesizer. This clock is used as the
clock source for the CPU and peripheral function clocks. After reset, the PLL clock is turned off. The PLL
frequency synthesizer is activated by setting the PLC07 bit to 1 (PLL operation). When the PLL clock is
used as the clock source for the CPU clock, wait tsu(PLL) for the PLL clock to be stable, and then set the
CM11 bit in the CM1 register to 1.
Before entering wait mode or stop mode, be sure to set the CM11 bit to 0 (CPU clock source is the main
clock). Furthermore, before entering stop mode, be sure to set the PLC07 bit in the PLC0 register to 0
(PLL stops). Figure 7.10 shows the procedure for using the PLL clock as the clock source for the CPU.
The PLL clock frequency is determined by the equation below.
PLL clock frequency=f(XIN) X (multiplying factor set by the PLC02 to PLC00 bits PLC0 register
(However, 10 MHz PLL clock frequency 24 MHz in M16C/28B, 10 MHz PLL clock frequency 20
MHz in M16C/28)
The PLC02 to PLC00 bits can be set only once after reset. Table 7.2 shows the example for setting PLL
clock frequencies.
XIN
(MHz) PLC02 PLC01 PLC00 Multiplying factor PLL clock
(MHz)
(1)
10001 2 20
5010 4
Table 7.2 Example for Setting PLL Clock Frequencies
NOTE:
1. 10 MHz PLL clock frequency 24 MHz in M16C/28B, 10 MHz PLL clock frequency 20 MHz in
M16C/28.
7. Clock Generation Circuit
page 54
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Figure 7.10 Procedure to Use PLL Clock as CPU Clock Source
START
Set the CM07 bit to 0 (main clock), the CM17 to CM16
bits to 002(main clock undivided), and the CM06 bit to 0
(CM16 and CM17 bits enabled).
(1)
Set the PLC02 to PLC00 bits (multiplying factor).
(To select a 16 MHz or higher PLL clock)
Set the PM20 bit to 0 (2-wait states).
Set the PLC07 bit to 1 (PLL operation).
Wait until the PLL clock becomes stable (tsu(PLL)).
Set the CM11 bit to 1 (PLL clock for the CPU clock source).
END
NOTE:
1. PLL operation mode can be entered from high speed mode.
7. Clock Generation Circuit
page 55
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
7.5 CPU Clock and Peripheral Function Clock
The CPU clock is used to operate the CPU and peripheral function clocks are used to operate the periph-
eral functions.
7.5.1 CPU Clock
This is the operating clock for the CPU and watchdog timer.
The clock source for the CPU clock can be chosen to be the main clock, sub clock, on-chip oscillator clock
or the PLL clock.
If the main clock or on-chip oscillator clock is selected as the clock source for the CPU clock, the selected
clock source can be divided by 1 (undivided), 2, 4, 8 or 16 to produce the CPU clock. Use the CM06 bit in
CM0 register and the CM17 to CM16 bits in CM1 register to select the divide-by-n value.
When the PLL clock is selected as the clock source for the CPU clock, the CM06 bit should be set to 0
and the CM17 to CM16 bits to 002 (undivided).
After reset, the on-chip oscillator clock divided by 16 provides the CPU clock.
Note that when entering stop mode from high or middle speed mode, on-chip oscillator mode or on-chip
oscillator low power dissipation mode, or when the CM05 bit in the CM0 register is set to 1 (main clock
turned off) in low-speed mode, the CM06 bit in the CM0 register is set to 1 (divide-by-8 mode).
7.5.2 Peripheral Function Clock(f1, f2, f8, f32, f1SIO, f2SIO, f8SIO, f32SIO, fAD, fC32)
These are operating clocks for the peripheral functions.
Of these, fi (i = 1, 2, 8, 32) and fiSIO are derived from the main clock, PLL clock or on-chip oscillator clock
by dividing them by i. The clock fi is used for Timer A, Timer B, SI/O3 and SI/O4 while fiSIO is used for
UART0 to UART2. Additionally, the f1 and f2 clocks are also used for dead time timer, Timer S, multi-
master I2C bus.
The fAD clock is produced from the main clock, PLL clock or on-chip oscillator clock, and is used for the A/
D converter.
When the WAIT instruction is executed after setting the CM02 bit in the CM0 register to 1 (peripheral
function clock turned off during wait mode), or when the microcomputer is in low power dissipation mode,
the fi, fiSIO and fAD clocks are turned off.
The fC32 clock is produced from the sub clock, and is used for timers A and B. This clock can only be used
when the sub clock is on.
7. Clock Generation Circuit
page 56
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
7.6 Power Control
There are three power control modes. In this Chapter, all modes other than wait and stop modes are
referred to as normal operation mode here.
7.6.1 Normal Operation Mode
Normal operation mode is further classified into seven modes.
In normal operation mode, because the CPU clock and the peripheral function clocks both are on, the
CPU and the peripheral functions are operating. Power control is exercised by controlling the CPU clock
frequency. The higher the CPU clock frequency, the greater the processing capability. The lower the CPU
clock frequency, the smaller the power consumption in the chip. If the unnecessary oscillator circuits are
turned off, the power consumption is further reduced.
Before the clock sources for the CPU clock can be switched over, the new clock source to which switched
must be oscillating stably. If the new clock source is the main clock, sub clock or PLL clock, allow a
sufficient wait time in a program until it becomes oscillating stably.
Note that operation modes cannot be changed directly from low power dissipation mode to on-chip oscil-
lator mode or on-chip oscillator dissipation mode. Nor can operation modes be changed directly from on-
chip oscillator mode or on-chip oscillator dissipation mode to low power dissipation mode.
When the CPU clock source is changed from the on-chip oscillator to the main clock, change the opera-
tion mode to the medium speed mode (divided by 8 mode) after the clock was divided by 8 (the CM06 bit
in the CM0 register was set to 1) in the on-chip oscillator mode.
7.6.1.1 High-speed Mode
The main clock divided by 1 provides the CPU clock. If the sub clock is on, fC32 can be used as the
count source for timers A and B.
7.6.1.2 PLL Operation Mode
The main clock multiplied by 2 or 4 provides the PLL clock, and this PLL clock serves as the CPU
clock. If the sub clock is on, fC32 can be used as the count source for timers A and B. PLL operation
mode can be entered from high speed mode. If PLL operation mode is to be changed to wait or stop
mode, first go to high speed mode before changing.
7.6.1.3 Medium-speed Mode
The main clock divided by 2, 4, 8 or 16 provides the CPU clock. If the sub clock is on, fC32 can be used
as the count source for timers A and B.
7.6.1.4 Low-speed Mode
The sub clock provides the CPU clock. The main clock is used as the clock source for the peripheral
function clock when the CM21 bit is set to 0 (on-chip oscillator turned off), and the on-chip oscillator
clock is used when the CM21 bit is set to 1 (on-chip oscillator oscillating).
The fC32 clock can be used as the count source for timers A and B.
7.6.1.5 Low Power Dissipation Mode
In this mode, the main clock is turned off after being placed in low speed mode. The sub clock provides
the CPU clock. The fC32 clock can be used as the count source for timers A and B. Peripheral function
clock can use only fC32.
Simultaneously when this mode is selected, the CM06 bit in the CM0 register becomes 1 (divided by
8 mode). In the low power dissipation mode, do not change the CM06 bit. Consequently, the medium
speed (divided by 8) mode is to be selected when the main clock is operated next.
7. Clock Generation Circuit
page 57
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
7.6.1.6 On-chip Oscillator Mode
The selected on-chip oscillator clock divided by 1 (undivided), 2, 4, 8 or 16 provides the CPU clock.
The on-chip oscillator clock is also the clock source for the peripheral function clocks. If the sub clock
is on, fC32 can be used as the count source for timers A and B. The on-chip oscillator frequency can be
selected by the ROCR3 to ROCR0 bits in the ROCR registers. When the operation mode is returned
to the high and medium speed modes, set the CM06 bit to 1 (divided by 8 mode).
7.6.1.7 On-chip Oscillator Low Power Dissipation Mode
The main clock is turned off after being placed in on-chip oscillator mode. The CPU clock can be se-
lected as in the on-chip oscillator mode. The on-chip oscillator clock is the clock source for the peripheral
function clocks. If the sub clock is on, f
C32
can be used as the count source for Timers A and B.
Table 7.3 Setting Clock Related Bit and Modes
7.6.2 Wait Mode
In wait mode, the CPU clock stops running. The CPU and the watchdog timer, operated by the CPU
clock, also stop. However, if the PM22 bit in the PM2 register is 1 (on-chip oscillator clock for the
watchdog timer count source), the watchdog timer remains active. Because the main clock, sub clock and
on-chip oscillator clock all are on, the peripheral functions using these clocks keep operating.
7.6.2.1 Peripheral Function Clock Stop Function
If the CM02 bit is 1 (peripheral function clocks turned off during wait mode), the f1, f2, f8, f32, f1SIO,
f2SIO, f8SIO, f32SIO and fAD clocks stop running in wait mode, with the power consumption reduced that
much. However, fC32 remains on.
7.6.2.2 Entering Wait Mode
The microcomputer is placed into wait mode by executing the WAIT instruction.
When the CM11 bit is set to 1 (CPU clock source is the PLL clock), be sure to clear the CM11 bit to
0 (CPU clock source is the main clock) before going to wait mode. The power consumption of the
chip can be reduced by clearing the PLC07 bit to 0 (PLL stops).
1
(1)
Modes CM2 register
CM21 CM1 register
CM11 CM17, CM16 CM0 register
CM07 CM06 CM05 CM04
PLL operation mode 0100
2
00
High-speed mode 0 0 00
2
000
Medium-
speed
mode
0001
2
000
0010
2
000
divided by 2
00 01
0
0011
2
000
Low-speed mode 1 0 1
Low power dissipation mode 11
On-chip
oscillator
mode
(3)
1
divided by 4
divided by 8
divided by 16
On-chip oscillator low power
dissipation mode
.
NOTES:
1. When the CM05 bit is set to "1" (main clock turned off) in low-speed mode, the mode goes to low power
dissipation mode and CM06 bit is set to "1" (divided by 8 mode) simultaneously
2. The divide-by-n value can be selected the same way as in on-chip oscillator mode.
3. On-chip oscillator frequency can be any of those described in the section 7.6.1.6 On-chip Oscillator Mode.
0
0
101
2
000
110
2
000
110
11
2
000
100
2
000
(2)
divided by 2
divided by 4
divided by 8
divided by 16
divided by 1 1
(1)
(2)
1
0
1
7. Clock Generation Circuit
page 58
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Table 7.4 Interrupts to Exit Wait Mode
7.6.2.3 Pin Status During Wait Mode
The I/O port pins retain their status held just prior to wait mode.
7.6.2.4 Exiting Wait Mode ______
The microcomputer is moved out of wait mode by a hardware reset, NMI interrupt or peripheral func-
tion interrupt. ______
If the microcomputer is to be moved out of exit wait mode by a hardware reset or NMI interrupt, set the
peripheral function interrupt priority ILVL2 to ILVL0 bits to 0002 (interrupts disabled) before execut-
ing the WAIT instruction.
The peripheral function interrupts are affected by the CM02 bit. If CM02 bit is set to 0 (peripheral
function clocks not turned off during wait mode), peripheral function interrupts can be used to exit wait
mode. If CM02 bit is set to 1 (peripheral function clocks turned off during wait mode), the peripheral
functions using the peripheral function clocks stop operating, so that only the peripheral functions
clocked by external signals can be used to exit wait mode.
Table 7.4 lists the interrupts to exit wait mode.
If the microcomputer is to be moved out of wait mode by a peripheral function interrupt, set up the
following before executing the WAIT instruction.
1. In the ILVL2 to ILVL0 bits of interrupt control register, set the interrupt priority level of the periph
eral function interrupt to be used to exit wait mode.
Also, for all of the peripheral function interrupts not used to exit wait mode, set the ILVL2 to ILVL0
bits to 0002 (interrupt disable).
2. Set the I flag to 1.
3. Enable the peripheral function whose interrupt is to be used to exit wait mode.
In this case, when an interrupt request is generated and the CPU clock is thereby turned on, an
interrupt routine is executed.
The CPU clock turned on when exiting wait mode by a peripheral function interrupt is the same CPU
clock that was on when the WAIT instruction was executed.
Interrupt CM02=0 CM02=1
NMI interrupt Can be used
Serial I/O interrupt Can be used when operating
with internal or external clock Can be used when operating
with external clock
key input interrupt Can be used Can be used
A/D conversion
interrupt Can be used in one-shot mode
or single sweep mode
Timer A interrupt Can be used in all modes Can be used in event counter
mode or when the count
source is fC32
Timer B interrupt
INT interrupt
Can be used
Can be used
(Do not use)
Can be used
Multi-Master I2C
interrupt Can be used (Do not use)
Timer S interrupt Can be used in all modes (Do not use)
7. Clock Generation Circuit
page 59
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
7.6.3 Stop Mode
In stop mode, all oscillator circuits are turned off, so are the CPU clock and the peripheral function clocks.
Therefore, the CPU and the peripheral functions clocked by these clocks stop operating. The least
amount of power is consumed in this mode. If the voltage applied to Vcc pin is VRAM or more, the internal
RAM is retained. When applying 2.7 or less voltage to Vcc pin, make sure VccVRAM.
However, the peripheral functions clocked by external signals keep operating. The following interrupts
can be used to exit stop mode.
______
NMI interrupt
Key interrupt
______
INT interrupt
Timer A, Timer B interrupt (when counting external pulses in event counter mode)
Serial I/O interrupt (when external clock is selected)
Low voltage detection interrupt (refer to 5.5.1 Low voltage Detection Interrupt for an operating condition)
7.6.3.1 Entering Stop Mode
The microcomputer is placed into stop mode by setting the CM10 bit in the CM1 register to 1 (all
clocks turned off). At the same time, the CM06 bit in the CM0 register is set to 1 (divide-by-8 mode)
and the CM15 bit in the CM1 register is set to 1 (main clock oscillator circuit drive capability high).
Before entering stop mode, set the CM20 bit to 0 (oscillation stop, re-oscillation detection function
disable).
Also, if the CM11 bit is 1 (PLL clock for the CPU clock source), set the CM11 bit to 0 (main clock for
the CPU clock source) and the PLC07 bit to 0 (PLL turned off) before entering stop mode.
7.6.3.2 Pin Status during Stop Mode
The I/O pins retain their status held just prior to entering stop mode.
7.6.3.3 Exiting Stop Mode ______
The microcomputer is moved out of stop mode by a hardware reset, NMI interrupt or peripheral func-
tion interrupt. ______
If the microcomputer is to be moved out of stop mode by a hardware reset or NMI interrupt, set the
peripheral function interrupt priority ILVL2 to ILVL0 bits to 0002 (interrupts disable) before setting the
CM10 bit to 1.
If the microcomputer is to be moved out of stop mode by a peripheral function interrupt, set up the
following before setting the CM10 bit to 1.
1. In the ILVL2 to ILVL0 bits of interrupt control register, set the interrupt priority level of the peripheral
function interrupt to be used to exit stop mode.
Also, for all of the peripheral function interrupts not used to exit stop mode, set the ILVL2 to ILVL0
bits to 0002.
2. Set the I flag to 1.
3. Enable the peripheral function whose interrupt is to be used to exit stop mode.
In this case, when an interrupt request is generated and the CPU clock is thereby turned on, an
nterrupt service routine is executed. ______
Which CPU clock will be used after exiting stop mode by a peripheral function or NMI interrupt is
determined by the CPU clock that was on when the microcomputer was placed into stop mode as
follows:
If the CPU clock before entering stop mode was derived from the sub clock: sub clock
If the CPU clock before entering stop mode was derived from the main clock: main clock divide-by-8
If the CPU clock before entering stop mode was derived from the on-chip oscillator clock: on-chip
oscillator clock divide-by-8
7. Clock Generation Circuit
page 60
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Figure 7.11 State Transition to Stop Mode and Wait Mode
Figure 7.11 shows the state transition from normal operation mode to stop mode and wait mode. Figure
7.12 shows the state transition in normal operation mode.
Table 7.5 shows a state transition matrix describing allowed transition and setting. The vertical line
shows current state and horizontal line shows state after transition.
Reset
Medium-speed mode
(divided-by-8 mode)
High-speed, medium-
speed mode
Stop mode Wait mode
Interrupt
Interrupt
Low-speed mode
Stop mode
Interrupt
Wait mode
Interrupt
Stop mode
All oscillators stopped
Interrupt
Wait mode
WAIT
instruction
Interrupt
CPU operation stopped
PLL operation
mode
(1, 2)
: Arrow shows mode can be changed. Do not change mode to another mode when no arrow is shown.
NOTES:
1. Do not go directly from PLL operation mode to wait or stop mode.
2. PLL operation mode can be entered from high speed mode. Similarly, PLL operation mode can be changed back to high speed mode.
3. When the PM21 bit is set to "0" (system clock protective function unused).
4. The on-chip oscillator clock divided by 8 provides the CPU clock.
5. Write to the CM0 register and CM1 register simultaneously by accessing in word units while CM21 bit is set to "0" (on-chip oscillator
turned off). When the clock generated externally is input to the XCIN pin, transit to stop mode with this process.
6. Before entering stop mode, be sure to clear the CM20 bit in the CM2 register to "0" (oscillation stop and oscillation restart detection
function disabled).
7. The CM06 bit is set to "1" (divide-by-8).
Wait mode
Interrupt
CM10=1
(6)
Interrupt
(4)
Stop mode
WAIT
instruction
WAIT
instruction
WAIT
instruction
On-chip oscillator mode
(selectable frequency)
On-chip oscillator
mode (f
2(ROC)
/16)
Normal operation mode
CM07=0
CM06=1
CM05=0
CM11=0
CM10=1
(5)
On-chip oscillator low power
dissipation mode
Stop mode
Interrupt
(4) Wait mode
Interrupt
WAIT
instruction
CM05, CM06, CM07: Bits in the CM0 register
CM10, CM11: Bits in the CM1 register
CM10=1
(6)
CM10=1
(6)
CM10=1
(6)
CM10=1
(6)
Low power dissipation mode
Stop mode
Interrupt
Wait mode
Interrupt
WAIT
instruction
CM21=1
CM21=0
CM10=1
(6)
(7)
7. Clock Generation Circuit
page 61
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Figure 7.12 State Transition in Normal Mode
CM04=0
CPU clock: f(PLL)
CM07=0
CM06=0
CM17=0
CM16=0
PLL operation mode
CM07=0
CM06=0
CM17=0
CM16=0
CM07=0
CM17=0
CM06=0
CM16=0
CM07=0
CM17=0
CM06=0
CM16=1
CM07=0
CM17=1
CM06=0
CM16=0
CM07=0
CM06=1
CM07=0
CM17=1
CM06=0
CM16=1
High-speed mode
CM07=0
CM17=0
CM06=0
CM16=0
CM07=0
CM17=0
CM06=0
CM16=1
CM07=0
CM17=1
CM06=0
CM16=0
CM07=0
CM06=1
CM07=0
CM17=1
CM06=0
CM16=1
CM07=0
Low-speed mode
CM07=0
Low power dissipation mode
CM06=1
CM15=1
On-chip oscillator mode
CPU clock
On-chip oscillator
mode
CPU clock
CPU clock
On-chip oscillator
low power
dissipation mode
CPU clock
CM07=0
Low-speed
mode
PLC07=1
CM11=1
(5)
PLC07=0
CM11=0
(5)
CM04=0
PLC07=1
CM11=1
PLC07=0
CM11=0
CM04=0CM04=1CM04=1 CM04=1 CM04=0CM04=1
CM07=0
(2, 4)
CM07=1
(3)
CM05=1
(1, 7) CM05=0
CM21=0
(2, 6)
CM21=1
CM21=0
(6)
CM21=1
CM21=0
CM21=1
Main clock oscillation On-chip oscillator clock
oscillation
Sub clock oscillation
f(ROC)
f(ROC)/2
f(ROC)/4
f(ROC)/8
f(ROC)/16
f(ROC)
f(ROC)/2
f(ROC)/4
f(ROC)/8
f(ROC)/16
f(ROC)
f(ROC)/2
f(ROC)/4
f(ROC)/8
f(ROC)/16
f(ROC)
f(ROC)/2
f(ROC)/4
f(ROC)/8
f(ROC)/16
PLL operation
mode
CPU clock: f(PLL)
CPU clock: f(X
IN
)
High-speed mode Middle-speed mode
(divide by 2)
CPU clock: f(X
IN
)/2 CPU clock: f(X
IN
)/4 CPU clock: f(X
IN
)/8 CPU clock: f(X
IN
)/16
CPU clock: f(X
CIN
)
CPU clock: f(X
CIN
)
CPU clock: f(X
CIN
)
CM05=0
M0
M
CM05=1
(1)
CM05=1
(1)
CM05=0
(5)
(5)
Middle-speed mode
(divide by 4) Middle-speed mode
(divide by 8) Middle-speed mode
(divide by 16)
Middle-speed mode
(divide by 2) Middle-speed mode
(divide by 4) Middle-speed mode
(divide by 8) Middle-speed mode
(divide by 16)
CPU clock: f(X
IN
)
CPU clock: f(X
IN
)/2 CPU clock: f(X
IN
)/4 CPU clock: f(X
IN
)/8 CPU clock: f(X
IN
)/16
On-chip oscillator low power
dissipation mode
: Arrow shows mode can be changed. Do not change mode to another mode when no arrow is shown.
NOTES:
1. Avoid making a transition when the CM20 bit is set to 1 (oscillation stop, re-oscillation detection function enabled).
Set the CM20 bit to 0 (oscillation stop, re-oscillation detection function disabled) before transiting.
2. Wait for the main clock oscillation stabilization time before switching over.
3. Switch clock after oscillation of sub-clock is sufficiently stable.
4. Change bits CM17 and CM16 before changing the CM06 bit.
5. The PM20 bit in the PM2 register becomes effective when the PLC07 bit in the PLC0 register is set to 1 (PLL on). Change the PM20 bit when the PLC07 bit is set to 0 (PLL off).
Set the PM20 bit to 0 (2 waits) when PLL clock > 16MHz.
6. Set the CM06 bit to 1 (division by 8 mode) before changing back the operation mode from on-chip oscillator mode to high- or middle-speed mode.
7. When the CM21 bit is set to 0 (on-chip oscillator turned off) and the CM05 bit is set to 1 (main clock turned off), the CM06 bit is fixed to 1 (divide-by-8 mode) and the
CM15 bit is fixed to 1 (drive capability High).
CM07=1
(3) CM07=0
(4)
7. Clock Generation Circuit
page 62
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Table 7.5 Allowed Transition and Setting
High-speed mode,
middle-speed mode
On-chip oscillator mode
Stop mode
Wait mode
On-chip oscillator
low power dissipation
mode
PLL operation mode2
Low power dissipation
mode
Low-speed mode2
Current state
State after transition
8
--
(8)
(18)
5
(9)
7
--
(10)
(11)
1, 6
(12)
3
(14)
4
--
--
(9)
7
--
--
(13)
3
(15) --
--
--
--
(8)
--
--
(10)
--
--
--
-- -- --
--
--
(18)(18) --
--
(16)
1
(17)
(16)
1
(17)
(16)
1
(17)
(16)
1
(17)
(16)
1
(17)
-- --
(18)
5
(18)
5
(18)(18)(18)(18)(18)
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
(14)
(15)
(16)
(17)
(18)
Setting Operation
CM04 = 0 Sub clock turned off
CM04 = 1 Sub clock oscillating
CM06 = 0, CPU clock no division mode
CM17 = 0 , CM16 = 0
CM06 = 0, CPU clock division by 2 mode
CM17 = 0 , CM16 = 1
CM06 = 0, CPU clock division by 4 mode
CM17 = 1 , CM16 = 0
CM06 = 1 CPU clock division by 8 mode
CM06 = 0, CPU clock division by 16 mode
CM17 = 1 , CM16 = 1
CM07 = 0 Main clock, PLL clock,
or on-chip oscillator clock selected
CM07 = 1 Sub clock selected
CM05 = 0 Main clock oscillating
CM05 = 1 Main clock turned off
PLC07 = 0,
CM11 = 0 Main clock selected
PLC07 = 1,
CM11 = 1 PLL clock selected
CM21 = 0
Main clock or PLL clock selected
CM21 = 1 On-chip oscillator clock selected
CM10 = 1 Transition to stop mode
wait instruction Transition to wait mode
Hardware interrupt
Exit stop mode or wait mode
NOTES:
1. Avoid making a transition when the CM20 bit is set to 1 (oscillation stop, re-oscillation detection function enabled).
Set the CM20 bit to 0 (oscillation stop, re-oscillation detection function disabled) before transiting.
2. On-chip oscillator clock oscillates and stops in low-speed mode. In this mode, the on-chip oscillator can be used as peripheral function clock.
Sub clock oscillates and stops in PLL operation mode. In this mode, sub clock can be used as a clock for the timers A and B.
3. PLL operation mode can only be entered from and changed to high-speed mode.
4. Set the CM06 bit to 1 (division by 8 mode) before transiting from on-chip oscillator mode to high- or middle-speed mode.
5. When exiting stop mode, the CM06 bit is set to 1 (division by 8 mode).
6. If the CM05 bit is set to 1 (main clock stop), then the CM06 bit is set to 1 (division by 8 mode).
7. A transition can be made only when sub clock is oscillating.
8. State transitions within the same mode (divide-by-n values changed or subclock oscillation turned on or off) are shown in the table below.
--: Cannot transit
(11)
1
High-speed mode,
middle-speed mode On-chip oscillator
mode Stop mode Wait mode
On-chip oscillator
low power
dissipation mode
PLL operation
mode2
Low power
dissipation mode
Low-speed mode2
8
8
(3)
(3)
(3)
(3)
(4)
(4)
(4)
(4)
(5) (7)
(7)
(5)
(5)
(5)
(7)
(7)
(6)
(6)
(6)
(6)
No
division Divided
by 2
(3)
(3)
(3)
(3)
(4)
(4)
(4)
(4)
(5)
(5)
(5)
(5) (7)
(7)
(7)
(7)
(6)
(6)
(6)
(6)
(1) (1) (1) (1) (1)
(2) (2) (2) (2) (2)
-- --
-- --
--
--
----
--
--
-- --
--
--
--
-- -- --
-- --
--
--
--
-- --
--
-- --
--
--
-- --
--
--
--
--
--
--
--
--
Sub clock oscillating Sub clock turned off
--: Cannot transit
Divided
by 4 Divided
by 8 Divided
by 16 No
division Divided
by 2 Divided
by 4 Divided
by 8 Divided
by 16
No division
Divided by 4
Sub clock
oscillating
Sub clock
turned off
Divided by 8
Divided by 16
Divided by 2
No division
Divided by 4
Divided by 8
Divided by 16
Divided by 2
9. ( ) : setting method. Refer to following table.
CM04, CM05, CM06, CM07 : Bits in the CM0 register
CM10, CM11, CM16, CM17 : Bits in the CM1 register
CM20, CM21 : Bits in the CM2 register
PLC07 : Bits in the PLC0 register
7. Clock Generation Circuit
page 63
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
7.7 System Clock Protective Function
When the main clock is selected for the CPU clock source, this function protects the clock from modifica-
tions in order to prevent the CPU clock from becoming halted by run-away.
If the PM21 bit in the PM2 register is set to “1” (clock modification disabled), the following bits are protected
against writes:
• CM02, CM05, and CM07 bits in CM0 register
• CM10, CM11 bits in CM1 register
• CM20 bit in CM2 register
• All bits in PLC0 register
Before the system clock protective function can be used, the following register settings must be made while
the CM05 bit in the CM0 register is “0” (main clock oscillating) and CM07 bit is “0” (main clock selected for
the CPU clock source):
(1) Set the PRC1 bit in the PRCR register to “1” (enable writes to PM2 register).
(2) Set the PM21 bit in the PM2 register to “1” (disable clock modification).
(3) Set the PRC1 bit in the PRCR register to “0” (disable writes to PM2 register).
Do not execute the WAIT instruction when the PM21 bit is “1”.
7.8 Oscillation Stop and Re-oscillation Detect Function
The oscillation stop and re-oscillation detect function detects the re-oscillation after stop of main clock
oscillation circuit. When the oscillation stop and re-oscillation detection occurs, the oscillation stop detect
function is reset or oscillation stop and re-oscillation detection interrupt is generated, depending on the
CM27 bit set in the CM2 register. The oscillation stop detect function is enabled or disabled by the CM20 bit
in the CM2 register. Table 7.6 lists a specification overview of the oscillation stop and re-oscillation detect
function.
Table 7.6 Specification Overview of Oscillation Stop and Re-oscillation Detect Function
Item Specification
Oscillation stop detectable clock and f(XIN) 2 MHz
frequency bandwidth
Enabling condition for oscillation stop, Set CM20 bit to “1”(enable)
re-oscillation detection function
Operation at oscillation stop, •Reset occurs (when CM27 bit is set to "0")
re-oscillation detection •Oscillation stop, re-oscillation detection interrupt occurs(when
CM27 bit is set to "1")
7. Clock Generation Circuit
page 64
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
7.8.1 Operation when CM27 bit is set to "0" (Oscillation Stop Detection Reset)
When main clock stop is detected when the CM20 bit is 1 (oscillation stop, re-oscillation detection
function enabled), the microcomputer is initialized, coming to a halt (oscillation stop reset; refer to 4. SFR
and 5. Reset).
This status is reset with hardware reset 1 or hardware reset 2. Also, even when re-oscillation is detected,
the microcomputer can be initialized and stopped; it is, however, necessary to avoid such usage. (During
main clock stop, do not set the CM20 bit to 1 and the CM27 bit to 0.)
7.8.2 Operation when CM27 bit is set to "1" (Oscillation Stop and Re-oscillation Detect
Interrupt)
When the main clock corresponds to the CPU clock source and the CM20 bit is 1 (oscillation stop and
re-oscillation detect function enabled), the system is placed in the following state if the main clock comes
to a halt:
Oscillation stop and re-oscillation detect interrupt request occurs.
The on-chip oscillator starts oscillation, and the on-chip oscillator clock becomes the CPU clock and
clock source for peripheral functions in place of the main clock.
CM21 bit is set to "1" (on-chip oscillator clock for CPU clock source)
CM22 bit is set to "1" (main clock stop detected)
CM23 bit is set to "1" (main clock stopped)
When the PLL clock corresponds to the CPU clock source and the CM20 bit is 1, the system is placed
in the following state if the main clock comes to a halt: Since the CM21 bit remains unchanged, set it to 1
(on-chip oscillator clock) inside the interrupt routine.
Oscillation stop and re-oscillation detect interrupt request occurs.
CM22 bit is set to "1" (main clock stop detected)
CM23 bit is set to "1" (main clock stopped)
CM21 bit remains unchanged
When the CM20 bit is set to "1", the system is placed in the following state if the main clock re-oscillates
from the stop condition:
Oscillation stop and re-oscillation detect interrupt request occurs.
CM22 bit is set to "1" (main clock re-oscillation detected)
CM23 bit is set to "0" (main clock oscillation)
CM21 bit remains unchanged
7. Clock Generation Circuit
page 65
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
7.8.3 How to Use Oscillation Stop and Re-oscillation Detect Function
The oscillation stop and re-oscillation detect interrupt shares the vector with the watchdog timer inter-
rupt. If the oscillation stop, re-oscillation detection and watchdog timer interrupts both are used, read
the CM22 bit in an interrupt routine to determine which interrupt source is requesting the interrupt.
Where the main clock re-oscillated after oscillation stop, return the main clock to the CPU clock and
peripheral function clock source in the program. Figure 7.13 shows the procedure for switching the
clock source from the on-chip oscillator to the main clock.
Simultaneously with oscillation stop, re-oscillation detection interrupt occurrence, the CM22 bit be
comes 1. When the CM22 bit is set at 1, oscillation stop, re-oscillation detection interrupt are dis-
abled. By setting the CM22 bit to 0 in the program, oscillation stop, re-oscillation detection interrupt
are enabled.
If the main clock stops during low speed mode where the CM20 bit is 1, an oscillation stop, re-oscilla-
tion detection interrupt request is generated. At the same time, the on-chip oscillator starts oscillating. In
this case, although the CPU clock is derived from the sub clock as it was before the interrupt occurred,
the peripheral function clocks now are derived from the on-chip oscillator clock.
To enter wait mode while using the oscillation stop, re-oscillation detection function, set the CM02 bit to
0 (peripheral function clocks not turned off during wait mode).
Since the oscillation stop, re-oscillation detection function is provided in preparation for main clock stop
due to external factors, set the CM20 bit to 0 (Oscillation stop, re-oscillation detection function dis
abled) where the main clock is stopped or oscillated in the program, that is where the stop mode is
selected or the CM05 bit is altered.
This function cannot be used if the main clock frequency is 2 MHz or less. In that case, set the CM20 bit
to 0.
Figure 7.13
Switching Procedure from On-chip Oscillator to Main Clock
Switch to the main clock
Determine several times whether
the CM23 bit is set to "0"
(main clock oscillates)
Set the CM22 bit to "0"
("oscillatin stop, re-oscillation" not detected)
Set the CM06 bit to "1"
(divide-by-8 mode)
Set the CM21 bit to "0"
(main clock or PLL clock)
CM06 bit : Bit in the CM0 Register
CM23 to CM21 bits : Bits in the CM2 Register
Yes
No
End
NOTES:
1. If the clock source for CPU clock is to be changed to PLL clock, set to PLL operation
mode after set to high-speed mode.
8. Protection
page 66
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
8. Protection
In the event that a program runs out of control, this function protects the important registers so that they will
not be rewritten easily. Figure 8.1 shows the PRCR register. The following lists the registers protected by
the PRCR register.
• Registers protected by PRC0 bit: CM0, CM1, CM2, LPCC1, PLC0, ROCR and PCLKR registers
• Registers protected by PRC1 bit: PM0, PM1, PM2, TB2SC, INVC0 and INVC1 registers
• Registers protected by PRC2 bit: PD9 , PACR, S4C and NDDR registers
• Registers protected by PRC3 bit: VCR2 and D4INT registers
The PRC2 bit is set to "0" (write enabled) if data is written to the SFR area after setting the PRC2 bit to "1"
(write enable). Set the PD9, PACR, S4C and NDDR registers immediately after setting the PRC2 bit in the
PRCR register to "1" (write enable). Do not generate an interrupt or a DMA transfer between the instruction
to set the PRC2 bit to "1" and the following instruction. The PRC0, PRC1 and PRC3 bits are not set to "0"
even if data is written to the SFR area. Set the PRC0, PRC1 and PRC3 bits to "0" by program.
Figure 8.1 PRCR Register
Protect Register
Symbol Address After Reset
PRCR 000A
16
XX000000
2
Bit NameBit Symbol
b7 b6 b5 b4 b3 b2 b1 b0
0 : Write protected
1 : Write enabled
PRC1
PRC0
PRC2
Function RW
0
RW
RW
RW
Nothing is assigned. When write, set to "0". When read, its
content is indeterminate.
Reserved Bit Set to "0" RW
Protect Bit 0
Protect Bit 1
Protect Bit 2
Enable write to CM0, CM1, CM2,
LPCC1, ROCR, PLC0 and PCLKR
registers
0 : Write protected
1 : Write enabled
Enable write to PM0, PM1, PM2,
TB2SC, INVC0 and INVC1
registers
0 : Write protected
1 : Write enabled
(1)
Enable write to PD9, PACR
and S4C registers
PRC3 RW
Protect Bit 3
0 : Write protected
1 : Write enabled
Enable write to VCR2 and D4INT
registers
(b5-b4)
(b7-b6)
0
NOTE:
1. The PRC2 bit is set to "0" if data is written to the SFR area after the PRC2 bit is set to "1". The
PRC0, PRC1 and PRC3 bits are not automatically set to "0". Set them to "0" by program.
9. Interrupts
page 67
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Maskable Interrupt: An interrupt which can be enabled (disabled) by the interrupt enable flag (I flag) or
whose interrupt priority can be changed by priority level.
Non-maskable Interrupt: An interrupt which cannot be enabled (disabled) by the interrupt enable flag
(I flag) or whose interrupt priority cannot be changed by priority level.
Figure 9.1 Interrupts
Interrupt
Software
(Non-maskable interrupt)
Hardware
Special
(Non-maskable interrupt)
Peripheral function (1)
(Maskable interrupt)
Undefined instruction (UND instruction)
Overflow (INTO instruction)
BRK instruction
INT instruction
_______
NMI
________
DBC (2)
Watchdog timer
Oscillation stop and re-oscillation
detection
Low voltage detection
Single step (2)
Address match
NOTES:
1. Peripheral function interrupts are generated by the microcomputer's internal functions.
2.
Do not normally use this interrupt because it is provided exclusively for use by development tools.
9. Interrupts
Note
The SI/O4 interrupt of peripheral function interrupt is not available in the 64-pin package.
9.1 Type of Interrupts
Figure 9.1 shows types of interrupts.
9. Interrupts
page 68
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
9.1.1 Software Interrupts
A software interrupt occurs when executing certain instructions. Software interrupts are non-maskable
interrupts.
9.1.1.1 Undefined Instruction Interrupt
An undefined instruction interrupt occurs when executing the UND instruction.
9.1.1.2 Overflow Interrupt
An overflow interrupt occurs when executing the INTO instruction with the O flag set to 1 (the opera-
tion resulted in an overflow). The following are instructions whose O flag changes by arithmetic: ABS,
ADC, ADCF, ADD, CMP, DIV, DIVU, DIVX, NEG, RMPA, SBB, SHA, SUB
9.1.1.3 BRK Interrupt
A BRK interrupt occurs when executing the BRK instruction.
9.1.1.4 INT Instruction Interrupt
An INT instruction interrupt occurs when executing the INT instruction. Software interrupt numbers 0
to 63 can be specified for the INT instruction. Because software interrupt numbers 4 to 31 are as-
signed to peripheral function interrupts, the same interrupt routine as for peripheral function interrupts
can be executed by executing the INT instruction.
In software interrupt Nos. 0 to 31, the U flag is saved to the stack during instruction execution and is
cleared to 0 (ISP selected) before executing an interrupt sequence. The U flag is restored from the
stack when returning from the interrupt routine. In software interrupt numbers 32 to 63, the U flag does
not change state during instruction execution, and the SP then selected is used.
9. Interrupts
page 69
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
9.1.2 Hardware Interrupts
Hardware interrupts are classified into two types special interrupts and peripheral function interrupts.
9.1.2.1 Special Interrupts
Special interrupts are non-maskable interrupts.
_______
9.1.2.1.1 NMI Interrupt
_______ _______
An NMI interrupt is generated when input on the NMI pin changes state from high to low. For details
_______ _______
about the NMI interrupt, refer to the section 9.7 NMI interrupt.
________
9.1.2.1.2 DBC Interrupt
This interrupt is exclusively for debugger, do not use in any other circumstances.
9.1.2.1.3 Watchdog Timer Interrupt
Generated by the watchdog timer. Once a watchdog timer interrupt is generated, be sure to initialize
the watchdog timer. For details about the watchdog timer, refer to 10. Watchdog Timer.
9.1.2.1.4 Oscillation Stop and Re-oscillation Detection Interrupt
Generated by the oscillation stop and re-oscillation detection function. For details about the oscilla-
tion stop and re-oscillation detection function, refer to the section 7. Clock Generating Circuit.
9.1.2.1.5 Low Voltage Detection Interrupt
Generated by the voltage detection circuit. For details about the voltage detection circuit, refer to 5.5
Voltage Detection Circuit.
9.1.2.1.6 Single-step Interrupt
Do not normally use this interrupt because it is provided exclusively for use by development support
tools.
9.1.2.1.7 Address Match Interrupt
An address match interrupt is generated immediately before executing the instruction at the address
indicated by the RMAD0 or RMAD1 register, if the corresponding enable bit (the AIER0 or AIER1bit
in the AIER register) is set to 1. For details about the address match interrupt, refer to 9.9 Address
Match Interrupt.
9.1.2.2 Peripheral Function Interrupts
Peripheral function interrupts are maskable interrupts and generated by the microcomputer's internal
functions. The interrupt sources for peripheral function interrupts are listed in Table 9.2 Relocatable
Vector Tables. For details about the peripheral functions, refer to the description of each peripheral
function in this manual.
9. Interrupts
page 70
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Interrupt source Vector table addresses Remarks Reference
Address (L) to address (H)
Undefined instruction FFFDC16 to FFFDF 16 Interrupt on UND instruction M16C/60, M16C/20
Overflow FFFE016 to FFFE316 Interrupt on INTO instruction serise software
BRK instruction FFFE416 to FFFE716 maual
Address match FFFE816 to FFFEB16
Address match interrupt
Single step (1) FFFEC16 to FFFEF16
Watchdog timer, FFFF016 to FFFF316 Watchdog timer
Oscillation stop and
re-oscillation detection, Clock generating circuit
Low voltage
detection
Voltage detection circuit
________
DBC (1) FFFF416 to FFFF716
_______
NMI FFFF816 to FFFFB16 _______
NMI interrupt
Reset (2) FFFFC16 to FFFFF16 Reset
NOTES:
1. Do not normally use this interrupt because it is provided exclusively for use by development tools.
2. The b3 to b0 in the address FFFFF16 are reserved bits. Set them to "11112".
Figure 9.2 Interrupt Vector
9.2 Interrupts and Interrupt Vector
One interrupt vector consists of 4 bytes. Set the start address of each interrupt routine in the respective
interrupt vectors. When an interrupt request is accepted, the CPU branches to the address set in the
corresponding interrupt vector. Figure 9.2 shows the interrupt vector.
9.2.1 Fixed Vector Tables
The fixed vector tables are allocated to the addresses from FFFDC16 to FFFFF16. Table 9.1 lists the
fixed vector tables. In the flash memory version of microcomputer, the vector addresses (H) of fixed
vectors are used by the ID code check function. For details, refer to 17.3 Flash Memory Rewrite Dis-
abling Function.
Table 9.1 Fixed Vector Tables
If the contents of address
FFFE716 is FF16, program ex-
ecution starts from the address
shown by the vector in the
relocatable vector table.
AAAAAAAAA
AAAAAAAAA
Middle-order address
AAAAAAAAA
AAAAAAAAA
Low-order address
AAAAAAAAA
AAAAAAAAA
0 0 0 0 High address
AAAAAAAAA
A
AAAAAAA
A
AAAAAAAAA
0 0 0 0 0 0 0 0
Vector address (L)
LSB
MSB
Vector address (H)
9. Interrupts
page 71
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Table 9.2 Relocatable Vector Tables
9.2.2 Relocatable Vector Tables
The 256 bytes beginning with the start address set in the INTB register comprise a reloacatable vector
table area. Table 9.2 lists the relocatable vector tables. Setting an even address in the INTB register
results in the interrupt sequence being executed faster than in the case of odd addresses.
Software interrupt
number Reference
Vector address
(1)
Address (L) to address (H)
0
11
12
13
14
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
63
to
10
15
16
5
6
7
8
4
9
1 to 3
Interrupt source
BRK instruction
INT3
SI/O3, INT4
SI/O4, INT5
IC/OC interrupt 1, I2C bus interface
IC/OC interrupt 0
(2)
(2)
DMA0
DMA1
Key input interrupt
A/D
UART0 transmit
UART0 receive
UART1 transmit
UART1 receive
Timer A0
Timer A1
Timer A2
Timer A3
Timer A4
Timer B0
Timer B1
Timer B2
INT0
INT1
INT2
Software interrupt
UART 2 bus collision detection
UART2 transmit, NACK2
(3)
UART2 receive, ACK2
(3)
(
4
)
IC/OC base timer, SCL/SDA (
4
)
M16C/60, M16C/20
series software
manual
INT interrupt
Timer S
Timer S
Multi-Master I
2
C bus
interface
Serial I/O
INT interrupt
Serial I/O
DMAC
Key input interrupt
A/D convertor
Serial I/O
Timer
INT interrupt
M16C/60, M16C/20
series software
manual
(5)
(Reserved)
+0 to +3 (0000
16
to 0003
16
)
+44 to +47 (002C
16
to 002F
16
)
+48 to +51 (0030
16
to 0033
16
)
+52 to +55 (0034
16
to 0037
16
)
+56 to +59 (0038
16
to 003B
16
)
+68 to +71 (0044
16
to 0047
16
)
+72 to +75 (0048
16
to 004B
16
)
+76 to +79 (004C
16
to 004F
16
)
+80 to +83 (0050
16
to 0053
16
)
+84 to +87 (0054
16
to 0057
16
)
+88 to +91 (0058
16
to 005B
16
)
+92 to +95 (005C
16
to 005F
16
)
+96 to +99 (0060
16
to 0063
16
)
+100 to +103 (0064
16
to 0067
16
)
+104 to +107 (0068
16
to 006B
16
)
+108 to +111 (006C
16
to 006F
16
)
+112 to +115 (0070
16
to 0073
16
)
+116 to +119 (0074
16
to 0077
16
)
+120 to +123 (0078
16
to 007B
16
)
+124 to +127 (007C
16
to 007F
16
)
+128 to +131 (0080
16
to 0083
16
)
+252 to +255 (00FC
16
to 00FF
16
)
+40 to +43 (0028
16
to 002B
16
)
+60 to +63 (003C
16
to 003F
16
)
+64 to +67 (0040
16
to 0043
16
)
+20 to +23 (0014
16
to 0017
16
)
+24 to +27 (0018
16
to 001B
16
)
+28 to +31 (001C
16
to 001F
16
)
+32 to +35 (0020
16
to 0023
16
)
+16 to +19 (0010
16
to 0013
16
)
+36 to +39 (0024
16
to 0027
16
)
to
(5)
(6)
NOTES:
1. Address relative to address in INTB.
2. Use the IFSR6 and IFSR7 bits in the IFSR register to select.
3. During I
2
C bus mode, NACK and ACK interrupts comprise the interrupt source.
4. Use the IFSR26 and IFSR27 bits in the IFSR2A register to select.
5. These interrupts cannot be disabled using the I flag.
6. Bus collision detection:
During IEBus mode, this bus collision detection constitutes the cause of an interrupt.
During I
2
C bus mode, however, a start condition or a stop condition detection constitutes the cause of an interrupt.
9. Interrupts
page 72
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
9.3 Interrupt Control
The following describes how to enable/disable the maskable interrupts, and how to set the priority in which
order they are accepted. What is explained here does not apply to nonmaskable interrupts.
Use the I flag in the FLG register, IPL, and ILVL2 to ILVL0 bits in each interrupt control register to enable/
disable the maskable interrupts. Whether an interrupt is requested is indicated by the IR bit in each interrupt
control register.
Figure 9.3 shows the interrupt control registers.
Also, the following interrupts share a vector and an interrupt control register.
________
INT4 and SIO3
________
INT5 and SIO4
IC/OC base timer and SCL/SDA
IC/OC interrupt 1 and I2C BUS interface
An interrupt request is set by the IFSR6, IFSR7 bits in the IFSR register and the IFSR26 and IFSR27 bits in
the IFSR2A register. Figure 9.4 shows the IFSR, IFSR2A registers.
9. Interrupts
page 73
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Figure 9.3 Interrupt Control Registers
Symbol Address
After Reset
INT3IC 0044
16
XX00X000
2
S
4I
C,
INT5I
C
0048
16
XX00X000
2
S
3I
C,
INT4I
C
0049
16
XX00X000
2
INT
0
I
C
to
INT2I
C
005D
16
to
005F
16
XX00X000
2
Bit
Na
m
e
Fu
n
ctio
nBit
Sy
mbol
b7 b6 b5 b4 b3 b2 b1 b0
ILVL0
IR
P
OL
Interrupt request bit
Polarity select bit
Rese
rv
ed
bit
Set
to
0
ILVL1
ILVL2
Interrupt Control Register (2)
b7 b6 b5 b4 b3 b2 b1 b0
Bit
Na
m
e
Fu
n
ctio
nBit
Sy
mbol
RW
ILVL0
IR
Interrupt request bit
ILVL1
ILVL2
0
RW
RW
RW
RW
(
1
)
(
b7-b4
)
RW
RW
RW
RW
RW
RW
(
1
)
RW
RW
(
b7-b6
)
(
b5
)
NOTES:
1.
Thi
s
bi
t can on
l
y
b
e reset
b
y wr
i
t
i
n
g
0
(
Do not write
1
)
.
2. Rewrite the interrupt control register when the interrupt request related to the register is not generated. For
details, refer to 20.5 Interrupts.
3. If the IFSRi bit in the IFSR register(i = 0 to 5) is 1 (both edges), set the POL bit in the INTiIC register to 0
(falling edge).
4. Set the POL bit in the S3IC or S4IC register to 0 (falling edge) when the IFSR6 bit in the IFSR register is
set to "0" (SI/O3 selected) or IFSR7 bit in the IFSR reister "0" (SI/O4 selected), respectively.
b
2
b
1
b0
0 0 0: Level 0
(
interru
p
t disabled
)
0
0
1:
Le
v
el
1
0 1 0: Level 2
0 1 1: Level 3
1 0 0: Level 4
1 0 1: Level 5
1 1 0: Level 6
1 1 1: Level 7
b
2
b
1
b0
0 0 0: Level 0
(
interru
p
t disabled
)
0 0 1: Level 1
0 1 0: Level 2
0 1 1: Level 3
1 0 0: Level 4
1 0 1: Level 5
1 1 0: Level 6
1 1 1: Level 7
N
ot
hi
n
g
i
s ass
ig
ne
d
.
Wh
en wr
i
te, set to "0".
Wh
en rea
d,
t
h
e content
i
s
i
n
d
eterm
i
nate
.
0: Interrupt not requested
1: Interrupt requested
Interrupt priority level
select bit
Interrupt priority level
select bit
0: Interrupt not requested
1: Interrupt requested
0: Selects falling edge
(3, 4)
1: Selects rising edge
N
ot
hi
n
g
i
s ass
ig
ne
d
.
Wh
en wr
i
te, set to
0
.
Wh
en rea
d,
t
h
e content
i
s
i
n
d
eterm
i
nat
e
After Reset
XXXXX000
2
XXXXX000
2
XXXXX000
2
XXXXX000
2
XXXXX000
2
XXXXX000
2
XXXXX000
2
XXXXX000
2
XXXXX000
2
XXXXX000
2
XXXXX000
2
Symbol
ICOC0
IC ICOC1IC, IICIC
(3)
BTIC, SCLDAIC
(3)
BCNIC
DM0IC, DM1IC
KUPIC
ADIC
S0TIC to S2TIC
S0RIC to S2RIC
TA
0
I
C
to
TA4I
C
TB
0
I
C
to
TB2I
C
NOTES:
1.
Thi
s
bi
t can on
l
y
b
e reset
b
y wr
i
t
i
n
g
0
(
Do not write
1
).
2.
R
ewr
i
te t
h
e
i
nterrupt contro
l
re
gi
ster w
h
en t
h
e
i
nterrupt request re
l
ate
d
to t
h
e re
gi
ster
i
s not
g
enerate
d
.
F
or
details, refer to 20.5 Interrupts.
3. Use the IFSR2A register to select.
Address
004516
004616
004716
004A
16
004B
16
, 004C
16
004D16
004E16
005116, 005316, 004F16
005216, 005416, 005016
0055
16
16
005A
16
16
9. Interrupts
page 74
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Figure 9.4 IFSR Register and IFSR2A Register
Interrupt Request Cause Select Register
Bit Name Function
Bit Symbol
RW
Symbol Address After Reset
IFSR 035F
16
00
16
IFSR0
b7 b6 b5 b4 b3 b2 b1 b0
INT0 interrupt polarity
switching bit
0 : SI/O3
1 : INT4
0 : SI/O4
1 : INT5
0 : One edge
1 : Both edges
0 : One edge
1 : Both edges
0 : One edge
1 : Both edges
0 : One edge
1 : Both edges
0 : One edge
1 : Both edges
INT1 interrupt polarity
switching bit
INT2 interrupt polarity
switching bit
INT3 interrupt polarity
switching bit
INT4 interrupt polarity
switching bit
INT5 interrupt polarity
switching bit 0 : One edge
1 : Both edges
Interrupt request cause
select bit
Interrupt request cause
select bit
IFSR1
IFSR2
IFSR3
IFSR4
IFSR5
IFSR6
IFSR7
RW
RW
RW
RW
RW
RW
RW
RW
(1)
(1)
(1)
(1)
(1)
(1)
(2)
NOTES:
1. When setting this bit to 1 (both edges), make sure the POL bit in the INT0IC to INT5IC registers
is set to 0 (falling edge).
2. When setting this bit to 0 (SI/O3, SI/O4), make sure the POL bit in the S3IC and S4IC registers
is set to 0 (falling edge).
(2)
Interrupt Request Cause Select Register 2
Bit Name Function
Bit Symbol RW
Symbol Address After Reset
IFSR2A 035E16 00XXXXX02
b7 b6 b5 b4 b3 b2 b1 b0
0 : IC/OC base timer
1 : SCL/SDA
0 : IC/OC interrupt 1
1 : I2C bus interface
IFSR26
IFSR27
Interrupt request cause
select bit
Interrupt request cause
select bit
RW
RW
Set to 1
(b5-b1) Nothing is assigned. When write, set to 0.
When read, the contents are indeterminate
NOTE:
1. Set this bit to "1" befor you enable interrupt after resetting.
IFSR20
1
Reserved bit RW
(1)
9. Interrupts
page 75
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
9.3.1 I Flag
The I flag enables or disables the maskable interrupt. Setting the I flag to 1 (enabled) enables the
maskable interrupt. Setting the I flag to 0 (disabled) disables all maskable interrupts.
9.3.2 IR Bit
The IR bit is set to 1 (interrupt requested) when an interrupt request is generated. Then, when the
interrupt request is accepted and the CPU branches to the corresponding interrupt vector, the IR bit is
cleared to 0 (interrupt not requested).
The IR bit can be cleared to 0 by program. Note that do not write 1 to this bit.
Table 9.4 Interrupt Priority Levels Enabled
by IPL
Table 9.3 Settings of Interrupt Priority Levels
9.3.3 ILVL2 to ILVL0 Bits and IPL
Interrupt priority levels can be set using the ILVL2 to ILVL0 bits.
Table 9.3 shows the settings of interrupt priority levels and Table 9.4 shows the interrupt priority levels
enabled by the IPL.
The following are conditions under which an interrupt is accepted:
· I flag is set to 1
· IR bit is set to 1
· interrupt priority level > IPL
The I flag, IR bit, ILVL2 to ILVL0 bits and IPL are independent of each other. Therefore, they do not affect
one another.
ILVL2 to ILVL0 bits Interrupt priority
level Priority
order
0002
0012
0102
0112
1002
1012
1102
1112
Level 0 (interrupt disabled)
Level 1
Level 2
Level 3
Level 4
Level 5
Level 6
Level 7
Low
High
Enabled interrupt priority levels
Interrupt levels 1 and above are enabled
Interrupt levels 2 and above are enabled
Interrupt levels 3 and above are enabled
Interrupt levels 4 and above are enabled
Interrupt levels 5 and above are enabled
Interrupt levels 6 and above are enabled
Interrupt levels 7 and above are enabled
All maskable interrupts are disabled
IPL
0002
0012
0102
0112
1002
1012
1102
1112
9. Interrupts
page 76
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
9.4 Interrupt Sequence
An interrupt sequence (the device behavior from the instant an interrupt is accepted to the instant the
interrupt routine is executed) is described here.
If an interrupt occurs during execution of an instruction, the processor determines its priority when the
execution of the instruction is completed, and transfers control to the interrupt sequence from the next
cycle. If an interrupt occurs during execution of either the SMOVB, SMOVF, SSTR or RMPA instruction,
the processor temporarily suspends the instruction being executed, and transfers control to the interrupt
sequence.
The CPU behavior during the interrupt sequence is described below. Figure 9.5 shows time required for
executing the interrupt sequence.
(1) The CPU gets interrupt information (interrupt number and interrupt request priority level) by reading
the address 0000016. Then it clears the IR bit for the corresponding interrupt to 0 (interrupt not
requested).
(2) The FLG register immediately before entering the interrupt sequence is saved to the CPUs internal
temporary register(1).
(3) The I, D and U flags in the FLG register become as follows:
The I flag is cleared to 0 (interrupts disabled).
The D flag is cleared to 0 (single-step interrupt disabled).
The U flag is cleared to 0 (ISP selected).
However, the U flag does not change state if an INT instruction for software interrupt Nos. 32 to 63 is
executed.
(4) The CPUs internal temporary register (1) is saved to the stack.
(5) The PC is saved to the stack.
(6) The interrupt priority level of the accepted interrupt is set in the IPL.
(7) The start address of the relevant interrupt routine set in the interrupt vector is stored in the PC.
After the interrupt sequence is completed, the processor resumes executing instructions from the start
address of the interrupt routine.
Note 1: This register cannot be used by user.
Figure 9.5 Time Required for Executing Interrupt Sequence
123456789 101112 13 14 15 16 17 18
SP-2
contents SP-4
contents vec
contents vec+2
contents
Interrupt
information
Address
000016 Indeterminate
(1)
SP-2 SP-4 vec vec+2 PC
CPU clock
Address bus
Data bus
WR
(2)
RD
NOTES:
1. The indeterminate state depends on the instruction queue buffer. A read cycle occurs when the instruction queue
buffer is ready to accept instructions.
2. When the stack is in the internal RAM, the WR signal indicates the write timing by changing high-level to low-level.
Indeterminate
(1)
Indeterminate
(1)
9. Interrupts
page 77
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Interrupt sources
7
Level that is set to IPL
_______
Watchdog timer, NMI, Oscillation stop and re-oscillation detection,
low voltage detection _________
Software, address match, DBC, single-step Not changed
9.4.2 Variation of IPL when Interrupt Request is Accepted
When a maskable interrupt request is accepted, the interrupt priority level of the accepted interrupt is set
in the IPL.
When a software interrupt or special interrupt request is accepted, one of the interrupt priority levels listed
in Table 9.5 is set in the IPL. Shown in Table 9.5 are the IPL values of software and special interrupts
when they are accepted.
Table 9.5 IPL Level That is Set to IPL When A Software or Special Interrupt Is Accepted
Figure 9.6 Interrupt response time
9.4.1 Interrupt Response Time
Figure 9.6 shows the interrupt response time. The interrupt response or interrupt acknowledge time
denotes the time from when an interrupt request is generated till when the first instruction in the interrupt
routine is executed. Specifically, it consists of the time from when an interrupt request is generated till
when the instruction then executing is completed ((a) in Figure 9.6) and the time during which the inter-
rupt sequence is executed ((b) in Figure 9.6).
Instruction Interrupt sequence Instruction in
interrupt routine
Time
Interrupt response time
(a) (b)
Interrupt request acknowledgedInterrupt request generated
(a) The time from when an interrupt request is generated till when the instruction then
executing is completed. The length of this time varies with the instruction being
executed. The DIVX instruction requires the longest time, which is equal to 30 cycles
(without wait state, the divisor being a register).
(b) The time during which the interrupt sequence is executed. For details, see the table
below. Note, however, that the values in this table must be increased 2 cycles for the
DBC interrupt and 1 cycle for the address match and single-step interrupts.
Interrupt vector address
Even
Even
Odd
Odd
SP value
Even
Odd
Even
Odd
Without wait
18 cycles
19 cycles
19 cycles
20 cycles
9. Interrupts
page 78
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
9.4.3 Saving Registers
In the interrupt sequence, the FLG register and PC are saved to the stack.
At this time, the 4 high-order bits of the PC and the 4 high-order (IPL) and 8 low-order bits of the FLG
register, 16 bits in total, are saved to the stack first. Next, the 16 low-order bits of the PC are saved.
Figure 9.7 shows the stack status before and after an interrupt request is accepted.
The other necessary registers must be saved in a program at the beginning of the interrupt routine. Use
the PUSHM instruction, and all registers except SP can be saved with a single instruction.
Figure 9.7 Stack Status Before and After Acceptance of Interrupt Request
Address
Content of previous stack
Stack
[SP]
SP value before
interrupt request is
accepted.
m
m 1
m 2
m 3
m 4
Stack status before interrupt request
is acknowledged Stack status after interrupt request
is acknowledged
Content of previous stack
m + 1
MSB LSB
m
m 1
m 2
m 3
m 4
Address
FLG
L
Content of previous stack
Stack
FLG
H
PC
H
[SP]
New SP value
Content of previous stack
m + 1
MSB LSB
PC
L
PC
M
9. Interrupts
page 79
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Figure 9.8 Operation of Saving Register
The operation of saving registers carried out in the interrupt sequence is dependent on whether the SP(1),
at the time of acceptance of an interrupt request, is even or odd. If the stack pointer (1) is even, the FLG
register and the PC are saved, 16 bits at a time. If odd, they are saved in two steps, 8 bits at a time.
Figure 9.8 shows the operation of the saving registers.
NOTES:
1. When any INT instruction in software numbers 32 to 63 has been executed, this is the SP indicated
by the U flag. Otherwise, it is the ISP.
(2) SP contains odd number
[SP] (Odd)
[SP] 1 (Even)
[SP] 2(Odd)
[SP] 3 (Even)
[SP] 4(Odd)
[SP] 5 (Even)
Address Sequence in which order
registers are saved
(2)
(1)
Finished saving registers
in four operations.
(3)
(4)
(1) SP contains even number
[SP] (Even)
[SP] 1(Odd)
[SP] 2 (Even)
[SP] 3(Odd)
[SP] 4 (Even)
[SP] 5 (Odd)
NOTES:
1. [SP] denotes the initial value of the SP when interrupt request is acknowledged.
After registers are saved, the SP content is [SP] minus 4.
Address
PC
M
Stack
FLG
L
PC
L
Sequence in which order
registers are saved
(2) Saved simultaneously,
all 16 bits
(1) Saved simultaneously,
all 16 bits
Finished saving registers
in two operations.
PC
M
Stack
FLG
L
PC
L
Saved, 8 bits at a time
FLG
H
PC
H
FLG
H
PC
H
9. Interrupts
page 80
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
9.5 Interrupt Priority
If two or more interrupt requests are generated while executing one instruction, the interrupt request that
has the highest priority is accepted.
For maskable interrupts (peripheral functions), any desired priority level can be selected using the ILVL2 to
ILVL0 bits. However, if two or more maskable interrupts have the same priority level, their interrupt priority
is resolved by hardware, with the highest priority interrupt accepted.
The watchdog timer and other special interrupts have their priority levels set in hardware. Figure 9.9 shows
the priorities of hardware interrupts.
Software interrupts are not affected by the interrupt priority. If an instruction is executed, control branches
invariably to the interrupt routine.
9.4.4 Returning from an Interrupt Routine
The FLG register and PC in the state in which they were immediately before entering the interrupt se-
quence are restored from the stack by executing the REIT instruction at the end of the interrupt routine.
Thereafter the CPU returns to the program which was being executed before accepting the interrupt
request.
Return the other registers saved by a program within the interrupt routine using the POPM or similar
instruction before executing the REIT instruction.
9.5.1 Interrupt Priority Resolution Circuit
The interrupt priority resolution circuit is used to select the interrupt with the highest priority among those
requested.
Figure 9.10 shows the circuit that judges the interrupt priority level.
Figure 9.9 Hardware Interrupt Priority
Reset
Watchdog timer, oscillation stop
and re-oscillation detection,
low voltage detection
Peripheral function
Single step
Address match
High
Low
NMI
DBC
9. Interrupts
page 81
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Figure 9.10 Interrupts Priority Select Circuit
Timer B2
Timer B0
Timer A3
Timer A1
Timer B1
Timer A4
Timer A2
UART1 reception
UART0 reception
UART2 reception, ACK2
A/D conversion
DMA1
UART 2 bus collision
Timer A0
UART1 transmission
UART0 transmission
UART2 transmission, NACK2
Key input interrupt
DMA0
IPL
I flag
INT1
INT2
INT0
Watchdog timer
DBC
NMI
Interrupt
request
accepted
Level 0 (initial value)
Priority level of each interrupt
Highest
Lowest
Priority of peripheral function interrupts
(if priority levels are same)
IC/OC interrupt 1, I2C bus interface
INT3
IC/OC base timer, SCL/SDA
IC/OC interrupt 0
SI/O4, INT5
SI/O3, INT4
Address match
Interrupt request level resolution output to clock
generation circuit (Figure 7.1)
Oscillation stop and
re-oscillation detection
Low voltage detection
9. Interrupts
page 82
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
______
9.6 INT Interrupt
_______
INTi interrupt (i=0 to 5) is triggered by the edges of external inputs. The edge polarity is selected using the
IFSRi bit in the IFSR register.
________
The INT5 input has an effective digital debounce function for a noise rejection. Refer to "17.6 Digital
________
Debounce function" for this detail. When using INT5 interrupt to exit stop mode, set the P17DDR register
to "FF16" before entering stop mode.
________ ________ ________
To use the INT4 interrupt, set the IFSR6 bit in the IFSR register to "1" (INT4). To use the INT5 interrupt, set
________
the IFSR7 bit in the IFSR register to "1" (INT5).
After modifiying the IFSR6 or IFSR7 bit, clear the corresponding IR bit to "0" (interrupt not requested)
before enabling the interrupt.
Figure 9.11 shows the IFSR registers.
Figure 9.11 IFSR Register
Interrupt Request Cause Select Register
Bit Name Function
Bit Symbol RW
Symbol Address After Reset
IFSR 035F
16
00
16
IFSR0
b7 b6 b5 b4 b3 b2 b1 b0
INT0 interrupt polarity
switching bit
0 : SI/O3
1 : INT4
0 : SI/O4
1 : INT5
0 : One edge
1 : Both edges
0 : One edge
1 : Both edges
0 : One edge
1 : Both edges
0 : One edge
1 : Both edges
0 : One edge
1 : Both edges
INT1 interrupt polarity
switching bit
INT2 interrupt polarity
switching bit
INT3 interrupt polarity
switching bit
INT4 interrupt polarity
switching bit
INT5 interrupt polarity
switching bit 0 : One edge
1 : Both edges
Interrupt request cause
select bit
Interrupt request cause
select bit
IFSR1
IFSR2
IFSR3
IFSR4
IFSR5
IFSR6
IFSR7
RW
RW
RW
RW
RW
RW
RW
RW
(1)
(1)
(1)
(1)
(1)
(1)
(2)
NOTES:
1. When setting this bit to 1 (both edges), make sure the POL bit in the INT0IC to INT5IC registers
is set to 0 (falling edge).
2. When setting this bit to 0 (SI/O3, SI/O4), make sure the POL bit in the S3IC and S4IC registers
is set to 0 (falling edge).
(2)
9. Interrupts
page 83
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Figure 9.12 Key Input Interrupt
______
9.7 NMI Interrupt
_______ _______
An NMI interrupt request is generated when input on the NMI pin changes state from high to low, after the
_______ ______
NMI interrupt was enabled by writing a 1 to bit 4 of register PM2. The NMI interrupt is a non-maskable
interrupt, once it is enabled.
_______
The input level of this NMI interrupt input pin can be read by accessing the P8 registers P8_5 bit.
_______
NMI is disabled by default after reset (the pin is a GPIO pin, P85) and can be enabled using bit 4 of PM2
register. Once enabled, it can only be disabled by a reset signal.
_______
The NMI input has an effective digital debounce function for a noise rejection. Refer to "17.6 Digital
_______
Debounce function" for this detail. When using NMI interrupt to exit stop mode, set the NDDR register to
"FF16" before entering stop mode.
9.8 Key Input Interrupt
A key input interrupt is generated when input on any of the P104 to P107 pins which has had the PD10_4 to
PD10_7 bits in the PD10 register set to 0 (input) goes low. Key input interrupts can be used as a key-on
wakeup function, the function to exit wait or stop mode. However, if you intend to use the key input interrupt,
do not use P104 to P107 as analog input ports. Figure 9.12 shows the block diagram of the key input
interrupt. Note, however, that while input on any pin which has had the PD10_4 to PD10_7 bits set to 0
(input mode) is pulled low, inputs on all other pins of the port are not detected as interrupts.
Interrupt control circuit
KUPIC register
Key input interrupt
request
KI3
KI2
KI1
KI0
PU25 bit in the PUR2
register
PD10_7 bit in the
PD10 register
Pull-up
transistor
PD10_7 bit in the PD10 register
PD10_6 bit in the
PD10 register
PD10_5 bit in the
PD10 register
PD10_4 bit in the
PD10 register
Pull-up
transistor
Pull-up
transistor
Pull-up
transistor
9. Interrupts
page 84
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Table 9.7 Relationship Between Address Match Interrupt Sources and Associated Registers
Address match interrupt sources Address match interrupt enable bit Address match interrupt register
Address match interrupt 0 AIER0 RMAD0
Address match interrupt 1 AIER1 RMAD1
9.9 Address Match Interrupt
An address match interrupt request is generated immediately before executing the instruction at the ad-
dress indicated by the RMADi register (i=0 to 1). Set the start address of any instruction in the RMADi
register. Use the AIER0 and AIER1 bits in the AIER register to enable or disable the interrupt. The address
match interrupt is unaffected by the I flag and IPL. For address match interrupts, the value of the PC that is
saved to the stack area varies depending on the instruction being executed (refer to Saving Registers).
(The value of the PC that is saved to the stack area is not the correct return address.) Therefore, follow one
of the methods described below to return from the address match interrupt.
Rewrite the content of the stack and then use the REIT instruction to return.
Restore the stack to its previous state before the interrupt request was accepted by using the POP or
similar other instruction and then use a jump instruction to return.
Table 9.6 shows the value of the PC that is saved to the stack area when an address match interrupt
request is accepted.
Figure 9.13 shows the AIER, RMAD0 and RMAD1 registers.
Table 9.6 PC Value Saved in Stack Area When an Address Match Interrupt Request is Accepted
2-byte op-code instruction
1-byte op-code instructions which are followed:
ADD.B:S #IMM8,dest SUB.B:S #IMM8,dest AND.B:S #IMM8,dest
OR.B:S #IMM8,dest MOV.B:S #IMM8,dest STZ.B #IMM8,dest
STNZ.B #IMM8,dest STZX.B #IMM81,#IMM82,dest
CMP.B:S #IMM8,dest PUSHM src POPM dest
JMPS #IMM8 JSRS #IMM8
MOV.B:S #IMM,dest (However, dest=A0 or A1)
Instructions other than the above
Instruction at the address indicated by the RMADi register
Value of the PC that is
saved to the stack area
The address
indicated by the
RMADi register +2
The address
indicated by the
RMADi register +1
Value of the PC that is saved to the stack area : Refer to Saving Registers.
Op-code is an abbreviation of Operation Code. It is a portion of instruction code.
Refer to Chapter 4 Instruction Code/Number of Cycles in M16C/60, M16C/20 Series Software Manual. Op-code is shown
as a bold-framed figure directly below the Syntax.
9. Interrupts
page 85
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Figure 9.13 AIER Register, RMAD0 and RMAD1 Registers
Bit NameBit Symbol
Symbol Address After Reset
AIER 000916 XXXXXX002
Address Match Interrupt Enable Register
Function RW
AAAAAAAAAAAAAAA
AAAAAAAAAAAAAAA
AAAAAAAAAAAAAAA
AAAAAAAAAAAAAAA
Address match interrupt 0
enable bit 0 : Interrupt disabled
1 : Interrupt enabled
AIER0
Address match interrupt 1
enable bit
AIER1
Symbol Address After Reset
RMAD0 001216 to 001016 X0000016
RMAD1 001616 to 001416 X0000016
b7 b6 b5 b4 b3 b2 b1 b0
Address setting register for address match interrupt
Function Setting Range
Address Match Interrupt Register i (i = 0 to 1)
0000016 to FFFFF16
0 : Interrupt disabled
1 : Interrupt enabled
b0 b7 b0b3
(b19) (b16) b7 b0
(b15) (b8)
b7
(b23)
RW
RW
(b7-b2)
RW
RW
Nothing is assigned. When write, set to 0.
When read, its contents are indeterminate.
Nothing is assigned. When write, set to 0.
When read, it contents are indeterminate.
10. Watchdog Timer
page 86
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Figure 10.1 Watchdog Timer Block Diagram
10. Watchdog Timer
The watchdog timer is the function that detects when a program is out of control. Use the watchdog timer is
recommended to improve reliability of the system. The watchdog timer contains a 15-bit counter which is
decremented by the CPU clock that the prescaler divides. The PM12 bit in the PM1 register determines whether
to generate a watchdog timer interrupt request or reset the watchdog timer when the watchdog timer underflows.
The PM12 bit can only be set to 1 (reset). Once the PM12 bit is set to 1, it cannot be changed to 0 (watchdog
timer interrupt) by program. Refer to 5.3 Watchdog Timer Reset for watchdog timer reset.
When the main clock, on-chip oscillator clock, or PLl clock runs as CPU clock, the WDC7 bit in the WDC register
determines whether the prescaler divides the clock by 16 or 128. When the sub clock runs as CPU clock, the
prescaler divides the clock by 2 regardless of the WDC7 bit setting. Watchdog timer cycle is calculated as
follows. Marginal errors, due to the prescaler, may occur in watchdog timer cycle.
For example, when CPU clock is set to 16 MHz and the divide-by-N value for the prescale ris set to 16, the
watchdog timer period is approx. 32.8 ms.
The watchdog timer is initialized by writing to the WDTS register. The prescaler is initialized after reset. Note that
the watchdog timer and the prescaler both are inactive after reset, so that the watchdog timer is activated to start
counting by writing to the WDTS register.
Write the WDTS register with shorter cycle than the watchdog timer cycle. Set the WDTS register also in the
beginning of the watchdog timer interrupt routine.
In stop mode and wait mode, the watchdog timer and prescaler are stopped. Counting is resumed from the held
value when the modes or state are released.
Figure 10.1 shows the block diagram of the watchdog timer. Figure 10.2 shows the watchdog timer-related
registers.
With main clock source chosen for CPU clock, on-chip oscillator clock, PLL clock
Watchdog timer period =
With sub-clock chosen for CPU clock
Prescaler dividing (2) X Watchdog timer count (32768)
CPU clock
Watchdog timer period = Prescaler dividing (16 or 128) X Watchdog timer count (32768)
CPU clock
CPU clock
Write to WDTS register
PM12 = 0
Watchdog timer
Set to 7FFF
16
1/128
1/16
CM07 = 0
WDC7 = 1
CM07 = 0
WDC7 = 0
CM07 = 1
1/2
Prescaler
PM12 = 1
Reset
PM22 = 0
PM22 = 1
On-chip oscillator clock
Internal reset signal
(low active)
Watchdog timer
interrupt request
10. Watchdog Timer
page 87
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Figure 10.2 WDC Register and WDTS Register
10.1 Count Source Protective Mode
In this mode, a on-chip oscillator clock is used for the watchdog timer count source. The watchdog timer
can be kept being clocked even when CPU clock stops as a result of run-away.
Before this mode can be used, the following register settings are required:
(1) Set the PRC1 bit in the PRCR register to 1 (enable writes to PM1 and PM2 registers).
(2) Set the PM12 bit in the PM1 register to 1 (reset when the watchdog timer underflows).
(3)
Set the PM22 bit in the PM2 register to 1 (on-chip oscillator clock used for the watchdog timer count source).
(4) Set the PRC1 bit in the PRCR register to 0 (disable writes to PM1 and PM2 registers).
(5) Write to the WDTS register (watchdog timer starts counting).
Setting the PM22 bit to 1 results in the following conditions
The on-chip oscillator continues oscillating even if the CM21 bit in the CM2 register is set to "0" (main clock
or PLL clock) (system clock of count source selected by the CM21 bit is valid)
The on-chip oscillator starts oscillating, and the on-chip oscillator clock becomes the watchdog timer
count source.
The CM10 bit in the CM1 register is disabled against write. (Writing a 1 has no effect, nor is stop mode entered.)
The watchdog timer does not stop when in wait mode.
Watchdog timer period = Watchdog timer count (32768)
On-chip oscillator clock
Watchdog Timer Control Register
Symbol Address After Reset
WDC 000F16 00XXXXXX2
FunctionBit Symbol RW
b7 b6 b5 b4 b3 b2 b1 b0
High-order bit of watchdog timer
WDC7
Bit Name
Prescaler select bit 0: Divided by 16
1: Divided by 128
Reserved bit Set to 0
0
RO
RW
RW
RW
(b4-b0)
(b6)
0
(b5) Reserved bit Set to 0
Watchdog Timer Start Register
(1)
Symbol Address After Reset
WDTS 000E
16
Indeterminate
WO
b7 b0
Function
The watchdog timer is initialized and starts counting after a write instruction to
this register. The watchdog timer value is always initialized to 7FFF
16
regardless of whatever value is written.
RW
11. DMAC
page 88
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
11. DMAC
Note
Do not use SI/04 interrupt request as a DMA request in the 64-pin package.
The DMAC (Direct Memory Access Controller) allows data to be transferred without the CPU intervention.
Two DMAC channels are included. Each time a DMA request occurs, the DMAC transfers one (8 or 16-bit)
data from the source address to the destination address. The DMAC uses the same data bus as used by
the CPU. Because the DMAC has higher priority of bus control than the CPU and because it makes use of
a cycle steal method, it can transfer one word (16 bits) or one byte (8 bits) of data within a very short time
after a DMA request is generated. Figure 11.1 shows the block diagram of the DMAC. Table 11.1 shows
the DMAC specifications. Figures 11.2 to 11.4 show the DMAC-related registers.
Figure 11.1 DMAC Block Diagram
A DMA request is generated by a write to the DSR bit in the DMiSL register (i = 0,1), as well as by an
interrupt request which is generated by any function specified by the DMS and DSEL3 to DSEL0 bits in the
DMiSL register. However, unlike in the case of interrupt requests, DMA requests are not affected by the I
flag and the interrupt control register, so that even when interrupt requests are disabled and no interrupt
request can be accepted, DMA requests are always accepted. Furthermore, because the DMAC does not
affect interrupts, the IR bit in the interrupt control register does not change state due to a DMA transfer.
A data transfer is initiated each time a DMA request is generated when the DMAE bit in the DMiCON
register is set to 1 (DMA enabled). However, if the cycle in which a DMA request is generated is faster
than the DMA transfer cycle, the number of transfer requests generated and the number of times data is
transferred may not match. For details, refer to DMA Requests.
AA
AA
AA
AA
AA
AA
AA
AA
AA
AA
AA
A
A
AA
AA
AA
AA
AA
AA
AA
AA
AA
AA
Data bus low-order bits
DMA latch high-order bits DMA latch low-order bits
DMA0 source pointer SAR0(20)
DMA0 destination pointer DAR0 (20)
DMA0 forward address pointer (20)
(1)
Data bus high-order bits
A
A
A
A
A
A
AA
AA
AAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAA
AAAAAAAA
Address bus
A
A
A
A
A
A
A
A
DMA1 destination pointer DAR1 (20)
DMA1 source pointer SAR1 (20)
DMA1 forward address pointer (20)
(1)
A
A
A
DMA0 transfer counter reload register TCR0 (16)
DMA0 transfer counter TCR0 (16)
DMA1 transfer counter reload register TCR1 (16)
DMA1 transfer counter TCR1 (16)
A
A
A
A
(addresses 0029
16
, 0028
16
)
(addresses 0039
16
, 0038
16
)
(addresses 0022
16
to 0020
16
)
(addresses 0026
16
to 0024
16
)
(addresses 0032
16
to 0030
16
)
(addresses 0036
16
to 0034
16
)
NOTES:
1. Pointer is incremented by a DMA request.
AA
AA
AA
AA
AA
AA
A
A
A
A
A
A
A
A
A
AA
AA
AA
A
A
A
A
A
A
11. DMAC
page 89
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Item Specification
No. of channels 2 (cycle steal method)
Transfer memory space From any address in the 1M bytes space to a fixed address
From a fixed address to any address in the 1M bytes space
From a fixed address to a fixed address
Maximum No. of bytes transferred
128K bytes (with 16-bit transfers) or 64K bytes (with 8-bit transfers)
DMA request factors (1, 2) ________ ________
Falling edge of INT0 or INT1
________ ________
Both edge of INT0 or INT1
Timer A0 to timer A4 interrupt requests
Timer B0 to timer B2 interrupt requests
UART0 transfer, UART0 reception interrupt requests
UART1 transfer, UART1 reception interrupt requests
UART2 transfer, UART2 reception interrupt requests
SI/O3, SI/O4 interrupt requests
A/D conversion interrupt requests
Timer S(IC/OC) requests
Software triggers
Channel priority DMA0 > DMA1 (DMA0 takes precedence)
Transfer unit 8 bits or 16 bits
Transfer address direction forward or fixed (The source and destination addresses cannot both be
in the forward direction.)
Transfer mode Single transfer Transfer is completed when the DMAi transfer counter (i = 0,1)
underflows after reaching the terminal count.
Repeat transfer When the DMAi transfer counter underflows, it is reloaded with the
value of the DMAi transfer counter reload register and a DMA transfer is con
tinued with it.
DMA interrupt request generation timing
When the DMAi transfer counter underflowed
DMA startup Data transfer is initiated each time a DMA request is generated when
the DMAiCON registers DMAE bit = 1 (enabled).
DMA shutdown
Single transfer When the DMAE bit is set to 0 (disabled)
After the DMAi transfer counter underflows
Repeat transfer When the DMAE bit is set to 0 (disabled)
When a data transfer is started after setting the DMAE bit to 1 (en
abled), the forward address pointer is reloaded with the value of the
SARi or the DARi pointer whichever is specified to be in the forward
direction and the DMAi transfer counter is reloaded with the value of the
DMAi transfer counter reload register.
Table 11.1 DMAC Specifications
NOTES:
1. DMA transfer does not affect any interrupt. DMA transfer is not affected by the I flag nor by the interrupt
control register.
2. The selectable cause of DMA requests varies with each channel.
3. Do not access the DMAC-associated registers (addresses 002016 to 003F16) with DMAC.
Reload timing for forward ad-
dress pointer and transfer
counter
11. DMAC
page 90
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Figure 11.2 DM0SL Register
DMA0 Request Cause Select Register
Symbol Address After Reset
DM0SL 03B8
16
00
16
FunctionBit Symbol
b7 b6 b5 b4 b3 b2 b1 b0
DMA request cause
select bit
DSEL0
RW
DSEL1
DSEL2
DSEL3
Nothing is assigned. When write, set to 0.
When read, its content is 0.
Software DMA
request bit A DMA request is generated by
setting this bit to 1 when the DMS
bit is 0 (basic cause) and the
DSEL3 to DSEL0 bits are 0001
2
(software trigger).
The value of this bit when read is 0 .
DSR
Bit Name
DMA request cause
expansion select bit
DMS 0: Basic cause of request
1: Extended cause of request
RW
RW
RW
RW
RW
RW
(b5-b4)
Refer to note (1)
NOTES:
1. The causes of DMA0 requests can be selected by a combination of DMS bit and DSEL3 to DSEL0 bits in the
manner described below.
DSEL3 to DSEL0 DMS=0(basic cause of request) DMS=1(extended cause of request)
0 0 0 0
2
Falling edge of INT0 pin IC/OC base timer
0 0 0 1
2
Software trigger
0 0 1 0
2
Timer A0 IC/OC channel 0
0 0 1 1
2
Timer A1 IC/OC channel 1
0 1 0 0
2
Timer A2
0 1 0 1
2
Timer A3
0 1 1 0
2
Timer A4 Two edges of INT0 pin
0 1 1 1
2
Timer B0
1 0 0 0
2
Timer B1
1 0 0 1
2
Timer B2
1 0 1 0
2
UART0 transmit IC/OC channel 2
1 0 1 1
2
UART0 receive IC/OC channel 3
1 1 0 0
2
UART2 transmit IC/OC channel 4
1 1 0 1
2
UART2 receive IC/OC channel 5
1 1 1 0
2
A/D conversion IC/OC channel 6
1 1 1 1
2
UART1 transmit IC/OC channel 7
11. DMAC
page 91
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Figure 11.3 DM1SL Register, DM0CON Register, and DM1CON Registers
DMAi Control Register
(i=0,1)
Symbol Address After Reset
DM0CON 002C16 00000X002
DM1CON 003C16 00000X002
Bit Name FunctionBit Symbol
Transfer unit bit select bit
b7 b6 b5 b4 b3 b2 b1 b0
0 : 16 bits
1 : 8 bits
DMBIT
DMASL
DMAS
DMAE
Repeat transfer mode
select bit 0 : Single transfer
1 : Repeat transfer
DMA request bit 0 : DMA not requested
1 : DMA requested
0 : Disabled
1 : Enabled
0 : Fixed
1 : Forward
DMA enable bit
Source address direction
select bit (2)
Destination address
direction select bit (2) 0 : Fixed
1 : Forward
DSD
DAD
Nothing is assigned. When write, set to 0. When
read, its content is 0.
NOTES:
1. The DMAS bit can be set to 0 by writing 0 in a program (This bit remains unchanged even if 1 is written).
2. At least one of the DAD and DSD bits must be 0 (address direction fixed).
(1)
DMA1 Request Cause Select Register
Symbol Address After Reset
DM1SL 03BA16 0016
Function
Bit Symbol
b7 b6 b5 b4 b3 b2 b1 b0
DMA request cause
select bit
DSEL0
RW
DSEL1
DSEL2
DSEL3
Software DMA
request bit
DSR
DSEL3 to DSEL0 DMS=0(basic cause of request) DMS=1(extended cause of request)
0 0 0 02Falling edge of INT1 pin IC/OC base timer
0 0 0 12Software trigger
0 0 1 02Timer A0 IC/OC channel 0
0 0 1 12Timer A1 IC/OC channel 1
0 1 0 02 Timer A2
0 1 0 12Timer A3 SI/O3
0 1 1 02Timer A4 SI/O4
0 1 1 12Timer B0 Two edges of INT1
1 0 0 02Timer B1
1 0 0 12Timer B2
1 0 1 02UART0 transmit IC/OC channel 2
1 0 1 12UART0 receive IC/OC channel 3
1 1 0 02UART2 transmit IC/OC channel 4
1 1 0 12UART2 receive/ACK2 IC/OC channel 5
1 1 1 02A/D conversion IC/OC channel 6
1 1 1 12UART1 receive IC/OC channel 7
Bit Name
DMA request cause
expansion select bit
DMS
RW
RW
RW
RW
RW
RW
(b5-b4)
RW
RW
RW
RW
RW
RW
RW
(b7-b6)
NOTES:
1. The causes of DMA1 requests can be selected by a combination of DMS bit and DSEL3 to DSEL0 bits in the
manner described below.
Nothing is assigned. When write, set to 0.
When read, its content is 0.
A DMA request is generated by
setting this bit to 1 when the DMS
bit is 0 (basic cause) and the
DSEL3 to DSEL0 bits are 00012
(software trigger).
The value of this bit when read is 0 .
0: Basic cause of request
1: Extended cause of request
Refer to note (1)
11. DMAC
page 92
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Figure 11.4 SAR0, SAR1, DAR0, DAR1, TCR0, and TCR1 Registers
b7 b0 b7 b0
(b8)(b15)
Function
Set the transfer count minus 1. The written value is
stored in the DMAi transfer counter reload register,
and when the DMAE bit in the DMiCON register is
set to 1 (DMA enabled) or the DMAi transfer
counter underflows when the DMASL bit in the
DMiCON register is 1 (repeat transfer), the value
of the DMAi transfer counter reload register is
transferred to the DMAi transfer counter.
When read, the DMAi transfer counter is read.
Symbol Address After Reset
TCR0 002916, 002816 Indeterminate
TCR1 003916, 003816 Indeterminate
DMAi Transfer Counter (i = 0, 1)
Setting Range
000016 to FFFF16
b7
(b23) b3 b0 b7 b0 b7 b0
(b8)(b16)(b15)(b19)
Function RW
Set the source address of transfer
Symbol Address After Reset
SAR0 002216 to 002016 Indeterminate
SAR1 003216 to 003016 Indeterminate
DMAi Source Pointer (i = 0, 1) (1)
Setting Range
0000016 to FFFFF16
Nothing is assigned. When write, set 0. When read, these contents
are 0.
Symbol Address After Reset
DAR0 002616 to 002416 Indeterminate
DAR1 003616 to 003416 Indeterminate
b3 b0 b7 b0 b7 b0
(b8)(b15)(b16)(b19)
Function
Set the destination address of transfer
DMAi Destination Pointer (i = 0, 1)(1)
Setting Range
0000016 to FFFFF16
b7
(b23)
RW
RW
RW
RW
RW
NOTES:
1. If the DSD bit in the DMiCON register is 0 (fixed), this register can only be written to when the DMAE bit in the
DMiCON register is set to 0 (DMA disabled).
If the DSD bit is set to 1 (forward direction), this register can be written to at any time.
If the DSD bit is set to 1 and the DMAE bit is set to 1 (DMA enabled), the DMAi forward address pointer can be
read from this register. Otherwise, the value written to it can be read.
Nothing is assigned. When write, set 0. When read, these contents
are 0.
NOTES:
1. If the DAD bit in the DMiCON register is 0 (fixed), this register can only be written to when the DMAE bit in the
DMiCON register is set to 0(DMA disabled).
If the DAD bit is set to 1 (forward direction), this register can be written to at any time.
If the DAD bit is set to 1 and the DMAE bit is set to 1 (DMA enabled), the DMAi forward address pointer can be
read from this register. Otherwise, the value written to it can be read.
11. DMAC
page 93
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
11.1 Transfer Cycles
The transfer cycle consists of a memory or SFR read (source read) bus cycle and a write (destination write)
bus cycle. The number of read and write bus cycles is affected by the source and destination addresses of
transfer. Furthermore, the bus cycle itself is extended by a software wait.
11.1.1 Effect of Source and Destination Addresses
If the transfer unit is 16 bits and the source address of transfer begins with an odd address, the source
read cycle consists of one more bus cycle than when the source address of transfer begins with an even
address.
Similarly, if the transfer unit is 16 bits and the destination address of transfer begins with an odd address,
the destination write cycle consists of one more bus cycle than when the destination address of transfer
begins with an even address.
11.1.2 Effect of Software Wait
For memory or SFR accesses in which one or more software wait states are inserted, the number of bus
cycles required for that access increases by an amount equal to software wait states.
Figure 11.5 shows the example of the cycles for a source read. For convenience, the destination write
cycle is shown as one cycle and the source read cycles for the different conditions are shown. In reality, the
destination write cycle is subject to the same conditions as the source read cycle, with the transfer cycle
changing accordingly. When calculating transfer cycles, take into consideration each condition for the
source read and the destination write cycle, respectively. For example, when data is transferred in 16 bit
units and when both the source address and destination address are an odd address ((2) in Figure 11.5),
two source read bus cycles and two destination write bus cycles are required.
11. DMAC
page 94
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Figure 11.5 Transfer Cycles for Source Read
CPU clock
Address
bus
RD signal
WR signal
Data
bus
CPU use
CPU use CPU use
CPU useSource
Source
Destination
Destination
Dummy
cycle
Dummy
cycle
(1) When the transfer unit is 8 or 16 bits and the source of transfer is an even address
Address
bus
RD signal
WR signal
Data
bus
CPU use
CPU use CPU use
CPU use
Source
Source
Destination
Destination
Dummy
cycle
Dummy
cycle
(3) When the source read cycle under condition (1) has one wait state inserted
Address
bus
RD signal
WR signal
Data
bus
CPU use
CPU use CPU use
CPU useSource
Source
Destination
Destination
Dummy
cycle
Dummy
cycle
Source + 1
Source + 1
(2) When the transfer unit is 16 bits and the source address of transfer is an odd address.
Address
bus
RD signal
WR signal
Data
bus
CPU use
CPU use CPU use
CPU useSource
Source
Destination
Destination
Dummy
cycle
Dummy
cycle
Source + 1
Source + 1
(4) When the source read cycle under condition (2) has one wait state inserted
NOTES:
1. The same timing changes occur with the respective conditions at the destination as at the source.
CPU clock
CPU clock
CPU clock
11. DMAC
page 95
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Table 11.2 DMA Transfer Cycles
Table 11.3 Coefficient j, k
11.2. DMA Transfer Cycles
Any combination of even or odd transfer read and write adresses is possible. Table 11.2 shows the
number of DMA transfer cycles. Table 11.3 shows the Coefficient j, k.
The number of DMAC transfer cycles can be calculated as follows:
No. of transfer cycles per transfer unit = No. of read cycles x j + No. of write cycles x k
Transfer unit Access address No. of read cycles No. of write cycles
8-bit transfers Even 1 1
(DMBIT= 1) Odd 1 1
16-bit transfers Even 1 1
(DMBIT= 0) Odd 2 2
Internal area
Internal ROM, RAM SFR
No wait With wait
1
12
22
2
j
k3
3
1 wait 2 wait
(1) (1)
NOTES:
1. Depends on the set value of PM20 bit in PM2 register
11. DMAC
page 96
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
11.3 DMA Enable
When a data transfer starts after setting the DMAE bit in DMiCON register (i = 0, 1) to 1 (enabled), the
DMAC operates as follows:
(a) Reload the forward address pointer with the SARi register value when the DSD bit in DMiCON register
is 1 (forward) or the DARi register value when the DAD bit of DMiCON register is 1 (forward).
(b) Reload the DMAi transfer counter with the DMAi transfer counter reload register value.
If the DMAE bit is set to 1 again while it remains set, the DMAC performs the above operation. However,
if a DMA request may occur simultaneously when the DMAE bit is being written, follow the steps below.
(1) Write 1 to the DMAE bit and DMAS bit in DMiCON register simultaneously.
(2) Make sure that the DMAi is in an initial state as described above (a) and (b) by program.
If the DMAi is not in an initial state, the above steps should be repeated.
11.4 DMA Request
The DMAC can generate a DMA request as triggered by the cause of request that is selected with the DMS
and DSEL3 to DSEL0 bits of DMiSL register (i = 0, 1) on either channel. Table 11.4 shows the timing at
which the DMAS bit changes state.
Whenever a DMA request is generated, the DMAS bit is set to 1 (DMA requested) regardless of whether
or not the DMAE bit is set. If the DMAE bit was set to 1 (enabled) when this occurred, the DMAS bit is set
to 0 (DMA not requested) immediately before a data transfer starts. This bit cannot be set to 1 in a
program (it can only be set to 0).
The DMAS bit may be set to 1 when the DMS or the DSEL3 to DSEL0 bits change state. Therefore,
always be sure to set the DMAS bit to 0 after changing the DMS or the DSEL3 to DSEL0 bits.
Because if the DMAE bit is 1, a data transfer starts immediately after a DMA request is generated, the
DMAS bit in almost all cases is 0 when read in a program. Read the DMAE bit to determine whether the
DMAC is enabled.
Table 11.4 Timing at Which the DMAS Bit Changes State
DMA factor
Software trigger
Peripheral function
Timing at which the bit is set to 1 Timing at which the bit is set to 0
DMAS bit of the DMiCON register
When the DSR bit in the DMiSL
register is set to 1
When the interrupt control register
for the peripheral function that is
selected by the DSEL3 to DSEL0
and DMS bits in the DMiSL register
has its IR bit set to 1
Immediately before a data transfer starts
When set by writing 0 in a program
11. DMAC
page 97
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
11.5 Channel Priority and DMA Transfer Timing
If both DMA0 and DMA1 are enabled and DMA transfer request signals from DMA0 and DMA1 are de-
tected active in the same sampling period (one period from a falling edge to the next falling edge of CPU
clock), the DMAS bit on each channel is set to “1” (DMA requested) at the same time. In this case, the DMA
requests are arbitrated according to the channel priority, DMA0 > DMA1. The following describes DMAC
operation when DMA0 and DMA1 requests are detected active in the same sampling period. Figure 11.6
shows an example of DMA transfer effected by external factors.
DMA0 request having priority is received first to start a transfer when a DMA0 request and DMA1 request
are generated simultanelously. After one DMA0 transfer is completed, a bus arbitration is returned to the
CPU. When the CPU has completed one bus access, a DMA1 transfer starts. After one DMA1 transfer is
completed, the bus arbitration is again returned to the CPU.
In addition, DMA requsts cannot be counted up since each channel has one DMAS bit. Therefore, when
DMA requests, as DMA1 in Figure 11.6 occurs more than one time, the DAMS bit is set to "0" as soon
as getting the bus arbitration. The bus arbitration is returned to the CPU when one transfer is completed.
Figure 11.6 DMA Transfer by External Factors
AAAA
AAAA
DMA0
AAAA
AAAA
DMA1
DMA0
request bit
DMA1
request bit
AAA
AAAAAA
A
A
AAAAAA
AA
CPU
INT0
INT1
Obtainment
of the bus
right
An example where DMA requests for external causes are detected active at the same
CPU clock
12. T imer
page 98
)B82/C61M,82/C61M(puorG82/C61M
583fo7002,13.naJ00.2.veR 0020-7400B90JER
12. Timer
Eight 16-bit timers, each capable of operating independently of the others, can be classified by function as
either timer A (five) and timer B (three). The count source for each timer acts as a clock, to control such
timer operations as counting, reloading, etc. Figures 12.1 and 12.2 show block diagrams of timer A and
timer B configuration, respectively.
Figure 12.1 Timer A Configuration
Timer mode
One-shot timer mode
Pulse Width Measuring (PWM) mode
Timer mode
One-shot timer mode
PWM mode
Timer mode
One-shot timer mode
PWM mode
Timer mode
One-shot timer mode
PWM mode
Timer mode
One-shot timer mode
PWM mode
Event counter mode
Event counter mode
Event counter mode
Event counter mode
Event counter mode
TA0IN
TA1IN
TA2IN
TA3IN
TA4IN
Timer A0
Timer A1
Timer A2
Timer A3
Timer A4
f8 f32 fC32
Timer A0 interrupt
Timer A1 interrupt
Timer A2 interrupt
Timer A3 interrupt
Timer A4 interrupt
Noise
filter
Noise
filter
Noise
filter
Noise
filter
Noise
filter
1/32 fC32
1/8
1/4
f1 or f2
f8
f32
Main clock
PLL clock
On-chip oscillator
clock
XCIN
Set the CPSR bit in the
CPSRF register to "1"
(prescaler reset)
Reset
Clock prescaler
Timer B2 overflow or underflow
1/2
f1
f2PCLK0 bit = 0
PCLK0 bit = 1
f1 or f2
12. T imer
page 99
)B82/C61M,82/C61M(puorG82/C61M
583fo7002,13.naJ00.2.veR 0020-7400B90JER
Figure 12.2 Timer B Configuration
Event counter mode
Event counter mode
Event counter mode
Timer mode
Pulse width measuring mode,
pulse period measuring mode
Timer mode
Pulse width measuring mode,
pulse period measuring mode
Timer mode
Pulse width measuring mode,
pulse period measuring mode
TB0
IN
TB1
IN
TB2
IN
Timer B0
Timer B1
Timer B2
f
8
f
32
f
C32
Timer B0 interrupt
Noise
filter
Noise
filter
Noise
filter
1/32 f
C32
X
CIN
Reset
Clock prescaler
Timer B2 overflow or underflow ( to Timer A count source)
Timer B1 interrupt
Timer B2 interrupt
1/8
1/4
f
8
f
32
1/2f
1 or
f
2
Main clock
PLL clock
On-chip oscillator
clock Set the CPSR bit in the
CPSRF register to 1
(prescaler reset)
f
1
f
2
PCLK0 bit = 0
PCLK0 bit = 1
f
1 or
f
2
12. T imer
page 100
)B82/C61M,82/C61M(puorG82/C61M
583fo7002,13.naJ00.2.veR 0020-7400B90JER
12.1 Timer A
Figure 12.3 shows a block diagram of the timer A. Figures 12.4 to 12.6 show registers related to the timer A.
The timer A supports the following four modes. Except in event counter mode, timers A0 to A4 all have the
same function. Use the TMOD1 to TMOD0 bits in the TAiMR register (i = 0 to 4) to select the desired mode.
Timer mode: The timer counts an internal count source.
Event counter mode: The timer counts pulses from an external device or overflows and underflows of
other timers.
One-shot timer mode: The timer outputs a pulse only once before it reaches the minimum count 000016.
Pulse width modulation (PWM) mode: The timer outputs pulses in a given width successively.
Figure 12.4 TA0MR to TA4MR Registers
Figure 12.3 Timer A Block Diagram
TABSR register
Increment/decrement
TAi Addresses TAj TAk
Timer A0 038716 - 038616 Timer A4 Timer A1
Timer A1 038916 - 038816 Timer A0 Timer A2
Timer A2 038B16 - 038A16 Timer A1 Timer A3
Timer A3 038D16 - 038C16 Timer A2 Timer A4
Timer A4 038F16 - 038E16 Timer A3 Timer A0
Always counts down except
in event counter mode
Reload register
Counter
Low-order
8 bits
AAA
High-order
8 bits
Clock source
selection
Timer
(gate function)
Timer
One shot
PWM
f
1
or f
2
f
8
f
32
TAi
IN
(i = 0 to 4)
TB2 overflow
Event counter
f
C32
Clock selection
TAj overflow
(j = i 1. however, j = 4 when i = 0)
Pulse output
Toggle flip-flop
TAiOUT
(i = 0 to 4)
Data bus low-order bits
Data bus high-order bits
AA
AA
UDF register
Decrement
TAk overflow
(k = i + 1. however, k = 0 when i = 4)
Polarity
selection
To external
trigger circuit
(1)
(1)
NOTES:
1. Overflow or underflow
Clock selection
Timer Ai Mode Register (i=0 to 4)
Symbol Address After Reset
TA0MR to TA4MR 0396
16
to 039A
16
00
16
Bit Name FunctionBit Symbol RW
b7 b6 b5 b4 b3 b2 b1 b0
0 0 : Timer mode
0 1 : Event counter mode
1 0 : One-shot timer mode
1 1 : Pulse width modulation
(PWM) mode
b1 b0
TCK1
MR3
MR2
MR1
TMOD1
MR0
TMOD0
TCK0
Function varies with each
operation mode
Count source select bit
Operation mode select bit RW
RW
RW
RW
RW
RW
RW
RW
Function varies with each
operation mode
12. T imer
page 101
)B82/C61M,82/C61M(puorG82/C61M
583fo7002,13.naJ00.2.veR 0020-7400B90JER
Figure 12.5 TA0 to TA4 Registers, TABSR Register, and UDF Register
Symbol Address After Reset
TA0 0387
16
, 0386
16
Indeterminate
TA1 0389
16
, 0388
16
Indeterminate
TA2 038B
16
, 038A
16
Indeterminate
TA3 038D
16
, 038C
16
Indeterminate
TA4 038F
16
, 038E
16
Indeterminate
b7 b0 b7 b0
(b15) (b8)
Timer Ai Register (i= 0 to 4)
(1)
RW
Divide the count source by n + 1 where n =
set value
Function Setting Range
Divide the count source by FFFF
16
n + 1
where n = set value when counting up or
by n + 1 when counting down
Divide the count source by n where n = set
value and cause the timer to stop
Modify the pulse width as follows:
PWM period: (2
16
1) / fj
High level PWM pulse width: n / fj
where n = set value, fj = count source
frequency
0000
16
to FFFE
16
(3, 4)
NOTES:
1. The register must be accessed in 16 bit units.
2. If the TAi register is set to 0000
16
, the counter does not work and timer Ai interrupt
requests are not generated either. Furthermore, if pulse output is selected, no pulses are
output from the TAiOUT pin.
3. If the TAi register is set to 0000
16
, the pulse width modulator does not work, the output
level on the TAiOUT pin remains low, and timer Ai interrupt requests are not generated
either. The same applies when the 8 high-order bits of the timer TAi register are set to 000
0
16
while operating as an 8-bit pulse width modulator.
4. Use the MOV instruction to write to the TAi register.
5. The timer counts pulses from an external device or overflows or underflows in other timers.
00
16
to FE
16
(High-order address)
00
16
to FF
16
(Low-order address)
Timer A4 up/down flag
Timer A3 up/down flag
Timer A2 up/down flag
Timer A1 up/down flag
Timer A0 up/down flag
Timer A2 two-phase pulse
signal processing select bit
Timer A3 two-phase pulse
signal processing select bit
Timer A4 two-phase pulse
signal processing select bit
Symbol Address After Reset
UDF 0384
16
00
16
TA4P
TA3P
TA2P
Up/down Flag
(1)
Bit Name FunctionBit Symbol
b7 b6 b5 b4 b3 b2 b1 b0
TA4UD
TA3UD
TA2UD
TA1UD
TA0UD 0 : Down count
1 : Up count
Enabled by setting the MR2 bit in
the TAiMR register to 0
(= switching source in UDF
register) during event counter
mode.
0 : two-phase pulse signal
processing disabled
1 : two-phase pulse signal
processing enabled
Symbol Address After Reset
TABSR 0380
16
00
16
Count Start Flag
Bit Name FunctionBit Symbol RW
b7 b6 b5 b4 b3 b2 b1 b0
AAAAAAAAAAAAAAA
AAAAAAAAAAAAAAA
AAAAAAAAAAAAAAA
AAAAAAAAAAAAAAA
AAAAAAAAAAAAAAA
Timer B2 count start flag
Timer B1 count start flag
Timer B0 count start flag
Timer A4 count start flag
Timer A3 count start flag
Timer A2 count start flag
Timer A1 count start flag
Timer A0 count start flag 0 : Stops counting
1 : Starts counting
TB2S
TB1S
TB0S
TA4S
TA3S
TA2S
TA1S
TA0S
NOTES:
1. Use MOV instruction to write to this register.
2: Make sure the port direction bits for the TA2
IN
to TA4I
N
and TA2
OUT
to TA4
OUT
pins are set to
"0 (input mode).
3. When not using the two-phase pulse signal processing function, set the corresponding bit to 0.
WO
RW
RW
WO
Timer
mode
Event
counter
mode
One-shot
timer mode
Pulse width
modulation
mode
(16-bit PWM)
Pulse width
modulation
mode
(8-bit PWM)
0000
16
to FFFF
16
0000
16
to FFFF
16
0000
16
to FFFF
16
(2, 4)
Mode
Modify the pulse width as follows:
PWM period: (2
8
1) x (m + 1)/ fj
High level PWM pulse width: (m + 1)n / fj
where n = high-order address set value,
m = low-order address set value, fj =
count source frequency
(3, 4)
(2, 3)
(5)
RW
RW
WO
WO
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
WO
WO
12. T imer
page 102
)B82/C61M,82/C61M(puorG82/C61M
583fo7002,13.naJ00.2.veR 0020-7400B90JER
Figure 12.6 ONSF Register, TRGSR Register, and CPSRF Register
Symbol Address After Reset
CPSRF 038116 0XXXXXXX2
Clock Prescaler Reset Flag
Bit Name FunctionBit Symbol
b7 b6 b5 b4 b3 b2 b1 b0
Clock prescaler reset flag Setting this bit to 1 initializes the
prescaler for the timekeeping clock.
(When read, the content is 0.)
CPSR
Nothing is assigned. When write, set to 0.
When read, the contents are indeterminate
TA1TGL
Symbol Address After Reset
TRGSR 038316 0016
Timer A1 event/trigger
select bit
0 0 : Input on TA1
IN
is selected (1)
0 1 : TB2 is selected (2)
1 0 : TA0 is selected (2)
1 1 : TA2 is selected (2)
Trigger Select Register
Bit Name FunctionBit Symbol
b7 b6 b5 b4 b3 b2 b1 b0
0 0 : Input on TA2
IN
is selected (1)
0 1 : TB2 is selected (2)
1 0 : TA1 is selected (2)
1 1 : TA3 is selected (2)
0 0 : Input on TA3
IN
is selected (1)
0 1 : TB2 is selected (2)
1 0 : TA2 is selected (2)
1 1 : TA4 is selected (2)
0 0 : Input on TA4
IN
is selected (1)
0 1 : TB2 is selected (2)
1 0 : TA3 is selected (2)
1 1 : TA0 is selected (2)
Timer A2 event/trigger
select bit
Timer A3 event/trigger
select bit
Timer A4 event/trigger
select bit
TA1TGH
TA2TGL
TA2TGH
TA3TGL
TA3TGH
TA4TGL
TA4TGH
b1 b0
b3 b2
b5 b4
b7 b6
NOTES:
1. Make sure the port direction bits for the TA1 IN to TA4IN pins are set to 0 (= input mode).
2. Overflow or underflow
TA1OS
TA2OS
TA0OS
One-shot Start Flag
Symbol Address After Reset
ONSF 038216 0016
Timer A0 one-shot start flag
Timer A1 one-shot start flag
Timer A2 one-shot start flag
Timer A3 one-shot start flag
Timer A4 one-shot start flag
TA3OS
TA4OS
Bit Name Function
Bit Symbol
b7 b6 b5 b4 b3 b2 b1 b0
TA0TGL
TA0TGH
0 0 : Input on TA0IN is selected
(1)
0 1 : TB2 overflow is selected
(2)
1 0 : TA4 overflow is selected
(2)
1 1 : TA1 overflow is selected
(2)
Timer A0 event/trigger
select bit
b7 b6
RW
The timer starts counting by setting
this bit to 1 while the TMOD1 to
TMOD0 bits of TAiMR register (i =
0 to 4) = 102 (= one-shot timer
mode) and the MR2 bit of TAiMR
register = 0 (=TAiOS bit enabled).
When read, its content is 0.
Z-phase input enable bit
TAZIE 0 : Z-phase input disabled
1 : Z-phase input enabled
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
(b6-b0)
NOTES:
1. Make sure the PD7_1 bit in the PD7 register is set to 0 (input mode).
2. Overflow or underflow
12. T imer
page 103
)B82/C61M,82/C61M(puorG82/C61M
583fo7002,13.naJ00.2.veR 0020-7400B90JER
Item Specification
Count source f1, f2, f8, f32, fC32
Count operation Decrement
When the timer underflows, it reloads the reload register contents and continues counting
Divide ratio 1/(n+1) n: set value of TAi register (i= 0 to 4) 000016 to FFFF16
Count start condition Set TAiS bit in the TABSR register to 1 (start counting)
Count stop condition Set TAiS bit to 0 (stop counting)
Interrupt request generation timing
Timer underflow
TAiIN pin function I/O port or gate input
TAiOUT pin function I/O port or pulse output
Read from timer Count value can be read by reading TAi register
Write to timer
When not counting and until the 1st count source is input after counting start
Value written to TAi register is written to both reload register and counter
When counting (after 1st count source input)
Value written to TAi register is written to only reload register
(Transferred to counter when reloaded next)
Select function Gate function
Counting can be started and stopped by an input signal to TAiIN pin
Pulse output function
Whenever the timer underflows, the output polarity of TAiOUT pin is inverted.
When not counting, the pin outputs a low.
12.1.1 Timer Mode
In timer mode, the timer counts a count source generated internally (see Table 12.1). Figure 12.7 shows
TAiMR register in timer mode.
Table 12.1 Specifications in Timer Mode
Figure 12.7 Timer Ai Mode Register in Timer Mode
Timer Ai Mode Register (i=0 to 4)
Symbol Address After Reset
TA0MR to TA4MR 0396
16
to 039A
16
00
16
Bit Name FunctionBit Symbol RW
b7 b6 b5 b4 b3 b2 b1 b0
Operation mode
select bit 0 0 : Timer mode
b1 b0
TMOD1
TMOD0
MR0 Pulse output function
select bit
0 : Pulse is not output
(TA
iOUT
pin is a normal port pin)
1 : Pulse is output
(TA
iOUT
pin is a pulse output pin)
Gate function select bit
0 0 :
Gate function not available
0 1 : (TAi
IN
pin functions as I/O port)
1 0 : Counts while input on the TAi
IN
pin
is low
(1)
1 1 : Counts while input on the TAi
IN
pin
is high
(1)
b4 b3
MR2
MR1
MR3 Set to 0 in timer mode
0 0 : f
1
or f
2
0 1 : f
8
1 0 : f
32
1 1 : f
C32
b7 b6
TCK1
TCK0 Count source select bit
000
RW
RW
RW
RW
RW
RW
RW
RW
}
NOTE:
1. The port direction bit for the TAiIN pin must be set to 0 ( input mode).
12. T imer
page 104
)B82/C61M,82/C61M(puorG82/C61M
583fo7002,13.naJ00.2.veR 0020-7400B90JER
Item Specification
Count source External signals input to TAiIN pin (i=0 to 4) (effective edge can be selected
in program)
Timer B2 overflows or underflows,
timer Aj (j=i-1, except j=4 if i=0) overflows or underflows,
timer Ak (k=i+1, except k=0 if i=4) overflows or underflows
Count operation Increment or decrement can be selected by external signal or program
When the timer overflows or underflows, it reloads the reload register con-
tents and continues counting. When operating in free-running mode, the
timer continues counting without reloading.
Divided ratio 1/ (FFFF16 - n + 1) for increment
1/ (n + 1) for down-count n : set value of TAi register 000016 to FFFF16
Count start condition Set TAiS bit in the TABSR register to 1 (start counting)
Count stop condition Set TAiS bit to 0 (stop counting)
Interrupt request generation timing
Timer overflow or underflow
TAiIN pin function I/O port or count source input
TAiOUT pin function I/O port, pulse output, or up/down-count select input
Read from timer Count value can be read by reading TAi register
Write to timer
When not counting and until the 1st count source is input after counting start
Value written to TAi register is written to both reload register and counter
When counting (after 1st count source input)
Value written to TAi register is written to only reload register
(Transferred to counter when reloaded next)
Select function Free-run count function
Even when the timer overflows or underflows, the reload register content is
not reloaded to it
Pulse output function
Whenever the timer underflows or underflows, the output polarity of TAiOUT
pin is inverted . When not counting, the pin outputs a low.
12.1.2 Event Counter Mode
In event counter mode, the timer counts pulses from an external device or overflows and underflows of
other timers. Timers A2, A3 and A4 can count two-phase external signals. Table 12.2 lists specifications
in event counter mode (when not processing two-phase pulse signal). Table 12.3 lists specifications in
event counter mode (when processing two-phase pulse signal with the timers A2, A3 and A4). Figure
12.8 shows TAiMR register in event counter mode (when not processing two-phase pulse signal). Figure
12.9 shows TA2MR to TA4MR registers in event counter mode (when processing two-phase pulse signal
with the timers A2, A3 and A4).
Table 12.2 Specifications in Event Counter Mode (when not processing two-phase pulse signal)
12. T imer
page 105
)B82/C61M,82/C61M(puorG82/C61M
583fo7002,13.naJ00.2.veR 0020-7400B90JER
Figure 12.8 TAiMR Register in Event Counter Mode (when not using two-phase pulse signal
processing)
NOTES:
1. During event counter mode, the count source can be selected using the ONSF and TRGSR registers.
2. Effective when the TAiTGH and TAiTGL bits in the ONSF or TRGSR register are 002 (TAiIN pin input).
3. Count down when input on TAiOUT pin is low or count up when input on that pin is high. The port
direction bit for TAiOUT pin must be set to 0 (input mode).
Symbol Address After Reset
TA0MR to TA4MR 0396
16
to 039A
16
00
16
WR
b7 b6 b5 b4 b3 b2 b1 b0
Operation mode select bit 0 1 : Event counter mode
(1)
b1 b0
TMOD0
MR0 Pulse output function
select bit 0 : Pulse is not output
(TA
iOUT
pin functions as I/O port)
1 : Pulse is output
(TAi
OUT
pin functions as pulse output pin)
Count polarity
select bit
(2)
MR2
MR1
MR3 Set to 0 in event counter mode
TCK0 Count operation type
select bit
010
0 : Counts external signal's falling edge
1 : Counts external signal's rising edge
Up/down switching
cause select bit 0 : UDF register
1 : Input signal to TA
iOUT
pin
(3)
0 : Reload type
1 : Free-run type
Bit Symbol Bit Name Function RW
TCK1 Can be 0 or 1 when not using two-phase pulse signal
processing
TMOD1
Timer Ai Mode Register (i=0 to 4)
(When not using two-phase pulse signal processing)
RW
RW
RW
RW
RW
RW
RW
RW
12. T imer
page 106
)B82/C61M,82/C61M(puorG82/C61M
583fo7002,13.naJ00.2.veR 0020-7400B90JER
Item Specification
Count source Two-phase pulse signals input to TAiIN or TAiOUT pins (i = 2 to 4)
Count operation Increment or down-count can be selected by two-phase pulse signal
When the timer overflows or underflows, it reloads the reload register con-
tents and continues counting. When operating in free-running mode, the
timer continues counting without reloading.
Divide ratio 1/ (FFFF16 - n + 1) for increment
1/ (n + 1) for down-count n : set value of TAi register 000016 to FFFF16
Count start condition Set TAiS bit in the TABSR register to 1 (start counting)
Count stop condition Set TAiS bit to 0 (stop counting)
Interrupt request generation timing
Timer overflow or underflow
TAiIN pin function Two-phase pulse input
TAiOUT pin function Two-phase pulse input
Read from timer Count value can be read by reading timer A2, A3 or A4 register
Write to timer
When not counting and until the 1st count source is input after counting start
Value written to TAi register is written to both reload register and counter
When counting (after 1st count source input)
Value written to TAi register is written to reload register
(Transferred to counter when reloaded next)
Select function (Note) Normal processing operation (timer A2 and timer A3)
The timer counts up rising edges or counts down falling edges on TAjIN pin
when input signals on TAjOUT pin is H.
Multiply-by-4 processing operation (timer A3 and timer A4)
If the phase relationship is such that TAkIN(k=3, 4) pin goes H when the
input signal on TAkOUT pin is H, the timer counts up rising and falling
edges on TAkOUT and TAkIN pins. If the phase relationship is such that
TAkIN pin goes L when the input signal on TAkOUT pin is H, the timer
counts down rising and falling edges on TAkOUT and TAkIN pins.
Table 12.3 Specifications in Event Counter Mode
(when processing two-phase pulse signal with timers A2, A3 and A4)
Counter initialization by Z-phase input (timer A3)
The timer count value is initialized to 0 by Z-phase input.
Notes:
1. Only timer A3 is selectable. Timer A2 is fixed to normal processing operation, and timer A4 is fixed to
multiply-by-4 processing operation.
TAjOUT
Increment Increment Increment Decrement Decrement Decrement
TAjIN
(j=2,3)
TAkOUT
TAkIN
(k=3,4)
Increment
all edges
Increment
all edges
Decrement
all edges
Decrement
all edges
12. T imer
page 107
)B82/C61M,82/C61M(puorG82/C61M
583fo7002,13.naJ00.2.veR 0020-7400B90JER
Figure 12.9 TA2MR to TA4MR Registers in Event Counter Mode (when using two-phase pulse
signal processing with timer A2, A3 or A4)
NOTES:
1. TCK1 bit is valid for timer A3 mode register. No matter how this bit is set, timers A2 and A4 always operate in
normal processing mode and x4 processing mode, respectively.
2. If two-phase pulse signal processing is desired, following register settings are required:
Set the TAiP bit in the UDF register to 1 (two-phase pulse signal processing function enabled).
Set the TAiTGH and TAiTGL bits in the TRGSR register to 00
2
(TAiIN pin input).
Set the port direction bits for TAi
IN
and TAi
OUT
to 0 (input mode).
Timer Ai Mode Register (i=2 to 4)
(When using two-phase pulse signal processing)
Symbol Address After Reset
TA2MR to TA4MR 0398
16
to 039A
16
00
16
b6 b5 b4 b3 b2 b1 b0
Operation mode select bit 0 1 : Event counter mode
b1 b0
TMOD1
TMOD0
MR0 To use two-phase pulse signal processing, set this bit to 0.
MR2
MR1
MR3
TCK1
TCK0
010
Bit Name Function RW
Count operation type
select bit
Two-phase pulse signal
processing operation
select bit
(1)(2)
0 : Reload type
1 : Free-run type
0 : Normal processing operation
1 : Multiply-by-4 processing operation
001
To use two-phase pulse signal processing, set this bit to 0.
To use two-phase pulse signal processing, set this bit to 1.
To use two-phase pulse signal processing, set this bit to 0.
Bit Symbol RW
RW
RW
RW
RW
RW
RW
RW
12. T imer
page 108
)B82/C61M,82/C61M(puorG82/C61M
583fo7002,13.naJ00.2.veR 0020-7400B90JER
12.1.2.1 Counter Initialization by Two-Phase Pulse Signal Processing
This function initializes the timer count value to “0” by Z-phase (counter initialization) input during two-
phase pulse signal processing.
This function can only be used in timer A3 event counter mode during two-phase pulse signal process-
________
ing, free-running type, x4 processing, with Z-phase entered from the INT2 pin.
Counter initialization by Z-phase input is enabled by writing “000016” to the TA3 register and setting
the TAZIE bit in ONSF register to “1” (Z-phase input enabled).
Counter initialization is accomplished by detecting Z-phase input edge. The active edge can be cho-
sen to be the rising or falling edge by using the POL bit in the INT2IC register. The Z-phase pulse width
_______
applied to the INT2 pin must be equal to or greater than one clock cycle of the timer A3 count source.
The counter is initialized at the next count timing after recognizing Z-phase input. Figure 12.10 shows
the relationship between the two-phase pulse (A phase and B phase) and the Z phase.
If timer A3 overflow or underflow coincides with the counter initialization by Z-phase input, a timer A3
interrupt request is generated twice in succession. Do not use the timer A3 interrupt when using this
function.
Figure 12.10 Two-phase Pulse (A phase and B phase) and the Z Phase
mm+11 2 3 4 5
TA3OUT
(A phase)
Count source
TA3IN
(B phase)
Timer A3
INT2
(Z phase)
(1)
Input equal to or greater than one clock cycle
of count source
NOTES:
1. This timing diagram is for the case where the POL bit in the INT2IC register is set to 1 (rising edge).
12. T imer
page 109
)B82/C61M,82/C61M(puorG82/C61M
583fo7002,13.naJ00.2.veR 0020-7400B90JER
Item Specification
Count source f1, f2, f8, f32, fC32
Count operation Decrement
When the counter reaches 0000
16
, it stops counting after reloading a new value
If a trigger occurs when counting, the timer reloads a new count and restarts counting
Divide ratio 1/n n : set value of TAi register 000016 to FFFF16
However, the counter does not work if the divide-by-n value is set to 000016.
Count start condition T AiS bi t in the TABSR register is set to 1 (start counting) and one of the
following triggers occurs.
External trigger input from the TAiIN pin
Timer B2 overflow or underflow,
timer Aj (j=i-1, except j=4 if i=0) overflow or underflow,
timer Ak (k=i+1, except k=0 if i=4) overflow or underflow
The TAiOS bit in the ONSF register is set to 1 (timer starts)
Count stop condition When the counter is reloaded after reaching 000016
TAiS bit is set to 0 (stop counting)
Interrupt request generation timing
When the counter reaches 000016
TAiIN pin function I/O port or trigger input
TAiOUT pin function I/O port or pulse output
Read from timer An indeterminate value is read by reading TAi register
Write to timer
When not counting and until the 1st count source is input after counting start
Value written to TAi register is written to both reload register and counter
When counting (after 1st count source input)
Value written to TAi register is written to only reload register
(Transferred to counter when reloaded next)
Select function Pulse output function
The timer outputs a low when not counting and a high when counting.
Table 12.4 Specifications in One-shot Timer Mode
12.1.3 One-shot Timer Mode
In one-shot timer mode, the timer is activated only once by one trigger. (See Table 12.4) When the
trigger occurs, the timer starts up and continues operating for a given period. Figure 12.11 shows the
TAiMR register in one-shot timer mode.
12. T imer
page 110
)B82/C61M,82/C61M(puorG82/C61M
583fo7002,13.naJ00.2.veR 0020-7400B90JER
Figure 12.11 TAiMR Register in One-shot Timer Mode
Bit Name
Timer Ai Mode Register (i=0 to 4)
Symbol Address After Reset
TA0MR to TA4MR 396
16
to 039A
16
00
16
Function
Bit Symbol
b7 b6 b5 b4 b3 b2 b1 b0
Operation mode select bit 1 0 : One-shot timer mode
b1 b0
TMOD1
TMOD0
MR0 Pulse output function
select bit 0 : Pulse is not output
(TA
iOUT
pin functions as I/O port)
1 : Pulse is output
(TAi
OUT
pin functions as a pulse output pin)
MR2
MR1
MR3 Set to 0 in one-shot timer mode
0 0 : f
1
or f
2
0 1 : f
8
1 0 : f
32
1 1 : f
C32
b7 b6
TCK1
TCK0 Count source select bit
100
0 : TAiOS bit is enabled
1 : Selected by TAiTGH to TAiTGL bits
Trigger select bit
External trigger select
bit
(1)
0 : Falling edge of input signal to TAi
IN
pin
(2)
1 : Rising edge of input signal to TAi
IN
pin
(2)
NOTES:
1. Effective when the TAiTGH and TAiTGL bits in the ONSF or TRGSR register are 00
2
(TAi
IN
pin input).
2. The port direction bit for the TAi
IN
pin must be set to 0 (input mode).
RW
RW
RW
RW
RW
RW
RW
RW
RW
12. T imer
page 111
)B82/C61M,82/C61M(puorG82/C61M
583fo7002,13.naJ00.2.veR 0020-7400B90JER
12.1.4 Pulse Width Modulation (PWM) Mode
In PWM mode, the timer outputs pulses of a given width in succession (see Table 12.5). The counter
functions as either 16-bit pulse width modulator or 8-bit pulse width modulator. Figure 12.12 shows
TAiMR register in pulse width modulation mode. Figures 12.13 and 12.14 show examples of how a 16-
bit pulse width modulator operates and how an 8-bit pulse width modulator operates.
Table 12.5 Specifications in Pulse Width Modulation Mode
Item Specification
Count source f1, f2, f8, f32, fC32
Count operation D
ecrement (operating as an 8-bit or a 16-bit pulse width modulator)
The timer reloads a new value at a rising edge of PWM pulse and continues counting
The timer is not affected by a trigger that occurs during counting
16-bit PWM High level width n / fj n : set value of TAi register (i=o to 4)
Cycle time (216-1) / fj fixed fj: count source frequency (f1, f2, f8, f32, fC32)
8-bit PWM
High level width n x (m+1) / fj n : set value of TAi register high-order address
Cycle time (2
8
-1) x (m+1) / fj m : set value of TAi register low-order address
Count start condition TAiS bit in the TABSR register is set to 1 (= start counting)
The TAiS bit = 1 and external trigger input from the TAiIN pin
The TAiS bit = 1 and one of the following external triggers occurs
Timer B2 overflow or underflow,
timer Aj (j=i-1, except j=4 if i=0) overflow or underflow,
timer Ak (k=i+1, except k=0 if i=4) overflow or underflow
Count stop condition TAiS bit is set to 0 (stop counting)
Interrupt request generation timing
PWM pulse goes L
TAiIN pin function I/O port or trigger input
TAiOUT pin function Pulse output
Read from timer An indeterminate value is read by reading TAi register
Write to timer
When not counting and until the 1st count source is input after counting start
Value written to TAi register is written to both reload register and counter
When counting (after 1st count source input)
Value written to TAi register is written to only reload register
(Transferred to counter when reloaded next)
12. T imer
page 112
)B82/C61M,82/C61M(puorG82/C61M
583fo7002,13.naJ00.2.veR 0020-7400B90JER
Figure 12.12 TAiMR Register in Pulse Width Modulation Mode
Bit Name
Timer Ai Mode Register (i= 0 to 4)
Symbol Address After Reset
TA0MR to TA4MR 0396
16
to 039A
16
00
16
FunctionBit Symbol
b7 b6 b5 b4 b3 b2 b1 b0
Operation mode
select bit 1 1 : PWM mode
b1 b0
TMOD1
TMOD0
MR0
MR2
MR1
MR3
0 0 : f
1
or f
2
0 1 : f
8
1 0 : f
32
1 1 : f
C32
b7 b6
TCK1
TCK0 Count source select bit
RW
11
16/8-bit PWM mode
select bit
0: Functions as a 16-bit pulse width modulator
1: Functions as an 8-bit pulse width modulator
Trigger select bit
External trigger select
bit
(1)
0: Falling edge of input signal to TAi
IN
pin
(2)
1: Rising edge of input signal to TAi
IN
pin
(2)
RW
RW
RW
RW
RW
RW
RW
RW
0 : Write 1 to TAiS bit in the TASF register
1 : Selected by TAiTGH to TAiTGL bits
NOTES:
1. Effective when the TAiTGH and TAiTGL bits in the ONSF or TRGSR register are 00
2
(TAi
IN
pin input).
2. The port direction bit for the TAi
IN
pin must be set to 0 ( input mode).
0: Pulse is not output(TAiOUT pin functions as I/O port)
1: Pulse is output(TAiOUT pin functions as a pulse
output pin)
Pulse output funcion
select bit
12. T imer
page 113
)B82/C61M,82/C61M(puorG82/C61M
583fo7002,13.naJ00.2.veR 0020-7400B90JER
Figure 12.13 Example of 16-bit Pulse Width Modulator Operation
Figure 12.14 Example of 8-bit Pulse Width Modulator Operation
1 / f
i
X (2 1)
16
Count source
Input signal to
TA
iIN
pin
PWM pulse output
from TA
iOUT
pin
Trigger is not generated by this signal
H
H
L
L
IR bit of TAiIC
register 1
0
f
j
: Frequency of count source
(f
1
, f
2
, f
8
, f
32
, f
C32
)
i = 0 to 4
NOTES:
1. n = 0000
16
to FFFE
16
.
2. This timing diagram is for the case where the TAi register is "0003
16
", the TAiTGH and TAiTGL bits in the
ONSF or TRGSR register is set to "00
2
" (TAi
IN
pin input), the MR1 bit in the TAiMR register is set to "1" (rising
edge), and the MR2 bit in the TAiMR register is set to "1" (trigger selected by TAiTGH and TAiTGL bits).
1 / f
j
X
n
Set to 0 upon accepting an interrupt request or by program
Count source
(1)
Input signal to
TA
iIN
pin
Underflow signal of
8-bit prescaler
(2)
PWM pulse output
from TA
iOUT
pin
H
H
H
L
L
L
1
0
Set to 0 upon accepting an interrupt request or by program
NOTES:
1. The 8-bit prescaler counts the count source.
2. The 8-bit pulse width modulator counts the 8-bit prescaler's underflow signal.
3. m = 00
16
to FF
16
; n = 00
16
to FE
16
.
4. This timing diagram is for the case where the TAi register is "0202
16
", the TAiTGH and TAiTGL bits in the ONSF
or TRGSR register is set to "00
2
"(TAi
IN
pin input), the MR1 bit in the TAiMR register is set to "0" (falling edge), and
the MR2 bit in the TAiMR register is set to "1" (trigger selected by TAiTGH and TAiTGL bits).
AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAA
1 / fj X (m + 1) X (2 1)
8
1 / fj X (m + 1) X n
1 / fj X (m + 1)
IR bit of TAiIC
register
f
j
: Frequency of count source
(f
1
, f
2
, f
8
, f
32
, f
C32
)
i = 0 to 4
12. T imer
)B82/C61M,82/C61M(puorG82/C61M
page 114
583fo7002,13.naJ00.2.veR 0020-7400B90JER
12.2 Timer B
Figure 12.15 shows a block diagram of the timer B. Figures 12.16 and 12.17 show registers related to the
timer B.
Timer B supports the following four modes. Use the TMOD1 and TMOD0 bits in the TBiMR register (i = 0 to
2) to select the desired mode.
Timer mode: The timer counts the internal count source.
Event counter mode: The timer counts the external pulses or overflows and underflows of other timers.
Pulse period/pulse width measurement mode: The timer measures the pulse period or pulse width of
external signal.
A/D trigger mode: The timer starts counting by one trigger until the count value becomes 000016.
This mode is used together with simultaneous sample sweep mode or delayed trigger mode 0 of A/D
converter to start A/D conversion.
Figure 12.15 Timer B Block Diagram
Figure 12.16 TB0MR to TB2MR Registers
Timer Bi Mode Register (i=0 to 2)
Symbol
After Reset
TB0MR to TB2MR
Bit Name Function Bit Symbol RW
b7 b6 b5 b4 b3 b2 b1 b0
b1 b0
TCK1
MR3
MR2
MR1
TMOD1
MR0
TMOD0
TCK0
Operation mode select bit
(1)
(2)
RW
RW
RW
RW
RW
RW
RW
RO
NOTES:
1. Timer B0.
2. Timer B1, Timer B2.
Function varies with each operation
mode
Count source select bit
Function varies with each operation
mode
Address
039B16 to 039D16 00XX00002
0 0 : Timer mode or A/D trigger mode
0 1 : Event counter mode
1 0 : Pulse period measurement mode,
pulse width measurement mode
1 1 : Do not set
Clock source selection
Event counter
Reload register
Low-order 8 bits High-order 8 bits
Data bus low-order bits
Data bus high-order bits
f8
TABSR register
Polarity switching,
edge pulse
Counter reset circuit
Counter
Clock selection
Timer mode
Pulse period/, pulse width measuring mode
A/D trigger mode
f1 or f2
fC32
f32
TBj overflow
(1)
(j = i 1, except j = 2 if i = 0)
Can be selected in
onlyevent counter mode
TBiIN
(i = 0 to 2)
NOTE:
1. Overflow or underflow.
TBi Address TBj
Timer B0 039116
-
039016 Timer B2
Timer B1 039316
-
039216 Timer B0
Timer B2 039516
-
039416 Timer B1
12. T imer
)B82/C61M,82/C61M(puorG82/C61M
page 115
583fo7002,13.naJ00.2.veR 0020-7400B90JER
Figure 12.17 TB0 to TB2 Registers, TABSR Register, CPSRF Register
Symbol Address After Reset
TABSR 038016 0016
Count Start Flag
Bit Name
Bit Symbol
b7 b6 b5 b4 b3 b2 b1 b0
Timer B2 count start flag
Timer B1 count start flag
Timer B0 count start flag
Timer A4 count start flag
Timer A3 count start flag
Timer A2 count start flag
Timer A1 count start flag
Timer A0 count start flag 0: Stops counting
1: Starts counting
TB2S
TB1S
TB0S
TA4S
TA3S
TA2S
TA1S
TA0S
Function RW
RW
RW
RW
RW
RW
RW
RW
RW
Symbol Address After Reset
CPSRF 038116 0XXXXXXX16
Clock Prescaler Reset flag
Bit Name Function
Bit Symbol
b7 b6 b5 b4 b3 b2 b1 b0
Clock prescaler reset flag
CPSR
Nothing is assigned. If necessary, set to 0. When read, the
contents are undefined
RW
RW
(b6-b0)
Setting this bit to 1 initializes the
prescaler for the timekeeping clock.
(When read, the value of this bit is 0)
Symbol Address After Reset
TB0 039116, 039016 Undefined
TB1 039316, 039216 Undefined
TB2 039516, 039416 Undefined
b7 b0 b7 b0
(b15 (b8)
Timer Bi Register (i=0 to 2)(1)
RW
Measures a pulse period or width
Function
RW
RW
RO
NOTES:
1.The register must be accessed in 16 bit units.
2. The timer counts pulses from an external device or overflows or underflows of other timers.
3. When this mode is used combining delayed trigger mode 0, set the larger value than the
value in the timer B0 register to the timer B1 register.
Divide the count source by n + 1
where n = set value
Timer mode
Event counter
mode
000016 to FFFF16
Divide the count source by n + 1
where n = set value (2) 000016 to FFFF16
Pulse period
modulation mode,
Pulse width
modulation mode
Mode Setting Rrange
A/D trigger
mode (3) Divide the count source by n + 1 where
n = set value and cause the timer stop
RW
000016 to FFFF16
12. T imer
)B82/C61M,82/C61M(puorG82/C61M
page 116
583fo7002,13.naJ00.2.veR 0020-7400B90JER
Item Specification
Count source f1, f2, f8, f32, fC32
Count operation Decrement
When the timer underflows, it reloads the reload register contents and
continues counting
Divide ratio 1/(n+1) n: set value of TBi register (i= 0 to 2) 000016 to FFFF16
Count start condition Set TBiS bit(Note) to 1 (start counting)
Count stop condition Set TBiS bit to 0 (stop counting)
Interrupt request generation timing
Timer underflow
TBiIN pin function I/O port
Read from timer Count value can be read by reading TBi register
Write to timer
When not counting and until the 1st count source is input after counting start
Value written to TBi register is written to both reload register and counter
When counting (after 1st count source input)
Value written to TBi register is written to only reload register
(Transferred to counter when reloaded next)
NOTE:
1. The TB0S to TB2S bits are assigned to the bit 5 to bit 7 in the TABSR register.
12.2.1 Timer Mode
In timer mode, the timer counts a count source generated internally (see Table 12.6). Figure 12.18
shows TBiMR register in timer mode.
Table 12.6 Specifications in Timer Mode
Figure 12.18 TBiMR Register in Timer Mode
Timer Bi Mode Register (i= 0 to 2)
Symbol Address After Reset
TB0MR to TB2MR 039B
16
to 039D
16
00XX0000
2
Bit Name Function
Bit Symbol RW
b7 b6 b5 b4 b3 b2 b1 b0
Operation mode select bit 0 0 : Timer mode or A/D trigger mode
b1 b0
TMOD1
TMOD0
MR0 No effect in timer mode
Can be set to 0 or 1
MR2
MR1
MR3
0 0 : f
1
or f
2
0 1 : f
8
1 0 : f
32
1 1 : f
C32
TCK1
TCK0 Count source select bit
00
TB0MR register
Set to 0 in timer mode
b7 b6
RW
RW
RW
RW
RW
RW
RW
RO
TB1MR, TB2MR registers
Nothing is assigned. When write, set to 0. When read, its
content is indeterminate
When write in timer mode, set to 0.
When read in timer mode, the content is indeterminate.
12. T imer
)B82/C61M,82/C61M(puorG82/C61M
page 117
583fo7002,13.naJ00.2.veR 0020-7400B90JER
Item Specification
Count source External signals input to TBiIN pin (i=0 to 2) (effective edge can be selected
in program)
Timer Bj overflow or underflow (j=i-1, except j=2 if i=0)
Count operation Decrement
When the timer underflows, it reloads the reload register contents and
continues counting
Divide ratio 1/(n+1) n: set value of TBi register 000016 to FFFF16
Count start condition Set TBiS bit1 to 1 (start counting)
Count stop condition Set TBiS bit to 0 (stop counting)
Interrupt request generation timing
Timer underflow
TBiIN pin function Count source input
Read from timer Count value can be read by reading TBi register
Write to timer
When not counting and until the 1st count source is input after counting start
Value written to TBi register is written to both reload register and counter
When counting (after 1st count source input)
Value written to TBi register is written to only reload register
(Transferred to counter when reloaded next)
NOTE:
1. The TB0S to TB2S bits are assigned to the bit 5 to bit 7 in the TABSR register.
12.2.2 Event Counter Mode
In event counter mode, the timer counts pulses from an external device or overflows and underflows of
other timers (see Table 12.7) . Figure 12.19 shows the TBiMR register in event counter mode.
Table 12.7 Specifications in Event Counter Mode
Figure 12.19 TBiMR Register in Event Counter Mode
Timer Bi Mode Register (i=0 to 2)
Symbol Address After Reset
TB0MR to TB2MR 039B
16
to 039D
16
00XX0000
2
Bit Name FunctionBit Symbol RW
b7 b6 b5 b4 b3 b2 b1 b0
AA
AA
Operation mode select bit 0 1 : Event counter mode
b1 b0
TMOD1
TMOD0
MR0 Count polarity select
bit
(1)
MR2
MR1
MR3
TCK1
TCK0
01
0 0 : Counts external signal's
falling edges
0 1 : Counts external signal's
rising edges
1 0 : Counts external signal's
falling and rising edges
1 1 : Must not be set
b3 b2
NOTES:
1. Effective when the TCK1 bit is set to 0 (input from TBiIN pin). If the TCK1 bit is set to 1 (TBj overflow or
underflow), these bits can be set to 0 or 1.
2. The port direction bit for the TBi
IN
pin must be set to 0 (= input mode).
No effect in event counter mode.
Can be set to 0 or 1.
Event clock select 0 : Input from TBi
IN
pin
(2)
1 : TBj overflow or underflow
(j = i 1, except j = 2 if i = 0)
RW
RW
RW
RW
RW
RW
RW
RO
TB0MR register
Set to 0 in timer mode
TB1MR, TB2MR registers
Nothing is assigned. When write, set to 0. When read, its
content is indeterminate.
When write in event counter mode, set to 0. When read in event
counter mode, its content is indeterminate.
12. T imer
)B82/C61M,82/C61M(puorG82/C61M
page 118
583fo7002,13.naJ00.2.veR 0020-7400B90JER
Item Specification
Count source f1, f2, f8, f32, fC32
Count operation Increment
Counter value is transferred to reload register at an effective edge of mea-
surement pulse. The counter value is set to 000016 to continue counting.
Count start condition Set TBiS (i=0 to 2) bit (3) to 1 (start counting)
Count stop condition Set TBiS bit to 0 (stop counting)
Interrupt request generation timing
When an effective edge of measurement pulse is input (1)
Timer overflow. When an overflow occurs, MR3 bit in the TBiMR register is set to
1 (overflowed) simultaneously. MR3 bit is cleared to 0 (no overflow) by writ-
ing to TBiMR register at the next count timing or later after MR3 bit was set to
1. At this time, make sure TBiS bit is set to 1 (start counting).
TBiIN pin function Measurement pulse input
Read from timer
Contents of the reload register (measurement result) can be read by reading TBi register (2)
Write to timer Value written to TBi register is written to neither reload register nor counter
Notes:
1. Interrupt request is not generated when the first effective edge is input after the timer started counting.
2. Value read from TBi register is indeterminate until the second valid edge is input after the timer starts counting.
3. The TB0S to TB2S bits are assigned to the bit 5 to bit 7 in the TABSR register .
12.2.3 Pulse Period and Pulse Width Measurement Mode
In pulse period and pulse width measurement mode, the timer measures pulse period or pulse width of an
external signal (see Table 12.8). Figure 12.20 shows the TBiMR register in pulse period and pulse width
measurement mode. Figure 12.21 shows the operation timing when measuring a pulse period. Figure
12.22 shows the operation timing when measuring a pulse width.
Table 12.8 Specifications in Pulse Period and Pulse Width Measurement Mode
Figure 12.20
TBiMR Register in Pulse Period and Pulse Width Measurement Mode
Timer Bi Mode Register (i=0 to 2)
Symbol Address After Reset
TB0MR to TB2MR 039B16 to 039D16 00XX00002
Bit NameBit Symbol RW
b7 b6 b5 b4 b3 b2 b1 b0
Operation mode
select bit 1 0 : Pulse period / pulse width
measurement mode
b1 b0
TMOD1
TMOD0
MR0 Measurement mode
select bit
MR2
MR1
MR3
TCK1
TCK0
01
0 0 : Pulse period measurement
(Measurement between a falling edge and the
next falling edge of measured pulse)
0 1 : Pulse period measurement
(Measurement between a rising edge and the next
rising edge of measured pulse)
1 0 : Pulse width measurement
(Measurement between a falling edge and the
next rising edge of measured pulse and between
a rising edge and the next falling edge)
1 1 : Do not be set.
Function
b3 b2
Count source
select bit
Timer Bi overflow
flag (1) 0 : Timer did not overflow
1 : Timer has overflowed
0 0 : f1 or f2
0 1 : f8
1 0 : f32
1 1 : fC32
b7 b6
NOTES:
1.This flag is indeterminate after reset. When the TBiS bit is set to "1" (start counting), the MR3 bit is cleared to 0 (no overflow)
by writing to the TBiMR register at the next count timing or later after the MR3 bit was set to 1 (overflowed). The MR3 bit
cannot be set to 1 by program. The TB0S to TB2S bits are assigned to the bit 5 to bit 7 in the TABSR register.
RO
TB0MR register
Set to 0 in pulse period and pulse width measurement mode
TB1MR, TB2MR registers
Nothing is assigned. When write, set to 0. When read, its content turns out to be
indeterminate.
RW
RW
RW
RW
RW
RW
RW
12. T imer
)B82/C61M,82/C61M(puorG82/C61M
page 119
583fo7002,13.naJ00.2.veR 0020-7400B90JER
Figure 12.22 Operation timing when measuring a pulse width
Figure 12.21 Operation timing when measuring a pulse period
Count source
Measurement pulse
TBiS bit
TBiIC register's
IR bit
Timing at which counter
reaches 0000
16
H
1
Transfer
(indeterminate value)
L
0
0
TBiMR register's
MR3 bit
1
0
NOTES:
1. Counter is initialized at completion of measurement.
2. Timer has overflowed.
3. This timing diagram is for the case where the MR1 to MR0 bits in the TBiMR register are 00
2
(measure the
interval from falling edge to falling edge of the measurement pulse).
(1)(1) (2)
Transfer
(measured value)
1
Reload register counter
transfer timing
The TB0S to TB2S bits are assigned to the bit 5 to bit 7 in the TABSR register.
Set to 0 upon accepting an interrupt request or by program
i = 0 to 2
Measurement pulse
H
Count source
Timing at which counter
reaches 0000
16
1
1
Transfer
(measured value) Transfer
(measured value)
L
0
0
1
0
(1)(1)(1)
Transfer
(measured
value)
(1) (1)
Transfer
(indeterminate
value)
Reload register counter
transfer timing
TBiS bit
TBiIC register's
IR bit
The MR3 bit in the
TBiMR register
NOTES:
1. Counter is initialized at completion of measurement.
2. Timer has overflowed.
3. This timing diagram is for the case where the MR1 to MR0 bits in the TBiMR register are 10
2
(measure the interval
from a falling edge to the next rising edge and the interval from a rising edge to the next falling edge of the
measurement pulse).
The TB0S to TB2S bits are assigned to the bit 5 to bit 7 in the TABSR register.
Set to 0 upon accepting an interrupt request or by
program
i = 0 to 2
12. T imer
)B82/C61M,82/C61M(puorG82/C61M
page 120
583fo7002,13.naJ00.2.veR 0020-7400B90JER
12.2.4 A/D Trigger Mode
A/D trigger mode is used together with simultaneous sample sweep mode or delayed trigger mode 0 of
A/D conversion to start A/D conversion. It is used in timer B0 and timer B1 only. In this mode, the timer
starts counting by one trigger until the count value becomes 000016. Figure 12.23 shows the TBiMR
register in A/D trigger mode and Figure 12.24 shows the TB2SC register.
Item Specification
Count Source f1, f2, f8, f32, and fC32
Count Operation Decrement
When the timer underflows, reload register contents are reloaded before
stopping counting
When a trigger is generated during the count operation, the count is not
affected
Divide Ratio 1/(n+1) n: Setting value of TBi register (i=0,1)
000016-FFFF16
Count Start Condition When the TBiS (i=0,1) bit in the TABSR register is "1"(count started), the
TBiEN (i=0,1) in TB2SC register is "1" (A/D trigger mode) and the following
trigger selected by the TB2SEL bit in the TB2SC register
is generated.
Timer B2 interrupt
Underflow of Timer B2 interrupt generation frequency counter setting
Count Stop Condition After the count value is 000016 and reload register contents are reloaded
Set the TBiS bit to "0"(count stopped)
Interrupt Request Timer underflows (1)
Generation Timing
TBiIN Pin Function I/O port
Read From Timer Count value can be read by reading TBi register
Write To Timer (2) When writing in the TBi register during count stopped.
Value is written to both reload register and counter
When writing in the TBi register during count.
Value is written to only reload register (Transfered to counter when reloaded next)
NOTES:
1. A/D conversion is started by the timer underflow. For details refer to 15. A/D Converter.
2. When using in delayed trigger mode 0, set the larger value than the value of the timer B0 register
to the timer B1 register.
Table 12.9 Specifications in A/D Trigger Mode
12. T imer
)B82/C61M,82/C61M(puorG82/C61M
page 121
583fo7002,13.naJ00.2.veR 0020-7400B90JER
Figure 12.23 TBiMR Register in A/D Trigger Mode
Figure 12.24 TB2SC Register in A/D Trigger Mode
Timer Bi Mode Register (i= 0 to 1)
Symbol Address After Reset
TB0MR to TB1MR 039B
16
to 039C
16
00XX0000
2
Bit Name FunctionBit Symbol RW
b7 b6 b5 b4 b3 b2 b1 b0
Operation mode select bit 0 0 : Timer mode or A/D trigger mode
b1 b0
TMOD1
TMOD0
MR0
Invalid in A/D trigger mode
Either "0" or "1" is enabled
MR2
MR1
MR3
TCK1
TCK0
Count source select bit
(1)
00
TB0MR register
Set to 0 in A/D trigger mode
RO
TB1MR register
Nothing is assigned. When write, set to 0.
When read, the content is indeterminate
When write in A/D trigger mode, set to 0. When read in A/D
trigger mode, its content is indeterminate.
NOTE:
1. When this bit is used in delayed trigger mode 0, set the same count source to the timer B0 and timer B1.
RW
RW
RW
RW
RW
RW
RW
b7 b6
0 0 : f
1
or f
2
0 1 : f
8
1 0 : f
32
1 1 : f
C32
PWCON
Symbol Address
TB2SC 039E16 X00000002
Timer B2 Reload Timing
Switch Bit 0 : Timer B2 underflow
1 : Timer A output at odd-numbered
Timer B2 special mode register (1)
Bit Name FunctionBit Symbol
b7 b6 b5 b4 b3 b2 b1 b0
IVPCR1 Three-Phase Output Port
SD Control Bit 1(3, 4, 7)
0 : Three-phase output forcible cutoff
by SD pin input (high impedance)
disabled
1 : Three-phase output forcible cutoff
by SD pin input (high impedance)
enabled
RW
RW
RW
Nothing is assigned. When write, set to 0.
When read, the content is 0
(b7)
TB2SEL Trigger Select Bit 0 : TB2 interrupt
1 : Underflow of TB2 interrupt generation
frequency setting counter [ICTB2] RW
RW
TB0EN Timer B0 Operation Mode
Select Bit 0 : Other than A/D trigger mode
1 : A/D trigger mode RW
TB1EN Timer B1 Operation Mode
Select Bit 0 : Other than A/D trigger mode
1 : A/D trigger mode RW
(2)
(5)
(5)
(6)
(b6-b5) Reserved bits Set to "0"
00 11 After Reset
NOTES:
1. Write to this register after setting the PRC1 bit in the PRCR register to "1" (write enabled).
2. If the INV11 bit is "0" (three-phase mode 0) or the INV06 bit is "1" (triangular wave modulation mode), set this
bit to "0" (timer B2 underflow).
3. When setting the IVPCR1 bit to "1" (three-phase output forcible cutoff by SD pin input enabled), set the PD8_5
bit to "0" (= input mode).
4. Associated pins are U(P80), U(P81), V(P72), V(P73), W(P74), W(P75). When a high-level ("H") signal is applied
to the SD pin and set the IVPCR1 bit to 0 after forcible cutoff, pins U, U, V, V, W, and W are exit from the high-
impedance state. If a low-level (L) signal is applied to the SD pin, three-phase motor control timer output will
be disabled (INV03=0). At this time, when the IVPCR1 bit is 0, pins U, U, V, V, W, and W become
programmable I/O ports. When the IVPCR1 bit is set to 1, pins U, U, V, V, W, and W are placed in a high-
impedance state regardless of which function of those pins is used.
5. When this bit is used in delayed trigger mode 0, set the TB0EN and TB1EN bits to "1" (A/D trigger mode).
6. When setting the TB2SEL bit to "1" (underflow of TB2 interrupt generation frequency setting counter[ICTB2]),
set the INV02 bit to "1" (three-phase motor control timer function).
7. Refer to "17.6 Digital Debounce Function" for the SD input
12. T imer
)B82/C61M,82/C61M(puorG82/C61M
page 122
583fo7002,13.naJ00.2.veR 0020-7400B90JER
12.3 Three-phase Motor Control Timer Function
Timers A1, A2, A4 and B2 can be used to output three-phase motor drive waveforms. Table 12.10 lists the
specifications of the three-phase motor control timer function. Figure 12.24 shows the block diagram for three-
phase motor control timer function. Also, the related registers are shown on Figures 12.26 to 12.32.
Table 12.10 Three-phase Motor Control Timer Function Specifications
Item Specification
Three-phase waveform output pin ___ ___ ___
Six pins (U, U, V, V, W, W)
Forced cutoff input (1) _____
Input L to SD pin
Used Timers Timer A4, A1, A2 (used in the one-shot timer mode)
___
Timer A4: U- and U-phase waveform control
___
Timer A1: V- and V-phase waveform control
___
Timer A2: W- and W-phase waveform control
Timer B2 (used in the timer mode)
Carrier wave cycle control
Dead time timer (3 eight-bit timer and shared reload register)
Dead time control
Output waveform Triangular wave modulation, Sawtooth wave modification
Enable to output H or L for one cycle
Enable to set positive-phase level and negative-phase
level respectively
Carrier wave cycle Triangular wave modulation: count source x (m+1) x 2
Sawtooth wave modulation: count source x (m+1)
m: Setting value of TB2 register, 0 to 65535
Count source: f1, f2, f8, f32, fC32
Three-phase PWM output width Triangular wave modulation: count source x n x 2
Sawtooth wave modulation: count source x n
n: Setting value of TA4, TA1 and TA2 register (of TA4,
TA41, TA1, TA11, TA2 and TA21 registers when setting
the INV11 bit to 1), 1 to 65535
Count source: f1, f2, f8, f32, fC32
Dead time Count source x p, or no dead time
p: Setting value of DTT register, 1 to 255
Count source: f1, f2, f1 divided by 2, f2 divided by 2
Active level Eable to select H or L
Positive and negative-phase concurrent Positive and negative-phases concurrent active disable
function
Positive and negative-phases concurrent active detect func-
tion
Interrupt frequency For Timer B2 interrupt, select a carrier wave cycle-to-cycle
basis through 15 times carrier wave cycle-to-cycle basis
NOTES:
1. When the INV02 bit in the INVC0 register is set to 1 (three-phase motor control timer function), the
_____ _____
SD function of the P85/SD pin is enabled. At this time, the P85 pin cannot be used as a programmable
_____ _____
I/O port. When the SD function is not used, apply H to the P85/SD pin.
When the IVPCR1 bit in the TB2SC register is set to 1 (enable three-phase output forced cutoff by
_____ _____
SD pin input), and L is applied to the SD pin, the related pins enter high-impedance state regardless
of the functions which are used. When the IVPCR1 bit is set to 0 (disabled three-phase output forced
_____ _____
cutoff by SD pin input) and L is applied to the SD pin, the related pins can be selected as a program-
mable I/O port and the setting of the port and port direction registers are enable.
Related pins: P72/CLK2/TA1OUT/V/RXD1_________ _________ ___
P73/CTS2/RTS2/TA1IN/V/TXD1
P74/TA2OUT/W ____
P75/TA2IN/W
P80/TA4OUT/U ___
P81/TA4IN/U
12. T imer
)B82/C61M,82/C61M(puorG82/C61M
page 123
583fo7002,13.naJ00.2.veR 0020-7400B90JER
Figure 12.25 Three-phase Motor Control Timer Functions Block Diagram
DRQ
0INV12
1
Trigger
Trigger
Timer B2
(Timer mode)
Signal to be
written to
timer B2
1Timer B2
interrupt request bit
DU1
bit
D
TQQ
Q
U
Three-phase output
shift register
(U phase)
Dead time timer
n = 1 to 255
Trigger
Trigger
Reload register
n = 1 to 255
Trigger
Trigger
U
phase output signal
U
V
V
V
W
W
W phase output
control circuit
DQ
T
DQ
T
W
DQ
T
DQ
T
V
DQ
T
DQ
T
U
W
V
U
Reload
Timer A1 counter
(One-shot timer mode)
Trigger
TQ
Reload
Timer A2 counter
(One-shot timer mode)
Trigger
TQ
Reload
Timer A4 counter
(One-shot timer mode)
Trigger
TQ
Transfer trigger
(Note 1)
Timer B2 underflow
DU0
bit
DUB0
bit
TA4 register
TA41
register
TA1
register
TA11
register
TA2
register
TA21
register
Timer Ai(i = 1, 2, 4) start trigger signal
Timer A4 reload control signal
Timer A4
one-shot pulse
DUB1
bit
Dead time timer
n = 1 to 255
Dead time timer
n = 1 to 255
Interrupt occurrence set circuit
ICTB2 register
n = 1 to 15
0
INV13
ICTB2 counter
n = 1 to 15
SD
RESET
INV03
INV14
INV05
INV04
INV00 INV01
INV11
INV11
INV11
INV11
INV06
INV06
INV06
INV07
INV10
1/2
f1 or
f2
phase output
control circuit
phase output
control circuit
phase output signal
phase output signal
phase output
signal
phase output signal
phase output signal
Reverse
control
Reverse
control
Reverse
control
Reverse
control
Reverse
control
D
T
D
TQD
T
Reverse
control
IDW
IDV
IDU
D
QT
D
QT
D
QT
b2
b0
b1
Bits 2 through 0 of Position-data-
retain function control register
(address 034E
16
)
PD8_0
PD8_1
PD7_2
PD7_3
PD7_4
PD7_5
SQ
R
RESET
SD
IVPRC1
Data Bus
NOTES:
1. If the INV06 bit is set to "0" (triangular wave modulation mode), a transfer trigger is generated at only the first occurrence of a timer B2 underflow after writing to the IDB0 and IDB1 registers.
Set to "0" when TA2S bit is set to "0"
Set to "0" when TA1S bit = "0"
Set to "0" when TA4S bit is set to "0"
Diagram for switching to P8
0
, P81 and P7
2
- P7
5
is not shown.
12. T imer
)B82/C61M,82/C61M(puorG82/C61M
page 124
583fo7002,13.naJ00.2.veR 0020-7400B90JER
Figure 12.26 INVC0 Register
Three-phase PWM Control Register 0
(1)
Symbol Address After Reset
INVC0 034816 0016
b7 b6 b5 b4 b3 b2 b1 b0
Effective interrupt output
polarity select bit
INV00
Bit Symbol Bit Name Function RW
INV01
Effective interrupt output
specification bit
INV02 Mode select bit
INV04 Positive and negative
phases concurrent output
disable bit
INV07 Software trigger select bit
INV06 Modulation mode select
bit
INV05 Positive and negative
phases concurrent output
detect flag
INV03 Output control bit
0: ICTB2 counter is incremented by 1 on
the rising edge of timer A1 reload
control signal
1: ICTB2 counter is incremented by 1 on
the falling edge of timer A1 reload
control signal
0:
ICTB2 counter incremented by 1 at a
timer B2 underflow
1: Selected by INV00 bit
0: Three-phase motor control timer
function unused
1: Three-phase motor control timer
function
0: Three-phase motor control timer output
disabled
1: Three-phase motor control timer output
enabled
0: Simultaneous active output enabled
1: Simultaneous active output disabled
0: Not detected yet
1: Already detected
0: Triangular wave modulation mode
1: Sawtooth wave modulation mode
Setting this bit to 1 generates a transfer
trigger. If the INV06 bit is 1, a trigger for
the dead time timer is also generated.
The value of this bit when read is 0.
(9)
(3)
(7)
(2, 3)
NOTES:
1. Write to this register after setting the PRC1 bit in the PRCR register to 1 (write enable). Note also that INV00 to
INV02, INV04 and INV06 bits can only be rewritten when timers A1, A2, A4 and B2 are idle.
2. If this bit needs to be set to 1, set any value in the ICTB2 register before writing to it.
3. Effective when the INV11 bit is 1 (three-phase mode 1). If INV11 is set to 0 (three-phase mode 0), the ICTB2
counter is incremented by 1 each time the timer B2 underflows, regardless of whether the INV00 and INV01 bits are
set. When setting the INV01 bit to "1", the first interrupt is generated when the timer B2 underflows n-1 times, if n is
the value set in the ICTB2 counter. Subsequent interrupts are generated every n times the timer B2 underflow.
4. Setting the INV02 bit to 1 activates the dead time timer, U/V/W-phase output control circuits and ICTB2 counter.
5. When the INV02 bit is set to "1" and the INV03 bit is set to "0", U, U, V, V, W, W pins, including pins shared with
other output functions, enter a high-impedance state. When INV03 is set to "1", U/V/W corresponding pins generate
the three-phase PWM output.
6. The INV03 bit is set to 0 in the following cases:
When reset
When positive and negative go active (INV05="1") simultaneously while INV04 bit is 1
When set to 0 by program
When input on the SD pin changes state from H to L regardless of the value of the INVCR1 bit. (The INV03 bit
cannot be set to 1 when SD input is L.)
INV03 is set to "0" when both INV04 bit and INV05 bit are set to "1".
7. Can only be set by writing 0 by program, and cannot be set to 1.
8. The effects of the INV06 bit are described in the table below.
(4)
RW
RW
RW
RW
RW
RW
RW
RW
(5)
(8)
Item
Mode
Timing at which transferred from IDB0 to
IDB1 registers to three-phase output shift
register
Timing at which dead time timer trigger is
generated when INV16 bit is 0
INV13 bit
INV06=0
Triangular wave modulation mode
Transferred only once synchronously
with the transfer trigger after writing to
the IDB0 to IDB1 registers
Synchronous with the falling edge of
timer A1, A2, or A4 one-shot pulse
Effective when INV11 is set to 1 and
INV06 is set to 0
INV06=1
Sawtooth wave modulation mode
Transferred every transfer trigger
Synchronous with the transfer
trigger and the falling edge of timer
A1, A2, or A4 one-shot pulse
Transfer trigger: Timer B2 underflow, write to the INV07 bit or write to the TB2 register when INV10 is 1
9: If the INV06 bit is set to 1, set the INV11 bit to 0 (three-phase mode 0) and set the PWCON bit to 0 (timer B2
reloaded by a timer B2 underflow).
(6)
No effect
(5)
12. T imer
)B82/C61M,82/C61M(puorG82/C61M
page 125
583fo7002,13.naJ00.2.veR 0020-7400B90JER
Figure 12.27 INVC1 Register
Three-phase PWM Control Register 1
(1)
Symbol Address After Reset
INVC1 034916 0016
b7 b6 b5 b4 b3 b2 b1 b0
Timer A1, A2, A4 start
trigger signal select bit
INV10
Bit Symbol Bit Name Function RW
INV11
Timer A1-1, A2-1, A4-1
control bit
INV12 Dead time timer count
source select bit
INV14 Output polarity control bit
(b7) Reserved bit
INV16 Dead time timer trigger
select bit
INV15 Dead time invalid bit
INV13
Carrier wave detect flag
0: Timer B2 underflow
1: Timer B2 underflow and write to the
TB2 register
0: Three-phase mode 0
1: Three-phase mode 1
0 : f1 or f2
1 : f1 divided by 2 or f2 divided by 2
0: Timer Reload control signal is set to "0"
1: Timer Reload control signal is set to "1"
0 : Output waveform L active
1 : Output waveform H active
0: Dead time timer enabled
1: Dead time timer disabled
0: Falling edge of timer A4, A1 or A2
one-shot pulse
1: Rising edge of three-phase output shift
register (U, V or W phase) output
This bit should be set to 0
NOTES:
1. Write to this register after setting the PRC1 bit in the PRCR register to 1 (write enable). Note also that this
register can only be rewritten when timers A1, A2, A4 and B2 are idle.
2. A start trigger is generated by writing to the TB2 register only while timer B2 stops.
3. The effects of the INV11 bit are described in the table below.
(5)
(4)
RW
RW
RW
RW
RW
RW
RW
RO
(2)
Item
Mode
TA11, TA21, TA41 registers
INV00 bit, INV01 bit
INV13 bit
INV11=0
Three-phase mode 1
Three-phase mode 0
Not Used
Has no effect. ICTB2 counted every time
timer B2 underflows regardless of
whether the INV00 to INV01 bits are set.
Has no effect
INV11=1
Used
Effect
Effective when INV11 bit is 1 and
INV06 bit is 0
4. If the INV06 bit is 1 (sawtooth wave modulation mode), set this bit to 0 (three-phase mode 0). Also, if the
INV11 bit is 0, set the PWCON bit to 0 (timer B2 reloaded by a timer B2 underflow).
5. The INV13 bit is effective only when the INV06 bit is 0 (triangular wave modulation mode) and the INV11 bit
is 1 (three-phase mode 1).
6. If all of the following conditions hold true, set the INV16 bit to 1 (dead time timer triggered by the rising edge
of three-phase output shift register output)
The INV15 bit is 0 (dead time timer enabled)
When the INV03 bit is set to 1 (three-phase motor control timer output enabled), the Dij bit and DiBj bit (i:
U, V, or W, j: 0 to 1) have always different values (the positive-phase and negative-phase always output
different levels during the period other than dead time).
Conversely, if either one of the above conditions holds false, set the INV16 bit to 0 (dead time timer triggered
by the falling edge of one-shot pulse).
(3)
0
12. T imer
)B82/C61M,82/C61M(puorG82/C61M
page 126
583fo7002,13.naJ00.2.veR 0020-7400B90JER
Figure 12.28 IDB0 Register, IDB1Register, DTT Register, and ICTB2 Register
Three-phase
O
utput Buffer Re
g
ister(i=0,1) (1)
Symbol Address After Reset
IDB0 034A
16
00111111
2
IDB1 034B
16
00111111
2
RW
RW
RW
RWBit Name FunctionBit Symbol
DUi
DUBi
DVi
U phase output buffer i
NOTES:
1. The IDB0 and IDB1 register values are transferred to the three-phase shift register by a transfer trigger. The value
written to the IDB0 register aftera transfer trigger represents the output signal of each phase, and the next value
written to the IDB1 register at the falling edge of the timer A1, A2 or A4 one-shot pulse represents the output signal
of each phase.
(b7-b6)
RW
DVBi
Nothing is assigned. When write, set to "0". When read,
these contents are "0".
Write the output level
0: Active level
1: Inactive level
When read, these bits show the three-phase
output shift register value.
DWi
DWBi
RW
RW
U phase output buffer i
V phase output buffer i
V phase output buffer i
W phase output buffer i
W phase output buffer i
b
7
b
4
b3
b
2b1b0
Dead T ime Timer (1, 2)
Symbol Address After Reset
DTT 034C
16
Indeterminate
WO
RWFunction Setting range
NOTES:
1. Use MOV instruction to write to this register.
2. Effective when the INV15 bit is set to 0 (dead time timer enable). If the INV15 bit is set to 1, the dead time timer is
disabled and has no effect.
1 to 255
b7 b0
Assuming the set value = n, upon a start trigger the timer starts
counting the count souce selected by the INV12 bit and stops
after counting it n times. The positive or negative phase
whichever is going from an inactive to an active level changes
at the same time the dead time timer stops.
0
RO
Timer B2 Interrupt Occurrences Frequency Set Counter
Symbol
ICTB2 Address
034D16 After Reset
Indeterminate
Function
Setting Range
b7 b6 b5 b4 b0
If the INV01 bit is "0" (ICTB2 counter counted every
time timer B2 underflows), assuming the set value
= n, a timer B2 interrupt is generated at every níth
occurrence of a timer B2 underflow.
If the INV01 bit is "1" (ICTB2 counter count timing
selected by the INV00 bit), assuming the set value
= n, a timer B2 interrupt is generated at every níth
occurrence of a timer B2 underflow that meets the
condition selected by the INV00 bit.
1 to 15
NOTES:
1. Use MOV instruction to write to this register.
If the INV01 bit is set to "1", make sure the TB2S bit also is set to "0" (timer B2 count stopped) when writing to
this register. If the INV01 bit is set to "0", although this register can be written even when the TB2S bit is set to
"1" (timer B2 count start), do not write synchronously with a timer B2 underflow.
RW
WO
(1)
Nothing is assigned. When write, set to "0". When read, its content is
indeterminate.
b3
RO
Nothing is assigned. When write, set to "0". When read, its content is
indeterminate.
00
12. T imer
)B82/C61M,82/C61M(puorG82/C61M
page 127
583fo7002,13.naJ00.2.veR 0020-7400B90JER
Symbol Address After reset
TA1 0389
16
-0388
16
Indeterminate
TA2 038B
16
-038A
16
Indeterminate
TA4 038F
16
-038E
16
Indeterminate
TA11
(6,7)
0343
16
-0342
16
Indeterminate
TA21
(6,7)
0345
16
-0344
16
Indeterminate
TA41
(6,7)
0347
16
-0346
16
Indeterminate
b7 b0 b7 b0
(b15) (b8)
RW
Assuming the set value = n, upon a start trigger the timer
starts counting the count source and stops after counting
it n times. The positive and negative phases change at
the same time timer A, A2 or A4 stops.
Function Setting Range
Timer Ai, Ai-1 Register (i=1, 2, 4)
(1, 2, 3, 4, 5)
NOTES:
1. The register must be accessed in 16 bit units.
2. When the timer Ai register is set to "0000
16
", the counter does not operate and a timer Ai interrupt does not occur.
3. Use MOV instruction to write to these registers.
4. If the INV15 bit is "0" (dead time timer enable), the positive or negative phase whichever is going from an inactive
to an active level changes at the same time the dead time timer stops.
5. If the INV11 bit is "0" (three-phase mode 0), the TAi register value is transferred to the reload register by
a timer Ai (i = 1, 2 or 4) start trigger.
If the INV11 bit is "1" (three-phase mode 1), the TAi1 register value is transferred to the reload register by a timer Ai
start trigger first and then the TAi register value is transferred to the reload register by the next timer Ai start trigger.
Thereafter, the TAi1 register and TAi register values are transferred to the reload register alternately.
6. Do not write to TAi1 registers synchronously with a timer B2 underflow In three-phase mode 1.
7. Write to the TAi1 register as follows:
(1) Write a value to the TAi1 register
(2) Wait for one cycle of timer Ai count source.
(3) Write the same value to the TAi1 register again.
WO
0000
16
to FFFF
16
Figure 12.29
TA1, TA2, TA4, TA11, TA21 and TA41 Registers
12. T imer
)B82/C61M,82/C61M(puorG82/C61M
page 128
583fo7002,13.naJ00.2.veR 0020-7400B90JER
Figure 12.30
TB2SC Register
0: Three-phase output forcible cutoff by SD pin input
(high impedance) disabled
1: Three-phase output forcible cutoff by SD pin input
(high impedance) enabled
NOTES:
1. When "L" is applied to the SD pin, INV03 bit is changed to 0 at the same time.
2. The value of the port register and the port direction register becomes effective.
3. When SD function is not used, set to 0 (Input) in PD8
5
and pullup to "H" in SD pin from outside.
4. To leave the high-impedance state and restart the three-phase PWM signal output after the three-phase PWM signal
output forced cutoff, set the IVPCR1 bit to 0 after the SD pin input level becomes high (H).
IVPCR1 bit Status of U/V/W pins Remarks
SD pin inputs
1
(Three-phase output
forcrible cutoff enable)
0
(Three-phase output
forcrible cutoff disable)
H
L
H
L
High impedance
Peripheral input/output
or input/output port
Peripheral input/output
or input/output port
Peripheral input/output
or input/output port
Three-phase output
forcrible cutoff
(1)
IVPCR1 bit Status of U/V/W pins Remarks
SD pin inputs
(3)
1
(Three-phase output
forcrible cutoff enable)
0
(Three-phase output
forcrible cutoff disable)
H
L
(1)
H
L
(1)
High impedance
(4)
Three-phase output
forcrible cutoff
Input/output port
(2)
Three-phase PWM output
Three-phase PWM output
The effect of SD pin input is below.
1.Case of INV03 = 1(Three-phase motor control timer output enabled)
PWCON
Symbol Address After Reset
TB2SC 039E
16
X0000000
2
Timer B2 reload timing
switch bit
Timer B2 Special Mode Register
(1)
Bit Name FunctionBit Symbol
b7 b6 b5 b4 b3 b2 b1 b0
IVPCR1 Three-phase output port
SD control bit 1
RW
RW
RW
Nothing is assigned. If necessary, set to 0.
When read, the content is 0.
(b7)
TB2SEL Trigger select bit 0: TB2 interrupt
1: Underflow of TB2 interrupt
generation frequency setting counter [ICTB2]
RW
RW
TB0EN Timer B0 operation mode
select bit 0: Other than A/D trigger mode
1: A/D trigger mode RW
TB1EN Timer B1 operation mode
select bit 0: Other than A/D trigger mode
1: A/D trigger mode RW
(2)
(3, 4, 7)
(5)
(5)
(6)
(b6-b5) Reserved bits Set to 0
00
NOTES:
1. Write to this register after setting the PRC1 bit in the PRCR register to 1 (write enabled).
2. If the INV11 bit is 0 (three-phase mode 0) or the INV06 bit is 1 (triangular wave modulation mode), set this bit to 0 (timer
B2 underflow).
3. When setting the IVPCR1 bit to 1 (three-phase output forcible cutoff by SD pin input enabled), Set the PD8
5
bit to 0 (= input
mode).
4. Related pins are U(P8
0
), U(P8
1
), V(P7
2
), V(P7
3
), W(P7
4
), W(P7
5
). When a high-level ("H") signal is applied to the SD pin
and set the IVPCR1 bit to 0 after forcible cutoff, pins U, U, V, V, W, and W are exit from the high-impedance state. If a low-
level (L) signal is applied to the SD pin, three-phase motor control timer output will be disabled (INV03=0). At this time,
when the IVPCR1 bit is 0, pins U, U, V, V, W, and W become programmable I/O ports. When the IVPCR1 bit is set to 1,
pins U, U, V, V, W, and W are placed in a high-impedance state regardless of which function of those pins is used.
5. When this bit is used in delayed trigger mode 0, set bits TB0EN and TB1EN to 1 (A/D trigger mode).
6. When setting the TB2SEL bit to 1 (underflow of TB2 interrupt generation frequency setting counter[ICTB2]), set the INV02
bit to 1 (three-phase motor control timer function).
NOTE:
1. The three-phase output forcrible cutoff function becomes effective if the INPCR1 bit is set to 1 (three-phase output
forcrible cutoff function enable) even when the INV03 bit is 0 (three-phase motor control timer output disalbe)
2.Case of INV03 = 0(Three-phase motor control timer output disabled)
0: Timer B2 underflow
1: Timer A output at odd-numbered
12. T imer
)B82/C61M,82/C61M(puorG82/C61M
page 129
583fo7002,13.naJ00.2.veR 0020-7400B90JER
Figure 12.31 TB2 Register, TRGSR Register, and TABSR Register
Symbol Address After Reset
TB2 0395
16
-0394
16
Indeterminate
b7 b0 b7 b0
(b15) (b8)
RW
0000
16
to FFFF
16
Function Setting Range
Timer B2 Register (1)
NOTE:
1. Access the register by 16 bit units.
RW
Divide the count source by n + 1 where n = set value.
Timer A1, A2 and A4 are started at every occurrence of
underflow.
TA1TGL
Symbol Address After Reset
TRGSR 0383
16
00
16
Timer A1 event/trigger
select bit To use the V-phase output control
circuit, set these bits to 01
2
(TB2
underflow).
Trigger Select Register
Bit Name Function
Bit Symbol
b0
To use the W-phase output control
circuit, set these bits to 01
2
(TB2
underflow).
0 0 :
Input on TA3
IN
is selected (1)
0 1 :
TB2 is selected (2)
1 0 :
TA2 is selected
(2)
1 1 :
TA4 is selected (2)
To use the U-phase output control
circuit, set these bits to 01
2
(TB2
underflow).
Timer A2 event/trigger
select bit
Timer A3 event/trigger
select bit
Timer A4 event/trigger
select bit
RW
TA1TGH
TA2TGL
TA2TGH
TA3TGL
TA3TGH
TA4TGL
TA4TGH
b5 b4
NOTES:
1. Set the corresponding port direction bit to 0 (input mode).
2. Overflow or underflow.
b7 b6 b5 b4 b3 b2 b1
Symbol Address After reset
TABSR 0380
16
00
16
Count Start Flag
Bit name FunctionBit symbol
b7 b6 b5 b4 b3 b2 b1 b0
AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAA
Timer B2 count start flag
Timer B1 count start flag
Timer B0 count start flag
Timer A4 count start flag
Timer A3 count start flag
Timer A2 count start flag
Timer A1 count start flag
Timer A0 count start flag 0 : Stops counting
1 : Starts counting
TB2S
TB1S
TB0S
TA4S
TA3S
TA2S
TA1S
TA0S
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
12. T imer
)B82/C61M,82/C61M(puorG82/C61M
page 130
583fo7002,13.naJ00.2.veR 0020-7400B90JER
Figure 12.32 TA1MR, TA2MR, TA4MR, and TB2MR Registers
Bit Name
Timer Ai Mode Register
Function
Bit Symbol
b7 b6 b5 b4 b3 b2 b1 b0
Operation mode
select bit Set to 10
2
(one-shot timer mode) for the
three-phase motor control timer function
TMOD1
TMOD0
MR0 Pulse output function
select bit Set to 0 for the three-phase motor control
timer function
MR2
MR1
MR3 Set to 0 for the three-phase motor control timer function
TCK1
TCK0
Count source select bit
100
Trigger select bit
External trigger select
bit
RW
Timer B2 Mode Register
Bit Name Function
Bit Symbol RW
b7 b6 b5 b4 b3 b2 b1 b0
Operation mode select bit Set to 00
2
(timer mode) for the three-
phase motor control timer function
TMOD1
TMOD0
MR0
MR2
MR1
MR3
0 0 : f
1
or f
2
0 1 : f
8
1 0 : f
32
1 1 : f
C32
TCK1
TCK0 Count source select bit
0
When write in three-phase motor control timer function, write 0.
When read, its content is indeterminate.
0
b7 b6
1
0
No effect for the three-phase motor control
timer function
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RO
No effect for the three-phase motor control timer function.
When write, set to 0. When read, its content is indeterminate.
Set to 0 for the three-phase motor control timer function
0
Symbol Address After Reset
TB2MR 039D
16
00XX0000
2
Symbol Address After Reset
TA1MR 0397
16
00
16
TA2MR 0398
16
00
16
TA4MR 039A
16
00
16
Set to 1 (selected by event/trigger select
register) for the three-phase motor control
timer function
b7 b6
0 0 : f
1
or f
2
0 1 : f
8
1 0 : f
32
1 1 : f
C32
12. T imer
)B82/C61M,82/C61M(puorG82/C61M
page 131
583fo7002,13.naJ00.2.veR 0020-7400B90JER
Figure 12.33 Triangular Wave Modulation Operation
The three-phase motor control timer function is enabled by setting the INV02 bit in the INVC0 register to 1.
When this function is on, timer B2 is used to control the carrier wave, and timers A4, A1 and A2 are used to
__ ___ ___
control three-phase PWM outputs (U, U, V, V, W and W). The dead time is controlled by a dedicated dead-
time timer. Figure 12.33 shows the example of triangular modulation waveform, and Figure 12.34 shows
the example of sawtooth modulation waveform.
Start trigger signal
for timer A4(1)
Timer B2
U phase
Triangular wave
Signal wave
U phase
output signal (1)
mnn pp
m
U phase
U phase
U phase
INV14 = 0
Triangular waveform as a Carrier Wave
Timer A4
one-shot pulse(1)
INV14 = 1
Dead time
Dead time
Rewrite registers IDB0 and IDB1
NOTE:
1. Internal signals. See Figure 12.25.
Examples of PWM output change are:
(1)When INV11 = 1 (three-phase mode 1)
· INV01 = 0 and ICTB2 = 216 (the timer B2 interrupt is generated
every two times the timer B2 underflows),
or INV01 = 1, INV00 = 1, and ICTB2=116 (the timer B2 interrupt is
generated at the falling edge of the timer A1 reload control signal.)
· Default value of the timer: TA41 = m, TA4 = m.
Registers TA4 and TA41 are changed whenever the timer B2
interrupt is generated.
First time, TA41 = n, TA4 = n. Second time, TA41 = p, TA4 = p.
· Default values of registers IDB0 and IDB1:
DU0 = 1, DUB0 = 0, DU1 = 0, DUB1 = 1.
They are changed to DU0 = 1, DUB0 = 0, DU1= 1 and DUB1 = 0
when the third timer B2 interrupt is generated.
(2)When INV11 = 0 (three-phase mode 0)
· INV01 = 0, ICTB2 = 116 (the timer B2 interrupt is generated
whenever timer B2 underflows)
· Default value of the timer: TA4 = m. The TA4 register is changed
whenever the timer B2 interrupt is generated.
First time: TA4 = m. Second tim:, TA4 = n.
Third time: TA4 = n. Fourth time: TA4 = p.
Fifth time: TA4 = p.
· Default values of registers IDB0 and IDB1:
DU0 = 1, DUB0 = 0, DU1 = 0, DUB1 = 1.
They are changed to DU0 = 1, DUB0 = 0, DU1 = 1, and DUB1 = 0
when the sixth timer B2 interrupt is generated.
TB2S bit in the
TABSR register
INV13
(INV11=1(three-phase
mode 1))
The above applies under the following conditions:
INVC0 = 00XX11XX2 (X varies depending on each system) and INVC1 = 010XXXX02.
U phase
output signal (1)
(L active)
(H active)
The value written to registers TA4 and TA41 becomes effective at the rising edge of the timer A1 reload control signal.
Transfer the values
to the three-phase
output shift register
12. T imer
)B82/C61M,82/C61M(puorG82/C61M
page 132
583fo7002,13.naJ00.2.veR 0020-7400B90JER
Figure 12.34 Sawtooth Wave Modulation Operation
Timer B2
U phase
Sawtooth wave
Signal wave
U phase
output signal
(1)
U phase
U phase
output signal
(1)
U phase
U phase
INV14 = 0
Sawtooth Waveform as a Carrier Wave
INV14 = 1
NOTE:
1. Internal signals. See Figure 12.25.
The above applies under the following conditions:
INVC0 = 01XX110X
2
(X varies depending on each system) and INVC1 = 010XXX00
2
.
Examples of PWM output change are:
Default value of registers IDB0 and IDB1: DU0=0, DUB0=1, DU1=1, DUB1=1.
They are changed to DU0=1, DUB0=0, DU1=1, DUB1=1 when the timer B2 interrupt is generated.
Start trigger signal
for timer A4
(1)
Timer A4
one-shot pulse
(1)
Dead time
Dead time
(H active)
(L active)
Transfer the values to the three-
phase output shift register
Rewrite registers
IDB0 and IDB1
12. T imer
)B82/C61M,82/C61M(puorG82/C61M
page 133
583fo7002,13.naJ00.2.veR 0020-7400B90JER
12.3.1 Position-Data-Retain Function
This function is used to retain the position data synchronously with the three-phase waveform
output.There are three position-data input pins for U, V, and W phases.
A trigger to retain the position data (hereafter, this trigger is referred to as "retain trigger") can be selected
by the PDRT bit in the PDRF register. This bit selects the retain trigger to be the falling edge of each
positive phase, or the rising edge of each positive phase.
12.3.1.1 Operation of the Position-data-retain Function
Figure 12.35 shows a usage example of the position-data-retain function (U phase) when the retain
trigger is selected as the falling edge of the positive signal.
(1) At the falling edge of the U-phase waveform ouput, the state at pin IDU is transferred to the PDRU
bit in the PDRF register.
(2) Until the next falling edge of the Uphase waveform output,the above value is retained.
T
r
a
n
sfe
rr
ed
Carrier wave
U-phase waveform output
U-phase waveform output
1 2
T
r
a
n
sfe
rr
ed
T
r
a
n
sfe
rr
ed
T
r
a
n
sfe
rr
ed
Pin IDU
Note:
Note:
The retain trigger is the falling edge of the positive signal.
PDRU bit
Figure 12.35 Usage Example of Position-data-retain Function (U phase )
12. T imer
)B82/C61M,82/C61M(puorG82/C61M
page 134
583fo7002,13.naJ00.2.veR 0020-7400B90JER
12.3.1.2 Position-data-retain Function Control Register
Figure 12.36 shows the structure of the position-data-retain function contol register.
Figure 12.36 PDRF Register
12.3.1.2.1 W-phase Position Data Retain Bit (PDRW)
This bit is used to retain the input level at pin IDW.
12.3.1.2.2 V-phase Position Data Retain Bit (PDRV)
This bit is used to retain the input level at pin IDV.
12.3.1.2.3 U-phase Position Data Retain Bit (PDRU)
This bit is used to retain the input level at pin IDU.
12.3.1.2.4 Retain-trigger Polarity Select Bit (PDRT)
This bit is used to select the trigger polarity to retain the position data.
When this bit is set to "0", the rising edge of each positive phase selected.
When this bit is set to "1", the falling edge of each pocitive phase selected.
Position-data-retain Function
C
ontrol Re
g
ister (1)
Symbol Address After Reset
PDRF 034E16 XXXX 00002
RO
RO
RO
RWBit Name FunctionBit Symbol
PDRW
PDRV
PDRU
W-phase position
data retain bit
Input level at pin IDU is read out.
0: "L" level
1: "H" level
NOTES:
1.This register is valid only in the three-phase mode.
Retain-trigger
polarity select bit
(b7-b4)
RW
PDRT
V-phase position
data retain bit
Nothing is assigned. When write, set to "0". When read,
contents are indeterminate.
U-phase position
data retain bit
Input level at pin IDV is read out.
0: "L" level
1: "H" level
Input level at pin IDW is read out.
0: "L" level
1: "H" level
0: Rising edge of positive phase
1: Falling edge of positive phase
b
7
b3
b
2b1b0
13. T imer S
)B82/C61M,82/C61M(puorG82/C61M
page 135
583fo7002,13.naJ00.2.veR 0020-7400B90JER
13. Timer S
The Timer S (Input Capture/Output Compare : here after, Timer S is referred to as "IC/OC".) is a high-
performance I/O port for time measurement and waveform generation.
The IC/OC has one 16-bit base timer for free-running operation and eight 16-bit registers for time measure-
ment and waveform generation.
Table 13.1 lists functions and channels of the IC/OC.
Table 13.1 IC/OC Functions and Channels
Function Description
Time measurement (1) 8 channels
Digital filter 8 channels
Trigger input prescaler 2 channels
Trigger input gate 2 channels
Waveform generation (1) 8 channels
Single-phase waveform output Available
Phase-delayed waveform output Available
Set/Reset waveform output Available
NOTES:
1. The time measurement function and the waveform generating function share a pin.
The time measurement function or waveform generating function can be selected for each channel.
13. T imer S
)B82/C61M,82/C61M(puorG82/C61M
page 136
583fo7002,13.naJ00.2.veR 0020-7400B90JER
Figure 13.1 IC/OC Block Diagram
BTS: Bits in the G1BCR1 register
CTS1 to CTS0, DF1 to DF0, GT, PR : Bits in the G1TMCRj register (j= 0 to 7)
PCLK0 : Bits in the PCLKR register
G1TM0, G1PO0
register
G1TM1, G1PO1
register
G1TM2, G1PO2
register
G1TM3, G1PO3
register
G1TM4, G1PO4
register
G1TM5, G1PO5
register
G1TM6, G1PO6
register
G1TM7, G1PO7
register
PWM
output
PWM
output
PWM
output
PWM
output
Base timer reset
(n+1)
Divider register
Edge
select
Digital
filter
Gate
function
Edge
select
Digital
filter
Gate
function
Edge
select
Digital
filter
Edge
select
Digital
filter
INPC1
0
INPC1
1
INPC1
6
(G1DV)
GT
GT PR
PR
Ch0 to ch7
interrupt request signal
OUTC1
0
OUTC1
1
OUTC1
4
OUTC1
5
Prescaler
function
Prescaler
function
OUTC1
6
OUTC1
7
OUTC1
2
OUTC1
3
(Note 1)
Base timer
fBT1
Edge
select
Digital
filter
INPC1
2
Two-phase
pulse input
BCK1 to BCK0 : Bits in the G1BCR0 register
Request from INT1 pin
BTS
Request by matching G1PO0 register and base timer
Base timer over flow request
BCK1 to BCK0
11
10
00
10:f
BT1
11: f
1
or f
2
DF1 to DF0 CTS1 to CTS0
CTS1 to CTS0
CTS1 to CTS0
00
DF1 to DF0
00
DF1 to DF0
00
DF1 to DF0
00
0
0
1
0
1
0
1
1
DF1 to DF0
Base timer reset
register (G1BTRR)
Request by matching G1BTRR and base timer
00
CTS1 to CTS0
DF1 to DF0 Edge
select
Digital
filter
INPC1
3
DF1 to DF0 Edge
select
Digital
filter
INPC1
4
CTS1 to CTS0
DF1 to DF0 Edge
select
Digital
filter
INPC1
5
CTS1 to CTS0
INPC1
7
Digital
debounce
Base timer reset request
Base timer interrupt request
00
00
CTS1 to CTS0
CTS1 to CTS0
1/2 PCLK0=0
PCLK0=1
f
1
or f
2
f
1
or f
2
Main clock,
PLL clock,
On-chip
oscillator clock
10:f
BT1
11: f
1
or f
2
10:f
BT1
11: f
1
or f
2
10:f
BT1
11: f
1
or f
2
10:f
BT1
11: f
1
or f
2
10:f
BT1
11: f
1
or f
2
10:f
BT1
11: f
1
or f
2
10:f
BT1
11: f
1
or f
2
Figure 13.1 shows the block diagram of the IC/OC.
13. T imer S
)B82/C61M,82/C61M(puorG82/C61M
page 137
583fo7002,13.naJ00.2.veR 0020-7400B90JER
Figures 13.2 to 13.10 show registers associated with the IC/OC base timer, the time measurement func-
tion, and the waveform generating function.
Figure 13.2 G1BT and G1BCR0 Registers
Base Timer Register
(1)
Symbol Address After Reset
G1BT 0321
16
- 0320
16
Indeterminate
RW
RW
Function
(b7) b0
Setting Range
0000
16
to FFFF
16
b8b15 b7
(b0)
When the base timer is operating:
When read, the value of base timer plus 1 can
be read. When write, the counter starts counting
from the value written. When the base timer is
reset, this register is set to "0000
16
".
(2)
When the base timer is reset:
This register is set to "0000
16
" but a value read
is indeterminate. No value is written
(2)
NOTES:
1.
The G1BT register reflects the value of the base timer, synchronizing with the count source f
BT1
cycles.
2. This base timer stops only when the BCK1 to BCK0 bits in the G1BCR0 register are set to "00
2
" (count
source clock stop). The base timer operates when the BCK1 to BCK0 bits are set to other than "00
2
".
When the BTS bit in the G1BCR1 register is set to "0", the base timer is reset continuously, and remaining
set to "0000
16
". When the BTS bit is set to "1", this state is cleared and the timer starts counting.
Base Timer Control Register 0
Symbol Address After Reset
G1BCR0 032216 0016
RW
RW
RW
RW
RW
RWBit Name FunctionBit Symbol
: Clock stop
: Do not set to this value
: Two-phase input (1)
: f1 or f2 (2)
b1
0
0
1
1
b0
0
1
0
1
BCK0
BCK1
RST4
Count source
select bit
Channel 7 input
select bit
IT Base timer
interrupt select bit 0: Bit 15 in the base timer overflows
1: Bit 14 in the base timer overflows
CH7INSEL
0: Do not reset Base timer by matching
G1BTRR
1: Reset Base timer by matching
G1BTRR(3)
NOTES:
1. This setting can be used when the UD1 to UD0 bits in the G1BCR1 register are set to "102" (two-
phase signal processing mode). Do not set the BCK1 to BCK0 bits to "102" in other modes.
2. When the PCLK0 bit in the PCLKR register is set to "0", the count source is f2 cycles. And when
the PCLK0 bit is set to set to "1", the count source is f1 cycles.
3. When the RST4 bit is set to "1", set the RST1 bit in the G1BCR1 register to "0".
Base timer reset
cause select bit 4
0: P27/OUTC17/INPC17 pin
1: P17/INT5/INPC17/IDU pin
Reserved bit Set to "0"
(b5-b3) RW
b7 b6 b5 b4 b3 b2 b1 b0
0
0
0
13. T imer S
)B82/C61M,82/C61M(puorG82/C61M
page 138
583fo7002,13.naJ00.2.veR 0020-7400B90JER
Figure 13.3 G1DV Register and G1BCR1 Register
Divider Register
Symbol Address After Reset
G1DV 032A16 0016
b7 b6 b5 b4 b3 b2 b1 b0
RW
RW
Function Setting range
Divide f1, f2 or two-phase pulse input by (n+1)
for fBT1 clock cycles generation.
n: the setting value of the G1DV register
0016 to FF16
RST1
0: The base timer is not reset by
applying "L" to the INT1 pin
1: The base timer is reset by applying "L"
to the INT1 pin
Base Timer Control Register 1
Symbol Address After Reset
G1BCR1
0323
16
00
16
RW
RW
RW
RW
RW
RW
RW
RW
Bit Name Function
Bit
Symbol
b6
0
0
1
1
b5
0
1
0
1
(b0)
RST2
BTS
UD0
UD1
Base T imer Reset
Cause Select Bit 1
Base T imer Reset
Cause Select Bit 2
Counter Increment/
Decrement Control Bit
0: Base timer is reset
1: Base timer starts counting
: Counter increment mode
: Counter increment/decrement mode
: Two-phase pulse signal processing
mode
: Do not set to this value
NOTES:
1. The base timer is reset two f
BT1
clock cycles after the base timer matches the value set in the
G1PO0 register. (See Figure 13.7 for details on the G1PO0 register) When the RST1 bit is set to
"1", the value of the G1POj register (j=1 to 7) for the waveform generating function must be set to a
value smaller than that of the G1PO0 register.
When the RST1 bit is set to "1", set the RST4 bit in the G1BCR0 register to "0".
Reserved Bit Set to "0".
0: The base timer is not reset by
matching the G1PO0 register
1: The base timer is reset by matching
with the G1PO0 register
(1)
Reserved Bit Set to "0".
Reserved Bit Set to "0". RW
(b3)
(b7)
Base T imer Start Bit
0 00
b7 b6 b5 b4 b3 b2 b1 b0
13. T imer S
)B82/C61M,82/C61M(puorG82/C61M
page 139
583fo7002,13.naJ00.2.veR 0020-7400B90JER
Figure 13.4 G1BTRR Register
Base Timer Reset Register
(1)
Symbol Address After Reset
G1BTRR 0329
16
- 0328
16
Indeterminate
RW
RW
Function Setting Range
When enabled by the RST4 bit in the G1BCR0
register, the base timer is reset by matching the
G1BTRR register setting value and the base
timer setting value.
000016 to FFFF16
b15 b0b7
b8
(b7) (b0)
NOTES:
1.
The G1BTRR register reflects the value of the base timer, synchronizing with the count source fBT1 cycles.
13. T imer S
)B82/C61M,82/C61M(puorG82/C61M
page 140
583fo7002,13.naJ00.2.veR 0020-7400B90JER
Figure 13.5 G1TMCR0 to G1TMCR7 Registers, and G1TPR6 to G1TPR7 Registers
Time Measurement Control Register j (j=0 to 7)
Symbol
G1TMCR0 to G1TMCR3
G1TMCR4 to G1TMCR7
Address
0318
16
, 0319
16
, 031A
16
, 031B
16
031C
16
, 031D
16
, 031E
16
, 031F
16
After Reset
00
16
00
16
RW
RW
RW
RW
RW
RW
RW
RW
RW
Bit Name Function
Bit
Symbol
CTS0
CTS1
DF0
Time Measurement
Trigger Select Bit
DF1
Gate Function
Select Bit (2)
GT
GOC
PR
GSC
Digital Filter Function
Select Bit
Gate Function Clear
Select Bit (2, 3, 4)
0 : Gate function is not used
1 : Gate function is used
Gate Function Clear
Bit (2, 3)
Prescaler Function
Select Bit (2)
b1
0
0
1
1
b0
0
1
0
1
: No time measurement
: Rising edge
: Falling edge
: Both edges
b3
0
0
1
1
b2
0
1
0
1
: No digital filter
: Do not set to this value
: fBT1
: f1 or f2 (1)
0 : Not cleared
1 : The gate is cleared when the base
timer matches the G1POk register
The gate is cleared by setting the
GSC bit to "1"
0 : Not used
1 : Used
NOTES:
1. When the PCLK0 bit in the PCLKR register is set to "0", the count source is f
2
cycles. And when the
PCLK0 bit is set to "1", the count source is f
1
cycles.
2. These bits are in the G1TMCR6 and G1TMCR7 registers. Set all bits 4 to 7 in the G1TMCR0 to
G1TMCR5 registers to "0".
3. These bits are enabled when the GT bit is set to "1".
4. The GOC bit is set to "0" after the gate function is cleared. See Figure 13.7 for details on the G1POk
register (k=4 when j=6 and k=5 when j=7).
b7 b6 b5 b4 b3 b2 b1 b0
Time Measurement Prescale Register j (j=6,7)(1)
Symbol Address After Reset
G1TPR6 to G1TPR7 0324
16
, 0325
16
00
16
RW
RW
Function Setting Range
As the setting value is n, time is measured when-
ever a trigger input is counted by n+1 (2) 0016 to FF16
NOTES:
1. The G1TPR6 to G1TPR7 registers reflect the base timer value, synchronizing with the count source
fBT1 cycles.
2. The first prescaler, after the PR bit in the G1TMCRj register is changed from "0" (not used) to "1"
(used), may be divided by n, rather than n+1. The subsequent prescaler is divided by n+1.
b7 b0
13. T imer S
)B82/C61M,82/C61M(puorG82/C61M
page 141
583fo7002,13.naJ00.2.veR 0020-7400B90JER
Figure 13.6 G1TM0 to G1TM7 Registers, and G1POCR0 to G1POCR7 Registers
Waveform Generation Control Register j (j=0 to 7)
Symbol Address After Reset
G1POCR0 to G1POCR3 0310
16
, 0311
16
, 0312
16
, 0313
16
0X00 XX00
2
G1POCR4 to G1POCR7 0314
16
, 0315
16
, 0316
16
, 0317
16
0X00 XX00
2
RW
RW
RW
RW
RW
RW
Bit Name Function
Bit
Symbol
MOD0
MOD1
Operating Mode
Select Bit
Output Initial Value
Select Bit
IVL
RLD
INV
0: "L" output as a default value
1: "H" output as a default value
Inverse Output Function
Select Bit
(2)
: Single waveform output mode
: SR waveform output mode
(1)
: Phase-delayed waveform
output mode
: Do not set to this value
0: Output is not inversed
1: Output is inversed
b1
0
0
1
1
b0
0
1
0
1
GiPOj Register Value
Reload T iming Select Bit
NOTES :
1. This setting is enabled only for even channels. In SR waveform output mode, values written to the
corresponding odd channel (next channel after an even channel) are ignored. Even channels
provide waveform output. Odd channels provide no waveform output.
2. The inverse output function is the final step in waveform generating process. When the INV bit is set
to "1", and "H" signal is provided a default output by setting the IVL bit to "0", and an "L" signal is
provided by setting it to "1".
3. In the SR waveform output mode, set not only the even channel but also the correspoinding even
channel (next channel after the even channel).
4. To provide either "H" or "L" signal output set in the IVL bit, set the FSCj bit in the G1FS register to
"0" (select waveform generating function) and IFEj bit in the G1FE register to "1" (functions for
channel j enabled). Then set the IVL bit to "0" or "1".
Nothing is assigned. When write, set to "0".
When read, its content is indeterminate.
Nothing is assigned. When write, set to "0".
When read, its content is indeterminate.
0: Reloads the G1POj register when
value is written
1: Reloads the G1POj register when
the base timer is reset
(b3-b2)
(b6)
b7 b6 b5 b4 b3 b2 b1 b0
Waveform Generation Register j (j=0 to 7)
Symbol
G1TM0 to G1TM2
G1TM3 to G1TM5
G1TM6 to G1TM7
RW
RO
Function Setting Range
b15
(b7) b8
(b0) Address
030116-030016, 030316-030216, 030516-030416
030716-030616, 030916-030816, 030B16-030A16
030D16-030C16, 030F16-030E16
After Reset
Indeterminte
Indeterminte
Indeterminte
The base timer value is stored every
measurement timing.
b7 b0
13. T imer S
)B82/C61M,82/C61M(puorG82/C61M
page 142
583fo7002,13.naJ00.2.veR 0020-7400B90JER
Figure 13.7 G1PO0 t o G1PO7 Registers
Waveform Generation Register j (j=0 to 7)
Symbol
G1PO0 to G1PO2
G1PO3 to G1PO5
G1PO6 to G1PO7
RW
RW
Function Setting Range
b15
(b7) b8
(b0)
Address
0301
16
-0300
16,
0303
16
-0302
16,
0305
16
-0304
16
0307
16
-0306
16,
0309
16
-0308
16,
030B
16
-030A
16
030D
16
-030C
16,
030F
16
-030E
16
After Reset
Indeterminate
Indeterminate
Indeterminate
When the RLD bit in the G1POCRj register is
set to "0", value written is immediately reloaded
into the G1POj register for output, for example,
a waveform output,reflecting the value.
When the RLD bit is set to "1", value reloaded
while the base timer is reset.
The value written can be read until reloaded.
b7 b0
0000
16
to
FFFF
16
13. T imer S
)B82/C61M,82/C61M(puorG82/C61M
page 143
583fo7002,13.naJ00.2.veR 0020-7400B90JER
Figure 13.8 G1FS and G1FE Registers
Function Enable Register(1)
Symbol Address After Reset
G1FE
032616 0016
b7 b6 b5 b4 b3 b2 b1 b0
RW
RW
RW
RW
RW
RW
RW
RW
RW
Bit Name
Bit
Symbol
IFE0
IFE1
IFE2
Channel 0 Function Enable Bit
IFE3
IFE4
IFE5
IFE7
Function
IFE6
0 : Disable function s for channel j
(2)
1 : Enable functions for channel j
(j=0 to 7)
Channel 1 Function Enable Bit
Channel 2 Function Enable Bit
Channel 3 Function Enable Bit
Channel 4 Function Enable Bit
Channel 5 Function Enable Bit
Channel 6 Function Enable Bit
Channel 7 Function Enable Bit
NOTES:
1.
The G1FE register reflects the base timer value, synchronizing with the count source fBT1 cycles.
2.
When functions for the channel j are disabled, each pin functions as an I/O port.
Function Select Register
Symbol Address After Reset
G1FS 032716 0016
b7 b6 b5 b4 b3 b2 b1 b0
RW
RW
RW
RW
RW
RW
RW
RW
RW
Bit Name
Bit
Symbol
FSC0
FSC1
FSC2
Channel 0 T ime Measure-
ment/W aveform Generating
Function Select Bit
FSC3
FSC4
FSC5
FSC7
Function
FSC6
0 : Select the waveform generating
function
1 : Select the time measurement
function
Channel 1 T ime Measure-
ment/W aveform Generating
Function Select Bit
Channel 2 T ime Measure-
ment/W aveform Generating
Function Select Bit
Channel 3 T ime Measure-
ment/W aveform Generating
Function Select Bit
Channel 4 T ime Measure-
ment/W aveform Generating
Function Select Bit
Channel 5 T ime Measure-
ment/W aveform Generating
Function Select Bit
Channel 6 T ime Measure-
ment/W aveform Generating
Function Select Bit
Channel 7 T ime Measure-
ment/W aveform Generating
Function Select Bit
13. T imer S
)B82/C61M,82/C61M(puorG82/C61M
page 144
583fo7002,13.naJ00.2.veR 0020-7400B90JER
Figure 13.9 G1IR Register
Interrupt Request Register
(1)
Symbol Address After Reset
G1IR
0330
16
Indeterminate
b7 b6 b5 b4 b3 b2 b1 b0
RW
RW
RW
RW
RW
RW
RW
RW
RW
Bit Name
Bit
Symbol
G1IR0
G1IR1
G1IR2
Interrupt Request, Ch0
G1IR3
G1IR4
G1IR5
G1IR7
Function
G1IR6
0 : No interrupt request
1 : Interrupt requested
Interrupt Request, Ch1
Interrupt Request, Ch2
Interrupt Request, Ch3
Interrupt Request, Ch4
Interrupt Request, Ch5
Interrupt Request, Ch6
Interrupt Request, Ch7
NOTES:
1. When writing "0" to each bit in the G1IR register, use the following instruction:
AND, BCLR
13. T imer S
)B82/C61M,82/C61M(puorG82/C61M
page 145
583fo7002,13.naJ00.2.veR 0020-7400B90JER
Figure 13.10 G1IE0 and G1IE1 Registers
Interrupt Enable Register 0
Symbol Address After Reset
G1IE0 0331
16
00
16
b7 b6 b5 b4 b3 b2 b1 b0
RW
RW
RW
RW
RW
RW
RW
RW
RW
Bit Name
Bit
Symbol
G1IE00
G1IE01
G1IE02
Interrupt Enable 0, CH0
G1IE03
G1IE04
G1IE05
G1IE07
Function
G1IE06
0 : IC/OC interrupt 0 request disable
1 : IC/OC interrupt 0 request enable
Interrupt Enable 0, CH1
Interrupt Enable 0, CH2
Interrupt Enable 0, CH3
Interrupt Enable 0, CH4
Interrupt Enable 0, CH5
Interrupt Enable 0, CH6
Interrupt Enable 0, CH7
Interrupt Enable Register 1
Symbol Address After Reset
G1IE1 0332
16
00
16
b7 b6 b5 b4 b3 b2 b1 b0
RW
RW
RW
RW
RW
RW
RW
RW
RW
Bit Name
Bit
Symbol
G1IE10
G1IE11
G1IE12
Interrupt Enable 1, CH0
G1IE13
G1IE14
G1IE15
G1IE17
Function
G1IE16
0 : IC/OC interrupt 1 request disable
1 : IC/OC interrupt 1 request enable
Interrupt Enable 1, CH1
Interrupt Enable 1, CH2
Interrupt Enable 1, CH3
Interrupt Enable 1, CH4
Interrupt Enable 1, CH5
Interrupt Enable 1, CH6
Interrupt Enable 1, CH7
13. T imer S
)B82/C61M,82/C61M(puorG82/C61M
page 146
583fo7002,13.naJ00.2.veR 0020-7400B90JER
The timer increments
a counter on all edges The timer decrements
a counter on all edges
P8
0
P8
1
13.1 Base Timer
The base timer is a free-running counter that counts an internally generated count source.
Table 13.2 lists specifications of the base timer. Table 13.3 shows registers associated with the base timer.
Figure 13.11 shows a block diagram of the base timer. Figure 13.12 shows an example of the base timer
in counter increment mode. Figure 13.13 shows an example of the base timer in counter increment/decre-
ment mode. Figure 13.14 shows an example of two-phase pulse signal processing mode.
Table 13.2 Base Timer Specifications
Item Specification
Count source(fBT1)f1 or f2 divided by
(n+1)
, two-phase pulse input divided by
(n+1)
n: determined by the DIV7 to DIV0 bits in the G1DV register. n=0 to 255
However, no division when n=0
Counting operation The base timer increments the counter value
The base timer increments/decrements the counter value
Two-phase pulse signal processing
Count start condition The BTS bit in the G1BCR1 register is set to "1"
(
base timer starts counting)
Count stop condition The BTS bit in the G1BCR1 register is set to "0" (base timer reset)
Base timer reset condition (1) The value of the base timer matches the value of the G1BTRR register
(2) The value of the base timer matches the value of G1PO0 register.
________
(3) Apply a low-level signal ("L") to external interrupt pin,INT1 pin
Value for base timer reset "0000 16"
Interrupt request The base timer interrupt request is generated:
(1) When the bit 14 or bit 15 in the base timer overflows
(2) The value of the base timer value matches the value of the base timer
reset register (See Figure 13.11)
Read from timer The G1BT register indicates a counter value while the base timer is running
The G1BT register is indeterminate when the base timer is reset
Write to timer When a value is written while the base timer is running, the timer counter
immediately starts counting from this value. No value can be written while
the base timer is reset.
Selectable function Counter increment/decrement mode
The base timer starts counting from "000016". After incrementing to
"FFFF16", the timer counter is then decremented back to "000016". The base
timer increments the counter value again when the timer counter reaches
"000016". (See Figure 13.13)
Two-phase pulse processing mode
Two-phase pulse signals
from P8
0
and P8
1
pins are counted
(See Figure
13.14)
13. T imer S
)B82/C61M,82/C61M(puorG82/C61M
page 147
583fo7002,13.naJ00.2.veR 0020-7400B90JER
Table 13.3 Base Timer Associated Register Settings (Time Measurement Function, Waveform
Generation Function, Communication Function)
Register Bit Function
G1BCR0 BCK1 to BCK0 Select a count source
RST4 Select base timer reset timing
IT Select the base timer overflow
G1BCR1 RST2 to RST1 Select base timer reset timing
BTS Used to start the base timer
UD1 to UD0 Select how to count
G1BT - Read or write base timer value
G1DV - Divide ratio of a count source
Set the following registers to set the RST1 bit to "1" (base timer reset by matching the base timer with the G1PO0 register)
G1POCR0 MOD1 to MOD0 Set to "002" (single-phase waveform output mode)
G1PO0 - Set reset cycle
G1FS FSC0 Set to "0" (waveform generating function)
G1FE IFE0 Set to "1" (channel operation start)
Figure 13.11 Base Timer Block Diagram
(n+1) divider
RST4
RST1
RST2
Matched with G1BTRR
Matched with G1PO0 register
Base timer
b14 b15
Base timer
overflow request
BCK1 to BCK0
IT
BTS bit in G1BCR1 register
Two-phase pulse input Overflow signal
Input "L" to INT1 pin
Base timer reset
11
10
0
1
fBT1
NOTES:
1. Divider is reset when the BTS bit is set to "0".
IT, RST4, BCK1 to BCK0 : Bits in the G1BCR0 register
RST2 to RST1: Bits in the G1BCR1 register
(Note 1)
f
1
or f
2
13. T imer S
)B82/C61M,82/C61M(puorG82/C61M
page 148
583fo7002,13.naJ00.2.veR 0020-7400B90JER
Figure 13.12 Counter Increment Mode
Figure 13.13 Counter Increment/Decrement Mode
FFFF
16
8000
16
0000
16
4000
16
C000
16
State of a counter
Base Timer interrupts
"1"
"0"
b14 overflow signal
"1"
"0"
b15 overflow signal
Base Timer interrupt
IT=0 in the G1BCR0 register
(Base timer interrupt generated
by the bit 15 overflow)
IT=1 in the G1BCR0 register
(Base timer interrupt generated
by the bit 14 overflow)
The above applies to the following conditions.
The RST4 bit in the G1BCR0 register is set to "0" (the base timer is not reset by matching the G1BTRR register)
The RST1 bit in the G1BCR1 register is set to "0" (the base timer is not reset by matching the G1PO0 register)
The UD1 to UD0 bits in the G1BCR1 register are set to "002" (counter increment mode)
FFFF
16
8000
16
4000
16
C000
16
0000
16
State of a counter
"1"
"0"
Base Timer interrupts
b14 overflow signal
"1"
"0"
b15 overflow signal
Base Timer interrupt
IT=0 in the G1BCR0 register
(Base timer interrupt generated
by the bit 15 overflow)
IT=1 in the G1BCR0 register
(Base timer interrupt generated
by the bit 14 overflow)
13. T imer S
)B82/C61M,82/C61M(puorG82/C61M
page 149
583fo7002,13.naJ00.2.veR 0020-7400B90JER
Figure 13.14 Base Timer Operation in Two-phase Pulse Signal Processing Mode
(1) When the base timer is reset while the base timer increments the counter
(2) When the base timer is reset while the base timer decrements the counter
( )
m
When selects no
division with the divider by (n+1)
Value of counter
min 1 µs
(Note 1)
min 1 µs
m+1 1 20
Set to "0" in this timing
Base timer starts counting
P80 (A-phase)
P81 (B-phase)
INT1 (Z-phase)
Set to "1" in this timing
min 1 µs
(1)
min 1 µs
m
Input waveform
Value of counter m-1 FFFF16 FFFE16
0
Set to "0" in this timing
NOTES:
1. 1.5 fBT1 clock cycle or more are required.
Base timer starts counting
P80 (A-phase)
P81 (B-phase)
INT1 (Z-phase)
Set to "FFFF16" in this timing
Input waveform
fBT1
fBT1
( )
When selects no
division with the divider by (n+1)
13. T imer S
)B82/C61M,82/C61M(puorG82/C61M
page 150
583fo7002,13.naJ00.2.veR 0020-7400B90JER
13.1.1 Base Timer Reset Register(G1BTRR)
The G1BTRR register provides the capability to reset the base timer when the base timer count value
matches the value stored in the G1BTRR register. The G1BTRR register is enabled by the RST4 bit in
the G1BCR0 register. This function is identical in operation to the G1PO0 base timer reset that is
enabled by the RST1 bit in the G1BCR0 reigster. If the free-running operation is not selected, the
channel 0 can be used for a waveform generation when the base timer is reset by the G1BTRR
register. Do not enable the RST1 bit and RST4 bit simultaneously.
Figure 13.15 Base Timer Reset operation by Base Timer Reset Register
Figure 13.16 Base Timer Reset operation by G1PO0 register
_______
Figure 13.17 Base Timer Reset operation by INT1
NOTE:
________ ________
1. INT1 Base Timer reset does not generate a Base Timer interrupt,INT1 may generate an interrupt if enabled.
Base timer
G1BTRR register
(Base timer reset register)
Base timer reset
RST4
m - 2 m - 1 m m + 1 0000
16
m
Base timer overflow request
(1)
NOTE:
1. Following conditions are required to generate a base timer overflow request by resetting the base timer.
If the IT bit is set to 0: 07FFF16m0FFFE16
If the IT bit is set to 1: 07FFF16m 0FFFE16 or 0BFFF16m0FFFE16
0001
16
Base timer
G1PO0
G1IR0
RST1
m - 2 m - 1 m m + 1 000016
m
000116
RST2
Base timer
P8
3
/INT1
m - 2 m - 1 m m + 1 0000
16
0001
16
13. T imer S
)B82/C61M,82/C61M(puorG82/C61M
page 151
583fo7002,13.naJ00.2.veR 0020-7400B90JER
13.2 Interrupt Operation
The IC/OC interrupt contains several request causes. Figure 13.18 shows the IC/OC interrupt block dia-
gram and Table 13.4 shows the IC/OC interrupt assignation.
When either the base timer reset request or base timer overflow request is generated, the IR bit in the BTIC
register corresponding to the IC/OC base timer interrupt is set to "1" (with an interrupt request). Also when
an interrupt request in each eight channels (channel i) is generated, the bit i in the G1IR register is set to "1"
(with an interrupt request). At this time, if the bit i in the G1IE0 register is "1" (IC/OC interrupt 0 request
enabled), the IR bit in the ICOC0IC register corresponding to the IC/OC interrupt 0 is set to "1" (with an
interrupt request). And if the bit i in the G1IE1 register is "1" (IC/OC interrupt 1 request enabled), the IR bit
in the ICOC1IC register corresponding to the IC/OC interrupt 1 is set to "1"(with an interrupt request).
Additionally, because each bit in the G1IR register is not automatically set to "0" even if the interrupt is
acknowledged, set to "0" by program. If these bits are left as "1", all IC/OC channel interrupt causes, which
are generated after setting the IR bit to "1", will be disabled.
Figure 13.18 IC/OC Interrupt and DMA request generation
Table 13.4 Interrupt Assignment
Interrupt Interrupt control register
IC/OC base timer interrupt BTIC(004716)
IC/OC interrupt 0 ICOC0IC(004516)
IC/OC interrupt 1 ICOC0IC(004616)
13.3 DMA Support
Each of the interrupt sources - the eight IC/OC channel interrupts and the one Base Timer interrupt - are
capable of generating a DMA request.
AAAAAA
AAAAAA
AAAAA
AAAAA
AAAAA
AAAAA
Interrupt Select Logic
Channel 0 to 7 Interrupt requests DMA Requests (channel 0 to 7)
All register are read / write G1IE0 G1IR G1IE1
IC/OC interrupt 1 request
IC/OC interrupt 0 request
IC/OC base timer interrupt request
Base timer reset request
Base timer overflow request Base Timer Interrupt / DMA Request
ENABLE REQUEST ENABLE
13. T imer S
)B82/C61M,82/C61M(puorG82/C61M
page 152
583fo7002,13.naJ00.2.veR 0020-7400B90JER
13.4 Time Measurement Function
In synchronization with an external trigger input, the value of the base timer is stored into the G1TMj
register (j=0 to 7). Table 13.5 shows specifications of the time measurement function. Table 13.6 shows
register settings associated with the time measurement function. Figures 13.19 and 13.20 display opera-
tional timing of the time measurement function. Figure 13.21 shows operational timing of the prescaler
function and the gate function.
Table 13.5 Time Measurement Function Specifications
Item Specification
Measurement channel Channels 0 to 7
Selecting trigger input polarity Rising edge, falling edge, both edges of the INPC1j pin (1)
Measurement start condition The IFEj bit in the G1FE register should be set to "1" (channels j function
enabled) when the FSCj bit (j=0 to 7) in the G1FS register is set to "1" (time
measurement function selected).
Measurement stop condition The IFEj bit should be set to "0" (channel j function disabled)
Time measurement timing No prescaler: every time a trigger signal is applied
Prescaler (for channel 6 and channel 7):
every
G1TPRk (k=6,7) register value +1
times a trigger signal is applied
Interrupt request generation timing The G1IRi bit (i=0 to 7) in the interrupt request register (See Figure 13.9) is
set to "1" at time measurement timing
INPC1j pin function (1) Trigger input pin
Selectable function Digital filter function
The digital filter samples a trigger input signal level every f1, f2 or fBT1
cycles and passes pulse signal matching trigger input signal level three
times
Prescaler function (for channel 6 and channel 7)
Time measurement is executed every
G1TPRk register value +1
times a
trigger signal is applied
Gate function (for channel 6 and channel 7)
After time measurement by the first trigger input, trigger input cannot be
accepted. However, while the GOC bit in the G1TMCRk register is set to
"1" (gate cleared by matching the base timer with the G1POp register (p=4
when k=6, p=5 when k=7)), trigger input can be accepted again by
matching the base timer value with the G1POp register setting
Digital Debounce function (for channel7)
See section 13.6.2 and 17.6 for details
NOTES:
1. The INPC10 to INPC17 pins
13. T imer S
)B82/C61M,82/C61M(puorG82/C61M
page 153
583fo7002,13.naJ00.2.veR 0020-7400B90JER
Table 13.6 Register Settings Associated with the Time Measurement Function
Register Bit Function
G1TMCRj CTS1 to CTS0 Select time measurement trigger
DF1 to DF0 Select the digital filter function
GT, GOC, GSC Select the gate function
PR Select the prescaler function
G1TPRk - Setting value of prescaler
G1FS FSCj Set to "1" (time measurement function)
G1FE IFEj Set to "1" (channel j function enabled)
j = 0 to 7 k = 6, 7
Bit configurations and function varys with channels used.
Registers associated with the time measurement function must be set after setting registers associated with the base timer.
Figure 13.19 Time Measurement Function (1)
FFFF16
p
p
n
n
m
m
Base timer
INPC1j pin input
000016
G1TMj register
G1IRj bit When setting to "0", write "0" by program
j=0 to 7
G1IRj bit : Bits in the G1IR register
Set the base timer to "0000
16
" (setting the RST1 bit to "1", and the RST4 and RST2 bits to "0"),
when the base timer value matches the G1PO0 register setting. The base timer is set to "0000
16
"
after it reaches the G1PO0 register value + 2.
The above applies to the following condition.
The CTS1 to CTS0 bits in the G1TMCRj registers are set to "01
2
" (rising edge). The
PR bit is set to "0" (no prescaler used) and the GT bit is set to"0" (no gate function
used).
The RTS4, RTS2, and RTS1 bits in the G1BCR0 and G1BCR1 registers are set to "0"
(no base timer reset). The UD1 to UD0 bits are set to "00
2
" (counter increment mode).
13. T imer S
)B82/C61M,82/C61M(puorG82/C61M
page 154
583fo7002,13.naJ00.2.veR 0020-7400B90JER
Figure 13.20 Time Measurement Function (2)
2. No interrupt is generated if the microcomputer receives a trigger signal when the G1IRj bit is set to "1".
1. Bits in the G1IR register.
2. Input pulse applied to the INPC1j pin requires 1.5 fBT1 clock cycles or more.
n-2 n-1 nn+1 n+2 n+3 n+4 n+5 n+6 n+7 n+8 n+9 n+10 n+11 n+12 n+13 n+14
n n +5 n+8
n-2 n-1 n n+1 n+2 n+3 n+4 n+5 n+6 n+7 n+8 n+9 n+10 n+11 n+12 n+13 n+14
n n+2 n+5 n+8 n+12
Delayed by 1 clock
fBT1
Base timer
INPC1j pin input or
trigger signal after
passing the digital
filter
G1TMj register
(a) When selecting the rising edge as a timer measurement trigger
(The CTS1 to CTS0 bits in the G1TMCR register (j=0 to 7)=01
2
)
G1IRj bit (1)
write "0" by program if setting to "0"
NOTES :
.
(2)
(b) When selecting both edges as a timer measurement trigger
(The CTS1 to CTS0 bits=11
2
)
Maximum 3.5 f1 or f2 or fBT1
clock cycles (1)
(c) Trigger signal when using digital filter
(The DF1 to DF0 bits in the G1TMCR register =10
2
or 11
2
)
Signals, which do not match 3
times, are stripped off
fBT1
Base timer
INPC1j pin input or
trigger signal after
passing the digital
filter
G1TMj register (2)
G1IRj bit (1)
f1 or f2 or fBT1 (1)
INPC1j pin
Trigger signal after
passing the digital
filter
NOTES :
.
1. Bits in the G1IR register.
However, the value of the G1TMj register is updated.
NOTES:
1. fBT1 when the DF1 to DF0 bits are set to "102", and f1 or f2 when set to "112".
The trigger signal is delayed
by the digital filter
write "0" by program
if setting to "0"
13. T imer S
)B82/C61M,82/C61M(puorG82/C61M
page 155
583fo7002,13.naJ00.2.veR 0020-7400B90JER
Figure 13.21 Prescaler Function and Gate Function
NOTE:
1. Bits in the G1IR register.
G1IRj bit
(1)
f
BT1
f
BT1
Base timer
G1IRj bit
(2)
G1TMj register
Internal time
measurement trigger
Prescaler
(1)
(a) With the prescaler function
(When the G1TPRj register (j = 6,7) is set to "02
16
", the PR bit in the G1TMCRj (j = 6,7) register is set to "1")
Base timer
INPC1j pin input or
trigger signal after
passing the digital
filter
Internal time
measurement trigger
IFEj bit in G1FE
register
G1POk register
match signal
Gate control signal
G1TMj register
Value of the G1POk register
This trigger input is disabled
due to gate function.
21 0
FFFF
16
0000
16
n-2 n-1 n n+2 n+3 n+4 n+5 n+6 n+7 n+8 n+9 n+10 n+11 n+14
n+1n+13
2
(b) With the gate function
(The gate function is cleared by matching the base timer with the G1POk register(k=4,5),
the GT bit in the G1TMCRj (j = 6, 7) register is set to "1", the GOC bit is set to "1")
INPC1j pin input or
trigger signal after
passing the digital
filter
Set 0 by program if necessary
Set 0 by program if necessary
Gate Gate
Gate cleared
n+1 +12 n+13
NOTES:
1. This applies to 2nd or later prescaler cycle after the PR bit in the G1TMCRj register is set to "1" (prescaler used).
2. Bits in the G1IR register.
13. T imer S
)B82/C61M,82/C61M(puorG82/C61M
page 156
583fo7002,13.naJ00.2.veR 0020-7400B90JER
13.5 Waveform Generating Function
Waveforms are generated when the base timer value matches the G1POj (j=0 to 7) register value.
The waveform generating function has the following three modes :
Single-phase waveform output mode
Phase-delayed waveform output mode
Set/Reset waveform output (SR waveform output) mode
Table 13.7 lists registers associated with the waveform generating function.
Table 13.7 Registers Related to the Waveform Generating Function Settings
Register Bit Function
G1POCRj MOD1 to MOD0 Select output waveform mode
IVL Select default value
RLD Select G1POj register value reload timing
INV Select inverse output
G1POj - Select timing to output waveform inverted
G1FS FSCj Set to "0" (waveform generating function)
G1FE IFEj Set to "1" (enables function on channel j)
j = 0 to 7
Bit configurations and functions vary with channels used.
Registers associated with the waveform generating function must be set after setting registers associated with the base timer.
13. T imer S
)B82/C61M,82/C61M(puorG82/C61M
page 157
583fo7002,13.naJ00.2.veR 0020-7400B90JER
13.5.1 Single-Phase Waveform Output Mode
Output signal level of the OUTC1j pin becomes high("H") when the INV bit in the G1POCRj (j=0 to 7)
register is set to "0"(output is not reversed) and the base timer value matches the G1POj (j=0 to 7)
register value. The "H" signal switches to a low-level ("L") signal when the base timer reaches "000016".
Table 13.8 lists specifications of single-phase waveform mode. Figure 13.22 lists an example of single-
phase waveform mode operation.
Table 13.8 Single-phase Waveform Output Mode Specifications
Item Specification
Output waveform Free-running operation
(the RST1, RST2, and RST4 bits of the G1BCR1 and G1BCR0 registers are set
to "0" (no reset))
Cycle
:
Default output level width
:
Inverse level width
:
The base timer is cleared to "000016" by matching the base timer with either
following register
(a)
G1PO0 register (enabled by setting RST1 bit to "1", and RST4 and RST2 bits to "0"), or
(b)
G1BTRR register (enabled by setting RST4 bit to "1", and RST2 and RST1 bits to "0")
Cycle
:
Default output level width
:
Inverse level width
:
m : setting value of the G1POj register (j=0 to 7), 0001
16
to FFFD
16
n : setting value of the G1PO0 register or the G1BTRR register, 0001
16
to FFFD
16
Waveform output start condition The IFEj bit in the G1FE register is set to "1" (channel j function enabled)
Waveform output stop condition The IFEj bit is set to "0" (channel j function disabled)
Interrupt request The G1IRj bit in the G1IR register is set to "1" when the base timer value
matches the G1POj register value (See Figure 13.22)
OUTC1j pin (1) Pulse signal output pin
Selectable function Default value set function : Set starting waveform output level
Inverse output function : Waveform output signal is inversed and provided
from the OUTC1j pin
NOTES:
1. The OUTC10 to OUTC17 pins .
m
fBT1
65536-m
fBT1
n+2
fBT1
m
fBT1
n+2-m
fBT1
65536
fBT1
13. T imer S
)B82/C61M,82/C61M(puorG82/C61M
page 158
583fo7002,13.naJ00.2.veR 0020-7400B90JER
Figure 13.22 Single-phase Waveform Output Mode
FFFF
16
m
m
f
BT1
65536-m
f
BT1
Inverse
65536
f
BT1
When setting to "0",
write "0" by program
Base timer
(1) Free-running operation
(The RST4, RST2, and RST1 bits in the G1BCR0 and G1BCR1 registers are set to "0")
(2) The base timer is reset when the base timer matches either following register
(a) G1PO0 (enabled by setting bit RST1 to "1", and bits RST4 and RST2 to "0"), or
(b) G1BTRR (enabled by setting bit RST4 to "1", and bits RST2 and RST1 to "0")
0000
16
OUTC1j pin
G1IRj bit
G1IRj bit
j=0 to 7
m : Setting value of the G1POj register
G1IRj bit : Bits in the G1IR register
OUTC1j pin
FFFF
16
m
n+2
Base timer
0000
16
Inverse
m
f
BT1
n+2-m
f
BT1
Inverse
n+2
f
BT1
Return to default output level
Write "0" by program
if setting to "0"
Return to default
output level
Inverse
Inverse
j = 1 to 7
m: Setting value of the G1POj register
n: Setting value of either G1PO0 register or G1BTRR register
G1IRj bit: Bits in the G1IR register
The above applies under the following conditions.
The IVL bit in the G1POCRj register is set to "0" ("L" output as a default value) and the INV
bit is set to "0" (not inversed).
The UD1 to UD0 bits are set to "00
2
" (counter increment mode).
The above applies under the following conditions.
The IVL bit in the G1POCRj register is set to "0" ("L" output as a default value) and the INV bit is set to "0" (not
inversed).
The UD1 to UD0 bits are set to "00
2
" (counter increment mode).
13. T imer S
)B82/C61M,82/C61M(puorG82/C61M
page 159
583fo7002,13.naJ00.2.veR 0020-7400B90JER
13.5.2 Phase-Delayed Waveform Output Mode
Output signal level of the OUTC1j pin is inversed every time the base timer value matches the G1POj
register value ( j=0 to 7). Table 13.9 lists specifications of phase-delayed waveform mode. Figure 13.23
shows an example of phase-delayed waveform mode operation.
Table 13.9 Phase-delayed Waveform Output Mode Specifications
Item Specification
Output waveform Free-running operation
(the RST1, RST2, and RST4 bits of the G1BCR1 and G1BCR0 registers are set
to "0" (no reset))
Cycle :
"H" and "L" width :
The base timer is cleared to "000016" by matching the base timer with either
following register
(a)
G1PO0 register (enabled by setting RST1 bit to "1", and RST4 and RST2 bits to "0"), or
(b)
G1BTRR register (enabled by setting RST4 bit to "1", and RST2 and RST1 bits to "0")
Cycle :
"H" and "L" width :
n : setting value of either G1PO0 register or G1BTRR register
Waveform output start condition The IFEj bit in the G1FE register is set to "1" (channel j function enabled)
Waveform output stop condition The IFEj bit is set to "0" (channel j function disabled)
Interrupt request The G1IRj bit in the interrupt request register is set to "1" when the base timer
value matches the G1POj register value. (See Figure 13.23)
OUTC1j pin (1) Pulse signal output pin
Selectable function Default value set function : Set starting waveform output level
Inverse output function : Waveform output signal is inversed and provided
from the OUTC1j pin
NOTES:
1. The OUTC10 to OUTC17 pins.
65536 x 2
fBT1
65536
fBT1
2(n+2)
fBT1
n+2
fBT1
13. T imer S
)B82/C61M,82/C61M(puorG82/C61M
page 160
583fo7002,13.naJ00.2.veR 0020-7400B90JER
Figure 13.23 Phase-delayed Waveform Output Mode
FFFF
16
m
65536
f
BT1
65536X2
f
BT1
0000
16
FFFF
16
m
n+2
0000
16
65536
f
BT1
m
f
BT1
n+2
f
BT1
n+2
f
BT1
2(n+2)
f
BT1
Base timer
(1) Free-running operation
(The RST4, RST2, and RST1 bits in the G1BCR0 and G1BCR1 registers are set to "0")
OUTC1j pin
G1IRj bit
j=0 to 7
m : Setting value of the G1POj register
G1IRj bit : Bits in the G1IR register
Inverse
Write "0" by program
if setting to "0"
Inverse
(2) Base timer is reset when the base timer matches either following register
(a) G1PO0 (enabled by setting bit RST1 to "1", and bits RST4 and RST2 to "0"), or
(b) G1BTRR (enabled by setting bit RST4 to "1", and bits RST2 and RST1 to "0")
G1IRj bit
OUTC1j pin
Base timer
Write "0" by program
if setting to "0"
Inverse
j=1 to 7
m : Setting value of the G1POj register n: Setting value of either register G1PO0 or G1BTRR
G1IRj bit : Bits in the G1IR register
The above applies under the following conditions.
The IVL bit in the G1POCRj register is set to "0" ("L" output as a default value).
The INV bit is set to "0" (not inversed).
The UD1 to UD0 bits are set to "00
2
" (counter increment mode).
The above applies under the following conditions.
The IVL bit in the G1POCRj register is set to "0" ("L" output as a default value). The INV bit
is set to "0" (not inversed).
The UD1 to UD0 bits are set to "00
2
" (counter increment mode).
Inverse
Inverse
13. T imer S
)B82/C61M,82/C61M(puorG82/C61M
page 161
583fo7002,13.naJ00.2.veR 0020-7400B90JER
13.5.3 Set/Reset Waveform Output (SR Waveform Output) Mode
Output signal level of the OUTC1j pin becomes high ("H") when the INV bit in the G1POCRi (i=0 to 7) is
set to "0" (output is not reversed) and the base timer value matches the G1POj register value (j=0, 2, 4, 6).
The "H" signal switches to a low-level ("L") signal when the base timer value matches the G1POk(k=j+1)
register value. Table 13.10 lists specifications of SR waveform mode. Figure 13.24 shows an example of
the SR waveform mode operation.
Table 13.10 SR Waveform Output Mode Specifications
Item Specification
Output waveform Free-running operation
(the RST1, RTS2, and RST4 bits of the G1BCR1 and G1BCR0 registers are set
to "0" (no reset))
Cycle :
Inverse level width
(1) :
The base timer is cleared to "000016" by matching the base timer with either
following register
(a)
G1PO0 register (enabled by setting RST1 bit to "1", and RST4 and RST2 bits to "0")
(2)
, or
(b)
G1BTRR register (enabled by setting RST4 bit to "1", and RST2 and RST1 bits to "0")
Cycle :
Inverse level width
(1) :
m : setting value of the G1POj register (j=0, 2, 4, 6 )
n : setting value of the G1POk register (k=j+1)
p : setting value of the G1PO0 register or G1BTRR register
value range of m, n, p: 000116 to FFFD16
Waveform output start condition
(3)
Bits IFEj and IFEk in the G1FE register is set to "1" (channel j function enabled)
Waveform output stop condition Bits IFEj and IFEk are set to "0" (channel j function disabled)
Interrupt request The G1IRj bit in the G1IR register is set to "1" when the base timer value
matches the G1POj register value.
The G1IRk bit in the interrupt request register is set to "1 " when the base
timer value matches the G1POk register value (See Figure 13.24)
OUTC1j pin
(3)
Pulse signal output pin
Selectable function Default value set function : Set starting waveform output level
Inverse output function : Waveform output signal is inversed and provided
from the OUTC1j pin
NOTES:
1. The odd channel's waveform generating register must have greater value than the even channel's.
2. When the G1PO0 register resets the base timer, the channel 0 and channel 1 SR waveform generating functions
are not available.
3. The OUTC10, OUTC12, OUTC14, OUTC16 pins.
65536
fBT1
n-m
fBT1
p+2
fBT1
n-m
fBT1
13. T imer S
)B82/C61M,82/C61M(puorG82/C61M
page 162
583fo7002,13.naJ00.2.veR 0020-7400B90JER
Figure 13.24 Set/Reset Waveform Output Mode
FFFF16
m
n
n-m
fBT1
65536
fBT1
000016
FFFF16
m
p+2
n
000016
65536-n+m
fBT1
n-m
fBT1 p+2-n+m
fBT1
p+2
fBT1
(1) Free-running operation
(Bits RST2 and RST1 in the G1BCR0 register and the RST4 bit in the G1BCR1
register are set to 0)
j=0, 2, 4, 6 k=j+1
m : Setting value of the G1POj register n: Setting value of the G1POk register
G1IRj, G1IRk bits: Bits in the G1IR register
Inverse
Write 0 by program
if setting to 0
Inverse
(2) Base timer is reset when the base timer matches either following register
(a) G1PO0 (enabled by setting bit RST1 to 1, and bits RST4 and RST2 to 0), or
(b) G1BTRR (enabled by setting bit RST4 to 1, and bits RST2 and RST1 to 0)
j=2, 4, 6 k=j+1
m : Setting value of the G1POj register n: Setting value of the G1POk register
p: Setting value of either register G1PO0 or G1BTRR
G1IRj, G1IRk bits: Bits in the G1IR register
Return to default
output level
inverse
Return to default output level
Write 0 by program
if setting to 0
When setting to 0,
write 0 by program
Base timer
OUTC1j pin
G1IRj bit
G1IRk bit
Base timer
OUTC1j pin
G1IRj bit
G1IRk bit
The above applies under the following conditions.
The IVL bit in the G1POCRj register is set to 0 (L output as a default value). The INV bit is set to 0 (not
inversed).
Bits UD1 and UD0 are set to 002 (counter increment mode).
The above applies under the following conditions.
The IVL bit in the G1POCRj register is set to 0 (L output as a default value). The INV bit is set to 0
(not inversed).
Bits UD1 and UD0 are set to 002 (counter increment mode).
13. T imer S
)B82/C61M,82/C61M(puorG82/C61M
page 163
583fo7002,13.naJ00.2.veR 0020-7400B90JER
Pin IFE FSC MOD1 MOD0 Port Direction Port Data
P27/INPC17/ 0 X X X Determined by PD27P27
OUTC171 1 X X Determined by PD27, Input to INPC17 is always active P27 or INPC17
1 0 0 0 Single-phase Waveform Output OUTC17
1 0 0 1 Determined by PD27, SR Waveform Output mode P27
1 0 1 0 Phase-delayed Waveform Output OUTC17
P26/INPC16/ 0 X X X Determined by PD26P26
OUTC161 1 X X Determined by PD26, Input to INPC16 is always active P26 or INPC16
1 0 0 0 Single-phase Waveform Output OUTC16
1 0 0 1 SR Waveform Output OUTC16
1 0 1 0 Phase-delayed Waveform Output OUTC16
P25/INPC15/ 0 X X X Determined by PD25P25
OUTC151 1 X X Determined by PD25, Input to INPC15 is always active P25 or INPC15
1 0 0 0 Single-phase Waveform Output OUTC15
1 0 0 1 Determined by PD25, SR Waveform Output mode P25
1 0 1 0 Phase-delayed Waveform Output OUTC15
P24/INPC14/ 0 X X X Determined by PD24P24
OUTC141 1 X X Determined by PD24, Input to INPC14 is always active P24 or INPC14
1 0 0 0 Single-phase Waveform Output OUTC14
1 0 0 1 SR Waveform Output OUTC14
1 0 1 0 Phase-delayed Waveform Output OUTC14
P23/INPC13/ 0 X X X Determined by PD23P23
OUTC131 1 X X Determined by PD23, Input to INPC13 is always active P23 or INPC13
1 0 0 0 Single-phase Waveform Output OUTC13
1 0 0 1 Determined by PD23, SR Waveform Output mode P23
1 0 1 0 Phase-delayed Waveform Output OUTC13
P22/INPC12/ 0 X X X Determined by PD22P22
OUTC121 1 X X Determined by PD22, Input to INPC12 is always active P22 or INPC12
1 0 0 0 Single-phase Waveform Output OUTC12
1 0 0 1 SR Waveform Output OUTC12
1 0 1 0 Phase-delayed Waveform Output OUTC12
P21/INPC11/ 0 X X X Determined by PD21P21
OUTC111 1 X X Determined by PD21, Input to INPC11 is always active P21 or INPC11
1 0 0 0 Single-phase Waveform Output OUTC11
1 0 0 1 Determined by PD21, SR Waveform Output mode P21
1 0 1 0 Phase-delayed Waveform Output OUTC11
P20/INPC10/ 0 X X X Determined by PD20P20
OUTC101 1 X X Determined by PD20, Input to INPC10 is always active P20 or INPC10
1 0 0 0 Single-phase Waveform Output OUTC10
1 0 0 1 SR Waveform Output OUTC10
1 0 1 0 Phase-delayed Waveform Output OUTC10
13.6 I/O Port Function Select
The value in the G1FE and G1FS registers decides which IC/OC pin to be an input or output pin.
In SR waveform generating mode, two channels, a set of even channel and odd channel, are used every
output waveform, however, the waveform is output from an even channel only. In this case, the correspond-
ing pin to the odd channel can be used as an I/O port.
Table 13.11 Pin setting for Time Measurement and Waveform Generating Functions
IFE: IFEj (j=0 to 7) bits in the G1FE register.
FSC: FSCj (j=0 to 7) bits in the G1FS register.
MOD2 to MOD1: Bits in the G1POCRj (j=0 to 7) register.
13. T imer S
)B82/C61M,82/C61M(puorG82/C61M
page 164
583fo7002,13.naJ00.2.veR 0020-7400B90JER
13.6.1 INPC17 Alternate Input Pin Selection
The input capture pin for IC/OC channel 7 can be assigned to one of two package pins. The CH7INSEL
________
bit in the G1BCR0 register selects IC/OC INPC17 from P27/OUTC17/INPC17 or P17/INT5/INPC17/IDU.
________
13.6.2 Digital Debounce Function for Pin P17/INT5/INPC17
________ ________
The INT5/INPC17 input from the P17/INT5/INPC17/IDU pin has an effective digital debounce function
against a noise rejection. Refer to 17.6 Digital Debounce function for this detail.
14. Serial I/O
)B82/C61M,82/C61M(puorG82/C61M
page 165
583fo7002,13.naJ00.2.veR 0020-7400B90JER
14. Serial I/O
Note
The SI/O4 interrupt of peripheral function interrupt is not available in the 64-pin package.
Serial I/O is configured with five channels: UART0 to UART2, SI/O3 and SI/O4.
14.1 UARTi (i=0 to 2)
UARTi each have an exclusive timer to generate a transfer clock, so they operate independently of each
other.
Figure 14.1 shows the block diagram of UARTi. Figures 14.2 and 14.3 shows the block diagram of the
UARTi transmit/receive.
UARTi has the following modes:
Clock synchronous serial I/O mode
Clock asynchronous serial I/O mode (UART mode).
Special mode 1 (I2C bus mode) : UART2
Special mode 2 : UART2
Special mode 3 (Bus collision detection function, IEBus mode) : UART2
Special mode 4 (SIM mode) : UART2
Figures 14.4 to 14.9 show the UARTi-related registers.
Refer to tables listing each mode for register setting.
14.Serial I/O
)B82/C61M,82/C61M(puorG82/C61M
page 166
583fo7002,13.naJ00.2.veR 0020-7400B90JER
Figure 14.1 Block Diagram of UARTi (i = 0 to 2)
Clock synchronous type
(when internal clock is selected)
Clock synchronous type
(when external clock is selected)
Clock source selection
Internal
External
CTS/RTS disabled
CTS/RTS selected
RxD
0
1 / (n0+1)
1/16
1/16
1/2
U0BRG
register
CLK
0
CTS
0
/ RTS
0
f
1SIO or
f
2SIO
f
8SIO
f
32SIO
V
CC
RTS
0
CTS
0
TxD
0
(UART0)
CLK1 to CLK0
00
2
01
2
10
2
CKDIR=0
CKDIR=1
CKPOL
CKDIR=0
CKDIR=1
CRS=1
CRS=0
CRD=0
CRD=1
RCSP=0
RCSP=1
V
CC
CRD=0
CRD=1
UART reception
Clock synchronous
type
UART transmission
Clock synchronous
type
Clock synchronous type
(when internal clock is selected)
Receive
clock
Transmit
clock
Reception
control circuit
Transmission control
circuit
Transmit/
receive
unit
CLK
polarity
reversing
circuit CTS/RTS disabled
CTS
0
from UART1
UART reception
Clock synchronous
type
RxD
1
TxD
1
(UART1)
1 / (n1+1)
1/16
1/16
1/2
U1BRG
register
CLK
1
f
1SIO or
f
2SIO
f
8SIO
f
32SIO
CLK1 to CLK0
00
2
01
2
10
2
CKDIR=0
CKDIR=1
CKPOL
CKDIR=0
CKDIR=1
V
CC
CRD=0
CRD=1
CLKMD0=0
CLKMD1=0 CRS=1
CRS=0
RCSP=0
RCSP=1
CLKMD0=1
CLKMD1=1
Clock source selection
Internal
External
UART transmission
Clock synchronous
type
Clock synchronous type
(when internal clock is selected)
Receive
clock
Transmit
clock
Reception
control circuit
Transmission
control circuit
Transmit/
receive
unit
Clock synchronous type
(when external clock is selected)
Clock synchronous type
(when internal clock is selected)
CLK
polarity
reversing
circuit
RTS1
CTS1
Clock output
pin select CTS/RTS disabled
CTS/RTS disabled
CTS/RTS selected
CTS
0
from UART0
CTS
1
/ RTS
1
/
CTS
0
/ CLKS
1
i = 0 to 2
n
i
: Values set to the UiBRG register
SMD2 to SMD0, CKDIR: Bists in the UiMR register
CLK1 to CLK0, CKPOL, CRD, CRS: Bits in the UiC0 register
CLKMD0, CLKMD1, RCSP: Bits in the UCON register
RxD
2
CLK
2
CTS
2
/ RTS
2RTS
2
CTS
2
TxD
2
(UART2)
1 / (n2+1)
1/16
1/16
1/2
U2BRG
register
f
1SIO or
f
2SIO
f
8SIO
f
32SIO
CLK1 to CLK0
00
2
01
2
10
2
CKDIR=0
CKDIR=1
CKPOL
CKDIR=0
CKDIR=1
CRS=1
CRS=0
V
CC
CRD=0
CRD=1
Reception
control circuit
Transmission
control circuit
UART reception
Clock synchronous
type
UART transmission
Clock synchronous
type
Clock synchronous type
(when internal clock is selected)
Receive
clock
Transmit
clock
RxD polarity
reversing circuit
Internal
External
Clock source selection
TxD
polarity
reversing
circuit
Transmit/
receive
unit
Clock synchronous type
(when internal clock is selected)
Clock synchronous type
(when external clock is selected)
CLK
polarity
reversing
circuit
CTS/RTS disabled
CTS/RTS disabled
CTS/RTS
selected
Main clock, PLL clock, or
on-chip oscillator clock
1/2
1/8
1/4
f
1SIO
f
2SIO
f
8SIO
f
32SIO
f
1SIO or
f
2SIO
PCLK1=1
PCLK1=0
14. Serial I/O
)B82/C61M,82/C61M(puorG82/C61M
page 167
583fo7002,13.naJ00.2.veR 0020-7400B90JER
Figure 14.2 Block Diagram of UARTi (i = 0, 1) transmit/receive unit
SP SP PAR
2SP
1SP
UART
UART (7 bits)
UART (8 bits)
UART (7 bits)
UART (9 bits)
Clock
synchronous
type
Clock synchronous
type
TxDi
UARTi transmit register
PAR
enabled
PAR
disabled
D8D7D6D5D4D3D2D1D0
SP: Stop bit
PAR: Parity bit
UARTi transmit
buffer register
MSB/LSB conversion circuit
UART (8 bits)
UART (9 bits)
Clock synchronous
type
UARTi receive
buffer register
UARTi receive register
2SP
1SP
STPS=0
PAR
enabled
PAR
disabled
UART
UART (7 bits)
UART (9 bits)
Clock
synchronous
type
Clock
synchronous type
UART (7 bits)
UART (8 bits)
RxDi
Clock
synchronous type
UART (8 bits)
UART (9 bits)
Address 03A616
Address 03A716
Address 03AE16
Address 03AF16
Address 03A216
Address 03A316
Address 03AA16
Address 03AB16
Data bus low-order bits
MSB/LSB conversion circuit
D7D6D5D4D3D2D1D0D8
0000000
SP SP PAR
0
Data bus high-order bits
STPS=1
PRYE=0
PRYE=1
STPS=0
STPS=1
PRYE=0
PRYE=1
SMD2 to SMD0, STPS, PRYE, IOPOL, CKDIR : Bits in the UiMR
14.Serial I/O
)B82/C61M,82/C61M(puorG82/C61M
page 168
583fo7002,13.naJ00.2.veR 0020-7400B90JER
Figure 14.3 Block Diagram of UART2 Transmit/Receive Unit
SP SP
PAR
2SP
1SP
UART
UART
(7 bits)
UART
(8 bits)
UART(7 bits)
UART
(9 bits)
Clock
synchronous
type
Clock
synchronous type
Data bus low-order bits
TxD2
UARTi transmit register
PAR
disabled
PAR
enabled
D
8
D
7
D
6
D
5
D
4
D
3
D
2
D
1
D
0UART2transmit
buffer register
UART
(8 bits)
UART
(9 bits)
Clock
synchronous type
UART2 receive
buffer register
UARTi receive register
2SP
1SP UART
(7 bits)
UART
(8 bits) UART(7 bits)
UART
(9 bits)
Clock
synchronous type
Clock
synchronous type
RxD2
UART
(8 bits)
UART
(9 bits)
Address 037E
16
Address 037F
16
Address 037A
16
Address 037B
16
Data bus high-order bits
D
7
D
6
D
5
D
4
D
3
D
2
D
1
D
0
D
8
0000000
SP SP
PAR
0
Reverse
No reverse
Error signal
output circuit
RxD data
reverse circuit
Error signal output
enable
Error signal output
disable
Reverse
No reverse
Logic reverse circuit + MSB/LSB conversion circuit
Logic reverse circuit + MSB/LSB conversion circuit
PAR
enabled
PAR
disabled
UART
Clock
synchronous
type
TxD data
reverse circuit
SP: Stop bit
PAR: Parity bit
STPS=0
STPS=1
PRYE=0
PRYE=1
STPS=0
STPS=1
PRYE=0
PRYE=1
IOPOL=0
IOPOL=1
IOPOL
=0
IOPOL
=1
U2ERE
=0
U2ERE
=1
SMD2 to SMD0, STPS, PRYE, IOPOL, CKDIR : Bits in the U2MR register
U2ERE : Bits in the U2C1 register
14. Serial I/O
)B82/C61M,82/C61M(puorG82/C61M
page 169
583fo7002,13.naJ00.2.veR 0020-7400B90JER
Figure 14.4 U0TB to U2TB, U0RB to U2RB, U0BRG to U2BRG Registers
(b15)
b7 b0
(b8) b7 b0
UARTi Transmit Buffer Register (i=0 to 2)(1)
Function
Transmit data
Nothing is assigned.
When write, set to "0". When read, its content is indeterminate.
Symbol Address After Reset
U0TB 03A3
16
-03A2
16
Indeterminate
U1TB 03AB
16
-03AA
16
Indeterminate
U2TB 037B
16
-037A
16
Indeterminate
RW
NOTES:
1. Use MOV instruction to write to this register.
WO
b7
UARTi Baud Rate Generation Register (i=0 to 2)(1, 2, 3)
b0
Symbol Address After Reset
U0BRG 03A1
16
Indeterminate
U1BRG 03A9
16
Indeterminate
U2BRG 0379
16
Indeterminate
Function
Assuming that set value = n, UiBRG divides the count source
by n + 1 00
16
to FF
16
Setting Range
NOTES:
1. Write to this register while serial I/O is neither transmitting nor receiving.
2. Use MOV instruction to write to this register.
The transfer clock is shown below when the setting value in the UiBRG register is set as n.
(1) When the CKDIR bit in the UiMR register to 0 (internal clock)
Clock synchronous serial I/O mode : fj/(2(n+1))
Clock asynchronous serial I/O (UART) mode : fj/(16(n+1))
(2) When the CKDIR bit in the UiMR register to 1 (external clock)
Clock synchronous serial I/O mode : f
EXT
Clock asynchronous serial I/O (UART) mode : f
EXT
/(16(n+1))
fj : f1SIO, f2SIO, f8SIO, f32SIO
f
EXT
: Input from CLKi pin
3. Set the UiBRG register after setting the CLK1 and CLK0 bits in the UiC0 registers.
RW
WO
NOTES:
1. When the SMD2 to SMD0 bits in the UiMR register are set to 000
2
(serial I/O disabled) or the RE bit in the UiC1 register is set to 0 (reception
disabled), all of the SUM, PER, FER and OER bits are set to 0 (no error). The SUM bit is set to 0 (no error) when all of the PER, FER and OER
bits are set to 0 (no error). Also, the PER and FER bits are set to 0 by reading the lower byte of the UiRB register.
2. The ABT bit is set to 0 by setting to 0 by program. (Writing 1 has no effect.)
Nothing is assigned at the bit 11 in the U0RB and U1RB registers. When write, set to "0". When read, its content is "0".
(b15)
Symbol Address After Reset
U0RB 03A7
16
-03A6
16
Indeterminate
U1RB 03AF
16
-03AE
16
Indeterminate
U2RB 037F
16
-037E
16
Indeterminate
b7 b0
(b8) b7 b0
UARTi Receive Buffer Register (i=0 to 2)
Function
Bit Name
Bit
Symbol
0 : No framing error
1 : Framing error found
0 : No parity error
1 : Parity error found
0 : No error
1 : Error found
OER
FER
PER
SUM
Overrun error flag
(1)
Framing error flag
(1)
Parity error flag
(1)
Error sum flag
(1)
0 : No overrun error
1 : Overrun error found
Receive data (D
7
to D
0
)
ABT Arbitration lost detecting
flag
(2)
0 : Not detected
1 : Detected
RW
RO
(b7-b0)
(b10-b9)
Receive data (D
8
)
(b8)
Nothing is assigned.
When write, set to "0". When read, its content is indeterminate.
RW
RO
RO
RO
RO
RO
14.Serial I/O
)B82/C61M,82/C61M(puorG82/C61M
page 170
583fo7002,13.naJ00.2.veR 0020-7400B90JER
Figure 14.5 U0MR to U2MR Registers
UARTi Transmit/receive Mode Register (i=0, 1)
Symbol Address After Reset
U0MR, U1MR 03A0
16
, 03A8
16
00
16
b7 b6 b5 b4 b3 b2 b1 b0
Bit Name
Bit
Symbol RW
CKDIR
SMD1
SMD0 Serial I/O mode select bit
(2)
SMD2
Internal/external clock
select bit
STPS
PRY
PRYE
(b7)
Parity enable bit
0 : Internal clock
1 : External clock
(1)
Stop bit length select bit
Odd/even parity select bit
Reserve bit
0 : One stop bit
1 : Two stop bits
0 : Parity disabled
1 : Parity enabled
0 0 0 : Serial I/O disabled
0 0 1 : Clock synchronous serial I/O mode
1 0 0 : UART mode transfer data 7 bits long
1 0 1 : UART mode transfer data 8 bits long
1 1 0 : UART mode transfer data 9 bits long
Do not set the value other than the above
b2 b1 b0
Effective when PRYE = 1
0 : Odd parity
1 : Even parity
Set to "0"
Function
NOTES:
1. Set the corresponding port direction bit for each CLKi pin to 0 (input mode).
2. To receive data, set the corresponding port direction bit for each RxDi pin to 0 (input mode).
RW
RW
RW
RW
RW
RW
RW
RW
UART2 Transmit/receive Mode Register
Symbol Address After Reset
U2MR 0378
16
00
16
b7 b6 b5 b4 b3 b2 b1 b0
Bit Name
Bit
Symbol RW
CKDIR
SMD1
SMD0 Serial I/O mode select bit
(2)
SMD2
Internal/external clock
select bit
STPS
PRY
PRYE
IOPOL
Parity enable bit
0 : Internal clock
1 : External clock
(1)
Stop bit length select bit
Odd/even parity select bit
TxD, RxD I/O polarity
reverse bit
0 : One stop bit
1 : Two stop bits
0 : Parity disabled
1 : Parity enabled
0 0 0 : Serial I/O disabled
0 0 1 : Clock synchronous serial I/O mode
0 1 0 : I
2
C bus mode
1 0 0 : UART mode transfer data 7 bits long
1 0 1 : UART mode transfer data 8 bits long
1 1 0 : UART mode transfer data 9 bits long
Do not set the value other than the above
b2 b1 b0
Effective when PRYE = 1
0 : Odd parity
1 : Even parity
0 : No reverse
1 : Reverse
Function
NOTES:
1. Set the corresponding port direction bit for each CLK2 pin to 0 (input mode).
2. To receive data, set the corresponding port direction bit for each RxD2 pin to 0 (input mode).
3. Set the corresponding port direction bit for SCL
2
and SDA
2
pins to 0 (input mode).
RW
RW
RW
RW
RW
RW
RW
RW
(3)
14. Serial I/O
)B82/C61M,82/C61M(puorG82/C61M
page 171
583fo7002,13.naJ00.2.veR 0020-7400B90JER
UARTi Transmit/receive Control Rregister 0 (i=0 to 2)
Symbol Address After Reset
U0C0 to U2C0 03A4
16
, 03AC
16
, 037C
16
00001000
2
b7 b6 b5 b4 b3 b2 b1 b0
Function
TXEPT
CLK1
CLK0
CRS
CRD
NCH
CKPOL
BRG count source
select bit
Transmit register empty
flag
0 : Transmit data is output at falling edge of transfer clock
and receive data is input at rising edge
1 : Transmit data is output at rising edge of transfer clock
and receive data is input at falling edge
CLK polarity select bit
CTS/RTS function
select bit
CTS/RTS disable bit
Data output select bit
(5)
0 0 : f
1SIO
or f
2SIO
is selected
0 1 : f
8SIO
is selected
1 0 : f
32SIO
is selected
1 1 : Do not set
b1 b0
0 : LSB first
1 : MSB first
0 : Data present in transmit register (during transmission)
1 : No data present in transmit register
(transmission completed)
0 : CTS/RTS function enabled
1 : CTS/RTS function disabled
(P6
0
, P6
4
and P7
3
can be used as I/O ports)
(6)
0 : TxD2/SDA2 and SCLi pins are CMOS output
1 : TxD2/SDA2 and SCLi pins are N-channel open-drain output
(4)
UFORM Transfer format select bit
(2)
Effective when CRD is set to "0"
0 : CTS function is selected
(1)
1 : RTS function is selected
Bit Name
Bit
Symbol
NOTES:
1. Set the corresponding port direction bit for each CTSi pin to 0 (input mode).
2. Effective when the SMD2 to SMD0 bits in the UMR register to "001
2
"(clock synchronous serial I/O mode) or "010
2
" (UART mode
transfer data 8 bits long). Set the UFORM bit to "1" when the SMD2 to SMD0 bits are set to "101
2
" (I
2
C bus mode) and "0" when
they are set to"100
2
" (UART mode transfer data 7 bits long) or "110
2
" ( UART mode transfer data 9 bits long).
3. CTS
1
/RTS
1
can be used when the CLKMD1 bit in the UCON register is set to 0 (only CLK
1
output) and the RCSP bit in the
UCON register is set to 0 (CTS
0
/RTS
0
not separated).
4. SDA2 and SCL2 are effective when i = 2.
5. When the SMD2 to SMD0 bits in UiMR regiser are set to 000
2
(serial I/O disable), do not set NCH bit to 1 (TxDi/SDA2 and
SCL2 pins are N-channel open-drain output).
6. When the U1MAP bit in PACR register is 1 (P7
3
to P7
0
), CTS/RTS pin in UART1 is assigned to P7
0
.
7. When the CLK1 and CLK0 bit settings are changed, set the UiBRG register.
RW
RW
RW
RW
RW
RW
RW
RW
RO
(3)
(7)
UART Transmit/receive Control Register 2
Symbol Address After Reset
UCON 03B0
16
X0000000
2
b7 b6 b5 b4 b3 b2 b1 b0
Bit NameBit Symbol RWFunction
CLKMD0
CLKMD1
UART0 transmit interrupt
cause select bit
UART0 continuous
receive mode enable bit 0: Continuous receive mode disabled
1: Continuous receive mode enable
UART1 continuous
receive mode enable bit
UART1 CLK/CLKS
select bit 0
UART1 transmit interrupt
cause select bit
0: Transmit buffer empty (Tl = 1)
1: Transmission completed (TXEPT = 1)
0: Transmit buffer empty (Tl = 1)
1: Transmission completed (TXEPT = 1)
0: Continuous receive mode disabled
1: Continuous receive mode enabled
Nothing is assigned. When write, set to 0.
When read, the content is indeterminate
U0IRS
U1IRS
U0RRM
U1RRM
UART1 CLK/CLKS
select bit 1
(1)
Effective when CLKMD1 bit is set to 1
0: Clock output from CLK1
1: Clock output from CLKS1
RCSP Separate UART0
CTS/RTS bit
(b7)
RW
RW
RW
RW
RW
RW
RW
NOTES:
1. To use more than one transfer clock output pins, set the CKDIR bit in the U1MR register to 0 (internal clock).
2. When the U1MAP bit in PACR register is set to 1 (P7
3
to P7
0
), CTS
0
is supplied from the P7
0
pin.
0: Output from CLK1 only
1: Transfer clock output from multiple
pins function selected
0: CTS/RTS shared pin
1: CTS/RTS separated (CTS
0
supplied
from the P6
4
pin)
(2)
Figure 14.6 U0C0 to U2C0 and UCON Registers
14.Serial I/O
)B82/C61M,82/C61M(puorG82/C61M
page 172
583fo7002,13.naJ00.2.veR 0020-7400B90JER
Figure 14.7 U0C1 to U2C1 Register, and PACR Register
UARTi Transmit/receive Control Register 1 (i=0, 1)
Symbol Address After Reset
U0C1, U1C1 03A5
16
,03AD
16
00000010
2
b7 b6 b5 b4 b3 b2 b1 b0
Bit Name
Bit
Symbol RW
Function
TE
TI
RE
RI
Transmit enable bit
Receive enable bit
Receive complete flag
Transmit buffer
empty flag
0 : Transmission disabled
1 : Transmission enabled
0 : Data present in UiTB register
1 : No data present in UiTB register
0 : Reception disabled
1 : Reception enabled
0 : No data present in UiRB register
1 : Data present in UiRB register
Nothing is assigned.
When write, set 0. When read, these contents are 0.
UART2 Transmit/receive Control Register 1
Symbol Address After Reset
U2C1 037D
16
00000010
2
b7 b6 b5 b4 b3 b2 b1 b0
Bit Name
Bit
Symbol Function
TE
TI
RE
RI
Transmit enable bit
Receive enable bit
Receive complete flag
Transmit buffer
empty flag
0 : Transmission disabled
1 : Transmission enabled
0 : Reception disabled
1 : Reception enabled
U2IRS UART2 transmit interrupt
cause select bit 0 : Transmit buffer empty (TI = 1)
1 : Transmit is completed (TXEPT = 1)
U2RRM UART2 continuous
receive mode enable bit 0 : Continuous receive mode disabled
1 : Continuous receive mode enabled
Data logic select bit 0 : No reverse
1 : Reverse
U2LCH
U2ERE Error signal output
enable bit 0 : Output disabled
1 : Output enabled
RW
RW
RO
RO
RW
RW
RW
RW
RW
RW
RW
RO
RO
(b7-b4)
0 : Data present in U2TB register
1 : No data present in U2TB register
0 : No data present in U2RB register
1 : Data present in U2RB register
Pin Assignment Control Register
(1)
Symbpl Address After Reset
PACR 025D
16
00
16
Bit Name FunctionBit Symbol RW
b7 b6 b5 b4 b3 b2 b1 b0
Pin enabling bit
Nothing is assigned.
When write,
set to 0. When read, its
content is 0.
RW
(b6-b3)
010 : 64 pin
011 : 80 pin
All other values are reserved. Do
not use.
PACR0
PACR1
PACR2
RW
RW
Reserved bits
U1MAP UART1 pin remapping bit UART1 pins assigned to
0 : P67 to P6
4
1 : P7
3
to P7
0
RW
NOTES:
1. Set the PACR register by the next instruction after setting the PRC2 bit in the PRCR register to "1"(write
enable).
14. Serial I/O
)B82/C61M,82/C61M(puorG82/C61M
page 173
583fo7002,13.naJ00.2.veR 0020-7400B90JER
UART2 Special Mode Register 2
Symbol Address After Reset
U2SMR2 0376
16
X0000000
2
b7 b6 b5 b4 b3 b2 b1 b0
Bit Name
Bit
Symbol RWFunction
STAC
SWC2
SDHI
I C bus mode select bit 2
SCL
2
wait output bit 0 : Disabled
1 : Enabled
SDA
2
output stop bit
UART initialization bit
Clock-synchronous bit
Refer to Table 14.13
0 : Disabled
1 : Enabled
IICM2
CSC
SWC
ALS 0 : Disabled
1 : Enabled
SDA
2
output disable bit
SCL
2
wait output bit 2
0: Enabled
1: Disabled (high impedance)
0 : Disabled
1 : Enabled
0: Transfer clock
1: L output
2
Nothing is assigned. When write, set 0.
When read, its content is indeterminate.
RW
RW
RW
RW
RW
RW
RW
(b7)
UART2 Special Mode Register
Symbol Address After Reset
U2SMR 0377
16
X0000000
2
b7 b6 b5 b4 b3 b2 b1 b0
Bit Name
Bit
Symbol Function
ABSCS
ACSE
SSS
I
2
C bus mode select bit
Bus busy flag 0 : STOP condition detected
1 : START condition detected (busy)
Bus collision detect
sampling clock select bit
Arbitration lost detecting
flag control bit
0 : Other than I
2
C bus mode
1 : I
2
C bus mode
0 : Update per bit
1 :
Update per byte
IICM
ABC
BBS
0 : Not synchronized to R
X
Di
1 : Synchronized to R
X
Di
(2)
Set to 0
Transmit start condition
select bit
0 : Rising edge of transfer clock
1 : Underflow signal of timer A0
Auto clear function
select bit of transmit
enable bit
0 : No auto clear function
1 : Auto clear at occurrence of bus collision
NOTES:
1: The BBS bit is set to 0 by writing 0" by program. (Writing 1 has no effect).
2: When a transfer begins, the SSS bit is set to 0 (Not synchronized to R
X
Di).
(1)
Nothing is assigned. When write, set 0.
When read, its content is indeterminate.
RW
RW
RW
RW
RW
RW
RW
RW
(b7)
0
(b3) Reserved bit
Figure 14.8 U2SMR and U2SMR2 Registers
14.Serial I/O
)B82/C61M,82/C61M(puorG82/C61M
page 174
583fo7002,13.naJ00.2.veR 0020-7400B90JER
Figure 14.9 U2SMR3 and U2SMR4 Registers
UART2 Special Mode Register 3
Symbol Address After Reset
U2SMR3 0375 16 000X0X0X2
b7 b6 b5 b4 b3 b2 b1 b0
Bit Name
Bit
Symbol Function
DL2
SDA digital delay
setup bit
(1, 2)
DL0
DL1
0 0 0 : Without delay
0 0 1 : 1 to 2 cycle(s) of UiBRG count source
0 1 0 : 2 to 3 cycles of UiBRG count source
0 1 1 : 3 to 4 cycles of UiBRG count source
1 0 0 : 4 to 5 cycles of UiBRG count source
1 0 1 : 5 to 6 cycles of UiBRG count source
1 1 0 : 6 to 7 cycles of UiBRG count source
1 1 1 : 7 to 8 cycles of UiBRG count source
Nothing is assigned.
When write, set 0. When read, its content is indeterminate.
b7 b6 b5
0 : Without clock delay
1 : With clock delay
Clock phase set bit
0 : CLKi is CMOS output
1 : CLKi is N-channel open drain output
Clock output select bit
CKPH
NODC
NOTES:
1. The DL2 to DL0 bits are used to generate a delay in SDAi output by digital means during I2C bus mode. In other than
I
2C bus mode, set these bits to 0002" ( UART mode transfer data 9 bits long).
2. The amount of delay varies with the load on SCL2 and SDA2 pins. Also, when using an external clock, the amount of
delay increases by about 100 ns.
RW
RW
RW
RW
RW
RW
(b0)
Nothing is assigned.
When write, set 0. When read, its content is indeterminate.
Nothing is assigned.
When write, set 0. When read, its content is indeterminate.
(b2)
(b4)
UART2 Special Mode Register 4
Symbol Address After Reset
U2SMR4 037416 0016
b7 b6 b5 b4 b3 b2 b1 b0
Bit NameBit Symbol RW
Function
ACKC
SCLHI
SWC9
ACK data bit
STAREQ
RSTAREQ
STPREQ
ACKD
0: Disabled
1: Enabled
0: ACK
1: NACK
0: Serial I/O data output
1: ACK data output
NOTE:
1. Set to 0 when each condition is generated.
STSPSEL
SCL2 wait bit 3
RW
RW
RW
RW
RW
RW
RW
RW
Start condition
generate bit (1)
Restart condition
generate bit (1)
Stop condition
ACK data output
SCL2 output stop
SCL2, SDA2 output
0: Clear
1: Start
0: Clear
1: Start
0: Clear
1: Start
0: Start and stop conditions not output
1: Start and stop conditions output
0: SCL2 L hold disabled
1: SCL2 L hold enabled
14. Serial I/O
)B82/C61M,82/C61M(puorG82/C61M
page 175
583fo7002,13.naJ00.2.veR 0020-7400B90JER
14.1.1 Clock Synchronous serial I/O Mode
The clock synchronous serial I/O mode uses a transfer clock to transmit and receive data. Table 14.1
lists the specifications of the clock synchronous serial I/O mode. Table 14.2 lists the registers used in
clock synchronous serial I/O mode and the register values set.
Item Specification
Transfer data format Transfer data length: 8 bits
Transfer clock The CKDIR bit in the UiMR(i=0 to 2) register is set to 0 (internal clock) : fj/ (2(n+1))
fj = f1SIO, f2SIO, f8SIO, f32SIO. n: Setting value of UiBRG register 0016 to FF16
CKDIR bit is set to 1 (external clock ) : Input from CLKi pin
Transmission, reception control
_______ _______ _______ _______
Selectable from CTS function, RTS function or CTS/RTS function disable
Transmission start condition
Before transmission can start, the following requirements must be met (1)
_ The TE bit in the UiC1 register is set to "1" (transmission enabled)
_ The TI bit in the UiC1 register is set to "0" (data present in UiTB register)
_______ _______
_ If CTS function is selected, input on the CTSi pin is set to L
Reception start condition Before reception can start, the following requirements must be met (1)
_ The RE bit in the UiC1 register is set to "1" (reception enabled)
_ The TE bit in the UiC1 register is set to "1" (transmission enabled)
_ The TI bit in the UiC1 register is set to "0" (data present in the UiTB register)
For transmission, one of the following conditions can be selected
_ The UiIRS bit (3) is set to "0" (transmit buffer empty): when transferring data from the
UiTB register to the UARTi transmit register (at start of transmission)
_ The UiIRS bit is set to "1" (transfer completed): when the serial I/O finished sending
data from the UARTi transmit register
For reception
When transferring data from the UARTi receive register to the UiRB register (at
completion of reception)
Error detection Overrun error (2)
This error occurs if the serial I/O started receiving the next data before reading the
UiRB register and received the 7th bit in the the next data
Select function CLK polarity selection
Transfer data input/output can be chosen to occur synchronously with the rising or
the falling edge of the transfer clock
LSB first, MSB first selection
Whether to start sending/receiving data beginning with bit 0 or beginning with bit 7
can be selected
Continuous receive mode selection
Reception is enabled immediately by reading the UiRB register
Switching serial data logic (UART2)
This function reverses the logic value of the transmit/receive data
Transfer clock output from multiple pins selection (UART1)
The output pin can be selected in a program from two UART1 transfer clock pins that
have been set
_______ _______
Separate CTS/RTS pins (UART0)
_________ _________
CTS0 and RTS0 are input/output from separate pins
UART1 pin remapping selection
The UART1 pin can be selected from the P67 to P64 or P73 to P70
NOTES:
1. When an external clock is selected, the conditions must be met while if the CKPOL bit in the UiC0 register is set to 0
(transmit data output at the falling edge and the receive data taken in at the rising edge of the transfer clock), the external
clock is in the high state; if the CKPOL bit in the UiC0 register is set to 1 (transmit data output at the rising edge and the
receive data taken in at the falling edge of the transfer clock), the external clock is in the low state.
2. If an overrun error occurs, bits 8 to 0 in UiRB register are undefined. The IR bit in the SiRIC register remains unchanged.
3. The U0IRS and U1IRS bits respectively are the bits 0 and 1 in the UCON register; the U2IRS bit is bit 4 in the U2C1 register.
Interrupt request
generation timing
Table 14.1 Clock Synchronous Serial I/O Mode Specifications
14.Serial I/O
)B82/C61M,82/C61M(puorG82/C61M
page 176
583fo7002,13.naJ00.2.veR 0020-7400B90JER
Table 14.2 Registers to Be Used and Settings in Clock Synchronous Serial I/O Mode
Register Bit Function
UiTB(3) 0 to 7 Set transmission data
UiRB(3) 0 to 7 Reception data can be read
OER Overrun error flag
UiBRG 0 to 7 Set a transfer rate
UiMR(3) SMD2 to SMD0 Set to 0012
CKDIR Select the internal clock or external clock
IOPOL(i=2) (4) Set to 0
UiC0 CLK1 to CLK0 Select the count source for the UiBRG register
CRS _______ _______
Select CTS or RTS to use
TXEPT Transmit register empty flag
CRD _______ _______
Enable or disable the CTS or RTS function
NCH Select TxDi pin output mode
CKPOL Select the transfer clock polarity
UFORM Select the LSB first or MSB first
UiC1 TE Set this bit to 1 to enable transmission/reception
TI Transmit buffer empty flag
RE Set this bit to 1 to enable reception
RI Reception complete flag
U2IRS (1) Select the source of UART2 transmit interrupt
U2RRM (1) Set this bit to 1 to use UART2 continuous receive mode
U2LCH (3) Set this bit to 1 to use UART2 inverted data logic
U2ERE (3) Set to 0
U2SMR 0 to 7 Set to 0
U2SMR2 0 to 7 Set to 0
U2SMR3 0 to 2 Set to 0
NODC Select clock output mode
4 to 7 Set to 0
U2SMR4 0 to 7 Set to 0
UCON U0IRS, U1IRS Select the source of UART0/UART1 transmit interrupt
U0RRM, U1RRM Set this bit to 1 to use continuous receive mode
CLKMD0 Select the transfer clock output pin when CLKMD1 is set to 1
CLKMD1 Set this bit to 1 to output UART1 transfer clock from two pins
RCSP _________
Set this bit to 1 to accept as input the UART0 CTS0 signal from the P64 pin
7 Set to 0
NOTES:
1. Set the bit 4 and bit 5 in the U0C1 and U1C1 register to 0. The U0IRS, U1IRS, U0RRM and U1RRM
bits are in the UCON register.
2. Not all register bits are described above. Set those bits to 0 when writing to the registers in clock
synchronous serial I/O mode.
3. Set the bit 6 and bit 7 in the U0C1 and U1C1 register to "0".
4. Set the bit 7 in the U0MR and U1MR register to "0".
i=0 to 2
14. Serial I/O
)B82/C61M,82/C61M(puorG82/C61M
page 177
583fo7002,13.naJ00.2.veR 0020-7400B90JER
Table 14.3 lists pin functions for the case where the multiple transfer clock output pin select function is
deselected. Table 14.4 lists the P64 pin functions during clock synchronous serial I/O mode.
Note that for a period from when the UARTi operation mode is selected to when transfer starts, the TxDi
pin outputs an H. (If the N-channel open-drain output is selected, this pin is in a high-impedance state.)
Table 14.3 Pin Functions (When Not Select Multiple Transfer Clock Output Pin Function)(1)
Table 14.4 P64 Pin Functions(1)
Pin name Function Method of selection
TxDi (i = 0 to 2)
(P6
3
, P6
7
, P7
0
)Serial data output
Serial data input
Transfer clock output
Transfer clock input
I/O port
(Outputs dummy data when performing reception only)
RxDi
(P6
2
, P6
6
, P7
1
)
CLKi
(P6
1
, P6
5
, P7
2
)Set the CKDIR bit in the UiMR register to "0"
Set the CKDIR bit in the UiMR register to "1"
Set the PD6_1 bit and PD6_5 bit in the PD6 register, and the PD7_2 bit in the
PD7 register to "0"
Set the PD6_2 bit and PD6_6 bit in the PD6 register, and PD7_1 bit in the PD7
register to "0"(Can be used as an input port when performing transmission only)
Set the CRD bit in the UiC0 register to "0"
Set the CRS bit in the UiC0 register to "0"
Set the PD6_0 bit and PD6_4 bit in the PD6 register is set to "0", the PD7_3 bit
in the PD7 register to "0"
Set the CRD bit in the UiC0 register to "0"
Set the CRS bit in the UiC0 register to "1"
Set the CRD bit in the UiC0 register to "1"
CTS input
RTS output
CTSi/RTSi
(P6
0
, P6
4
, P7
3
)
NOTES:
1: When the U1MAP bit in PACR register is 1 (P7
3
to P7
0
), UART1 pin is assgined to P7
3
to P7
0
.
Pin function Bit set value
U1C0 register UCON register PD6 register
CRD CRS RCSP CLKMD1 CLKMD0 PD6_4
P6
4
10 0 Input: 0, Output: 1
CTS
1
000 0
RTS
1
100
CTS
0(2)
0
CLKS
1
0
0
00 1 0
1
(3)
1
NOTES:
1. When the U1MAP bit in PACR register is 1 (P7
3
to P7
0
), this table lists the P7
0
functions.
2. In addition to this, set the CRD bit in the U0C0 register to 0 (CT0
0
/RT0
0
enabled) and the
CRS bit in the U0C0 register to 1 (RTS
0
selected).
3. When the CLKMD1 bit is set to "1" and the CLKMD0 bit is set to "0", the following logiclevels
are output:
High if the CLKPOL bit in the U1C0 register is set to "0"
Low if the CLKPOL bit in the U1C0 register is set to "1"
14.Serial I/O
)B82/C61M,82/C61M(puorG82/C61M
page 178
583fo7002,13.naJ00.2.veR 0020-7400B90JER
Figure 14.10 Typical transmit/receive timings in clock synchronous serial I/O mode
D
0
D
1
D
2
D
3
D
4
D
5
D
6
D
7
D
0
D
1
D
2
D
3
D
4
D
5
D
6
D
7
D
0
D
1
D
2
D
3
D
4
D
5
D
6
D
7
Tc
TCLK
Stopped pulsing because the TE bit = 0
Write data to the UiTB register
Tc = TCLK = 2(n + 1) / fj
fj: frequency of UiBRG count source (f1SIO, f2SIO, f8SIO, f32SIO)
n: value set to UiBRG register
i: 0 to 2
Transfer clock
UiC1 register
TE bit
UiC1 register
TI bit
CLKi
TxDi
H
L
0
1
0
1
0
1
CTSi
0
1
Stopped pulsing because CTSi = H
1 / f
EXT
Write dummy data to UiTB register
UiC1 register
TE bit
UiC1 register
TI bit
CLKi
RxDi
UiC1 register
RI bit
RTSi H
L
0
1
0
1
0
1
UiC1 register
RE bit 0
1
Receive data is taken in
Transferred from UiTB register to UARTi transmit register
Read out from UiRB register
fEXT: frequency of external clock
Transferred from UARTi receive register
to UiRB register
SiRIC register
IR bit 0
1
D
0
D
1
D
2
D
3
D
4
D
5
D
6
D
7
D
0
D
1
D
2
D
3
D
4
D
5
Transferred from UiTB register to UARTi transmit register
Make sure the following conditions are met when input
to the CLKi pin before receiving data is high:
UiC0 register TE bit is set to "1" (transmit enabled)
UiC0 register RE bit is set to "1" (Receive enabled)
Write dummy data to the UiTB register
The above timing diagram applies to the case where the register bits are set as follows:
The CKDIR bit in the UiMR register is set to "0" (internal clock)
The CRD bit in the UiC0 register is set to "0" (CTS/RTS enabled); CRS bit is set to "0" (CTS selected)
The CKPOL bit in the UiC0 register is set to "0" (transmit data output at the falling edge and receive data taken in at the rising edge of the
transfer clock)
The UiIRS bit is set to "0" (an interrupt request occurs when the transmit buffer becomes empty): U0IRS bit is the bit 0 in the UCON register
U1IRS bit is the bit 1 in the UCON register, and U2IRS bit is the bit 4 in the U2C1 register.
Cleared to 0 when interrupt request is
accepted, or cleared to 0 by program
Cleared to 0 when interrupt request is accepted, or cleared to 0 in a program
The above timing diagram applies to the case where the register bits are set
as follows:
The CKDIR bit in the UiMR register is set to "1" (external clock)
The CRD bit in the UiC0 register is set to "0"(CTS/RTS enabled);
The CRS bit is set to "1" (RTS selected)
UiC0 register CKPOL bit is set to "0"(transmit data output at the falling edge and
receive data taken in at the rising edge of the transfer clock)
UiC0 register
TXEPT bit
SiTIC register
IR bit
Even if the reception is completed, the RTS
does not change. The RTS becomes L
when the RI bit changes to 0 from 1.
(1) Example of Transmit Timing (Internal clock is selected)
(2) Example of Receive Timing (External clock is selected)
14. Serial I/O
)B82/C61M,82/C61M(puorG82/C61M
page 179
583fo7002,13.naJ00.2.veR 0020-7400B90JER
14.1.1.1 Counter Measure for Communication Error Occurs
If a communication error occurs while transmitting or receiving in clock synchronous serial I/O mode,
follow the procedures below.
Resetting the UiRB register (i=0 to 2)
(1) Set the RE bit in the UiC1 register to 0 (reception disabled)
(2) Set the SMD2 to SMD0 bits in the UiMR register to 0002 (Serial I/O disabled)
(3) Set the SMD2 to SMD0 bits in the UiMR register to 0012 (Clock synchronous serial I/O mode)
(4) Set the RE bit in the UiC1 register to 1 (reception enabled)
Resetting the UiTB register (i=0 to 2)
(1) Set the SMD2 to SMD0 bits in the UiMR register to 0002 (Serial I/O disabled)
(2) Set the SMD2 to SMD0 bits in the UiMR register to 0012 (Clock synchronous serial I/O mode)
(3) 1 is written to TE bit in the UiC1 register (reception enabled), regardless to the TE bit.
14.Serial I/O
)B82/C61M,82/C61M(puorG82/C61M
page 180
583fo7002,13.naJ00.2.veR 0020-7400B90JER
14.1.1.2 CLK Polarity Select Function
Use the CKPOL bit in the UiC0 register (i=0 to 2) to select the transfer clock polarity. Figure 14.11
shows the polarity of the transfer clock.
Figure 14.11 Polarity of transfer clock
14.1.1.3 LSB First/MSB First Select Function
Use the UFORM bit in the UiC0 register (i=0 to 2) to select the transfer format. Figure 14.12 shows the
transfer format.
Figure 14.12 Transfer format
(2) When the CKPOL bit in the UiC0 register is set to "1" (transmit data output at the rising
edge and the receive data taken in at the falling edge of the transfer clock)
D1D2D3D4D5D6D7
D1D2D3D4D5D6D7
D0
D0
TXDi
RXDi
CLKi
(1) When the CKPOL bit in the UiC0 register is set to "0" (transmit data output at the falling
edge and the receive data taken in at the rising edge of the transfer clock)
D1D2D3D4D5D6D7D0
D1D2D3D4D5D6D7D0
TXDi
RXDi
CLKi
NOTES:
1. This applies to the case where the UFORM bit in the UiC0 register is set to "0" (LSB
first) and the UiLCH bit in the UiC1 register is set to "0" (no reverse).
2. When not transferring, the CLKi pin outputs a high signal.
3. When not transferring, the CLKi pin outputs a low signal.
i = 0 to 2
(2)
(3)
(1) When the UFORM bit in the UiC0 register "0" (LSB first)
D0
D0
D1D2D3D4D5D6D7
D1D2D3D4D5D6D7
TXDi
RXDi
CLKi
(2) When the UFORM bit in the UiC0 register is set to "1" (MSB first)
D6D5D4D3D2D1D0
D7
D7D6D5D4D3D2D1D0
TXDi
RXDi
CLKi
NOTES:
1. This applies to the case where the CKPOL bit in the UiC0 register is
set to "0" (transmit data output at the falling edge and the receive
data taken in at the rising edge of the transfer clock) and the UiLCH
bit in the UiC1 register "0" (no reverse).
i = 0 to 2
14. Serial I/O
)B82/C61M,82/C61M(puorG82/C61M
page 181
583fo7002,13.naJ00.2.veR 0020-7400B90JER
14.1.1.4 Continuous receive mode
When the UiRRM bit (i=0 to 2) is set to "1" (continuous receive mode), the TI bit in the UiC1 register is
set to 0 (data present in the UiTB register) by reading the UiRB register. In this case, i.e., UiRRM bit
is set to "1", do not write dummy data to the UiTB register in a program. The U0RRM and U1RRM bits
are the bit 2 and bit 3 in the UCON register, respectively, and the U2RRM bit is the bit 5 in the U2C1
register.
14.1.1.5 Serial data logic switch function (UART2)
When the U2LCH bit in the U2C1 register is set to "1" (reverse), the data written to the U2TB register
has its logic reversed before being transmitted. Similarly, the received data has its logic reversed
when read from the U2RB register. Figure 14.13 shows serial data logic.
Figure 14.13 Serial data logic switch timing
14.1.1.6 Transfer clock output from multiple pins function (UART1)
The CLKMD1 to CLKMD0 bits in the UCON register can choose one from two transfer clock output
pins. (See Figure 14.14)This function is valid when the internal clock is selected for UART1.
Figure 14.14 Transfer Clock Output From Multiple Pins
D0 D1 D2 D3 D4 D5 D6 D7
Transfer clock
TxD
2
(no reverse)
H
L
H
L
TxD
2
(reverse)
D0 D1 D2 D3 D4 D5 D6 D7
H
L
(1) When the U2LCH bit in the U2C1 register is set to "0" (no reverse)
Transfer clock
H
L
(2) When the U2LCH bit in the U2C1 register is set to "1" (reverse)
NOTES:
1. This applies to the case where the CKPOL bit in the U2C0 register
is set to "0" (transmit data output at the falling edge and the
receive data taken in at the rising edge of the transfer clock) and
the UFORM bit is set to "0" (LSB first).
Microcomputer
TXD1 (P67)
CLKS1 (P64)
CLK1 (P65)IN
CLK
IN
CLK
NOTES:
1. This applies to the case where the CKDIR bit in the U1MRregister is set to "0" (internal clock)
and the CLKMD1 bit in the UCON register is set to "1" (transfer clock output from multiple
pins).
2. This applies to the case where U1MAP bit in PACR register is set to 0 (P6
7
to P6
4
).
Transfer enabled
when the CLKMD0
bit in the UCON
register is set to "0"
Transfer enabled
when the CLKMD0
bit in the UCON
register is set to "1"
14.Serial I/O
)B82/C61M,82/C61M(puorG82/C61M
page 182
583fo7002,13.naJ00.2.veR 0020-7400B90JER
_______ _______
14.1.1.7 CTS/RTS separate function (UART0)
_______ _______ _______ _______
This function separates CTS0/RTS0, outputs RTS0 from the P60 pin, and accepts as input the CTS0
from the P64 pin or P70 pin. To use this function, set the register bits as shown below.
_______ _______
The CRD bit in the U0C0 register is set to "0" (enables UART0 CTS/RTS)
_______
The CRS bit in the U0C0 register is set to "1" (outputs UART0 RTS)
_______ _______
The CRD bit in the U1C0 register is set to "0" (enables UART1 CTS/RTS)
_______
The CRS bit in the U1C0 register is set to "0" (inputs UART1 CTS)
_______
The RCSP bit in the UCON register is set to "1" (inputs CTS0 from the P64 pin or P70 pin)
The CLKMD1 bit in the UCON register is set to "0" (CLKS1 not used)
_______ _______ _______ _______
Note that when using the CTS/RTS separate function, UART1 CTS/RTS separate function cannot be
used.
Figure 14.15 CTS/RTS separate function usage
Microcomputer
TXD0 (P63)
CLK0 (P61)
CTS0 (P64)
NOTES:
1. This applies to the case where the U1MAP bit in the PACR register is set to "0" (P67 to P64).
IC
IN
OUT
CLK
RXD0 (P62)
RTS0 (P60)CTS
RTS
14. Serial I/O
)B82/C61M,82/C61M(puorG82/C61M
page 183
583fo7002,13.naJ00.2.veR 0020-7400B90JER
Item Specification
Transfer data format Character bit (transfer data): Selectable from 7, 8 or 9 bits
Start bit: 1 bit
Parity bit: Selectable from odd, even, or none
Stop bit: Selectable from 1 or 2 bits
Transfer clock The CKDIR bit in the UiMR(i=0 to 2) register is set to "0" (internal clock) : fj/ (16(n+1))
fj = f1SIO, f2SIO, f8SIO, f32SIO. n: Setting value of UiBRG register 0016 to FF16
CKDIR bit is set to 1 (external clock ) : fEXT/16(n+1)
fEXT: Input from CLKi pin. n :Setting value of UiBRG register 0016 to FF16
Transmission, reception control
_______ _______ _______ _______
Selectable from CTS function, RTS function or CTS/RTS function disable
Transmission start condition Before transmission can start, the following requirements must be met
_ The TE bit in the UiC1 register is set to 1 (transmission enabled)
_ The TI bit in the UiC1 register is set to "0" (data present in UiTB register)
_______ _______
_ If CTS function is selected, input on the CTSi pin is set to L
Reception start condition Before reception can start, the following requirements must be met"
_ The RE bit in the UiC1 register is set to "1" (reception enabled)
_ Start bit detection
For transmission, one of the following conditions can be selected
_ The UiIRS bit (2) is set to "0" (transmit buffer empty): when transferring data from the
UiTB register to the UARTi transmit register (at start of transmission)
_ The UiIRS bit is set to"1" (transfer completed): when the serial I/O finished sending
data from the UARTi transmit register
For reception
When transferring data from the UARTi receive register to the UiRB register (at
completion of reception)
Error detection Overrun error (1)
This error occurs if the serial I/O started receiving the next data before reading the
UiRB register and received the bit one before the last stop bit in the the next data
Framing error
This error occurs when the number of stop bits set is not detected
Parity error
This error occurs when if parity is enabled, the number of 1s in parity and
character bits does not match the number of 1s set
Error sum flag
This flag is set to "1" when any of the overrun, framing, and parity errors is encountered
Select function LSB first, MSB first selection
Whether to start sending/receiving data beginning with bit 0 or beginning with bit 7
can be selected
Serial data logic switch (UART2)
This function reverses the logic of the transmit/receive data. The start and stop bits
are not reversed.
TXD, RXD I/O polarity switch (UART2)
This function reverses the polarities of hte TXD pin output and RXD pin input. The
logic levels of all I/O data is reversed.
_______ _______
Separate CTS/RTS pins (UART0)
_________ _________
CTS0 and RTS0 are input/output from separate pins
UART1 pin remapping selection
The UART1 pin can be selected from the P67 to P64 or P73 to P70
NOTES:
1.
If an overrun error occurs, bits 8 to 0 in UiRB register are undefined. The IR bit in the SiRIC register remains unchanged.
2.
The U0IRS and U1IRS bits respectively are the UCON register bits 0 and 1; the U2IRS bit is the U2C1 register bit 4.
14.1.2 Clock Asynchronous Serial I/O (UART) Mode
The UART mode allows transmitting and receiving data after setting the desired transfer rate and transfer
data format. Table 14.5 lists the specifications of the UART mode.
Table 14.5 UART Mode Specifications
Interrupt request
generation timing
14.Serial I/O
)B82/C61M,82/C61M(puorG82/C61M
page 184
583fo7002,13.naJ00.2.veR 0020-7400B90JER
Table 14.6 Registers to Be Used and Settings in UART Mode
Register Bit Function
UiTB 0 to 8 Set transmission data (1)
UiRB 0 to 8 Reception data can be read (1)
OER,FER,PER,SUM
Error flag
UiBRG 0 to 7 Set a transfer rate
UiMR SMD2 to SMD0 Set these bits to 1002 when transfer data is 7 bits long
Set these bits to 1012 when transfer data is 8 bits long
Set these bits to 1102 when transfer data is 9 bits long
CKDIR Select the internal clock or external clock
STPS Select the stop bit
PRY, PRYE Select whether parity is included and whether odd or even
IOPOL(i=2) (4) Select the TxD/RxD input/output polarity
UiC0 CLK0, CLK1 Select the count source for the UiBRG register
CRS _______ _______
Select CTS or RTS to use
TXEPT Transmit register empty flag
CRD _______ _______
Enable or disable the CTS or RTS function
NCH Select TxDi pin output mode
CKPOL Set to 0
UFORM LSB first or MSB first can be selected when transfer data is 8 bits long. Set this
bit to 0 when transfer data is 7 or 9 bits long.
UiC1 TE Set this bit to 1 to enable transmission
TI Transmit buffer empty flag
RE Set this bit to 1 to enable reception
RI Reception complete flag
U2IRS (2) Select the source of UART2 transmit interrupt
U2RRM (2) Set to 0
UiLCH (3) Set this bit to 1 to use UART2 inverted data logic
UiERE (3) Set to 0
UiSMR 0 to 7 Set to 0
UiSMR2 0 to 7 Set to 0
UiSMR3 0 to 7 Set to 0
UiSMR4 0 to 7 Set to 0
UCON U0IRS, U1IRS Select the source of UART0/UART1 transmit interrupt
U0RRM, U1RRM Set to 0
CLKMD0 Invalid because CLKMD1 is set to "0"
CLKMD1 Set to 0
RCSP _________
Set this bit to 1 to accept as input the UART0 CTS0 signal from the P64 pin
7 Set to 0
NOTES:
1. The bits used for transmit/receive data are as follows: Bit 0 to bit 6 when transfer data is 7 bits long;
bit 0 to bit 7 when transfer data is 8 bits long; bit 0 to bit 8 when transfer data is 9 bits long.
2. Set the bit 4 to bit 5 in the U0C1 and U1C1 registers to 0. The U0IRS, U1IRS, U0RRM and U1RRM
bits are included in the UCON register.
3. Set the bit 6 to bit 7 in the U0C1 and U1C1 registers to 0.
4. Set the bit 7 in the U0MR and U1MR registers to 0.
i=0 to 2
14. Serial I/O
)B82/C61M,82/C61M(puorG82/C61M
page 185
583fo7002,13.naJ00.2.veR 0020-7400B90JER
Table 14.7 lists the functions of the input/output pins in UART mode. Table 14.8 lists the P64 pin func-
tions during UART mode. Note that for a period from when the UARTi operation mode is selected to when
transfer starts, the TxDi pin outputs an H. (If the N-channel open-drain output is selected, this pin is in a
high-impedance state.)
Table 14.7 I/O Pin Functions in UART mode(1)
Table 14.8 P64 Pin Functions in UART mode (1)
Pin name Function Method of selection
TxDi (i = 0 to 2)
(P6
3
, P6
7
, P7
0
)Serial data output
Serial data input
Input/output port
Transfer clock input
Input/output port
(Outputs "H" when performing reception only)
RxDi
(P6
2
, P6
6
, P7
1
)
CLKi
(P6
1
, P6
5
, P7
2
)Set the CKDIR bit in the UiMR register to "0"
Set the CKDIR bit in the UiMR register to "1"
Set the PD6_1 bit and PD6_5 bit in the PD6 register to "0", PD7_2 bit in the PD7
register to "0"
PD6_2 bit, PD6_6 bit in the PD6 register and the PD7_1 bit in the PD7 register
(Can be used as an input port when performing transmission only)
Set the CRD bit in the UiC0 register to "0"
Set the CRS bit in the UiC0 register to "0"
Set the PD6_0 bit and PD6_4 bit in the PD6 register to "0", the PD7_3 bit in the
PD7 register "0"
Set the CRD bit in the UiC0 register to "0"
Set the CRS bit in the UiC0 register to "1"
Set the CRD bit in the UiC0 register "1"
CTS input
RTS output
CTSi/RTSi
(P6
0
, P6
4
, P7
3
)
NOTES:
1. When the U1MAP bit in PACR register is set to 1 (P7
3
to P7
0
), UART1 pin is assgined to P7
3
to P7
0
.
Pin function Bit set value
U1C0 register UCON register PD6 register
CRD CRS RCSP CLKMD1 PD6_4
P6410 0 Input: 0, Output: 1
CTS10000
RTS110 0
CTS0 (2) 0
0
0
00 1 0
NOTES:
1. When the U1MAP bit in PACR register is 1 (P73 to P70), this table lists the P70 functions.
2. In addition to this, set the CRD bit in the U0C0 register to 0 (CTS0/RTS0 enabled) and the CRS bit
in the U0C0 register to 1 (RTS0 selected).
14.Serial I/O
)B82/C61M,82/C61M(puorG82/C61M
page 186
583fo7002,13.naJ00.2.veR 0020-7400B90JER
Figure 14.16 Typical transmit timing in UART mode (UART0, UART1)
Start
bit Parity
bit
TxDi
CTSi
1
0
1
L
H
0
1
Tc = 16 (n + 1) / fj or 16 (n + 1) / fEXT
fj : frequency of UiBRG count source (f
1SIO
, f
2SIO
, f
8SIO
, f
32SIO
)
f
EXT
: frequency of UiBRG count source (external clock)
n : value set to UiBRG
i: 0 to 2
0
1
TxDi
0
1
0
1
0
1
Transfer clock
Tc
0
1
Tc
Transfer clock
D0D1D2D3D4D5D6D7
ST PD0D1D2D3D4D5D6D7SP ST PSP D0D1
ST
Stop
bit
Start
bit
The transfer clock stops momentarily as CTSi is H when the stop bit is checked.
The transfer clock starts as the transfer starts immediately CTSi changes to L.
D0D1D2D3D4D5D6D7
ST SP
D8D0D1D2D3D4D5D6D7
ST D8D0D1
ST
SPSP
Stop
bit Stop
bit
0
SP
Stopped pulsing
because the TE bit
= 0
Write data to the UiTB register
UiC1 register
TE bit
UiC1 register
TI bit
UiC0 register
TXEPT bit
SiTIC register
IR bit
Transferred from UiTB register to UARTi transmit register
The above timing diagram applies to the case where the register bits are set
as follows:
Set the PRYE bit in the UiMR register to "1" (parity enabled)
Set the STPS bit in the UiMR register to "0" (1 stop bit)
Set the CRD bit in the UiC0 register to "0" (CTS/RTS enabled),
the CRS bit to "0" (CTS selected)
Set the UiIRS bit to "1" (an interrupt request occurs when transmit completed):
U0IRS bit is the UCON register bit 0, U1IRS bit is the UCON
register bit 1, and U2IRS bit is the U2C1 register bit 4
Cleared to 0 when interrupt request is accepted, or cleared to 0 by program
UiC1 register
TE bit
UiC1 register
TI bit
UiC0 register
TXEPT bit
SiTIC register
IR bit
Cleared to 0 when interrupt request is accepted, or cleared to 0 by program
Write data to the UiTB register
Transferred from UiTB register to UARTi
transmit register
Tc = 16 (n + 1) / fj or 16 (n + 1) / fEXT
fj : frequency of UiBRG count source (f
1SIO
, f
2SIO
, f
8SIO
, f
32SIO
)
f
EXT
: frequency of UiBRG count source (external clock)
n : value set to UiBRG
i: 0 to 2
The above timing diagram applies to the case where the register bits are set
as follows:
Set the PRYE bit in the UiMR register to "0" (parity disabled)
Set the STPS bit in the UiMR register to "1" (2 stop bits)
Set the CRD bit in the UiC0 register to "1"(CTS/RTS disabled)
Set the UiIRS bit to "0" (an interrupt request occurs when transmit buffer
becomes empty):
U0IRS bit is the UCON register bit 0, U1IRS bit is the UCON
register bit 1, and U2IRS bit is the U2C1 register bit 4
Example of transmit timing when transfer data is 9-bit long (parity disabled, two stop bits)
Example of transmit timing when transfer data is 8-bit long (parity enabled, one stop bit)
14. Serial I/O
)B82/C61M,82/C61M(puorG82/C61M
page 187
583fo7002,13.naJ00.2.veR 0020-7400B90JER
Example of receive timing when transfer data is 8 bits long (parity disabled, one stop bit)
Figure 14.17 Receive Operation
D0
Start
bit Sampled L
UiBRG count
source
RxDi
Transfer clock
RTSi
Stop bit
1
0
0
1
H
L
0
1
Reception triggered when transfer clock
is generated by falling edge of start bit
UiC1 register
RE bit
UiC1 register
RI bit
SiRIC register
IR bit
Cleared to 0 when interrupt request is accepted, or cleared to 0 by program
Receive data taken in
D7
D1
Transferred from UARTi receive
register to UiRB register
The above timing diagram applies to the case where the register bits are set as follows:
Set the PRYE bit in the UiMR register to "0"(parity disabled)
Set the STPS bit in the UiMR register to "0" (1 stop bit)
Set the CRD bit in the UiC0 register to "0" (CTSi/RTSi enabled), the CRS bit to "1" (RTSi selected)
i = 0 to 2
Read out from
UiRB register
14.1.2.1 Bit Rates
In UART mode, the frequency set by the UiBRG register (i=0 to 2) divided by 16 become the bit rates.
Table 14.9 lists example of bit rate and settings.
Table 14.9 Example of Bit Rates and Settings
Bit Rate Count Source Peripheral Function Clock : 16MHz Peripheral Function Clock : 20MHz
(bps) of BRG
Set Value of BRG : n Actual Time (bps) Set Value of BRG : n Actual Time (bps)
1200 f8 103(67h) 1202 129(81h) 1202
2400 f8 51(33h) 2404 64(40h) 2404
4800 f8 25(19h) 4808 32(20h) 4735
9600 f1 103(67h) 9615 129(81h) 9615
14400 f1 68(44h) 14493 86(56h) 14368
19200 f1 51(33h) 19231 64(40h) 19231
28800 f1 34(22h) 28571 42(2Ah) 29070
31250 f1 31(1Fh) 31250 39(27h) 31250
38400 f1 25(19h) 38462 32(20h) 37879
51200 f1 19(13h) 50000 24(18h) 50000
14.Serial I/O
)B82/C61M,82/C61M(puorG82/C61M
page 188
583fo7002,13.naJ00.2.veR 0020-7400B90JER
Figure 14.18 Transfer Format
(1) When the UFORM bit in the UiC0 register is set to "0" (LSB first)
(2) When the UFORM bit in the UiC0 register is set to "1" (MSB first)
NOTES:
1. This applies to the case where the CKPOL bit in the UiC0 register is set to "0" (transmit data output at the
falling edge and the receive data taken in at the rising edge of the transfer clock), the UiLCH bit in the UiC1
register is set to "0" (no reverse), the STPS bit in the UiMR register is set to "0" (1 stop bit) and the PRYE bit
in the UiMR register is set to "1" (parity enabled).
D1D2D3D4D5D6SPD0
D1D2D3D4D5D6SPD0
TXDi
RXDi
CLKi
D6D5D4D3D2D1D0
D7
TXDi
RXDi
CLKi
ST
ST
D7P
D7P
SP
SP
ST
ST
P
P
D6D5D4D3D2D1D0
D7
ST : Start bit
P : Parity bit
SP : Stop bit
i = 0 to 2
14.1.2.2 Counter Measure for Communication Error
If a communication error occurs while transmitting or receiving in UART mode, follow the procedure
below.
Resetting the UiRB register (i=0 to 2)
(1) Set the RE bit in the UiC1 register to 0 (reception disabled)
(2) Set the RE bit in the UiC1 register to 1 (reception enabled)
Resetting the UiTB register (i=0 to 2)
(1) Set the SMD2 to SMD0 bits in UiMR register 0002 (Serial I/O disabled)
(2) Set the SMD2 to SMD0 bits in UiMR register 0012, 1012, 1102
(3) 1 is written to TE bit in the UiC1 register (reception enabled), regardless of the TE bit
14.1.2.3 LSB First/MSB First Select Function
As shown in Figure 14.18, use the UFORM bit in the UiC0 register to select the transfer format. This
function is valid when transfer data is 8 bits long.
14. Serial I/O
)B82/C61M,82/C61M(puorG82/C61M
page 189
583fo7002,13.naJ00.2.veR 0020-7400B90JER
14.1.2.5 TxD and RxD I/O Polarity Inverse Function (UART2)
This function inverses the polarities of the TXD2 pin output and RXD2 pin input. The logic levels of all
input/output data (including the start, stop and parity bits) are inversed. Figure 14.20 shows the TXD
pin output and RXD pin input polarity inverse.
Figure 14.20 TXD and RXD I/O Polarity Inverse
14.1.2.4 Serial Data Logic Switching Function (UART2)
The data written to the U2TB register has its logic reversed before being transmitted. Similarly, the
received data has its logic reversed when read from the U2RB register. Figure 14.19 shows serial
data logic.
Figure 14.19 Serial Data Logic Switching
Transfer clock
H
L
D0 D1 D2 D3 D4 D5 D6 D7 P SPST
TxD
2
(no reverse)
H
L
TxD
2
(reverse) SPST D3 D4 D5 D6 D7 PD0 D1 D2
H
L
(1) When the U2LCH bit in the U2C1 register is set to "0" (no reverse)
(2) When the U2LCH bit in the U2C1 register is set "1" (reverse)
Transfer clock
H
L
NOTES:
1. This applies to the case where the CKPOL bit in the U2C0 register
is set to "0" (transmit data output at the falling edge of the transfer
clock), the UFORM bit in the U2C0 register is set to "0" (LSB first),
the STPS bit in the U2MR register is set to "0" (1 stop bit) and the
PRYE bit in the U2MR register is set to "1" (parity enabled).
ST : Start bit
P : Parity bit
SP : Stop bit
(1) When the IOPOL bit in the U2MR register is set to "0" (no reverse)
(2) When the IOPOL bit in the U2MR register is set to "1" (reverse)
NOTES:
1. This applies to the case where the UFORM bit in the U2C0 register
is set to "0"(LSB first), the STPS bit in the U2MR register is set to "0
" (1 stop bit) and the PRYE bit in the U2MR register is set to "1"(
parity enabled).
ST : Start bit
P : Parity bit
SP : Stop bit
D0 D1 D2 D3 D4 D5 D6 D7 P SPST
SPST D3 D4 D5 D6 D7 PD0 D1 D2
D0 D1 D2 D3 D4 D5 D6 D7 P SPST
H
SPST D3 D4 D5 D6 D7 PD0 D1 D2
Transfer clock
TxD2
(no reverse)
RxD2
(no reverse)
Transfer clock
TxD2
(reverse)
RxD2
(reverse)
L
H
L
H
L
H
L
H
L
H
L
14.Serial I/O
)B82/C61M,82/C61M(puorG82/C61M
page 190
583fo7002,13.naJ00.2.veR 0020-7400B90JER
_______ _______
14.1.2.6 CTS/RTS Separate Function (UART0)
_______ _______ _______ _______
This function separates CTS0/RTS0, outputs RTS0 from the P60 pin, and accepts as input the CTS0
from the P64 pin or P70 pin. To use this function, set the register bits as shown below.
_______ _______
The CRD bit in the U0C0 register is set to "0" (enables UART0 CTS/RTS)
_______
The CRS bit in the U0C0 register is set to "1" (outputs UART0 RTS)
_______ _______
The CRD bit in the U1C0 register is set to "0" (enables UART1 CTS/RTS)
_______
The CRS bit in the U1C0 register is set to "0" (inputs UART1 CTS)
_______
The RCSP bit in the UCON register is set to "1" (inputs CTS0 from the P64 pin or P70 pin)
The CLKMD1 bit in the UCON register is set to "0" (CLKS1 not used)
_______ _______ _______ _______
Note that when using the CTS/RTS separate function, UART1 CTS/RTS separate function cannot be
used.
_______ _______
Figure 14.21 CTS/RTS Separate Function
Microcomputer
TXD0 (P63)
CTS0 (P64)
NOTES:
1. This applies to the case where the U1MAP bit in the PACR register is set to "0" (P6
7
to P6
4
).
IC
IN
OUTRXD0 (P62)
RTS0 (P60)CTS
RTS
14. Serial I/O
)B82/C61M,82/C61M(puorG82/C61M
page 191
583fo7002,13.naJ00.2.veR 0020-7400B90JER
14.1.3 Special Mode 1 (I2C bus mode)(UART2)
I2C bus mode is provided for use as a simplified I2C interface compatible mode. Table 14.10 lists the
specifications of the I2C bus mode. Tables 14.11 and 14.12 list the registers used in the I2C bus mode
and the register values set. Table 14.13 lists the I2C bus mode functions. Figure 14.22 shows the block
diagram for I2C bus mode. Figure 14.23 shows SCL2 timing.
As shown in Table 14.13, the microcomputer is placed in I2C bus mode by setting the SMD2 to SMD0 bits
to ‘0102’ and the IICM bit to “1”. Because SDA2 transmit output has a delay circuit attached, SDA output
does not change state until SCL2 goes low and remains stably low.
Table 14.10 I2C bus Mode Specifications
Item Specification
Transfer data format • Transfer data length: 8 bits
Transfer clock • During master
the CKDIR bit in the U2MR register is set to “0” (internal clock) : fj/ (2(n+1))
fj = f1SIO, f2SIO, f8SIO, f32SIO. n: Setting value in the U2BRG register 0016 to FF16
• During slave
CKDIR bit is set to “1” (external clock ) : Input from SCL2 pin
Transmission start condition • Before transmission can start, the following requirements must be met (1)
_ The TE bit in the U2C1 register is set to "1" (transmission enabled)
_ The TI bit in the U2C1 register is set to "0" (data present in U2TB register)
Reception start condition • Before reception can start, the following requirements must be met (1)
_ The RE bit in the U2C1 register is set to "1" (reception enabled)
_ The TE bit in the U2C1 register is set to "1" (transmission enabled)
_ The TI bit in the U2C1 register is set to "0" (data present in the UiTB register)
When start or stop condition is detected, acknowledge undetected, and acknowledge
detected
Error detection • Overrun error (2)
This error occurs if the serial I/O started receiving the next data before reading the
U2RB register and received the 8th bit in the the next data
Select function • Arbitration lost
Timing at which the ABT bit in the U2RB register is updated can be selected
• SDA digital delay
No digital delay or a delay of 2 to 8 U2BRG count source clock cycles selectable
• Clock phase setting
With or without clock delay selectable
NOTES:
1.
When an external clock is selected, the conditions must be met while the external clock is in the high state.
2. If an overrun error occurs, bits 8 to 0 in U2RB register are undefined. The IR bit in the U2RIC register remains
unchanged.
Interrupt request
generation timing
14. Serial I/O
)B82/C61M,82/C61M(puorG82/C61M
page 192
583fo7002,13.naJ00.2.veR 0020-7400B90JER
Figure 14.22 I2C bus Mode Block Diagram
CLK
control
Falling edge
detection
External
clock
Internal clock
Start/stop condition
detection interrupt
request
Start condition
detection
Stop condition
detection
Reception register
Bus
busy
Transmission
register
Arbitration
Noise
Filter
SDA2
SCL2
UART2
D
TQ
DTQ
D
TQ
NACK
ACK
UART2
UART2
UART2
R
UART2 transmit,
NACK interrupt
request
UART2 receive,
ACK interrupt request,
DMA1 request
IICM=1 and
IICM2=0
S
RQ
ALS
R
SSWC
IICM=1 and
IICM2=0
IICM2=1
IICM2=1
SWC2
SDHI
DMA0, DMA1 request
(UART1: DMA0 only)
Noise
Filter
IICM : Bits in the UiSMR register
IICM2, SWC, ALS, SWC2, SDHI : Bits in the UiSMR2 register
STSPSEL, ACKD, ACKC : Bits in the UiSMR4 register
IICM=0
IICM=1
DMA0
(UART0, UART2)
STSPSEL=0
STSPSEL=1
STSPSEL=1
STSPSEL=0
SDASTSP
SCLSTSP
ACKC=1 ACKC=0
Q
Port register
(1)
I/O port
9th bit falling edge
9th bit
ACKD bit
Delay
circuit
This diagram applies to the case where the SMD2 to SMD0 bits in the UiMR register is set to "0102" and the IICM bit in the UiSMR
register is set to "1".
NOTES:
1. If the IICM bit is set to "1", the pin can be read even when the PD7_1 bit is set to "1" (output mode).
Start and stop condition generation block
14. Serial I/O
)B82/C61M,82/C61M(puorG82/C61M
page 193
583fo7002,13.naJ00.2.veR 0020-7400B90JER
Table 14.11 Registers to Be Used and Settings in I2C bus mode (1) (Continued)
Register Bit Function
Master Slave
U2TB 0 to 7 Set transmission data Set transmission data
U2RB(1) 0 to 7 Reception data can be read Reception data can be read
8 ACK or NACK is set in this bit ACK or NACK is set in this bit
ABT Arbitration lost detection flag Invalid
OER Overrun error flag Overrun error flag
U2BRG 0 to 7 Set a transfer rate Invalid
U2MR(1) SMD2 to SMD0 Set to 0102Set to 0102
CKDIR Set to 0Set to 1
IOPOL Set to 0Set to 0
U2C0 CLK1, CLK0 Select the count source for the U2BRG Invalid
register
CRS Invalid because CRD = 1 Invalid because CRD = 1
TXEPT Transmit buffer empty flag Transmit buffer empty flag
CRD Set to 1Set to 1
NCH Set to 1Set to 1
CKPOL Set to 0Set to 0
UFORM Set to 1Set to 1
U2C1 TE Set this bit to 1 to enable transmission Set this bit to 1 to enable transmission
TI Transmit buffer empty flag Transmit buffer empty flag
RE Set this bit to 1 to enable reception Set this bit to 1 to enable reception
RI Reception complete flag Reception complete flag
U2IRS Invalid Invalid
U2RRM, Set to 0Set to 0
U2LCH, U2ERE
U2SMR IICM Set to 1Set to 1
ABC Select the timing at which arbitration-lost Invalid
is detected
BBS Bus busy flag Bus busy flag
3 to 7 Set to 0Set to 0
U2SMR2 IICM2 Refer to Table 14.13 Refer to Table 14.13
CSC Set this bit to 1 to enable clock Set to 0
synchronization
SWC Set this bit to 1 to have SCL2 output Set this bit to 1 to have SCL2 output
fixed to L at the falling edge of the 9th fixed to L at the falling edge of the 9th
bit of clock bit of clock
ALS Set this bit to 1 to have SDA2 output Set to 0
stopped when arbitration-lost is detected
STAC Set to 0Set this bit to 1 to initialize UART2 at
start condition detection
SWC2 Set this bit to 1 to have SCL2 output Set this bit to 1 to have SCL2 output
forcibly pulled low forcibly pulled low
SDHI Set this bit to 1 to disable SDA 2 output Set this bit to 1 to disable SDA2 output
7 Set to 0Set to 0
U2SMR3 0, 2, 4 and NODC Set to 0Set to 0
CKPH Refer to Table 14.13 Refer to Table 14.13
DL2 to DL0 Set the amount of SDA2 digital delay Set the amount of SDA2 digital delay
NOTES:
1. Not all bits in the register are described above. Set those bits to 0 when writing to the registers in I2C bus mode.
14. Serial I/O
)B82/C61M,82/C61M(puorG82/C61M
page 194
583fo7002,13.naJ00.2.veR 0020-7400B90JER
U2SMR4 STAREQ Set this bit to 1 to generate start Set to 0
condition
RSTAREQ Set this bit to 1 to generate restart Set to 0
condition
STPREQ Set this bit to 1 to generate stop Set to 0
condition
STSPSEL Set this bit to 1 to output each condition Set to 0
ACKD Select ACK or NACK Select ACK or NACK
ACKC Set this bit to 1 to output ACK data Set this bit to 1 to output ACK data
SCLHI Set this bit to 1 to have SCL2 output Set to 0
stopped when stop condition is detected
SWC9 Set to 0Set this bit to 1 to set the SCL2 to L
hold at the falling edge of the 9th bit of
clock
Register Bit Function
Master Slave
Table 14.12 Registers to Be Used and Settings in I2C bus Mode (2) (Continued)
NOTES:
1: Not all bits in the register are described above. Set those bits to 0 when writing to the registers in I2C bus mode.
14. Serial I/O
)B82/C61M,82/C61M(puorG82/C61M
page 195
583fo7002,13.naJ00.2.veR 0020-7400B90JER
Table 14.13 I2C bus Mode Functions
Function I
2
C bus mode (SMD2 to SMD0 = 010
2
, IICM = 1)
Clock synchronous serial I/O
mode (SMD2 to SMD0 = 001
2
,
IICM = 0)
Factor of interrupt number
15
(1)
(Refer to Fig.14.23)No acknowledgment
detection (NACK)
Rising edge of SCL
2
9th bit
Factor of interrupt number
16
(1)
(Refer to Fig.14.23)
Start condition detection or stop condition detection
(Refer to Table 14.14)
UART2 transmission
output delay
Functions of P7
0
pin
Noise filter width
Read RxD2 and SCL
2
pin
levels
Factor of interrupt number
10
(1)
(Refer to Fig.14.23)
Acknowledgment detection
(ACK)
Rising edge of SCL
2
9th bit
Initial value of TxD2 and
SDA
2
outputs
UART2 transmission
Transmission started or
completed (selected by U2IRS)
UART2 reception
When 8th bit received
CKPOL = 0 (rising edge)
CKPOL = 1 (falling edge)
Not delayed
TxD2 output
RxD2 input
CLK2 input or output selected
15 ns
Possible when the
corresponding port direction bit
= 0
CKPOL = 0 (H)
CKPOL = 1 (L)
Delayed
SDA
2
input/output
SCL
2
input/output
(Cannot be used in I
2
C bus mode)
Initial and end values of
SCL
2
H
200 ns
Always possible no matter how the corresponding port direction bit is set
The value set in the port register before setting I
2
C bus mode
(2)
Timing for transferring data
from the UART reception
shift register to the U2RB
register
IICM2 = 0
(NACK/ACK interrupt) IICM2 = 1
(UART transmit/ receive interrupt)
CKPH = 1
(Clock delay) CKPH = 1
(Clock delay)
UART2 transmission
Rising edge of
SCL
2
9th bit
UART2 transmission
Falling edge of SCL
2
next to the 9th bit
UART2 transmission
Falling edge of SCL
2
9th bit
CKPOL = 0 (rising edge)
CKPOL = 1 (falling edge) Rising edge of SCL
2
9th bit Falling edge of
SCL
2
9th bit Falling and rising
edges of SCL
2
9th
bit
.
.
DMA1 factor (Refer to Fig.
14.23)UART2 reception Acknowledgment detection
(ACK) UART2 reception
Falling edge of SCL
2
9th bit
Store received data 1st to 8th bits are stored in
the bit 7 to bit 0 in the U2RB
register
1st to 8th bits are stored in
the bit 7 to bit 0 in the U2RB
register
1st to 7th bits are stored into the bit 6 to
bit 0 in the U2RB register, with 8th bit
stored in the bit 8 in the U2RB register
L
Read U2RB register
Bit 6 to bit 0 as bit 7
to bit 1, and bit 8 as
bit 0
(4)
Read received data U2RB register status is read
directly as is
CKPH = 0
(No clock delay) CKPH = 0
(No clock delay)
HL
1st to 8th bits are
stored in U2RB
register bit 7 to bit 0
(3)
Functions of P7
1
pin
Functions of P7
2
pin
NOTES:
1. If the source or cause of any interrupt is changed, the IR bit in the interrupt control register for the changed interrupt
may inadvertently be set to "1" (interrupt requested). (Refer to Notes on interrupts in Precautions.)
If one of the bits shown below is changed, the interrupt source, the interrupt timing, etc. change. Therefore,
always be sure to clear the IR bit to "0" (interrupt not requested) after changing those bits
SMD2the SMD0 bits in the U2MR register, the IICM bit in the U2SMR register,
the IICM2 bit in the U2SMR2 register, the CKPH bit in the U2SMR3 register
2. Set the initial value of SDA2 output while the SMD2 to SMD0 bits in the U2MR register is set to "0002" (serial I/O
disabled).
3. Second data transfer to U2RB register (Rising edge of SCL2 9th bit)
4. First data transfer to U2RB register (Falling edge of SCL2 9th bit)
14. Serial I/O
)B82/C61M,82/C61M(puorG82/C61M
page 196
583fo7002,13.naJ00.2.veR 0020-7400B90JER
Figure 14.23 Transfer to U2RB Register and Interrupt Timing
(4) When the IICM2 bit is set to "1" and the CKPH bit is set to "1"
(3) When the IICM2 bit is set to "1" (UART transmit or receive interrupt) and the CKPH bit is set to "0"
SDA2
SCL2
Receive interrupt
(DMA request) Transmit interrupt
SDA2
SCL2
The above timing applies to the following setting :
The CKDIR bit in the U2MR register is set to "1" (slave)
(1) When the IICM2 bit is set to "0" (ACK or NACK interrupt) and the CKPH bit is set to "0" (No clock delay)
D6D5D4D3D2D1D8 (ACK or NACK)D7
SDA2
SCL2
D0
ACK interrupt (DMA
request) or NACK interrupt
(2) When the IICM2 bit is set to "0" and the CKPH bit is set to "1" (clock delay)
SDA2
SCL2
1st
bit 2nd
bit 3rd
bit 4th
bit 5th
bit 6th
bit 7th
bit 8th
bit 9th
bit
b15
•••
b9 b8 b7 b0
D
8
Contents of the U2RB register
b15
•••
b9 b8 b7 b0
b15
•••
b9 b8 b7 b0
b15
•••
b9 b8 b7 b0 b15
•••
b9 b8 b7 b0
D
7
D
6
D
5
D
4
D
3
D
2
D
1
D
0
D6D5D4D3D2D1D7D0
ACK interrupt (DMA
request) or NACK interrupt
D
8
D
7
D
6
D
5
D
4
D
3
D
2
D
1
D
0
D6D5D4D3D2D1D7D0
D
7
D
6
D
5
D
4
D
3
D
2
D
1
D
0
D6D5D4D3D2D1D7D0
D
7
D
6
D
5
D
4
D
3
D
2
D
1
D
0
D
8
D
7
D
6
D
5
D
4
D
3
D
2
D
1
D
0
D8 (ACK or NACK)
1st
bit 2nd
bit 3rd
bit 4th
bit 5th
bit 6th
bit 7th
bit 8th
bit 9th
bit
D8 (ACK or NACK)
1st
bit 2nd
bit 3rd
bit 4th
bit 5th
bit 6th
bit 7th
bit 8th
bit 9th
bit
D8 (ACK or NACK)
1st
bit 2nd
bit 3rd
bit 4th
bit 5th
bit 6th
bit 7th
bit 8th
bit 9th
bit
Data is transferred to the U2RB register
Data is transferred to the U2RB register
Data is transferred to the U2RB register
Receive interrupt
(DMA request) Transmit interrupt
Data is transferred to the U2RB register
Data is transferred to the U2RB register
Contents of the U2RB register
Contents of the U2RB register
Contents of the U2RB register
Contents of the U2RB register
14. Serial I/O
)B82/C61M,82/C61M(puorG82/C61M
page 197
583fo7002,13.naJ00.2.veR 0020-7400B90JER
14.1.3.1 Detection of Start and Stop Condition
Whether a start or a stop condition has been detected is determined.
A start condition-detected interrupt request is generated when the SDA2 pin changes state from high
to low while the SCL2 pin is in the high state. A stop condition-detected interrupt request is generated
when the SDA2 pin changes state from low to high while the SCL2 pin is in the high state.
Because the start and stop condition-detected interrupts share the interrupt control register and vec-
tor, check the U2SMR registers BBS bit to determine which interrupt source is requesting the inter-
rupt.
Figure 14.24 Detection of Start and Stop Condition
14.1.3.2 Output of Start and Stop Condition
A start condition is generated by setting the STAREQ bit in the U2SMR4 register to 1 (start).
A restart condition is generated by setting the RSTAREQ bit in the U2SMR4 register to 1 (start).
A stop condition is generated by setting the STPREQ bit in the U2SMR4 register to 1 (start).
The output procedure is described below.
(1) Set the STAREQ bit, RSTAREQ bit or STPREQ bit to 1 (start).
(2) Set the STSPSEL bit in the U2SMR4 register to 1 (output).
Make sure that no interrupts or DMA transfers will occur between (1) and (2).
The function of the STSPSEL bit is shown in Table 14.14 and Figure 14.25.
Setup time Hold time
SCL2
SDA2
(Start condition)
SDA2
(Stop condition)
NOTES:
1. When the PCLK1 bit in the PCLKR register is set to "1", the cycles indicates
the f1SIO's generation frequency cycles; when PCLK1 bit is set to "0", the
cycles indicated the f2SIO's generation frequency cycles.
3 to 6 cycles < setup time (1)
3 to 6 cycles < hold time (1)
14. Serial I/O
)B82/C61M,82/C61M(puorG82/C61M
page 198
583fo7002,13.naJ00.2.veR 0020-7400B90JER
Table 14.14 STSPSEL Bit Functions
Figure 14.25 STSPSEL Bit Functions
Function
Output of SCL2 and SDA2 pins
Start/stop condition interrupt
request generation timing
STSPSEL = 0
Output transfer clock and data/
Program with a port determines
how the start condition or stop
condition is output
Start/stop condition are detec-
ted
STSPSEL = 1
The STAREQ, RSTAREQ and
STPREQ bit determine how the
start condition or stop condition is
output
Start/stop condition generation
are completed
14.1.3.3 Arbitration
Unmatching of the transmit data and SDA2 pin input data is checked synchronously with the rising
edge of SCL2. Use the ABC bit in the U2SMR register to select the timing at which the ABT bit in the
U2RB register is updated. If the ABC bit is set to "0" (updated bitwise), the ABT bit is set to 1 at the
same time unmatching is detected during check, and is cleared to 0 when not detected. In cases
when the ABC bit is set to 1, if unmatching is detected even once during check, the ABT bit is set to
1 (unmatching detected) at the falling edge of the clock pulse of 9th bit. If the ABT bit needs to be
updated bytewise, clear the ABT bit to 0 (undetected) after detecting acknowledge in the first byte,
before transferring the next byte.
Setting the ALS bit in the U2SMR2 register to 1 (SDA2 output stop enabled) causes arbitration-lost to
occur, in which case the SDA2 pin is placed in the high-impedance state at the same time the ABT bit
is set to 1 (unmatching detected).
SDA2
Start condition detection
interrupt Stop condition detection
interrupt
(1) In slave mode,
CKDIR is set to "1" (external clock)
SCL2
SDA2
Start condition detection
interrupt Stop condition detection
interrupt
(2) In master mode,
CKDIR is set to "0" (internal clock), CKPH is set to "1"(clock delayed)
SCL2
Set STAREQ
to "1" (start) Set STPREQ
to "1" (start)
STPSEL bit 0
STPSEL bit
Set to "1" by
program Set to "0" by
program Set to "1" by
program Set to "0" by
program
1st 2nd 3rd 5th 6th 7th 8th 9th bit
1st 2nd 3rd 5th 6th 7th 8th 9th bit
4th
4th
14. Serial I/O
)B82/C61M,82/C61M(puorG82/C61M
page 199
583fo7002,13.naJ00.2.veR 0020-7400B90JER
14.1.3.4 Transfer Clock
Data is transmitted/received using a transfer clock like the one shown in Figure 14.25.
The CSC bit in the U2SMR2 register is used to synchronize the internally generated clock (internal
SCL2) and an external clock supplied to the SCL2 pin. In cases when the CSC bit is set to 1 (clock
synchronization enabled), if a falling edge on the SCL2 pin is detected while the internal SCL2 is high,
the internal SCL2 goes low, at which time the U2BRG register value is reloaded with and starts count-
ing in the low-level interval. If the internal SCL2 changes state from low to high while the SCL2 pin is
low, counting stops, and when the SCL2 pin goes high, counting restarts.
In this way, the UART2 transfer clock is comprised of the logical product of the internal SCL2 and SCL2
pin signal. The transfer clock works from a half period before the falling edge of the internal SCL2 1st
bit to the rising edge of the 9th bit. To use this function, select an internal clock for the transfer clock.
The SWC bit in the U2SMR2 register allows to select whether the SCL2 pin should be fixed to or freed
from low-level output at the falling edge of the 9th clock pulse.
If the SCLHI bit in the U2SMR4 register is set to 1 (enabled), SCL2 output is turned off (placed in the
high-impedance state) when a stop condition is detected.
Setting the SWC2 bit in the U2SMR2 register is set to "1" (0 output) makes it possible to forcibly output
a low-level signal from the SCL2 pin even while sending or receiving data. Clearing the SWC2 bit to 0
(transfer clock) allows the transfer clock to be output from or supplied to the SCL2 pin, instead of
outputting a low-level signal.
If the SWC9 bit in the U2SMR4 register is set to 1 (SCL2 hold low enabled) when the CKPH bit in the
U2SMR3 register is set to "1", the SCL2 pin is fixed to low-level output at the falling edge of the clock
pulse next to the ninth. Setting the SWC9 bit to "0" (SCL2 hold low disabled) frees the SCL2 pin from
low-level output.
14.1.3.5 SDA Output
The data written to the bit 7 to bit 0 (D7 to D0) in the U2TB register is sequentially output beginning
with D7. The ninth bit (D8) is ACK or NACK.
The initial value of SDA2 transmit output can only be set when IICM is set to "1" (I2C bus mode) and
the SMD2 to SMD0 bits in the U2MR register is set to "0002" (serial I/O disabled).
The DL2 to DL0 bits in the U2SMR3 register allow to add no delays or a delay of 2 to 8 U2BRG count
source clock cycles to SDA2 output.
Setting the SDHI bit in the U2SMR2 register to "1" (SDA2 output disabled) forcibly places the SDA2 pin
in the high-impedance state. Do not write to the SDHI bit synchronously with the rising edge of the
UART2 transfer clock. This is because the ABT bit may inadvertently be set to 1 (detected).
14.1.3.6 SDA Input
When the IICM2 bit is set to "0", the 1st to 8th bits (D7 to D0) in the received data are stored in the bit
7 to bit 0 in the U2RB register. The 9th bit (D8) is ACK or NACK.
When the IICM2 bit is set to "1", the 1st to 7th bits (D7 to D1) in the received data are stored in the bit
6 to bit 0 in the U2RB register and the 8th bit (D0) is stored in the bit 8 in the U2RB register. Even when
the IICM2 bit is set to "1", providing the CKPH bit is set to "1", the same data as when the IICM2 bit is
set to "0" can be read out by reading the U2RB register after the rising edge of the corresponding clock
pulse of 9th bit.
14. Serial I/O
)B82/C61M,82/C61M(puorG82/C61M
page 200
583fo7002,13.naJ00.2.veR 0020-7400B90JER
14.1.3.7 ACK and NACK
If the STSPSEL bit in the U2SMR4 register is set to 0 (start and stop conditions not generated) and
the ACKC bit in the U2SMR4 register is set to 1 (ACK data output), the value of the ACKD bit in the
U2SMR4 register is output from the SDA2 pin.
If the IICM2 bit is set to "0", a NACK interrupt request is generated if the SDA2 pin remains high at the
rising edge of the 9th bit of transmit clock pulse. An ACK interrupt request is generated if the SDA2 pin
is low at the rising edge of the 9th bit of transmit clock pulse.
If ACK2 is selected for the cause of DMA1 request, a DMA transfer can be activated by detection of an
acknowledge.
14.1.3.8 Initialization of Transmission/Reception
If a start condition is detected while the STAC bit is set to "1" (UART2 initialization enabled), the serial
I/O operates as described below.
- The transmit shift register is initialized, and the content of the U2TB register is transferred to the
transmit shift register. In this way, the serial I/O starts sending data synchronously with the next clock
pulse applied. However, the UART2 output value does not change state and remains the same as
when a start condition was detected until the first bit in the data is output synchronously with the input
clock.
- The receive shift register is initialized, and the serial I/O starts receiving data synchronously with the
next clock pulse applied.
- The SWC bit is set to 1 (SCL2 wait output enabled). Consequently, the SCL2 pin is pulled low at the
falling edge of the ninth clock pulse.
Note that when UART2 transmission/reception is started using this function, the TI does not change
state. Note also that when using this function, the selected transfer clock should be an external clock.
14. Serial I/O
)B82/C61M,82/C61M(puorG82/C61M
page 201
583fo7002,13.naJ00.2.veR 0020-7400B90JER
14.1.4 Special Mode 2 (UART2)
Multiple slaves can be serially communicated from one master. Transfer clock polarity and phase are
selectable. Table 14.15 lists the specifications of Special Mode 2. Table 14.16 lists the registers used in
Special Mode 2 and the register values set. Figure 14.26 shows communication control example for
Special Mode 2.
Table 14.15 Special Mode 2 Specifications
Item Specification
Transfer data format Transfer data length: 8 bits
Transfer clock Master mode
the CKDIR bit in the U2MR register is set to 0 (internal clock) : fj/ (2(n+1))
fj = f1SIO, f2SIO, f8SIO, f32SIO. n: Setting value in the U2BRG register 0016 to FF16
Slave mode
CKDIR bit is set to 1 (external clock selected) : Input from CLK2 pin
Transmit/receive control Controlled by input/output ports
Transmission start condition Before transmission can start, the following requirements must be met (1)
_ The TE bit in the U2C1 register is set to "1" (transmission enabled)
_ The TI bit in the U2C1 register is set to "0" (data present in U2TB register)
Reception start condition Before reception can start, the following requirements must be met (1)
_ The RE bit in the U2C1 register is set to "1" (reception enabled)
_ The TE bit in the U2C1 register is set to "1" (transmission enabled)
_ The TI bit in the U2C1 register is set to "0" (data present in the U2TB register)
For transmission, one of the following conditions can be selected
_
The U2IRS bit in the U2C1 register is set to "0" (transmit buffer empty): when trans
ferring data from the U2TB register to the UART2 transmit register (at start of transmission)
_ The U2IRS bit is set to "1" (transfer completed): when the serial I/O finished sending
data from the UART2 transmit register
For reception
When transferring data from the UART2 receive register to the U2RB register (at
completion of reception)
Error detection Overrun error (2)
This error occurs if the serial I/O started receiving the next data before reading the
U2RB register and received the 7th bit in the the next data
Select function Clock phase setting
Selectable from four combinations of transfer clock polarities and phases
NOTES:
1. When an external clock is selected, the conditions must be met while if the CKPOL bit in the U2C0 register is
set to 0 (transmit data output at the falling edge and the receive data taken in at the rising edge of the transfer
clock), the external clock is in the high state; if the CKPOL bit in the U2C0 register is set to 1 (transmit data
output at the rising edge and the receive data taken in at the falling edge of the transfer clock), the external
clock is in the low state.
2. If an overrun error occurs, bits 8 to 0 in the U2RB register are undefined. The IR bit in the S2RIC register
remains unchanged.
Interrupt request
generation timing
14. Serial I/O
)B82/C61M,82/C61M(puorG82/C61M
page 202
583fo7002,13.naJ00.2.veR 0020-7400B90JER
Table 14.16 Registers to Be Used and Settings in Special Mode 2
Register Bit Function
U2TB(1) 0 to 7 Set transmission data
U2RB(1) 0 to 7 Reception data can be read
OER Overrun error flag
U2BRG 0 to 7 Set a transfer rate
U2MR(1) SMD2 to SMD0 Set to 0012
CKDIR Set this bit to 0 for master mode or 1 for slave mode
IOPOL Set to 0
U2C0 CLK1, CLK0 Select the count source for the U2BRG register
CRS Invalid because CRD is set" "to 1
TXEPT Transmit register empty flag
CRD Set to 1
NCH Select TxD2 pin output format
CKPOL
Clock phases can be set in combination with the CKPH bit in the U2SMR3 register
UFORM Select the LSB first or MSB first
U2C1 TE Set this bit to 1 to enable transmission
TI Transmit buffer empty flag
RE Set this bit to 1 to enable reception
RI Reception complete flag
U2IRS Select UART2 transmit interrupt cause
U2RRM, Set to 0
U2LCH, U2ERE
U2SMR 0 to 7 Set to 0
U2SMR2 0 to 7 Set to 0
U2SMR3 CKPH Clock phases can be set in combination with the CKPOL bit in the U2C0 register
NODC Set to 0
0, 2, 4 to 7 Set to 0
U2SMR4 0 to 7 Set to 0
NOTES:
1.Not all bits in the registers are described above. Set those bits to 0 when writing to the registers in Special Mode 2.
Figure 14.26 Serial Bus Communication Control Example (UART2)
P1
3
P1
2
P7
0(
TxD
2
)
P7
2(
CLK
2
)
P7
1(
RxD
2
)
P9
3
P7
0(
TxD
2
)
P7
2(
CLK
2
)
P7
1(
RxD
2
)
P9
3
P7
0(
TxD
2
)
P7
2(
CLK
2
)
P7
1(
RxD
2
)
Microcomputer
(Master) Microcomputer
(Slave)
Microcomputer
(Slave)
14. Serial I/O
)B82/C61M,82/C61M(puorG82/C61M
page 203
583fo7002,13.naJ00.2.veR 0020-7400B90JER
14.1.4.1 Clock Phase Setting Function
One of four combinations of transfer clock phases and polarities can be selected using the CKPH bit
in the U2SMR3 register and the CKPOL bit in the U2C0 register.
Make sure the transfer clock polarity and phase are the same for the master and slave to communi-
cate.
14.1.4.1.1 Master (Internal Clock)
Figure 14.27 shows the transmission and reception timing in master (internal clock).
14.1.4.1.2 Slave (External Clock)
Figure 14.28 shows the transmission and reception timing (CKPH="0") in slave (external clock) while
Figure 14.29 shows the transmission and reception timing (CKPH="1") in slave (external clock).
Figure 14.27 Transmission and Reception Timing in Master Mode (Internal Clock)
Data output timing
Data input timing
D0D1D2D3D4D6D7D5
Clock output
(CKPOL=0, CKPH=0)
"H"
"L"
Clock output
(CKPOL=1, CKPH=0)
"H"
"L"
Clock output
(CKPOL=0, CKPH=1)
"H"
"L"
Clock output
(CKPOL=1, CKPH=1)
"H"
"L"
"H"
"L"
14. Serial I/O
)B82/C61M,82/C61M(puorG82/C61M
page 204
583fo7002,13.naJ00.2.veR 0020-7400B90JER
Figure 14.28 Transmission and Reception Timing (CKPH="0") in Slave Mode (External Clock)
Figure 14.29 Transmission and Reception Timing (CKPH="1") in Slave Mode (External Clock)
Slave control input
Clock input
(CKPOL=0, CKPH=0)
Clock input
(CKPOL=1, CKPH=0)
Data output timing
Data input timing
"H"
"L"
"H"
"L"
"H"
"L"
"H"
"L" D
0
D
1
D
2
D
3
D
4
D
6
D
7
D
5
Indeterminate
Clock input
(CKPOL=0, CKPH=1)
Clock input
(CKPOL=1, CKPH=1)
Data output timing
Data input timing
"H"
"L"
"H"
"L"
"H"
"L"
"H"
"L"
D
0
D
1
D
2
D
3
D
6
D
7
D
4
D
5
.
Slave control input
14. Serial I/O
)B82/C61M,82/C61M(puorG82/C61M
page 205
583fo7002,13.naJ00.2.veR 0020-7400B90JER
14.1.5 Special Mode 3 (IEBus mode)(UART2)
In this mode, one bit in the IEBus is approximated with one byte of UART mode waveform.
Table 14.17 lists the registers used in IEBus mode and the register values set. Figure 14.30 shows the
functions of bus collision detect function related bits.
If the TxD2 pin output level and RxD2 pin input level do not match, a UART2 bus collision detect interrupt
request is generated.
Table 14.17 Registers to Be Used and Settings in IEBus Mode
Register Bit Function
U2TB 0 to 8 Set transmission data
U2RB(1) 0 to 8 Reception data can be read
OER,FER,PER,SUM
Error flag
U2BRG 0 to 7 Set a transfer rate
U2MR SMD2 to SMD0 Set to 1102
CKDIR Select the internal clock or external clock
STPS Set to 0
PRY Invalid because PRYE is set to "0"
PRYE Set to 0
IOPOL Select the TxD/RxD input/output polarity
U2C0 CLK1, CLK0 Select the count source for the U2BRG register
CRS Invalid because CRDis set to "1"
TXEPT Transmit register empty flag
CRD Set to 1
NCH Select TxD2 pin output mode
CKPOL Set to 0
UFORM Set to 0
U2C1 TE Set this bit to 1 to enable transmission
TI Transmit buffer empty flag
RE Set this bit to 1 to enable reception
RI Reception complete flag
U2IRS Select the source of UART2 transmit interrupt
U2RRM, Set to 0
U2LCH, U2ERE
U2SMR 0 to 3, 7 Set to 0
ABSCS Select the sampling timing at which to detect a bus collision
ACSE Set this bit to 1 to use the auto clear function of transmit enable bit
SSS Select the transmit start condition
U2SMR2 0 to 7 Set to 0
U2SMR3 0 to 7 Set to 0
U2SMR4 0 to 7 Set to 0
NOTE:
1. Not all register bits are described above. Set those bits to 0 when writing to the registers in IEBus
mode.
14. Serial I/O
)B82/C61M,82/C61M(puorG82/C61M
page 206
583fo7002,13.naJ00.2.veR 0020-7400B90JER
Figure 14.30 Bus Collision Detect Function-Related Bits
(2) The ACSE bit in the U2SMR register (auto clear of transmit enable bit)
(1) The ABSCS bit in the U2SMR register (bus collision detect sampling clock select)
If ABSCS=0, bus collision is determined at the rising edge of the transfer clock
Transfer clock
Timer A0
(3) The SSS bit in the U2SMR register (Transmit start condition select)
Transmission enable condition is met
If SSS bit = 1, the serial I/O starts sending data at the rising edge (Note 1) of RxD2
TxD2
CLK2
TxD2
RxD2
TxD2
RxD2
ST D0 D1 D2 D3 D4 D5 D6 D7 D8 SP
Input to TA0
IN
If ABSCS is set to "1", bus collision is determined when timer
A0 (one-shot timer mode) underflows .
TxD2
RxD2
ST D0 D1 D2 D3 D4 D5 D6 D7 D8 SP
ST D0 D1 D2 D3 D4 D5 D6 D7 D8 SP
ST D0 D1 D2 D3 D4 D5 D6 D7 D8 SP
Transfer clock
BCNIC register
IR bit (Note)
U2C1 register
TE bit
If ACSE bit is set to "1"
automatically clear when bus collision
occurs), the TE bit is cleared to "0"
(transmission disabled) when
the IR bit in the BCNIC register is
set to "1" (unmatching detected).
If SSS bit is set to "0", the serial I/O starts sending data one transfer clock cycle after the transmission enable condition is met.
Transfer clock
(Note 2)
NOTES:
1: The falling edge of RxD2 when the IOPOL is set to "0"; the rising edge of RxD2 when the IOPOL is set to "1".
2: The transmit condition must be met before the falling edge (Note 1) of RxD.
This diagram applies to the case where the IOPOL is set to "1" (reversed)
.
14. Serial I/O
)B82/C61M,82/C61M(puorG82/C61M
page 207
583fo7002,13.naJ00.2.veR 0020-7400B90JER
Item Specification
Transfer data format Direct format
Inverse format
Transfer clock The CKDIR bit in the U2MR register is set to 0 (internal clock) : fi/ (16(n+1))
fi = f1SIO, f2SIO, f8SIO, f32SIO. n: Setting value of U2BRG register 0016 to FF16
The CKDIR bit is set to 1 (external clock ) : fEXT/16(n+1)
fEXT: Input from CLK2 pin. n: Setting value of U2BRG register 0016 to FF16
Transmission start condition Before transmission can start, the following requirements must be met
_ The TE bit in the U2C1 register is set to "1" (transmission enabled)
_ The TI bit in the U2C1 register is set to "0" (data present in U2TB register)
Reception start condition Before reception can start, the following requirements must be met
_ The RE bit in the U2C1 register is set to "1" (reception enabled)
_ Start bit detection
For transmission
When the serial I/O finished sending data from the U2TB transfer register (U2IRS bit ="1")
For reception
When transferring data from the UART2 receive register to the U2RB register (at
completion of reception)
Error detection Overrun error (1)
This error occurs if the serial I/O started receiving the next data before reading the
U2RB register and received the bit one before the last stop bit in the the next data
Framing error
This error occurs when the number of stop bits set is not detected
Parity error
During reception, if a parity error is detected, parity error signal is output from the
TxD2 pin.
During transmission, a parity error is detected by the level of input to the RXD2 pin
when a transmission interrupt occurs
Error sum flag
This flag is set to "1" when any of the overrun, framing, and parity errors is encountered
NOTES:
1. If an overrun error occurs, bits 8 to 0 in the U2RB register are undefined. The IR bit in the S2RIC
register remains unchanged.
2. A transmit interrupt request is generated by setting the U2IRS bit in the U2C1 register to 1 (trans-
mission complete) and U2ERE bit to 1 (error signal output) after reset. Therefore, when using
SIM mode, be sure to clear the IR bit to 0 (no interrupt request) after setting these bits.
14.1.6 Special Mode 4 (SIM Mode) (UART2)
Based on UART mode, this is an SIM interface compatible mode. Direct and inverse formats can be
implemented, and this mode allows output of a low from the TxD2 pin when a parity error is detected.
Table 14.18 lists the specifications of SIM mode. Table 14.19 lists the registers used in the SIM mode
and the register values set.
Table 14.18 SIM Mode Specifications
Interrupt request
generation timing (2)
14. Serial I/O
)B82/C61M,82/C61M(puorG82/C61M
page 208
583fo7002,13.naJ00.2.veR 0020-7400B90JER
Table 14.19 Registers to Be Used and Settings in SIM Mode
Register Bit Function
U2TB(1) 0 to 7 Set transmission data
U2RB(1) 0 to 7 Reception data can be read
OER,FER,PER,SUM
Error flag
U2BRG 0 to 7 Set a transfer rate
U2MR SMD2 to SMD0 Set to "1012"
CKDIR Select the internal clock or external clock
STPS Set to 0
PRY Set this bit to 1 for direct format or 0 for inverse format
PRYE Set to 1
IOPOL Set to 0
U2C0 CLK1, CLK0 Select the count source for the U2BRG register
CRS Invalid because CRDis set to "1"
TXEPT Transmit register empty flag
CRD Set to 1
NCH Set to 0
CKPOL Set to 0
UFORM Set this bit to 0 for direct format or 1 for inverse format
U2C1 TE Set this bit to 1 to enable transmission
TI Transmit buffer empty flag
RE Set this bit to 1 to enable reception
RI Reception complete flag
U2IRS Set to 1
U2RRM Set to 0
U2LCH Set this bit to 0 for direct format or 1 for inverse format
U2ERE Set to 1
U2SMR(1) 0 to 3 Set to 0
U2SMR2 0 to 7 Set to 0
U2SMR3 0 to 7 Set to 0
U2SMR4 0 to 7 Set to 0
NOTES
1. Not all register bits are described above. Set those bits to 0 when writing to the registers in SIM mode.
14. Serial I/O
)B82/C61M,82/C61M(puorG82/C61M
page 209
583fo7002,13.naJ00.2.veR 0020-7400B90JER
Figure 14.31 Transmit and Receive Timing in SIM Mode
D0D1D2D3D4D5D6D7
ST PD0D1D2D3D4D5D6D7
ST P
SP
D0D1D2D3D4D5D6D7
ST PD0D1D2D3D4D5D6D7
ST P
SP
D0D1D2D3D4D5D6D7
ST PD0D1D2D3D4D5D6D7
ST PSP
SP
D0D1D2D3D4D5D6D7
ST PD0D1D2D3D4D5D6D7
ST PSP
SP
Start
bit Parity
bit
"0"
"1"
"0"
"1"
"0"
"1"
Set to "0" by an interrupt request acknowledgement or by program
Tc
Transfer Clock
Stop
bit
Data is written to
the UARTi register
An "L" signal is applied from the SIM
card due to a parity error
An interrupt routine
detects "H" or "L"
TxD2
"0
"
"1
"
Transfer Clock
Read the U2RB register
RxD2 pin Level(2)
TxD2
RxD2 pin Level(1)
Data is transferred from the U2TB
register to the UART2 transmit
register
RE bit in U2C1
register
RI bit in U2C1
register
IR bit in S2RIC
register
TE bit in U2C1
register
TI bit in U2C1
register
TXEPT bit in U2
C0 register
IR bit in S2TIC
register
Start
bit
Set to "0" by an interrupt request acknowledgement or by program
Stop
bit
TxD2 outputs "L" due
to a parity error
Parity
bit
"0
"
"1"
"0"
"0"
"1"
(1) Transmit Timing
(2) Receive Timing
Parity Error Signal
returned from
Receiving End
Transmit Waveform
from the
Transmitting End
"1"
SP
An interrupt routine detects
"H" or "L"
SP
TC
The above timing diagram applies to the case where data is
transferred in the direct format.
U2MR register STPS bit = 0 (1 stop bit)
U2MR register PRY bit = 1 (even)
U2C0 register UFORM bit = 0 (LSB first)
U2C1 register U2LCH bit = 0 (no reverse)
U2C1 register U2IRSCH bit = 1 (transmit is completed)
Tc = 16 (n + 1) / fi or 16 (n + 1) / fEXT
fi : frequency of U2BRG count source (f1SIO, f2SIO, f8SIO, f32SIO)
fEXT : frequency of U2BRG count source (external clock)
n : value set to U2BRG
The above timing diagram applies to the case where data is
transferred in the direct format.
U2MR register STPS bit = 0 (1 stop bit)
U2MR register PRY bit = 1 (even)
U2C0 register UFORM bit = 0 (LSB first)
U2C1 register U2LCH bit = 0 (no reverse)
U2C1 register U2IRSCH bit = 1 (transmit is completed)
NOTES:
1. Because TxD2 and RxD2 are connected, this is composite waveform consisting of the TxD2 output and the parity error
signal sent back from receiver.
2. Because TxD2 and RxD2 are connected, this is composite waveform consisting of the transmitter's transmit waveform
and the parity error signal received.
Tc = 16 (n + 1) / fi or 16 (n + 1) / fEXT
fi : frequency of U2BRG count source (f1SIO, f2SIO, f8SIO, f32SIO)
fEXT : frequency of U2BRG count source (external clock)
n : value set to U2BRG
14. Serial I/O
)B82/C61M,82/C61M(puorG82/C61M
page 210
583fo7002,13.naJ00.2.veR 0020-7400B90JER
Figure 14.32 shows the example of connecting the SIM interface. Connect TXD2 and RXD2 and apply
pull-up.
Figure 14.32 SIM Interface Connection
14.1.6.1 Parity Error Signal Output
The parity error signal is enabled by setting the U2ERE bit in theU2C1 register to 1.
When receiving
The parity error signal is output when a parity error is detected while receiving data. This is achieved
by pulling the TxD2 output low with the timing shown in Figure 14.33. If the R2RB register is read
while outputting a parity error signal, the PER bit is cleared to 0 and at the same time the TxD2 output
is returned high.
When transmitting
A transmission-finished interrupt request is generated at the falling edge of the transfer clock pulse
that immediately follows the stop bit. Therefore, whether a parity signal has been returned can be
determined by reading the port that shares the RxD2 pin in a transmission-finished interrupt service
routine.
Figure 14.33 Parity Error Signal Output Timing
Microcomputer SIM card
TxD
2
RxD
2
ST : Start bit
P : Even Parity
SP : Stop bit
D0 D1 D2 D3 D4 D5 D6 D7 P SPST
(1)
Transfer
clock
RxD2
TxD2
U2C1 register
RI bit
H
L
H
L
H
L
1
0
This timing diagram applies to the case where the direct format is
implemented.
NOTES:
1. The output of microcomputer is in the high-impedance state
(pulled up externally).
14. Serial I/O
)B82/C61M,82/C61M(puorG82/C61M
page 211
583fo7002,13.naJ00.2.veR 0020-7400B90JER
14.1.6.2 Format
Direct Format
Set the PRY bit in the U2MR register to 1, the UFORM bit in U2C0 register to 0 and the U2LCH bit
in U2C1 register to 0.
Inverse Format
Set the PRY bit to 0, UFORM bit to 1 and U2LCH bit to 1.
Figure 14.34 shows the SIM interface format.
Figure 14.34 SIM Interface Format
P : Even parity
D0 D1 D2 D3 D4 D5 D6 D7 P
Transfer
clcck
TxD
2
TxD
2
D7 D6 D5 D4 D3 D2 D1 D0 P
Transfer
clcck
(1) Direct format
H
L
H
L
(2) Inverse format
P : Odd parity
H
L
H
L
14. Serial I/O
page 212
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Figure 14.35 SI/O3 and SI/O4 Block Diagram
Data bus
SI/Oi
interrupt request
Note: i = 3, 4.
n = A value set in the SiBRG register.
SiTRR register
SI/O counter i
8
SMi5 LSB MSB
SMi2
SMi3
SMi3
SMi6
SMi1 to SMi0
CLK
i
S
OUTi
S
INi
SiBRG register
SMi6
1/(n+1)
1/2
1/2
Main clock,
PLL clock,
or on-chip oscillator
clock
f1SIO 1/2
1/8
1/4
f8SIO
f32SIO
f2SIO PCLK1=0
PCLK1=1
SMi4
002
012
102
Clock source select
Synchronous
circuit
CLK
polarity
reversing
circuit
14.2 SI/O3 and SI/O4
Note
The SI/O4 interrupt of peripheral function interrupt is not available in the 64-pin package.
SI/O3 and SI/O4 are exclusive clock-synchronous serial I/Os.
Figure 14.35 shows the block diagram of SI/O3 and SI/O4, and Figure 14.36 shows the SI/O3 and SI/O4-
related registers.
Table 14.20 shows the specifications of SI/O3 and SI/O4.
14. Serial I/O
page 213
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Figure 14.36
S3C and S4C Registers, S3BRG and S4BRG Registers, and S3TRR and S4TRR Registers
SI/O i B it Rate Generator (i = 3,4) (1, 2, 3)
b
7
b
0
Symbol Address After Reset
S3BRG 036316 Indeterminate
S4BRG 036716 Indeterminate
D
e
s
c
r
i
p
t
i
o
n
A
s
s
u
m
i
n
g
t
h
a
t
s
e
t
v
a
l
u
e
=
n
,
B
R
G
i
d
i
v
i
d
e
s
t
h
e
c
o
u
n
t
s
o
u
r
c
e
b
y
n
+
10016 to FF16
S
e
t
t
i
n
g
R
a
n
g
e
NOTES:
1. Write to this register while serial I/O is neither transmitting or receiving.
2. Use MOV instruction to write to this regisgter.
3. Set the SiBRG register after setting the SMi1 and SMi0 bits in the SiC register.
S
I
/
O
i
T
r
a
n
s
m
i
t
/
r
e
c
e
i
v
e
R
e
g
i
s
t
e
r
(
i
=
3
,
4
)
(
1
,
2
)
b
7
b
0Symbol Address After Reset
S3TRR 036016 Indeterminate
S4TRR 036416 Indeterminate
Description
Transmi ssion/reception star ts by writing transmit data to this register. After
transmission/reception finishes, reception data can be read by reading this register.
NOTES:
1. Write to this register while serial I/O is neither transmitting or receiving.
2. To receive data, set the corresponding port direction bit for S
IN
i ti 0(input mode).
S
I
/
O
i
c
o
n
t
r
o
l
R
e
g
i
s
t
e
r
(
i
=
3
,
4
)
(
1
)
S
y
m
b
o
lA
d
d
r
e
s
sA
f
t
e
r
R
e
s
e
t
S
3
C0
3
6
2
1
6
0
1
0
0
0
0
0
02
S
4
C0
3
6
6
1
6
0
1
0
0
0
0
0
02
b
7b
6b
5b
4b3b
2b
1b
0
R
W
Description
SMi5
SMi1
SMi0
S
M
i
3
SMi6
SMi7
I
n
t
e
r
n
a
l
s
y
n
c
h
r
o
n
o
u
s
c
l
o
c
k
s
e
l
e
c
t
b
i
t
T
r
a
n
s
f
e
r
d
i
r
e
c
t
i
o
n
s
e
l
e
c
t
b
i
t
S
I
/
O
i
p
o
r
t
s
e
l
e
c
t
b
i
t
S
OUT
i initial value set bit
0
0
:
S
e
l
e
c
t
i
n
g
f
1
o
r
f
2
0
1
:
S
e
l
e
c
t
i
n
g
f
8
1
0
:
S
e
l
e
c
t
i
n
g
f
3
2
1
1
:
D
o
n
o
t
s
e
t
b
1
b
0
0
:
E
x
t
e
r
n
a
l
c
l
o
c
k
(
2
)
1
:
I
n
t
e
r
n
a
l
c
l
o
c
k
(
3
)
Effective when the SMi3 is set to "0"
0 : L output
1 : H output
0
:
I
n
p
u
t
/
o
u
t
p
u
t
p
o
r
t
1
:
S
O
U
T
i
o
u
t
p
u
t
,
C
L
K
i
f
u
n
c
t
i
o
n
B
i
t
N
a
m
e
B
i
t
S
y
m
b
o
l
S
y
n
c
h
r
o
n
o
u
s
c
l
o
c
k
s
e
l
e
c
t
b
i
t
0
:
L
S
B
f
i
r
s
t
1
:
M
S
B
f
i
r
s
t
S
M
i
2S
O
U
T
i
o
u
t
p
u
t
d
i
s
a
b
l
e
b
i
t0
:
S
O
U
T
i
o
u
t
p
u
t
1
:
S
O
U
T
i
o
u
t
p
u
t
d
i
s
a
b
l
e
(
h
i
g
h
i
m
p
e
d
a
n
c
e
)
NOTES:
1. Set the S4C register by the next instruction after setting the PRC2 bit in the PRCR register to
1(write enable).
2. Set the SMi3 bit to 1 and the corresponding port direction bit to 0(input mode).
3. Set the SMi3 bit to 1 (S
OUT
i output, CLKi function).
4. When the SMi2 bit is set to "1", the corresponding pin goes to high-impedance regardless of the function in
use.
5. When the SMi1 and SMi0 bit settings are changed, set the SiBRG register.
S
M
i
4C
L
K
p
o
l
a
r
i
t
y
s
e
l
c
t
b
i
t0
:
T
r
a
n
s
m
i
t
d
a
t
a
i
s
o
u
t
p
u
t
a
t
f
a
l
l
i
n
g
e
d
g
e
o
f
t
r
a
n
s
f
e
r
c
l
o
c
k
a
n
d
r
e
c
e
i
v
e
d
a
t
a
i
s
i
n
p
u
t
a
t
r
i
s
i
n
g
e
d
g
e
1
:
T
r
a
n
s
m
i
t
d
a
t
a
i
s
o
u
t
p
u
t
a
t
r
i
s
i
n
g
e
d
g
e
o
f
t
r
a
n
s
f
e
r
c
l
o
c
k
a
n
d
r
e
c
e
i
v
e
d
a
t
a
i
s
i
n
p
u
t
a
t
f
a
l
l
i
n
g
e
d
g
e
R
W
R
W
R
W
R
W
R
W
R
W
R
W
RW
R
W
R
W
R
W
WO
(
4
)
(
5
)
14. Serial I/O
page 214
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Item Specification
Transfer data format Transfer data length: 8 bits
Transfer clock The SMi6 bit in the SiC (i=3, 4) register is set to 1 (internal clock) : fj/ (2(n+1))
fj = f1SIO, f2SIO, f8SIO, f32SIO. n=Setting value of SiBRG register 0016 to FF16.
SMi6 bit is set to 0 (external clock) : Input from CLKi pin (1)
Transmission/reception Before transmission/reception can start, the following requirements must be met
start condition Write transmit data to the SiTRR register (2, 3)
When the SMi4 bit in the SiC register is set to "0"
The rising edge of the last transfer clock pulse (4)
When SMi4 is set to "1"
The falling edge of the last transfer clock pulse (4)
CLKi pin fucntion I/O port, transfer clock input, transfer clock output
SOUTi pin function I/O port, transmit data output, high-impedance
SINi pin function I/O port, receive data input
Select function LSB first or MSB first selection
Whether to start sending/receiving data beginning with bit 0 or beginning with bit 7
can be selected
Function for setting an SOUTi initial value set function
When the SMi6 bit in the SiC register is set to "0" (external clock), the SOUTi pin
output level while not tranmitting can be selected.
CLK polarity selection
Whether transmit data is output/input timing at the rising edge or falling edge of
transfer clock can be selected.
NOTES:
1. To set the SMi6 bit in the SiC register to 0 (external clock), follow the procedure described below.
If the SMi4 bit in the SiC register is set to "0", write transmit data to the SiTRR register while input on the CLKi
pin is high. The same applies when rewriting the SMi7 bit in the SiC register.
If the SMi4 bit is set to "1", write transmit data to the SiTRR register while input on the CLKi pin is low. The
same applies when rewriting the SMi7 bit.
Because shift operation continues as long as the transfer clock is supplied to the SI/Oi circuit, stop the
transfer clock after supplying eight pulses. If the SMi6 bit is set to "1" (internal clock), the transfer clock
automatically stops.
2. Unlike UART0 to UART2, SI/Oi (i = 3 to 4) is not separated between the transfer register and buffer. Therefore,
do not write the next transmit data to the SiTRR register during transmission.
3. When the SMi6 bit in the SiC register is set to "1" (internal clock), SOUTi retains the last data for a 1/2 transfer
clock period after completion of transfer and, thereafter, goes to a high-impedance state. However, if transmit
data is written to the SiTRR register during this period, SOUTi immediately goes to a high-impedance state, with
the data hold time thereby reduced.
4. When the SMi6 bit in the SiC register is set to "1" (internal clock), the transfer clock stops in the high state if the
SMi4 bit is set to "0", or stops in the low state if the SMi4 bit is set to "1".
Table 14.20 SI/O3 and SI/O4 Specifications
Interrupt request
generation timing
14. Serial I/O
page 215
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
14.2.1 SI/Oi Operation Timing
Figure 14.37 shows the SI/Oi operation timing
Figure 14.37 SI/Oi Operation Timing
14.2.2 CLK Polarity Selection
The the SMi4 bit in the SiC register allows selection of the polarity of the transfer clock. Figure 14.38
shows the polarity of the transfer clock.
Figure 14.38 Polarity of Transfer Clock
D7D0D1D2D3D4D5D6
i= 3, 4
1.5 cycle (max)
SI/Oi internal clock
CLKi output
Signal written to the
SiTRR register
SOUTi output
SINi input
SiIC register
IR bit
(2)
NOTES:
1. This diagram applies to the case where the SiC register bits are set as follows:
SMi2=0 (SOUTi output), SMi3=1 (SOUTi output, CLKi function), SMi4=0 (transmit data output at the falling edge and receive data input at the
rising edge of the transfer clock), SMi5=0 (LSB first) and SMi6=1 (internal clock)
2. When the SMi6 bit is set to "1" (internal clock), the SOUTi pin is placed in the high-impedance state after the transfer is completed.
3. If the SMi6 bit is set to "0" (internal clock), the serial I/O starts sending or receiving data a maximum of 1.5 transfer clock cycles after writing to
the SiTRR register.
"H"
"L"
"H"
"L"
"H"
"L"
"H"
"L"
"H"
"L"
"1"
"0"
(3)
(2) When the SMi4 bit in the SiC register is set to 1
(3)
D
1
D
2
D
3
D
4
D
5
D
6
D
7
D
1
D
2
D
3
D
4
D
5
D
6
D
7
D
0
D
0
S
INi
S
OUTi
CLK
i
(1) When the SMi4 bit in the SiC register is set to 0
NOTES:
1. This diagram applies to the case where the SiC register bits are set as follows:
SMi5=0 (LSB first) and SMi6=1 (internal clock)
2. When the SMi6 bit is set to "1" (internal clock), a high level is output from the CLKi
pin if not transferring data.
3 When the SMi6 bit is set to "1" (internal clock), a low level is output from the CLKi
pin if not transferring data.
D
1
D
2
D
3
D
4
D
5
D
6
D
7
D0
D
1
D
2
D
3
D
4
D
5
D
6
D
7
D
0
S
INi
S
OUTi
CLK
i
(2)
i=3 and 4
14. Serial I/O
page 216
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
14.2.3 Functions for Setting an SOUTi Initial Value
If the SMi6 bit in SiC register is set to 0 (external clock), the SOUTi pin output level can be fixed high or low
when not transferring data. However, when transmitting data consecutively, the last bit (bit 0) value of the
last transmitted data is retained between the sccessive data transmissions. Figure 14.39 shows the
timing chart for setting an SOUTi initial value and how to set it.
Figure 14.39 SOUTi Initial Value Setting
Signal written to
SiTRR register
SOUTi (internal)
SMi7 bit
SOUTi pin output
SMi3 bit
Setting the SOUTi
initial value to HPort selection switching
(I/O port SOUTi)
D0
(i = 3, 4) Initial value = H (3)
Port output D0
(Example) When H selected for SOUTi initial value (1)
NOTES:
1. This diagram applies to the case where the bits in the SiC register are set as follows:
SMi2=0 (SOUTi output), SMi5=0 (LSB first) and SMi6=0 (external clock)
2. SOUTi can only be initialized when input on the CLKi pin is in the high state if the SMi4bit in the
SiC register is set to "0" (transmit data output at the falling edge of the transfer clock) or
in the low state if the SMi4 bit is set to "1" (transmit data output at the rising edge of the
transfer clock).
3. If the SMi6 bit is set to "1" (internal clock) or if the SMi2 bit is set to "1" (SOUT output disabled),
this output goes to the high-impedance state.
(2)
Setting of the initial value of SOUTi
output and starting of transmission/
reception
Set the SMi3 bit to 0
(SOUTi pin functions as an I/O port)
Write to the SiTRR register
Serial transmit/reception starts
Set the SMi7 bit to 1
(SOUTi initial value = H)
Set the SMi3 bit to 1
(SOUTi pin functions as SOUTi output)
H level is output
from the SOUTi pin
15. A/D Converter
page 217
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
15. A/D Converter
Note
Ports P04 to P07(AN04 to AN07), P10 to P13(AN20 to AN23) and P95 to P97(AN25 to AN27) are not
available in M16C/28 (64-pin package). Do not use port P04 to P07(AN04 to AN07), P10 to P13(AN20
to AN23) and P95 to P97(AN25 to AN27) as analog input pins in M16C/28 (64-pin package.).
The microcomputer contains one A/D converter circuit based on 10-bit successive approximation method
configured with a capacitive-coupling amplifier. The analog inputs share the pins with P100 to P107 (AN0 to
____________
AN7), P00 to P07 (AN00 to AN07), and P1 0 to P1 3, P93, P9 5 to P97 (AN20 to AN27). Similarly, ADTRG input
shares the pin with P15. Therefore, when using these inputs, make sure the corresponding port direction
bits are set to 0 (input mode). Note that P10 to P13, P93, P95 to P97 (AN20 to AN27) are available only in
the 80-pin package.
When not using the A/D converter, set the VCUT bit to 0 (Vref unconnected), so that no current will flow
from the Vref pin into the resistor ladder, helping to reduce the power consumption of the chip.
The A/D conversion result is stored in the ADi register bits for ANi, AN0i, and AN2i pins (i = 0 to 7).
Table 15.1 shows the A/D converter performance. Figure 15.1 shows the A/D converter block diagram
and Figures 15.2 to 15.4 show the A/D converter associated with registers.
Item Performance
A/D Conversion Method Successive approximation (capacitive coupling amplifier)
Analog Input Voltage
(1)
0V to AVCC (VCC)
Operating Clock fAD
(2)
fAD/divided-by-2 or fAD/divided-by-3 or fAD/divided-by-4 or fAD/divided-by-6
or fAD/divided-by-12 or fAD
Resolution 8-bit or 10-bit (selectable)
Integral Nonlinearity Error When AVCC = Vref = 5V
With 8-bit resolution: ±2LSB
With 10-bit resolution: ±3LSB
When AVCC = Vref = 3.3V
With 8-bit resolution: ±2LSB
With 10-bit resolution: ±5LSB
Operating Modes
One-shot mode, repeat mode, single sweep mode, repeat sweep mode 0, repeat
sweep mode 1, simultaneous sample sweep mode and delayed trigger mode 0,1
Analog Input Pins
8 pins (AN
0
to AN
7
) + 8 pins (AN0
0
to AN0
7
) + 8 pins (AN2
0
to AN2
7
) (80pin/85pin package)
8 pins (AN0 to AN7) + 4 pins (AN00 to AN03) + 1 pin (AN24) (64pin package)
Conversion Speed Per Pin
Without sample and hold function
8-bit resolution: 49
φAD
cycles
,
10-bit resolution: 59
φAD
cycles
With sample and hold function
8-bit resolution: 28
φAD
cycles
,
10-bit resolution: 33
φAD
cycles
Table 15.1 A/D Converter Performance
NOTES:
1. Analog input voltage does not depend on use of sample and hold function.
2. Set the φAD frequency to 10 MHz or less. For M16C/28B, set it to 12 MHz or less.
Without sample-and-hold function, set the φAD frequency to 250kHZ or more.
With the sample and hold function, set the φAD frequency to 1MHZ or more.
15. A/D Converter
page 218
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Figure 15.1 A/D Converter Block Diagram
=0002
=0012
=0102
=0112
=1002
=1012
=1102
=1112
AN
0
AN
1
AN
2
AN
3
AN
4
AN
5
AN
6
AN
7
AN0
0
AN0
1
AN0
2
AN0
3
AN0
4
AN0
5
AN0
6
AN0
7
V
ref
V
IN
CH2 to CH0
Decoder
for channel
selection
A/D register 0(16)
Data bus low-order
V
REF
AV
SS
VCUT=0
VCUT=1
Data bus high-order
Port P10 group
Port P1/Port P9
group
ADGSEL1 to ADGSEL0=102
ADGSEL1 to ADGSEL0=002
AN2
0
AN2
1
AN2
2
AN2
3
AN2
4
AN2
5
AN2
6
AN2
7
ADGSEL1 to ADGSEL0=112
f
AD
CKS0=1
CKS0=0
CKS1=1
CKS1=0
1/3
CKS2=0
CKS2=1
1/21/2
ø
AD
A/D conversion rate
selection
(03C1
16
to 03C0
16
)
(03C3
16
to 03C2
16
)
(03C5
16
to 03C4
16
)
(03C7
16
to 03C6
16
)
(03C9
16
to 03C8
16
)
(03CB
16
to 03CA
16
)
(03CD
16
to 03CC
16
)
(03CF
16
to 03CE
16
)
Resistor ladder
Successive conversion register
ADCON0 register
(address 03D616)
ADCON1 register
(address 03D716)
Comparator 0
Addresses
Decoder
for A/D register
A/D register 1(16)
A/D register 2(16)
A/D register 3(16)
A/D register 4(16)
A/D register 5(16)
A/D register 6(16)
A/D register 7(16)
ADCON2 register
(address 03D4
16
)
Port P0 group
=0002
=0012
=0102
=0112
=1002
=1012
=1102
=1112
=0002
=0012
=0102
=0112
=1002
=1012
=1102
=1112
CH2 to CH0
CH2 to CH0
(1)
SSE = 1
CH2 to CH0=0012
Comparator 1
ADGSEL1 to ADGSEL0=002
ADGSEL1 to ADGSEL0=102
ADGSEL1 to ADGSEL0=112
V
IN
1
NOTES:
1. Port P1/Port P9 group is available for only 80-pin/85-pin packages.
15. A/D Converter
page 219
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Figure 15.2 ADCON0 to ADCON2 Registers
A/D Control Register 0
(1)
Symbol Address After Reset
ADCON0 03D6
16
00000XXX
2
b7 b6 b5 b4 b3 b2 b1 b0
Analog Input Pin Select
Bit
CH0
Bit Symbol Bit Name Function
CH1
CH2
A/D Operation Mode
Select Bit 0 0 0 : One-shot mode or Delayed trigger mode 0,1
0 1 : Repeat mode
1 0 : Single sweep mode or
Simultaneous sample sweep mode
1 1 : Repeat sweep mode 0 or Repeat sweep
mode 1
MD0
MD1
Trigger Select Bit 0 : Software trigger
1 : Hardware trigger
TRG
ADST A/D Conversion Start Flag 0 : A/D conversion disabled
1 : A/D conversion started
Frequency Select Bit 0 See Table 15.2
CKS0
RW
A/D Control Register 1
(1)
Symbol Address After Reset
ADCON1 03D7
16
00
16
Bit Name FunctionBit Symbol
b7 b6 b5 b4 b3 b2 b1 b0
A/D Sweep Pin Select Bit
SCAN0
SCAN1
MD2
BITS 8/10-Bit Mode Select Bit 0 : 8-bit mode
1 : 10-bit mode
VCUT Vref Connect Bit
(2)
A/D Operation Mode
Select Bit 1 0 : Other than repeat sweep mode 1
1 : Repeat sweep mode 1
0 : Vref not connected
1 : Vref connected
b4 b3
NOTES:
1. If the ADCON0 register is rewritten during A/D conversion, the conversion result will be indeterminate.
Frequency Select Bit 1
CKS1
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
Function varies with each operation mode
Function varies with each operation mode
See Table 15.2
NOTES:
1. If the ADCON1 register is rewritten during A/D conversion, the conversion result will be indeterminate.
2. If the VCUT bit is reset from 0 (V
REF
unconnected) to 1 (V
REF
connected), wait for 1 µs or more before
starting A/D conversion.
Nothing is assigned. When write, set to 0.
When read, its content is 0.
(b7-b6)
NOTES:
1. If the ADCON2 register is rewritten during A/D conversion, the conversion result will be indeterminate.
A/D Control Register 2
(1)
Symbol Address After Reset
ADCON2 03D4
16
00
16
b7 b6 b5 b4 b3 b2 b1 b0
A/D Conversion Method
Select Bit 0 : Without sample and hold
1 : With sample and hold
Bit Symbol Bit Name Function RW
SMP
Reserved Bit Set to 0
0
A/D Input Group Select Bit 0 0 : Select port P10 group
0 1 : Do not set
1 0 : Select port P0 group
1 1 : Select port P1/P9 group
b2 b1
Frequency Select Bit 2
CKS2
ADGSEL0
ADGSEL1
RW
RW
RW
RW
RW
(b3)
Nothing is assigned. When write, set to 0.
When read, its content is 0.
(b7-b6)
RW
TRG1 Trigger Select Bit
See Table 15.2
Function varies with each operation
mode
15. A/D Converter
page 220
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Figure 15.3 ADTRGCON Register
2SKC1SKC0SKCDAØ
000 DAffo4-yb-dediviD
001 DAffo2-yb-dediviD
010
DAf
011
100 DAffo21-yb-dediviD
10 1 DAffo6-yb-dediviD
110 DAffo3-yb-dediviD
111
A/D Trigger Control Register
(1, 2)
Symbol Address After Reset
ADTRGCON 03D2
16 0016
b7 b6 b5 b4 b3 b2 b1 b0
A/D Operation Mode
Select Bit 2 0 : Other than simultaneous sample sweep
mode or delayed trigger mode 0,1
1 : Simultaneous sample sweep mode or
delayed trigger mode 0,1
Bit Symbol Bit Name Function RW
SSE
A/D Operation Mode
Select Bit 3
HPTRG1
DTE
HPTRG0
RW
RW
RW
RW
Nothing is assigned. When write, set to 0.
When read, its content is 0.
(b7-b4)
0 : Other than delayed trigger mode 0,1
1 : Delayed trigger mode 0,1
NOTES:
1. If the ADTRGCON register is rewritten during A/D conversion, the conversion result will be indeterminate.
2. Set 00
16 in this register in one-shot mode, repeat mode, single sweep mode, repeat sweep mode 0 and repeat
sweep mode 1.
AN1 Trigger Select Bit
AN0 Trigger Select Bit Function varies with each operation mode
Function varies with each operation mode
Table 15.2 A/D Conversion Frequency Select
NOTE:
1. Set the φAD frequency to 10 MHz or less (12 MHz or less in M16C/28B) The selected φAD the
ADCON0 register, CKS1 bit in the ADCON1 register, and the CKS2 bit in the ADCON2 register.
15. A/D Converter
page 221
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Figure 15.4 ADSTAT0 Register and AD0 to AD7 Registers
A/D Register i (i=0 to 7)
Symbol Address After Reset
AD0 03C116 to 03C016 Indeterminate
AD1 03C316 to 03C216 Indeterminate
AD2 03C516 to 03C416 Indeterminate
AD3 03C716 to 03C616 Indeterminate
AD4 03C916 to 03C816 Indeterminate
AD5 03CB16 to 03CA16 Indeterminate
AD6 03CD16 to 03CC16 Indeterminate
AD7 03CF16 to 03CE16 Indeterminate
Eight low-order bits of
A/D conversion result
Function
(b15) b7b7 b0 b0
(b8)
When the BITS bit in the ADCON1
register is 1 (10-bit mode)
Nothing is assigned. When write, set to 0.
When read, its content is 0.
When read, its content is
indeterminate
RW
RO
RO
Two high-order bits of
A/D conversion result
When the BITS bit in the ADCON1
register is 0 (8-bit mode)
A/D conversion result
A/D Conversion Status Register 0
(1)
Symbol Address After reset
ADSTAT0 03D3
16
00
16
b7 b6 b5 b4 b3 b2 b1 b0
AN1 Trigger Status Flag 0 : AN1 trigger did not occur during
AN0 conversion
1 : AN1 trigger occured during
AN0 conversion
Bit Symbol Bit Name Function RW
ADERR0
Conversion Termination
Flag
AN0 Conversion Status
Flag
ADSTT0
ADERR1
ADTCSF
RW
RO
RW
RO
RO
Nothing is assigned. When write, set to 0.
When read, its content is 0.
(b2)
ADSTRT0 AN0 Conversion
Completion Status Flag
0 : Conversion not terminated
1 : Conversion terminated by
Timer B0 underflow
Delayed Trigger Sweep
Status Flag 0 : Sweep not in progress
1 : Sweep in progress
0 : AN0 conversion not in progress
1 : AN0 conversion in progress
ADSTT1
RW
0 : AN0 conversion not completed
1 : AN0 conversion completed
ADSTRT1 RW
AN1 Conversion Status
Flag 0 : AN1 conversion not in progress
1 : AN1 conversion in progress
AN1 Conversion
Completion Status Flag 0 : AN1 conversion not completed
1 : AN1 conversion completed
NOTES:
1. ADSTAT0 register is valid only when the DTE bit in the ADTRGCON register is set to 1.
RW
15. A/D Converter
page 222
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Figure 15.5 TB2SC Register
PWCOM Timer B2 reload timing
switch bit
(2)
0 : Timer B2 underflow
1 : Timer A output at odd-numbered
Bit Name Function
Bit Symbol
IVPCR1 Three-phase output port
SD control bit 1
(3, 4, 7)
0 : Three-phase output forcible cutoff
by SD pin input (high impedance)
disabled
1 : Three-phase output forcible cutoff
by SD pin input (high impedance)
enabled
RW
RW
RW
Nothing is assigned. When write, set to 0.
When read, its content is 0
(b7)
TB2SEL Trigger select bit
(6)
0 : TB2 interrupt
1 : Underflow of TB2 interrupt generation
frequency setting counter [ICTB2] RW
RW
TB0EN Timer B0 operation mode
select bit 0 : Other than A/D trigger mode
1 : A/D trigger mode
(5)
RW
TB1EN Timer B1 operation mode
select bit 0 : Other than A/D trigger mode
1 : A/D trigger mode
(5)
RW
(b6-b5) Reserved bit Set to "0"
NOTES:
1. Write to this register after setting the PRC1 bit in the PRCR register to "1" (write enabled).
2. If the INV11 bit is "0" (three-phase mode 0) or the INV06 bit is "1" (triangular wave modulation mode), set this
bit to "0" (Timer B2 underflow).
3. When setting the IVPCR1 bit to "1" (three-phase output forcible cutoff by SD pin input enabled), set the PD8_5
bit to "0" (= input mode).
4. Associated pins are U(P8
0
), U(P8
1
), V(P7
2
), V(P7
3
), W(P7
4
), W(P7
5
). When a high-level ("H") signal is applied
to the SD pin and set the IVPCR1 bit to 0 after forcible cutoff, pins U, U, V, V, W, and W are exit from the high-
impedance state. If a low-level (L) signal is applied to the SD pin, three-phase motor control timer output will
be disabled (INV03=0). At this time, when the IVPCR1 bit is 0, pins U, U, V, V, W, and W become
programmable I/O ports. When the IVPCR1 bit is set to 1, pins U, U, V, V, W, and W are placed in a high-
impedance state regardless of which function of those pins is used.
5. When this bit is used in delayed trigger mode 0, set the TB0EN and TB1EN bits to "1" (A/D trigger mode).
6. When setting the TB2SEL bit to "1" (underflow of TB2 interrupt generation frequency setting counter[ICTB2]),
set the INV02 bit to "1" (three-phase motor control timer function).
7. Refer to "17.6 Digital Debounce Function" for the SD input
Symbol Address After Reset
TB2SC 039E
16
X0000000
2
Timer B2 Special Mode Register (1)
b7 b6 b5 b4 b3 b2 b1 b0
0 0
15. A/D Converter
page 223
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
15.1 Operating Modes
15.1.1 One-Shot Mode
In one-shot mode, analog voltage applied to a selected pin is once converted to a digital code. Table 15.3
shows the one-shot mode specifications. Figure 15.6 shows the operation example in one-shot mode.
Figure 15.7 shows the ADCON0 to ADCON2 registers in one-shot mode.
Table 15.3 One-shot Mode Specifications
Item Specification
Function The CH2 to CH0 bits in the ADCON0 register and the ADGSEL1 to
ADGSEL0 bits in the ADCON2 register select pins. Analog voltage applied to
a selected pin is once converted to a digital code
A/D Conversion Start
When the TRG bit in the ADCON0 register is 0 (software trigger)
Condition
Set the ADST bit in the ADCON0 register to 1 (A/D conversion started)
When the TRG bit in the ADCON0 register is 1 (hardware trigger)
The ADTRG pin input changes state from H to L after setting the
ADST bit to 1 (A/D conversion started)
A/D Conversion Stop A/D conversion completed (If a software trigger is selected, the ADST bit is
Condition set to 0 (A/D conversion halted)).
Set the ADST bit to 0
Interrupt Request Generation Timing
A/D conversion completed
Analog Input Pin
Select one pin from AN
0
to AN
7
, AN0
0
to AN0
7
, AN2
0
to AN2
7
Readout of A/D Conversion Result
Readout one of the AD0 to AD7 registers that corresponds to the selected pin
Figure 15.6 Operation Example in One-Shot Mode
Example when selecting AN
2
to an analog input pin
(Ch2 to CH0="010
2
")
AN
0
AN
1
AN
2
AN
3
AN
4
AN
5
AN
6
AN
7
A/D conversion started
A/D interrupt request generated
A/D pin input voltage
sampling
A/D pin conversion
15. A/D Converter
page 224
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Figure 15.7 ADCON0 to ADCON2 Registers in One-Shot Mode
NOTES:
1. If the ADCON2 register is rewritten during A/D conversion, the conversion result will be indeterminate.
A/D Control Register 2
(1)
Symbol Address After Reset
ADCON2 03D4
16
00
16
b7 b6 b5 b4 b3 b2 b1 b0
A/D Conversion Method
Select Bit
Bit Symbol Bit Name Function RW
SMP
Reserved Bit Set to
0
0
A/D Input Group Select
Bit 0 0 : Select port P10 group
0 1 : Do not set
1 0 : Select port P0 group
1 1 : Select port P1/P9 group
b2 b1
Frequency Select Bit 2
CKS2
ADGSEL0
ADGSEL1
RW
RW
RW
RW
RW
(b3)
Nothing is assigned. When write, set to 0.
When read, its content is 0.
(b7-b6)
RW
TRG1 Trigger Select Bit 1
0 : Without sample and hold
1 : With sample and hold
Set to "0" in one-shot mode
See Table 15.2
0
A/D Control Register 0
(1)
Symbol Address After Reset
ADCON0 03D6
16
00000XXX
2
b7 b6 b5 b4 b3 b2 b1 b0
Analog Input Pin
Select Bit
(2, 3)
CH0
Bit Symbol Bit Name Function
CH1
CH2
A/D Operation Mode
Select Bit 0
(3)
MD0
MD1 Trigger Select Bit
TRG
ADST A/D Conversion Start
Flag 0 : A/D conversion disabled
1 : A/D conversion started
Frequency Select Bit 0CKS0
RW
A/D Control Register 1
(1)
Symbol Address After Reset
ADCON1 03D7
16
00
16
Bit Name FunctionBit Symbol
b7 b6 b5 b4 b3 b2 b1 b0
A/D Sweep Pin
Select Bit
SCAN0
SCAN1
MD2
BITS 8/10-Bit Mode Select Bit 0 : 8-bit mode
1 : 10-bit mode
VCUT Vref Connect Bit
(2)
A/D Operation Mode
Select Bit 1
1 : Vref connected
0
0
0 0 : One-shot mode or delayed trigger mode
0,1
b4 b3
1
Frequency Select Bit 1
CKS1
0 : Any mode other than repeat sweep
mode 1
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
See Table 15.2
Refer to Table 15.2
(b7-b6)
0
b2 b1 b0
0 0 0 : Select AN
0
0 0 1 : Select AN
1
0 1 0 : Select AN
2
0 1 1 : Select AN
3
1 0 0 : Select AN
4
1 0 1 : Select AN
5
1 1 0 : Select AN
6
1 1 1 : Select AN
7
NOTES:
1. If the ADCON0 register is rewritten during A/D conversion, the conversion result will be indeterminate.
2. AN0
0
to AN0
7
and AN2
0
to AN2
7
can be used in the same way as AN
0
to AN
7
. Use the ADGSEL1 to
ADGSEL 0 bits in the ADCON2 register to select the desired pin.
3. After rewriting the MD1 to MD0 bits, set the CH2 to CH0 bits over again using an another instruction.
0 : Software trigger
1 : Hardware trigger (AD
TRG
trigger)
Invalid in one-shot mode
Nothing is assigned. When write, set to 0.
When read, its content is 0.
NOTES:
1. If the ADCON1 register is rewritten during A/D conversion, the conversion result will be indeterminate.
2. If the VCUT bit is reset from 0 (Vref unconnected) to 1 (Vref connected), wait for 1 µs or more before starting
A/D conversion.
15. A/D Converter
page 225
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
15.1.2 Repeat mode
In repeat mode, analog voltage applied to a selected pin is repeatedly converted to a digital code. Table
15.4 shows the repeat mode specifications. Figure 15.8 shows the operation example in repeat mode.
Figure 15.9 shows the ADCON0 to ADCON2 registers in repeat mode.
Item Specification
Function The CH2 to CH0 bits in the ADCON0 register and the ADGSEL1 to ADGSEL0
bits in the ADCON2 register select pins. Analog voltage applied to a selected
pin is repeatedly converted to a digital code
A/D Conversion Start
When the TRG bit in the ADCON0 register is 0 (software trigger)
Condition
Set the ADST bit in the ADCON0 register to 1 (A/D conversion started)
When the TRG bit in the ADCON0 register is 1 (hardware trigger)
The ADTRG pin input changes state from H to L after setting the ADST bit
to 1 (A/D conversion started)
A/D Conversion Stop Condition
Set the ADST bit to 0 (A/D conversion halted)
Interrupt Request Generation Timing
None generated
Analog Input Pin
Select one pin from AN
0
to AN
7
, AN0
0
to AN0
7
and AN2
0
to AN2
7
Readout of A/D Conversion Result
Readout one of the AD0 to AD7 registers that corresponds to the selected pin
Table 15.4 Repeat Mode Specifications
Figure 15.8 Operation Example in Repeat Mode
Example when selecting AN2 to an analog input pin (Ch2 to CH0="0102")
A/D conversion started
AN0
AN1
AN2
AN3
AN4
AN5
AN6
AN7
A/D pin input voltage
sampling
A/D pin conversion
15. A/D Converter
page 226
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Figure 15.9 ADCON0 to ADCON2 Registers in Repeat Mode
A/D Control Register 0
(1)
Symbol Address After Reset
ADCON0 03D6
16
00000XXX
2
b7 b6 b5 b4 b3 b2 b1 b0
Analog Input Pin
Select Bit
(2, 3)
CH0
Bit Symbol Bit Name Function
CH1
CH2
A/D Operation Mode
Select Bit 0
(3)
MD0
MD1 Trigger Select Bit
TRG
ADST A/D Conversion Start
Flag 0 : A/D conversion disabled
1 : A/D conversion started
Frequency Select Bit 0CKS0
RW
A/D Control Register 1
(1)
Symbol Address After Reset
ADCON1 03D7
16
00
16
Bit Name FunctionBit Symbol
b7 b6 b5 b4 b3 b2 b1 b0
A/D Sweep Pin
Select Bit
SCAN0
SCAN1
MD2
BITS 8/10-Bit Mode Select Bit 0 : 8-bit mode
1 : 10-bit mode
VCUT Vref connect bit
(2)
A/D Operation Mode
Select Bit 1
1 : Vref connected
0
0
0 1 : Repeat mode
b4 b3
1
Frequency Select Bit 1
CKS1
0 : Any mode other than repeat sweep
mode 1
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
Refer to Table 15.2
Refer to Table 15.2
(b7-b6)
1
b2 b1 b0
0 0 0 : Select AN
0
0 0 1 : Select AN
1
0 1 0 : Select AN
2
0 1 1 : Select AN
3
1 0 0 : Select AN
4
1 0 1 : Select AN
5
1 1 0 : Select AN
6
1 1 1 : Select AN
7
NOTES:
1. If the ADCON0 register is rewritten during A/D conversion, the conversion result will be indeterminate.
2. AN0
0
to AN0
7
and AN2
0
to AN2
7
can be used in the same way as AN
0
to AN
7
. Use the ADGSEL1 to
ADGSEL0 bits in the ADCON2 register to select the desired pin.
3. After rewriting the MD1 to MD0 bits, set the CH2 to CH0 bits over again using an another instruction.
0 : Software trigger
1 : Hardware trigger (AD
TRG
trigger)
Invalid in repeat mode
Nothing is assigned. When write, set to 0.
When read, its content is 0.
NOTES:
1. If the ADCON1 register is rewritten during A/D conversion, the conversion result will be indeterminate.
2. If the VCUT bit is reset from 0 (Vref unconnected) to 1 (Vref connected), wait for 1 µs or more before starting
A/D conversion.
NOTES:
1. If the ADCON2 register is rewritten during A/D conversion, the conversion result will be indeterminate.
A/D Control Register 2
(1)
Symbol Address After Reset
ADCON2 03D4
16
00
16
b7 b6 b5 b4 b3 b2 b1 b0
A/D Conversion Method
Select Bit
Bit Symbol Bit Name Function RW
SMP
Reserved Bit Set to
0
0
A/D Input Group Select
Bit 0 0 : Select port P10 group
0 1 : Do not set
1 0 : Select port P0 group
1 1 : Select port P1/P9 group
b2 b1
Frequency Select Bit 2
CKS2
ADGSEL0
ADGSEL1
RW
RW
RW
RW
RW
(b3)
Nothing is assigned. When write, set to 0.
When read, its content is 0.
(b7-b6)
See Table 15.2
RW
TRG1 Trigger Select Bit 1
0 : Without sample and hold
1 : With sample and hold
Set to "0" in repeat mode
0
15. A/D Converter
page 227
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
15.1.3 Single Sweep Mode
In single sweep mode, analog voltages applied to the selected pins are converted one-by-one to a digital
code. Table 15.5 shows the single sweep mode specifications. Figure 15.10 shows the operation ex-
ample in single sweep mode. Figure 15.11 shows the ADCON0 to ADCON2 registers in single sweep
mode.
Item Specification
Function The SCAN1 to SCAN0 bits in the ADCON1 register and the ADGSEL1 to
ADGSEL0 bits in the ADCON2 register select pins. Analog voltage applied to
the selected pins is converted one-by-one to a digital code
A/D Conversion Start Condition
When the TRG bit in the ADCON0 register is 0 (software trigger)
Set the ADST bit in the ADCON0 register to 1 (A/D conversion started)
When the TRG bit in the ADCON0 register is 1 (hardware trigger)
The ADTRG pin input changes state from H to L after setting the ADST bit
to 1 (A/D conversion started)
A/D Conversion Stop Condition
A/D conversion completed(When selecting a software trigger, the ADST bit
is set to 0 (A/D conversion halted)).
Set the ADST bit to 0
Interrupt Request Generation Timing
A/D conversion completed
Analog Input Pin Select from AN0 to AN1 (2 pins), AN0 to AN3 (4 pins), AN0 to AN5 (6 pins),
AN0 to AN7 (8 pins) (1)
Readout of A/D Conversion Result
Readout one of the AD0 to AD7 registers that corresponds to the selected pin
Table 15.5 Single Sweep Mode Specifications
NOTES:
1. AN00 to AN07 and AN 20 to AN27 can be used in the same way as AN0 to AN7. However, all input pins
need to belong to the same group.
Figure 15.10 Operation Example in Single Sweep Mode
A/D conversion started
A/D interrupt request generated
AN0
AN1
AN2
AN3
AN4
AN5
AN6
AN7
A/D pin input voltage
sampling
A/D pin conversion
Example when selecting AN0 to AN3 to A/D sweep pins (SCAN1 to SCAN0="012")
15. A/D Converter
page 228
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Figure 15.11 ADCON0 to ADCON2 Registers in Single Sweep Mode
A/D Control Register 0 (1)
Symbol Address After Reset
ADCON0 03D616 00000XXX2
b7 b6 b5 b4 b3 b2 b1 b0
Analog Input Pin
Select Bit
CH0
Bit Symbol Bit Name Function
CH1
CH2
A/D Operation Mode
Select Bit 0
MD0
MD1 Trigger Select Bit
TRG
ADST A/D Conversion Start
Flag 0 : A/D conversion disabled
1 : A/D conversion started
Frequency Select Bit 0CKS0
RW
A/D Control Register 1 (1)
Symbol Address After Reset
ADCON1 03D716 0016
Bit Name FunctionBit Symbol
b7 b6 b5 b4 b3 b2 b1 b0
A/D Sweep Pin
Select Bit (2)
SCAN0
SCAN1
MD2
BITS 8/10-Bit Mode Select Bit 0 : 8-bit mode
1 : 10-bit mode
VCUT Vref Connect Bit (3)
A/D Operation Mode
Select Bit 1
1 : Vref connected
1
0
1
Frequency Select Bit 1
CKS1
0 : Any mode other than repeat sweep
mode 1
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
Refer to Table 15.2
Refer to Table 15.2
(b7-b6)
0
NOTES:
1. If the ADCON0 register is rewritten during A/D conversion, the conversion result will be indeterminate.
0 : Software trigger
1 : Hardware trigger (ADTRG trigger)
Nothing is assigned. When write, set to 0.
When read, its content is 0.
Invalid in single sweep mode
1 0 : Single sweep mode or simultaneous
sample sweep mode
b4 b3
When selecting single sweep mode
0 0 : AN0 to AN1 (2 pins)
0 1 : AN0 to AN3 (4 pins)
1 0 : AN0 to AN5 (6 pins)
1 1 : AN0 to AN7 (8 pins)
b1 b0
NOTES:
1. If the ADCON1 register is rewritten during A/D conversion, the conversion result will be indeterminate.
2. AN00 to AN07 and AN20 to AN27 can be used in the same way as AN 0 to AN7. Use the ADGSEL1 to ADGSEL0 bits in the
ADCON2 register to select the desired pin.
3. If the VCUT bit is reset from 0 (Vref unconnected) to 1 (Vref connected), wait for 1 µs or more before starting
A/D conversion.
NOTES:
1. If the ADCON2 register is rewritten during A/D conversion, the conversion result will be indeterminate.
A/D Control Register 2
(1)
Symbol Address After Reset
ADCON2 03D416 0016
b7 b6 b5 b4 b3 b2 b1 b0
A/D Conversion Method
Select Bit
Bit Symbol Bit Name Function RW
SMP
Reserved Bit Set to
0
0
A/D Input Group
Select Bit 0 0 : Select port P10 group
0 1 : Do not set
1 0 : Select port P0 group
1 1 : Select port P1/P9 group
b2 b1
Frequency Select Bit 2
CKS2
ADGSEL0
ADGSEL1
RW
RW
RW
RW
RW
(b3)
Nothing is assigned. When write, set to 0.
When read, its content is 0.
(b7-b6)
Refer to Table 15.2
RW
TRG1 Trigger Select Bit 1
0 : Without sample and hold
1 : With sample and hold
Set to "0" in single sweep mode
0
15. A/D Converter
page 229
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Item Specification
Function The SCAN1 to SCAN0 bits in the ADCON1 register and the ADGSEL1 to
ADGSEL0 bits in the ADCON2 register select pins. Analog voltage applied to
the selected pins is repeatedly converted to a digital code
A/D Conversion Start Condition
When the TRG bit in the ADCON0 register is 0 (software trigger)
Set the ADST bit in the ADCON0 register to 1 (A/D conversion started)
When the TRG bit in the ADCON0 register is 1 (Hardware trigger)
The ADTRG pin input changes state from H to L after setting the ADST bit
to 1 (A/D conversion started)
A/D Conversion Stop Condition
Set the ADST bit to 0 (A/D conversion halted)
Interrupt Request Generation Timing
None generated
Analog Input Pin Select from AN0 to AN1 (2 pins), AN0 to AN3 (4 pins), AN0 to AN5 (6 pins),
AN0 to AN7 (8 pins) (1)
Readout of A/D Conversion Result
Readout one of the AD0 to AD7 registers that corresponds to the selected pin
15.1.4 Repeat Sweep Mode 0
In repeat sweep mode 0, analog voltages applied to the selected pins are repeatedly converted to a
digital code. Table 15.6 shows the repeat sweep mode 0 specifications. Figure 15.12 shows the opera-
tion example in repeat sweep mode 0. Figure 15.13 shows the ADCON0 to ADCON2 registers in repeat
sweep mode 0.
Table 15.6 Repeat Sweep Mode 0 Specifications
NOTES:
1. AN00 to AN07 and AN20 to AN27 can be used in the same way as AN0 to AN 7. However, all input pins
need to belong to the same group.
Figure 15.12 Operation Example in Repeat Sweep Mode 0
Example when selecting AN0 to AN3 to A/D sweep pins (SCAN1 to SCAN0="012")
A/D conversion started
AN0
AN1
AN2
AN3
AN4
AN5
AN6
AN7
A/D pin input voltage
sampling
A/D pin conversion
15. A/D Converter
page 230
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Figure 15.13 ADCON0 to ADCON2 Registers in Repeat Sweep Mode 0
A/D Control Register 1
(1)
Symbol Address After Reset
ADCON1 03D716 0016
Bit Name FunctionBit Symbol
b7 b6 b5 b4 b3 b2 b1 b0
A/D Sweep Pin
Select Bit (2)
SCAN0
SCAN1
MD2
BITS 8/10-Bit Mode Select Bit 0 : 8-bit mode
1 : 10-bit mode
VCUT Vref Connect Bit (3)
A/D Operation Mode
Select Bit 1
1 : Vref connected
01
Frequency Select Bit 1
CKS1
0 : Any mode other than repeat sweep
mode 1
RW
RW
RW
RW
RW
RW
RW
Refer to Table 15.2
(b7-b6) Nothing is assigned. When write, set to 0.
When read, its content is 0.
NOTES:
1. If the ADCON1 register is rewritten during A/D conversion, the conversion result will be indeterminate.
2. AN00 to AN07 and AN20 to AN27 can be used in the same way as AN 0 to AN7 . Use the ADGSEL1 to ADGSET0 bits in
the ADCON2 register to select the desired pin.
3. If the VCUT bit is reset from 0 (Vref unconnected) to 1 (Vref connected), wait for 1 µs or more before starting
A/D conversion.
When selecting repeat sweep mode 0
0 0 : AN0 to AN1 (2 pins)
0 1 : AN0 to AN3 (4 pins)
1 0 : AN0 to AN5 (6 pins)
1 1 : AN0 to AN7 (8 pins)
b1 b0
A/D Control Register 0
(1)
Symbol Address After Reset
ADCON0 03D616 00000XXX2
b7 b6 b5 b4 b3 b2 b1 b0
Analog Input Pin
Select Bit
CH0
Bit Symbol Bit Name Function
CH1
CH2
A/D Operation Mode
Select Bit 0
MD0
MD1
Trigger Select Bit
TRG
ADST A/D Conversion Start
Flag 0 : A/D conversion disabled
1 : A/D conversion started
Frequency Select Bit 0
CKS0
RW
1
RW
RW
RW
RW
RW
RW
RW
RW
Refer to Table 15.2
1
NOTES:
1. If the ADCON0 register is rewritten during A/D conversion, the conversion result will be indeterminate.
0 : Software trigger
1 : Hardware trigger (ADTRG trigger)
Invalid in repeat sweep mode 0
1 1 : Repeat sweep mode 0 or
Repeat sweep mode 1
b4 b3
NOTES:
1. If the ADCON2 register is rewritten during A/D conversion, the conversion result will be indeterminate.
A/D Control Register 2
(1)
Symbol Address After Reset
ADCON2 03D4
16
00
16
b7 b6 b5 b4 b3 b2 b1 b0
A/D Conversion Method
Select Bit
Bit Symbol Bit Name Function RW
SMP
Reserved Bit Set to 0
0
A/D Input Group
Select Bit 0 0 : Select port P10 group
0 1 : Do not set
1 0 : Select port P0 group
1 1 : Select port P1/P9 group
b2 b1
Frequency Select Bit 2
CKS2
ADGSEL0
ADGSEL1
RW
RW
RW
RW
RW
(b3)
Nothing is assigned. When write, set to 0.
When read, its content is 0.
(b7-b6)
Refer to Table 15.2
RW
TRG1 Trigger Select Bit 1
0 : Without sample and hold
1 : With sample and hold
Set to "0" in repeat sweep mode 0
0
15. A/D Converter
page 231
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
15.1.5 Repeat Sweep Mode 1
In repeat sweep mode 1, analog voltage is applied to the all selected pins are converted to a digital code,
with mainly used in the selected pins. Table 15.7 shows the repeat sweep mode 1 specifications. Figure
15.14 shows the operation example in repeat sweep mode 1. Figure 15.15 shows the ADCON0 to
ADCON2 registers in repeat sweep mode 1.
Table 15.7 Repeat Sweep Mode 1 Specifications
Item Specification
Function The SCAN1 to SCAN0 bits in the ADCON1 register and the ADGSEL1 to
ADGSEL0 bits in the ADCON2 register mainly select pins. Analog voltage
applied to the all selected pins is repeatedly converted to a digital code
Example : When selecting AN0
Analog voltage is converted to a digital code in the following order
AN0 AN1 AN0 AN2 AN0 AN3, and so on.
A/D Conversion Start Condition
When the TRG bit in the ADCON0 register is 0 (software trigger)
Set the ADST bit in the ADCON0 register to 1 (A/D conversion started)
When the TRG bit in the ADCON0 register is 1 (hardware trigger)
The ADTRG pin input changes state from H to L after setting the ADST bit
to 1 (A/D conversion started)
A/D Conversion Stop Condition
Set the ADST bit to 0 (A/D conversion halted)
Interrupt Request Generation Timing
None generated
Analog Input Pins Mainly Select from AN0 (1 pins), AN0 to AN1 (2 pins), AN0 to AN2 (3 pins), AN0 to
Used in A/D Conversions AN3 (4 pins) (1)
Readout of A/D Conversion Result
Readout one of the AD0 to AD7 registers that corresponds to the selected pin
NOTES:
1. AN00 to AN07 and AN20 to AN27 can be used in the same way as AN0 to AN 7. However, all input pins
need to belong to the same group.
Figure 15.14 Operation Example in Repeat Sweep Mode 1
Example when selecting AN
0
to A/D sweep pins (SCAN1 to SCAN0="00
2
")
AN
0
AN
1
AN
2
AN
3
AN
4
AN
5
AN
6
AN
7
A/D conversion started
A/D pin input voltage
sampling
A/D pin conversion
15. A/D Converter
page 232
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Figure 15.15 ADCON0 to ADCON2 Registers in Repeat Sweep Mode 1
A/D Control Register 0
(1)
Symbol Address After Reset
ADCON0 03D616 00000XXX2
b7 b6 b5 b4 b3 b2 b1 b0
Analog Input Pin
Select Bit
CH0
Bit Symbol Bit Name Function
CH1
CH2
A/D Operation Mode
Select Bit 0
MD0
MD1
Trigger Select Bit
TRG
ADST A/D Conversion Start
Flag 0 : A/D conversion disabled
1 : A/D conversion started
Frequency Select Bit 0CKS0
RW
A/D Control register 1
(1)
Symbol Address After Reset
ADCON1 03D716 00 16
Bit Name FunctionBit Symbol
b7 b6 b5 b4 b3 b2 b1 b0
A/D Sweep Pin
Select Bit
(2)
SCAN0
SCAN1
MD2
BITS 8/10-Bit Mode Select Bit 0 : 8-bit mode
1 : 10-bit mode
VCUT Vref Connect Bit
(3)
A/D Operation Mode
Select Bit 1
1 : Vref connected
1
1
1
Frequency Select Bit 1
CKS1
1 : Repeat sweep mode 1
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
Refer to Table 15.2
Refer to Table 15.2
(b7-b6)
1
NOTES:
1. If the ADCON0 register is rewritten during A/D conversion, the conversion result will be indeterminate.
0 : Software trigger
1 : Hardware trigger (AD
TRG
trigger)
Nothing is assigned. When write, set to 0.
When read, its content is 0.
1. If the ADCON1 register is rewritten during A/D conversion, the conversion result will be indeterminate.
2. AN0
0
to AN0
7
and AN2
0
to AN2
7
can be used in the same way as AN
0
to AN
7
.
Use the ADGSEL1 to ADGSEL0 bits in the ADCON2 register to select the desired pin.
3. If the VCUT bit is reset from 0 (Vref unconnected) to 1 (Vref connected), wait for 1 µs or more before
starting A/D conversion.
Invalid in repeat sweep mode 1
1 1 : Repeat sweep mode 0 or
Repeat sweep mode 1
b4 b3
When selecting repeat sweep mode 1
0 0 : AN
0
(1 pin)
0 1 : AN
0
to AN
1
(2 pins)
1 0 : AN
0
to AN
2
(3 pins)
1 1 : AN
0
to AN
3
(4 pins)
b1 b0
NOTES:
1. If the ADCON2 register is rewritten during A/D conversion, the conversion result will be indeterminate.
A/D Control Register 2
(1)
Symbol Address After Reset
ADCON2 03D4
16
00
16
b7 b6 b5 b4 b3 b2 b1 b0
A/D Conversion Method
Select Bit
Bit Symbol Bit Name Function RW
SMP
Reserved Bit Set to
0
0
A/D Input Group
Select Bit 0 0 : Select port P10 group
0 1 : Do not set
1 0 : Select port P0 group
1 1 : Select port P1/P9 group
b2 b1
Frequency Select Bit 2
CKS2
ADGSEL0
ADGSEL1
RW
RW
RW
RW
RW
(b3)
Nothing is assigned. When write, set to 0.
When read, its content is 0.
(b7-b6)
Refer to Table 15.2
RW
TRG1 Trigger Select Bit 1
0 : Without sample and hold
1 : With sample and hold
Set to "0" in repeat sweep mode 1
0
15. A/D Converter
page 233
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Item Specification
Function The SCAN1 to SCAN0 bits in the ADCON1 register and ADGSEL1 to
ADGSEL0 bits in the ADCON2 register select pins. Analog voltage applied
to the selected pins is converted one-by-one to a digital code. At this time,
the input voltage of AN0 and AN1 are sampled simultaneously.
A/D Conversion Start Condition
When the TRG bit in the ADCON0 register is "0" (software trigger)
Set the ADST bit in the ADCON0 register to 1 (A/D conversion started)
When the TRG bit in the ADCON0 register is "1" (hardware trigger)
The trigger is selected by TRG1 and HPTRG0 bits (See Table 15.9)
The ADTRG pin input changes state from H to L after setting the ADST
bit to 1 (A/D conversion started)
Timer B0, B2 or Timer B2 interrupt generation frequency setting counter
underflow after setting the ADST bit to 1 (A/D conversion started)
A/D Conversion Stop Condition
A/D conversion completed (If selecting software trigger, the ADST bit is
automatically set to "0" ).
Set the ADST bit to "0" (A/D conversion halted)
Interrupt Generation Timing A/D conversion completed
Analog Input Pin Select from AN0 to AN1 (2 pins), AN0 to AN3 (4 pins),AN0 to AN5 (6 pins), or
AN0 to AN7 (8 pins) (1)
Readout of A/D conversion result
Readout one of the AN0 to AN7 registers that corresponds to the selected pin
NOTES:
1. AN00 to AN07 and AN20 to AN27 can be used in the same way as AN0 to AN 7. However, all input pins
need to belong to the same group.
15.1.6 Simultaneous Sample Sweep Mode
In simultaneous sample sweep mode, analog voltages applied to the selected pins are converted one-by-
one to a digital code. The input voltages of AN0 and AN1 are sampled simultaneously using two circuits
of sample and hold circuit. Table 15.8 shows the simultaneous sample sweep mode specifications. Fig-
ure 15.16 shows the operation example in simultaneous sample sweep mode. Figure 15.17 shows
ADCON0 to ADCON2 registers and Figure 15.18 shows ADTRGCON registers in simultaneous sample
sweep mode. Table 15.9 shows the trigger select bit setting in simultaneous sample sweep mode. In
simultaneous sample sweep mode, Timer B0 underflow can be selected as a trigger by combining soft-
___________
ware trigger, ADTRG trigger, Timer B2 underflow, Timer B2 interrupt generation frequency setting counter
underflow or A/D trigger mode of Timer B.
Figure 15.16 Operation Example in Simultaneous Sample Sweep Mode
Table 15.8 Simultaneous Sample Sweep Mode Specifications
Example when selecting AN0 to AN3 to A/D pins for sweep (SCAN1 to SCAN0="012")
A/D conversion started
A/D interrupt request generated
AN0
AN1
AN2
AN3
AN4
AN5
AN6
AN7
A/D pin input voltage
sampling
A/D pin conversion
15. A/D Converter
page 234
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Figure 15.17 ADCON0 to ADCON2 Registers in Simultaneous Sample Sweep Mode
A/D Control Register 0
(1)
Symbol Address After Reset
ADCON0 03D6
16
00000XXX
2
b7 b6 b5 b4 b3 b2 b1 b0
Analog Input Pin
Select Bit
CH0
Bit Symbol Bit Name Function
CH1
CH2
A/D Operation Mode
Select Bit 0
MD0
MD1
Trigger Select Bit
TRG
ADST A/D Conversion Start Fag 0 : A/D conversion disabled
1 : A/D conversion started
Frequency Select Bit 0CKS0
RW
A/D Control Register 1
(1)
Symbol Address After Reset
ADCON1 03D7
16
00
16
Bit Name FunctionBit Symbol
b7 b6 b5 b4 b3 b2 b1 b0
A/D Sweep Pin
Select Bit
(2)
SCAN0
SCAN1
MD2
BITS 8/10-Bit Mode Select Bit 0 : 8-bit mode
1 : 10-bit mode
VCUT Vref Connect Bit
(3)
A/D Operation Mode
Select Bit 1
1 : Vref connected
1
0
1
Frequency Select Bit 1
CKS1
0 : Any mode other than repeat sweep
mode 1
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
Refer to Table 15.2
Refer to Table 15.2
(b7-b6)
0
NOTES:
1. If the ADCON0 register is rewritten during A/D conversion, the conversion result will be indeterminate.
Refer to Table 15.9
NOTES:
1. If the ADCON1 register is rewritten during A/D conversion, the conversion result will be indeterminate.
2. AN0
0
to AN0
7
and AN2
0
to AN2
7
can be used in the same way as AN
0
to AN
7
. Use the ADGSEL1 to ADGSET0
its in the ADCON2 register to select the desired pin.
3. If the VCUT bit is reset from 0 (Vref unconnected) to 1 (Vref connected), wait for 1 µs or more before starting
A/D conversion.
Invalid in simultaneous sample sweep mode
1 0 : Single sweep mode or simultaneous
sample sweep mode
b4 b3
When selecting simultaneous sample sweep
mode
0 0 : AN
0
to AN
1
(2 pins)
0 1 : AN
0
to AN
3
(4 pins)
1 0 : AN
0
to AN
5
(6 pins)
1 1 : AN
0
to AN
7
(8 pins)
b1 b0
RW
Nothing is assigned. When write, set to "0".
When read, its contents is "0".
NOTES:
1. If the ADCON2 register is rewritten during A/D conversion, the conversion result will be indeterminate.
A/D Control Register 2
(1)
Symbol Address After Reset
ADCON2 03D416 0016
b7 b6 b5 b4 b3 b2 b1 b0
A/D Conversion Method
Select Bit
Bit Symbol Bit Name Function RW
SMP
Reserved Bit Set to
0
0
A/D Input Group
Select Bit 0 0 : Select port P10 group
0 1 : Do not set
1 0 : Select port P0 group
1 1 : Select port P1/P9 group
b2 b1
Frequency Select Bit 2
CKS2
ADGSEL0
ADGSEL1
RW
RW
RW
RW
RW
(b3)
Nothing is assigned. When write, set to 0.
When read, its content is 0.
(b7-b6)
Refer to Table 15.2
RW
TRG1 Trigger select bit 1
1
Refer to Table 15.9
Set to 1 in simultaneous sample
sweep mode
15. A/D Converter
page 235
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Figure 15.18 ADTRGCON Register in Simultaneous Sample Sweep Mode
Table 15.9 Trigger Select Bit Setting in Simultaneous Sample Sweep Mode
TRG HPTRG0TRG1 TRIGGER
0
1
1
1
-
1
0
0
Software trigger
Timer B0 underflow
(1)
Timer B2 or Timer B2 interrupt generation frequency setting
counter underflow
(2)
ADTRG
-
-
1
0
NOTES:
1. A count can be started for Timer B2, Timer B2 interrupt generation frequency
setting counter underflow or the INT5 pin falling edge as count start
conditions of Timer B0.
2. Select Timer B2 or Timer B2 interrupt generation frequency setting counter
using the TB2SEL bit in the TB2SC register.
A/D Trigger Control Register (1)
Symbol Address After Reset
ADTRGCON 03D2
16
00
16
b7 b6 b5 b4 b3 b2 b1 b0
A/D Operation Mode
Select Bit 2
Bit Symbol Bit Name Function RW
SSE
A/D Operation Mode
Select Bit 3
AN1 Trigger Select Bit
HPTRG1
DTE
HPTRG0
RW
RW
RW
RW
Nothing is assigned. When write, set to 0.
When read, its content is 0.
(b7-b4)
AN0 Trigger Select Bit
NOTES:
1. If ADTRGCON register is rewritten during A/D conversion, the conversion result will be indeterminate.
0
0 : Any mode other than delayed trigger
mode 0,1
1 : Simultaneous sample sweep mode
or delayed trigger mode 0, 1
10
Refer to Table 15.9
Set to "0" in simultaneous sample
sweep mode
15. A/D Converter
page 236
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
NOTES:
1. Set the larger value than the value of the timer B0 register to the timer B1 register. The count source for
timer B0 and timer B1 must be the same.
2. Do not write 1 (A/D conversion started) to the ADST bit in delayed trigger mode 0. When write 1,
unexpected interrupts may be generated.
3. AN00 to AN07 and AN20 to AN27 can be used in the same way as AN0 to AN7. However, all input pins
need to belong to the same group.
15.1.7 Delayed Trigger Mode 0
In delayed trigger mode 0, analog voltages applied to the selected pins are converted one-by-one to a
digital code. The delayed trigger mode 0 used in combination with A/D trigger mode of Timer B. The
Timer B0 underflow starts a single sweep conversion. After completing the AN0 pin conversion, the AN1
pin is not sampled and converted until the Timer B1 underflow is generated. When the Timer B1 under-
flow is generated, the single sweep conversion is restarted with the AN1 pin. Table 15.10 shows the
delayed trigger mode 0 specifications. Figure 15.19 shows the operation example in delayed trigger
mode 0. Figures 15.20 and 15.21 show each flag operation in the ADSTAT0 register that corresponds to
the operation example. Figure 15.22 shows the ADCON0 to ADCON2 registers in delayed trigger mode
0. Figure 15.23 shows the ADTRGCON register in delayed trigger mode 0 and Table 15.11 shows the
trigger select bit setting in delayed trigger mode 0.
Item Specification
Function The SCAN1 to SCAN0 bits in the ADCON1 register and ADGSEL1 to ADGSEL0 bits
in the ADCON2 register select pins. Analog voltage applied to the input voltage of
the selected pins are converted one-by-one to the digital code. At this time, Timer B0
underflow generation starts AN0 pin conversion. Timer B1 underflow generation
starts conversion after the AN1 pin. (1)
A/D Conversion Start
AN0 pin conversion start condition
When Timer B0 underflow is generated if Timer B0 underflow is generated again
before Timer B1 underflow is generated , the conversion is not affected
When Timer B0 underflow is generated during A/D conversion of pins after the
AN1 pin, conversion is halted and the sweep is restarted from the AN0 pin again
AN1 pin conversion start condition
When Timer B1 underflow is generated during A/D conversion of the AN0 pin, the
input voltage of the AN1 pin is sampled. The AN1 conversion and the rest of the
sweep start when AN0 conversion is completed.
A/D Conversion Stop
When single sweep conversion from the AN0 pin is completed
Condition
Set the ADST bit to "0" (A/D conversion halted)(2)
Interrupt Request A/D conversion completed
Generation Timing
Analog Input Pin Select from AN0 to AN1 (2 pins), AN0 to AN3 (4 pins), AN0 to AN5 (6 pins)
and AN0 to AN7 (8 pins)(3)
Readout of A/D Conversion Result
Readout one of the AN0 to AN7 registers that corresponds to the selected
pins
Table 15.10 Delayed Trigger Mode 0 Specifications
15. A/D Converter
page 237
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Figure 15.19 Operation Example in Delayed Trigger Mode 0
AN0
AN1
AN2
AN3
Timer B0 underflow
A/D pin input
voltage sampling
A/D pin conversion
AN0
AN1
AN2
AN3
Timrt B0 underflow
(An interrupt does not affect A/D conversion)
Timer B0 underflow
Timer B1 underflow
Timer B1 underflow
Example when selecting AN0 to AN3 to A/D sweep pins (SCAN1 to SCAN0="012")
Example 1: When Timer B1 underflow is generated during AN
0
pin conversion
AN0
AN1
AN2
AN3
Timer B0 underflow
Timer B1 underflow
Example 2: When Timer B1 underflow is generated after AN
0
pin conversion
AN0
AN1
AN2
AN3
Timer B0 underflow
(Abort othrt pins conversion)
Timer B0 underflow
Timer B1 under flow
Timer B1 underflow
Example 3: When Timer B0 underflow is generated during A/D conversion of any pins except AN
0
pin
Example 4: When Timer B0 underflow is generated again before Timer B1 underflow is generated
after Timer B0 underflow generation
15. A/D Converter
page 238
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Figure 15.20 Each Flag Operation in ADSTAT0 Register Associated with the Operation
Example in Delayed Trigger Mode 0 (1)
AN
0
AN
1
AN
2
AN
3
Timer B0 underflow
"1"
"0"
"1"
"0"
"1"
"0"
"1"
"0"
"1"
"0"
"1"
"0"
"1"
"0"
"1"
"0"
"1"
"0"
AN
0
AN
1
AN
2
AN
3
"1"
"0"
"1"
"0"
"1"
"0"
"1"
"0"
"1"
"0"
"1"
"0"
"1"
"0"
"1"
"0"
"1"
"0"
A/D pin input
voltage sampling
A/D pin conversion
Do not set to "1" by program
Do not set to "1" by program
Set to "0" by an interrupt request acknowledgement or a program
Set to "0" by an interrupt request acknowledgement or a program
Set to 0" by program
Set to "0" by program
ADST flag: Bit 6 in the ADCON0 register
ADERR0, ADERR1, ADTCSF, ADSTT0, ADSTT1, ADSTRT0 a
n
d ADSTRT1
fl
ag:bits0,1,3,4,5,6a
n
d7i
n
t
h
e ADSTAT0 register
ADST flag
ADERR0 flag
ADERR1 flag
ADTCSF flag
ADSTT0 flag
ADSTT1 flag
ADSTRT0 flag
ADSTRT1 flag
IR bit in the ADIC
register
ADST flag
ADERR0 flag
ADERR1 flag
ADTCSF flag
ADSTT0 flag
ADSTT1 flag
ADSTRT0 flag
ADSTRT1 flag
IR bit in the ADIC
register
Timer B0 underflow
Timer B1 underflow
Timer B1 underflow
Example when selecting AN
0
to AN
3
to A/D sweep pins (SCAN1 to SCAN0="01
2
")
Example 1: When Timer B1 underflow is generated during AN
0
pin conversion
Example 2: When Timer B1 underflow is generated after AN
0
pin conversion
15. A/D Converter
page 239
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Figure 15.21 Each Flag Operation in ADSTAT0 Register Associated with the Operation
Example in Delayed Trigger Mode 0 (2)
AN0
AN1
AN2
AN3
Timer B0 underflow
(Abort othrt pins conversion )
"1"
"0"
"1"
"0"
"1"
"0"
"1"
"0"
"1"
"0"
"1"
"0"
"1"
"0"
"1"
"0"
"1"
"0"
AN0
AN1
AN2
AN3
Timrt B0 underflow
(An interrupt does not affect A/D conversion)
"1"
"0"
"1"
"0"
"1"
"0"
"1"
"0"
"1"
"0"
"1"
"0"
"1"
"0"
"1"
"0"
"1"
"0"
A/D pin input
voltage sampling
A/D pin conversion
A/D pin input
voltage sampling
A/D pin conversion
Do not set to "1" by program
Do not set to "1" by program
Set to "0" by interrupt request acknowledgement or a program
Set to "0" by interrupt request acknowledgement or a program
Set to "0" by program
Set to "0" by program
ADST flag: Bit 6 in the ADCON0 register
ADERR0, ADERR1, ADTCSF, ADSTT0, ADSTT1, ADSTRT0 a
n
d ADSTRT1
fl
ag:bits0,1,3,4,5,6a
n
d7i
n
t
h
e ADSTAT0 register
ADST flag: Bit 6 in the ADCON0 register
ADERR0, ADERR1, ADTCSF, ADSTT0, ADSTT1, ADSTRT0 and ADSTRT1 flag: bits 0, 1, 3, 4, 5, 6 and 7 in the ADSTAT0 register
ADST flag
ADERR0 flag
ADERR1 flag
ADTCSF flag
ADSTT0 flag
ADSTT1 flag
ADSTRT0 flag
ADSTRT1 flag
IR bit in the ADIC
register
ADST flag
ADERR0 flag
ADERR1 flag
ADTCSF flag
ADSTT0 flag
ADSTT1 flag
ADSTRT0 flag
ADSTRT1 flag
IR bit in the ADIC
register
Timer B0 underflow
Timer B0 underflow
Timer B1 underflow
Timer B1 underflow
Timer B1 underflow
Example 3: When Timer B0 underflow is generated during A/D pin conversion of any pins except AN0 pin
Example 4: After Timer B0 underflow is generated and when Timer B0 underflow is generated again
before Timer B1 underflow is genetaed
15. A/D Converter
page 240
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Figure 15.22 ADCON0 to ADCON2 Registers in Delayed Trigger Mode 0
A/D Control Register 0
(1)
Symbol Address After Reset
ADCON0 03D6
16
00000XXX
2
b7 b6 b5 b4 b3 b2 b1 b0
Analog Input Pin
Select Bit
CH0
Bit Symbol Bit Name Function
CH1
CH2
A/D Operation Mode
Select Bit 0
MD0
MD1 Trigger Select Bit Refer to Table 15.11
TRG
ADST A/D Conversion Start
Flag (2) 0 : A/D conversion disabled
1 : A/D conversion started
Frequency Select Bit 0CKS0
RW
A/D Control Register 1
(1)
Symbol Address After Reset
ADCON1 03D7
16
00
16
Bit Name FunctionBit Symbol
b7 b6 b5 b4 b3 b2 b1 b0
A/D Sweep Pin
Select Bit (2)
SCAN0
SCAN1
MD2
BITS 8/10-Bit Mode Select Bit 0 : 8-bit mode
1 : 10-bit mode
VCUT Vref Connect Bit (3)
A/D Operation Mode
Select Bit 1
1 : Vref connected
01
When selecting delayed trigger sweep mode 0
0
1 1 1 : Set to "111b" in delayed trigger
mode 0
b2 b1 b0
0 0 : One-shot mode or delayed trigger mode
0,1
b4 b3
1
Frequency Select Bit 1
CKS1
0 : Any mode other than repeat sweep
mode 1
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
Refer to Table 15.2
NOTES:
1. If the ADCON0 register is rewritten during A/D conversion, the conversion result will be indeterminate.
2. Do not write 1 in delayed trigger mode 0. When write, set to "0".
NOTES:
1. If the ADCON1 register is rewritten during A/D conversion, the conversion result will be indeterminate.
2.AN00 to AN07 and AN20 to AN27 can be used in the same way as AN 0 to AN7. Use the ADGSEL1 to ADGSEL0
bits in the ADCON2 register to select the desired pin.
3.If the VCUT bit is reset from 0 (Vref unconnected) to 1 (Vref connected), wait for 1 µs or more before starting
A/D conversion.
Refer to Table 15.2
(b7-b6)
110
b1 b0
0 0: AN0 to AN1 (2 pins)
0 1: AN0 to AN3 (4 pins)
1 0: AN0 to AN5 (6 pins)
1 1: AN0 to AN7 (8 pins)
Nothing is assigned. When write, set to 0.
When read, its content is 0.
0
NOTES:
1. If the ADCON2 register is rewritten during A/D conversion, the conversion result will be indeterminate.
2. Set to 1 in delayed trigger mode 0.
A/D Control Register 2
(1)
Symbol Address After Reset
ADCON2 03D4
16
00
16
b7 b6 b5 b4 b3 b2 b1 b0
A/D Conversion Method
Select Bit
(2)
1 : With sample and hold
Bit Symbol Bit Name Function RW
SMP
Reserved Bit Set to
0
0
A/D Input Group
Select Bit 0 0 : Select port P10 group
0 1 : Do not set
1 0 : Select port P0 group
1 1 : Select port P1/P9 group
b2 b1
Frequency Select Bit 2
CKS2
ADGSEL0
ADGSEL1
RW
RW
RW
RW
RW
(b3)
Nothing is assigned. When write, set to 0.
When read, its content is 0.
(b7-b6)
Refer to Table 15.2
RW
TRG1 Trigger Select Bit 1
1
Refer to Table 15.11
0
15. A/D Converter
page 241
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Figure 15.23 ADTRGCON Register in Delayed Trigger Mode 0
Table 15.11 Trigger Select Bit Setting in Delayed Trigger Mode 0
Trigger
Timer B0, B1 underflow
TRG
0
HPTRG0
1
TRG1
0
HPTRG1
1
A/D Trigger Control Register
(1)
Symbol Address After Reset
ADTRGCON 03D2
16
00
16
b7 b6 b5 b4 b3 b2 b1 b0
A/D Operation Mode
Select Bit 2
Bit Symbol Bit Name Function RW
SSE
A/D Operation Mode
Select Bit 3
AN1 Trigger Select Bit
HPTRG1
DTE
HPTRG0
RW
RW
RW
RW
Nothing is assigned. When write, set to 0.
When read, its content is 0.
(b7-b4)
AN0 Trigger Select Bit
NOTES:
1. If ADTRGCON reigster is rewritten during A/D conversion, the conversion result will be indeterminate.
1
Delayed trigger mode 0, 1
Simultaneous sample sweep mode or
delayed trigger mode 0,1
1
Refer to Table 15.11
Refer to Table 15.11
11
15. A/D Converter
page 242
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
NOTES: ___________
1. Do not generate the next ADTRG pin falling edge after the AN1 pin conversion is started until all se-
___________
lected pins complete A/D conversion. When an ADTRG pin falling edge is generated again during A/D
___________
conversion, its trigger is ignored. The falling edge of ADTRG pin, which was input after all selected pins
complete A/D conversion, is considered to be the next AN0 pin conversion start condition.
___________
2. The ADTRG pin falling edge is detected synchronized with the operation clock fAD. Therefore, when the
___________ ___________
ADTRG pin falling edge is generated in shorter periods than fAD, the second ADTRG pin falling edge
___________
may not be detected. Do not generate the ADTRG pin falling edge in shorter periods than fAD.
3. Do not write “1” (A/D conversion started) to the ADST bit in delayed trigger mode 1. When write
“1”,unexpected interrupts may be generated.
4. AN00 to AN07 and AN20 to AN27 can be used in the same way as AN0 to AN7. However, all input pins
need to belong to the same group.
15.1.8 Delayed Trigger Mode 1
In delayed trigger mode 1, analog voltages applied to the selected pins are converted one-by-one to a
___________
digital code. When the input of the ADTRG pin (falling edge) changes state from “H” to “L”, a single sweep
conversion is started. After completing the AN0 pin conversion, the AN1 pin is not sampled and converted
___________
until the second ADTRG pin falling edge is generated. When the second ADTRG falling edge is generated,
The single sweep conversion of the pins after the AN1 pin is restarted. Table 15.12 shows the delayed
trigger mode 1 specifications. Figure 15.24 shows the operation example of delayed trigger mode 1.
Figures 15.25 and 15.26 show each flag operation in the ADSTAT0 register that corresponds to the
operation example. Figure 15.27 shows the ADCON0 to ADCON2 registers in delayed trigger mode 1.
Figure 15.28 shows the ADTRGCON register in delayed trigger mode 1. Table 15.13 shows the trigger
select bit setting in delayed trigger mode 1.
Table 15.12 Delayed Trigger Mode 1 Specifications
Item Specification
Function The SCAN1 to SCAN0 bits in the ADCON1 register and ADGSEL1 to ADGSEL0
bits in the ADCON2 register select pins. Analog voltages applied to the selected
___________
pins are converted one-by-one to a digital code. At this time, the ADTRG pin
___________
falling edge starts AN0 pin conversion and the second ADTRG pin falling edge
starts conversion of the pins after AN1 pin
A/D Conversion Start AN0 pin conversion start condition
Condition ___________
The ADTRG pin input changes state from “H” to “L” (falling edge) (1)
AN1 pin conversion start condition (2)
___________
The ADTRG pin input changes state from “H” to “L” (falling edge)
___________
•When the second ADTRG pin falling edge is generated during A/D conversion of
___________
the AN0 pin, input voltage of AN1 pin is sampled or after at the time of ADTRG
falling edge. The conversion of AN1 and the rest of the sweep starts when AN0
conversion is completed.
___________
•When the ADTRG pin falling edge is generated again during single sweep
conversion of pins after the AN1 pin, the conversion is not affected
A/D Conversion Stop
A/D conversion completed
Condition •Set the ADST bit to "0" (A/D conversion halted) (3)
Interrupt Request Single sweep conversion completed
Generation Timing
Analog Input Pin Select from AN0 to AN1 (2 pins), AN0 to AN3 (4 pins), AN0 to AN5 (6 pins)
and AN0 to AN7 (8 pins) (4)
Readout of A/D Conversion Result
Readout one of the AN0 to AN7 registers that corresponds to the selected pins
15. A/D Converter
page 243
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Figure 15.24 Operation Example in Delayed Trigger Mode1
Example when selecting AN
0
to AN
3
to A/D sweep pins (SCAN1 to SCAN0="01
2
")
A/D pin input
voltage sampling
A/D pin conversion
AN
0
AN
1
AN
2
AN
3
AD
TRG
pin input
Example 1: When AD
TRG
pin falling edge is generated during AN
0
pin conversion
AN
0
AN
1
AN
2
AN
3
Example 2: When AD
TRG
pin falling edge is generated again after AN
0
pin conversion
AD
TRG
pin input
Example 3: When AD
TRG
pin falling edge is generated more than two times after AN
0
pin conversion
AN
0
AN
1
AN
2
AN
3
(invalid)
(valid after single sweep conversion)
AD
TRG
pin input
15. A/D Converter
page 244
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Figure 15.25 Each Flag Operation in ADSTAT0 Register Associated with the Operation Example
in Delayed Trigger Mode 1 (1)
E
x
a
m
p
l
e
w
h
e
n
s
e
l
e
c
t
i
n
g
A
N
0
t
o
A
N
3
t
o
A
/
D
s
w
e
e
p
p
i
n
s
(
S
C
A
N
1
t
o
S
C
A
N
0
=
"
0
1
2
")
A/D pin input
voltage sampling
A
/
D
p
i
n
c
o
n
v
e
r
s
i
o
n
A
N
0
A
N
1
A
N
2
A
N
3
AD
TRG
pin input
E
x
a
m
p
l
e
1
:
W
h
e
n
A
D
T
R
G
p
i
n
f
a
l
l
i
n
g
e
d
g
e
i
s
g
e
n
e
r
a
t
e
d
d
u
r
i
n
g
A
N
0
p
i
n
c
o
n
v
e
r
s
i
o
n
A
D
S
T
f
l
a
g
A
D
E
R
R
0
f
l
a
g
A
D
E
R
R
1
f
l
a
g
A
D
T
C
S
F
f
l
a
g
A
D
S
T
T
0
f
l
a
g
A
D
S
T
T
1
f
l
a
g
A
D
S
T
R
T
0
f
l
a
g
A
D
S
T
R
T
1
f
l
a
g
I
R
b
i
t
i
n
t
h
e
A
D
I
C
r
e
g
i
s
t
e
r
"
1
"
"
0
"
"
1
"
"
0
"
"
1
"
"
0
"
"
1
"
"
0
"
"
1
"
"
0
"
"
1
"
"0"
"
1
"
"
0
"
"
1
"
"
0
"
"
1
"
"
0
"
S
et to
"0"
b
y
i
nterrupt request ac
k
now e
d
gement or a program
S
et to
"0"
b
y pr ogram
D
o not set to
"
1
"
b
y program
AN0
AN1
AN2
AN3
Example 2: When AD
TRG
pin falling edge is generated again after AN
0
pin conversion
A
D
S
T
f
l
a
g
A
D
E
R
R
0
f
l
a
g
A
D
E
R
R
1
f
l
a
g
A
D
T
C
S
F
f
l
a
g
A
D
S
T
T
0
f
l
a
g
A
D
S
T
T
1
f
l
a
g
A
D
S
T
R
T
0
f
l
a
g
A
D
S
T
R
T
1
f
l
a
g
I
R
b
i
t
i
n
t
h
e
A
D
I
C
r
e
g
i
s
t
e
r
"
1
"
"
0
"
"
1
"
"
0
"
"
1
"
"
0
"
"
1
"
"
0
"
"
1
"
"
0
"
"
1
"
"
0
"
"
1
"
"
0
"
"
1
"
"
0
"
"
1
"
"
0
"
A
D
S
T
f
l
a
g
:
B
i
t
6
i
n
t
h
e
A
D
C
O
N
0
r
e
g
i
s
t
e
r
A
D
E
R
R
0
,
A
D
E
R
R
1
,
A
D
T
C
S
F
,
A
D
S
T
T
0
,
A
D
S
T
T
1
,
A
D
S
T
R
T
0
a
n
d
A
D
S
T
R
T
1
f
l
a
g
:
b
i
t
s
0
,
1
,
3
,
4
,
5
,
6
a
n
d
7
i
n
t
h
e
A
D
S
T
A
T
0
r
e
g
i
s
t
e
r
S
e
t
t
o
"
0
"
b
y
i
n
t
e
r
r
u
p
t
r
e
q
u
e
s
t
a
c
k
n
o
w
e
d
g
m
e
n
t
o
r
a
p
r
o
g
r
a
m
S
e
t
t
o
"
0
"
b
y
p
r
o
g
r
a
m
D
o not set to
"
1
"
b
y program
A
D
T
R
G
p
i
n
i
n
p
u
t
15. A/D Converter
page 245
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Figure 15.26 Each Flag Operation in ADSTAT0 Register Associated with the Operation Example
in Delayed Trigger Mode 1 (2)
Example 3: When AD
TRG
input falling edge is generated more than two times after AN
0
pin conversion
AN
0
AN
1
AN
2
AN
3
(invalid)
(valid after single sweep conversion)
ADST flag
ADERR0 flag
ADERR1 flag
ADTCSF flag
ADSTT0 flag
ADSTT1 flag
ADSTRT0 flag
ADSTRT1 flag
IR bit in the ADIC
register
"1"
"0"
"1"
"0"
"1"
"0"
"1"
"0"
"1"
"0"
"1"
"0"
"1"
"0"
"1"
"0"
"1"
"0"
Set to "0" when interrupt request acknowledgement or a program
Set to "0" by program
Do not set to "1" by program
A/D pin input
voltage sampling
A/D pin conversion
ADST flag: Bit 6 in the ADCON0 register
ADERR
0,
ADERR1
,
ADT
CS
F
,
AD
S
TT
0,
AD
S
TT1
,
AD
S
TRT
0
a
n
d
AD
S
TRT1 fl
ag
:
b
i
ts
0,
1
,
3,
4
,
5,
6
a
n
d
7 in
t
h
e
AD
S
TAT
0
r
eg
i
ste
r
AD
TRG
pin input
15. A/D Converter
page 246
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Figure 15.27 ADCON0 to ADCON2 Registers in Delayed Trigger Mode 1
A/D Control Register 0
(1)
Symbol Address After Reset
ADCON0 03D6
16
00000XXX
2
b7 b6 b5 b4 b3 b2 b1 b0
Analog Input Pin
Select Bit
CH0
Bit Symbol Bit Name Function
CH1
CH2
A/D Operation Mode
Select Bit 0
MD0
MD1 Trigger Select Bit Refer to Table 15.13
TRG
ADST A/D Conversion Start
Flag (2) 0 : A/D conversion disabled
1 : A/D conversion started
Frequency Select Bit 0CKS0
RW
A/D Control Register 1
(1)
Symbol Address After Reset
ADCON1 03D7
16
00
16
Bit Name FunctionBit Symbol
b7 b6 b5 b4 b3 b2 b1 b0
A/D Sweep Pin
Select Bit (2)
SCAN0
SCAN1
MD2
BITS 8/10-Bit Mode Select Bit 0 : 8-bit mode
1 : 10-bit mode
VCUT Vref Connect Bit
(3)
A/D Operation Mode
Select Bit 1
1 : Vref connected
01
When selecting delayed trigger mode 1
0
1 1 1 : Set to "111b" in delayed trigger
mode 1
b2 b1 b0
0 0 : One-shot mode or delayed trigger mode
0,1
b4 b3
1
Frequency Select Bit 1
CKS1
0 : Any mode other than repeat sweep
mode 1
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
Refer to Table 15.2
NOTES:
1. If the ADCON0 register is rewritten during A/D conversion, the conversion result will be indeterminate.
2. Do not write 1 in delayed trigger mode 1. When write, set to "0".
NOTES:
1. If the ADCON1 register is rewritten during A/D conversion, the conversion result will be indeterminate.
2. AN0
0
to AN0
7
and AN2
0
to AN2
7
can be used in the same way as AN
0
to AN
7
. Use the ADGSEL1 to ADGSET0
bits in the ADCON2 register to select the desired pin.
3. If the VCUT bit is reset from 0 (Vref unconnected) to 1 (Vref connected), wait for 1 µs or more before starting
A/D conversion.
Refer to Table 15.2
(b7-b6)
110
b1 b0
0 0: AN
0
to AN
1
(2 pins)
0 1: AN
0
to AN
3
(4 pins)
1 0: AN
0
to AN
5
(6 pins)
1 1: AN
0
to AN
7
(8 pins)
0
Nothing is assigned. When write, set to "0".
When read, its content is indetermintae.
NOTES:
1. If the ADCON2 register is rewritten during A/D conversion, the conversion result will be indeterminate.
2. Set to 1 in delayed trigger mode 1.
A/D Control Register 2
(1)
Symbol Address After Reset
ADCON2 03D4
16
00
16
b7 b6 b5 b4 b3 b2 b1 b0
A/D Conversion Method
Select Bit (2) 1 : With sample and hold
Bit Symbol Bit Name Function RW
SMP
Reserved Bit Set to
0
0
A/D Input Group
Select Bit 0 0 : Select port P10 group
0 1 : Do not set
1 0 : Select port P0 group
1 1 : Select port P1/P9 group
b2 b1
Frequency Select Bit 2
CKS2
ADGSEL0
ADGSEL1
RW
RW
RW
RW
RW
(b3)
Nothing is assigned. When write, set to 0.
When read, its content is 0.
(b7-b6)
Refer to Table 15.2
RW
TRG1 Trigger Select Bit 1
1
Refer to Table 15.13
1
15. A/D Converter
page 247
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Figure 15.28 ADTRGCON Register in Delayed Trigger Mode 1
Table 15.13 Trigger Select Bit Setting in Delayed Trigger Mode 1
Trigger
TRG
0
HPTRG0
0
TRG1
1AD
TRG
HPTRG1
0
A/D Trigger Control Register (1)
Symbol Address After Reset
ADTRGCON 03D216 0016
b7 b6 b5 b4 b3 b2 b1 b0
A/D Operation Mode
Select Bit 2
Bit Symbol Bit Name Function RW
SSE
A/D Operation Mode
Select Bit 3
AN1 Trigger Select Bit
HPTRG1
DTE
HPTRG0
RW
RW
RW
RW
Nothing is assigned. When write, set to 0.
When read, its content is 0.
(b7-b4)
AN0 Trigger Select Bit
NOTES:
1. If ADTRGCON is rewritten during A/D conversion, the conversion result will be indeterminate.
1
Delayed trigger mode 0, 1
Simultaneous sample sweep mode or
delayed trigger mode 0,1
10
Refer to Table 15.13
Refer to Table 15.13
0
15. A/D Converter
page 248
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
15.2 Resolution Select Function
The BITS bit in the ADCON1 register determines the resolution. When the BITS bit is set to 1 (10-bit
precision), the A/D conversion result is stored into bits 0 to 9 in the ADi register (i=0 to 7). When the BITS
bit is set to 0 (8-bit precision), the A/D conversion result is stored into bits 0 to 7 in the ADi register.
15.3 Sample and Hold
When the SMP bit in the ADCON 2 register is set to 1 (with the sample and hold function), A/D conver-
sion rate per pin increases to 28 φAD cycles for 8-bit resolution or 33 φAD cycles for 10-bit resolution. The
sample and hold function is available in one-shot mode, repeat mode, single sweep mode, repeat sweep
mode 0 and repeat sweep mode 1. In these modes, start A/D conversion after selecting whether the
sample and hold circuit is to be used or not. In simultaneous sample sweep mode, delayed trigger mode
0 or delayed trigger mode , set to use the Sample and Hold function before starting A/D conversion.
15.4 Power Consumption Reducing Function
When the A/D converter is not used, the VCUT bit in the ADCON1 register isolates the resistor ladder of
the A/D converter from the reference voltage input pin (VREF). Power consumption is reduced by shutting
off any current flow into the resistor ladder from the VREF pin.
When using the A/D converter, set the VCUT bit to 1 (Vref connected) before setting the ADST bit in the
ADCON0 register to 1 (A/D conversion started). Do not set the ADST bit and VCUT bit to 1 simulta-
neously, nor set the VCUT bit to 0 (Vref unconnected) during A/D conversion.
15. A/D Converter
page 249
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Figure 15.29 Analog Input Pin and External Sensor Equivalent Circuit
15.5 Output Impedance of Sensor under A/D Conversion
To carry out A/D conversion properly, charging the internal capacitor C shown in Figure 15.29 has to be
completed within a specified period of time. T (sampling time) as the specified time. Let output imped-
ance of sensor equivalent circuit be R0, microcomputers internal resistance be R, precision (error) of
the A/D converter be X, and the A/D converters resolution be Y (Y is 1024 in the 10-bit mode, and 256
in the 8-bit mode).
VC is generally VC = VIN{1-e c(R0+R) }
And when t = T, VC=VIN- VIN=VIN(1- )
e c(R0+R) =
- T = ln
Hence, R0 = - - R
Figure 15.29 shows analog input pin and externalsensor equivalent circuit. When the difference be-
tween VIN and VC becomes 0.1LSB, we find impedance R0 when voltage between pins. VC changes
from 0 to VIN-(0.1/1024) VIN in timer T. (0.1/1024) means that A/D precision drop due to insufficient
capacitor chage is held to 0.1LSB at time of A/D conversion in the 10-bit mode. Actual error however is
the value of absolute precision added to 0.1LSB. When f(XIN) = 10MHz, T=0.3µs in the A/D conversion
mode with sample & hold. Output inpedance R0 for sufficiently charging capacitor C within time T is
determined as follows.
T = 0.3µs, R = 7.8k, C = 1.5pF, X = 0.1, and Y = 1024. Hence,
R0 = - - 7.8 X 103 13.9 X 103
Thus, the allowable output impedance of the sensor circuit capable of thoroughly driving the A/D con-
verter turns out of be approximately 13.9k.
1
1T
t
C(R0+R)
1X
Y
X
Y
X
Y
X
Y
T
Cln X
Y
1.5X10-12ln 0.1
1024
0.3X10-6
R0R (7.8k)
C (1.5pF)
VIN
VC
Sampling time
Sample-and-hold function enabled:
Sample-and-hold function disabled:
3
φAD
Microcomputer
Sensor equivalent
circuit
2
φAD
(1)
(1)
NOTES:
1. Reference value
16. MULTI-MASTER I2C bus INTERFACE
page 250
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Item Function
Format Based on Philips I2C bus standard:
7-bit addressing format
High-speed clock mode
Standard clock mode
Communication mode Based on Philips I2C bus standard:
Master transmit
Master receive
Slave transmit
Slave receive
SCL clock frequency 16.1kHz to 400kHz (at VIIC (1)= 4MHz)
I/O pin Serial data line SDAMM(SDA)
Serial clock line SDLMM(SCL)
16. Multi-master I2C bus Interface
The multi-master I2C bus interface is a serial communication circuit based on Philips I2C bus data transfer
format, equipped with arbitration lost detection and synchronous functions. Figure 16.1 shows a block
diagram of the multi-master I2C bus interface and Table 16.1 lists the multi-master I2C bus interface func-
tions.
The multi-master I2C bus interface consists of the S0D0 register, the S00 register, the S20 register, the
S3D0 register, the S4D0 register, the S10 register, the S2D0 register and other control circuits.
Figures 16.2 to 16.8 show the registers associated with the multi-master I2C bus.
Table 16.1 Multi-Master I2C bus Interface Functions
Note 1. VIIC=I2C system clock
16. MULTI-MASTER I2C bus INTERFACE
page 251
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Figure 16.1 Block Diagram of Multi-Master I2C bus Interface
Serial Data
(SDA)
BB
Circuit
Noise
Elimination
Circuit
(SCL) b7 b0
ACK
CLK ACK
BIT
FAST
MODE CCR4 CCR3 CCR2 CCR1 CCR0
Internal data bus
Clock Division
S20
b7 b0
SAD6 SAD5 SAD4 SAD3 SAD2 SAD1 SAD0
Address Comparator
b7
b0
S00
S0D0
(S
CL
S
DA
IRQ)
b7 b0
ICK1 ICK0 SCLM SDAM WIT SIM
S3D0
Interrupt
generation
circuit
b7
MST TRX BB PIN AL AAS AD0 LRB
b0
S10
b7 b0
TISS
ALS BC2 BC1
ES0
I
2
C system clock
(VIIC)
Time-out detection
circuiti
TOF TOE
ICK4 ICK3 ICK2
TOSEL
System Clock Select Circuit
I2C0 Control Register 1
I
2
C0 Start/stop Condition Control Register
S2D0
STSP
SEL SIS SIP SSC4 SSC3SSC2 SSC1 SSC0
I
2
C0 Address Registers
I
2
C0 Data Shift Registers
I
2
C0 Control Registers 2
S4D0
I
2
C0 clock control registers
I
2
C0 Status Registers
I
2
C0 control registers 0
S1D0
I
2
C bus interface
Interrupt request signal
Bit counter
(I
2
C IRQ)
Serial
clock
BC0
Clock
Control
Circuit
AL
Circuit
Noise
Elimination
Circuit
Data
Control
Circuit
Interrupt request signal
f
IIC
f
1
f
2
PCLK0=1
PCLK0=0
16. MULTI-MASTER I2C bus INTERFACE
page 252
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Figure 16.2 S0D0 Register
SAD6
SAD5
SAD4
SAD3
SAD2
SAD1
SAD0
Reserved bit
FunctionBit NameBit Symbol
Address After ResetSymbol
C0 Address Register
S0D0 02E2
16
00
16
b
7
b6
b5
b
4
b3
b
2b1b0
I
2
Slave address
Set to 0
Compare with received
address data
RW
RW
RW
RW
RW
RW
RW
RW
RW
(b0)
16. MULTI-MASTER I2C bus INTERFACE
page 253
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Figure 16.3 S00 and S20 Registers
0: Standard clock mode
1: High-speed clock mode
0: ACK is returned
1: ACK is not returned
0: No ACK clock
1: With ACK clock
ACK Clock Bit
ACK Bit
SCL Mode Specification Bit
SCL Frequency Control Bits
CCR0
CCR1
CCR2
CCR3
CCR4
FAST
MODE
ACKBIT
ACK-CLK
FunctionBit NameBit Symbol
0016
After Reset
02E416
AddressSymbol
S20
b7
b6
b5
b
4
b3
b2 b1 b0
C
0
C
lock
C
ontrol Re
g
ister
I
2
RW
See Table 16.3 RW
RW
RW
RW
RW
RW
RW
RW
b
7b
6b
5b
4b
3b
2b
1b
0
I
C
0
D
a
t
a
S
h
i
f
t
R
e
g
i
s
t
e
r
2
RW
Function
NOTES:
1. Write is enabled only when the ES0 bit in the S1D0 register is "1". Because the same register is used for both
storing transmit/receive data, write the transmit data after the receive data is read out. When the S00 register
is set, the BC2 to BC0 bits in the S1D0 register are set to "000
2
" and the LRB, AAS and AL bits in the S10
register are set to "0".
Transmit/receive data are stored.
In master transmit mode, the start condition/stop condition are triggered by
writing data to the register (refer to 16.9 START Condition Generation
Method and 16.11 STOP Condition Generation Method). Start transmitting
or receiving data, synchronized with S
CL
.
Symbol Address After Reset
S00 02E0
16
XX
16
RW
(1)
16. MULTI-MASTER I2C bus INTERFACE
page 254
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Figure 16.4 S1D0 Register
0: Disabled
1: Enabled
0: Addressing format
1: Free data format
Set to "0"
0: Reset release (automatic)
1: Reset
NOTES:
1.In the following status, the bit counter is set to "000" automatically
Start condition/stop condition are detected
Immediately after the completion of 1-byte data transmit
Immediately after the completion of 1-byte data receive
I C bus interface pin
input level select bit
2
I C bus interface
reset bit
2
Reserved bit
Data format select bit
I C bus interface
enable bit
2
Bit counter
(Number of transmit/receive
bits)
BC2
TISS
IHR
(b5)
ALS
ES0
BC1
BC0
FunctionBit NameBit Symbol
00
16
After Reset
02E3
16
AddressSymbol
S1D0
C
0
C
ontrol Re
g
ister 0I
2
b
7
b6
b5
b
4
b3
b
2
b
1b0
b2 b1 b0
(1)
0 0 0 : 8
0 0 1 : 7
0 1 0 : 6
0 1 1 : 5
1 0 0 : 4
1 0 1 : 3
1 1 0 : 2
1 1 1 : 1
RW
0: I C bus input
1: SMBUS input
2
RW
RW
RW
RW
RW
RW
RW
RW
16. MULTI-MASTER I2C bus INTERFACE
page 255
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Figure 16.5 S10 Register
NOTES:
1. This bit is read only if it is used for the status check.
To write to this bit, refer to 16.9 START Condition Generation Method and 16.11 STOP Condition Generation
Method.
2. Read only. When write, set to 0.
3. To write to these bits, refer to 16.9 START Condition Generation Method and 16.11 STOP Condition
Generation Method.
0: Bus free
1: Bus busy
0: Request interrupt
1: Request no interrupt
0: Not detected
1: Detected
0: No address matched
1: Address matched
0: No general call detected
1: General call detected
0: Last bit = 0
1: Last bit = 1
Communication Mode Select
Bits 0
Bus Busy Flag
I C Bus Interface Interrupt
Request Bit
2
Arbitration lost detection flag
Slave Address Comparison Flag
General Call Detecting Flag
Last Receive Bit
MST
TRX
BB
PIN
AL
AAS
ADR0
LRB
FunctionBit NameBit Symbol
0001000X
2
After Reset
02E8
16
AddressSymbol
S10
C0 Status Register
I
2
RW
0: Receive mode
1: Transmit mode
b
7
b6
b5
b
4
b3
b
2b1b0
RO
(1)
RO
(1)
RO
(1)
RO
(2)
RO
(1)
RO
(2)
RW
(3)
RW
(3)
0: Slave mode
1: Master mode
Communication Mode Select
Bit 1
16. MULTI-MASTER I2C bus INTERFACE
page 256
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Figure 16.6 S3D0 Register
0: S
CL
output logic value = 0
1: S
CL
output logic value = 1
0: S
DA
output logic value = 0
1: S
DA
output logic value = 1
0: S
CL
I/O pin (enable ES0 = 1)
1: Port output pin (enable ES0 = 1)
0: S
DA
I/O pin (enable ES0 = 1)
1: Port output pin (enable ES0 = 1)
0: Disable the I
2
C bus interface
interrupt upon completion
of receiving data
1: Enable the I
2
C bus interface
interrupt upon completion of
receiving data
When setting NACK
(ACK bit = 0), write "0"
0: Disable the I
2
C bus interface
interrupt of STOP condition
detection
1: Enable the I
2
C bus interface
interrupt of STOP condition
detection
I C bus System Clock
Selection Bits,
if ICK4 to ICK2 bits in the
S4D0 register is "000
2
"
2
The Logic Value Monitor
Bit of S
CL
Output
The Logic Value Monitor
Bit of S
DA
Output
S
CLi
/Port Function Switch
Bit(1)
S
DAi
/Port Function Switch
Bit(1)
The Interrupt Enable Bit for
Data Receive Completion
The Interrupt Enable Bit for
STOP Condition Detection
ICK1
ICK0
SCLM
SDAM
PEC
PED
WIT
SIM
FunctionBit NameBit Symbol
00110000
2
After Reset
02E6
16
AddressSymbol
S3D0
C
0
C
ontrol Re
g
ister 1
I
2
b
7
b6
b5
b
4
b3
b
2b1b0
RW
b7 b6
0 0 :
0 1 :
1 0 :
V
IIC
=1/2f
IIC
=1/4f
IIC
=1/8 f
IIC
1 1 : Reserved
V
IIC
V
IIC
RW
RW
RW
RW
RO
RO
RW
RW
NOTES:
1. The PED and PEC bits are enabled when the ES0 bit in the S1D0 register is set to "1"(I
2
C bus interface enabled).
2. When the PCLK0 bit in the PCLKR register is set to "0", f
IIC
=f
2
. When the PCLK0 bit in the PCLKR register is set
to "1", f
IIC
=f
1
.
(2)
16. MULTI-MASTER I2C bus INTERFACE
page 257
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Figure 16.7 S4D0 Register
SCPIN
Reserved bit
ICK4
ICK3
ICK2
TOSEL
TOF
TOE
FunctionBit NameBit Symbol
00
16
After Reset
02E7
16
AddressSymbol
S4D0
C
0
C
ontrol Re
g
ister 2
I
2
RW
b
7
b6
b5
b
4
b3
b
2b1b0
0 : Long time
1 : Short time
STOP Condition Detection
Interrupt Request Bit
Set to "0"
b5 b4 b3
0 0 0 V
IIC
set by ICK1 and ICK0
bits in S3D0 register
0 0 1 V
IIC
= 1/2.5 f
IIC
0 1 0 V
IIC
= 1/3 f
IIC
0 1 1 V
IIC
= 1/5 f
IIC
1 0 0 V
IIC
= 1/6 f
IIC
Time Out Detection Time
Select Bit
Time Out Detection Flag
Time Out Detection
Function Enable Bit
I
2
C bus System Clock
Select Bits
0 : No I
2
C bus interface interrupt
request
1 : I
2
C bus interface interrupt
request
0 : Not detected
1 : Detected
0 : Disabled
1 : Enabled RW
RO
RW
RW
RW
RW
RW
RW
(b6)
(1)
NOTES:
1. When the PCLK0 bit in the PCLKR register is set to "0", f
IIC
= f
2
. When the PCLK0 bit is set to "1", f
IIC
=f
1
.
16. MULTI-MASTER I2C bus INTERFACE
page 258
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Figure 16.8 S2D0 Register
NOTES:
1. Do not set odd values or 000002 to START/STOP condition setting bits(SSC4 to SSC0)
2. When the PCLK0 bit in the PCLKR register is set to "1".
Oscillation I2C bus system
I
2
C bus system
SSC4-SSC0(1) SCL release Setup time Hold time
f1 (MHz) clock select
clock(MHz)
time (cycle) (cycle) (cycle)
10 1 / 2f1(2) 5 XXX11110 6.2 µs (31) 3.2 µs (16) 3.0 µs (15)
8 1 / 2f1(2) 4 XXX11010 6.75 µs(27) 3.5 µs (14) 3.25 µs(13)
XXX11000 6.25 µs(25) 3.25 µs (13) 3.0 µs (12)
8 1 / 8f1(2) 1 XXX00100 5.0 µs (5) 3.0 µs (3) 2.0 µs (2)
4 1 / 2f1(2) 2 XXX01100 6.5 µs (13) 3.5 µs (7) 3.0 µs (6)
XXX01010 5.5 µs (11) 3.0 µs (6) 2.5 µs (5)
2 1 / 2f1(2) 1 XXX00100 5.0 µs (5) 3.0 µs (3) 2.0 µs (2)
Table 16.2 Recommended setting (SSC4-SSC0) start/stop condition at each oscillation frequency
0: Short setup/hold time mode
1: Long setup/hold time mode
0: S
DA
enabled
1: S
CL
enabled
0: Active in falling edge
1: Active in rising edge
Setting for detection condition
of START/STOP condition.
See Table 16.2.
START/STOP Condition
Generation Select Bit
S
CL
/S
DA
Interrupt Pin Select
Bit
S
CL
/S
DA
Interrupt Pin Polarity
Select Bit
START/STOP Condition
Setting Bits
(1)
STSP
SEL
SIS
SIP
SSC4
SSC3
SSC2
SSC1
SSC0
FunctionBit NameBit Symbol
00011010
2
After Reset
02E5
16
AddressSymbol
S2D0
C
0
S
tart/stop
C
ondition
C
ontrol Re
g
isterI
2
RW
b
7
b6
b5
b
4
b3
b
2b1b0
NOTES:
1. Do not set "00000
2
" or odd values.
RW
RW
RW
RW
RW
RW
RW
RW
16. MULTI-MASTER I2C bus INTERFACE
page 259
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
16.2 I2C0 Address Register (S0D0 register)
The S0D0 register consists of the SAD6 to SAD0 bits, total of 7. At the addressing is formatted, slave
address is detected automatically and the 7-bit received address data is compared with the contents of
the SAD6 to SAD0 bits.
16.1 I2C0 Data Shift Register (S00 register)
The S00 register is an 8-bit data shift register to store a received data and to write a transmit data. When a
transmit data is written to the S00 register, the transmit data is synchronized with a SCL clock and the data
is transferred from bit 7. Then, every one bit of the data is transmitted, the register's content is shifted for
one bit to the left. When the SCL clock and the data is imported into the S00 register from bit 0. Every one
bit of the data is imported, the register's content is shifted for one bit to the left. Figure 16.9 shows the timing
to store the receive data to the S00 register.
The S00 register can be written when the ES0 bit in the S1D0 register is set to "1"(I2C0 bus interface
enabled). If the S00 register is written when the ES0 bit is set to "1" and the MST bit in the S10 register is set
to "1"(master mode), the bit counter is reset and the SCL clock is output. Write to the S00 register when the
START condition is generatedor when an "L" signal is applied to the SCL pin. The S00 register can be read
anytime regardless of the ES0 bit value.
Figure 16.9 The Receive Data Storing Timing of S00 Register
S
CL
S
DA
Internal S
CL
Internal S
DA
Shift clock
t
dfil : Noise elimination circuit delay time
1 to 2 V
IIC
cycle
tdfil
tdfil tdsft
Storing data at shift clock rising edge.
t
dsf : Shift clock delay time
1 V
IIC
cycle
16. MULTI-MASTER I2C bus INTERFACE
page 260
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
16.3 I2C0 Clock Control Register (S20 register)
The S20 register is used to set theACK control, SCL mode and the SCL frequency.
16.3.1 Bits 0 to 4: SCL Frequency Control Bits (CCR0CCR4)
These bits control the SCL frequency. See Table 16.3 .
16.3.2 Bit 5: SCL Mode Specification Bit (FAST MODE)
The FAST MODE bit selects SCL mode. When the FAST MODE bit is set to "0", standard clock mode
is entered. When it is set to "1", high-speed clock mode is entered.
When using the high-speed clock mode I2C bus standard (400 kbits/s maximum) to connect buses,
set the FAST MODE bit to "1" (select SCL mode as high-speed clock mode) and use the I2C bus
system clock (VIIC) at 4 MHz or more frequency.
16.3.3 Bit 6: ACK Bit (ACKBIT)
The ACKBIT bit sets the SDA status when an ACK clock(1) is generated. When the ACKBIT bit is set
to 0, ACK is returned and te clock applied to SDA becomes "L" when ACK clock is generated. When
it is set to "1", ACK is not returned and the clock clock applied to SDA maintains "H" at ACK clock
generation.
When the ACKBIT bit is set to "0", the address data is received. When the slave address matches with
the address data, SDA becomes "L" automatically (ACK is returned). When the slave address and the
address data are not matched, SDA becomes "H" (ACK is not returned).
NOTES:
1. ACK clock: Clock for acknowledgment
16.3.4 Bit 7: ACK Clock Bit (ACK-CLK)
The ACK-CLK bit set a clock for data transfer acknowledgement. When the ACK-CLK bit is set to "0",
ACK clock is not generated after data is transferred. When it is set to "1", a master generates ACK
clock every one-bit data transfer is completed. The device, which transmits address data and control
data, leave SDA pin open (apply "H" signal to SDA) when ACK clock is generated. The device which
receives data, receives the generated ACKBIT bit.
NOTES:
1.Do not rewrite the S20 register, other than the ACKBIT bit during data transfer. If data is written
to other than the ACKBIT bit during transfer, the I2C bus clock circuit is reset and the data may
not be transferred successfully.
16. MULTI-MASTER I2C bus INTERFACE
page 261
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Setting value of CCR4 to CCR0 SCL frequency (at VIIC=4MHz, unit : kHz) (1)
CCR4 CCR3 CCR2 CCR1 CCR0 Standard clock mode High-speed clock mode
0 0 0 0 0 Setting disabled Setting disabled
0 0 0 0 1 Setting disabled Setting disabled
0 0 0 1 0 Setting disabled Setting disabled
0 0 0 1 1 - (2) 333
0 0 1 0 0 - (2) 250
0 0 1 0 1 100 400 (3)
0 0 1 1 0 83.3 166
500 / CCR value (3) 1000 / CCR value (3)
1 1 1 0 1 17.2 34.5
1 1 1 1 0 16.6 33.3
1 1 1 1 1 16.1 32.3
NOTES:
1. The duty of the SCL clock output is 50 %. The duty becomes 35 to 45 % only when high-speed
clock mode is selected and the CCR value = 5 (400 kHz, at VIIC = 4 MHz). H duration of the
clock fluctuates from 4 to +2 I2C system clock cycles in standard clock mode, and fluctuates from
2 to +2 I2C system clock cycles in high-speed clock mode. In the case of negative fluctuation, the
frequency does not increase because the L is extended instead of H reduction. These are the
values when the SCL clock synchronization by the synchronous function is not performed. The
CCR value is the decimal notation value of the CCR4 to CCR0 bits.
2. Each value of the SCL frequency exceeds the limit at VIIC = 4 MHz or more. When using these
setting values, use VIIC = 4 MHz or less. Refer to Figure 16.6.
3. The data formula of SCL frequency is described below:
VIIC/(8 x CCR value) Standard clock mode
VIIC/(4 x CCR value) High-speed clock mode (CCR value 5)
VIIC/(2 x CCR value) High-speed clock mode (CCR value = 5)
Do not set 0 to 2 as the CCR value regardless of the VIIC frequency. Set 100 kHz (max.) in
standard clock mode and 400 kHz (max.) in high-speed clock mode to the SCL frequency by
setting the CCR4 to CCR0 bits.
Table 16.3 Setting values of S20 register and SCL frequency
16. MULTI-MASTER I2C bus INTERFACE
page 262
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
16.4 I2C0 Control Register 0 (S1D0)
The S1D0 register controls data communication format.
16.4.1 Bits 0 to 2: Bit Counter (BC0BC2)
The BC2 to BC0 bits decide how many bits are in one byte data transferred next. After the selected
numbers of bits are transferred successfully, I2C bus interface interrupt request is gnerated and the
BC2 to BC0 bits are reset to "0002". At this time, if the ACK-CLK bit in the S20 register is set to "1" (with
ACK clock), one bit for ACK clock is added to the numbers of bits selected by the BC2 to BC0 bits.
In addition, the BC2 to BC0 bits become "0002" even though the START condition is detected and the
address data is transferred in 8 bits.
16.4.2 Bit 3: I2C Interface Enable Bit (ES0)
The ES0 bit enables to use the multi-master I2C bus interface. When the ES0 bit is set to 0, I2C bus
interface is disabled and the SDA and SCL pins are placed in a high-h-impedance state. When the
ES0 bit is set to 1, the interface is enabled.
When the ES0 bit is set to 0, the process is followed.
1)The bits in the S10 register are set as MST = "0", TRX = "0", PIN = "1", BB = "0", AL = "0", AAS = "0",
ADR0 = "0"
2)The S00 register cannot be written.
3)The TOF bit in the S4D0 register is set to 0 (time-out detection flag is not detected)
4)The I2C system clock (VIIC) stops counting while the internal counter and flags are reset.
16.4.3 Bit 4: Data Format Select Bit (ALS)
The ALS bit determines whether the salve address is recognized. When the ALS bit is set to 0, an
addressing format is selected and a address data is recognized. Only if the comparison is matched
between the slave address stored into the S0D0 register and the received address data or if the
general call is received, the data is transferred. When the ALS bit is set to "1", the free data format is
selected and the slave address is not recognized.
16.4.4 Bit 6: I2C bus Interface Reset Bit (IHR)
The IHR bit is used to reset the I2C bus interface circuit when the error communication occurs.
When the ES0 bit in the S1D0 register is set to1 (I2C bus interface is enabled), the hardware is reset
by writing 1 to the IHR bit. Flags are processed as follows:
1)The bits in the S10 register are set as MST = "0", TRX = "0", PIN to "1", BB = "0", AL = "0", AAS =
"0", and ADR0 = "0"
2)The TOF bit in the S4D0 register is set to 0 (time-out detection flag is not detected)
3)The internal counter and flags are reset.
The I2C bus interface circuit is reset after 2.5 VIIC cycles or less, and the IHR bit becomes "0" auto-
matically by writing "1" to the IHR bit. Figure 16.10 shows the reset timing.
16. MULTI-MASTER I2C bus INTERFACE
page 263
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Figure 16.10 The timing of reset to the I2C bus interface circuit
2.5 V
IIC
cycles
The signal of writing "1" to IHR bit
IHR bit
The reset signal to I C-BUS interface circuit
2
16.4.5 Bit 7: I2C bus Interface Pin Input Level Select Bit (TISS)
The TISS bit selects the input level of the SCL and SDA pins for the multi-master I2C bus interface.
When the TISS bit is set to 1, the P20 and P21 become the SMBus input level.
16. MULTI-MASTER I2C bus INTERFACE
page 264
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
16.5 I2C0 Status Register (S10 register)
The S10 register monitors the I2C bus interface status. When using the S10 register to check the status,
use the 6 low-order bits for read only.
16.5.1 Bit 0: Last Receive Bit (LRB)
The LRB bit stores the last bit value of received data. It can also be used to confirm whether ACK is
received. If the ACK-CLK bit in the S20 register is set to "1" (with ACK clock) and ACK is returned when
the ACK clock is generated, the LRB bit is set to 0. If ACK is not returned, the LRB bit is set to 1. When
the ACK-CLK bit is set to "0" (no ACK clock), the last bit value of received data is input. When writing data
to the S00 register, the LRB bit is set to "0".
16.5.2 Bit 1: General Call Detection Flag (ADR0)
When the ALS bit in the S1D0 register is set to 0 (addressing format), this ADR0 flag is set to 1 by
receiving the general calls(1),whose address data are all 0, in slave mode.
The ADR0 flag is set to 0 when STOP or START conditions is detected or when the IHR bit in the S1D0
register is set to "1" (reset).
NOTES:
1. General call: A master device transmits the general call address 0016 to all slaves. When the
master device transmits the general call, all slave devices receive the controlled data after general
call.
16.5.3 Bit 2: Slave Address Comparison Flag (AAS)
The AAS flag indicates a comparison result of the slave address data after enabled by setting the ALS bit
in the S1D0 register to 0 (addressing format).
The AAS flag is set to "1" when the 7 bits of the address data are matched with the slave address stored
into the S0D0 register, or when a general call is received, in slave receive mode. The AAS flag is set to 0"
by writing data to the S00 register. When the ES0 bit in the S1D0 register is set to "0" (I2C bus interface
disabled) or when the IHR bit in the S1D0 register is set to "1" (reset), the AAS flag is also set to "0".
16.5.4 Bit 3: Arbitration Lost Detection Flag (AL)(1)
In master transmit mode, if an "L" signal is applied to the SDA pin by other than a microcomputer, the AL
flag is set to "1" by determining that the arbitration is los and the TRX bit in the S10 register is set to "0"
(receive mode) at the same time. The MST bit in the S10 register is set to "0" (slave mode) after transfer-
ring the bytes which lost the arbitration.
The arbitration lost can be detected only in master transmit mode. When writing data to the S00 register,
the AL flag is set to "0". When the ES0 bit in the S1D0 register is set to "0" (I2C bus interface disabled) or
when the IHR bit in the S1D0 register is set to "1" (reset), the AL flag is set to "0".
NOTES:
1. Arbitration lost: communication disabled as a master
16. MULTI-MASTER I2C bus INTERFACE
page 265
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
16.5.5 Bit 4: I2C bus Interface Interrupt Request Bit (PIN)
The PIN bit generates an I2C bus interface interrupt request signal. Every one byte data is ransferred, the
PIN bit is changed from 1 to 0. At the same time, an I2C bus interface interrupt request is generated.
The PIN bit is synchronized with the last clock of the internal transfer clock (when ACK-CLK=1, the last
clock is the ACK clock: when the ACK-CLK=0, the last clock is the 8th clock) and it becomes "0". The
interrupt request is generated on the falling edge of the PIN bit. When the PIN bit is set to "0", the clock
applied to SCL maintains "L" and further clock generation is disabled. When the ACK-CLK bit is set to "1"
and the WIT bit in the S3D0 register is set to "1" (enable the I2C bus interface interrupt of data receive
completion). The PIN bit is synchronized with the last clock and the falling edge of the ACK clock. Then,
the PIN bit is set to "0" and I2C bus interface interrupt request is generated. Figure 16.11 shows the
timing of the I2C bus interface interrupt request generation.
The PIN bit is set to 1 in one of the following conditions:
When data is written to the S00 register
When data is written to the S20 register (when the WIT bit is set to 1 and the internal WAIT flag is
set to 1)
When the ES0 bit in the S1D0 register is set to 0 (I2C bus interface disabled)
When the IHR bit in the S1D0 register is set to "1"(reset)
The PIN bit is set to 0 in one of the following conditions:
With completion of 1-byte data transmit (including a case when arbitration lost is detected)
With completion of 1-byte data receive
When the ALS bit in the S1D0 register is set to "0" (addressing format) and slave address is matched
or general call address is received successfully in slave receive mode
When the ALS bit is set to "1" (free format) and the address data is received successfully in slave
receive mode
16.5.6 Bit 5: Bus Busy Flag (BB)
The BB flag indicates the operating conditions of the bus system. When the BB flag is set to 0, a bus
system is not in use and a START condition can be generated. The BB flag is set and reset based on an
input signal of the SCL and SDA pins either in master mode or in slave mode. When the START condition
is detected, the BB flag is set to "1". On the other hand, when the STOP condition is detected, the BB flag
is set to "0". The SSC4 to SSC0 bits in the S2D0 register decide to detect between the START condition
and the STOP condition. When the ES0 bit in the S1D0 register is set to "0" (I2C bus interface disabled)
or when the IHR bit in the S1D0 register is set to "1" (reset), the BB flag is set to "0". Refer to 16.9 START
Condition Generation Method and 16.11 STOP Condition Generation Method.
Figure 16.11 Interrupt request signal generation timing
S
CL
PIN flag
I
2
CIRQ
16. MULTI-MASTER I2C bus INTERFACE
page 266
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
16.5.7 Bit 6: Communication Mode Select Bit (Transfer Direction Select Bit: TRX)
This TRX bit decides a transfer direction for data communication. When the TRX bit is set to 0, receive
mode is entered and data is received from a transmit device. When the TRX bit is set to 1, transmit
mode is entered, and address data and control data are output to the SDAMM, synchronized with a clock
generated in the SCLMM.
The TRX bit is set to 1 automatically in the following condition:
In slave mode, when the ALS in the S1D0 register to "0"(addressing format), the AAS flag is set to
___
1(address match) after the address data is received, and the received R/W bit is set to 1
The TRX bit is set to 0 in one of the following conditions:
When an arbitration lost is detected
When a STOP condition is detected
When a START condition is detected
When a START condition is disabled by the START condition duplicate protect function (1)
When the MST bit in the S10 register is set to "0"(slave mode) and a start condition is detected
When the MST bit is set to "0" and the ACK non-return is detected
When the ES0 bit is set to "0"(I2C bus interface disabled)
When the IHR bit in the S1D0 register is set to "1"(reset)
16.5.8 Bit 7: Communication mode select bit (master/slave select bit: MST)
The MST bit selects either master mode or slave mode for data communication. When the MST bit is set
to "0", slave mode is entered and the START/STOP condition generated by a master device are received.
The data communication is synchronized with the clock generted by the master. When the MST bit is set
to "1", master mode is entered and the START/STOP condition is generated.
Additionally, clocks required for the data communication are generated on the SCLMM.
The MST bit is set to 0 in one of the following conditions.
After 1-byte data of a master whose arbtration is lost if arbitration lost is detected
When a STOP condition is detected
When a START condition is detected
When a start condition is disabled by the START condition duplicate protect function (1)
When the IHR bit in the S1D0 register is set to "1"(reset)
When the ES0 bit is set to "0"(I2C bus interface disabled)
NOTES:
1. START condition duplicate protect function:
When the START condition is generated, after confirming that the BB flag in the S1D0 register is
set to "0" (bus free), all the MST, TRX and BB flags are set to "1" at the same time. However, if the
BB flag is set to "1" immediately after the BB flag setting is confirmed because a START condition
is generated by other master device, the MST and TRX bits cannot be written. The duplicate
protect function is valid from the rising edge of the BB flag until slave address is received. Refer
to 16.9 START Condition Generation Method for details.
16. MULTI-MASTER I2C bus INTERFACE
page 267
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
16.6 I2C0 Control Register 1 (S3D0 register)
The S3D0 register controls the I2C bus interface circuit.
16.6.1 Bit 0 : Interrupt Enable Bit by STOP Condition (SIM )
The SIM bit enables the I2C bus interface interrupt request by detecting a STOP condition. If the SIM bit
is set to 1, the I2C bus interface interrupt request is generated by the STOP condition detect (no need to
change in the PIN flag).
16.6.2 Bit 1: Interrupt Enable Bit at the Completion of Data Receive (WIT)
When the WIT bit is set to "1" (enable the I2C bus interface interrupt upon completion of receiving data)
while the ACK-CLK bit in the S20 register is set to "1" (ACK clock), the I2C bus interface interrupt request
is generated, synchronizing with the falling edge of the last data bit clock, and the PIN bit is set to "0"
(request interrupt) . Then an "L" signal is applied to the SCLMM and the ACK clock generation is con-
trolled. Table 16.4 and Figure 16.12 show the interrupt generation timing and the procedure of commu-
nication restart. After the communication is restarted, the PIN bit is set to "0" again, synchronized with the
falling edge of the ACK clock, and the I2C bus interface interrupt request is generated.
Table16.4 Timing of Interrupt Generation in Data Receive Mode
The internal WAIT flag can be read by reading the WIT bit. The internal WAIT flag is set to "1" after writing
data to the S00 register and it is set to "0" after writing to the S20 register.
Consequently, the I2C bus interface interrupt request generated by the timing 1) or 2) can be determined.
(See Figure 16.12)
When the data is transmitted and the address data is received immediately after the START condition,
the WAIT flag remains "0" regardless of the WIT bit setting, and the I2C bus interface interrupt request is
only generated at the falling edge of the ACK clock. Set the WIT bit to 0 when the ACK-CLK bit in the
S20 register is set to "0" (no ACK clock).
I2C
bus Interface Interrupt Generation Timing
Procedure of Communication Restart
1) Synchronized with the falling edge of the Set the ACK bit in the S20 register.
last data bit clock Set the PIN bit to "1".
(Do not write to the S00 register. The ACK clock
operation may be unstable.)
2) Synchronized with the falling edge of the Set the S00 register
ACK clock
16. MULTI-MASTER I2C bus INTERFACE
page 268
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Figure 16.12 The timing of the interrupt generation at the completion of the data receive
16.6.3 Bits 2,3 : Port Function Select Bits PED, PEC
If the ES0 bit in the S1D0 register is set to "1" (I2C bus interface enabled), the SDAMM functions as an
output port. When the PED bit is set to "1" and the SCLMM functions as an output port when the PEC bit
is set to "1". Then the setting values of P2_0 and P2_1 bits in the port P2 register are output to the I2C
bus, regardless of he internal SCL/SDA output signals. (SCL/SDA pins are onnected to I2C bus interface
circuit)
The bus data can be read by reading the port pi direction register in input mode, regardless of the setting
values of the PED and PEC bits. Table 16.5 shows the port specification.
Table 16.5 Port specifications
In receive mode, ACK bit = 1 WIT bit = 0
7 clock 8 clock ACK
clock 1 clock
1 bit7 bit 8 bit ACK bit
S
CL
S
DA
ACK-BIT bit
PIN flag
Internal WAIT flag
I
2
C bus interface
interrupt request signal
The writing signal of
the S00 register
7 clock 8 clock ACK
clock
1 bit7 bit 8 bit
S
CL
S
DA
ACK-BIT bit
PIN flag
Internal WAIT flag
I
2
C bus interface
interrupt request signal
The writing signal of
the S00 register
The writing signal of the S2
0 register
1)
NOTES:
1. Do not write to the
I
2
C0
clock control register except the bit ACK-BIT.
In receive mode, ACK bit = 1 WIT bit = 1
2)
emaNniPtiB9SEtiBDEP 2P
0
noitceriDtroP retsigeR noitcnuF
2P
0
0- 1/0noitcnufO/ItroP
10 -S
AD
noitcnufO/I
11 -S
AD
noitcnuftuptuotrop,noitcnuftupni
emaNniPtiB0SEtiBCEP 2P
1
noitceriDtroP retsigeR noitcnuF
2P
1
0- 1/0noitcnufO/ItroP
10 -S
LC
noitcnufO/I
11 -S
LC
noicnuftuptuotrop,noitcnuftupni
16. MULTI-MASTER I2C bus INTERFACE
page 269
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
16.6.6 Address Receive in STOP/WAIT Mode
When WAIT mode is entered after the CM02 bit in the CM0 register is set to "0" (do not stop the peripheral
function clock in wait mode), the I2C bus interface circuit can receive address data in WAIT mode. How-
ever, the I2C bus interface circuit is not operated in STOP mode or in low power consumption mode,
because the I2C bus system clock VIIC is not supplied.
16.6.4 Bits 4,5 : SDA/SCL Logic Output Value Monitor Bits SDAM/SCLM
The SDAM/SCLM bits can monitor the logic value of the SDA and SCL output signals from the I2C bus
interface circuit. The SDAM bit monitors the SDA output logic value. The SCLM bit monitors the SCL
output logic value. The SDAM and SCLM bits are read-only. When write, set them to 0.
16.6.5 Bits 6,7 : I2C System Clock Select Bits ICK0, ICK1
The ICK1 bit, ICK0 bit, the ICK4 to ICK2 bits in the S4D0 register, and the PCLK0 bit in the PCLKR
register can select the system clock (VIIC) of the I2C bus interface circuit.
The I2C bus system clock VIIC can be selected among 1/2 fIIC, 1/2.5 fIIC, 1/3 fIIC, 1/4 fIIC, 1/5 fIIC, 1/6 fIIC
and 1/8 fIIC. fIIC can be selected between f1 and f2 by the PCLK0 bit setting.
I3CK4[S4D0] ICK3[S4D0] ICK2[S4D0] ICK1[S3D0] ICK0[S3D0] I2C system clock
00000VIIC = 1/2 f(XIN)
00001VIIC = 1/4 f(XIN)
00010VIIC = 1/8 f(XIN)
001XXVIIC = 1/2.5 f(XIN)
010XXVIIC = 1/3 f(XIN)
011XXVIIC = 1/5 f(XIN)
100XXVIIC = 1/6 f(XIN)
Table 16.6 I2C system clock select bits
( Do not set the combination other than the above)
16. MULTI-MASTER I2C bus INTERFACE
page 270
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
16.7 I2C0 Control Register 2 (S4D0 Register)
The S4D0 register controls the error communication detection.
If the SCL clock is stopped counting dring data transfer, each device is stopped, staying online. To avoid
the situation, the I2C bus interface circuit has a function to detect the time-out when the SCL clock is
stopped in high-level ("H") state for a specific period, and to generate an I2C bus interface interrupt request.
See Figure 16.13.
Figure 16.13 The timing of time-out detection
1 clock
1 bit
SCL
SDA
BB flag
Internal counter start signal
Internal counter stop, reset signal
Internal counter overflow signal
I2C-BUS interface interrupt
request signal
2 bit 3 bit
2 clock 3 clock
SCL clock stop (H)
The time of timeout detection
16. MULTI-MASTER I2C bus INTERFACE
page 271
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
16.7.1 Bit0: Time-Out Detection Function Enable Bit (TOE)
The TOE bit enables the time-out detection function. When the TOE bit is set to "1", time-out is detected
and the I2C bus interface interrupt request is generated when the following conditions are met.
1) the BB flag in the S10 register is set to "1" (bus busy)
2) the SCL clock stops for time-out detection period while high-level ("H") signal is maintained (see
Table 16.7)
The internal counter measures the time-out detection time and the TOSEL bit selects between two
modes, long time and short time. When time-out is detected, set the ES0 bit to "0" (I2C bus interface
disabled) and reset the counter.
16.7.2 Bit1: Time-Out Detection Flag (TOF )
The TOF flag indicates the time-out detection. If the internal counter which measures the time-out
period overflows, the TOF flag is set to 1 and the I2C bus interface interrupt request is generated at the
same time.
16.7.3 Bit2: Time-Out Detection Period Select Bit (TOSEL)
The TOSEL bit selects time-out detection period from long time mode and short time mode. When the
TOSEL bit is set to "0", long time mode is selected. When it is set to "1", short time mode is selected,
respectively. The internal counter increments as a 16-bit counter in long time mode, while the counter
increments as a 14-bit counter in short time mode, based on the I2C system clock (VIIC) as a counter
source. Table 16.7 shows examples of time-out detection period.
Table 16.7 Examples of Time-out Detection Period (Unit: ms)
16.7.4 Bits 3,4,5: I2C System Clock Select Bits (ICK2-4)
The ICK4 to 2 bits, ICK1 and ICK0 bits in the S3D0 register, and the PCLK0 bit in the PCLKR register
select the system clock (VIIC) of the I2C bus interface circuit. See Table 16.6 for the setting values.
16.7.5 Bit7: STOP Condition Detection Interrupt Request Bit (SCPIN)
The SCPIN bit monitors the stop condition detection interrupt. The SCPIN bit is set to 1 when the I2C
bus interface interrupt is generated by detecting the STOP condition. When this bit is set to "0" by pro-
gram, it becomes "0". However, no change occurs even if it is set to "1".
VIIC(MHz) Long time mode Short time mode
4 16.4 4.1
2 32.8 8.2
1 65.6 16.4
16. MULTI-MASTER I2C bus INTERFACE
page 272
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
16.8 I2C0 START/STOP Condition Control Register (S2D0 Register)
The S2D0 register controls the START/STOP condition detections.
16.8.1 Bit0-Bit4: START/STOP Condition Setting Bits (SSC0-SSC4)
The SCL release time and the set-up and hold times are mesured on the base of the I2C bus system clock
(VIIC). Therefore, the detection conditions changes, depending on the oscillation frequency (XIN) and the
I2C bus system clock select bits. It is necessary to set the SSC4 to SSC0 bits to the appropriate value to
set the SCL release time, the set-up and hold times by the system clock frequency (See Table 16.10). Do
not set odd numbers or 000002 to the SSC4 to SSC0 bits. Table 16.2 shows the reference value to the
SSC4 to SSC0 bits at each oscillation frequency in standard clock mode. The detection of START/STOP
conditions starts immediately after the ES0 bit in the S1D0 register is set to "1" (I2C bus interface en-
abled).
16.8.2 Bit5: SCL/SDA Interrupt Pin Polarity Select Bit (SIP)
The The SIP bit detect the rising edge or the falling edge of the SCLMM or SDAMM to generate SCL/SDA
interrupts. The SIP bit selects the polarity of the SCLMM or the SDAMM for interrupt.
16.8.3 Bit6 : SCL/SDA Interrupt Pin Select Bit (SIS)
The SIS bit selects a pin to enable SCL/SDA interrupt.
NOTES:
1. The SCL/SDA interrupt request may be set when changing the SIP, SIS and ES0 bit settings in the
S1D0 register. When using the SCL/SDA interrupt, set the above bits, while the SCL/SDA interrupt is
disabled. Then, enable the SCL/SDA interrupt after setting the SCL/SDA bit in the IR register to "0".
16.8.4 Bit7: START/STOP Condition Generation Select Bit (STSPSEL)
The STSPSEL bit selects the set-up/hold times, based on the I2C system clock cycles, when the START/
STOP condition is generated (See Table 16.8). Set the STSPSEL bit to 1 if the I2C bus system clock
frequency is over 4MHz.
16. MULTI-MASTER I2C bus INTERFACE
page 273
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
16.9 START Condition Generation Method
Set the MST bit, TRX bit and BB flags in the S10 register to "1" and set the PIN bit and 4 low-order bits in the
S10 register to "0" simultaneously, to enter START condition standby mode, when the ES0 bit in the S1D0
register is set to 1 (I2C bus interface enabled) and the BB flag is set to 0 (bus free). When the slave
address is written to the S00 register next, START condition is generated and the bit counter is reset to
"0002" and 1-byte SCL signal is output. The START condition generation timing varies between standard
clock mode and high-speed clock mode. See Figure 16.16 and Table 16.8.
Figure 16.14 Start condition generation flow chart
Interrupt disable
BB=0?
S10=E0
16
S00=Data
Interrupt enable
No
Yes Start condition standby status setting
Start condition trigger generation
*Data=Slave address data
16. MULTI-MASTER I2C bus INTERFACE
page 274
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
16.11 STOP Condition Generation Method
When the ES0 bit in the S1D0 register is set to “1” (I2C bus interface enabled) and the MST and TRX bits in
the S10 register are set to “1” at the same time, set the BB flag, PIN bit and 4 low-order bits in the S10
register to "0" simultaneously, to enter STOP condition standby mode. When dummy data is written to the
S00 register next, the STOP condition is generated. The STOP condition generation timing varies between
standard clock mode and high-speed clock mode. See Figure 16.17 and Table 16.8.
Until the BB flag in the S10 register becomes "0" (bus free) after an instruction to generate the STOP
condition is executed, do not write data to the S10 and S00 registers. Otherwise, the STOP condition
waveform may not be generated correctly.
If an input signal level of the SCL pin is set to low ("L") after the instruction to generate the STOP condition
is executed, a signal level of the SCL pin becomes high ("H"), and the BB flag is set to 0 (bus free), the MCU
outputs an "L" signal to SCL pin.
In that case, the MCU can stop an "L" signal output to the SCL pin by generating the STOP condition, writing
0 to the ES0 bit in the S1D0 register (disabled), or writing 1 to the IHR bit in the S1D0 register (reset
release).
16.10 START Condition Duplicate Protect Function
A START condition is generated when verifying that the BB flag in the S10 register does not use buses.
However, if the BB flag is set to "1" (bus busy) by the START condition which other master device gener-
ates immediately after the BB flag is verified, the START condition is suspended by the START condition
duplicate protect function. When the START condition duplicate protect function starts, it operates as fol-
lows:
•Disable the start condition standby setting
If the function has already been set, first exit START condition standby mode and then set the MST and
TRX bits in the S10 register to "0".
•Writing to the S00 register is disabled. (The START condition trigger generation is disabled)
•If the START condition generation is interrupted, the AL flag in the S10 register becomes "1".(arbitration
lost detection)
The START condition duplicate protect function is valid between the SDA falling edge of the START condi-
tion and the receive completion of the slave address. Figure 16.15 shows the duration of the START
condition duplicate protect function.
Figure 16.15 The duration of the start condition duplicate protect function
1 clock
1 bit
S
CL
S
DA
BB flag
2 bit 3 bit
2 clock 3 clock
8 bit ACK bit
The duration of start condition duplicate protect
8 clock ACK clock
16. MULTI-MASTER I2C bus INTERFACE
page 275
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Figure 16.16 Start condition generation timing diagram
Figure 16.17 Stop condition generation timing diagram
Table 16.8 Start/Stop generation timing table
As mentioned above, when the MST and TRX bits are set to "1", START condition or STOP condition mode
is entered by writing "1" or "0" to the BB flag in the S10 register and writing "0" to the PIN bit and 4 low-order
bits in the S10 register at the same time. Then SDAMM is left open in the START condition standby mode
and SDAMM is set to low-level ("L") in the STOP condition standby mode. When the S00 register is set, the
START/STOP conditions are generated. In order to set the MST and TRX bits to "1" without generating the
START/STOP conditions, write "1" to the 4 low-order bits simultaneously. Table 16.9 lists functions along
with the S10 register settings.
NOTE:
1. Actual time at the time of VIIC = 4MHz, The contents in () denote cycle numbers.
Table 16.9 S10 Register Settings and Functions
I2C0 data shift register
write signal
SCL
SDA
AA
AA
Hold
time
Setup
time
I2C0 data shift register
write signal
SCL
SDA
AA
Setup
time
AA
AA
Hold
time
noitidnoCpotS/tratS tiBtceleSnoitareneG edoMkcolCdradnatSedoMkcolCdeeps-hgiH
emitputeS 00.5 µ)selcyc02(s5.2 µ)selcyc01(s
10.31 µ)selcyc25(s5.6 µ)selcyc62(s
emitdloH 00.5 µ)selcyc02(s5.2 µ)selcyc01(s
10.31 µ)selcyc25(s5.6 µ)selcyc62(s
sgnitteSretsigeR01S noitcnuF
TSMXRTBBNIPLASAA0SABRL
1110000 0 retsamniybdnatsnoitidnocTRATSehtpugnitteS edomtimsnart
1100000 0 retsamniybdnatsnoitidnocPOTSehtpugnitteS edomtimsnart
1/01/0-01111 otrefer(edomnoitacinummochcaepugnitteS 5.61
I
2
retsigersutatsC )
16. MULTI-MASTER I2C bus INTERFACE
page 276
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
16.12 START/STOP Condition Detect Operation
Figure 16.18, Figure 16.19 and Table 16.10 show START/STOP condition detect operations. The SSC4
to SSC0 bits in the S2D0 register set the START/STOP conditions. The START/STOP condition can be
detected only when the input signal of the SCLMM and SDAMM met the following conditions: the SCL
release time, the set-up time, and the hold time (see Table 16.10). The BB flag in the S10 register is set to
1 when the START condition is detected and it is set to 0 when the STOP condition is detected. The BB
flag set and reset timing varies between standard clock mode and high-speed clock mode. See Table
16.10.
Figure 16.18 Start condition detection timing diagram
Figure 16.19 Stop condition detection timing diagram
Standard clock mode High-speed clock mode
SCL release time SSC value + 1 cycle (6.25µs) 4 cycles (1.0µs)
Setup time SSC value + 1 cycle < 4.0µs (3.25µs) 2 cycles (0.5µs)
2
Hold time SSC value cycle < 4.0µs (3.0µs) 2 cycles (0.5µs)
2
BB flag set/reset SSC value - 1 +2 cycles (3.375µs) 3.5 cycles (0.875µs)
time 2
Table 16.10 Start/Stop detection timing table
BB flag
AA
Hold
time
SCL
SCL release time
Setup
time
AA
BB flag
set time
SDA
BB flag
AA
Hold
time
SCL
SDA
SCL release time
Setup
time
AA
BB flag
reset time
NOTES:
1. Unit : number of cycle for I2C system clock VIIC
The SSC value is the decimal notation value of the SSC4 to SSC0 btis. Do not set 0 or odd
numbers to the SSC setting. The values in () are examples when the S2D0 register is set to 1816
at VIIC = 4 MHz.
16. MULTI-MASTER I2C bus INTERFACE
page 277
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
16.13 Address Data Communication
This section describes data transmit control when a master transferes data or a slave receives data in 7-bit
address format. Figure 16.20 (1) shows a master transmit format.
Figure 16.20 Address data communication format
16.13.1 Example of Master Transmit
For example, a master transmits data as shown below when following conditions are met: standard clock
mode, SCL clock frequency of 100kHz and ACK clock added.
1) Set s slave address to the 7 high-order bits in the S0D0 register
2) Set 8516 to the S20 register, 0002 to the ICK4 to ICK2 bits in the S4D0 register and 0016 to the
S3D0 registe to generate an ACK clock and set SCL clock frequency t 100 kHz (f1=8MHz, fIIC=f1)
3) Set 0016 to the S10 register to reset transmit/receive
4) Set 0816 to the S1D0 register to enable data communication
5) Confirm whether the bus is free by BB flag setting in the S10 register
6) Set E016 to the S10 register to enter START condition standby mode
7) Set the destination address in 7 high-order bits and "0" to a least significant bit in the S00 register
to generate START condition. At this time, the first byte consisting of SCL and ACK clock are
automatically generated
8) Set a transmit data to the S00 register. At this time, SCL and an ACK clock are automatically
generated
9) When transmitting more than 1-byte control data, repeat the above step 8).
10) Set C016 in the S10 register to enter STOP condition standby mode if ACK is not returned from
the slave receiver or if the transmit is completed
11) Write dummy data to the S00 regiser to generate STOP condition
SSlave address R/W A
Data
AA/A P
7 bits 01 - 8 bits
SR/W A A A P
1
(1) A master transmit device transmits data to a receive device
(2) A master receive device receives data from a transmit device
Data
DataData
Slave address
1 - 8 bits
7 bits 1 - 8 bits 1 - 8 bits
S:
START condition
P :
STOP condition
A:
ACK bit
R/W :
Read/Write bit
16. MULTI-MASTER I2C bus INTERFACE
page 278
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
16.13.2 Example of Slave Receive
For example, a slave receives data as shown below when following conditions are met: high-speed clock
mode, SCL frequency of 400 kHz, ACK clock added and addressing format.
1) Set a slave address in the 7 high-order bits in the S0D0 register
2) Set "A516" to the S20 register, 0002 to the ICK4 to ICK2 bits in the S4D0 register, and 0016 to the
S3D0 register to generate an ACK clock and set SCL clock frequency at 400kHz (f1=8MHz)
3) Set 0016 to the S10 register to reset transmit/receive mode
4) Set 0816 to the S1D0 register to enable data communication
5) When a START condition is received, addresses are compared
6)
When the transmitted addresses are all "0" (general call), the ADR0 bit in the S10 register is set to "1"
and an I2C bus interface interrupt request signal is generated.
When the transmitted addresses match with the address set in 1), the ASS bit in the S10 register
is set to 1 and an I2C bus interface interrupt request signal is generated.
In other cases, the ADR0 and AAS bits are set to 0 and I2C bus interface interrupt request signal
is not generated.
7) Write dummy data to the S00 register.
8) After receiving 1-byte data, an ACK-CLK bit is automatically returned and an I2C bus interface
interrupt request signal is generated.
9) To determine whether the ACK should be returned depending on contents in the received data, set
dummy data to the S00 register to receive data after setting the WIT bit in te S3D0 register to "1"
(enable the I2C bus interface interrupt of data receive completion). Because the I2C bus interface
interrupt is generated when the 1-byte data is received, set the ACKBIT bit to "1" or "0" to output a
signal from the ACKBIT bit.
10) When receiving more than 1-byte control data, repeat steps 7) and 8) or 7) and 9).
11) When a STOP condition is detected, the communication is ended.
16. MULTI-MASTER I2C bus INTERFACE
page 279
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
16.14 Precautions
(1) Access to the registers of I2C bus interface circuit
The following is precautions when read or write the control registers of I2C bus interface circuit
S00 register
Do not rewrite the S00 register during data transfer. If the bits in the S00 register are rewritten, the bit
counter for transfer is reset and data may not be transferred successfully.
S1D0 register
The BC2 o BC0 bits are set to "0002" when START condition is detected or when 1-byte data transfer
is completed. Do not read or write the S1D0 register at this timing. Otherwise, data may be read or
written unsuccessfully. Figure 16.22 and Figure 16.23 show the bit counter reset timing.
S20 register
Do not rewrite the S20 register except the ACKBIT bit during transfer. If the bits in the S20 register
except ACKBIT bit are rewritten, the I2C bus clock circuit is reset and data may be transferred incom-
pletely.
S3D0 register
Rewrite the ICK4 to ICK0 bits in the S3D0 register when the ES0 bit in the S1D0 register is set to "0"
(I2C bus interface is disabled). When the WIT bit is read, the internal WAIT flag is read. Therefore, do
not use the bit managing instruction(read-modify-write instruction) to access the S3D0 register.
S10 register
Do not use the bit managing instruction (read-modify-write instruction) because all bits in the S10
register will be changed, depending on the communication conditions. Do not read/write when te com-
munication mode select bits, the MST and TRX bits, are changing their value. Otherwise, data may be
read or written unsuccessfully. Figure16.21 to Figure 16.23 show the timing when the MST and TRX
bits change.
16. MULTI-MASTER I2C bus INTERFACE
page 280
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Figure 16.21 The bit reset timing (The STOP condition detection)
Figure 16.22 The bit reset timing (The START condition detection)
BB flag
S
CL
Bit reset signal
AAAA
MST
TRX
AAA
AAA
1.5V
IIC
cycle
S
DA
Related bits
BB flag
S
CL
Bit reset signal
AAAAA
BC0 - BC2
TRX(slave mode)
S
DA
Related bits
Figure 16.23 Bit set/reset timing ( at the completion of data transfer)
S
CL
Bit set signal
AAA
1V
IIC
c
y
cle
PIN bit
AA
2V
IIC
cycle
Bit reset signal
AAAAA
AAAAA
BC0 - BC2
MST(When in arbitration lost)
TRX(When in NACK receive in slave
transmit mode)
The bits referring
to reset
AAAAA
AAAAA
TRX(ALS=0 meanwhile the slave
receive R/W bit = 1
The bits referring
to set
16. MULTI-MASTER I2C bus INTERFACE
page 281
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
(2) Generation of RESTART condition
In order to generate a RESTART condition after 1-byte data transfer, write E016 to the S10 register,
enter START condition standby mode and leave the SDAMM open. Generate a START condition trigger
by setting the S00 register after inserting a sufficient software wait until the SDAMM outputs a high-level
("H") signal. Figure 16.24 shows the RESTART condition generation timing.
Figure 16.24 The time of generation of RESTART condition
8 clock ACK
clock
SCL
SDA
S1I writing signal
( START condition setting standby) Insert software wait
S0I writing signal
(START condition trigger generation)
(3) Iimitation of CPU clock
When the CM07 bit in the CM0 register is set to "1" (subclock), each register of the I2C bus interface
circuit cannot be read or written. Read or write data when the CM07 bit is set to "0" (main clock, PLL
clock, or on-chip oscillator clock).
17. Programmable I/O Ports
page 282
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
17. Programmable I/O Ports
Note
Ports P04 to P07, P10 to P14 , P34 to P37 and P95 to P97 are not available in M16C/28 (64-pin
package).
The programmable input/output ports (hereafter referred to simply as “I/O ports”) consist of 71 lines P0,
P1,P2, P3, P6, P7, P8, P9, P10 (except P94) for the 80-pin package, or 55 lines P00 to P03, P15 to P17, P2,
P30 to P33, P6, P7, P8, P90 to P93, P10 for the 64-pin package. Each port can be set for input or output
every line by using a direction register, and can also be chosen to be or not be pulled high in sets of 4 lines.
Figures 17.1 to 17.4 show the I/O ports. Figure 17.5 shows the I/O pins.
Each pin functions as an I/O port, a peripheral function input/output.
For details on how to set peripheral functions, refer to each functional description in this manual. If any pin
is used as a peripheral function input, set the direction bit for that pin to “0” (input mode). Any pin used as an
output pin for peripheral functions is directed for output no matter how the corresponding direction bit is set.
17.1 Port Pi Direction Register (PDi Register, i = 0 to 3, 6 to 10)
Figure 17.6 shows the direction registers.
This register selects whether the I/O port is to be used for input or output. The bits in this register corre-
spond one for one to each port.
17.2 Port Pi Register (Pi Register, i = 0 to 3, 6 to 10)
Figure 17.7 shows the Pi registers.
Data input/output to and from external devices are accomplished by reading and writing to the Pi register.
The Pi register consists of a port latch to hold the output data and a circuit to read the pin status. For ports
set for input mode, the input level of the pin can be read by reading the corresponding Pi register, and data
can be written to the port latch by writing to the Pi register.
For ports set for output mode, the port latch can be read by reading the corresponding Pi register, and data
can be written to the port latch by writing to the Pi register. The data written to the port latch is output from
the pin. The bits in the Pi register correspond one for one to each port.
17.3 Pull-up Control Register 0 to 2 (PUR0 to PUR2 Registers)
Figure 17.8 shows the PUR0 to PUR2 registers.
Registers PUR0 to PUR2 select whether the ports, divided into groups of four ports, are pulled up or not.
The ports, selected by setting the bits in registers PUR2 to PUR0 to “1” (pull-up), are pulled up when the
direction registers are set to “0” (input mode). The ports are pulled up regardless of their function.
17.4 Port Control Register (PCR Register)
Figure 17.9 shows the port control register.
When the P1 register is read after setting the PCR0 bit in the PCR register to “1”, the corresponding port
latch can be read no matter how the PD1 register is set.
17. Programmable I/O Ports
page 283
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
17.5 Pin Assignment Control Register (PACR)
Figure 17.10 shows the PACR register. After reset, set bits PACR2 to PACR0 in the PACR register before
a signal is input or output to each pin. When bits PACR2 to PACR0 are not set, some pins do not function
as I/O ports.
Bits PACR2 to PACR0: control pins to be used
Value after reset: 0002.
To select the 80-pin package, set the bits to 0112.
To select the 64-pin package, set the bits to 0102.
U1MAP bit: controls pin assignments for the UART1 function.
To assign the UART1 function to P64/CTS1/RTS1, P65/CLK1, P66/RxD1, and P67/TxD1, set the U1MAP
bit to 0 (P67 to P64).
To assign the function to P70/CTS1/RTS1, P71/CLK1, P72/RxD1, and P73/TxD1, set the U1MAP bit to 1
(P73 to P70)
The PRC2 bit in the PRCR protects the PACR register. Set the PACR register after setting the PRC2 bit in
the PRCR register.
17.6 Digital Debounce Function
Two digital debounce function circuits are provided. Level is determined when level is held, after applying
either a falling edge or rising edge to the pin, longer than the programmed filter width time. This enables
noise reduction. ________ _______ _____
This function is assigned to INT5/INPC17 and NMI/SD. Digital filter width is set in the NDDR register and
the P17DDR register respectively. Figure 17.11 shows the NDDR register and the P17DDR register.
Additionally, a digital debounce function is disabled to the port P17 input and the port P85 input.
Filter width : (n+1) x 1/f8 n: count value set in the NDDR register and P17DDR register
The NDDR register and the P17DDR register decrement count value with f8 as the count source. The
NDDR register and the P17DDR register indicate count time. Count value is reloaded if a falling edge or a
rising edge is applied to the pin.
The NDDR register and the P17DDR register can be set 0016 to FF16 when using the digital debounce
function. Setting to FF16 disables the digital filter. See Figure 17.12 for details.
17. Programmable I/O Ports
page 284
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
P10 to P13
P15 to P16
P22 to P27, P30, P60, P61,
P64, P65, P74 to P76, P80,
P81
P00 to P07, P93,
P100 to P103
P30 to P37
(inside dotted-line
included)
(inside dotted-line not included)
Data bus
Data bus
(1)
Analog input
Pull-up selection
Direction register
Port latch
P14(inside dotted-line not included)
(inside dotted-line included)
P17
(inside dotted-line not included)
(inside dotted-line included)
P32(inside dotted-line not included)
(inside dotted-line included)
Data bus
Direction register
Port latch
Pull-up selection
(1)
Port P1 control register
Analog input
Direction register
Port latch
Pull-up selection
(1)
Port P1 control register
Input to respective peripheral functions
Digital
Debounce
INPC17/INT5
"1"
Output
Data bus
Direction
register
Port latch
Pull-up selection
(1)
Input to respective peripheral functions
NOTES:
1. symbolizes a parasitic diode.
Make sure the input voltage on each port will not exceed Vcc.
Figure 17.1 I/O Ports (1)
17. Programmable I/O Ports
page 285
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Figure 17.2 I/O Ports (2)
P82 to P84
P31, P62, P66, P77,
P90 to P92
Data bus
Pull-up selection
Direction register
Port latch
Data bus
Pull-up selection
Direction register
Port latch
Input to respective peripheral functions
Input to respective peripheral functions
P20, P21, P70,P71,
"1"
Output
Data bus
Direction
register
Port latch
Pull-up selection
(1)
Input to respective peripheral functions
Switching
between
CMOS and
Nch
(1)
(1)
P72, P73
NOTES:
1. symbolizes a parasitic diode.
Make sure the input voltage on each port will not exceed Vcc.
17. Programmable I/O Ports
page 286
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Figure 17.3 I/O Ports (3)
P8
5
P6
3
, P6
7
Output
1
Data bus
Pull-up selection
Direction register
Port latch
Switching between CMOS and Nch
NOTES:
1. symbolizes a parasitic diode.
Make sure the input voltage on each port will not exceed Vcc.
Data bus
Pull-up selection
Direction register
Port latch
NMI Interrupt Input
NMI Enable
Digital Debounce
NMI Enable
SD
(1)
(1)
Data bus
Direction register
Pull-up selection
Port latch
Analog input
Input to respective peripheral functions
P9
7
, P10
4
to P10
7
(1)
17. Programmable I/O Ports
page 287
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Figure 17.4 I/O Ports (4)
1
Output
Direction register
Data bus Port latch
Analog input
Pull-up selection
(1)
P8
7
P8
6
fc
Rf
Rd
Data bus
Direction register
Pull-up selection
Port latch
Direction register
Pull-up selection
Port latch
Data bus
(1)
(1)
Input to respective peripheral functions
P9
6
(inside dotted-line
not included)
P9
5
(inside dotted-line
included)
NOTES:
1. symbolizes a parasitic diode.
Make sure the input voltage on each port will not exceed Vcc.
17. Programmable I/O Ports
page 288
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Figure 17.5 I/O Pins
CNV
SS
CNV
SS
signal input
RESET RESET signal input
(1)
(1)
Note 1: symbolizes a parasitic diode.
Make sure the input voltage on each port will not exceed Vcc.
17. Programmable I/O Ports
page 289
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Figure 17.6 PD0 to PD3 and PD6 to PD10 Registers
Port Pi Direction Register (i=0 to 3, 6 to 8, and 10) (1)
Symbol
Address
After Reset
PD0 to PD3
03E2
16
, 03E3
16
, 03E6
16
, 03E7
16
00
16
PD6 to PD8 03EE
16
, 03EF
16
, 03F2
16
00
16
PD10 03F6
16
00
16
Bit Name FunctionBit Symbol RW
b7 b6 b5 b4 b3 b2 b1 b0
PDi_0 Port Pi
0
direction bit
PDi_1 Port Pi
1
direction bit
PDi_2 Port Pi
2
direction bit
PDi_3 Port Pi
3
direction bit
PDi_4 Port Pi
4
direction bit
PDi_5 Port Pi
5
direction bit
PDi_6 Port Pi
6
direction bit
PDi_7 Port Pi
7
direction bit
0 : Input mode
(Functions as an input port)
1 : Output mode
(Functions as an output port)
(i = 0 to 3, 6 to 8, and 10)
Port P9 Direction Register (1,2)
Symbol
Address
After Reset
PD9
03F3
16
00
16
Bit Name FunctionBit Symbol
b7 b6 b5 b4 b3 b2 b1 b0
PD9_0 Port P9
0
direction bit
PD9_1 Port P9
1
direction bit
PD9_2 Port P9
2
direction bit
PD9_3 Port P9
3
direction bit
0 : Input mode
(Functions as an input port)
1 : Output mode
(Functions as an output port)
0 : Input mode
(Functions as an input port)
1 : Output mode
(Functions as an output port)
NOTES:
1. Set the PACR register.
In 80-/85- pin package, set PACR2, PACR1, PACR0 to "011
2
"
In 64-pin package, set PACR2, PACR1, PACR0 to "010
2
"
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
PD9_5 Port P9
5
direction bit
RW
PD9_6 Port P9
6
direction bit
RW
PD9_7 Port P9
7
direction bit
RW
Nothing is assigned. In an attempt to write to this bit, write 0.
The value, if read, turns out to be indeterminate.
(b4)
NOTES:
1. Make sure the PD9 register is written to by the next instruction after setting the PRC2 bit in the
PRCR register to "1"(write enabled).
2. Set the PACR register.
In 80-/85-pin package, set PACR2, PACR1, PACR0 to "011
2
"
In 64-pin package, set PACR2, PACR1, PACR0 to "010
2
"
17. Programmable I/O Ports
page 290
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Figure 17.7 P0 to P3 and P6 to P10 Registers
Port Pi Register (i=0 to 3, 6 to 8 and 10) (1)
Symbol
Address
After Reset
P0 to P3 03E0
16
, 03E1
16
, 03E4
16
, 03E5
16
Indeterminate
P6 to P8 03EC
16
, 03ED
16
, 03F0
16
Indeterminate
P10 03F4
16
Indeterminate
Bit Name FunctionBit Symbol RW
b7 b6 b5 b4 b3 b2 b1 b0
Pi_0 Port Pi
0
bit
Pi_1 Port Pi
1
bit
Pi_2 Port Pi
2
bit
Pi_3 Port Pi
3
bit
Pi_4 Port Pi
4
bit
Pi_5 Port Pi
5
bit
Pi_6 Port Pi
6
bit
Pi_7 Port Pi
7
bit
The pin level on any I/O port which is
set for input mode can be read by
reading the corresponding bit in this
register.
The pin level on any I/O port which is
set for output mode can be controlled
by writing to the corresponding bit in
this register
0 : L level
1 : H level
(1)
(i = 0 to 3, 6 to 8 and 10)
Port P9 Register (1)
Symbol
Address
After Reset
P9
03F1
16
Indeterminate
Bit Name FunctionBit Symbol
b7 b6 b5 b4 b3 b2 b1 b0
P9_0 Port P9
0
bit
P9_1 Port P9
1
bit
P9_2 Port P9
2
bit
P9_3 Port P9
3
bit
(b4) Nothing is assigned
(2)
P9_5 Port P9
5
bit
P9_6 Port P9
6
bit
P9_7 Port P9
7
bit
The pin level on any I/O port which is
set for input mode can be read by
reading the corresponding bit in this
register.
The pin level on any I/O port which is
set for output mode can be controlled
by writing to the corresponding bit in
this register (except for P8
5
)
0 : L level
1 : H level
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
-
RW
RW
RW
RW
NOTES:
1. Set the PACR register.
In 80-/85-pin package, set PACR2, PACR1, PACR0 to "0112"
In 64-pin package, set PACR2, PACR1, PACR0 to "0102"
NOTES:
1. Set the PACR register.
In 80-/85- pin package, set PACR2, PACR1, PACR0 to "0112"
In 64-pin package, set PACR2, PACR1, PACR0 to "0102"
2. Nothing is assigned. In an attempt to write t o this bit, write "0".
The value if read turns out to be "0".
17. Programmable I/O Ports
page 291
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Figure 17.8 PUR0 to PUR2 Registers
Pull-up Control Register 0 (1)
Symbol
Address
After Reset
PUR0
03FC
16
00
16
Bit Name Function Bit Symbol RW
b7 b6 b5 b4 b3 b2 b1 b0
PU00 P00 to P03 pull-up
PU01 P04 to P07 pull-up
PU02 P10 to P13 pull-up
PU03 P14 to P17 pull-up
PU04 P20 to P23 pull-up
PU05 P24 to P27 pull-up
PU06 P30 to P33 pull-up
PU07 P34 to P37 pull-up
0 : Not pulled up
1 : Pulled up (1)
Pull-up Control Register 1
Symbol
Address
After Reset
PUR1
03FD
16
00
16
Bit Name Function Bit Symbol
b7 b6 b5 b4 b3 b2 b1 b0
PU14
PU15
PU16
PU17
0 : Not pulled high
1 : Pulled high (1)
NOTE:
1. The pin for which this bit is 1 (pulled up) and the direction bit is 0 (input mode) is pulled up.
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
NOTE:
1. The pin for which this bit is 1 (pulled up) and the direction bit is 0 (input mode) is pulled up.
Pull-up Control Register 2
Symbol
Address
After Reset
PUR2
03FE
16
00
16
Bit Name FunctionBit Symbol
b7 b6 b5 b4 b3 b2 b1 b0
PU20
P80 to P83 pull-up
PU21
P84 to P87 pull-up
PU22
P90 to P93 pull-up
PU23
P95 to P97 pull-up
PU24
P100 to P103 pull-up
PU25
P104 to P107 pull-up
0 : Not pulled up
1 : Pulled up (1)
RW
RW
RW
RW
RW
RW
RW
(b7-b6)
NOTE:
1. The pin for which this bit is 1 (pulled up) and the direction bit is 0 (input mode) is pulled up.
Nothing is assigned. When write, set to "0".
When read, the content is "0".
(b3-b0)
P64 to P67 pull-up
P70 to P73 pull-up
P74 to P77 pull-up
P60 to P63 pull-up
Nothing is assigned. When write, set to "0".
When read, the content is "0".
17. Programmable I/O Ports
page 292
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Figure 17.9 PCR Register
Figure 17.10 PACR Register
Pin Assignment Control Register
(1)
Symbpl Address After Reset
PACR 025D
16
0016
Bit Name FunctionBit Symbol RW
b7 b6 b5 b4 b3 b2 b1 b0
Pin enabling bit
Nothing is assigned. When write,
set to 0. When read, its
content is 0.
RW
(b6-b3)
010 : 64 pin
011 : 80 pin
All other values are reserved. Do
not use.
PACR0
PACR1
PACR2
RW
RW
Reserved bits
U1MAP UART1 pin remapping bit UART1 pins assigned to
0 : P6
7
to P64
1 : P73 to P70RW
NOTE:
1. Set the PACR register by the next instruction after setting the PRC2 bit in the PRCR register to "1"(write
enable).
Port Control Register
Symbpl Address After Reset
PCR 03FF16 00
16
Bit Name FunctionBit Symbol RW
b7 b6 b5 b4 b3 b2 b1 b0
Port P1 control bit
Nothing is assigned.
When write, set to "0". When read, its
content is "0".
RW
(b7-b1)
Operation performed when the P1
register is read
0: When the port is set for input,
the input levels of P10 to P17
pins are read. When set for
output, the port latch is read.
1: The port latch is read
regardless of whether the port
is set for input or output.
PCR0
17. Programmable I/O Ports
page 293
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Figure 17.11 NDDR and P17DDR Registers
NMI Digital Debounce Register (1,2)
Symbol Address After Reset
NDDR 033E16 FF16
RW
b7 b0
Function RW
Setting Range
00
16
to FF
16
If the set value =n,
- n = 0 to FE
16
; a signal with pulse width, greater than
(n+1)/f8, is input into NMI / SD
- n = FF
16
; the digital debounce filter is disabled and all
signals are input
P1
7 Digital Debounce Register(1)
Symbol Address After Reset
P17DDR 033F
16
FF
16
RW
b7 b0
Function RW
Setting Range
00
16
to FF
16
If the set value =n,
- n = 0 to FE
16
; a signal with pulse width, greater than
(n+1)/f8, is input into INPC17/ INT5
- n = FF
16
; the digital debounce filter is disabled and all
signals are input
NOTE:
1. When using the INT5 interrupt to exit from stop mode, set the P17DDR registert to "FF
16
" before entering
stop mode.
NOTES:
1. Set the PACR register by the next instruction after setting the PRC2 bit in the PRCR register to "1"(write
enable).
2. When using the NMI interrupt to exit from stop mode, set the NDDR registert to "FF
16
" before entering
stop mode.
17. Programmable I/O Ports
page 294
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Figure 17.12 Digital Debounce Filter
f
8
P1
7
Data Bus
Clock
Port In
Reload Value
(write)
Digital Debounce Filter
Signal Out
Count Value
(read)
To INT5
Data Bus
f
8
Reload Value
Port In
Signal Out
Count Value
Reload Value
(continued)
Port In
(continued)
Signal Out
(continued)
Count Value
(continued)
FF 03
FF 03 02 01 03 02 01 00 FF
03 FF
03 02 01 00
FF FF 03 02 FF
1 2 345
6789
Example of INT5 Digital Debounce Function (if P17DDR = "03
16
")
1. (Condition after reset). P17DDR=FF
16
. Pin input signal will be output directly.
2. Set the P17DDR register to "03
16
". The P17DDR register starts decrement along the f8 as a counter source, if the pin input level (e.g.,"L")
and the signal output level (e.g.,"H") are not matched.
3. The P17DDR register will stops counting when the pin input level and the signal output level are matched (e.g., both levels are "H") while
counting.
4. If the pin input level (e.g.,"L") and the signal output level (e.g.,"H") are not matched the P17DDR register will start decrement again after the
setting value is reloaded.
5. When the P17DDR register is underflow, it stops counting and the signal output will output the same as pin input level (e.g."L").
6. If the pin input level (e.g.,"H") and the signal output level (e.g., "L") are not matched again, the P17DDR register will start decrement again
after the setting value is reloaded.
7. When the P17DDR register is underflow, it stops counting and the signal output will output the same as pin input level (e.g."H").
8. If the pin input level (e.g.,"H") and the signal output level (e.g., "L") are not matched again, the P17DDR register will start decrement again
after the setting value is reloaded.
9. Set the P17DDR register to "FF
16
". The P17DDR register starts counting after the setting value is reloaded. Pin input signal will be output
directly.
17. Programmable I/O Ports
page 295
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Table 17.1 Unassigned Pin Handling in Single-Chip Mode
Figure 17.13 Unassigned Pins Handling
(Input mode)
·
·
·
(Input mode)
(Output mode)
X
OUT
AV
CC
AV
SS
V
ref
Microcomputer
V
CC
V
SS
In single-chip mode
Open
Open
·
·
·
NOTE:
1. When using the 64-pin package, set the PACR2, PACR1 and PACR0 bits to "0102"
When using the 80-/85-pin package, set the PACR2, PACR1 and PACR0 bits to "0112"
(1)
Port P0 to P3, P6 to P10
X
IN
emaNniPgnitteS
01Pot6P,3Pot0PstroP VotniphcaetcennocdnaedomtupniretnE SS ;)nwod-llup(rotsiseraaiv
neposnipehtevaeldnaedomtuptuoretnero
)4,2,1(
XTUO neponipevaeL
)3(
XNI VotniptcennoC CC )pu-llup(rotsiseraaiv
)5(
VA CC VotniptcennoC CC
VA SS V, FER VotniptcennoC SS
NOTES:
1. If the port enters output mode and is left open, it is in input mode before output mode is entered by program
after reset. While the port is in input mode, voltage level on the pins is indeterminate and power consumption
may increase. Direction register setting may be changed by noise or failure caused by noise. Configure
direction register settings regulary to increase the reliability of the program.
2. Use the shortest possible wiring to connect the MCU pins to unassigned pins (within 2 cm).
3. When the external clock or VCC is applied to the XIN pin, set the pin as written above.
4. In the 64-pin package, set bits PACR2, PACR1, and PACR0 in the PACR register to 0102. In the 80-pin and
85-pin packages, set bits PACR2, PACR1, and PACR0 to 0112.
5. When the main clock oscillation is not used, set the CM05 bit in the CM0 register to 1 (main clock stops) to
reduce power consumption.
18. Flash Memory Version
page 296
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Table 18.1 Flash Memory Version Specifications
18. Flash Memory Version
18.1 Flash Memory Performance
In the flash memory version, rewrite operation to the flash memory can be performed in three modes : CPU
rewrite mode, standard serial I/O mode and parallel I/O mode.
Table 18.1 lists specifications of the flash memory version. (Refer to Table 1.1 or Table 1.2 for the items
not listed in Table 18.1.
Item
Flash memory operating mode
Erase block
Program method
Erase method
Program, erase control method
Protect method
Number of commands
Program/Erase
Endurance
(1)
ROM code protection
Specification
3 modes (CPU rewrite, standard serial I/O, parallel I/O)
See Figures 18.1 to18.4 Flash Memory Block Diagram
In units of word
Block erase
Program and erase controlled by software command
Block 0 to block 5 are write protected by FMR16 bit.
In addition, the block 0 and block 1 are write protected by bit FMR02
5 commands
100 times, 1,000 times (See Tables 1.5 and 1.6 Product Code)
100 times, 10,000 times (See Tables 1.5 and 1.6 Product Code)
Parallel I/O and standard serial I/O modes are supported
NOTES:
1. Program and erase endurance is defined as number of program-erase cycles per block. If program and erase
endurance is n cycle (n=100, 1000, 10000), each block can be erased and programmed n cycles. For example, if a
2-Kbyte block A is erased after programming one-word data to each address 1,024 times, this counts as one
program and erase endurance. Data cannot be programmed to the same address more than once without erasing
the block. (rewrite prohibited).
2. To reduce the number of program and erase endurance when working with systems requiring numerous rewrites,
write to unused word addresses within the block instead of rewrite. Erase block only after all possible addresses are
used. For example, an 8-word program can be written 128 times maximum before erase becomes necessary.
Maintaining an equal number of times erasure between block A and block B will also improve efficiency. It is
recommended to track the total number of erasure performed per block and to limit the number of erasure.
Data Retentio 20 years (Topr = 55°C)
Block 0 to 5 (program space)
Block A and B (data space)
(2)
18. Flash Memory Version
page 297
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Table 18.2 Flash Memory Rewrite Modes Overview
Flash Memory CPU Rewrite Mode Standard Serial I/O Mode Parallel I/O Mode
Rewrite Mode
Function
Areas which User ROM area User ROM area User ROM area
can be rewritten
Operation Single chip mode Boot mode Parallel I/O mode
mode
ROM None Serial programmer Parallel programmer
programmer
Software command execu-
tion by CPU rewrites the user
ROM area.
EW mode 0:
Rewritable in area other
than flash memory
EW mode 1:
Rewritable in flash memory
A dedicated serial programer
rewrites the user ROM area.
Standard serial I/O mode 1:
Clock synchronous serial
I/O
Standard serial I/O mode 2:
UART
A dedicated parallel pro-
grammer rewrites the user
ROM area.
18.1.1 Boot Mode
The microcomputer enters boot mode when a hardware reset is performed while a high-level ("H") signal
is applied to pins CNVSS and P86 or while an "H" signal is applied to pins CNVSS and P16 and a low-level
("L") signal is applied to the P85. A program in the boot ROM area is executed.
The boot ROM area is reserved. The boot ROM area stores the rewrite control program for a standard
serial I/O mode before shipping. Do not rewrite the boot ROM area.
18. Flash Memory Version
page 298
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
18.2 Memory Map
The flash memory contains the user ROM area and the boot ROM area (reserved area). Figures 18.1 to
18.4 show a block diagram of the flash memory. The user ROM area has space to store the microcomputer
operation program in single-chip mode and two 2-Kbyte spaces: the block A and B.
The user ROM area is divided into several blocks. The user ROM area can be rewritten in CPU rewrite,
standard serial input/output, and parallel input/output modes.
However, to rewrite program in block 0 and 1 in CPU rewrite mode, set the FMR02 bit in the FMR0 register
to 1 (block 0, 1 rewrite enabled) and the FMR16 bit in the FMR1 register to 1(blocks 0 to 4 rewrite
enabled).
Also, to rewrite program in blocks 2 to 4 in CPU rewrite mode, set the FMR16 bit in the FMR1 register to 1
(blocks 0 to 4 rewrite enabled). When the PM10 bit in the PM1 register is set to 1(data space access
enabled), block A and B can be available for use.
The boot ROM area (4-byte) is a reserved area. This boot ROM area has a standard serial I/O mode control
program stored before shipping. Do not rewrite the boot ROM area.
Figure 18.1 Flash Memory Block Diagram (ROM capacity 48K byte)
00FFFF16
Block B :2K bytes (2)
00F00016
4K bytes (4)
0FF00016
0FFFFF16 Boot ROM area
NOTES:
1. To specify a block, use the maximum even address in the block.
2. Blocks A and B are enabled for use when the PM10 bit in the PM1
register is set to "1".
3. Blocks 0 and 1 are enabled for programs and erasure when the
FMR02 bit in the FMR0 register is set to "1" and the FMR16 bit in
the FMR1 register is set to "1". (CPU rewrite mode only)
4. The Boot ROM area is reserved. Do not rewrite.
5. Blocks 2 and 3 are enabled for programs and erasure when the
FMR16 bit in the FMR1 register is set to "1". (CPU rewrite mode
only)
0FE00016
0FC00016
0FDFFF16
0F800016
0FBFFF16
0F7FFF16
0F400016
0FFFFF16
User ROM area
Block 2 : 16K bytes (5)
Block A :2K bytes (2)
Block 1 : 8K bytes (3)
Block 0 : 8K bytes (3)
Block 3 : 16K bytes (5)
00F7FF16
00F80016
(Data space)
(Program space)
18. Flash Memory Version
page 299
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Figure 18.2 Flash Memory Block Diagram (ROM capacity 64K byte)
00FFFF16
Block B :2K bytes (2)
00F00016
4K bytes (4)
0FF00016
0FFFFF16 Boot ROM area
0FE00016
0FC00016
0FDFFF16
0F800016 Block 2 : 16K bytes
0FBFFF16
0F7FFF16
0F000016
0FFFFF16
User ROM area
Block A :2K bytes (2)
Block 2 : 16K bytes (5)
Block 3 : 32K bytes (5)
Block 1 : 8K bytes (3)
Block 0 : 8K bytes (3)
00F7FF16
00F80016
NOTES:
1. To specify a block, use the maximum even address in the block.
2. Blocks A and B are enabled for use when the PM10 bit in the PM1
register is set to "1".
3. Blocks 0 and 1 are enabled for programs and erasure when the
FMR02 bit in the FMR0 register is set to "1" and the FMR16 bit in
the FMR1 register is set to "1". (CPU rewrite mode only)
4. The Boot ROM area is reserved. Do not rewrite.
5. Blocks 2 and 3 are enabled for programs and erasure when the
FMR16 bit in the FMR1 register is set to "1". (CPU rewrite mode
only)
(Data space)
(Program space)
18. Flash Memory Version
page 300
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Figure 18.3 Flash Memory Block Diagram (ROM capacity 96K byte)
00FFFF16
Block B :2K bytes (2)
00F00016
4K bytes (4)
0FF00016
0FFFFF16 Boot ROM area
0FE00016
0FC00016
0FDFFF16
0F800016 Block 2 : 16K bytes
0FBFFF16
0F7FFF16
0F000016
0EFFFF16
0FFFFF16
User ROM area
0E800016
Block A :2K bytes (2)
Block 2 : 16K bytes (5)
Block 4 : 32K bytes (5)
Block 3 : 32K bytes (5)
Block 1 : 8K bytes (3)
Block 0 : 8K bytes (3)
00F7FF16
00F80016
NOTES:
1. To specify a block, use the maximum even address in the block.
2. Blocks A and B are enabled for use when the PM10 bit in the PM1
register is set to "1".
3. Blocks 0 and 1 are enabled for programs and erasure when the
FMR02 bit in the FMR0 register is set to "1" and the FMR16 bit in
the FMR1 register is set to "1". (CPU rewrite mode only)
4. The Boot ROM area is reserved. Do not rewrite.
5. Blocks 2 to 4 are enabled for programs and erasure when the
FMR16 bit in the FMR1 register is set to "1". (CPU rewrite mode
only)
(Data space)
(Program space)
18. Flash Memory Version
page 301
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
00FFFF
16
Block B :2K bytes (2)
00F000
16
4K bytes (4)
0FF000
16
0FFFFF
16
Boot ROM area
0FE000
16
0FC000
16
0FDFFF
16
0F8000
16
Block 2 : 16K bytes
0FBFFF
16
0F7FFF
16
0F0000
16
0EFFFF
16
0FFFFF
16
User ROM area
0E8000
16
Block A :2K bytes (2)
Block 2 : 16K bytes (5)
Block 4 : 32K bytes (5)
Block 3 : 32K bytes (5)
Block 1 : 8K bytes (3)
Block 0 : 8K bytes (3)
00F7FF
16
00F800
16
0E7FFF
16
0E0000
16
Block 5 : 32K bytes (5)
NOTES:
1. To specify a block, use the maximum even address in the block.
2. Blocks A and B are enabled to use when the PM10 bit in the PM1
register is set to "1".
3. Blocks 0 and 1 are enabled for programs and erases when the
FMR02 bit in the FMR0 register is set to "1" and the FMR16 bit in
the FMR1 register is set to "1". (CPU rewrite mode only)
4. The boot ROM area is reserved. Do not access.
5. Blocks 2 to 5 are enabled for programs and erases when the FMR1
6 bit in the FMR1 register is set to "1". (CPU rewrite mode only)
(Data space)
(Program space)
Figure 18.4 Flash Memory Block Diagram (ROM capacity 128K byte)
18. Flash Memory Version
page 302
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
18.3 Functions To Prevent Flash Memory from Rewriting
The flash memory has a built-in ROM code protect function for parallel I/O mode and a built-in ID code
check function for standard input/output mode to prevent the flash memory from reading or rewriting.
18.3.1 ROM Code Protect Function
The ROM code protect function disables reading or changing the contents of the on-chip flash memory in
parallel I/O mode. Figure 18.5 shows the ROMCP address. The ROMCP address is located in a user
ROM area. To enable ROM code protect, set the ROMCP1 bit to 002, 012, or 102 and set the bit 5 to
bit 0 to 1111112.
To cancel ROM code protect, erase the block including the the ROMCP1 register in CPU rewrite mode or
standard serial I/O mode.
18.3.2 ID Code Check Function
Use the ID code check function in standard serial input/output mode. Unless the flash memory is blank,
the ID code sent from the programmer and the 7-byte ID code written in the flash memory are compared
for match. If the ID codes do not match, the commands sent from the programmer are not acknowledged.
The ID code consists of 8-bit data, starting with the first byte, into addresses, 0FFFDF16, 0FFFE316,
0FFFEB16, 0FFFEF16, 0FFFF316, 0FFFF716, and 0FFFFB16. The flash memory must have a program
with the ID code set in these addresses.
18. Flash Memory Version
page 303
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Figure 18.5 ROMCP Address
Figure 18.6 Address for ID Code Stored
Symbol Address Factory Setting
ROMCP 0FFFFF
16
FF
16
(4)
ROM Code Protect Control Address
(5)
Bit Name Function
Bit Symbol
b7 b6 b5 b4 b3 b2 b1 b0
00:
01:
10:
11: Disables protect
ROM Code Protect Level
1 Set Bit (1, 2, 3, 4)
ROMCP1 b7 b6
11
Reserved Bit Set to 1
Enables protect
}
NOTES:
1. When the ROM code protect is active by the ROMCP1 bit setting, the flash memory is protected
against reading or rewriting in parallel I/O mode.
2. Set the bit 5 to bit 0 to "1111112" when the ROMCP1 bit is set to a value other than "112". If the bit 5 to
bit 0 are set to values other than "1111112", the ROM code protection may not become active by
setting the ROMCP1 bit to a value other than "112".
3. To make the ROM code protection inactive, erase a block including the ROMCP address in standard
serial I/O mode or CPU rewrite mode.
4. The ROMCP address is set to "FF16" when a block, including the ROMCP address, is erased.
5. When a value of the ROMCP address is "0016" or "FF16", the ROM code protect function is disabled.
11
RW
RW
RW
RW
(b5-b0)
11
Reset vector
Watchdog timer vector
Single step vector
Address match vector
BRK instruction vector
Overflow vector
Undefined instruction vector
ID7
ID6
ID5
ID4
ID3
ID2
ID1
DBC vector
NMI vector
0FFFFF
16
to 0FFFFC
16
0FFFFB
16
to 0FFFF8
16
0FFFF7
16
to 0FFFF4
16
0FFFF3
16
to 0FFFF0
16
0FFFEF
16
to 0FFFEC
16
0FFFEB
16
to 0FFFE8
16
0FFFE7
16
to 0FFFE4
16
0FFFE3
16
to 0FFFE0
16
0FFFDF
16
to 0FFFDC
16
4 bytes
Address
ROMCP
18. Flash Memory Version
page 304
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Item EW mode 0 EW mode 1
Operation mode Single chip mode Single chip mode
Areas in which a User ROM area User ROM area
rewrite control
program can be located
Areas where The rewrite control program must be The rewrite control program can be
rewrite control transferred to any other than the flash excuted in the user ROM area
program can be memory (e.g., RAM) before being
executed executed
Areas which can be User ROM area User ROM area
rewritten However, this excludes blocks with the
rewrite control program
Software command None Program, block erase command
Restrictions Cannot be executed in a block having
the rewite control program
Read Status Register command
Cannot be executed
Mode after programming Read Status Register Mode Read Array mode
or erasing
CPU state during auto- Operating In a hold state (I/O ports retain the state
write and auto-erase before the command is excuted(1)
Flash memory status Read the FMR00, FMR06, and Read the FMR00, FMR06, and FMR07
detection (2) FMR07 bits in the FMR0 register bits in the FMR0 registerby program
by program
Execute the read status register
command to read the SR7, SR5,
and SR4 bits.
Condition for transferring
Set the FMR40 and FMR41 bits in The FMR40 bit in the FMR4 register is
to erase-suspend
(3)
the FMR4 register to "1" by program. set to "1" and the interruput request of
an acknowledged interrupt is generated
18.4 CPU Rewrite Mode
In CPU rewrite mode, the user ROM area can be rewritten when the CPU executes software commands.
The user ROM area can be rewritten with microcomputer mounted on a board without using the ROM
writer. The program and block erase commands are executed only in the user ROM area.
When the interrupt requests are generated during the erase operation in CPU rewirte mode, the flash
memory offers an erase suspend function to suspend the erase operation and process the interrupt opera-
tion. During the erase suspend function is operated, the user ROM area can be read by program.
Erase-write(EW) 0 mode and erase-write 1 mode are provided as CPU rewrite mode. Table 18.3 lists
differences between EW mode 0 and EW mode 1. One wait is required for the CPU erase-write control.
Table 18.3 EW Mode 0 and EW Mode 1
NOTES:
1. Do not generate a DMA transfer.
2. Block 1 and Block 0 are enabled for rewrite by setting FMR02 bit in the FMR0 register to "1" and
setting FMR16 bit in the FMR1 register to "1". Block 2 to Block 5 are enabled for rewrite by setting
FMR16 bit in the FMR1 register to "1".
3. The time, until entering erase suspend and reading flash is enabled, is maximum
td(SR-ES)
after
satisfying the conditions
18. Flash Memory Version
page 305
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
18.4.1 EW Mode 0
The microcomputer enters CPU rewrite mode by setting the FMR01 bit in the FMR0 register to 1 (CPU
rewrite mode enabled) and is ready to accept software commands. EW mode 0 is selected by setting the
FMR11 bit in the FMR1 register to 0.
To set the FMR01 bit to 1, set to 1 after first writing 0. The software commands control programming
and erasing. The FMR0 register or the status register indicates whether a programming or erasing opera-
tions is completed.
When entering the erase-suspend during the auto-erasing, set the FMR40 bit to 1 (erase-suspend
enabled) and the FMR41 bit to 1 (suspend request). After waiting for td(SR-ES) and verifying the
FMR46 bit is set to 1 (auto-erase stop), access to the user ROM area. When setting the FMR41 bit to 0
(erase restart), auto-erasing is restarted.
18.4.2 EW Mode 1
EW mode 1 is selected by setting the FMR11 bit to 1 after the FMR01 bit is set to 1 (set to 1 after first
writing 0).
The FMR0 register indicates whether or not a programming or an erasing operation is completed. Read
status register cannot be read in EW mode 1.
When an erase/program command is initiated, the CPU halts all program execution until the command
operation is completed or erase-suspend request is generated.
When enabling an erase-suspend function, set the FMR40 bit to 1 (erase suspend enabled) and ex-
ecute block erase commands. Also, the interrupt to transfer to erase-suspend must be set enabled pre-
liminarily. When entering erase-suspend after td(SR-ES) from an interrupt is requested, interrupts can be
accepted.
When an interrupt request is generated, the FMR41 bit is automatically set to 1 (suspend request) and
an auto-erasing is suspended. If an auto-erasing has not completed (when the FMR00 bit is 0) after an
interrupt process is completed, set the FMR41 bit to 0 (erase restart) and execute block erase com-
mands again.
18. Flash Memory Version
page 306
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
18.5 Register Description
Figure 18.7 shows the flash memory control register 0 and flash memory control register 1. Figure 18.8
shows the flash memory control register 4.
18.5.1 Flash Memory Control Register 0 (FMR0)
FMR 00 Bit
The FMR00 bit indicates the operating state of the flash memory. Its value is 0 while the program,
erase, or erase-suspend command is being executed, otherwise, it is 1.
FMR01 Bit
The MICROCOMPUTER can accept commands when the FMR01 bit is set to 1 (CPU rewrite mode).
To set the FMR01 bit to 1, first set it to 0 and then 1. The FMR01 bit is set to 0 only by writing 0.
FMR02 Bit
The combined setting of bits FMR02 and FMR16 enables program and erase in the user ROM area.
See Table 18.4 for setting details. To set the FMR02 bit to 1, first set it to 0 and then 1. The FMR02
bit is valid only when the FMR01 bit is set to 1 (CPU rewrite mode enable).
FMSTP Bit
The FMSTP bit initializes the flash memory control circuits and minimizes power consumption in the
flash memory. Access to the on-chip flash memory is disabled when the FMSTP bit is set to 1. Set the
FMSTP bit by program in a space other than the flash memory.
Set the FMSTP bit to 1 if one of the following occurs:
A flash memory access error occurs during erasing or programming in EW mode 0 (FMR00 bit does
not switch back to 1 (ready)).
Low-power consumption mode or on-chip oscillator low-power consumption mode is entered.
Figure 18.11 shows a flow chart illustrating how to start and stop the flash memory before and after
entering low power mode. Follow the procedure in this flow chart.
When entering stop or wait mode while the CPU rewrite mode is disabled, do not set the FMR0
register because the on-chip flash memory is automatically turned off and turned back on when
exiting.
FMR06 Bit
The FMR06 bit is a read-only bit indicating an auto-program operation state. The FMR06 bit is set to
1 when a program error occurs; otherwise, it is set to 0. For details, refer to 18.8.4 Full Status Check.
FMR07 Bit
The FMR07 bit is a read-only bit indicating an auto-erase operation status. The FMR07 bit is set to 1
when an erase error occurs; otherwise, it is set to 0. For details, refer to 18.8.4 Full Status Check.
Figure 18.9 shows a EW mode 0 set/reset flowchart, Figure 18.10 shows a EW mode 1 set/reset flow-
chart.
18. Flash Memory Version
page 307
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
18.5.2 Flash Memory Control Register 1 (FMR1)
FMR11 Bit
EW mode 1 is entered by setting the FMR11 bit to 1 (EW mode 1). The FMR11 bit is valid only when
the FMR01 bit is set to 1.
FMR16 Bit
The combined setting of bits FMR02 and FMR16 enables program and erase in the user ROM area.
To set the FMR16 bit to 1, first set it to 0 and then 1. The FMR16 bit is valid only when the FMR01 bit
is set to 1 (CPU rewrite mode enable).
FMR17 Bit
If the FMR17 bit is set to 1 (with wait state), 1 wait state is inserted when blocks A and B are accessed,
regardless of the content of the PM17 bit in the PM1 register. The PM17 bit setting is reflected to
access other blocks and internal RAM, regardless of the FMR17 bit setting.
Set the FMR17 bit to 1 (with wait state) to rewrite more than 100 times (U7, U9).
Table 18.4 Protection using FMR16 and FMR02
FMR16 FMR02 Block A, Block B Block 0, Block 1 other user block
0 0 write enabled write disabled write disabled
0 1 write enabled write disabled write disabled
1 0 write enabled write disabled write enabled
1 1 write enabled write enabled write enabled
18.5.3 Flash Memory Control Register 4 (FMR4)
FMR40 Bit
The erase-suspend function is enabled when the FMR40 bit is set to 1 (enabled).
FMR41 Bit
When the FMR41 bit is set to 1 by program during auto-erasing in EW mode 0, erase-suspend mode
is entered. In EW mode 1, the FMR41 bit is automatically set to 1 (suspend request) to enter erase-
suspend mode when an enabled interrupt request is generated. Set the FMR41 bit to 0 (erase restart)
to restart an auto-erasing operation.
FMR46 Bit
The FMR46 bit is set to 0 during auto-erasing. It is set to 1 in erase-suspend mode.
Do not access to flash memory when the FMR46 bit is set to 0.
18. Flash Memory Version
page 308
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
NOTES:
1. To set the FMR01 bit to “1”, write 1 to this bit immdediately after writing 0. Do not generate an
interrupt or a DMA transfer between setting the bit to 0 and setting it to 1. Set this bit while the
P8
5
/NMI/SD pin is held H when selecting the NMI function. Set by program in a space other than the
flash memory in EW mode 0. Set this bit to read alley mode and 0
2. To set the FMR02 bit to 1, write "1" to this bit immediately after writing "0" while the FMR01 bit is set
to 1. Do not generate an interrupt or a DMA transfer between setting this bit to 0 and setting it to 1.
3. Set this bit in a space other than the flash memory by program. When this bit is set to "1", access to
flash memory will be denied. To set this bit to "0" after setting it to "1", wait for 10 usec. or more after
setting it to "1". To read data from flash memory after setting this bit to "0", maintain tps wait time
before accessing flash memory.
4. This bit is set to 0 by executing the clear status command.
5. This bit is enabled when the FMR01 bit is set to 1 (CPU rewrite mode). If the FMR01 bit is set to 0",
this bit can be set to 1 by writing "1" to the FMR01 bit. However, the flash memory does not enter
low-power consumption status and it is not initialized.
Flash Memory Control Register 0
Symbol
Address
After Reset
FMR0 01B7
16
00000001
2
b7 b6 b5 b4 b3 b2 b1 b0
FMR00
Bit Symbol
Bit Name Function RW
0: Busy (during writing or erasing)
1: Ready
CPU rewrite mode select bit
(1)
0: Disables CPU rewrite mode
(Disables software command)
1: Enables CPU rewrite mode
(Enables software commands)
FMR01
Block 0, 1 rewrite enable bit
(2)
Set write protection for user ROM area
(see Table 18.4)
Flash memory stop bit
(3, 5)
FMR02
FMSTP
0
RY/BY status flag
Reserved bit Set to 0
0: Successfully completed
1: Completion error
Program status flag
FMR06
0: Successfully completed
1: Completion error
Erase status flagFMR07
RW
RW
RW
RW
RO
RO
RO
(b5-b4)
0: Starts flash memory operation
1: Stops flash memory operation
(Enters low-power consumption state
and flash memory reset)
0
(4)
(4)
Flash Memory Control Register 1
Symbol Address After Reset
FMR1 01B5
16
000XXX0X
2
b7 b6 b5 b4 b3 b2 b1 b0
Bit Symbol
Bit Name Function
EW mode 1 select bit
(1)
0: EW mode 0
1: EW mode 1
FMR11
Block A, B access wait bit
(3)
Reserved bit When read, its content is indeterminate
Reserved bit Set to 0
Nothing is assigned. When write, set to 0.
When read, its contect is indeterminate.
RW
RO
RW
RW
RW
(b0)
(b4)
Reserved bit
(b3-b2)
RO
(b5)
FMR16
RW
Block 0 to 5 rewrite enable
bit
(2)
FMR17
Set write protection for user ROM
space(see Table 18.4)
0: Disable
1: Enable
0: PM17 enabled
1: With wait state (1 wait)
When read, its content is indeterminate
0
NOTES:
1. To set the FMR11 bit to 1, write "1" to this bit immediately after writing "0" while the FMR01 bit is set to
"1". Do not generate an interrupt or a DMA transfer between setting the bit to 0 and setting it to 1.Set this
bit while the P8
5
/NMI/SD pin is held H when the NMI function is selected. If the FMR01 bit is set to 0, the
FMR01 bit and FMR11 bit are both set to 0.
2. To set the FMR16 bit to 1, write "1" to this bit immediately after writing "0" while the FMR01 bit is set to
1. Do not generate an interrupt or a DMA transfer between setting the bit to 0 and setting it to 1.
3. When rewriting more than 100 times, set this bit to 1 (with wait state). When the FMR17 bit is set to
1(with wait state), regardless of the PM17 bit setting, 1 wait state is inserted when accessing to blocks A
and B. The PM17 bit setting is enabled, regardless of the FMR17 bit setting, as to the access to other block
and the internal RAM.
Figure 18.7 FMR0 and FMR1 Registers
18. Flash Memory Version
page 309
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Figure 18.8 FMR4 Register
Flash Memory Control Register 4
Symbol Address After Reset
FMR4 01B3
16
01000000
2
b7 b6 b5 b4 b3 b2 b1 b0
Bit Symbol
Bit Name Function
Erase suspend
request bit
(2)
0: Erase restart
1: Suspend request
FMR41
0
Reserved bit Set to 0
Erase suspend function
enable bit
(1)
0: Disabled
1: Enabled
Reserved bit Set to 0
00
RW
RW
RW
RO
RW
FMR40
(b5-b2)
(b7)
RO
NOTES:
1. When setting this bit to 1, set to 1 immediately after setting it first to 0. Do not generate an
interrupt or a DMA transfer between setting the bit to 0 and setting it to 1. Set by a program in a
space other than the flash memory in EW mode 0.
2. This bit is valid only when the erase-suspend enable bit (FMR40) is 1. Writing is enabled only
between executing an erase command and completing erase (this bit is set to 0 other than the above
duration). This bit can be set to 0 or 1 by a program in EW mode 0. In EW mode 1, this bit is
automatically set to 1 when the FMR40 bit is 1 and a maskable interrupt is generated during
erasing. Do not write to 1 by program (writing 0 is enabled).
FMR46
00
Erase status 0: During auto-erase operation
1: Auto-erase stop
(erase suspend mode)
18. Flash Memory Version
page 310
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Figure 18.9 Setting and Resetting of EW Mode 0
Figure 18.10 Setting and Resetting of EW Mode 1
Execute the Read Array command
(3)
Single-chip mode
Set CM0, CM1, and PM1 registers
(1)
Execute software commands
Jump to the rewrite control program transfered to an
internal RAM area (in the following steps, use the
rewrite control program internal RAM area)
Transfer a rewrite control program to internal RAM
area
Write 0 to the FMR01 bit
(CPU rewrite mode disabled)
Set the FMR01 bit to 1 after writing 0
(CPU rewrite mode enabled)
(2)
EW mode 0 operation procedure
Rewrite control program
Jump to a specified address in the flash memory
NOTES:
1. Select 10 MHz or below for CPU clock using the CM06 bit in the CM0 register and CM17 to 16 bits in the CM1
register. Also, set the PM17 bit in the PM1 register to 1 (with wait state).
2. Set the FMR01 bit to 1 immediately after setting it to 0. Do not generate an interrupt or a DMA transfer
between setting the bit to 0 and setting it to 1. Set the FMR01 bit in a space other than the internal flash
memory. Also, set only when the P8
5
/NMI/SD pin is H at the time of the NMI function selected.
3. Disables the CPU rewrite mode after executing the read array command.
Single-chip mode
Set CM0, CM1, and PM1 registers (1)
Set the FMR01 bit to 1 (CPU rewrite mode
enabled) after writing 0
Set the FMR11 bit to 1 (EW mode 1) after writing
0 (2, 3)
Program in ROM
EW mode 1 operation procedure
Execute software commands
Set the FMR01 bit to 0
(CPU rewrite mode disabled)
NOTES:
1. Select 10 MHz or below for CPU clock using the CM06 bit in the CM0 register and CM17 to 16 bits.
in the CM1 register. Also, set the PM17 bit in the PM1 register to 1 (with wait state).
2. Set the FMR01 bits to 1 immediately after setting it to 0. Do not generate an interrupt or a DMA
transfer between setting the bit to 0 and setting the bit to 1. Set the FMR01 bit in a space other
than the internal flash memory. Set only when the P85/NMI/SD pin is H at the time of the NMI
function selected.
3. Set the FMR11 bit to "1" immediately after setting it to "0" while the FMR01 bit is set to "1". Do not
generate an interrupt or a DMA transfer between setting the FMR11 bit to "0" and setting it to "1".
18. Flash Memory Version
page 311
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Figure 18.11 Processing Before and After Low Power Dissipation Mode
Start main clock
oscillation
Transfer a low power internal consumption mode
program to RAM area
Switch the clock source of CPU clock.
Turn main clock off. (2)
Jump to the low power consumption mode
program transferred to internal RAM area.
(In the following steps, use the low-power
consumption mode program or internal RAM area)
Wait until the flash memory circuit stabilizes ( tps) (3)
Set the FMSTP bit to 0 (flash memory operation)
Set the FMSTP bit to 1 (flash memory stopped.
Low power consumption state) (1)
Process of low power consumption mode or
on-chip oscillator low power consumption mode
switch the clock source of the CPU clock (2)
Low power consumption
mode program
Set the FMR01 bit to 0
(CPU rewrite mode disabled)
Set the FMR01 bit to 1 after setting 0
(CPU rewrite mode enabled) (2)
Jump to a desired address in the flash memory
wait until oscillation stabilizes
NOTES:
1. Set the FMRSTP bit to 1 after setting the FMR01 bit to 1(CPU rewrite mode).
2. Wait until the clock stabilizes to switch the clock source of the CPU clock to the main clock or the sub clock.
3. Add a tps wait time by a program. Do not access the flash memory during this wait time.
18. Flash Memory Version
page 312
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
18.6 Precautions in CPU Rewrite Mode
Described below are the precautions to be observed when rewriting the flash memory in CPU rewrite mode.
18.6.1 Operation Speed
When the CPU clock source is the main clock, set the CPU clock frequency at 10 MHz or less with the
CM06 bit in the CM0 register and the CM17 and CM16 bits in the CM1 register, before entering CPU
rewrite mode (EW mode 0 or EW mode 1). Also, when selecting f3(ROC) of a on-chip oscillator as a CPU
clock source, set the ROCR3 and ROCR2 bits in the ROCR register to the CPU clock division rate at
divide-by-4 or divide-by-8, before entering CPU rewrite mode (EW mode 0 or EW mode 1).
In both cases, set the PM17 bit in the PM1 register to 1 (with wait state).
18.6.2 Prohibited Instructions
The following instructions cannot be used in EW mode 0 because the CPU tries to read data in the flash
memory: UND instruction, INTO instruction, JMPS instruction, JSRS instruction, and BRK instruction
18.6.3 Interrupts
EW Mode 0
To use interrupts having vectors in a relocatable vector table, the vectors must be relocated to the
RAM area.
_______
The NMI and watchdog timer interrupts are available since the FMR0 and FMR1 registers are
forcibly reset when either interrupt occurs. However, the interrupt program, which allocates the
jump addresses for each interrupt routine to the fixed vector table, is needed. Flash memory
_______
rewrite operation is aborted when the NMI or watchdog timer interrupt occurs. Set the FMR01 bit
to 1 and execute the rewrite and erase program again after exiting the interrupt routine.
The address match interrupt can not be used since the CPU tries to read data in the flash memory.
EW Mode 1
Do not acknowledge any interrupts with vectors in the relocatable vector table or the address
match interrupt during the auto program period or auto erase period with erase-suspend function
disabled.
18.6.4 How to Access
To set the FMR01, FMR02, FMR11 or FMR16 bit to 1, write 1 immediately after setting to 0. Do not
generate an interrupt or a DMA transfer between the instruction to set the bit to 0 and the instruction to
_______ _______ _____
set it to 1. When the NMI function is selected, set the bit while an H signal is applied to the P85/NMI/SD
pin.
18.6.5 Writing in the User ROM Area
18.6.5.1 EW Mode 0
If the supply voltage drops while rewriting the block where the rewrite control program is stored,
the flash memory can not be rewritten, because the rewrite control program is not correctly rewrit-
ten. If this error occurs, rewrite the user ROM area in standard serial I/O mode or parallel I/O
mode.
18.6.5.2 EW Mode 1
Do not rewrite the block where the rewrite control program is stored.
18. Flash Memory Version
page 313
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
18.6.6 DMA Transfer
In EW mode 1, do not generate a DMA transfer while the FMR00 bit in the FMR0 register is set to 0.
(during the auto-programming or auto-erasing).
18.6.7 Writing Command and Data
Write the command codes and data to even addresses in the user ROM area.
18.6.8 Wait Mode
When entering wait mode, set the FMR01 bit to 0 (CPU rewrite mode disabled) before executing the
WAIT instruction.
18.6.9 Stop Mode
When entering stop mode, the following settings are required:
Set the FMR01 bit to 0 (CPU rewrite mode disabled) and disable the DMA transfer before setting the
CM10 bit to 1 (stop mode).
18.6.10
Low Power Consumption Mode and On-Chip Oscillator-Low Power Consumption Mode
If the CM05 bit is set to 1 (main clock stopped), do not execute the following commands.
Program
Block erase
18. Flash Memory Version
page 314
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
18.7 Software Commands
Read or write 16-bit commands and data from or to even addresses in the user ROM area. When writing
a command code, 8 high-order bits (D15D8) are ignored.
Table 18.5 Software Commands
18.7.1 Read Array Command (FF16)
The read array command reads the flash memory.
Read array mode is entered by writing command code xxFF16 in the first bus cycle. Content of a speci-
fied address can be read in 16-bit unit after the next bus cycle. The microcomputer remains in read array
mode until an another command is written. Therefore, contents of multiple addresses can be read con-
secutively.
18.7.2 Read Status Register Command (7016)
The read status register command reads the status register.
By writing command code xx7016 in the first bus cycle, the status register can be read in the second bus
cycle (Refer to 18.8 Status Register). Read an even address in the user ROM area. Do not execute this
command in EW mode 1.
Command
Program
Clear status register
Read array
Read status register
First bus cycle Second bus cycle
Block erase
Write
Write
Write
Write
Write
Mode
Read
Write
Write
Mode
X
WA
BA
Address
SRD
WD
xxD0
16
Data
(D
15
to D
0
)
xxFF
16
xx70
16
xx50
16
xx40
16
xx20
16
Data
(D
15
to D
0
)
X
X
X
WA
X
Address
SRD: Status register data (D
7
to D
0
)
WA : Write address (However,even address)
WD : Write data (16 bits)
BA : Highest-order block address (However,even address)
X : Any even address in the user ROM area
xx : 8 high-order bits of command code (ignored)
18. Flash Memory Version
page 315
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Figure 18.12 Flow Chart of Program Command
18.7.3 Clear Status Register Command (5016)
The clear status register command clears the status register to 0.
By writing xx5016 in the first bus cycle, and the FMR06 to FMR07 bits in the FMR0 register and SR4 to
SR5 bits in the status register are set to 0.
18.7.4 Program Command (4016)
The program command writes 2-byte data to the flash memory.
Auto program operation (data program and verify) start by writing xx4016 in the first bus cycle and data
to the write address specified in the second bus cycle. The address value specified in the first bus cycle
must be the same even address as the write address secified in the second bus cycle.
The FMR00 bit in the FMR0 register indicates whether an auto-programming operation has been com-
pleted. The FMR00 bit is set to 0 during the auto-program and 1 when the auto-program operation is
completed.
After the completion of auto-program operation, the FMR06 bit in the FMR0 register indicates whether or
not the auto-program operation has been successfully completed. (Refer to 18.8.4 Full Status Check).
Also, each block can disable programming command (Refer to Table 18.4).
An address that is already written cannot be altered or rewritten.
When commands other than the program command are executed immediately after executing the pro-
gram command, set the same address as the write address specified in the second bus cycle of the
program command, to the specified address value in the first bus cycle of the following command.
In EW mode 1, do not execute this command on the blocks where the rewrite control program is allo-
cated.
In EW mode 0, the microcomputer enters read status register mode as soon as the auto-program opera-
tion starts and the status register can be read. The SR7 bit in the status register is set to 0 as soon as the
auto-program operation starts. This bit is set to 1 when the auto-program operation is completed. The
microcomputer remains in read status register mode until the read array command is written. After
completion of the auto-program operation, the status register indicates whether or not the auto-program
operation has been successfully completed.
Start
Program completed
YES
NO
NOTES:
1. Write the command code and data at even address.
2. Refer to Figure 18.15.
Write command code "xx40
16
" to
the write address
(1)
Write data to the write address
(1)
FMR00=1?
Full status check
(2)
18. Flash Memory Version
page 316
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Figure 18.13 Flow Chart of Block Erase Command (when not using erase suspend function)
18.7.5 Block Erase
Auto erase operation (erase and verify) start in the specified block by writing xx2016 in the first bus cycle
and xxD016 to the highest-order even addresse of a block in the second bus cycle.
The FMR00 bit in the FMR0 register indicates whether the auto-erase operation has been completed.
The FMR00 bit is set to 0 (busy) during the auto-erase and 1 (ready) when the auto-erase operation is
completed.
When using the erase-suspend function in EW mode 0, verify whether a flash memory has entered erase
suspend mode, by the FMR46 bit in the FMR4 register. The FMR46 bit is set to 0 during auto-erase
operation and 1 when the auto-erase operation is completed (entering erase-suspend).
After the completion of an auto-erase operation, the FMR07 bit in the FMR0 register indicates whether or
not the auto-erase operation has been successfully completed. (Refer to 18.8.4 Full Status Check).
Also, each block can disable erasing. (Refer to Table 18.4).
Figure 18.13 shows a flow chart of the block erase command programming when not using the erase-
suspend function. Figure 18.14 shows a flow chart of the block erase command programming when
using an erase-suspend function.
In EW mode 1, do not execute this command on the block where the rewrite control program is allocated.
In EW mode 0, the microcomputer enters read status register mode as soon as the auto-erase operation
starts and the status register can be read. The SR7 bit in the status register is set to 0 at the same time
the auto-erase operation starts. This bit is set to 1 when the auto-erase operation is completed. The
microcomputer remains in read status register mode until the read array command is written.
When the erase error occurs, execute the clear status register command and block erase command at
leaset three times until an erase error does not occur.
NOTES:
1. Write the command code and data at even address.
2. Refer to Figure 18.15.
3. Execute the clear status register command and block erase command at least 3 times
until an erase error is not generated when an erase error is generated.
Write xxD016 to the highest-order
block address (1)
Start
Block erase completed
YES
NO
Write command code xx2016 (1)
FMR00=1?
Full status check (2,3)
18. Flash Memory Version
page 317
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Figure 18.14 Block Erase Command (at use erase suspend)
NOTES:
1. Write the command code and data to even address.
2. Execute the clear status register command and block erase command at least 3 times until an
erase error is not generated when an erase error is generated.
3. In EW mode 0, allocate an interrupt vector table of an interrupt, to be used, to the RAM area.
4. Refer to Figure 18.15.
Start
Block erase completed
Write the command code
xx2016 (1)
Write xxD016 to the highest-order
block address (1)
YES
NO
FMR00=1?
Full status check (2,4)
FMR40=1
Interrupt service routine(3)
FMR41=1
YES
NO
FMR46=1?
Access Flash Memory
Return
(Interrupt service routine end)
FMR41=0
(EW mode 0)
(EW mode 1)
Start
Block erase completed
Write the command code
xx2016 (1)
Write xxD016 to the highest-order
block address (1)
YES
NO
FMR00=1?
Full status check (2,4)
FMR40=1
FMR41=0
Interrupt service routine
Access Flash Memory
Return
(Interrupt service routine end)
18. Flash Memory Version
page 318
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Table 18.6 Status Register
18.8 Status Register
The status register indicates the operating status of the flash memory and whether or not erase or pro-
gram operation is successfully completed. The FMR00, FMR06, and FMR07 bits in the FMR0 register
indicate the status of the status register.
Table 18.6 lists the status register.
In EW mode 0, the status register can be read in the following cases:
(1) Any even address in the user ROM area is read after writing the read status register command
(2) Any even address in the user ROM area is read from when the program or block erase command is
executed until when the read array command is executed.
18.8.1 Sequence Status (SR7 and FMR00 Bits )
The sequence status indicates the flash memory operating status. It is set to 0 (busy) while the auto-
program and auto-erase operation is being executed and 1 (ready) as soon as these operations are
completed. This bit indicates 0 (busy) in erase-suspend mode.
18.8.2 Erase Status (SR5 and FMR07 Bits)
Refer to 18.8.4 Full Status Check.
18.8.3 Program Status (SR4 and FMR06 Bits)
Refer to 18.8.4 Full Status Check.
D7 to D0: Indicates the data bus which is read out when executing the read status register command.
The FMR07 bit (SR5) and FMR06 bit (SR4) are set to 0 by executing the clear status register command.
When the FMR07 bit (SR5) or FMR06 bit (SR4) is set to "1", the program and block erase command are not accepted.
Bits in the
SRD register
SR4 (D
4
)
SR5 (D
5
)
SR7 (D
7
)
SR6 (D
6
)
Status name Contents
SR1 (D
1
)
SR2 (D
2
)
SR3 (D
3
)
SR0 (D
0
)
Program status
Erase status
Sequence status
Reserved
Reserved
Reserved
Reserved
"1"
Ready
Terminated by error
Terminated by error
-
-
-
-
-
"0"
Busy
Completed normally
Completed normally
-
-
-
-
-
Reserved
Bits in the
FMR0
register
FMR00
FMR07
FMR06
Value
after
reset
1
0
0
18. Flash Memory Version
page 319
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
18.8.4 Full Status Check
If an error occurs, the FMR06 to FMR07 bits in the FMR0 register are set to 1, indicating a specific error.
Therefore, execution results can be comfirmed by verifying these status bits (full status check).
Table 18.7 lists errors and FMR0 register state. Figure 18.15 shows a flow chart of the full status check
and handling procedure for each error.
Table 18.7 Errors and FMR0 Register Status
FMR0 Register
(SRD register)
status Error Error occurrence condition
FMR07 FMR06
(SR5) (SR4)
1 1 Command An incorrect commands is written
sequence error A value other than xxD016 or xxFF16 is written in the second
bus cycle of the block erase command (1)
When the block erase command is executed on an protected block
When the program command is executed on protected blocks
1 0 Erase error The block erase command is executed on an unprotected block
but the program operation is not successfully completed
0 1 Program error The program command is executed on an unprotected block but
the program operation is not successfully completed
NOTE:
1. The flash memory enters read array mode by writing command code xxFF16 in the second bus cycle
of these commands. The command code written in the first bus cycle becomes invalid.
18. Flash Memory Version
page 320
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Figure 18.15 Full Status Check and Handling Procedure for Each Error
Full status check
FMR06 =1
and
FMR07=1?
NO
Command
sequence error
YES
FMR07=0?
YES
Erase error
NO
(1) Execute the clear status register command and set
the status flag to 0 whether the command is
entered.
(2) Execute the command again after checking that the
correct command is entered or the program
command or the block erase command is not
executed on the protected blocks.
(1) Execute the clear status register command and set
the erase status flag to 0.
(2) Execute the block erase command again.
(3) Execute (1) and (2) at least 3 times until an erase
error does not occur.
Note 3: If the FMR06 or FMR07 bits is 1, any of the program or block erase command cannot be
accepted. Execute the clear status register command before executing those commands.
FMR06=0?
YES
Program error
NO
Full status check completed
Note 1: If the error still occurs, the block can not be
used.
(1) Execute the clear status register command and set
the program status flag to 0.
(2) Execute the Program command again.
Note 2: If the error still occurs, the block can not be
used.
[During programming]
18. Flash Memory Version
page 321
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
18.9 Standard Serial I/O Mode
In standard serial I/O mode, the serial programmer supporting the M16C/28 group can be used to rewrite
the flash memory user ROM area, while the microcomputer is mounted on a board. For more information
about the serial programmer, contact your serial programmer manufacturer. Refer to the users manual
included with your serial programmer for instruction.
Table 18.8 lists pin description (flash memory standard serial input/output mode). Figures 18.16 and
18.17 show pin connections for standard serial input/output mode.
18.9.1 ID Code Check Function
The ID code check function determines whether or not the ID codes sent from the serial programmer
matches those written in the flash memory. (Refer to 18.3 Functions To Prevent Flash Memory from
Rewriting.)
18. Flash Memory Version
page 322
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Table 18.8 Pin Descriptions (Flash Memory Standard Serial I/O Mode)
NOTES: ___________
1. When using standard serial I/O mode 1, to input H to the TxD pin is necessary while the RESET pin
is held L. Therefore, connect this pin to VCC via a resistor. Adjust the pull-up resistor value on a
system not to affect a data transfer after reset, because this pin changes to a data-output pin
2. Set the following, either or both.
_____
-Connect the CE pin to VCC.
_____
-Connect the RP pin to VSS and P16 pin to VCC.
Pin DescriptionName
V
CC
,V
SS
Apply the voltage guaranteed for Program and Erase to Vcc pin and 0
V to Vss pin.
Power input
AV
CC
, AV
SS
Connect AVss to Vss and AVcc to Vcc, respectively.Analog power supply input
I/O
CNV
SS
Connect to Vcc pin.CNV
SS
I
X
IN
Clock input I
X
OUT
Clock output O
Vref Enter the reference voltage for AD conversion.Reference voltage input I
P0
0
to P0
7
Input "H" or "L" level signal or leave open.Input port P0 I
P1
0
to P1
5
, P1
7
Input "H" or "L" level signal or leave open.Input port P1 I
P3
0
to P3
7
Input "H" or "L" level signal or leave open.Input port P3 I
P6
0
to P6
3
Input "H" or "L" level signal or leave open.Input port P6 I
P6
4
Standard serial I/O mode 1: BUSY signal output pin
Standard serial I/O mode 2: Monitor signal output pin for boot program
operation check
BUSY output O
P6
6
Serial data input pinRxD input I
P7
0
to P7
7
Input "H" or "L" level signal or leave open.Input port P7 I
P8
0
to P8
4
,
P8
7
Input "H" or "L" level signal or leave open.Input port P8 I
P9
0
to P9
1
,
P9
5
to P9
7
Input "H" or "L" level signal or leave open.Input port P9 I
P10
0
to P10
7
Input "H" or "L" level signal or leave open.Input port P10 I
P6
5
SCLK input I Standard serial I/O mode 1: Serial clock input pin
Standard serial I/O mode 2: Input "L".
RESET Reset input I Reset input pin. While RESET pin is "L" level, wait for td(ROC).
P6
7
Serial data output pinTxD output O
(1)
P2
0
to P2
7
Input port P2 Input "H" or "L" level signal or leave open.I
P8
6
CE input I Connect this pin to Vcc while RESET pin is L.
(2)
P8
5
RP input IConnect this pin to Vss while RESET pin is L.
(2)
P1
6
P16 input Connect this pin to Vcc while RESET pin is L.
(2)
I
P9
2
Input "H" or "L" level signal or leave open.Input port P9
2
I
P9
3
Input port P9
3Output "H" level signal for specific time. Input "H" level signal or
leave open.
I/O128K
Input "H" or "L" level signal or leave open.Iothers
Connect a ceramic resonator or crystal oscillator between X
IN
and
X
OUT
pins. To input an externally generated clock, input it to X
IN
pin
and open X
OUT
pin.
18. Flash Memory Version
page 323
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Figure 18.16 Pin Connections for Serial I/O Mode (1)
M16C/28 Group (64-Pin Package)
(M16C/28, M16C/28B)
(Flash memory version)
PLQP0064KB-A(64P6Q-A)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
60
59
58
57
56
55
54
53
52
51
50
49
48
47
46
45
44
43
42
41
64
63
62
61
17
18
19
20
BUSY SCLK
RxD TxD
Vcc
Vss
RESET
Connect
oscillator
circuit
Mode setup method
Signal
CNVss
Reset
Value
Vcc
Vss to Vcc
CE
(1)
NOTES:
1. Set the following, either or both, in serial I/O Mode, while the RESET pin is applied a low-level ("L") signal.
-Connect the CE pin to Vcc.
-Connect the RP pin to Vss and the P1
6
pin to Vcc.
RP
(1)
P1
6
(1)
18. Flash Memory Version
page 324
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Figure 18.17 Pin Connections for Serial I/O Mode (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
60
59
58
57
56
55
54
53
52
51
50
49
48
47
46
45
44
43
42
41
80
79
78
77
76
75
74
73
72
71
70
69
68
67
66
65
64
63
62
61
Mode setup method
Signal
CNVss
Reset
Value
Vcc
Vss to Vcc
BUSY SCLK
RxD TxD
Connect
oscillator
circuit
Vcc
Vss
RESET
CE
(1)
RP
(1)
NOTES:
1. Set the following, either or both, in serial I/O Mode, while the RESET pin is applied a low-level ("L") signal.
-Connect the CE pin to Vcc.
-Connect the RP pin to Vss and the P16 pin to Vcc.
P16
(1)
M16C/28 Group (80-Pin Package)
(M16C/28, M16C/28B)
(Flash memory version)
PLQP0080KB-A(80P6Q-A)
18. Flash Memory Version
page 325
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
18.9.2 Example of Circuit Application in Standard Serial I/O Mode
Figure 18.18 shows an example of a circuit application in standard serial I/O mode 1 and Figure 18.19
shows an example of a circuit application in standard serial I/O mode 2. Refer to the user's manual of your
serial programmer to handle pins controlled by the serial programmer.
Figure 18.18 Circuit Application in Standard Serial I/O Mode 1
SCLK input
BUSY output
TxD output
RxD input
BUSY
SCLK
TXD
CNVss
P86(CE)
RESET
RxD
Reset input
User reset
singnal
Microcomputer
(1) Controlling pins and external circuits vary with the serial programmer. For more
information, refer to the user's manual included with the serial programmer.
(2) In this example, a selector controls the input voltage applied to CNVss to switch
between single-chip mode and standard serial I/O mode.
(3) In standard serial input/output mode 1, if the user reset signal becomes L while
the microcomputer is communicating with the serial programmer, break the
connection between the user reset signal and the RESET pin using a jumper
switch.
P85(RP)
(1)
(1)
NOTES:
1. Set the following, either or both.
- Connect the CE pin to Vcc
- Connect the RP pin to Vss and the P16 pin to Vcc
(1)
P16
18. Flash Memory Version
page 326
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Figure 18.19 Circuit Application in Standard Serial I/O Mode 2
Monitor output
RxD input
TxD output
BUSY
SCLK
TxD
CNVss
P8
6
(CE)
RxD
Microcomputer
(1) In this example, a selector controls the input voltage applied to CNVss to switch
between single-chip mode and standard serial I/O mode.
P8
5
(RP)
(1)
(1)
NOTES:
1. Set the following, either or both.
- Connect the CE pin to Vcc
- Connect the RP pin to Vss and the P1
6
pin to Vcc
P1
6
(1)
18. Flash Memory Version
page 327
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
18.10 Parallel I/O Mode
In parallel input/output mode, the user ROM can be rewritten by a parallel programmer supporting the
M16C/28 group. Contact your parallel programmer manufacturer for more information on the parallel pro-
grammer. Refer to the users manual included with your parallel programmer for instructions.
18.10.1 ROM Code Protect Function
The ROM code protect function prevents the flash memory from being read or rewritten. (Refer to 18.3
Functions To Prevent Flash Memory from Rewriting).
19. Electrical Characteristics)
page 328
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
19. Electrical Characteristics
The electrical characteristics of the M16C/28 Group Normal-ver. are listed below.
lobmySretemaraPnoitidnoCeulaVtinU
V
CC
egatloVylppuSV
CC
VA=
CC
5.6ot3.0- V
VA
CC
egatloVylppuSgolanAV
CC
VA=
CC
5.6ot3.0- V
V
I
egatloVtupnI0P
0
0Pot
7
1P,
0
1Pot
7
2P,
0
2Pot
7
,
3P
0
3Pot
7
6P,
0
6Pot
7
7P,
0
7Pot
7
,
8P
0
8Pot
7
9P,
0
9Pot
3
9P,
5
9Pot
7
,
01P
0
01Pot
7
,
X
NI
VNC,TESER,ferV,
SS
Vot3.0-
CC
3.0+V
V
O
egatloVtuptuO0P
0
0Pot
7
1P,
0
1Pot
7
2P,
0
2Pot
7
,
3P
0
3Pot
7
6P,
0
6Pot
7
7P,
0
7Pot
7
,
8P
0
8Pot
7
9P,
0
9Pot
3
9P,
5
9Pot
7
,
01P
0
01Pot
7
,
X
TUO
Vot3.0-
CC
3.0+V
dPnoitapissiDrewoP04-< rpoT< C°58003Wm
rpoT gnitarepO tneibmA erutarepmeT
noitarepoUPCgnirud /58ot02- 58ot04-
)1(
C°
yromemhsalfgnirud esarednamargorp noitarepo
ecapSmargorP )5kcolBot0kcolB( 06ot0C°
ecapSataD )BkcolB,AkcolB(
/06ot0 /58ot02- 58ot04-
)1(
C°
gtsTerutarepmeTegarotS 051ot56-C°
Table 19.1 Absolute Maximum Ratings
NOTE:
1. Refer to Tables 1.5 and 1.6 Product Code.
19. Electrical Characteristics
page 329
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Main clock input oscillation frequency
f(X
IN
) operating maximum
frequency
[MH
Z
]
V
CC
[V] (main clock: no division)
PLL clock oscillation frequency (M16C/28)
f(PLL) operating maximum
frequency
[MH
Z
]
V
CC
[V] (PLL clock oscillation)
AAAAA
AAAAA
AAAAA
AAAAA
AAAAA
AAAAA
20.0
0.0 5.53.0
10.0
2.7
33.3 x V
CC
-80 MH
Z
20.0
0.0 5.5
10.0
2.7 3.0
33.3 x V
CC
-80 MH
Z
20.0
0.0 5.5
10.0
2.7 3.0
33.3 x V
CC
-80 MH
Z
4.2
24.0
AAAAA
AAAAA
AAAAA
AAAAA
AAAAA
AAAAA
AAAAA
3.33 x V
CC
+10 MH
Z
PLL clock oscillation frequency (M16C/28B)
V
CC
[V] (PLL clock oscillation)
f(PLL) operating maximum
frequency
[MH
Z
]
lobmySretemaraP dradnatS tinU
.niM.pyT.xaM
VCC egatloVylppuS 7.25.5V
VA CC egatloVylppuSgolanA V CC V
VSS egatloVylppuS 0V
VA SS egatloVylppuSgolanA 0V
VHI )"H"(hgiHtupnI egatloV 0P 00Pot 71P, 01Pot 72P, 02Pot 73P, 03Pot 76P, 06Pot 7,
7P 07Pot 78P, 08Pot 79P, 09Pot 39P, 59Pot 701P, 001Pot 7
V7.0 CC VCC V
SSVNC,TESER,NIX V8.0 CC VCC V
ADS MM LCS, MM InehW 2detcelessileveltupnisubCV7.0 CC VCC V
detcelessileveltupniSUBMSnehW4.1V
CC V
VLI )"L"(woLtupnI egatloV 0P 00Pot 71P, 01Pot 72P, 02Pot 73P, 03Pot 76P, 06Pot 7,
7P 07Pot 78P, 08Pot 79P, 09Pot 39P, 59Pot 701P, 001Pot 7
0V3.0 CC V
SSVNC,TESER,NIX 0V2.0 CC V
ADS MM LCS, MM InehW 2detcelessileveltupnisubC0
3.0V
CC V
detcelessileveltupniSUBMSnehW06.0V
I
)kaep(HO
hgiHtuptuOkaeP tnerruC)"H"(
0P 00Pot 71P, 01Pot 72P, 02Pot 73P, 03Pot 76P, 06Pot 7,
7P 07Pot 78P, 08Pot 79P, 09Pot 39P, 59Pot 701P, 001Pot 7
0.01-Am
I)gva(HO
tuptuOegarevA tnerruC)"H"(hgiH
0P 00Pot 71P, 01Pot 72P, 02Pot 73P, 03Pot 76P, 06Pot 7,
7P 07Pot 78P, 08Pot 79P, 09Pot 39P, 59Pot 701P, 001Pot 7
0.5-Am
I)kaep(LO
woLtuptuOkaeP tnerruC)"L"(
0P 00Pot 71P, 01Pot 72P, 02Pot 73P, 03Pot 76P, 06Pot 7,
7P 07Pot 78P, 08Pot 79P, 09Pot 39P, 59Pot 701P, 001Pot 7
0.01Am
I)gva(LO
tuptuOegarevA tnerruC)"L"(woL
0P 00Pot 71P, 01Pot 72P, 02Pot 73P, 03Pot 76P, 06Pot 7,
7P 07Pot 78P, 08Pot 79P, 09Pot 39P, 59Pot 701P, 001Pot 7
0.5Am
X(f NI )ycneuqerFnoitallicsOtupnIkcolCniaM )4( VCC V5.5ot0.3= 002zHM
VCC V0.3ot7.2=0VX33 CC 08-zHM
X(f NIC )ycneuqerFnoitallicsOkcolCbuS 867.2305zHk
f1)COR(1ycneuqerFrotallicsOpihc-nO 5.01 2 zHM
)COR(2f2ycneuqerFrotallicsOpihc-nO 12 4 zHM
)COR(3f3ycneuqerFrotallicsOpihc-nO 86162zHM
)LLP(fycneuqerFnoitallicsOkcolCLLP )4( VCC )B82/C61M(V5.5ot2.4=0142zHM
VCC )B82/C61M(V2.4ot0.3=01VX33.3 +CC 01zHM
VCC )82/C61M(V5.5ot0.3=0102zHM
VCC V0.3ot7.2=01VX33 CC 08-zHM
)KLCB(fycneuqerFkcolCnoitarepOUPC 82/C61M002zHM
B82/C61M042zHM
tUS )LLP(ycneuqerFLLPezilibatSotemiTtiaW rezisehtnyS VCC V0.5=02sm
VCC V0.3=05sm
:SETON VotdecnerefeR.1 CC .deificepsesiwrehtosselnuC°58ot04-/C°58ot02-=rpoTtaV5.5ot7.2= .sm001nihtiweulavnaemehtsitnerructuptuonaemehT.2 IlatotehT.3 )kaep(LO IlatotehT.sselroAm08ebtsumstropllarof )kaep(HO .sselroAm08-ebtsumstropllarof .egatlovylppusdnaycneuqerfnoitallicsokcolcLLP,ycneuqerfnoitallicsokcolcniamgnomapihsnoitaleR.4
Table 19.2 Recommended Operating Conditions (1)
19. Electrical Characteristics)
page 330
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
lobmySretemaraPnoitidnoCtnemerusaeM dradnatS tinU
.niM.pyT.xaM
-noituloseRV
FER
V=
CC
01stiB
LNI ytiraenilnoNlargetnI rorrE tib01 V
FER
V=
CC
V5=3±BSL
V
FER
V=
CC
V3.3=5±BSL
tib8V
FER
V=
CC
V5,V3.3=2±BSL
-ycaruccAetulosbA tib01 V
FER
V=
CC
V5=3±BSL
V
FER
V=
CC
V3.3=5±BSL
tib8V
FER
V=
CC
V5,V3.3=2±BSL
LNDrorrEytiraenilnoNlaitnereffiD 1±BSL
-rorrEtesffO 3±BSL
-rorrEniaG 3±BSL
R
REDDAL
reddaLrotsiseRV
=FER
V
CC
0104k
t
VNOC
emiTnoisrevnoCtib-01 elbaliavAnoitcnuFdloH&elpmaS V
FER
V=
CC
zHM01=DAø,V5=3.3 µs
t
VNOC
emiTnoisrevnoCtib-8 elbaliavAnoitcnuFdloH&elpmaS V
FER
V=
CC
zHM01=DAø,V5=8.2 µs
V
FER
egatloVecnerefeR 0.2V
CC
V
V
AI
egatloVtupnIgolanA 0V
FER
V
:SETON VotdecnerefeR.1
CC
VA=
CC
V=
FER
V,V5.5ot3.3=
SS
VA=
SS
sselnuC°58ot04-/C°58ot02-=rpoTtaV0=
.deificepsesiwrehto peeK.2 φfehtedivid,yllanoitiddA.sselrozHM21tites,B82/C61MroF.sselrozHM01taycneuqerfDA
DA
ekam φDA
fnahtrewolrootlauqeycneuqerf
DA
Vfi2/
CC
.V2.4nahtsselsi
.3peek,delbasidsinoitcnufdloh&elpmasnehW φ.2etoNninoitatimilehtotnoitiddanieromrozHk052taycneuqerfDA
peek,delbanesinoitcnufdloh&elpmasnehW φ.2etoNninoitatimilehtotnoitiddanieromrozHM1taycneuqerfDA /3siemitgnilpmas,delbanesinoitcnufdloh&elpmasnehW.4 φ.ycneuqerfDA
/2siemitgnilpmas,delbasidsinoitcnufdloh&elpmasnehW φ.ycneuqerfDA
Table 19.3 A/D Conversion Characteristics (1)
19. Electrical Characteristics
page 331
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Erase suspend
request
(interrupt request)
FMR46
td(SR-ES)
lobmySretemaraP dradnatS tinU
.niM.pyT )2( .xaM
-ecnarudnEesarEdnamargorP )3( 0001/001 )11,4( selcyc
-V(emiTmargorPdroW CC 52=rpoT,V0.5=C°)57006 µs
-emiTesarEkcolBV( CC 52=rpoT,V0.5=C°)kcolBetybK-2 2.09s
kcolBetybK-8 4.09s
kcolBetybK-61 7.09s
kcolBetybK-23 2.19s
)SE-RS(dtdnepsuSesarEdnatseuqeRdnepsuSneewtebnoitaruD 8sm
tSP tiucriCyromeMhsalFezilibatSotemiTtiaW 51 µs
-emiTdloHataD )5( 02sraey
lobmySretemaraP dradnatS tinU
.niM.pyT )2( .xaM
-ecnarudnEesarEdnamargorP )9,8,3( 00001 )01,4( selcyc
-V(emiTmargorPdroW CC 52=rpoT,V0.5=C°)001 µs
-emiTesarEkcolBV(CC 52=rpoT,V0.5=C°))kcolbetybK-2( 3.0s
)SE-RS(dtdnepsuSesarEdnatseuqeRdnepsuSneewtebnoitaruD 8sm
tSP tiucriCyromeMhsalFezilibatSotemiTtiaW 51 µs
-emiTdloHataD )5( 02sraey
:SETON VotdecnerefeR.1 CC °06ot0=rpoTtaV5.5ot7.2= esiwrehtosselnu,)ecapsatad(C°58ot04-,)ecapsmargorp(C
.deificeps
V.2 CC T;V5= rpo C°52= .kcolbrepselcycesare-margorpforebmunsadenifedsiecnarudneesarednamargorP.3 siecnarudneesarednamargorpfI n(elcyc ndemmargorpdnadesareebnackcolbhcae,)00001,0001,001= n
.selcyc ,semit420,1sserddahcaeotataddrow-enognimmargorpretfadesaresiAkcolbetybK-2afi,elpmaxeroF nahteromsserddaemasehtotdemmargorpebtonnacataD.ecnarudneesarednamargorpenosastnuocsiht .)detibihorpetirwer(.kcolbehtgnisaretuohtiwecno .)deetnaraugeraeulavmuminimot1(deetnarugsinoitarepohcihwrofselcycW/EforebmuN.4 T.5 rpo C°55= VotdecnerefeR.6 CC TtaV5.5ot7.2= rpo .deificepsesiwrehtosselnu)9U(C°58ot02-/)7U(C°58ot04-= .selcyc000,1nahteromsiecnarudneesarednamargorpnehw9Udna7Uniecapsatadrofseilppa5.91elbaT.7 .4.91elbaTesu,esiwrehtO ,setirwersuoremungniriuqersmetsyshtiwgnikrownehwecnarudneesarednamargorpforebmunehtecuderoT.8 sesserddaelbissopllaretfaylnokcolbesarE.etirwerfodaetsnikcolbehtnihtiwsesserddadrowdesunuotetirw .yrassecensemocebesareerofebmumixamsemit821nettirwebnacmargorpdrow-8na,elpmaxeroF.desuera sitI.ycneiciffeevorpmioslalliwBkcolbdnaAkcolbneewteberusaresemitforebmunlauqenagniniatniaM .erusareforebmunehttimilotdnakcolbrepdemrofreperusareforebmunlatotehtkcartotdednemmocer tonsirorreesarenalitnusemit3tsaeltadnammocesarekcolbdnadnammocretsigersutatsraelcehtetucexE.9 .detarenegsirorreesarenanehwdetareneg nitib71RMFehtgnittesybsseccakcolbrepetatstiawenotes,setirwersemit001nahteromgnitucexenehW.01 ebnacetatstiaw,MARlanretnidnaskcolbrehtollaotgnisseccanehW.)etatstiaw("1"ot1retsiger1RMFeht .eulavgnittestib71RMFehtfosseldrager,tib71MPehtybtes 000,1;5Udna3Uniecapsataddnaecapsmargorprofselcyc001siecnarudneesarednamargorpehT.11 .9Udna7Uniecapsmargorprofselcyc .evitatneserpertroppuslacinhcetsaseneRriehttcatnocdluohsnoitamrofnietareruliafW/EgnirisedsremotsuC.21
Table 19.4 Flash Memory Version Electrical Characteristics (1):
Program Space and Data Space for U3 and U5, Program Space for U7 and U9
Table 19.5 Flash Memory Version Electrical Characteristics (6): Data Space for U7 and U9 (7)
19. Electrical Characteristics)
page 332
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
lobmySretemaraPnoitidnoCtnemerusaeM dradnatS tinU
.niM.pyT.xaM
4tedVegatloVnoitceteDegatloVwoL
)1(
V
CC
V5.5ot8.0=
2.38.354.4V
3tedVegatloVnoitceteDleveLteseR
)1(
3.28.24.3V
s3tedV egatloVdloHteseRegatloVwoL
)2(
7.1V
r3tedVegatloVesaeleRteseRegatloVwoL 53.29.25.3V
:SETON 3tedV>4tedV.1 ."2tesererawdrah"niatniamotegatlovmumnimehtsis3tedV.2 VnehwesuotdengisedsitiucricnoitcetedegatlovehT.3
CC
.V5ottessi noitcetedlevelteserehtnehwegatlovnoitcetedlevelteserehtnahtretaergsiegatlovrewopylppusehtfI.4 )KLCB(ftanoitarepoeht,V7.2nahtsselsiegatlov ,O/Ilaires,noisrevnocD/A,revewoH.deetnarugsizHM01
.dedulcxeeraesarednamargorpyromemhsalf
lobmySretemaraPnoitidnoCtnemerusaeM dradnatS tinU
.niM.pyT.xaM
)R-P(dt nehwegatloVylppuSlanretnIezilibatSotemiTtiaW no-rewoP
V
CC
V5.5ot7.2=
2sm
)COR(dt nehwrotallicsOpihc-nOlanretnIezilibatSotemiTtiaW no-rewoP 04 µs
)S-R(dtemiTesaeleRPOTS 051 µs
)S-W(dt esaeleRedoMtiaWedoMnoitapissiDrewoPwoL emiT 051 µs
)R-S(dtemiTtiaWesaeleR2teseRerawdraHV
CC
V5.5otr3tedV=6
)1(
02sm
)A-E(dtemiTtratSnoitarepOtiucriCnoitceteDegatloVV
CC
V5.5ot7.2=02µs
:SETON VnehW.1
CC
V5=
Table 19.6 Voltage Detection Circuit Electrical Characteristics (1, 3)
Table 19.7 Power Supply Circuit Timing Characteristics
19. Electrical Characteristics
page 333
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
td(P-R)
Wait time to stabilize internal
supply voltage when power-on
CPU clock
td(R-S)
(a)
(b) td(W-S)
td(R-S)
STOP release time
td(W-S)
Low power dissipation mode
wait mode release time
td(S-R)
Vdet3r
VCC
CPU clock
VC26, VC27
td(E-A)
Stop Operate
Interrupt for
(a) Stop mode release
or
(b) Wait mode release
td(S-R)
Brown-out detection
reset (hardware reset 2)
release wait time
td(E-A)
Voltage detection circuit
operation start time
Voltage Detection Circuit
td(ROC)
Wait time to stabilize internal
on-chip oscillator when power-
on
ROC
RESET
VCC
td(P-R) td(ROC)
Figure 19.1 Power Supply Timing Diagram
19. Electrical Characteristics)
page 334
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
VCC = 5V
lobmySretemaraPnoitidnoC dradnatS
tinU
.niM.pyT.xaM
V
HO
hgiHtuptuO egatloV)"H"( 0P
0
0Pot
7
1P,
0
1Pot
7
2P,
0
2Pot
7
3P,
0
3Pot
7
6P,
0
6Pot
7
,
7P
0
7Pot
7
8P,
0
8Pot
7
9P,
0
9Pot
3
9P,
5
9Pot
7
01P,
0
01Pot
7
I
HO
Am5-= V
CC
-
0.2 V
CC
V
V
HO
hgiHtuptuO egatloV)"H"( 0P
0
0Pot
7
1P,
0
1Pot
7
2P,
0
2Pot
7
3P,
0
3Pot
7
6P,
0
6Pot
7
,
7P
0
7Pot
7
8P,
0
8Pot
7
9P,
0
9Pot
3
9P,
5
9Pot
7
01P,
0
01Pot
7
I
HO
002-= µAV
CC
-
3.0 V
CC
V
V
HO
egatloV)"H"(hgiHtuptuOX
TUO
rewoPhgiH I
HO
Am1-= V
CC
-
0.2 V
CC
V
rewoPwoL I
HO
Am5.0-= V
CC
-
0.2 V
CC
egatloV)"H"(hgiHtuptuOX
TUOC
rewoPhgiH deilppadaoloN5.2 V
rewoPwoL deilppadaoloN6.1
V
LO
woLtuptuO egatloV)"L"( 0P
0
0Pot
7
1P,
0
1Pot
7
2P,
0
2Pot
7
3P,
0
3Pot
7
6P,
0
6Pot
7
,
7P
0
7Pot
7
8P,
0
8Pot
7
9P,
0
9Pot
3
9P,
5
9Pot
7
01P,
0
01Pot
7
I
LO
Am5=0.2V
V
LO
woLtuptuO egatloV)"L"( 0P
0
0Pot
7
1P,
0
1Pot
7
2P,
0
2Pot
7
3P,
0
3Pot
7
6P,
0
6Pot
7
,
7P
0
7Pot
7
8P,
0
8Pot
7
9P,
0
9Pot
3
9P,
5
9Pot
7
01P,
0
01Pot
7
I
LO
002= µA54.0V
V
LO
egatloV)"L"(woLtuptuOX
TUO
rewoPhgiH I
LO
Am1=0.2 V
rewoPwoL I
LO
Am5.0=0.2
egatloV)"L"(woLtuptuOX
TUOC
rewoPhgiH deilppadaoloN0
V
rewoPwoL deilppadaoloN0
V
+T
V-
-T
siseretsyH 0AT
NI
4AT-
NI
0BT,
NI
2BT-
NI
TNI,
0
TNI-
5
DA,IMN,
GRT
STC,
0
-
STC
2
KLC,ADS,LCS,
0
KLC-
2
2AT,
TUO
4AT-
TUO
IK,
0
IK-
3
,
R
0DX
R-
2DX
S,
3NI
S,
4NI
2.00.1V
V
+T
V-
-T
siseretsyH TESER 2.05.2V
V
+T
V-
-T
siseretsyH X
NI
2.08.0 V
I
HI
hgiHtupnI tnerruC)"H"( 0P
0
0Pot
7
1P,
0
1Pot
7
2P,
0
2Pot
7
3P,
0
3Pot
7
6P,
0
6Pot
7
,
7P
0
7Pot
7
8P,
0
8Pot
7
9P,
0
9Pot
3
9P,
5
9Pot
7
01P,
0
01Pot
7
X
NI
VNC,TESER,
SS
V
I
V5=0.5 µA
I
LI
woLtupnI tnerruC)"L"( 0P
0
0Pot
7
1P,
0
1Pot
7
2P,
0
2Pot
7
3P,
0
3Pot
7
6P,
0
6Pot
7
,
7P
0
7Pot
7
8P,
0
8Pot
7
9P,
0
9Pot
3
9P,
5
9Pot
7
01P,
0
01Pot
7
X
NI
VNC,TESER,
SS
V
I
V0=0.5- µA
R
PULLUP
pu-lluP ecnatsiseR 0P
0
0Pot
7
1P,
0
1Pot
7
2P,
0
2Pot
7
3P,
0
3Pot
7
6P,
0
6Pot
7
,
7P
0
7Pot
7
8P,
0
8Pot
7
9P,
0
9Pot
3
9P,
5
9Pot
7
01P,
0
01Pot
7
V
I
V0=0305071k
fR
NIX
ecnatsiseRkcabdeeFX
NI
5.1M
fR
NICX
ecnatsiseRkcabdeeFX
NIC
51M
V
MAR
egatloVybdnatSMAR edompotsnI0.2V
:SETON otdecnerefeR.1V
CC
V,V5.5ot2.4=
SS
esiwrehtosselnuzHM02=)KLCB(f,C°58ot04-/C°58ot02-=rpoTtaV0=
.deificeps
Table 19.8 Electrical Characteristics (1)
19. Electrical Characteristics
page 335
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
VCC = 5V
lobmySretemaraPnoitidnoCtnemerusaeM dradnatS tinU
.niM.pyT.xaM
ICC ylppuSrewoP tnerruC
V( CC )V5.5ot0.4=
erasniptuptuO dnanepotfel erasniprehto Votdetcennoc SS
MORksaM,zHM02=)KLCB(f noisividon,kcolcniam 6132Am
noitallicsopihc-nO
f)COR(2 zHM1=)KLCB(f,detceles 2Am
yromemhsalF,zHM42=)KLCB(f )B82/C61M(setarepoLLP 3282Am
,kcolcniam,zHM02=)KLCB(f noisividon 8132Am
,setareporotallicsopihc-nO
f)COR(2 zHM1=)KLCB(f,detceles 2Am
yromemhsalF margorp V0.5=ccV,zHM01=)KLCB(f 11Am
yromemhsalF esare V0.5=ccV,zHM01=)KLCB(f 21Am
MORksaM,zHk23=)KLCB(f ,edomnoitpmusnocrewop-wolnI MORnogninnurmargorP )3(
52 µA
noitallicsopihc-nO
f)COR(2 ,zHM1=)KLCB(f,detceles edomtiawnI
03 µA
yromemhsalFzHk23=)KLCB(f,
edomnoitpmusnocrewop-wolnI,
MARnogninnurmargorP )3(
52 µA
,zHk23=)KLCB(f ,edomnoitpmusnocrewop-wolnI yromemhsalfnogninnurmargorP )3(
054 µA
,setareporotallicsopihc-nO
f)COR(2 ,zHM1=)KLCB(f,detceles edomtiawnI
05 µA
,MORksaM yromemhsalF edomtiawnI,zHk23=)KLCB(f )2( ,
hgihyticapacnoitallicsO 01 µA
,zHk23=)KLCB(fedomtiawnI )2( ,
wolyticapacnoitallicsO 3µA
,edompotsnI52=rpoTC°8.03
µA
4tedItnerrucnoitapissidnoitcetedegatlovwoL )4( 7.04
µA
3tedItnerrucnoitapissidnoitcetedlevelteseR )4( 2.18
µA
:SETON .1otdecnerefeRV
CC V,V5.5ot2.4= SS esiwrehtosselnuzHM02=)KLCB(f,C°58ot04-/C°58ot02-=rpoTtaV0=
.deificeps fgnisu,setareporemitenohtiW.2 23C ..stsixedetucexeebotmargorpehthcihwniyromemehtsetacidnisihT.3 .)delbanetiucricnoitceted("1"ottessitibgniwollofehtnehwtnerrucnoitapissidsitedI.4 retsiger2RCVehtnitib72CV:4tedI retsiger2RCVehtnitib62CV:3tedI
Table 19.9 Electrical Characteristics (2) (1)
19. Electrical Characteristics)
page 336
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
VCC = 5V
Timing Requirements
(VCC = 5V, VSS = 0V, at Topr = 20 to 85oC / 40 to 85oC unless otherwise specified)
Table 19.10 External Clock Input (XIN input)
lobmySretemaraP dradnatS tinU
.niM.xaM
ctemiTelcyCtupnIkcolClanretxE 05sn
wt )H( htdiW)"H"(hgiHtupnIkcolClanretxE 02sn
wt )L( htdiW)"L"(woLtupnIkcolClanretxE 02sn
rtemiTesiRkcolClanretxE 9sn
ftemiTllaFkcolClanretxE 9sn
19. Electrical Characteristics
page 337
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
VCC = 5V
Timing Requirements
(VCC = 5V, VSS = 0V, at Topr = 20 to 85oC / 40 to 85oC unless otherwise specified)
Table 19.12 Timer A Input (Gating Input in Timer Mode)
Table 19.13 Timer A Input (External Trigger Input in One-shot Timer Mode)
Table 19.14 Timer A Input (External Trigger Input in Pulse Width Modulation Mode)
Table 19.15 Timer A Input (Counter Increment/decrement Input in Event Counter Mode)
Table 19.11 Timer A Input (Counter Input in Event Counter Mode)
Table 19.16 Timer A Input (Two-phase Pulse Input in Event Counter Mode)
Standard
Max.
ns
TAiIN input LOW pulse width
tw(TAL)
Min. ns
ns
Unit
TAiIN input HIGH pulse width
tw(TAH)
ParameterSymbol
tc(TA) TAiIN input cycle time
40
100
40
Standard
Max.
Min. ns
ns
ns
Unit
TAiIN input cycle time
TAiIN input HIGH pulse width
TAiIN input LOW pulse width
tc(TA)
tw(TAH)
tw(TAL)
Symbol Parameter
400
200
200
Standard
Max.
Min. ns
ns
ns
Unit
TAiIN input cycle time
TAiIN input HIGH pulse width
TAiIN input LOW pulse width
tc(TA)
tw(TAH)
tw(TAL)
Symbol Parameter
200
100
100
Standard
Max.
Min. ns
ns
Unit
tw(TAH)
tw(TAL)
Symbol Parameter
TAiIN input HIGH pulse width
TAiIN input LOW pulse width 100
100
Standard
Max.
Min. ns
ns
ns
Unit
ns
ns
Symbol Parameter
TAiOUT input cycle time
TAiOUT input HIGH pulse width
TAiOUT input LOW pulse width
TAiOUT input setup time
TAiOUT input hold time
tc(UP)
tw(UPH)
tw(UPL)
tsu(UP-TIN)
th(TIN-UP)
2000
1000
1000
400
400
Standard
Max.
Min. ns
ns
ns
Unit
Symbol Parameter
TAiIN input cycle time
TAiOUT input setup time
TAiIN input setup time
tc(TA)
tsu(TAIN-TAOUT)
tsu(TAOUT-TAIN)
800
200
200
19. Electrical Characteristics)
page 338
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Timing Requirements
(VCC = 5V, VSS = 0V, at Topr = 20 to 85oC / 40 to 85oC unless otherwise specified)
Table 19.17 Timer B Input (Counter Input in Event Counter Mode)
Table 19.18 Timer B Input (Pulse Period Measurement Mode)
Table 19.19 Timer B Input (Pulse Width Measurement Mode)
Table 19.20 A/D Trigger Input
Table 19.21 Serial I/O
_______
Table 19.22 External Interrupt INTi Input
VCC = 5V
ns
ns
ns
ns
ns
ns
ns
Standard
Max.Min.
TBi
IN
input cycle time (counted on one edge)
TBi
IN
input HIGH pulse width (counted on one edge)
TBi
IN
input LOW pulse width (counted on one edge)
ns
ns
ns
t
c(TB)
t
w(TBH)
t
w(TBL)
ParameterSymbol Unit
t
c(TB)
t
w(TBL)
t
w(TBH)
ns
ns
ns
TBi
IN
input HIGH pulse width (counted on both edges)
TBi
IN
input LOW pulse width (counted on both edges)
TBi
IN
input cycle time (counted on both edges)
Standard
Max.
Min. ns
ns
t
c(TB)
t
w(TBH)
Symbol Parameter Unit
t
w(TBL)
ns
TBi
IN
input HIGH pulse width
TBi
IN
input cycle time
TBi
IN
input LOW pulse width
Standard
Max.
Min. ns
ns
t
c(TB)
Symbol Parameter Unit
t
w(TBL)
ns
t
w(TBH)
TBi
IN
input cycle time
TBi
IN
input HIGH pulse width
TBi
IN
input LOW pulse width
Standard
Max.
Min. ns
ns
t
c(AD)
t
w(ADL)
Symbol Parameter Unit
AD
TRG
input cycle time (required for trigger)
AD
TRG
input LOW pulse width
Standard
Max.
Min. ns
ns
t
w(INH)
t
w(INL)
Symbol Parameter Unit
INTi input LOW pulse width
INTi input HIGH pulse width
Standard
Max.Min.
CLKi input cycle time
CLKi input HIGH pulse width
CLKi input LOW pulse width
t
c(CK)
t
w(CKH)
t
w(CKL)
ParameterSymbol Unit
t
d(C-Q)
t
su(D-C)
t
h(C-Q)
TxDi hold time
RxDi input setup time
TxDi output delay time
t
h(C-D)
RxDi input hold time
100
40
40
80
80
200
400
200
200
400
200
200
1000
125
250
250
200
100
100
0
70
90
80
19. Electrical Characteristics
page 339
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Table 19.23 Multi-master I2C-Bus Line
VCC = 5V
Timing Requirements
(VCC = 5V, VSS = 0V, at Topr = 20 to 85oC / 40 to 85oC unless otherwise specified)
High-speed clock mode
Max.
Min.
Bus free time
Hold time in start condition
Hold time in SCL clock "0" status
µs
µs
µs
tBUF
tHD;STA
tLOW
ParameterSymbol Unit
tR
tHIGH
tHD;DAT ns
µs
µs
Data hold time
Hold time in SCL clock "1" status
SCL, SDA signals' rising time
1.3
0.6
1.3
0
0.6
20+0.1Cb
tF SCL, SDA signals' falling time
tSU;DAT Data setup time
tSU;STA Setup time in restart condition
tSU;STO Stop condition setup time
Standard clock mode
Max.Min.
4.7
4.0
4.7
0
4.0
250
4.7
4.0
1000
300 100
0.6
20+0.1Cb
0.6
300
300
0.9
ns
ns
µs
µs
19. Electrical Characteristics)
page 340
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
VCC = 5V
Figure 19.2 Timing Diagram (1)
TAiIN input
TAiOUT input
During event counter mode
TBiIN input
ADTRG input
t
c(TA)
t
w(TAH)
t
w(TAL)
t
c(UP)
t
w(UPH)
t
w(UPL)
t
c(TB)
t
w(TBH)
t
w(TBL)
t
c(AD)
t
w(ADL)
t
h(TIN-UP)
t
su(UP-TIN)
TAiIN input
(When count on falling
edge is selected)
TAiIN input
(When count on rising
edge is selected)
TAiOUT input
(Up/down input)
TAiIN input
Two-phase pulse input in event counter mode
t
c(TA)
t
su(TAIN-TAOUT)
t
su(TAOUT-TAIN)
t
su(TAIN-TAOUT)
t
su(TAOUT-TAIN)
TAiOUT input
XIN input
t
w(H)
t
w(L)
t
r
t
f
t
c
19. Electrical Characteristics
page 341
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
VCC = 5V
Figure 19.3. Timing Diagram (2)
t
su(DC)
CLKi
TxDi
RxDi
t
c(CK)
t
w(CKH)
t
w(CKL)
t
w(INL)
t
w(INH)
t
d(CQ)
t
h(CD)
t
h(CQ)
INTi input
t
BUF
t
HD:STA
t
HD:DTA
t
LOW
t
R
t
F
t
HIGH
tsu
:DAT
tsu
:STA
t
HD:STA
tsu
:STO
SCL
pSSr p
SDA
Figure 19.4 Timing Diagram (3)
VCC = 5V
19. Electrical Characteristics)
page 342
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
VCC = 3V
Table 19.24 Electrical Characteristics
(
1)
lobmySretemaraPnoitidnoC dradnatS
tinU
.niM.pyT.xaM
VHO hgiHtuptuO egatloV)"H"( 0P 00Pot 71P, 01Pot 72P, 02Pot 73P, 03Pot 76P, 06Pot 7,
7P 07Pot 78P, 08Pot 79P, 09Pot 39P, 59Pot 701P, 001Pot 7
IHO Am1-= VCC
-
5.0 VCC V
VHO
egatloV)"H"(hgiHtuptuOXTUO rewoPhgiH IHO Am1.0-= VCC
-
5.0 VCC V
rewoPwoL IHO 05-= µAVCC
-
5.0 VCC
egatloV)"H"(hgiHtuptuOXTUOC rewoPhgiH deilppadaoloN5.2 V
rewoPwoL deilppadaoloN6.1
VLO woLtuptuO egatloV)"L"( 0P 00Pot 71P, 01Pot 72P, 02Pot 73P, 03Pot 76P, 06Pot 7,
7P 07Pot 78P, 08Pot 79P, 09Pot 39P, 59Pot 701P, 001Pot 7
ILO Am1=5.0V
VLO
egatloV)"L"(woLtuptuOXTUO rewoPhgiH ILO Am1.0=5.0 V
rewoPwoL ILO 05= µA5.0
egatloV)"L"(woLtuptuOX
TUOC rewoPhgiH deilppadaoloN0
V
rewoPwoL deilppadaoloN0
V+T V- -T siseretsyH 0AT NI 4AT- NI 0BT, NI 2BT- NI TNI, 0TNI- 5DA,IMN, GRT STC, 0-
STC 2KLC,ADS,LCS, 0KLC- 22AT, TUO 4AT- TUO IK, 0IK- 3R, 0DX -
R2DX S, 3NI S, 4NI
8.0V
V+T V- -T siseretsyH TESER 8.1V
V+T V- -T siseretsyH XNI 8.0 V
IHI hgiHtupnI tnerruC)"H"( 0P 00Pot 71P, 01Pot 72P, 02Pot 73P, 03Pot 76P, 06Pot 7,
7P 07Pot 78P, 08Pot 79P, 09Pot 39P, 59Pot 701P, 001Pot 7
XNI VNC,TESER, SS
VIV3=0.4 µA
ILI woLtupnI tnerruC)"L"( 0P 00Pot 71P, 01Pot 72P, 02Pot 73P, 03Pot 76P, 06Pot 7,
7P 07Pot 78P, 08Pot 79P, 09Pot 39P, 59Pot 701P, 001Pot 7
XNI VNC,TESER, SS
VIV0=0.4- µA
R
PULLUP
pu-lluP ecnatsiseR 0P 00Pot 71P, 01Pot 72P, 02Pot 73P, 03Pot 76P, 06Pot 7,
7P 07Pot 78P, 08Pot 79P, 09Pot 39P, 59Pot 701P, 001Pot 7
VIV0=05001005k
fR NIX ecnatsiseRkcabdeeFXNI 0.3M
fR NICX ecnatsiseRkcabdeeFXNIC 52M
VMAR egatloVybdnatSMAR edompotsnI0.2V
:SETON otdecnerefeR.1V
CC V,V6.3ot7.2= SS esiwrehtosselnuzHM01=)KLCB(f,C°58ot04-/C°58ot02-=rpoTtaV0=
.deificeps
19. Electrical Characteristics
page 343
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Table 19.25 Electrical Characteristics (2)
(
1)
VCC = 3V
lobmySretemaraPnoitidnoCtnemerusaeM dradnatS tinU
.niM.pyT.xaM
ICC ylppuSrewoP tnerruC
V( CC )V6.3ot7.2=
erasniptuptuO dnanepotfel erasniprehto Votdetcennoc SS
MORksaM,zHM01=)KLCB(f noisividon,kcolcniam 821Am
,noitallicsopihc-nO zHM1=)KLCB(f,detceles)COR(2f 1Am
yromemhsalF,zHM01=)KLCB(f noisividon,kcolcniam 831Am
,noitallicsopihc-nO
f)COR(2 zHM1=)KLCB(f,detceles 1Am
yromemhsalF margorp V0.3=ccV,zHM01=)KLCB(f 01Am
yromemhsalF esare V0.3=ccV,zHM01=)KLCB(f 11Am
MORksaM,zHk23=)KLCB(f ,edomnoitpmusnocrewop-wolnI MOR )3(
02 µA
,noitallicsopihc-nO ,zHM1=)KLCB(f,detceles)COR(2f edomtiawnI
52 µA
yromemhsalFzHk23=)KLCB(f,
edomnoitpmusnocrewop-wolnI,
MARnogninnurmargorP )3(
52 µA
,zHk23=)KLCB(f ,edomnoitpmusnocrewop-wolnI yromemhsalfnogninnurmargorP )3(
054 µA
,noitallicsopihc-nO
f)COR(2 ,zHM1=)KLCB(f,detceles edomtiawnI
54 µA
,MORksaM yromemhsalF edomtiawnI,zHk23=)KLCB(f )2( ,
hgihyticapacnoitallicsO 01 µA
,zHk23=)KLCB(fedomtiawnI )2( ,
wolyticapacnoitallicsO 3µA
,edompotsnI52=rpoTC°7.03
µA
4tedItnerrucnoitapissidnoitcetedegatlovwoL )4( 6.04
µA
3tedItnerrucnoitapissidnoitcetedlevelteseR )4( 0.15
µA
:SETON otdecnerefeR.1V
CC V,V6.3ot7.2= SS esiwrehtosselnuzHM01=)KLCB(f,C°58ot04-/C°58ot02-=rpoTtaV0=
.deificeps fgnisu,setareporemitenohtiW.2 23C ..stsixedetucexeebotmargorpehthcihwniyromemehtsetacidnisihT.3 .)delbanetiucricnoitceted("1"ottessitibgniwollofehtnehwtnerrucnoitapissidsitedI.4 retsiger2RCVehtfotib72CVeht:4tedI retsiger2RCVehtnitib62CVeht:3tedI
19. Electrical Characteristics)
page 344
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
VCC = 3V
Timing Requirements
(VCC = 3V, VSS = 0V, at Topr = 20 to 85oC / 40 to 85oC unless otherwise specified)
Table 19.26 External Clock Input (XIN input)
lobmySretemaraP dradnatS tinU
.niM.xaM
ctemiTelcyCtupnIkcolClanretxE 001sn
wt
)H(
htdiW)"H"(hgiHtupnIkcolClanretxE 04sn
wt
)L(
htdiW)"L"(woLtupnIkcolClanretxE 04sn
rtemiTesiRkcolClanretxE 81sn
ftemiTllaFkcolClanretxE 81sn
19. Electrical Characteristics
page 345
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
VCC = 3V
Timing Requirements
(VCC = 3V, VSS = 0V, at Topr = 20 to 85oC / 40 to 85oC unless otherwise specified)
Table 19.27 Timer A Input (Counter Input in Event Counter Mode)
Table 19.28 Timer A Input (Gating Input in Timer Mode)
Table 19.29 Timer A Input (External Trigger Input in One-shot Timer Mode)
Table 19.30 Timer A Input (External Trigger Input in Pulse Width Modulation Mode)
Table 19.31 Timer A Input (Counter Increment/decrement Input in Event Counter Mode)
Table 19.32 Timer A Input (Two-phase Pulse Input in Event Counter Mode)
Standard
Max.
ns
TAi
IN
input LOW pulse width
t
w(TAL)
Min. ns
ns
Unit
TAi
IN
input HIGH pulse width
t
w(TAH)
ParameterSymbol
t
c(TA)
TAi
IN
input cycle time
60
150
60
Standard
Max.
Min. ns
ns
ns
Unit
TAi
IN
input cycle time
TAi
IN
input HIGH pulse width
TAi
IN
input LOW pulse width
t
c(TA)
t
w(TAH)
t
w(TAL)
Symbol Parameter
600
300
300
Standard
Max.
Min. ns
ns
ns
Unit
TAi
IN
input cycle time
TAi
IN
input HIGH pulse width
TAi
IN
input LOW pulse width
t
c(TA)
t
w(TAH)
t
w(TAL)
Symbol Parameter
300
150
150
Standard
Max.
Min. ns
ns
Unit
t
w(TAH)
t
w(TAL)
Symbol Parameter
TAi
IN
input HIGH pulse width
TAi
IN
input LOW pulse width 150
150
Standard
Max.
Min. ns
ns
ns
Unit
ns
ns
Symbol Parameter
TAi
OUT
input cycle time
TAi
OUT
input HIGH pulse width
TAi
OUT
input LOW pulse width
TAi
OUT
input setup time
TAi
OUT
input hold time
t
c(UP)
t
w(UPH)
t
w(UPL)
t
su(UP-TIN)
t
h(TIN-UP)
3000
1500
1500
600
600
Standard
Max.
Min. µs
ns
ns
Unit
Symbol Parameter
TAi
IN
input cycle time
TAi
OUT
input setup time
TAi
IN
input setup time
t
c(TA)
t
su(TAIN-TAOUT)
t
su(TAOUT-TAIN)
2
500
500
19. Electrical Characteristics)
page 346
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
VCC = 3V
Table 19.33 Timer B Input (Counter Input in Event Counter Mode)
Table 19.34 Timer B Input (Pulse Period Measurement Mode)
Table 19.35 Timer B Input (Pulse Width Measurement Mode)
Table 19.36 A/D Trigger Input
Table 19.37 Serial I/O
_______
Table 19.38 External Interrupt INTi Input
Timing Requirements
(VCC = 3V, VSS = 0V, at Topr = 20 to 85oC / 40 to 85oC unless otherwise specified)
ns
ns
ns
ns
ns
ns
ns
Standard
Max.Min.
TBiIN input cycle time (counted on one edge)
TBiIN input HIGH pulse width (counted on one edge)
TBiIN input LOW pulse width (counted on one edge)
ns
ns
ns
tc(TB)
tw(TBH)
tw(TBL)
ParameterSymbol Unit
tc(TB)
tw(TBL)
tw(TBH)
ns
ns
ns
TBiIN input HIGH pulse width (counted on both edges)
TBiIN input LOW pulse width (counted on both edges)
TBiIN input cycle time (counted on both edges)
Standard
Max.
Min. ns
ns
tc(TB)
tw(TBH)
Symbol Parameter Unit
tw(TBL) ns
TBiIN input HIGH pulse width
TBiIN input cycle time
TBiIN input LOW pulse width
Standard
Max.
Min. ns
ns
tc(TB)
Symbol Parameter Unit
tw(TBL) ns
tw(TBH) TBiIN input cycle time
TBiIN input HIGH pulse width
TBiIN input LOW pulse width
Standard
Max.
Min. ns
ns
tc(AD)
tw(ADL)
Symbol Parameter Unit
ADTRG input cycle time (required for trigger)
ADTRG input LOW pulse width
Standard
Max.Min. ns
ns
tw(INH)
tw(INL)
Symbol Parameter Unit
INTi input LOW pulse width
INTi input HIGH pulse width
Standard
Max.Min.
CLKi input cycle time
CLKi input HIGH pulse width
CLKi input LOW pulse width
tc(CK)
tw(CKH)
tw(CKL)
ParameterSymbol Unit
td(C-Q)
tsu(D-C)
th(C-Q) TxDi hold time
RxDi input setup time
TxDi output delay time
th(C-D) RxDi input hold time
150
60
60
120
120
300
600
300
300
600
300
300
1500
200
380
380
300
150
150
0
100
90
160
19. Electrical Characteristics
page 347
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
VCC = 3V
Timing Requirements
(VCC = 3V, VSS = 0V, at Topr = 20 to 85oC / 40 to 85oC unless otherwise specified)
Table 19.39 Multi-master I2C-Bus Line
High-speed clock mode
Max.
Min.
Bus free time
Hold time in start condition
Hold time in SCL clock "0" status
µs
µs
µs
tBUF
tHD;STA
tLOW
ParameterSymbol Unit
tR
tHIGH
tHD;DAT ns
µs
µs
Data hold time
Hold time in SCL clock "1" status
SCL, SDA signals' rising time
1.3
0.6
1.3
0
0.6
20+0.1Cb
tF SCL, SDA signals' falling time
tSU;DAT Data setup time
tSU;STA Setup time in restart condition
tSU;STO Stop condition setup time
Standard clock mode
Max.Min.
4.7
4.0
4.7
0
4.0
250
4.7
4.0
1000
300 100
0.6
20+0.1Cb
0.6
300
300
0.9
ns
ns
µs
µs
19. Electrical Characteristics)
page 348
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
VCC = 3V
Figure 19.5 Timing Diagram (1)
TAiIN input
TAiOUT input
During Event Counter Mode
TBiIN input
ADTRG input
t
c(TA)
t
w(TAH)
t
w(TAL)
t
c(UP)
t
w(UPH)
t
w(UPL)
t
c(TB)
t
w(TBH)
t
w(TBL)
t
c(AD)
t
w(ADL)
t
h(TIN-UP)
t
su(UP-TIN)
TAiIN input
(When count on falling
edge is selected)
TAiIN input
(When count on rising
edge is selected)
TAiOUT input
(Up/down input)
TAiIN input
Two-Phase Pulse Input in Event Counter Mode
t
c(TA)
t
su(TAIN-TAOUT)
t
su(TAOUT-TAIN)
t
su(TAIN-TAOUT)
t
su(TAOUT-TAIN)
TAiOUT input
XIN input
t
w(H)
t
w(L)
t
r
t
f
t
c
19. Electrical Characteristics
page 349
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
VCC = 3V
Figure 19.6 Timing Diagram (2)
t
su(DC)
CLKi
TxDi
RxDi
t
c(CK)
t
w(CKH)
t
w(CKL)
t
w(INL)
t
w(INH)
t
d(CQ)
t
h(CD)
t
h(CQ)
INTi input
t
BUF
t
HD:STA
t
HD:DTA
t
LOW
t
R
t
F
t
HIGH
tsu
:DAT
tsu
:STA
t
HD:STA
tsu
:STO
SCL
pSSr p
SDA
Figure 19.7 Timing Diagram (3)
VCC = 3V
page 350
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
20. Precautions
20. Precautions
20.1 SFR
20.1.1 For 80-Pin and 85-Pin Package
Set the IFSR20 bit in the IFSR2A register to "1" after reset and set the PACR2 to PACR0 bits in the PACR
register to "0112".
20.1.2 For 64-Pin Package
Set the IFSR20bit in the IFSR2A register to "1" after reset and set the PACR2 to PACR0 bits in the PACR
register to "0102".
22.1.3 Register Setting
Immediate values should be set in the registers containing write-only bits. When establishing a new value
by modifying a previous value, write the previous value into RAM as well as the register. Change the
contents of the RAM and then transfer the new value to the register.
20.1.4 For Flash Memory (128K+4K) Version and Mask ROM Version
When setting flash memory (128K+4K) version and Mask ROM version, follow the procedure below to set
the LPCC0 and LPCC1 registers after reset.
1) Set the LPCC0 register to "002116"
2) Set the PRC0 bit in the PRCR register to "1"
3) Set the LPCC13 bit in the LPCC1 register to "1"
4) Set the PRC0 bit to "0"
Example: MOV.B #00100001b, LPCC0 ;
BSET PRC0 ; Write enabled
MOV.B #00001000b, LPCC1 ;
BCLR PRC0 ; Write disabled
page 351
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
20. Precautions
S
y
m
b
o
lA
d
d
r
e
s
sA
f
t
e
r
R
e
s
e
t
L
P
C
C
00
2
1
01
6
X
0
0
0
0
0
0
12
b
7b6b5b
4b
3b
2b
1b
0
Reserved bitLPCC00 RW
RW
S
y
m
b
o
lA
d
d
r
e
s
sA
f
t
e
r
R
e
s
e
t
L
P
C
C
10
2
5
F1
60
01
6
b
7b6b
5b
4b
3b
2b
1b
0
Bit Name
0000001
0
1
1000000
NOTE:
1. Rewrite the LPCC1 register after setting the PRC0 bit in the PRCR register to "1" (write enabled).
Low-Power Consumption Control Register 1 (1)
Nothing is assigned. When write, set to "0".
When read, the content is "0".
Function
Bit Symbol
Bit Symbol Bit Name Function
Low-Power Consumption Control Register 0
Reserved bit
Reserved bit
Reserved bit
Reserved bit
Reserved bit
RW
RW
RW
LPCC05
LPCC13
Set to "1"
Set to "1"
Set to "1"
Set to "0"
Set to "0"
Set to "0"
RW
RW
RW
(b4-b1)
(b7-b6)
(b7-b4)
(b2-b0)
Figure 20.1 LPCC0 Register and LPCC1 Register
page 352
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
20. Precautions
20.2 Clock Generation Circuit
20.2.1 PLL Frequency Synthesizer
Stabilize supply voltage so that the standard of the power supply ripple is met.
Figure 20.2 Voltage Fluctuation Timing
10
Typ. Max. Unit
Parameter
f
(ripple)
Power supply ripple allowable frequency(V
CC
)
Symbol Min. Standard
kHz
Power supply ripple allowable amplitude
voltage
Power supply ripple rising/falling gradient
(V
CC
=5V)
(V
CC
=3V)
(V
CC
=5V)
(V
CC
=3V)
V
p-p(ripple)
V
CC(|DV/DT|)
0.5
0.3
0.3
0.3
V
V/ms
V/ms
V
V
p-p(ripple)
f
(ripple)
V
CC
f
(ripple)
Power supply ripple allowable frequency
(V
CC
)
V
p-p(ripple)
Power supply ripple allowable amplitude
voltage
page 353
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
20. Precautions
20.2.2 Power Control
1. When exiting stop mode by hardware reset, the device will startup using the on-chip oscillator.
2. Set the MR0 bit in the TAiMR register(i=0 to 4) to 0(pulse is not output) to use the timer A to exit stop
mode.
3. When entering wait mode, insert a JMP.B instruction before a WAIT instruction. Do not excute any
instructions which can generate a write to RAM between the JMP.B and WAIT instructions. Disable the
DMA transfers, if a DMA transfer may occur between the JMP.B and WAIT instructions. After the WAIT
instruction, insert at least 4 NOP instructions. When entering wait mode, the instruction queue reads
ahead the instructions following WAIT, and depending on timing, some of these may execute before the
microcomputer enters wait mode.
Program example when entering wait mode
Program Example: JMP.B L1 ; Insert JMP.B instruction before WAIT instruction
L1: FSET I ;
WAIT ; Enter wait mode
NOP ; More than 4 NOP instructions
NOP
NOP
NOP
4. When entering stop mode, insert a JMP.B instruction immediately after executing an instruction which
sets the CM10 bit in the CM1 register to 1, and then insert at least 4 NOP instructions. When entering
stop mode, the instruction queue reads ahead the instructions following the instruction which sets the
CM10 bit to 1 (all clock stops), and, some of these may execute before the microcomputer enters stop
mode or before the interrupt routine for returning from stop mode.
Program example when entering stop mode
Program Example: FSET I
BSET CM10 ; Enter stop mode
JMP.B L2 ; Insert JMP.B instruction
L2: NOP ; More than 4 NOP instructions
NOP
NOP
NOP
page 354
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
20. Precautions
5. Wait until the main clock oscillation stabilization time, before switching the CPU clock source to the
main clock.
Similarly, wait until the sub clock oscillates stably before switching the CPU clock source to the sub
clock.
6. Suggestions to reduce power consumption
(a) Ports
The processor retains the state of each I/O port even when it goes to wait mode or to stop mode. A
current flows in active I/O ports. A dash current may flow through the input ports in high impedance
state, if the input is floating. When entering wait mode or stop mode, set non-used ports to input and
stabilize the potential.
(b) A/D converter
When A/D conversion is not performed, set the VCUT bit in ADCON1 register to 0 (no Vref connec-
tion). When A/D conversion is performed, start the A/D conversion at least 1 µs or longer after setting
the VCUT bit to 1 (Vref connection).
(c) Stopping peripheral functions
Use the CM0 register CM02 bit to stop the unnecessary peripheral functions during wait mode.
However, because the peripheral function clock (fC32) generated from the sub-clock does not stop,
this measure is not conducive to reducing the power consumption of the chip. If low speed mode or
low power dissipation mode is to be changed to wait mode, set the CM02 bit to 0 (do not peripheral
function clock stopped when in wait mode), before changing wait mode.
(d) Switching the oscillation-driving capacity
Set the driving capacity to LOW when oscillation is stable.
page 355
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
20. Precautions
20.3 Protection
Set the PRC2 bit to 1 (write enabled) and then write to any address, and the PRC2 bit will be cleared to 0
(write protected). The registers protected by the PRC2 bit should be changed in the next instruction after
setting the PRC2 bit to 1. Make sure no interrupts or DMA transfers will occur between the instruction in
which the PRC2 bit is set to 1 and the next instruction.
page 356
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
20. Precautions
20.4 Interrupts
20.4.1 Reading Address 0000016
Do not read the address 0000016 in a program. When a maskable interrupt request is accepted, the CPU
reads interrupt information (interrupt number and interrupt request priority level) from the address
0000016 during the interrupt sequence. At this time, the IR bit for the accepted interrupt is cleared to “0”.
If the address 0000016 is read in a program, the IR bit for the interrupt which has the highest priority
among the enabled interrupts is cleared to “0”. This causes a problem that the interrupt is canceled, or an
unexpected interrupt request is generated.
20.4.2 Setting the SP
Set any value in the SP(USP, ISP) before accepting an interrupt. The SP(USP, ISP) is cleared to ‘000016
after reset. Therefore, if an interrupt is accepted before setting any value in the SP(USP, ISP), the pro-
gram may go out of control.
_______
20.4.3 NMI Interrupt
_______ _______
1. The NMI interrupt is invalid after reset. The NMI interrupt becomes effective by setting to “1” the PM24
_______
bit in the PM2 register. Set the PM24 bit to "1" when a high-level signal ("H") is applied to the NMI pin.
_______ _______
If the PM24 bit is set to "1" when a low-level signal ("L") is applied, NMI interrupt is generated. Once NMI
interrupt is enabled, it will not be disabled unless a reset is applied.
_______
2. The input level of the NMI pin can be read by accessing the P8 register’s P8_5 bit.
_______ _______
3. When selecting NMI function, stop mode cannot be entered into while input on the NMI pin is low. This
_______
is because while input on the NMI pin is low the CM1 register’s CM10 bit is fixed to “0”.
_______ _______
4. When selecting NMI function, do not go to wait mode while input on the NMI pin is low. This is because
_______
when input on the NMI pin goes low, the CPU stops but CPU clock remains active; therefore, the current
consumption in the chip does not drop. In this case, normal condition is restored by an interrupt gener-
ated thereafter. _______ _______
5. When selecting NMI function, the low and high level durations of the input signal to the NMI pin must
each be 2 CPU clock cycles + 300 ns or more.
_______
6. When using the NMI interrupt for exiting stop mode, set the NDDR register to “FF16” (disable digital
debounce filter) before entering stop mode.
20.4.4 Changing the Interrupt Generate Factor
If the interrupt generate factor is changed, the IR bit in the interrupt control register for the changed
interrupt may inadvertently be set to “1” (interrupt requested). If you changed the interrupt generate factor
for an interrupt that needs to be used, be sure to clear the IR bit for that interrupt to “0” (interrupt not
requested).
“Changing the interrupt generate factor” referred to here means any act of changing the source, polarity
or timing of the interrupt assigned to each software interrupt number. Therefore, if a mode change of any
peripheral function involves changing the generate factor, polarity or timing of an interrupt, be sure to
clear the IR bit for that interrupt to “0” (interrupt not requested) after making such changes. Refer to the
description of each peripheral function for details about the interrupts from peripheral functions.
Figure 20.3 shows the procedure for changing the interrupt generate factor.
page 357
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
20. Precautions
______
20.4.5 INT Interrupt
1. Either an L level of at least tW(INL) or an H level of at least tW(INH) width is necessary for the signal
________ ________
input to pins INT0 through INT5 regardless of the CPU operation clock.
2. If the POL bit in the INT0IC to INT5IC registers or the IFSR7 to IFSR0 bits in the IFSR register are
changed, the IR bit may inadvertently set to 1 (interrupt requested). Be sure to clear the IR bit to 0
(interrupt not requested) after changing any of those register bits.
_______
3. When using the INT5 interrupt for exiting stop mode, set the P17DDR register to FF16 (disable digital
debounce filter) before entering stop mode.
Figure 20.3 Procedure for Changing the Interrupt Generate Factor
NOTES:
1.The above settings must be executed individually. Do not execute two or more settings
simultaneously (using one instruction).
2. Use the I flag for the INTi interrupt (i = 0 to 5).
For the interrupts from peripheral functions other than the INTi interrupt, turn off the
peripheral function that is the source of the interrupt in order not to generate an interrupt
request before changing the interrupt generate factor. In this case, if the maskable interrupts
can all be disabled without causing a problem, use the I flag. Otherwise, use the corresponding
ILVL2 to ILVL0 bit for the interrupt whose interrupt generate factor is to be changed.
3. Refer to 20.5.6 Rewrite the Interrupt Control Register for details about the
instructions to use and the notes to be taken for instruction execution.
Changing the interrupt source
Disable interrupts (2,3)
Use the MOV instruction to clear the IR bit to 0 (interrupt not requested) (3)
Change the interrupt generate factor (including a mode change of peripheral function)
Enable interrupts (2,3)
End of change
IR bit: A bit in the interrupt control register for the interrupt whose interrupt generate factor is to
be changed
page 358
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
20. Precautions
Example 1: Using the NOP instruction to keep the program waiting until the
interrupt control register is modified
INT_SWITCH1:
FCLR I ; Disable interrupts
AND.B #00h, 0055h ;Set the TA0IC register to 00
16
NOP ;
NOP
FSET I ; Enable interrupts
The number of NOP instruction is as follows.
PM20 = 1 (1 wait) : 2, PM20 = 0 (2 waits): 3
Example 2:Using the dummy read to keep the FSET instruction waiting
INT_SWITCH2:
FCLR I ; Disable interrupts
AND.B #00h, 0055h ; Set the TA0IC register to 00
16
MOV.W MEM, R0 ; Dummy read
FSET I ; Enable interrupts
Example 3:Using the POPC instruction to changing the I flag
INT_SWITCH3:
PUSHC FLG
FCLR I ; Disable interrupts
AND.B #00h, 0055h ; Set the TA0IC register to 00
16
POPC FLG ; Enable interrupts
20.4.6 Rewrite the Interrupt Control Register
(1) The interrupt control register for any interrupt should be modified in places where no requests for that
interrupt may occur. Otherwise, disable the interrupt before rewriting the interrupt control register.
(2) To rewrite the interrupt control register for any interrupt after disabling that interrupt, be careful with the
instruction to be used.
Changing any bit other than the IR bit
If while executing an instruction, a request for an interrupt controlled by the register being modified
occurs, the IR bit in the register may not be set to 1 (interrupt requested), with the result that the
interrupt request is ignored. If such a situation presents a problem, use the instructions shown below
to modify the register.
Usable instructions: AND, OR, BCLR, BSET
Changing the IR bit
Depending on the instruction used, the IR bit may not always be cleared to 0 (interrupt not re-
quested). Therefore, be sure to use the MOV instruction to clear the IR bit.
(3) When using the I flag to disable an interrupt, refer to the sample program fragments shown below as
you set the I flag. (Refer to (2) for details about rewrite the interrupt control registers in the sample
program fragments.)
Examples 1 through 3 show how to prevent the I flag from being set to 1 (interrupts enabled) before the
interrupt control register is rewrited, due to the internal bus and the instruction queue buffer.
20.4.7 Watchdog Timer Interrupt
Initialize the watchdog timer after the watchdog timer interrupt occurs.
page 359
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
20. Precautions
20.5 DMAC
20.5.1 Write to DMAE Bit in DMiCON Register (i = 0, 1)
When both of the conditions below are met, follow the steps below.
(a) Conditions
The DMAE bit is set to 1 again while it remains set (DMAi is in an active state).
A DMA request may occur simultaneously when the DMAE bit is being written.
(b) Procedure
(1) Write 1 to the DMAE bit and DMAS bit in DMiCON register simultaneously(1).
(2) Make sure that the DMAi is in an initial state(2) in a program.
If the DMAi is not in an initial state, the above steps should be repeated.
NOTES:
1. The DMAS bit remains unchanged even if 1 is written. However, if 0 is written to this bit, it is
set to 0 (DMA not requested). In order to prevent the DMAS bit from being modified to 0, 1
should be written to the DMAS bit when 1 is written to the DMAE bit. In this way the state of the
DMAS bit immediately before being written can be maintained.
Similarly, when writing to the DMAE bit with a read-modify-write instruction, 1 should be written to
the DMAS bit in order to maintain a DMA request which is generated during execution.
2. Read the TCRi register to verify whether the DMAi is in an initial state. If the read value is equal to
a value which was written to the TCRi register before DMA transfer start, the DMAi is in an initial
state. (If a DMA request occurs after writing to the DMAE bit, the value written to the TCRi register
is the value minus 1.) If the read value is a value in the middle of transfer, the DMAi is not in an
initial state.
page 360
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
20. Precautions
20.6 Timer
20.6.1 Timer A
20.6.1.1 Timer A (Timer Mode)
1. The timer remains idle after reset. Set the mode, count source, counter value, etc. using the TAiMR
(i = 0 to 4) register and the TAi register before setting the TAiS bit in the TABSR register to 1 (count
starts).
Always make sure the TAiMR register is modified while the TAiS bit remains 0 (count stops)
regardless whether after reset or not.
2. While counting is in progress, the counter value can be read out at any time by reading the TAi
register. However, if the TAi register is read at the same time the counter is reloaded, the read value
is always FFFF16. If the TAi register is read after setting a value in it, but before the counter starts
counting, the read value is the one that has been set in the register.
_____
3. If a low-level signal is applied to the SD pin when the IVPCR1 bit in the TB2SC register is set to 1
_____
(three-phase output forcible cutoff by input on SD pin enabled), the TA1OUT, TA2OUT and TA4OUT
pins go to a high-impedance state.
20.6.1.2 Timer A (Event Counter Mode)
1. The timer remains idle after reset. Set the mode, count source, counter value, etc. using the TAiMR
(i = 0 to 4) register, the TAi register, the UDF register, the ONSF register TAZIE, TA0TGL and
TA0TGH bits and the TRGSR register before setting the TAiS bit in the TABSR register to 1 (count
starts).
Always make sure the TAiMR register, the UDF register, the ONSF register TAZIE, TA0TGL and
TA0TGH bits and the TRGSR register are modified while the TAiS bit remains 0 (count stops)
regardless whether after reset or not.
2. While counting is in progress, the counter value can be read out at any time by reading the TAi
register. However, if the TAi register is read at the same time the counter is reloaded, the read value
is always FFFF16 when the timer counter underflows and 000016 when the timer counter over-
flows. If the TAi register is read after setting a value in it, but before the counter starts counting, the
read value is the one that has been set in the register.
_____
3. If a low-level signal is applied to the SD pin when the IVPCR1 bit in the TB2SC register is set to 1
_____
(three-phase output forcible cutoff by input on SD pin enabled), the TA1OUT, TA2OUT and TA4OUT
pins go to a high-impedance state.
page 361
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
20. Precautions
20.6.1.3 Timer A (One-shot Timer Mode)
1. The timer remains idle after reset. Set the mode, count source, counter value, etc. using the TAiMR
(i = 0 to 4) register, the TAi register, the ONSF register TA0TGL and TA0TGH bits and the TRGSR
register before setting the TAiS bit in the TABSR register to 1 (count starts).
Always make sure the TAiMR register, the ONSF register TA0TGL and TA0TGH bits and the
TRGSR register are modified while the TAiS bit remains 0 (count stops) regardless whether after
reset or not.
2. When setting TAiS bit to 0 (count stop), the followings occur:
A counter stops counting and a content of reload register is reloaded.
TAiOUT pin outputs L.
After one cycle of the CPU clock, the IR bit in TAiIC register is set to 1 (interrupt request).
3. Output in one-shot timer mode synchronizes with a count source internally generated. When the
external trigger has been selected, a maximun delay of one cycle of the count source occurs be-
tween the trigger input to TAiIN pin and output in one-shot timer mode.
4. The IR bit is set to 1 when timer operation mode is set with any of the following procedures:
Select one-shot timer mode after reset.
Change an operation mode from timer mode to one-shot timer mode.
Change an operation mode from event counter mode to one-shot timer mode.
To use the timer Ai interrupt (the IR bit), set the IR bit to 0 after the changes listed above have
been made.
5. When a trigger occurs while the timer is counting, the counter reloads the reload register value, and
continues counting after a second trigger is generated and the counter is decremented once. To
generate a trigger while counting, space more than one cycle of the timer count source from the first
trigger and generate again.
6. When selecting the external trigger for the count start conditions in timer A one-shot timer mode, do
not generate an external trigger 300ns before the count value of timer A is set to 000016. The one-
shot timer may stop counting.
7. _____
If a low-level signal is applied to the SD pin when the IVPCR1 bit in the TB2SC register is set to 1
_____
(three-phase output forcible cutoff by input on SD pin enabled), the TA1OUT, TA2OUT and TA4OUT
pins go to a high-impedance state.
page 362
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
20. Precautions
20.6.1.4 Timer A (Pulse Width Modulation Mode)
1. The timer remains idle after reset. Set the mode, count source, counter value, etc. using the TAiMR
(i = 0 to 4) register, the TAi register, the ONSF register TA0TGL and TA0TGH bits and the TRGSR
register before setting the TAiS bit in the TABSR register to 1 (count starts).
Always make sure the TAiMR register, the ONSF register TA0TGL and TA0TGH bits and the
TRGSR register are modified while the TAiS bit remains 0 (count stops) regardless whether after
reset or not.
2. The IR bit is set to 1 when setting a timer operation mode with any of the following procedures:
Select the PWM mode after reset.
Change an operation mode from timer mode to PWM mode.
Change an operation mode from event counter mode to PWM mode.
To use the timer Ai interrupt (interrupt request bit), set the IR bit to 0 by program after the above
listed changes have been made.
3. When setting TAiS register to 0 (count stop) during PWM pulse output, the following action occurs:
Stop counting.
When TAiOUT pin is output H, output level is set to L and the IR bit is set to 1.
When TAiOUT pin is output L, both output level and the IR bit remains unchanged.
_____
4. If a low-level signal is applied to the SD pin when the IVPCR1 bit in the TB2SC register is set to 1
_____
(three-phase output forcible cutoff by input on SD pin enabled), the TA1OUT, TA2OUT and TA4OUT
pins go to a high-impedance state.
page 363
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
20. Precautions
20.6.2 Timer B
20.6.2.1 Timer B (Timer Mode)
1. The timer remains idle after reset. Set the mode, count source, counter value, etc. using the TBiMR
(i = 0 to 2) register and TBi register before setting the TBiS bit in the TABSR register to 1 (count
starts).
Always make sure the TBiMR register is modified while the TBiS bit remains 0 (count stops)
regardless whether after reset or not.
2. The counter value can be read out at any time by reading the TBi register. However, if this register
is read at the same time the counter is reloaded, the read value is always FFFF16. If the TBi
register is read after setting a value in it but before the counter starts counting, the read value is the
one that has been set in the register.
20.6.2.2 Timer B (Event Counter Mode)
1. The timer remains idle after reset. Set the mode, count source, counter value, etc. using the TBiMR
(i = 0 to 2) register and TBi register before setting the TBiS bit in the TABSR register to 1 (count
starts).
Always make sure the TBiMR register is modified while the TBiS bit remains 0 (count stops)
regardless whether after reset or not.
2. The counter value can be read out at any time by reading the TBi register. However, if this register
is read at the same time the counter is reloaded, the read value is always FFFF16. If the TBi
register is read after setting a value in it but before the counter starts counting, the read value is the
one that has been set in the register.
20.6.2.3 Timer B (Pulse Period/pulse Width Measurement Mode)
1. The timer remains idle after reset. Set the mode, count source, etc. using the TBiMR (i = 0 to 2)
register before setting the TBiS bit in the TABSR register to 1 (count starts).
Always make sure the TBiMR register is modified while the TBiS bit remains 0 (count stops)
regardless whether after reset or not. To clear the MR3 bit to 0 by writing to the TBiMR register
while the TBiS bit is set to 1 (count starts), be sure to write the same value as previously written to
the TM0D0, TM0D1, MR0, MR1, TCK0 and TCK1 bits and a 0 to the MR2 bit.
2. The IR bit in TBiIC register (i=0 to 2) goes to 1 (interrupt request), when an effective edge of a
measurement pulse is input or timer Bi is overflowed. The factor of interrupt request can be deter-
mined by use of the MR3 bit in TBiMR register within the interrupt routine.
3. If the source of interrupt cannot be identified by the MR3 bit such as when the measurement pulse
input and a timer overflow occur at the same time, use another timer to count the number of times
timer B has overflowed.
4. To set the MR3 bit to 0 (no overflow), set TBiMR register with setting the TBiS bit to 1 and
counting the next count source after setting the MR3 bit to 1 (overflow).
5. Use the IR bit in TBiIC register to detect only overflows. Use the MR3 bit only to determine the
interrupt factor within the interrupt routine.
page 364
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
20. Precautions
6. When a count is started and the first effective edge is input, an indeterminate value is transferred to
the reload register. At this time, timer Bi interrupt request is not generated.
7. A value of the counter is indeterminate at the beginning of a count. MR3 may be set to 1 and timer
Bi interrupt request may be generated between a count start and an effective edge input.
8. For pulse width measurement, pulse widths are successively measured. Use program to check
whether the measurement result is an H level width or an L level width.
20.6.3 Three-phase Motor Control Timer Function
When the IVPCR1 bit in the TB2SC register is set to 1 (three-phase output forced cutoff by SD pin input
(high-impedance) enabled), the INV03 bit in the INVC0 register is set to 1 (three-phase motor control
_____
timer output enabled), and a low-level ("L") signal is applied to the SD pin while a three-phase PWM
___ ___ ___
signal is output, the MCU is forced to cutoff and pins U, U, V, V, W, and W are placed in a high-impedance
state and the INV03 bit is set to 0 (three-phase motor control timer output disabled).
___ ___ ___
To resume the three-phase PWM signal output from pins U, U, V, V, W, and W, set the INV03 bit to 1 and
_____
the IVPCR1 bit to 0 (three-phase output forced cutoff disabled) after the SD pin level becomes "H". Then
set the IVPCR1 bit to 1 (three-phase output forced cutoff enabled) in order to enable the three-phase
output forced cutoff function by input to the SD pin again. _____
The INV03 bit cannot be set to 1 while an "L" signal is input to the SD pin. To set the INV03 bit to 1 after
forcible cutoff, write 1 to the INV03 bit and read the bit to ensure that it is set to 1 by program. Then set the
IVPCR1 bit to 1 after setting it to 0.
page 365
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
20. Precautions
20.7 Timer S
20.7.1 Rewrite the G1IR Register
Bits in the G1IR register are not automatically set to 0 (no interrupt requested) even if a requested inter-
rupt is acknowledged. Set each bit to 0 by program after the interrupt requests are verified.
The IC/OC interrupt is generated when any bit in the G1IR register is set to 1 (interrupt requested) after all
the bits are set to 0. If conditions to generate an interrupt are met when the G1IR register holds the value
other than 0016, the IC/OC interrupt request will not be generated. In order to enable an IC/OC interrupt
request again, clear the G1IR register to 0016. Use the following instructions to set each bit in the G1IR
register to 0.
Subject instructions: AND, BCL
Figure 20.4 shows an example of IC/OC interrupt i processing.
Figure 20.4 IC/OC Interrupt i Flow Chart
Interrupt
(1)
Set the G1IRi bit to "0"
Set the G1IRj bit to "0"
Process channel i waveform generating interrupt
Process channel j time measurement interrupt
Interrupt completed
NOTES:
1. Example for the interrupt operation when using the channel i waveform generating interrupt and
channel j time measurement interrupt.
G1IRi=1 ?
G1IRj=1 ?
G1IR=0 ?
No
No
No
Yes
Yes
Yes
page 366
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
20. Precautions
20.7.2 Rewrite the ICOCiIC Register
When the interrupt request to the ICOCiIC register is generated during the instruction process, the IR bit
may not be set to "1" (interrupt requested) and the interrupt request may not be acknowledged. At that
time, when the bit in the G1IR register is held to "1" (interrupt requested), the following IC/OC interrupt
request will not be generated. When changing the ICOCiIC register settiing, use the following instruction.
Subject instructions: AND, OR, BCLR, BSET
When initializing Timer S, change the ICOCiIC register setting with the request again after setting the
IOCiIC and G1IR registers to "0016".
20.7.3 Waveform Generating Function
1. If the BTS bit in the G1BCR1 register is set to "0" (base timer is reset) when the waveform is generating
and the base timer is stopped counting, the waveform output pin keeps the same output level. The output
level will be changed when the base timer and the G1POj register match the setting value next time after
the base timer starts counting again.
2. If the G1POCRj register is set when the waveform is generated, the same setting value of the IVL bit is
applied to the waveform generating pin. Do not set the G1POCRj register when the waveform is generat-
ing.
3. When the RST1 bit in the G1BCR1 register is set to "1" (the base timer is reset by matching the G1PO0
register), the base timer is reset after two clock cycles of fBT1 when the base timer value matches the
G1PO0 register value. A high-level ("H") signal is applied to the OUTC10 pin between the base timer
value match to the base timer reset.
20.7.4 IC/OC Base Timer Interrupt
If the MCU is operated in the combination selected from Tabl e 1 for use when the RST4 bit in the
G1BCR0 register is set to 1 (reset the base timer that matches the G1BTRR register) to reset the base
timer, an IC/OC base timer interrupt request is generated twice.
Table 20.1 Uses of IT Bit in the G1BCR0 Register and G1BTRR Register
The second IC/OC base timer interrupt request is generated because the base timer overflow request is
generated after one fBT1 clock cycle as soon as the base timer is reset.
One of the following conditions must be met in order not to generate the IC/OC base timer interrupt
request twice:
1) When the RST4 bit is set to 1, set the G1BTRR register with a combination other than what is listed in
Table 20.1.
2) Do not reset the base timer by matching the G1BTRR register. Reset the base timer by matching the
G1P00 register. In other words, do not set the RST4 bit to 1 to reset the base timer. Set the RST1 bit in
the G1BCR1 register to 1 (reset the base timer that matches the G1P00 register).
retsigeR0RCB1GehtnitiBTIretsigeRRRTB1G
)swolfrevoremitesabehtni51tib(0 FFF70
61
EFFF0ot
61
)swolfrevoremitesabehtni41tib(1 FFF30
61
EFFF0ot
61
ro
FFFB0
61
EFFF0ot
61
page 367
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
20. Precautions
20.8 Serial I/O
20.8.1 Clock-Synchronous Serial I/O
20.8.1.1 Transmission/reception _______ ________
1. With an external clock selected, and choosing the RTS function, the output level of the RTSi pin
goes to L when the data-receivable status becomes ready, which informs the transmission side
________
that the reception has become ready. The output level of the RTSi pin goes to H when reception
________ ________
starts. So if the RTSi pin is connected to the CTSi pin on the transmission side, the circuit can
_______
transmission and reception data with consistent timing. With the internal clock, the RTS function
has no effect.
_____
2.
I
f a low-level signal is applied to the SD pin when the IVPCR1 bit in the TB2SC register is set to 1
_____ ________
(three-phase output forcible cutoff by input on SD pin enabled), the P73/RTS2/TxD1(when the
U1MAP bit in PACR register is 1) and CLK2 pins go to a high-impedance state.
20.8.1.2 Transmission
When an external clock is selected, the conditions must be met while if the CKPOL bit in the UiC0
register is set to 0 (transmit data output at the falling edge and the receive data taken in at the rising
edge of the transfer clock), the external clock is in the high state; if the CKPOL bit in the UiC0 register
is set to 1 (transmit data output at the rising edge and the receive data taken in at the falling edge of
the transfer clock), the external clock is in the low state.
The TE bit in UiC1 register is set to 1 (transmission enabled)
The TI bit in UiC1 register is set to 0 (data present in UiTB register)
_______ _______
If CTS function is selected, input on the CTSi pin is set to L
20.8.1.3 Reception
1. In operating the clock-synchronous serial I/O, operating a transmitter generates a shift clock. Fix
settings for transmission even when using the device only for reception. Dummy data is output to
the outside from the TxDi pin when receiving data.
2. When an internal clock is selected, set the TE bit in the UiC1 register (i = 0 to 2) to "1" (transmission
enabled) and write dummy data to the UiTB register, and the shift clock will thereby be generated.
When an external clock is selected, set the TE bit in the UiC1 register (i = 0 to 2) to "1" and write dummy
data to the UiTB register, and the shift clock will be generated when the external clock is fed to the CLKi
input pin.
3. When successively receiving data, if all bits of the next receive data are prepared in the UARTi
receive register while the RE bit in the UiC1 register (i = 0 to 2) is set to 1 (data present in the UiRB
register), an overrun error occurs and the UiRB register OER bit is set to 1 (overrun error oc-
curred). In this case, because the content of the UiRB register is indeterminate, a corrective mea-
sure must be taken by programs on the transmit and receive sides so that the valid data before the
overrun error occurred will be retransmitted. Note that when an overrun error occurred, the SiRIC
register IR bit does not change state.
4. To receive data in succession, set dummy data in the lower-order byte of the UiTB register every
time reception is made.
5. When an external clock is selected, make sure the external clock is in high state if the CKPOL bit is
set to 0, and in low state if the CKPOL bit is set to 1 before the following conditions are met:
The RE bit in the UiC1 register is set to 1 (reception enabled)
The TE bit in the UiC1 register is set to 1 (transmission enabled)
The TI bit in the UiC1 register= 0 (data present in the UiTB register)
page 368
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
20. Precautions
20.8.2 UART Mode
20.8.2.1 Special Mode 1 (I2C bus Mode)
When generating start, stop and restart conditions, set the STSPSEL bit in the U2SMR4 register to 0
and wait for more than half cycle of the transfer clock before setting each condition generate bit
(STAREQ, RSTAREQ and STPREQ) from 0 to 1.
20.8.2.2 Special Mode 2 _____
If a low-level signal is applied to the SD pin when the IVPCR1 bit in the TB2SC register is set to "1"
_____ ________
(three-phase output forcible cutoff by input on SD pin enabled), the RTS2 and CLK2 pins go to a high-
impedance state.
20.8.2.3 Special Mode 4 (SIM Mode)
A transmit interrupt request is generated by setting the U2C1 register U2IRS bit to 1 (transmission
complete) and U2ERE bit to 1 (error signal output) after reset. Therefore, when using SIM mode, be
sure to clear the IR bit to 0 (no interrupt request) after setting these bits.
20.8.3 SI/O3, SI/O4
The SOUTi default value which is set to the SOUTi pin by the SMi7 bit approximately 10ns may be output
when changing the SMi3 bit from "0" (I/O port) to "1" (SOUTi output and CLK function) while the SMi2 bit
in the SiC (i=3 and 4) to "0" (SOUTi output) and the SMi6 bit is set to "1" (internal clock). And then the
SOUTi pin is held high-impedance.
If the level which is output from the SOUTi pin is a problem when changing the SMi3 bit from "0" to "1", set
the default value of the SOUTi pin by the SMi7 bit.
page 369
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
20. Precautions
20.9 A/D Converter
1. Set ADCON0 (except bit 6), ADCON1, ADCON2 and ADTRGCON registers when A/D conversion is
stopped (before a trigger occurs).
2. When the VCUT bit in ADCON1 register is changed from “0” (Vref not connected) to “1” (Vref con-
nected), start A/D conversion after passing 1 µs or longer.
3. To prevent noise-induced device malfunction or latchup, as well as to reduce conversion errors, insert
capacitors between the AVCC, VREF, and analog input pins (ANi, AN0i, AN2i(i=0 to 7)) each and the
AVSS pin. Similarly, insert a capacitor between the VCC pin and the VSS pin. Figure 20.5 is an example
connection of each pin.
4. Make sure the port direction bits for those pins that are used as analog inputs are set to “0” (input
mode). Also, if the TGR bit in the ADCON0 register is set to "1" (external trigger), make sure the port
___________
direction bit for the ADTRG pin is set to “0” (input mode).
5. When using key input interrupts, do not use any of the four AN4 to AN7 pins as analog inputs. (A key
input interrupt request is generated when the A/D input voltage goes low.)
6. The φAD frequency must be 10 MHz or less. For M16C/28B, set it 12 MHz or less. Without sample-and-
hold function, limit the φAD frequency to 250kHZ or more. With the sample and hold function, limit the
φAD frequency to 1MHZ or more.
7. When changing an A/D operation mode, select analog input pin again in the CH2 to CH0 bits of
ADCON0 register and the SCAN1 to SCAN0 bits of ADCON1 register.
Figure 20.5 Use of capacitors to reduce noise
MCU
VCC
VSS
AVCC
AVSS
VREF
ANi
C4
C1 C2
C3
VCC VCC
ANi: ANi, AN0i, AN2i (i = 0 to 7), and AN3i ( i= 0 to 2)
NOTES:
1. C1 0.47 µF, C2 0.47 µF, C3 100 pF, C4 0.1 µF (reference)
2. Use thick and shortest possible wiring to connect capacitors.
page 370
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
20. Precautions
8. If the CPU reads the AD register i (i = 0 to 7) at the same time the conversion result is stored in the AD
register i after completion of A/D conversion, an incorrect value may be stored in the AD register i. This
problem occurs when a divide-by-n clock derived from the main clock or a subclock is selected for CPU
clock.
When operating in one-shot, single-sweep mode, simultaneous sample sweep mode, delayed
trigger mode 0 or delayed trigger mode 1
Check to see that A/D conversion is completed before reading the target AD register i. (Check the IR
bit in the ADIC register to see if A/D conversion is completed.)
When operating in repeat mode or repeat sweep mode 0 or 1
Use the main clock for CPU clock directly without dividing it.
9. If A/D conversion is forcibly terminated while in progress by setting the ADST bit in the ADCON0 register
to 0 (A/D conversion halted), the conversion result of the A/D converter is indeterminate. The contents
of AD register i irrelevant to A/D conversion may also become indeterminate. If while A/D conversion is
underway the ADST bit is cleared to 0 in a program, ignore the values of all AD register i.
10. When setting the ADST bit in the ADCON register to "0" to stop A/D conversion during A/D converting
operation in single sweep conversion mode, A/D delayed trigger mode 0, or A/D delayed trigger mode 1,
set the ADST bit to "0" after an interrupt is disabled because the A/D interrupt request may be generated.
page 371
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
20. Precautions
20.10 Multi-master I2C bus Interface
20.10.1 Writing to the S00 Register
When the start condition is not generated, the SCL pin may output the short low-signal ("L") by setting the
S00 register. Set the register when the SCL pin outputs an "L" signal.
20.10.2 AL Flag
When the arbitration lost is generated and the AL flag in the S10 register is set to "1" (detected), the AL
flag can be cleared to "0" (not detected) by writing a transmit data to the S00 register. The AL flag should
be cleared at the timing when master geneates the start condition to start a new transfer.
page 372
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
20. Precautions
20.11 Programmable I/O Ports_____
1. If a low-level signal is applied to the SD pin when the IVPCR1 bit in the TB2SC register is set to 1
_____
(three-phase output forcible cutoff by input on SD pin enabled), the P72 to P75, P80 and P81 pins go to
a high-impedance state.
2. The input threshold voltage of pins differs between programmable input/output ports and peripheral
functions.
Therefore, if any pin is shared by a programmable input/output port and a peripheral function and the
input level at this pin is outside the range of recommended operating conditions VIH and VIL (neither
high nor low), the input level may be determined differently depending on which sidethe program-
mable input/output port or the peripheral functionis currently selected.
3. When the SM32 bit in the S3C register is set to "1", the P32 pin goes to high-impedance state. When
the SM42 bit in the S4C register is set to "1", the P96 pin goes to high-imepdance state.
4. When the INV03 bit in the INVC0 register is "1"(three-phase motor control timer output enabled), an "L"
_______ _____
input on the P85/NMI/SD pin, has the following effect.
When the TB2SC register IVPCR1 bit is set to 1 (three-phase output forcible cutoff by input on
_____ __ __ ___
SD pin enabled), the U/ U/ V/ V/ W/ W pins go to a high-impedance state.
When the TB2SC register IVPCR1 bit is set to 0 (three-phase output forcible cutoff by input on
_____ __ __ ___
SD pin disabled), the U/ U/ V/ V/ W/ W pins go to a normal port.
Therefore, the P85 pin can not be used as programmable I/O port when the INV03 bit is set to "1".
_____ _______ _____
When the SD function isn't used, set to "0" (Input) in PD85 and pullup to "H" in the P85/NMI/SD pin from
outside.
page 373
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
20. Precautions
20.12 Electric Characteristic Differences Between Mask ROM and
Flash Memory Version
Flash memory version and mask ROM version may have different characteristics, operating margin, noise
tolerated dose, noise width dose in electrical characteristics due to internal ROM, different layout pattern,
etc. When switching to the mask ROM version, conduct equivalent tests as system evaluation tests con-
ducted in the flash memory version.
page 374
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
20. Precautions
20.13 Mask ROM Version
20.13.1 Internal ROM Area
In the masked ROM version, do not write to internal ROM area. Writing to the area may increase power
consumption.
20.13.2 Reserved Bit
The b3 to b0 in addresses 0FFFFF16 are reserved bits. Set these bits to "11112".
page 375
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
20. Precautions
20.14 Flash Memory Version
20.14.1 Functions to Inhibit Rewriting Flash Memory Rewrite
ID codes are stored in addresses 0FFFDF16, 0FFFE316, 0FFFEB16, 0FFFEF16, 0FFFF316, 0FFFF716,
and 0FFFFB16. If wrong data are written to theses addresses, the flash memory cannot be read or written
in standard serial I/O mode.
The ROMCP register is mapped in address 0FFFFF16. If wrong data is written to this address, the flash
memory cannot be read or written in parallel I/O mode.
In the flash memory version of microcomputer, these addresses are allocated to the vector addresses (H)
of fixed vectors. The b3 to b0 in address 0FFFFF16 are reserved bits. Set these bits to 11112.
20.14.2 Stop Mode
When the microcomputer enters stop mode, execute the instruction which sets the CM10 bit to 1(stop
mode) after setting the FMR01 bit to 0(CPU rewrite mode disabled) and disabling the DMA transfer.
20.14.3 Wait Mode
When the microcomputer enters wait mode, excute the WAIT instruction after setting the FMR01 bit to
0(CPU rewrite mode disabled).
20.14.4 Low Power Dissipation Mode, On-Chip Oscillator Low Power Dissipation Mode
If the CM05 bit is set to 1 (main clock stop), the following commands must not be executed.
Program
Block erase
20.14.5 Writing Command and Data
Write the command code and data at even addresses.
20.14.6 Program Command
Write xx4016 in the first bus cycle and write data to the write address in the second bus cycle, and an
auto program operation (data program and verify) will start. Make sure the address value specified in the
first bus cycle is the same even address as the write address specified in the second bus cycle.
20.14.7 Operation Speed
When CPU clock source is main clock, before entering CPU rewrite mode (EW mode 0 or 1), select 10
MHz or less for CPU clock using the CM06 bit in the CM0 register and the CM17 to CM16 bits in the CM1
register. Also, when CPU clock is f3(ROC) on-chip oscillator clock, before entering CPU rewrite mode
(EW mode 0 or 1), set the ROCR3 to ROCR2 bits in the ROCR register to divied by 4 or divide by 8.
On both cases, set the PM17 bit in the PM1 register to 1 (with wait state).
20.14.8 Instructions Inhibited Against Use
The following instructions cannot be used in EW mode 0 because the flash memorys internal data is
referenced: UND instruction, INTO instruction, JMPS instruction, JSRS instruction, and BRK instruction
page 376
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
20. Precautions
20.14.9 Interrupts
EW Mode 0
• Any interrupt which has a vector in the variable vector table can be used providing that its vector is
transferred into the RAM area.
_______
• The NMI and watchdog timer interrupts can be used because the FMR0 register and FMR1 register
are initialized when one of those interrupts occurs. The jump addresses for those interrupt service
routines should be set in the fixed vector table._______
Because the rewrite operation is halted when a NMI or watchdog timer interrupt occurs, the rewrite
program must be executed again after exiting the interrupt service routine.
• The address match interrupt cannot be used because the flash memory’s internal data is referenced.
EW Mode 1
• Make sure that any interrupt which has a vector in the variable vector table or address match inter-
rupt will not be accepted during the auto program period or auto erase period with erase-suspend
function disabled.
_______
• The NMI interrupt can be used because the FMR0 register and FMR1 register are initialized when
this interrupt occurs. The jump address for the interrupt service routine should be set in the fixed
vector table. _______
Because the rewrite operation is halted when a NMI interrupt occurs, the rewrite program must be
executed again after exiting the interrupt service routine.
20.14.10 How to Access
To set the FMR01, FMR02, FMR11 or FMR16 bit to “1”, set the subject bit to “1” immediately after setting
to “0”. Do not generate an interrupt or a DMA transfer between the instruction to set the bit to “0” and the
_______
instruction to set the bit to “1”. When the PM24 bit is set to “1” (NMI funciton), apply a high-level (“H”)
_______
signal to the NMI pin to set those bits.
20.14.11 Writing in the User ROM Area
EW Mode 0
• If the power supply voltage drops while rewriting any block in which the rewrite control program is
stored, a problem may occur that the rewrite control program is not correctly rewritten and, conse-
quently, the flash memory becomes unable to be rewritten thereafter. In this case, standard serial I/
O or parallel I/O mode should be used.
EW Mode 1
• Avoid rewriting any block in which the rewrite control program is stored.
20.14.12 DMA Transfer
In EW mode 1, make sure that no DMA transfers will occur while the FMR00 bit in the FMR0 register is set
to "0"(during the auto program or auto erase period).
20.14.13 Regarding Programming/Erasure Times and Execution Time
As the number of programming/erasure times increases, so does the execution time for software com-
mands (Program, and Block Erase). _______
The software commands are aborted by hardware reset 1, hardware reset 2, NMI interrupt, and watchdog
timer interrupt. If a software command is aborted by such reset or interrupt, the affected block must be
erased before reexecuting the aborted command.
page 377
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
20. Precautions
20.14.14 Definition of Programming/Erasure Times
"Number of programs and erasure" refers to the number of erasure per block.
If the number of program and erasure is n (n=100 1,000 10,000) each block can be erased n times.
For example, if a 2K byte block A is erased after writing 1 word data 1024 times, each to a different
address, this is counted as one program and erasure. However, data cannot be written to the same
adrress more than once without erasing the block. (Rewrite prohibited)
20.14.15
Flash Memory Version Electrical Characteristics 10,000 E/W cycle products (U7, U9)
If the number of Block A or B E/W cycle is already known to exceed 100, set the FMR17 bit in the FMR1
register to "1" (one wait) after reset. When the FMR17 bit is set to "1", one wait state is inserted per
access to Block A or B, regardless of the value of the PM17 bit in the PM1 register. Wait state insertion
during access to all other blocks, as well as to internal RAM, is controlled by PM17, regardless of the
setting of FMR17.
To use the limited number of erasure efficiently, write to unused address within the block instead of
rewrite. Erase block only after all possible address are used. For example, an 8-word program can be
written 128 times before erase becomes necessary.
Maintaining an equal number of erasure between Block A and B will also improve efficiency.
We recommend keeping track of the number of times erasure is used and limiting the number of erasure.
20.14.16 Boot Mode
An indeterminate value is sometimes output in the I/O port until the internal power supply becomes stable
_____________
when "H" is applied to the CNVSS pin and "L" is applied to the RESET pin.
When setting the CNVSS pin to "H", the following procedure is required:
____________
(1) Apply an "L" signal to the RESET pin and the CNVSS pin.
(2) Bring VCC to more than 2.7V, and wait at least 2msec.
(Internal power supply stable waiting time)
(3) Apply an "H" signal to the CNVSS pin.
____________
(4) Apply an "H" signal to the RESET pin.
____________
When the CNVSS pin is H and RESET pin is L, P67 pin is connected to the pull-up resister.
20.14.17 Standard Serial I/O Mode
In flash memory version (128 K + 4 K), a high-level ("H") signal is output from P93 for certain period of time
in standard serial I/O mode. In standard serial I/O mode, input an "H" signal to P93 or leave the port
open.
page 378
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
20. Precautions
20.15 Noise
Connect a bypass capacitor (approximately 0.1µF) across the VCC and VSS pins using the shortest and
thicker possible wiring. Figure 20.6 shows the bypass capacitor connection.
Figure 20.6 Bypass Capacitor Connection
20.15.1 Trace of Print Board (85-pin Package)
Creat a layout with thick lines as shown in Figure 20.7 for the trace around clock pins on the print board
to avoid the effect of noise input from other pins to the clock pins (XIN, XOUT, XCIN, XCOUT).
M16C/28 Group
Bypass Capacitor
Connecting PatternConnecting Pattern
VSS VCC
A
10
P0
6
P0
7
P1
1
55
P1
4
52
P1
7
50
P2
1
47
P2
4
44
P2
7
42
P6
1
38
P3
1
6
P0
5
63
P0
4
59
P1
0
56
P1
3
53
P1
6
51
P2
0
48
P2
3
45
P2
6
43
P6
0
39
P3
0
6
P0
3
65
P0
2
66
P0
1
57
P1
2
54
P1
5
(Vss)*
49
P2
2
46
P2
5
41
P6
2
40
P6
3
6
P0
0
68
P10
7
69
P10
6
37
P3
2
36
P3
3
35
P3
4
7
P10
5
71
P10
4
(Vss)*
34
P3
5
33
P3
6
32
P3
7
7
P10
1
73
P10
2
72
P10
3
(Vss)*
31
P6
4
30
P6
5
7
Vref
76
P10
0
75
AVss (Vss)*
29
P6
6
28
P6
7
27
P7
0
7
AVcc
79
P9
7
4
P9
1
9
RESE
T
11
Vss
14
P8
5
17
P8
2
26
P7
1
25
P7
2
24
P7
3
8
P9
6
2
P9
3
5
P9
0
7
P8
7
/XCIN
12
XIN
13
Vcc
16
P8
3
19
P8
0
23
P7
4
22
P7
5
1
P9
5
3
P9
2
6
CNVss
8
P8
6
/XCOUT
10
XOUT
13
Vcc
15
P8
4
18
P8
1
21
P7
6
20
P7
7
61 60 58
9
8
7
6
5
4
3
2
1
BCDEFGHJK
(11)
(11)
(11)
(11)
Figure 20.7 Recommended Print Board Trace around Clock Pins
page 379
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
20. Precautions
20.16 Instruction for a Device Use
When handling a device, extra attention is necessary to prevent it from crashing during the electrostatic
discharge period.
page 380
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Appendix 1. Package Dimensions
Appendix 1. Package Dimensions
Terminal cross section
b
1
c
1
b
p
c
2.
1. DIMENSIONS "*1" AND "*2"
DO NOT INCLUDE MOLD FLASH.
NOTE)
DIMENSION "*3" DOES NOT
INCLUDE TRIM OFFSET.
Index mark
*3
17
32
64
49
116
3348
F
*1
*2
x
y
b
p
H
E
E
H
D
D
Z
D
Z
E
Detail F
A
c
A
2
A
1
L
1
L
P-LQFP64-10x10-0.50 0.3g
MASS[Typ.]
64P6Q-A / FP-64K / FP-64KVPLQP0064KB-A
RENESAS CodeJEITA Package Code Previous Code
1.0
0.125
0.18
1.25
1.25
0.08
0.20
0.145
0.09
0.250.200.15
MaxNomMin
Dimension in Millimeters
Symbol
Reference
10.110.0
9.9
D10.110.0
9.9
E1.4
A
2
12.212.011.8 12.212.011.8 1.7
A0.15
0.1
0.05
0.65
0.5
0.35
L
x
c
0.5
e
0.08
y
H
D
H
E
A
1
b
p
b
1
c
1
Z
D
Z
E
L
1
e
Detail F
c
A
L
1
L
A
1
A
2
Index mark
y
*2
*1
*3
F
80
61
60 41
40
21
20
1
x
Z
E
Z
D
E
H
E
D
H
D
eb
p
2.
1. DIMENSIONS "*1" AND "*2"
DO NOT INCLUDE MOLD FLASH.
NOTE)
DIMENSION "*3" DOES NOT
INCLUDE TRIM OFFSET.
Previous CodeJEITA Package Code RENESAS Code
PLQP0080KB-A 80P6Q-A MASS[Typ.]
0.5gP-LQFP80-12x12-0.50
1.0
0.125
0.18
1.25
1.25
0.08
0.200.1450.09
0.250.200.15
MaxNomMin
Dimension in Millimeters
Symbol
Reference
12.112.011.9
D12.112.011.9
E1.4
A
2
14.214.013.8 14.214.013.8 1.7
A0.20.1
0
0.70.50.3
L
x
10°0°
c
0.5
e
0.08
y
H
D
H
E
A
1
b
p
b
1
c
1
Z
D
Z
E
L
1
Terminal cross section
c
bp
c
1
b
1
page 381
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Appendix 1. Package Dimensions
109
K
J
A
H
G
F
E
D
C
B
12345678
S
B
A
S
yS
AB
Index mark
SAB
v
x4
(Laser mark)
Index mark
S
A
wS
wB
D
E
A
b1
b
0.390.350.31
b
b
1
y0.10
e0.65
x
A1.05
E7.0
D7.0
Reference
Symbol
Dimension in Millimeters
Min Nom Max
0.39 0.43 0.47
0.08
P-TFLGA85-7x7-0.65 0.1g
MASS[Typ.]
85F0GPTLG0085JB-A
RENESAS CodeJEITA Package Code Previous Code
w0.20
v0.15
e
e
page 382
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Appendix 2. Functional Comparison
Appendix 2. Functional Comparison
Appendix 2.1
Difference between M16C/28 Group Normal-ver. and M16C/28 Group T-ver./V-ver.
(1
)
metInoitpircseD).rev-lamroN(82/C61M).rev-V/.rev-T(82/C61M
kcolC noitareneG tiucriC
noitcnuf(noitcnuftuptuokcolC 0MCehtnistib0bot1bfo )retsiger )tibdevreser(elbaliavatoN tcelesnoitcnuftuptuokcolc(elbaliavA )tib
teseRtiucriCtceteDegatloVwoL 9100fonoitcnuf(
61
A100,
61
,
F100
61
)
,1retsigertcetedegatlov(elbaliavA egatlovwol,2retsigertcetedegatlov )retsigertpurretnitceted )retsigerdevreser(elbaliavatoN
esahp-eerhT lortnoCrotoM remiT
gnihctiwstropesahp-eerhT 8530fonoitcnuf(noitcnuf
61
))retsigerdevreser(elbaliavatoN tcelesnoitcnuftrop(elbaliavA )retsiger
D/A niptupniD/AforebmuN3NAgnidulcxe(slennahc42
0
3NAot
2
)3NAgnidulcni(slennahc72
0
3NAot
2
)
0edomreggirtdeyaleD noisrevpihcts1ehtnielbaliavatoN Anoisrevpihcdna elbaliavA
1edomreggirtdeyaleD noisrevpihcts1ehtnielbaliavatoN Anoisrevpihcdna elbaliavA
CRC noitaluclaC -CRCotelbitapmoc(elbaliavA )sdohtem61-CRCdnaTTICC erasretsigerdetalerlla(elbaliavatoN )sretsigerdevreser )tiucric1(elbaliavA
noitcnuFniP,)egakcapnip-58/nip-08(snip3 ).egakcapnip-46(snip46 9P
2
2BT/
NI
9P
2
3NA/
2
2BT/
NI
,)egakcapnip-08(snip4 )egakcapnip-46(nip1 9P
1
1BT/
NI
9P
1
3NA/
1
1BT/
NI
,)egakcapnip-08(snip5 )egakcapnip-46(snip2 9P
0
0BT/
NI
9P
0
3NA/
0
0BT/
NI
KLC/
TUO
hsalF yromeM 9P
3
edomO/Ilairesdradnatsni )noisrevetybK821nahtrehto(I )noisrevetybK821(O/I I
tuptuodnatupnI:O/ItuptuO:OtupnI:I
:ETON rofelbaliavaerasnoitcnufehtlla,puorG92/C61MehtnidesurotalumenommocehtsesupuorG82/C61MehtecniS.1 .puroG82/C61Mehtni-tliubtonsihcihwRFSehtotsseccatonod,puorG82/C61MgnitaulavenehW.82/C61M .scitsiretcarahclacirtcelednasliatedroflaunamerawdrahoterefeR
page 383
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Appendix 2. Functional Comparison
Appendix 2.2 Difference between M16C/28 Group and M16C/29 Group (Normal-ver.) (1)
metInoitpircseD).rev-lamroN(82/C61M).rev-lamroN(92/C61M
kcolC noitareneG tiucriC
noitcnuf(noitcnuftuptuokcolC 0MCehtnistib0bot1bfo )retsiger )tibdevreser(elbaliavatoN tcelesnoitcnuftuptuokcolc(elbaliavA )tib
noitcetorP tib0CRPehtfonoitcnuF ,2MC,1MC,0MCehttesotelbanE sretsigerRKLCPdna0CLP,RCOP
,2MC,1MC,0MCehttesotelbanE RKLCCdnaRKLCP,0CLP,RCOP sretsiger
tpurretnIehtnignittestib02RSFIehT retsigerA2RSFI 1otteS0otteS
A2RSFIehtnitib1behT retsiger )tibdeveser(elbaliavatoN D/A:0(tibgnihctiwsesuactpurretnI )tupniyek:1,noisrevnoc
A2RSFIehtnitib2behT retsiger )tibdeveser(elbaliavatoN 0NAC:0(tibgnihctiwsesuactpurretnI )rorre/pu-ekaw
tpurretnIehtniesuactpurretnI 31rebmun tpurretnitupniyeKrorre0NAC
tpurretnIehtniesuactpurretnI 41rebmun tpurretnitupniyeKtpurretnitupniyek,D/A
esahp-eerhT lortnoCrotoM remiT
gnihctiwstropesahp-eerhT 8530fonoitcnuf(noitcnuf
61
))retsigerdevreser(elbaliavatoN )retsigertcelesnoitcnuftrop(elbaliavA
D/A niptupniD/AforebmuNNAgnidulcxe(slennahc42
03
NAot
23
)NAgnidulcni(slennahc72
03
NAot
23
)
0edomreggirtdeyaleD noisrevpihcts1ehtnielbaliavatoN Anoisrevpihcdna elbaliavA
1edomreggirtdeyaleD noisrevpihcts1ehtnielbaliavatoN Anoisrevpihcdna elbaliavA
eludomNAC B0.2otelbitapmoc erasretsigerdetalerlla(elbaliavatoN )sretsigerdevreser )lennahc1(elbaliavA
CRC noitaluclaC -CRCotelbitapmoc(elbaliavA )sdohtem61-CRCdnaTTICC erasretsigerdetalerlla(elbaliavatoN )sretsigerdevreser )tiucric1(elbaliavA
noitcnuFniP,)egakcapnip-58/nip-08(snip2 )egakcapnip-46(snip26 9P
3
2NA/
4
9P
3
2NA/
4
XTC/
,)egakcapnip-58/nip-08(snip3 )egakcapnip-46(snip46 9P
2
2BT/
NI
9P
2
3NA/
2
2BT/
NI
XRC/
,)egakcapnip-58/nip-08(snip4 )egakcapnip-46(nip1 9P
1
1BT/
NI
9P
1
3NA/
1
1BT/
NI
,)egakcapnip-58/nip-08(snip5 )egakcapnip-46(snip2 9P
0
0BT/
NI
9P
0
3NA/
0
0BT/
NI
KLC/
TUO
hsalF yromeM 9P
3
O/Ilairesdradnatsni
edom )noisrevetybK821nahtrehto(I )noisrevetybK821(O/I tuptuoXTC
tuptuodnatupnI:O/ItuptuO:OtupnI:I
:ETON rofelbaliavaerasnoitcnufehtlla,puorG92/C61MehtnidesurotalumenommocehtsesupuorG82/C61MehtecniS.1 .puroG82/C61Mehtni-tliubtonsihcihwRFSehtotsseccatonod,puorG82/C61MgnitaulavenehW.82/C61M .scitsiretcarahclacirtcelednasliatedroflaunamerawdrahoterefeR
Page 384
Register Index
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
Register Index
A
AD0 to AD7 221
ADCON0 to ADCON2 219
ADIC 73
ADSTAT0 221
ADTRGCON 220
AIER 85
B
BCNIC 73
BTIC 73
C
CM0 46
CM1 47
CM2 48
CPSRF 102,115
D
D4INT 37
DAR0 92
DAR1 92
DM0CON 91
DM0IC 73
DM0SL 90
DM1CON 91
DM1IC 73
DM1SL 91
DTT 126
F
FMR0 308
FMR1 308
FMR4 309
G
G1BCR0 137
G1BCR1 138
G1BT 137
G1BTRR 139
G1DV 138
G1FE 143
G1FS 143
G1IE0 145
G1IE1 145
G1IR 144
G1PO0 to G1PO7 142
G1POCR0 to G1POCR7 141
G1TM0 to G1TM7 141
G1TMCR0 to G1TMCR7 140
G1TPR6 to G1TPR7 140
I
ICOC0IC 73
ICOC1IC 73
ICTB2 126,127
IDB0 126
IDB1 126
IFSR 74,82
IFSR2A 74
IICIC 73
INT0IC to INT2IC 73
INT3IC 73
INT4IC 73
INT5IC 73
INVC0 124
INVC1 125
K
KUPIC 73
L
LPCC0 351
LPCC1 351
N
NDDR 293
O
ONSF 102
P
P0 to P3 290
P17DDR 293
P6 to P10 290
PACR 172,292
PCLKR 49
PCR 292
Page 385
Register Index
583fo7002,13.naJ00.2.veR 0020-7400B90JER
)B82/C61M,82/C61M(puorG82/C61M
PD0 to PD3 289
PD6 to PD10 289
PDRF 134
PLC0 50
PM2 49
PRCR 66
PUR0 to PUR2 291
R
RMAD0 85
RMAD1 85
ROCR 47
ROMCP 303
S
S00 253
S0D0 252
S0RIC to S2RIC 73
S0TIC to S2TIC 73
S10 255
S1D0 254
S20 253
S2D0 258
S3BRG 213
S3C 213
S3D0 256
S3IC 73
S3TRR 213
S4BRG 213
S4C 213
S4D0 257
S4IC 73
S4TRR 213
SAR0 92
SAR1 92
SCLDAIC 73
T
TA0 to TA4 101
TA0IC to TA4IC 73
TA0MR to TA4MR 100
TA11 127
TA1MR 130
TA2 127
TA21 127
TA2MR 130
TA4 127
TA41 127
TA4MR 130
TABSR 101,115,129
TB0 to TB2 115
TB0IC to TB2IC 73
TB0MR to TB2MR 114
TB2 129
TB2MR 130
TB2SC 128,222
TCR0 92
TCR1 92
TRGSR 102,129
U
U0BRG to U2BRG 169
U0C0 to U2C0 171
U0C1 to U2C1 172
U0MR to U2MR 170
U0RB to U2RB 169
U0TB to U2TB 169
U2SMR 173
U2SMR2 173
U2SMR3 174
U2SMR4 174
UCON 171
UDF 101
V
VCR1 36
VCR2 36
W
WDC 87
WDTS 87
REVISION HISTORY
Rev. Date Description
Page Summary
C-1
M16C/28 Group (M16C/28, M16C/28B) Hardware Manual
New Document
All Pages New chapters added
Chapter, Table and Figure numbers modified
Words standardized: On-chip oscillator, A/D converter and D/A converter, EW
mode 0,1, IEBus, I2C bus
Description of T-ver./V-ver. are deleted
Chapter sequence modified
Overview
1 1.1 Applications motor control added
2, 3 Table 1.1 and 1.2 Performance Outline
Description relating to T-ver./V-ver. are deleted, power consumption values
modified, package type is modified, Note 3 added
4, 5 Figure 1.1 and 1.2 Block Diagram Block diagrams revised
6 1.4 Product List description partly added
Figure 1.3 Product List (1) Normal-ver. Mask ROM, T and V versions deleted
Figure 1.4 Product Numbering System Product code, version, ROM capacity,
and memory type modified
7 Table 1.4 Product Code (Flash Memory-ver.) - M16C/28 Group Normal-ver.
added
Figure 1.4 Marking Diagram-M16C/28 Group Normal-ver. added
8, 9 Figure 1.5 Pin Assignment (Top View) of 80-pin Package and Figure 1.5 Pin
Assignment (Top View) of 80-pin Package modified
10 Table 1.5 and 1.6 Pin Description Description of T/V-ver.deleted, description
of P90 to P93, P95 to P7 partially modified
Memory
14 Outline modified
Figure 3.1 Memory Map Note 2 added
SFR
15 - 21 •“X: Nothing is mapped to this bit modified to X: Indeterminate
?: Value indeterminate at reset deleted
Register names, symbols, value after RESET of addresses 025A16,035816, de-
leted
Value after reset of WDTS, WDC, SAR0, DAR0, TCR0, SAR1, DAR1, TCR1,
DM1CON, INT3IC, ICOC0IC, ICOC1IC/IICIC, BTIC/SCLDAIC, S4IC/INT5IC,
S3IC/INT4IC, BCNIC, DM0IC, DM1IC, KUPIC, ADIC, S2TIC, S2RIC, S0TIC,
S0RIC, S1TIC, SRIC, TA0IC TO TA4IC, TB1IC, TB2IC, INT0IC to INT2IC,
FMR1, FMR0, S00, G1TM0/G1PO0 to G1TM7/G1PO7, G1POCR0 to
G1POCR7, G1BT, G1BTRR, G1IR, TA11, TA21, TA41, IDB0, IDB1, DTT,
ICTB2, S3TRR, S3BRG, S4TRR, S4BRG, U2BRG, U2TB, U2RB, TA0 to TA4,,
0.60 Feb., 04
1.00 Jul., 05
REVISION HISTORY
Rev. Date Description
Page Summary
C-2
M16C/28 Group (M16C/28, M16C/28B) Hardware Manual
TB0 to TB2, TB0MR to TB2MR, U0BRG, U0TB, U0RB, U1BRG, U1TB, U1RB,
AD0 to AD7, ADTRGCON, ADSTAT0, ADCON0, P0 to P3, and P6 to P10 regis-
ters revised
15 Table 4.1 SFR Infromation (1) Note 3 modified
Reset
22 5.1.2 Hardware Reset 2 modified
25 Figure 5.4 Voltage Detection Circuit Block modified
5.5 Voltage Detection Circuit Note added, information partially deleted
(Figure 5.5.2 WDC Register) Figure deleted
26 Figure 5.5 VCR1 Register, VCR2 Register, and D4INT Register Voltage
detection register 2: former note 4 deleted, b5-b4 revised; Voltage down detec-
tion interrupt register: (4) of note 5 added
27 Figure 5.6 Typical Operation of Hardware Reset 2 revised
28 5.5.1 Voltage Detection Interrupt modified
30 5.5.2 Limitations on Stop Mode modified
5.5.3 Limitations on WAIT Instruction modified
Processor Mode
30 Figure 6.2 PM1 Register Reserved bit map modified, note 2 modified
Clock Generation Circuit
35 Figure 7.3 CM1 Register Note 6 modified
Figure 7.4 ROCR Register b7-b4 revised
37 Figure 7.6 PCLKR Register and PM2 Register PCLKR Register: PCLK0 and
PCLK1 modified; PM2 Register: reserved bit map modified, note 2 and note 4
modified
39 7.1 Main Clock modified
41 7.3 On-chip Oscillator Clock modified
43 7.5.2 Peripheral Function Clock(f1, f2, f 8, f32, f2SIO, f8SIO, fAD, fc32) modified
45 Table 7.3 Setting Clock Related Bit and Modes modified
46 Table 7.4 Interrupts to Exit Wait Mode Timer S added
47 7.6.3.1 Entering Stop Mode modified
48 Figure 7.11 State Transition to Stop Mode and Wait Mode Figure revised,
description added, note 5 modified
49 Figure 7.12 State Transition in Normal Mode description added
50 Table 7.5 Allowed Transition and Setting note 1 and note 2 modified
Protection
54 NDDR register added
Interrupt
58 Table 9.1 Fixed Vector Tables note 2 added
60 9.3 Interrupt Control IFSR21 bit added
REVISION HISTORY
Rev. Date Description
Page Summary
C-3
M16C/28 Group (M16C/28, M16C/28B) Hardware Manual
64 Figure 9.5 Time Required for Executing Interrupt Sequence note 2 added
68 Figure 9.9 Hardware Interrupt Priority Watchdog timer added
70 ______
9.6 INT Interrupt modified
71 ______
9.7 NMI Interrupt modified
9.8 Key Input Interrupt modified
72 9.9 Address Match Interrupt modified
Watchdog Timer
74, 75 Figure 10.1 Watchdog Timer Block Diagram and Figure 10.2 WDC Register
and WDTS Register moved
75 Figure 10.2 WDC Register and WDTS Register WDC Register: note 1 and
note 2 modified
76 10.2 Cold Start/Warm Start added with Figure 10.3 Cold start/Warm start
Operation Example
DMAC
77 note added
83 Figure 11.5 Transfer Cycles for Source Read (2) is modified
Timer
90 Figure 12.5 TA0 to TA4 Registers, TABSR Register, and UDF Register
Timer Ai Register: note 3 modified
101 Figure 12.12 TAiMR Register in Pulse Width Modulation Mode b2 modified,
reserved bit map modified
110 Figure 12.23 TBiMR Register in A/D Trigger Mode Note 1 added
Figure 12.24 TB2SC Register Reserved bit map modified
111 Table 12.10 Three-phase Motor Control Timer Function Specifications
Note 2 modified
113 Figure 12.26 INVC0 Register Note 1, 3, 5, 6 modified, note 10 deleted
114 Figure 12.27 INVC1 Register INV13 bit modified, note 2 added, note 6 modi-
fied
115 Figure 12.28 IDB0 Register, IDB1 Register, DTT Register, and ICCTB2 Reg-
ister Values after reset modified, b7-6 in the ICTB2 register modified, reserved
bit map for the ICTB2 register modified
116 Figure 12.29 TA1, TA2, TA4, TA11, TA21 and TA41 Register Values after
reset modified, note 6 modified
117 Figure 12.30 TB2SC Register Reserved bit map modified
Timer S
126 Figure 13.2 G1BT and G1BCR0 Register Values after reset modified,
G1BCR0 Register: note 3 added
127 Figure 13.3 G1BCR1 Registers Value after reset modified, note 1 modified
128 Figure 13.4 G1BTRR Register modified
REVISION HISTORY
Rev. Date Description
Page Summary
C-4
M16C/28 Group (M16C/28, M16C/28B) Hardware Manual
129 Figure 13.5 G1TMCR0 to G1TMCR7 Registers, and G1TPR6 to G1TPR7
Registers Values afte reset modified, G1TPR6 to G1TPR7 Registers: note 2
modified
130 Figure 13.6 G1TM0 to G1TM7 Registers, and G1POCR0 to G1POCR7 Reg-
isters G1POCR0 to G1POCR7 Registers: Note 3 and 4 added
131 Figure 13.7 G1PO0 to G1PO7 Registers Value after reset modified
132 Figure 13.8 G1FS and G1FE Registers Value after reset modified, G1FE Reg-
ister: note 2 added
133 Figure 13.9 G1IR Register Value after reset modified, note 1 modified, note 2
deleted
134 Figure 13.10 G1IE0 and G1IE1 Register Value after reset modified
135 Table 13.2 Base Timer Specifications Selectable function modified
146 13.5.1 Single-Phase Waveform Output Mode modified
Table 13.8 Single-phase Waveform Output Mode Specifications Output
waveform modified
147 Figure 13.22 Single-phase Waveform Output Mode (1)Free-running opera-
tion modified
148 Table 13.9 Phase-delayed Waveform Output Mode Specifications Output
waveform modified, note 1 deleted
149 Figure 13.23 Phase-delayed Waveform Output Mode (1)Free-running opera-
tion modified
150 Table 13.10 SR Waveform Output Mode Specifications Output waveform
modified
151 Figure 13.24 Set/reset Waveform Output Mode (1)Free-running operation
modified
Serial I/O
154 Note added
158 Figure 14.4 U0TB to U2TB, U0RB to U2RB, U0BRG to U2BRG Registers
U0RB to U2RB Registers: note 2 modified, U0BRG to U2BRG Registers: note 2
modified
160 Figure 14.6 U0C0 to U2C0, UCON Registers U0C0 to U2C0 Registers: note 4
to 6 added; UCON Register: note 2 added
161 Figure 14.7 U0C1 and U1C1 Registers, U2C1 Register, PACR Register
PACR register: figure added
164 Table 14.1 Clock Synchronous Serial I/O Mode Specifications Select func-
tion modified
165 Table 14.2 Registers to Be Used and Settings in Clock Synchronous Serial
I/O Mode Registers modified
166 Table 14.3 Pin Functions Note 1 added
REVISION HISTORY
Rev. Date Description
Page Summary
C-5
M16C/28 Group (M16C/28, M16C/28B) Hardware Manual
166 Table 14.4 P64 Pin Functions Note 1 added
167 Figure 14.10 Typical transmit/receive timings in clock synchronous serial I/
O mode Example of receive timing: figure modified
168 14.1.1.1 Counter Measure for Communication Error Occurs added
170 Figure 14.14 Transfer Clock Output From Multiple Pins Note 2 added
171 Figure 14.15 CTS/RTS Separate Function Usage Note 1 added
172 Table 14.5 UART Mode Specifications Transfer clock modified
174 Table 14.8 P64 Pin Functions in UART mode Note 1 added
176 Figure 14.17 Receive Operation revised
14.1.2.1 Bit Rates added
Table 14.9 Example of Bit Rates and Settings added
177 14.1.2.2 Counter Measure for Communication Error added
179 ______ ______
Figure 14.21 CTS/RTS Separate Function Note 1 added
180 Table 14.10 I2C bus Mode Specifications Transfer clock modified
185 Figure 14.23 Transfer to U2RB Register and Interrupt Timing modified
186 Figure 14.24 Detection of Start and Stop Condition modified
187 Table 14.14 STSPSEL Bit Functions modified
190 Table 14.15 Special Mode 2 Specifications Transfer clock modified
194 14.1.5 Special Mode 3 (IEBus mode)(UART2) modified
196 Table 14.18 SIM Mode Specifications Transfer clock modified
198 Figure 14.31 Transmit and Receive Timing in SIM Mode revised
202 Figure 14.36 S3C and S4C Registers, S3BRG and S4BRG Registers, and
S3TRR and S4TRR Registers Value after reset modified; S3C and S4C Regis-
ters: note 4 modified
203 Table 14.20 SI/O3 and SI/O4 Mode Specifications Transfer clock modified
204 Figure 14.38 Polarity of Transfer Clock modified
A/D Converter
206 Note added
Table 15.1 A/D Converter Performance Integral Nonlinearity Error modified
210 Figure 15.4 ADCON0 to ADCON2 Registers ADCON2 register: b2-b1 function
modified
211 Figure 15.5 TB2SC Register b6-b5 modified, reserved bit area modified
213 Figure 15.4 ADCON0 to ADCON2 Registers in One-shot Mode ADCON2
register: b2-b1 function modified
215 Figure 15.9 ADCON0 to ADCON2 Registers in Repeat Mode ADCON2 regis-
ter: b2-b1 function modified
217 Figure 15.11 ADCON0 to ADCON2 Registers in Single Sweep Mode
ADCON2 register: b2-b1 function modified
REVISION HISTORY
Rev. Date Description
Page Summary
C-6
M16C/28 Group (M16C/28, M16C/28B) Hardware Manual
219 Figure 15.13 ADCON0 to ADCON2 Registers in Repeat Mode 0 ADCON2
register: b2-b1 function modified
221 Figure 15.15 ADCON0 to ADCON2 Registers in Repeat Mode 1 ADCON2
register: b2-b1 function modified
223 Figure 15.17ADCON0 to ADCON2 Registers in Simultaneous Sample
Sweep Mode ADCON1 register: reserved bit map modified; ADCON2 register:
b2-b1 function modified
229 Figure 15.22 ADCON0 to ADCON2 Registers in Delayed Trigger Mode 0
Reserved bit map modified; ADCON1 register: b7-b6 modified; ADCON2 regis-
ter: b2-b1 function modified
230 Figure 15.23 ADTRGCON Register in Delayed Trigger Mode 0 Reserved bit
map modified
235 Figure 15.27 ADCON0 to ADCON2 Registers in Delayed Trigger Mode 1
Reserved bit map modified; ADCON1 register: b7-b6 modified; b2-b1 function
modified
236 Figure 15.28 ADTRGON Register in Delayed Trigger Mode 1 Reserved bit
map modified
237 15.3 Sample and Hold modified
238 Section deleted: [15.5 Analog Input Pin and External Sensor Equivalent Cir-
cuit Example]
Section deteled: [15.6 Precautions of Using A/D Converter deteled]
15.5 Output Impedance of Sensor under A/D Conversion added
Multi-master I2C bus Interface
- Word standardized: ACK-CLK bit
Symbol used for registers
239 Table 16.1 Multi-master I2C bus Interface Functions I/O pin added
242 Figure 16.3 S00 and S20 Register S00 register: Note 1 modified
243 Figure 16.4 S1D0 Register Reserved bit map modified
244 Figure 16.5 S10 Register b7-b6 modified
245 Figure 16.6 S3D0 Register Note 1 and note 2 added, b7-b6 function modified
246 Figure 16.7 S4D0 Register Note 1 added, reserved bit map modified
247 16.1 I2C Data Shift Register (S00 Register) modified
250 Table 16.3 Set Values of S20 Register and SCL freqency Title modified
253 16.5.1 Bit 0: Last Receive Bit (LRB) modified
16.5.2 Bit 1: General call detection flag (ADR0) modified, note 1 modified
16.5.3 Bit 2: Slave address comparison flag (AAS) modified
254 16.5.5 Bit 4: I2C Bus Interface Interrupt Request Bit (PIN) modified
255 16.5.7 Bit 6: Communication Mode Select Bit (Transfer Direction Select
Bit: TRX) modified
REVISION HISTORY
Rev. Date Description
Page Summary
C-7
M16C/28 Group (M16C/28, M16C/28B) Hardware Manual
255 16.5.8 Bit 7: Communication mode select bit (master/slave select bit: MST)
modified
258 16.6.5 Bits 6, 7: I2C System Clock Select Bits ICK0, ICK1 modified
266 Figure 16.20 Address data communication format moved
270 (3) Limitation of CPU Clock, 16.14 Precautions modified
Programmable I/O Ports
271 Note added
272 17.6 Digital Debounce Function Filter width formula modified
282 Figure 17.12 NDDR and P17DDR Register Functions modified, P17DDR reg-
ister: note 1 added
283 Figure 17.13 Functioning of Digital Debounce Filter Title added, procedure
note modified
284 Table 17.1 Unassigned Pin Handling in Single-chip Mode Note 5 added
Figure 17.14 Unassigned Pin Handling Note modified
Flash Memory
285 18.1 Flash Memory Performance modified
Table 18.1 Flash Memory Version Specifications modified, note modified
287 18.2 Memory Map modified
292 18.4 CPU Rewrite Mode modified
294 18.5.1 Flash Memory Control Register 0 (FMR0) FMSTP Bit modified
295 18.5.2 Flash Memory Control Register 1 (FMR1) FMR17 Bit modified
296 Figure 18.6 FMR0 and FMR1 Registers FMR0 register: note 3 modified, value
after reset modified; FMR1 register: note 3 modified, reserved bit map modified,
FMR6 modified
300 18.6.3 Interrupts EW1 mode modified
301 18.6.9 Stop Mode modified
304 18.7.5 Block Erase modified
Figure 18.12 Flow Chart of Block Erase Comman (when not using erase
suspend function) Note 3 modified
310 Table 18.7 Pin Functions (Flash Memory Standard Serial I/O Mode) P16 pin
added
311 Figure 18.15 Pin Connections for Serial I/O Mode (1) P16 pin added, note
modified
312 Figure 18.16 Pin Connections for Serial I/O Mode (2) P16 pin added, note
modified
313 Figure 18.17 Circuit Application in Standard Serial I/O Mode 1 P16 pin
added, note 1 modified
314 Figure 18.18 Circuit Application in Standard Serial I/O Mode 2 P16 pin
added, note 1 modified
REVISION HISTORY
Rev. Date Description
Page Summary
C-8
M16C/28 Group (M16C/28, M16C/28B) Hardware Manual
Electrical Characteristics
- Description of T-ver. and V-ver. deleted
316 Table 19.1 Absolute Maximum Ratings Condition of Pd modified, Parameter /
condition/value of Topr modified
317 Table 19.2 Recommended Operating Conditions Standard values of VIH, VIL,
f1(ROC), f2(ROC), f3(ROC) modified, parameter of VIH and VIL modified, note 4
modified
318 Table 19.3 A/D Conversion Characeristics Standard values of INL modified,
tSAMP deleted, note 4 added
319 Table 19.4 Flash Memory Version Electrical Characteristics: Program Area
for U3 and U5, Data Area for U7 and U9 Standard values of Erase/Write cycle,
td(SR-ES) modified, tps deleted
Table 19.5 Flash Memory Version Electrical Characteristics: Data Area for
U7 and U9 Standard values of Erase/Write cycle, td(SR-ES) modified, tps
added, data retention time added, note 1, 3, 8 modified, note 11 and 12 added
320 Table 19.6 Low Voltage Detection Circuit Electrical Characteristics Mea-
suring condition and standard values modified, note 4 added
Table 19.7 Power Supply Circuit Timing Characteristcs Standard values
modified, note 2 and 3 deleted
321 Figure 19.1 Power Supply Timing Diagram modified
322 Table 19.8 Electrical Characteristics Hysteresis XIN added
323 Table 19.9 Electrical Characteristics(2) Measuring condition and standard
values modified, Idet2 deleted, note 4 modified
326 Table 19.21 Serial I/O Standard value of tSU(D-C) modified
328 Figure 19.2 Timing Diagram(1) Figure of XIN Input added
330 Table 19.24 Electrical Characteristics Hysteresis XIN added
331 Table 19.25 Electrical Characteristics(2) Measuring condition and standard
values modified, Idet2 deleted, note 4 modified
334 Table 19.37 Serial I/O Standard value of tSU(D-C) modified
336 Figure 19.5 Timing Diagram(1) Figure of XIN Input added
Precautions
- Chapter structure modified
338 20.2 Reset Section and
Table 20.1 Power Supply Increasing Slope added
339 20.3.1 PLL Frequency Synthesizer modified
Figure 20.2 Voltage Fluctuation Timing added
340 20.3.2 Power Control Subsection sequence modified, 2., 3. and 4. information
modified
343 20.5.2 Setting the SP modified
REVISION HISTORY
Rev. Date Description
Page Summary
C-9
M16C/28 Group (M16C/28, M16C/28B) Hardware Manual
343 ______
20.5.3 NMI Interrupt 6. information added
344 ______
20.5.5 INT Interrupt 3. information added
348 20.7.1.3 Timer A (One-shot Timer Mode) 6. information added
350 20.7.1.4 Timer B (Pulse Width Modulation Mode) 2. information modified
20.7.2.2 Timer B (Event Counter Mode) 2. information modified
352 20.8.1 Rewrite G1IR Register modified
Figure 20.3 IC/OC Interrupt Flow Chart added
353 20.8.2 Rewrite the ICOCiIC Register added
20.8.3 Waveform Generating Function added
354 20.9.1.1 Transmission/reception 2. information modified
355 20.9.2.1 Special Mode (I2C bus Mode) added
358 20.11 Multi-master I2C bus Interface added
359 20.12 Programmable I/O Ports 2. and 3. information modified
361 20.14.1 Functions to Inhibit Rewriting Flash Memory Rewrite modified
20.14.2 Stop Mode modified
20.14.4 Low Power Disspation Mode, On-chip Oscillator Low Power Dissipation
Mode modified
20.14.7 Operating Speed modified
362 20.14.13 Regarding Programming/Erasure Times and Execution Time
modified
363 20.14.14 Definition of Programming/Erasure Times added
20.14.15 Flash Memory version Electrical Characteristics 10,000 E/W cycle
products (U7, U9) added
20.14.16 Boot Mode added
364 20.15 Noise added
365 20.16 Instruction fo Devise Use added
Appendix 2. Functional Comparison
- New chapter
Flash Memory Version
285 Table 18.1 Flash Memory Version Specifications Topr value is added for data
retention specification
All Pages 85-pin plastic molded TFLGA package and mask ver. are added
Package type number is updated
Words standardized: Low voltage down detection, I2C mode, SDA2, SCL2
Overview
2 Table 1.1 and 1.2 Performance Outline
Program and erase endurance inflash memory and operating ambient tempera-
ture are modified
6 Table 1.3 Product List is updated
1.01 Jul., 05
1.10 Jan., 06
REVISION HISTORY
Rev. Date Description
Page Summary
C-10
M16C/28 Group (M16C/28, M16C/28B) Hardware Manual
7 Figure 1.3 Produt Numbering System is modified
8 Table 1.4 Product Code None-lead free packages are deleted
Table 1.5 Product Code - 85-pin Devise is added with note 1
9 Figure 1.4 Marking Diagram is modified
10 Figure 1.5 Pin Assignment of 85-pin Package is added
11 Table 1.6 to 1.8 Pin Characteristics for 85-, 80-, and 64-pin Packages are
added
19 Table 1.9 Pin Description Tables are modified
Memory
24 Figure 3.1 Memory Map Internal RAM and ROM areas are modified
Special Function Register
25 Table 4.1 SFR Information(1) Note 3 is deleted
27 Table 4.3 SFR Information(3) LPCC0 and LPCC1 registers are added, value
after reset of ROCR register is modified
Reset
35 Figure 5.4 Voltage Detection Circuit Block modified
37 Figure 5.7 Typical Operation of Voltage Down Detection Reset VC26 and
VC27 bit lines are modified
Clock Generation Circuit
45 Figure 7.1 Clock Generation Circuit Upper portion of figure is modified
45 Figure 7.4 ROCR Register Value after reset and reserved bit map are modified
47 Figure 7.6 PCLKR Register and PM2 Register Note 2 is modified
49 Figure 7.8 Examples of Main Clock Connection Circuit is modified
50 Figure 7.9 Examples of Sub Clock Connection Circuit is modified
58 Figure 7.11 State Transition to Stop Mode and Wait Mode Note 7 is added
between low-speed mode and low power dissipation mode
59 Figure 7.12 State Transition in Normal Mode Note 5 is simplified
63 Figure 7.13 Switching Procedure from On-chip Oscillator Clock to Main
Clock is modified
Interrupt
65 Note is modified
Watchdog Timer
84 Additional information of the WDTS register is inserted
85 Figure 10.2 WDC Register and WDTS Register Note 1 of WDTS register is
deleted
- 10.2 Cold Start/Warm Start Information is all deleted
DMAC
86 Note is modified
REVISION HISTORY
Rev. Date Description
Page Summary
C-11
M16C/28 Group (M16C/28, M16C/28B) Hardware Manual
Timer
124 Figure 12.28 IDB0 Register, IDB1 Register, DTT Register, and ICTB2 Regis-
ter Information of bit 7 and 6 is changed
Timer S
138 Figure 13.5 G1TMCR0 to G1TMCR7 Registers Note 4 is modified
135-142 Figure 13.2 to 13.9 Notes and description are modified
144-159 Table 13.2, 13.5, 13,8, 13.9 and 13.10 Output wave form and Selectable func-
tion are modified
Serial I/O
163 Note is modified
169 Figure 14.6 U0C0 to U2C0 Registers Note 2 is modified
180 _______ _______
14.1.1.7 CTS/RTS separate function (UART0) modified
207 Figure 14.31 Transmit and Received Timing in SIM Mode partially modified
211 Figure 14.36 S3C and S4C Registers Note 5 is added
Figure 14.36 S3BRG and S4BRG Registers Note 3 is added
A/D Converter
215 Note is modified
220 Figure 15.5 TB2SC Register Reserved bit map is modified
231 Table 15.8 Simultaneous Sample Sweep Mode Specifications Pin number
in Note 1 is modified
240 Table 15.12 Delayed Trigger Mode 1 Specifications Note 1 is modified
247 Figure 15.29 Analog Input Pin and External Sensor Equivalent Circuit Note
1 is added
Multi-master I2C bus INTERFACE
249 Figure 16.1 Block Diagram of Multi-master I2C bus Interface Bit name and
register name are modified
250 Figure 16.2 S0D0 Register Bit symbol is modified
251 Figure 16.3 S00 Register Note is modified
255 Figure 16.7 S4D0 Register Bit reserved map is modified
263 16.5.6 Bit 5: Bus Busy Flag (BB) Bit names are modified
269 16.7.1 Bit0: Time-Out Detection Function Enable Bit (TOE) is modified
19.7.5 Bit7: STOP Condition Detection Interrupt Request Bit (SCPIN) is
modified
Programmable I/O Ports
282-285 Figure 17.1 I/O Ports (1) to Figure 17.4 I/O Ports (4) are modified
Flash Memory Version
294 Table 18.1 Flash Memory Version Specifications Specifications of program/
erase endurance and protect method are partially modified; note 2 is modified
296 Figure 18.1 to Figure 18.3 Flash Memory Block Diagrams Information added
REVISION HISTORY
Rev. Date Description
Page Summary
C-12
M16C/28 Group (M16C/28, M16C/28B) Hardware Manual
299 Figure 18.4 Flash Memory Block Digram (ROM capacity 128K byte) is added
301 Figure 18.5 ROMCP Address is modified
302 Table 18.3 EW Mode 0 and EW Mode 1 Note 2 mark is modified
305 18.5.2 Flash Memory Control Register 1 (FMR1) FMR17 Bit is modified
306 Figure 18.7 FMR1 Register Reserved bit map is modified, note 1 is modified
307 Figure 18.8 FMR4 Register Note 2 is modified
308
Figure 18.10 Setting and Resetting of EW Mode 1 Note 1 deleted, Note 3 is added
320 Table 18.8 Pin Descriptions (Flash Memory Standard Serial I/O Mode) P90
to P97 are modified
Electrical Characteristics
326 Table 19.1 Absolute Maximum Ratings Parameter of Topr is partially modified
327 Table 19.2 Recommended Operating Conditions VIH and VIL are modified
329 Table 19.5 Flash Memory Version Electrical Characteristics Note 6 and
Note 8 are partially modified
332 Table 19.8 Electrical Characteristics(1) Condition of VOL and VT+-VT- are
modified
333 Table 19.9 Electrical Characteristics(2) Mask memory information is added,
note 5 is deleted
340 Table 19.24 Electrical Characteristics(1) Condition of VOL, VT+-VT-, and IIL
are modified
341 Table 19.25 Electrical Characteristics(2) Mask memory information is added,
note 5 is deleted
Precautions
348 20.1.3 For Flash Memory (128K + 4K) Version and Mask ROM Version is
added
Figure 20.1 LPCC0 Register and LPCC1 Register is added
351 20.3.2 Power Control Program example in 4. is modified
369 20.11.2 AL Flag is modified
372 20.14 Mask ROM Version is added
376 20.16.1 Trace of Print Board (85-pin Version) is added
Appendix 1. Package Dimensions
378 Dimensions are updated
379 85-pin version is added
Appendix 2. Functional Comparison
380 Appendix 2.1 Difference between M16C/28 Group Normal-ver. and M16C/
28 Group T-ver./V-ver. Information of three-phase motor control timer and
CRC calculation in M16C/28 (normal ver.) changed
381 Appendix 2.2 Difference between M16C/28 Group and M16C/29 Group
(Normal-ver.) Information of interrupt, three-phase motor control timer, CAN
REVISION HISTORY
Rev. Date Description
Page Summary
C-13
M16C/28 Group (M16C/28, M16C/28B) Hardware Manual
module, and CRC calculation in M16C/28 (Normal-ver.) changed
382 Appendix 2.3 Difference between M16C/28 and M16C/29 Groups (T-ver./V-
ver.) Information of CAN module changed
Overview
2, 3 Table 1.1 and Table 1.2 Performance Outline of M16C/28 Group Information
about option deleted
19 to 21 Table 1.10 Pin Description Description partially modified
Clock Generation Circuit
43 Figure 7.1 Clock Generation Circuit Figure partially modified
47 Figure 7.6 PCLKR Register and PM2 Register NOTE 4. partially modified
54 7.6.1 Normal Operation Mode Information partially modified
58 Figure 7.11 State Transition to Stop Mode and Wait Mode Figure partially
modified
59 Figure 7.12 State Transition in Normal Mode Figure partially modified
60 Table 7.5 Allowed Transition and Setting Table partially modified
- M16C/28B added, word standardized: I2C bus mode, CPU clock
Overview
1• 1.1 Features Description modified
2, 3 Tables 1.1 and 1.2 Performance Outline of M16C/28 Group Note 4 condition
for use of M16C/28B at f(BCLK) = 24 MHz added, performance description modi-
fied and some added
6• Table 1.3 Product List-M16C/28 Product code partially deleted
Table 1.4 Product List-M16C/28B Normal-ver. newly added
7• Figure 1.3 Product Numbering System modified
8• Tables 1.5 to 1.8 Product Code Partially modified
10 • Figure 1.5 Pin Assignment (Top View) of 85-pin Package Note 4 added
11, 12 Table 1.7 Pin Characteristics for 85-Pin Package Field name partially modi-
fied
20, 21 Table 1.10 Pin Description Description about I/O Ports modified
Reset
35 Figure 5.4 Voltage Detection Circuit Block Partially modified
37 Figure 5.6 D4INT Register Note 5 (3) and (4) are added
Processor Mode
42 Figure 6.2 PM2 Register added
43 Figure 6.3 Bus Block added
Clock Generation Circuit
49 Figure 7.6 PM2 Register Note 5 Description partially added, notes 4 and 6
modified
51 Figure 7.8 Examples of Main Clock Connection Circuit Note 2 added
1.11 Apr., 06
2.00 Jan., 07
REVISION HISTORY
Rev. Date Description
Page Summary
C-14
M16C/28 Group (M16C/28, M16C/28B) Hardware Manual
53 7.4 PLL Clock Description regarding use of M16C/28B partially added
Table 7.2 Example for Setting PLL Clock Frequencies Description regarding
use of M16C/28B partially added
56 7.6.1 Normal Operation Mode Description is partially modified
61 Figure 7.12 State Transition in Normal Mode note mark added
Protection
66 LPCC1 register added to the registers protected by PRC0 bit
• Description of Protection modified
Figure 8.1 PRCR Register LPCC1 register added, note 1 modified
Interrupts
84 Table 9.6 PC Value Saved in Stack Area When an Address Match Interrupt
Request is Accepted modified, note added
Watchdog Timer
86 Figure 10.1 Watchdog Timer Block Diagram partially modified
87 Figure 10.2 WDC Register and WDTS Register partially modified
10.1 Count Source Protective Mode partially modified
Timer
114 12.2 Timer B Description regarding A/D trigger mode partially modified
Figure 12.15 Timer B Block Diagram A/D trigger mode added
120 12.2.4 A/D Trigger Mode Description partially modified
Table 12.9 Specification in A/D Trigger Mode Description regarding count
start condition partially modified
121 Figure 12.24 TB2SC Register in A/D Trigger Mode Note 4 partially modified
123 Figure 12.25 Three-phase Motor Control Timer Functions Block Diagram
Source clock partially modified
128 Figure 12.30 TB2SC Register Note 4 modified
131 Figure 12.33 Triangular Wave Modulation Operation Description modified
132 Figure 12.34 Sawtooth Wave Modulation Operation Description modified
Timer S
137 Figure 13.2 G1BT Register Description patially modified
150 Table 13.15 Base Timer Reset Operation by Base Timer Reset Register
Base timer overflow request added, Note 1 added
155 Figure 13.21 Prescaler Function and Gate Function Note 1 modified, condi-
tion modified
158 Figure 13.22 Single-phase Waveform Output Mode Register name partially
modified
161
Table 13.10 SR Waveform Output Mode Specifications Specification modified
162 Figure 13.24 Set/Reset Waveform Output Mode Description for (1) Free-run-
ning operation modified, register names modified
REVISION HISTORY
Rev. Date Description
Page Summary
C-15
M16C/28 Group (M16C/28, M16C/28B) Hardware Manual
163 Table 13.11 Pin Setting for Time Measurement and Waveform Generating
Functions Description of port direction modified
Serial I/O
166 Figure 14.1 Block Diagram of UARTi Partially modified
175 Table 14.1 Clock Synchronous Serial I/O Mode Specifications Note 2 modi-
fied
183 Table 14.5 UART Mode Specifications Note 1 modified
191 Table 14.10 I2C bus Mode Specifications Note 2 modified
193 Table 14.11 Registers to Be Used and Settings in I2C bus Mode Note mark
partially deleted
201 Table 14.15 Special Mode 2 Specifications Note 2 modified
207 Table 14.18 SIM Mode Specifications Note 1 modified
212 14.2 SI/O3 and SI/O4 Note is added
216 14.2.3 Functions for Setting an SOUTi Initial Value modified
A/D Converter
217 Table 15.1 A/D Converter Performance Note 2 partially added
220 Table 15.2 A/D Conversion Frequency Select note 1 modified
222 Figure 15.5 TB2SC Register Note 4 partially modified
Multi-Master I2C bus Interface
251 Figure 16.1 Block Diagram of Multi-master I 2C bus Interface S30 register
deleted, input from system clock select circuit modified
253 Figure 16.3 S00 Register Register name in Note 1 modified
274 16.11 STOP Condition Generation Method Description partially added
275 Table 16.8 Start/Stop Generation Timing Table Number of cycle partially
modified
Programmable I/O Ports
282 17.3 Pull-up Control Register 0 to 2 Description modified
284 Figure 17.1 I/O Ports (1) A port P81 added
294 _______ _____
Figure 17.12 Digital Debounce Filter P85, NMI, SD, and INPC17 are deleted
Flash Memory
296 Table 18.1 Flash Memory Version Specifications Specification modified
297 18.1.1 Boot Mode Newly added
302 18.3.1 ROM Code Potect Function Description is modified
306 18.5.1 Flash Memory Control Register 0 (FMR0) Descriptions in FMR01 Bit
and FMR02 Bit modified
307 18.5.2 Flash Memory Control Register 1 (FMR1) Description in FMR16 Bit
and FMR17 Bit modified
308 Figure 18.7 FMR1 Register Note 3 modified
310 Figure 18.10 Setting and Resetting of EW Mode 1 note mark (3) added
REVISION HISTORY
Rev. Date Description
Page Summary
C-16
M16C/28 Group (M16C/28, M16C/28B) Hardware Manual
319 Table 18.7 Errors and FMR0 Register Status Register name modified
320 Table 18.8 Pin Descriptions Description of P93 modified
Electrical Characteristics
329 Table 19.2 Recommended Operating Conditions Values added, figures
modified and added
330 Table 19.3 A/D Conversion Characteristics Note 2 modified
331 Table 19.5 Flash Memory Version Electrical Characteristics Description in
note 10 modified
332 Table 19.6 Voltage Detection Circuit Electrical Characteristics measure-
ment condition modified
333 Figure 19.1 Power Supply Timing Diagram Signal lines for td(P-R) and
td(ROC) modified
335 Table 19.9 Electrical Characteristics (2) condition and value modified
343 Table 19.25 Electrical Characteristics (2) condition and value modified
Precaution
-• Reset section deleted
350 20.1.3 Register Setting Newly added
20.1.4 For Flash Memory (128K + 4K) Version and Mask ROM Version De-
scription is partially deleted
351 Figure 20.1 LPCC0 Register and LPCC1 Register Note 1 is deleted, function
of LPCC00 bit is revised
356 _______
20.4.3 NMI Interrupts No.1 modified, No.2 partially deleted
358 20.4.6 Rewrite the Interrupt Control Register Example 1: description added
364 20.6.3 Three-Phase Motor Control Timer Function Section is newly added
365 20.7.1 Rewrite the G1IR Register Description modified
366 20.7.4 Base Timer Interrupt Newly added
369 20.9 A/D Converter Description of No.6 modified
374 20.13.1 Internal ROM Area Description partially added
376 20.14.9 Interrupts Description about watchdog timer is deleted
20.14.10 How to Access Description modified
377 20.14.17 Standard Serial I/O Mode Section is newly added
378 20.15.1 Trace of Print Board pin name modified
Functional Comparison
382, 383 Appendix 2.1 and 2.2 Comparison for flash memory added, difference between
M16C/28 and M16C/29 Group (T-ver./V-ver.) deleted
RENESAS 16-BIT CMOS SINGLE-CHIP MICROCOMPUTER
HARDWARE MANUAL
M16C/28 Group (M16C/28, M16C/28B)
Publication Date: Rev.0.60 Feb. 2004
Rev.2.00 Jan. 31, 2007
Published by: Sales Strategic Planning Div.
Renesas Technology Corp.
© 2007. Renesas Technology Corp., All rights reserved. Printed in Japan.
1753, Shimonumabe, Nakahara-ku, Kawasaki-shi, Kanagawa 211-8668 Japan
M16C/28 Group (M16C/28, M16C/28B)
REJ09B0047-0200
Hardware Manual