uPD78054, 78054Y SUBSERIES 8-BIT SINGLE

To our customers,
Old Company Name in Catalogs and Other Documents
On April 1st, 2010, NEC Electronics Corporation merged with Renesas Technology
Corporation, and Renesas Electronics Corporation took over all the business of both
companies. Therefore, although the old company name remains in this document, it is a valid
Renesas Electronics document. We 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.
2.
3.
4.
5.
6.
7.
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.
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.
You should not alter, modify, copy, or otherwise misappropriate any Renesas Electronics product, whether in whole or in part.
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.
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.
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. Renesas Electronics assumes no liability whatsoever for any damages
incurred by you resulting from errors in or omissions from the information included herein.
Renesas Electronics products are classified according 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, etc.
“Standard”:
8.
9.
10.
11.
12.
Computers; office equipment; communications equipment; test and measurement equipment; audio and visual
equipment; home electronic appliances; machine tools; personal electronic equipment; and industrial robots.
“High Quality”: Transportation equipment (automobiles, trains, ships, etc.); traffic control systems; anti-disaster systems; anticrime systems; safety equipment; and medical equipment not specifically designed for life support.
“Specific”:
Aircraft; aerospace equipment; submersible repeaters; nuclear reactor control systems; medical equipment or
systems for life support (e.g. artificial life support devices or systems), surgical implantations, or healthcare
intervention (e.g. excision, etc.), and any other applications or purposes that pose a direct threat to human life.
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.
Although Renesas Electronics endeavors to improve the quality and reliability of its products, semiconductor products have
specific characteristics such as the occurrence of failure at a certain rate and malfunctions under certain use conditions. Further,
Renesas Electronics products are not subject to radiation resistance 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.
Please contact a Renesas Electronics sales office for details as to environmental matters such as the environmental
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.
This document may not be reproduced or duplicated, in any form, in whole or in part, without prior written consent of Renesas
Electronics.
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 used in this document means Renesas Electronics Corporation and also includes its majorityowned subsidiaries.
(Note 2) “Renesas Electronics product(s)” means any product developed or manufactured by or for Renesas Electronics.
User’s Manual
µPD78054, 78054Y SUBSERIES
8-BIT SINGLE-CHIP MICROCONTROLLERS
µPD78052
µPD78053
µPD78054
µPD78P054
µPD78055
µPD78056
µPD78058
µPD78P058
µPD78052(A)
µPD78053(A)
µPD78054(A)
µPD78052Y
µPD78053Y
µPD78054Y
µPD78055Y
µPD78056Y
µPD78058Y
µPD78P058Y
Document No. U11747EJ5V0UM00 (5th edition)
Date Published April 1998 N CP (K)
©
Printed in Japan
1992
[MEMO]
2
NOTES FOR CMOS DEVICES
1
PRECAUTION AGAINST ESD FOR SEMICONDUCTORS
Note:
Strong electric field, when exposed to a MOS device, can cause destruction of the gate oxide and
ultimately degrade the device operation. Steps must be taken to stop generation of static electricity
as much as possible, and quickly dissipate it once, when it has occurred. Environmental control
must be adequate. When it is dry, humidifier should be used. It is recommended to avoid using
insulators that easily build static electricity. Semiconductor devices must be stored and transported
in an anti-static container, static shielding bag or conductive material. All test and measurement
tools including work bench and floor should be grounded. The operator should be grounded using
wrist strap. Semiconductor devices must not be touched with bare hands. Similar precautions need
to be taken for PW boards with semiconductor devices on it.
2
HANDLING OF UNUSED INPUT PINS FOR CMOS
Note:
No connection for CMOS device inputs can be cause of malfunction. If no connection is provided
to the input pins, it is possible that an internal input level may be generated due to noise, etc., hence
causing malfunction. CMOS devices behave differently than Bipolar or NMOS devices. Input levels
of CMOS devices must be fixed high or low by using a pull-up or pull-down circuitry. Each unused
pin should be connected to V DD or GND with a resistor, if it is considered to have a possibility of
being an output pin. All handling related to the unused pins must be judged device by device and
related specifications governing the devices.
3
STATUS BEFORE INITIALIZATION OF MOS DEVICES
Note:
Power-on does not necessarily define initial status of MOS device. Production process of MOS
does not define the initial operation status of the device. Immediately after the power source is
turned ON, the devices with reset function have not yet been initialized. Hence, power-on does
not guarantee out-pin levels, I/O settings or contents of registers. Device is not initialized until the
reset signal is received. Reset operation must be executed immediately after power-on for devices
having reset function.
3
FIP, EEPROM, IEBus, QTOP are trademarks of NEC Corporation.
MS-DOS, Windows, and Widows NT are either registered trademarks or trademarks of Microsoft
Corporation in the United States and/or other countries.
IBM DOS, PC/AT and PC DOS are trademarks of International Business Machines Corporation.
HP9000 Series 700 and HP-UX are trademarks of Hewlett-Packard Company.
SPARCstation is a trademark of SPARC International, Inc.
Sun OS is a trademark of Sun Microsystems, Inc.
Ethernet is a trademark of XEROX Corporation.
NEWS and NEWS-OS are trademarks of SONY Corporation.
OSF/Motif is a trademark of Open Software Foundation, Inc.
TRON is an abbreviation of The Realtime Operating system Nucleus.
ITRON is an abbreviation of Industrial TRON.
The export of these products from Japan is regulated by the Japanese government. The export of some or all of these
products may be prohibited without governmental license. To export or re-export some or all of these products from a
country other than Japan may also be prohibited without a license from that country. Please call an NEC sales
representative.
License not needed: µPD78P054KK-T, 78P058KK-T, 78P058YKK-T
The customer must judge the need for license:
µPD78052GC-×××-8BT, 78052GK-×××-BE9, 78052YGC-×××-8BT
µPD78053GC-×××-8BT, 78053GK-×××-BE9, 78053YGC-×××-8BT
µPD78054GC-×××-8BT, 78054GK-×××-BE9, 78054YGC-×××-8BT
µPD78P054GC-3B9, 78P054GC-8BT, 78P054GK-BE9
µPD78055GC-×××-8BT, 78055GK-×××-BE9, 78055YGC-×××-8BT
µPD78056GC-×××-8BT, 78056GK-×××-BE9, 78056YGC-×××-8BT
µPD78058GC-×××-8BT, 78058GK-×××-BE9, 78058YGC-×××-8BT
µPD78P058GC-8BT, 78P058YGC-8BT
µPD78052GC(A)-×××-3B9, 78053GC(A)-×××-3B9, 78054GC(A)-×××-3B9
4
The application circuits and their parameters are for reference only and are not intended for use in actual design-ins.
Purchase of NEC I2C components conveys a license under the Philips I2C Patent Rights to use these
components in an I 2C system, provided that the system conforms to the I2C Standard Specification as defined
by Philips.
The information in this document is subject to change without notice.
No part of this document may be copied or reproduced in any form or by any means without the prior written
consent of NEC Corporation. NEC Corporation assumes no responsibility for any errors which may appear in
this document.
NEC Corporation does not assume any liability for infringement of patents, copyrights or other intellectual property
rights of third parties by or arising from use of a device described herein or any other liability arising from use
of such device. No license, either express, implied or otherwise, is granted under any patents, copyrights or other
intellectual property rights of NEC Corporation or others.
While NEC Corporation has been making continuous effort to enhance the reliability of its semiconductor devices,
the possibility of defects cannot be eliminated entirely. To minimize risks of damage or injury to persons or
property arising from a defect in an NEC semiconductor device, customers must incorporate sufficient safety
measures in its design, such as redundancy, fire-containment, and anti-failure features.
NEC devices are classified into the following three quality grades:
“Standard”, “Special”, and “Specific”. The Specific quality grade applies only to devices developed based on a
customer designated “quality assurance program” for a specific application. The recommended applications of
a device depend on its quality grade, as indicated below. Customers must check the quality grade of each device
before using it in a particular application.
Standard: Computers, office equipment, communications equipment, test and measurement equipment,
audio and visual equipment, home electronic appliances, machine tools, personal electronic
equipment and industrial robots
Special: 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: Aircrafts, aerospace equipment, submersible repeaters, nuclear reactor control systems, life
support systems or medical equipment for life support, etc.
The quality grade of NEC devices is “Standard” unless otherwise specified in NEC’s Data Sheets or Data Books.
If customers intend to use NEC devices for applications other than those specified for Standard quality grade,
they should contact an NEC sales representative in advance.
Anti-radioactive design is not implemented in this product.
M7 96.5
5
Regional Information
Some information contained in this document may vary from country to country. Before using any NEC
product in your application, pIease contact the NEC office in your country to obtain a list of authorized
representatives and distributors. They will verify:
•
Device availability
•
Ordering information
•
Product release schedule
•
Availability of related technical literature
•
Development environment specifications (for example, specifications for third-party tools and
components, host computers, power plugs, AC supply voltages, and so forth)
•
Network requirements
In addition, trademarks, registered trademarks, export restrictions, and other legal issues may also vary
from country to country.
NEC Electronics Inc. (U.S.)
NEC Electronics (Germany) GmbH
NEC Electronics Hong Kong Ltd.
Santa Clara, California
Tel: 408-588-6000
800-366-9782
Fax: 408-588-6130
800-729-9288
Benelux Office
Eindhoven, The Netherlands
Tel: 040-2445845
Fax: 040-2444580
Hong Kong
Tel: 2886-9318
Fax: 2886-9022/9044
NEC Electronics (France) S.A.
Velizy-Villacoublay, France
Tel: 01-30-67 58 00
Fax: 01-30-67 58 99
Seoul Branch
Seoul, Korea
Tel: 02-528-0303
Fax: 02-528-4411
NEC Electronics (France) S.A.
NEC Electronics Singapore Pte. Ltd.
Spain Office
Madrid, Spain
Tel: 01-504-2787
Fax: 01-504-2860
United Square, Singapore 1130
Tel: 65-253-8311
Fax: 65-250-3583
NEC Electronics (Germany) GmbH
Duesseldorf, Germany
Tel: 0211-65 03 02
Fax: 0211-65 03 490
NEC Electronics (UK) Ltd.
Milton Keynes, UK
Tel: 01908-691-133
Fax: 01908-670-290
NEC Electronics Hong Kong Ltd.
NEC Electronics Taiwan Ltd.
NEC Electronics Italiana s.r.1.
NEC Electronics (Germany) GmbH
Milano, Italy
Tel: 02-66 75 41
Fax: 02-66 75 42 99
Scandinavia Office
Taeby, Sweden
Tel: 08-63 80 820
Fax: 08-63 80 388
Taipei, Taiwan
Tel: 02-719-2377
Fax: 02-719-5951
NEC do Brasil S.A.
Cumbica-Guarulhos-SP, Brasil
Tel: 011-6465-6810
Fax: 011-6465-6829
J98. 2
6
Major Revisions in This Edition
Page
Description
Throughout
Addition of µPD78052(A),78053(A), 78054(A) to the applicable types
Deletion of µPD78P054Y from the applicable types
Deletion of the following package from the µPD78052, 78053, 78054, 78055, 78056, 78058, 78P058, 78054Y
Subseries:
• 80-pin plastic QFP (14 × 14 mm, resin thickness 2.7 mm)
p. 233
Addition of Figure 9-10. Square-Wave Output Operation Timing
p. 238
Addition of Figure 9-13. Square-Wave Output Operation Timing
p. 296
Addition of Note to Figure 16-4. Serial Operating Mode Register 0 Format
p. 430, 435
Addition of (4) Synchronization control and (5) Automatic transmit/receive Interval time to 18.4.3 3-wire
serial I/O mode operation with automatic transmit/receive function
p. 439
Addition of precaution to 19.1 (3) 3-wire serial I/O mode (MSB-/LSB-first switchable)
p. 444
Change of Figure 19-3. Serial Operating Mode Register 2 Format
p. 446
Change of Table 19-2. Serial Interface Channel 2 Operating Mode Settings
p. 465
Correction of Figure 19-10. Receive Error Timing
p. 474
Addition of 19.4.4 Limitations when UART mode is used
p. 577, 578
Addition of APPENDIX A DIFFERENCES BETWEEN µPD78054, 78054Y SUBSERIES AND µPD78058F,
78058FY SUBSERIES
p. 579 to
592
APPENDIX B DEVELOPMENT TOOL
Entire revision: Support for in-circuit emulator IE-78K0-NS
p. 593, 594
APPENDIX C EMBEDDED SOFTWARE
Entire revision: Deletion of fuzzy inference development support system
The mark
shows major revised points.
7
[MEMO]
8
PREFACE
Readers
This manual has been prepared for user engineers who want to understand the
functions of the µPD78054 and 78054Y Subseries and design and develop its
application systems and programs.
The target products are the products of the following subseries.
• µPD78054 Subseries
: µPD78052, 78053, 78054, 78P054, 78055, 78056,
µPD78058, 78P058, 78052(A), 78053(A), 78054(A)
• µPD78054Y Subseries : µPD78052Y, 78053Y, 78054Y, 78055Y, 78056Y,
µPD78058Y, 78P058Y
Caution
Of the above members, the following devices with the suffix KK-T should be
used only for experiment or function evaluation, because they are not intended
for use in equipment that will be mass-produced and require high reliability.
µPD78P054KK-T, 78P058KK-T, 78P058YKK-T
Purpose
This manual is intended for users to understand the functions described in the
Organization below.
Organization
The µPD78054, 78054Y Subseries manual is separated into two parts: this manual
and the instruction edition (common to the 78K/0 Series).
µPD78054, 78054Y
78K/0 Series
Subseries
User’s Manual
User’s Manual
Instruction
(This manual)
Pin functions
CPU functions
Internal block functions
Instruction set
Interrupt
Explanation of each instruction
Other on-chip peripheral functions
9
How to Read This Manual
Before reading this manual, you should have general knowledge of electric and logic
circuits and microcontrollers.
For users who use this document as the manual for the µPD78052(A), 78053(A),
and 78054(A):
→ The only differences between the µPD78052, 78053, and 78054 and the
µPD78052(A), 78053(A), 78054(A) are the quality grades and packages. (refer
to 1.9 Differences between Standard Quality Grade Products and (A) Products).
For the (A) products, read the part numbers in the following manner.
µPD78052 → µPD78052(A)
µPD78053 → µPD78053(A)
µPD78054 → µPD78054(A)
When you want to understand the functions in general:
→ Read this manual in the order of the contents.
To know the µPD78054 and 78054Y Subseries instruction function in detail:
→ Refer to the 78K/0 Series User's Manual: Instructions (U12326E)
How to interpret the register format:
→ For the circled bit number, the bit name is defined as a reserved word in
RA78K/0, and in CC78K/0, already defined in the header file named sfrbit.h.
To learn the function of a register whose register name is known:
→ Refer to Appendix D Register Index.
To know the electrical specifications of the µPD78054 and 78054Y Subseries:
→ Refer to separately available Data Sheet.
To know application examples of the functions provided in the µPD78054 and
78054Y Subseries:
→ Refer to Application Note separately provided.
Caution
The application examples in this manual are created for “Standard” quality
grade products for general electric equipment. When using the application
examples in this manual for purposes which require “Special” quality grades,
thoroughly examine the quality grade of each part and circuit actually used.
10
Chapter Organization: This manual divides the descriptions for the µPD78054 and 78054Y Subseries into different
chapters as shown below. Read only the chapters related to the device you use.
Chapter
µ PD78054
µ PD78054Y
Subseries
Subseries
Chapter 1
Outline ( µ PD78054 Subseries)
√
—
Chapter 2
Outline ( µ PD78054Y Subseries)
—
√
Chapter 3
Pin Function ( µ PD78054 Subseries)
√
—
Chapter 4
Pin Function (µ PD78054Y Subseries)
—
√
Chapter 5
CPU Architecture
√
√
Chapter 6
Port Functions
√
√
Chapter 7
Clock Generator
√
√
Chapter 8
16-Bit Timer/Event Counter
√
√
Chapter 9
8-Bit Timer/Event Counters 1 and 2
√
√
Chapter 10
Watch Timer
√
√
Chapter 11
Watchdog Timer
√
√
Chapter 12
Clock Output Control Circuit
√
√
Chapter 13
Buzzer Output Control Circuit
√
√
Chapter 14
A/D Converter
√
√
Chapter 15
D/A Converter
√
√
Chapter 16
Serial Interface Channel 0 ( µ PD78054 Subseries)
√
—
Chapter 17
Serial Interface Channel 0 (µ PD78054Y Subseries)
—
√
Chapter 18
Serial Interface Channel 1
√
√
Chapter 19
Serial Interface Channel 2
√
√
Chapter 20
Real-Time Output Port
√
√
Chapter 21
Interrupt and Test Functions
√
√
Chapter 22
External Device Expansion Function
√
√
Chapter 23
Standby Function
√
√
Chapter 24
Reset Function
√
√
Chapter 25
ROM Correction
√
√
Chapter 26
µ PD78P054, µ PD78P058
√
√
Chapter 27
Instruction Set
√
√
11
Differences between µPD78054 and µPD78054Y Subseries:
The µPD78054 and µPD78054Y Subseries are different in the following functions
of the serial interface channel 0.
µPD78054
Subseries
µPD78054Y
Subseries
3-wire serial I/O mode
√
√
2-wire serial I/O mode
√
√
SBI (serial bus interface) mode
√
—
I2C (Inter IC) bus mode
—
√
Modes of serial interface channel 0
√
: Supported
— : Not supported
Legend
Data significant
:
Left: higher digit, right: lower digit
Active low
:
××× (top bar over pin or signal name)
Note
:
Footnote
Caution
:
Important information
Remark
:
Supplement
Numerical notation
:
Binary ... ×××× or ××××B
Decimal ... ××××
Hexadecimal ... ××××H
12
Related Documents
The related documents indicated in this publication may include preliminary
versions. However, preliminary versions are not marked as such.
Related documents for µPD78054 Subseries
Document No.
Document name
Japanese
English
µPD78052, 78053, 78054, 78055, 78056, 78058 Data Sheet
U12327J
U12327E
µPD78052(A), 78053(A), 78054(A) Data Sheet
U12171J
U12171E
µPD78P054, 78P058 Data Sheet
U10417J
U10417E
µPD78054, 78054Y Subseries User’s Manual
U11747J
This manual
78K/0 Series User’s Manual, Instruction
U12326J
U12326E
78K/0 Series Instruction Table
U10903J
—
78K/0 Series Instruction Set
U10904J
—
µPD78054 Subseries Special Function Register Table
U10102J
—
78K/0 Series Application Note
Basics (III)
U10182J
U10182E
Floating-point operation program
IEA-718
IEA-1289
Related documents for µPD78054Y Subseries
Document No.
Document name
Japanese
English
µPD78052Y, 78053Y, 78054Y, 78055Y, 78056Y, 78058Y Data Sheet
U10906J
U10906E
µPD78P058Y Data Sheet
U10907J
U10907E
µPD78054, 78054Y Subseries User’s Manual
U11747J
This manual
78K/0 Series User’s Manual, Instruction
U12326J
U12326E
78K/0 Series Instruction Table
U10903J
—
78K/0 Series Instruction Set
U10904J
—
µPD78054Y Subseries Special Function Register Table
U10087J
—
78K/0 Series Application Note
Basics (III)
U10182J
U10182E
Caution The above documents are subject to change without prior notice. Be sure to use the latest version
document when starting design.
13
Development Tool Documents (User’s Manuals)
Document No.
Document name
Japanese
RA78K0 Assembler Package
Operation
U11802J
U11802E
Assembly Language
U11801J
U11801E
Structured Assembly
U11789J
U11789E
U12323J
EEU-1402
Operation
U11517J
U11517E
Language
U11518J
U11518E
Programming know-how
U13034J
EEA-1208
RA78K Series Structured Assembler Preprocessor
CC78K0 C Compiler
CC78K0 C Compiler Application Note
English
CC78K Series Library Source File
U12322J
—
PG-1500 PROM Programmer
U11940J
U11940E
PG-1500 Controller PC-9800 Series (MS-DOS™) Base
EEU-704
EEU-1291
PG-1500 Controller IBM PC Series (PC DOS™) Base
EEU-5008
U10540E
IE-78K0-NS
To be prepared
To be prepared
IE-78001-R-A
To be prepared
To be prepared
IE-780308-NS-EM1
To be prepared
To be prepared
IE-780308-R-EM
U11362J
U11362E
EP-78230
EEU-985
EEU-1515
EP-78054GK-R
EEU-932
EEU-1468
SM78K0 System Simulator Windows™ Base
Reference
U10181J
U10181E
SM78K Series System Simulator
External component user
open interface specifications
U10092J
U10092E
ID78K0-NS Integrated Debugger
Reference
U12900J
To be prepared
ID78K0 Integrated Debugger EWS Base
Reference
U11151J
ID78K0 Integrated Debugger PC Base
Reference
U11539J
U11539E
ID78K0 Integrated Debugger Windows Base
Guide
U11649J
U11649E
—
Caution The above documents are subject to change without prior notice. Be sure to use the latest version
document when starting design.
14
Documents for Embedded Software
(User’s Manual)
Document No.
Document name
Japanese
78K/0 Series Real-Time OS
OS for 78K/0 Series MX78K0
English
Basics
U11537J
U11537E
Installation
U11536J
U11536E
Basics
U12257J
U12257E
Other Documents
Document No.
Document name
Japanese
English
IC PACKAGE MANUAL
C10943X
Semiconductor Device Mounting Technology Manual
C10535J
C10535E
Quality Grade on NEC Semiconductor Devices
C11531J
C11531E
NEC Semiconductor Device Reliability/Quality Control System
C10983J
C10983E
Guide to Prevent Damage for Semiconductor Devices by Electrostatic Discharge (ESD)
C11892J
C11892E
—
MEI-1202
Guide to Quality Assurance for Semiconductor Devices
Microcontroller Related Product Guide—Third Party Manufacturers
U11416J
—
Caution The above documents are subject to change without prior notice. Be sure to use the latest version
document when starting design.
15
[MEMO]
16
TABLE OF CONTENTS
CHAPTER 1 GENERAL (µPD78054 Subseries) ............................................................................
1.1 Features .............................................................................................................................
1.2 Applications ......................................................................................................................
1.3 Ordering Information ........................................................................................................
1.4 Quality Grade ....................................................................................................................
1.5 Pin Configuration (Top View) ...........................................................................................
1.6 78K/0 Series Expansion ...................................................................................................
1.7 Block Diagram ...................................................................................................................
1.8 Outline of Function ...........................................................................................................
1.9 Differences between Standard Quality Grade Products and (A) Products .................
1.10 Mask Options ....................................................................................................................
37
37
38
38
39
40
43
45
46
48
48
CHAPTER 2 GENERAL (µPD78054Y Subseries) ..........................................................................
2.1 Features .............................................................................................................................
2.2 Applications ......................................................................................................................
2.3 Ordering Information ........................................................................................................
2.4 Quality Grade ....................................................................................................................
2.5 Pin Configuration (Top View) ...........................................................................................
2.6 78K/0 Series Expansion ...................................................................................................
2.7 Block Diagram ...................................................................................................................
2.8 Outline of Function ...........................................................................................................
2.9 Mask Options ....................................................................................................................
49
49
50
50
50
51
54
56
57
58
CHAPTER 3 PIN FUNCTION (µPD78054 Subseries) ....................................................................
3.1 Pin Function List ...............................................................................................................
59
59
3.2
3.1.1
Normal operating mode pins ...............................................................................................
59
3.1.2
PROM programming mode pins (PROM versions only) ......................................................
63
Description of Pin Functions ...........................................................................................
64
3.2.1
P00 to P07 (Port 0) ..............................................................................................................
64
3.2.2
P10 to P17 (Port 1) ..............................................................................................................
65
3.2.3
P20 to P27 (Port 2) ..............................................................................................................
65
3.2.4
P30 to P37 (Port 3) ..............................................................................................................
66
3.2.5
P40 to P47 (Port 4) ..............................................................................................................
67
3.2.6
P50 to P57 (Port 5) ..............................................................................................................
67
3.2.7
P60 to P67 (Port 6) ..............................................................................................................
67
3.2.8
P70 to P72 (Port 7) ..............................................................................................................
68
3.2.9
P120 to P127 (Port 12) ........................................................................................................
69
3.2.10
P130 and P131 (Port 13) .....................................................................................................
69
3.2.11
AVREF0 ..................................................................................................................................
69
3.2.12
AVREF1 ..................................................................................................................................
69
3.2.13
AVDD .....................................................................................................................................
70
3.2.14
AVSS .....................................................................................................................................
70
3.2.15
RESET .................................................................................................................................
70
3.2.16
X1 and X2 ............................................................................................................................
70
3.2.17
XT1 and XT2 .......................................................................................................................
70
17
3.2.18
VDD .......................................................................................................................................
70
3.2.19
VSS .......................................................................................................................................
70
3.2.20
VPP (PROM versions only) ...................................................................................................
70
3.2.21
IC (Mask ROM version only) ................................................................................................
70
Input/output Circuits and Recommended Connection of Unused Pins ......................
71
CHAPTER 4 PIN FUNCTION (µPD78054Y Subseries) ..................................................................
4.1 Pin Function List ...............................................................................................................
75
75
3.3
4.2
4.1.1
Normal operating mode pins ...............................................................................................
4.1.2
75
PROM programming mode pins (PROM versions only) ......................................................
79
Description of Pin Functions ...........................................................................................
80
4.2.1
P00 to P07 (Port 0) ..............................................................................................................
80
4.2.2
P10 to P17 (Port 1) ..............................................................................................................
81
4.2.3
P20 to P27 (Port 2) ..............................................................................................................
81
4.2.4
P30 to P37 (Port 3) ..............................................................................................................
82
4.2.5
P40 to P47 (Port 4) ..............................................................................................................
82
4.2.6
P50 to P57 (Port 5) ..............................................................................................................
83
4.2.7
P60 to P67 (Port 6) ..............................................................................................................
83
4.2.8
P70 to P72 (Port 7) ..............................................................................................................
84
4.2.9
P120 to P127 (Port 12) ........................................................................................................
84
4.2.10
P130 and P131 (Port 13) .....................................................................................................
85
4.2.11
AVREF0 ..................................................................................................................................
85
4.2.12
AVREF1 ..................................................................................................................................
85
4.2.13
AVDD .....................................................................................................................................
85
4.2.14
AVSS .....................................................................................................................................
85
4.2.15
RESET .................................................................................................................................
85
4.2.16
X1 and X2 ............................................................................................................................
86
4.2.17
XT1 and XT2 .......................................................................................................................
86
4.2.18
VDD .......................................................................................................................................
86
4.2.19
VSS .......................................................................................................................................
86
4.2.20
VPP (PROM versions only) ...................................................................................................
86
4.2.21
IC (Mask ROM version only) ................................................................................................
86
Input/output Circuits and Recommended Connection of Unused Pins ......................
87
CHAPTER 5 CPU ARCHITECTURE ................................................................................................
5.1 Memory Spaces .................................................................................................................
91
91
4.3
5.2
5.3
18
5.1.1
Internal program memory space ..........................................................................................
99
5.1.2
Internal data memory space ................................................................................................
100
5.1.3
Special Function Register (SFR) area .................................................................................
100
5.1.4
External memory space .......................................................................................................
100
5.1.5
Data memory addressing ....................................................................................................
101
Processor Registers .........................................................................................................
109
5.2.1
Control registers ..................................................................................................................
109
5.2.2
General registers .................................................................................................................
112
5.2.3
Special Function Register (SFR) .........................................................................................
114
Instruction Address Addressing .....................................................................................
118
5.3.1
Relative addressing .............................................................................................................
118
5.3.2
Immediate addressing .........................................................................................................
119
5.3.3
Table indirect addressing .....................................................................................................
5.3.4
120
Register addressing .............................................................................................................
120
Operand Address Addressing .........................................................................................
121
5.4.1
Implied addressing ..............................................................................................................
121
5.4.2
Register addressing .............................................................................................................
122
5.4.3
Direct addressing .................................................................................................................
123
5.4.4
Short direct addressing ........................................................................................................
124
5.4.5
Special-Function Register (SFR) addressing ......................................................................
125
5.4.6
Register indirect addressing ................................................................................................
126
5.4.7
Based addressing ................................................................................................................
127
5.4.8
Based indexed addressing ..................................................................................................
128
5.4.9
Stack addressing .................................................................................................................
128
CHAPTER 6 PORT FUNCTIONS ....................................................................................................
6.1 Port Functions ...................................................................................................................
6.2 Port Configuration ............................................................................................................
129
129
134
5.4
6.3
6.4
6.2.1
Port 0 ...................................................................................................................................
134
6.2.2
Port 1 ...................................................................................................................................
136
6.2.3
Port 2 (µPD78054 Subseries) ..............................................................................................
137
6.2.4
Port 2 (µPD78054Y Subseries) ...........................................................................................
139
6.2.5
Port 3 ...................................................................................................................................
141
6.2.6
Port 4 ...................................................................................................................................
142
6.2.7
Port 5 ...................................................................................................................................
143
6.2.8
Port 6 ...................................................................................................................................
144
6.2.9
Port 7 ...................................................................................................................................
146
6.2.10
Port 12 .................................................................................................................................
148
6.2.11
Port 13 .................................................................................................................................
149
Port Function Control Registers .....................................................................................
Port Function Operations .................................................................................................
150
156
6.4.1
Writing to input/output port ...................................................................................................
156
6.4.2
Reading from input/output port ............................................................................................
156
6.4.3
Operations on input/output port ...........................................................................................
157
Selection of Mask Option .................................................................................................
157
CHAPTER 7 CLOCK GENERATOR ................................................................................................
7.1 Clock Generator Functions ..............................................................................................
7.2 Clock Generator Configuration .......................................................................................
7.3 Clock Generator Control Register ...................................................................................
7.4 System Clock Oscillator ...................................................................................................
159
159
159
161
165
6.5
7.5
7.6
7.4.1
Main system clock oscillator ................................................................................................
165
7.4.2
Subsystem clock oscillator ..................................................................................................
166
7.4.3
Scaler ...................................................................................................................................
168
7.4.4
When no subsystem clocks are used ..................................................................................
168
Clock Generator Operations ............................................................................................
169
7.5.1
Main system clock operations .............................................................................................
170
7.5.2
Subsystem clock operations ................................................................................................
171
Changing System Clock and CPU Clock Settings .........................................................
171
7.6.1
Time required for switchover between system clock and CPU clock ..................................
171
7.6.2
System clock and CPU clock switching procedure ..............................................................
173
19
CHAPTER 8 16-BIT TIMER/EVENT COUNTER .............................................................................
8.1 Outline of Timers Incorporated in the µPD78054, 78054Y Subseries ..........................
8.2 16-Bit Timer/Event Counter Functions ...........................................................................
8.3 16-Bit Timer/Event Counter Configuration .....................................................................
8.4 16-Bit Timer/Event Counter Control Registers ..............................................................
8.5 16-Bit Timer/Event Counter Operations ..........................................................................
175
175
177
179
182
191
8.5.1
Interval timer operations ......................................................................................................
8.5.2
PWM output operations .......................................................................................................
193
8.5.3
PPG output operations ........................................................................................................
196
8.5.4
Pulse width measurement operations .................................................................................
197
8.5.5
External event counter operation .........................................................................................
204
8.5.6
Square-wave output operation ............................................................................................
206
8.5.7
One-shot pulse output operation .........................................................................................
208
16-Bit Timer/Event Counter Operating Precautions ......................................................
212
CHAPTER 9 8-BIT TIMER/EVENT COUNTERS 1 AND 2 ..............................................................
9.1 8-Bit Timer/Event Counters 1 and 2 Functions ..............................................................
215
215
8.6
9.2
9.3
9.4
191
9.1.1
8-bit timer/event counter mode ............................................................................................
215
9.1.2
16-bit timer/event counter mode ..........................................................................................
218
8-Bit Timer/Event Counters 1 and 2 Configurations ......................................................
8-Bit Timer/Event Counters 1 and 2 Control Registers .................................................
8-Bit Timer/Event Counters 1 and 2 Operations ............................................................
220
223
228
9.4.1
8-bit timer/event counter mode ............................................................................................
228
9.4.2
16-bit timer/event counter mode ..........................................................................................
234
Cautions on 8-Bit Timer/Event Counters 1 and 2 ..........................................................
238
CHAPTER 10 WATCH TIMER ...........................................................................................................
10.1 Watch Timer Functions ....................................................................................................
10.2 Watch Timer Configuration ..............................................................................................
10.3 Watch Timer Control Registers .......................................................................................
10.4 Watch Timer Operations ...................................................................................................
241
241
242
242
246
9.5
10.4.1
Watch timer operation ..........................................................................................................
246
10.4.2
Interval timer operation ........................................................................................................
246
CHAPTER 11 WATCHDOG TIMER ...................................................................................................
11.1 Watchdog Timer Functions ..............................................................................................
11.2 Watchdog Timer Configuration .......................................................................................
11.3 Watchdog Timer Control Registers .................................................................................
11.4 Watchdog Timer Operations ............................................................................................
247
247
249
250
253
11.4.1
Watchdog timer operation ....................................................................................................
253
11.4.2
Interval timer operation ........................................................................................................
254
CHAPTER 12 CLOCK OUTPUT CONTROL CIRCUIT .....................................................................
12.1 Clock Output Control Circuit Functions .........................................................................
12.2 Clock Output Control Circuit Configuration ...................................................................
12.3 Clock Output Function Control Registers ......................................................................
255
255
256
257
20
CHAPTER 13 BUZZER OUTPUT CONTROL CIRCUIT ....................................................................
261
13.1
Buzzer Output Control Circuit Functions .............................................................................
261
13.2
Buzzer Output Control Circuit Configuration .......................................................................
261
13.3
Buzzer Output Function Control Registers ..........................................................................
262
CHAPTER 14 A/D CONVERTER .......................................................................................................
14.1 A/D Converter Functions ..................................................................................................
14.2 A/D Converter Configuration ...........................................................................................
14.3 A/D Converter Control Registers .....................................................................................
14.4 A/D Converter Operations ................................................................................................
265
265
265
269
273
14.4.1
Basic operations of A/D converter .......................................................................................
273
14.4.2
Input voltage and conversion results ...................................................................................
275
14.4.3
A/D converter operating mode .............................................................................................
276
14.5 A/D Converter Cautions ...................................................................................................
278
CHAPTER 15 D/A CONVERTER .......................................................................................................
15.1 D/A Converter Functions ..................................................................................................
15.2 D/A Converter Configuration ...........................................................................................
15.3 D/A Converter Control Registers .....................................................................................
15.4 Operations of D/A Converter ...........................................................................................
15.5 Cautions Related to D/A Converter .................................................................................
281
281
282
284
285
286
CHAPTER 16 SERIAL INTERFACE CHANNEL 0 (µPD78054 Subseries) ......................................
16.1 Serial Interface Channel 0 Functions ..............................................................................
16.2 Serial Interface Channel 0 Configuration .......................................................................
16.3 Serial Interface Channel 0 Control Registers .................................................................
16.4 Serial Interface Channel 0 Operations ............................................................................
287
288
290
294
301
16.4.1
Operation stop mode ...........................................................................................................
301
16.4.2
3-wire serial I/O mode operation .........................................................................................
302
16.4.3
SBI mode operation .............................................................................................................
307
16.4.4
2-wire serial I/O mode operation .........................................................................................
333
16.4.5
SCK0/P27 pin output manipulation ......................................................................................
339
CHAPTER 17 SERIAL INTERFACE CHANNEL 0 (µPD78054Y Subseries) ...................................
17.1 Serial Interface Channel 0 Functions ..............................................................................
17.2 Serial Interface Channel 0 Configuration .......................................................................
17.3 Serial Interface Channel 0 Control Registers .................................................................
17.4 Serial Interface Channel 0 Operations ............................................................................
341
342
344
348
356
17.4.1
Operation stop mode ...........................................................................................................
356
17.4.2
3-wire serial I/O mode operation .........................................................................................
357
17.4.3
2-wire serial I/O mode operation .........................................................................................
361
2C
17.4.4
I
bus mode operation .......................................................................................................
367
17.4.5
Cautions on use of I2C bus mode ........................................................................................
385
I2C
17.4.6
Restrictions in
bus mode ...............................................................................................
388
17.4.7
SCK0/SCL/P27 pin output manipulation ..............................................................................
390
21
CHAPTER 18 SERIAL INTERFACE CHANNEL 1 ............................................................................
18.1 Serial Interface Channel 1 Functions ..............................................................................
18.2 Serial Interface Channel 1 Configuration .......................................................................
18.3 Serial Interface Channel 1 Control Registers .................................................................
18.4 Serial Interface Channel 1 Operations ............................................................................
393
393
394
397
405
18.4.1
Operation stop mode ...........................................................................................................
405
18.4.2
3-wire serial I/O mode operation .........................................................................................
406
18.4.3
3-wire serial I/O mode operation with automatic transmit/receive function .........................
409
CHAPTER 19 SERIAL INTERFACE CHANNEL 2 ............................................................................
19.1 Serial Interface Channel 2 Functions ..............................................................................
19.2 Serial Interface Channel 2 Configuration .......................................................................
19.3 Serial Interface Channel 2 Control Registers .................................................................
19.4 Serial Interface Channel 2 Operation ..............................................................................
439
439
440
444
452
19.4.1
Operation stop mode ...........................................................................................................
452
19.4.2
Asynchronous serial interface (UART) mode ......................................................................
454
19.4.3
3-wire serial I/O mode .........................................................................................................
467
19.4.4
Limitations when UART mode is used .................................................................................
474
CHAPTER 20 REAL-TIME OUTPUT PORT ......................................................................................
20.1 Real-Time Output Port Functions ....................................................................................
20.2 Real-Time Output Port Configuration .............................................................................
20.3 Real-Time Output Port Control Registers .......................................................................
477
477
478
480
CHAPTER 21 INTERRUPT AND TEST FUNCTIONS .......................................................................
21.1 Interrupt Function Types ..................................................................................................
21.2 Interrupt Sources and Configuration ..............................................................................
21.3 Interrupt Function Control Registers ..............................................................................
21.4 Interrupt Servicing Operations ........................................................................................
483
483
484
488
497
21.4.1
Non-maskable interrupt request acknowledge operation ....................................................
497
21.4.2
Maskable interrupt request acknowledge operation ............................................................
500
21.4.3
Software interrupt request acknowledge operation .............................................................
503
21.4.4
Multiple interrupt servicing ...................................................................................................
503
21.4.5
Interrupt request reserve .....................................................................................................
506
21.5 Test Functions ...................................................................................................................
507
21.5.1
Registers controlling the test function ..................................................................................
507
21.5.2
Test input signal acknowledge operation .............................................................................
509
CHAPTER 22 EXTERNAL DEVICE EXPANSION FUNCTION .........................................................
22.1 External Device Expansion Functions ............................................................................
22.2 External Device Expansion Function Control Register .................................................
22.3 External Device Expansion Function Timing .................................................................
22.4 Example of Connection with Memory .............................................................................
511
511
516
518
523
CHAPTER 23 STANDBY FUNCTION ................................................................................................
23.1 Standby Function and Configuration ..............................................................................
525
525
22
23.1.1
Standby function ..................................................................................................................
525
23.1.2
Standby function control register .........................................................................................
526
23.2 Standby Function Operations ..........................................................................................
527
23.2.1
HALT mode ..........................................................................................................................
527
23.2.2
STOP mode .........................................................................................................................
530
CHAPTER 24 RESET FUNCTION .....................................................................................................
24.1 Reset Function ..................................................................................................................
533
533
CHAPTER 25 ROM CORRECTION ...................................................................................................
25.1 ROM Correction Functions ..............................................................................................
25.2 ROM Correction Configuration ........................................................................................
25.3 ROM Correction Control Registers .................................................................................
25.4 ROM Correction Application ............................................................................................
25.5 ROM Correction Example .................................................................................................
25.6 Program Execution Flow ..................................................................................................
25.7 Cautions on ROM Correction ...........................................................................................
537
537
537
539
540
543
544
546
CHAPTER 26 µPD78P054, 78P058 ..................................................................................................
26.1 Memory Size Switching Register (µPD78P054) ..............................................................
26.2 Memory Size Switching Register (µPD78P058) ..............................................................
26.3 Internal Expansion RAM Size Switching Register .........................................................
26.4 PROM Programming .........................................................................................................
547
549
550
551
552
26.4.1
Operating modes .................................................................................................................
552
26.4.2
PROM write procedure ........................................................................................................
554
26.4.3
PROM reading procedure ....................................................................................................
558
26.5 Erasure Procedure (µPD78P054KK-T and 78P058KK-T Only) ......................................
26.6 Opaque Film Masking the Window (µPD78P054KK-T and 78P058KK-T Only) ............
26.7 Screening of One-Time PROM Versions .........................................................................
559
559
559
CHAPTER 27 INSTRUCTION SET ....................................................................................................
27.1 Legends Used in Operation List ......................................................................................
561
562
27.1.1
Operand identifiers and description methods ......................................................................
562
27.1.2
Description of “operation” column ........................................................................................
563
27.1.3
Description of “flag operation” column .................................................................................
563
27.2 Operation List ....................................................................................................................
27.3 Instructions Listed by Addressing Type .........................................................................
564
572
APPENDIX A DIFFERENCES BETWEEN µPD78054, 78054Y SUBSERIES AND
µPD78058F, 78058FY SUBSERIES ...........................................................................
577
APPENDIX B DEVELOPMENT TOOLS ............................................................................................
B.1 Language Processing Software ......................................................................................
B.2 PROM Writing Tools .........................................................................................................
579
582
584
B.3
B.2.1
Hardware .............................................................................................................................
B.2.2
584
Software ...............................................................................................................................
584
Debugging Tools ...............................................................................................................
585
B.3.1
Hardware .............................................................................................................................
585
B.3.2
Software ...............................................................................................................................
587
23
B.4
B.5
OS for IBM PC ...................................................................................................................
Upgrading Former In-circuit Emulators for 78K/0 Series to IE-78001-R-A ..................
589
589
APPENDIX C EMBEDDED SOFTWARE ..........................................................................................
593
APPENDIX D REGISTER INDEX ......................................................................................................
D.1 Register Index ...................................................................................................................
595
595
APPENDIX E REVISION HISTORY ..................................................................................................
599
24
LIST OF FIGURES (1/8)
Figure No.
Title
Page
3-1.
Pin Input/Output Circuit of List .......................................................................................................
73
4-1.
Pin Input/Output Circuit of List .......................................................................................................
89
5-1.
Memory Map (µPD78052, 78052Y) ...............................................................................................
91
5-2.
Memory Map (µPD78053, 78053Y) ...............................................................................................
92
5-3.
Memory Map (µPD78054, 78054Y) ...............................................................................................
93
5-4.
Memory Map (µPD78P054) ...........................................................................................................
94
5-5.
Memory Map (µPD78055, 78055Y) ...............................................................................................
95
5-6.
Memory Map (µPD78056, 78056Y) ...............................................................................................
96
5-7.
Memory Map (µPD78058, 78058Y) ...............................................................................................
97
5-8.
Memory Map (µPD78P058, µPD78P058Y) ...................................................................................
98
5-9.
Data Memory Addressing (µPD78052, 78052Y) ...........................................................................
101
5-10.
Data Memory Addressing (µPD78053, 78053Y) ...........................................................................
102
5-11.
Data Memory Addressing (µPD78054, 78054Y) ...........................................................................
103
5-12.
Data Memory Addressing (µPD78P054) .......................................................................................
104
5-13.
Data Memory Addressing (µPD78055, 78055Y) ...........................................................................
105
5-14.
Data Memory Addressing (µPD78056, 78056Y) ...........................................................................
106
5-15.
Data Memory Addressing (µPD78058, 78058Y) ...........................................................................
107
5-16.
Data Memory Addressing (µPD78P058, 78P058Y) ......................................................................
108
5-17.
Program Counter Configuration ....................................................................................................
109
5-18.
Program Status Word Configuration .............................................................................................
109
5-19.
Stack Pointer Configuration ...........................................................................................................
111
5-20.
Data to be Saved to Stack Memory ...............................................................................................
111
5-21.
Data to be Reset from Stack Memory ...........................................................................................
111
5-22.
General Register Configuration .....................................................................................................
113
6-1.
Port Types .....................................................................................................................................
129
6-2.
P00 and P07 Block Diagram .........................................................................................................
135
6-3.
P01 to P06 Block Diagram ............................................................................................................
135
6-4.
P10 to P17 Block Diagram ............................................................................................................
136
6-5.
P20, P21, P23 to P26 Block Diagram ...........................................................................................
137
6-6.
P22 and P27 Block Diagram .........................................................................................................
138
6-7.
P20, P21, P23 to P26 Block Diagram ...........................................................................................
139
6-8.
P22 and P27 Block Diagram .........................................................................................................
140
6-9.
P30 to P37 Block Diagram ............................................................................................................
141
6-10.
P40 to P47 Block Diagram ............................................................................................................
142
6-11.
Block Diagram of Falling Edge Detection Circuit ...........................................................................
142
6-12.
P50 to P57 Block Diagram ............................................................................................................
143
6-13.
P60 to P63 Block Diagram ............................................................................................................
145
6-14.
P64 to P67 Block Diagram ............................................................................................................
145
6-15.
P70 Block Diagram ........................................................................................................................
146
6-16.
P71 and P72 Block Diagram .........................................................................................................
147
6-17.
P120 to P127 Block Diagram ........................................................................................................
148
25
LIST OF FIGURES (2/8)
Figure No.
Title
6-18.
P130 and P131 Block Diagram .....................................................................................................
6-19.
Port Mode Register Format ...........................................................................................................
152
6-20.
Pull-Up Resistor Option Register Format ......................................................................................
153
6-21.
Memory Expansion Mode Register Format ...................................................................................
154
6-22.
Key Return Mode Register Format ................................................................................................
155
7-1.
Block Diagram of Clock Generator ................................................................................................
160
7-2.
Subsystem Clock Feedback Resistor ............................................................................................
161
7-3.
Processor Clock Control Register Format .....................................................................................
162
7-4.
Oscillation Mode Selection Register Format .................................................................................
164
7-5.
Main System Clock when Writing to OSMS ..................................................................................
164
7-6.
External Circuit of Main System Clock Oscillator ..........................................................................
165
7-7.
External Circuit of Subsystem Clock Oscillator .............................................................................
166
7-8.
Examples of Incorrect Oscillator Connection ................................................................................
166
7-9.
Main System Clock Stop Function ................................................................................................
170
7-10.
System Clock and CPU Clock Switching ......................................................................................
173
8-1.
16-Bit Timer/Event Counter Block Diagram ...................................................................................
179
8-2.
16-Bit Timer/Event Counter Output Control Circuit Block Diagram ...............................................
180
8-3.
Timer Clock Selection Register 0 Format ......................................................................................
183
8-4.
16-Bit Timer Mode Control Register Format ..................................................................................
185
8-5.
Capture/Compare Control Register 0 Format ...............................................................................
186
8-6.
16-Bit Timer Output Control Register Format ................................................................................
187
8-7.
Port Mode Register 3 Format ........................................................................................................
188
8-8.
External Interrupt Mode Register 0 Format ...................................................................................
189
8-9.
Sampling Clock Select Register Format ........................................................................................
190
8-10.
Control Register Settings for Interval Timer Operation ..................................................................
191
8-11.
Interval Timer Configuration Diagram ............................................................................................
192
8-12.
Interval Timer Operation Timings ..................................................................................................
192
8-13.
Control Register Settings for PWM Output Operation ...................................................................
194
8-14.
Example of D/A Converter Configuration with PWM Output .........................................................
195
8-15.
TV Tuner Application Circuit Example ...........................................................................................
195
8-16.
Control Register Settings for PPG Output Operation ....................................................................
196
8-17.
149
Control Register Settings for Pulse Width Measurement with Free-Running Counter and
One Capture Register ...................................................................................................................
197
8-18.
Configuration Diagram for Pulse Width Measurement by Free-Running Counter ........................
198
8-19.
Timing of Pulse Width Measurement Operation by Free-Running Counter and
8-20.
8-21.
One Capture Register (with Both Edges Specified) ......................................................................
198
Control Register Settings for Two Pulse Width Measurements with Free-Running Counter ........
199
Timing of Pulse Width Measurement Operation with Free-Running Counter
(with Both Edges Specified) ..........................................................................................................
8-22.
200
Control Register Settings for Pulse Width Measurement with Free-Running Counter and
Two Capture Registers ..................................................................................................................
26
Page
201
LIST OF FIGURES (3/8)
Figure No.
8-23.
8-24.
8-25.
Title
Page
Timing of Pulse Width Measurement Operation by Free-Running Counter and
Two Capture Registers (with Rising Edge Specified) ....................................................................
202
Control Register Settings for Pulse Width Measurement by Means of Restart .............................
203
Timing of Pulse Width Measurement Operation by Means of Restart
(with Rising Edge Specified) .........................................................................................................
203
8-26.
Control Register Settings in External Event Counter Mode ..........................................................
204
8-27.
External Event Counter Configuration Diagram ............................................................................
205
8-28.
External Event Counter Operation Timings (with Rising Edge Specified) .....................................
205
8-29.
Control Register Settings in Square-Wave Output Mode ..............................................................
206
8-30.
Square-Wave Output Operation Timing ........................................................................................
207
8-31.
Control Register Settings for One-Shot Pulse Output Operation Using Software Trigger .............
208
8-32.
Timing of One-Shot Pulse Output Operation Using Software Trigger ...........................................
209
8-33.
Control Register Settings for One-Shot Pulse Output Operation Using External Trigger ..............
210
8-34.
Timing of One-Shot Pulse Output Operation Using External Trigger
(With Rising Edge Specified) .........................................................................................................
211
8-35.
16-Bit Timer Register Start Timing ................................................................................................
212
8-36.
Timings After Change of Compare Register During Timer Count Operation .................................
212
8-37.
Capture Register Data Retention Timing .......................................................................................
213
8-38.
Operation Timing of OVF0 Flag .....................................................................................................
214
9-1.
8-Bit Timer/Event Counters 1 and 2 Block Diagram ......................................................................
221
9-2.
Block Diagram of 8-Bit Timer/Event Counter Output Control Circuit 1 ..........................................
222
9-3.
Block Diagram of 8-Bit Timer/Event Counter Output Control Circuit 2 ..........................................
222
9-4.
Timer Clock Select Register 1 Format ...........................................................................................
224
9-5.
8-Bit Timer Mode Control Register 1 Format .................................................................................
225
9-6.
8-Bit Timer Output Control Register Format ..................................................................................
226
9-7.
Port Mode Register 3 Format ........................................................................................................
227
9-8.
Interval Timer Operation Timings ..................................................................................................
228
9-9.
External Event Counter Operation Timings (with Rising Edge Specified) .....................................
231
9-10.
Square-Wave Output Operation Timing ........................................................................................
233
9-11.
Interval Timer Operation Timing ....................................................................................................
234
9-12.
External Event Counter Operation Timings (with Rising Edge Specified) .....................................
236
9-13.
Square-Wave Output Operation Timing ........................................................................................
238
9-14.
8-Bit Timer Registers 1 and 2 Start Timing ....................................................................................
238
9-15.
Event Counter Operation Timing ...................................................................................................
239
9-16.
Timing after Compare Register Change during Timer Count Operation .......................................
239
10-1.
Watch Timer Block Diagram ..........................................................................................................
243
10-2.
Timer Clock Select Register 2 Format ...........................................................................................
244
10-3.
Watch Timer Mode Control Register Format .................................................................................
245
11-1.
Watchdog Timer Block Diagram ....................................................................................................
249
11-2.
Timer Clock Select Register 2 Format ...........................................................................................
251
11-3.
Watchdog Timer Mode Register Format ........................................................................................
252
27
LIST OF FIGURES (4/8)
Figure No.
28
Title
Page
12-1.
Remote Controlled Output Application Example ...........................................................................
255
12-2.
Clock Output Control Circuit Block Diagram .................................................................................
256
12-3.
Timer Clock Select Register 0 Format ...........................................................................................
258
12-4.
Port Mode Register 3 Format ........................................................................................................
259
13-1.
Buzzer Output Control Circuit Block Diagram ...............................................................................
261
13-2.
Timer Clock Select Register 2 Format ...........................................................................................
263
13-3.
Port Mode Register 3 Format ........................................................................................................
264
14-1.
A/D Converter Block Diagram .......................................................................................................
266
14-2.
Handling of AVDD Pin .....................................................................................................................
268
14-3.
A/D Converter Mode Register Format ...........................................................................................
270
14-4.
A/D Converter Input Select Register Format .................................................................................
271
14-5.
External Interrupt Mode Register 1 Format ...................................................................................
272
14-6.
A/D Converter Basic Operation .....................................................................................................
274
14-7.
Relations between Analog Input Voltage and A/D Conversion Result ...........................................
275
14-8.
A/D Conversion by Hardware Start ...............................................................................................
276
14-9.
A/D Conversion by Software Start .................................................................................................
277
14-10.
Example of Method of Reducing Current Dissipation in Standby Mode ........................................
278
14-11.
Analog Input Pin Disposition .........................................................................................................
279
14-12.
A/D Conversion End Interrupt Request Generation Timing ...........................................................
280
14-13.
Handling of AVDD Pin .....................................................................................................................
280
15-1.
D/A Converter Block Diagram .......................................................................................................
282
15-2.
D/A Converter Mode Register Format ...........................................................................................
284
15-3.
Use Example of Buffer Amplifier ....................................................................................................
286
16-1.
Serial Bus Interface (SBI) System Configuration Example ...........................................................
289
16-2.
Serial Interface Channel 0 Block Diagram ....................................................................................
291
16-3.
Timer Clock Select Register 3 Format ...........................................................................................
295
16-4.
Serial Operating Mode Register 0 Format .....................................................................................
296
16-5.
Serial Bus Interface Control Register Format ................................................................................
298
16-6.
Interrupt Timing Specify Register Format ......................................................................................
300
16-7.
3-Wire Serial I/O Mode Timings ....................................................................................................
305
16-8.
RELT and CMDT Operations .........................................................................................................
305
16-9.
Circuit of Switching in Transfer Bit Order ......................................................................................
306
16-10.
Example of Serial Bus Configuration with SBI ..............................................................................
307
16-11.
SBI Transfer Timings .....................................................................................................................
309
16-12.
Bus Release Signal .......................................................................................................................
310
16-13.
Command Signal ...........................................................................................................................
310
16-14.
Addresses .....................................................................................................................................
311
16-15.
Slave Selection with Address ........................................................................................................
311
16-16.
Commands ....................................................................................................................................
312
LIST OF FIGURES (5/8)
Figure No.
Title
Page
16-17.
Data ...............................................................................................................................................
16-18.
Acknowledge Signal ......................................................................................................................
313
16-19.
BUSY and READY Signals ............................................................................................................
314
16-20.
RELT, CMDT, RELD, and CMDD Operations (Master) .................................................................
319
16-21.
RELT and CMDD Operations (Slave) ............................................................................................
319
16-22.
ACKT Operation ............................................................................................................................
320
16-23.
ACKE Operations ..........................................................................................................................
321
16-24.
ACKD Operations ..........................................................................................................................
322
16-25.
BSYE Operation ............................................................................................................................
322
16-26.
Pin Configuration ...........................................................................................................................
325
16-27.
Address Transmission from Master Device to Slave Device (WUP = 1) .......................................
327
16-28.
Command Transmission from Master Device to Slave Device .....................................................
328
16-29.
Data Transmission from Master Device to Slave Device ..............................................................
329
16-30.
Data Transmission from Slave Device to Master Device ..............................................................
330
16-31.
Serial Bus Configuration Example Using 2-Wire Serial I/O Mode .................................................
333
16-32.
2-Wire Serial I/O Mode Timings ....................................................................................................
337
16-33.
RELT and CMDT Operations .........................................................................................................
338
16-34.
SCK0/P27 Pin Configuration .........................................................................................................
339
17-1.
Serial Bus Configuration Example Using I2C Bus .........................................................................
343
17-2.
Serial Interface Channel 0 Block Diagram ....................................................................................
345
17-3.
Timer Clock Select Register 3 Format ...........................................................................................
349
17-4.
Serial Operating Mode Register 0 Format .....................................................................................
351
17-5.
Serial Bus Interface Control Register Format ................................................................................
352
17-6.
Interrupt Timing Specify Register Format ......................................................................................
354
17-7.
3-Wire Serial I/O Mode Timings ....................................................................................................
359
17-8.
RELT and CMDT Operations .........................................................................................................
359
17-9.
Circuit of Switching in Transfer Bit Order ......................................................................................
360
17-10.
Serial Bus Configuration Example Using 2-Wire Serial I/O Mode .................................................
361
17-11.
2-Wire Serial I/O Mode Timings ....................................................................................................
365
17-12.
RELT and CMDT Operations .........................................................................................................
366
2C
312
17-13.
Example of Serial Bus Configuration Using I
Bus .....................................................................
367
17-14.
I2C Bus Serial Data Transfer Timing ..............................................................................................
368
17-15.
Start Condition ...............................................................................................................................
369
17-16.
Address .........................................................................................................................................
369
17-17.
Transfer Direction Specification .....................................................................................................
369
17-18.
Acknowledge Signal ......................................................................................................................
370
17-19.
Stop Condition ...............................................................................................................................
370
17-20.
Wait Signal ....................................................................................................................................
371
17-21.
Pin Configuration ...........................................................................................................................
377
17-22.
Data Transmission from Master to Slave (Both Master and Slave Selected 9-Clock Wait) ..........
379
17-23.
Data Transmission from Slave to Master (Both Master and Slave Selected 9-Clock Wait) ..........
382
17-24.
Start Condition Output ...................................................................................................................
385
17-25.
Slave Wait Release (Transmission) ..............................................................................................
386
29
LIST OF FIGURES (6/8)
Figure No.
Title
17-26.
Slave Wait Release (Reception) ....................................................................................................
387
17-27.
SCK0/SCL/P27 Pin Configuration .................................................................................................
390
17-28.
SCK0/SCL/P27 Pin Configuration .................................................................................................
390
17-29.
Logic Circuit of SCL Signal ............................................................................................................
391
18-1.
Serial Interface Channel 1 Block Diagram ....................................................................................
395
18-2.
Timer Clock Select Register 3 Format ...........................................................................................
398
18-3.
Serial Operation Mode Register 1 Format .....................................................................................
399
18-4.
Automatic Data Transmit/Receive Control Register Format ..........................................................
400
18-5.
Automatic Data Transmit/Receive Interval Specify Register Format .............................................
401
18-6.
3-Wire Serial I/O Mode Timings ....................................................................................................
407
18-7.
Circuit of Switching in Transfer Bit Order ......................................................................................
408
18-8.
Basic Transmission/Reception Mode Operation Timings ..............................................................
417
18-9.
Basic Transmission/Reception Mode Flowchart ............................................................................
418
18-10.
Buffer RAM Operation in 6-Byte Transmission/Reception (in Basic Transmit/Receive Mode) ......
419
18-11.
Basic Transmission Mode Operation Timings ...............................................................................
421
18-12.
Basic Transmission Mode Flowchart .............................................................................................
422
18-13.
Buffer RAM Operation in 6-Byte Transmission (in Basic Transmit Mode) .....................................
423
18-14.
Repeat Transmission Mode Operation Timing ..............................................................................
425
18-15.
Repeat Transmission Mode Flowchart ..........................................................................................
426
18-16.
Buffer RAM Operation in 6-Byte Transmission (in Repeat Transmit Mode) ..................................
427
18-17.
Automatic Transmission/Reception Suspension and Restart ........................................................
429
18-18.
System Configuration When the Busy Control Option is Used .....................................................
430
18-19.
Operation Timings when Using Busy Control Option (BUSY0 = 0) ...............................................
431
18-20.
Busy Signal and Wait Cancel (when BUSY0 = 0) .........................................................................
432
18-21.
Operation Timings when Using Busy & Strobe Control Option (BUSY0 = 0) ................................
433
18-22.
Operation Timing of the Bit Slippage Detection Function Through the Busy SIgnal
18-23.
18-24.
(when BUSY0 = 1) .........................................................................................................................
434
Automatic Data Transmit/Receive Interval ....................................................................................
435
Operation Timing with Automatic Data Transmit/Receive Function Performed by
Internal Clock ................................................................................................................................
436
19-1.
Serial Interface Channel 2 Block Diagram ....................................................................................
441
19-2.
Baud Rate Generator Block Diagram ............................................................................................
442
19-3.
Serial Operating Mode Register 2 Format .....................................................................................
444
19-4.
Asynchronous Serial Interface Mode Register Format ..................................................................
445
19-5.
Asynchronous Serial Interface Status Register Format ................................................................
447
19-6.
Baud Rate Generator Control Register Format .............................................................................
448
19-7.
Asynchronous Serial Interface Transmit/Receive Data Format .....................................................
461
19-8.
Asynchronous Serial Interface Transmission Completion Interrupt Request Generation Timing ..
463
19-9.
Asynchronous Serial Interface Reception Completion Interrupt Request Generation Timing .......
464
19-10.
Receive Error Timing .....................................................................................................................
465
19-11.
The State of Receive Buffer Register (RXB) and Whether the Receive Completion
Interrupt Request (INTSR) is Generated .......................................................................................
30
Page
466
LIST OF FIGURES (7/8)
Figure No.
Title
Page
19-12.
3-Wire Serial I/O Mode Timing ......................................................................................................
472
19-13.
Circuit of Switching in Transfer Bit Order ......................................................................................
473
19-14.
Reception Completion Interrupt Request Generation Timing (when ISRM = 1) ............................
474
19-15.
Receive Buffer Register Read Disable Period ..............................................................................
475
20-1.
Real-time Output Port Block Diagram ...........................................................................................
478
20-2.
Real-time Output Buffer Register Configuration ............................................................................
479
20-3.
Port Mode Register 12 Format ......................................................................................................
480
20-4.
Real-time Output Port Mode Register Format ...............................................................................
480
20-5.
Real-time Output Port Control Register Format ............................................................................
481
21-1.
Basic Configuration of Interrupt Function ......................................................................................
486
21-2.
Interrupt Request Flag Register Format ........................................................................................
489
21-3.
Interrupt Mask Flag Register Format .............................................................................................
490
21-4.
Priority Specify Flag Register Format ............................................................................................
491
21-5.
External Interrupt Mode Register 0 Format ...................................................................................
492
21-6.
External Interrupt Mode Register 1 Format ...................................................................................
493
21-7.
Sampling Clock Select Register Format ........................................................................................
494
21-8.
Noise Eliminator Input/Output Timing (during rising edge detection) ............................................
495
21-9.
Program Status Word Configuration .............................................................................................
496
21-10.
Flowchart of Generation from Non-Maskable Interrupt Request to Acknowledgment ...................
498
21-11.
Non-Maskable Interrupt Request Acknowledge Timing .................................................................
498
21-12.
Non-Maskable Interrupt Request Acknowledge Operation ...........................................................
499
21-13.
Interrupt Request Acknowledge Processing Algorithm ..................................................................
501
21-14.
Interrupt Request Acknowledge Timing (Minimum Time) ..............................................................
502
21-15.
Interrupt Request Acknowledge Timing (Maximum Time) .............................................................
502
21-16.
Multiple Interrupt Example .............................................................................................................
504
21-17.
Interrupt Request Hold ..................................................................................................................
506
21-18.
Basic Configuration of Test Function .............................................................................................
507
21-19.
Format of Interrupt Request Flag Register 1L ...............................................................................
508
21-20.
Format of Interrupt Mask Flag Register 1L ....................................................................................
508
21-21.
Key Return Mode Register Format ................................................................................................
509
22-1.
Memory Map when Using External Device Expansion Function ...................................................
512
22-2.
Memory Expansion Mode Register Format ...................................................................................
516
22-3.
Memory Size Switching Register Format ......................................................................................
517
22-4.
Instruction Fetch from External Memory .......................................................................................
519
22-5.
External Memory Read Timing ......................................................................................................
520
22-6.
External Memory Write Timing ......................................................................................................
521
22-7.
External Memory Read Modify Write Timing .................................................................................
522
22-8.
Connection Example of µPD78054 and Memory ..........................................................................
523
23-1.
Oscillation Stabilization Time Select Register Format ...................................................................
526
23-2.
HALT Mode Clear upon Interrupt Request Generation .................................................................
528
31
LIST OF FIGURES (8/8)
Figure No.
32
Title
Page
23-3.
HALT Mode Release by RESET Input ...........................................................................................
529
23-4.
STOP Mode Release by Interrupt Request Generation ................................................................
531
23-5.
Release by STOP Mode RESET Input ..........................................................................................
532
24-1.
Block Diagram of Reset Function ..................................................................................................
533
24-2.
Timing of Reset Input by RESET Input ..........................................................................................
534
24-3.
Timing of Reset due to Watchdog Timer Overflow ........................................................................
534
24-4.
Timing of Reset Input in STOP Mode by RESET Input .................................................................
534
25-1.
Block Diagram of ROM Correction ................................................................................................
537
25-2.
Correction Address Registers 0 and 1 Format ..............................................................................
538
25-3.
Correction Control Register Format ..............................................................................................
539
25-4.
Storing Example to EEPROM (when one place is corrected) .......................................................
540
25-5.
Connecting Example with EEPROM (using 2-wire serial I/O mode) .............................................
540
25-6.
Initialization Routine ......................................................................................................................
541
25-7.
ROM Correction Operation ............................................................................................................
542
25-8.
ROM Correction Example .............................................................................................................
543
25-9.
Program Transition Diagram (when one place is corrected) .........................................................
544
25-10.
Program Transition Diagram (when two places are corrected) .....................................................
545
26-1.
Memory Size Switching Register Format (µPD78P054) ...............................................................
549
26-2.
Memory Size Switching Register Format (µPD78P058) ...............................................................
550
26-3.
Internal Expansion RAM Size Switching Register Format ............................................................
551
26-4.
Page Program Mode Flowchart .....................................................................................................
554
26-5.
Page Program Mode Timing ..........................................................................................................
555
26-6.
Byte Program Mode Flowchart ......................................................................................................
556
26-7.
Byte Program Mode Timing ...........................................................................................................
557
26-8.
PROM Read Timing ......................................................................................................................
558
B-1.
Development Tool Configuration ...................................................................................................
580
B-2.
EV-9200GC-80 Drawing (For Reference Only) .............................................................................
590
B-3.
EV-9200GC-80 Footprint (For Reference Only) ............................................................................
591
B-4.
TGK-080SDW Drawing (For Reference) (unit: mm) ......................................................................
592
LIST OF TABLES (1/3)
Table No.
Title
Page
1-1.
Differences between Standard Quality Grade Products and (A) Products ....................................
48
1-2.
Mask Options of Mask ROM Versions ...........................................................................................
48
2-1.
Mask Options of Mask ROM Versions ...........................................................................................
58
3-1.
Pin Input/Output Circuit Types .......................................................................................................
71
4-1.
Pin Input/Output Circuit Types .......................................................................................................
87
5-1.
Internal ROM Capacity ..................................................................................................................
99
5-2.
Vector Table ...................................................................................................................................
99
5-3.
Internal High-Speed RAM Capacity ..............................................................................................
100
5-4.
Internal High-Speed RAM Area .....................................................................................................
110
5-5.
Correspondent Table of Absolute Addresses in the General Registers .........................................
112
5-6.
Special-Function Register List .......................................................................................................
115
6-1.
Port Functions (µPD78054 subseries) ..........................................................................................
130
6-2.
Port Functions (µPD78054Y subseries) ........................................................................................
132
6-3.
Port Configuration .........................................................................................................................
134
6-4.
Pull-up Resistor of Port 6 ..............................................................................................................
144
6-5.
Port Mode Register and Output Latch Settings when Using Dual-Functions ................................
151
6-6.
Comparison between Mask ROM Version and PROM Version .....................................................
157
7-1.
Clock Generator Configuration ......................................................................................................
159
7-2.
Relationship between CPU Clock and Minimum Instruction Execution Time ................................
163
7-3.
Maximum Time Required for CPU Clock Switchover ....................................................................
172
8-1.
Timer/Event Counter Operations ...................................................................................................
176
8-2.
16-Bit Timer/Event Counter Interval Times ....................................................................................
177
8-3.
16-Bit Timer/Event Counter Square-Wave Output Ranges ...........................................................
178
8-4.
16-Bit Timer/Event Counter Configuration .....................................................................................
179
8-5.
INTP0/TI00 Pin Valid Edge and CR00 Capture Trigger Valid Edge ..............................................
181
8-6.
16-Bit Timer/Event Counter Interval Times ....................................................................................
193
8-7.
16-Bit Timer/Event Count Square-Wave Output Ranges ..............................................................
207
9-1.
8-Bit Timer/Event Counters 1 and 2 Interval Times .......................................................................
216
9-2.
8-Bit Timer/Event Counters 1 and 2 Square-Wave Output Ranges ..............................................
217
9-3.
Interval Times when 8-Bit Timer/Event Counters 1 and 2 are Used as
16-Bit Timer/Event Counters .........................................................................................................
9-4.
218
Square-Wave Output Ranges when 8-Bit Timer/Event Counters 1 and 2 are Used as
16-Bit Timer/Event Counters .........................................................................................................
219
9-5.
8-Bit Timer/Event Counters 1 and 2 Configurations ......................................................................
220
9-6.
8-Bit Timer/Event Counter 1 Interval Time ....................................................................................
229
9-7.
8-Bit Timer/Event Counter 2 Interval Time ....................................................................................
230
33
LIST OF TABLES (2/3)
Table No.
9-8.
9-9.
Title
8-Bit Timer/Event Counters 1 and 2 Square-Wave Output Ranges ..............................................
235
Square-Wave Output Ranges when 2-Channel 8-Bit Timer/ Event Counters (TM1 and TM2)
are Used as 16-Bit Timer/Event Counter .......................................................................................
237
10-1.
Interval Timer Interval Time ...........................................................................................................
241
10-2.
Watch Timer Configuration ............................................................................................................
242
10-3.
Interval Timer Interval Time ...........................................................................................................
246
11-1.
Watchdog Timer Runaway Detection Times ..................................................................................
247
11-2.
Interval Times ................................................................................................................................
248
11-3.
Watchdog Timer Configuration ......................................................................................................
249
11-4.
Watchdog Timer Runaway Detection Times ..................................................................................
253
11-5.
Interval Timer Interval Time ...........................................................................................................
254
12-1.
Clock Output Control Circuit Configuration ...................................................................................
256
13-1.
Buzzer Output Control Circuit Configuration .................................................................................
261
14-1.
A/D Converter Configuration .........................................................................................................
265
15-1.
D/A Converter Configuration .........................................................................................................
282
16-1.
Differences between Channels 0, 1, and 2 ...................................................................................
287
16-2.
Serial Interface Channel 0 Configuration ......................................................................................
290
16-3.
Various Signals in SBI Mode .........................................................................................................
323
17-1.
Differences between Channels 0, 1, and 2 ...................................................................................
341
17-2.
Serial Interface Channel 0 Configuration ......................................................................................
344
17-3.
Serial Interface Channel 0 Interrupt Request Signal Generation ..................................................
347
17-4.
34
232
Interval Times when 2-Channel 8-Bit Timer/ Event Counters (TM1 and TM2) are Used
as 16-Bit Timer/Event Counter ......................................................................................................
9-10.
Page
2C
Signals in I
Bus Mode ................................................................................................................
376
18-1.
Serial Interface Channel 1 Configuration ......................................................................................
394
18-2.
Interval Timing Through CPU Processing (when the internal clock is operating) ..........................
436
18-3.
Interval Timing Through CPU Processing (when the external clock is operating) .........................
437
19-1.
Serial Interface Channel 2 Configuration ......................................................................................
440
19-2.
Serial Interface Channel 2 Operating Mode Settings ....................................................................
446
19-3.
Relation between Main System Clock and Baud Rate ..................................................................
450
19-4.
Relation between ASCK Pin Input Frequency and Baud Rate
(When BRGC is set to 00H) ..........................................................................................................
451
19-5.
Relation between Main System Clock and Baud Rate ..................................................................
459
19-6.
Relation between ASCK Pin Input Frequency and Baud Rate (When BRGC is set to 00H) .........
460
LIST OF TABLES (3/3)
Table No.
Title
Page
19-7.
Receive Error Causes ...................................................................................................................
465
20-1.
Real-time Output Port Configuration .............................................................................................
478
20-2.
Operation in Real-time Output Buffer Register Manipulation ........................................................
479
20-3.
Real-time Output Port Operating Mode and Output Trigger ..........................................................
481
21-1.
Interrupt Source List ......................................................................................................................
484
21-2.
Various Flags Corresponding to Interrupt Request Sources .........................................................
488
21-3.
Times from Maskable Interrupt Request Generation to Interrupt Service .....................................
500
21-4.
Interrupt Request Enabled for Multiple Interrupt during Interrupt Servicing ..................................
503
21-5.
Test Input Factors ..........................................................................................................................
507
21-6.
Flags Corresponding to Test Input Signals ....................................................................................
507
22-1.
Pin Functions in External Memory Expansion Mode .....................................................................
511
22-2.
State of Ports 4 to 6 Pins in External Memory Expansion Mode ...................................................
511
22-3.
Values when the Memory Size Switching Register is Reset .........................................................
517
23-1.
HALT Mode Operating Status ........................................................................................................
527
23-2.
Operation after HALT Mode Release ............................................................................................
529
23-3.
STOP Mode Operating Status .......................................................................................................
530
23-4.
Operation after STOP Mode Release ............................................................................................
532
24-1.
Hardware Status after Reset .........................................................................................................
535
25-1.
ROM Correction Configuration ......................................................................................................
537
26-1.
Differences between µPD78P054, 78P058 and Mask ROM Versions ..........................................
547
26-2.
Differences between µPD78P054 and 78P058 .............................................................................
548
26-3.
Examples of Memory Size Switching Register Settings (µPD78P054) .........................................
549
26-4.
Examples of Memory Size Switching Register Settings (µPD78P058) .........................................
550
26-5.
Value Set to the Internal Expansion RAM Size Switching Register ..............................................
551
26-6.
PROM Programming Operating Modes ........................................................................................
552
27-1.
Operand Identifiers and Description Methods ...............................................................................
562
A-1.
Major differences between µPD78054, 78054Y Subseries and
µPD78058F, 78058FY Subseries ..................................................................................................
578
B-1.
OS for IBM PC ...............................................................................................................................
589
B-2.
Upgrading Former In-circuit Emulators for 78K/0 Series to IE-78001-R-A ....................................
589
35
[MEMO]
36
CHAPTER 1 GENERAL (µPD78054 Subseries)
1.1 Features
On-chip high-capacity ROM and RAM
Type
Data Memory
Program Memory
(ROM)
Internal High-Speed RAM
µPD78052
16 Kbytes
512 bytes
µPD78053
24 Kbytes
1024 bytes
µPD78054
32 Kbytes
µPD78P054
32 KbytesNote1
1024 bytesNote1
µPD78055
40 Kbytes
1024 bytes
µPD78056
48 Kbytes
µPD78058
60 Kbytes
Part Number
µPD78P058
Notes
60 KbytesNote1
Internal Buffer RAM
32 bytes
Internal Expansion RAM
None
1024 bytes
1024
bytesNote1
1024 bytesNote2
1. The capacities of internal PROM and internal high-speed RAM can be changed by means of the
memory size switching register (IMS).
2. The capacity of internal high-speed RAM can be changed by means of the internal expansion RAM
size switching register (IXS).
External Memory Expansion Space: 64 Kbytes
Minimum instruction execution time changeable from high speed (0.4 µs: In main system clock 5.0 MHz operation)
to ultra-low speed (122 µs: In subsystem clock 32.768 kHz operation)
Instruction set suited to system control
• Bit manipulation possible in all address spaces
• Multiply and divide instructions
69 I/O ports: (4 N-ch open-drain ports)
8-bit resolution A/D converter: 8 channels
8-bit resolution D/A converter: 2 channels
Serial interface: 3 channels
• 3-wire serial I/O/SBI/2-wire serial I/O mode: 1 channel
• 3-wire serial I/O mode (Automatic transmit/receive function): 1 channel
• 3-wire serial I/O/UART mode: 1 channel
Timer: 5 channels
• 16-bit timer/event counter : 1 channel
• 8-bit timer/event counter : 2 channels
• Watch timer : 1 channel
• Watchdog timer : 1 channel
22 vectored interrupt sources
2 test inputs
Two types of on-chip clock oscillators (main system clock and subsystem clock)
Supply voltage: VDD = 2.0 to 6.0 V
37
CHAPTER 1
OUTLINE (µPD78054 Subseries)
1.2 Applications
µPD78052, 78053, 78054, 78P054, 78055, 78056, 78058, 78P058:
Cellular phones, pagers, printers, AV equipment, air conditioners, cameras, PPCs, fuzzy home appliances, vending
machines, etc.
µPD78052(A), 78053(A), 78054(A):
Control unit for automobile electronics, gas detector/breaker, various safety unit, etc.
1.3 Ordering Information
Part number
Package
Internal ROM
µPD78052GC-×××-8BT
80-pin plastic QFP (14 × 14 mm, Resin thickness: 1.4 mm)
Mask ROM
µPD78052GK-×××-BE9
80-pin plastic TQFP (Fine pitch) (12 × 12 mm)
Mask ROM
µPD78053GC-×××-8BT
80-pin plastic QFP (14 × 14 mm, Resin thickness: 1.4 mm)
Mask ROM
µPD78053GK-×××-BE9
80-pin plastic TQFP (Fine pitch) (12 × 12 mm)
Mask ROM
µPD78054GC-×××-8BT
80-pin plastic QFP (14 × 14 mm, Resin thickness: 1.4 mm)
Mask ROM
µPD78054GK-×××-BE9
80-pin plastic TQFP (Fine pitch) (12 × 12 mm)
Mask ROM
µPD78P054GC-3B9
80-pin plastic QFP (14 × 14 mm, Resin thickness: 2.7 mm)
One-time PROM
µPD78P054GC-8BTNote
80-pin plastic QFP (14 × 14 mm, Resin thickness: 1.4 mm)
One-time PROM
µPD78P054GK-BE9
80-pin plastic TQFP (Fine pitch) (12 × 12 mm)
One-time PROM
µPD78P054KK-T
80-pin ceramic WQFN (14 × 14 mm)
µPD78055GC-×××-8BT
80-pin plastic QFP (14 × 14 mm, Resin thickness: 1.4 mm)
Mask ROM
µPD78055GK-×××-BE9
80-pin plastic TQFP (Fine pitch) (12 × 12 mm)
Mask ROM
µPD78056GC-×××-8BT
80-pin plastic QFP (14 × 14 mm, Resin thickness: 1.4 mm)
Mask ROM
µPD78056GK-×××-BE9
80-pin plastic TQFP (Fine pitch) (12 × 12 mm)
Mask ROM
µPD78058GC-×××-8BT
80-pin plastic QFP (14 × 14 mm, Resin thickness: 1.4 mm)
Mask ROM
µPD78058GK-×××-BE9
80-pin plastic TQFP (Fine pitch) (12 × 12 mm)
Mask ROM
µPD78P058GC-8BT
80-pin plastic QFP (14 × 14 mm, Resin thickness: 1.4 mm)
µPD78P058KK-T
80-pin ceramic WQFN (14 × 14 mm)
µPD78052GC(A)-×××-3B9
80-pin plastic QFP (14 × 14 mm, Resin thickness: 2.7 mm)
Mask ROM
µPD78053GC(A)-×××-3B9
80-pin plastic QFP (14 × 14 mm, Resin thickness: 2.7 mm)
Mask ROM
µPD78054GC(A)-×××-3B9
80-pin plastic QFP (14 × 14 mm, Resin thickness: 2.7 mm)
Mask ROM
Note
EPROM
One-time PROM
EPROM
Under development
Caution The µPD78P054GC is available in two packages. For the package that can be supplied, consult
NEC.
Remark
38
××× indicates ROM code suffix.
CHAPTER 1
OUTLINE (µPD78054 Subseries)
1.4 Quality Grade
Part number
Package
Quality grade
µPD78052GC-×××-8BT
80-pin plastic QFP (14 × 14 mm, Resin thickness: 1.4 mm)
Standard
µPD78052GK-×××-BE9
80-pin plastic TQFP (Fine pitch) (12 × 12 mm)
Standard
µPD78053GC-×××-8BT
80-pin plastic QFP (14 × 14 mm, Resin thickness: 1.4 mm)
Standard
µPD78053GK-×××-BE9
80-pin plastic TQFP (Fine pitch) (12 × 12 mm)
Standard
µPD78054GC-×××-8BT
80-pin plastic QFP (14 × 14 mm, Resin thickness: 1.4 mm)
Standard
µPD78054GK-×××-BE9
80-pin plastic TQFP (Fine pitch) (12 × 12 mm)
Standard
µPD78P054GC-3B9
80-pin plastic QFP (14 × 14 mm, Resin thickness: 2.7 mm)
Standard
µPD78P054GC-8BTNote
80-pin plastic QFP (14 × 14 mm, Resin thickness: 1.4 mm)
Standard
µPD78P054GK-BE9
80-pin plastic TQFP (Fine pitch) (12 × 12 mm)
Standard
µPD78P054KK-T
80-pin ceramic WQFN (14 × 14 mm)
µPD78055GC-×××-8BT
80-pin plastic QFP (14 × 14 mm, Resin thickness: 1.4 mm)
Standard
µPD78055GK-×××-BE9
80-pin plastic TQFP (Fine pitch) (12 × 12 mm)
Standard
µPD78056GC-×××-8BT
80-pin plastic QFP (14 × 14 mm, Resin thickness: 1.4 mm)
Standard
µPD78056GK-×××-BE9
80-pin plastic TQFP (Fine pitch) (12 × 12 mm)
Standard
µPD78058GC-×××-8BT
80-pin plastic QFP (14 × 14 mm, Resin thickness: 1.4 mm)
Standard
µPD78058GK-×××-BE9
80-pin plastic TQFP (Fine pitch) (12 × 12 mm)
Standard
µPD78P058GC-8BT
80-pin plastic QFP (14 × 14 mm, Resin thickness: 1.4 mm)
Standard
µPD78P058KK-T
80-pin ceramic WQFN (14 × 14 mm)
µPD78052GC(A)-×××-3B9
80-pin plastic QFP (14 × 14 mm, Resin thickness: 2.7 mm)
Special
µPD78053GC(A)-×××-3B9
80-pin plastic QFP (14 × 14 mm, Resin thickness: 2.7 mm)
Special
µPD78054GC(A)-×××-3B9
80-pin plastic QFP (14 × 14 mm, Resin thickness: 2.7 mm)
Special
Note
Not applicable
(for function evalution)
Not applicable
(for function evalution)
Under development
Cautions 1. The µPD78P054GC is available in two packages. For the package that can be supplied,
consult NEC.
2. The µPD78054KK-T and 78P058KK-T should be used only for experiment or function
evaluation, because they are not intended for use in equipment that will be mass-produced
and require high reliability.
Remark
××× indicates ROM code suffix.
Please refer to "Quality Grades on NEC Semiconductor Devices" (Document number C11531E) published by NEC
Corporation to know the specification of quality grade on the devices and its recommended applications.
39
CHAPTER 1
OUTLINE (µPD78054 Subseries)
1.5 Pin Configuration (Top View)
(1) Normal operating mode
• 80-pin plastic QFP (14 × 14 mm, Resin thickness: 2.7 mm)
µPD78P054GC-3B9
• 80-pin plastic QFP (14 × 14 mm, Resin thickness: 1.4 mm)
µPD78052GC-×××-8BT, 78053GC-×××-8BT, 78054GC-×××-8BT, 78P054GC-8BTNote
µPD78055GC-×××-8BT, 78056GC-×××-8BT, 78058GC-×××-8BT, 78P058GC-8BT
• 80-pin plastic TQFP (Fine pitch) (12 × 12 mm)
µPD78052GK-×××-BE9, 78053GK-×××-BE9, 78054GK-×××-BE9, 78P054GK-BE9
µPD78055GK-×××-BE9, 78056GK-×××-BE9, 78058GK-×××-BE9
• 80-pin ceramic WQFN (14 × 14 mm)
P14/ANI4
P13/ANI3
P12/ANI2
P11/ANI1
P10/ANI0
AVREF0
AVDD
XT1/P07
XT2
IC (VPP)
X1
X2
VDD
P06/INTP6
P05/INTP5
P04/INTP4
P03/INTP3
P02/INTP2
P01/INTP1/TI01
P00/INTP0/TI00
µPD78P054KK-T, 78P058KK-T
80 79 78 77 76 75 74 73 72 71 70 69 68 67 66 65 64 63 62 61
60
1
59
2
58
3
57
4
56
5
55
6
54
7
53
8
52
9
51
10
50
11
49
12
48
13
47
14
46
15
45
16
44
17
43
18
42
19
41
20
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
RESET
P127/RTP7
P126/RTP6
P125/RTP5
P124/RTP4
P123/RTP3
P122/RTP2
P121/RTP1
P120/RTP0
P37
P36/BUZ
P35/PCL
P34/TI2
P33/TI1
P32/TO2
P31/TO1
P30/TO0
P67/ASTB
P66/WAIT
P65/WR
P42/AD2
P43/AD3
P44/AD4
P45/AD5
P46/AD6
P47/AD7
P50/A8
P51/A9
P52/A10
P53/A11
P54/A12
P55/A13
VSS
P56/A14
P57/A15
P60
P61
P62
P63
P64/RD
P15/ANI5
P16/ANI6
P17/ANI7
AVSS
P130/ANO0
P131/ANO1
AVREF1
P70/SI2/RxD
P71/SO2/TxD
P72/SCK2/ASCK
P20/SI1
P21/SO1
P22/SCK1
P23/STB
P24/BUSY
P25/SI0/SB0
P26/SO0/SB1
P27/SCK0
P40/AD0
P41/AD1
Note
Under development
Cautions 1. Be sure to connect IC (Internally Connected) pin to VSS directly.
2. Connect AVDD pin to VDD.
3. Connect AVSS pin to VSS.
Remark
40
Pin connection in parentheses is intended for the µPD78P054, 78P058.
CHAPTER 1
OUTLINE (µPD78054 Subseries)
Pin Identifications
A8 to A15
:
Address Bus
P130, P131
:
Port13
AD0 to AD7
:
Address/Data Bus
PCL
:
Programmable Clock
ANI0 to ANI7
:
Analog Input
RD
:
Read Strobe
:
ANO0, ANO1
:
Analog Output
RESET
ASCK
:
Asynchronous Serial Clock
RTP0 to RTP7 :
Real-Time Output Port
Reset
ASTB
:
Address Strobe
RxD
:
Receive Data
AVDD
:
Analog Power Supply
SB0, SB1
:
Serial Bus
AVREF0, AVREF1
:
Analog Reference Voltage
SCK0 to SCK2 :
Serial Clock
AVSS
:
Analog Ground
S10 to S12
:
Serial Input
BUSY
:
Busy
SO0 to SO2
:
Serial Output
BUZ
:
Buzzer Clock
STB
:
Strobe
IC
:
Internally Connected
TI00, TI01
:
Timer Input
INTP0 to INTP6 :
Interrupt from Peripherals
TI1, TI2
:
Timer Input
P00 to P07
:
Port0
TO0 to TO2
:
Timer Output
P10 to P17
:
Port1
TxD
:
Transmit Data
P20 to P27
:
Port2
VDD
:
Power Supply
P30 to P37
:
Port3
VPP
:
Programming Power Supply
P40 to P47
:
Port4
VSS
:
Ground
P50 to P57
:
Port5
WAIT
:
Wait
P60 to P67
:
Port6
WR
:
Write Strobe
P70 to P72
:
Port7
X1, X2
:
Crystal (Main System Clock)
P120 to P127
:
Port12
XT1, XT2
:
Crystal (Subsystem Clock)
41
CHAPTER 1
OUTLINE (µPD78054 Subseries)
(2) PROM programming mode
• 80-pin plastic QFP (14 × 14 mm, Resin thickness: 2.7 mm)
µPD78P054GC-3B9
• 80-pin plastic QFP (14 × 14 mm, Resin thickness: 1.4 mm)
µPD78P054GC-8BTNote, 78P058GC-8BT
• 80-pin plastic TQFP (Fine pitch) (12 × 12 mm)
µPD78P054GK-BE9
• 80-pin ceramic WQFN (14 × 14 mm)
VDD
(L)
A2
A3
A4
A5
A6
A7
A8
A16
A10
A11
A12
A13
VSS
A14
A15
A0
A1
RESET
(L)
D7
D6
D5
D4
D3
D2
D1
D0
(L)
CE
OE
VSS
(L)
(L)
80 79 78 77 76 75 74 73 72 71 70 69 68 67 66 65 64 63 62 61
60
1
59
2
58
3
57
4
56
5
55
6
54
7
53
8
52
9
51
10
50
11
49
12
48
13
47
14
46
15
45
16
44
17
43
18
42
19
41
20
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
(L)
Note
PGM
(L)
A9
(L)
VSS
VDD
(L)
Open
VPP
(L)
Open
VDD
(L)
µPD78P054KK-T, 78P058KK-T
Under development
Cautions 1. (L)
2. VSS
: Connect individually to VSS via a pull-down resistor.
: Connect to the ground.
3. RESET : Set to the low level.
4. Open
42
: Leave this pin unconnected.
A0 to A16
: Address Bus
RESET
: Reset
CE
: Chip Enable
VDD
: Power Supply
D0 to D7
: Data Bus
VPP
: Programming Power Supply
OE
: Output Enable
VSS
: Ground
PGM
: Program
CHAPTER 1
OUTLINE (µPD78054 Subseries)
1.6 78K/0 Series Expansion
The products in the 78K/0 Series are listed below. The names in boxes are subseries names.
Mass-produced products
Products under development
The subseries whose name ends with Y support
the I2C bus specifications.
Control
100-pin
Reduced EMI noise version of µPD78078
µPD78075B
100-pin
µPD78078
µPD78078Y
100-pin
µPD78070A
µPD78070AY
ROM-less version of µPD78078
µPD780058
µPD780018AY
µPD780058YNote
Enhanced serial I/O of µPD78078Y and functions are defined.
80-pin
80-pin
µPD78058F
µPD78058FY
Reduced EMI noise version of µPD78054
80-pin
µPD78054
µPD78054Y
Added UART and D/A to µPD78014 and enhanced I/Os
64-pin
µPD780034
µPD780034Y
Enhanced A/D of µPD780024
64-pin
µPD780024
µPD780024Y
Enhanced serial I/O of µPD78018F
64-pin
µPD78014H
64-pin
µPD78018F
µPD78018FY
Low-voltage (1.8 V) version of µPD78014 and enhanced ROM/RAM size options
64-pin
µPD78014
µPD78014Y
64-pin
µPD780001
64-pin
µPD78002
42-/44-pin
µPD78083
100-pin
Added timers to µPD78054 and enhanced external interface
Enhanced serial I/O of µPD78054, reduced EMI noise version
Reduced EMI noise version of µPD78018F
Added A/D and 16-bit timer to µPD78002
Added A/D to µPD78002
µPD78002Y
Basic subseries for control applications
Equipped with UART and operates at low-voltage (1.8 V)
Inverter control
Enhanced inverter control, timer, and SIO of µPD780964, expanded ROM and RAM
64-pin
µPD780988
64-pin
µPD780964
Enhanced A/D of µPD780924
64-pin
µPD780924
Equipped with inverter control circuit and UART, reduced EMI noise version
78K/0
Series
FIPTM driving
µPD780208
Enhanced I/O and FIP C/D of µPD78044F, 53 display outputs
100-pin
µPD780228
Enhanced I/O and FIP C/D of µPD78044H, 48 display outputs
80-pin
µPD78044H
Added N-ch open-drain I/O to µPD78044F, 34 display outputs
80-pin
µPD78044F
Basic subseries for driving FIPs, 34 display outputs
100-pin
LCD driving
100-pin
µPD780308
100-pin
µPD78064B
100-pin
µPD78064
µPD780308Y
Enhanced SIO of µPD78064, expanded ROM and RAM
Reduced EMI noise version of µPD78064
µPD78064Y
Basic subseries for driving LCDs, equipped with UART
IEBusTM supported
80-pin
µPD78098B
80-pin
µPD78098
Reduced EMI noise version of µPD78098
Added IEBus controller to µPD78054
Meter control
80-pin
Note
µPD780973
Equipped with controller/driver for driving automobile meters
Planned
43
CHAPTER 1
OUTLINE (µPD78054 Subseries)
The following shows the major differences between subseries products.
Function
ROM
Timer
8-bit 10-bit 8-bit
VDD
Serial Interface
Subseries Name
Control
Capacity
8-bit 16-bit Watch WDT A/D
µPD78075B
32 K to 40 K 4 ch 1 ch 1 ch 1 ch 8 ch
µPD78078
48 K to 60 K
µPD78070A
A/D
–
D/A
2 ch 3 ch (UART: 1 ch) 88
1.8 V
61
2.7 V
µPD780058
24 K to 60 K 2 ch
3 ch (Time division
UART: 1 ch)
68
1.8 V
µPD78058F
48 K to 60 K
3 ch (UART: 1 ch) 69
2.7 V
µPD78054
16 K to 60 K
µPD780034
8 K to 32 K
–
8 ch
8 ch
–
–
2 ch
µPD78014
8 K to 32 K
µPD780001
8K
µPD78002
8 K to 16 K
Inverter
µPD780988
32 K to 60 K
control
µPD780964
8 K to 32 K
–
3 ch Note 1
–
1 ch
1 ch
–
–
8 ch
–
1 ch
–
–
–
µPD780208
32 K to 60 K
2 ch 1 ch 1 ch 1 ch 8 ch
driving
µPD780228
48 K to 60 K
3 ch
µPD78044H
32 K to 48 K
2 ch 1 ch 1 ch
µPD78044F
16 K to 40 K
µPD780308
48 K to 60 K
µPD78064B
32 K
µPD78064
16 K to 32 K
µPD78098B
40 K to 60 K
Notes
µPD780973
1.8 V
53
–
–
–
39
–
53
√
33
1.8 V
–
3 ch (UART: 2 ch) 47
4.0 V
√
2 ch (UART: 2 ch)
2.7 V
2 ch
74
2.7 V
1 ch
72
4.5 V
68
2.7 V
57
2.0 V
–
2 ch 3 ch (UART: 1 ch) 69
2.7 V
√
4.5 V
–
–
–
2 ch
2 ch 1 ch 1 ch 1 ch 8 ch
–
–
3 ch (Time division
UART: 1 ch)
2 ch (UART: 1 ch)
2 ch 1 ch 1 ch 1 ch 8 ch
–
3 ch 1 ch 1 ch 1 ch 5 ch
–
32 K to 60 K
24 K to 32 K
1. 16-bit timer: 2 channels
10-bit timer: 1 channel
2. 10-bit timer: 1 channel
44
8 ch
8 ch
FIP
Meter
control
1 ch (UART: 1 ch)
Note 2
µPD780924
supported µPD78098
51
2.7 V
µPD78083
IEBus
3 ch (UART: 1 ch, Time
division 3-wire: 1 ch)
µPD78014H
8 K to 60 K
√
2.0 V
µPD780024
LCD
driving
MIN. Value Expansion
–
µPD78018F
External
I/O
–
2 ch (UART: 1 ch) 56
CHAPTER 1
OUTLINE (µPD78054 Subseries)
1.7 Block Diagram
PORT 0
P00
P01-P06
P07
PORT 1
P10-P17
PORT 2
P20-P27
PORT 3
P30-P37
PORT 4
P40-P47
PORT 5
P50-P57
PORT 6
P60-P67
PORT 7
P70-P72
PORT 12
P120-P127
PORT 13
P130, P131
REAL-TIME
OUTPUT PORT
RTP0/P120RTP7/P127
TO0/P30
TI00/INTP0/P00
TI01/INTP1/P01
TO1/P31
TI1/P33
TO2/P32
TI2/P34
16-bit TIMER/
EVENT COUNTER
8-bit TIMER/
EVENT COUNTER 1
8-bit TIMER/
EVENT COUNTER 2
WATCHDOG TIMER
WATCH TIMER
SI0/SB0/P25
SO0/SB1/P26
SCK0/P27
SERIAL
INTERFACE 0
78K/0
CPU CORE
SI1/P20
SO1/P21
SCK1/P22
STB/P23
BUSY/P24
ROM
SERIAL
INTERFACE 1
SI2/RxD/P70
SO2/TxD/P71
SCK2/ASCK/P72
SERIAL
INTERFACE 2
RAM
ANI0/P10ANI7/P17
AVDD
A/D CONVERTER
AVSS
AVREF0
ANO0/P130,
ANO1/P131
AVSS
EXTERNAL
ACCESS
D/A CONVERTER
AVREF1
INTP0/P00INTP6/P06
BUZ/P36
RESET
BUZZER OUTPUT
X1
SYSTEM
CONTROL
PCL/P35
RD/P64
WR/P65
WAIT/P66
ASTB/P67
INTERRUPT
CONTROL
CLOCK OUTPUT
CONTROL
AD0/P40AD7/P47
A8/P50A15/P57
VDD
VSS
IC
(VPP)
X2
XT1/P07
XT2
Remarks 1. The internal ROM and RAM capacities depend on the product.
2. Pin connection in parentheses is intended for the µPD78P054, 78P058.
45
CHAPTER 1
OUTLINE (µPD78054 Subseries)
1.8 Outline of Function
Part Number
µPD78052 µPD78053 µPD78054 µPD78P054 µPD78055 µPD78056 µPD78058 µPD78P058
Item
Note 1
ROM
Internal
memory
Mask ROM
PROM
Note 2
Mask ROM
16 Kbytes 24 Kbytes 32 Kbytes 32 Kbytes 40 Kbytes
PROM
48 Kbytes 60 Kbytes 60 Kbytes
Note 3
High-speed RAM
512 bytes
1024 bytes
1024 bytes 1024 bytes
Note 3
Buffer RAM
32 bytes
Expansion RAM
None
Note 3
1024 bytes
Note 3
1024 bytes 1024 bytes
Note 4
Memory space
64 Kbytes
General register
8 bits × 8 × 4 banks
Minimum
With main system clock selected
instruction
execution time With subsystem clock selected
0.4 µs/0.8 µs/1.6 µs/3.2 µs/6.4 µs/12.8 µs (@ 5.0 MHz)
Instruction set
• 16-bit operation
122 µs (@ 32.768 kHz)
• Multiply/divide (8 bits × 8 bits, 16 bits ÷ 8 bits)
• Bit manipulate (set, reset, test, and Boolean operation)
• BCD adjust, etc.
I/O port
• Total
: 69
• CMOS input
:2
• CMOS I/O
: 63
• N-ch open-drain I/O : 4
A/D converter
8-bit resolution × 8 channels
D/A converter
8-bit resolution × 2 channels
Serial interface
• 3-wire serial I/O/SBI/2-wire serial I/O mode selection possible : 1 channel
• 3-wire serial I/O mode (Max. 32-byte on-chip auto-transmit/receive) : 1 channel
• 3-wire serial I/O/UART mode selectable : 1 channel
Timer
• 16-bit timer/event counter
Timer output
: 1 channel
• 8-bit timer/event counter
: 2 channels
• Watch timer
: 1 channel
• Watchdog timer
: 1 channel
Three outputs: (14-bit PWM output enable: 1)
Clock output
19.5 kHz, 39.1 kHz, 78.1 kHz, 156 kHz, 313 kHz, 625 kHz, 1.25 MHz,
2.5 MHz, 5.0 MHz (@ 5.0 MHz with main system clock)
32.768 kHz (@ 32.768 kHz with subsystem clock)
Buzzer output
Notes
1.2 kHz, 2.4 kHz, 4.9 kHz, 9.8 kHz (@ 5.0 MHz with main system clock)
1. The µPD78P054 is the PROM version for the µPD78052, 78053, and 78054.
2. The µPD78P058 is the PROM version for the µPD78055, 78056, and 78058.
3. The capacities of the internal PROM and the internal high-speed RAM can be changed using the
memory switching register (IMS).
4. The capacity of the internal expansion RAM can be changed using the internal expansion RAM size
switching register (IXS).
46
CHAPTER 1
Part Number
OUTLINE (µPD78054 Subseries)
µPD78052 µPD78053 µPD78054 µPD78P054 µPD78055 µPD78056 µPD78058 µPD78P058
Item
Note 1
Vectored
Maskable
Internal: 13 External: 7
interrupt
Non-maskable
Internal: 1
source
Software
1
Test input
Internal: 1 External: 1
Supply voltage
VDD = 2.0 to 6.0 V
Note2
Operating ambient temperature
TA = –40 to +85°C
Package
• 80-pin plastic QFP (14 × 14 mm, Resin thickness : 2.7 mm) ( µPD78P054 only)
• 80-pin plastic QFPNote 3 (14 × 14 mm, Resin thickness : 1.4 mm)
• 80-pin plastic TQFP (Fine pitch) (12 × 12 mm) (except µPD78P058)
• 80-pin ceramic WQFN (14 × 14 mm) (µPD78P054, 78P058 only)
Notes
1. The µPD78P054 is the PROM version for the µPD78052, 78053, 78054.
2. The µPD78P058 is the PROM version for the µPD78055, 78056, 78058.
3. The µPD78P054 is under development.
47
CHAPTER 1
OUTLINE (µPD78054 Subseries)
1.9 Differences between Standard Quality Grade Products and (A) Products
Table 1-1 shows the differences between the standard quality grade products (µPD78052, 78053, 78054) and (A)
products (µPD78052(A), 78053(A), 78054(A)).
Table 1-1. Differences between Standard Quality Grade Products and (A) Products
Part Number
Standard Quality Grade Products
(A) Products
Quality grade
Standard
Special
Package
• 80-pin plastic QFPNote 3
(14 × 14 mm, Resin thickness : 1.4 mm)
80-pin plastic QFP
(14 × 14 mm, Resin thickness : 2.7 mm)
Item
• 80-pin plastic TQFP (Fine pitch) (12 × 12 mm)
Recommended
soldering conditions
Refer to separate Data Sheets
1.10 Mask Options
The mask ROM versions (µPD78052, 78053, 78054, 78055, 78056, 78058) provide pull-up resistor mask options
which allow users to specify whether to connect a pull-up resistor to a specific port pin when the user places an order
for the device production. Using this mask option when pull-up resistors are required reduces the number of
components to add to the device, resulting in board space saving.
The mask options provided in the µPD78054 subseries are shown in Table 1-2.
Table 1-2. Mask Options of Mask ROM Versions
Pin names
P60 to P63
48
Mask options
Pull-up resistor connection can be specified in 1-bit units.
CHAPTER 2 GENERAL (µPD78054Y Subseries)
2.1 Features
On-chip high-capacity ROM and RAM
Type
Part Number
Program Memory
(ROM)
Data Memory
Internal High-Speed RAM
Internal Buffer RAM
Internal Expansion RAM
32 bytes
None
µPD78052Y
16 Kbytes
512 bytes
µPD78053Y
24 Kbytes
1024 bytes
µPD78054Y
32 Kbytes
µPD78055Y
40 Kbytes
µPD78056Y
48 Kbytes
µPD78058Y
60 Kbytes
µPD78P058Y
Notes
60
KbytesNote 1
1024 bytes
1024 bytesNote 1
1024 bytesNote 2
1. The capacities of internal PROM and internal high-speed RAM can be changed by means of the
memory size switching register (IMS).
2. The capacity of internal high-speed RAM can be changed by means of the internal expansion RAM
size switching register (IXS).
External Memory Expansion Space: 64 Kbytes
Minimum instruction execution time changeable from high speed (0.4 µs: In main system clock 5.0 MHz operation)
to ultra-low speed (122 µs: In subsystem clock 32.768 kHz operation)
Instruction set suited to system control
• Bit manipulation possible in all address spaces
• Multiply and divide instructions
I/O ports: 69 (N-ch open-drain ports: 4)
8-bit resolution A/D converter: 8 channels
8-bit resolution D/A converter: 2 channels
Serial interface: 3 channels
• 3-wire serial I/O/2-wire serial I/O/I2C bus mode: 1 channel
• 3-wire serial I/O mode (Automatic transmit/receive function): 1 channel
• 3-wire serial I/O/UART mode: 1 channel
Timer: Five channels
• 16-bit timer/event counter : 1 channel
• 8-bit timer/event counter : 2 channels
• Watch timer : 1 channel
• Watchdog timer : 1 channel
22 vectored interrupt sources
2 test inputs
Two types of on-chip clock oscillators (main system clock and subsystem clock)
Supply voltage: VDD = 2.0 to 6.0 V
49
CHAPTER 2
OUTLINE (µPD78054Y Subseries)
2.2 Applications
Cellular phones, pagers, printers, AV equipment, air conditioners, cameras, PPCs, fuzzy home appliances, vending
machines, etc.
2.3 Ordering Information
Part number
Package
Internal ROM
µPD78052YGC-×××-8BT
80-pin plastic QFP (14 × 14 mm, Resin thickness: 1.4 mm)
Mask ROM
µPD78053YGC-×××-8BT
80-pin plastic QFP (14 × 14 mm, Resin thickness: 1.4 mm)
Mask ROM
µPD78054YGC-×××-8BT
80-pin plastic QFP (14 × 14 mm, Resin thickness: 1.4 mm)
Mask ROM
µPD78055YGC-×××-8BT
80-pin plastic QFP (14 × 14 mm, Resin thickness: 1.4 mm)
Mask ROM
µPD78056YGC-×××-8BT
80-pin plastic QFP (14 × 14 mm, Resin thickness: 1.4 mm)
Mask ROM
µPD78058YGC-×××-8BT
80-pin plastic QFP (14 × 14 mm, Resin thickness: 1.4 mm)
Mask ROM
µPD78P058YGC-8BT
80-pin plastic QFP (14 × 14 mm, Resin thickness: 1.4 mm)
One-time PROM
µPD78P058YKK-T
80-pin ceramic WQFN (14 × 14 mm)
Remark
EPROM
××× indicates ROM code suffix.
2.4 Quality Grade
Part number
Package
Quality grade
µPD78052YGC-×××-8BT
80-pin plastic QFP (14 × 14 mm, Resin thickness: 1.4 mm)
Standard
µPD78053YGC-×××-8BT
80-pin plastic QFP (14 × 14 mm, Resin thickness: 1.4 mm)
Standard
µPD78054YGC-×××-8BT
80-pin plastic QFP (14 × 14 mm, Resin thickness: 1.4 mm)
Standard
µPD78055YGC-×××-8BT
80-pin plastic QFP (14 × 14 mm, Resin thickness: 1.4 mm)
Standard
µPD78056YGC-×××-8BT
80-pin plastic QFP (14 × 14 mm, Resin thickness: 1.4 mm)
Standard
µPD78058YGC-×××-8BT
80-pin plastic QFP (14 × 14 mm, Resin thickness: 1.4 mm)
Standard
µPD78P058YGC-8BT
80-pin plastic QFP (14 × 14 mm, Resin thickness: 1.4 mm)
Standard
µPD78P058YKK-T
80-pin ceramic WQFN (14 × 14 mm)
Remark
Not applicable
(for function evaluation)
××× indicates ROM code suffix.
Please refer to "Quality Grades on NEC Semiconductor Devices" (Document number C11531E) published by NEC
Corporation to know the specification of quality grade on the devices and its recommended applications.
50
CHAPTER 2
OUTLINE (µPD78054Y Subseries)
2.5 Pin Configuration (Top View)
(1) Normal operating mode
• 80-pin plastic QFP (14 × 14 mm, Resin thickness: 1.4 mm)
µPD78052YGC-×××-8BT, 78053YGC-×××-8BT, 78054YGC-×××-8BT
µPD78055YGC-×××-8BT, 78056YGC-×××-8BT, 78058YGC-×××-8BT, 78P058YGC-8BT
• 80-pin ceramic WQFN (14 × 14 mm)
P14/ANI4
P13/ANI3
P12/ANI2
P11/ANI1
P10/ANI0
AVREF0
AVDD
XT1/P07
XT2
IC (VPP)
X1
X2
VDD
P06/INTP6
P05/INTP5
P04/INTP4
P03/INTP3
P02/INTP2
P01/INTP1/TI01
P00/INTP0/TI00
µPD78P058YKK-T
80 79 78 77 76 75 74 73 72 71 70 69 68 67 66 65 64 63 62 61
60
1
59
2
58
3
57
4
56
5
55
6
54
7
53
8
52
9
51
10
50
11
49
12
48
13
47
14
46
15
45
16
44
17
43
18
42
19
41
20
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
RESET
P127/RTP7
P126/RTP6
P125/RTP5
P124/RTP4
P123/RTP3
P122/RTP2
P121/RTP1
P120/RTP0
P37
P36/BUZ
P35/PCL
P34/TI2
P33/TI1
P32/TO2
P31/TO1
P30/TO0
P67/ASTB
P66/WAIT
P65/WR
P42/AD2
P43/AD3
P44/AD4
P45/AD5
P46/AD6
P47/AD7
P50/A8
P51/A9
P52/A10
P53/A11
P54/A12
P55/A13
VSS
P56/A14
P57/A15
P60
P61
P62
P63
P64/RD
P15/ANI5
P16/ANI6
P17/ANI7
AVSS
P130/ANO0
P131/ANO1
AVREF1
P70/SI2/RxD
P71/SO2/TxD
P72/SCK2/ASCK
P20/SI1
P21/SO1
P22/SCK1
P23/STB
P24/BUSY
P25/SI0/SB0/SDA0
P26/SO0/SB1/SDA1
P27/SCK0/SCL
P40/AD0
P41/AD1
Cautions 1. Be sure to connect IC (Internally Connected) pin to VSS directly.
2. Connect AVDD pin to VDD.
3. Connect AVSS pin to VSS.
Remark
Pin connection in parentheses is intended for the µPD78P058Y.
51
CHAPTER 2
OUTLINE (µPD78054Y Subseries)
Pin Identifications
52
A8 to A15
:
Address Bus
PCL
:
Programmable Clock
AD0 to AD7
:
Address/Data Bus
RESET
:
Reset
ANI0 to ANI7
:
Analog Input
RD
:
Read Strobe
ANO0 to ANO7
:
Analog Output
RTP0 to RTP7 :
Real-Time Output Port
ASCK
:
Asynchronous Serial Clock
RxD
:
Receive Data
ASTB
:
Address Strobe
SB0, SB1
:
AVDD
:
Analog Power Supply
SCK0 to SCK1 :
Serial Clock
AVREF0, AVREF1
:
Analog Reference Voltage
SCL
:
Serial Clock
AVSS
:
Analog Ground
SDA0, SDA1
:
Serial Data
BUSY
:
Busy
SI0, SI1
:
Serial Input
BUZ
:
Buzzer Clock
SO0, SO1
:
Serial Output
IC
:
Serial Bus
Internally Connected
STB
:
Strobe
INTP0 to INTP6 :
Interrupt from Peripherals
TI1, TI2
:
Timer Input
P00 to P07
:
Port0
TI00 to TI01
:
Timer Input
P10 to P17
:
Port1
TO0 to TO2
:
Timer Output
P20 to P27
:
Port2
TxD
:
Transmit Data
P30 to P37
:
Port3
VDD
:
Power Supply
P40 to P47
:
Port4
VPP
:
Programming Power Supply
P50 to P57
:
Port5
VSS
:
Ground
P60 to P67
:
Port6
WAIT
:
Wait
P70 to P72
:
Port7
WR
:
Write Strobe
P120 to P127
:
Port12
X1, X2
:
Crystal (Main System Clock)
P130, P131
:
Port13
XT1, XT2
:
Crystal (Subsystem Clock)
CHAPTER 2
OUTLINE (µPD78054Y Subseries)
(2) PROM programming mode
• 80-pin plastic QFP (14 × 14 mm, Resin thickness: 1.4 mm)
µPD78P058YGC-8BT
• 80-pin ceramic WQFN (14 × 14 mm)
VDD
(L)
A2
A3
A4
A5
A6
A7
A8
A16
A10
A11
A12
A13
VSS
A14
A15
A0
A1
2. VSS
RESET
(L)
D7
D6
D5
D4
D3
D2
D1
D0
(L)
CE
OE
VSS
(L)
(L)
80 79 78 77 76 75 74 73 72 71 70 69 68 67 66 65 64 63 62 61
60
1
59
2
58
3
57
4
56
5
55
6
54
7
53
8
52
9
51
10
50
11
49
12
48
13
47
14
46
15
45
16
44
17
43
18
42
19
41
20
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
(L)
Cautions 1. (L)
PGM
(L)
A9
(L)
VSS
VDD
(L)
Open
VPP
(L)
Open
VDD
(L)
µPD78P058YKK-T
: Connect individually to VSS via a pull-down resistor.
: Connect to the ground.
3. RESET : Set to the low level.
4. Open
: Leave this pin unconnected.
A0 to A16
: Address Bus
RESET
: Reset
CE
: Chip Enable
VDD
: Power Supply
D0 to D7
: Data Bus
VPP
: Programming Power Supply
OE
: Output Enable
VSS
: Ground
PGM
: Program
53
CHAPTER 2
OUTLINE (µPD78054Y Subseries)
2.6 78K/0 Series Expansion
The products in the 78K/0 Series are listed below. The names in boxes are subseries names.
Mass-produced products
Products under development
The subseries whose name ends with Y support
the I2C bus specifications.
Control
Reduced EMI noise version of µPD78078
100-pin
µPD78075B
100-pin
µPD78078
µPD78078Y
100-pin
µPD78070A
µPD78070AY
ROM-less version of µPD78078
µPD780058
µPD780018AY
µPD780058YNote
Enhanced serial I/O of µPD78078Y and functions are defined.
80-pin
80-pin
µPD78058F
µPD78058FY
Reduced EMI noise version of µPD78054
100-pin
Added timers to µPD78054 and enhanced external interface
Enhanced serial I/O of µPD78054, reduced EMI noise version
80-pin
µPD78054
µPD78054Y
Added UART and D/A to µPD78014 and enhanced I/Os
64-pin
µPD780034
µPD780034Y
Enhanced A/D of µPD780024
64-pin
µPD780024
µPD780024Y
Enhanced serial I/O of µPD78018F
64-pin
µPD78014H
64-pin
µPD78018F
µPD78018FY
Low-voltage (1.8 V) version of µPD78014 and enhanced ROM/RAM size options
64-pin
µPD78014
µPD78014Y
64-pin
µPD780001
64-pin
µPD78002
42-/44-pin
µPD78083
Reduced EMI noise version of µPD78018F
Added A/D and 16-bit timer to µPD78002
Added A/D to µPD78002
µPD78002Y
Basic subseries for control applications
Equipped with UART and operates at low-voltage (1.8 V)
Inverter control
Enhanced inverter control, timer, and SIO of µPD780964, expanded ROM and RAM
64-pin
µPD780988
64-pin
µPD780964
Enhanced A/D of µPD780924
64-pin
µPD780924
Equipped with inverter control circuit and UART, reduced EMI noise version
78K/0
Series
FIP driving
100-pin
µPD780208
Enhanced I/O and FIP C/D of µPD78044F, 53 display outputs
100-pin
µPD780228
Enhanced I/O and FIP C/D of µPD78044H, 48 display outputs
80-pin
µPD78044H
Added N-ch open-drain I/O to µPD78044F, 34 display outputs
80-pin
µPD78044F
Basic subseries for driving FIPs, 34 display outputs
LCD driving
100-pin
µPD780308
100-pin
µPD78064B
100-pin
µPD78064
µPD780308Y
Enhanced SIO of µPD78064, expanded ROM and RAM
Reduced EMI noise version of µPD78064
µPD78064Y
Basic subseries for driving LCDs, equipped with UART
IEBus supported
80-pin
µPD78098B
80-pin
µPD78098
Reduced EMI noise version of µPD78098
Added IEBus controller to µPD78054
Meter control
80-pin
Note
54
Planned
µPD780973
Equipped with controller/driver for driving automobile meters
CHAPTER 2
OUTLINE (µPD78054Y Subseries)
Major differences among Y subseries are tabulated below.
Function
Subseries
Control
µPD78078Y
ROM
Capacity
VDD
MIN.
1.8 V
: 1 ch
: 1 ch
: 1 ch
88
µPD780018AY 48K to 60K
3-wire with automatic transmit/receive function
Time division 3-wire
I2C bus (supports multi-master)
: 1 ch
: 1 ch
: 1 ch
88
µPD780058Y 24K to 60K
3-wire/2-wire/I2C
3-wire with automatic transmit/receive function
3-wire/time division UART
: 1 ch
: 1 ch
: 1 ch
68
1.8 V
µPD78058FY 48K to 60K
3-wire/2-wire/I2C
: 1 ch
69
2.7 V
µPD78054Y
3-wire with automatic transmit/receive function
: 1 ch
3-wire/UART
: 1 ch
UART
3-wire
I2C bus (supports multi-master)
: 1 ch
: 1 ch
: 1 ch
51
µPD78018FY 8K to 60K
3-wire/2-wire/I2C
3-wire with automatic transmit/receive function
: 1 ch
: 1 ch
53
µPD78014Y
8K to 32K
3-wire/2-wire/I2C
3-wire with automatic transmit/receive function
: 1 ch
: 1 ch
µPD78002Y
8K to 16K
3-wire/2-wire/SBI/I2C
: 1 ch
µPD780308Y 48K to 60K
3-wire/2-wire/I2C
3-wire/time division UART
3-wire
: 1 ch
: 1 ch
: 1 ch
µPD78064Y
3-wire/2-wire/I2C
3-wire/UART
: 1 ch
: 1 ch
48K to 60K
—
16K to 60K
µPD780034Y 8K to 32K
µPD780024Y
drive
Remark
I/O
3-wire/2-wire/I2C
3-wire with automatic transmit/receive function
3-wire/UART
µPD78070AY
LCD
Configuration of Serial Interface
16K to 32K
61
2.7 V
2.0 V
1.8 V
2.7 V
57
2.0 V
The functions except serial interface are common with subseries without Y.
55
CHAPTER 2
OUTLINE (µPD78054Y Subseries)
2.7 Block Diagram
PORT 0
P00
P01-P06
P07
PORT 1
P10-P17
PORT 2
P20-P27
PORT 3
P30-P37
PORT 4
P40-P47
PORT 5
P50-P57
PORT 6
P60-P67
PORT 7
P70-P72
PORT 12
P120-P127
PORT 13
P130, P131
REAL-TIME
OUTPUT PORT
RTP0/P120RTP7/P127
TO0/P30
TI00/INTP0/P00
TI01/INTP1/P01
TO1/P31
TI1/P33
TO2/P32
TI2/P34
16-bit TIMER/
EVENT COUNTER
8-bit TIMER/
EVENT COUNTER 1
8-bit TIMER/
EVENT COUNTER 2
WATCHDOG TIMER
WATCH TIMER
SI0/SB0/SDA0/P25
SO0/SB1/SDA1/P26
SCK0/SCL/P27
SERIAL
INTERFACE 0
78K/0
CPU CORE
SI1/P20
SO1/P21
SCK1/P22
STB/P23
BUSY/P24
ROM
SERIAL
INTERFACE 1
SI2/RxD/P70
SO2/TxD/P71
SCK2/ASCK/P72
SERIAL
INTERFACE 2
RAM
ANI0/P10ANI7/P17
AVDD
A/D CONVERTER
AVSS
AVREF0
ANO0/P130,
ANO1/P131
AVSS
EXTERNAL
ACCESS
D/A CONVERTER
AVREF1
INTP0/P00INTP6/P06
BUZ/P36
INTERRUPT
CONTROL
X1
CLOCK OUTPUT
CONTROL
VDD
VSS
IC
(VPP)
Remarks 1. The internal ROM and RAM capacities depend on the product.
2. Pin connection in parentheses is intended for the µPD78P058.
56
RD/P64
WR/P65
WAIT/P66
ASTB/P67
RESET
BUZZER OUTPUT
SYSTEM
CONTROL
PCL/P35
AD0/P40AD7/P47
A8/P50A15/P57
X2
XT1/P07
XT2
CHAPTER 2
OUTLINE (µPD78054Y Subseries)
2.8 Outline of Function
Part Number
Item
Internal
memory
ROM
µPD78052Y µPD78053Y µPD78054Y µPD78055Y µPD78056Y µPD78058Y µPD78P058Y
Mask ROM
16 Kbytes
PROM
24 Kbytes
32 Kbytes
40 Kbytes
48 Kbytes
60 Kbytes
60 Kbytes
Note 1
High-speed RAM
512 bytes
1024 bytes
1024 bytes
Note 1
Buffer RAM
32 bytes
Expansion RAM
None
1024 bytes
1024 bytes
Note 2
Memory space
64 Kbytes
General register
8 bits × 8 × 4 banks
Minimum
With main system clock selected
instruction
execution time With subsystem clock selected
0.4 µs/0.8 µs/1.6 µs/3.2 µs/6.4 µs/12.8 µs (@ 5.0 MHz)
Instruction set
122 µs (@ 32.768 kHz)
• 16-bit operation
• Multiply/divide (8 bits × 8 bits, 16 bits ÷ 8 bits)
• Bit manipulate (set, reset, test, and Boolean operation)
• BCD adjust, etc.
I/O port
• Total
: 69
• CMOS input
:2
• CMOS I/O
: 63
• N-ch open-drain I/O : 4
A/D converter
8-bit resolution × 8 channels
D/A converter
8-bit resolution × 2 channels
Serial interface
• 3-wire serial I/O/2-wire serial I/O/I2C bus mode selection possible : 1 channel
• 3-wire serial I/O mode (Max. 32-byte on-chip auto-transmit/receive) : 1 channel
• 3-wire serial I/O/UART mode selectable : 1 channel
Timer
• 16-bit timer/event counter
: 1 channel
• 8-bit timer/event counter
: 2 channels
• Watch timer
: 1 channel
• Watchdog timer
: 1 channel
Timer output
Three outputs: (14-bit PWM output enable: 1)
Clock output
19.5 kHz, 39.1 kHz, 78.1 kHz, 156 kHz, 313 kHz, 625 kHz, 1.25 MHz,
2.5 MHz, 5.0 MHz (@ 5.0 MHz with main system clock)
32.768 kHz (@ 32.768 kHz with subsystem clock)
Buzzer output
Notes
1.2 kHz, 2.4 kHz, 4.9 kHz, 9.8 kHz (@ 5.0 MHz with main system clock)
1. The capacities of the internal PROM and the internal high-speed RAM can be changed using the
memory switching register (IMS).
2. The capacity of the internal expansion RAM can be changed using the internal expansion RAM size
switching register (IXS).
57
CHAPTER 2
Part Number
Item
Maskable
µPD78052Y µPD78053Y µPD78054Y µPD78055Y µPD78056Y µPD78058Y µPD78P058Y
Internal: 13
Vectored
interrupt
OUTLINE (µPD78054Y Subseries)
External: 7
Non-maskable
Internal: 1
Software
1
source
Test input
Internal: 1
External: 1
Supply voltage
VDD = 2.0 to 6.0 V
Operating ambient temperature
TA = –40 to +85 °C
Package
• 80-pin plastic QFP (14 × 14 mm, Resin thickness: 2.7 mm)
• 80-pin plastic QFP (14 × 14 mm, Resin thickness: 1.4 mm)
• 80-pin ceramic WQFN (14 × 14 mm) (µPD78P058 only)
2.9 Mask Options
The mask ROM versions (µPD78052Y, 78053Y, 78054Y, 78055Y, 78056Y, 78058Y) provide pull-up resistor mask
options which allow users to specify whether to connect a pull-up resistor to a specific port pin when the user places
an order for the device production. Using this mask option when pull-up resistors are required reduces the number
of components to add to the device, resulting in board space saving.
The mask options provided in the µPD78054Y subseries are shown in Table 2-1.
Table 2-1. Mask Options of Mask ROM Versions
Pin names
P60 to P63
58
Mask options
Pull-up resistor connection can be specified in 1-bit units.
CHAPTER 3 PIN FUNCTION (µPD78054 Subseries)
3.1 Pin Function List
3.1.1 Normal operating mode pins
(1) Port pins (1/3)
Pin Name Input/Output
P00
Function
Input
Input only
P01
Input/output mode can be specified
P02
in 1-bit units.
After Reset Alternate Function
Input
INTP0/TI00
INTP1/TI01
INTP2
P03
Input/
Port 0.
When used as an input port, an
P04
output
8-bit input/output port.
on-chip pull-up resistor can be used
INTP4
by software.
INTP5
P05
INTP3
Input
P06
P07Note1
INTP6
Input
P10 to P17
Input only
Input
XT1
Input
ANI0 to ANI7
Port 1.
8-bit input/output port.
Input/
output
Input/output mode can be specified in 1-bit units.
When used as input port, an on-chip pull-up resistor can be used by
softwareNote2.
P20
SI1
P21
SO1
P22
Port 2.
P23
Input/
8-bit input/output port.
P24
output
Input/output mode can be specified in 1-bit units.
P25
When used as an input port, an on-chip pull-up resistor can be used by
P26
software.
SCK1
STB
Input
BUSY
SI0/SB0
SO0/SB1
P27
Notes
SCK0
1. When the P07/XT1 pin is used as an input port, set the bit 6 (FRC) of the processor clock control register
(PCC) to 1 (do not use the feedback resistor internal to the subsystem clock oscillator).
2. When pins P10/ANI0 to P17/ANI7 are used as an analog input of the A/D converter, set port 1 to input
mode. The on-chip pull-up resistor will automatically be disabled.
59
CHAPTER 3
PIN FUNCTION (µPD78054 Subseries)
(1) Port pins (2/3)
Pin Name Input/Output
Function
After Reset Alternate Function
P30
TO0
P31
TO1
P32
Port 3.
TO2
P33
Input/
8-bit input/output port.
P34
output
Input/output mode can be specified in 1-bit units.
TI2
P35
When used as an input port, an on-chip pull-up resistor can be used by
PCL
P36
software.
BUZ
Input
P37
TI1
—
Port 4.
8-bit input/output port.
P40 to P47
Input/
Input/output mode can be specified in 8-bit units.
output
When used as an input port, an on-chip pull-up resistor can be used by
Input
AD0 to AD7
Input
A8 to A15
software.
Test input flag (KRIF) is set to 1 by falling edge detection.
Port 5.
8-bit input/output port.
P50 to P57
Input/
LED can be driven directly.
output
Input/output mode can be specified in 1-bit units.
When used as an input port, an on-chip pull-up resistor can be used by
software.
P60
P61
P62
Port 6.
P63
Input/
8-bit input/output port.
P64
output
Input/output mode can be
When used as an input port, an
specified in 1-bit units.
on-chip pull-up resistor can be used
P65
P66
—
N-ch open-drain input/output port.
On-chip pull-up resistor can be
specified by mask option.
(Mask ROM version only).
LEDs can be driven directly.
Input
RD
WR
by software.
WAIT
P67
ASTB
Port 7.
P70
SI2/RxD
3-bit input/output port.
Input/
P71
Input/output mode can be specified in 1-bit units.
output
P72
60
Input
SO2/TxD
When used as an input port, an on-chip pull-up resistor can be used by
software.
SCK2/ASCK
CHAPTER 3
PIN FUNCTION (µPD78054 Subseries)
(1) Port pins (3/3)
Pin Name Input/Output
P120 to P127
Function
Input/
Port 12.
output
8-bit input/output port.
After Reset Alternate Function
Input
RTP0 to RTP7
Input/output mode can be specified in 1-bit units.
When used as an input port, an on-chip pull-up resistor can be used by
software.
P130 to P131
Input/
Port 13.
output
2-bit input/output port.
Input
ANO0 to ANO1
Input/output mode can be specified in 1-bit units.
When used as an input port, an on-chip pull-up resistor can be used by
software.
61
CHAPTER 3
PIN FUNCTION (µPD78054 Subseries)
(2) Pins other than port pins (1/2)
Pin Name Input/Output
Function
After Reset Alternate Function
INTP0
P00/TI00
INTP1
P01/TI01
INTP2
INTP3
External interrupt request inputs with specifiable valid edges (rising
Input
edge, falling edge, both rising and falling edges).
P02
Input
P03
INTP4
P04
INTP5
P05
INTP6
P06
SI0
P25/SB0
SI1
Input
Serial interface serial data input
Input
P20
SI2
P70/RxD
SO0
P26/SB1
SO1
Output
Serial interface serial data output
Input
SO2
SB0
P71/TxD
Input/
P25/SI0
Serial interface serial data input/output
SB1
P21
Input
output
P26/SO0
SCK0
P27
Input/
SCK1
Serial interface serial clock input/output
Input
P22
output
SCK2
P72/ASCK
STB
Output
Serial interface automatic transmit/receive strobe output
Input
P23
BUSY
Input
Serial interface automatic transmit/receive busy input
Input
P24
RxD
Input
Asynchronous serial interface serial data input
Input
P70/SI2
TxD
Output
Asynchronous serial interface serial data output
Input
P71/SO2
ASCK
Input
Asynchronous serial interface serial clock input
Input
P72/SCK2
TI00
TI01
External count clock input to 16-bit timer (TM0)
Input
Capture trigger signal input to capture register (CR00)
P00/INTP0
Input
P01/INTP1
TI1
External count clock input to 8-bit timer (TM1)
P33
TI2
External count clock input to 8-bit timer (TM2)
P34
TO0
16-bit timer (TM0) output (also used for 14-bit PWM output)
TO1
Output
TO2
8-bit timer (TM1) output
P30
Input
P31
P32
8-bit timer (TM2) output
PCL
Output
Clock output (for main system clock and subsystem clock trimming)
Input
P35
BUZ
Output
Buzzer output
Input
P36
RTP0 to RTP7
Output
Real-time output port outputting data in synchronization with trigger
Input
P120 to P127
62
CHAPTER 3
PIN FUNCTION (µPD78054 Subseries)
(2) Pins other than port pins (2/2)
Pin Name Input/Output
Function
AD0 to AD7 Input/Output Low-order address/data bus when expanding external memory
A8 to A15
RD
Output
Output
WR
High-order address bus when expanding external memory
Strobe signal output for read operation from external memory
After Reset Alternate Function
Input
P40 to P47
Input
P50 to P57
Input
Strobe signal output for write operation to external memory
WAIT
Input
ASTB
Output
P64
P65
Wait insertion when accessing external memory
Input
P66
Strobe output externally latching address information output to ports 4,
Input
P67
A/D converter analog input
Input
P10 to P17
D/A converter analog output
Input
P130, P131
5 to access external memory
ANI0 to ANI7
Input
ANO0, ANO1 Output
AVREF0
Input
A/D converter reference voltage input
—
—
AVREF1
Input
D/A converter reference voltage input
—
—
AVDD
—
A/D converter analog power supply. Connect to VDD.
—
—
AVSS
—
A/D and D/A converter ground potential. Connect to VSS.
—
—
RESET
Input
System reset input
—
—
X1
Input
Crystal connection for main system clock oscillation
—
—
X2
—
—
—
XT1
Input
Input
P07
XT2
—
—
—
VDD
—
—
—
VPP
—
—
—
Crystal connection for subsystem clock oscillation
Positive power supply
High-voltage application for program write/verify. Directly connect to
VSS in normal operating mode.
VSS
—
Ground potential
—
—
IC
—
Internally connected. Directly connect to the VSS pin.
—
—
3.1.2 PROM programming mode pins (PROM versions only)
Pin Name Input/Output
Function
PROM programming mode setting.
RESET
Input
When +5 V or +12.5 V is applied to the VPP pin or a low level voltage is applied to the RESET pin,
the PROM programming mode is set.
VPP
Input
High-voltage application for PROM programming mode setting and program write/verify.
A0 to A16
Input
Address bus
D0 to D7
Input/output Data bus
CE
Input
PROM enable input/program pulse input
OE
Input
Read strobe input to PROM
PGM
Input
Program/program inhibit input in PROM programming mode
VDD
—
Positive power supply
VSS
—
Ground potential
63
CHAPTER 3
PIN FUNCTION (µPD78054 Subseries)
3.2 Description of Pin Functions
3.2.1 P00 to P07 (Port 0)
These are 8-bit input/output ports. Besides serving as input/output ports, they function as an external interrupt
request input, an external count clock input to the timer, a capture trigger signal input, and crystal connection for
subsystem oscillation.
The following operating modes can be specified in 1-bit units.
(1) Port mode
P00 and P07 function as input-only ports and P01 to P06 function as input/output ports.
P01 to P06 can be specified for input or output ports in 1-bit units with a port mode register 0 (PM0). When
they are used as input ports, on-chip pull-up resistors can be used to them by defining the pull-up resistor
option register L (PUOL).
(2) Control mode
In this mode, these ports function as an external interrupt request input, an external count clock input to the
timer, and crystal connection for subsystem clock oscillation.
(a) INTP0 to INTP6
INTP0 to INTP6 are external interrupt request input pins which can specify valid edges (rising edge, falling
edge, and both rising and falling edges). INTP0 or INTP1 becomes a 16-bit timer/event counter capture
trigger signal input pin with a valid edge input.
(b) TI00
Pin for external count clock input to 16-bit timer/event counter
(c) TI01
Pin for capture trigger signal to capture register (CR00) of 16-bit timer/event counter
(d) XT1
Crystal connect pin for subsystem clock oscillation
64
CHAPTER 3
PIN FUNCTION (µPD78054 Subseries)
3.2.2 P10 to P17 (Port 1)
These are 8-bit input/output ports. Besides serving as input/output ports, they function as an A/D converter analog
input.
The following operating modes can be specified in 1-bit units.
(1) Port mode
These ports function as 8-bit input/output ports.
They can be specified in 1-bit units as input or output ports with a port mode register 1 (PM1). If used as input
ports, on-chip pull-up resistors can be used to these ports by defining the pull-up resistor option register L
(PUOL).
(2) Control mode
These ports function as A/D converter analog input pins (ANI0 to ANI7). The on-chip pull-up resistor is
automatically disabled when the pins specified for analog input.
3.2.3 P20 to P27 (Port 2)
These are 8-bit input/output ports. Besides serving as input/output ports, they function as data input/output to/
from the serial interface, clock input/output, automatic transmit/receive busy input, and strobe output functions.
The following operating modes can be specified in 1-bit units.
(1) Port mode
These ports function as 8-bit input/output ports. They can be specified in 1-bit units as input or output ports
with port mode register 2 (PM2). When they are used as input ports, on-chip pull-up resistors can be used
to them by defining the pull-up resistor option register L (PUOL).
(2) Control mode
These ports function as serial interface data input/output, clock input/output, automatic transmit/receive busy
input, and strobe output functions.
(a) SI0, SI1, SO0, SO1
Serial interface serial data input/output pins
(b) SCK0 and SCK1
Serial interface serial clock input/output pins
(c) SB0 and SB1
NEC standard serial bus interface input/output pins
65
CHAPTER 3
PIN FUNCTION (µPD78054 Subseries)
(d) BUSY
Serial interface automatic transmit/receive busy input pins
(e) STB
Serial interface automatic transmit/receive strobe output pins
Caution
When this port is used as a serial interface, the I/O and output latches must be set
according to the function the user requires. For the setting, refer to Figure 16-4 “Serial
Operation Mode Register 0 Format” and Figure 18-3 “Serial Operation Mode Register
1 Format.”
3.2.4 P30 to P37 (Port 3)
These are 8-bit input/output ports. Beside serving as input/output ports, they function as timer input/output, clock
output and buzzer output.
The following operating modes can be specified in 1-bit units.
(1) Port mode
These ports function as 8-bit input/output ports. They can be specified in 1-bit units as input or output ports
with port mode register 3 (PM3). When they are used as input ports, on-chip pull-up resistors can be used
by defining the pull-up resistor option register L (PUOL).
(2) Control mode
These ports function as timer input/output, clock output, and buzzer output.
(a) TI1 and TI2
Pin for external count clock input to the 8-bit timer/event counter.
(b) TO0 to TO2
Timer output pins.
(c) PCL
Clock output pin.
(d) BUZ
Buzzer output pin.
66
CHAPTER 3
PIN FUNCTION (µPD78054 Subseries)
3.2.5 P40 to P47 (Port 4)
These are 8-bit input/output ports. Besides serving as input/output ports, they function as an address/data bus.
The test input flag (KRIF) can be set to 1 by detecting a falling edge.
The following operating mode can be specified in 8-bit units.
(1) Port mode
These ports function as 8-bit input/output ports. They can be specified in 8-bit units for input or output ports
by using the memory expansion mode register (MM). When they are used as input ports, on-chip pull-up
resistors can be used by defining the pull-up resistor option register L (PUOL).
(2) Control mode
These ports function as low-order address/data bus pins (AD0 to AD7) in external memory expansion mode.
When pins are used as an address/data bus, the on-chip pull-up resistor is automatically disabled.
3.2.6 P50 to P57 (Port 5)
These are 8-bit input/output ports. Besides serving as input/output ports, they function as an address bus.
Port 5 can drive LEDs directly.
The following operating modes can be specified in 1-bit units.
(1) Port mode
These ports function as 8-bit input/output ports. They can be specified in 1-bit units as input/output ports with
port mode register 5 (PM5). When they are used as input ports, on-chip pull-up resistors can be used by
defining the pull-up resistor option register L (PUOL).
(2) Control mode
These ports function as high-order address bus pins (A8 to A15) in external memory expansion mode. When
pins are used as an address bus, the on-chip pull-up resistor is automatically disabled.
3.2.7 P60 to P67 (Port 6)
These are 8-bit input/output ports. Besides serving as input/output ports, they are used for control in external
memory expansion mode. P60 to P63 can drive LEDs directly.
The following operating modes can be specified in 1-bit units.
(1) Port mode
These ports function as 8-bit input/output ports. They can be specified in 1-bit units as input or output ports
with port mode register 6 (PM6).
P60 to P63 are N-ch open drain outputs. Mask ROM version can contain pull-up resistors with the mask option.
When P64 to P67 are used as input ports, on-chip pull-up resistors can be used by defining the pull-up resistor
option register L (PUOL).
(2) Control mode
These ports function as control signal output pins (RD, WR, WAIT, ASTB) in external memory expansion mode.
When a pin is used as a control signal output, the on-chip pull-up resistor is automatically disabled.
Caution When external wait is not used in external memory expansion mode, P66 can be used as an
input/output port.
67
CHAPTER 3
PIN FUNCTION (µPD78054 Subseries)
3.2.8 P70 to P72 (Port 7)
This is a 3-bit input/output port. In addition to its use as an input/output port, it also has serial interface data input/
output and clock input/output functions.
The following operating modes can be specified in 1-bit units.
(1) Port mode
Port 7 functions as a 3-bit input/output port. 1-bit-units specification as an input port or output port is possible
by means of port mode register 7 (PM7). When used as input ports, on-chip pull-up resistors can be used
by defining the pull-up resistor option register L (PUOL).
(2) Control mode
Port 7 functions as serial interface data input/output and clock input/output.
(a) SI2, SO2
Serial interface serial data input/output pins
(b) SCK2
Serial interface serial clock input/output pin.
(c) RxD, TxD
Asynchronous serial interface serial data input/output pins.
(d) ASCK
Asynchronous serial interface serial clock input/output pin.
Caution When this port is used as a serial interface, the I/O and output latches must be set according
to the function the user requires.
For the setting, see the operation mode setting list in Table 19-2 “Serial Interface Channel
2”.
68
CHAPTER 3
PIN FUNCTION (µPD78054 Subseries)
3.2.9 P120 to P127 (Port 12)
These are 8-bit input/output ports. Besides serving as input/output ports, they function as a real-time output port.
The following operating modes can be specified in 1-bit units.
(1) Port mode
These ports function as 8-bit input/output ports. They can be specified in 1-bit units as input or output ports
with port mode register 12 (PM12). When they are used as input ports, on-chip pull-up resistors can be used
by defining the pull-up resistor option register H (PUOH).
(2) Control mode
These ports function as real-time output ports (RTP0 to RTP7) outputting data in synchronization with a trigger.
3.2.10 P130 and P131 (Port 13)
These are 2-bit input/output ports. Besides serving as input/output ports, they are used for D/A converter analog
output.
The following operating modes can be specified in 1-bit units.
(1) Port mode
These ports function as 2-bit input/output ports. They can be specified in 1-bit units as input or output ports
with port mode register 13 (PM13). When they are used as input ports, on-chip pull-up resistors can be used
by defining the pull-up resistor option register H (PUOH).
(2) Control mode
These ports allow D/A converter analog output (ANO0 and ANO1).
Caution When only either one of the D/A converter channels is used with AVREF1< VDD, the other pins
that are not used as analog outputs must be set as follows:
• Set PM13x bit of the port mode register 13 (PM13) to 1 (input mode) and connect the pin
to VSS.
• Set PM13x bit of the port mode register 13 (PM13) to 0 (output mode) and the output latch
to 0, to output low level from the pin.
3.2.11 AVREF0
A/D converter reference voltage input pin.
When A/D converter is not used, connect this pin to VSS.
3.2.12 AVREF1
D/A converter reference voltage input pin.
When D/A converter is not used, connect this pin to VDD.
69
CHAPTER 3
PIN FUNCTION (µPD78054 Subseries)
3.2.13 AVDD
Analog power supply pin of A/D converter. Always use the same voltage as that of the V DD pin even when A/D
converter is not used.
3.2.14 AVSS
This is a ground voltage pin of A/D converter and D/A converter. Always use the same voltage as that of the VSS
pin even when neither A/D nor D/A converter is used.
3.2.15 RESET
This is a low-level active system reset input pin.
3.2.16 X1 and X2
Crystal resonator connect pins for main system clock oscillation. For external clock supply, input it to X1 and its
inverted signal to X2.
3.2.17 XT1 and XT2
Crystal resonator connect pins for subsystem clock oscillation.
For external clock supply, input it to XT1 and its inverted signal to XT2.
3.2.18 VDD
Positive power supply pin
3.2.19 VSS
Ground potential pin
3.2.20 VPP (PROM versions only)
High-voltage apply pin for PROM programming mode setting and program write/verify. Directly connect to VSS
in the normal operating mode.
3.2.21 IC (Mask ROM version only)
The IC (Internally Connected) pin is provided to set the test mode to check the µPD78054 Subseries before
shipment. Directly connect this pin to the VSS with the shortest possible wire in the normal operating mode.
When a voltage difference is produced between the IC pin and VSS pin because the wiring between those two pins
is too long or an external noise is input to the IC pin, the user's program may not run normally.
Directly connect IC pins to VSS pins.
VSS IC
As short as possible
70
CHAPTER 3
PIN FUNCTION (µPD78054 Subseries)
3.3 Input/output Circuits and Recommended Connection of Unused Pins
Table 3-1 shows the input/output circuit types of pins and the recommended conditions for unused pins.
Refer to Figure 3-1 for the configuration of the input/output circuit of each type.
Table 3-1. Pin Input/Output Circuit Types (1/2)
Pin Name
P00/INTP0/TI00
Input/Output
Circuit Type
2
Input/Output
Recommended Connection of Unused Pins
Input
Connect to VSS.
P01/INTP1/TI01
P02/INTP2
P03/INTP3
Individually connect to VSS via a resistor.
8-A
Input/Output
P04/INTP4
P05/INTP5
P06/INTP6
P07/XT1
16
P10/ANI0 to P17/ANI7
11
P20/SI1
8-A
P21/SO1
5-A
P22/SCK1
8-A
P23/STB
5-A
P24/BUSY
8-A
Input
Connect to VDD.
P25/SI0/SB0
P26/SO0/SB1
10-A
Input/Output
P27/SCK0
Individually connect to VDD or VSS via a
resistor.
P30/TO0
P31/TO1
5-A
P32/TO2
P33/TI1
8-A
P34/TI2
P35/PCL
P36/BUZ
5-A
P37
P40/AD0 to P47/AD7
5-E
Input/Output
P50/A8 to P57/A15
5-A
Input/output
Individually connect to VDD via a resistor.
Individually connect to VDD or VSS via a
resistor.
71
CHAPTER 3
PIN FUNCTION (µPD78054 Subseries)
Table 3-1. Pin Input/Output Circuit Types (2/2)
Pin Name
Input/Output
Circuit Type
P60 to P63 (Mask ROM version)
13-B
P60 to P63 (PROM version)
13-D
P64/RD
P65/WR
Input/Output
Recommended Connection of Unused Pins
Input/output
Individually connect to VDD via a resistor.
Input/output
Individually connect to VDD or VSS via a resistor.
Input/output
Individually connect to VSS via a resistor.
5-A
P66/WAIT
P67/ASTB
P70/SI2/RxD
8-A
P71/SO2/TxD
5-A
P72/SCK2/ASCK
8-A
P120/RTP0 to P127/RTP7
5-A
P130/ANO0, P131/ANO1
12-A
RESET
2
XT2
16
AVREF0
—
AVREF1
Input
—
—
Leave open.
Connect to VSS.
Connect to VDD.
AVDD
AVSS
Connect to VSS.
IC (Mask ROM version)
Directly connect to VSS.
VPP (PROM version)
72
CHAPTER 3
PIN FUNCTION (µPD78054 Subseries)
Figure 3-1. Pin Input/Output Circuit of List (1/2)
Type 2
Type 8-A
VDD
pullup
enable
P-ch
IN
VDD
data
IN/OUT
Schmitt-Triggered Input with
Hysteresis Characteristics
Type 5-A
output
disable
N-ch
Type 10-A
VDD
pullup
enable
P-ch
VDD
pullup
enable
P-ch
P-ch
VDD
data
VDD
P-ch
data
P-ch
IN/OUT
output
disable
IN/OUT
open-drain
output disable
N-ch
N-ch
input
enable
VDD
Type 5-E
pullup
enable
Type 11
pullup
enable
P-ch
P-ch
IN/OUT
P-ch
output
disable
IN/OUT
output
disable
P-ch
VDD
data
VDD
data
VDD
N-ch
P-ch
comparator
+
–
N-ch
N-ch
VREF (Threshold voltage)
input
enable
73
CHAPTER 3
PIN FUNCTION (µPD78054 Subseries)
Figure 3-1. Pin Input/Output Circuit of List (2/2)
Type 12-A
Type 13-D
VDD
IN/OUT
pullup
enable
P-ch
data
output disable
VDD
data
N-ch
P-ch
VDD
IN/OUT
output
disable
input
enable
N-ch
P-ch
analog output
voltage
medium breakdown
input buffer
N-ch
Type 13-B
Type 16
VDD
Mask
Option
feedback
cut-off
IN/OUT
data
output disable
P-ch
RD
P-ch
N-ch
VDD
RD
P-ch
XT1
medium breakdown
input buffer
74
XT2
CHAPTER 4 PIN FUNCTION (µPD78054Y Subseries)
4.1 Pin Function List
4.1.1 Normal operating mode pins
(1) Port pins (1/3)
Pin Name Input/Output
P00
Function
Input
Input only
P01
Input/output mode can be specified
P02
in 1-bit units.
After Reset Alternate Function
Input
INTP0/TI00
INTP1/TI01
INTP2
P03
Input/
Port 0.
When used as an input port, an
P04
output
8-bit input/output port.
on-chip pull-up resistor can be used
INTP4
by software.
INTP5
P05
INTP3
Input
P06
P07Note1
INTP6
Input
P10 to P17
Input only
Input
XT1
Input
ANI0 to ANI7
Port 1.
8-bit input/output port.
Input/
output
Input/output mode can be specified in 1-bit units.
When used as input port, an on-chip pull-up resistor can be used by
softwareNote2.
P20
SI1
P21
SO1
P22
Port 2.
P23
Input/
8-bit input/output port.
P24
output
Input/output mode can be specified in1-bit units.
P25
When used as an input port, an on-chip pull-up resistor can be used by
P26
software.
P27
Notes
SCK1
STB
Input
BUSY
SI0/SB0/SDA0
SO0/SB1/SDA1
SCK0/SCL
1. When the P07/XT1 pin is used as an input port, set the bit 6 (FRC) of the processor clock control register
(PCC) to 1 (do not use the feedback resistor internal to the subsystem clock oscillator).
2. When pins P10/ANI0 to P17/ANI7 are used as an analog input of the A/D converter, set port 1 to input
mode. The on-chip pull-up resistor will automatically be disabled.
75
CHAPTER 4
PIN FUNCTION (µPD78054Y Subseries)
(1) Port pins (2/3)
Pin Name Input/Output
Function
After Reset Alternate Function
P30
TO0
P31
TO1
P32
Port 3.
TO2
P33
Input/
8-bit input/output port.
P34
output
Input/output mode can be specified in 1-bit units.
TI2
P35
When used as an input port, an on-chip pull-up resistor can be used by
PCL
P36
software.
BUZ
Input
P37
TI1
—
Port 4.
8-bit input/output port.
P40 to P47
Input/
Input/output mode can be specified in 8-bit units.
output
When used as an input port, an on-chip pull-up resistor can be used by
Input
AD0 to AD7
Input
A8 to A15
software.
Test input flag (KRIF) is set to 1 by falling edge detection.
Port 5.
8-bit input/output port.
P50 to P57
Input/
LED can be driven directly.
output
Input/output mode can be specified in 1-bit units.
When used as an input port, an on-chip pull-up resistor can be used by
software.
P60
P61
P62
Port 6.
P63
Input/
8-bit input/output port.
P64
output
Input/output mode can be
When used as an input port, an
specified in 1-bit units.
on-chip pull-up resistor can be used
P65
P66
—
N-ch open drain input/output port.
On-chip pull-up resistor can be
specified by mask option.
(Mask ROM version only).
LEDs can be driven directly.
Input
RD
WR
by software.
WAIT
P67
ASTB
Port 7.
P70
SI2/RxD
3-bit input/output port.
P71
Input/
Input/output mode can be specified in 1-bit units.
Input
SO2/TxD
output
When used as an input port, an on-chip pull-up resistor can be used by
P72
76
software.
SCK2/ASCK
CHAPTER 4
PIN FUNCTION (µPD78054Y Subseries)
(1) Port pins (3/3)
Pin Name Input/Output
P120 to P127
Function
Input/
Port 12.
output
8-bit input/output port.
After Reset Alternate Function
Input
RTP0 to RTP7
Input/output mode can be specified in 1-bit units.
When used as an input port, an on-chip pull-up resistor can be used by
software.
P130 to P131
Input/
Port 13.
output
2-bit input/output port.
Input
ANO0 to ANO1
Input/output mode can be specified in 1-bit units.
When used as an input port, an on-chip pull-up resistor can be used by
software.
77
CHAPTER 4
PIN FUNCTION (µPD78054Y Subseries)
(2) Pins other than port pins (1/2)
Pin Name Input/Output
Function
After Reset Alternate Function
INTP0
P00/TI00
INTP1
P01/TI01
INTP2
INTP3
External interrupt request inputs with specifiable valid edges (rising
Input
edge, falling edge, both rising and falling edges).
P02
Input
P03
INTP4
P04
INTP5
P05
INTP6
P06
SI0
P25/SB0/SDA0
SI1
Input
Serial interface serial data input
Input
P20
SI2
P70/RxD
SO0
P26/SB1/SDA1
SO1
Output
Serial interface serial data output
Input
SO2
SB0
P71/TxD
Input/
P25/SI0/SDA0
Serial interface serial data input/output
SB1
P21
Input
output
P26/SO0/SDA1
SDA0
P25/SI0/SB0
SDA1
P26/SO0/SB1
SCK0
Input/
SCK1
output
P27/SCL
Serial interface serial clock input/output
Input
P22
SCK2
P72/ASCK
SCL
P27/SCK0
STB
Output
Serial interface automatic transmit/receive strobe output
Input
P23
BUSY
Input
Serial interface automatic transmit/receive busy input
Input
P24
RxD
Input
Asynchronous serial interface serial data input
Input
P70/SI2
TxD
Output
Asynchronous serial interface serial data output
Input
P71/SO2
ASCK
Input
Asynchronous serial interface serial clock input
Input
P72/SCK2
TI00
Input
External count clock input to 16-bit timer (TM0)
Input
P00/INTP0
TI01
Capture trigger signal input to capture register (CR00)
TI1
External count clock input to 8-bit timer (TM1)
P33
TI2
External count clock input to 8-bit timer (TM2)
P34
TO0
Output
16-bit timer (TM0) output (also used for 14-bit PWM output)
P01/INTP1
Input
P30
TO1
8-bit timer (TM1) output
P31
TO2
8-bit timer (TM2) output
P32
PCL
Output
Clock output (for main system clock and subsystem clock trimming)
Input
P35
BUZ
Output
Buzzer output
Input
P36
RTP0 to RTP7
Output
Real-time output port outputting data in synchronization with trigger
Input
P120 to P127
78
CHAPTER 4
PIN FUNCTION (µPD78054Y Subseries)
(2) Pins other than port pins (2/2)
Pin Name Input/Output
Function
AD0 to AD7 Input/Output Low-order address/data bus when expanding external memory
After Reset Alternate Function
Input
P40 to P47
A8 to A15
Output
High-order address bus when expanding external memory
Input
P50 to P57
RD
Output
Strobe signal output for read operation from external memory
Input
P64
WR
Strobe signal output for write operation to external memory
WAIT
Input
ASTB
Output
P65
Wait insertion when accessing external memory
Input
P66
Strobe output externally latching address information output to ports 4,
Input
P67
A/D converter analog input
Input
P10 to P17
D/A converter analog output
Input
P130, P131
5 to access external memory
ANI0 to ANI7
Input
ANO0, ANO1 Output
AVREF0
Input
A/D converter reference voltage input
—
—
AVREF1
Input
D/A converter reference voltage input
—
—
AVDD
—
A/D converter analog power supply. Connect to VDD.
—
—
AVSS
—
A/D and D/A converter ground potential. Connect to VSS.
—
—
RESET
Input
System reset input
—
—
X1
Input
Crystal connection for main system clock oscillation
—
—
X2
—
—
—
XT1
Input
Input
P07
XT2
—
—
—
VDD
—
—
—
VPP
—
—
—
Crystal connection for subsystem clock oscillation
Positive power supply
High-voltage application for program write/verify. Directly connect to
VSS in normal operating mode.
VSS
—
Ground potential
—
—
IC
—
Internally connected. Connect directly to VSS.
—
—
4.1.2 PROM programming mode pins (PROM versions only)
Pin Name Input/Output
Function
PROM programming mode setting.
RESET
Input
When +5 V or +12.5 V is applied to the VPP pin or a low level voltage is applied to the RESET pin,
the PROM programming mode is set.
VPP
Input
High-voltage application for PROM programming mode setting and program write/verify.
A0 to A16
Input
Address bus
D0 to D7
Input/output Data bus
CE
Input
PROM enable input/program pulse input
OE
Input
Read strobe input to PROM
PGM
Input
Program/program inhibit input in PROM programming mode
VDD
—
Positive power supply
VSS
—
Ground potential
79
CHAPTER 4
PIN FUNCTION (µPD78054Y Subseries)
4.2 Description of Pin Functions
4.2.1 P00 to P07 (Port 0)
These are 8-bit input/output ports. Besides serving as input/output ports, they function as an external interrupt
request input, an external count clock input to the timer, a capture trigger signal input, and crystal connection for
subsystem oscillation.
The following operating modes can be specified in 1-bit units.
(1) Port mode
P00 and P07 function as input-only ports and P01 to P06 function as input/output ports.
P01 to P06 can be specified for input or output ports in 1-bit units with a port mode register 0 (PM0). When
they are used as input ports, on-chip pull-up resistors can be used to them by defining the pull-up resistor
option register L (PUOL).
(2) Control mode
In this mode, these ports function as an external interrupt request input, an external count clock input to the
timer, and crystal connection for subsystem clock oscillation.
(a) INTP0 to INTP6
INTP0 to INTP6 are external interrupt request input pins which can specify valid edges (rising edge, falling
edge, and both rising and falling edges). INTP0 or INTP1 becomes a 16-bit timer/event counter capture
trigger signal input pin with a valid edge input.
(b) TI00
Pin for external count clock input to 16-bit timer/event counter
(c) TI01
Pin for capture trigger signal to capture register (CR00) of 16-bit timer/event counter
(d) XT1
Crystal connect pin for subsystem clock oscillation
80
CHAPTER 4
PIN FUNCTION (µPD78054Y Subseries)
4.2.2 P10 to P17 (Port 1)
These are 8-bit input/output ports. Besides serving as input/output ports, they function as an A/D converter analog
input.
The following operating modes can be specified in 1-bit units.
(1) Port mode
These ports function as 8-bit input/output ports.
They can be specified in 1-bit units as input or output ports with a port mode register 1 (PM1). If used as input
ports, on-chip pull-up resistors can be used to these ports by defining the pull-up resistor option register L
(PUOL).
(2) Control mode
These ports function as A/D converter analog input pins (ANI0 to ANI7). The on-chip pull-up resistor is
automatically disabled when the pins specified for analog input.
4.2.3 P20 to P27 (Port 2)
These are 8-bit input/output ports. Besides serving as input/output ports, they function as data input/output to/
from the serial interface, clock input/output, automatic transmit/receive busy input, and strobe output functions.
The following operating modes can be specified in 1-bit units.
(1) Port mode
These ports function as 8-bit input/output ports. They can be specified in 1-bit units as input or output ports
with port mode register 2 (PM2). When they are used as input ports, on-chip pull-up resistors can be used
to them by defining the pull-up resistor option register L (PUOL).
(2) Control mode
These ports function as serial interface data input/output, clock input/output, automatic transmit/receive busy
input, and strobe output functions.
(a) SI0, SI1, SO0, SO1, SB0, SB1, SDA0, SDA1
Serial interface serial data input/output pins
(b) SCK0, SCK1, SCL
Serial interface serial clock input/output pins
(c) BUSY
Serial interface automatic transmit/receive busy input pins
(d) STB
Serial interface automatic transmit/receive strobe output pins
Caution
When this port is used as a serial interface, the I/O and output latches must be set
according to the function the user requires. For the setting, refer to Figure 17-4 “Serial
Operation Mode Register 0 Format” and Figure 18-3 “Serial Operation Mode Register
1 Format.”
81
CHAPTER 4
PIN FUNCTION (µPD78054Y Subseries)
4.2.4 P30 to P37 (Port 3)
These are 8-bit input/output ports. Beside serving as input/output ports, they function as timer input/output, clock
output, and buzzer output.
The following operating modes can be specified in 1-bit units.
(1) Port mode
These ports function as 8-bit input/output ports. They can be specified in 1-bit units as input or output ports
with port mode register 3 (PM3). When they are used as input ports, on-chip pull-up resistors can be used
by defining the pull-up resistor option register L (PUOL).
(2) Control mode
These ports function as timer input/output, clock output, and buzzer output.
(a) TI1 and TI2
Pin for external count clock input to the 8-bit timer/event counter.
(b) TO0 to TO2
Timer output pins.
(c) PCL
Clock output pin.
(d) BUZ
Buzzer output pin.
4.2.5 P40 to P47 (Port 4)
These are 8-bit input/output ports. Besides serving as input/output ports, they function as an address/data bus.
The test input flag (KRIF) can be set to 1 by detecting a falling edge.
The following operating mode can be specified in 8-bit units.
(1) Port mode
These ports function as 8-bit input/output ports. They can be specified in 8-bit units for input or output ports
by using the memory expansion mode register (MM). When they are used as input ports, on-chip pull-up
resistors can be used by defining the pull-up resistor option register L (PUOL).
(2) Control mode
These ports function as low-order address/data bus pins (AD0 to AD7) in external memory expansion mode.
When pins are used as an address/data bus, the on-chip pull-up resistor is automatically disabled.
82
CHAPTER 4
PIN FUNCTION (µPD78054Y Subseries)
4.2.6 P50 to P57 (Port 5)
These are 8-bit input/output ports. Besides serving as input/output ports, they function as an address bus.
Port 5 can drive LEDs directly.
The following operating modes can be specified in 1-bit units.
(1) Port mode
These ports function as 8-bit input/output ports. They can be specified in 1-bit units as input/output ports with
port mode register 5 (PM5). When they are used as input ports, on-chip pull-up resistors can be used by
defining the pull-up resistor option register L (PUOL).
(2) Control mode
These ports function as high-order address bus pins (A8 to A15) in external memory expansion mode. When
pins are used as an address bus, the on-chip pull-up resistor is automatically disabled.
4.2.7 P60 to P67 (Port 6)
These are 8-bit input/output ports. Besides serving as input/output ports, they are used for control in external
memory expansion mode. P60 to P63 can drive LEDs directly.
The following operating modes can be specified in 1-bit units.
(1) Port mode
These ports function as 8-bit input/output ports. They can be specified in 1-bit units as input or output ports
with port mode register 6 (PM6).
P60 to P63 are N-ch open drain outputs. Mask ROM version can contain pull-up resistors with the mask option.
When P64 to P67 are used as input ports, on-chip pull-up resistors can be used by defining the pull-up resistor
option register L (PUOL).
(2) Control mode
These ports function as control signal output pins (RD, WR, WAIT, ASTB) in external memory expansion mode.
When a pin is used as a control signal output, the on-chip pull-up resistor is automatically disabled.
Caution When external wait is not used in external memory expansion mode, P66 can be used as an
input/output port.
83
CHAPTER 4
PIN FUNCTION (µPD78054Y Subseries)
4.2.8 P70 to P72 (Port 7)
This is a 3-bit input/output port. In addition to its use as an input/output port, it also has serial interface data input/
output and clock input/output functions.
The following operating modes can be specified in 1-bit units.
(1) Port mode
Port 7 functions as a 3-bit input/output port. 1-bit-units specification as an input port or output port is possible
by means of port mode register 7 (PM7). When used as input ports, on-chip pull-up resistors can be used
by defining the pull-up resistor option register L (PUOL).
(2) Control mode
Port 7 functions as serial interface data input/output and clock input/output.
(a) SI2, SO2
Serial interface serial data input/output pins
(b) SCK2
Serial interface serial clock input/output pin.
(c) RxD, TxD
Asynchronous serial interface serial data input/output pins.
(d) ASCK
Asynchronous serial interface serial clock input/output pin.
Caution When this port is used as a serial interface, the I/O and output latches must be set according
to the function the user requires.
For the setting, see to the operation mode setting list in Table 19-2 “Serial Interface Channel
2”.
4.2.9 P120 to P127 (Port 12)
These are 8-bit input/output ports. Besides serving as input/output ports, they function as a real-time output port.
The following operating modes can be specified in 1-bit units.
(1) Port mode
These ports function as 8-bit input/output ports. They can be specified in 1-bit units as input or output ports
with port mode register 12 (PM12). When they are used as input ports, on-chip pull-up resistors can be used
by defining the pull-up resistor option register H (PUOH).
(2) Control mode
These ports function as real-time output ports (RTP0 to RTP7) outputting data in synchronization with a trigger.
84
CHAPTER 4
PIN FUNCTION (µPD78054Y Subseries)
4.2.10 P130 and P131 (Port 13)
These are 2-bit input/output ports. Besides serving as input/output ports, they are used for D/A converter analog
output.
The following operating modes can be specified in 1-bit units.
(1) Port mode
These ports function as 2-bit input/output ports. They can be specified in 1-bit units as input or output ports
with port mode register 13 (PM13). When they are used as input ports, on-chip pull-up resistors can be used
by defining the pull-up resistor option register H (PUOH).
(2) Control mode
These ports allow D/A converter analog output (ANO0 and ANO1).
Caution When only either one of the D/A converter channels is used with AVREF1< VDD, the other pins
that are not used as analog outputs must be set as follows:
•
Set PM13x bit of the port mode register 13 (PM13) to 1 (input mode) and connect the pin
to VSS.
•
Set PM13x bit of the port mode register 13 (PM13) to 0 (output mode) and the output latch
to 0, to output low level from the pin.
4.2.11 AVREF0
A/D converter reference voltage input pin.
When A/D converter is not used, connect this pin to VSS.
4.2.12 AVREF1
D/A converter reference voltage input pin.
When D/A converter is not used, connect this pin to VDD.
4.2.13 AVDD
Analog power supply pin of A/D converter. Always use the same voltage as that of the V DD pin even when A/D
converter is not used.
4.2.14 AVSS
This is a ground voltage pin of A/D converter and D/A converter. Always use the same voltage as that of the VSS
pin even when neither A/D nor D/A converter is used.
4.2.15 RESET
This is a low-level active system reset input pin.
85
CHAPTER 4
PIN FUNCTION (µPD78054Y Subseries)
4.2.16 X1 and X2
Crystal resonator connect pins for main system clock oscillation. For external clock supply, input it to X1 and its
inverted signal to X2.
4.2.17 XT1 and XT2
Crystal resonator connect pins for subsystem clock oscillation.
For external clock supply, input it to XT1 and its inverted signal to XT2.
4.2.18 VDD
Positive power supply pin
4.2.19 VSS
Ground potential pin
4.2.20 VPP (PROM versions only)
High-voltage apply pin for PROM programming mode setting and program write/verify. Directly connect to VSS
in the normal operating mode.
4.2.21 IC (Mask ROM version only)
The IC (Internally Connected) pin is provided to set the test mode to check the µPD78054Y Subseries before
shipment. Directly connect the pin to the VSS with the shortest possible wire in the normal operating mode.
When a voltage difference is produced between the IC pin and VSS pin because the wiring between those two pins
is too long or an external noise is input to the IC pin, the user's program may not run normally.
Directly connect IC pins to VSS pins.
VSS IC
As short as possible
86
CHAPTER 4
PIN FUNCTION (µPD78054Y Subseries)
4.3 Input/output Circuits and Recommended Connection of Unused Pins
Table 4-1 shows the input/output circuit types of pins and the recommended conditions for unused pins.
Refer to Figure 4-1 for the configuration of the input/output circuit of each type.
Table 4-1. Pin Input/Output Circuit Types (1/2)
Pin Name
Input/Output
Circuit Type
P00/INTP0/TI00
2
P01/INTP1/TI01
8-A
Input/Output
Recommended Connection of Unused Pins
Input
Connect to VSS.
P02/INTP2
P03/INTP3
Individually connect to VSS via a resistor.
Input/Output
P04/INTP4
P05/INTP5
P06/INTP6
P07/XT1
16
P10/ANI0 to P17/ANI7
11
P20/SI1
8-A
P21/SO1
5-A
P22/SCK1
8-A
P23/STB
5-A
P24/BUSY
8-A
P25/SI0/SB0/SDA0
10-A
P26/SO0/SB1/SDA1
Input
Input/Output
P27/SCK0/SCL
P30/TO0
Connect to VDD.
Individually connect to VDD or VSS via a
resistor.
5-A
P31/TO1
P32/TO2
P33/TI1
8-A
P34/TI2
P35/PCL
5-A
P36/BUZ
P37
P40/AD0 to P47/AD7
5-E
Input/Output
P50/A8 to P57/A15
5-A
Input/output
Individually connect to VDD via a resistor.
Individually connect to VDD or VSS via a
resistor.
87
CHAPTER 4
PIN FUNCTION (µPD78054Y Subseries)
Table 4-1. Pin Input/Output Circuit Types (2/2)
Pin Name
Input/Output
Circuit Type
P60 to P63 (Mask ROM version)
13-B
P60 to P63 (PROM version)
13-D
P64/RD
5-A
Input/Output
Recommended Connection of Unused Pins
Input/output
Individually connect to VDD via a resistor.
Input/output
Individually connect to VDD or VSS via a resistor.
Input/output
Individually connect to VSS via a resistor.
P65/WR
P66/WAIT
P67/ASTB
P70/SI2/RxD
8-A
P71/SO2/TxD
5-A
P72/SCK2/ASCK
8-A
P120/RTP0 to P127/RTP7
5-A
P130/ANO0 to P131/ANO1
12-A
RESET
2
XT2
16
AVREF0
—
AVREF1
Input
—
—
Leave open.
Connect to VSS.
Connect to VDD.
AVDD
AVSS
Connect to VSS.
IC (Mask ROM version)
Directly connect to VSS.
VPP (PROM version)
88
CHAPTER 4
PIN FUNCTION (µPD78054Y Subseries)
Figure 4-1. Pin Input/Output Circuit of List (1/2)
Type 2
Type 8-A
VDD
pullup
enable
P-ch
IN
VDD
data
IN/OUT
Schmitt-Triggered Input with
Hysteresis Characteristics
Type 5-A
output
disable
N-ch
Type 10-A
VDD
pullup
enable
P-ch
VDD
pullup
enable
P-ch
P-ch
VDD
data
VDD
P-ch
data
P-ch
IN/OUT
output
disable
IN/OUT
open-drain
output disable
N-ch
N-ch
input
enable
VDD
Type 5-E
pullup
enable
Type 11
pullup
enable
P-ch
P-ch
IN/OUT
P-ch
output
disable
IN/OUT
output
disable
P-ch
VDD
data
VDD
data
VDD
N-ch
P-ch
comparator
+
–
N-ch
N-ch
VREF (Threshold voltage)
input
enable
89
CHAPTER 4
PIN FUNCTION (µPD78054Y Subseries)
Figure 4-1. Pin Input/Output Circuit of List (2/2)
Type 12-A
Type 13-D
VDD
IN/OUT
pullup
enable
P-ch
data
output disable
VDD
data
N-ch
P-ch
VDD
IN/OUT
output
disable
input
enable
N-ch
P-ch
analog output
voltage
medium breakdown
input buffer
N-ch
Type 13-B
Type 16
VDD
Mask
Option
feedback
cut-off
IN/OUT
data
output disable
P-ch
RD
P-ch
N-ch
VDD
RD
P-ch
XT1
medium breakdown
input buffer
90
XT2
CHAPTER 5 CPU ARCHITECTURE
5.1 Memory Spaces
Each product of the µPD78054 and 78054Y Subseries can access the memory space of 64 Kbytes. Figures 5-1
to 5-8 show memory maps.
Figure 5-1. Memory Map (µPD78052, 78052Y)
FFFFH
FF00H
FEFFH
FEE0H
FEDFH
Special Function
Registers (SFRs)
256 × 8 bits
General Registers
32 × 8 bits
Internal High-speed RAM
512 × 8 bits
FD00H
FCFFH
Reserved
FAE0H
FADFH
Data memory
space
FAC0H
FABFH
FA80H
FA7FH
3FFFH
Internal Buffer RAM
32 × 8 bits
Reserved
Program Area
1000H
0FFFH
CALLF Entry Area
External Memory
47744 × 8 bits
0800H
07FFH
Program Area
Program
memory
space
0080H
007FH
4000H
3FFFH
CALLT Table Area
Internal ROM
16384 × 8 bits
0040H
003FH
Vector Table Area
0000H
0000H
91
CHAPTER 5
CPU ARCHITECTURE
Figure 5-2. Memory Map (µPD78053, 78053Y)
FFFFH
FF00H
FEFFH
FEE0H
FEDFH
Special Function
Registers (SFRs)
256 × 8 bits
General Registers
32 × 8 bits
Internal High-speed RAM
1024 × 8 bits
FB00H
FAFFH
Reserved
FAE0H
FADFH
Data memory
space
FAC0H
FABFH
FA80H
FA7FH
5FFFH
Internal Buffer RAM
32 × 8 bits
Reserved
Program Area
1000H
0FFFH
CALLF Entry Area
External Memory
39552 × 8 bits
0800H
07FFH
Program Area
Program
memory
space
0080H
007FH
6000H
5FFFH
CALLT Table Area
Internal ROM
24576 × 8 bits
0040H
003FH
Vector Table Area
0000H
92
0000H
CHAPTER 5
CPU ARCHITECTURE
Figure 5-3. Memory Map (µPD78054, 78054Y)
FFFFH
FF00H
FEFFH
FEE0H
FEDFH
Special Function
Registers (SFRs)
256 × 8 bits
General Registers
32 × 8 bits
Internal High-speed RAM
1024 × 8 bits
FB00H
FAFFH
Reserved
FAE0H
FADFH
Data memory
space
FAC0H
FABFH
FA80H
FA7FH
7FFFH
Internal Buffer RAM
32 × 8 bits
Reserved
Program Area
1000H
0FFFH
CALLF Entry Area
External Memory
31360 × 8 bits
0800H
07FFH
Program Area
Program
memory
space
0080H
007FH
8000H
7FFFH
CALLT Table Area
Internal ROM
32768 × 8 bits
0040H
003FH
Vector Table Area
0000H
0000H
93
CHAPTER 5
CPU ARCHITECTURE
Figure 5-4. Memory Map (µPD78P054)
FFFFH
FF00H
FEFFH
FEE0H
FEDFH
Special Function
Registers (SFRs)
256 × 8 bits
General Registers
32 × 8 bits
Internal High-speed RAM
1024 × 8 bits
FB00H
FAFFH
Reserved
FAE0H
FADFH
Data memory
space
FAC0H
FABFH
FA80H
FA7FH
7FFFH
Internal Buffer RAM
32 × 8 bits
Reserved
Program Area
1000H
0FFFH
CALLF Entry Area
External Memory
31360 × 8 bits
0800H
07FFH
Program Area
Program
memory
space
0080H
007FH
8000H
7FFFH
CALLT Table Area
Internal PROM
32768 × 8 bits
0040H
003FH
Vector Table Area
0000H
94
0000H
CHAPTER 5
CPU ARCHITECTURE
Figure 5-5. Memory Map (µPD78055, 78055Y)
FFFFH
FF00H
FEFFH
FEE0H
FEDFH
Special Function
Registers (SFRs)
256 × 8 bits
General Registers
32 × 8 bits
Internal High-speed RAM
1024 × 8 bits
FB00H
FAFFH
Reserved
FAE0H
FADFH
Data memory
space
FAC0H
FABFH
FA80H
FA7FH
9FFFH
Internal Buffer RAM
32 × 8 bits
Reserved
Program Area
1000H
0FFFH
CALLF Entry Area
External Memory
23168 × 8 bits
0800H
07FFH
Program Area
Program
memory
space
0080H
007FH
A000H
9FFFH
CALLT Table Area
Internal ROM
40960 × 8 bits
0040H
003FH
Vector Table Area
0000H
0000H
95
CHAPTER 5
CPU ARCHITECTURE
Figure 5-6. Memory Map (µPD78056, 78056Y)
FFFFH
FF00H
FEFFH
FEE0H
FEDFH
Special Function
Registers (SFRs)
256 × 8 bits
General Registers
32 × 8 bits
Internal High-speed RAM
1024 × 8 bits
FB00H
FAFFH
Reserved
FAE0H
FADFH
Data memory
space
FAC0H
FABFH
FA80H
FA7FH
BFFFH
Internal Buffer RAM
32 × 8 bits
Reserved
Program Area
1000H
0FFFH
CALLF Entry Area
External Memory
14976 × 8 bits
0800H
07FFH
Program Area
Program
memory
space
0080H
007FH
C000H
BFFFH
CALLT Table Area
Internal ROM
49152 × 8 bits
0040H
003FH
Vector Table Area
0000H
96
0000H
CHAPTER 5
CPU ARCHITECTURE
Figure 5-7. Memory Map (µPD78058, 78058Y)
FFFFH
FF00H
FEFFH
FEE0H
FEDFH
Special Function
Registers (SFRs)
256 × 8 bits
General Registers
32 × 8 bits
Internal High-speed RAM
1024 × 8 bits
FB00H
FAFFH
Reserved
FAE0H
FADFH
Data memory
space
FAC0H
FABFH
F800H
F7FFH
EFFFH
Internal Buffer RAM
32 × 8 bits
Reserved
0800H
07FFH
Program Area
F400H
F3FFH
Reserved
Note
F000H
EFFFH
0080H
007FH
CALLT Table Area
Internal ROM
61440 × 8 bits
0040H
003FH
Vector Table Area
0000H
Note
1000H
0FFFH
CALLF Entry Area
Internal
Expansion RAM
1024 × 8 bits
Program
memory
space
Program Area
0000H
When internal ROM size is 60K bytes, the area F000H to F3FFH cannot be used. F000H to F3FFH
can be used as external memory by setting the internal ROM size to less than 56K bytes by the
memory size switching register (IMS).
97
CHAPTER 5
CPU ARCHITECTURE
Figure 5-8. Memory Map (µPD78P058, µPD78P058Y)
FFFFH
FF00H
FEFFH
FEE0H
FEDFH
Special Function
Registers (SFRs)
256 × 8 bits
General Registers
32 × 8 bits
Internal High-speed RAM
1024 × 8 bits
FB00H
FAFFH
Reserved
FAE0H
FADFH
FAC0H
FABFH
Data memory
space
F800H
F7FFH
EFFFH
Internal Buffer RAM
32 × 8 bits
Reserved
Program Area
1000H
0FFFH
CALLF Entry Area
Internal
Expansion RAM
1024 × 8 bits
0800H
07FFH
Program Area
F400H
F3FFH
Reserved
Note
F000H
EFFFH
Program
memory
space
0080H
007FH
CALLT Table Area
Internal PROM
61440 × 8 bits
0040H
003FH
Vector Table Area
0000H
Note
0000H
When internal PROM size is 60K bytes, the area F000H to F3FFH cannot be used. F000H to F3FFH
can be used as external memory by setting the internal PROM size to less than 56K bytes by the
memory size switching register (IMS).
98
CHAPTER 5
CPU ARCHITECTURE
5.1.1 Internal program memory space
The internal program memory space stores programs and table data. Normally, they are addressed with a program
counter (PC).
Each product of the µPD78054 and 78054Y Subseries has the internal ROM (or PROM) of the size shown below.
Table 5-1. Internal ROM Capacity
Internal ROM
Part number
Type
µPD78052, 78052Y
Mask ROM
Capacity
16384 x 8 bits (0000H to 3FFFH)
µPD78053, 78053Y
24576 x 8 bits (0000H to 5FFFH)
µPD78054, 78054Y
32768 x 8 bits (0000H to 7FFFH)
µPD78055, 78055Y
40960 x 8 bits (0000H to 9FFFH)
µPD78056, 78056Y
49152 x 8 bits (0000H to BFFFH)
µPD78058, 78058Y
61440 x 8 bits (0000H to EFFFH)
µPD78P054
PROM
µPD78P058, 78P058Y
32768 x 8 bits (0000H to 7FFFH)
61440 x 8 bits (0000H to EFFFH)
The following areas are allocated to the internal program memory space.
(1) Vector table area
The 64-byte area 0000H to 003FH is reserved as a vector table area. The RESET input and program start
addresses for branch upon generation of each interrupt request are stored in the vector table area. Of the
16-bit address, low-order 8 bits are stored at even addresses and high-order 8 bits are stored at odd addresses.
Table 5-2. Vector Table
Vector Table Address
Interrupt Source
Vector Table Address
Interrupt Source
0000H
RESET input
0018H
INTSER
0004H
INTWDT
001AH
INTSR/INTCSI2
0006H
INTP0
001CH
INTST
0008H
INTP1
001EH
INTTM3
000AH
INTP2
0020H
INTTM00
000CH
INTP3
0022H
INTTM01
000EH
INTP4
0024H
INTTM1
0010H
INTP5
0026H
INTTM2
0012H
INTP6
0028H
INTAD
0014H
INTCSI0
003EH
BRK
0016H
INTCSI1
(2) CALLT instruction table area
The 64-byte area 0040H to 007FH can store the subroutine entry address of a 1-byte call instruction (CALLT).
(3) CALLF instruction entry area
The area 0800H to 0FFFH can perform a direct subroutine call with a 2-byte call instruction (CALLF).
99
CHAPTER 5
CPU ARCHITECTURE
5.1.2 Internal data memory space
The µPD78054 and 78054Y subseries units incorporate the following RAMs.
(1) Internal high-speed RAM
The µPD78054 and 78054Y Subseries are provided with the internal high-speed RAM as shown below.
Table 5-3. Internal High-Speed RAM Capacity
Part Number
Internal High-Speed RAM
µPD78052, 78052Y
512 × 8 bits (FD00H to FEFFH)
µPD78053, 78053Y
1024 × 8 bits (FB00H to FEFFH)
µPD78054, 78054Y
µPD78P054
µPD78055, 78055Y
µPD78056, 78056Y
µPD78058, 78058Y
µPD78P058, 78P058Y
In this area, four banks of general registers, each bank consisting of eight 8-bit registers, are allocated in the
32-byte area FEE0H to FEFFH.
The internal high-speed RAM can also be used as a stack memory.
(2) Buffer RAM
Buffer RAM is allocated to the 32-byte area from FAC0H to FADFH. The buffer RAM is used to store transmit/
receive data of serial interface channel 1 (in three-wire serial I/O mode with automatic transfer/receive
function). If the three-wire serial I/O mode with automatic transfer/receive function is not used, the buffer RAM
can also be used as normal RAM. Buffer RAM can also be used as normal RAM.
(3) Internal expansion RAM (µPD78058, 78058Y, 78P058, 78P058Y only)
Internal expansion RAM is allocated to the 1024-byte area from F400H to F7FFH.
5.1.3 Special Function Register (SFR) area
An on-chip peripheral hardware special-function register (SFR) is allocated in the area FF00H to FFFFH. (Refer
to Table 5-6. Special-Function Register List in 5.2.3 Special Function Register (SFR)).
Caution Do not access addresses where the SFR is not assigned.
5.1.4 External memory space
The external memory space is accessible by setting the memory expansion mode register (MM). External memory
space can store program, table data, etc. and allocate peripheral devices.
100
CHAPTER 5
CPU ARCHITECTURE
5.1.5 Data memory addressing
The method to specify the address of the instruction to be executed next, or the address of a register or memory
to be manipulated when an instruction is executed is called addressing.
The address of the instruction to be executed next is addressed by the program counter PC (for details, refer to
5.3 Instruction Address Addressing).
To address the memory that is manipulated when an instruction is executed, the µPD78054, 78054Y Subseries
is provided with many addressing modes with a high operability. Especially at addresses corresponding to data
memory area, particular addressing modes are possible to meet the functions of the special function registers (SFRs)
and general registers. This area is between FD00H and FFFFH for the µPD78052 and 78052Y, and between FB00H
and FFFFH for the µPD78053, 78053Y, 78054, 78054Y, 78P054, 78055, 78055Y, 78056, 78056Y, 78058, 78058Y,
78P058, and 78P058Y. The data memory space is the entire 64K-byte space (0000H to FFFFH). Figure 5-9 to 5-16
show the data memory addressing modes.
For details of each addressing, refer to 5.4 Operand Address
Addressing.
Figure 5-9. Data Memory Addressing (µPD78052, 78052Y)
FFFFH
FF20H
FF1FH
FF00H
FEFFH
FEE0H
FEDFH
Special Function
Registers (SFRs)
256 × 8 bits
General Registers
32 × 8 bits
SFR Addressing
Register Addressing
Short Direct
Addressing
Internal High-speed RAM
512 × 8 bits
FE20H
FE1FH
FD00H
FCFFH
Reserved
FAE0H
FADFH
Direct Addressing
Internal Buffer RAM
32 × 8 bits
FAC0H
FABFH
Reserved
FA80H
FA7FH
Register Indirect
Addressing
Based Addressing
Based Indexed
Addressing
External Memory
47744 × 8 bits
4000H
3FFFH
Internal ROM
16384 × 8 bits
0000H
101
CHAPTER 5
CPU ARCHITECTURE
Figure 5-10. Data Memory Addressing (µPD78053, 78053Y)
FFFFH
FF20H
FF1FH
FF00H
FEFFH
FEE0H
FEDFH
Special Function
Registers (SFRs)
256 × 8 bits
General Registers
32 × 8 bits
SFR Addressing
Register Addressing
Short Direct
Addressing
Internal High-speed RAM
1024 × 8 bits
FE20H
FE1FH
FB00H
FAFFH
Reserved
FAE0H
FADFH
Direct Addressing
Internal Buffer RAM
32 × 8 bits
FAC0H
FABFH
Reserved
FA80H
FA7FH
6000H
5FFFH
Internal ROM
24576 × 8 bits
102
Based Addressing
Based Indexed
Addressing
External Memory
39552 × 8 bits
0000H
Register Indirect
Addressing
CHAPTER 5
CPU ARCHITECTURE
Figure 5-11. Data Memory Addressing (µPD78054, 78054Y)
FFFFH
FF20H
FF1FH
FF00H
FEFFH
FEE0H
FEDFH
Special Function
Registers (SFRs)
256 × 8 bits
General Registers
32 × 8 bits
SFR Addressing
Register Addressing
Short Direct
Addressing
Internal High-speed RAM
1024 × 8 bits
FE20H
FE1FH
FB00H
FAFFH
Reserved
FAE0H
FADFH
Direct Addressing
Internal Buffer RAM
32 × 8 bits
FAC0H
FABFH
Reserved
FA80H
FA7FH
Register Indirect
Addressing
Based Addressing
Based Indexed
Addressing
External Memory
31360 × 8 bits
8000H
7FFFH
Internal ROM
32768 × 8 bits
0000H
103
CHAPTER 5
CPU ARCHITECTURE
Figure 5-12. Data Memory Addressing (µPD78P054)
FFFFH
FF20H
FF1FH
FF00H
FEFFH
FEE0H
FEDFH
Special Function
Registers (SFRs)
256 × 8 bits
General Registers
32 × 8 bits
SFR Addressing
Register Addressing
Short Direct
Addressing
Internal High-speed RAM
1024 × 8 bits
FE20H
FE1FH
FB00H
FAFFH
Reserved
FAE0H
FADFH
Direct Addressing
Internal Buffer RAM
32 × 8 bits
FAC0H
FABFH
Reserved
FA80H
FA7FH
8000H
7FFFH
Internal PROM
32768 × 8 bits
104
Based Addressing
Based Indexed
Addressing
External Memory
31360 × 8 bits
0000H
Register Indirect
Addressing
CHAPTER 5
CPU ARCHITECTURE
Figure 5-13. Data Memory Addressing (µPD78055, 78055Y)
FFFFH
FF20H
FF1FH
FF00H
FEFFH
FEE0H
FEDFH
Special Function
Registers (SFRs)
256 × 8 bits
General Registers
32 × 8 bits
SFR Addressing
Register Addressing
Short Direct
Addressing
Internal High-speed RAM
1024 × 8 bits
FE20H
FE1FH
FB00H
FAFFH
Reserved
FAE0H
FADFH
Direct Addressing
Internal Buffer RAM
32 × 8 bits
FAC0H
FABFH
Reserved
FA80H
FA7FH
Register Indirect
Addressing
Based Addressing
Based Indexed
Addressing
External Memory
23168 × 8 bits
A000H
9FFFH
Internal ROM
40960 × 8 bits
0000H
105
CHAPTER 5
CPU ARCHITECTURE
Figure 5-14. Data Memory Addressing (µPD78056, 78056Y)
FFFFH
FF20H
FF1FH
FF00H
FEFFH
FEE0H
FEDFH
Special Function
Registers (SFRs)
256 × 8 bits
General Registers
32 × 8 bits
SFR Addressing
Register Addressing
Short Direct
Addressing
Internal High-speed RAM
1024 × 8 bits
FE20H
FE1FH
FB00H
FAFFH
Reserved
FAE0H
FADFH
Direct Addressing
Internal Buffer RAM
32 × 8 bits
FAC0H
FABFH
Reserved
FA80H
FA7FH
C000H
BFFFH
Internal ROM
49152 × 8 bits
106
Based Addressing
Based Indexed
Addressing
External Memory
14976 × 8 bits
0000H
Register Indirect
Addressing
CHAPTER 5
CPU ARCHITECTURE
Figure 5-15. Data Memory Addressing (µPD78058, 78058Y)
FFFFH
FF20H
FF1FH
FF00H
FEFFH
FEE0H
FEDFH
Special Function
Registers (SFRs)
256 × 8 bits
General Registers
32 × 8 bits
SFR Addressing
Register Addressing
Short Direct
Addressing
Internal High-speed RAM
1024 × 8 bits
FE20H
FE1FH
FB00H
FAFFH
Reserved
FAE0H
FADFH
Direct Addressing
Internal Buffer RAM
32 × 8 bits
FAC0H
FABFH
Reserved
F800H
F7FFH
Register Indirect
Addressing
Based Addressing
Based Indexed
Addressing
Internal Expansion RAM
1024 × 8 bits
F400H
F3FFH
Note
Reserved
F000H
EFFFH
Internal ROM
61440 × 8 bits
0000H
Note
When internal ROM size is 60K bytes, the area F000H to F3FFH cannot be used. F000H to F3FFH
can be used as external memory by setting the internal ROM size to less than 56K bytes by the
memory size switching register.
107
CHAPTER 5
CPU ARCHITECTURE
Figure 5-16. Data Memory Addressing (µPD78P058, 78P058Y)
FFFFH
FF20H
FF1FH
FF00H
FEFFH
FEE0H
FEDFH
Special Function
Registers (SFRs)
256 × 8 bits
General Registers
32 × 8 bits
SFR Addressing
Register Addressing
Short Direct
Addressing
Internal High-speed RAM
1024 × 8 bits
FE20H
FE1FH
FB00H
FAFFH
Reserved
FAE0H
FADFH
Direct Addressing
Internal Buffer RAM
32 × 8 bits
FAC0H
FABFH
Reserved
F800H
F7FFH
Register Indirect
Addressing
Based Addressing
Based Indexed
Addressing
Internal Expansion RAM
1024 × 8 bits
F400H
F3FFH
Reserved
Note
F000H
EFFFH
Internal PROM
61440 × 8 bits
0000H
Note
When internal PROM size is 60K bytes, the area F000H to F3FFH cannot be used. F000H to F3FFH
can be used as external memory by setting the internal PROM size to less than 56K bytes by the
memory size switching register (IMS).
108
CHAPTER 5
CPU ARCHITECTURE
5.2 Processor Registers
The µPD78054 and 78054Y subseries units incorporate the following processor registers.
5.2.1 Control registers
The control registers control the program sequence, statuses and stack memory. The control registers consist
of a program counter (PC), a program status word (PSW) and a stack pointer (SP).
(1) Program counter (PC)
The program counter is a 16-bit register which holds the address information of the next program to be
executed.
In normal operation, the PC is automatically incremented according to the number of bytes of the instruction
to be fetched. When a branch instruction is executed, immediate data and register contents are set.
RESET input sets the reset vector table values at addresses 0000H and 0001H to the program counter.
Figure 5-17. Program Counter Configuration
15
PC
0
PC15 PC14 PC13 PC12 PC11 PC10 PC9
PC8
PC7
PC6
PC5
PC4
PC3
PC2
PC1
PC0
(2) Program status word (PSW)
The program status word is an 8-bit register consisting of various flags to be set/reset by instruction execution.
Program status word contents are automatically stacked upon interrupt request generation or PUSH PSW
instruction execution and are automatically reset upon execution of the RETB, RETI and POP PSW instructions.
RESET input sets the PSW to 02H.
Figure 5-18. Program Status Word Configuration
7
PSW
IE
0
Z
RBS1
AC
RBS0
0
ISP
CY
(a) Interrupt enable flag (IE)
This flag controls the interrupt request acknowledge operations of the CPU.
When IE = 0, all interrupts except the non-maskable interrupt are disabled (DI status).
When IE = 1, interrupts are enabled (EI status). At this time, acknowledgment of interrupts is controlled
with an inservice priority flag (ISP), an interrupt mask flag for various interrupt sources, and a priority
specify flag.
The interrupt enable flag is reset to 0 when the DI instruction is executed or when an interrupt is
acknowledged, and set to 1 when the EI instruction is executed.
(b) Zero flag (Z)
When the operation result is zero, this flag is set (1). It is reset (0) in all other cases.
(c) Register bank select flags (RBS0 and RBS1)
These are 2-bit flags to select one of the four register banks.
In these flags, the 2-bit information which indicates the register bank selected by SEL RBn instruction
execution is stored.
109
CHAPTER 5
CPU ARCHITECTURE
(d) Auxiliary carry flag (AC)
If the operation result has a carry from bit 3 or a borrow at bit 3, this flag is set (1). It is reset (0) in all
other cases.
(e) In-service priority flag (ISP)
This flag manages the priority of acknowledgeable maskable vectored interrupts. When ISP = 0, the
vectored interrupt whose priority is specified by the priority specify flag registers (PR0L, PR0H, and PR1L)
(Refer to 21.3 (3) Priority specify flag registers (PR0L, PR0H, and PR1L)) to be low is disabled.
Whether the interrupt is actually acknowledged is controlled by the status of the interrupt enable flag (IE).
(f) Carry flag (CY)
This flag stores overflow and underflow upon add/subtract instruction execution. It stores the shift-out
value upon rotate instruction execution and functions as a bit accumulator during bit manipulation
instruction execution.
(3) Stack pointer (SP)
This is a 16-bit register to hold the start address of the memory stack area. Only the internal high-speed RAM
area can be set as the stack area. The following shows the internal high-speed RAM area of each product.
Table 5-4. Internal High-Speed RAM Area
Part Number
µPD78052, 78052Y
FD00H to FEFFH
µPD78053, 78053Y
FB00H to FEFFH
µPD78054, 78054Y
µPD78P054
µPD78055, 78055Y
µPD78056, 78056Y
µPD78058, 78058Y
µPD78P058, 78P058Y
110
Internal High-Speed RAM Area
CHAPTER 5
CPU ARCHITECTURE
Figure 5-19. Stack Pointer Configuration
15
SP
0
PC15 PC14 PC13 PC12 PC11 PC10 PC9
PC8
PC7
PC6
PC5
PC4
PC3
PC2
PC1
PC0
The SP is decremented ahead of write (save) to the stack memory and is incremented after read (reset) from
the stack memory.
Each stack operation saves/resets data as shown in Figures 5-20 and 5-21.
Caution Since RESET input makes SP contents indeterminate, be sure to initialize the SP before
instruction execution.
Figure 5-20. Data to be Saved to Stack Memory
PUSH rp Instruction
Interrupt and
BRK Instruction
CALL, CALLF, and
CALLT Instruction
SP
SP
SP _ 2
SP
SP _ 2
SP _ 3
SP _ 3
PC7-PC0
SP _ 2
Register Pair Lower
SP _ 2
PC7-PC0
SP _ 2
PC15-PC8
SP _ 1
Register Pair Upper
SP _ 1
PC15-PC8
SP _ 1
PSW
SP
SP
SP
Figure 5-21. Data to be Reset from Stack Memory
POP rp Instruction
SP
RETI and RETB
Instruction
RET Instruction
SP
Register Pair Lower
SP
PC7-PC0
SP
PC7-PC0
SP + 1
Register Pair Upper
SP + 1
PC15-PC8
SP + 1
PC15-PC8
SP + 2
PSW
SP + 2
SP
SP + 2
SP
SP + 3
111
CHAPTER 5
CPU ARCHITECTURE
5.2.2 General registers
A general register is mapped at particular addresses (FEE0H to FEFFH) of the data memory. It consists of 4 banks,
each bank consisting of eight 8-bit registers (X, A, C, B, E, D, L and H).
Each register can also be used as an 8-bit register. Two 8-bit registers can be used in pairs as a 16-bit register
(AX, BC, DE and HL).
They can be described in terms of function names (X, A, C, B, E, D, L, H, AX, BC, DE and HL) and absolute names
(R0 to R7 and RP0 to RP3).
Register banks to be used for instruction execution are set with the CPU control instruction (SEL RBn). Because
of the 4-register bank configuration, an efficient program can be created by switching between a register for normal
processing and a register for interruption for each bank.
Table 5-5. Correspondent Table of Absolute Addresses in the General Registers
Bank
BANK0
BANK1
112
Register
Absolute
Functional Name Absolute Name
Address
H
R7
FEFFH
L
R6
D
Bank
BANK2
Register
Absolute
Functional Name Absolute Name
Address
H
R7
FEEFH
FEFEH
L
R6
FEEEH
R5
FEFDH
D
R5
FEEDH
E
R4
FEFCH
E
R4
FEECH
B
R3
FEFBH
B
R3
FEEBH
C
R2
FEFAH
C
R2
FEEAH
A
R1
FEF9H
A
R1
FEE9H
X
R0
FEF8H
X
R0
FEE8H
H
R7
FEF7H
H
R7
FEE7H
L
R6
FEF6H
L
R6
FEE6H
D
R5
FEF5H
D
R5
FEE5H
E
R4
FEF4H
E
R4
FEE4H
B
R3
FEF3H
B
R3
FEE3H
C
R2
FEF2H
C
R2
FEE2H
A
R1
FEF1H
A
R1
FEE1H
X
R0
FEF0H
X
R0
FEE0H
BANK3
CHAPTER 5
CPU ARCHITECTURE
Figure 5-22. General Register Configuration
(a) Absolute Name
16-Bit Processing
8-Bit Processing
FEFFH
R7
BANK0
RP3
R6
FEF8H
FEF7H
R5
BANK1
RP2
R4
FEF0H
FEEFH
R3
RP1
BANK2
R2
FEE8H
FEE7H
R1
RP0
BANK3
R0
FEE0H
15
0
7
0
(b) Function Name
16-Bit Processing
8-Bit Processing
FEFFH
H
BANK0
HL
L
FEF8H
FEF7H
D
BANK1
DE
E
FEF0H
FEEFH
B
BC
BANK2
C
FEE8H
FEE7H
A
AX
BANK3
X
FEE0H
15
0
7
0
113
CHAPTER 5
CPU ARCHITECTURE
5.2.3 Special Function Register (SFR)
Unlike a general register, each special-function register has special functions.
It is allocated in the FF00H to FFFFH area.
The special-function register can be manipulated like the general register, with the operation, transfer and bit
manipulation instructions. Manipulatable bit units, 1, 8 and 16, depend on the special-function register type.
Each manipulation bit unit can be specified as follows.
• 1-bit manipulation
Describe the symbol reserved with assembler for the 1-bit manipulation instruction operand (sfr.bit).
This manipulation can also be specified with an address.
• 8-bit manipulation
Describe the symbol reserved with assembler for the 8-bit manipulation instruction operand (sfr).
This manipulation can also be specified with an address.
• 16-bit manipulation
Describe the symbol reserved with assembler for the 16-bit manipulation instruction operand (sfrp).
When addressing an address, describe an even address.
Table 5-6 gives a list of special-function registers. The meaning of items in the table is as follows.
• Symbol
Symbols indicating the addresses of special function register. These symbols are reserved words for the RA78K/
0 and defined by header file sfrbit.h for the CC78K/0, and can be used as the operands of instructions when
the RA78K/0, ID78K0-NS, ID78K0, and SM78K0 are used.
• R/W
Indicates whether the corresponding special-function register can be read or written.
R/W : Read/write enable
R
: Read only
W
: Write only
• Manipulatable bit units
√ indicates bit units (1, 8 or 16 bits) in which the register can be manipulated. — indicates that the register cannot
be manipulated in the indicated bit units.
• After reset
Indicates each register status upon RESET input.
114
CHAPTER 5
CPU ARCHITECTURE
Table 5-6. Special-Function Register List (1/3)
Manipulatable Bit Unit
Address
Special-Function Register (SFR) Name
Symbol
R/W
After Reset
1 bit
8 bits
16 bits
FF00H
Port0
P0
√
√
—
FF01H
Port1
P1
√
√
—
FF02H
Port2
P2
√
√
—
FF03H
Port3
P3
√
√
—
FF04H
Port4
P4
√
√
—
R/W
00H
FF05H
Port5
P5
√
√
—
FF06H
Port6
P6
√
√
—
FF07H
Port7
P7
√
√
—
FF0CH
Port12
P12
√
√
—
FF0DH
Port13
P13
√
√
—
Capture/compare register 00
CR00
—
—
√
Capture/compare register 01
CR01
—
—
√
—
—
√
—
√
—
—
√
—
—
√
—
√
—
√
—
—
√
—
—
√
—
FF10H
Undefined
00H
Undefined
FF11H
FF12H
FF13H
FF14H
16-bit timer register
TM0
FF16H
Compare register 10
CR10
FF17H
Compare register 20
CR20
FF18H
8-bit timer register 1
R
0000H
FF15H
TM1
TMS
FF19H
8-bit timer register 2
FF1AH
Serial I/O shift register 0
R/W
R
TM2
SIO0
R/W
√
FF1BH
Serial I/O shift register 1
SIO1
FF1FH
A/D conversion result register
ADCR
FF20H
Port mode register 0
PM0
√
√
—
FF21H
Port mode register 1
PM1
√
√
—
FF22H
Port mode register 2
PM2
√
√
—
FF23H
Port mode register 3
PM3
√
√
—
√
√
—
R
R/W
FF25H
Port mode register 5
PM5
FF26H
Port mode register 6
PM6
√
√
—
FF27H
Port mode register 7
PM7
√
√
—
FF2CH
Port mode register 12
PM12
√
√
—
FF2DH
Port mode register 13
PM13
√
√
—
FF30H
Real-time output buffer register L
RTBL
—
√
—
FF31H
Real-time output buffer register H
RTBH
—
√
—
FF34H
Real-time output port mode register
RTPM
√
√
—
FF36H
Real-time output port control register
RTPC
√
√
—
Undefined
00H
Undefined
FFH
00H
115
CHAPTER 5
CPU ARCHITECTURE
Table 5-6. Special-Function Register List (2/3)
Manipulatable Bit Unit
Address
Special-Function Register (SFR) Name
Symbol
R/W
After Reset
1 bit
8 bits
16 bits
FF38H
FF39H
Correction address register 0(Note)
CORAD0
—
—
√
FF3AH
FF3BH
Correction address register 1(Note)
CORAD1
—
—
√
FF40H
Timer clock select register 0
TCL0
√
√
—
FF41H
Timer clock select register 1
TCL1
—
√
—
FF42H
Timer clock select register 2
TCL2
—
√
—
FF43H
Timer clock select register 3
TCL3
—
√
—
88H
FF47H
Sampling clock select register
SCS
—
√
—
00H
FF48H
16-bit timer mode control register
TMC0
√
√
—
FF49H
8-bit timer mode control register 1
TMC1
√
√
—
FF4AH
Watch timer mode control register
TMC2
√
√
—
FF4CH
Capture/compare control register 0
CRC0
√
√
—
04H
FF4EH
16-bit timer output control register
TOC0
√
√
—
00H
FF4FH
8-bit timer output control register
TOC1
√
√
—
FF60H
Serial operating mode register 0
CSIM0
√
√
—
FF61H
Serial bus interface control register
SBIC
√
√
—
FF62H
Slave address register
SVA
—
√
—
Undefined
FF63H
Interrupt timing specify register
SINT
√
√
—
00H
FF68H
Serial operating mode register 1
CSIM1
√
√
—
FF69H
Automatic data transmit/receive control register
ADTC
√
√
—
FF6AH
Automatic data transmit/receive address pointer
ADTP
—
√
—
FF6BH
Automatic data transmit/receive interval specify register
ADTI
√
√
—
FF70H
Asynchronous serial interface mode register
ASIM
√
√
—
FF71H
Asynchronous serial interface status register
ASIS
R
—
√
—
FF72H
Serial operating mode register 2
CSIM2
RW
FF73H
Baud rate generator control register
BRGC
FF74H
Transmit shift register
TXS
Receive buffer register
RXB
SIO2
R/W
W
√
√
—
√
—
—
√
—
FFH
√
√
—
01H
00H
R
R/W
A/D converter mode register
ADM
FF84H
A/D converter input select register
ADIS
—
√
—
FF8AH
Correction control register(Note)
CORCN
√
√
—
FF90H
D/A conversion value set register 0
DACS0
—
√
—
FF91H
D/A conversion value set register 1
DACS1
—
√
—
FF98H
D/A converter mode register
DAM
√
√
—
116
00H
—
FF80H
Note
0000H
This register is provided only in the µPD78058, 78P058, 78058Y and 78P058Y.
CHAPTER 5
CPU ARCHITECTURE
Table 5-6. Special-Function Register List (3/3)
Manipulatable Bit Unit
Address
Special-Function Register (SFR) Name
FFD0H to
FFDFH
External access areaNote1
FFE0H
Interrupt request flag register 0L
FFE1H
Interrupt request flag register 0H
FFE2H
Interrupt request flag register 1L
FFE4H
Symbol
R/W
8 bits
16 bits
√
√
—
IF0L
√
√
√
IF0H
R/W
IF0
After Reset
1 bit
Undefined
00H
√
√
IF1L
√
√
—
Interrupt mask flag register 0L
MK0 MK0L
√
√
√
FFE5H
Interrupt mask flag register 0H
MK0H
√
√
FFE6H
Interrupt mask flag register 1L
√
√
—
FFE8H
Priority order specify flag register 0L
PR0L
√
√
√
FFE9H
Priority order specify flag register 0H
PR0H
√
√
FFEAH
Priority order specify flag register 1L
PR1L
√
√
—
FFECH
External interrupt mode register 0
INTM0
—
√
—
FFEDH
External interrupt mode register 1
INTM1
—
√
—
FFF0H
Memory size switching register
IMS
—
√
—
Note2
FFF2H
Oscillation mode selection register
OSMS
W
—
√
—
00H
FFF3H
Pull-up resistor option register H
PUOH
R/W
√
√
—
FFF4H
Internal expansion RAM size
switching register(Note3)
IXS
W
—
√
—
0AH
FFF6H
Key return mode register
KRM
R/W
√
√
—
02H
FFF7H
Pull-up resistor option register L
PUOL
√
√
—
00H
FFF8H
Memory expansion mode register
MM
√
√
—
10H
FFF9H
Watchdog timer mode register
WDTM
√
√
—
00H
FFFAH
Oscillation stabilization time select register
OSTS
—
√
—
04H
FFFBH
Processor clock control register
PCC
√
√
—
Notes
MK1L
PR0
FFH
00H
1. The external access area cannot be accessed in SFR addressing. Access the area with direct
addressing.
2. The value after reset depends on products.
µPD78052, 78052Y: 44H, µPD78053, 78053Y: C6H, µPD78054, 78054Y: C8H, µPD78P054: C8H,
µPD78055, 78055Y: CAH, µPD78056, 78056Y: CCH, µPD78058, 78058Y: CFH, µPD78P058,
78P058Y: CFH
3. This register is provided only in the µPD78058, 78058Y, 78P058, and 78P058Y.
117
CHAPTER 5
CPU ARCHITECTURE
5.3 Instruction Address Addressing
An instruction address is determined by program counter (PC) contents. The contents of PC are normally
incremented (+1 for each byte) automatically according to the number of bytes of an instruction to be fetched each
time another instruction is executed. When a branch instruction is executed, the branch destination information is
set to the PC and branched by the following addressing. (For details of instructions, refer to 78K/0 Series User’s
Manual, Instruction (U12326E).
5.3.1 Relative addressing
[Function]
The value obtained by adding 8-bit immediate data (displacement value: jdisp8) of an instruction code to the
start address of the following instruction is transferred to the program counter (PC) and branched.
The
displacement value is treated as signed two's complement data (–128 to +127) and bit 7 becomes a sign bit.
In the relative addressing modes, execution branches in a relative range of –128 to +127 from the first address
of the next instruction.
This function is carried out when the BR $addr16 instruction or a conditional branch instruction is executed.
[Illustration]
15
0
... PC indicates the start address
of the instruction
after the BR instruction.
PC
+
15
8
α
7
0
6
S
jdisp8
15
PC
When S = 0, all bits of α are 0.
When S = 1, all bits of α are 1.
118
0
CHAPTER 5
CPU ARCHITECTURE
5.3.2 Immediate addressing
[Function]
Immediate data in the instruction word is transferred to the program counter (PC) and branched.
This function is carried out when the CALL !addr16 or BR !addr16 or CALLF !addr11 instruction is executed.
The CALL !addr16 and BR !addr16 instruction can branch in the entire memory space. The CALLF !addr11
instruction branches to an area of addresses 0800H through 0FFFH.
[Illustration]
In the case of CALL !addr16 and BR !addr16 instructions
7
0
CALL or BR
Low Addr.
High Addr.
15
8 7
0
PC
In the case of CALLF !addr11 instruction
7 6
4
3
0
CALLF
fa10–8
fa7–0
15
PC
0
11 10
0
0
0
8 7
0
1
119
CHAPTER 5
CPU ARCHITECTURE
5.3.3 Table indirect addressing
[Function]
Table contents (branch destination address) of the particular location to be addressed by bits 1 to 5 of the
immediate data of an operation code are transferred to the program counter (PC) and branched.
Before the CALLT [addr5] instruction is executed, table indirect addressing is performed. This instruction
references an address stored in the memory table at addresses 40H through 7FH, and can branch in the entire
memory space.
[Illustration]
7
Operation Code
6
1
5
1
1
ta4–0
1
15
Effective Address
0
0
0
0
0
0
0
Memory (Table)
7
0
8
7
6
0
0
1
1 0
5
0
0
Low Addr.
High Addr.
Effective Address+1
15
8
0
7
PC
5.3.4 Register addressing
[Function]
Register pair (AX) contents to be specified with an instruction word are transferred to the program counter (PC)
and branched.
This function is carried out when the BR AX instruction is executed.
[Illustration]
7
rp
120
7
A
15
PC
0
0
X
8
7
0
CHAPTER 5
CPU ARCHITECTURE
5.4 Operand Address Addressing
The following various methods are available to specify the register and memory (addressing) which undergo
manipulation during instruction execution.
5.4.1 Implied addressing
[Function]
The register which functions as an accumulator (A and AX) in the general register is automatically (illicitly)
addressed.
Of the µPD78054 and 78054Y subseries instruction words, the following instructions employ implied addressing.
Instruction
Register to be Specified by Implied Addressing
MULU
A register for multiplicand and AX register for product storage
DIVUW
AX register for dividend and quotient storage
ADJBA/ADJBS
A register for storage of numeric values which become decimal correction targets
ROR4/ROL4
A register for storage of digit data which undergoes digit rotation
[Operand format]
Because implied addressing can be automatically employed with an instruction, no particular operand format is
necessary.
[Description example]
In the case of MULU X
With an 8-bit × 8-bit multiply instruction, the product of A register and X register is stored in AX. In this example,
the A and AX registers are specified by implied addressing.
121
CHAPTER 5
CPU ARCHITECTURE
5.4.2 Register addressing
[Function]
This addressing accesses a general register as an operand. The general register accessed is specified by the
register bank select flags (RBS0 and RBS1) and register specify code (Rn or RPn) in an instruction code.
Register addressing is carried out when an instruction with the following operand format is executed. When an
8-bit register is specified, one of the eight registers is specified with 3 bits in the operation code.
[Operand format]
Identifier
Description
r
X, A, C, B, E, D, L, H
rp
AX, BC, DE, HL
'r' and 'rp' can be described with function names (X, A, C, B, E, D, L, H, AX, BC, DE and HL) as well as absolute
names (R0 to R7 and RP0 to RP3).
[Description example]
MOV A, C; when selecting C register as r
Operation code
0 1 1 0 0 0 1 0
Register specify code
INCW DE; when selecting DE register pair as rp
Operation code
1 0 0 0 0 1 0 0
Register specify code
122
CHAPTER 5
CPU ARCHITECTURE
5.4.3 Direct addressing
[Function]
This addressing directly addresses the memory indicated by the immediate data in an instruction word.
[Operand format]
Identifier
Description
addr16
Label or 16-bit immediate data
[Description example]
MOV A, !0FE00H; when setting !addr16 to FE00H
Operation code
1 0 0 0 1 1 1 0
OP code
0 0 0 0 0 0 0 0
00H
1 1 1 1 1 1 1 0
FEH
[Illustration]
7
0
OP code
saddr16 (low)
saddr16 (high)
Memory
123
CHAPTER 5
CPU ARCHITECTURE
5.4.4 Short direct addressing
[Function]
The memory to be manipulated in the fixed space is directly addressed with 8-bit data in an instruction word.
The fixed space to which this address is applied is a 256-byte space of addresses FE20H through FF1FH. An
internal high-speed RAM and a special-function register (SFR) are mapped at FE20H to FEFFH and FF00H to
FF1FH, respectively.
The SFR area (FF00H through FF1FH) to which short direct addressing is applied is a part of the entire SFR
area. To this area, ports frequently accessed by the program, and the compare registers and capture registers
of timer/event counters are mapped. These SFRs can be manipulated with a short byte length and a few clocks.
When 8-bit immediate data is at 20H to FFH, bit 8 of an effective address is set to 0. When it is at 00H to 1FH,
bit 8 is set to 1. Refer to [Illustration] on next page.
[Operand format]
Identifier
Description
saddr
Label of FE20H to FF1FH immediate data
saddrp
Label of FE20H to FF1FH immediate data (even address only)
[Description example]
MOV 0FE30H, #50H; when setting saddr to FE30H and immediate data to 50H
Operation code
0 0 0 1 0 0 0 1
OP code
0 0 1 1 0 0 0 0
30H (saddr-offset)
0 1 0 1 0 0 0 0
50H (immediate data)
[Illustration]
7
0
OP code
saddr-offset
Short Direct Memory
15
Effective Address
1
8 7
1
1
1
1
1
1
α
When 8-bit immediate data is 20H to FFH, α = 0
When 8-bit immediate data is 00H to 1FH, α = 1
124
0
CHAPTER 5
CPU ARCHITECTURE
5.4.5 Special-Function Register (SFR) addressing
[Function]
The memory-mapped special-function register (SFR) is addressed with 8-bit immediate data in an instruction
word.
This addressing is applied to the 240-byte spaces FF00H to FFCFH and FFE0H to FFFFH. However, the SFR
mapped at FF00H to FF1FH can be accessed with short direct addressing.
[Operand format]
Identifier
Description
sfr
Special-function register name
sfrp
16-bit manipulatable special-function register name (even address only)
[Description example]
MOV PM0, A; when selecting PM0 (FF20H) as sfr
Operation code
1 1 1 1 0 1 1 0
OP code
0 0 1 0 0 0 0 0
20H (sfr-offset)
[Illustration]
7
0
OP code
sfr-offset
SFR
15
Effective Address
1
8 7
1
1
1
1
1
1
0
1
125
CHAPTER 5
CPU ARCHITECTURE
5.4.6 Register indirect addressing
[Function]
This addressing addresses the memory with the contents of a register pair specified as an operand. The register
pair to be accessed is specified by the register bank select flags (RBS0 and RBS1) and register pair specify code
in an instruction code. This addressing can be carried out for all the memory spaces.
[Operand format]
Identifier
Description
—
[DE], [HL]
[Description example]
MOV A, [DE]; when selecting [DE] as register pair
Operation code
1 0 0 0 0 1 0 1
[Illustration]
15
8 7
E
D
DE
7
Contents of addressed
memory are transferred.
7
A
126
0
0
Memory
0
Memory address specified
by register pair DE
CHAPTER 5
CPU ARCHITECTURE
5.4.7 Based addressing
[Function]
This addressing addresses the memory by adding 8-bit immediate data to the contents of the HL register pair
which is used as a base register and by using the result of the addition. The HL register pair to be accessed
is in the register bank specified by the register bank select flags (RBS0 and RBS1). Addition is performed by
expanding the offset data as a positive number to 16 bits. A carry from the 16th bit is ignored. This addressing
can be carried out for all the memory spaces.
[Operand format]
Identifier
—
Description
[HL + byte]
[Description example]
MOV A, [HL + 10H]; when setting byte to 10H
Operation code
1 0 1 0 1 1 1 0
0 0 0 1 0 0 0 0
127
CHAPTER 5
CPU ARCHITECTURE
5.4.8 Based indexed addressing
[Function]
This addressing addresses the memory by adding the contents of the HL register, which is used as a base register,
to the contents of the B or C register specified in the instruction word, and by using the result of the addition.
The HL, B, and C registers to be accessed are registers in the register bank specified by the register bank select
flags (RBS0 and RBS1). The addition is performed by extending the contents of the B or C register to 16 bits
as a positive number. A carry from the 16th bit is ignored. This addressing can be carried out for all the memory
spaces.
[Operand format]
Identifier
—
Description
[HL + B], [HL + C]
[Description example]
In the case of MOV A, [HL + B]
Operation code
1 0 1 0 1 0 1 1
5.4.9 Stack addressing
[Function]
The stack area is indirectly addressed with the stack pointer (SP) contents.
This addressing method is automatically employed when the PUSH, POP, subroutine call and RETURN
instructions are executed or the register is saved/reset upon generation of an interrupt request.
Stack addressing enables to address the internal high-speed RAM area only.
[Description example]
In the case of PUSH DE
Operation code
128
1 0 1 1 0 1 0 1
CHAPTER 6 PORT FUNCTIONS
6.1 Port Functions
The µPD78054 and 78054Y subseries units incorporate two input ports and sixty-seven input/output ports. Figure
6-1 shows the port configuration. Every port is capable of 1-bit and 8-bit manipulations and can carry out considerably
varied control operations. Besides port functions, the ports can also serve as on-chip hardware input/output pins.
Figure 6-1. Port Types
P50
P00
Port 0
Port 5
P57
P07
P60
P10
Port 1
Port 6
P67
P17
P70
P20
Port 7
P72
Port 2
P120
P27
Port 12
P30
P127
Port 3
P130
Port 13
P131
P37
P40-P47
8
Port 4
129
CHAPTER 6
PORT FUNCTIONS
Table 6-1. Port Functions (µPD78054 subseries) (1/2)
Pin Name
Function
P00
Input only
P01
Alternate Function
INTP0/TI00
INTP1/TI01
P02
Input/output mode can be specified in 1-bit
INTP2
P03
Port 0.
units.
INTP3
P04
8-bit input/output port.
When used as an input port, an on-chip
INTP4
pull-up resistor can be used by software.
INTP5
P05
P06
INTP6
P07
Input only
XT1
Port 1.
8-bit input/output port.
P10 to P17
ANI0 to ANI7
Input/output mode can be specified in 1-bit units.
When used as an input port, an on-chip pull-up resistor can be used by software.
P20
SI1
P21
SO1
P22
Port 2.
P23
8-bit input/output port.
P24
Input/output mode can be specified in 1-bit units.
P25
When used as an input port, an on-chip pull-up resistor can be used by software.
SCK1
STB
BUSY
SI0/SB0
P26
SO0/SB1
P27
SCK0
P30
TO0
P31
TO1
P32
Port 3.
TO2
P33
8-bit input/output port.
TI1
P34
Input/output mode can be specified in 1-bit units.
TI2
P35
When used as an input port, an on-chip pull-up resistor can be used by software.
PCL
P36
BUZ
P37
—
Port 4.
8-bit input/output port.
P40 to P47
Input/output mode can be specified in 8-bit units.
AD0 to AD7
When used as an input port, an on-chip pull-up resistor can be used by software.
Test input flag (KRIF) is set to 1 by falling edge detection.
Port 5.
8-bit input/output port.
P50 to P57
LED can be driven directly.
Input/output mode can be specified in 1-bit units.
When used as an input port, an on-chip pull-up resistor can be used by software.
130
A8 to A15
CHAPTER 6
PORT FUNCTIONS
Table 6-1. Port Functions (µPD78054 subseries) (2/2)
Pin Name
Function
P60
N-ch open-drain input/output port.
P61
On-chip pull-up resistor can be specified by
Alternate Function
—
P62
Port 6.
mask option. (Mask ROM version only).
P63
8-bit input/output port.
LEDs can be driven directly.
P64
Input/output mode can be specified in 1-bit
When used as an input port, an on-chip
RD
P65
units.
pull-up resistor can be used by software.
WR
P66
WAIT
P67
ASTB
P70
Port 7.
SI2/RxD
3-bit input/output port.
P71
SO2/TxD
Input/output mode can be specified in 1-bit units.
P72
When used as an input port, an on-chip pull-up resistor can be used by software.
SCK2/ASCK
Port 12.
P120 to P127
8-bit input/output port.
RTP0 to RTP7
Input/output mode can be specified in 1-bit units.
When used as an input port, on-chip pull-up resistor can be used by software.
Port 13.
P130 and P131
2-bit input/output port.
ANO0, ANO1
Input/output mode can be specified in 1-bit units.
When used as an input port, on-chip pull-up resistor can be used by software.
131
CHAPTER 6
PORT FUNCTIONS
Table 6-2. Port Functions (µPD78054Y subseries) (1/2)
Pin Name
Function
P00
Input only
P01
Alternate Function
INTP0/TI00
INTP1/TI01
P02
Input/output mode can be specified in 1-bit
INTP2
P03
Port 0.
units.
INTP3
P04
8-bit input/output port.
When used as an input port, an on-chip
INTP4
pull-up resistor can be used by software.
INTP5
P05
P06
INTP6
P07
Input only
XT1
Port 1.
P10 to P17
8-bit input/output port.
ANI0 to ANI7
Input/output mode can be specified in 1-bit units.
When used as an input port, an on-chip pull-up resistor can be used by software.
P20
SI1
P21
SO1
P22
Port 2.
P23
8-bit input/output port.
P24
Input/output mode can be specified in 1-bit units.
P25
When used as an input port, an on-chip pull-up resistor can be used by software.
SCK1
STB
BUSY
SI0/SB0/SDA0
P26
SO0/SB1/SDA1
P27
SCK0/SCL
P30
TO0
P31
TO1
P32
Port 3.
TO2
P33
8-bit input/output port.
TI1
P34
Input/output mode can be specified in 1-bit units.
TI2
P35
When used as an input port, an on-chip pull-up resistor can be used by software.
PCL
P36
BUZ
P37
—
Port 4.
8-bit input/output port.
P40 to P47
Input/output mode can be specified in 8-bit units.
AD0 to AD7
When used as an input port, an on-chip pull-up resistor can be used by software.
Test input flag (KRIF) is set to 1 by falling edge detection.
Port 5.
8-bit input/output port.
P50 to P57
LED can be driven directly.
Input/output mode can be specified in 1-bit units.
When used as an input port, an on-chip pull-up resistor can be used by software.
132
A8 to A15
CHAPTER 6
PORT FUNCTIONS
Table 6-2. Port Functions (µPD78054Y subseries) (2/2)
Pin Name
Function
P60
N-ch open drain input/output port.
P61
On-chip pull-up resistor can be specified by
Alternate Function
—
P62
Port 6.
mask option. (Mask ROM version only).
P63
8-bit input/output port.
LEDs can be driven directly.
P64
Input/output mode can be specified in 1-bit
When used as an input port, an on-chip
RD
P65
units.
pull-up resistor can be used by software.
WR
P66
WAIT
P67
ASTB
P70
Port 7.
SI2/RxD
3-bit input/output port.
P71
SO2/TxD
Input/output mode can be specified in 1-bit units.
P72
When used as an input port, an on-chip pull-up resistor can be used by software.
SCK2/ASCK
Port 12.
P120 to P127
8-bit input/output port.
RTP0 to RTP7
Input/output mode can be specified in 1-bit units.
When used as an input port, on-chip pull-up resistor can be used by software.
Port 13.
P130 and P131
2-bit input/output port.
ANO0, ANO1
Input/output mode can be specified in 1-bit units.
When used as an input port, on-chip pull-up resistor can be used by software.
133
CHAPTER 6
PORT FUNCTIONS
6.2 Port Configuration
A port consists of the following hardware:
Table 6-3. Port Configuration
Item
Configuration
Port mode register (PMm: m = 0 to 3, 5 to 10, 12, 13)
Pull-up resistor option register (PUOH, PUOL)
Control register
Memory expansion mode register (MM)Note
Key return mode register (KRM)
Port
Total: 69 ports (2 inputs, 67 inputs/outputs)
• Mask ROM version
Pull-up resistor
Total: 67 (software specifiable: 63, mask option: 4)
• PROM version Total: 63
Note
MM specifies port 4 input/output.
6.2.1 Port 0
Port 0 is an 8-bit input/output port with output latch. P01 to P06 pins can specify the input mode/output mode in
1-bit units with the port mode register 0 (PM0). P00 and P07 pins are input-only ports. When P01 to P06 pins are
used as input ports, an on-chip pull-up resistor can be used to them in 6-bit units with a pull-up resistor option register
L (PUOL).
Alternate functions include external interrupt request input, external count clock input to the timer and crystal
connection for subsystem clock oscillation.
RESET input sets port 0 to input mode.
Figures 6-2 and 6-3 show block diagrams of port 0.
Caution Because port 0 also serves for external interrupt request input, when the port function output
mode is specified and the output level is changed, the interrupt request flag is set. Thus, when
the output mode is used, set the interrupt mask flag to 1.
134
CHAPTER 6
PORT FUNCTIONS
Figure 6-2. P00 and P07 Block Diagram
Internal bus
RD
P00/INTP0/TI00,
P07/XT1
Figure 6-3. P01 to P06 Block Diagram
VDD
WRPUO
PUO0
P-ch
RD
Internal bus
Selector
WRPORT
Output Latch
(P01 to P06)
P01/INTP1/TI01.
P02/INTP2
P06/INTP6
WRPM
PM01-PM06
PUO : Pull-up resistor option register
PM
: Port mode register
RD
: Port 0 read signal
WR : Port 0 write signal
135
CHAPTER 6
PORT FUNCTIONS
6.2.2 Port 1
Port 1 is an 8-bit input/output port with output latch. It can specify the input mode/output mode in 1-bit units with
a port mode register 1 (PM1). When P10 to P17 pins are used as input ports, an on-chip pull-up resistor can be used
to them in 8-bit units with a pull-up resistor option register L (PUOL).
Alternate functions include an A/D converter analog input.
RESET input sets port 1 to input mode.
Figure 6-4 shows a block diagram of port 1.
Caution A pull-up resistor cannot be used for pins used as A/D converter analog input.
Figure 6-4. P10 to P17 Block Diagram
VDD
WRPUO
PUO1
P-ch
RD
Internal bus
Selector
WRPORT
Output Latch
(P10 to P17)
WRPM
PM10-PM17
PUO : Pull-up resistor option register
PM
: Port mode register
RD
: Port 1 read signal
WR : Port 1 write signal
136
P10/ANI0,
P17/ANI7
CHAPTER 6
PORT FUNCTIONS
6.2.3 Port 2 (µPD78054 Subseries)
Port 2 is an 8-bit input/output port with output latch. P20 to P27 pins can specify the input mode/output mode in
1-bit units with the port mode register 2 (PM2). When P20 to P27 pins are used as input ports, an on-chip pull-up
resistor can be used to them in 8-bit units with a pull-up resistor option register L (PUOL).
Alternate functions include serial interface data input/output, clock input/output, automatic transmit/receive busy
input, and strobe output.
RESET input sets port 2 to input mode.
Figures 6-5 and 6-6 show block diagrams of port 2.
Cautions 1.
When used as a serial interface, set the input/output and output latch according to its
functions. For the setting method, refer to Figure 16-4 Serial Operating Mode Register 0
Format and Figure 18-3 Serial Operating Mode Register 1 Format.
2.
When reading the pin state in SBI mode, set PM2n bit of PM2 to 1 (n = 5, 6) (Refer to the
description of (10) Discrimination of slave busy state in section 16.4.3 “SBI Mode
Operation”).
Figure 6-5. P20, P21, P23 to P26 Block Diagram
VDD
WRPUO
PUO2
P-ch
RD
Internal bus
Selector
WRPORT
Output Latch
(P20, P21, P23-P26)
P20/SI1,
P21/SO1,
P23/STB,
P24/BUSY,
P25/SI0/SB0,
P26/SO0/SB1
WRPM
PM20, PM21
PM23-PM26
Alternate Function
PUO : Pull-up resistor option register
PM
: Port mode register
RD
: Port 2 read signal
WR : Port 2 write signal
137
CHAPTER 6
PORT FUNCTIONS
Figure 6-6. P22 and P27 Block Diagram
VDD
WRPUO
PUO2
P-ch
RD
Internal bus
Selector
WRPORT
Output Latch
(P22, P27)
WRPM
PM22, PM27
Alternate Function
PUO : Pull-up resistor option register
PM
: Port mode register
RD
: Port 2 read signal
WR : Port 2 write signal
138
P22/SCK1,
P27/SCK0
CHAPTER 6
PORT FUNCTIONS
6.2.4 Port 2 (µPD78054Y Subseries)
Port 2 is an 8-bit input/output port with output latch. P20 to P27 pins can specify the input mode/output mode in
1-bit units with the port mode register 2 (PM2). When P20 to P27 pins are used as input ports, an on-chip pull-up
resistor can be used to them in 8-bit units with a pull-up resistor option register L (PUOL).
Alternate functions include serial interface data input/output, clock input/output, automatic transmit/receive busy
input, and strobe output.
RESET input sets port 2 to input mode.
Figures 6-7 and 6-8 show block diagrams of port 2.
Caution When used as a serial interface, set the input/output and output latch according to its functions.
For the setting method, refer to Figure 17-4 Serial Operating Mode Register 0 Format and Figure
18-3 Serial Operating Mode Register 1 Format.
Figure 6-7. P20, P21, P23 to P26 Block Diagram
VDD
WRPUO
PUO2
P-ch
RD
Internal bus
Selector
WRPORT
Output Latch
(P20, P21, P23 to P26)
WRPM
P20/SI1,
P21/SO1,
P23/STB,
P24/BUSY,
P25/SI0/SB0/SDA0,
P26/SO0/SB1/SDA1
PM20, PM21
PM23 to PM26
Alternate Function
PUO : Pull-up resistor option register
PM
: Port mode register
RD
: Port 2 read signal
WR : Port 2 write signal
139
CHAPTER 6
PORT FUNCTIONS
Figure 6-8. P22 and P27 Block Diagram
VDD
WRPUO
PUO2
P-ch
RD
Internal bus
Selector
WRPORT
Output Latch
(P22 and P27)
WRPM
PM22, PM27
Alternate Function
PUO : Pull-up resistor option register
PM
: Port mode register
RD
: Port 2 read signal
WR : Port 2 write signal
140
P22/SCK1,
P27/SCK0/SCL
CHAPTER 6
PORT FUNCTIONS
6.2.5 Port 3
Port 3 is an 8-bit input/output port with output latch. P30 to P37 pins can specify the input mode/output mode in
1-bit units with the port mode register 3 (PM3). When P30 to P37 pins are used as input ports, an on-chip pull-up
resistor can be used to them in 8-bit units with a pull-up resistor option register L (PUOL).
Alternate functions include timer input/output, clock output and buzzer output.
RESET input sets port 3 to input mode.
Figure 6-9 shows a block diagram of port 3.
Figure 6-9. P30 to P37 Block Diagram
VDD
WRPUO
PUO3
P-ch
RD
Internal bus
Selector
WRPORT
P30/TO0
Output Latch
(P30 to P37)
WRPM
P32/TO2,
P33/TI1,
P34/TI2,
P35/PCL,
P36/BUZ,
P37
PM30-PM37
Alternate Function
PUO : Pull-up resistor option register
PM
: Port mode register
RD
: Port 3 read signal
WR : Port 3 write signal
141
CHAPTER 6
PORT FUNCTIONS
6.2.6 Port 4
Port 4 is an 8-bit input/output port with output latch. P40 to P47 pins can specify the input mode/output mode in
8-bit units with the memory expansion mode register (MM). When P40 to P47 pins are used as input ports, an onchip pull-up resistor can be used to them in 8-bit units with pull-up resistor option register L (PUOL).
The test input flag (KRIF) can be set to 1 by detecting falling edges.
Alternate function includes address/data bus function in external memory expansion mode.
RESET input sets port 4 to input mode.
Figures 6-10 and 6-11 show a block diagram of port 4 and block diagram of falling edge detection circuit,
respectively.
Figure 6-10. P40 to P47 Block Diagram
VDD
WRPUO
PUO4
P-ch
RD
Internal bus
Selector
WRPORT
P40/AD0
Output Latch
(P40 to P47)
P47/AD7
WRMM
MM
PUO : Pull-up resistor option register
MM : Memory expansion mode register
RD
: Port 4 read signal
WR : Port 4 write signal
Figure 6-11. Block Diagram of Falling Edge Detection Circuit
P40
P41
P42
P43
Falling Edge
Detection Circuit
KRIF Set Signal
KRMK
Standby Release
Signal
P44
P45
P46
P47
142
CHAPTER 6
PORT FUNCTIONS
6.2.7 Port 5
Port 5 is an 8-bit input/output port with output latch. P50 to P57 pins can specify the input mode/output mode in
1-bit units with the port mode register 5 (PM5). When P50 to P57 pins are used as input ports, an on-chip pull-up
resistor can be used to them in 8-bit units with a pull-up resistor option register L (PUOL).
Port 5 can drive LEDs directly.
Alternate function includes address bus function in external memory expansion mode.
RESET input sets port 5 to input mode.
Figure 6-12 shows a block diagram of port 5.
Figure 6-12. P50 to P57 Block Diagram
VDD
WRPUO
PUO5
P-ch
RD
Internal bus
Selector
WRPORT
Output Latch
(P50 to P57)
P50/A8
P57/A15
WRPM
PM50-PM57
PUO : Pull-up resistor option register
PM
: Port mode register
RD
: Port 5 read signal
WR : Port 5 write signal
143
CHAPTER 6
PORT FUNCTIONS
6.2.8 Port 6
Port 6 is an 8-bit input/output port with output latch. P60 to P67 pins can specify the input mode/output mode in
1-bit units with the port mode register 6 (PM6).
This port has functions related to pull-up resistors as shown below. These functions depending on whether the
higher 4 bits or lower 4 bits of a port are used, and whether the mask ROM model or PROM model is used.
Table 6-4. Pull-up Resistor of Port 6
Higher 4 Bits (P64 through P67 pins)
Mask ROM
version
On-chip pull-up resistor can be connected in 4-bit
units by PUO6
PROM version
Lower 4 bits (P60 through P63 pins)
Pull-up resistor can be connected in 1-bit units by
mask option
Pull-up resistor is not connected
PUO6: Bit 6 of pull-up resistor option register L (PUOL)
Pins P60 to P63 can drive LEDs directly.
Pins P64 to P67 also serve as control signal output in external memory expansion mode.
RESET input sets port 6 to input mode.
Figures 6-13 and 6-14 show block diagrams of port 6.
Cautions 1. When external wait is not used in external memory expansion mode, P66 can be used as an
input/output port.
2. The value of the low-level input leakage current flowing to the P60 through P63 pins differ
depending on the following conditions:
[Mask ROM version]
• When pull-up resistor is connected: always –3 µA (MAX.)
• When pull-up resistor is not connected
• For duration of 1.5 clock (no wait) when instruction to read port 6 (P6) and port mode
register 6 (PM6) is executed:
• Other than above:
–200 µA (MAX.)
–3 µA (MAX.)
[PROM version]
• For duration of 1.5 clock (no wait) when instruction to read port 6 (P6) and port mode
register 6 (PM6) is executed:
• Other than above:
144
–200 µA (MAX.)
–3 µA (MAX.)
CHAPTER 6
PORT FUNCTIONS
Figure 6-13. P60 to P63 Block Diagram
VDD
RD
Mask Option Resistor
Mask ROM products
only. PROM versions
have no pull-up resistor.
Internal bus
Selector
WRPORT
Output Latch
(P60 to P63)
P60-P63
WRPM
PM60-PM63
PM : Port mode register
RD : Port 6 read signal
WR : Port 6 write signal
Figure 6-14. P64 to P67 Block Diagram
VDD
WRPUO
PUO6
P-ch
RD
Internal bus
Selector
WRPORT
Output Latch
(P64 to P67)
P64/RD,
P65/WR,
P66/WAIT,
P67/ASTB
WRPM
PM64-PM67
PUO : Pull-up resistor option register
PM
: Port mode register
RD
: Port 6 read signal
WR : Port 6 write signal
145
CHAPTER 6
PORT FUNCTIONS
6.2.9 Port 7
This is a 3-bit input/output port with output latches. Input mode/output mode can be specified bit-wise by means
of port mode register 7 (PM7). When pins P70 to P72 are used as input port pins, an on-chip pull-up resistor can
be used as a 3-bit unit by means of pull-up resistor option register L (PUOL).
Alternate functions include serial interface channel 2 data input/output and clock input/output.
RESET input sets the input mode.
Figures 6-15 and 6-16 show block diagrams of port 7.
Caution When used as a serial interface, set the input/output and output latch according to its functions.
For the setting method, refer to Table 19-2 Serial Interface Channel 2 Operating Mode Setting.
Figure 6-15. P70 Block Diagram
VDD
WRPUO
PUO7
P-ch
RD
Internal bus
Selector
WRPORT
Output Latch
(P70)
WRPM
PM70
PUO : Pull-up resistor option register
PM
: Port mode register
RD
: Port 7 read signal
WR : Port 7 write signal
146
P70/SI2/RxD
CHAPTER 6
PORT FUNCTIONS
Figure 6-16. P71 and P72 Block Diagram
VDD
WRPUO
PUO7
P-ch
RD
Internal bus
Selector
WRPORT
Output Latch
(P71 and P72)
P71/SO2/TxD,
P72/SCK2/ASCK
WRPM
PM71, PM72
Alternate Function
PUO : Pull-up resistor option register
PM
: Port mode register
RD
: Port 7 read signal
WR : Port 7 write signal
147
CHAPTER 6
PORT FUNCTIONS
6.2.10 Port 12
This is an 8-bit input/output port with output latches. Input mode/output mode can be specified bit-wise by means
of port mode register 12 (PM12). When pins P120 to P127 are used as input port pins, an on-chip pull-up resistor
can be used as an 8-bit unit by means of pull-up resistor option register H (PUOH).
Alternate function includes real-time output.
RESET input sets the input mode.
Figure 6-17 shows a block diagram of port 12.
Figure 6-17. P120 to P127 Block Diagram
VDD
WRPUO
PUO12
P-ch
RD
Internal bus
Selector
WRPORT
Output Latch
(P120 to P127)
WRPM
PM120-PM127
PUO : Pull-up resistor option register
PM
: Port mode register
RD
: Port 12 read signal
WR : Port 12 write signal
148
P120/RTP0
P127/RTP7
CHAPTER 6
PORT FUNCTIONS
6.2.11 Port 13
This is a 2-bit input/output port with output latches. Input mode/output mode can be specified bit-wise by means
of port mode register 13 (PM13). When pins P130 and P131 are used as input port pins, an on-chip pull-up resistor
can be used as a 2-bit unit by means of pull-up resistor option register H (PUOH).
Alternate function includes D/A converter analog output.
RESET input sets the input mode.
Figure 6-18 shows a block diagram of port 13.
Caution When only either one of the D/A converter channels is used with AVREF1< VDD, the other pins
that are not used as analog outputs must be set as follows:
•
Set PM13. bit of the port mode register 13 (PM13) to 1 (input mode) and connect the pin
to VSS.
•
Set PM13x bit of the port mode register 13 (PM13) to 0 (output mode) and the output latch
to 0, to output low level from the pin.
Figure 6-18. P130 and P131 Block Diagram
VDD
WRPUO
PUO13
P-ch
RD
Internal bus
Selector
WRPORT
Output Latch
(P130 and P131)
P130/ANO0,
P131/ANO1
WRPM
PM130, PM131
PUO : Pull-up resistor option register
PM
: Port mode register
RD
: Port 13 read signal
WR : Port 13 write signal
149
CHAPTER 6
PORT FUNCTIONS
6.3 Port Function Control Registers
The following four types of registers control the ports.
• Port mode registers (PM0 to PM3, PM5 to PM7, PM12, PM13)
• Pull-up resistor option register (PUOH, PUOL)
• Memory expansion mode register (MM)
• Key return mode register (KRM)
(1) Port mode registers (PM0 to PM3, PM5 to PM7, PM12, PM13)
These registers are used to set port input/output in 1-bit units.
PM0 to PM3, PM5 to PM7, PM12, and PM13 are independently set with a 1-bit or 8-bit memory manipulation
instruction
RESET input sets registers to FFH.
When port pins are used as the dual-function pins, set the port mode register and output latch according to
Table 6-5.
Cautions 1. Pins P00 and P07 are input-only pins.
2. As port 0 has a dual function as external interrupt request input, when the port function
output mode is specified and the output level is changed, the interrupt request flag is
set. When the output mode is used, therefore, the interrupt mask flag should be set to
1 beforehand.
3. The memory expansion mode register (MM) specifies P40 to P47 as input/output pins.
150
CHAPTER 6
PORT FUNCTIONS
Table 6-5. Port Mode Register and Output Latch Settings when Using Dual-Functions
Dual-functions
Pin Name
Name
P00
P××
INTP0
Input
1 (Fixed)
None
TI00
Input
1 (Fixed)
None
INTP1
Input
1
×
TI01
Input
1
×
P02 to P06
INTP2 to INTP6
Input
1
×
P07Note1
XT1
Input
1 (Fixed)
None
ANI0 to ANI7
Input
1
×
P30 to P32
TO0 to TO2
Output
0
0
P33, P34
TI1, TI2
Input
1
×
P35
PCL
Output
0
0
P36
BUZ
Output
0
P01
P10 to
P17Note1
0
P40 to P47
AD0 to AD7
Input/Output
×Note2
P50 to P57
A8 to A15
Output
×Note2
P64
RD
Output
×Note2
P65
WR
Output
×Note2
P66
WAIT
Input
×Note2
P67
ASTB
Output
×Note2
RTP0 to RTP7
Output
0
desired value
ANO0, ANO1
Output
1
×
P120 to P127
P130,
Notes
PM××
Input/Output
P131(Note1)
1. If these ports are read out when these pins are used in the alternative function mode, undefined values
are read.
2. When the P40 to P47 pins P50 to P57 pins, and P64 to P67 pins are used for dual-functions, set the
function by the memory extension mode register (MM).
Cautions 1. When not using external wait in the external memory extension mode, the P66 pin can be used
as an I/O port.
2. When port 2 and port 7 are used for serial interface, the I/O latch or output latch must be
set according to its function. For the setting methods, see Figure 16-4 “Serial Operation
Mode Register 0 Format”, Figure 17-4 “Serial Operation Mode Register 0 Format”, Figure
18-3 “Serial Operation Mode Register 1 Format”, and Table 19-2 “Serial Interface Channel
2 Operating Mode Settings”.
Remarks ×
: don’t care
PM×× : port mode register
P××
: port output latch
151
CHAPTER 6
PORT FUNCTIONS
Figure 6-19. Port Mode Register Format
Symbol
7
PM0
1
6
5
4
3
2
1
PM06 PM05 PM04 PM03 PM02 PM01
0
Address
After
Reset
R/W
1
FF20H
FFH
R/W
PM1
PM17 PM16 PM15 PM14 PM13 PM12 PM11 PM10
FF21H
FFH
R/W
PM2
PM27 PM26 PM25 PM24 PM23 PM22 PM21 PM20
FF22H
FFH
R/W
PM3
PM37 PM36 PM35 PM34 PM33 PM32 PM31 PM30
FF23H
FFH
R/W
PM5
PM57 PM56 PM55 PM54 PM53 PM52 PM51 PM50
FF25H
FFH
R/W
PM6
PM67 PM66 PM65 PM64 PM63 PM62 PM61 PM60
FF26H
FFH
R/W
PM72 PM71 PM70
FF27H
FFH
R/W
PM12 PM127 PM126 PM125 PM124 PM123 PM122 PM121 PM120
FF2CH
FFH
R/W
PM13
FF2DH
FFH
R/W
PM7
1
1
1
1
1
1
1
1
1
1
1
PM131 PM130
PMmn
152
Pmn Pin Input/Output Mode Selection
(m=0-3, 5-7, 12, 13 : n=0-7)
0
Output mode (output buffer ON)
1
Input mode (output buffer OFF)
CHAPTER 6
PORT FUNCTIONS
(2) Pull-up resistor option register (PUOH, PUOL)
This register is used to set whether to use an internal pull-up resistor at each port or not. A pull-up resistor
is internally used at bits which are set to the input mode at a port where on-chip pull-up resistor use has been
specified with PUOH, PUOL. No on-chip pull-up resistors can be used to the bits set to the output mode or
to the bits used as an analog input pin, irrespective of PUOH or PUOL setting.
PUOH and PUOL are set with a 1-bit or 8-bit memory manipulation instruction.
RESET input sets this register to 00H.
Cautions 1. P00 and P07 pins do not incorporate a pull-up resistor.
2. When ports 1, 4, 5, and P64 to P67 pins are used as dual-function pins, an on-chip pullup resistor cannot be used even if 1 is set in PUOm bit of PUOH, PUOL (m = 1, 4 to 6).
3. Pins P60 to P63 can be connected with pull-up resistor by mask option only for mask
ROM version.
Figure 6-20. Pull-Up Resistor Option Register Format
Symbol
7
6
PUOH
0
0
<7>
<6>
PUOL
<5>
<4>
PUO13 PUO12
<5>
<4>
3
2
1
0
Address
After
Reset
R/W
0
0
0
0
FFF3H
00H
R/W
<3>
<2>
<1>
<0>
FFF7H
00H
R/W
PUO7 PUO6 PUO5 PUO4 PUO3 PUO2 PUO1 PUO0
PUOm
Caution
Pm Internal Pull-up Resistor Selection
(m=0 to 7, 12, 13)
0
Internal pull-up resistor not used
1
Internal pull-up resistor used
Bits 0 to 3, 6, and 7 of PUOH should be set to 0.
153
CHAPTER 6
PORT FUNCTIONS
(3) Memory expansion mode register (MM)
This register is used to set input/output of port 4.
MM is set with a 1-bit or 8-bit memory manipulation instruction.
RESET input sets this register to 10H.
Figure 6-21. Memory Expansion Mode Register Format
Symbol
7
6
5
4
3
2
1
0
Address
After
Reset
R/W
MM
0
0
PW1
PW0
0
MM2
MM1
MM0
FFF8H
10H
R/W
MM2 MM1
0
0
MM0
Single-chip/Memory
Expansion Mode
Selection
0
Single-chip mode
0
0
1
0
1
1
256-byte
mode
1
0
0
4-Kbyte
mode
1
0
Memory
expansion
mode
1
1
1
16-Kbyte
mode
Note
P50-P53
P54, P55
Input
Port
mode Output
P56, P57
P64-P67
Port mode
Port mode
P64=RD
Port mode
P65=WR
P66=WAIT
Port mode
A8-A11
P67=ASTB
A12, A13
Full
address
mode
Other than above
PW1 PW0
P40-P47
AD0-AD7
Note
1
P40-P47, P50-P57, P64-P67 Pin State
A14, A15
Setting prohibited
Wait Control
0
0
No wait
0
1
Wait (one wait state insertion)
1
0
Setting prohibited
1
1
Wait control by external wait pin
The full address mode allows external expansion for all areas of the 64-Kbyte address space,
except the internal ROM, RAM, SFR, and use-prohibited areas.
Remarks 1. P60 to P63 pins enter the port mode in both the single-chip and memory expansion mode.
2. Besides setting port 4 input/output, MM also sets the wait count and external expansion area.
154
CHAPTER 6
PORT FUNCTIONS
(4) Key return mode register (KRM)
This register sets enabling/disabling of standby function release by a key return signal (falling edge detection
of port 4).
KRM is set with a 1-bit or 8-bit memory manipulation instruction.
RESET input sets KRM to 02H.
Figure 6-22. Key Return Mode Register Format
Symbol
7
6
5
4
3
2
KRM
0
0
0
0
0
0
<1>
<0>
KRMK KRIF
Address
After
Reset
R/W
FFF6H
02H
R/W
KRIF
Key Return Signal Detection Flag
0
Not Detected
1
Detected (Falling edge detection of port 4)
KRMK Standby Mode Control by Key Return Signal
0
Standby mode release enabled
1
Standby mode release disabled
Caution When falling edge detection of port4 is used, KRIF should be cleared to 0 (not cleared to 0
automatically).
155
CHAPTER 6
PORT FUNCTIONS
6.4 Port Function Operations
Port operations differ depending on whether the input or output mode is set, as shown below.
6.4.1 Writing to input/output port
(1) Output mode
A value is written to the output latch by a transfer instruction, and the output latch contents are output from
the pin.
Once data is written to the output latch, it is retained until data is written to the output latch again.
(2) Input mode
A value is written to the output latch by a transfer instruction, but since the output buffer is OFF, the pin status
does not change.
Once data is written to the output latch, it is retained until data is written to the output latch again.
Caution In the case of 1-bit memory manipulation instruction, although a single bit is manipulated
the port is accessed as an 8-bit unit. Therefore, on a port with a mixture of input and output
pins, the output latch contents for pins specified as input are undefined except for the
manipulated bit.
6.4.2 Reading from input/output port
(1) Output mode
The output latch contents are read by a transfer instruction. The output latch contents do not change.
(2) Input mode
The pin status is read by a transfer instruction. The output latch contents do not change.
156
CHAPTER 6
PORT FUNCTIONS
6.4.3 Operations on input/output port
(1) Output mode
An operation is performed on the output latch contents, and the result is written to the output latch. The output
latch contents are output from the pins.
Once data is written to the output latch, it is retained until data is written to the output latch again.
(2) Input mode
The output latch contents are undefined, but since the output buffer is OFF, the pin status does not change.
Caution In the case of 1-bit memory manipulation instruction, although a single bit is manipulated
the port is accessed as an 8-bit unit. Therefore, on a port with a mixture of input and output
pins, the output latch contents for pins specified as input are undefined, even for bits other
than the manipulated bit.
6.5 Selection of Mask Option
The following mask option is provided in mask ROM version. The PROM versions have no mask options.
Table 6-6. Comparison between Mask ROM Version and PROM Version
Pin Name
Mask option for pins P60 to P63
Mask ROM Version
Bit-wise-selectable on-chip pull-up resistors
PROM Version
No on-chip pull-up resistor
157
[MEMO]
158
CHAPTER 7 CLOCK GENERATOR
7.1 Clock Generator Functions
The clock generator generates the clock to be supplied to the CPU and peripheral hardware. The following two
types of system clock oscillators are available.
(1) Main system clock oscillator
This circuit oscillates at frequencies of 1 to 5.0 MHz. Oscillation can be stopped by executing the STOP
instruction or setting the processor clock control register (PCC).
(2) Subsystem clock oscillator
The circuit oscillates at a frequency of 32.768 kHz. Oscillation cannot be stopped. If the subsystem clock
oscillator is not used, not using the internal feedback resistance can be set by the processor clock control
register (PCC). This enables to decrease power consumption in the STOP mode.
7.2 Clock Generator Configuration
The clock generator consists of the following hardware.
Table 7-1. Clock Generator Configuration
Item
Configuration
Processor clock control register (PCC)
Control register
Oscillation mode selection register (OSMS)
Main system clock oscillator
Oscillator
Subsystem clock oscillator
159
CHAPTER 7
CLOCK GENERATOR
Figure 7-1. Block Diagram of Clock Generator
FRC
X1
X2
Main
System
Clock
Oscillator
Prescaler
fX
Scaler
fX
2
Prescaler
f XX
f XX
f XX 22
2
f XX
f XX 4
3 2
2
Watch Timer,
Clock Output
Function
Clock to
Peripheral
Hardware
1/2
f XT
2
Selector
XT2
f XT
Subsystem
Clock
Oscillator
Selector
XT1/P07
Standby
Control
Circuit
3
Wait
Control
Circuit
CPU Clock
(fCPU)
To INTP0
Sampling Clock
STOP
MCS
MCC FRC CLS CSS PCC2 PCC1 PCC0
Oscillation Mode
Selection Register
Processor Clock Control Register
Internal Bus
160
CHAPTER 7
CLOCK GENERATOR
7.3 Clock Generator Control Register
The clock generator is controlled by the following two registers:
• Processor clock control register (PCC)
• Oscillation mode selection register (OSMS)
(1) Processor clock control register (PCC)
The PCC sets whether to use CPU clock selection, the ratio of division, main system clock oscillator operation/
stop and subsystem clock oscillator internal feedback resistor.
The PCC is set with a 1-bit or 8-bit memory manipulation instruction.
RESET input sets the PCC to 04H.
Figure 7-2. Subsystem Clock Feedback Resistor
FRC
P-ch
Feedback resistor
XT1
XT2
161
CHAPTER 7
CLOCK GENERATOR
Figure 7-3. Processor Clock Control Register Format
Symbol <7>
<6>
<5>
<4>
3
FRC
CLS
CSS
0
PCC
MCC
R/W
CSS PCC2 PCC1 PCC0
0
1
R/W
R/W
PCC2 PCC1 PCC0
Address
After
Reset
R/W
FFFBH
04H
R/W Note 1
CPU CIock (fCPU) Selection
MCS = 1
MCS = 0
0
0
fXX
fx
fx /2
0
1
fXX/2
fx/2
fx/2
0
1
0
fXX/2
fx/2
2
fx/23
0
1
1
fXX/23
fx/23
fx/24
4
4
1
0
0
0
0
0
0
0
1
0
1
0
0
1
1
1
0
0
2
fXX/2
fx/2
fx/2
2
5
fXT/2
Setting prohibited
CPU Clock Status
0
Main system clock
1
Subsystem clock
Subsystem Clock Feedback Resistor Selection
0
Internal feedback resistor used
1
Internal feedback resistor not used
MCC
0
0
CLS
FRC
1
0
Other than above
R
2
Note 2
Main System Clock Oscillation Control
0
Oscillation possible
1
Oscillation stopped
Notes 1. Bit 5 is Read Only.
2. When the CPU is operating on the subsystem clock, MCC should be used to stop the main
system clock oscillation. A STOP instruction should not be used.
Caution Bit 3 must be set to 0.
Remarks 1. fXX
: Main system clock frequency (fX or fX/2)
2. fX
: Main system clock oscillator frequency
3. fXT
: Subsystem clock oscillator frequency
4. MCS : Bit 0 of oscillation mode selection register (OSMS)
162
CHAPTER 7
CLOCK GENERATOR
The fastest instruction of the µPD78054 and 78054Y Subseries is executed with two clocks of the CPU clock.
Therefore, relationships between the CPU clock (fCPU) and the minimum instruction execution time are as shown in
Table 7-2.
Table 7-2. Relationship between CPU Clock and Minimum Instruction Execution Time
CPU Clock (fCPU)
Minimum Instruction Execution Time: 2/fCPU
fX
0.4 µs
fX/2
0.8 µs
fX/22
1.6 µs
fX/23
3.2 µs
fX/24
6.4 µs
fX/25
12.8 µs
fXT/2
122 µs
Remarks 1. fX = 5.0 MHz, fXT = 32.768 kHz
2. fX : Main system clock oscillation frequency
3. fXT : Subsystem clock oscillation frequency
163
CHAPTER 7
CLOCK GENERATOR
(2) Oscillation mode selection register (OSMS)
This register specifies whether the clock output from the main system clock oscillator without passing through
the scaler is used as the main system clock, or the clock output via the scaler is used as the main system
clock.
OSMS is set with 8-bit memory manipulation instruction.
RESET input sets OSMS to 00H.
Figure 7-4. Oscillation Mode Selection Register Format
Symbol
7
6
5
4
3
2
1
0
Address
After
Reset
R/W
OSMS
0
0
0
0
0
0
0
MCS
FFF2H
00H
W
MCS
Main System Clock Scaler Control
0
Scaler used
1
Scaler not used
Cautions 1. The main system clock cycle is longer by up to 2/fx only when writing data to OSMS (including
when writing the same data that was written previously) as shown in Figure 7-5. This causes
a temporary error in the count clock cycle of timers in the peripheral hardware that operates
with the main system clock.
In addition, when the oscillation mode is changed, the clocks provided for the peripheral
hardware as well as those for the CPU are switched. Therefore, it is recommended that only
one-time writing to OSMS be performed between the reset release and the peripheral
hardware operation.
Figure 7-5. Main System Clock when Writing to OSMS
Write to OSMS
(MCS
0)
Max. 2/fX
fXX
Operating at fXX = fX/2 (MCS = 0)
Operating at fXX = fX/2 (MCS = 0)
2. Setting 1 to MCS should be performed after VDD ≥ 2.7 V.
Remarks fxx : Main system clock frequency (fx or fx/2)
fx
164
: Main system clock oscillation frequency
CHAPTER 7
CLOCK GENERATOR
7.4 System Clock Oscillator
7.4.1 Main system clock oscillator
The main system clock oscillator oscillates with a crystal resonator or a ceramic resonator (standard: 5.0 MHz)
connected to the X1 and X2 pins.
External clocks can be input to the main system clock oscillator. In this case, input a clock signal to the X1 pin
and an antiphase clock signal to the X2 pin.
Figure 7-6 shows an external circuit of the main system clock oscillator.
Figure 7-6. External Circuit of Main System Clock Oscillator
(a) Crystal and ceramic oscillation
(b) External clock
X2
X2
X1
IC
External
Clock
µ PD74HCU04
X1
Crystal
or
Ceramic Resonator
Caution Do not execute the STOP instruction or do not set MCC (bit 7 of processor clock control register
(PCC)) to 1 if an external clock is used. This is because if STOP instruction is executed or MCC
is set to 1, the operation of the main system clock is stopped and the X2 pin is pulled up to VDD.
165
CHAPTER 7
CLOCK GENERATOR
7.4.2 Subsystem clock oscillator
The subsystem clock oscillator oscillates with a crystal resonator (standard: 32.768 kHz) connected to the XT1
and XT2 pins.
External clocks can be input to the main system clock oscillator. In this case, input a clock signal to the XT1 pin
and an antiphase clock signal to the XT2 pin.
Figure 7-7 shows an external circuit of the subsystem clock oscillator.
Figure 7-7. External Circuit of Subsystem Clock Oscillator
(a) Crystal oscillation
(b) External clock
IC
32.768
kHz
XT2
XT2
External
Clock
XT1
XT1
µ PD74HCU04
Cautions 1. When using a main system clock oscillator and a subsystem clock oscillator, carry out wiring
in the broken line area in Figures 7-6 and 7-7 to prevent any effects from wiring capacities.
•
Minimize the wiring length.
•
Do not allow wiring to intersect with other signal conductors. Do not allow wiring to come
near changing high current.
•
Set the potential of the grounding position of the oscillator capacitor to that of VSS. Do
not ground to any ground pattern where high current is present.
•
Do not fetch signals from the oscillator.
Take special note of the fact that the subsystem clock oscillator is a circuit with low-level
amplification so that current consumption is maintained at low levels.
Figure 7-8 shows examples of incorrect oscillator connection.
Figure 7-8. Examples of Incorrect Oscillator Connection (1/2)
(a) Wiring of connection
(b) Signal lines intersect
circuits is too long
each other
PORTn
(n=0-7, 12, 13)
IC
Remark
X2
X1
X2
X1
When using a subsystem clock, replace X1 and X2 with XT1 and XT2, respectively. Further, insert
resistors in series on the side of XT2.
166
IC
CHAPTER 7
CLOCK GENERATOR
Figure 7-8. Examples of Incorrect Oscillator Connection (2/2)
(c) Changing high current is too near a
signal conductor
(d) Current flows through the grounding line
of the oscillator (potential at points A, B,
and C fluctuate)
VDD
Pnm
IC
X2
X1
IC
X2
X1
High
Current
A
B
C
High
Current
(e) Signals are fetched
IC
Remark
X1
X2
When using a subsystem clock, replace X1 and X2 with XT1 and XT2, respectively. Also, insert resistors
in series on the XT2 side.
Cautions 2. In Figure 7-8 (f), XT2 and X1 are wired in parallel. Thus, the cross-talk noise of X1 may
increase with XT2, resulting in malfunctioning. To prevent that from occurring, it is
recommended to wire XT2 and X1 so that they are not in parallel, and to correct the IC pin
between XT2 and X1 directly to V SS.
167
CHAPTER 7
CLOCK GENERATOR
7.4.3 Scaler
The scaler divides the main system clock oscillator output (fXX) and generates various clocks.
7.4.4 When no subsystem clocks are used
If it is not necessary to use subsystem clocks for low power consumption operations and clock operations,
connect the XT1 and XT2 pins as follows.
XT1 : Connect to VDD.
XT2 : Leave open.
In this state, however, some current may leak via the internal feedback resistor of the subsystem clock oscillator
when the main system clock stops. To suppress the leakage current, disconnect the above internal feedback resistor
by using the bit 6 (FRC) of the processor clock control register (PCC). In this case also, connect the XT1 and XT2
pins as described above.
168
CHAPTER 7
CLOCK GENERATOR
7.5 Clock Generator Operations
The clock generator generates the following various types of clocks and controls the CPU operating mode
including the standby mode.
• Main system clock
• Subsystem clock
• CPU clock
fXX
fXT
fCPU
• Clock to peripheral hardware
The following clock generator functions and operations are determined with the processor clock control register
(PCC) and the oscillation mode selection register (OSMS).
(a) Upon generation of RESET signal, the lowest speed mode of the main system clock (12.8 µs when operated
at 5.0 MHz) is selected (PCC = 04H, OSMS = 00H). Main system clock oscillation stops while low level is
applied to RESET pin.
(b) With the main system clock selected, one of the six CPU clock types (0.4 µs. 0.8 µs, 1.6 µs, 3.2 µs, 6.4 µs,
12.8 µs @ 5.0 MHz) can be selected by setting the PCC and OSMS.
(c) With the main system clock selected, two standby modes, the STOP and HALT modes, are available. In a
system where the subsystem clock is not used, the current consumption in the STOP mode can be further
reduced by specifying with bit 6 (FRC) of the PCC not to use the feedback resistor.
(d) The PCC can be used to select the subsystem clock and to operate the system with low current consumption
(122 µs when operated at 32.768 kHz).
(e) With the subsystem clock selected, main system clock oscillation can be stopped with the PCC. The HALT
mode can be used. However, the STOP mode cannot be used. (Subsystem clock oscillation cannot be
stopped.)
(f)
The main system clock is divided and supplied to the peripheral hardware. The subsystem clock is supplied
to 16-bit timer/event counter, the watch timer, and clock output functions only. Thus, 16-bit timer/event counter
(when selecting watch timer output for count clock operating with subsystem clock), the watch function, and
the clock output function can also be continued in the standby state. However, since all other peripheral
hardware operate with the main system clock, the peripheral hardware also stops if the main system clock
is stopped. (Except external input clock operation)
169
CHAPTER 7
CLOCK GENERATOR
7.5.1 Main system clock operations
When operated with the main system clock (with bit 5 (CLS) of the processor clock control register (PCC) set to
0), the following operations are carried out by PCC setting.
(a) Because the operation guarantee instruction execution speed depends on the power supply voltage, the
minimum instruction execution time can be changed by bits 0 to 2 (PCC0 to PCC2) of the PCC.
(b) If bit 7 (MCC) of the PCC is set to 1 when operated with the main system clock, the main system clock oscillation
does not stop. When bit 4 (CSS) of the PCC is set to 1 and the operation is switched to subsystem clock
operation (CLS = 1) after that, the main system clock oscillation stops (see Figure 7-9).
Figure 7-9. Main System Clock Stop Function (1/2)
(a) Operation when MCC is set after setting CSS with main system clock operation
MCC
CSS
CLS
Main System Clock Oscillation
Subsystem Clock Oscillation
CPU Clock
(b) Operation when MCC is set in case of main system clock operation
MCC
CSS
CLS
L
L
Oscillation does not stop.
Main System Clock Oscillation
Subsystem Clock Oscillation
CPU Clock
170
CHAPTER 7
CLOCK GENERATOR
Figure 7-9. Main System Clock Stop Function (2/2)
(c) Operation when CSS is set after setting MCC with main system clock operation
MCC
CSS
CLS
Main System Clock Oscillation
Subsystem Clock Oscillation
CPU Clock
7.5.2 Subsystem clock operations
When operated with the subsystem clock (with bit 5 (CLS) of the processor clock control register (PCC) set to 1),
the following operations are carried out.
(a) The minimum instruction execution time remains constant (122 µs when operated at 32.768 kHz) irrespective
of bits 0 to 2 (PCC0 to PCC2) of the PCC.
(b) Watchdog timer counting stops.
Caution Do not execute the STOP instruction while the subsystem clock is in operation.
7.6 Changing System Clock and CPU Clock Settings
7.6.1 Time required for switchover between system clock and CPU clock
The system clock and CPU clock can be switched over by means of bits 0 to 2 (PCC0 to PCC2) and bit 4 (CSS)
of the processor clock control register (PCC).
The actual switchover operation is not performed directly after writing to the PCC, but operation continues on the
pre-switchover clock for several instructions (see Table 7-3).
Whether the system is operating on the main system clock or the subsystem clock can be discriminated by bit 5
(CLS) of the PCC register.
171
172
Set Values before
Switchover
Set Values After Switchover
MSC = 1
MSC = 0
CSS PCC2 PCC1 PCC0 CSS PCC2 PCC1 PCC0 CSS PCC2 PCC1 PCC0 CSS PCC2 PCC1 PCC0 CSS PCC2 PCC1 PCC0 CSS PCC2 PCC1 PCC0 CSS PCC2 PCC1 PCC0
CSS
PCC2 PCC1 PCC0
0
0
0
1
0
0
1
0
0
1
16 instructions
0
1
0
8 instructions
4 instructions
2 instructions
0
0
1
16 instructions
8 instructions
4 instructions
2 instructions
0
0
0
1
1
16 instructions
8 instructions
4 instructions
2 instructions
0
1
0
0
16 instructions
8 instructions
4 instructions
2 instructions
1
×
×
×
0
0
1 instruction
1 instruction
1 instruction
×
×
Remarks 1.
2.
3.
Caution
×
1 instruction
1 instruction
1 instruction
×
fX/4fXT instruction
(39 instructions)
fX/4fXT instruction
fX/8fXT instruction
(39 instructions)
(20 instructions)
fX/8fXT instruction
fX/16fXT instruction
(20 instructions)
(10 instructions)
fX/16fXT instruction fX/32fXT instruction
(5 instructions)
fX/32fXT instruction fX/64fXT instruction
1 instruction
1 instruction
×
(77 instructions)
(5 instructions)
1
×
fX/2fXT instruction
(10 instructions)
1
1
1 instruction
One instruction is the minimum instruction execution time with the pre-switchover CPU clock.
MCS: Oscillation mode selection register bit 0
Figures in parentheses apply to operation with fX = 5.0 MHz and fXT = 32.768 kHz.
Selection of the CPU clock cycle scaling factor (PCC0 to PCC2) and switchover from the main system
clock to the subsystem clock (changing CSS from 0 to 1) should not be performed simultaneously.
Simultaneous setting is possible, however, for selection of the CPU clock cycle scaling factor (PCC0 to
PCC2) and switchover from the subsystem clock to the main system clock (changing CSS from 1 to 0).
(3 instructions)
CLOCK GENERATOR
1
0
0
CHAPTER 7
0
0
0
Table 7-3. Maximum Time Required for CPU Clock Switchover
0
0
CHAPTER 7
CLOCK GENERATOR
7.6.2 System clock and CPU clock switching procedure
This section describes switching procedure between system clock and CPU clock.
Figure 7-10. System Clock and CPU Clock Switching
VDD
RESET
Interrupt
Request
Signal
System Clock
CPU Clock
fXX
fXX
Minimum Maximum Speed
Operation
Speed
Operation
Wait (26.2 ms : 5.0 MHz)
fXT
Subsystem Clock
Operation
fXX
High-Speed
Operation
Internal Reset Operation
(1) The CPU is reset by setting the RESET signal to low level after power-on. After that, when reset is released
by setting the RESET signal to high level, main system clock starts oscillation. At this time, oscillation
stabilization time (217/fX) is secured automatically.
After that, the CPU starts executing the instruction at the minimum speed of the main system clock (12.8 µs when
operated at 5.0 MHz).
(2) After the lapse of a sufficient time for the VDD voltage to increase to enable operation at maximum speeds,
the processor clock control register (PCC) and oscillation mode selection register (OSMS) are rewritten and
the maximum-speed operation is carried out.
(3) Upon detection of a decrease of the VDD voltage due to an interrupt request signal, the main system clock
is switched to the subsystem clock (which must be in an oscillation stable state).
(4) Upon detection of VDD voltage reset due to an interrupt request signal, 0 is set to the bit 7 (MCC) of PCC and
oscillation of the main system clock is started. After the lapse of time required for stabilization of oscillation,
the PCC and OSMS are rewritten and the maximum-speed operation is resumed.
Caution When subsystem clock is being operated while main system clock was stopped, if switching to
the main system clock is made again, be sure to switch after securing oscillation stable time by
software.
173
[MEMO]
174
CHAPTER 8 16-BIT TIMER/EVENT COUNTER
8.1 Outline of Timers Incorporated in the µPD78054, 78054Y Subseries
This chapter explains 16-bit timer/event counter. Before that, the timers incorporated into the µPD78054, 78054Y
Subseries and related circuits are outlined below.
(1) 16-bit timer/event counter (TM0)
The TM0 can be used for an interval timer, PWM output, pulse widths measurement (infrared ray remote control
receive function), external event counter, square wave output of any frequency or one-shot pulse output.
(2) 8-bit timers/event counters 1 and 2 (TM1 and TM2)
TM1 and TM2 can be used to serve as an interval timer and an external event counter and to output square
waves with any selected frequency. Two 8-bit timer/event counters can be used as one 16-bit timer/event
counter (See CHAPTER 9 8-BIT TIMER/EVENT COUNTERS 1 AND 2).
(3) Watch timer (TM3)
This timer can set a flag every 0.5 sec. and simultaneously generates interrupt requests at the preset time
intervals (See CHAPTER 10 WATCH TIMER).
(4) Watchdog timer (WDTM)
WDTM can perform the watchdog timer function or generate non-maskable interrupt requests, maskable
interrupt requests and RESET at the preset time intervals (See CHAPTER 11 WATCHDOG TIMER).
(5) Clock output control circuit
This circuit supplies other devices with the divided main system clock and the subsystem clock (See CHAPTER
12 CLOCK OUTPUT CONTROL CIRCUIT).
(6) Buzzer output control circuit
This circuit outputs the buzzer frequency obtained by dividing the main system clock (See CHAPTER 13
BUZZER OUTPUT CONTROL CIRCUIT).
175
CHAPTER 8
16-BIT TIMER/EVENT COUNTER
Table 8-1. Timer/Event Counter Operations
Function
8-bit Timer/event
Counters 1 and 2
Watch Timer
Watchdog Timer
2 channelsNote 3
2 channels
1 channelNote 1
1 channelNote 2
External event counter
√
√
—
—
Timer output
√
√
—
—
PWM output
√
—
—
—
Pulse width measurement
√
—
—
—
Square-wave output
√
√
—
—
One-shot pulse output
√
—
—
—
Interrupt source
√
√
√
√
Test input
—
—
√
—
Operating Interval timer
mode
16-bit Timer/
event Counter
Notes 1. Watch timer can perform both watch timer and interval timer functions at the same time.
2. Watchdog timer can perform either the watchdog timer function or the interval timer function.
3. When capture/compare registers (CR00, CR01) are specified as compare registers.
176
CHAPTER 8
16-BIT TIMER/EVENT COUNTER
8.2 16-Bit Timer/Event Counter Functions
The 16-bit timer/event counter (TM0) has the following functions.
• Interval timer
• PWM output
• Pulse width measurement
• External event counter
• Square-wave output
• One-shot pulse output
PWM output and pulse width measurement can be used at the same time.
(1) Interval timer
TM0 generates interrupt requests at the preset time interval.
Table 8-2. 16-Bit Timer/Event Counter Interval Times
Minimum Interval Time
MCS = 1
MCS = 0
Maximum Interval Time
MCS = 1
2 × TI00 input cycle
—
(400 ns)
2 × 1/fX
Resolution
MCS = 1
216 × TI00 input cycle
2 × 1/fX
—
MCS = 0
216
MCS = 0
TI00 input edge cycle
× 1/fX
—
(13.1 ms)
1/fX
(200 ns)
22 × 1/fX
216 × 1/fX
217 × 1/fX
1/fX
(400 ns)
(800 ns)
(13.1 ms)
(26.2 ms)
(200 ns)
(400 ns)
22 × 1/fX
23 × 1/fX
217 × 1/fX
218 × 1/fX
2 × 1/fX
22 × 1/fX
(800 ns)
(1.6 µs)
(26.2 ms)
(52.4 ms)
(400 ns)
(800 ns)
× 1/fX
23 × 1/fX
(800 ns)
(1.6 µs)
23
× 1/fX
24
(1.6 µs)
× 1/fX
(3.2 µs)
2 × watch timer output cycle
218
× 1/fX
(52.4 ms)
219
× 1/fX
(104.9 ms)
216 × watch timer output cycle
22
2 × 1/fX
Watch timer output edge cycle
Remarks 1. fX: Main system clock oscillation frequency
2. MCS: Oscillation mode selection register (OSMS) bit 0
3. Values in parentheses when operated at fX = 5.0 MHz
(2) PWM output
TM0 can generate 14-bit resolution PWM output.
(3) Pulse width measurement
TM0 can measure the pulse width of an externally input signal.
(4) External event counter
TM0 can measure the number of pulses of an externally input signal.
177
CHAPTER 8
16-BIT TIMER/EVENT COUNTER
(5) Square-wave output
TM0 can output a square wave with any selected frequency.
Table 8-3. 16-Bit Timer/Event Counter Square-Wave Output Ranges
Minimum Pulse Width
MCS = 1
MCS = 0
Maximum Pulse Width
MCS = 1
2 × TI00 input cycle
216
× 1/fX
2 × 1/fX
22
(400 ns)
(800 ns)
22
× 1/fX
(800 ns)
23
× 1/fX
(1.6 µs)
216
—
(400 ns)
23
× 1/fX
(1.6 µs)
24
× 1/fX
(3.2 µs)
2 × watch timer output cycle
216
× 1/fX
(13.1 ms)
217
× 1/fX
(26.2 ms)
218
× 1/fX
(52.4 ms)
216
MCS = 1
× TI00 input cycle
2 × 1/fX
—
MCS = 0
Resolution
TI00 input edge cycle
× 1/fX
1/fX
—
(13.1 ms)
2 × 1/fX
(26.2 ms)
(200 ns)
(400 ns)
× 1/fX
2 × 1/fX
22 × 1/fX
(52.4 ms)
(400 ns)
(800 ns)
× 1/fX
23 × 1/fX
(800 ns)
(1.6 µs)
218
219
× 1/fX
(200 ns)
1/fX
217
× 1/fX
(104.9 ms)
× watch timer output cycle
22
Watch timer output edge cycle
Remarks 1. fX: Main system clock oscillation frequency
2. MCS: Oscillation mode selection register (OSMS) bit 0
3. Values in parentheses when operated at fX = 5.0 MHz
(6) One-shot pulse output
TM0 is able to output one-shot pulse which can set any width of output pulse.
178
MCS = 0
CHAPTER 8
16-BIT TIMER/EVENT COUNTER
8.3 16-Bit Timer/Event Counter Configuration
The 16-bit timer/event counter consists of the following hardware.
Table 8-4. 16-Bit Timer/Event Counter Configuration
Item
Configuration
Timer register
16 bits × 1 (TM0)
Register
Capture/compare register: 16 bits × 2 (CR00, CR01)
Timer output
1 (TO0)
Timer clock select register 0 (TCL0)
16-bit timer mode control register (TMC0)
Capture/compare control register 0 (CRC0)
Control register
16-bit timer output control register (TOC0)
Port mode register 3 (PM3)
External interrupt mode register 0 (INTM0)
Sampling clock select register (SCS)Note
Note
Refer to Figure 21-1. Basic Configuration of Interrupt Function.
Figure 8-1. 16-Bit Timer/Event Counter Block Diagram
Internal bus
Capture/Compare
Control Register 0
CRC02 CRC01 CRC00
Selector
INTP1
TI01/
P01/INTP1
16-Bit Capture/Compare
Control Register (CR00)
INTTM00
PWM Pulse
Output
Controller
Match
TI00/P00/
INTP0
Selector
INTTM3
2f XX
f XX
f XX/2
f XX/22
Note 2
16-Bit Timer/Event
Counter Output
Control Circuit
TMC01-TMC03
16-Bit Timer Register (TM0)
Clear
Clear Circuit
Note 1
TMC01-TMC03
Match
Timer Clock
Selection
Register 0
2
INTTM01
3
3
TCL06 TCL05 TCL04
TO0/P30
16-Bit Capture/Compare
Control Register (CR01)
INTP0
TMC03 TMC02 TMC01 OVF0
OSPT OSPETOC04 LVS0 LVR0 TOC01 TOE0
16-Bit Timer Mode
Control Register
CRC02
16-Bit Timer Output
Control Register
Internal Bus
Notes 1. Edge detection circuit
2. The configuration of the 16-bit timer/event counter output control circuit is shown in Figure 8-2.
179
CHAPTER 8
16-BIT TIMER/EVENT COUNTER
Figure 8-2. 16-Bit Timer/Event Counter Output Control Circuit Block Diagram
PWM Pulse
Output Control
Circuit
Level
Inversion
CRC00
INTTM00
Edge
Detection
Circuit
TI00/P00/
INTP0
Selector
Selector
CRC02
INTTM01
INV
S
One-Shot Pulse
Output Control
Circuit
Q
TO0/P30
R
3
2
ES11 ES10
External Interrupt
Mode Register 0
OSPT OSPE TOC04 LVS0 LVR0 TOC01 TOE0
16-Bit Timer Output
Control Register
TMC03 TMC02 TMC01
16-Bit Timer Mode
Control Register
Internal Bus
Remark
180
The circuitry enclosed by the dotted line is the output control circuit.
P30 Output
Latch
PM30
Port Mode
Register 3
CHAPTER 8
16-BIT TIMER/EVENT COUNTER
(1) Capture/compare register 00 (CR00)
CR00 is a 16-bit register which has the functions of both a capture register and a compare register. Whether
it is used as a capture register or as a compare register is set by bit 0 (CRC00) of capture/compare control
register 0 (CRC0).
When CR00 is used as a compare register, the value set in the CR00 is constantly compared with the 16bit timer register (TM0) count value, and an interrupt request (INTTM00) is generated if they match. It can
also be used as the register which holds the interval time when TM0 is set to interval timer operation, and
it can be used as the register which sets the pulse width when TM0 is set to PWM output operation.
When CR00 is used as a capture register, it is possible to select the valid edge of the INTP0/TI00 pin or the
INTP1/TI01 pin as the capture trigger. The INTP0/TI00 or INTP1/TI01 valid edge is set by means of external
interrupt mode register 0 (INTM0).
If CR00 is specified as a capture register and capture trigger is specified to be the valid edge of the INTP0/
TI00 pin, the situation is as shown in the following table.
Table 8-5. INTP0/TI00 Pin Valid Edge and CR00 Capture Trigger Valid Edge
ES11
ES10
INTP0/TI00 Pin Valid Edge
CR00 Capture Trigger Valid Edge
0
0
Falling edge
Rising edge
0
1
Rising edge
Falling edge
1
0
1
1
Setting prohibited
Both rising and falling edges
No capture operation
CR00 is set by a 16-bit memory manipulation instruction.
After RESET input, the value of CR00 is undefined.
Cautions 1. Set the data of PWM (14 bits) to the higher 14 bits of CR00. At this time, clear the lower
2 bits to 00.
2. Set a value other than 0000H to CR00. When the event counter function is used, therefore,
one pulse cannot be counted.
3. If the new value of CR00 is less than the value of the 16-bit timer register (TM0), TM0
continues counting, overflows, and then starts counting again from 0. If the new value
of CR00 is less than the old value, the timer must be restarted after changing the value
of CR00.
(2) Capture/compare register 01 (CR01)
CR01 is a 16-bit register which has the functions of both a capture register and a compare register. Whether
it is used as a capture register or a compare register is set by bit 2 (CRC02) of capture/compare control register
0.
When CR01 is used as a compare register, the value set in the CR01 is constantly compared with the 16bit timer register (TM0) count value, and an interrupt request (INTTM01) is generated if they match.
When CR01 is used as a capture register, it is possible to select the valid edge of the INTP0/TI00 pin as the
capture trigger. The INTP0/TI00 valid edge is set by means of external interrupt mode register 0 (INTM0).
CR01 is set with a 16-bit memory manipulation instruction.
After RESET input, the value of CR01 is undefined.
181
CHAPTER 8
16-BIT TIMER/EVENT COUNTER
Caution If the valid edge of the TIO0/P00 pin is input while CR01 is read, CR01 does not perform the
capture operation and retains the current data. However, the interrupt request flag (PIF0)
is set.
(3) 16-bit timer register (TM0)
TM0 is a 16-bit register which counts the count pulses.
TM0 is read by a 16-bit memory manipulation instruction. When TM0 is read, capture/compare register 01
(CR01) should first be set as a capture register.
RESET input sets TM0 to 0000H.
Caution As the value of TM0 is read via CR01, the value of CR01 previously set is lost.
8.4 16-Bit Timer/Event Counter Control Registers
The following seven types of registers are used to control the 16-bit timer/event counter.
• Timer clock select register 0 (TCL0)
• 16-bit timer mode control register (TMC0)
• Capture/compare control register 0 (CRC0)
• 16-bit timer output control register (TOC0)
• Port mode register 3 (PM3)
• External interrupt mode register 0 (INTM0)
• Sampling clock select register (SCS)
(1) Timer clock select register 0 (TCL0)
This register is used to set the count clock of the 16-bit timer register.
TCL0 is set with a 1-bit or 8-bit memory manipulation instruction.
RESET input sets TCL0 value to 00H.
Remark
TCL0 has the function of setting the PCL output clock in addition to that of setting the count clock
of the 16-bit timer register.
182
CHAPTER 8
16-BIT TIMER/EVENT COUNTER
Figure 8-3. Timer Clock Selection Register 0 Format
Symbol
<7>
6
5
4
3
2
1
0
Address
After Reset
R/W
FF40H
00H
R/W
TCL0 CLOE TCL06 TCL05 TCL04 TCL03 TCL02 TCL01 TCL00
PCL Output Clock Selection
TCL03 TCL02 TCL01 TCL00
MCS = 1
MCS = 0
0
0
0
0
fXT (32.768 kHz)
0
1
0
1
fXX
fX
(5.0 MHz)
fX/2
0
1
1
0
fXX/2
fX/2
(2.5 MHz)
fX/2
0
1
1
0
1
0
1
0
1
2
fXX/2
1
0
3
fXX/2
fX/2
4
4
fXX/2
1
1
fX/2
3
0
0
2
fX/2
5
0
5
fXX/2
1
fXX/2
1
1
0
0
fXX/2
fX/2
1
7
0
fX/2
1
Other than above
fX/2
6
(1.25 MHz)
(625 kHz)
(313 kHz)
(156 kHz)
(2.5 MHz)
2
(1.25 MHz)
3
(625 kHz)
4
(313 kHz)
5
(156 kHz)
6
(78.1 kHz)
7
(39.1 kHz)
8
(19.5 kHz)
fX/2
fX/2
fX/2
fX/2
6
(78.1 kHz)
fX/2
7
(39.1 kHz)
fX/2
Setting prohibited
16-Bit Timer Register Count Clock Selection
TCL06 TCL05 TCL04
MCS = 1
MCS = 0
0
0
0
TI00 (Valid edge specifiable)
0
0
1
2fXX
Setting prohibited
fX
0
1
0
fXX
fX
fX/2
0
1
1
fXX/2
(5.0 MHz)
fX/2
2
2
1
0
0
fXX/2
1
1
1
Watch timer output (INTTM 3)
Other than above
CLOE
fX/2
(2.5 MHz)
(1.25 MHz)
(5.0 MHz)
(2.5 MHz)
2
(1.25 MHz)
3
(625 kHz)
fX/2
fX/2
Setting prohibited
PCL Output Control
0
Output disabled
1
Output enabled
Cautions 1. The TI00/INTP0 pin valid edge is set by external interrupt mode register 0 (INTM0), and
the sampling clock frequency is selected by the sampling clock selection register
(SCS).
2. When enabling PCL output, set TCL00 to TCL03, then set 1 in CLOE with a 1-bit memory
manipulation instruction.
3. To read the count value when TI00 has been specified as the TM0 count clock, the value
should be read from TM0, not from 16-bit capture/compare register 01 (CR01).
4. When rewriting TCL0 to other data, stop the timer operation beforehand.
183
CHAPTER 8
Remarks 1. fXX
16-BIT TIMER/EVENT COUNTER
: Main system clock frequency (fX or fX/2)
2. fX
: Main system clock oscillation frequency
3. fXT
: Subsystem clock oscillation frequency
4. TI00 : 16-bit timer/event counter input pin
5. TM0 : 16-bit timer register
6. MCS : Bit 0 of oscillation mode selection register (OSMS)
7. Figures in parentheses apply to operation with fX = 5.0 MHz of fXT = 32.768 kHz.
(2) 16-bit timer mode control register (TMC0)
This register sets the 16-bit timer operating mode, the 16-bit timer register clear mode and output timing, and
detects an overflow.
TMC0 is set with a 1-bit or 8-bit memory manipulation instruction.
RESET input sets TMC0 value to 00H.
Caution The 16-bit timer register starts operation at the moment a value other than 0, 0, 0 (operation
stop mode) is set in TMC01 to TMC03, respectively. Set 0, 0, 0 in TMC01 to TMC03 to stop
the operation.
184
CHAPTER 8
16-BIT TIMER/EVENT COUNTER
Figure 8-4. 16-Bit Timer Mode Control Register Format
Symbol
7
6
5
4
TMC0
0
0
0
0
3
2
1
<0>
TMC03 TMC02 TMC01 OVF0
Address
After Reset
R/W
FF48H
00H
R/W
OVF0 16-Bit Timer Register Overflow Detection
0
Overflow not detected
1
Overflow detected
Operating Mode
Clear Mode Selection
TMC03 TMC02 TMC01
TO0 Output Timing Selection
0
0
0
Operation stop
(TM0 cleared to 0)
No change
0
0
1
PWM mode
(free running)
PWM pulse output
0
1
0
0
1
1
Match between TM0 and
CR00, match between
TM0 and CR01 or TI00
valid edge
1
0
0
Match between TM0 and
CR00 or match between
TM0 and CR01
Clear & start on TI00
valid edge
1
0
1
Match between TM0 and
CR00, match between
TM0 and CR01 or TI00
valid edge
1
1
0
Match between TM0 and
CR00 or match between
TM0 and CR01
Clear & start on match
between TM0 and CR00
1
Not Generated
Match between TM0 and
CR00 or match between
TM0 and CR01
Free running mode
1
Interrupt Generation
1
Remarks 1. TO0
Generated on match
between TM0 and CR00,
or match between TM0
and CR01
Match between TM0 and
CR00, match between
TM0 and CR01 or TI00
valid edge
: 16-bit timer/event counter output pin
2. TI00
: 16-bit timer/event counter input pin
3. TM0
: 16-bit timer register
4. CR00 : Compare register 00
5. CR01 : Compare register 01
Cautions 1. Switch the clear mode and the T00 output timing after stopping the timer operation
(by setting TMC01 to TMC03 to 0, 0, 0).
2. Set the valid edge of the TI00/INTP0 pin with an external interrupt mode register 0
(INTM0) and select the sampling clock frequency with a sampling clock select register
(SCS).
3. When using the PWM mode, set the PWM mode and then set data to CR00.
4. If clear & start mode on match between TM0 and CR00 is selected, when the set value
of CR00 is FFFFH and the TM0 value changes from FFFFH to 0000H, OVF0 flag is set
to 1.
185
CHAPTER 8
16-BIT TIMER/EVENT COUNTER
(3) Capture/compare control register 0 (CRC0)
This register controls the operation of the capture/compare registers (CR00, CR01).
CRC0 is set with a 1-bit or 8-bit memory manipulation instruction.
RESET input sets CRC0 value to 04H.
Figure 8-5. Capture/Compare Control Register 0 Format
Symbol
7
6
5
4
3
CRC0
0
0
0
0
0
2
1
0
CRC02 CRC01 CRC00
Address
After Reset
R/W
FF4CH
04H
R/W
CRC00 CR00 Operating Mode Selection
0
Operates as compare register
1
Operates as capture register
CRC01 CR00 Capture Trigger Selection
0
Captures on valid edge of TI01
1
Captures on valid edge of TI00
CRC02 CR01 Operating Mode Selection
0
Operates as compare register
1
Operates as capture register
Cautions 1. Timer operation must be stopped before setting CRC0.
2. When clear & start mode on a match between TM0 and CR00 is selected with the 16bit timer mode control register, CR00 should not be specified as a capture register.
(4) 16-bit timer output control register (TOC0)
This register controls the operation of the 16-bit timer/event counter output control circuit. It sets R-S type
flip-flop (LV0) setting/resetting, the active level in PWM mode, inversion enabling/disabling in modes other
than PWM mode, 16-bit timer/event counter timer output enabling/disabling, one-shot pulse output operation
enabling/disabling, and output trigger for a one-shop pulse by software.
TOC0 is set with a 1-bit or 8-bit memory manipulation instruction.
RESET input sets TOC0 value to 00H.
186
CHAPTER 8
16-BIT TIMER/EVENT COUNTER
Figure 8-6. 16-Bit Timer Output Control Register Format
Symbol
7
TOC0
0
<6>
<5>
4
<3>
<2>
1
<0>
OSPT OSPE TOC04 LVS0 LVR0 TOC01 TOE0
Address
After Reset
R/W
FF4EH
00H
R/W
TOE0 16-Bit Timer/Event Counter Output Control
0
Output disabled (Port mode)
1
Output enabled
In PWM Mode
In Other Modes
Active level selection
Timer output F/F control
by match of CR00 and
TM0
0
Active high
Inversion operation disabled
1
Active low
Inversion operation enabled
TOC01
LVS0 LVR0
16-Bit Timer/Event Counter Timer
Output F/F Status Setting
0
0
No change
0
1
Timer output F/F reset (0)
1
0
Timer output F/F set (1)
1
1
Setting prohibited
TOC04 Timer output F/F control by match of CR01 and TM0
0
Inversion operation disabled
1
Inversion operation enabled
OSPE One-Shot Pulse Output Control
0
Continuous pulse output
1
One-shot pulse output
OSPT Control of One-Shot Pulse Output Trigger by Software
0
One-shot pulse trigger not used
1
One -shot pulse trigger used
Cautions 1. Timer operation must be stopped before setting TOC0 (however, except OSPT).
2. If LVS0 and LVR0 are read after data is set, they will be 0.
3. OSPT is cleared automatically after data setting, and will therefore be 0 if read.
187
CHAPTER 8
16-BIT TIMER/EVENT COUNTER
(5) Port mode register 3 (PM3)
This register sets port 3 input/output in 1-bit units.
When using the P30/TO0 pin for timer output, set PM30 and output latch of P30 to 0.
PM3 is set with a 1-bit or 8-bit memory manipulation instruction.
RESET input sets PM3 value to FFH.
Figure 8-7. Port Mode Register 3 Format
Symbol
7
6
5
4
3
2
1
0
PM3 PM37 PM36 PM35 PM34 PM33 PM32 PM31 PM30
Address
After Reset
R/W
FF23H
FFH
R/W
PM3n P3n Pin Input/Output Mode Selection (n = 0 to 7)
188
0
Output mode (output buffer ON)
1
Input mode (output buffer OFF)
CHAPTER 8
16-BIT TIMER/EVENT COUNTER
(6) External interrupt mode register 0 (INTM0)
This register is used to set INTP0 to INTP2 valid edges.
INTM0 is set with an 8-bit memory manipulation instruction.
RESET input sets INTM0 value to 00H.
Figure 8-8. External Interrupt Mode Register 0 Format
Symbol
7
6
5
4
3
2
INTM0 ES31 ES30 ES21 ES20 ES11 ES10
1
0
Address
After Reset
R/W
0
0
FFECH
00H
R/W
ES11
ES10
INTP0 Valid Edge Selection
0
0
Falling edge
0
1
Rising edge
1
0
Setting prohibited
1
1
Both falling and rising edges
ES21
ES20
INTP1 Valid Edge Selection
0
0
Falling edge
0
1
Rising edge
1
0
Setting prohibited
1
1
Both falling and rising edges
ES31
ES30
INTP2 Valid Edge Selection
0
0
Falling edge
0
1
Rising edge
1
0
Setting prohibited
1
1
Both falling and rising edges
Caution Befoer setting the valid edge of the INTP0/TI00/P00 pin, stop the timer operation by clearing
the bits 1 through 3 (TMC01 through TMC03) of the 16-bit timer mode control register (TMC0)
to 0, 0, 0.
189
CHAPTER 8
16-BIT TIMER/EVENT COUNTER
(7) Sampling clock select registers (SCS)
This register sets clocks which undergo clock sampling of valid edges to be input to INTP0. When remote
controlled reception is carried out using INTP0, digital noise is removed with sampling clock.
SCS is set with an 8-bit memory manipulation instruction.
RESET input sets SCS value to 00H.
Figure 8-9. Sampling Clock Select Register Format
Symbol
7
6
5
4
3
2
SCS
0
0
0
0
0
0
1
0
SCS1 SCS0
Address
After Reset
R/W
FF47H
00H
R/W
INTP0 Sampling Clock Selection
SCS1 SCS0
MCS = 1
MCS = 0
N
0
0
fXX/2
0
1
fXX/2
1
0
fXX/2
1
1
fXX/2
7
fX/2 (39.1 kHz)
7
fX/2 (19.5 kHz)
5
fX/2 (156.3 kHz)
6
fX/2 (78.1 kHz)
8
5
fX/2 (78.1 kHz)
6
fX/2 (39.1 kHz)
6
7
Caution fXX/2N is the clock supplied to the CPU, and fXX/25, fXX/26, and fXX/27 are clocks supplied to
peripheral hardware. fXX/2N is stopped in HALT mode.
Remarks
1. N
: Value set in bits 0 to 2 (PCC0 to PCC2) of the processor clock control register (PCC)
2. fXX
: Main system clock frequency (fX or fX/2)
3. fX
: Main system clock oscillation frequency
(N = 0 to 4)
4. MCS : Bit 0 of oscillation mode selection register (OSMS)
5. Figures in parentheses apply to operation with fX = 5.0 MHz.
190
CHAPTER 8
16-BIT TIMER/EVENT COUNTER
8.5 16-Bit Timer/Event Counter Operations
8.5.1 Interval timer operations
Setting the 16-bit timer mode control register (TMC0) and capture/compare control register 0 (CRC0) as shown
in Figure 8-10 allows operation as an interval timer. Interrupt requests are generated repeatedly using the count value
set in 16-bit capture/compare register 00 (CR00) beforehand as the interval.
When the count value of the 16-bit timer register (TM0) matches the value set to CR00, counting continues with
the TM0 value cleared to 0 and the interrupt request signal (INTTM00) is generated.
Count clock of the 16-bit timer/event counter can be selected with bits 4 to 6 (TCL04 to TCL06) of the timer clock
select register 0 (TCL0).
For the operation when the value of the compare register is changed during the timer count operation, refer to
8.6 16-Bit Timer/Event Counter Precautions (3).
Figure 8-10. Control Register Settings for Interval Timer Operation
(a) 16-bit timer mode control register (TMC0)
TMC03 TMC02 TMC01 OVF0
TMC0
0
0
0
0
1
1
0/1
0
Clear & start on match TM0 and CR00
(b) Capture/compare control register 0 (CRC0)
CRC02 CRC01 CRC00
CRC0
0
0
0
0
0
0/1
0/1
0
CR00 set as compare register
Remark 0/1 : Setting 0 or 1 allows another function to be used simultaneously with the interval timer. See
the description of the respective control registers for details.
191
CHAPTER 8
16-BIT TIMER/EVENT COUNTER
Figure 8-11. Interval Timer Configuration Diagram
16-Bit Capture/Compare Register 00 (CR00)
INTTM00
INTTM3
fXX/2
2
Selector
2fXX
fXX
OVF0
16-Bit Timer Register (TM0)
fXX/2
TI00/P00/INTP0
Clear Circuit
Figure 8-12. Interval Timer Operation Timings
t
Count Clock
TM0 Count Value
0000
0001
Count Start
CR00
N
N
0000 0001
N
Clear
0000 0001
N
Clear
N
N
N
INTTM00
Interrupt Request Acknowledge
Interrupt Request Acknowledge
Interval Time
Interval Time
TO0
Interval Time
Remark
192
Interval time = (N + 1) × t : N = 0001H to FFFFH.
CHAPTER 8
16-BIT TIMER/EVENT COUNTER
Table 8-6. 16-Bit Timer/Event Counter Interval Times
Minimum Interval Time
Maximum Interval Time
Resolution
TCL06
TCL05
TCL04
0
0
0
0
0
1
Setting
prohibited
2 × 1/fX
(400 ns)
Setting
prohibited
216 × 1/fX
(13.1 ms)
Setting
prohibited
1/fX
(200 ns)
0
1
0
2 × 1/fX
(400 ns)
22 × 1/fX
(800 ns)
216 × 1/fX
(13.1 ms)
217 × 1/fX
(26.2 ms)
1/fX
(200 ns)
2 × 1/fX
(400 ns)
0
1
1
22 × 1/fX
(800 ns)
23 × 1/fX
(1.6 µs)
217 × 1/fX
(26.2 ms)
218 × 1/fX
(52.4 ms)
2 × 1/fX
(400 ns)
22 × 1/fX
(800 ns)
1
0
0
23 × 1/fX
(1.6 µs)
24 × 1/fX
(3.2 µs)
218 × 1/fX
(52.4 ms)
219 × 1/fX
(104.9 ms)
22 × 1/fX
(800 ns)
23 × 1/fX
(1.6 µs)
1
1
1
Other than above
MCS = 1
MCS = 0
MCS = 1
2 × TI00 input cycle
2 × watch timer output cycle
MCS = 0
MCS = 1
216 × TI00 input cycle
216 × watch timer output cycle
MCS = 0
TI00 input edge cycle
Watch timer output edge cycle
Setting prohibited
Remarks 1. fX
2. MCS
: Main system clock oscillation frequency
: Bit 0 of oscillation mode selection register (OSMS)
3. TCL04 to TCL06 : Bits 4 to 6 of timer clock select register 0 (TCL0)
4. Figures in parentheses apply to operation with fX = 5.0 MHz
8.5.2 PWM output operations
Setting the 16-bit timer mode control register (TMC0), capture/compare control register 0 (CRC0), and the 16-bit
timer output control register (TOC0) as shown in Figure 8-13 allows operation as PWM output. Pulses with the duty
rate determined by the value set in 16-bit capture/compare register 00 (CR00) beforehand are output from the TO0/
P30 pin.
Set the active level width of the PWM pulse to the high-order 14 bits of CR00. Select the active level with bit 1
(TOC01) of the 16- bit timer output control register (TOC0).
This PWM pulse has a 14-bit resolution. The pulse can be converted to an analog voltage by integrating it with
an external low-pass filter (LPF). The PWM pulse is formed by a combination of the basic cycle determined by 28/
Φ and the sub-cycle determined by 214/Φ so that the time constant of the external LPF can be shortened. Count clock
Φ can be selected with bits 4 to 6 (TCL04 to TCL06) of the timer clock select register 0 (TCL0).
PWM output enable/disable can be selected with bit 0 (TOE0) of TOC0.
Cautions 1. PWM operation mode should be selected before setting CR00.
2. Be sure to write 0 to bits 0 and 1 of CR00.
3. Do not select PWM operation mode for external clock input from the TI00/P00/INTP0 pin.
193
CHAPTER 8
16-BIT TIMER/EVENT COUNTER
Figure 8-13. Control Register Settings for PWM Output Operation
(a) 16-bit timer mode control register (TMC0)
TMC03 TMC02 TMC01 OVF0
TMC0
0
0
0
0
0
0
1
0
PWM mode
(b) Capture/compare control register 0 (CRC0)
CRC02 CRC01 CRC00
CRC0
0
0
0
0
0
0/1
0/1
0
CR00 set as compare register
(c) 16-bit timer output control register (TOC0)
OSPT OSPE TOC04 LVS0 LVR0 TOC01 TOE0
TOC0
0
×
×
×
×
×
0/1
1
TO0 Output Enabled
Specifies Active Level
Remark
0/1 : Setting 0 or 1 allows another function to be used simultaneously with PWM output.
See the description of the respective control registers for details.
×
194
: Don't care
CHAPTER 8
16-BIT TIMER/EVENT COUNTER
By integrating 14-bit resolution PWM pulses with an external low-pass filter, they can be converted to an analog
voltage and used for electronic tuning and D/A converter applications, etc.
The analog output voltage (VAN) used for D/A conversion with the configuration shown in Figure 8-14 is as follows.
VAN = VREF ×
capture/compare register 00 (CR00) value
216
VREF: External switching circuit reference voltage
Figure 8-14. Example of D/A Converter Configuration with PWM Output
µ PD78054, 78054Y
VREF
TO0/P30
PWM
signal
Switching Circuit
Low-Pass Filter
Analog Output (VAN)
Figure 8-15 shows an example in which PWM output is converted to an analog voltage and used in a voltage
synthesizer type TV tuner.
Figure 8-15. TV Tuner Application Circuit Example
+110 V
µ PD78054, 78054Y
22 kΩ
47 kΩ
47 kΩ
47 kΩ
100 pF
TO0/P30
8.2 kΩ
2SC
2352
0.22 µ F
µ PC574J
0.22 µ F
0.22 µ F
Electronic
Tuner
8.2 kΩ
VSS
GND
195
CHAPTER 8
16-BIT TIMER/EVENT COUNTER
8.5.3 PPG output operations
Setting the 16-bit timer mode control register (TMC0) and capture/compare control register 0 (CRC0) as shown
in Figure 8-16 allows operation as PPG (Programmable Pulse Generator) output.
In the PPG output operation, square waves are output from the TO0/P30 pin with the pulse width and the cycle
that correspond to the count values set beforehand in 16-bit capture/compare register 01 (CR01) and in 16-bit capture/
compare register 00 (CR00), respectively.
Figure 8-16. Control Register Settings for PPG Output Operation
(a) 16-bit timer mode control register (TMC0)
TMC03 TMC02 TMC01 OVF0
TMC0
0
0
0
0
1
1
0
0
Clear & start on match of TM0 and CR00
(b) Capture/compare control register 0 (CRC0)
CRC02 CRC01 CRC00
CRC0
0
0
0
0
0
0
x
0
CR00 set as compare register
CR01 set as compare register
(c) 16-bit timer output control register (TOC0)
OSPT OSPE TOC04 LVS0 LVR0 TOC01 TOE0
TOC0
0
0
0
1
0/1
0/1
1
1
TO0 Output Enabled
Inversion of output on match of TM0 and CR00
Specified TO0 output F/F initial value
Inversion of output on match of TM0 and CR01
One-shot pulse output disabled
Caution
Values in the following range should be set in CR00 and CR01:
0000H ≤ CR01 < CR00 ≤ FFFFH
Remark
196
× : Don't care
CHAPTER 8
16-BIT TIMER/EVENT COUNTER
8.5.4 Pulse width measurement operations
It is possible to measure the pulse width of the signals input to the TI00/P00 pin and TI01/P01 pin using the
16-bit timer register (TM0).
There are two measurement methods: measuring with TM0 used in free-running mode, and measuring by
restarting the timer in synchronization with the edge of the signal input to the TI00/P00 pin.
(1) Pulse width measurement with free-running counter and one capture register
When the 16-bit timer register (TM0) is operated in free-running mode (see register settings in Figure 8-17),
and the edge specified by external interrupt mode register 0 (INTM0) is input to the TI00/P00 pin, the value
of TM0 is taken into 16-bit capture/compare register 01 (CR01) and an external interrupt request signal (INTP0)
is set.
Any of three edge specifications can be selected—rising, falling, or both edges—by means of bits 2 and 3
(ES10 and ES11) of INTM0.
For valid edge detection, sampling is performed at the interval selected by means of the sampling clock
selection register (SCS), and a capture operation is only performed when a valid level is detected twice, thus
eliminating noise with a short pulse width.
Figure 8-17. Control Register Settings for Pulse Width Measurement with
Free-Running Counter and One Capture Register
(a) 16-bit timer mode control register (TMC0)
TMC03 TMC02 TMC01 OVF0
TMC0
0
0
0
0
0
1
0/1
0
Free-Running Mode
(b) Capture/compare control register 0 (CRC0)
CRC02 CRC01 CRC00
CRC0
0
0
0
0
0
1
0/1
0
CR00 set as compare register
CR01 set as capture register
Remark
0/1: Setting 0 or 1 allows another function to be used simultaneously with pulse width
measurement. See the description of the respective control registers for details.
197
CHAPTER 8
16-BIT TIMER/EVENT COUNTER
Figure 8-18. Configuration Diagram for Pulse Width Measurement by Free-Running Counter
INTTM3
Selector
2fXX
fXX
fXX/2
fXX/2
16-Bit Timer Register (TM0)
OVF0
2
16-Bit Capture/Compare
Register 01 (CR01)
TI00/P00/INTP00
INTP0
Internal Bus
Figure 8-19. Timing of Pulse Width Measurement Operation by Free-Running Counter
and One Capture Register (with Both Edges Specified)
t
Count Clock
TM0 Count Value
0000
0001
D0
D1
FFFF 0000
D2
D3
TI00 Pin Input
CR01 Captured Value
D0
D1
D2
INTP0
OVF0
(D1 – D0) × t
198
(10000H – D1 + D2) × t
(D3 – D2) × t
D3
CHAPTER 8
16-BIT TIMER/EVENT COUNTER
(2) Measurement of two pulse widths with free-running counter
When the 16-bit timer register (TM0) is operated in free-running mode (see register settings in Figure 8-20),
it is possible to simultaneously measure the pulse widths of the two signals input to the TI00/P00 pin and the
TI01/P01 pin.
When the edge specified by bits 2 and 3 (ES10 and ES11) of external interrupt mode register 0 (INTM0) is
input to the TI00/P00 pin, the value of TM0 is taken into 16-bit capture/compare register 01 (CR01) and an
external interrupt request signal (INTP0) is set.
Also, when the edge specified by bits 4 and 5 (ES20 and ES21) of INTM0 is input to the TI01/P01 pin, the
value of TM0 is taken into 16-bit capture/compare register 00 (CR00) and an external interrupt request signal
(INTP1) is set.
Any of three edge specifications can be selected—rising, falling, or both edges—as the valid edges for the
TI00/P00 pin and the TI01/P01 pin by means of bits 2 and 3 (ES10 and ES11) and bits 4 and 5 (ES20 and
ES21) of INTM0, respectively.
For TI00/P00 pin valid edge detection, sampling is performed at the interval selected by means of the sampling
clock selection register (SCS), and a capture operation is only performed when a valid level is detected twice,
thus eliminating noise with a short pulse width.
Figure 8-20. Control Register Settings for Two Pulse Width Measurements with Free-Running Counter
(a) 16-bit timer mode control register (TMC0)
TMC03 TMC02 TMC01 OVF0
TMC0
0
0
0
0
0
1
0/1
0
Free-Running Mode
(b) Capture/compare control register 0 (CRC0)
CRC02 CRC01 CRC00
CRC0
0
0
0
0
0
1
1
1
CR00 set as capture register
Captured in CR00 on invalid edge of
TI00/P00 Pin
CR01 set as capture register
Remark
0/1: Setting 0 or 1 allows another function to be used simultaneously with pulse width
measurement. See the description of the respective control registers for details.
199
CHAPTER 8
16-BIT TIMER/EVENT COUNTER
Figure 8-21. Timing of Pulse Width Measurement Operation with
Free-Running Counter (with Both Edges Specified)
t
Count Clock
TM0 Count Value
0000 0001
D0
D1
FFFF 0000
D2
D3
TI00 Pin Input
CR01 Captured Value
D0
D1
D2
INTP0
TI01 Pin Input
CR00 Captured Value
D1
INTP1
OVF0
(D1 – D0) × t
(10000H – D1 + D2) × t
(D3 – D2) × t
(10000H – D1 + (D2 + 1)) × t
200
D3
CHAPTER 8
16-BIT TIMER/EVENT COUNTER
(3) Pulse width measurement with free-running counter and two capture registers
When the 16-bit timer register (TM0) is operated in free-running mode (see register settings in Figure 8-22),
it is possible to measure the pulse width of the signal input to the TI00/P00 pin.
When the edge specified by bits 2 and 3 (ES10 and ES11) of external interrupt mode register 0 (INTM0) is
input to the TI00/P00 pin, the value of TM0 is taken into 16-bit capture/compare register 01 (CR01) and an
external interrupt request signal (INTP0) is set.
Also, on the inverse edge input of that of the capture operation into CR01, the value of TM0 is taken into 16bit capture/compare register 00 (CR00).
Either of two edge specifications can be selected—rising or falling—as the valid edges for the TI00/P00 pin
by means of bits 2 and 3 (ES10 and ES11) of INTM0.
For TI00/P00 pin valid edge detection, sampling is performed at the interval selected by means of the sampling
clock selection register (SCS), and a capture operation is only performed when a valid level is detected twice,
thus eliminating noise with a short pulse width.
Caution If the valid edge of TI00/P00 is specified to be both rising and falling edge, capture/compare
register 00 (CR00) cannot perform the capture operation.
Figure 8-22. Control Register Settings for Pulse Width Measurement with
Free-Running Counter and Two Capture Registers
(a) 16-bit timer mode control register (TMC0)
TMC03 TMC02 TMC01 OVF0
TMC0
0
0
0
0
0
1
0/1
0
Free-Running Mode
(b) Capture/compare control register 0 (CRC0)
CRC02 CRC01 CRC00
CRC0
0
0
0
0
0
1
1
1
CR00 set as capture register
Captured in CR00 on invalid edge of
TI00/P00 Pin
CR01 set as capture register
Remark
0/1: Setting 0 or 1 allows another function to be used simultaneously with pulse width
measurement. See the description of the respective control registers for details.
201
CHAPTER 8
16-BIT TIMER/EVENT COUNTER
Figure 8-23. Timing of Pulse Width Measurement Operation by Free-Running
Counter and Two Capture Registers (with Rising Edge Specified)
t
Count Clock
TM0 Count Value
0000
0001
D0
D1
FFFF 0000
D2
D3
TI00 Pin Input
CR01 Captured Value
D0
CR00 Captured Value
D2
D1
D3
INTP0
OVF0
(D1-D0) × t
202
(10000H-D1 + D2) × t
(D3-D2) × t
CHAPTER 8
16-BIT TIMER/EVENT COUNTER
(4) Pulse width measurement by means of restart
When input of a valid edge to the TI00/P00 pin is detected, the count value of the 16-bit timer register (TM0)
is taken into 16-bit capture/compare register 01 (CR01), and then the pulse width of the signal input to the
TI00/P00 pin is measured by clearing TM0 and restarting the count (see register settings in Figure 8-24).
The edge specification can be selected from two types, rising and falling edges by external interrupt mode
register 0 (INTM0) bits 2 and 3 (ES10 and ES11).
In a valid edge detection, the sampling is performed by a cycle selected by the sampling clock selection register
(SCS), and a capture operation is only performed when a valid level is detected twice, thus eliminating noise
with a short pulse width.
Caution If the valid edge of TI00/P00 is specified to be both rising and falling edge, the 16-bit capture/
compare register 00 (CR00) cannot perform the capture operation.
Figure 8-24. Control Register Settings for Pulse Width Measurement by Means of Restart
(a) 16-bit timer mode control register (TMC0)
TMC03 TMC02 TMC01 OVF0
TMC0
0
0
0
0
1
0
0/1
0
Clear & start with valid edge of TI00/P00 pin
(b) Capture/compare control register 0 (CRC0)
CRC02 CRC01 CRC00
CRC0
0
0
0
0
0
1
1
1
CR00 set as capture register
Captured in CR00 on invalid
edge of TI00/P00 Pin
CR01 set as capture register
Remark
0/1: Setting 0 or 1 allows another function to be used simultaneously with pulse width
measurement. See the description of the respective control registers for details.
Figure 8-25. Timing of Pulse Width Measurement Operation by
Means of Restart (with Rising Edge Specified)
t
Count Clock
TM0 Count Value
0000
0001
D0
0000
0001
D1
D2
0000
0001
TI00 Pin Input
CR01 Captured Value
D0
CR00 Captured Value
D2
D1
INTP0
D1 × t
D2 × t
203
CHAPTER 8
16-BIT TIMER/EVENT COUNTER
8.5.5 External event counter operation
The external event counter counts the number of external clock pulses to be input to the TI00/P00 pin with the
16-bit timer register (TM0).
TM0 is incremented each time the valid edge specified with the external interrupt mode register 0 (INTM0) is input.
When the TM0 counted value matches the 16-bit capture/compare register 00 (CR00) value, TM0 is cleared to
0 and the interrupt request signal (INTTM00) is generated.
Set the value other than 0000H to CR00 (1-pulse count operation cannot be performed).
The rising edge, the falling edge or both edges can be selected with bits 2 and 3 (ES10 and ES11) of INTM0.
Because operation is carried out only after the valid edge is detected twice by sampling at the interval selected
with the sampling clock select register (SCS), noise with short pulse widths can be removed.
Figure 8-26. Control Register Settings in External Event Counter Mode
(a) 16-bit timer mode control register (TMC0)
TMC03 TMC02 TMC01 OVF0
TMC0
0
0
0
0
1
1
0/1
0
Clear & start with match of TM0 and CR00
(b) Capture/compare control register 0 (CRC0)
CRC02 CRC01 CRC00
CRC0
0
0
0
0
0
0/1
0/1
0
CR00 set as compare register
Remark
0/1: Setting 0 or 1 allows another function to be used simultaneously with the external event
counter. See the description of the respective control registers for details.
204
CHAPTER 8
16-BIT TIMER/EVENT COUNTER
Figure 8-27. External Event Counter Configuration Diagram
16-Bit Capture/Compare
Register 00 (CR00)
INTTM00
Clear
OVF0
16-Bit Timer Register (TM0)
TI00 Valid Edge
INTP0
16-Bit Capture/Compare
Register 01 (CR01)
Internal Bus
Figure 8-28. External Event Counter Operation Timings (with Rising Edge Specified)
TI00 Pin Input
TM0 Count Value
CR00
0000
0001 0002 0003
0004
0005
N-1
N
0000 0001 0002 0003
N
INTTM0
Caution When reading the external event counter count value, TM0 should be read.
205
CHAPTER 8
16-BIT TIMER/EVENT COUNTER
8.5.6 Square-wave output operation
Operates as square wave output with any selected frequency at intervals of the count value preset to the 16-bit
capture/compare register 00 (CR00).
The TO0/P30 pin output status is reversed at intervals of the count value preset to CR00 by setting bit 0 (TOE0)
and bit 1 (TOC01) of the 16-bit timer output control register (TOC0) to 1. This enables a square wave with any selected
frequency to be output.
Figure 8-29. Control Register Settings in Square-Wave Output Mode
(a) 16-bit timer mode control register (TMC0)
TMC03 TMC02 TMC01 OVF0
TMC0
0
0
0
0
1
1
0/1
0
Clear & start on match of TM0 and CR00
(b) Capture/compare control register 0 (CRC0)
CRC02 CRC01 CRC00
CRC0
0
0
0
0
0
0/1
0/1
0
CR00 set as compare register
(c) 16-bit timer output control register (TOC0)
OSPT OSPE TOC04 LVS0
TOC0
0
0
0
0
0/1
LVR0 TOC01 TOE0
0/1
1
1
TO0 Output Enabled
Inversion of output on match of TM0 and CR00
Specified TO0 output F/F initial value
No inversion of output on match of TM0 and CR01
One-shot pulse output disabled
Remark
0/1: Setting 0 or 1 allows another function to be used simultaneously with square-wave output.
See the description of the respective control registers for details.
206
CHAPTER 8
16-BIT TIMER/EVENT COUNTER
Figure 8-30. Square-Wave Output Operation Timing
Count Clock
TM0 Count Value
0000
0001
CR00
0002
N-1
N
0000
0001
0002
N-1
N
0000
N
INTTM0
TO0 Pin Output
Table 8-7. 16-Bit Timer/Event Count Square-Wave Output Ranges
Minimum Pulse Width
MCS = 1
MCS = 0
2 × TI00 input cycle
Maximum Pulse Width
MCS = 1
216 × TI00 input cycle
2 × 1/fX
—
MCS = 0
Resolution
MCS = 1
TI00 input edge cycle
216 × 1/fX
—
(400 ns)
MCS = 0
1/fX
—
(13.1 ms)
(200 ns)
2 × 1/fX
22 × 1/fX
216 × 1/fX
217 × 1/fX
1/fX
2 × 1/fX
(400 ns)
(800 ns)
(13.1 ms)
(26.2 ms)
(200 ns)
(400 ns)
22 × 1/fX
23 × 1/fX
217 × 1/fX
218 × 1/fX
2 × 1/fX
22 × 1/fX
(800 ns)
(1.6 µs)
(26.2 ms)
(52.4 ms)
(400 ns)
(800 ns)
23 × 1/fX
24 × 1/fX
218 × 1/fX
219 × 1/fX
22 × 1/fX
23 × 1/fX
(1.6 µs)
(3.2 µs)
(52.4 ms)
(104.9 ms)
(800 ns)
(1.6 µs)
2 × watch timer output cycle
Remarks 1. fX
216 × watch timer output cycle
Watch timer output edge cycle
: Main system clock oscillation frequency
2. MCS : Oscillation mode selection register (OSMS) bit 0
3. Values in parentheses when operated at fX = 5.0 MHz
207
CHAPTER 8
16-BIT TIMER/EVENT COUNTER
8.5.7 One-shot pulse output operation
It is possible to output one-shot pulses synchronized with a software trigger or an external trigger (TI00/P00 pin
input).
(1) One-shot pulse output using software trigger
If the 16-bit timer mode control register (TMC0), capture/compare control register 0 (CRC0), and the 16-bit
timer output control register (TOC0) are set as shown in Figure 8-31, and 1 is set in bit 6 (OSPT) of TOC0
by software, a one-shot pulse is output from the TO0/P30 pin.
By setting 1 in OSPT, the 16-bit timer/event counter is cleared and started, and output is activated by the count
value set beforehand in 16-bit capture/compare register 01 (CR01). Thereafter, output is inactivated by the
count value set beforehand in 16-bit capture/compare register 00 (CR00).
TM0 continues to operate after one-shot pulse is output. To stop TM0, 00H must be set to TMC0.
Caution When outputting one-shot pulse, do not set 1 in OSPT. When outputting one-shot pulse
again, set OSPT to 1 after the INTTM00, or interrupt match signal with CR00, is generated.
Figure 8-31. Control Register Settings for One-Shot Pulse Output Operation Using Software Trigger
(a) 16-bit timer mode control register (TMC0)
TMC03 TMC02 TMC01 OVF0
TMC0
0
0
0
0
1
1
0
0
Clear & start with match of TM0 and CR00
(b) Capture/compare control register 0 (CRC0)
CRC02 CRC01 CRC00
CRC0
0
0
0
0
0
0
0/1
0
CR00 set as compare register
CR01 set as compare register
(c) 16-bit timer output control register (TOC0)
OSPT OSPE TOC04 LVS0
TOC0
0
0
1
1
0/1
LVR0 TOC01 TOE0
0/1
1
1
TO0 Output Enabled
Inversion of output on match of TM0 and CR00
Specified TO0 output F/F initial value
Inversion of output on match of TM0 and CR01
One-shot pulse output mode
Set 1 in case of output
Remark
0/1: Setting 0 or 1 allows another function to be used simultaneously with one-shot pulse output.
See the description of the respective control registers for details.
Caution Values in the following range should be set in CR00 and CR01.
0000H ≤ CR01 < CR00 ≤ FFFFH
208
CHAPTER 8
16-BIT TIMER/EVENT COUNTER
Figure 8-32. Timing of One-Shot Pulse Output Operation Using Software Trigger
Set 0CH to TMC0
(TM0 count start)
Count Clock
TM0 Count Value
0000
0001
N
N+1
0000
N-1
N
M-1
M
0000 0001 0002
CR01 Set Value
N
N
N
N
CR00 Set Value
M
M
M
M
OSPT
INTTM01
INTTM00
TO0 Pin Output
Caution The 16-bit timer register starts operation at the moment a value other than 0, 0, 0 (operation
stop mode) is set to TMC01 to TMC03, respectively.
209
CHAPTER 8
16-BIT TIMER/EVENT COUNTER
(2) One-shot pulse output using external trigger
If the 16-bit timer mode control register (TMC0), capture/compare control register 0 (CRC0), and the 16-bit
timer output control register (TOC0) are set as shown in Figure 8-33, a one-shot pulse is output from the TO0/
P30 pin with a TI00/P00 valid edge as an external trigger.
Any of three edge specifications can be selected—rising, falling, or both edges — as the valid edges for the
TI00/P00 pin by means of bits 2 and 3 (ES10 and ES11) of external interrupt mode register 0 (INTM0).
When a valid edge is input to the TI00/P00 pin, the 16-bit timer/event counter is cleared and started, and output
is activated by the count values set beforehand in 16-bit capture/compare register 01 (CR01). Thereafter,
output is inactivated by the count value set beforehand in 16-bit capture/compare register 00 (CR00).
Caution When outputting one-shot pulses, external trigger is ignored if generated again.
Figure 8-33. Control Register Settings for One-Shot Pulse Output Operation Using External Trigger
(a) 16-bit timer mode control register (TMC0)
TMC03 TMC02 TMC01 OVF0
TMC0
0
0
0
0
1
0
0
0
Clear & start with valid edge of TI00/P00 pin
(b) Capture/compare control register 0 (CRC0)
CRC02 CRC01 CRC00
CRC0
0
0
0
0
0
0
0/1
0
CR00 set as compare register
CR01 set as compare register
(c) 16-bit timer output control register (TOC0)
OSPT OSPE TOC04 LVS0 LVR0 TOC01 TOE0
TOC0
0
0
1
1
0/1
0/1
1
1
TO0 Output Enabled
Inversion of output on match of TM0 and CR00
Specified TO0 output F/F initial value
Inversion of output on match of TM0 and CR01
One-shot pulse output mode
Remark
0/1: Setting 0 or 1 allows another function to be used simultaneously with one-shot pulse output.
See the description of the respective control registers for details.
Caution Values in the following range should be set in CR00 and CR01.
0000H ≤ CR01 < CR00 ≤ FFFFH
210
CHAPTER 8
16-BIT TIMER/EVENT COUNTER
Figure 8-34. Timing of One-Shot Pulse Output Operation Using
External Trigger (With Rising Edge Specified)
Set 08H to TMC0
(TM0 count start)
Count Clock
TM0 Count Value
0000
0001
0000
N
N+1
N+2
M–2
M–1
M
M+1
CR01 Set Value
N
N
N
N
CR00 Set Value
M
M
M
M
M+2
M+3
TI00 Pin Input
INTTM01
INTTM00
TO0 Pin Output
Caution The 16-bit timer register starts operation at the moment a value other than 0, 0, 0 (operation
stop mode) is set to TMC01 to TMC03, respectively.
211
CHAPTER 8
16-BIT TIMER/EVENT COUNTER
8.6 16-Bit Timer/Event Counter Operating Precautions
(1) Timer start errors
An error with a maximum of one clock may occur concerning the time required for a match signal to be
generated after timer start. This is because the 16-bit timer register (TM0) starts asynchronously with the count
pulse.
Figure 8-35. 16-Bit Timer Register Start Timing
Count Pulse
TM0 Count Value
0000H
0001H
0002H
0003H
0004H
Timer Start
(2) 16-bit compare register setting
Set a value other than 0000H to the 16-bit capture/compare register 00 (CR00).
Thus, when using the 16-bit capture/compare register as event counter, one-pulse count operation cannot
be carried out.
(3) Operation after compare register change during timer count operation
If the value after the 16-bit capture/compare register (CR00) is changed is smaller than that of the 16-bit timer
register (TM0), TM0 continues counting, overflows and then restarts counting from 0. Thus, if the value (M)
after CR00 change is smaller than that (N) before change, it is necessary to restart the timer after changing
CR00.
Figure 8-36. Timings After Change of Compare Register During Timer Count Operation
Count Pulse
CR00
TM0 Count Value
Remark
212
M
N
X-1
N>X>M
X
FFFFH
0000H
0001H
0002H
CHAPTER 8
16-BIT TIMER/EVENT COUNTER
(4) Capture register data retention timings
If the valid edge of the TI00/P00 pin is input during 16-bit capture/compare register 01 (CR01) read, CR01
holds data without carrying out capture operation. However, the interrupt request flag (PIF0) is set upon
detection of the valid edge.
Figure 8-37. Capture Register Data Retention Timing
Count Pulse
TM0 Count Value
N
N+1
N+2
M
M+1
M+2
Edge Input
Interrupt
Request Flag
Capture Read Signal
CR01 Captured Value
X
N+1
Capture Operation
Ignored
(5) Valid edge setting
Set the valid edge of the TI00/P00/INTP0 pin after setting bits 1 to 3 (TMC01 to TMC03) of the 16-bit timer
mode control register (TMC0) to 0, 0 and 0, respectively, and then stopping timer operation. Valid edge is
set with bits 2 and 3 (ES10 and ES11) of the external interrupt mode register 0 (INTM0).
(6) Re-trigger of one-shot pulse
(a) One-shot pulse output using software
When outputting one-shot pulse, do not set 1 in OSPT. When outputting one-shot pulse again, set OSPT
to 1 after the INTTM00, or interrupt match signal with CR00, is generated.
(b) One-shot pulse output using external trigger
When outputting one-shot pulses, external trigger is ignored if generated again.
213
CHAPTER 8
16-BIT TIMER/EVENT COUNTER
(7) Operation of OVF0 flag
OFV0 flag is set to 1 in the following case.
The clear & start mode on match between TM0 and CR00 is selected.
↓
CR00 is set to FFFFH.
↓
When TM0 is counted up from FFFFH to 0000H.
Figure 8-38. Operation Timing of OVF0 Flag
Count Pulse
CR00
FFFFH
TM0
FFFEH
OVF0
INTTM00
214
FFFFH
0000H
0001H
CHAPTER 9 8-BIT TIMER/EVENT COUNTERS 1 AND 2
9.1 8-Bit Timer/Event Counters 1 and 2 Functions
For the 8-bit timer/event counters 1 and 2, two modes are available. One is a mode for two-channel 8-bit timer/
event counters to be used separately (the 8-bit timer/event counter mode) and the other is a mode for the 8-bit timer/
event counter to be used as 16-bit timer/event counter (the 16-bit timer/event counter mode).
9.1.1 8-bit timer/event counter mode
The 8-bit timer/event counters 1 and 2 (TM1 and TM2) have the following functions.
• Interval timer
• External event counter
• Square-wave output
215
CHAPTER 9
8-BIT TIMER/EVENT COUNTERS 1 AND 2
(1) 8-bit interval timer
Interrupt requests are generated at the preset time intervals.
Table 9-1. 8-Bit Timer/Event Counters 1 and 2 Interval Times
Minimum Interval Time
Maximum Interval Time
MCS = 1
MCS = 0
MCS = 1
MCS = 0
MCS = 1
MCS = 0
2 × 1/fX
22 × 1/fX
29 × 1/fX
210 × 1/fX
2 × 1/fX
22 × 1/fX
(400 ns)
(800 ns)
(102.4 µs)
(204.8 µs)
(400 ns)
(800 ns)
22 × 1/fX
23 × 1/fX
210 × 1/fX
211 × 1/fX
22 × 1/fX
23 × 1/fX
(800 ns)
(1.6 µs)
(204.8 µs)
(409.6 µs)
(800 ns)
(1.6 µs)
23 × 1/fX
24 × 1/fX
211 × 1/fX
212 × 1/fX
23 × 1/fX
24 × 1/fX
(1.6 µs)
(3.2 µs)
(409.6 µs)
(819.2 µs)
(1.6 µs)
(3.2 µs)
24 × 1/fX
25 × 1/fX
212 × 1/fX
213 × 1/fX
24 × 1/fX
25 × 1/fX
(3.2 µs)
(6.4 µs)
(819.2 µs)
(1.64 ms)
(3.2 µs)
(6.4 µs)
25 × 1/fX
26 × 1/fX
213 × 1/fX
214 × 1/fX
25 × 1/fX
26 × 1/fX
(6.4 µs)
(12.8 µs)
(1.64 ms)
(3.28 ms)
(6.4 µs)
(12.8 µs)
26 × 1/fX
27 × 1/fX
214 × 1/fX
215 × 1/fX
26 × 1/fX
27 × 1/fX
(12.8 µs)
(25.6 µs)
(3.28 ms)
(6.55 ms)
(12.8 µs)
(25.6 µs)
27 × 1/fX
28 × 1/fX
215 × 1/fX
216 × 1/fX
27 × 1/fX
28 × 1/fX
(25.6 µs)
(51.2 µs)
(6.55 ms)
(13.1 ms)
(25.6 µs)
(51.2 µs)
28 × 1/fX
29 × 1/fX
216 × 1/fX
217 × 1/fX
28 × 1/fX
29 × 1/fX
(51.2 µs)
(102.4 µs)
(13.1 ms)
(26.2 ms)
(51.2 µs)
(102.4 µs)
29 × 1/fX
210 × 1/fX
217 × 1/fX
218 × 1/fX
29 × 1/fX
210 × 1/fX
(102.4 µs)
(204.8 µs)
(26.2 ms)
(52.4 ms)
(102.4 µs)
(204.8 µs)
211 × 1/fX
212 × 1/fX
219 × 1/fX
220 × 1/fX
211 × 1/fX
212 × 1/fX
(409.6 µs)
(819.2 µs)
(104.9 ms)
(209.7 ms)
(409.6 µs)
(819.2 µs)
Remarks 1. fX
: Main system clock oscillation frequency
2. MCS : Oscillation mode selection register (OSMS) bit 0
3. Values in parentheses when operated at fX = 5.0 MHz.
216
Resolution
CHAPTER 9
8-BIT TIMER/EVENT COUNTERS 1 AND 2
(2) External event counter
The number of pulses of an externally input signal can be measured.
(3) Square-wave output
A square wave with any selected frequency can be output.
Table 9-2. 8-Bit Timer/Event Counters 1 and 2 Square-Wave Output Ranges
Minimum Pulse Width
Maximum Pulse Width
Resolution
MCS = 1
MCS = 0
MCS = 1
MCS = 0
MCS = 1
MCS = 0
2 × 1/fX
22 × 1/fX
29 × 1/fX
210 × 1/fX
2 × 1/fX
22 × 1/fX
(400 ns)
(800 ns)
(102.4 µs)
(204.8 µs)
(400 ns)
(800 ns)
22 × 1/fX
23 × 1/fX
210 × 1/fX
211 × 1/fX
22 × 1/fX
23 × 1/fX
(800 ns)
(1.6 µs)
(204.8 µs)
(409.6 µs)
(800 ns)
(1.6 µs)
23 × 1/fX
24 × 1/fX
211 × 1/fX
212 × 1/fX
23 × 1/fX
24 × 1/fX
(1.6 µs)
(3.2 µs)
(409.6 µs)
(819.2 µs)
(1.6 µs)
(3.2 µs)
24 × 1/fX
25 × 1/fX
212 × 1/fX
213 × 1/fX
24 × 1/fX
25 × 1/fX
(3.2 µs)
(6.4 µs)
(819.2 µs)
(1.64 ms)
(3.2 µs)
(6.4 µs)
25 × 1/fX
26 × 1/fX
213 × 1/fX
214 × 1/fX
25 × 1/fX
26 × 1/fX
(6.4 µs)
(12.8 µs)
(1.64 ms)
(3.28 ms)
(6.4 µs)
(12.8 µs)
26 × 1/fX
27 × 1/fX
214 × 1/fX
215 × 1/fX
26 × 1/fX
27 × 1/fX
(12.8 µs)
(25.6 µs)
(3.28 ms)
(6.55 ms)
(12.8 µs)
(25.6 µs)
27 × 1/fX
28 × 1/fX
215 × 1/fX
216 × 1/fX
27 × 1/fX
28 × 1/fX
(25.6 µs)
(51.2 µs)
(6.55 ms)
(13.1 ms)
(25.6 µs)
(51.2 µs)
28 × 1/fX
29 × 1/fX
216 × 1/fX
217 × 1/fX
28 × 1/fX
29 × 1/fX
(51.2 µs)
(102.4 µs)
(13.1 ms)
(26.2 ms)
(51.2 µs)
(102.4 µs)
29 × 1/fX
210 × 1/fX
217 × 1/fX
218 × 1/fX
29 × 1/fX
210 × 1/fX
(102.4 µs)
(204.8 µs)
(26.2 ms)
(52.4 ms)
(102.4 µs)
(204.8 µs)
211 × 1/fX
212 × 1/fX
219 × 1/fX
220 × 1/fX
211 × 1/fX
212 × 1/fX
(409.6 µs)
(819.2 µs)
(104.9 ms)
(209.7 ms)
(409.6 µs)
(819.2 µs)
Remarks 1. fX
: Main system clock oscillation frequency
2. MCS : Oscillation mode selection register (OSMS) bit 0
3. Values in parentheses when operated at fX = 5.0 MHz.
217
CHAPTER 9
8-BIT TIMER/EVENT COUNTERS 1 AND 2
9.1.2 16-bit timer/event counter mode
(1) 16-bit interval timer
Interrupt requests can be generated at the preset time intervals.
Table 9-3. Interval Times when 8-Bit Timer/Event Counters 1 and 2
are Used as 16-Bit Timer/Event Counters
Minimum Interval Time
Maximum Interval Time
MCS = 1
MCS = 0
MCS = 1
MCS = 0
MCS = 1
MCS = 0
2 × 1/fX
22 × 1/fX
217 × 1/fX
218 × 1/fX
2 × 1/fX
22 × 1/fX
(400 ns)
(800 ns)
(26.2 ms)
(52.4 ms)
(400 ns)
(800 ns)
22 × 1/fX
23 × 1/fX
218 × 1/fX
219 × 1/fX
22 × 1/fX
23 × 1/fX
(800 ns)
(1.6 µs)
(52.4 ms)
(104.9 ms)
(800 ns)
(1.6 µs)
23 × 1/fX
24 × 1/fX
219 × 1/fX
220 × 1/fX
23 × 1/fX
24 × 1/fX
(1.6 µs)
(3.2 µs)
(104.9 ms)
(209.7 ms)
(1.6 µs)
(3.2 µs)
24 × 1/fX
25 × 1/fX
220 × 1/fX
221 × 1/fX
24 × 1/fX
25 × 1/fX
(3.2 µs)
(6.4 µs)
(209.7 ms)
(419.4 ms)
(3.2 µs)
(6.4 µs)
25 × 1/fX
26 × 1/fX
221 × 1/fX
222 × 1/fX
25 × 1/fX
26 × 1/fX
(6.4 µs)
(12.8 µs)
(419.4 ms)
(838.9 ms)
(6.4 µs)
(12.8 µs)
26 × 1/fX
27 × 1/fX
222 × 1/fX
223 × 1/fX
26 × 1/fX
27 × 1/fX
(12.8 µs)
(25.6 µs)
(838.9 ms)
(1.7 s)
(12.8 µs)
(25.6 µs)
27 × 1/fX
28 × 1/fX
223 × 1/fX
224 × 1/fX
27 × 1/fX
28 × 1/fX
(25.6 µs)
(51.2 µs)
(1.7 s)
(3.4 s)
(25.6 µs)
(51.2 µs)
28 × 1/fX
29 × 1/fX
224 × 1/fX
225 × 1/fX
28 × 1/fX
29 × 1/fX
(51.2 µs)
(102.4 µs)
(3.4 s)
(6.7 s)
(51.2 µs)
(102.4 µs)
29 × 1/fX
210 × 1/fX
225 × 1/fX
226 × 1/fX
29 × 1/fX
210 × 1/fX
(102.4 µs)
(204.8 µs)
(6.7 s)
(13.4 s)
(102.4 µs)
(204.8 µs)
211 × 1/fX
212 × 1/fX
227 × 1/fX
228 × 1/fX
211 × 1/fX
212 × 1/fX
(409.6 µs)
(819.2 µs)
(26.8 s)
(53.7 s)
(409.6 µs)
(819.2 µs)
Remarks 1. fX
: Main system clock oscillation frequency
2. MCS : Oscillation mode selection register (OSMS) bit 0
3. Values in parentheses when operated at fX = 5.0 MHz.
218
Resolution
CHAPTER 9
8-BIT TIMER/EVENT COUNTERS 1 AND 2
(2) External event counter
The number of pulses of an externally input signal can be measured.
(3) Square-wave output
A square wave with any selected frequency can be output.
Table 9-4. Square-Wave Output Ranges when 8-Bit Timer/Event
Counters 1 and 2 are Used as 16-Bit Timer/Event Counters
Minimum Pulse Width
Maximum Pulse Width
Resolution
MCS = 1
MCS = 0
MCS = 1
MCS = 0
MCS = 1
MCS = 0
2 × 1/fX
22 × 1/fX
217 × 1/fX
218 × 1/fX
2 × 1/fX
22 × 1/fX
(400 ns)
(800 ns)
(26.2 ms)
(52.4 ms)
(400 ns)
(800 ns)
22 × 1/fX
23 × 1/fX
218 × 1/fX
219 × 1/fX
22 × 1/fX
23 × 1/fX
(800 ns)
(1.6 µs)
(52.4 ms)
(104.9 ms)
(800 ns)
(1.6 µs)
23 × 1/fX
24 × 1/fX
219 × 1/fX
220 × 1/fX
23 × 1/fX
24 × 1/fX
(1.6 µs)
(3.2 µs)
(104.9 ms)
(209.7 ms)
(1.6 µs)
(3.2 µs)
24 × 1/fX
25 × 1/fX
220 × 1/fX
221 × 1/fX
24 × 1/fX
25 × 1/fX
(3.2 µs)
(6.4 µs)
(209.7 ms)
(419.4 ms)
(3.2 µs)
(6.4 µs)
25 × 1/fX
26 × 1/fX
221 × 1/fX
222 × 1/fX
25 × 1/fX
26 × 1/fX
(6.4 µs)
(12.8 µs)
(419.4 ms)
(838.9 ms)
(6.4 µs)
(12.8 µs)
26 × 1/fX
27 × 1/fX
222 × 1/fX
223 × 1/fX
26 × 1/fX
27 × 1/fX
(12.8 µs)
(25.6 µs)
(838.9 ms)
(1.7 s)
(12.8 µs)
(25.6 µs)
27 × 1/fX
28 × 1/fX
223 × 1/fX
224 × 1/fX
27 × 1/fX
28 × 1/fX
(25.6 µs)
(51.2 µs)
(1.7 s)
(3.4 s)
(25.6 µs)
(51.2 µs)
28 × 1/fX
29 × 1/fX
224 × 1/fX
225 × 1/fX
28 × 1/fX
29 × 1/fX
(51.2 µs)
(102.4 µs)
(3.4 s)
(6.7 s)
(51.2 µs)
(102.4 µs)
29 × 1/fX
210 × 1/fX
225 × 1/fX
226 × 1/fX
29 × 1/fX
210 × 1/fX
(102.4 µs)
(204.8 µs)
(6.7 s)
(13.4 s)
(102.4 µs)
(204.8 µs)
211 × 1/fX
212 × 1/fX
227 × 1/fX
228 × 1/fX
211 × 1/fX
212 × 1/fX
(409.6 µs)
(819.2 µs)
(26.8 s)
(53.7 s)
(409.6 µs)
(819.2 µs)
Remarks 1. fX
: Main system clock oscillation frequency
2. MCS : Oscillation mode selection register (OSMS) bit 0
3. Values in parentheses when operated at fX = 5.0 MHz.
219
CHAPTER 9
8-BIT TIMER/EVENT COUNTERS 1 AND 2
9.2 8-Bit Timer/Event Counters 1 and 2 Configurations
The 8-bit timer/event counters 1 and 2 consist of the following hardware.
Table 9-5. 8-Bit Timer/Event Counters 1 and 2 Configurations
Item
Configuration
Timer register
8 bits × 2 (TM1, TM2)
Register
Compare register: 8 bits × 2 (CR10, CR20)
Timer output
2 (TO1, TO2)
Timer clock select register 1 (TCL1)
Control register
8-bit timer mode control register 1 (TMC1)
8-bit timer output control register (TOC1)
Port mode register 3 (PM3)Note
Note
220
Refer to Figure 6-9. Block Diagram of P30 to P37.
CHAPTER 9
8-BIT TIMER/EVENT COUNTERS 1 AND 2
Figure 9-1. 8-Bit Timer/Event Counters 1 and 2 Block Diagram
Internal Bus
INTTM1
Selector
8-Bit Compare
Register (CR20)
8-Bit Compare
Register (CR10)
Match
11
f XX/2
8-Bit Timer
Register 1 (TM1)
Note
TO2/P32
4
TI1/P33
Clear
Selector
9
f XX/2-fXX/2
Selector
Match
8-Bit Timer/
Event Counter
Output Control
Circuit 2
8-Bit Timer
Register 2 (TM2)
4
INTTM2
Clear
11
f XX/2
Selector
Selector
9
f XX/2-fXX/2
TI2/P34
8-Bit Timer/
Event Counter
Output Control
Circuit
4
Note
TO1/P31
4
TCL TCL TCL TCL TCL TCL TCL TCL
17 16 15 14 13 12 11 10
Timer Clock
Select Register 1
TMC12 TCE2 TCE1
8-Bit Timer Mode
Control Register
LVS2 LVR2 TOC TOE2 LVS1 LVR1 TOC TOE1
15
11
8-Bit Timer Output
Control Register
Internal Bus
Note
Refer to Figures 9-2 and 9-3 for details of 8-bit timer/event counters 1 and 2 output control circuits 1 and
2, respectively.
221
CHAPTER 9
8-BIT TIMER/EVENT COUNTERS 1 AND 2
Figure 9-2. Block Diagram of 8-Bit Timer/Event Counter Output Control Circuit 1
Level F/F
(LV1)
LVR1
R
Q
TO1/P31
S
LVS1
TOC11
P31
Output Latch
INV
PM31
INTTM1
TOE1
Remark
The section in the broken line is an output control circuit.
Figure 9-3. Block Diagram of 8-Bit Timer/Event Counter Output Control Circuit 2
Level F/F
(LV2)
fSCK
LVR2
R
Q
LVS2
TOC15
TO2/P32
S
P32
Output Latch
INV
INTTM2
TOE2
Remarks 1. The section in the broken line is an output control circuit.
2. fSCK : Serial clock frequency
222
PM32
CHAPTER 9
8-BIT TIMER/EVENT COUNTERS 1 AND 2
(1) Compare registers 10 and 20 (CR10, CR20)
These are 8-bit registers to compare the value set to CR10 to the 8-bit timer register 1 (TM1) count value,
and the value set to CR20 to the 8-bit timer register 2 (TM2) count value, and, if they match, generate an
interrupt request (INTTM1 and INTTM2, respectively).
This register can also be used as the register which holds the interval time when setting TM1 and TM2 to interval
timer operation.
CR10 and CR20 are set with an 8-bit memory manipulation instruction. They cannot be set with a 16-bit
memory manipulation instruction. When the compare register is used as 8-bit timer/event counter, the 00H
to FFH values can be set. When the compare register is used as 16-bit timer/event counter, the 0000H to
FFFFH values can be set.
RESET input makes CR10 and CR20 undefined.
Caution When using the compare register as 16-bit timer/event counter, be sure to set data after
stopping timer operation.
(2) 8-bit timer registers 1, 2 (TM1, TM2)
These are 8-bit registers to count count pulses.
When TM1 and TM2 are used in the 8-bit timer × 2-channel mode, they are read with an 8-bit memory
manipulation instruction. When TM1 and TM2 are used as 16-bit timer × 1-channel mode, 16-bit timer (TMS)
is read with a 16-bit memory manipulation instruction.
RESET input sets TM1 and TM2 to 00H.
9.3 8-Bit Timer/Event Counters 1 and 2 Control Registers
The following four types of registers are used to control the 8-bit timer/event counter.
• Timer clock select register 1 (TCL1)
• 8-bit timer mode control register 1 (TMC1)
• 8-bit timer output control register (TOC1)
• Port mode register 3 (PM3)
(1) Timer clock select register 1 (TCL1)
This register sets count clocks of 8-bit timer registers 1 and 2.
TCL1 is set with an 8-bit memory manipulation instruction.
RESET input sets TCL1 to 00H.
223
CHAPTER 9
8-BIT TIMER/EVENT COUNTERS 1 AND 2
Figure 9-4. Timer Clock Select Register 1 Format
Symbol
7
6
5
4
3
2
1
0
Address
After Reset
R/W
FF41H
00H
R/W
TCL1 TCL17 TCL16 TCL15 TCL14 TCL13 TCL12 TCL11 TCL10
8-Bit Timer Register 1 Count Clock Selection
TCL13 TCL12 TCL11 TCL10
0
0
0
0
TI1 falling edge
0
0
0
1
TI1 rising edge
0
1
1
0
fXX/2
0
1
1
1
fXX/2
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
2
3
0
fXX/2
4
1
fXX/2
5
0
fXX/2
6
fXX/2
1
7
fXX/2
0
8
fXX/2
1
9
fXX/2
0
11
fXX/2
1
Other than above
MCS = 1
MCS = 0
fX/2
(2.5 MHz)
fX/2
(1.25 MHz)
fX/2
2
fX/2
3
fX/2
4
fX/2
5
fX/2
6
fX/2
7
fX/2
8
fX/2
9
fX/2
11
fX/2
(625 kHz)
(313 kHz)
(156 kHz)
(78.1 kHz)
(39.1 kHz)
(19.5 kHz)
(9.8 kHz)
(2.4 kHz)
2
(1.25 MHz)
3
(625 kHz)
4
(313 kHz)
5
(156 kHz)
6
(78.1 kHz)
7
(39.1 kHz)
8
(19.5 kHz)
9
(9.8 kHz)
10
(4.9 kHz)
12
(1.2 kHz)
fX/2
fX/2
fX/2
fX/2
fX/2
fX/2
fX/2
fX/2
Setting prohibited
8-Bit Timer Register 2 Count Clock Selection
TCL17 TCL16 TCL15 TCL14
0
0
0
0
TI2 falling edge
0
0
0
1
TI2 rising edge
0
1
1
0
fXX/2
0
1
1
1
2
fXX/2
fXX/2
1
0
0
1
fXX/2
1
1
1
1
1
0
1
1
1
1
1
0
0
1
1
1
0
1
0
1
Other than above
2
fX/2
fX/2
0
0
fX/2
4
0
1
fX/2
fX/2
0
0
MCS = 0
3
1
1
MCS = 1
5
fXX/2
6
fXX/2
7
fXX/2
8
fXX/2
9
fXX/2
11
fXX/2
(2.5 MHz)
(1.25 MHz)
2
(1.25 MHz)
3
(625 kHz)
4
(313 kHz)
5
(156 kHz)
6
(78.1 kHz)
7
(39.1 kHz)
8
(19.5 kHz)
9
(9.8 kHz)
10
(4.9 kHz)
12
(1.2 kHz)
fX/2
3
(625 kHz)
fX/2
4
(313 kHz)
fX/2
5
fX/2
6
fX/2
7
fX/2
8
fX/2
9
fX/2
11
fX/2
(156 kHz)
(78.1 kHz)
(39.1 kHz)
(19.5 kHz)
(9.8 kHz)
(2.4 kHz)
fX/2
fX/2
fX/2
fX/2
fX/2
fX/2
Setting prohibited
Caution When rewriting TCL1 to other data, stop the timer operation beforehand.
Remarks 1.
2.
3.
4.
5.
6.
224
:
fXX
fX
:
TI1 :
TI2 :
MCS :
Figures
Main system clock frequency (fX or fX/2)
Main system clock oscillation frequency
8-bit timer register 1 input pin
8-bit timer register 2 input pin
Oscillation mode selection register (OSMS) bit 0
in parentheses apply to operation with fX = 5.0 MHz
CHAPTER 9
8-BIT TIMER/EVENT COUNTERS 1 AND 2
(2) 8-bit timer mode control register (TMC1)
This register enables/stops operation of 8-bit timer registers 1 and 2 and sets the operating mode of 8-bit timer
register 1 and 2.
TMC1 is set with a 1-bit or 8-bit memory manipulation instruction.
RESET input sets TMC1 to 00H.
Figure 9-5. 8-Bit Timer Mode Control Register 1 Format
Symbol
7
6
5
4
3
TMC1
0
0
0
0
0
2
<1>
<0>
TMC12 TCE2 TCE1
Address
After Reset
R/W
FF49H
00H
R/W
TCE1 8-Bit Timer Register 1 Operation Control
0
Operation stop (TM1 clear to 0)
1
Operation enable
TCE2 8-Bit Timer Register 2 Operation Control
0
Operation stop (TM2 clear to 0)
1
Operation enable
TMC12 Operating Mode Selection
0
8-Bit timer register × 2 channel mode (TM1, TM2)
1
16-Bit timer register × 1 channel mode (TMS)
Cautions 1. Switch the operating mode after stopping timer operation.
2. When used as 16-bit timer register, TCE1 should be used for control enable/stop.
225
CHAPTER 9
8-BIT TIMER/EVENT COUNTERS 1 AND 2
(3) 8-bit timer output control register (TOC1)
This register controls operation of 8-bit timer/event counter output control circuits 1 and 2.
It sets/resets the R-S flip-flops (LV1 and LV2) and enables/disables inversion and 8-bit timer output of 8-bit
timer registers 1 and 2.
TOC1 is set with a 1-bit or 8-bit memory manipulation instruction.
RESET input sets TOC1 to 00H.
Figure 9-6. 8-Bit Timer Output Control Register Format
Symbol
<7>
<6>
5
<4>
<3>
<2>
1
<0>
TOC1 LVS2 LVR2 TOC15 TOE2 LVS1 LVR1 TOC11 TOE1
Address
After Reset
R/W
FF4FH
00H
R/W
TOE1 8-Bit Timer/Event Counter 1 Outptut Control
0
Output disable (port mode)
1
Output enable
TOC11 8-Bit Timer/Event Counter 1 Timer Output F/F Control
0
Inverted operation disable
1
Inverted operation enable
LVS1 LVR1 8-Bit Timer/Event Counter 1 Timer Output F/F Status Set
0
0
Unchanged
0
1
Timer output F/F reset (0)
1
0
Timer output F/F set (1)
1
1
Setting prohibited
TOE2 8-Bit Timer/Event Counter 2 Output Control
0
Output disable (port mode)
1
Output enable
TOC15 8-Bit Timer/Event Counter 2 Timer Output F/F Control
0
Inverted operation disable
1
Inverted operation enable
LVS2 LVR2 8-Bit Timer/Event Counter 2 Timer Output F/F Status Set
0
0
Unchanged
0
1
Timer output F/F reset (0)
1
0
Timer output F/F set (1)
1
1
Setting prohibited
Cautions 1. Be sure to set TOC1 after stopping timer operation.
2. After data setting, 0 can be read from LVS1, LVS2, LVR1 and LVR2.
226
CHAPTER 9
8-BIT TIMER/EVENT COUNTERS 1 AND 2
(4) Port mode register 3 (PM3)
This register sets port 3 input/output in 1-bit units.
When using the P31/TO1 and P32/TO2 pins for timer output, set PM31, PM32, and output latches of P31 and
P32 to 0.
PM3 is set with a 1-bit or 8-bit memory manipulation instruction.
RESET input sets PM3 to FFH.
Figure 9-7. Port Mode Register 3 Format
Symbol
PM3
7
6
5
4
3
2
1
0
PM37 PM36 PM35 PM34 PM33 PM32 PM31 PM30
Address
After Reset
R/W
FF23H
FFH
R/W
PM3n P3n Pin Input/Output Mode Selection (n = 0 to 7)
0
Output mode (output buffer ON)
1
Input mode (output buffer OFF)
227
CHAPTER 9
8-BIT TIMER/EVENT COUNTERS 1 AND 2
9.4 8-Bit Timer/Event Counters 1 and 2 Operations
9.4.1 8-bit timer/event counter mode
(1) Interval timer operations
The 8-bit timer/event counters 1 and 2 operate as interval timers which generate interrupt requests repeatedly
at intervals of the count value preset to 8-bit compare registers 10 and 20 (CR10 and CR20).
When the count values of the 8-bit timer registers 1 and 2 (TM1 and TM2) match the values set to CR10 and
CR20, counting continues with the TM1 and TM2 values cleared to 0 and the interrupt request signals (INTTM1
and INTTM2) are generated.
Count clock of TM1 can be selected with bits 0 to 3 (TCL10 to TCL13) of the timer clock select register 1 (TCL1).
Count clock of TM2 can be selected with bits 4 to 7 (TCL14 to TCL17) of the timer clock select register 1 (TCL1).
For the operation when the value of the compare register is changed during the timer count operation, refer
to 9.5 8-Bit Timer/Event Counter Precautions (3).
Figure 9-8. Interval Timer Operation Timings
t
Count Clock
TM1 Count Value
00
01
Count Start
CR10
N
N
00
01
Clear
N
00
01
N
Clear
N
N
N
INTTM1
Interrupt Request Acknowledge Interrupt Request Acknowledge
TO1
Interval Time
Remark
228
Interval Time
Interval time = (N + 1) × t : N = 00H to FFH
Interval Time
CHAPTER 9
8-BIT TIMER/EVENT COUNTERS 1 AND 2
Table 9-6. 8-Bit Timer/Event Counter 1 Interval Time
Minimum Interval Time
Maximum Interval Time
MCS = 1
MCS = 1
Resolution
TCL13 TCL12 TCL11 TCL10
MCS = 0
MCS = 0
MCS = 1
MCS = 0
0
0
0
0
TI1 input cycle
28 × TI1 input cycle
TI1 input edge cycle
0
0
0
1
TI1 input cycle
28 × TI1 input cycle
TI1 input edge cycle
0
1
1
0
0
1
1
1
1
0
0
0
1
0
0
1
1
0
1
0
1
0
1
1
1
1
0
0
1
1
0
1
1
1
1
0
1
1
1
1
Other than above
Remarks 1. fX
2. MCS
2 × 1/fX
22 × 1/fX
29 × 1/fX
210 × 1/fX
2 × 1/fX
22 × 1/fX
(400 ns)
(800 ns)
(102.4 µs)
(204.8 µs)
(400 ns)
(800 ns)
22 × 1/fX
23 × 1/fX
210 × 1/fX
211 × 1/fX
22 × 1/fX
23 × 1/fX
(800 ns)
(1.6 µs)
(204.8 µs)
(409.6 µs)
(800 ns)
(1.6 µs)
23 × 1/fX
24 × 1/fX
211 × 1/fX
212 × 1/fX
23 × 1/fX
24 × 1/fX
(1.6 µs)
(3.2 µs)
(409.6 µs)
(819.2 µs)
(1.6 µs)
(3.2 µs)
24 × 1/fX
25 × 1/fX
212 × 1/fX
213 × 1/fX
24 × 1/fX
25 × 1/fX
(3.2 µs)
(6.4 µs)
(819.2 µs)
(1.64 ms)
(3.2 µs)
(6.4 µs)
25 × 1/fX
26 × 1/fX
213 × 1/fX
214 × 1/fX
25 × 1/fX
26 × 1/fX
(6.4 µs)
(12.8 µs)
(1.64 ms)
(3.28 ms)
(6.4 µs)
(12.8 µs)
26 × 1/fX
27 × 1/fX
214 × 1/fX
215 × 1/fX
26 × 1/fX
27 × 1/fX
(12.8 µs)
(25.6 µs)
(3.28 ms)
(6.55 ms)
(12.8 µs)
(25.6 µs)
27 × 1/fX
28 × 1/fX
215 × 1/fX
216 × 1/fX
27 × 1/fX
28 × 1/fX
(25.6 µs)
(51.2 µs)
(6.55 ms)
(13.1 ms)
(25.6 µs)
(51.2 µs)
28 × 1/fX
29 × 1/fX
216 × 1/fX
217 × 1/fX
28 × 1/fX
29 × 1/fX
(51.2 µs)
(102.4 µs)
(13.1 ms)
(26.2 ms)
(51.2 µs)
(102.4 µs)
29 × 1/fX
210 × 1/fX
217 × 1/fX
218 × 1/fX
29 × 1/fX
210 × 1/fX
(102.4 µs)
(204.8 µs)
(26.2 ms)
(52.4 ms)
(102.4 µs)
(204.8 µs)
211 × 1/fX
212 × 1/fX
219 × 1/fX
220 × 1/fX
211 × 1/fX
212 × 1/fX
(409.6 µs)
(819.2 µs)
(104.9 ms)
(209.7 ms)
(409.6 µs)
(819.2 µs)
Setting prohibited
: Main system clock oscillation frequency
: Oscillation mode selection register (OSMS) bit 0
3. TCL10 to TCL13 : Bits 0 to 3 of timer clock select register 1 (TCL1)
4. Values in parentheses when operated at fX = 5.0 MHz.
229
CHAPTER 9
8-BIT TIMER/EVENT COUNTERS 1 AND 2
Table 9-7. 8-Bit Timer/Event Counter 2 Interval Time
Minimum Interval Time
Maximum Interval Time
MCS = 1
MCS = 1
Resolution
TCL17 TCL16 TCL15 TCL14
MCS = 0
MCS = 0
MCS = 1
MCS = 0
0
0
0
0
TI2 input cycle
28 × TI2 input cycle
TI2 input edge cycle
0
0
0
1
TI2 input cycle
28 × TI2 input cycle
TI2 input edge cycle
0
1
1
0
0
1
1
1
1
0
0
0
1
0
0
1
1
0
1
0
1
0
1
1
1
1
0
0
1
1
0
1
1
1
1
0
1
1
1
1
Other than above
Remarks 1. fX
2. MCS
2 × 1/fX
22 × 1/fX
29 × 1/fX
210 × 1/fX
2 × 1/fX
22 × 1/fX
(400 ns)
(800 ns)
(102.4 µs)
(204.8 µs)
(400 ns)
(800 ns)
22 × 1/fX
23 × 1/fX
210 × 1/fX
211 × 1/fX
22 × 1/fX
23 × 1/fX
(800 ns)
(1.6 µs)
(204.8 µs)
(409.6 µs)
(800 ns)
(1.6 µs)
23 × 1/fX
24 × 1/fX
211 × 1/fX
212 × 1/fX
23 × 1/fX
24 × 1/fX
(1.6 µs)
(3.2 µs)
(409.6 µs)
(819.2 µs)
(1.6 µs)
(3.2 µs)
24 × 1/fX
25 × 1/fX
212 × 1/fX
213 × 1/fX
24 × 1/fX
25 × 1/fX
(3.2 µs)
(6.4 µs)
(819.2 µs)
(1.64 ms)
(3.2 µs)
(6.4 µs)
25 × 1/fX
26 × 1/fX
213 × 1/fX
214 × 1/fX
25 × 1/fX
26 × 1/fX
(6.4 µs)
(12.8 µs)
(1.64 ms)
(3.28 ms)
(6.4 µs)
(12.8 µs)
26 × 1/fX
27 × 1/fX
214 × 1/fX
215 × 1/fX
26 × 1/fX
27 × 1/fX
(12.8 µs)
(25.6 µs)
(3.28 ms)
(6.55 ms)
(12.8 µs)
(25.6 µs)
27 × 1/fX
28 × 1/fX
215 × 1/fX
216 × 1/fX
27 × 1/fX
28 × 1/fX
(25.6 µs)
(51.2 µs)
(6.55 ms)
(13.1 ms)
(25.6 µs)
(51.2 µs)
28 × 1/fX
29 × 1/fX
216 × 1/fX
217 × 1/fX
28 × 1/fX
29 × 1/fX
(51.2 µs)
(102.4 µs)
(13.1 ms)
(26.2 ms)
(51.2 µs)
(102.4 µs)
29 × 1/fX
210 × 1/fX
217 × 1/fX
218 × 1/fX
29 × 1/fX
210 × 1/fX
(102.4 µs)
(204.8 µs)
(26.2 ms)
(52.4 ms)
(102.4 µs)
(204.8 µs)
211 × 1/fX
212 × 1/fX
219 × 1/fX
220 × 1/fX
211 × 1/fX
212 × 1/fX
(409.6 µs)
(819.2 µs)
(104.9 ms)
(209.7 ms)
(409.6 µs)
(819.2 µs)
Setting prohibited
: Main system clock oscillation frequency
: Bit 0 of oscillation mode selection register (OSMS)
3. TCL14 to TCL17 : Bits 4 to 7 of timer clock select register 1 (TCL1)
4. Values in parentheses when operated at fX = 5.0 MHz
230
CHAPTER 9
8-BIT TIMER/EVENT COUNTERS 1 AND 2
(2) External event counter operation
The external event counter counts the number of external clock pulses to be input to the TI1/P33 and TI2/
P34 pins with 8-bit timer registers 1 and 2 (TM1 and TM2).
TM1 and TM2 are incremented each time the valid edge specified with the timer clock select register (TCL1)
is input. Either the rising or falling edge can be selected.
When the TM1 and TM2 counted values match the values of 8-bit compare registers (CR10 and CR20), TM1
and TM2 are cleared to 0 and the interrupt request signals (INTTM1 and INTTM2) are generated.
Figure 9-9. External Event Counter Operation Timings (with Rising Edge Specified)
TI1 Pin Input
TM1 Count Value
00
01
CR10
02
03
04
05
N-1
N
00
01
02
03
N
INTTM1
Remark
N = 00H to FFH
231
CHAPTER 9
8-BIT TIMER/EVENT COUNTERS 1 AND 2
(3) Square-wave output operation
Operates as square wave output with any selected frequency at intervals of the count value preset to 8-bit
compare register 10 and 20 (CR10, CR20).
The TO1/P31 or TO2/P32 pin output status is reversed at intervals of the count value preset to CR10 or CR20
by setting bit 0 (TOE1) or bit 4 (TOE2) of the 8-bit timer output control register (TOC1) to 1. This enables
a square wave with any selected frequency to be output.
Table 9-8. 8-Bit Timer/Event Counters 1 and 2 Square-Wave Output Ranges
Minimum Pulse Width
Maximum Pulse Width
MCS = 1
MCS = 0
MCS = 1
MCS = 0
MCS = 1
MCS = 0
2 × 1/fX
22 × 1/fX
29 × 1/fX
210 × 1/fX
2 × 1/fX
22 × 1/fX
(400 ns)
(800 ns)
(102.4 µs)
(204.8 µs)
(400 ns)
(800 ns)
22 × 1/fX
23 × 1/fX
210 × 1/fX
211 × 1/fX
22 × 1/fX
23 × 1/fX
(800 ns)
(1.6 µs)
(204.8 µs)
(409.6 µs)
(800 ns)
(1.6 µs)
23 × 1/fX
24 × 1/fX
211 × 1/fX
212 × 1/fX
23 × 1/fX
24 × 1/fX
(1.6 µs)
(3.2 µs)
(409.6 µs)
(819.2 µs)
(1.6 µs)
(3.2 µs)
24 × 1/fX
25 × 1/fX
212 × 1/fX
213 × 1/fX
24 × 1/fX
25 × 1/fX
(3.2 µs)
(6.4 µs)
(819.2 µs)
(1.64 ms)
(3.2 µs)
(6.4 µs)
25 × 1/fX
26 × 1/fX
213 × 1/fX
214 × 1/fX
25 × 1/fX
26 × 1/fX
(6.4 µs)
(12.8 µs)
(1.64 ms)
(3.28 ms)
(6.4 µs)
(12.8 µs)
26 × 1/fX
27 × 1/fX
214 × 1/fX
215 × 1/fX
26 × 1/fX
27 × 1/fX
(12.8 µs)
(25.6 µs)
(3.28 ms)
(6.55 ms)
(12.8 µs)
(25.6 µs)
27 × 1/fX
28 × 1/fX
215 × 1/fX
216 × 1/fX
27 × 1/fX
28 × 1/fX
(25.6 µs)
(51.2 µs)
(6.55 ms)
(13.1 ms)
(25.6 µs)
(51.2 µs)
28 × 1/fX
29 × 1/fX
216 × 1/fX
217 × 1/fX
28 × 1/fX
29 × 1/fX
(51.2 µs)
(102.4 µs)
(13.1 ms)
(26.2 ms)
(51.2 µs)
(102.4 µs)
29 × 1/fX
210 × 1/fX
217 × 1/fX
218 × 1/fX
29 × 1/fX
210 × 1/fX
(102.4 µs)
(204.8 µs)
(26.2 ms)
(52.4 ms)
(102.4 µs)
(204.8 µs)
211 × 1/fX
212 × 1/fX
219 × 1/fX
220 × 1/fX
211 × 1/fX
212 × 1/fX
(409.6 µs)
(819.2 µs)
(104.9 ms)
(209.7 ms)
(409.6 µs)
(819.2 µs)
Remarks 1. fX
: Main system clock oscillation frequency
2. MCS : Oscillation mode selection register (OSMS) bit 0
3. Values in parentheses when operated at fX = 5.0 MHz.
232
Resolution
CHAPTER 9
8-BIT TIMER/EVENT COUNTERS 1 AND 2
Figure 9-10. Square-Wave Output Operation Timing
Count Clock
TM1 Count Value
00
CR10
01
02
N-1
N
00
01
02
N-1
N
00
N
INTTM1
TO1 Pin OutputNote
Note
The initial value of TO1 pin output can be set with the bits 2 and 3 (LVR1, LVS1) of 8-bit timer output control
register (TOC1).
233
CHAPTER 9
8-BIT TIMER/EVENT COUNTERS 1 AND 2
9.4.2 16-bit timer/event counter mode
When bit 2 (TMC12) of the 8-bit timer mode control register (TMC1) is set to 1, the 16-bit timer/event counter mode
is set.
In this mode, the count clock is set with bits 0 to 3 (TCL10 to TCL13) of timer clock select register 1 (TCL1), and
the overflow signal of 8-bit timer register 1 (TM1) becomes the count clock of 8-bit timer register 2 (TM2).
In this mode, enable/disable of the count operation is selected with bit 0 (TCE1) of TMC1.
(1) Operation as interval timer
The 8-bit timer/event counter operates as an interval timer that generates interrupt requests repeatedly at
intervals of the count value preset to 2-channel 8-bit compare registers (CR10 and CR20). When setting the
count value, set the value of the higher 8 bits to CR20 and the value of the lower 8 bits to CR10. For the count
value that can be set, refer to Table 9-9.
When 8-bit timer register 1 (TM1) and CR10 values match and 8-bit timer register 2 (TM2) and CR20 values
match, counting continues with the TM1 and TM2 values cleared to 0 and the interrupt request signal (INTTM2)
is generated. For the timing of interval timer operation, refer to Figure 9-11.
The count clock is selected with bits 0 to 3 (TCL10 to TCL13) of timer clock select register 1 (TCL1), and
the overflow signal of TM1 becomes the count clock of TM2.
Figure 9-11. Interval Timer Operation Timing
t
Count Clock
TMS (TM1, TM2) Count Value
0000
0001
Count Start
CR10, CR20
N
N
0000 0001
N
0000 0001
Clear
Clear
N
N
N
N
INTTM2
Interrupt Request Acknowledge
Interrupt Request Acknowledge
TO2
Interval Time
Remark
Interval Time
Interval Time
Interval time = (N + 1) × t : N = 0000H to FFFFH
Caution Even if the 16-bit timer/event counter mode is used, when the TM1 count value matches the
CR10 value, interrupt request (INTTM1) is generated and the F/F of 8-bit timer/event counter
output control circuit 1 is inverted. Thus, when using 8-bit timer/event counter as 16-bit
interval timer, set the INTTM1 mask flag TMMK1 to 1 to disable INTTM1 acknowledgment.
When reading the 16-bit timer register (TMS) count value, use the 16-bit memory manipulation
instruction.
234
CHAPTER 9
8-BIT TIMER/EVENT COUNTERS 1 AND 2
Table 9-9. Interval Times when 2-Channel 8-Bit Timer/Event Counters (TM1 and TM2)
are Used as 16-Bit Timer/Event Counter
Minimum Interval Time
Maximum Interval Time
MCS = 1
MCS = 1
Resolution
TCL13 TCL12 TCL11 TCL10
MCS = 0
MCS = 0
MCS = 1
MCS = 0
0
0
0
0
TI1 input cycle
28 × TI1 input cycle
TI1 input edge cycle
0
0
0
1
TI1 input cycle
28 × TI1 input cycle
TI1 input edge cycle
0
1
1
0
0
1
1
1
1
0
0
0
1
0
0
1
1
0
1
0
1
0
1
1
1
1
0
0
1
1
0
1
1
1
1
0
1
1
1
1
Other than above
Remarks 1. fX
2. MCS
2 × 1/fX
22 × 1/fX
217 × 1/fX
218 × 1/fX
2 × 1/fX
22 × 1/fX
(400 ns)
(800 ns)
(26.2 ms)
(52.4 ms)
(400 ns)
(800 ns)
22 × 1/fX
23 × 1/fX
218 × 1/fX
219 × 1/fX
22 × 1/fX
23 × 1/fX
(800 ns)
(1.6 µs)
(52.4 ms)
(104.9 ms)
(800 ns)
(1.6 µs)
23 × 1/fX
24 × 1/fX
219 × 1/fX
220 × 1/fX
23 × 1/fX
24 × 1/fX
(1.6 µs)
(3.2 µs)
(104.9 ms)
(209.7 ms)
(1.6 µs)
(3.2 µs)
24 × 1/fX
25 × 1/fX
220 × 1/fX
221 × 1/fX
24 × 1/fX
25 × 1/fX
(3.2 µs)
(6.4 µs)
(209.7 ms)
(419.4 ms)
(3.2 µs)
(6.4 µs)
25 × 1/fX
26 × 1/fX
221 × 1/fX
222 × 1/fX
25 × 1/fX
26 × 1/fX
(6.4 µs)
(12.8 µs)
(419.4 ms)
(838.9 ms)
(6.4 µs)
(12.8 µs)
26 × 1/fX
27 × 1/fX
222 × 1/fX
223 × 1/fX
26 × 1/fX
27 × 1/fX
(12.8 µs)
(25.6 µs)
(838.9 ms)
(1.7 s)
(12.8 µs)
(25.6 µs)
27 × 1/fX
28 × 1/fX
223 × 1/fX
224 × 1/fX
27 × 1/fX
28 × 1/fX
(25.6 µs)
(51.2 µs)
(1.7 s)
(3.4 s)
(25.6 µs)
(51.2 µs)
28 × 1/fX
29 × 1/fX
224 × 1/fX
225 × 1/fX
28 × 1/fX
29 × 1/fX
(51.2 µs)
(102.4 µs)
(3.4 s)
(6.7 s)
(51.2 µs)
(102.4 µs)
29 × 1/fX
210 × 1/fX
225 × 1/fX
226 × 1/fX
29 × 1/fX
210 × 1/fX
(102.4 µs)
(204.8 µs)
(6.7 s)
(13.4 s)
(102.4 µs)
(204.8 µs)
211 × 1/fX
212 × 1/fX
227 × 1/fX
228 × 1/fX
211 × 1/fX
212 × 1/fX
(409.6 µs)
(819.2 µs)
(26.8 s)
(53.7 s)
(409.6 µs)
(819.2 µs)
Setting prohibited
: Main system clock oscillation frequency
: Oscillation mode selection register (OSMS) bit 0
3. TCL10 to TCL13 : Bits 0 to 3 of timer clock select register (TCL1)
4. Values in parentheses when operated at fX = 5.0 MHz.
235
CHAPTER 9
8-BIT TIMER/EVENT COUNTERS 1 AND 2
(2) External event counter operations
The external event counter counts the number of external clock pulses to be input to the TI1/P33 pin with 2channel 8-bit timer registers 1 and 2 (TM1 and TM2).
TM1 is incremented each time the valid edge specified with the timer clock select register 1 (TCL1) is input.
When TM1 overflows, TM2 is incremented with the overflow signal as the count clock. Either the rising or
falling edge can be selected.
When the TM1 and TM2 counted values match the values of 8-bit compare registers 10 and 20 (CR10 and
CR20), TM1 and TM2 are cleared to 0 and the interrupt request signal (INTTM2) is generated.
Figure 9-12. External Event Counter Operation Timings (with Rising Edge Specified)
TI1 Pin Input
TM1, TM2 Count Value
0000 0001 0002 0003 0004 0005
CR10, CR20
N-1
N
0000 0001 0002 0003
N
INTTM2
Caution Even if the 16-bit timer/event counter mode is used, when the TM1 count value matches the
CR10 value, interrupt request (INTTM1) is generated and the F/F of 8-bit timer/event counter
output control circuit 1 is inverted. Thus, when using 8-bit timer/event counter as 16-bit
interval timer, set the INTTM1 mask flag TMMK1 to 1 to disable INTTM1 acknowledgment.
When reading the 16-bit timer register (TMS) count value, use the 16-bit memory manipulation
instruction.
236
CHAPTER 9
8-BIT TIMER/EVENT COUNTERS 1 AND 2
(3) Square-wave output operation
Operates as square wave output with any selected frequency at intervals of the count value preset to 8-bit
compare registers 10 and 20 (CR10, CR20). When setting the count value, set the value of higher 8 bits to
CR20 and the value of lower 8 bits to CR10.
The TO2/P32 pin output status is reversed at intervals of the count value preset to CR10 and CR20 by setting
bit 4 (TOE2) of the 8-bit timer output control register (TOC1) to 1. This enables a square wave with any selected
frequency to be output.
Table 9-10. Square-Wave Output Ranges when 2-Channel 8-Bit Timer/Event Counters
(TM1 and TM2) are Used as 16-Bit Timer/Event Counter
Minimum Pulse Width
Maximum Pulse Width
Resolution
MCS = 1
MCS = 0
MCS = 1
MCS = 0
MCS = 1
MCS = 0
2 × 1/fX
22 × 1/fX
217 × 1/fX
218 × 1/fX
2 × 1/fX
22 × 1/fX
(400 ns)
(800 ns)
(26.2 ms)
(52.4 ms)
(400 ns)
(800 ns)
22 × 1/fX
23 × 1/fX
218 × 1/fX
219 × 1/fX
22 × 1/fX
23 × 1/fX
(800 ns)
(1.6 µs)
(52.4 ms)
(104.9 ms)
(800 ns)
(1.6 µs)
23 × 1/fX
24 × 1/fX
219 × 1/fX
220 × 1/fX
23 × 1/fX
24 × 1/fX
(1.6 µs)
(3.2 µs)
(104.9 ms)
(209.7 ms)
(1.6 µs)
(3.2 µs)
24 × 1/fX
25 × 1/fX
220 × 1/fX
221 × 1/fX
24 × 1/fX
25 × 1/fX
(3.2 µs)
(6.4 µs)
(209.7 ms)
(419.4 ms)
(3.2 µs)
(6.4 µs)
25 × 1/fX
26 × 1/fX
221 × 1/fX
222 × 1/fX
25 × 1/fX
26 × 1/fX
(6.4 µs)
(12.8 µs)
(419.4 ms)
(838.9 ms)
(6.4 µs)
(12.8 µs)
26 × 1/fX
27 × 1/fX
222 × 1/fX
223 × 1/fX
26 × 1/fX
27 × 1/fX
(12.8 µs)
(25.6 µs)
(838.9 ms)
(1.7 s)
(12.8 µs)
(25.6 µs)
27 × 1/fX
28 × 1/fX
223 × 1/fX
224 × 1/fX
27 × 1/fX
28 × 1/fX
(25.6 µs)
(51.2 µs)
(1.7 s)
(3.4 s)
(25.6 µs)
(51.2 µs)
28 × 1/fX
29 × 1/fX
224 × 1/fX
225 × 1/fX
28 × 1/fX
29 × 1/fX
(51.2 µs)
(102.4 µs)
(3.4 s)
(6.7 s)
(51.2 µs)
(102.4 µs)
29 × 1/fX
210 × 1/fX
225 × 1/fX
226 × 1/fX
29 × 1/fX
210 × 1/fX
(102.4 µs)
(204.8 µs)
(6.7 s)
(13.4 s)
(102.4 µs)
(204.8 µs)
211 × 1/fX
212 × 1/fX
227 × 1/fX
228 × 1/fX
211 × 1/fX
212 × 1/fX
(409.6 µs)
(819.2 µs)
(26.8 s)
(53.7 s)
(409.6 µs)
(819.2 µs)
Remarks 1. fX
: Main system clock oscillation frequency
2. MCS : Oscillation mode selection register (OSMS) bit 0
3. Values in parentheses when operated at fX = 5.0 MHz.
237
CHAPTER 9
8-BIT TIMER/EVENT COUNTERS 1 AND 2
Figure 9-13. Square-Wave Output Operation Timing
Count Clock
TM1, TM2 Count Value
0000
0001
0002
CR10, CR20
N-1
N
0000
0001
0002
N-1
N
0000
N
INTTM2
TO2 Pin OutputNote
Note
The initial value of TO2 pin output can be set with the bits 6 and 7 (LVR2, LVS2) of 8-bit timer output control
register (TOC1).
9.5 Cautions on 8-Bit Timer/Event Counters 1 and 2
(1) Timer start errors
An error with a maximum of one clock may occur concerning the time required for a match signal to be
generated after timer start. This is because 8-bit timer registers 1 and 2 (TM1 and TM2) starts asynchronously
with the count pulse.
Figure 9-14. 8-Bit Timer Registers 1 and 2 Start Timing
Count Pulse
TM1, TM2 Count Value
00H
Timer Start
238
01H
02H
03H
04H
CHAPTER 9
8-BIT TIMER/EVENT COUNTERS 1 AND 2
(2) 8-bit compare register 10 and 20 setting
The 8-bit compare registers 10 and 20 (CR10 and CR20) can be set to 00H.
Thus, when these 8-bit compare registers are used as event counters, one-pulse count operation can be
carried out.
When the 8-bit compare register is used as 16-bit timer/event counter, write data to CR10 and CR20 after
setting bit 0 (TCE1) of the 8-bit timer mode control register 1 to 0 and stopping timer operation.
Figure 9-15. Event Counter Operation Timing
TI1, TI2, Input
CR10, CR20
00H
TM1, TM2 Count Value
00H
00H
00H
00H
TO1, TO2
Interrupt Request Flag
(3) Operation after compare register change during timer count operation
If the values after the 8-bit compare registers 10 and 20 (CR10 and CR20) are changed are smaller than those
of 8-bit timer registers (TM1 and TM2), TM1 and TM2 continue counting, overflow and then restart counting
from 0. Thus, if the value (M) after CR10 and CR20 change is smaller than value (N) before the change, it
is necessary to restart the timer after changing CR10 and CR20.
Figure 9-16. Timing after Compare Register Change during Timer Count Operation
Count Pulse
CR10, CR20
TM1, TM2 Count Value
Remark
N
X-1
M
X
FFH
00H
01H
02H
N>X>M
239
[MEMO]
240
CHAPTER 10 WATCH TIMER
10.1 Watch Timer Functions
The watch timer has the following functions.
• Watch timer
• Interval timer
The watch timer and the interval timer can be used simultaneously.
(1) Watch timer
When the 32.768 kHz subsystem clock is used, a flag (WTIF) is set at 0.5 second or 0.25 second intervals.
When the 4.19 MHz (standard: 4.194304 MHz) main system clock is used, a flag (WTIF) is set at 0.5 second
or 0.25 second intervals.
Caution 0.5-second intervals cannot be generated with the 5.0-MHz main system clock. You should
switch to the 32.768 kHz subsystem clock to generate 0.5-second intervals.
(2) Interval timer
Interrupt requests (INTTM3) are generated at the preset time interval.
Table 10-1. Interval Timer Interval Time
Interval Time
When operated at
fXX = 5.0 MHz
When operated at
fXX = 4.19 MHz
When operated at
fXT = 32.768 kHz
24 × 1/fW
410 µs
488 µs
488 µs
25 × 1/fW
819 µs
977 µs
977 µs
26 × 1/fW
1.64 ms
1.95 ms
1.95 ms
27 × 1/fW
3.28 ms
3.91 ms
3.91 ms
28 × 1/fW
6.55 ms
7.81 ms
7.81 ms
29 × 1/fW
13.1 ms
15.6 ms
15.6 ms
Remark
fXX : Main system clock frequency (fX or fX/2)
fX : Main system clock oscillation frequency
fXT : Subsystem clock oscillation frequency
fW : Watch timer clock frequency (fXX/27 or fXT)
241
CHAPTER 10
WATCH TIMER
10.2 Watch Timer Configuration
The watch timer consists of the following hardware.
Table 10-2. Watch Timer Configuration
Item
Counter
Control register
Configuration
5 bits × 1
Timer clock select register 2 (TCL2)
Watch timer mode control register (TMC2)
10.3 Watch Timer Control Registers
The following two types of registers are used to control the watch timer.
• Timer clock select register 2 (TCL2)
• Watch timer mode control register (TMC2)
(1) Timer clock select register 2 (TCL2) (Refer to Figure 10-2.)
This register sets the watch timer count clock.
TCL2 is set with an 8-bit memory manipulation instruction.
RESET input sets TCL2 to 00H.
Remark
Besides setting the watch timer count clock, TCL2 sets the watchdog timer count clock and buzzer
output frequency.
242
CHAPTER 10
WATCH TIMER
Figure 10-1. Watch Timer Block Diagram
Prescaler
fW fW fW
24 25 26
fW fW
27 28
5-Bit Counter
Clear
fW
29
fW
213
INTWT
INTTM3
To 16-Bit Timer/
Event Counter
3
TCL24
Selector
f XT
fW
fW
214
Selector
f XX /2
Clear
Selector
7
Selector
TMC21
TMC26 TMC25 TMC24 TMC23 TMC22 TMC21 TMC20
Watch Timer Mode
Control Register
Timer Clock
Select Register 2
Internal Bus
243
CHAPTER 10
WATCH TIMER
Figure 10-2. Timer Clock Select Register 2 Format
Symbol
7
5
6
4
3
TCL2 TCL27 TCL26 TCL25 TCL24
0
2
1
0
TCL22 TCL21 TCL20
Address
FF42H
After
Reset
00H
R/W
R/W
Watchdog Timer Count Clock Selection
TCL22 TCL21 TCL20
MCS = 1
MCS = 0
0
0
0
f XX /2
3
f X /23 (625 kHz)
f X /24 (313 kHz)
0
0
1
f XX /24
f X /24 (313 kHz)
f X /25 (156 kHz)
0
1
0
f XX /25
f X /25 (156 kHz)
f X /26 (78.1 kHz)
0
1
1
f XX /26
f X /26 (78.1 kHz)
f X /27 (39.1 kHz)
1
0
0
f XX /27
f X /27 (39.1 kHz)
f X /28 (19.5 kHz)
1
0
1
f XX /28
f X /28 (19.5 kHz)
f X /29 (9.8 kHz)
1
1
0
f XX /29
f X /29 (9.8 kHz)
f X /210 (4.9 kHz)
1
1
1
f XX /211
f X /211 (2.4 kHz)
f X /212 (1.2 kHz)
Watchdog Timer Count Clock Selection
TCL24
MCS = 0
MCS = 1
7
7
0
f XX /2
f X /2 (39.1 kHz)
1
f XT (32.768 kHz)
f X /28 (19.5 kHz)
Buzzer Output Frequency Selection
TCL27 TCL26 TCL25
MCS = 1
MCS = 0
0
×
×
Buzzer output disable
1
0
0
f XX /29
f X /29 (9.8 kHz)
f X /210 (4.9 kHz)
1
0
1
f XX /210
f X /210 (4.9 kHz)
f X /211 (2.4 kHz)
1
1
0
f XX /211
f X /211 (2.4 kHz)
f X /212 (1.2 kHz)
1
1
1
Setting prohibited
Caution When rewriting TCL2 to other data, stop the timer operation beforehand.
Remarks 1. fXX
: Main system clock frequency (fX or fX/2)
2. fX
: Main system clock oscillation frequency
3. fXT
: Subsystem clock oscillation frequency
4. ×
: Don't care
5. MCS : Bit 0 of oscillation mode selection register (OSMS)
6. Figures in parentheses apply to operation with fX = 5.0 MHz or fXT = 32.768 kHz.
244
CHAPTER 10
WATCH TIMER
(2) Watch timer mode control register (TMC2)
This register sets the watch timer operating mode, watch flag set time and prescaler interval time and enables/
disables prescaler and 5-bit counter operations. TMC2 is set with a 1-bit or 8-bit memory manipulation
instruction.
RESET input sets TMC2 to 00H.
Figure 10-3. Watch Timer Mode Control Register Format
Symbol
7
TMC2
0
6
5
4
3
2
1
0
Address
TMC26 TMC25 TMC24 TMC23 TMC22 TMC21 TMC20
FF4AH
After
Reset
00H
R/W
R/W
TMC20 Watch Operating Mode Selection
0
Normal operating mode (flag set at f W /214 )
1
Fast feed operating mode (flag set at f W /25)
TMC21 Prescaler Operation Control
0
Clear after operation stop
1
Operation enable
TMC22 5-Bit Counter Operation Control
0
Clear after operation stop
1
Operation enable
Watch Flag Set Time Selection
TMC23
f XX = 5.0 MHz Operation
f XX = 4.19 MHz Operation
f XT = 32.768 kHz Operation
0
214/f W (0.4 sec)
214/f W (0.5 sec)
214/f W (0.5 sec)
1
213/f W (0.2 sec)
213/f W (0.25 sec)
213/f W (0.25 sec)
Prescaler Interval Time Selection
TMC26 TMC25 TMC24
f XX = 5.0 MHz Operation
f XX = 4.19 MHz Operation
fXT = 32.768 kHz Operation
0
0
0
2 /f W (410 µ s)
2 /f W (488 µ s)
24/f W (488 µ s)
0
0
1
25/f W (819 µ s)
25/f W (977 µ s)
25/f W (977 µ s)
0
1
0
26/f W (1.64 ms)
26/f W (1.95 ms)
26/f W (1.95 ms)
0
1
1
27/f W (3.28 ms)
27/f W (3.91 ms)
27/f W (3.91 ms)
1
0
0
28/f W (6.55 ms)
28/f W (7.81 ms)
28/f W (7.81 ms)
1
0
1
29/f W (13.1 ms)
29/f W (15.6 ms)
29/f W (15.6 ms)
Other than above
4
4
Setting prohibited
Caution When the watch timer is used, the prescaler should not be cleared frequently.
Remarks 1. fW
: Watch timer clock frequency (fXX/27 or fXT)
2. fXX
: Main system clock frequency (fX or fX/2)
3. fX
: Main system clock oscillation frequency
4. fXT
: Subsystem clock oscillation frequency
245
CHAPTER 10
WATCH TIMER
10.4 Watch Timer Operations
10.4.1 Watch timer operation
When the 32.768-kHz subsystem clock or 4.19-MHz main system clock is used, the timer operates as a watch
timer with a 0.5-second or 0.25-second interval.
The watch timer sets the test input flag (WTIF) to 1 at the constant time interval. The standby state (STOP mode/
HALT mode) can be cleared by setting WTIF to 1.
When bit 2 (TMC22) of the watch timer mode control register (TMC2) is set to 0, the 5-bit counter is cleared and
the count operation stops.
For simultaneous operation of the interval timer, zero-second start can be achieved by setting TMC22 to 0
(maximum error: 26.2 ms when operated at fXX = 5.0 MHz).
10.4.2 Interval timer operation
The watch timer operates as interval timer which generates interrupt requests repeatedly at an interval of the preset
count value.
The interval time can be selected with bits 4 to 6 (TMC24 to TMC26) of the watch timer mode control register.
Table 10-3. Interval Timer Interval Time
TMC26 TMC25 TMC24
Interval Time
When operated at
fXX = 5.0 MHz
When operated at
fXX = 4.19 MHz
When operated at
fXT = 32.768 kHz
0
0
0
24 × 1/fW
410 µs
488 µs
488 µs
0
0
1
25 × 1/fW
819 µs
977 µs
977 µs
0
1
0
26 × 1/fW
1.64 ms
1.95 ms
1.95 ms
0
1
1
27 × 1/fW
3.28 ms
3.91 ms
3.91 ms
1
0
0
28 × 1/fW
6.55 ms
7.81 ms
7.81 ms
1
0
1
29 × 1/fW
13.1 ms
15.6 ms
15.6 ms
Other than above
Remark
246
Setting prohibited
fXX :
Main system clock frequency (fX or fX/2)
fX :
Main system clock oscillation frequency
fXT :
Subsystem clock oscillation frequency
fW :
Watch timer clock frequency (fXX/27 or fXT)
CHAPTER 11 WATCHDOG TIMER
11.1 Watchdog Timer Functions
The watchdog timer has the following functions.
• Watchdog timer
• Interval timer
Caution Select the watchdog timer mode or the interval timer mode with the watchdog timer mode register
(WDTM) (The watchdog timer and interval timer cannot be used at the same time).
(1) Watchdog timer mode
An inadvertent program loop (runaway) is detected. Upon detection of the runaway, a non-maskable interrupt
request or RESET can be generated.
Table 11-1. Watchdog Timer Runaway Detection Times
Runaway Detection Time
MCS = 1
MCS = 0
211 × 1/fXX
211 × 1/fX (410 µs)
212 × 1/fX (819 µs)
212 × 1/fXX
212 × 1/fX (819 µs)
213 × 1/fX (1.64 ms)
213 × 1/fXX
213 × 1/fX (1.64 ms)
214 × 1/fX (3.28 ms)
214 × 1/fXX
214 × 1/fX (3.28 ms)
215 × 1/fX (6.55 ms)
215 × 1/fXX
215 × 1/fX (6.55 ms)
216 × 1/fX (13.1 ms)
216 × 1/fXX
216 × 1/fX (13.1 ms)
217 × 1/fX (26.2 ms)
217 × 1/fXX
217 × 1/fX (26.2 ms)
218 × 1/fX (52.4 ms)
219 × 1/fXX
219 × 1/fX (104.9 ms)
220 × 1/fX (209.7 ms)
Remarks 1. fXX
2. fX
: Main system clock frequency (fX or fX/2)
: Main system clock oscillation frequency
3. MCS : Bit 0 of oscillation mode selection register (OSMS)
4. Figures in parentheses apply to operation with fX = 5.0 MHz.
247
CHAPTER 11
WATCHDOG TIMER
(2) Interval timer mode
Interrupt requests are generated at the preset time intervals.
Table 11-2. Interval Times
Interval Time
MCS = 1
CS = 0
211 × 1/fXX
211 × 1/fX (410 µs)
212 × 1/fX (819 µs)
212 × 1/fXX
212 × 1/fX (819 µs)
213 × 1/fX (1.64 ms)
213 × 1/fXX
213 × 1/fX (1.64 ms)
214 × 1/fX (3.28 ms)
214 × 1/fXX
214 × 1/fX (3.28 ms)
215 × 1/fX (6.55 ms)
215 × 1/fXX
215 × 1/fX (6.55 ms)
216 × 1/fX (13.1 ms)
216 × 1/fXX
216 × 1/fX (13.1 ms)
217 × 1/fX (26.2 ms)
217 × 1/fXX
217 × 1/fX (26.2 ms)
218 × 1/fX (52.4 ms)
219 × 1/fXX
219 × 1/fX (104.9 ms)
220 × 1/fX (209.7 ms)
Remarks 1. fXX
2. fX
: Main system clock frequency (fX or fX/2)
: Main system clock oscillation frequency
3. MCS : Oscillation mode selection register bit 0
4. Figures in parentheses apply to operation with fX = 5.0 MHz.
248
CHAPTER 11
WATCHDOG TIMER
11.2 Watchdog Timer Configuration
The watchdog timer consists of the following hardware.
Table 11-3. Watchdog Timer Configuration
Item
Configuration
Timer clock select register 2 (TCL2)
Control register
Watchdog timer mode control register (WDTM)
Figure 11-1. Watchdog Timer Block Diagram
Internal Bus
Prescaler
TMMK4
f XX f XX f XX f XX f XX f XX f XX
24 25 26 27 28 29 211
RUN
Selector
f XX /23
TMIF4
8-Bit Counter
Control
Circuit
RESET
INTWDT
Non-Maskable
Interrupt
Request
3
TCL22 TCL21 TCL20
INTWDT
Maskable
Interrupt
Request
RUN WDTM4 WDTM3
Timer Clock Select Register 2
Watchdog Timer Mode Register
Internal Bus
249
CHAPTER 11
WATCHDOG TIMER
11.3 Watchdog Timer Control Registers
The following two types of registers are used to control the watchdog timer.
• Timer clock select register 2 (TCL2)
• Watchdog timer mode register (WDTM)
(1) Timer clock select register 2 (TCL2)
This register sets the watchdog timer count clock.
TCL2 is set with 8-bit memory manipulation instruction.
RESET input sets TCL2 to 00H.
Remark
Besides setting the watchdog timer count clock, TCL2 sets the watch timer count clock and buzzer
output frequency.
250
CHAPTER 11
WATCHDOG TIMER
Figure 11-2. Timer Clock Select Register 2 Format
Symbol
7
5
6
4
3
TCL2 TCL27 TCL26 TCL25 TCL24
0
2
1
0
TCL22 TCL21 TCL20
Address
FF42H
After
Reset
00H
R/W
R/W
Watchdog Timer Count Clock Selection
TCL22 TCL21 TCL20
MCS = 1
3
MCS = 0
3
0
0
0
f XX /2
f X /2 (625 kHz)
f X /24 (313 kHz)
0
0
1
f XX /24
f X /24 (313 kHz)
f X /25 (156 kHz)
0
1
0
f XX /25
f X /25 (156 kHz)
f X /26 (78.1 kHz)
0
1
1
f XX /26
f X /26 (78.1 kHz)
f X /27 (39.1 kHz)
1
0
0
f XX /27
f X /27 (39.1 kHz)
f X /28 (19.5 kHz)
1
0
1
f XX /28
f X /28 (19.5 kHz)
f X /29 (9.8 kHz)
1
1
0
f XX /29
f X /29 (9.8 kHz)
f X /210 (4.9 kHz)
1
1
1
f XX /211
f X /211 (2.4 kHz)
f X /212 (1.2 kHz)
Watchdog Timer Count Clock Selection
TCL24
MCS = 0
MCS = 1
7
7
0
f XX /2
f X /2 (39.1 kHz)
1
f XT (32.768 kHz)
f X /28 (19.5 kHz)
Buzzer Output Frequency Selection
TCL27 TCL26 TCL25
MCS = 1
MCS = 0
0
×
×
Buzzer output disable
1
0
0
f XX /29
f X /29 (9.8 kHz)
f X /210 (4.9 kHz)
1
0
1
f XX /210
f X /210 (4.9 kHz)
f X /211 (2.4 kHz)
1
1
0
f XX /211
f X /211 (2.4 kHz)
f X /212 (1.2 kHz)
1
1
1
Setting prohibited
Caution When rewriting TCL2 to other data, stop the timer operation beforehand.
Remarks 1. fXX
: Main system clock frequency (fX or fX/2)
2. fX
: Main system clock oscillation frequency
3. fXT
: Subsystem clock oscillation frequency
4. ×
: Don't care
5. MCS : Bit 0 of oscillation mode selection register (OSMS)
6. Figures in parentheses apply to operation with fX = 5.0 MHz or fXT = 32.768 kHz.
251
CHAPTER 11
WATCHDOG TIMER
(2) Watchdog timer mode register (WDTM)
This register sets the watchdog timer operating mode and enables/disables counting.
WDTM is set with a 1-bit or 8-bit memory manipulation instruction.
RESET input sets WDTM to 00H.
Figure 11-3. Watchdog Timer Mode Register Format
<7>
6
5
WDTM RUM
0
0
Symbol
4
3
WDTM4 WDTM3
2
1
0
Address
After
Reset
R/W
0
0
0
FFF9H
00H
R/W
WDTM4 WDTM3
Watchdog Timer Operation Mode
SelectionNote 1
0
×
Interval timer modeNote 2
(Maskable interrupt request occurs upon
generation of an overflow.)
1
0
Watchdog timer mode 1
(Non-maskable interrupt request occurs
upon generation of an overflow.)
1
1
Watchdog timer mode 2
(Reset operation is activated upon
generation of an overflow.)
RUN
Watchdog Timer Operation Mode SelectionNote 3
0
Count stop
1
Counter is cleared and counting starts.
Notes 1. Once set to 1, WDTM3 and WDTM4 cannot be cleared to 0 by software.
2. The watchdog timer starts operating as an interval timer as soon as RUN has been set to 1.
3. Once set to 1, RUN cannot be cleared to 0 by software.
Thus, once counting starts, counting can only be stopped by RESET input.
Cautions 1. When 1 is set in RUN so that the watchdog timer is cleared, the actual overflow time is
up to 0.5 % shorter than the time set by timer clock select register 2 (TCL2).
2. To use watchdog timer modes 1 and 2, make sure that the interrupt request flag (TMIF4)
is 0, and then set WDTM4 to 1.
If WDTM4 is set to 1 when TMIF4 is 1, the non-maskable interrupt request occurs,
regardless of the contents of WDTM3.
Remark
252
×: Don’t care
CHAPTER 11
WATCHDOG TIMER
11.4 Watchdog Timer Operations
11.4.1 Watchdog timer operation
When bit 4 (WDTM4) of the watchdog timer mode register (WDTM) is set to 1, the watchdog timer is operated
to detect any runaway.
The watchdog timer count clock (runaway detection time interval) can be selected with bits 0 to 2 (TCL20 to TCL22)
of the timer clock select register 2 (TCL2).
Watchdog timer starts by setting bit 7 (RUN) of WDTM to 1. After the watchdog timer is started, set RUN to 1
within the set runaway detection time interval. The watchdog timer can be cleared and counting is started by setting
RUN to 1. If RUN is not set to 1 and the runaway detection time is past, system reset or a non-maskable interrupt
request is generated according to the WDTM bit 3 (WDTM3) value.
By setting RUN to 1, the watchdog timer can be cleared.
The watchdog timer continues operating in the HALT mode but it stops in the STOP mode. Thus, set RUN to 1
before the STOP mode is set, clear the watchdog timer and then execute the STOP instruction.
Cautions 1. The actual runaway detection time may be shorter than the set time by a maximum of
0.5 %.
2. When the subsystem clock is selected for CPU clock, watchdog timer count operation is
stopped.
Table 11-4. Watchdog Timer Runaway Detection Times
TCL22 TCL21 TCL20
Runaway Detection Time
MCS = 1
MCS = 0
0
0
0
211 × 1/fXX
211 × 1/fX (410 µs)
212 × 1/fX (819 µs)
0
0
1
212 × 1/fXX
212 × 1/fX (819 µs)
213 × 1/fX (1.64 ms)
0
1
0
213 × 1/fXX
213 × 1/fX (1.64 ms)
214 × 1/fX (3.28 ms)
0
1
1
214 × 1/fXX
214 × 1/fX (3.28 ms)
215 × 1/fX (6.55 ms)
1
0
0
215 × 1/fXX
215 × 1/fX (6.55 ms)
216 × 1/fX (13.1 ms)
1
0
1
216 × 1/fXX
216 × 1/fX (13.1 ms)
217 × 1/fX (26.2 ms)
1
1
0
217 × 1/fXX
217 × 1/fX (26.2 ms)
218 × 1/fX (52.4 ms)
1
1
1
219 × 1/fXX
219 × 1/fX (104.9 ms)
220 × 1/fX (209.7 ms)
Remarks 1. fXX
: Main system clock frequency (fX or fX/2)
2. fX
: Main system clock oscillation frequency
3. MCS
: Bit 0 of oscillation mode selection register (OSMS)
4. TCL20 to TCL22 : Bits 0 to 2 of timer clock select register 2 (TCL2)
5. Figures in parentheses apply to operation with fX = 5.0 MHz.
253
CHAPTER 11
WATCHDOG TIMER
11.4.2 Interval timer operation
The watchdog timer operates as an interval timer which generates interrupt requests repeatedly at an interval of
the preset count value when bit 4 (WDTM4) of the watchdog timer mode register (WDTM) is set to 0.
A count clock (interval time) can be selected by the bits 0 through 2 (TCL20 through TCL22) of the timer clock
select register 2 (TCL2). By setting the bit 7 (RUN) of WDTM to 1, the watchdog timer starts operating as an interval
timer.
When the watchdog timer operated as interval timer, the interrupt mask flag (TMMK4) and priority specify flag
(TMPR4) are validated and the maskable interrupt request (INTWDT) can be generated. Among maskable interrupt
requests, the INTWDT default has the highest priority.
The interval timer continues operating in the HALT mode but it stops in STOP mode. Thus, set bit 7 (RUN) of
WDTM to 1 before the STOP mode is set, clear the interval timer and then execute the STOP instruction.
Cautions 1. Once bit 4 (WDTM4) of WDTM is set to 1 (with the watchdog timer mode selected), the interval
timer mode is not set unless RESET input is applied.
2. The interval time just after setting with WDTM may be shorter than the set time by a maximum
of 0.5 %.
3. When the subsystem clock is selected for CPU clock, watchdog timer count operation is
stopped.
Table 11-5. Interval Timer Interval Time
TCL22 TCL21 TCL20
Interval Time
MCS = 1
MCS = 0
0
0
0
211 × 1/fXX
211 × 1/fX (410 µs)
212 × 1/fX (819 µs)
0
0
1
212 × 1/fXX
212 × 1/fX (819 µs)
213 × 1/fX (1.64 ms)
0
1
0
213 × 1/fXX
213 × 1/fX (1.64 ms)
214 × 1/fX (3.28 ms)
0
1
1
214 × 1/fXX
214 × 1/fX (3.28 ms)
215 × 1/fX (6.55 ms)
1
0
0
215 × 1/fXX
215 × 1/fX (6.55 ms)
216 × 1/fX (13.1 ms)
1
0
1
216 × 1/fXX
216 × 1/fX (13.1 ms)
217 × 1/fX (26.2 ms)
1
1
0
217 × 1/fXX
217 × 1/fX (26.2 ms)
218 × 1/fX (52.4 ms)
1
1
1
219 × 1/fXX
219 × 1/fX (104.9 ms)
220 × 1/fX (209.7 ms)
Remarks 1. fXX
: Main system clock frequency (fX or fX/2)
2. fX
: Main system clock oscillation frequency
3. MCS
: Bit 0 of oscillation mode selection register (OSMS)
4. TCL20 to TCL22 : Bits 0 to 2 of timer clock select register 2 (TCL2)
5. Figures in parentheses apply to operation with fX = 5.0 MHz.
254
CHAPTER 12 CLOCK OUTPUT CONTROL CIRCUIT
12.1 Clock Output Control Circuit Functions
The clock output control circuit is intended for carrier output during remote controlled transmission and clock output
for supply to peripheral LSI. Clocks selected with the timer clock select register 0 (TCL0) are output from the PCL/
P35 pin.
Follow the procedure below to output clock pulses.
(1) Select the clock pulse output frequency (with clock pulse output disabled) with bits 0 to 3 (TCL00 to TCL03)
of TCL0.
(2) Set the P35 output latch to 0.
(3) Set bit 5 (PM35) of port mode register 3 (PM3) to 0 (set to output mode).
(4) Set bit 7 (CLOE) of timer clock select register 0 (TCL0) to 1.
Caution Clock output cannot be used when setting P35 output latch to 1.
Remark
When clock output enable/disable is switched, the clock output control circuit does not output pulses
with small widths (See the portions marked with * in Figure 12-1).
Figure 12-1. Remote Controlled Output Application Example
CLOE
*
*
PCL/P35 Pin Output
255
CHAPTER 12
CLOCK OUTPUT CONTROL CIRCUIT
12.2 Clock Output Control Circuit Configuration
The clock output control circuit consists of the following hardware.
Table 12-1. Clock Output Control Circuit Configuration
Item
Control register
Configuration
Timer clock select register 0 (TCL0)
Port mode register 3 (PM3)
Figure 12-2. Clock Output Control Circuit Block Diagram
f XX
f XX /2
f XX /23
f XX /24
f XX /25
Selector
f XX /22
Synchronizing
Circuit
PCL /P35
f XX /26
f XX /27
f XT
4
CLOE TCL03 TCL02 TCL01 TCL00
P35
Output Latch
Port Mode Register 3
Timer Clock Select Register 0
Internal Bus
256
PM35
CHAPTER 12
CLOCK OUTPUT CONTROL CIRCUIT
12.3 Clock Output Function Control Registers
The following two types of registers are used to control the clock output function.
• Timer clock select register 0 (TCL0)
• Port mode register 3 (PM3)
(1) Timer clock select register 0 (TCL0)
This register sets PCL output clock.
TCL0 is set with a 1-bit or 8-bit memory manipulation instruction.
RESET input sets TCL0 to 00H.
Remark
Besides setting PCL output clock, TCL0 sets the 16-bit timer register count clock.
257
CHAPTER 12
CLOCK OUTPUT CONTROL CIRCUIT
Figure 12-3. Timer Clock Select Register 0 Format
Symbol
<7>
6
5
4
3
2
1
0
Address
TCL0 CLOE TCL06 TCL05 TCL04 TCL03 TCL02 TCL01 TCL00
FF40H
After
Reset
00H
R/W
R/W
PCL Output Clock Selection
TCL03 TCL02 TCL01 TCL00
MCS = 1
MCS = 0
f X /2 (2.5 MHz)
0
0
0
0
f XT (32.768 kHz)
0
1
0
1
f XX
fX
0
1
1
0
f XX /2
f X /2 (2.5 MHz)
f X /22 (1.25 MHz)
0
1
1
1
f XX /22
f X /22 (1.25 MHz)
f X /23 (625 kHz)
1
0
0
0
f XX /23
f X /23 (625 kHz)
f X /24 (313 kHz)
1
0
0
1
f XX /24
f X /24 (313 kHz)
f X /25 (156 kHz)
1
0
1
0
f XX /25
f X /25 (156 kHz)
f X /26 (78.1 kHz)
1
0
1
1
f XX /26
f X /26 (78.1 kHz)
f X /27 (39.1 kHz)
1
1
0
0
f XX /27
f X /27 (39.1 kHz)
f X /28 (19.5 kHz)
(5.0 MHz)
Setting prohibited
Other than above
16-Bit Timer Register Count Clock Selection
TCL06 TCL05 TCL04
MCS = 1
MCS = 0
0
0
0
TI00 (Valid edge specifiable)
0
0
1
2f XX
Setting prohibited
fX
0
1
0
f XX
fX
f X /2 (2.5 MHz)
0
1
1
f XX /2
f X /2 (2.5 MHz)
f X /22 (1.25 MHz)
1
0
0
f XX /22
f X /22 (1.25 MHz)
f X /23 (625 kHz)
1
1
1
Watch Timer Output (INTTM3)
Other than above
CLOE
(5.0 MHz)
(5.0 MHz)
Setting prohibited
PCL Output Control
0
Output disable
1
Output enable
Cautions 1. Set the TI00/P00/INTP0 pin valid edge by external interrupt mode register 0 (INTM0), and
select the sampling clock frequency by the sampling clock selection register (SCS).
2. When enabling PCL output, set TCL00 to TCL03, then set 1 in CLOE with a 1-bit memory
manipulation instruction.
3. To read the count value when TI00 has been specified as the TM0 count clock, the value
should be read from TM0, not from 16-bit capture/compare register 01 (CR01).
4. When rewriting TCL0 to other data, stop the clock operation beforehand.
258
CHAPTER 12
Remarks 1. fXX
CLOCK OUTPUT CONTROL CIRCUIT
: Main system clock frequency (fX or fX/2)
2. fX
: Main system clock oscillation frequency
3. fXT
: Subsystem clock oscillation frequency
4. TI00 : 16-bit timer/event counter input pin
5. TM0 : 16-bit timer register
6. MCS : Oscillation mode selection register (OSMS) bit 0
7. Figures in parentheses apply to operation with fX = 5.0 MHz or fXT = 32.768 kHz.
(2) Port mode register 3 (PM3)
This register set port 3 input/output in 1-bit units.
When using the P35/PCL pin for clock output function, set PM35 and output latch of P35 to 0.
PM3 is set with a 1-bit or 8-bit memory manipulation instruction.
RESET input sets PM3 to FFH.
Figure 12-4. Port Mode Register 3 Format
Symbol
PM3
7
6
5
4
3
2
1
0
PM37 PM36 PM35 PM34 PM33 PM32 PM31 PM30
Address
After
Reset
R/W
FF23H
FFH
R/W
PM3n P3n Pin Input/Output Mode Selection (n = 0 to 7)
0
Output mode (output buffer ON)
1
Input mode (output buffer OFF)
259
[MEMO]
260
CHAPTER 13 BUZZER OUTPUT CONTROL CIRCUIT
13.1 Buzzer Output Control Circuit Functions
The buzzer output control circuit outputs 1.2 kHz, 2.4 kHz, 4.9 kHz, or 9.8 kHz frequency square waves. The buzzer
frequency selected with timer clock select register 2 (TCL2) is output from the BUZ/P36 pin.
Follow the procedure below to output the buzzer frequency.
(1) Select the buzzer output frequency with bits 5 to 7 (TCL25 to TCL27) of TCL2.
(2) Set the P36 output latch to 0.
(3) Set bit 6 (PM36) of port mode register 3 (PM3) to 0 (Set to output mode).
Caution Buzzer output cannot be used when setting P36 output latch to 1.
13.2 Buzzer Output Control Circuit Configuration
The buzzer output control circuit consists of the following hardware.
Table 13-1. Buzzer Output Control Circuit Configuration
Item
Control register
Configuration
Timer clock select register 2 (TCL2)
Port mode register 3 (PM3)
Figure 13-1. Buzzer Output Control Circuit Block Diagram
Selector
f XX /29
f XX /210
f XX /211
BUZ/P36
3
TCL27 TCL26 TCL25
P36
Output Latch
PM36
Port Mode Register 3
Timer Clock Select Register 2
Internal Bus
261
CHAPTER 13
BUZZER OUTPUT CONTROL CIRCUIT
13.3 Buzzer Output Function Control Registers
The following two types of registers are used to control the buzzer output function.
• Timer clock select register 2 (TCL2)
• Port mode register 3 (PM3)
(1) Timer clock select register 2 (TCL2)
This register sets the buzzer output frequency.
TCL2 is set with an 8-bit memory manipulation instruction.
RESET input sets TCL2 to 00H.
Remark
Besides setting the buzzer output frequency, TCL2 sets the watch timer count clock and the
watchdog timer count clock.
262
CHAPTER 13
BUZZER OUTPUT CONTROL CIRCUIT
Figure 13-2. Timer Clock Select Register 2 Format
Symbol
7
5
6
4
3
TCL2 TCL27 TCL26 TCL25 TCL24
0
2
1
0
TCL22 TCL21 TCL20
Address
FF42H
After
Reset
00H
R/W
R/W
Watchdog Timer Count Clock Selection
TCL22 TCL21 TCL20
MCS = 1
MCS = 0
0
0
0
f XX /23
f X /23 (625 kHz)
f X /24 (313 kHz)
0
0
1
f XX /24
f X /24 (313 kHz)
f X /25 (156 kHz)
0
1
0
f XX /25
f X /25 (156 kHz)
f X /26 (78.1 kHz)
0
1
1
f XX /26
f X /26 (78.1 kHz)
f X /27 (39.1 kHz)
1
0
0
f XX /27
f X /27 (39.1 kHz)
f X /28 (19.5 kHz)
1
0
1
f XX /28
f X /28 (19.5 kHz)
f X /29 (9.8 kHz)
1
1
0
f XX /29
f X /29 (9.8 kHz)
f X /210 (4.9 kHz)
1
1
1
f XX /211
f X /211 (2.4 kHz)
f X /212 (1.2 kHz)
Watchdog Timer Count Clock Selection
TCL24
0
f XX /27
1
f XT (32.768 kHz)
MCS = 1
MCS = 0
f X /27 (39.1 kHz)
f X /28 (19.5 kHz)
Buzzer Output Frequency Selection
TCL27 TCL26 TCL25
MCS = 1
MCS = 0
0
×
×
Buzzer output disable
1
0
0
f XX /2
f X /29 (9.8 kHz)
f X /210 (4.9 kHz)
1
0
1
f XX /210
f X /210 (4.9 kHz)
f X /211 (2.4 kHz)
1
1
0
f XX /211
f X /211 (2.4 kHz)
f X /212 (1.2 kHz)
1
1
1
Setting prohibited
9
Caution When rewriting TCL2 to other data, stop the timer operation beforehand.
Remarks 1. fXX
: Main system clock frequency (fX or fX/2)
2. fX
: Main system clock oscillation frequency
3. fXT
: Subsystem clock oscillation frequency
4. ×
: don't care
5. MCS : Bit 0 of oscillation mode selection register (OSMS)
6. Figures in parentheses apply to operation with fX = 5.0 MHz or fXT = 32.768 kHz.
263
CHAPTER 13
BUZZER OUTPUT CONTROL CIRCUIT
(2) Port mode register 3 (PM3)
This register sets port 3 input/output in 1-bit units.
When using the P36/BUZ pin for buzzer output function, set PM36 and output latch of P36 to 0.
PM3 is set with a 1-bit or 8-bit memory manipulation instruction.
RESET input sets PM3 to FFH.
Figure 13-3. Port Mode Register 3 Format
Symbol
PM3
7
6
5
4
3
2
1
0
PM37 PM36 PM35 PM34 PM33 PM32 PM31 PM30
Address
After
Reset
R/W
FF23H
FFH
R/W
PM3n P3n Pin Input/Output Mode Selection (n=0 to 7)
264
0
Output mode (output buffer ON)
1
Input mode (output buffer OFF)
CHAPTER 14 A/D CONVERTER
14.1 A/D Converter Functions
The A/D converter converts an analog input into a digital value. It consists of 8 channels (ANI0 to ANI7) with an
8-bit resolution.
The conversion method is based on successive approximation and the conversion result is held in the 8-bit A/D
conversion result register (ADCR).
The following two ways are available to start A/D conversion.
(1) Hardware start
Conversion is started by trigger input (INTP3).
(2) Software start
Conversion is started by setting the A/D converter mode register (ADM).
Select one channel of analog input from ANI0 to ANI7 and perform A/D conversion. In the case of hardware start,
A/D conversion operation stops when an A/D conversion ends, and an interrupt request (INTAD) is generated. In
the case of software start, the A/D conversion operation is repeated. Each time an A/D conversion operation ends,
an interrupt request (INTAD) is generated.
14.2 A/D Converter Configuration
The A/D converter consists of the following hardware.
Table 14-1. A/D Converter Configuration
Item
Analog input
Configuration
8 Channels (ANI0 to ANI7)
A/D converter mode register (ADM)
Control register
A/D converter input select register (ADIS)
External interrupt mode register 1 (INTM1)
Register
Successive approximation register (SAR)
A/D conversion result register (ADCR)
265
CHAPTER 14
A/D CONVERTER
Figure 14-1. A/D Converter Block Diagram
Internal Bus
A / D Converter Input Select Register
ADIS3 ADIS2 ADIS1 ADIS0
4
Note 2
Sample & Hold Circuit
Voltage
Comparator
Successive
Approximation
Register (SAR)
Tap Selector
Note 1
Selector
Series Resistor String
Selector
ANI0/P10
ANI1/P11
ANI2/P12
ANI3/P13
ANI4/P14
ANI5/P15
ANI6/P16
ANI7/P17
AVDD
AVREF0
AVSS
3
ADM1-ADM3
Edge
Detector
INTP3/P03
Control
Circuit
INTP3
ES40, ES41Note 3
3
Trigger Enable
CS TRG FR1 FR0 ADM3 ADM2 ADM1 HSC
A / D Conversion
Result Register
(ADCR)
A /D Converter Mode Register
Internal Bus
Notes 1. Selector to select the number of channels to be used for analog input.
2. Selector to select the channel for A/D conversion.
3. Bits 0 and 1 of external interrupt mode register 1 (INTM1)
266
INTAD
CHAPTER 14
A/D CONVERTER
(1) Successive approximation register (SAR)
This register compares the analog input voltage value to the voltage tap (compare voltage) value applied from
the series resistor string and holds the result from the most significant bit (MSB).
When up to the least significant bit (LSB) is held (termination of A/D conversion), the SAR contents are
transferred to the A/D conversion result register (ADCR).
(2) A/D conversion result register (ADCR)
This register holds the A/D conversion result. Each time A/D conversion terminates, the conversion result
is loaded from the successive approximation register (SAR).
ADCR is read with an 8-bit memory manipulation instruction.
RESET input makes ADCR undefined.
(3) Sample & hold circuit
The sample & hold circuit samples each analog input signal sequentially applied from the input circuit and
sends it to the voltage comparator. This circuit holds the sampled analog input voltage value during A/D
conversion.
(4) Voltage comparator
The voltage comparator compares the analog input to the series resistor string output voltage.
(5) Series resistor string
The series resistor string is connected between AVREF0 and AVSS and generates a voltage to be compared
to the analog input.
(6) ANI0 to ANI7 pins
These are 8-channel analog input pins to input analog signals to undergo A/D conversion to the A/D converter.
Pins other than those selected as analog input by the A/D converter input select register (ADIS) can be used
as input/output ports.
Cautions 1. Use ANI0 to ANI7 input voltages within the specified range. If a voltage higher than AVREF0
or lower than AVSS is applied (even if within the absolute maximum ratings), the converted
value of the corresponding channel becomes indeterminate and may adversely affect the
converted values of other channels.
2. Analog input (ANI0 to ANI7) pins are multiplexed with the input/output port (port 1). When
performing A/D conversion with one of ANI0 to ANI7 selected, do not execute an input
instruction to port 1 during conversion. Otherwise, the conversion resolution may be
deteriorated. In addition, if a digital pulse is applied to a pin adjacent to the pin performing
A/D conversion, the desired A/D conversion value may not be obtained due to coupling
noise. Therefore, do not apply a pulse to a pin adjacent to the pin performing A/D
conversion.
267
CHAPTER 14
A/D CONVERTER
(7) AVREF0 pin
This pin inputs the A/D converter reference voltage.
It converts signals input to ANI0 to ANI7 into digital signals according to the voltage applied between AVREF0
and AVSS.
The current flowing in the series resistor string can be reduced by setting the voltage to be input to the AVREF0
pin to AVSS level in standby mode.
Caution A serial resistor string of approximately 10 kΩ is connected between the AVREF0 pin and the
AVSS pin. Therefore, when the output impedance of the reference voltage is high, it is
connected in parallel to the serial resistor string between the AVREF0 pin and the AVSS pin
so that the reference voltage error increases.
(8) AVSS pin
This is a GND potential pin of the A/D converter. Keep it at the same potential as the VSS pin when not using
the A/D converter.
(9) AVDD pin
This is an A/D converter analog power supply pin. Keep it at the same potential as the VSS pin when not using
the A/D converter.
Caution AVDD pin is the power supply pin of the analog circuit, and it supplies power also to the input
circuit of ANI0/P10 to ANI7/P17. Therefore, always supply the voltage of the same level as
VDD as shown in Figure 14-2 also in applications which switch to backup power supply.
Figure 14-2. Handling of AVDD Pin
AVREF0
VDD
Main
power
supply
AVDD
Capacitor
for back-up
AVSS
VSS
268
CHAPTER 14
A/D CONVERTER
14.3 A/D Converter Control Registers
The following three types of registers are used to control the A/D converter.
• A/D converter mode register (ADM)
• A/D converter input select register (ADIS)
• External interrupt mode register 1 (INTM1)
(1) A/D converter mode register (ADM)
This register sets the analog input channel for A/D conversion, conversion time, conversion start/stop and
external trigger.
ADM is set with a 1-bit or 8-bit memory manipulation instruction.
RESET input sets ADM to 01H.
269
CHAPTER 14
A/D CONVERTER
Figure 14-3. A/D Converter Mode Register Format
Symbol
<7>
<6>
5
ADM
CS
TRG
FR1
4
3
2
1
0
FR0 ADM3 ADM2 ADM1 HSC
ADM3 ADM2 ADM1
After
Reset
01H
Address
FF80H
R/W
R/W
Analog Input Channel Selection
0
0
0
ANI0
0
0
1
ANI1
0
1
0
ANI2
0
1
1
ANI3
1
0
0
ANI4
1
0
1
ANI5
1
1
0
ANI6
1
1
1
ANI7
Note 1
A/D Conversion Time Selection
FR1
FR0
HSC fX = 5.0 MHz Operation
MCS = 1
fX = 4.19 MHz Operation
MCS = 0
MCS = 1
MCS = 0
160/f X (38.1 µ s)
0
0
1
80/f X (Setting prohibitedNote 2) 160/f X (32.0 µ s)
80/f X (19.1 µ s)
0
1
1
40/f X (Setting prohibitedNote 2) 80/f X (Setting prohibitedNote 2)
40/f X (Setting prohibited
Note 2
1
0
0
50/f X (Setting prohibited
1
0
1
100/f X (20.0 µ s)
Other than above
TRG
) 100/f X (20.0 µ s)
200/f X (40.0 µ s)
) 80/f X (19.1 µ s)
Note 2
) 100/f X (23.8 µ s)
50/f X (Setting prohibited
100/f X (23.8 µ s)
200/f X (47.7 µ s)
Setting prohibited
External Trigger Selection
0
No external trigger (software starts)
1
Conversion started by external trigger (hardware starts)
CS
Note 2
A/D Conversion Operation Control
0
Operation stop
1
Operation start
Notes 1. Set so that the A/D conversion time is 19.1 µs or more.
2. Setting prohibited because A/D conversion time is less than 19.1 µs.
Cautions 1. The following sequence is recommended for power consumption reduction of A/D
converter when the standby function is used: Clear bit 7 (CS) to 0 first to stop the
A/D conversion operation, and then execute the HALT or STOP instruction.
2. When restarting the stopped A/D conversion operation, start the A/D conversion
operation after clearing the interrupt request flag (ADIF) to 0.
Remarks 1. fX
: Main system clock oscillation frequency
2. MCS : Bit 0 of oscillation mode selection register (OSMS)
270
CHAPTER 14
A/D CONVERTER
(2) A/D converter input select register (ADIS)
This register determines whether the ANI0/P10 to ANI7/P17 pins should be used for analog input channels
or ports. Pins other than those selected as analog input can be used as input/output ports.
ADIS is set with an 8-bit memory manipulation instruction.
RESET input sets ADIS to 00H.
Cautions 1. Set the analog input channel in the following order.
(1) Set the number of analog input channels with ADIS.
(2) Using A/D converter mode register (ADM), select one channel to undergo A/D
conversion from among the channels set for analog input with ADIS.
2. No internal pull-up resistor can be used to the channels set for analog input with ADIS,
irrespective of the value of bit 1 (PUO1) of the pull-up resistor option register L (PUOL).
Figure 14-4. A/D Converter Input Select Register Format
Symbol
7
6
5
4
ADIS
0
0
0
0
3
2
1
0
ADIS3 ADIS2 ADIS1 ADIS0
Address
After
Reset
R/W
FF84H
00H
R/W
ADIS3 ADIS2 ADIS1 ADIS0 Number of Analog Input Channel Selection
0
0
0
0
No analog input channel (P10-P17)
0
0
0
1
1 channel (ANI0, P11-P17)
0
0
1
0
2 channel (ANI0, ANI1, P12-P17)
0
0
1
1
3 channel (ANI0-ANI2, P13-P17)
0
1
0
0
4 channel (ANI0-ANI3, P14-P17)
0
1
0
1
5 channel (ANI0-ANI4, P15-P17)
0
1
1
0
6 channel (ANI0-ANI5, P16, P17)
0
1
1
1
7 channel (ANI0-ANI6, P17)
1
0
0
0
8 channel (ANI0-ANI7)
Other than above
Setting prohibited
271
CHAPTER 14
A/D CONVERTER
(3) External interrupt mode register 1 (INTM1)
This register sets the valid edge for INTP3 to INTP6.
INTM1 is set with an 8-bit memory manipulation instruction.
RESET input sets INTM1 to 00H.
Figure 14-5. External Interrupt Mode Register 1 Format
Symbol
7
6
5
4
3
2
1
0
INTM1 ES71 ES70 ES61 ES60 ES51 ES50 ES41 ES40
Address
After
Reset
R/W
FFEDH
00H
R/W
ES41 ES40 INTP3 Valid Edge Selection
0
0
Falling edge
0
1
Rising edge
1
0
Setting prohibited
1
1
Both falling and rising edges
ES51 ES50 INTP4 Valid Edge Selection
0
0
Falling edge
0
1
Rising edge
1
0
Setting prohibited
1
1
Both falling and rising edges
ES61 ES60 INTP5 Valid Edge Selection
0
0
Falling edge
0
1
Rising edge
1
0
Setting prohibited
1
1
Both falling and rising edges
ES71 ES70 INTP6 Valid Edge Selection
272
0
0
Falling edge
0
1
Rising edge
1
0
Setting prohibited
1
1
Both falling and rising edges
CHAPTER 14
A/D CONVERTER
14.4 A/D Converter Operations
14.4.1 Basic operations of A/D converter
(1) Set the number of analog input channels with A/D converter input select register (ADIS).
(2) From among the analog input channels set with ADIS, select one channel for A/D conversion with A/D converter
mode register (ADM).
(3) Sample & hold circuit samples the voltage input to the selected analog input channel.
(4) Sampling for the specified period of time sets the sample & hold circuit to the hold state so that the circuit
holds the input analog voltage until termination of A/D conversion.
(5) Bit 7 of the successive approximation register (SAR) is set and the tap selector sets the series resistor string
voltage tap to (1/2) AVREF0.
(6) The voltage difference between the series resistor string voltage tap and analog input is compared with a
voltage comparator. If the analog input is greater than (1/2) AVREF0, the MSB of SAR remains set. If the input
is smaller than (1/2) AVREF0, the MSB is reset.
(7) Next, bit 6 of SAR is automatically set and the operation proceeds to the next comparison. In this case, the
series resistor string voltage tap is selected according to the preset value of bit 7 as described below.
• Bit 7 = 1 : (3/4) AVREF0
• Bit 7 = 0 : (1/4) AVREF0
The voltage tap and analog input voltage are compared and bit 6 of SAR is manipulated with the result as
follows.
• Analog input voltage ≥ Voltage tap : Bit 6 = 1
• Analog input voltage < Voltage tap : Bit 6 = 0
(8) Comparison of this sort continues up to bit 0 of SAR.
(9) Upon completion of the comparison of 8 bits, any effective digital resultant value remains in SAR and the
resultant value is transferred to and latched in the A/D conversion result register (ADCR).
At the same time, the A/D conversion termination interrupt request (INTAD) can also be generated.
273
CHAPTER 14
A/D CONVERTER
Figure 14-6. A/D Converter Basic Operation
Conversion
Time
Sampling Time
A/D Converter
Operation
Sampling
SAR
Undefined
A /D Conversion
80H
C0H
or
40H
ADCR
Conversion
Result
Conversion
Result
INTAD
A/D conversion operations are performed continuously until bit 7 (CS) of ADM is reset (0) by software.
If a write to the ADM is performed during an A/D conversion operation, the conversion operation is initialized, and
if the CS bit is set (1), conversion starts again from the beginning.
After RESET input, the value of ADCR is undefined.
274
CHAPTER 14
A/D CONVERTER
14.4.2 Input voltage and conversion results
The relation between the analog input voltage input to the analog input pins (ANI0 to ANI7) and the A/D conversion
result (the value stored in A/D conversion result register (ADCR)) is shown by the following expression.
VIN
ADCR = INT (
× 256 + 0.5)
AVREF0
or
(ADCR – 0.5) ×
Where,
AVREF0
≤ VIN < (ADCR + 0.5) × AVREF0
256
256
INT( ) : Function which returns integer parts of value in parentheses.
VIN
: Analog input voltage
AVREF0 : AVREF0 pin voltage
ADCR : Value of A/D conversion result register (ADCR)
Figure 14-7 shows the relation between the analog input voltage and the A/D conversion result.
Figure 14-7. Relations between Analog Input Voltage and A/D Conversion Result
255
254
A/D Conversion
Results
(ADCR)
253
3
2
1
0
1
1
3
2
5
3
512 256 512 256 512 256
507 254 509 255 511
512 256 512 256 512
1
Input Voltage/AVREF0
275
CHAPTER 14
A/D CONVERTER
14.4.3 A/D converter operating mode
Select one analog input channel from ANI0 to ANI7 with A/D converter input select register (ADIS) and A/D
converter mode register (ADM), and start A/D conversion.
The following two ways are available to start A/D conversion.
• Hardware start: Conversion is started by trigger input (INTP3).
• Software start: Conversion is started by setting ADM.
The A/D conversion result is stored in the A/D conversion result register (ADCR) and the interrupt request signal
(INTAD) is simultaneously generated.
(1) A/D conversion by hardware start
When bit 6 (TRG) and bit 7 (CS) of A/D converter mode register (ADM) are set to 1, the A/D conversion standby
state is set. When the external trigger signal (INTP3) is input, the A/D conversion starts on the voltage applied
to the analog input pins specified with bits 1 to 3 (ADM1 to ADM3) of ADM.
Upon termination of the A/D conversion, the conversion result is stored in the A/D conversion result register
(ADCR) and the interrupt request signal (INTAD) is generated. After one A/D conversion operation is started
and terminated, another operation is not started until a new external trigger signal is input.
If data with CS set to 1 is written to ADM again during A/D conversion, the converter suspends its A/D
conversion operation and waits for a new external trigger signal to be input. When the external trigger input
signal is reinput, A/D conversion is carried out from the beginning.
If data with CS set to 0 is written to ADM during A/D conversion, the A/D conversion operation stops
immediately.
Figure 14-8. A/D Conversion by Hardware Start
INTP3
ADM Rewrite
CS=1, TRG=1
ADM Rewrite
CS=1, TRG=1
A /D Conversion
Standby
State
ADCR
ANIn
ANIn
INTAD
Remarks 1. n = 0, 1, ... , 7
2. m = 0, 1, ... , 7
276
ANIn
Standby
State
ANIn
ANIn
Standby
State
ANIn
ANIm
ANIm
ANIm
ANIm
ANIm
CHAPTER 14
A/D CONVERTER
(2) A/D conversion operation in software start
When bit 6 (TRG) and bit 7 (CS) of A/D converter mode register (ADM) are set to 0 and 1, respectively, the
A/D conversion starts on the voltage applied to the analog input pins specified with bits 1 to 3 (ADM1 to
ADM3) of ADM.
Upon termination of the A/D conversion, the conversion result is stored in the A/D conversion result register
(ADCR) and the interrupt request signal (INTAD) is generated. After one A/D conversion operation is started
and terminated, the next A/D conversion operation starts immediately.
The A/D conversion operation
continues repeatedly until new data is written to ADM.
If data with CS set to 1 is written to ADM again during A/D conversion, the converter suspends its A/D
conversion operation and starts A/D conversion on the newly written data.
If data with CS set to 0 is written to ADM during A/D conversion, the A/D conversion operation stops
immediately.
Figure 14-9. A/D Conversion by Software Start
Conversion Start
CS=1, TRG=0
A /D Conversion
ANIn
ANIn
ADM Rewrite
CS=1, TRG=0
ADM Rewrite
CS=0, TRG=0
ANIn
ANIm
ANIm
Conversion suspended
Conversion results are
not stored
ADCR
ANIn
ANIn
Stop
ANIm
INTAD
Remarks 1. n = 0, 1, ... , 7
2. m = 0, 1, ... , 7
277
CHAPTER 14
A/D CONVERTER
14.5 A/D Converter Cautions
(1) Power consumption in standby mode
The A/D converter operates on the main system clock. Therefore, its operation stops in STOP mode or in
HALT mode with the subsystem clock. As a current still flows in the AVREF0 pin at this time, this current must
be cut in order to minimize the overall system power dissipation. In Figure 14-10, the power dissipation can
be reduced by outputting a low-level signal to the output port in standby mode. However, there is no precision
to the actual AVREF0 voltage, and therefore the conversion values themselves lack precision and can only be
used for relative comparison.
Figure 14-10. Example of Method of Reducing Current Dissipation in Standby Mode
VDD
Output Port
µ PD78054, 78054Y
AVREF0
. VDD
AVREF0 =
.
Series Resistor String
AVSS
(2) Input range of ANI0 to ANI7
The input voltages of ANI0 to ANI7 should be within the specification range. In particular, if a voltage above
AVREF0 or below AVSS is input (even if within the absolute maximum rating range), the conversion value for
that channel will be indeterminate. The conversion values of the other channels may also be affected.
278
CHAPTER 14
A/D CONVERTER
(3) Noise countermeasures
In order to maintain 8-bit resolution, attention must be paid to noise on pins AVREF0 and ANI0 to ANI7. Since
the effect increases in proportion to the output impedance of the analog input source, it is recommended that
a capacitor be connected externally as shown in Figure 14-11 in order to reduce noise.
Figure 14-11. Analog Input Pin Disposition
If there is possibility that noise whose
level is AVREF0 or higher or AVSS or lower may enter,
clamp with a diode with a small VF (0.3 V or less).
Reference
Voltage Input
AVREF0
ANI0-ANI7
VDD
C=100-1000 pF
VDD
AVDD
AVSS
VSS
(4) Pins ANI0/P10 to ANI7/P17
The analog input pins ANI0 to ANI7 also function as input/output port (PORT1) pins.
When A/D conversion is performed with any of pins ANI0 to ANI7 selected, be sure not to execute an input
instruction to PORT1 while conversion is in progress, as this may reduce the conversion resolution.
Also, if digital pulses are applied to a pin adjacent to the pin in the process of A/D conversion, the expected
A/D conversion value may not be obtainable due to coupling noise. Therefore, avoid applying pulses to pins
adjacent to the pin undergoing A/D conversion.
(5) AVREF0 pin input impedance
A series resistor string of approximately 10 kΩ is connected between the AVREF0 pin and the AVSS pin.
Therefore, if the output impedance of the reference voltage source is high, this will result in parallel connection
to the series resistor string between the AVREF0 pin and the AVSS pin, and there will be a large reference voltage
error.
279
CHAPTER 14
A/D CONVERTER
(6) Interrupt request flag (ADIF)
The interrupt request flag (ADIF) is not cleared even if the A/D converter mode register (ADM) is changed.
If an analog input pin is changed during A/D conversion, the A/D conversion result and ADIF for the pre-change
analog input may have been set immediately before the ADM rewrite. In this case, if ADIF is read immediately
after the ADM rewrite, ADIF may be set despite the fact that the A/D conversion for the post-change analog
input has not ended.
When the A/D conversion is stopped and then resumed, clear the ADIF before it is resumed.
Figure 14-12. A/D Conversion End Interrupt Request Generation Timing
ADM Rewrite
(Start of ANIn Conversion)
A /D Conversion
ANIn
ADCR
ADM Rewrite
(Start of ANIm Conversion)
ANIn
ADIF is set but ANIm
conversion has not ended
ANIm
ANIn
ANIm
ANIn
ANIm
ANIm
INTAD
(7) AVDD pin
The AVDD pin is the analog circuit power supply pin, and supplies power to the input circuits of ANI0/P10 to
ANI7/P17.
Therefore, be sure to apply the same voltage as VDD to this pin even when the application circuit is designed
so as to switch to a backup battery as shown in Figure 14-13.
Figure 14-13. Handling of AVDD Pin
AVREF0
VDD
Main
power
supply
AVDD
Capacitor
for back-up
AVSS
VSS
280
CHAPTER 15 D/A CONVERTER
15.1 D/A Converter Functions
The D/A converter converts a digital input into an analog value. It consists of two 8-bit resolution channels of voltage
output type D/A converter.
The conversion method used is the R-2R resistor ladder method.
Start the A/D conversion by setting the DACE0 and DACE1 of the D/A converter mode register (DAM).
There are two types of modes for the D/A converter, as follows.
(1) Normal mode
Outputs an analog voltage signal immediately after the D/A conversion.
(2) Real-time output mode
Outputs an analog voltage signal synchronously with the output trigger after the D/A conversion.
Since a sine wave can be generated in the mode, it is useful for an MSK modem for cordless telephone sets.
281
CHAPTER 15
D/A CONVERTER
15.2 D/A Converter Configuration
The D/A converter consists of the following hardware.
Table 15-1. D/A Converter Configuration
Item
Configuration
D/A conversion value set register 0 (DACS0)
Register
D/A conversion value set register 1 (DACS1)
Control register
D/A converter mode register (DAM)
Figure 15-1. D/A Converter Block Diagram
Internal Bus
D/A Conversion Value
Set Register 1
(DACS1)
DACS1 Write
INTTM2
DACS0 Write
D/A Conversion Value
Set Register 0
(DACS0)
INTTM1
2R
ANO1/P131
AVREF1
2R
R
2R
R
Selector
AVSS
2R
2R
ANO0/P130
2R
R
2R
R
Selector
2R
DAM5 DAM4 DACE1 DACE0
D/A Converter Mode Register
Internal Bus
282
CHAPTER 15
D/A CONVERTER
(1) D/A conversion value set register 0, 1 (DACS0, DACS1)
DACS0 and DACS1 are registers that set the values to determine analog voltage output to the ANO0 and ANO1
pins, respectively.
DACS0 and DACS1 are set with 8-bit memory manipulation instructions.
RESET input sets these registers to 00H.
Analog voltage output to the ANO0 and ANO1 pins is determined by the following expression.
ANOn output voltage = AVREF1 ×
where,
DACSn
256
n = 0, 1
Cautions 1. In the real-time output mode, when data that are set in DACS0 and DACS1 are read before
an output trigger is generated, the previous data are read rather than the set data.
2. In the real-time output mode, data should be set to DACS0 and DACS1 after an output
trigger and before the next output trigger.
283
CHAPTER 15
D/A CONVERTER
15.3 D/A Converter Control Registers
The D/A converter mode register (DAM) controls the D/A converter. This register sets D/A converter operation
enable/stop.
The DAM is set with a 1-bit or 8-bit memory manipulation instruction.
RESET input sets this register to 00H.
Figure 15-2. D/A Converter Mode Register Format
Symbol
7
6
DAM
0
0
5
4
DAM5 DAM4
3
2
0
0
<1>
<0>
DACE1 DACE0
Address
After
Reset
R/W
FF98H
00H
R/W
DACE0 D/A Converter Channel 0 Control
0
D/A conversion stop
1
D/A conversion enable
DACE1 D/A Converter Channel 1 Control
0
D/A conversion stop
1
D/A conversion enable
DAM4 D/A Converter Channel 0 Operating Mode
0
Normal mode
1
Real-time output mode
DAM5 D/A Converter Channel 1 Operating Mode
0
Normal mode
1
Real-time output mode
Cautions 1. When using the D/A converter, a dual-function port pin should be set to the input mode, and
a pull-up resistor should be disconnected.
2. Always set bits 2, 3, 6, and 7 to 0.
3. When D/A conversion is stopped, the output state is high-impedance.
4. The output triggers are INTTM1 and INTTM2 for channel 0 and channel 1, respectively, in the
real-time output mode.
284
CHAPTER 15
D/A CONVERTER
15.4 Operations of D/A Converter
(1) Select the channel 0 operating mode and channel 1 operating mode by DAM4 and DAM5 of D/A converter
mode register (DAM), respectively.
(2) Set the data corresponding to the analog voltages output to the ANO0/P130 and ANO1/P131 pins to the
D/A conversion value setting registers 0 and 1 (DACS0 and DACS1), respectively.
(3) The channel 0 and channel 1 D/A conversion operations can be started by setting DACE0 and DACE1 of the
DAM, respectively.
(4) In the normal mode, the analog voltage signals are output to the ANO0/P130 and ANO1/P131 pins immediately
after the D/A conversion. In the real-time output mode, the analog voltage signals are output synchronously
with the output triggers.
(5) In the normal mode, the analog voltage signals to be output are held until new data are set in DACS0 and
DACS1. In the realtime output mode, new data are set in DACS0 and DACS1 and then they are held until
the next trigger is generated.
Caution Set DACE0 and DACE1 after setting data in DACS0 and DACS1.
285
CHAPTER 15
D/A CONVERTER
15.5 Cautions Related to D/A Converter
(1) Output impedance of D/A converter
Because the output impedance of the D/A converter is high, use of current flowing from the ANOn pins (n =
0,1) is prohibited. If the input impedance of the load for the converter is low, insert a buffer amplifier between
the load and the ANOn pins. In addition, wiring from the ANOn pins to the buffer amplifier or the load should
be as short as possible (because of high output impedance). If the wiring may be long, design the ground
pattern so as to be close to those lines or use some other expedient to achieve shorter wiring.
Figure 15-3. Use Example of Buffer Amplifier
(a) Inverting amplifier
C
µPD78054, 78054Y
R2
R1
ANOn
• The input impedance of the buffer amplifier is R1.
(b) Voltage-follower
µPD78054, 78054Y
R
ANOn
R1
C
• The input impedance of the buffer amplifier is R1 .
• If R1 is not connected, the output becomes
undefined when RESET is low.
(2) Output voltage of D/A converter
Because the output voltage of the converter changes in steps, use the D/A converter output signals in general
by connecting a low-pass filter.
(3) AVREF1 pin
When only either one of the D/A converter channels is used with AVREF1< VDD, the other pins that are not used
as analog outputs must be set as follows:
•
Set PM13x bit of the port mode register 13 (PM13) to 1 (input mode) and connect the pin to VSS.
•
Set PM13x bit of the port mode register 13 (PM13) to 0 (output mode) and the output latch to 0, to output
low level from the pin.
286
CHAPTER 16 SERIAL INTERFACE CHANNEL 0 (µPD78054 Subseries)
The µPD78054 subseries incorporates three channels of serial interfaces. Differences between channels 0, 1,
and 2 are as follows (Refer to CHAPTER 18 SERIAL INTERFACE CHANNEL 1 for details of the serial interface
channel 1. Refer to CHAPTER 19 SERIAL INTERFACE CHANNEL 2 for details of the serial interface channel
2).
Table 16-1. Differences between Channels 0, 1, and 2
Channel 0
Serial Transfer Mode
Clock selection
Channel 1
Channel 2
fXX/2, fXX/22, fXX/23,
fXX/2, fXX/22, fXX/23,
fXX/24, fXX/25, fXX/26,
fXX/24, fXX/25, fXX/26,
Baud rate generator
fXX/27, fXX/28,
fXX/27, fXX/28,
output
external
clock, TO2 output
external
clock, TO2 output
MSB/LSB switchable
3-wire serial I/O
Transfer method
MSB/LSB switchable
as the start bit
MSB/LSB switchable
as the start bit
Automatic transmit/
as the start bit
receive function
Transfer end flag
Serial transfer end
Serial transfer end
Serial transfer end
interrupt request flag
interrupt request flag
interrupt request flag
(CSIIF0)
(CSIIF1)
(SRIF)
SBI (serial bus interface)
2-wire serial I/O
UART
(Asynchronous serial interface)
Use possible
None
None
None
Use possible
287
CHAPTER 16
SERIAL INTERFACE CHANNEL 0 (µPD78054 Subseries)
16.1 Serial Interface Channel 0 Functions
Serial interface channel 0 employs the following four modes.
• Operation stop mode
• 3-wire serial I/O mode
• SBI (serial bus interface) mode
• 2-wire serial I/O mode
Caution Do not switch the operation mode (3-wire serial I/O, 2-wire serial I/O, SBI) of serial interface
channel 0. Switch the operation mode after stopping the serial operation.
(1) Operation stop mode
This mode is used when serial transfer is not carried out. Power consumption can be reduced.
(2) 3-wire serial I/O mode (MSB-/LSB-first selectable)
This mode is used for 8-bit data transfer using three lines, one each for serial clock (SCK0), serial output (SO0)
and serial input (SI0). This mode enables simultaneous transmission/reception and therefore reduces the data
transfer processing time.
The start bit of transferred 8-bit data is switchable between MSB and LSB, so that devices can be connected
regardless of their start bit recognition.
This mode should be used when connecting with peripheral I/O devices or display controllers which incorporate
a conventional synchronous clocked serial interface as is the case with the 75X/XL, 78K, and 17K series.
(3) SBI (serial bus interface) mode (MSB-first)
This mode is used for 8-bit data transfer with two or more devices using two lines of serial clock (SCK0) and
serial data bus (SB0 or SB1).
The SBI mode conforms to the NEC serial bus format and transmits/receives transfer data discriminating it
as three types: “address”, “command”, and “data”.
• Address
: Data that selects the target device of the serial communication
• Command : Data that gives instruction to the target device
• Data
: Data that is actually transmitted
For the actual transmission, the master device outputs “address” on the serial bus and selects the slave device
to be the target of communication from multiple devices. Then, the serial transmission is realized by
transmitting/receiving “command” and “data” between the master device and the slave device. The receive
side automatically discriminates the received data as “address”, “command”, or “data”, by hardware.
This function enables the input/output ports to be used effectively and simplifies the application program to
control serial interface channel 0.
In this mode, the wake-up function for handshake and the output function of acknowledge and busy signals
can also be used.
288
CHAPTER 16
SERIAL INTERFACE CHANNEL 0 (µPD78054 Subseries)
(4) 2-wire serial I/O mode (MSB-first)
This mode is used for 8-bit data transfer using two lines of serial clock (SCK0) and serial data bus (SB0 or
SB1).
This mode enables to cope with any one of the possible data transfer formats by controlling the SCK0 level
and the SB0 or SB1 output level. Thus, the handshake line previously necessary for connection of two or
more devices can be used as input/output ports.
Figure 16-1. Serial Bus Interface (SBI) System Configuration Example
VDD
Master CPU
Slave CPU1
SCK0
SB0
SCK0
SB0
Slave CPU2
SCK0
SB0
Slave CPUn
SCK0
SB0
289
CHAPTER 16
SERIAL INTERFACE CHANNEL 0 (µPD78054 Subseries)
16.2 Serial Interface Channel 0 Configuration
Serial interface channel 0 consists of the following hardware.
Table 16-2. Serial Interface Channel 0 Configuration
Item
Register
Configuration
Serial I/O shift register 0 (SIO0)
Slave address register (SVA)
Timer clock select register 3 (TCL3)
Serial operating mode register 0 (CSIM0)
Control register
Serial bus interface control register (SBIC)
Interrupt timing specify register (SINT)
Port mode register 2 (PM2)Note
Note
290
Refer to Figure 6-5. Block Diagram of P20, P21, P23 to P26 and Figure 6-6. Block Diagram of P22, P27.
CHAPTER 16
SERIAL INTERFACE CHANNEL 0 (µPD78054 Subseries)
Figure 16-2. Serial Interface Channel 0 Block Diagram
Internal Bus
Serial Bus Interface
Control Register
Serial Operating Mode Register 0
CSIE0 COI WUP
CSIM CSIM CSIM CSIM CSIM
04
03
02
01
00
Slave Address
Register (SVA)
BSYE ACKD ACKE ACKT CMDD RELD CMDT RELT
SVAM
Match
Control
Circuit
SI0/SB0/
P25
Selector
P25
Output Latch
PM25
Output
Control
CLR SET
D
Q
Serial I/O Shift
Register 0 (SIO0)
Busy/
Acknowledge
Output Circuit
Selector
SO0/SB1/
P26
PM26
Bus Release/
Command/
Acknowledge
Detector
Output
Control
CLD
ACKD
CMDD
RELD
WUP
Interrupt
Request
Signal
Generator
P26 Output Latch
Serial Clock
Counter
SCK0/
P27
INTCSI0
TO2
PM27
Output
Control
Serial Clock
Control Circuit
Selector
Selector
CSIM00
CSIM01
CSIM00
CSIM01
f xx/2-fxx/28
4
P27
Output Latch
CLD
SIC
SVAM
TCL33 TCL32 TCL31 TCL30
Interrupt Timing
Specify Register
Timer Clock
Select
Register 3
Internal Bus
Remark
Output Control performs selection between CMOS output and N-ch open-drain output.
291
CHAPTER 16
SERIAL INTERFACE CHANNEL 0 (µPD78054 Subseries)
(1) Serial I/O shift register 0 (SIO0)
This is an 8-bit register to carry out parallel/serial conversion and to carry out serial transmission/reception
(shift operation) in synchronization with the serial clock.
SIO0 is set with an 8-bit memory manipulation instruction.
When bit 7 (CSIE0) of serial operating mode register 0 (CSIM0) is 1, writing data to SIO0 starts serial operation.
In transmission, data written to SIO0 is output to the serial output (SO0) or serial data bus (SB0/SB1). In
reception, data is read from the serial input (SI0) or SB0/SB1 to SIO0.
Note that, if a bus is driven in the SBI mode or 2-wire serial I/O mode, the bus pin must serve for both input
and output. Thus, in the case of a device for reception, write FFH to SIO0 in advance (except when address
reception is carried out by setting bit 5 (WUP) of CSIM0 to 1).
In the SBI mode, the busy state can be cleared by writing data to SIO0. In this case, bit 7 (BSYE) of the serial
bus interface control register (SBIC) is not cleared to 0.
RESET input makes SIO0 undefined.
(2) Slave address register (SVA)
This is an 8-bit register to set the slave address value for connection of a slave device to the serial bus.
SVA is set with an 8-bit memory manipulation instruction. This register is not used in the 3-wire serial I/O mode.
The master device outputs a slave address for selection of a particular slave device to the connected slave
device. These two data (the slave address output from the master device and the SVA value) are compared
with an address comparator. If they match, the slave device has been selected. In that case, bit 6 (COI) of
serial operating mode register 0 (CSIM0) becomes 1.
The address can also be compared on the data of LSB-masked high-order 7 bits by setting bit 4 (SVAM) of
the interrupt timing specify register (SINT) to (1).
If no matching is detected in address reception, bit 2 (RELD) of the serial bus interface control register (SBIC)
is cleared to 0. In the SBI mode, the wake-up function can be used by setting the bit 5 (WUP) of CSIM0. In
this case, the interrupt request signal (INTCSI0) is generated only when the slave address output by the master
coincides with the value of SVA, and it can be learned by this interrupt request that the master requests for
communication. If the bit 5 (SIC) of the interrupt timing specify register (SINT) is set to 1, the wake-up function
cannot be used even if WUP is set to 1 (an interrupt request signal is generated when bus release is detected).
To use the wake-up function, clear SIC to 0.
Further, when SVA transmits data as master or slave device in the SBI or 2-wire serial I/O mode, errors can
be detected if any using SVA.
RESET input makes SVA undefined.
292
CHAPTER 16
SERIAL INTERFACE CHANNEL 0 (µPD78054 Subseries)
(3) SO0 latch
This latch holds SI0/SB0/P25 and SO0/SB1/P26 pin levels. It can be directly controlled also by software. In
the SBI mode, this latch is set upon termination of the 8th serial clock.
(4) Serial clock counter
This counter counts the serial clocks to be output and input during transmission/reception and to check whether
8-bit data has been transmitted/received.
(5) Serial clock control circuit
This circuit controls serial clock supply to the serial I/O shift register 0 (SIO0). When the internal system clock
is used, the circuit also controls clock output to the SCK0/P27 pin.
(6) Interrupt request signal generator
This circuit controls interrupt request signal generation. It generates the interrupt request signal in the following
cases.
• In the 3-wire serial I/O mode and 2-wire serial I/O mode
This circuit generates an interrupt request signal every eight serial clocks.
• In the SBI mode
When WUP is 0 ........... Generates an interrupt request signal every eight serial clocks.
When WUP is 1 ........... Generates an interrupt request signal when the serial I/O shift register 0 (SIO0)
value matches the slave address register (SVA) value after address reception.
Remark WUP is wake-up function specify bit. It is bit 5 of serial operating mode register 0 (CSIM0). To
use the wake-up function (WUP = 1), clear the bit 5 (SIC) of the interrupt timing specify register
(SINT) to 0.
(7) Busy/acknowledge output circuit and bus release/command/acknowledge detector
These two circuits output and detect various control signals in the SBI mode.
These do not operate in the 3-wire serial I/O mode and 2-wire serial I/O mode.
293
CHAPTER 16
SERIAL INTERFACE CHANNEL 0 (µPD78054 Subseries)
16.3 Serial Interface Channel 0 Control Registers
The following four types of registers are used to control serial interface channel 0.
• Timer clock select register 3 (TCL3)
• Serial operating mode register 0 (CSIM0)
• Serial bus interface control register (SBIC)
• Interrupt timing specify register (SINT)
(1) Timer clock select register 3 (TCL3)
This register sets the serial clock of serial interface channel 0.
TCL3 is set with an 8-bit memory manipulation instruction.
RESET input sets TCL3 to 88H.
294
CHAPTER 16
SERIAL INTERFACE CHANNEL 0 (µPD78054 Subseries)
Figure 16-3. Timer Clock Select Register 3 Format
Symbol
7
6
5
4
3
2
1
0
TCL3 TCL37 TCL36 TCL35 TCL34 TCL33 TCL32 TCL31 TCL30
Address
After Reset
FF43H
88H
R/W
R/W
Serial Interface Channel 0 Serial Clock Selection
TCL33 TCL32 TCL31 TCL30
MCS = 1
MCS = 0
0
1
1
0
fXX/2
Setting prohibited
fX/22 (1.25 MHz)
0
1
1
1
fXX/22
fX/22 (1.25 MHz)
fX/23 (625 kHz)
1
0
0
0
fXX/23
fX/23 (625 kHz)
fX/24 (313 kHz)
1
0
0
1
fXX/24
fX/24 (313 kHz)
fX/25 (156 kHz)
1
0
1
0
fXX/25
fX/25 (156 kHz)
fX/26 (78.1 kHz)
1
0
1
1
fXX/26
fX/26 (78.1 kHz)
fX/27 (39.1 kHz)
1
1
0
0
fXX/27
fX/27 (39.1 kHz)
fX/28 (19.5 kHz)
1
1
0
1
fXX/28
fX/28 (19.5 kHz)
fX/29 (9.8 kHz)
Other than above
Setting prohibited
Serial Interface Channel 1 Serial Clock Selection
TCL37 TCL36 TCL35 TCL34
MCS = 1
MCS = 0
0
1
1
0
fXX/2
Setting prohibited
fX/22 (1.25 MHz)
0
1
1
1
fXX/22
fX/22 (1.25 MHz)
fX/23 (625 kHz)
1
0
0
0
fXX/23
fX/23 (625 kHz)
fX/24 (313 kHz)
1
0
0
1
fXX/24
fX/24 (313 kHz)
fX/25 (156 kHz)
1
0
1
0
fXX/25
fX/25 (156 kHz)
fX/26 (78.1 kHz)
1
0
1
1
fXX/26
fX/26 (78.1 kHz)
fX/27 (39.1 kHz)
1
1
0
0
fXX/27
fX/27 (39.1 kHz)
fX/28 (19.5 kHz)
1
1
0
1
fXX/28
fX/28 (19.5 kHz)
fX/29 (9.8 kHz)
Other than above
Setting prohibited
Caution When rewriting TCL3 to other data, stop the serial transfer operation beforehand.
Remarks 1. fXX
2. fX
: Main system clock frequency (fX or fX/2)
: Main system clock oscillation frequency
3. MCS : Bit 0 of oscillation mode selection register (OSMS)
4. Figures in parentheses apply to operation with fX = 5.0 MHz.
295
CHAPTER 16
SERIAL INTERFACE CHANNEL 0 (µPD78054 Subseries)
(2) Serial operating mode register 0 (CSIM0)
This register sets serial interface channel 0 serial clock, operating mode, operation enable/stop wake-up
function and displays the address comparator match signal.
CSIM0 is set with a 1-bit or 8-bit memory manipulation instruction.
RESET input sets CSIM0 to 00H.
Caution Do not switch the operation mode (3-wire serial I/O, 2-wire serial I/O, SBI) of serial interface
channel 0. Switch the operation mode after stopping the serial operation.
Figure 16-4. Serial Operating Mode Register 0 Format (1/2)
Symbol
<7>
<6>
<5>
CSIM0 CSIE0 COI
R/W
R/W
4
WUP
CSIM01 CSIM00
3
2
1
0
CSIM04 CSIM03 CSIM02 CSIM01 CSIM00
Address
FF60H
After Reset
00H
×
Input Clock to SCK0 pin from off-chip
1
0
8-bit timer register 2 (TM2) output
1
1
Clock specified with bits 0 to 3 of timer clock select register 3 (TCL3)
CSIM CSIM CSIM
Operation
Mode
PM25 P25 PM26 P26 PM27 P27
03
0
×
02
Note 2 Note 2
0
1
1
×
0
0
0
1
3-wire serial
l/O mode
Start Bit
MSB
LSB
SIO/SB0/P25
Pin Function
SO0/SB1/P26
Pin Function
SCK0/P27
Pin Function
SI0Note 2
(Input)
SO0
(CMOS output)
SCK0 (CMOS
input/output)
Note 3 Note 3
×
0
1
×
0
0
0
P25 (CMOS
input/output)
1
SBI mode
0
0
0
SCK0 (CMOS
input/output)
×
×
0
1
SB0 (N-ch
open-drain
input/output)
P26 (CMOS
input/output)
0
0
0
1
P25 (CMOS
input/output)
SB1 (N-ch
open-drain
input/output)
Note 3 Note 3
×
0
1
×
2-wire serial
l/O mode
1
Note 3 Note 3
0
1
0
SB1 (N-ch
open-drain
input/output)
MSB
Note 3 Note 3
1
R/WNote 1
Serial Interface Channel 0 Clock Selection
0
04
R/W
×
×
0
1
MSB
SB0 (N-ch
open-drain
input/output)
SCK0 (N-ch
open-drain
input/output)
P26 (CMOS
input/output)
(Continued)
Notes 1. Bit 6 (COI) is a read-only bit.
2. Can be used as P25 (CMOS input/output) when used only for transmission.
3. Can be used freely as port function.
Remark
×
: don’t care
PM×× : Port mode register
P××
296
: Port output latch
CHAPTER 16
SERIAL INTERFACE CHANNEL 0 (µPD78054 Subseries)
Figure 16-4. Serial Operating Mode Register 0 Format (2/2)
R/W
R
R/W
WUP
Wake-up Function ControlNote 1
0
Interrupt request signal generation with each serial transfer in any mode
1
Interrupt request signal generation when the address received after bus release (when CMDD = RELD = 1)
matches the slave address register (SVA) data in SBI mode
COI
Slave Address Comparison Result FlagNote 2
0
Slave address register (SVA) not equal to serial I/O shift register 0 (SIO0) data
1
Slave address register (SVA) equal to serial I/O shift register 0 (SIO0) data
CSIE0
Serial Interface Channel 0 Operation ControlNote 3
0
Operation stopped
1
Operation enable
Notes 1. To use the wake-up function (WUP = 1), clear the bit 5 (SIC) of the interrupt timing specify register
(SINT) to 0.
2. When CSIE0 = 0, COI becomes 0.
3. In the SBI mode, clear WUP to 0 before stopping (CSIE ← 0) the operation of serial interface channel
0, otherwise, P25 is fixed to high level and may not be able to be used as a normal port.
297
SERIAL INTERFACE CHANNEL 0 (µPD78054 Subseries)
CHAPTER 16
(3) Serial bus interface control register (SBIC)
This register sets serial bus interface operation and displays statuses.
SBIC is set with a 1-bit or 8-bit memory manipulation instruction.
RESET input sets SBIC to 00H.
Figure 16-5. Serial Bus Interface Control Register Format (1/2)
Symbol
<7>
<6>
<5>
<4>
<3>
<2>
<1>
<0>
SBIC BSYE ACKD ACKE ACKT CMDD RELD CMDT RELT
R/W
FF61H
After Reset
R/W
00H
R/WNote
RELT
Used for bus release signal output.
When RELT = 1, SO0 Iatch is set to 1. After SO0 latch setting, automatically cleared to 0.
Also cleared to 0 when CSIE0 = 0.
CMDT
Used for command signal output.
When CMDT = 1, SO0 Iatch is cleared to (0). After SO0 latch clearance, automatically cleared to 0.
Also cleared to 0 when CSIE0 = 0.
RELD
Bus Release Detection
R/W
R
Address
Clear Conditions (RELD = 0)
• When transfer start instruction is executed
• If SIO0 and SVA values do not match in
address reception
• When CSIE0 = 0
Set Conditions (RELD =1)
• When bus release signal (REL) is detected
• When RESET input is applied
R CMDD
Command Detection
Clear Conditions (CMDD = 0)
• When transfer start instruction is executed
• When bus release signal (REL) is detected
• When CSIE0 = 0
• When RESET input is applied
R/W
ACKT
Note
• When command signal (CMD) is detected
Acknowledge signal is output in synchronization with the falling edge clock of SCK0 just after execution
of the instruction to be set to 1, and after acknowledge signal output, automatically cleared to 0.
Used as ACKE = 0. Also cleared to 0 upon start of serial interface transfer or when CSIE0 = 0.
Bits 2, 3, and 6 (RELD, CMDD and ACKD) are read-only bits.
Remarks 1.
2.
298
Set Conditions (CMDD = 1)
Bits 0, 1, and 4 (RELD, CMDT, and ACKT) are 0 when read after data setting.
CSIE0: Bit 7 of serial operating mode register 0 (CSIM0)
CHAPTER 16
SERIAL INTERFACE CHANNEL 0 (µPD78054 Subseries)
Figure 16-5. Serial Bus Interface Control Register Format (2/2)
R/W
ACKE
0
Acknowledge Signal Automatic Output Control
Acknowledge signal automatic output disable (output with ACKT enable)
Before completion of
transfer
Acknowledge signal is output in synchronization with the 9th clock
falling edge of SCK0 (automatically output when ACKE = 1).
After completion of
transfer
Acknowledge signal is output in synchronization with the falling edge of
SCK0 just after execution of the instruction to be set to 1
(automatically output when ACKE = 1).
However, not automatically cleared to 0 after acknowledge signal output.
1
R
ACKD
Acknowledge Detection
Clear Conditions (ACKD = 0)
• Falling edge of the SCK0 immediately after the busy
mode is released while executing the transfer
start instruction
• When CSIE0 = 0
• When RESET input is applied
R/W
Set Conditions (ACKD = 1)
• When acknowledge signal (ACK) is detected at the
rising edge of SCK0 clock after completion of
transfer
Note
BSYE
Synchronizing Busy Signal Output Control
0
Disables busy signal which is output in synchronization with the falling edge of SCK0 clock just after
execution of the instruction to be cleared to 0.
1
Outputs busy signal at the falling edge of SCK0 clock following the acknowledge signal.
Note
The busy mode can be canceled by start of serial interface transfer. However, the BSYE flag is
not cleared to 0.
Remark
CSIE0 : Bit 7 of serial operating mode register 0 (CSIM0)
299
CHAPTER 16
SERIAL INTERFACE CHANNEL 0 (µPD78054 Subseries)
(4) Interrupt timing specify register (SINT)
This register sets the bus release interrupt and address mask functions and displays the SCK0/P27 pin level
status.
SINT is set with a 1-bit or 8-bit memory manipulation instruction.
RESET input sets SINT to 00H.
Figure 16-6. Interrupt Timing Specify Register Format
Symbol
7
<6>
<5>
SINT
0
CLD
SIC SVAM
<4>
3
2
1
0
Address
0
0
0
0
FF63H
After Reset
00H
R/W
R/WNote 1
R/W
SVAM
SVA Bit to be Used as Slave Address
0
Bits 0 to 7
1
Bits 1 to 7
R/W
SIC
INTCSI0 Interrupt Cause SelectionNote 2
0
CSIIF0 is set upon termination of serial interface
channel 0 transfer
1
CSIIF0 is set upon bus release detection or
termination of serial interface channel 0 transfer
R
CLD
SCK0/P27 Pin LevelNote 3
0
Low level
1
High level
Notes 1. Bit 6 (CLD) is a read-only bit.
2. When using wake-up function in the SBI mode, set SIC to 0.
3. When CSIE0 = 0, CLD becomes 0.
Caution Be sure to set bits 0 to 3 to 0.
Remark
SVA
: Slave address register
CSIIF0 : Interrupt request flag corresponding to INTCSI0
CSIE0 : Bit 7 of serial operating mode register 0 (CSIM0)
300
CHAPTER 16
SERIAL INTERFACE CHANNEL 0 (µPD78054 Subseries)
16.4 Serial Interface Channel 0 Operations
The following four operating modes are available to the serial interface channel 0.
• Operation stop mode
• 3-wire serial I/O mode
• SBI mode
• 2-wire serial I/O mode
16.4.1 Operation stop mode
Serial transfer is not carried out in the operation stop mode. Thus, power consumption can be reduced. The serial
I/O shift register 0 (SIO0) does not carry out shift operation either and thus it can be used as ordinary 8-bit register.
In the operation stop mode, the P25/SI0/SB0, P26/SO0/SB1 and P27/SCK0 pins can be used as ordinary input/
output ports.
(1) Register setting
The operation stop mode is set with the serial operating mode register 0 (CSIM0).
CSIM0 is set with a 1-bit or 8-bit memory manipulation instruction.
RESET input sets CSIM0 to 00H.
Symbol
<7>
<6>
CSIM0 CSIE0 COI
R/W
CSIE0
<5>
WUP
4
3
2
1
0
CSIM04 CSIM03 CSIM02 CSIM01 CSIM00
Address
FF60H
After Reset
00H
R/W
R/W
Serial Interface Channel 0 Operation Control
0
Operation stopped
1
Operation enabled
301
CHAPTER 16
SERIAL INTERFACE CHANNEL 0 (µPD78054 Subseries)
16.4.2 3-wire serial I/O mode operation
The 3-wire serial I/O mode is valid for connection of peripheral I/O units and display controllers which incorporate
a conventional synchronous clocked serial interface as is the case with the 75X/XL, 78K, and 17K series.
Communication is carried out with three lines of serial clock (SCK0), serial output (SO0), and serial input (SI0).
(1) Register setting
The 3-wire serial I/O mode is set with the serial operating mode register 0 (CSIM0) and serial bus interface
control register (SBIC).
(a) Serial operating mode register 0 (CSIM0)
CSIM0 is set with a 1-bit or 8-bit memory manipulation instruction.
RESET input sets CSIM0 to 00H.
302
CHAPTER 16
Symbol
<7>
<6>
<5>
CSIM0 CSIE0 COI
R/W
R/W
SERIAL INTERFACE CHANNEL 0 (µPD78054 Subseries)
4
WUP
3
2
1
CSIM04 CSIM03 CSIM02 CSIM01 CSIM00
FF60H
After Reset
00H
0
×
Input Clock to SCK0 pin from off-chip
1
0
8-bit timer register 2 (TM2) output
1
1
Clock specified with bits 0 to 3 of timer clock select register 3 (TCL3)
CSIM CSIM CSIM
Operation
PM25 P25 PM26 P26 PM27 P27
03
Mode
02
0
×
0
R/W
Address
R/W
R/WNote 1
Serial Interface Channel 0 Clock Selection
CSIM01 CSIM00
04
R/W
0
Note 2 Note 2
1
1
×
0
0
0
1
3-wire serial
l/O mode
Start Bit
MSB
LSB
SIO/SB0/P25
SO0/SB1/P26
SCK0/P27
Pin Function
Pin Function
Pin Function
SO0
(CMOS output)
SCK0 (CMOS
input/output)
Note 2
SI0
(Input)
1
0
SBI mode (See section 16.4.3, “SBI mode operation”.)
1
1
2-wire serial I/O mode (See section 16.4.4, “2-wire serial I/O mode operation”.)
WUP
Wake-up Function Control Note 3
0
Interrupt request signal generation with each serial transfer in any mode
1
Interrupt request signal generation when the address received after bus release
(when CMDD = RELD = 1) matches the slave address register (SVA) data in SBI mode
CSIE0
Serial Interface Channel 0 Operation Control
0
Operation stopped
1
Operation enabled
Notes 1. Bit 6 (COI) is a read-only bit.
2. Can be used as P25 (CMOS input/output) when used only for transmission.
3. Be sure to set WUP to 0 when the 3-wire serial I/O mode is selected.
Remark
×
: don’t care
PM×× : Port mode register
P××
: Port output latch
303
CHAPTER 16
SERIAL INTERFACE CHANNEL 0 (µPD78054 Subseries)
(b) Serial bus interface control register (SBIC)
SBIC is set with a 1-bit or 8-bit memory manipulation instruction.
RESET input sets SBIC to 00H.
Symbol
<7>
<6>
<5>
<4>
<3>
<2>
<1>
<0>
SBIC BSYE ACKD ACKE ACKT CMDD RELD CMDT RELT
R/W
R/W
FF61H
After Reset
00H
R/W
R/W
RELT
When RELT = 1, SO0 Iatch is set to 1. After SO0 Iatch setting, automatically cleared to 0.
Also cleared to 0 when CSIE0 = 0.
CMDT
When CMDT = 1, SO0 Iatch is cleared to 0. After SO0 latch clearance, automatically cleared to 0.
Also cleared to 0 when CSIE0 = 0.
Remark
304
Address
CSIE0 : Bit 7 of serial operating mode register 0 (CSIM0)
CHAPTER 16
SERIAL INTERFACE CHANNEL 0 (µPD78054 Subseries)
(2) Communication operation
The 3-wire serial I/O mode is used for data transmission/reception in 8-bit units. Bit-wise data transmission/
reception is carried out in synchronization with the serial clock.
Shift operation of the serial I/O shift register 0 (SIO0) is carried out at the falling edge of the serial clock (SCK0).
The transmitted data is held in the SO0 latch and is output from the SO0 pin. The received data input to the
SI0 pin is latched in SIO0 at the rising edge of SCK0.
Upon termination of 8-bit transfer, SIO0 operation stops automatically and the interrupt request flag (CSIIF0)
is set.
Figure 16-7. 3-Wire Serial I/O Mode Timings
SCK0
1
2
3
4
5
6
7
8
SI0
DI7
DI6
DI5
DI4
DI3
DI2
DI1
DI0
SO0
DO7
DO6
DO5
DO4
DO3
DO2
DO1
DO0
CSIIF0
End of Transfer
Transfer Start at the Falling Edge of SCK0
The SO0 pin is a CMOS output pin and outputs current SO0 latch statuses. Thus, the SO0 pin output status
can be manipulated by setting bit 0 (RELT) and bit 1 (CMDT) of serial bus interface control register (SBIC).
However, do not carry out this manipulation during serial transfer.
Control the SCK0 pin output level in the output mode (internal system clock mode) by manipulating the P27
output latch (refer to 16.4.5 SCK0/P27 pin output manipulation).
(3) Other signals
Figure 16-8 shows RELT and CMDT operations.
Figure 16-8. RELT and CMDT Operations
SO0 latch
RELT
CMDT
305
CHAPTER 16
SERIAL INTERFACE CHANNEL 0 (µPD78054 Subseries)
(4) MSB/LSB switching as the start bit
The 3-wire serial I/O mode enables to select transfer to start from MSB or LSB.
Figure 16-9 shows the configuration of the serial I/O shift register 0 (SIO0) and internal bus. As shown in the
figure, MSB/LSB can be read/written in reverse form.
MSB/LSB switching as the start bit can be specified with bit 2 (CSIM02) of the serial operating mode register
0 (CSIM0).
Figure 16-9. Circuit of Switching in Transfer Bit Order
7
6
Internal Bus
1
0
LSB-first
MSB-first
Read/Write Gate
Read/Write Gate
SO0 Latch
SI0
Serial I/O Shift Register 0 (SIO0)
D
Q
SO0
SCK0
Start bit switching is realized by switching the bit order for data write to SIO0. The SIO0 shift order remains
unchanged.
Thus, switching between MSB-first and LSB-first must be performed before writing data to SIO0.
(5) Transfer start
Serial transfer is started by setting transfer data to the serial I/O shift register 0 (SIO0) when the following two
conditions are satisfied.
• Serial interface channel 0 operation control bit (CSIE0) = 1.
• Internal serial clock is stopped or SCK0 is a high level after 8-bit serial transfer.
Caution If CSIE0 is set to “1” after data write to SIO0, transfer does not start.
Upon termination of 8-bit transfer, serial transfer automatically stops and the interrupt request flag (CSIIF0)
is set.
306
CHAPTER 16
SERIAL INTERFACE CHANNEL 0 (µPD78054 Subseries)
16.4.3 SBI mode operation
SBI (Serial Bus Interface) is a high-speed serial interface in compliance with the NEC serial bus format.
SBI uses a single master device and employs the clocked serial I/O format with the addition of a bus configuration
function. This function enables devices to communicate using only two lines. Thus, when making up a serial bus
with two or more microcontrollers and peripheral ICs, the number of ports to be used and the number of wires on
the board can be decreased.
The master device outputs three kinds of data to slave devices on the serial data bus: “addresses” to select a device
to be communicated with, “commands” to instruct the selected device, and “data” which is actually required.
The slave device can identify the received data into “address”, “command”, or “data”, by hardware. This function
simplifies the application program to control serial interface channel 0.
The SBI function is incorporated into various devices including 75X/XL Series and 78K Series.
Figure 16-10 shows a serial bus configuration example when a CPU having a serial interface compliant with SBI
and peripheral ICs are used.
In SBI, the SB0 (SB1) serial data bus pin is an open-drain output pin and therefore the serial data bus line behaves
in the same way as the wired-OR configuration. In addition, a pull-up resistor must be connected to the serial data
bus line.
When the SBI mode is used, refer to (11) SBI mode precautions (d) described later.
Figure 16-10. Example of Serial Bus Configuration with SBI
VDD
Serial Clock
SCK0
SCK0
Slave CPU
SB0 (SB1)
Address 1
SCK0
Slave CPU
SB0 (SB1)
Address 2
Master CPU
Serial Data Bus
SB0 (SB1)
•
•
•
•
•
•
SCK0
Slave IC
SB0 (SB1)
Address N
Caution When exchanging the master CPU/slave CPU, a pull-up resistor is necessary for the serial clock
line (SCK0) as well because serial clock line (SCK0) input/output switching is carried out
asynchronously between the master and slave CPUs.
307
CHAPTER 16
SERIAL INTERFACE CHANNEL 0 (µPD78054 Subseries)
(1) SBI functions
In the conventional serial I/O format, when a serial bus is configured by connecting two or more devices, many
ports and wiring are necessary, to provide chip select signal to identify command and data, and to judge the
busy state, because only the data transfer function is available. If these operations are to be controlled by
software, the software must be heavily loaded.
In SBI, a serial bus can be configured with two signal lines of serial clock SCK0 and serial data bus SB0 (SB1).
Thus, use of SBI leads to reduction in the number of microcontroller ports and that of wirings and routings
on the board.
The SBI functions are described below.
(a) Address/command/data identify function
Serial data is distinguished into addresses, commands, and data.
(b) Chip select function by address transmission
The master executes slave chip selection by address transmission.
(c) Wake-up function
The slave can easily discriminate address reception (chip select) with the wake-up function (which can
be set/reset by software).
When the wake-up function is set, the interrupt request signal (INTCSI0) is generated upon reception of
a match address.
Thus, when communication is executed with two or more devices, the CPU except the selected slave
devices can operate regardless of underway serial communications.
(d) Acknowledge signal (ACK) control function
The acknowledge signal to check serial data reception is controlled.
(e) Busy signal (BUSY) control function
The busy signal to report the slave busy state is controlled.
308
CHAPTER 16
SERIAL INTERFACE CHANNEL 0 (µPD78054 Subseries)
(2) SBI definition
The SBI serial data format and the signals to be used are defined as follows.
Serial data to be transferred with SBI consists of three kinds of data: “address”, “command”, and “data”.
Figure 16-11 shows the address, command, and data transfer timings.
Figure 16-11. SBI Transfer Timings
Address Transfer
SCK0
8
SB0 (SB1)
Command Transfer
A7
Bus Release
Signal
9
A0
ACK
BUSY
Address
Command Signal
SCK0
SB0 (SB1)
9
C7
C0 ACK
BUSY
READY
BUSY
READY
Command
Data Transfer
SCK0
SB0 (SB1)
8
D7
9
D0 ACK
Data
Remark
The dotted line indicates READY status.
The bus release signal and the command signal are output by the master device. BUSY is output by the slave
signal. ACK can be output by either the master or slave device (normally, the 8-bit data receiver outputs).
Serial clocks continue to be output by the master device from 8-bit data transfer start to BUSY reset.
309
SERIAL INTERFACE CHANNEL 0 (µPD78054 Subseries)
CHAPTER 16
(a) Bus release signal (REL)
The bus release signal is a signal with the SB0 (SB1) line which has changed from the low level to the
high level when the SCK0 line is at the high level (without serial clock output).
This signal is output by the master device.
Figure 16-12. Bus Release Signal
SCK0
"H"
SB0 (SB1)
Caution A transition of the SB0 (SB1) pin from low to high while the SCK0 line is high is
interpreted as a bus release signal. Therefore, a shift in the change timing of the bus
due to the influence of the board capacitance, etc., may be incorrectly identified as a
bus release signal, regardless of whether data is being transmitted. For this reason,
special care must be taken regarding wiring.
The bus release signal indicates that the master device is going to transmit an address to the slave device.
The slave device incorporates hardware to detect the bus release signal.
(b) Command signal (CMD)
The command signal is a signal with the SB0 (SB1) line which has changed from the high level to the
low level when the SCK0 line is at the high level (without serial clock output). This signal is output by
the master device.
Figure 16-13. Command Signal
SCK0
"H"
SB0 (SB1)
A command signal indicates that the master is to transmit a command to a slave (however, the command
signal following a bus release signal indicates that the master is to transmit an address).
The slave device incorporates hardware to detect the command signal.
Caution A transition of the SB0 (SB1) pin from low to high while the SCK0 line is high is
interpreted as a command signal. Therefore, a shift in the change timing of the bus due
to the influence of the board capacitance, etc., may be incorrectly identified as a
command signal, regardless of whether data is being transmitted. For this reason,
special care must be taken regarding wiring.
310
CHAPTER 16
SERIAL INTERFACE CHANNEL 0 (µPD78054 Subseries)
(c) Address
An address is 8-bit data which the master device outputs to the slave device connected to the bus line
in order to select a particular slave device.
Figure 16-14. Addresses
1
SCK0
A7
SB0 (SB1)
2
A6
3
A5
4
A4
5
A3
6
A2
7
A1
8
A0
Address
Bus Release
Signal
Command Signal
8-bit data following bus release and command signals is defined as an “address”. In the slave device,
this condition is detected by hardware and whether or not 8-bit data matches the own specification number
(slave address) is checked by hardware. If the 8-bit data matches the slave address, the slave device
has been selected. After that, communication with the master device continues until a release instruction
is received from the master device.
Figure 16-15. Slave Selection with Address
Master
Slave 2
address transmission
Slave 1
Not selected
Slave 2
Selected
Slave 3
Not selected
Slave 4
Not selected
311
CHAPTER 16
SERIAL INTERFACE CHANNEL 0 (µPD78054 Subseries)
(d) Command and data
The master device transmits commands to, and transmits/receives data to/from the slave device selected
by address transmission.
Figure 16-16. Commands
SCK0
1
SB0 (SB1)
C7
2
C6
3
C5
4
5
C4
C3
6
7
8
C2
C1
C0
6
7
8
Command
Command Signal
Figure 16-17. Data
SCK0
SB0 (SB1)
1
D7
2
D6
3
D5
4
5
D4
D3
D2
D1
D0
Data
8-bit data following a command signal is defined as “command” data. 8-bit data without command signal
is defined as “data”. Command and data operation procedures are allowed to determine by user according
to communications specifications.
312
CHAPTER 16
SERIAL INTERFACE CHANNEL 0 (µPD78054 Subseries)
(e) Acknowledge signal (ACK)
The acknowledge signal is used to check serial data reception between transmitter and receiver.
Figure 16-18. Acknowledge Signal
[When output in synchronization with 11th clock SCK0]
SCK0
8
9
SB0 (SB1)
10
11
ACK
[When output in synchronization with 9th clock SCK0]
SCK0
SB0 (SB1)
Remark
8
9
ACK
The dotted line indicates READY status.
The acknowledge signal is one-shot pulse to be generated at the falling edge of SCK0 after 8-bit data
transfer. It can be positioned anywhere and can be synchronized with any clock SCK0.
After 8-bit data transmission, the transmitter checks whether the receiver has returned the acknowledge
signal. If the acknowledge signal is not returned for the preset period of time after data transmission,
it can be judged that data reception has not been carried out correctly.
313
CHAPTER 16
SERIAL INTERFACE CHANNEL 0 (µPD78054 Subseries)
(f) Busy signal (BUSY) and ready signal (READY)
The BUSY signal is intended to report to the master device that the slave device is preparing for data
transmission/reception.
The READY signal is intended to report to the master device that the slave device is ready for data
transmission/reception.
Figure 16-19. BUSY and READY Signals
SCK0
SB0 (SB1)
8
9
ACK
BUSY
READY
In SBI, the slave device notifies the master device of the busy state by setting SB0 (SB1) line to the low
level.
The BUSY signal output follows the acknowledge signal output from the master or slave device. It is set/
reset at the falling edge of SCK0. When the BUSY signal is reset, the master device automatically
terminates the output of SCK0 serial clock.
When the BUSY signal is reset and the READY signal is set, the master device can start the next transfer.
Caution SBI outputs the BUSY signal after BUSY has been cleared until the next falling edge of
the serial clock. If WUP is set to 1 by mistake during this time, BUSY will not be cleared.
Therefore, when setting WUP to 1, do so after clearing BUSY and then making sure that
the SB0 (SB1) pin has gone high.
314
CHAPTER 16
SERIAL INTERFACE CHANNEL 0 (µPD78054 Subseries)
(3) Register setting
The SBI mode is set with the serial operating mode register 0 (CSIM0), the serial bus interface control register
(SBIC), and the interrupt timing specify register (SINT).
(a) Serial operating mode register 0 (CSIM0)
CSIM0 is set with a 1-bit or 8-bit memory manipulation instruction.
RESET input sets CSIM0 to 00H.
Symbol
<7>
<6>
<5>
CSIM0 CSIE0 COI
R/W
R/W
4
WUP
3
2
1
0
CSIM04 CSIM03 CSIM02 CSIM01 CSIM00
Address
After Reset
FF60H
00H
R/W Note 1
Serial Interface Channel 0 Clock Selection
CSIM01 CSIM00
0
×
Input Clock to SCK0 pin from off-chip
1
0
8-bit timer register 2 (TM2) output
1
1
Clock specified with bits 0 to 3 of timer clock select register 3 (TCL3)
CSIM CSIM CSIM
PM25 P25 PM26 P26 PM27 P27
Operation
Mode
Start Bit
SI0/SB0/P25
Pin Function
04
03
02
0
×
3-wire serial I/O mode (16.4.2, “3-wire serial I/O mode operation.”)
Note 2 Note 2
×
0
1
R/W
×
0
0
0
P25 (CMOS
input/output)
1
SBI mode
0
SO0/SB1/P26
Pin Function
SB1 (N-ch
open-drain
input/output)
MSB
Note 2 Note 2
1
1
R/W
R
R/W
1
WUP
0
0
×
×
0
SB0 (N-ch
open-drain
input/output)
1
2-wire serial I/O mode (see section 16.4.4, “2-wire serial I/O mode operation.”)
Note 3
Wake-up Function Control
Interrupt request signal generation with each serial transfer in any mode
1
Interrupt request signal generation when the address received after bus release
(when CMDD=RELD=1) matches the slave address register (SVA) data in SBI mode
Note 4
Slave Address Comparison Result Flag
0
Slave address register (SVA) not equal to serial I/O shift register 0 (SIO0) data
1
Slave address register (SVA) equal to serial I/O shift register 0 (SIO0) data
CSIE0
SCK0 (CMOS
input/output)
P26 (CMOS
input/output)
0
COI
SCK0/P27
Pin Function
Serial Interface Channel 0 Operation Control
0
Operation stopped
1
Operation enabled
Notes 1. Bit 6 (COI) is a read-only bit.
2. Can be used as a port.
3. To use the wake-up function (WUP = 1), clear the bit 5 (SIC) of the interrupt timing specify
register (SINT) to 0.
4. When CSIE0=0, COI becomes 0.
Remark
×
: don’t care
PM×× : Port mode register
P××
: Port output latch
315
SERIAL INTERFACE CHANNEL 0 (µPD78054 Subseries)
CHAPTER 16
(b) Serial bus interface control register (SBIC)
SBIC is set with a 1-bit or 8-bit memory manipulation instruction.
RESET input sets SBIC to 00H.
The shaded area is used in the SBI mode.
Symbol
<7>
<6>
<5>
<4>
<3>
<2>
<1>
<0>
SBIC BSYE ACKD ACKE ACKT CMDD RELD CMDT RELT
R/W
R/WNote
CMDT
Used for command signal output.
When CMDT = 1, SO0 Iatch is cleared to (0). After SO0 latch clearance, automatically cleared to (0).
Also cleared to 0 when CSIE0 = 0.
RELD
Bus Release Detection
Set Conditions (RELD = 1)
• When transfer start instruction is executed
• If SIO0 and SVA values do not match in address
reception (only when WUP = 1)
• When CSIE0 = 0
• When RESET input is applied
R CMDD
Set Conditions (CMDD = 1)
• When transfer start instruction is executed
• When bus release signal (REL) is detected
• When CSIE0 = 0
• When RESET input is applied
R/W
• When bus release signal (REL) is detected
Command Detection
Clear Conditions (CMDD = 0)
• When command signal (CMD) is detected
ACKT
Acknowledge signal is output in synchronization with the falling edge clock of SCK0 just after execution
of the instruction to be set to (1) and, after acknowledge signal output, automatically cleared to (0).
Used as ACKE=0. Also cleared to (0) upon start of serial interface transfer or when CSIE0 = 0.
ACKE
Acknowledge Signal Automatic Output Control
0
Acknowledge signal automatic output disable (output with ACKT enable)
Before completion of
transfer
1
After completion of
transfer
Note
Acknowledge signal is output in synchronization with the 9th clock falling edge of
SCK0 (automatically output when ACKE = 1).
Acknowledge signal is output in synchronization with falling edge clock
of SCK0 just after execution of the instruction to be set to 1
(automatically output when ACKE = 1).
However, not automatically cleared to 0 after acknowledge signal output.
Bits 2, 3, and 6 (RELD, CMDD and ACKD) are read-only bits.
Remarks 1.
2.
316
00H
R/W
Used for bus release signal output.
When RELT = 1, SO0 Iatch is set to (1). After SO0 latch setting, automatically cleared to (0).
Also cleared to 0 when CSIE0 = 0.
Clear Conditions (RELD = 0)
R/W
FF61H
After Reset
RELT
R/W
R
Address
(Continued)
Bits 0, 1, and 4 (RELT, CMDT, and ACKT) are 0 when read after data setting.
CSIE0 : Bit 7 of serial operating mode register 0 (CSIM0)
CHAPTER 16
R
ACKD
SERIAL INTERFACE CHANNEL 0 (µPD78054 Subseries)
Acknowledge Detection
Clear Conditions (ACKD = 0)
• SCK0 fall immediately after the busy mode is
released during the transfer start instruction execution.
• When CSIE0 = 0
• When RESET input is applied
R/W
Set Conditions (ACKD = 1)
• When acknowledge signal (ACK) is detected at the
rising edge of SCK0 clock after completion of
transfer
Note
BSYE
Synchronizing Busy Signal Output Control
0
Disables busy signal which is output in synchronization with the falling edge of SCK0 clock just after
execution of the instruction to be cleared to (0) (sets READY status).
1
Outputs busy signal at the falling edge of SCK0 clock following the acknowledge signal.
Note
Busy mode can be cleared by start of serial interface transfer. However, BSYE flag is not cleared
to 0.
Remark
CSIE0 : Bit 7 of serial operating mode register 0 (CSIM0)
317
SERIAL INTERFACE CHANNEL 0 (µPD78054 Subseries)
CHAPTER 16
(c) Interrupt timing specify register (SINT)
SINT is set with a 1-bit or 8-bit memory manipulation instruction.
RESET input sets SINT to 00H.
Symbol
7
<6>
<5>
SINT
0
CLD
SIC SVAM
<4>
3
2
1
0
Address
0
0
0
0
FF63H
After Reset
R/W
00H
R/WNote 1
R/W
SVAM
SVA Bit to be Used as Slave Address
0
Bits 0 to 7
1
Bits 1 to 7
R/W
SIC
INTCSI0 Interrupt Factor SelectionNote 2
0
CSIIF0 is set upon termination of serial interface
channel 0 transfer
1
CSIIF0 is set upon bus release detection or
termination of serial interface channel 0 transfer
R
CLD
SCK0/P27 Pin LevelNote 3
0
Low level
1
High level
Notes 1. Bit 6 (CLD) is a read-only bit.
2. When using wake-up function in the SBI mode, set SIC to 0.
3. When CSIE0 = 0, CLD becomes 0.
Caution Be sure to set bits 0 to 3 to 0.
Remark
SVA
: Slave address register
CSIIF0 : Interrupt request flag corresponding to INTCSI0
CSIE0 : Bit 7 of serial operating mode register 0 (CSIM0)
318
CHAPTER 16
SERIAL INTERFACE CHANNEL 0 (µPD78054 Subseries)
(4) Various signals
Figures 16-20 to 16-25 show various signals and flag operations in SBI. Table 16-3 lists various signals in
SBI.
Figure 16-20. RELT, CMDT, RELD, and CMDD Operations (Master)
Slave address write to SIO0
(Transfer Start Instruction)
SIO0
SCK0
SB0 (SB1)
RELT
CMDT
RELD
CMDD
Figure 16-21. RELT and CMDD Operations (Slave)
Write FFH to SIO0
(Transfer start instruction)
SIO0
SCK0
Transfer start instruction
A7
A6
1
2
A7
A6
A1
7
A0
8
9
READY
SB0 (SB1)
A1
Slave address
A0
ACK
When addresses match
RELD
When addresses do not match
CMDD
319
CHAPTER 16
SERIAL INTERFACE CHANNEL 0 (µPD78054 Subseries)
Figure 16-22. ACKT Operation
SCK0
SB0 (SB1)
6
7
D2
8
D1
9
D0
ACK
ACKT
When set during
this period
Caution Do not set ACKT before termination of transfer.
320
ACK signal is output for
a period of one clock
just after setting
CHAPTER 16
SERIAL INTERFACE CHANNEL 0 (µPD78054 Subseries)
Figure 16-23. ACKE Operations
(a) When ACKE = 1 upon completion of transfer
2
1
SCK0
D7
SB0 (SB1)
7
D6
D2
8
D1
9
D0
ACK
ACK signal is output
at 9th clock
ACKE
When ACKE = 1 at this point
(b) When set after completion of transfer
SCK0
SB0 (SB1)
7
6
D2
8
D1
9
D0
ACK
ACK signal is output for
a period of one clock
just after setting
ACKE
If set during this period and ACKE = 1
at the falling edge of the next SCK0
(c) When ACKE = 0 upon completion of transfer
1
SCK0
2
D7
SB0 (SB1)
7
D6
D2
8
D1
9
ACK signal is not output
D0
ACKE
When ACKE = 0 at this point
(d) When “ACKE = 1” period is short
SCK0
SB0 (SB1)
D2
D1
D0
ACK signal is not output
ACKE
If set and cleared during this period
and ACKE = 0 at the falling edge of SCK0
321
CHAPTER 16
SERIAL INTERFACE CHANNEL 0 (µPD78054 Subseries)
Figure 16-24. ACKD Operations
(a) When ACK signal is output at 9th clock of SCK0
Transfer Start
Instruction
SIO0
Transfer Start
6
SCK0
7
D2
SB0 (SB1)
8
D1
9
D0
ACK
ACKD
(b) When ACK signal is output after 9th clock of SCK0
Transfer Start
Instruction
SIO0
Transfer Start
6
SCK0
7
D2
SB0 (SB1)
8
9
D0
D1
ACK
ACKD
(c) Clear timing when transfer start is instructed in BUSY
Transfer Start
Instruction
SIO0
SCK0
6
7
D2
SB0 (SB1)
8
D1
9
D0
ACK
BUSY
D7
D6
ACKD
Figure 16-25. BSYE Operation
SCK0
SB0 (SB1)
7
6
D2
8
D1
9
D0
ACK
BUSY
BSYE
When BSYE = 1 at this point
322
If reset during this period and
BSYE = 0 at the falling edge of SCK0
Table 16-3. Various Signals in SBI Mode (1/2)
Signal Name
Bus release
signal
(REL)
Busy signal
(BUSY)
SB0 (SB1) rising edge
when SCK0 = 1
SCK0
Condition
Master
Master/
slave
Slave
SB0 (SB1) falling edge
when SCK0 = 1
Low-level signal to be
output to SB0 (SB1) during
one-clock period of SCK0
after completion of serial
reception
• CMDT set
• CMDD set
i) Transmit data is an
address after REL
signal output.
ii) REL signal is not
output and transmit data is an
command.
<1> ACKE = 1
<2> ACKT set
• ACKD set
Completion of
reception
SB0 (SB1)
[Synchronous BUSY signal]
SCK0
Low-level signal to be
output to SB0 (SB1)
SB0 (SB1)
following Acknowledge
signal
Slave
High-level signal to be
output to SB0 (SB1) before
serial transfer start and
after completion of serial
transfer
"H"
[Synchronous BUSY output]
9
ACK
BUSY
D0
D0
• BSYE = 1
—
Serial receive disable
because of
processing
<1> BSYE = 0
<2> Execution of
instruction for
data write to
SIO0
(transfer start
instruction)
—
Serial receive enable
READY
ACK
Meaning of Signal
CMD signal is output
to indicate that
transmit data is an
address.
• RELT set
SCK0
Effects on Flag
• RELD set
• CMDD clear
"H"
SB0 (SB1)
SB0 (SB1)
Ready signal
(READY)
Output
Timing Chart
BUSY
READY
SERIAL INTERFACE CHANNEL 0 (µPD78054 Subseries)
Acknowledge
signal
(ACK)
Master
Definition
CHAPTER 16
Command
signal
(CMD)
Output
Device
323
324
Table 16-3. Various Signals in SBI Mode (2/2)
Signal Name
Master
Synchronous clock to
output address/command/
data, ACK signal,
synchronous BUSY signal,
etc. Address/command/
data are transferred with
the first eight synchronous
clocks.
8-bit data to be transferred
in synchronization with
SCK0 after output of REL
and CMD signals
SCK0
1
Commands
(C7 to C0)
Data
(D7 to D0)
Master
Master/
slave
8-bit data to be transferred
in synchronization with
SCK0 without output of
REL and CMD signals
2
7
8
9
10
SB0 (SB1)
SCK0
1
2
7
8
1
2
7
8
1
2
7
8
SB0 (SB1)
REL
8-bit data to be transferred
in synchronization with
SCK0 after output of only
CMD signal without REL
signal output
Output
Condition
Timing Chart
CMD
SCK0
SB0 (SB1)
Effects on Flag
Meaning of Signal
Timing of signal
output to serial data
bus
When CSIE0 = 1,
Address value of
execution of
slave device on the
instruction for
CSIIF0 set (rising serial bus
data write to
edge of 9th clock
SIO0 (serial
of SCK0)Note 1
transfer start
instruction)Note 2
Instructions and
messages to the
slave device
CMD
SCK0
SB0 (SB1)
Numeric values to be
processed with slave
or master device
Notes 1. When WUP = 0, CSIIF0 is set at the rising edge of the 9th clock of SCK0.
When WUP = 1, an address is received. Only when the address matches the slave address register (SVA) value, CSIIF0 is set. (if the address does
not coincide with the value of SVA, RELD is cleared).
2. In BUSY state, transfer starts after the READY state is set.
SERIAL INTERFACE CHANNEL 0 (µPD78054 Subseries)
Address
(A7 to A0)
Master
Definition
CHAPTER 16
Serial clock
(SCK0)
Output
Device
CHAPTER 16
SERIAL INTERFACE CHANNEL 0 (µPD78054 Subseries)
(5) Pin configuration
The serial clock pin SCK0 and serial data bus pin SB0 (SB1) have the following configurations.
(a) SCK0 ............ Serial clock input/output pin
<1> Master ... CMOS and push-pull output
<2> Slave ..... Schmitt input
(b) SB0 (SB1) .... Serial data input/output dual-function pin
Both master and slave devices have an N-ch open drain output and a Schmitt input.
Because the serial data bus line has an N-ch open-drain output, an external pull-up resistor is necessary.
Figure 16-26. Pin Configuration
Slave Device
Master Device
SCK0
SCK0
Clock Output
(Clock Output)
Clock Input
Serial Clock
(Clock Input)
N-ch Open-Drain
SO0
SB0 (SB1)
RL
SB0 (SB1)
Serial Data Bus
SI0
N-ch Open-Drain
SO0
SI0
Caution Because the N-ch open-drain output must be high-impedance state at time of data reception,
write FFH to serial I/O shift register 0 (SIO0) in advance. The N-ch open-drain can be highimpedance state at any time of transfer. However, when the wake-up function specify bit
(WUP) = 1, the N-ch open-drain output always becomes high-impedance state. Thus, it is
not necessary to write FFH to SIO0 before reception.
325
CHAPTER 16
SERIAL INTERFACE CHANNEL 0 (µPD78054 Subseries)
(6) Address match detection method
In the SBI mode, the master transmits a slave address to select a specific slave device.
Coincidence of the addresses can be automatically detected by hardware. CSIIF0 is set only when the slave
address transmitted by the master coincides with the address set to SVA when the wake-up function specify
bit (WUP) = 1.
If the bit 5 (SIC) of the interrupt timing specify register (SINT) is set, the wake-up function cannot be used
even if WUP is set (an interrupt request signal is generated when bus release is detected). To use the wakeup function, clear SIC to 0.
Cautions 1. Slave selection/non-selection is detected by matching of the slave address received after
bus release (RELD = 1).
For this match detection, match interrupt request (INTCSI0) of the address to be
generated with WUP = 1 is normally used.
Thus, execute selection/non-selection
detection by slave address when WUP = 1.
2. When detecting selection/non-selection without the use of interrupt request with WUP
= 0, do so by means of transmission/reception of the command preset by program instead
of using the address match detection method.
(7) Error detection
In the SBI mode, the serial bus SB0 (SB1) status being transmitted is fetched into the destination device, that
is, the serial I/O shift register 0 (SIO0). Thus, transmit errors can be detected in the following way.
(a) Method of comparing SIO0 data before transmission to that after transmission
In this case, if two data differ from each other, a transmit error is judged to have occurred.
(b) Method of using the slave address register (SVA)
Transmit data is set to both SIO0 and SVA and is transmitted. After termination of transmission, COI bit
(match signal coming from the address comparator) of the serial operating mode register 0 (CSIM0) is
tested. If “1”, normal transmission is judged to have been carried out. If “0”, a transmit error is judged
to have occurred.
(8) Communication operation
In the SBI mode, the master device selects normally one slave device as communication target from among
two or more devices by outputting an “address” to the serial bus.
After the communication target device has been determined, commands and data are transmitted/received
and serial communication is realized between the master and slave devices.
Figures 16-27 to 16-30 show data communication timing charts.
Shift operation of the serial I/O shift register 0 (SIO0) is carried out at the falling edge of serial clock (SCK0).
Transmit data is latched into the SO0 latch and is output with MSB set as the first bit from the SB0/P25 or
SB1/P26 pin. Receive data input to the SB0 (or SB1) pin at the rising edge of SCK0 is latched into the SIO0.
326
Figure 16-27. Address Transmission from Master Device to Slave Device (WUP = 1)
Master Device Processing (Transmitter)
Program Processing
CMDT
Set
RELT
Set
CMDT
Set
Write
to SIO0
Interrupt Servicing
(Preparation for the Next Serial Transfer)
Serial Transmission
INTCSI0
ACKD
SCK0
Generation
Set
Stop
SCK0 Pin
1
SB0 (SB1) Pin
A7
2
A6
3
4
A5
5
A4
A3
6
A2
7
A1
8
9
A0
ACK
BUSY
READY
Address
Slave Device Processing (Receiver)
ACKT
Set
BUSY
INTCSI0
ACK BUSY
BUSY
Generation
Output Output
Clear
Program Processing
Hardware Operation
WUP←0
CMDD CMDD CMDD
Set
Clear
Set
RELD
Set
Serial Reception
(When SVA = SIO0)
Clear
SERIAL INTERFACE CHANNEL 0 (µPD78054 Subseries)
Transfer Line
CHAPTER 16
Hardware Operation
327
328
Figure 16-28. Command Transmission from Master Device to Slave Device
Master Device Processing (Transmitter)
Program Processing
CMDT
Set
Write
to SIO0
Interrupt Servicing
(Preparation for the Next Serial Transfer)
Serial Transmission
INTCSI0
ACKD
SCK0
Generation
Set
Stop
SCK0 Pin
1
SB0 (SB1) Pin
C7
2
C6
3
4
C5
5
C4
C3
6
C2
7
C1
8
9
C0
ACK
BUSY
Command
Slave Device Processing (Receiver)
SIO0
Read
Program Processing
Hardware Operation
CMDD
Set
Serial Reception
Command ACKT
analysis
Set
BUSY
Clear
INTCSI0
ACK BUSY
Generation
Output
Output
BUSY
Clear
READY
SERIAL INTERFACE CHANNEL 0 (µPD78054 Subseries)
Transfer Line
CHAPTER 16
Hardware Operation
Figure 16-29. Data Transmission from Master Device to Slave Device
Master Device Processing (Transmitter)
Program Processing
Write
to SIO0
Interrupt Servicing
(Preparation for the Next Serial Transfer)
Serial Transmission
INTCSI0
ACKD
SCK0
Generation
Set
Stop
SCK0 Pin
SB0 (SB1) Pin
1
D7
2
D6
3
4
D5
D4
5
D3
6
D2
7
D1
8
9
D0
ACK
BUSY
Data
Slave Device Processing (Receiver)
SIO0
Read
Program Processing
Hardware Operation
Serial Reception
ACKT
Set
BUSY
Clear
INTCSI0
ACK BUSY
Generation
Output
Output
BUSY
Clear
READY
SERIAL INTERFACE CHANNEL 0 (µPD78054 Subseries)
Transfer Line
CHAPTER 16
Hardware Operation
329
330
Figure 16-30. Data Transmission from Slave Device to Master Device
Master Device Processing (Receiver)
SIO0
Read
FFH Write
to SIO0
Program Processing
Serial Reception
Stop
Set
INTCSI0
ACK
Generation
Output
to SIO0
Receive data processing
Serial
Reception
SCK0 Pin
SB0 (SB1) Pin
1
BUSY
READY
D7
2
D6
3
4
D5
D4
5
D3
6
D2
7
D1
8
9
1
D0
ACK
BUSY
READY
Data
Slave Device processing (Transmitter)
Program Processing
Write
to SIO0
Hardware Operation
BUSY
Clear
Write
to SIO0
Serial Transmission
INTCSI0
ACKD
Generation
Set
BUSY
Output
BUSY
Clear
2
D7
D6
SERIAL INTERFACE CHANNEL 0 (µPD78054 Subseries)
Transfer Line
CHAPTER 16
SCK0
Hardware Operation
ACKT FFH Write
CHAPTER 16
SERIAL INTERFACE CHANNEL 0 (µPD78054 Subseries)
(9) Transfer start
Serial transfer is started by setting transfer data to the serial I/O shift register 0 (SIO0) when the following two
conditions are satisfied.
• Serial interface channel 0 operation control bit (CSIE0) = 1
• Internal serial clock is stopped or SCK0 is at high level after 8-bit serial transfer.
Cautions 1. If CSIE0 is set to “1” after data write to SIO0, transfer does not start.
2. Because the N-ch open-drain output must be high-impedance state for data reception,
write FFH to SIO0 in advance.
However, when the wake-up function specify bit (WUP) = 1, the N-ch open-drain output
is always high-impedance state. Thus, it is not necessary to write FFH to SIO0.
3. If data is written to SIO0 when the slave is busy, the data is not lost.
When the busy state is cleared and SB0 (or SB1) input is set to the high level (READY)
state, transfer starts.
Upon termination of 8-bit transfer, serial transfer automatically stops and the interrupt request flag (CSIIF0)
is set.
Perform the following settings to the pins used for input/output of data (SB0 or SB1) after inputting RESET
before the first byte of serial transmission.
<1> Set the P25 and P26 output latches to 1.
<2> Set bit 0 (RELT) of the serial bus interface control register (SBIC) to 1.
<3> Reset the P25 and P26 output latches from 1 to 0.
331
CHAPTER 16
SERIAL INTERFACE CHANNEL 0 (µPD78054 Subseries)
(10) Discrimination of slave busy state
When device is in the master mode, follow the procedure below to judge whether slave device is in the busy
state or not.
<1> Detect acknowledge signal (ACK) or interrupt request signal generation.
<2> Set the port mode register PM25 (or PM26) of the SB0/P25 (or SB1/P26) pin into the input mode.
<3> Read out the pin state (when the pin level is high, the READY state is set).
After the detection of the READY state, set the port mode register to 0 and return to the output mode.
(11) SBI mode precautions
(a) Slave selection/non-selection is detected by match detection of the slave address received after bus
release (RELD = 1).
For this match detection, match interrupt (INTCSI0) of the address to be generated with WUP = 1 is
normally used. Thus, execute selection/non-selection detection by slave address when WUP = 1.
(b) When detecting selection/non-selection without the use of interrupt with WUP = 0, do so by means of
transmission/reception of the command preset by program instead of using the address match detection
method.
(c) A transition of the SB0 (SB1) pin from low to high or high to low while the SCK0 line is high is interpreted
as a bus release or command signal. Therefore, a shift in the change timing of the bus due to the influence
of the board capacitance, etc., may be incorrectly identified as a bus release signal (or command signal),
regardless of whether data is being transmitted. For this reason, special care must be taken regarding
wiring.
(d) For pins which are to be used for data input/output, be sure to carry out the following settings before serial
transfer of the 1st byte after RESET input.
<1> Set the P25 and P26 output latches to 1.
<2> Set bit 0 (RELT) of the serial bus interface control register (SBIC) to 1.
<3> Reset the P25 and P26 output latches from 1 to 0.
(e) If SB0 (SB1) line changes from low level to high level or from high level to low level while SCK0 line is
high level, it is recognized as a bus release signal or a command signal. Therefore, if a lag of changing
timing occurs on the bus because of the substrate capacity, etc., it may be judged as a bus release signal
(command signal) despite that data is being transmitted. Exercise care for wiring.
332
CHAPTER 16
SERIAL INTERFACE CHANNEL 0 (µPD78054 Subseries)
16.4.4 2-wire serial I/O mode operation
The 2-wire serial I/O mode can cope with any communication format by program.
Communication is basically carried out with two lines of serial clock (SCK0) and serial data input/output (SB0 or
SB1).
Figure 16-31. Serial Bus Configuration Example Using 2-Wire Serial I/O Mode
VDD
VDD
Master
Slave
SCK0
SB0 (SB1)
SCK0
SB0 (SB1)
333
CHAPTER 16
SERIAL INTERFACE CHANNEL 0 (µPD78054 Subseries)
(1) Register setting
The 2-wire serial I/O mode is set with the serial operating mode register 0 (CSIM0), the serial bus interface
control register (SBIC), and the interrupt timing specify register (SINT).
(a) Serial operating mode register 0 (CSIM0)
CSIM0 is set with a 1-bit or 8-bit memory manipulation instruction.
RESET input sets CSIM0 to 00H.
Symbol
<7>
<6>
<5>
CSIM0 CSIE0 COI
R/W
R/W
4
WUP
3
2
1
0
CSIM04 CSIM03 CSIM02 CSIM01 CSIM00
Address
FF60H
After Reset
00H
0
×
Input Clock to SCK0 pin from off-chip
1
0
8-bit timer register 2 (TM2) output
1
1
Clock specified with bits 0 to 3 of timer clock select register 3 (TCL3)
CSIM CSIM CSIM
Operation
Mode
02
Start Bit
SIO/SB0/P25
Pin Function
03
0
×
3-wire Serial I/O mode (See Section 16.4.2, “3-wire serial I/O mode operation”
1
0
SBI mode (See section 16.4.3, “SBI mode operation”
Note 2 Note 2
1
×
×
1
WUP
0
0
0
1
2-wire serial
l/O mode
Note 2 Note 2
1
R/W
0
0
×
×
0
1
P25 (CMOS
input/output
SB1 (N-ch
open-drain
input/output)
SB0 (N-ch
open-drain
input/output)
P26 (CMOS
input/output)
MSB
Wake-up Function Control Note 3
0
Interrupt request signal generation with each serial transfer in any mode
1
Interrupt request signal generation when the address received after bus release
(when CMDD=RELD=1) matches the slave address register (SVA) data in SBI mode
COI
Slave Address Comparison Result Flag Note 4
0
Slave address register (SVA) not equal to serial I/O shift register 0 (SIO0) data
1
Slave address register (SVA) equal to serial I/O shift register 0 (SIO0) data
CSIE0
Serial Interface Channel 0 Operation Control
0
Operation stopped
1
Operation enabled
Notes 1. Bit 6 (COI) is a read-only bit.
2. Can be used freely as port function.
3. Be sure to set WUP to 0 when the 2-wire serial I/O mode.
4. When CSIE0=0, COI becomes 0.
Remark
×
: don’t care
PM×× : Port mode register
P××
334
SO0/SB1/P26
Pin Function
04
0
R
R/W Note 1
Serial Interface Channel 0 Clock Selection
CSIM01 CSIM00
PM25 P25 PM26 P26 PM27 P27
R/W
R/W
: Port output latch
SCK0/P27
Pin Function
SCK0 (N-ch
open-drain
input/output)
CHAPTER 16
SERIAL INTERFACE CHANNEL 0 (µPD78054 Subseries)
(b) Serial bus interface control register (SBIC)
SBIC is set with a 1-bit or 8-bit memory manipulation instruction.
RESET input sets SBIC to 00H.
Symbol
<7>
<6>
<5>
<4>
<3>
<2>
<1>
<0>
SBIC BSYE ACKD ACKE ACKT CMDD RELD CMDT RELT
R/W
R/W
Address
FF61H
After Reset
00H
R/W
R/W
RELT
When RELT = 1, SO0 Iatch is set to 1. After SO0 Iatch setting, automatically cleared to 0.
Also cleared to 0 when CSIE0 = 0.
CMDT
When CMDT = 1, SO0 Iatch is cleared to 0. After SO0 latch clearance, automatically cleared to 0.
Also cleared to 0 when CSIE0 = 0.
Remark
CSIE0 : Bit 7 of serial operating mode register 0 (CSIM0)
335
CHAPTER 16
SERIAL INTERFACE CHANNEL 0 (µPD78054 Subseries)
(c) Interrupt timing specify register (SINT)
SINT is set with a 1-bit or 8-bit memory manipulation instruction.
RESET input sets SINT to 00H.
Symbol
7
<6>
<5>
SINT
0
CLD
SIC SVAM
<4>
3
2
1
0
Address
0
0
0
0
FF63H
After Reset
00H
R/W
R/WNote 1
R/W
SIC
INTCSI0 Interrupt Factor Selection
0
CSIIF0 is set upon termination of serial interface
channel 0 transfer
1
CSIIF0 is set upon bus release detection or
termination of serial interface channel 0 transfer
R
CLD
SCK0/P27 Pin LevelNote 2
0
Low level
1
High level
Notes 1. Bit 6 (CLD) is a read-only bit.
2. When CSIE0 = 0, CLD becomes 0.
Caution Be sure to set bits 0 to 3 to 0.
Remark
CSIIF0 : Interrupt request flag corresponding to INTCSI0
CSIE0 : Bit 7 of serial operating mode register 0 (CSIM0)
336
SERIAL INTERFACE CHANNEL 0 (µPD78054 Subseries)
CHAPTER 16
(2) Communication operation
The 2-wire serial I/O mode is used for data transmission/reception in 8-bit units. Data transmission/reception
is carried out bit-wise in synchronization with the serial clock.
Shift operation of the serial I/O shift register 0 (SIO0) is carried out in synchronization with the falling edge
of the serial clock (SCK0). The transmit data is held in the SO0 latch and is output from the SB0/P25 (or SB1/
P26) pin on an MSB-first basis. The receive data input from the SB0 (or SB1) pin is latched into the shift register
at the rising edge of SCK0.
Upon termination of 8-bit transfer, the shift register operation stops automatically and the interrupt request
flag (CSIIF0) is set.
Figure 16-32. 2-Wire Serial I/O Mode Timings
SCK0
SB0 (SB1)
1
2
D7
3
D6
4
D5
5
D4
6
D3
7
D2
8
D1
D0
CSIIF0
End of Transfer
Transfer Start at the Falling Edge of SCK0
The SB0 (or SB1) pin specified for the serial data bus is an N-ch open-drain input/output and thus it must be
externally connected to a pull-up resistor. Because it is necessary to set N-ch open-drain output to highimpedance state for data reception, write FFH to SIO0 in advance.
The SB0 (or SB1) pin generates the SO0 latch status and thus the SB0 (or SB1) pin output status can be
manipulated by setting bit 0 (RELT) and bit 1 (CMDT) of serial bus interface control register (SBIC). However,
do not carry out this manipulation during serial transfer.
Control the SCK0 pin output level in the output mode (internal system clock mode) by manipulating the P27
output latch (refer to 16.4.5 SCK0/P27 pin output manipulation).
337
CHAPTER 16
SERIAL INTERFACE CHANNEL 0 (µPD78054 Subseries)
(3) Other signals
Figure 16-33 shows RELT and CMDT operations.
Figure 16-33. RELT and CMDT Operations
SO0 Latch
RELT
CMDT
(4) Transfer start
Serial transfer is started by setting transfer data to the serial I/O shift register 0 (SIO0) when the following two
conditions are satisfied.
• Serial interface channel 0 operation control bit (CSIE0) = 1
• Internal serial clock is stopped or SCK0 is at high level after 8-bit serial transfer.
Cautions 1. If CSIE0 is set to “1” after data write to SIO0, transfer does not start.
2. Because it is necessary to set N-ch open-drain output to high-impedance state for data
reception, write FFH to SIO0 in advance.
Upon termination of 8-bit transfer, serial transfer automatically stops and the interrupt request flag (CSIIF0)
is set.
(5) Error detection
In the 2-wire serial I/O mode, the serial bus SB0 (SB1) status being transmitted is fetched into the destination
device, that is, serial I/O shift register 0 (SIO0). Thus, transmit error can be detected in the following way.
(a) Method of comparing SIO0 data before transmission to that after transmission
In this case, if two data differ from each other, a transmit error is judged to have occurred.
(b) Method of using the slave address register (SVA)
Transmit data is set to both SIO0 and SVA and is transmitted. After termination of transmission, COI bit
(match signal coming from the address comparator) of the serial operating mode register 0 (CSIM0) is
tested. If “1”, normal transmission is judged to have been carried out. If “0”, a transmit error is judged
to have occurred.
338
CHAPTER 16
SERIAL INTERFACE CHANNEL 0 (µPD78054 Subseries)
16.4.5 SCK0/P27 pin output manipulation
Because the SCK0/P27 pin incorporates an output latch, static output is also possible by software in addition to
normal serial clock output.
P27 output latch manipulation enables any value of SCK0 to be set by software. (SI0/SB0 and SO0/SB1 pin to
be controlled with the RELT and CMDT bits of serial bus interface control register (SBIC).)
SCK0/P27 pin output manipulating procedure is described below.
<1> Set the serial operating mode register 0 (CSIM0) (SCK0 pin enabled for serial operation in the output mode).
SCK0 = 1 with serial transfer suspended.
<2> Manipulate the P27 output latch with a bit manipulation instruction.
Figure 16-34. SCK0/P27 Pin Configuration
Manipulated by bit
manipulation instruction
SCK0/P27
To Internal
Circuit
P27 Output
Latch
SCK0 (1 while transfer is stopped)
From Serial Clock
Control Circuit
When CSIE0 = 1
and
CSIM01 and CSIM00 are 1 and 0, or 1 and 1.
339
[MEMO]
340
CHAPTER 17 SERIAL INTERFACE CHANNEL 0 (µPD78054Y Subseries)
The µPD78054Y subseries incorporates three channels of serial interfaces. Differences between channels 0,
1, and 2 are as follows (Refer to CHAPTER 18 SERIAL INTERFACE CHANNEL 1 for details of the serial interface
channel 1. Refer to CHAPTER 19 SERIAL INTERFACE CHANNEL 2 for details of the serial interface channel
2).
Table 17-1. Differences between Channels 0, 1, and 2
Channel 0
Serial Transfer Mode
Clock selection
Channel 1
Channel 2
fXX/2, fXX/22, fXX/23,
fXX/2, fXX/22, fXX/23,
fXX/24, fXX/25, fXX/26,
fXX/24, fXX/25, fXX/26,
Baud rate generator
fXX/27, fXX/28, external
fXX/27, fXX/28, external
output
clock, TO2 output
clock, TO2 output
MSB/LSB switchable
3-wire serial I/O
Transfer method
MSB/LSB switchable
as the start bit
MSB/LSB switchable
as the start bit
Automatic transmit/
as the start bit
receive function
Transfer end flag
Serial transfer end
Serial transfer end
Serial transfer end
interrupt request flag
interrupt request flag
interrupt request flag
(CSIIF0)
(CSIIF1)
(SRIF)
I2C bus (Inter IC Bus)
2-wire serial I/O
UART
(Asynchronous serial interface)
Use possible
None
None
None
Use possible
341
CHAPTER 17
SERIAL INTERFACE CHANNEL 0 (µPD78054Y Subseries)
17.1 Serial Interface Channel 0 Functions
Serial interface channel 0 employs the following four modes.
• Operation stop mode
• 3-wire serial I/O mode
• 2-wire serial I/O mode
• I2C (Inter IC) bus mode
Caution Do not switch the operation mode (3-wire serial I/O, 2-wire serial I/O, I2C bus) while the
operation of serial interface channel 0 is enabled. Stop the serial operation before switching
the operation mode.
(1) Operation stop mode
This mode is used when serial transfer is not carried out. Power consumption can be reduced.
(2) 3-wire serial I/O mode (MSB-/LSB-first selectable)
This mode is used for 8-bit data transfer using three lines, one each for serial clock (SCK0), serial output (SO0)
and serial input (SI0). This mode enables simultaneous transmission/reception and therefore reduces the data
transfer processing time.
The start bit of transferred 8-bit data is switchable between MSB and LSB, so that devices can be connected
regardless of their start bit recognition.
This mode should be used when connecting with peripheral I/O devices or display controllers which incorporate
a conventional synchronous clocked serial interface as is the case with the 75X/XL, 78K, and 17K series.
(3) 2-wire serial I/O mode (MSB-first)
This mode is used for 8-bit data transfer using two lines of serial clock (SCK0) and serial data bus (SB0 or
SB1).
This mode enables to cope with any one of the possible data transfer formats by controlling the SCK0 level
and the SB0 or SB1 output level. Thus, the handshake line previously necessary for connection of two or
more devices can be removed, resulting in the increased number of available input/output ports.
342
CHAPTER 17
SERIAL INTERFACE CHANNEL 0 (µPD78054Y Subseries)
(4) I2C (Inter IC) bus mode (MSB-first)
This mode is used for 8-bit data transfer with two or more devices using two lines of serial clock (SCL) and
serial data bus (SDA0 or SDA1).
This mode is in compliance with the I2C bus format. In this mode, the transmitter can output three kinds of
data onto the serial data bus: “start condition”, “data”, and “stop condition”, to be actually sent or received.
The receiver automatically distinguishes the received data into “start condition”, “data”, or “stop condition”,
by hardware.
Figure 17-1. Serial Bus Configuration Example Using I2C Bus
VDD
VDD
Master CPU
Slave CPU1
SCL
SDA0 (SDA1)
SCL
SDA0 (SDA1)
Slave CPU2
SCL
SDA0 (SDA1)
Slave CPUn
SCL
SDA0 (SDA1)
343
CHAPTER 17
SERIAL INTERFACE CHANNEL 0 (µPD78054Y Subseries)
17.2 Serial Interface Channel 0 Configuration
Serial interface channel 0 consists of the following hardware.
Table 17-2. Serial Interface Channel 0 Configuration
Item
Register
Configuration
Serial I/O shift register 0 (SIO0)
Slave address register (SVA)
Timer clock select register 3 (TCL3)
Serial operating mode register 0 (CSIM0)
Control register
Serial bus interface control register (SBIC)
Interrupt timing specify register (SINT)
Port mode register 2 (PM2)Note
Note
Refer to Figure 6-7. Block Diagram of P20, P21, P23 to P26 and Figure 6-8. Block Diagram of
P22, P27.
344
SERIAL INTERFACE CHANNEL 0 (µPD78054Y Subseries)
CHAPTER 17
Figure 17-2. Serial Interface Channel 0 Block Diagram
Internal Bus
Serial Bus Interface
Control Register
Serial Operating Mode Register 0
CSIE0 COI WUP
CSIM CSIM CSIM CSIM CSIM
04
03
02
01
00
Slave Address
Register (SVA)
BSYE ACKD ACKE ACKT CMDD RELD CMDT RELT
SVAM
Match
BSYE
Control
Circuit
SI0/SB0/
SDA0/P25
Selector
P25
Output Latch
PM25
Output
Control
Serial I/O Shift
Register 0 (SIO0)
CLR SET
D
Q
Acknowledge
Output Circuit
Selector
SO0/SB1/
SDA1/P26
PM26
Stop Condition/
Start Condition/
Acknowledge
Detector
Output
Control
CLD
ACKD
CMDD
RELD
WUP
Interrupt
Request
Signal
Generator
P26 Output Latch
Serial Clock
Counter
SCK0/
SCL/P27
INTCSI0
TO2
PM27
Output
Control
Serial Clock
Control Circuit
CSIM00
CSIM01
Selector
1/16
Divider
CSIM00
CSIM01
2
Selector
f xx/2-fxx/28
4
P27
Output Latch
CLD
SIC
SVAM CLC WREL WAT1 WAT0
Interrupt Timing
Specify Register
TCL33 TCL32 TCL31 TCL30
Timer Clock
Select
Register 3
Internal Bus
Remark
Output Control selects between CMOS output and N-ch open drain output.
345
CHAPTER 17
SERIAL INTERFACE CHANNEL 0 (µPD78054Y Subseries)
(1) Serial I/O shift register 0 (SIO0)
This is an 8-bit register to carry out parallel-serial conversion and to carry out serial transmission/reception
(shift operation) in synchronization with the serial clock.
SIO0 is set with an 8-bit memory manipulation instruction.
When bit 7 (CSIE0) of serial operating mode register 0 (CSIM0) is 1, writing data to SIO0 starts serial operation.
In transmission, data written to SIO0 is output to the serial output (SO0) or serial data bus (SB0/SB1). In
reception, data is read from the serial input (SI0) or SB0/SB1 to SIO0.
Note that, if a bus is driven in the I2C bus mode or 2-wire serial I/O mode, the bus pin must serve for both
input and output. Therefore, the transmission N-ch open-drain output of the device which will start reception
of data must set to high impedance beforehand. Consequently, write FFH to SIO0 in advance.
In the I2C bus mode, set SIO0 to FFH with bit 7 (BSYE) of the serial bus interface control register (SBIC) set
to 0.
RESET input makes SIO0 undefined.
Caution Do not execute an instruction that writes SIO0 in the I2C bus mode while WUP (bit 5 of the
serial operating mode register 0 (CSIM0)) = 1. Even if such an instruction is not executed,
data can be received when the wake-up function is used (WUP = 1). For the detail of the wakeup function, refer to 17.4.4 (1) (c) Wake-up function.
(2) Slave address register (SVA)
This is an 8-bit register to set the slave address value for connection of a slave device to the serial bus.
SVA is set with an 8-bit memory manipulation instruction. This register is not used in the 3-wire serial I/O mode.
The master device outputs a slave address for selection of a particular slave device to the connected slave
device. These two data (the slave address output from the master device and the SVA value) are compared
with an address comparator. If they match, the slave device has been selected. In that case, bit 6 (COI) of
serial operating mode register 0 (CSIM0) becomes 1.
Address comparison can also be executed on the data of LSB-masked high-order 7 bits by setting bit 4 (SVAM)
of the interrupt timing specify register (SINT) to (1).
If no matching is detected in address reception, bit 2 (RELD) of the serial bus interface control register (SBIC)
is cleared to 0. In the I2C bus mode, the wake-up function can be used by setting the bit 5 (WUP) of CSIM0.
In this case, the interrupt request signal (INTCSI0) is generated when the slave address output by the master
coincides with the value of SVA (the interrupt request signal is also generated when the stop condition is
detected), and it can be learned by this interrupt request that the master requests for communication. To use
the wake-up function, set SIC to 1.
Further, when SVA transmits data as master or slave device in the the I2C bus mode or 2-wire serial I/O mode,
errors can be detected using SVA.
RESET input makes SVA undefined.
(3) SO0 latch
This latch holds SI0/SB0/SDA0/P25 and SO0/SB1/SDA1/P26 pin levels. It can be directly controlled by
software.
(4) Serial clock counter
This counter counts the serial clocks to be output and input during transmission/reception and to check whether
8-bit data has been transmitted/received.
(5) Serial clock control circuit
This circuit controls serial clock supply to the serial I/O shift register 0 (SIO0). When the internal system clock
is used, the circuit also controls clock output to the SCK0/SCL/P27 pin.
346
CHAPTER 17
SERIAL INTERFACE CHANNEL 0 (µPD78054Y Subseries)
(6) Interrupt request signal generator
This circuit controls interrupt request signal generation. It generates interrupt request signals according to
the settings of interrupt timing specification register (SINT) bits 0 and 1 (WAT0, WAT1) and serial operation
mode register 0 (CSIM0) bit 5 (WUP), as shown in Table 17-3.
(7) Acknowledge output circuit and stop condition/start condition/acknowledge detector
These two circuits output and detect various control signals in the I2C mode.
These do not operate in the 3-wire serial I/O mode and 2-wire serial I/O mode.
Table 17-3. Serial Interface Channel 0 Interrupt Request Signal Generation
Serial Transfer mode
3-wire or 2-wire serial I/O mode
BSYE WUP WAT1 WAT0 ACKE
0
0
0
0
0
Description
An interrupt request signal is generated each
time 8 serial clocks are counted.
Other than above
I2C bus mode (transmit)
0
0
1
Setting prohibited
0
0
An interrupt request signal is generated each
time 8 serial clocks are counted (8-clock wait).
Normally, during transmission the settings WAT21,
WAT0 = 1, 0, are not used. They are used only
when wanting to coordinate receive time and
processing systematically using software. ACK
information is generated by the receiving side,
thus ACKE should be set to 0 (disable).
1
1
0
An interrupt request signal is generated each
time 9 serial clocks are counted (9-clock wait).
ACK information is generated by the receiving
side, thus ACKE should be set to 0 (disable).
Other than above
I2C bus mode (receive)
1
0
1
Setting prohibited
0
0
An interrupt request signal is generated each
time 8 serial clocks are counted (8-clock wait).
ACK information is output by manipulating ACKT
by software after an interrupt is generated.
1
1
0/1
An interrupt request signal is generated each
time 9 serial clocks are counted (9-clock wait).
To automatically generate ACK information,
preset ACKE to 1 before transfer start. However,
in the case of the master, set ACKE to 0
(disable) before receiving the last data.
1
1
1
1
1
After address is received, if the values of the
serial I/O shift register 0 (SI00) and the slave
address register (SVA) match, and if the stop
condition is detected, an interrupt request signal
is generated.
To automatically generate ACK information,
preset ACKE to 1 (enable) before transfer start.
Other than above
Remark
Setting prohibited
BSYE: Bit 7 of serial bus interface control register (SBIC)
ACKE: Bit 5 of serial bus interface control register (SBIC)
347
CHAPTER 17
SERIAL INTERFACE CHANNEL 0 (µPD78054Y Subseries)
17.3 Serial Interface Channel 0 Control Registers
The following four types of registers are used to control serial interface channel 0.
• Timer clock select register 3 (TCL3)
• Serial operating mode register 0 (CSIM0)
• Serial bus interface control register (SBIC)
• Interrupt timing specify register (SINT)
(1) Timer clock select register 3 (TCL3)
This register sets the serial clock of serial interface channel 0.
TCL3 is set with an 8-bit memory manipulation instruction.
RESET input sets TCL3 to 88H.
348
CHAPTER 17
SERIAL INTERFACE CHANNEL 0 (µPD78054Y Subseries)
Figure 17-3. Timer Clock Select Register 3 Format
Symbol
7
6
5
4
3
2
1
0
Address
TCL3 TCL37 TCL36 TCL35 TCL34 TCL33 TCL32 TCL31 TCL30
After Reset
FF43H
88H
R/W
R/W
TCL33 TCL32 TCL31 TCL30 Serial Interface Channel 0 Serial Clock Selection
Serial Clock in I2 C Bus Mode
Serial Clock in 2-Wire or 3-Wire
Serial I/O Mode
MCS = 1
MCS = 0
5
M CS = 1
MCS = 0
0
1
1
0
f XX/2
Setting prohibited
f X/2 (78.1 kHz)
f XX/2
Setting prohibited
f X/22 (1.25 MHz)
0
1
1
1
f XX/26
f X/26 (78.1 kHz)
f X/27 (39.1 kHz)
f XX/22
f X/22 (1.25 MHz)
f X/23 (625 kHz)
1
0
0
0
f XX/27
f X/27 (39.1 kHz)
f X/28 (19.5 kHz)
f XX/23
f X/23 (625 kHz)
f X/24 (313 kHz)
1
0
0
1
f XX/28
f X/28 (19.5 kHz)
f X/29 (9.77 kHz)
f XX/24
f X/24 (313 kHz)
f X/25 (156 kHz)
1
0
1
0
f XX/29
f X/29 (9.77 kHz)
f X/210 (4.88 kHz) f XX/25
f X/25 (156 kHz)
f X/26 (78.1 kHz)
1
0
1
1
f XX/210 f X/210 (4.88 kHz) f X/211 (2.44 kHz) f XX/26
f X/26 (78.1 kHz)
f X/27 (39.1 kHz)
1
1
0
0
f XX/211 f X/211 (2.44 kHz) f X/212 (1.22 kHz) f XX/27
f X/27 (39.1 kHz)
f X/28 (19.5 kHz)
1
1
0
1
f XX/212 f X/212 (1.22 kHz) f X/213 (0.61 kHz) f XX/28
f X/28 (19.5 kHz)
f X/29 (9.8 kHz)
Other than above
6
Setting prohibited
Serial Interface Channel 1 Serial Clock Selection
TCL37 TCL36 TCL35 TCL34
MCS = 1
MCS = 0
0
1
1
0
f XX/2
Setting prohibited
f X/22 (1.25 MHz)
0
1
1
1
f XX/22
f X/22 (1.25 MHz)
f X/23 (625 kHz)
1
0
0
0
f XX/23
f X/23 (625 kHz)
f X/24 (313 kHz)
1
0
0
1
f XX/24
f X/24 (313 kHz)
f X/25 (156 kHz)
1
0
1
0
f XX/25
f X/25 (156 kHz)
f X/26 (78.1 kHz)
1
0
1
1
f XX/26
f X/26 (78.1 kHz)
f X/27 (39.1 kHz)
1
1
0
0
f XX/27
f X/27 (39.1 kHz)
f X/28 (19.5 kHz)
1
1
0
1
f XX/28
f X/28 (19.5 kHz)
f X/29 (9.8 kHz)
Other than above
Setting prohibited
Caution When rewriting TCL3 to other data, stop the serial transfer operation beforehand.
Remarks 1. fXX
2. fX
: Main system clock frequency (fX or fX/2)
: Main system clock oscillation frequency
3. MCS : Oscillation mode selection register (OSMS) bit 0
4. Figures in parentheses apply to operation with fX = 5.0 MHz.
349
CHAPTER 17
SERIAL INTERFACE CHANNEL 0 (µPD78054Y Subseries)
(2) Serial operating mode register 0 (CSIM0)
This register sets serial interface channel 0 serial clock, operating mode, operation enable/stop wake-up
function and displays the address comparator match signal.
CSIM0 is set with a 1-bit or 8-bit memory manipulation instruction.
RESET input sets CSIM0 to 00H.
Caution Do not switch the operation mode (3-wire serial I/O, 2-wire serial I/O, I2C bus) while the
operation of serial interface channel 0 is enabled. Stop the serial operation before switching
the operation mode.
350
CHAPTER 17
SERIAL INTERFACE CHANNEL 0 (µPD78054Y Subseries)
Figure 17-4. Serial Operating Mode Register 0 Format
Symbol
<7>
<6>
<5>
CSIM0 CSIE0 COI
R/W
R/W
4
WUP
3
2
1
0
Address
FF60H
CSIM04 CSIM03 CSIM02 CSIM01 CSIM00
After Reset
00H
0
×
Input Clock to SCK0/SCL pin from off-chip
1
0
8-bit timer register 2 (TM2) output Note2
1
1
Clock specified with bits 0 to 3 of timer clock select register 3 (TCL3)
CSIM CSIM CSIM
Operation
Mode
PM25 P25 PM26 P26 PM27 P27
03
0
×
02
0
Note3 Note3
1
1
×
0
0
0
1
3-wire serial
l/O mode
Start Bit
MSB
LSB
SI0/SB0/SDA0/ SO0/SB1/SDA1/ SCK0/SCL/P27
P25 Pin Function P26 Pin Function Pin Function
SI0 Note3
(Input)
SO0
(CMOS output)
P25 (CMOS
input/output)
SB1/SDA1
(N-ch open-drain
input/output)
SB0/SDA0
(N-ch open-drain
input/output)
P26 (CMOS
input/output)
Note4 Note4
0
1
×
×
0
0
0
1
Note4 Note4
1
R/W
R
R/W
WUP
R/WNote 1
Serial Interface Channel 0 Clock Selection
CSIM01 CSIM00
04
R/W
0
0
×
×
Wake-up Function Control
0
1
2-wire serial
l/O mode
or
2
1 I C Bus Mode
MSB
Interrupt request signal generation with each serial transfer in any mode
1
Interrupt request signal generation when the address received after detecting start condition
(when CMDD = 1) matches the slave address register (SVA) data in I2C bus mode
Slave Address Comparison Result Flag
Note 6
0
Slave address register (SVA) not equal to serial I/O shift register 0 (SIO0) data
1
Slave address register (SVA) equal to serial I/O shift register 0 (SIO0) data
CSIE0
SCK0/SCL
(N-ch opendrain input/
output)
Note 5
0
COI
SCK0 (CMOS
input/output)
Serial Interface Channel 0 Operation Control
0
Operation stopped
1
Operation enabled
Notes 1.
2.
3.
4.
5.
Bit 6 (COI) is a read-only bit.
I2C bus mode, the clock frequency becomes 1/16 of that output from TO2.
Can be used as P25 (CMOS input/output) when used only for transmission.
Can be used freely as port function.
To use the wake-up function (WUP = 1), set the bit 5 (SIC) of the interrupt timing specify register
(SINT) to 1. Do not execute an instruction that writes the serial I/O shift register 0 (SIO0) while
WUP = 1.
6. When CSIE0 = 0, COI becomes 0.
Remark
×
: don’t care
PM×× : Port mode register
P×× : Port output latch
351
SERIAL INTERFACE CHANNEL 0 (µPD78054Y Subseries)
CHAPTER 17
(3) Serial bus interface control register (SBIC)
This register sets serial bus interface operation and displays statuses.
SBIC is set with a 1-bit or 8-bit memory manipulation instruction.
RESET input sets SBIC to 00H.
Figure 17-5. Serial Bus Interface Control Register Format (1/2)
Symbol
<7>
<6>
<5>
<4>
<3>
<2>
<1>
<0>
SBIC BSYE ACKD ACKE ACKT CMDD RELD CMDT RELT
R/W
FF61H
After Reset
R/W
00H
R/W Note
RELT
Used for stop condition signal output.
When RELT = 1, SO0 Iatch is set to 1. After SO0 latch setting, automatically cleared to 0.
Also cleared to 0 when CSIE0 = 0.
CMDT
Used for start condition signal output.
When CMDT = 1, SO0 Iatch is cleared to (0). After SO0 latch clearance, automatically cleared to 0.
Also cleared to 0 when CSIE0 = 0.
RELD
Stop Condition Detection
R/W
R
Address
Clear Conditions (RELD = 0)
• When transfer start instruction is executed
• If SIO0 and SVA values do not match in
address reception
• When CSIE0 = 0
Set Conditions (RELD =1)
• When stop condition signal is detected
• When RESET input is applied
R CMDD
Start Condition Detection
Clear Conditions (CMDD = 0)
• When transfer start instruction is executed
• When stop condition signal is detected
• When CSIE0 = 0
Set Conditions (CMDD = 1)
• When start condition signal is detected
• When RESET input is applied
R/W
ACKT
Note
Used to generate the ACK signal by software when 8-clock wait mode is selected.
Keeps SDA0 (SDA1) low from set instruction (ACKT=1) execution to the next falling edge of SCL.
Also cleared to 0 upon start of serial interface transfer or when CSIE0 = 0.
Bits 2, 3, and 6 (RELD, CMDD and ACKD) are read-only bits.
Remarks 1. Bits 0, 1, and 4 (RELT, CMDT, ACKT) are 0 when read after the data is set.
2. CSIE0: Bit 7 of serial operating mode register 0 (CSIM0)
352
CHAPTER 17
SERIAL INTERFACE CHANNEL 0 (µPD78054Y Subseries)
Figure 17-5. Serial Bus Interface Control Register Format (2/2)
R/W
ACKE
0
1
R
ACKD
Acknowledge Signal Output Control Note 1
Disables acknowledge signal automatic output. (However, output with ACKT is enabled)
Used for reception when 8-clock wait mode is selected or for transmission. Note 2
Enables acknowledge signal automatic output.
Outputs acknowledge signal in synchronization with the falling edge of the 9th SCL clock cycle
(automatically output when ACKE = 1).
However, not automatically cleared to 0 after acknowledge signal output.
Used in reception with 9-clock wait mode selected.
Acknowledge Detection
Clear Conditions (ACKD = 0)
• While executing the transfer start instruction
• When CSIE0 = 0
• When RESET input is applied
R/W
Set Conditions (ACKD = 1)
• When acknowledge signal (ACK) is detected at the
rising edge of SCL clock after completion of
transfer
Note3
BSYE
Control of N-ch Open-Drain Output for Transmission in I2C Bus Mode
0
Output enabled (transmission)
1
Output disabled (reception)
Note 4
Notes 1. Setting should be performed before transfer.
2. If 8-clock wait mode is selected, the acknowledge signal at reception time must be output using
ACKT.
3. The busy mode can be canceled by start of serial interface transfer or reception of address signal.
However, the BSYE flag is not cleared to 0.
4. When using the wake-up function, be sure to set BSYE to 1.
Remark CSIE0: Bit 7 of serial operating mode register 0 (CSIM0)
353
CHAPTER 17
SERIAL INTERFACE CHANNEL 0 (µPD78054Y Subseries)
(4) Interrupt timing specify register (SINT)
This register sets the bus release interrupt and address mask functions and displays the SCK0/SCL pin level
status. SINT is set with a 1-bit or 8-bit memory manipulation instruction.
RESET input sets SINT to 00H.
Figure 17-6. Interrupt Timing Specify Register Format (1/2)
Symbol
7
<6>
<5>
SINT
0
CLD
SIC SVAM CLC WREL WAT1 WAT0
R/W
WAT1 WAT0
0
0
<4>
<3>
<2>
1
0
Address
FF63H
After Reset
00H
R/W
R/W Note 1
Wait and Interrupt Control
Generates interrupt service request at rising edge of 8th SCK0 clock cycle.
(keeping clock output in high impedance)
0
1
Setting prohibited
1
0
Used in I2C bus mode. (8-clock wait)
Generates interrupt service request at rising edge of 8th SCK0 clock cycle.
(In the case of master device, makes SCL output low to enter wait state after 8 clock pulses are
output. In the case of slave device, makes SCL output low to request wait state after 8 clock
pulses are input.)
1
1
Used in I2C bus mode. (9-clock wait)
Generates interrupt service request at rising edge of 9th SCK0 clock cycle.
(In the case of master device, makes SCL output low to enter wait state after 9 clock pulses are
output. In the case of slave device, makes SCL output low to request wait state after 9 clock
pulses are input.)
R/W
R/W
WREL Wait Sate Cancellation Control
0
Wait state has been cancelled.
1
Cancels wait state. Automatically cleared to 0 when the state is cancelled.
(Used to cancel wait state by means of WAT0 and WAT1.)
CLC
Clock Level Control Note 2
0
Used in I2C bus mode.
Make output level of SCL pin low unless serial transfer is being performed.
1
Used in I2C bus mode.
Make SCL pin enter high-impedance state unless serial transfer is being performed.
(except for clock line which is kept high)
Used to enable master device to generate start condition and stop condition signals.
Notes 1. Bit 6 (CLD) is a read-only bit.
2. When not using the I2C mode, set CLC to 0.
354
CHAPTER 17
SERIAL INTERFACE CHANNEL 0 (µPD78054Y Subseries)
Figure 17-6. Interrupt Timing Specify Register Format (2/2)
R/W
R/W
R
SVAM
SVA Bit to be Used as Slave Address
0
Bits 0 to 7
1
Bits 1 to 7
SIC
INTCSI0 Interrupt Cause Selection Note1
0
CSIIF0 is set to 1 upon termination of serial interface channel 0 transfer
1
CSIIF0 is set to 1 upon stop condition detection or termination of serial interface channel 0 transfer
CLD
SCK0/SCL Pin Level Note 2
0
Low level
1
High level
Notes 1. When using wake-up function in the I2C mode, set SIC to 0.
2. When CSIE0 = 0, CLD becomes 0.
Remark
SVA
: Slave address register
CSIIF0 : Interrupt request flag corresponding to INTCSI0
CSIE0 : Bit 7 of serial operating mode register 0 (CSIM0)
355
CHAPTER 17
SERIAL INTERFACE CHANNEL 0 (µPD78054Y Subseries)
17.4 Serial Interface Channel 0 Operations
The following four operating modes are available to the serial interface channel 0.
• Operation stop mode
• 3-wire serial I/O mode
• 2-wire serial I/O mode
• I2C (Inter IC) bus mode
17.4.1 Operation stop mode
Serial transfer is not carried out in the operation stop mode. Thus, power consumption can be reduced. The serial
I/O shift register 0 (SIO0) does not carry out shift operation either and thus it can be used as ordinary 8-bit register.
In the operation stop mode, the P25/SI0/SB0/SDA0, P26/SO0/SB1/SDA1 and P27/SCK0/SCL pins can be used
as general input/output ports.
(1) Register setting
The operation stop mode is set with the serial operating mode register 0 (CSIM0).
CSIM0 is set with a 1-bit or 8-bit memory manipulation instruction.
RESET input sets CSIM0 to 00H.
Symbol
<7>
<6>
CSIM0 CSIE0 COI
R/W
356
CSIE0
<5>
WUP
4
3
2
1
0
CSIM04 CSIM03 CSIM02 CSIM01 CSIM00
Serial Interface Channel 0 Operation Control
0
Operation stopped
1
Operation enabled
Address
FF60H
After Reset
00H
R/W
R/W
CHAPTER 17
SERIAL INTERFACE CHANNEL 0 (µPD78054Y Subseries)
17.4.2 3-wire serial I/O mode operation
The 3-wire serial I/O mode is valid for connection of peripheral I/O units and display controllers which incorporate
a conventional synchronous clocked serial interface as is the case with the 75X/XL, 78K, and 17K series.
Communication is carried out with three lines of serial clock (SCK0), serial output (SO0), and serial input (SI0).
(1) Register setting
The 3-wire serial I/O mode is set with the serial operating mode register 0 (CSIM0) and serial bus interface
control register (SBIC).
(a) Serial operating mode register 0 (CSIM0)
CSIM0 is set with a 1-bit or 8-bit memory manipulation instruction.
RESET input sets CSIM0 to 00H.
Symbol
<7>
<6>
<5>
CSIM0 CSIE0 COI
R/W
R/W
4
WUP
3
2
1
0
CSIM04 CSIM03 CSIM02 CSIM01 CSIM00
Address
After Reset
FF60H
00H
0
×
Input Clock to SCK0 pin from off-chip
1
0
8-bit timer register 2 (TM2) output
1
1
Clock specified with bits 0 to 3 of timer clock select register 3 (TCL3)
CSIM CSIM CSIM
Operation
Mode
PM25 P25 PM26 P26 PM27 P27
03
02
0
×
0
1
Note 2 Note 2
1
1
1
R/W Note 1
Serial Interface Channel 0 Clock Selection
CSIM01 CSIM00
04
R/W
×
0
0
0
1
3-wire serial
l/O mode
Start Bit
MSB
LSB
SIO/SB0/SDA0 SO0/SB1/SDA1 SCK0/SCL/P27
/P25 Pin Function /P26 Pin Function Pin Function
Note 2
SI0
(Input)
SO0
(CMOS output)
SCK0 (CMOS
input/output)
2-wire serial I/O mode (See the section 17.4.3, “2-wire serial I/O mode operation”.)
or
2
2
I C bus mode (See the section 17.4.4, “I C bus mode operation”.)
R/W
R/W
WUP
Wake-up Function Control Note 3
0
Interrupt request signal generation with each serial transfer in any mode
1
Interrupt request signal generation when the address received after detecting start condition
2
(when CMDD = 1) matches the slave address register (SVA) data in I C bus mode
CSIE0
Serial Interface Channel 0 Operation Control
0
Operation stopped
1
Operation enabled
Notes 1. Bit 6 (COI) is a read-only bit.
2. Can be used as P25 (CMOS input/output) when used only for transmission.
3. Be sure to set WUP to 0 when the 3-wire serial I/O mode is selected.
Remark
×
: don’t care
PM×× : Port mode register
P××
: Port output latch
357
CHAPTER 17
SERIAL INTERFACE CHANNEL 0 (µPD78054Y Subseries)
(b) Serial bus interface control register (SBIC)
SBIC is set with a 1-bit or 8-bit memory manipulation instruction.
RESET input sets SBIC to 00H.
Symbol
<7>
<6>
<5>
<4>
<3>
<2>
<1>
<0>
SBIC BSYE ACKD ACKE ACKT CMDD RELD CMDT RELT
R/W
R/W
After Reset
FF61H
00H
R/W
R/W
RELT
When RELT = 1, SO0 Iatch is set to 1. After SO0 Iatch setting, automatically cleared to 0.
Also cleared to 0 when CSIE0 = 0.
CMDT
When CMDT = 1, SO0 Iatch is cleared to 0. After SO0 latch clearance, automatically cleared to 0.
Also cleared to 0 when CSIE0 = 0.
Remark
358
Address
CSIE0: Bit 7 of serial operating mode register 0 (CSIM0)
CHAPTER 17
SERIAL INTERFACE CHANNEL 0 (µPD78054Y Subseries)
(2) Communication operation
The 3-wire serial I/O mode is used for data transmission/reception in 8-bit units. Bit-wise data transmission/
reception is carried out in synchronization with the serial clock.
Shift operation of the serial I/O shift register 0 (SIO0) is carried out at the falling edge of the serial clock (SCK0).
The transmitted data is held in the SO0 latch and is output from the SO0 pin. The received data input to the
SI0 pin is latched in SIO0 at the rising edge of SCK0.
Upon termination of 8-bit transfer, SIO0 operation stops automatically and the interrupt request flag (CSIIF0)
is set.
Figure 17-7. 3-Wire Serial I/O Mode Timings
SCK0
1
2
3
4
5
6
7
8
SI0
DI7
DI6
DI5
DI4
DI3
DI2
DI1
DI0
SO0
DO7
DO6
DO5
DO4
DO3
DO2
DO1
DO0
CSIIF0
End of Transfer
Transfer Start at the Falling Edge of SCK0
The SO0 pin is a CMOS output pin and outputs current SO0 latch statuses. Thus, the SO0 pin output status
can be manipulated by setting bit 0 (RELT) and bit 1 (CMDT) of serial bus interface control register (SBIC).
However, do not carry out this manipulation during serial transfer.
Control the SCK0 pin output level in the output mode (internal system clock mode) by manipulating the P27
output latch (refer to 17.4.7 SCK0/SCL/P27 pin output manipulation).
(3) Other signals
Figure 17-8 shows RELT and CMDT operations.
Figure 17-8. RELT and CMDT Operations
SO0 latch
RELT
CMDT
359
CHAPTER 17
SERIAL INTERFACE CHANNEL 0 (µPD78054Y Subseries)
(4) MSB/LSB switching as the start bit
The 3-wire serial I/O mode enables to select transfer to start from MSB or LSB.
Figure 17-9 shows the configuration of the serial I/O shift register 0 (SIO0) and internal bus. As shown in the
figure, MSB/LSB can be read/written in reverse form.
MSB/LSB switching as the start bit can be specified with bit 2 (CSIM02) of the serial operating mode register
0 (CSIM0).
Figure 17-9. Circuit of Switching in Transfer Bit Order
7
6
Internal Bus
1
0
LSB-first
MSB-first
Read/Write Gate
Read/Write Gate
SO0 Latch
SI0
Serial I/O Shift Register 0 (SIO0)
D
Q
SO0
SCK0
Start bit switching is realized by switching the bit order for data write to SIO0. The SIO0 shift order remains
unchanged.
Thus, switching between MSB-first and LSB-first must be performed before writing data to SIO0.
(5) Transfer start
Serial transfer is started by setting transfer data to the serial I/O shift register 0 (SIO0) when the following two
conditions are satisfied.
• Serial interface channel 0 operation control bit (CSIE0) = 1.
• Internal serial clock is stopped or SCK0 is a high level after 8-bit serial transfer.
Caution If CSIE0 is set to “1” after data write to SIO0, transfer does not start.
Upon termination of 8-bit transfer, serial transfer automatically stops and the interrupt request flag (CSIIF0)
is set.
360
CHAPTER 17
17.4.3
SERIAL INTERFACE CHANNEL 0 (µPD78054Y Subseries)
2-wire serial I/O mode operation
The 2-wire serial I/O mode can cope with any communication format by program.
Communication is basically carried out with two lines of serial clock (SCK0) and serial data input/output (SB0 or
SB1).
Figure 17-10. Serial Bus Configuration Example Using 2-Wire Serial I/O Mode
VDD
VDD
Master
Slave
SCK0
SB0 (SB1)
SCK0
SB0 (SB1)
(1) Register setting
The 2-wire serial I/O mode is set with the serial operating mode register 0 (CSIM0), the serial bus interface
control register (SBIC), and the interrupt timing specify register (SINT).
361
CHAPTER 17
SERIAL INTERFACE CHANNEL 0 (µPD78054Y Subseries)
(a) Serial operating mode register 0 (CSIM0)
CSIM0 is set with a 1-bit or 8-bit memory manipulation instruction.
RESET input sets CSIM0 to 00H.
Symbol
<7>
<6>
<5>
CSIM0 CSIE0 COI
R/W
R/W
4
WUP
CSIM01 CSIM00
3
2
1
0
CSIM04 CSIM03 CSIM02 CSIM01 CSIM00
Address
FF60H
After Reset
00H
×
Input Clock to SCK0 pin from off-chip
1
0
8-bit timer register 2 (TM2) output
1
1
Clock specified with bits 0 to 3 of timer clock select register 3 (TCL3)
CSIM CSIM CSIM
Operation
PM25 P25 PM26 P26 PM27 P27
03
0
×
Mode
02
Start Bit
SIO/SB0/SDA0
Note 2 Note 2
×
×
0
0
0
1
1
Note 2 Note 2
1
R/W
R
R/W
WUP
0
0
×
×
0
2-wire serial
l/O mode
or
I2C bus mode
1
P25 (CMOS
input/output
SB1/SDA1
(N-ch open-drain
input/output)
MSB
SB0/SDA0
(N-ch open-drain
input/output)
P26 (CMOS
input/output)
Wake-up Function Control Note 3
0
Interrupt request signal generation with each serial transfer in any mode
1
Interrupt request signal generation when the address received after detecting start condition
(when CMDD = 1) matches the slave address register (SVA) data in I2C bus mode
COI
Slave Address Comparison Result Flag Note4
0
Slave address register (SVA) not equal to serial I/O shift register 0 (SIO0) data
1
Slave address register (SVA) equal to serial I/O shift register 0 (SIO0) data
CSIE0
Serial Interface Channel 0 Operation Control
0
Operation stopped
1
Operation enabled
Notes 1. Bit 6 (COI) is a read-only bit.
2. Can be used freely as port function.
3. Be sure to set WUP to 0 when the 2-wire serial I/O mode.
4. When CSIE0=0, COI becomes 0.
Remark
×
: don’t care
PM×× : Port mode register
P××
362
SO0/SB1/SDA1
/P25 Pin Function /P26 Pin Function
SCK0/SCL/P27
Pin Function
3-wire Serial I/O mode (See Section 17.4.2, “3-wire serial I/O mode operation”
0
1
R/W Note 1
Serial Interface Channel 0 Clock Selection
0
04
R/W
: Port output latch
SCK0/SCL
(N-ch open-drain
input/output)
CHAPTER 17
SERIAL INTERFACE CHANNEL 0 (µPD78054Y Subseries)
(b) Serial bus interface control register (SBIC)
SBIC is set with a 1-bit or 8-bit memory manipulation instruction.
RESET input sets SBIC to 00H.
Symbol
<7>
<6>
<5>
<4>
<3>
<2>
<1>
<0>
SBIC BSYE ACKD ACKE ACKT CMDD RELD CMDT RELT
R/W
R/W
Address
FF61H
After Reset
00H
R/W
R/W
RELT
When RELT = 1, SO0 Iatch is set to 1. After SO0 Iatch setting, automatically cleared to 0.
Also cleared to 0 when CSIE0 = 0.
CMDT
When CMDT = 1, SO0 Iatch is cleared to 0. After SO0 latch clearance, automatically cleared to 0.
Also cleared to 0 when CSIE0 = 0.
Remark
CSIE0: Bit 7 of serial operating mode register 0 (CSIM0)
363
CHAPTER 17
SERIAL INTERFACE CHANNEL 0 (µPD78054Y Subseries)
(c) Interrupt timing specify register (SINT)
SINT is set with a 1-bit or 8-bit memory manipulation instruction.
RESET input sets SINT to 00H.
Symbol
7
<6>
<5>
SINT
0
CLD
SIC SVAM CLC WREL WAT1 WAT0
R/W
SIC
R
<4>
<3>
<2>
1
0
Address
After Reset
FF63H
00H
R/W
R/W Note 1
INTCSI0 Interrupt Factor Selection
0
CSIIF0 is set upon termination of serial interface channel 0 transfer
1
CSIIF0 is set upon bus release detection or termination of serial interface channel 0 transfer
CLD
SCK0 Pin Level Note 2
0
Low level
1
High level
Notes 1. Bit 6 (CLD) is a read-only bit.
2. When CSIE0 = 0, CLD becomes 0.
Caution Be sure to set bits 0 to 3 to 0 in the 2-wire serial I/O mode is used.
Remark
CSIIF0 : Interrupt request flag corresponding to INTCSI0
CSIE0 : Bit 7 of serial operating mode register 0 (CSIM0)
364
CHAPTER 17
SERIAL INTERFACE CHANNEL 0 (µPD78054Y Subseries)
(2) Communication operation
The 2-wire serial I/O mode is used for data transmission/reception in 8-bit units. Data transmission/reception
is carried out bit-wise in synchronization with the serial clock.
Shift operation of the serial I/O shift register 0 (SIO0) is carried out in synchronization with the falling edge
of the serial clock (SCK0). The transmit data is held in the SO0 latch and is output from the SB0/SDA0/P25
(or SB1/SDA1/P26) pin on an MSB-first basis. The receive data input from the SB0 (or SB1) pin is latched
into the shift register at the rising edge of SCK0.
Upon termination of 8-bit transfer, the shift register operation stops automatically and the interrupt request
flag (CSIIF0) is set.
Figure 17-11. 2-Wire Serial I/O Mode Timings
SCK0
SB0 (SB1)
1
2
D7
3
D6
4
D5
5
D4
6
D3
7
D2
8
D1
D0
CSIIF0
End of Transfer
Transfer Start at the Falling Edge of SCK0
The SB0 (or SB1) pin specified for the serial data bus is an N-ch open-drain input/output and thus it must be
externally connected to a pull-up resistor. Because it is necessary to set the N-ch open-drain ouput to high
impedance for data reception, write FFH to SIO0 in advance.
The SB0 (or SB1) pin generates the SO0 latch status and thus the SB0 (or SB1) pin output status can be
manipulated by setting bit 0 (RELT) and bit 1 (CMDT) of serial bus interface control register (SBIC). However,
do not carry out this manipulation during serial transfer.
Control the SCK0 pin output level in the output mode (internal system clock mode) by manipulating the P27
output latch (refer to 17.4.7 SCK0/SCL/P27 pin output manipulation).
365
CHAPTER 17
SERIAL INTERFACE CHANNEL 0 (µPD78054Y Subseries)
(3) Other signals
Figure 17-12 shows RELT and CMDT operations.
Figure 17-12. RELT and CMDT Operations
SO0 Latch
RELT
CMDT
(4) Transfer start
Serial transfer is started by setting transfer data to the serial I/O shift register 0 (SIO0) when the following two
conditions are satisfied.
• Serial interface channel 0 operation control bit (CSIE0) = 1
• Internal serial clock is stopped or SCK0 is at high level after 8-bit serial transfer.
Cautions 1. If CSIE0 is set to “1” after data write to SIO0, transfer does not start.
2. Because the N-ch open-drain output must be set to high-impedance state for data
reception, write FFH to SIO0 in advance.
Upon termination of 8-bit transfer, serial transfer automatically stops and the interrupt request flag (CSIIF0)
is set.
(5) Error detection
In the 2-wire serial I/O mode, the serial bus SB0 (SB1) status being transmitted is fetched into the destination
device, that is, serial I/O shift register 0 (SIO0). Thus, transmit error can be detected in the following way.
(a) Method of comparing SIO0 data before transmission to that after transmission
In this case, if two data differ from each other, a transmit error is judged to have occurred.
(b) Method of using the slave address register (SVA)
Transmit data is set to both SIO0 and SVA and is transmitted. After termination of transmission, COI bit
(match signal coming from the address comparator) of the serial operating mode register 0 (CSIM0) is
tested. If “1”, normal transmission is judged to have been carried out. If “0”, a transmit error is judged
to have occurred.
366
CHAPTER 17
17.4.4
SERIAL INTERFACE CHANNEL 0 (µPD78054Y Subseries)
I2C bus mode operation
The I2C bus mode is provided for when communication operations are performed between a single master device
and multiple slave devices. This mode configures a serial bus that includes only a single master device, and is
based on the clocked serial I/O format with the addition of bus configuration functions, which allows the master
device to communicate with a number of (slave) devices using only two lines: serial clock (SCL) line and serial data
bus (SDA0 or SDA1) line. Consequently, when the user plans to configure a serial bus which includes multiple
microcontrollers and peripheral devices, using this configuration results in reduction of the required number of port
pins and on-board wires.
In the I2C bus specification, the master sends start condition, data, and stop condition signals to slave devices
through the serial data bus, while slave devices automatically detect and distinguish the type of signals due to the
signal detection function incorporated as hardware. This function simplifies the application program to control I2C
bus.
An example of a serial bus configuration is shown in Figure 17-13. This system below is composed of CPUs and
peripheral ICs having serial interface hardware that complies with the I2C bus specification.
Note that pull-up resistors are required to connect to both serial clock line and serial data bus line, because opendrain buffers are used for the serial clock pin (SCL) and the serial data bus pin (SDA0 or SDA1) on the I2C bus.
The signals used in the I2C bus mode are described in Table 17-4.
Figure 17-13. Example of Serial Bus Configuration Using I2C Bus
VDD VDD
Master CPU
Slave CPU1
SCL
SDA0(SDA1)
Serial clock
Serial data bus
SCL
SDA0(SDA1)
Slave CPU2
SCL
SDA0(SDA1)
Slave IC
SCL
SDA
367
SERIAL INTERFACE CHANNEL 0 (µPD78054Y Subseries)
CHAPTER 17
(1) I2C bus mode functions
In the I2C bus mode, the following functions are available.
(a) Automatic identification of serial data
Slave devices automatically detect and identifies start condition, data, and stop condition signals sent in series
through the serial data bus.
(b) Chip selection by specifying device addresses
The master device can select a specific slave device connected to the I2C bus and communicate with it by
sending in advance the address data corresponding to the destination device.
(c) Wake-up function
An interrupt request is generated during slave operation when the received address matches the value of slave
address register (SVA). (the interrupt request also occurs when the stop condition is detected). Therefore,
CPUs other than the selected slave device on the I2C bus can perform independent operations during the
serial communication.
(d) Acknowledge signal (ACK) control function
The master device and a slave device send and receive acknowledge signals to confirm that the serial
communication has been executed normally.
(e) Wait signal (WAIT) control function
When a slave device is preparing for data transmission or reception and requires more waiting time, the slave
device outputs a wait signal on the bus to inform the master device of the wait status.
(2) I2C bus definition
This section describes the format of serial data communications and functions of the signals used in the I2C
bus mode.
First, the transfer timings of the start condition, data, and stop condition signals, which are output onto the
signal data bus of the I2C bus, are shown in Figure 17-14.
Figure 17-14. I2C Bus Serial Data Transfer Timing
SCL
1-7
8
9
1-7
8
9
1-7
8
9
SDA0(SDA1)
Start
Address
condition
R/W ACK
Data
ACK
Data
ACK
Stop
condition
The start condition, slave address, and stop condition signals are output by the master. The acknowledge
signal (ACK) is output by either the master or the slave device (normally by the device which has received
the 8-bit data that was sent). A serial clock (SCL) is continuously supplied from the master device.
368
CHAPTER 17
SERIAL INTERFACE CHANNEL 0 (µPD78054Y Subseries)
(a) Start condition
When the SDA0 (SDA1) pin level is changed from high to low while the SCL pin is high, this transition is
recognized as the start condition signal. This start condition signal, which is created using the SCL and SDA0
(or SDA1) pins, is output from the master device to slave devices to initiate a serial transfer. See section
17.4.5, "Cautions on Use of I2C Bus Mode," for details of the start condition output.
The start condition signal is detected by hardware incorporated in slave devices.
Figure 17-15. Start Condition
H
SCL
SDA0(SDA1)
(b) Address
The 7 bits following the start condition signal are defined as an address.
The 7-bit address data is output by the master device to specify a specific slave from among those connected
to the bus line. Each slave device on the bus line must therefore have a different address.
Therefore, after a slave device detects the start condition, it compares the 7-bit address data received and the
data of the slave address register (SVA). After the comparison, only the slave device in which the data are a
match becomes the communication partner, and subsequently performs communication with the master device
until the master device sends a start condition or stop condition signal.
Figure 17-16. Address
SCL
1
2
A6
SDA0(SDA1)
3
A5
4
A4
5
A3
6
A2
7
A1
A0
R/W
Address
(c) Transfer direction specification
The 1 bit that follows the 7-bit address data will be sent from the master device, and it is defined as the transfer
direction specification bit. If this bit is 0, it is the master device which will send data to the slave. If it is 1, it
is the slave device which will send data to the master.
Figure 17-17. Transfer Direction Specification
SCL
SDA0(SDA1)
1
2
A6
3
A5
4
A4
5
A3
6
A2
8
7
A1
A0
R/W
Transfer direction
specification
369
CHAPTER 17
SERIAL INTERFACE CHANNEL 0 (µPD78054Y Subseries)
(d) Acknowledge signal (ACK)
The acknowledge signal indicates that the transferred serial data has definitely been received. This signal is
used between the sending side and receiving side devices for confirmation of correct data transfer. In principle,
the receiving side device returns an acknowledge signal to the sending device each time it receives 8-bit data.
The only exception is when the receiving side is the master device and the 8-bit data is the last transfer data;
the master device outputs no acknowledge signal in this case.
The sending side that has tranferred 8-bit data waits for the acknowledge signal which will be sent from the
receiving side. If the sending side device receives the acknowledge signal, which means a successful data
transfer, it proceeds to the next processing. If this signal is not sent back from the slave device, this means
that the data sent has not been received by the slave device, and therefore the master device outputs a stop
condition signal to terminate subsequent transmissions.
Figure 17-18. Acknowledge Signal
SCL
1
2
A6
SDA0 (SDA1)
3
A5
4
A4
5
A3
6
A2
7
A1
8
A0
9
R/W
ACK
(e) Stop condition
If the SDA0 (SDA1) pin level changes from low to high while the SCL pin is high, this transition is defined as
a stop condition signal.
The stop condition signal is output from the master to the slave device to terminate a serial transfer.
The stop condition signal is detected by hardware incorporated in the slave device.
Figure 17-19. Stop Condition
H
SCL
SDA0(SDA1)
370
CHAPTER 17
SERIAL INTERFACE CHANNEL 0 (µPD78054Y Subseries)
(f) Wait signal (WAIT)
The wait signal is output by a slave device to inform the master device that the slave device is in wait state due
to preparing for transmitting or receiving data.
During the wait state, the slave device continues to output the wait signal by keeping the SCL pin low to delay
subsequent transfers. When the wait state is released, the master device can start the next transfer. For the
releasing operation of slave devices, see section 17.4.5, “Cautions on Use of I2C Bus Mode.”
Figure 17-20. Wait Signal
(a) Wait of 8 Clock Cycles
Set low because slave device drives low,
though master device returns to Hi-Z state.
No wait is inserted after 9th clock cycle.
(and before master device starts next transfer.)
SCL of
master device
6
7
8
9
1
2
3
4
SCL of
slave device
SCL
D2
SDA0(SDA1)
D1
D0
ACK
D7
D6
D5
D4
Output by manipulating ACKT
(b) Wait of 9 Clock Cycles
Set low because slave device drives low,
though master device returns to Hi-Z state.
SCL of
master device
6
7
8
9
1
2
3
SCL of
slave device
SCL
SDA0(SDA1)
D2
D1
D0
ACK
D7
D6
D5
Output based on the value set in ACKE in advance
371
CHAPTER 17
SERIAL INTERFACE CHANNEL 0 (µPD78054Y Subseries)
(3) Register setting
The I2C mode is set with the serial operating mode register 0 (CSIM0), the serial bus interface control
register (SBIC), and the interrupt timing specify register (SINT).
(a) Serial operating mode register 0 (CSIM0)
CSIM0 is set by a 1-bit or 8-bit memory manipulation instruction.
RESET input sets 00H.
Symbol
<7>
<6>
<5>
CSIM0 CSIE0 COI
R/W
R/W
R/W
R
R/W
4
WUP
CSIM01 CSIM00
3
2
1
0
CSIM04 CSIM03 CSIM02 CSIM01 CSIM00
Address
After Reset
FF60H
00H
R/W
R/WNote1
Serial Interface Channel 0 Clock Selection
0
×
Input clock from off-chip to SCL pin
1
0
8-bit timer register 2 (TM2) output (SeeNote 2)
1
1
Clock specified with bits 0 to 3 of timer clock select register 3 (TCL3)
CSIM CSIM
04
03
CSIM PM25 P25
02
PM26 P26
PM27 P27
Operation
mode
Start
bit
SI0/SB0/SDA0/ SO0/SB1/SDA1/ SCK0/SCL/P27
P25 pin function P26 pin function pin function
0
×
3-wire serial I/O mode (see section 17.4.2 "Operation in 3-wire serial I/O mode")
1
1
0
×
×
0
Note 3 Note 3
1
1
1
0
0
0
0
1
2-wire
MSB
serial I/O or
I2C bus mode
P25
(CMOS I/O)
SB1/SDA1
N-ch opendrain I/O
SCK0/SCL
N-ch opendrain I/O
×
×
0
Note 3 Note 3
1
2-wire
MSB
serial I/O or
I2C bus mode
SB0/SDA0
N-ch opendrain I/O
P26
(CMOS I/O)
SCK0/SCL
N-ch opendrain I/O
Wake-up Function ControlNote 4
WUP
0
Interrupt request signal generation with each serial transfer in any mode
1
In I2C bus mode, interrupt request signal is generated when the address data received after start condition
detection (when CMDD = 1) matches data in slave address register (SVA).
Slave Address Comparison Result Flag (SeeNote 5)
COI
0
Slave address register (SVA) not equal to data in serial I/O shift register 0 (SIO0)
1
Slave address register (SVA) equal to data in serial I/O shift register 0 (SIO0)
CSIE0
Serial Interface Channel 0 Operation Control
0
Stops operation.
1
Enables operation.
Notes 1. Bit 6 (COI) is a read-only bit.
2. In the I2C bus mode, the clock frequency is 1/16 of the clock frequency output by TO2.
3. Can be used freely as a port.
4. To use the wake-up function (WUP = 1), set the bit 5 (SIC) of the interrupt timing specify register (SINT)
to 1. Do not execute an instruction that writes the serial I/O shift register 0 (SIO0) while WUP = 1.
5. When CSIE0 = 0, COI is 0.
Remark
×
: Don’t care
PM×× : Port mode register
P××
372
: Port output latch
CHAPTER 17
SERIAL INTERFACE CHANNEL 0 (µPD78054Y Subseries)
(b) Serial bus interface control register (SBIC)
SBIC is set by a 1-bit or 8-bit memory manipulation instruction.
RESET input sets SBIC to 00H.
Symbol
<7>
<6>
<5>
<4>
<3>
<2>
<1>
<0>
SBIC BSYE ACKD ACKE ACKT CMDD RELD CMDT RELT
Address
After Reset
FF61H
00H
R/W
R/WNote
R/W
RELT
Use for stop condition output. When RELT = 1, SO0 latch is set to 1. After SO0 latch setting, automatically
cleared to 0. Also cleared to 0 when CSIE0 = 0.
R/W
CMDT
Use for start condition output. When CMDT = 1, SO0 latch is cleared to 0. After clearing SO0 latch,
automatically cleared to 0. Also cleared to 0 when CSIE0 = 0.
R
RELD
R
Stop Condition Detection
0
Clear Conditions
• When transfer start instruction is executed
• If SIO0 and SVA values do not match in address reception
• When CSIE0 = 0
• When RESET input is applied
1
Setting Condition
• When stop condition is detected
CMDD
Start Condition Detection
0
Clear Conditions
• When transfer start instruction is executed
• When stop condition is detected
• When CSIE0 = 0
• When RESET input is applied
1
Setting Condition
• When start condition is detected
R/W
ACKT
SDA0 (SDA1) is set to low after the Set instruction execution (ACKT = 1) before the next SCL falling edge.
Used for generating an ACK signal by software if the 8-clock wait mode is selected. Cleared to 0 if CSIE =
0 when a transfer by the serial interface is started.
(continued)
Note
Bits 2, 3, and 6 (RELD, CMDD, ACKD) are read-only bits.
Remarks 1. Bits 0, 1, and 4 (RELT, CMDT, ACKT) are 0 when read after the data is set.
2. CSIE0: Bit 7 of serial operating mode register 0 (CSIM0)
373
CHAPTER 17
R/W
R
R/W
ACKE
SERIAL INTERFACE CHANNEL 0 (µPD78054Y Subseries)
Acknowledge Signal Automatic Output ControlNote 1
0
Disabled (with ACKT enabled). Used when receiving data in the 8-clock wait mode or when transmitting
data.Note 2
1
Enabled.
After completion of transfer, acknowledge signal is output in synchronization with the 9th falling edge of
SCL clock (automatically output when ACKE = 1). However, not automatically cleared to 0 after
acknowledge signal output. Used for reception when the 9-clock wait mode is selected.
ACKD
Acknowledge Detection
0
Clear Conditions
• When transfer start instruction is executed
• When CSIE0 = 0
• When RESET input is applied
1
Set Conditions
• When acknowledge signal is detected at the rising edge of SCL clock after completion of transfer
BSYE
Control of N-ch Open-Drain Output for Transmission in I2C Bus ModeNote 4
Note 3
0
Output enabled (transmission)
1
Output disabled (reception)
Notes 1. This setting must be performed prior to transfer start.
2. In the 8-clock wait mode, use ACKT for output of the acknowledge signal after normal data reception.
3. The busy mode can be released by the start of a serial interface transfer or reception of an address
signal. However, the BSYE flag is not cleared.
4. When using the wake-up function, be sure to set BSYE to 1.
Remark
374
CSIE0: Bit 7 of serial operating mode register 0 (CSIM0)
CHAPTER 17
SERIAL INTERFACE CHANNEL 0 (µPD78054Y Subseries)
(c) Interrupt timing specification register (SINT)
SINT is set by the 1-bit or 8-bit memory manipulation instruction.
RESET input sets SINT to 00H.
Symbol
7
<6>
<5>
SINT
0
CLD
SIC
R/W
R/W
R/W
R/W
R/W
R
<4>
<3>
<2>
1
0
SVAM CLC WREL WAT1 WAT0
Address
After Reset
FF63H
00H
R/W
R/WNote1
Interrupt control by wait (See Note 2)
WAT1
WAT0
0
0
Interrupt service request is generated on rise of 8th SCK0 clock cycle (clock output is high
impedance).
0
1
Setting prohibited
1
0
Used in I2C bus mode (8-clock wait)
Generates an interrupt service request on rise of 8th SCL clock cycle. (In case of master device,
SCL pin is driven low after output of 8 clock cycles, to enter the wait state. In case of slave device,
SCL pin is driven low after input of 8 clock cycles, to require the wait state.)
1
1
Used in I2C bus mode (9-clock wait)
Generates an interrupt service request on rise of 9th SCL clock cycle. (In case of master device,
SCL pin is driven low after output of 9 clock cycles, to enter the wait state. In case of slave device,
SCL pin is driven low after input of 9 clock cycles, to require the wait state.)
WREL
Wait release control
0
Indicates that the wait state has been released.
1
Releases the wait state. Automatically cleared to 0 after releasing the wait state. This bit is used to release
the wait state set by means of WAT0 and WAT1.
CLC
Clock level control
0
Used in I2C bus mode. In cases other than serial transfer, SCL pin output is driven low.
1
Used in I2C bus mode. In cases other than serial transfer, SCL pin output is set to high impedance. (Clock
line is held high.) Used by master device to generate the start condition and stop condition signals.
SVAM
SVA bits used as slave address
0
Bits 0 to 7
1
Bits 1 to 7
SIC
INTCSAI0 interrupt source selectionNote 3
0
CSIIF0 is set to 1 after end of serial interface channel 0 transfer.
1
CSIIF0 is set to 1 after end of serial interface channel 0 transfer or when stop condition is detected.
CLD
SCL pin level (See Note 4)
0
Low level
1
High level
Notes 1. Bit 6 (CLD) is read-only.
2. When the I2C bus mode is used, be sure to set 1 and 0, or 1 and 1 in WAT0 and WAT1, respectively.
3. When using the wake-up function in I2C mode, be sure to set SIC to 1.
4. When CSIE0 = 0, CLD is 0.
Remark SVA
: Slave address register
CSIIF0 : Interrupt request flag corresponding to INTCSI0
CSIE0 : Bit 7 of serial operating mode register 0 (CSIM0)
375
CHAPTER 17
SERIAL INTERFACE CHANNEL 0 (µPD78054Y Subseries)
(4) Various signals
A list of signals in the I2C bus mode is given in Table 17-4.
Table 17-4. Signals in I2C Bus Mode
Signal name
Description
Start condition
Definition :
SDA0 (SDA1) falling edge when SCL is highNote 1
Function :
Indicates that serial communication starts and subsequent data are address data.
Signaled by :
Master
Signaled when :
CMDT is set.
Affected flag(s) : CMDD (is set.)
Stop condition
Definition :
SDA0 (SDA1) rising edge when SCL is highNote 1
Function :
Indicates end of serial transmission.
Signaled by :
Master
Signaled when :
RELT is set.
Affected flag(s) : RELD (is set) and CMDD (is cleared)
Acknowledge signal (ACK)
Definition :
Low level of SDA0(SDA1) pin during one SCL clock cycle after serial reception
Function :
Indicates completion of reception of 1 byte.
Signaled by :
Master or slave
Signaled when :
ACKT is set with ACKE = 1.
Affected flag(s) : ACKD (is set.)
Wait (WAIT)
Definition :
Low-level signal output to SCL
Function :
Indicates state in which serial reception is not possible.
Signaled by :
Slave
Signaled when :
WAT1, WAT0 = 1x.
Affected flag(s) : None
Serial Clock (SCL)
Definition :
Synchronization clock for output of various signals
Function :
Serial communication synchronization signal.
Signaled by :
Master
Signaled when :
See Note 2 below.
Affected flag(s) : CSIIF0. Also see Note 3 below.
Address (A6 to A0)
Definition :
7-bit data synchronized with SCL immediately after start condition signal
Function :
Indicates address value for specification of slave on serial bus.
Signaled by :
Master
Signaled when :
See Note 2 below.
Affected flag(s) : CSIIF0. Also see Note 3 below.
Transfer direction (R/W)
Definition :
1-bit data output in synchronization with SCL after address output
Function :
Indicates whether data transmission or reception is to be performed.
Signaled by :
Master
Signaled when :
See Note 2 below.
Affected flag(s) : CSIIF0. Also see Note 3 below.
Data (D7 to D0)
Definition :
8-bit data synchronized with SCL, not immediately after start condition
Function :
Contains data actually to be sent.
Signaled by :
Master or slave
Signaled when :
See Note 2 below.
Affected flag(s) : CSIIF0. Also see Note 3 below.
Notes 1. The level of the serial clock can be controlled by CLC of interrupt timing specify register (SINT).
2. Execution of instruction to write data to SIO0 when CSIE0 = 1 (serial transfer start directive). In the
wait state, the serial transfer operation will be started after the wait state is released.
3. If the 8-clock wait is selected when WUP = 0, CSIIF0 is set at the rising edge of the 8th clock cycle
of SCL. If the 9-clock wait is selected when WUP = 0, CSIIF0 is set at the rising edge of the 9th clock
cycle of SCL. CSIIF0 is set if an address is received and that address coincides with the value of
the slave address register (SVA) when WUP = 1, or if the stop condition is detected.
376
CHAPTER 17
SERIAL INTERFACE CHANNEL 0 (µPD78054Y Subseries)
(5) Pin configurations
The configurations of the serial clock pin SCL and the serial data bus pins SDA0 (SDA1) are shown below.
(a) SCL
Pin for serial clock input/output dual-function pin.
<1> Master ..... N-ch open-drain output
<2> Slave ....... Schmitt input
(b) SDA0 (SDA1)
Serial data input/output dual-function pin.
Uses N-ch open-drain output and Schmitt-input buffers for both master and slave devices.
Note that pull-up resistors are required to connect to both serial clock line and serial data bus line, because
open-drain buffers are used for the serial clock pin (SCL) and the serial data bus pin (SDA0 or SDA1) on the
I2C bus.
Figure 17-21. Pin Configuration
Slave devices
VDD
Master device
SCL
Clock output
SCL
(Clock output)
VDD
(Clock input)
Clock input
SDA0(SDA1)
Data output
SDA0(SDA1)
Data input
Caution
Data output
Data input
To receive data, the N-ch open-drain output must be set to high-impedance state. Therefore,
set the bit 7 (BSYE) of the serial bus interface control register (SBIC) to 1 in advance, and
write FFH to the serial I/O shift register 0 (SIO0).
When the wake-up function is used (by setting the bit 5 (WUP) of the serial operating mode
register 0 (CSIM0)), however, do not write FFH to SIO0 before reception. Even if FFH is not
written to SIO0, the N-ch open-drain output is always in high-impedance state.
(6) Address match detection method
In the I2C mode, the master can select a specific slave device by sending slave address data.
CSIIF0 is set if the slave address transmitted by the master coincides with the value set to the slave address
register (SVA) when a slave device address has a slave register (SVA), and the wake-up function specify bit
(WUP) = 1 (CSIIF0 is also set when the stop condition is detected).
When using the wake-up function, set SIC to 1.
Caution
Slave selection/non-selection is detected by matching of the data (address) received after
start condition.
For this match detection, match detection interrupt request (INTCSI0) of the address to be
generated with WUP = 1 is normally used. Thus, execute selection/non-selection detection
by slave address when WUP = 1.
377
CHAPTER 17
SERIAL INTERFACE CHANNEL 0 (µPD78054Y Subseries)
(7) Error detection
In the I2C bus mode, transmission error detection can be performed by the following methods because the
serial bus SDA0 (SDA1) status during transmission is also taken into the serial I/O shift register 0 (SIO0)
register of the transmitting device.
(a) Comparison of SIO0 data before and after transmission
In this case, a transmission error is judged to have occurred if the two data values are different.
(b) Using the slave address register (SVA)
Transmit data is set in SIO0 and SVA before transmission is performed. After transmission, the COI bit (match
signal from the address comparator) of serial operating mode register 0 (CSIM0) is tested: "1" indicates normal
transmission, and "0" indicates a transmission error.
(8) Communication operation
In the I2C bus mode, the master selects the slave device to be communicated with from among multiple
devices by outputting address data onto the serial bus.
After the slave address data, the master sends the R/W bit which indicates the data transfer direction, and
starts serial communication with the selected slave device.
Data communication timing charts are shown in Figures 17-22 and 17-23.
In the transmitting device, the serial I/O shift register 0 (SIO0) shifts transmission data to the SO latch in
synchronization with the falling edge of the serial clock (SCL), the SO0 latch outputs the data on an MSBfirst basis from the SDA0 or SDA1 pin to the receiving device.
In the receiving device, the data input from the SDA0 or SDA1 pin is taken into the SIO0 in synchronization
with the rising edge of SCL.
(9) Start of transfer
A serial transfer is started by setting transfer data in serial I/O shift register 0 (SIO0) if the following two
conditions have been satisfied:
• The serial interface channel 0 operation control bit (CSIE0) = 1.
• After an 8-bit serial transfer, the internal serial clock is stopped or SCL is low.
Cautions 1. Be sure to set CSIE0 to 1 before writing data in SIO0. Setting CSIE0 to 1 after writing data
in SIO0 does not initiate transfer operation.
2. Because the N-ch open-drain output must be high-impedance state during data reception,
set bit 7 (BSYE) of serial bus interface control register (SBIC) to 1 before writing FFH to
SIO0.
Do not write FFH to SIO0 before reception when the wake-up function is used (by setting
the bit 5 (WUP) of the serial operating mode register 0 (CSIM0)). Even if FFH is not written
to SIO0, the N-ch open-drain output is always in high-impedance state.
3. If data is written to SIO0 while the slave is in the wait state, that data is held. The transfer
is started when SCL is output after the wait state is cleared.
When an 8-bit data transfer ends, serial transfer is stopped automatically and the interrupt request flag
(CSIIF0) is set.
378
CHAPTER 17
SERIAL INTERFACE CHANNEL 0 (µPD78054Y Subseries)
Figure 17-22. Data Transmission from Master to Slave
(Both Master and Slave Selected 9-Clock Wait) (1 of 3)
(a) Start Condition to Address
Master device operation
SIO0 ← Address
Write SIO0
SIO0 ← Data
COI
ACKD
CMDD
RELD
L
CLD
P27
WUP
BSYE
ACKE
H
L
L
L
CMDT
RELT
L
CLC
WREL
SIC
L
L
INTCSI0
Transfer line
SCL
1 2 3 4 5
6
7 8 9
A6 A5 A4 A3 A2 A1 A0 W ACK
SDA0
1 2
3 4
5
D7 D6 D5 D4 D3
Slave device operation
SIO0 ← FFH
Write SIO0
COI
ACKD
CMDD
RELD
L
CLD
P27
WUP
BSYE
ACKE
CMDT
H
H
L
WREL
L
L
L
SIC
H
RELT
CLC
INTCSI0
CSIE0
PM25
H
L
L
PM27
L
P25
379
CHAPTER 17
SERIAL INTERFACE CHANNEL 0 (µPD78054Y Subseries)
Figure 17-22. Data Transmission from Master to Slave
(Both Master and Slave Selected 9-Clock Wait) (2 of 3)
(b) Data
Master device operation
SIO0 ← Data
SIO0 ← Address
Write SIO0
COI
ACKD
CMDD
RELD
L
CLD
P27
ACKE
H
L
L
L
CMDT
L
RELT
L
L
WUP
BSYE
CLC
WREL
SIC
L
L
INTCSI0
Transfer line
SCL
1 2 3 4 5
D7
SDA0
6
7 8 9
D6 D5 D4 D3 D2 D1 D0 ACK
1 2
3 4
5
D7 D6 D5 D4 D3
Slave device operation
SIO0 ← FFH
Write SIO0
COI
ACKD
CMDD
RELD
L
CLD
P27
WUP
L
BSYE
H
ACKE
H
L
CMDT
WREL
L
L
L
SIC
H
RELT
CLC
INTCSI0
CSIE0
PM25
H
L
L
PM27
L
P25
380
SIO0 ← FFH
CHAPTER 17
SERIAL INTERFACE CHANNEL 0 (µPD78054Y Subseries)
Figure 17-22. Data Transmission from Master to Slave
(Both Master and Slave Selected 9-Clock Wait) (3 of 3)
(c) Stop Condition
Master device operation
SIO0 ← Address
SIO0 ← Data
Write SIO0
COI
ACKD
CMDD
RELD
L
CLD
P27
WUP
BSYE
ACKE
H
L
L
L
CMDT
RELT
CLC
WREL
SIC
L
L
INTCSI0
Transfer line
SCL
1 2 3
D7
SDA0
4
5
6
7 8 9
1
D6 D5 D4 D3 D2 D1 D0 ACK
2 3
4
A6 A5 A4 A3
Slave device operation
SIO0 ← FFH
Write SIO0
SIO0 ← FFH
COI
ACKD
CMDD
RELD
CLD
P27
WUP
BSYE
ACKE
CMDT
H
H
L
RELT
WREL
L
L
SIC
H
CLC
INTCSI0
CSIE0
P25
PM25
PM27
L
381
CHAPTER 17
SERIAL INTERFACE CHANNEL 0 (µPD78054Y Subseries)
Figure 17-23. Data Transmission from Slave to Master
(Both Master and Slave Selected 9-Clock Wait) (1 of 3)
(a) Start Condition to Address
Master device operation
SIO0 ← Address
Write SIO0
SIO0 ← FFH
COI
ACKD
CMDD
RELD
L
CLD
P27
WUP
H
L
BSYE
ACKE
CMDT
RELT
L
CLC
WREL
SIC
L
L
INTCSI0
Transfer line
SCL
1 2 3 4 5
6
7 8
9
A6 A5 A4 A3 A2 A1 A0 R ACK
SDA0
1 2
D7
3 4
D6 D5 D4 D3
Slave device operation
SIO0 ← Data
Write SIO0
COI
ACKD
CMDD
RELD
L
CLD
P27
WUP
BSYE
ACKE
CMDT
L
RELT
CLC
L
L
WREL
L
SIC
H
INTCSI0
CSIE0
382
P25
H
L
PM25
L
PM27
L
5
CHAPTER 17
SERIAL INTERFACE CHANNEL 0 (µPD78054Y Subseries)
Figure 17-23. Data Transmission from Slave to Master
(Both Master and Slave Selected 9-Clock Wait) (2 of 3)
(b) Data
Master device operation
SIO0 ← FFH
SIO0 ← FFH
Write SIO0
COI
ACKD
CMDD
RELD
L
CLD
P27
WUP
BSYE
ACKE
CMDT
RELT
CLC
WREL
SIC
H
L
H
H
L
L
L
L
L
INTCSI0
Transfer line
SCL
1 2 3 4 5
D7
SDA0
6
7 8
9
D6 D5 D4 D3 D2 D1 D0 ACK
1 2
D7
3 4
5
D6 D5 D4 D3
Slave device operation
SIO0 ← Data
Write SIO0
SIO0 ← Data
COI
ACKD
CMDD
RELD
L
CLD
P27
WUP
BSYE
ACKE
CMDT
RELT
CLC
L
L
L
L
L
L
WREL
L
SIC
H
INTCSI0
CSIE0
PM25
H
L
L
PM27
L
P25
383
CHAPTER 17
SERIAL INTERFACE CHANNEL 0 (µPD78054Y Subseries)
Figure 17-23. Data Transmission from Slave to Master
(Both Master and Slave Selected 9-Clock Wait) (3 of 3)
(c) Stop Condition
Master device operation
SIO0 ← Address
SIO0 ← FFH
Write SIO0
COI
ACKD
CMDD
RELD
L
CLD
P27
WUP
H
L
BSYE
ACKE
CMDT
RELT
CLC
WREL
SIC
L
L
INTCSI0
Transfer line
SCL
1 2 3 4 5
D7
SDA0
SIO0 ← Data
COI
ACKD
CMDD
RELD
CLD
P27
WUP
BSYE
ACKE
CMDT
L
RELT
L
L
CLC
WREL
SIC
INTCSI0
CSIE0
384
H
P25
H
L
PM25
L
PM27
L
7 8
9
D6 D5 D4 D3 D2 D1 D0 NAK
Slave device operation
Write SIO0
6
1
2 3
4
A6 A5 A4 A3
CHAPTER 17
SERIAL INTERFACE CHANNEL 0 (µPD78054Y Subseries)
17.4.5 Cautions on use of I2C bus mode
(1) Start condition output (master)
The SCL pin normally outputs a low-level signal when no serial clock is output. It is necessary to change
the SCL pin to high in order to output a start condition signal. Set 1 in CLC of interrupt timing specify
register (SINT) to drive the SCL pin high.
After setting CLC, clear CLC to 0 and return the SCL pin to low. If CLC remains 1, no serial clock is output.
If it is the master device which outputs the start condition and stop condition signals, confirm that CLD is set
to 1 after setting CLC to 1; a slave device may have set SCL to low (wait state).
Figure 17-24. Start Condition Output
SCL
SDA0(SDA1)
CLC
CMDT
CLD
385
CHAPTER 17
SERIAL INTERFACE CHANNEL 0 (µPD78054Y Subseries)
(2) Slave wait release (slave transmission)
Slave wait status is released by WREL flag (bit 2 of interrupt timing specify register (SINT)) setting or
execution of an serial I/O shift register 0 (SIO0) write instruction.
If the slave sends data, the wait is immediately released by execution of an SIO0 write instruction and the
clock rises without the start transmission bit being output in the data line. Therefore, as shown in Figure 1725, data should be transmitted by manipulating the P27 output latch through the program. At this time,
control the low-level width ("a" in Figure 17-25) of the first serial clock at the timing used for setting the P27
output latch to 1 after execution of an SIO0 write instruction.
In addition, if the acknowledge signal from the master is not output (if data transmission from the slave is
completed), set 1 in the WREL flag of SINT and release the wait.
For these timings, see Figure 17-23.
Figure 17-25. Slave Wait Release (Transmission)
Master device operation
Writing
FFH
to SIO0
Software operation
Setting Setting
ACKD CSIIF0
Hardware operation
Serial reception
Transfer line
SCL
SDA0(SDA1)
9
A0
R
a 1
ACK
D7
2
3
D6
D5
Slave device operation
P27
Write
output
data
latch 0 to SIO0
Software operation
Hardware operation
386
ACK Setting
output CSIIF0
Wait
release
P27
output
latch 1
Serial transmission
CHAPTER 17
SERIAL INTERFACE CHANNEL 0 (µPD78054Y Subseries)
(3) Slave wait release (slave reception)
The slave is released from the wait status when the WREL flag (bit 2 of the interrupt timing specify register
(SINT)) is set or when an instruction that writes data to the serial I/O shift register 0 (SIO0) is executed.
When the slave receives data, the first bit of the data sent from the master may not be received if the SCL
line immediately goes into a high-impedance state after an instruction that writes data to SIO has been
executed.
This is because SIO0 does not start operating if the SCL line is in the high-impedance state while the
instruction that writes data to SIO0 is executed (until the next instruction is executed).
Therefore, receive the data by manipulating the output latch of P27 by program, as shown in Figure 17-26.
For this timing, refer to Figure 17-22.
Figure 17-26. Slave Wait Release (Reception)
Master device operation
Writing
data to
SIO0
Software operation
Setting Setting
ACKD CSIIF0
Hardware operation
Serial transmission
Transfer line
SCL
SDA0 (SDA1)
1
9
A0
W
ACK
D7
2
3
D6
D5
Slave device operation
P27
Write
output FFH
latch 0 to SIO0
Software operation
Hardware operation
ACK Setting
output CSIIF0
Wait
release
P27
output
latch 1
Serial reception
387
CHAPTER 17
SERIAL INTERFACE CHANNEL 0 (µPD78054Y Subseries)
(4) Reception completion of salve
In the reception completion processing of the slave, check the bit 3 (CMDD) of the serial bus interface
control register (SBIC) and bit 6 (COI) of the serial operation mode register 0 (CSIM0) (when CMDD = 1).
This is to avoid the situation where the slave cannot judge which of the start condition and data comes first
and therefore, the wake-up condition cannot be used when the slave receives the undefined number of data
from the master.
17.4.6 Restrictions in I2C bus mode
The following restrictions are applied to the µPD78054Y subseries.
• Restrictions when used as slave device in I2C bus mode
Subject:
µPD78052Y, 78053Y, 78054Y, 78055Y, 78056Y, 78058Y, 78P058Y, IE-78064-R-EM,
IE-780308-R-EM
Description:
If the wake-up function is executed (by setting the bit 5 of the serial operating mode
register 0 (CSIM0) to 1) in the serial transfer statusNote, the µPD78054Y subseries checks
the address of the data between the other slave and master. If that data happens to
coincide with the slave address of the µPD78054Y subseries, the µPD78054Y subseries
takes part in communication, destroying the communication data.
Note The serial transfer status is the status since data has been written to the serial
I/O shift register 0 (SIO0) until the interrupt request flag (CSIIF0) is set to 1 by
completion of the serial transfer.
Preventive measure: The above phenomenon can be avoided by modifying the program.
Before executing the wake-up function, execute the following program that clears the
serial transfer status. When executing the wake-up function, do not execute an instruction
that writes data to SIO0. Even if such an instruction is not executed, data can be received
while the wake-up function is executed.
This program releases the serial transfer status. To release the serial transfer status,
the serial interface channel 0 must be once disabled (by clearing the CSIE0 flag (bit 7 of
the serial operating mode register (CSIM0) to 0). If the serial interface channel 0 is
disabled in the I2C bus mode, however, the SCL pin outputs a high level, and SDA0
(SDA1) pin outputs a low level, affecting communication of the I2C bus. Therefore, this
program makes the SCL and SDA0 (SDA1) pins go into a high-impedance state to prevent
the I2C bus from being affected.
In this example, the SDA0 (/P25) pin is used as a serial data input/output pin. When the
SDA1 (/P26) is used, take P2.5 and PM2.5 in the program example below as P2.6 and
PM2.6.
For the timing of each signal when this program is executed, refer to Figure 17-22.
388
CHAPTER 17
SERIAL INTERFACE CHANNEL 0 (µPD78054Y Subseries)
• Example of program releasing serial transfer status
SET1
P2.5;
<1>
SET1
PM2.5;
<2>
SET1
PM2.7;
<3>
CLR1
CSIE0;
<4>
SET1
CSIE0;
<5>
SET1
RELT;
<6>
CLR1
PM2.7;
<7>
CLR1
P2.5;
<8>
CLR1
PM2.5;
<9>
<1>
This instruction prevents the SDA0 pin from outputting a low level when the I2C bus mode is restored
by instruction <5>. The output of the SDA0 pin goes into a high-impedance state.
<2>
This instruction sets the P25 (/SDA0) pin in the input mode to protect the SDA0 line from adverse
influence when the port mode is set by instruction <4>. The P25 pin is set in the input mode when
instruction <2> is executed.
<3>
This instruction sets the P27 (/SCL) pin in the input mode to protect the SCL line from adverse influence
when the port mode is set by instruction <4>. The P27 pin is set in the input mode when instruction
<3> is executed.
<4>
This instruction changes the mode from I2C bus mode to port mode.
<5>
This instruction restores the I2C bus mode from the port mode.
<6>
This instruction prevents the SDA0 pin from outputting a low level when instruction <8> is executed.
<7>
This instruction sets the P27 pin in the output mode because the P27 pin must be in the output mode
in the I2C bus mode.
<8>
This instruction clears the output latch of the P25 pin to 0 because the output latch of the P25 pin
must be set to 0 in the I 2C bus mode.
<9>
This instruction sets the P25 pin in the output mode because the P25 pin must be in the output mode
in the I2C bus mode.
Remark
RELT: Bit 0 of serial bus interface control register (SBIC)
389
CHAPTER 17
SERIAL INTERFACE CHANNEL 0 (µPD78054Y Subseries)
17.4.7 SCK0/SCL/P27 pin output manipulation
The SCK0/SCL/P27 pin can execute static output via software, in addition to outputting the normal serial clock.
The value of serial clocks can also be arbitrarily set by software (the SI0/SB0/SDA0 and SO0/SB1/SDA1 pins are
controlled with the RELT and CMDT bits of serial bus interface control register (SBIC)).
The SCK0/SCL/P27 pin output should be manipulated as described below.
(1) In 3-wire serial I/O mode and 2-wire serial I/O mode
The output level of the SCK0/SCL/P27 pin is manipulated by the P27 output latch.
<1> Set the serial operating mode register 0 (CSIM0) (SCK0 pin is set in the output mode and serial operation
is enabled). SCK0 = 1 while serial transfer is stopped.
<2> Manipulate the content of the P27 output latch by executing the bit manipulation instruction.
Figure 17-27. SCK0/SCL/P27 Pin Configuration
Manipulated by bit manipulation instruction
SCK0/SCL/P27
To internal logic
P27
output latch
SCK0 (1 while transfer is stopped)
CSIE0 = 1 and CSIM01, CSIM00 are 1, 0 or 1, 1, respectively
From serial clock
controller
(2) In I2C bus mode
The output level of the SCK0/SCL/P27 pin is manipulated by the CLC bit of the interrupt timing specify
register (SINT).
<1> Set the serial operating mode register 0 (CSIM0) (SCL pin is set in the output mode and serial operation
is enabled). Set 1 to the P27 output latch. SCL = 0 while serial transfer is stopped.
<2> Manipulate the CLC bit of SINT by executing the bit manipulation instruction.
Figure 17-28. SCK0/SCL/P27 Pin Configuration
Set 1
SCK0/SCL/P27
To internal logic
P27
output latch
SCLNote
CSIE0 = 1 and CSIM01 and CSIM00 are 1, 0 or 1, 1, respectively
Note
The level of the SCL signal is in accordance with the contents of the logic circuits shown in Figure
17-29.
390
From serial clock
controller
CHAPTER 17
SERIAL INTERFACE CHANNEL 0 (µPD78054Y Subseries)
Figure 17-29. Logic Circuit of SCL Signal
CLC (manipulated by bit manipulation instruction)
SCL
Wait request signal
Serial clock (low while transfer is stopped)
Remarks 1. This figure indicates the relation of the signals and does not indicate the internal circuit.
2. CLC: Bit 3 of interrupt timing specify register (SINT)
391
[MEMO]
392
CHAPTER 18 SERIAL INTERFACE CHANNEL 1
18.1 Serial Interface Channel 1 Functions
Serial interface channel 1 employs the following three modes.
• Operation stop mode
• 3-wire serial I/O mode
• 3-wire serial I/O mode with automatic transmit/receive function
(1) Operation stop mode
This mode is used when serial transfer is not carried out to reduce power consumption.
(2) 3-wire serial I/O mode (MSB-/LSB-first switchable)
This mode is used for 8-bit data transfer using three lines, each for serial clock (SCK1), serial output (SO1)
and serial input (SI1).
The 3-wire serial I/O mode enables simultaneous transmission/reception and so decreases the data transfer
processing time.
Since the start bit of 8-bit data to undergo serial transfer is switchable between MSB and LSB, connection
is enabled with either start bit device.
The 3-wire serial I/O mode is valid for connection of peripheral I/O units and display controllers which
incorporate a conventional synchronous serial interface such as the 75X/XL, 78K and 17K series.
(3) 3-wire serial I/O mode with automatic transmit/receive function (MSB-/LSB-first switchable)
The mode of the same function as (2) 3-wire serial I/O mode added with the automatic transmit/receive
function.
The automatic transmit/receive function is used to transmit/receive data with a maximum of 32 bytes. This
function enables the hardware to transmit/receive data to/from the OSD (On Screen Display) device and a
device with built-in display controller/driver independently of the CPU, thus the software load can be alleviated.
393
CHAPTER 18
SERIAL INTERFACE CHANNEL 1
18.2 Serial Interface Channel 1 Configuration
Serial interface channel 1 consists of the following hardware.
Table 18-1. Serial Interface Channel 1 Configuration
Item
Register
Configuration
Serial I/O shift register 1 (SIO1)
Automatic data transmit/receive address pointer (ADTP)
Control register
Timer clock select register 3 (TCL3)
Serial operating mode register 1 (CSIM1)
Automatic data transmit/receive control register (ADTC)
Automatic data transmit/receive interval specify register (ADTI)
Port mode register 2 (PM2)Note
Note
Refer to Figure 6-5, 6-7 Block Diagram of P20, P21, P23 to P26 and Figure 6-6, 6-8 Block Diagram
of P22, P27.
394
CHAPTER 18
SERIAL INTERFACE CHANNEL 1
Figure 18-1. Serial Interface Channel 1 Block Diagram
Internal Bus
Automatic Data
Transmit/Receive
Address Pointer
(ADTP)
Buffer RAM
Internal Bus
Automatic Data
Transmit/Receive Interval
Specify Register
ATE
DIR
DIR
ADTI ADTI ADTI ADTI ADTI ADTI
7
4
3
2
1
0
Serial I/O
Shift Register 1
(SIO1)
SI1/
P20
Match
RE
Automatic Data
Transmit/Receive
Control Register
ARLD ERCE ERR
Serial Operating
Mode Register 1
TRF STRB BUSY BUSY
1
0
TRF
ADTI0-ADTI4
PM21
SO1/
P21
PM23
CSIE1 DIR ATE CSIM CSIM
11 10
Selector
P21 Output
Latch
STB/
P23
BUSY/
P24
5-Bit Counter
Handshake
ARLD
Selector
Serial Clock
Counter
SCK1/
P22
INTCSI1
SIOI write
Clear
R
Q
Selector
Selector
TO2
f xx/2–fxx/28
4
S
PM22
P22 Output Latch
TCL TCL TCL TCL
37 36 35 34
Timer Clock
Select Register 3
Internal Bus
395
CHAPTER 18
SERIAL INTERFACE CHANNEL 1
(1) Serial I/O shift register 1 (SIO1)
This is an 8-bit register to carry out parallel/serial conversion and to carry out serial transmission/reception
(shift operation) in synchronization with the serial clock.
SIO1 is set with an 8-bit memory manipulation instruction.
When the value in bit 7 (CSIE1) of serial operating mode register 1 (CSIM1) is 1, writing data to SIO1 starts
serial operation.
In transmission, data written to SIO1 is output to the serial output (SO1). In reception, data is read from the
serial input (SI1) to SIO1.
RESET input makes SIO1 undefined.
Caution Do not write data to SIO1 while the automatic transmit/receive function is activated.
(2) Automatic data transmit/receive address pointer (ADTP)
This register stores value of (the number of transmit data bytes-1) while the automatic transmit/receive function
is activated. As data is transferred/received, it is automatically decremented.
ADTP is set with an 8-bit memory manipulation instruction. The high-order 3 bits must be set to 0.
RESET input sets ADTP to 00H.
Caution Do not write data to ADTP while the automatic transmit/receive function is activated.
(3) Serial clock counter
This counter counts the serial clocks to be output and input during transmission/reception to check whether
8-bit data has been transmitted/received.
396
CHAPTER 18
SERIAL INTERFACE CHANNEL 1
18.3 Serial Interface Channel 1 Control Registers
The following four types of registers are used to control serial interface channel 1.
• Timer clock select register 3 (TCL3)
• Serial operating mode register 1 (CSIM1)
• Automatic data transmit/receive control register (ADTC)
• Automatic data transmit/receive interval specify register (ADTI)
(1) Timer clock select register 3 (TCL3)
This register sets the serial clock of serial interface channel 1.
TCL3 is set with an 8-bit memory manipulation instruction.
RESET input sets TCL3 to 88H.
Remark
Besides setting the serial clock of serial interface channel 1, TCL3 sets the serial clock of serial
interface channel 0.
397
CHAPTER 18
SERIAL INTERFACE CHANNEL 1
Figure 18-2. Timer Clock Select Register 3 Format
Symbol
7
6
5
4
3
2
1
0
TCL3 TCL37 TCL36 TCL35 TCL34 TCL33 TCL32 TCL31 TCL30
Address
FF43H
After Reset
88H
R/W
R/W
Serial Interface Channel 1 Serial Clock Selection
TCL37 TCL36 TCL35 TCL34
MCS = 1
MCS = 0
0
1
1
0
fXX/2
Setting prohibited
fX/22 (1.25 MHz)
0
1
1
1
fXX/22
fX/22 (1.25 MHz)
fX/23 (625 kHz)
1
0
0
0
fXX/23
fX/23 (625 kHz)
fX/24 (313 kHz)
1
0
0
1
fXX/24
fX/24 (313 kHz)
fX/25 (156 kHz)
1
0
1
0
fXX/25
fX/25 (156 kHz)
fX/26 (78.1 kHz)
1
0
1
1
fXX/26
fX/26 (78.1 kHz)
fX/27 (39.1 kHz)
1
1
0
0
fXX/27
fX/27 (39.1 kHz)
fX/28 (19.5 kHz)
1
1
0
1
fXX/28
fX/28 (19.5 kHz)
fX/29 (9.8 kHz)
Other than above
Setting prohibited
Caution When rewriting other data to TCL3 , stop the serial transfer operation beforehand.
Remarks 1. fXX
2. fX
: Main system clock frequency (fX or fX/2)
: Main system clock oscillation frequency
3. MCS : Bit 0 of oscillation mode selection register (OSMS)
4. Figures in parentheses apply to operation with fX = 5.0 MHz
398
CHAPTER 18
SERIAL INTERFACE CHANNEL 1
(2) Serial operating mode register 1 (CSIM1)
This register sets serial interface channel 1 serial clock, operating mode, operation enable/stop and automatic
transmit/receive operation enable/stop.
CSIM1 is set with a 1-bit or 8-bit memory manipulation instruction.
RESET input sets CSIM1 to 00H.
Figure 18-3. Serial Operation Mode Register 1 Format
Symbol
<7>
6
CSIM1 CSIE1 DIR
CSIM11 CSIM10
<5>
4
3
2
ATE
0
0
0
1
0
CSIM11 CSIM10
Address
FF68H
After Reset
00H
R/W
R/W
Serial Interface Channel 1 Clock Selection
0
×
Clock externally input to SCK1 pinNote 1
1
0
8-bit timer register 2 (TM2) output
1
1
Clock specified with bits 4 to 7 of timer clock select register 3 (TCL3)
Serial Interface Channel 1 Operating Mode Selection
ATE
0
3-wire serial I/O mode
1
3-wire serial I/O mode with automatic transmit/receive
function
DIR
Start Bit
SI1 Pin Function
SO1 Pin Function
0
MSB
1
LSB
SI1/P20
(Input)
SO1
(CMOS output)
CSIE1 CSIM11 PM20 P20 PM21 P21 PM22 P22
Note 2 Note 2 Note 2 Note 2 Note 2 Note 2
×
0
×
×
×
×
0
×
×
1
×
Note 3 Note 3
1
1
×
0
Operation
stop
0
Clear
P20 (CMOS P21 (CMOS P22 (CMOS
input/output) input/output) input/output)
SCK1
(Input)
Operation
enable
0
1
Shift Register Serial Clock Counter SI1/P20 Pin SO1/P21 Pin SCK1/P22
1 Operation Operation Control
Function
Function
Pin Function
Count
operation
SI1Note 3 SO1 (CMOS
output)
(input)
1
SCK1
(CMOS
output)
Notes 1. If the external clock input has been selected with CSIM11 set to 0, set bit 1 (BUSY1) and bit 2 (STRB)
of the automatic data transmit/receive control register (ADTC) to 0, 0.
2. Can be used freely as port function.
3. Can be used as P20 (CMOS input/output) when only transmitter is used (clear bit 7 (RE) of ADTC to 0).
Remark
×
: Don't care
PM×× : Port mode register
P××
: Port output latch
399
CHAPTER 18
SERIAL INTERFACE CHANNEL 1
(3) Automatic data transmit/receive control register (ADTC)
This register sets automatic transmit/receive enable/disable, the operating mode, strobe output enable/
disable, busy input enable/disable, error check enable/disable and displays automatic transmit/receive
execution and error detection.
ADTC is set with a 1-bit or 8-bit memory manipulation instruction.
RESET input sets ADTC to 00H.
Figure 18-4. Automatic Data Transmit/Receive Control Register Format
Symbol
<7>
ADTC
RE
<6>
<5>
<4>
ARLD ERCE ERR
<3>
<2>
<1>
<0>
TRF STRB BUSY1 BUSY0
R/W
R/W
R
R
R/W
R/W
R/W
Address
FF69H
After Reset
00H
R/W
R/WNote 1
BUSY1 BUSY0 Busy Input Control
0
×
Not using busy input
1
0
Busy input enable (active high)
1
1
Busy input enable (active low)
STRB
Strobe Output Control
0
Strobe output disable
1
Strobe output enable
TRF
Status of Automatic Transmit/Receive FunctionNote 2
0
Detection of termination of automatic transmission/
reception (This bit is set to 0 upon suspension of
automatic transmission/reception or when ARLD = 0.)
1
During automatic transmission/reception
(This bit is set to 1 when data is written to SIO1.)
ERR
Error Detection of Automatic Transmit/Receive
Function
0
No error
(This bit is set to 0 when data is written to SIO1)
1
Error occurred
ERCE
Error Check Control of Automatic Transmit/
Receive Function
0
Error check disable
1
Error check enable (only when BUSY1 = 1)
ARLD
Operating Mode Selection of Automatic Transmit/
Receive Function
0
Single operating mode
1
Repetitive operating mode
RE
Receive Control of Automatic Transmit/Receive
Function
0
Receive disable
1
Receive enable
Notes 1. Bits 3 and 4 (TRF and ERR) are Read-Only bits.
2. The termination of automatic transmission/reception should be discriminated by using TRF, not CSIIF1
(Interrupt request flag).
Caution When an external clock input is selected with bit 1 (CSIM11) of the serial operating mode register
1 (CSIM1) set to 0, set STRB and BUSY1 of ADTC to 0, 0 (When an external clock is input, hand
shake control cannot be performed).
Remark
400
×: Don't care
CHAPTER 18
SERIAL INTERFACE CHANNEL 1
(4) Automatic data transmit/receive interval specify register (ADTI)
This register sets the automatic data transmit/receive function data transfer interval.
ADTI is set by a 1-bit or 8-bit memory manipulation instruction.
RESET input sets ADTI to 00H.
Figure 18-5. Automatic Data Transmit/Receive Interval Specify Register Format (1/4)
Symbol
7
ADTI ADTI7
ADTI7
6
5
0
0
4
3
2
1
0
ADTI4 ADTI3 ADTI2 ADTI1 ADTI0
Address
FF6BH
After Reset
00H
R/W
R/W
Data Transfer Interval Control
0
No control of interval by ADTINote 1
1
Control of interval by ADTI (ADTI0 to ADTI4)
Data Transfer Interval Specification (fXX = 5.0 MHz Operation)
ADTI4 ADTI3 ADTI2 ADTI1 ADTI0
MinimumNote 2
MaximumNote 2
0
0
0
0
0
18.4 µ s + 0.5/fSCK
20.0 µ s + 1.5/fSCK
0
0
0
0
1
31.2 µ s + 0.5/fSCK
32.8 µ s + 1.5/fSCK
0
0
0
1
0
44.0 µ s + 0.5/fSCK
45.6 µ s + 1.5/fSCK
0
0
0
1
1
56.8 µ s + 0.5/fSCK
58.4 µ s + 1.5/fSCK
0
0
1
0
0
69.6 µ s + 0.5/fSCK
71.2 µ s + 1.5/fSCK
0
0
1
0
1
82.4 µ s + 0.5/fSCK
84.0 µ s + 1.5/fSCK
0
0
1
1
0
95.2 µ s + 0.5/fSCK
96.8 µ s + 1.5/fSCK
0
0
1
1
1
108.0 µ s + 0.5/fSCK
109.6 µ s + 1.5/fSCK
0
1
0
0
0
120.8 µ s + 0.5/fSCK
122.4 µ s + 1.5/fSCK
0
1
0
0
1
133.6 µ s + 0.5/fSCK
135.2 µ s + 1.5/fSCK
0
1
0
1
0
146.4 µ s + 0.5/fSCK
148.0 µ s + 1.5/fSCK
0
1
0
1
1
159.2 µ s + 0.5/fSCK
160.8 µ s + 1.5/fSCK
0
1
1
0
0
172.0 µ s + 0.5/fSCK
173.6 µ s + 1.5/fSCK
0
1
1
0
1
184.8 µ s + 0.5/fSCK
186.4 µ s + 1.5/fSCK
0
1
1
1
0
197.6 µ s + 0.5/fSCK
199.2µs + 1.5/fSCK
0
1
1
1
1
210.4 µ s + 0.5/fSCK
212.0 µ s + 1.5/fSCK
Notes 1. The interval is dependent only on CPU processing.
2. The data transfer interval includes an error. The data transfer minimum and maximum intervals are
found from the following expressions (n: Value set in ADTI0 to ADTI4). However, if a minimum which
is calculated by the following expressions is smaller than 2/fSCK, the minimum interval time is 2/fSCK.
6
Minimum = (n+1) × 2
+ 28
fXX
fXX
Cautions 1.
2.
3.
6
+ 0.5 , Maximum = (n+1) × 2
fSCK
fXX
+
36
fXX
+ 1.5
fSCK
Do not write ADTI during operation of automatic data transmit/receive function.
Bits 5 and 6 must be set to zero.
To control the data transfer interval by means of automatic transmission/reception with
ADTI, busy control (refer to 18.4.3 (4) (a) Busy control option) is disabled.
Remarks 1. fXX : Main system clock frequency (fX or fX/2)
2. fX
: Main system clock oscillation frequency
3. fSCK : Serial clock frequency
401
CHAPTER 18
SERIAL INTERFACE CHANNEL 1
Figure 18-5. Automatic Data Transmit/Receive Interval Specify Register Format (2/4)
Symbol
7
ADTI ADTI7
6
5
0
0
4
3
2
1
0
ADTI4 ADTI3 ADTI2 ADTI1 ADTI0
Address
After Reset
FF6BH
00H
R/W
R/W
Data Transfer Interval Specification (fXX = 5.0 MHz Operation)
ADTI4 ADTI3 ADTI2 ADTI1 ADTI0
MinimumNote
MaximumNote
1
0
0
0
0
223.2 µ s + 0.5/fSCK
224.8 µ s + 1.5/fSCK
1
0
0
0
1
236.0 µ s + 0.5/fSCK
237.6 µ s + 1.5/fSCK
1
0
0
1
0
248.8 µ s + 0.5/fSCK
250.4 µ s + 1.5/fSCK
1
0
0
1
1
261.6 µ s + 0.5/fSCK
263.2 µ s + 1.5/fSCK
1
0
1
0
0
274.4 µ s + 0.5/fSCK
276.0 µ s + 1.5/fSCK
1
0
1
0
1
287.2 µ s + 0.5/fSCK
288.8 µ s + 1.5/fSCK
1
0
1
1
0
300.0 µ s + 0.5/fSCK
301.6 µ s + 1.5/fSCK
1
0
1
1
1
312.8 µ s + 0.5/fSCK
314.4 µ s + 1.5/fSCK
1
1
0
0
0
325.6 µ s + 0.5/fSCK
327.2 µ s + 1.5/fSCK
1
1
0
0
1
338.4 µ s + 0.5/fSCK
340.0 µ s + 1.5/fSCK
1
1
0
1
0
351.2 µ s + 0.5/fSCK
352.8 µ s + 1.5/fSCK
1
1
0
1
1
364.0 µ s + 0.5/fSCK
365.6 µ s + 1.5/fSCK
1
1
1
0
0
376.8 µ s + 0.5/fSCK
378.4 µ s + 1.5/fSCK
1
1
1
0
1
389.6 µ s + 0.5/fSCK
391.2 µ s + 1.5/fSCK
1
1
1
1
0
402.4 µ s + 0.5/fSCK
404.0 µ s + 1.5/fSCK
1
1
1
1
1
415.2 µ s + 0.5/fSCK
416.8 µ s + 1.5/fSCK
Note
The data transfer interval includes an error. The data transfer minimum and maximum intervals
are found from the following expressions (n: Value set in ADTI0 to ADTI4). However, if a minimum
which is calculated by the following expressions is smaller than 2/fSCK, the minimum interval time
is 2/fSCK.
26
fXX
+
28
fXX
+ 0.5
fSCK
6
Maximum = (n+1) × 2
fXX
+
36
fXX
+ 1.5
fSCK
Minimum = (n+1) ×
Cautions 1. Do not write data to ADTI during operation of automatic data transmit/receive
function.
2. Zero must be set in bits 5 and 6.
3. To control the data transfer interval by means of automatic transmission/reception
with ADTI, busy control (refer to 18.4.3 (4) (a) Busy control option) is disabled.
Remarks 1. fXX
2. fX
: Main system clock frequency (fX or fX/2)
: Main system clock oscillation frequency
3. fSCK : Serial clock frequency
402
CHAPTER 18
SERIAL INTERFACE CHANNEL 1
Figure 18-5. Automatic Data Transmit/Receive Interval Specify Register Format (3/4)
Symbol
7
ADTI ADTI7
ADTI7
6
5
0
0
4
3
2
1
0
ADTI4 ADTI3 ADTI2 ADTI1 ADTI0
Address
FF6BH
After Reset
00H
R/W
R/W
Data Transfer Interval Control
0
No control of interval by ADTINote 1
1
Control of interval by ADTI (ADTI0 to ADTI4)
Data Transfer Interval Specification (fXX = 2.5 MHz Operation)
ADTI4 ADTI3 ADTI2 ADTI1 ADTI0
MinimumNote 2
MaximumNote 2
0
0
0
0
0
36.8 µ s + 0.5/fSCK
40.0 µ s + 1.5/fSCK
0
0
0
0
1
62.4 µ s + 0.5/fSCK
65.6 µ s + 1.5/fSCK
0
0
0
1
0
88.0 µ s + 0.5/fSCK
91.2 µ s + 1.5/fSCK
0
0
0
1
1
113.6 µ s + 0.5/fSCK
116.8 µ s + 1.5/fSCK
0
0
1
0
0
139.2 µ s + 0.5/fSCK
142.4 µ s + 1.5/fSCK
0
0
1
0
1
164.8 µ s + 0.5/fSCK
168.0 µ s + 1.5/fSCK
0
0
1
1
0
190.4 µ s + 0.5/fSCK
193.6 µ s + 1.5/fSCK
0
0
1
1
1
216.0 µ s + 0.5/fSCK
219.2 µ s + 1.5/fSCK
0
1
0
0
0
241.6 µ s + 0.5/fSCK
244.8 µ s + 1.5/fSCK
0
1
0
0
1
267.2 µ s + 0.5/fSCK
270.4 µ s + 1.5/fSCK
0
1
0
1
0
292.8 µ s + 0.5/fSCK
296.0 µ s + 1.5/fSCK
0
1
0
1
1
318.4 µ s + 0.5/fSCK
321.6 µ s + 1.5/fSCK
0
1
1
0
0
344.0 µ s + 0.5/fSCK
347.2 µ s + 1.5/fSCK
0
1
1
0
1
369.6 µ s + 0.5/fSCK
372.8 µ s + 1.5/fSCK
0
1
1
1
0
395.2 µ s + 0.5/fSCK
398.4 µ s + 1.5/fSCK
0
1
1
1
1
420.8 µ s + 0.5/fSCK
424.0 µ s + 1.5/fSCK
Notes 1. The interval is dependent only on CPU processing.
2. The data transfer interval includes an error. The data transfer minimum and maximum intervals
are found from the following expressions (n: Value set in ADTI0 to ADTI4). However, if a
minimum which is calculated by the following expressions is smaller than 2/fSCK, the minimum
interval time is 2/fSCK.
26
fXX
+
28
fXX
+ 0.5
fSCK
6
Maximum = (n+1) × 2
fXX
+
36
fXX
+ 1.5
fSCK
Minimum = (n+1) ×
Cautions 1. Do not write data to ADTI during operation of automatic data transmit/receive
function.
2. Bits 5 and 6 must be set to zero.
3. To control the data transfer interval by means of automatic transmission/reception
with ADTI, busy control (refer to 18.4.3 (4) (a) Busy control option) is disabled.
Remarks 1. fXX
: Main system clock frequency (fX or fX/2)
2. fX
: Main system clock oscillation frequency
3. fSCK
: Serial clock frequency
403
CHAPTER 18
SERIAL INTERFACE CHANNEL 1
Figure 18-5. Automatic Data Transmit/Receive Interval Specify Register Format (4/4)
Symbol
7
ADTI ADTI7
6
5
0
0
4
3
2
1
0
ADTI4 ADTI3 ADTI2 ADTI1 ADTI0
Address
After Reset
FF6BH
00H
R/W
R/W
Data Transfer Interval Specification (fXX = 2.5 MHz Operation)
ADTI4 ADTI3 ADTI2 ADTI1 ADTI0
MinimumNote
MaximumNote
1
0
0
0
0
446.4 µ s + 0.5/fSCK
449.6 µ s + 1.5/fSCK
1
0
0
0
1
472.0 µ s + 0.5/fSCK
475.2 µ s + 1.5/fSCK
1
0
0
1
0
497.6 µ s + 0.5/fSCK
500.8 µ s + 1.5/fSCK
1
0
0
1
1
523.2 µ s + 0.5/fSCK
526.4 µ s + 1.5/fSCK
1
0
1
0
0
548.8 µ s + 0.5/fSCK
552.0 µ s + 1.5/fSCK
1
0
1
0
1
574.4 µ s + 0.5/fSCK
577.6 µ s + 1.5/fSCK
1
0
1
1
0
600.0 µ s + 0.5/fSCK
603.2 µ s + 1.5/fSCK
1
0
1
1
1
625.6 µ s + 0.5/fSCK
628.8 µ s + 1.5/fSCK
1
1
0
0
0
651.2 µ s + 0.5/fSCK
654.4 µ s + 1.5/fSCK
1
1
0
0
1
676.8 µ s + 0.5/fSCK
680.0 µ s + 1.5/fSCK
1
1
0
1
0
702.4 µ s + 0.5/fSCK
705.6 µ s + 1.5/fSCK
1
1
0
1
1
728.0 µ s + 0.5/fSCK
731.2 µ s + 1.5/fSCK
1
1
1
0
0
753.6 µ s + 0.5/fSCK
756.8 µ s + 1.5/fSCK
1
1
1
0
1
779.2 µ s + 0.5/fSCK
782.4 µ s + 1.5/fSCK
1
1
1
1
0
804.8 µ s + 0.5/fSCK
808.0 µ s + 1.5/fSCK
1
1
1
1
1
830.4 µ s + 0.5/fSCK
833.6 µ s + 1.5/fSCK
Note
The data transfer interval includes an error. The data transfer minimum and maximum intervals
are found from the following expressions (n: Value set in ADTI0 to ADTI4). However, if a minimum
which is calculated by the following expressions is smaller than 2/fSCK, the minimum interval time
is 2/fSCK.
Minimum = (n+1) ×
26
fXX
+
28
fXX
0.5
+ fSCK
Maximum = (n+1) ×
26
fXX
+
36
fXX
1.5
+ fSCK
Cautions 1. Do not write data to ADTI during operation of automatic data transmit/receive
function.
2. Bits 5 and 6 must be set to zero.
3. To control the data transfer interval by means of automatic transmission/reception
with ADTI, busy control (refer to 18.4.3 (4) (a) Busy control option) is disabled.
Remarks 1. fXX
2. fX
: Main system clock frequency (fX or fX/2)
: Main system clock oscillation frequency
3. fSCK : Serial clock frequency
404
CHAPTER 18
SERIAL INTERFACE CHANNEL 1
18.4 Serial Interface Channel 1 Operations
The following three operating modes are available to the serial interface channel 1.
• Operation stop mode
• 3-wire serial I/O mode
• 3-wire serial I/O mode with automatic transmit/receive function
18.4.1 Operation stop mode
Serial transfer is not carried out in the operation stop mode. Thus, power consumption can be reduced. The serial
I/O shift register 1 (SIO1) does not carry out shift operation either, and thus it can be used as an ordinary 8-bit register.
In the operation stop mode, the P20/SI1, P21/SO1, P22/SCK1, P23/STB and P24/BUSY pins can be used as
ordinary input/output ports.
(1) Register setting
The operation stop mode is set with the serial operating mode register 1 (CSIM1).
CSIM1 is set with a 1-bit or 8-bit memory manipulation instruction.
RESET input sets CSIM1 to 00H.
Symbol
<7>
6
CSIM1 CSIE1 DIR
<5>
4
3
2
ATE
0
0
0
CSIE1 CSIM11 PM20 P20 PM21 P21 PM22 P22
×
×
×
×
0
×
×
1
×
Note 2 Note 2
1
1
×
0
CSIM11 CSIM10
Operation
stop
Address
FF68H
After Reset
00H
R/W
R/W
Clear
P20 (CMOS P21 (CMOS P22 (CMOS
input/output) input/output) input/output)
SCK1
(Input)
Operation
enable
0
0
1
0
Shift Register Serial Clock Counter SI1/P20 Pin SO1/P21 Pin SCK1/P22
1 Operation Operation Control
Function
Function
Pin Function
Note 1 Note 1 Note 1 Note 1 Note 1 Note 1
×
0
1
Count
operation
SI1Note 2 SO1 (CMOS
output)
(Input)
1
SCK1
(CMOS
output)
Notes 1. Can be used freely as port function.
2. Can be used as P20 (CMOS input/output) when only transmitter is used (clear bit 7 (RE) of the
automatic data transmit/receive control register (ADTC) to 0).
Remark
×
: Don't care
PM×× : Port mode register
P××
: Port output latch
405
CHAPTER 18
SERIAL INTERFACE CHANNEL 1
18.4.2 3-wire serial I/O mode operation
The 3-wire serial I/O mode is valid for connection of peripheral I/O units and display controllers which incorporate
a conventional synchronous serial interface such as the 75X/XL, 78K and 17K series.
Communication is carried out with three lines of serial clock (SCK1), serial output (SO1) and serial input (SI1).
(1) Register setting
The 3-wire serial I/O mode is set with the serial operating mode register 1 (CSIM1).
CSIM1 is set with a 1-bit or 8-bit memory manipulation instruction.
RESET input sets CSIM1 to 00H.
Symbol
<7>
6
CSIM1 CSIE1 DIR
CSIM11 CSIM10
<5>
4
3
2
ATE
0
0
0
1
0
CSIM11 CSIM10
Address
After Reset
FF68H
00H
R/W
Serial Interface Channel 1 Clock Selection
0
×
Clock externally input to SCK1 pinNote
1
0
8-bit timer register 2 (TM2) output
1
1
Clock specified with bits 4 to 7 of timer clock select register 3 (TCL3)
ATE
R/W
Serial Interface Channel 1 Operating Mode Selection
0
3-wire serial I/O mode
1
3-wire serial I/O mode with automatic transmit/receive function
DIR
Start Bit
SO1 Pin Function
SO1 Pin Function
0
MSB
1
LSB
SI1/P20
(Input)
SO1
(CMOS output)
Note
If the external clock input has been selected with CSIM11 set to 0, set bit 1 (BUSY1) and bit 2 (STRB)
of the automatic data transmit/receive control register (ADTC) to 0, 0.
×: Don't care
Remark
CSIE1 CSIM11 PM20 P20 PM21 P21 PM22 P22
Shift Register 1 Serial Clock Counter
Operation
Note 1 Note 1 Note 1 Note 1 Note 1 Note 1
×
0
×
×
×
×
0
×
×
1
×
Note 2 Note 2
1
1
1
×
0
Operation
0
Clear
stop
SI1/P20 Pin SO1/P21 Pin SCK1/P22
Function
Function
Pin Function
P20 (CMOS P21 (CMOS P22 (CMOS
input/output) input/output) input/output)
SCK1
(Input)
Operation
enable
0
Operation Control
1
Count
operation
SI1Note 2 SO1 (CMOS
output)
(Input)
SCK1
(CMOS
output)
Notes 1. Can be used freely as port function.
2. Can be used as P20 (CMOS input/output) when only transmitter is used (clear bit 7 (RE) of ADTC
to 0).
Remark
×
: Don't care
PM×× : Port mode register
P××
406
: Port output latch
CHAPTER 18
SERIAL INTERFACE CHANNEL 1
(2) Communication operation
The 3-wire serial I/O mode is used for data transmission/reception in 8-bit units. Bit-wise data transmission/
reception is carried out in synchronization with the serial clock.
Shift operation of the serial I/O shift register 1 (SIO1) is carried out at the falling edge of the serial clock SCK1.
The transmit data is held in the SO1 latch and is output from the SO1 pin. The receive data input to the SI1
pin is latched into SIO1 at the rising edge of SCK1.
Upon termination of 8-bit transfer, the SIO1 operation stops automatically and the interrupt request flag
(CSIIF1) is set.
Figure 18-6. 3-Wire Serial I/O Mode Timings
SCK1
1
2
3
4
5
6
7
8
SI1
DI7
DI6
DI5
DI4
DI3
DI2
DI1
DI0
SO1
DO7
DO6
DO5
DO4
DO3
DO2
DO1
DO0
CSIIF1
End of Transfer
Transfer Start at the Falling Edge of SCK1
SIO1 Write
Caution SO1 pin becomes low level by SIO1 write.
407
CHAPTER 18
SERIAL INTERFACE CHANNEL 1
(3) MSB/LSB switching as the start bit
The 3-wire serial I/O mode enables to select transfer to start from MSB or LSB.
Figure 18-7 shows the configuration of the serial I/O shift register 1 (SIO1) and internal bus. As shown in the
figure, MSB/LSB can be read/written in reverse form.
MSB/LSB switching as the start bit can be specified with bit 6 (DIR) of the serial operating mode register 1
(CSIM1).
Figure 18-7. Circuit of Switching in Transfer Bit Order
7
6
Internal Bus
1
0
LSB-first
MSB-first
Read/Write Gate
Read/Write Gate
SO1 Latch
SI1
Serial IO Shift Register 1 (SIO1)
D
Q
SO1
SCK1
Start bit switching is realized by switching the bit order for data write to SIO1. The SIO1 shift order remains
unchanged.
Thus, switching between MSB-first and LSB-first must be performed before writing data to the SIO1.
(4) Transfer start
Serial transfer is started by setting transfer data to the serial I/O shift register 1 (SIO1) when the following two
conditions are satisfied.
•
Serial interface channel 1 operation control bit (CSIE1) = 1
•
Internal serial clock is stopped or SCK1 is a high level after 8-bit serial transfer.
Caution If CSIE1 is set to "1" after data write to SIO1, transfer does not start.
Upon termination of 8-bit transfer, serial transfer automatically stops and the interrupt request flag (CSIIF1)
is set.
408
CHAPTER 18
SERIAL INTERFACE CHANNEL 1
18.4.3 3-wire serial I/O mode operation with automatic transmit/receive function
This 3-wire serial I/O mode is used for transmission/reception of a maximum of 32-byte data without the use of
software. Once transfer is started, the data prestored in the RAM can be transmitted by the set number of bytes,
and data can be received and stored in the RAM by the set number of bytes.
Handshake signals (STB and BUSY) are supported by hardware to transmit/receive data continuously. OSD (On
Screen Display) LSI and peripheral LSI including LCD controller/driver can be connected without difficulty.
(1) Register setting
The 3-wire serial I/O mode with automatic transmit/receive function is set with the serial operating mode
register 1 (CSIM1), the automatic data transmit/receive control register (ADTC) and the automatic data
transmit/receive interval specify register (ADTI).
(a) Serial operating mode register 1 (CSIM1)
CSIM1 is set with a 1-bit or 8-bit memory manipulation instruction.
RESET input sets CSIM1 to 00H.
409
CHAPTER 18
Symbol
<7>
6
CSIM1 CSIE1 DIR
<5>
4
3
2
ATE
0
0
0
SERIAL INTERFACE CHANNEL 1
1
0
CSIM11 CSIM10
Address
After Reset
FF68H
00H
R/W
Serial Interface Channel 1 Clock Selection
CSIM11 CSIM10
0
×
Clock externally input to SCK1 pinNote 1
1
0
8-bit timer register 2 (TM2) output
1
1
Clock specified with bits 4 to 7 of timer clock select register 3 (TCL3)
ATE
R/W
Serial Interface Channel 1 Operating Mode Selection
0
3-wire serial I/O mode
1
3-wire serial I/O mode with automatic transmit/receive function
DIR
Start Bit
SI1 Pin Function
SO1 Pin Function
0
MSB
1
LSB
SI1/P20
(Input)
SO1
(CMOS output)
CSIE1 CSIM11 PM20 P20 PM21 P21 PM22 P22
Note 2 Note 2 Note 2 Note 2 Note 2 Note 2
0
×
×
×
×
×
0
×
×
1
×
Note 3 Note 3
1
×
1
0
Operation
Operation Control
Operation
stop
0
Clear
SI1/P20 Pin SO1/P21 Pin SCK1/P22
Function
Function
Pin Function
P20 (CMOS P21 (CMOS P22 (CMOS
input/output) input/output) input/output)
SCK1
(Input)
Operation
enable
0
1
Shift Register 1 Serial Clock Counter
1
Count
operation
SI1Note 3 SO1 (CMOS
(Input)
output)
SCK1
(CMOS
output)
Notes 1. If the external clock input has been selected with CSIM11 set to 0, set bit 1 (BUSY 1) and bit
2 (STRB) of the automatic data transmit/receive control register (ADTC) to 0, 0.
2. Can be used freely as port function.
3. Can be used as P20 (CMOS input/output) when only transmitter is used (clear bit 7 (RE) of
ADTC to 0).
Remark
×
: Don't care
PM×× : Port mode register
P××
410
: Port output latch
CHAPTER 18
SERIAL INTERFACE CHANNEL 1
(b) Automatic data transmit/receive control register (ADTC)
ADTC is set with a 1-bit or 8-bit memory manipulation instruction.
RESET input sets ADTC to 00H.
Symbol
<7>
ADTC
RE
<6>
<5>
<4>
ARLD ERCE ERR
<3>
<2>
<1>
<0>
TRF STRB BUSY1 BUSY0
R/W
R/W
R
R
R/W
R/W
R/W
Address
FF69H
After Reset
00H
R/W
R/WNote 1
BUSY1 BUSY0 Busy Input Control
0
×
Not using busy input
1
0
Busy input enable (active high)
1
1
Busy input enable (active low)
STRB
Strobe Output Control
0
Strobe output disable
1
Strobe output enable
TRF
Status of Automatic Transmit/Receive FunctionNote 2
0
Detection of termination of automatic transmission/
reception (This bit is set to 0 upon suspension of
automatic transmission/reception or when ARLD = 0.)
1
During automatic transmission/reception
(This bit is set to 1 when data is written to SIO1.)
ERR
Error Detection of Automatic Transmit/Receive
Function
0
No error
(This bit is set to 0 when data is written to SIO1)
1
Error occurred
ERCE
Error Check Control of Automatic Transmit/
Receive Function
0
Error check disable
1
Error check enable (only when BUSY1 = 1)
ARLD
Operating Mode Selection of Automatic Transmit/
Receive Function
0
Single operating mode
1
Repetitive operating mode
RE
Receive Control of Automatic Transmit/Receive
Function
0
Receive disable
1
Receive enable
Notes 1. Bits 3 and 4 (TRF and ERR) are Read-Only bits.
2. The termination of automatic transmission/reception should be discriminated by using TRF, not
CSIIF1 (Interrupt request flag).
Caution When an external clock input is selected with bit 1 (CSIM11) of the serial operating mode
register 1 (CSIM1) set to 0, set STRB and BUSY1 of ADTC to 0, 0 (handshake control
cannot be executed when the external clock is input).
Remark
×: Don't care
411
CHAPTER 18
SERIAL INTERFACE CHANNEL 1
(c) Automatic data transmit/receive interval specify register (ADTI)
This register sets the automatic data transmit/receive function data transfer interval.
ADTI is set with a 1-bit or 8-bit memory manipulation instruction. RESET input sets ADTI to 00H.
Symbol
7
ADTI ADTI7
ADTI7
6
5
0
0
4
3
2
1
0
ADTI4 ADTI3 ADTI2 ADTI1 ADTI0
Address
FF6BH
After Reset
00H
R/W
R/W
Data Transfer Interval Control
0
No control of interval by ADTINote 1
1
Control of interval by ADTI (ADTI0 to ADTI4)
Data Transfer Interval Specification (fXX = 5.0 MHz Operation)
ADTI4 ADTI3 ADTI2 ADTI1 ADTI0
MinimumNote 2
MaximumNote 2
0
0
0
0
0
18.4 µ s + 0.5/fSCK
20.0 µ s + 1.5/fSCK
0
0
0
0
1
31.2 µ s + 0.5/fSCK
32.8 µ s + 1.5/fSCK
0
0
0
1
0
44.0 µ s + 0.5/fSCK
45.6 µ s + 1.5/fSCK
0
0
0
1
1
56.8 µ s + 0.5/fSCK
58.4 µ s + 1.5/fSCK
0
0
1
0
0
69.6 µ s + 0.5/fSCK
71.2 µ s + 1.5/fSCK
0
0
1
0
1
82.4 µ s + 0.5/fSCK
84.0 µ s + 1.5/fSCK
0
0
1
1
0
95.2 µ s + 0.5/fSCK
96.8 µ s + 1.5/fSCK
0
0
1
1
1
108.0 µ s + 0.5/fSCK
109.6 µ s + 1.5/fSCK
0
1
0
0
0
120.8 µ s + 0.5/fSCK
122.4 µ s + 1.5/fSCK
0
1
0
0
1
133.6 µ s + 0.5/fSCK
135.2 µ s + 1.5/fSCK
0
1
0
1
0
146.4 µ s + 0.5/fSCK
148.0 µ s + 1.5/fSCK
0
1
0
1
1
159.2 µ s + 0.5/fSCK
160.8 µ s + 1.5/fSCK
0
1
1
0
0
172.0 µ s + 0.5/fSCK
173.6 µ s + 1.5/fSCK
0
1
1
0
1
184.8 µ s + 0.5/fSCK
186.4 µ s + 1.5/fSCK
0
1
1
1
0
197.6 µ s + 0.5/fSCK
199.2 µ s + 1.5/fSCK
0
1
1
1
1
210.4 µ s + 0.5/fSCK
212.0 µ s + 1.5/fSCK
Notes 1. The interval is dependent only on CPU processing.
2. The data transfer interval includes an error. The data transfer minimum and maximum intervals
are found from the following expressions (n: Value set in ADTI0 to ADTI4). However, if a
minimum which is calculated by the following expressions is smaller than 2/fSCK, the minimum
interval time is 2/fSCK.
6
Minimum = (n+1) × 2 +
fXX
28
fXX
26
36
+ 0.5 , Maximum = (n+1) ×
+
fXX
fSCK
fXX
+
1.5
fSCK
Cautions 1. Do not write data to ADTI during operation of automatic data transmit/receive
function.
2. Zero must be set in bits 5 and 6.
3. To control the data transfer interval by means of automatic transmission/reception
with ADTI, busy control (refer to 18.4.3 (4) (a) Busy control option) is disabled.
Remarks 1. fXX
2. fX
:
Main system clock frequency (fX or fX/2)
:
Main system clock oscillation frequency
3. fSCK :
412
Serial clock frequency
CHAPTER 18
Symbol
7
ADTI ADTI7
6
5
0
0
4
3
2
SERIAL INTERFACE CHANNEL 1
1
0
Address
ADTI4 ADTI3 ADTI2 ADTI1 ADTI0
After Reset
FF6BH
00H
R/W
R/W
Data Transfer Interval Specification (fXX = 5.0 MHz Operation)
ADTI4 ADTI3 ADTI2 ADTI1 ADTI0
MinimumNote
MaximumNote
1
0
0
0
0
223.2 µ s + 0.5/fSCK
224.8 µ s + 1.5/fSCK
1
0
0
0
1
236.0 µ s + 0.5/fSCK
237.6 µ s + 1.5/fSCK
1
0
0
1
0
248.8 µ s + 0.5/fSCK
250.4 µ s + 1.5/fSCK
1
0
0
1
1
261.6 µ s + 0.5/fSCK
263.2 µ s + 1.5/fSCK
1
0
1
0
0
274.4 µ s + 0.5/fSCK
276.0 µ s + 1.5/fSCK
1
0
1
0
1
287.2 µ s + 0.5/fSCK
288.8 µ s + 1.5/fSCK
1
0
1
1
0
300.0 µ s + 0.5/fSCK
301.6 µ s + 1.5/fSCK
1
0
1
1
1
312.8 µ s + 0.5/fSCK
314.4 µ s + 1.5/fSCK
1
1
0
0
0
325.6 µ s + 0.5/fSCK
327.2 µ s + 1.5/fSCK
1
1
0
0
1
338.4 µ s + 0.5/fSCK
340.0 µ s + 1.5/fSCK
1
1
0
1
0
351.2 µ s + 0.5/fSCK
352.8 µ s + 1.5/fSCK
1
1
0
1
1
364.0 µ s + 0.5/fSCK
365.6 µ s + 1.5/fSCK
1
1
1
0
0
376.8 µ s + 0.5/fSCK
378.4 µ s + 1.5/fSCK
1
1
1
0
1
389.6 µ s + 0.5/fSCK
391.2 µ s + 1.5/fSCK
1
1
1
1
0
402.4 µ s + 0.5/fSCK
404.0 µ s + 1.5/fSCK
1
1
1
1
1
415.2 µ s + 0.5/fSCK
416.8 µ s + 1.5/fSCK
Note
The data transfer interval includes an error. The data transfer minimum and maximum intervals
are found from the following expressions (n: Value set in ADTI0 to ADTI4). However, if a minimum
which is calculated by the following expressions is smaller than 2/fSCK, the minimum interval time
is 2/fSCK.
Minimum = (n+1) ×
26 + 28
fXX
fXX
6
Maximum = (n+1) × 2 +
fXX
36
fXX
+
0.5
fSCK
+ 1.5
fSCK
Cautions 1. Do not write data to ADTI during operation of automatic data transmit/receive
function.
2. Bits 5 and 6 must be set to zero.
3. To control the data transfer interval by means of automatic transmission/reception
with ADTI, busy control (refer to 18.4.3 (4) (a) Busy control option) is disabled.
Remarks 1. fXX
2. fX
:
Main system clock frequency (fX or fX/2)
:
Main system clock oscillation frequency
3. fSCK :
Serial clock frequency
413
CHAPTER 18
Symbol
7
ADTI ADTI7
ADTI7
6
5
0
0
4
3
2
SERIAL INTERFACE CHANNEL 1
1
0
Address
ADTI4 ADTI3 ADTI2 ADTI1 ADTI0
FF6BH
After Reset
00H
R/W
R/W
Data Transfer Interval Control
0
No control of interval by ADTINote 1
1
Control of interval by ADTI (ADTI0 to ADTI4)
Data Transfer Interval Specification (fXX = 2.5 MHz Operation)
ADTI4 ADTI3 ADTI2 ADTI1 ADTI0
MinimumNote 2
MaximumNote 2
0
0
0
0
0
36.8 µ s + 0.5/fSCK
40.0 µ s + 1.5/fSCK
0
0
0
0
1
62.4 µ s + 0.5/fSCK
65.6 µ s + 1.5/fSCK
0
0
0
1
0
88.0 µ s + 0.5/fSCK
91.2 µ s + 1.5/fSCK
0
0
0
1
1
113.6 µ s + 0.5/fSCK
116.8 µ s + 1.5/fSCK
0
0
1
0
0
139.2 µ s + 0.5/fSCK
142.4 µ s + 1.5/fSCK
0
0
1
0
1
164.8 µ s + 0.5/fSCK
168.0 µ s + 1.5/fSCK
0
0
1
1
0
190.4 µ s + 0.5/fSCK
193.6 µ s + 1.5/fSCK
0
0
1
1
1
216.0 µ s + 0.5/fSCK
219.2 µ s + 1.5/fSCK
0
1
0
0
0
241.6 µ s + 0.5/fSCK
244.8 µ s + 1.5/fSCK
0
1
0
0
1
267.2 µ s + 0.5/fSCK
270.4 µ s + 1.5/fSCK
0
1
0
1
0
292.8 µ s + 0.5/fSCK
296.0 µ s + 1.5/fSCK
0
1
0
1
1
318.4 µ s + 0.5/fSCK
321.6 µ s + 1.5/fSCK
0
1
1
0
0
344.0 µ s + 0.5/fSCK
347.2 µ s + 1.5/fSCK
0
1
1
0
1
369.6 µ s + 0.5/fSCK
372.8 µ s + 1.5/fSCK
0
1
1
1
0
395.2 µ s + 0.5/fSCK
398.4 µ s + 1.5/fSCK
0
1
1
1
1
420.8 µ s + 0.5/fSCK
424.0 µ s + 1.5/fSCK
Notes 1. The interval is dependent only on CPU processing.
2. The data transfer interval includes an error. The data transfer minimum and maximum intervals
are found from the following expressions (n: Value set in ADTI0 to ADTI4). However, if a
minimum which is calculated by the following expressions is smaller than 2/fSCK, the minimum
interval time is 2/fSCK.
Minimum = (n+1) ×
26
fXX
+
28
fXX
+
0.5
fSCK
Maximum = (n+1) ×
26
+
fXX
36
fXX
+
1.5
fSCK
Cautions 1. Do not write data to ADTI during operation of automatic data transmit/receive
function.
2. Bits 5 and 6 must be set to zero.
3. To control the data transfer interval by means of automatic transmission/reception
with ADTI, busy control (refer to 18.4.3 (4) (a) Busy control option) is disabled.
Remarks 1. fXX
414
: Main system clock frequency (fX or fX/2)
2. fX
: Main system clock oscillation frequency
3. fSCK
: Serial clock frequency
CHAPTER 18
Symbol
7
ADTI ADTI7
6
5
0
0
4
3
2
SERIAL INTERFACE CHANNEL 1
1
0
ADTI4 ADTI3 ADTI2 ADTI1 ADTI0
Address
After Reset
FF6BH
00H
R/W
R/W
Data Transfer Interval Specification (fXX = 2.5 MHz Operation)
ADTI4 ADTI3 ADTI2 ADTI1 ADTI0
MinimumNote
MaximumNote
1
0
0
0
0
446.4 µ s + 0.5/fSCK
449.6 µ s + 1.5/fSCK
1
0
0
0
1
472.0 µ s + 0.5/fSCK
475.2 µ s + 1.5/fSCK
1
0
0
1
0
497.6 µ s + 0.5/fSCK
500.8 µ s + 1.5/fSCK
1
0
0
1
1
523.2 µ s + 0.5/fSCK
526.4 µ s + 1.5/fSCK
1
0
1
0
0
548.8 µ s + 0.5/fSCK
552.0 µ s + 1.5/fSCK
1
0
1
0
1
574.4 µ s + 0.5/fSCK
577.6 µ s + 1.5/fSCK
1
0
1
1
0
600.0 µ s + 0.5/fSCK
603.2 µ s + 1.5/fSCK
1
0
1
1
1
625.6 µ s + 0.5/fSCK
628.8 µ s + 1.5/fSCK
1
1
0
0
0
651.2 µ s + 0.5/fSCK
654.4 µ s + 1.5/fSCK
1
1
0
0
1
676.8 µ s + 0.5/fSCK
680.0 µ s + 1.5/fSCK
1
1
0
1
0
702.4 µ s + 0.5/fSCK
705.6 µ s + 1.5/fSCK
1
1
0
1
1
728.0 µ s + 0.5/fSCK
731.2 µ s + 1.5/fSCK
1
1
1
0
0
753.6 µ s + 0.5/fSCK
756.8 µ s + 1.5/fSCK
1
1
1
0
1
779.2 µ s + 0.5/fSCK
782.4 µ s + 1.5/fSCK
1
1
1
1
0
804.8 µ s + 0.5/fSCK
808.0 µ s + 1.5/fSCK
1
1
1
1
1
830.4 µ s + 0.5/fSCK
833.6 µ s + 1.5/fSCK
Note
The data transfer interval includes an error. The data transfer minimum and maximum intervals
are found from the following expressions (n: Value set in ADTI0 to ADTI4). However, if a minimum
which is calculated by the following expressions is smaller than 2/fSCK, the minimum interval time
is 2/fSCK.
26
fXX
+
28 +
fXX
0.5
fSCK
6
Maximum = (n+1) × 2
fXX
+
36 +
fXX
1.5
fSCK
Minimum = (n+1) ×
Cautions 1. Do not write data to ADTI during operation of automatic data transmit/receive
function.
2. Bits 5 and 6 must be set to zero.
3. To control the data transfer interval by means of automatic transmission/reception
with ADTI, busy control (refer to 18.4.3 (4) (a) Busy control option) is disabled.
Remarks 1. fXX
: Main system clock frequency (fX or fX/2)
2. fX
: Main system clock oscillation frequency
3. fSCK
: Serial clock frequency
415
CHAPTER 18
SERIAL INTERFACE CHANNEL 1
(2) Automatic transmit/receive data setting
(a) Transmit data setting
<1>
Write transmit data from the least significant address FAC0H of buffer RAM (up to FADFH at
maximum). The transmit data should be in the order from high-order address to low-order address.
<2>
Set to the automatic data transmit/receive address pointer (ADTP) the value obtained by
subtracting 1 from the number of transmit data bytes.
(b) Automatic transmit/receive mode setting
<1>
Set bit 7 (CSIE1) to 1 and bit 5 (ATE) to 1 of the serial operating mode register 1 (CSIM1) to 1.
<2>
Set bit 7 (RE) of the automatic data transmit/receive control register (ADTC) to 1.
<3>
Set a data transmit/receive interval in the automatic data transmit/receive interval specify register
(ADTI).
<4>
Write any value to the serial I/O shift register 1 (SIO1) (transfer start trigger).
Caution Writing any value to SIO1 orders the start of automatic transmit/receive operation and
the written value has no meaning.
The following operations are automatically carried out when (a) and (b) are carried out.
• After the buffer RAM data specified with ADTP is transferred to SIO1, transmission is carried out (start
of automatic transmission/reception).
• The received data is written to the buffer RAM address specified with ADTP.
• ADTP is decremented and the next data transmission/reception is carried out. Data transmission/
reception continues until the ADTP decremental output becomes 00H and address FAC0H data is
output (end of automatic transmission/reception).
• When automatic transmission/reception is terminated, bit 3 (TRF) of ADTC is cleared to 0.
416
CHAPTER 18
SERIAL INTERFACE CHANNEL 1
(3) Communication operation
(a) Basic transmission/reception mode
This transmission/reception mode is the same as the 3-wire serial I/O mode in which specified number
of data are transmitted/received in 8-bit units.
Serial transfer is started when any data is written to the serial I/O shift register 1 (SIO1) while bit 7 (CSIE1)
of the serial operating mode register 1 (CSIM1) is set to 1.
The interrupt request flag (CSIIF1) is set upon completion of transmission of the last byte. However, judge
the completion of the automatic transmission/reception not with CSIIF1 but bit 3 (TRF) of the automatic
data transmit/receive control register (ADTC).
If busy control and strobe control are not executed, the P23/STB and P24/BUSY pins can be used as
normal input/output ports.
Figure 18-8 shows the basic transmission/reception mode operation timings, and Figure 18-9 shows the
operation flowchart. Figure 18-10 shows the operation of the buffer RAM when 6 bytes of data are
transmitted or received.
Figure 18-8. Basic Transmission/Reception Mode Operation Timings
Interval
SCK1
SO1
D7 D6 D5 D4 D3 D2 D1 D0
D7 D6 D5 D4 D3 D2 D1 D0
SI1
D7 D6 D5 D4 D3 D2 D1 D0
D7 D6 D5 D4 D3 D2 D1 D0
CSIIF1
TRF
Cautions 1. Because, in the basic transmission/reception mode, the automatic transmit/receive
function writes/reads data to/from the buffer RAM after 1-byte transmission/reception,
an interval is inserted till the next transmission/reception. As the buffer RAM write/
read is performed at the same time as CPU processing, the maximum interval is
dependent upon CPU processing and the value of the automatic data transmit/
receive interval specify register (ADTI) (see (5) "Automatic data transmit/receive
interval").
2. When TRF is cleared, the SO1 pin becomes low level.
Remark
CSIIF1 : Interrupt request flag
TRF
: Bit 3 of automatic data transmit/receive control register (ADTC)
417
CHAPTER 18
SERIAL INTERFACE CHANNEL 1
Figure 18-9. Basic Transmission/Reception Mode Flowchart
Start
Write transmit data
in buffer RAM
Set ADTP to the value (pointer
value) obtained by subtracting 1
from the number of transmit
data bytes
Software Execution
Set the transmission/reception
operation interval time in ADTI
Write any data to SIO1
(Start trigger)
Write transmit data from
buffer RAM to SIO1
Transmission/reception
operation
Decrement pointer value
Hardware Execution
Write receive data from
SIO1 to buffer RAM
Pointer value = 0
No
Yes
TRF = 0
No
Software Execution
Yes
End
ADTP : Automatic data transmit/receive address pointer
418
ADTI
: Automatic data transmit/receive interval specify register
SIO1
: Serial I/O shift register 1
TRF
: Bit 3 of automatic data transmit/receive control register (ADTC)
CHAPTER 18
SERIAL INTERFACE CHANNEL 1
In 6-byte transmission/reception (ARLD=0, RE=1) in basic transmit/receive mode, buffer RAM operates as follows.
(i)
Before transmission/reception (Refer to Figure 18-10 (a))
After any data has been written to serial I/O shift register 1 (SIO1) (start trigger: this data is not
transferred), transmit data 1 (T1) is transferred from the buffer RAM to SIO1. When transmission
of the first byte is completed, the receive data 1 (R1) is transferred from SIO1 to the buffer RAM, and
automatic data transmit/receive address pointer (ADTP) is decremented. Then transmit data 2 (T2)
is transferred from the buffer RAM to SIO1.
(ii) 4th byte transmission/reception point (Refer to Figure 18-10 (b))
Transmission/reception of the third byte is completed, and transmit data 4 (T4) is transferred from
the buffer RAM to SIO1. When transmission of the fourth byte is completed, the receive data 4 (R4)
is transferred from SIO1 to the buffer RAM, and ADTP is decremented.
(iii) Completion of transmission/reception (Refer to Figure 18-10 (c))
When transmission of the sixth byte is completed, the receive data 6 (R6) is transferred from SIO1
to the buffer RAM, and the interrupt request flag (CSIIF1) is set (INTCSI1 generation).
Figure 18-10. Buffer RAM Operation in 6-Byte Transmission/Reception
(in Basic Transmit/Receive Mode) (1/2)
(a) Before transmission/reception
FADFH
FAC5H
Transmit data 1 (T1)
Receive data 1 (R1)
SIO1
5
ADTP
0
CSIIF1
Transmit data 2 (T2)
Transmit data 3 (T3)
Transmit data 4 (T4)
–1
Transmit data 5 (T5)
FAC0H
Transmit data 6 (T6)
419
CHAPTER 18
SERIAL INTERFACE CHANNEL 1
Figure 18-10. Buffer RAM Operation in 6-Byte Transmission/Reception
(in Basic Transmit/Receive Mode) (2/2)
(b) 4th byte transmission/reception
FADFH
FAC5H
Receive data 1 (R1)
Receive data 4 (R4)
SIO1
2
ADTP
0
CSIIF1
Receive data 2 (R2)
Receive data 3 (R3)
Transmit data 4 (T4)
–1
Transmit data 5 (T5)
FAC0H
Transmit data 6 (T6)
(c) Completion of transmission/reception
FADFH
FAC5H
Receive data 1 (R1)
SIO1
Receive data 2 (R2)
Receive data 3 (R3)
0
ADTP
1
CSIIF1
Receive data 4 (R4)
Receive data 5 (R5)
FAC0H
420
Receive data 6 (R6)
CHAPTER 18
SERIAL INTERFACE CHANNEL 1
(b) Basic transmission mode
In this mode, the specified number of 8-bit unit data are transmitted.
Serial transfer is started when any data is written to the serial I/O shift register 1 (SIO1) while bit 7 (CSIE1)
of the serial operating mode register 1 (CSIM1) is set to 1.
The interrupt request flag (CSIIF1) is set upon completion of transmission of the last byte. However, judge
the completion of the automatic transmission/reception not with CSIIF1 but bit 3 (TRF) of the automatic
data transmit/receive control register (ADTC).
If receive operation, busy control and strobe control are not executed, the P20/SI1, P23/STB and P24/
BUSY pins can be used as normal input/ports.
Figure 18-11 shows the basic transmission mode operation timings, and Figure 18-12 shows the operation
flowchart. Figure 18-13 shows the operation of the buffer RAM when 6 bytes of data are transmitted or
received.
Figure 18-11. Basic Transmission Mode Operation Timings
Interval
SCK1
SO1
D7 D6 D5 D4 D3 D2 D1 D0
D7 D6 D5 D4 D3 D2 D1 D0
CSIIF1
TRF
Cautions 1. Because, in the basic transmission mode, the automatic transmit/receive function
reads data from the buffer RAM after 1-byte transmission, an interval is inserted till
the next transmission. As the buffer RAM read is performed at the same time as CPU
processing, the maximum interval is dependent upon CPU processing and the value
of the automatic data transmit/receive interval specify register (ADTI) (see (5)
"Automatic data transmit/receive interval").
2. When TRF is cleared, the SO1 pin becomes low level.
Remark
CSIIF1 : Interrupt request flag
TRF
: Bit 3 of automatic data transmit/receive control register (ADTC)
421
CHAPTER 18
SERIAL INTERFACE CHANNEL 1
Figure 18-12. Basic Transmission Mode Flowchart
Start
Write transmit data
in buffer RAM
Set ADTP to the value (pointer
value) obtained by subtracting 1
from the number of transmit
data bytes
Software Execution
Set the transmission/reception
operation interval time in ADTI
Write any data to SIO1
(Start trigger)
Write transmit data from
buffer RAM to SIO1
Decrement pointer value
Transmission operation
Hardware Execution
Pointer value = 0
No
Yes
TRF = 0
No
Software Execution
Yes
End
ADTP : Automatic data transmit/receive address pointer
422
ADTI
: Automatic data transmit/receive interval specify register
SIO1
: Serial I/O shift register 1
TRF
: Bit 3 of automatic data transmit/receive control register (ADTC)
CHAPTER 18
SERIAL INTERFACE CHANNEL 1
In 6-byte transmission (ARLD=0, RE=0) in basic transmit mode, buffer RAM operates as follows.
(i)
Before transmission (Refer to Figure 18-13 (a))
After any data has been written to serial I/O shift register 1 (SIO1) (start trigger: this data is not
transferred), transmit data 1 (T1) is transferred from the buffer RAM to SIO1. When transmission
of the first byte is completed, automatic data transmit/receive address pointer (ADTP) is decremented.
Then transmit data 2 (T2) is transferred from the buffer RAM to SIO1.
(ii) 4th byte transmission point (Refer to Figure 18-13 (b))
Transmission of the third byte is completed, and transmit data 4 (T4) is transferred from the buffer
RAM to SIO1. When transmission of the fourth byte is completed, ADTP is decremented.
(iii) Completion of transmission (Refer to Figure 18-13 (c))
When transmission of the sixth byte is completed, the interrupt request flag (CSIIF1) is set (INTCSI1
generation).
Figure 18-13. Buffer RAM Operation in 6-Byte Transmission
(in Basic Transmit Mode) (1/2)
(a) Before transmission
FADFH
FAC5H
Transmit data 1 (T1)
SIO1
Transmit data 2 (T2)
Transmit data 3 (T3)
Transmit data 4 (T4)
5
ADTP
0
CSIIF1
–1
Transmit data 5 (T5)
FAC0H
Transmit data 6 (T6)
423
CHAPTER 18
SERIAL INTERFACE CHANNEL 1
Figure 18-13. Buffer RAM Operation in 6-Byte Transmission
(in Basic Transmit Mode) (2/2)
(b) 4th byte transmission point
FADFH
FAC5H
Transmit data 1 (T1)
SIO1
Transmit data 2 (T2)
Transmit data 3 (T3)
Transmit data 4 (T4)
2
ADTP
0
CSIIF1
–1
Transmit data 5 (T5)
FAC0H
Transmit data 6 (T6)
(c) Completion of transmission
FADFH
FAC5H
Transmit data 1 (T1)
SIO1
Transmit data 2 (T2)
Transmit data 3 (T3)
0
ADTP
1
CSIIF1
Transmit data 4 (T4)
Transmit data 5 (T5)
FAC0H
424
Transmit data 6 (T6)
CHAPTER 18
SERIAL INTERFACE CHANNEL 1
(c) Repeat transmission mode
In this mode, data stored in the buffer RAM is transmitted repeatedly.
Serial transfer is started by writing any data to serial I/O shift register 1 (SIO1) when 1 is set in bit 7 (CSIE1)
of the serial operating mode register 1 (CSIM1).
Unlike the basic transmission mode, after the last byte (data in address FAC0H) has been transmitted,
the interrupt request flag (CSIIF1) is not set, the value at the time when the transmission was started is
set in the automatic data transmit/receive address pointer (ADTP) again, and the buffer RAM contents
are transmitted again.
When a reception operation, busy control and strobe control are not performed, the P20/SI1, P23/STB
and P24/BUSY pins can be used as ordinary input/output ports.
The repeat transmission mode operation timing is shown in Figure 18-14, and the operation flowchart in
Figure 18-15. Figure 18-16 shows the operation of the buffer RAM when 6 bytes of data are transmitted
in the repeat transmission mode.
Figure 18-14. Repeat Transmission Mode Operation Timing
Interval
Interval
SCK1
SO1
D7 D6 D5 D4 D3 D2 D1 D0
D7 D6 D5 D4 D3 D2 D1 D0
D7 D6 D5
Caution Since, in the repeat transmission mode, a read is performed on the buffer RAM after the
transmission of one byte, the interval is included in the period up to the next transmission.
As the buffer RAM read is performed at the same time as CPU processing, the maximum
interval is dependent upon the CPU operation and the value of the automatic data
transmit/receive interval specify register (ADTI) (see (5) "Automatic data transmit/
receive interval").
425
CHAPTER 18
SERIAL INTERFACE CHANNEL 1
Figure 18-15. Repeat Transmission Mode Flowchart
Start
Write transmit data
in buffer RAM
Set ADTP to the value (pointer
value) obtained by subtracting 1
from the number of transmit
data bytes
Software Execution
Set the transmission/reception
operation interval time in ADTI
Write any data to SIO1
(Start trigger)
Write transmit data from
buffer RAM to SIO1
Decrement pointer value
Transmission operation
Hardware Execution
Pointer value = 0
No
Yes
Reset ADTP
ADTP : Automatic data transmit/receive address pointer
426
ADTI
: Automatic data transmit/receive interval specify register
SIO1
: Serial I/O shift register 1
CHAPTER 18
SERIAL INTERFACE CHANNEL 1
In 6-byte transmission (ARLD=1, RE=0) in repeat transmit mode, buffer RAM operates as follows.
(i)
Before transmission (Refer to Figure 18-16 (a))
After any data has been written to serial I/O shift register 1 (SIO1) (start trigger: this data is not
transferred), transmit data 1 (T1) is transferred from the buffer RAM to SIO1. When transmission
of the first byte is completed, automatic data transmit/receive address pointer (ADTP) is decremented.
Then transmit data 2 (T2) is transferred from the buffer RAM to SIO1.
(ii) Upon completion of transmission of 6 bytes (Refer to Figure 18-16 (b))
When transmission of the sixth byte is completed, the interrupt request flag (CSIIF1) is not set. The
first pointer value is set to ADTP again.
(iii) 7th byte transmission point (Refer to Figure 18-16 (c))
Transmit data 1 (T1) is transferred from the buffer RAM to SIO1 again. When transmission of the
first byte is completed, ADTP is decremented. Then transmit data 2 (T2) is transferred from the buffer
RAM to SIO1.
Figure 18-16. Buffer RAM Operation in 6-Byte Transmission
(in Repeat Transmit Mode) (1/2)
(a) Before transmission
FADFH
FAC5H
Transmit data 1 (T1)
SIO1
Transmit data 2 (T2)
Transmit data 3 (T3)
Transmit data 4 (T4)
5
ADTP
0
CSIIF1
–1
Transmit data 5 (T5)
FAC0H
Transmit data 6 (T6)
427
CHAPTER 18
SERIAL INTERFACE CHANNEL 1
Figure 18-16. Buffer RAM Operation in 6-Byte Transmission
(in Repeat Transmit Mode) (2/2)
(b) Upon completion of transmission of 6 bytes
FADFH
FAC5H
Transmit data 1 (T1)
SIO1
Transmit data 2 (T2)
Transmit data 3 (T3)
0
ADTP
0
CSIIF1
Transmit data 4 (T4)
Transmit data 5 (T5)
FAC0H
Transmit data 6 (T6)
(c) 7th byte transmission point
FADFH
FAC5H
Transmit data 1 (T1)
SIO1
Transmit data 2 (T2)
Transmit data 3 (T3)
Transmit data 4 (T4)
5
ADTP
0
CSIIF1
–1
Transmit data 5 (T5)
FAC0H
428
Transmit data 6 (T6)
CHAPTER 18
SERIAL INTERFACE CHANNEL 1
(d) Automatic transmission/reception suspending and restart
Automatic transmission/reception can be temporarily suspended by setting bit 7 (CSIE1) of the serial
operating mode register 1 (CSIM1) to 0.
If during 8-bit data transfer, the transmission/reception is not suspended if bit 7 (CSIE1) is set to 0. It
is suspended upon completion of 8-bit data transfer.
When suspended, bit 3 (TRF) of the automatic data transmit/receive control register (ADTC) is set to 0
after transfer of the 8th bit, and all the port pins used with the serial interface pins for dual function (P20/
SI1, P21/SO1, P22/SCK1, P23/STB and P24/BUSY) are set to the port mode.
During restart of transmission/reception, remaining data can be transferred by setting CSIE1 to 1 and
writing any data to the serial I/O shift register 1 (SIO1).
Cautions 1. If the HALT instruction is executed during automatic transmission/reception, transfer
is suspended and the HALT mode is set if during 8-bit data transfer. When the HALT
mode is cleared, automatic transmission/reception is restarted from the suspended
point.
2. When suspending automatic transmission/reception, do not change the operating
mode to 3-wire serial I/O mode while TRF = 1.
Figure 18-17. Automatic Transmission/Reception Suspension and Restart
CSIE1 = 0 (Suspended Command)
Suspend
Restart Command
CSIE1 = 1, Write to SIO1
SCK1
SO1
D7 D6 D5 D4 D3 D2 D1 D0
D7 D6 D5 D4 D3 D2 D1 D0
SI1
D7 D6 D5 D4 D3 D2 D1 D0
D7 D6 D5 D4 D3 D2 D1 D0
Remark
CSIE1 : Bit 7 of serial operating mode register 1 (CSIM1)
429
CHAPTER 18
SERIAL INTERFACE CHANNEL 1
(4) Synchronization Control
Busy control and strobe control are functions for synchronizing sending and receiving between the master
device and slave device.
By using these functions, it is possible to detect bit slippage during sending and receiving.
(a) Busy control Option
Busy control is a function which causes the master device’s serial transmission to wait when the slave
device outputs a busy signal to the master device, and maintain the wait state while that busy signal is
active.
When the busy control option is used, the conditions shown below are necessary.
• Bit 5 (ATE) of serial operation mode register 1 (CSIM1) should be set at (1).
• Bit 1 (BUSY1) of the auto data send and receive control register (ADTC) should be set at (1).
The system configuration between the master device and slave device in cases where the busy control
option is used is shown in Figure 18-18.
Figure 18-18. System Configuration When the Busy Control Option is Used
Master Device
(µPD78054, 78054Y Sub-series)
SCK1
SO1
SI1
Slave Device
SCK1
SO1
SI1
BUSY
The master device inputs the busy signal output by the slave device to pin BUSY/P24. In sync with the
fall of the serial clock, the master device samples the input busy signal. Even if the busy signal becomes
active during sending or receiving of 8 bit data, the wait does not apply. If the busy signal becomes active
at the rise of the serial clock 2 clock cycles after sending or receiving of 8 bit data ends, the busy input
first becomes effective at that point, and thereafter, sending or receiving of data waits during the period
that the busy signal is active.
The busy signal’s active level is set in bit 0 (BUSY0) of ADTC.
BUSY0 = 0: Active High
BUSY0 = 1: Active Low
430
CHAPTER 18
SERIAL INTERFACE CHANNEL 1
Furthermore, in the case that the busy control option is used, select the internal clock for the serial clock.
The busy signal cannot be controlled with an external clock.
The operation timing when the busy control option is used is shown in Figure 18-19.
Caution Busy control cannot be used at the same time as interval timing control using the auto
data send and receive interval instruction register (ADTI). If both are used simultaneously,
busy control becomes invalid.
Figure 18-19. Operation Timings when Using Busy Control Option (BUSY0 = 0)
SCK1
SO1
D7 D6 D5 D4 D3 D2 D1 D0
D7 D6 D5 D4 D3 D2 D1 D0
SI1
D7 D6 D5 D4 D3 D2 D1 D0
D7 D6 D5 D4 D3 D2 D1 D0
BUSY
Wait
CSIIF1
Busy Input Clear
Busy Input Valid
TRF
Caution When TRF is cleared, the SO1 pin becomes low level.
Remark
CSIIF1: Interrupt request flag
TRF
: Bit 3 of the auto data send and receive control register (ADTC)
If the busy signal becomes inactive, the wait is canceled. If the sampled busy signal is inactive, sending
or receiving of the next 8 bit data begins from the fall of the next serial clock cycle.
Furthermore, the busy signal is asynchronous with the serial clock, so even if the slave side inactivates
the busy signal, it takes nearly 1 clock cycle at the most until it is sampled again. Also, it takes another
0.5 clock cycle after sampling until data transmission resumes.
Therefore, in order to definitely cancel a wait state, it is necessary for the slave side to keep the busy
signal for at least 1.5 clock cycles.
Figure 18-20 shows the timing of the busy signal and wait cancel. In this figure, an example of the case
where the busy signal becomes active when sending or receiving starts is shown.
431
CHAPTER 18
SERIAL INTERFACE CHANNEL 1
Figure 18-20. Busy Signal and Wait Cancel (when BUSY0 = 0)
SCK1
SO1
D7 D6 D5 D4 D3 D2 D1 D0
D7 D6 D5 D4 D3 D2 D1 D0
SI1
D7 D6 D5 D4 D3 D2 D1 D0
D7 D6 D5 D4 D3 D2 D1 D0
BUSY
(Active High)
1.5 clocks (min.)
In the case where the busy
signal becomes inactive
directly when sampled
Wait
BUSY Input Cancel
BUSY Input Effective
(b) Busy & strobe control option
Strobe control is a function for synchronizing the sending and receiving of data between a master device
and slave device. When sending or receiving of 8 bit data ends, the strobe signal is output by the master
device from pin STB/P23. Through this means, the slave device can know the timing of the end of master
data transmission.
Therefore, even if there is noise in the serial clock and bit slippage occurs,
synchronization is maintained and bit slippage has no effect on transmission of the next byte.
In the case that the strobe control option is used, the conditions shown below are necessary.
• Set bit 5 (ATE) of serial operation mode register 1 (CSIM1) at (1).
• Set bit 2 (STRB) of the auto data send and receive control register (ADTC) at (1).
Normally, busy control and strobe control are used simultaneously as handshake signals. In this case,
together with output of the strobe signal from pin STB/P23, pin BUSY/P24 can be sampled and sending
or receiving can wait while the busy signal is being input.
If strobe control is not carried out, pin P23/STB can be used as a normal I/O port.
Operation timing when busy and strobe control are used is shown in Figure 18-21.
Furthermore, if strobe control is used, the interrupt request flag (CSIIF1), set when sending or receiving
ends, is set after the strobe signal is output.
432
CHAPTER 18
SERIAL INTERFACE CHANNEL 1
Figure 18-21. Operation Timings when Using Busy & Strobe Control Option (BUSY0 = 0)
SCK1
SO1
D7 D6 D5 D4 D3 D2 D1 D0
D7 D6 D5 D4 D3 D2 D1 D0
SI1
D7 D6 D5 D4 D3 D2 D1 D0
D7 D6 D5 D4 D3 D2 D1 D0
STB
BUSY
CSIIF1
Busy Input Clear
Busy Input Valid
TRF
Caution When TRF is cleared, the SO1 pin becomes low level.
Remarks CSIIF1: Interrupt request flag
TRF
: Bit 3 of the auto data send and receive control register (ADTC)
433
CHAPTER 18
SERIAL INTERFACE CHANNEL 1
(c) Bit Slippage Detection Function Through the Busy Signal
During an auto send and receive operation, noise occur in the serial clock signal output by the master
device and bit slippage may occur in the slave device side serial clock. At this time, if the strobe control
option is not used, this bit slippage will have an effect on sending of the next byte. In such a case, the
busy control option can be used on the master device side and, by checking the busy signal during sending,
bit slippage can be detected.
Bit slippage detection through the busy signal is accomplished as follows.
The slave side outputs a busy signal after the serial clock rises on the 8th cycle of data sending or receiving
(at this time, if application of the wait state by the busy signal is not desired, the busy signal is made inactive
within 2 clock cycles).
The master device side samples the busy signal in sync with the fall of the serial clock’s front side. If
no bit slippage is occurring, the busy signal will be inactive in sampling for 8 clock cycles. If the busy
signal is found to be active in sampling, it is regarded as an occurrence of bit slippage error processing
is executed (bit 4 (ERR) of the auto data send and receive control register (ADTC) is set at (1)).
The operation timing of the bit slippage detection function through the busy signal is shown in Figure 1822.
Figure 18-22. Operation Timing of the Bit Slippage Detection Function Through the Busy SIgnal
(when BUSY0 = 1)
SCK1
(Master Side)
Bit Slippage Due to Noise
SCK1
(Slave Side)
SO1
D7 D6 D5 D4 D3 D2 D1 D0
D7
D7 D6 D5 D4 D3 D2 D1
D0
SI1
D7 D6 D5 D4 D3 D2 D1 D0
D7
D7 D6 D5 D4 D3 D2 D1
D0
BUSY
CSIIF1
CSIE1
ERR
No Busy Detection
Remark
CSIIF1 : Interrupt Request Flag
CSIE1 : Bit 7 of serial operation mode register 1 (CSIM1)
ERR
434
: Bit 4 of the auto data send and receive control register (ADTC)
Error Interrupt
Request Generation
Error Detection
CHAPTER 18
SERIAL INTERFACE CHANNEL 1
(5) Automatic transmit/receive interval time
When using the automatic transmit/receive function, the read/write operations from/to the buffer RAM are
performed after transmitting/receiving one byte. Therefore, an interval is inserted before the next transmit/
receive.
Since the read/write operations from/to the buffer RAM are performed in parallel with the CPU processing when
using the automatic transmit/receive function by the internal clock, the interval depends on the value which
is set in the automatic transmit/receive interval specification register (ADTI) and the CPU processing at the
rising edge of the eighth serial clock. Whether it depends on the ADTI or not can be selected by the setting
of its bit 7 (ADTI7). When it is set to 0, the interval depends only on the CPU processing. When it is set to
1, the interval depends on the contents of the ADTI or CPU processing, whichever is greater.
When the automatic transmit/receive function is used by an external clock, it must be selected so that the
interval may be longer than the value indicated by paragraph (b).
Figure 18-23. Automatic Data Transmit/Receive Interval
Interval
SCK1
SO1
D7 D6 D5 D4 D3 D2 D1 D0
D7 D6 D5 D4 D3 D2 D1 D0
SI1
D7 D6 D5 D4 D3 D2 D1 D0
D7 D6 D5 D4 D3 D2 D1 D0
CSIIF1
Remark
CSIIF1: Interrupt request flag
435
CHAPTER 18
SERIAL INTERFACE CHANNEL 1
(a) When the automatic transmit/receive function is used by the internal clock
If bit 1 (CSIM11) of serial operation mode register 1 (CSIM1) is set at (1), the internal clock operates.
If the auto send and receive function is operated by the internal clock, interval timing by CPU processing
is as follows.
When bit 7 (ADTI7) of automatic data transmit/receive interval specify register (ADTI) is set to 0, the
interval depends on the CPU processing. When ADTI7 is set to 1, it depends on the contents of the ADTI
or CPU processing, whichever is greater.
Refer to Figure 18-5, “Automatic Data Transmit/Receive Interval Specify Register Format” for the intervals
which are set by the ADTI.
Table 18-2. Interval Timing Through CPU Processing (when the internal clock is operating)
CPU Processing
Interval Time
When using multiplication instruction
Max. (2.5TSCK, 13TCPU)
When using division instruction
Max. (2.5TSCK, 20TCPU)
External access 1 wait mode
Max. (2.5TSCK, 9TCPU)
Other than above
Max. (2.5TSCK, 7TCPU)
Remark TSCK
: 1/fSCK
fSCK
: Serial clock frequency
TCPU
: 1/fCPU
fCPU
: CPU clock (set by bits 0 to 2 (PCC0 to PCC2) of the processor clock control
register (PCC) and bit 0 (MCS) of the oscillation mode selection register (OSMS))
MAX. (a, b) : a or b, whichever is greater
Figure 18-24. Operation Timing with Automatic Data Transmit/Receive Function Performed by
Internal Clock
fX
TCPU
f CPU
TSCK
Interval
SCK1
SO1
D7
D6
D5
D4
D3
D2
D1
D0
SI1
D7
D6
D5
D4
D3
D2
D1
D0
fX
: Main system clock oscillation frequency
fCPU : CPU clock (set by bits 0 to 2 (PCC0 to PCC2) of the processor clock control register (PCC) and
bit 0 (MCS) of the oscillation mode select register (OSMS).
TCPU : 1/fCPU
TSCK : 1/fSCK
fSCK : Serial clock frequency
436
CHAPTER 18
SERIAL INTERFACE CHANNEL 1
(b) When the automatic transmit/receive function is used by the external clock
If bit 1 (CSIM11) of serial operation mode register 1 (CSIM1) is cleared to 0, external clock operation is
set.
When the automatic transmit/receive function is used by the external clock, it must be selected so that
the interval may be longer than the values shown as follows.
Table 18-3. Interval Timing Through CPU Processing (when the external clock is operating)
CPU Processing
Remark
Interval Time
When using multiplication instruction
13TCPU
When using division instruction
20TCPU
External access 1 wait mode
9TCPU
Other than above
7TCPU
TCPU : 1/fCPU
fCPU
: CPU clock (set by the bits 0 to 2 (PCC0 to PCC2) of the processor clock control register
(PCC) and bit 0 (MCS) of the oscillation mode selection register (OSMS))
437
[MEMO]
438
CHAPTER 19 SERIAL INTERFACE CHANNEL 2
19.1 Serial Interface Channel 2 Functions
Serial interface channel 2 has the following three modes.
• Operation stop mode
• Asynchronous serial interface (UART) mode
• 3-wire serial I/O mode
(1) Operation stop mode
This mode is used when serial transfer is not carried out to reduce power consumption.
(2) Asynchronous serial interface (UART) mode
In this mode, one byte of data is transmitted/received following the start bit, and full-duplex operation is
possible.
A dedicated UART baud rate generator is incorporated, allowing communication over a wide range of baud
rates. In addition, the baud rate can be defined also by scaling the input clock to the ASCK pin.
The MIDI standard baud rate (31.25 kbps) can also be used by employing the dedicated UART baud rate
generator.
(3) 3-wire serial I/O mode (MSB-/LSB-first switchable)
In this mode, 8-bit data transfer is performed using three lines: the serial clock (SCK2), and serial data lines
(SI2, SO2).
In the 3-wire serial I/O mode, simultaneous transmission and reception is possible, increasing the data transfer
processing speed.
Either the MSB or LSB can be specified as the start bit for an 8-bit data serial transfer, allowing connection
to devices using either as the start bit.
The 3-wire serial I/O mode is useful for connection to peripheral I/Os and display controllers, etc., which
incorporate a conventional synchronous clocked serial interface, such as the 75X/XL series, 78K series, 17K
series, etc.
Caution In the 3-wire serial I/O mode of serial interface channel 2, only the output of the internal
baud rate generator can be used for the operation clock. It is not possible to input a clock
to pin SCK2 from external.
439
CHAPTER 19
SERIAL INTERFACE CHANNEL 2
19.2 Serial Interface Channel 2 Configuration
Serial interface channel 2 consists of the following hardware.
Table 19-1. Serial Interface Channel 2 Configuration
Item
Register
Configuration
Transmit shift register (TXS)
Receive shift register (RXS)
Receive buffer register (RXB)
Control register
Serial operating mode register 2 (CSIM2)
Asynchronous serial interface mode register (ASIM)
Asynchronous serial interface status register (ASIS)
Baud rate generator control register (BRGC)Note
Note
440
Refer to Figure 6-15 Block Diagram of P70 and Figure 6-16 Block Diagram of P71, P72.
CHAPTER 19
SERIAL INTERFACE CHANNEL 2
Figure 19-1. Serial Interface Channel 2 Block Diagram
Internal Bus
Asynchronous
Serial Interface
Mode Register
Asynchronous
Serial Interface
Status Register
Receive Buffer
Register
(RXB/SIO2)
PE
FE
OVE
Direction
Control Circuit
TXE RXE PS1 PS0 CL
SL ISRM SCK
Transmit Shift
Register
(TXS/SIO2)
Direction
Control Circuit
Receive Shift
Register (RXS)
RxD/SI2/
P70
TxD/SO2/
P71
PM71
Reception
Control
Circuit
PM72
INTSER
INTSR/INTCSI2
Transmission
Control
Circuit
SCK Output
Control Circuit
INTST
ISRM
ASCK/
SCK2/P72
Note
Baud Rate Generator
CSIE2
TXE
RXE
CSIE2
CSIM CSCK
22
f xx-fxx/210
SCK
4
4
MDL3 MDL2 MDL1 MDL0 TPS3 TPS2 TPS1 TPS0
Serial Operating
Mode Register 2
Baud Rate Generator
Control Register
Internal Bus
Note
See Figure 19-2 for the baud rate generator configuration.
441
CHAPTER 19
SERIAL INTERFACE CHANNEL 2
Figure 19-2. Baud Rate Generator Block Diagram
CSIE2
TXE
1/2
Selector
5-Bit
Counter
Selector
Transmit
Clock
Selector
Start Bit
Sampling Clock
Match
ASCK/SCK2/P72
Selector
4
MDL0-MDL3
Selector
TPS0-TPS3
SCK
Decoder
Receive
Clock
f xx-fxx/210
4
Match
1/2
5-Bit
Counter
4
RXE
Start Bit Detection
TPS3 TPS2 TPS1 TPS0 MDL3 MDL2 MDL1 MDL0
Baud Rate Generator
Control Register
Internal Bus
442
CHAPTER 19
SERIAL INTERFACE CHANNEL 2
(1) Transmit shift register (TXS)
This register is used to set the transmit data. The data written in TXS is transmitted as serial data.
If the data length is specified as 7 bits, bits 0 to 6 of the data written in TXS are transferred as transmit data.
Writing data to TXS starts the transmit operation.
TXS is written to with an 8-bit memory manipulation instruction. It cannot be read.
TXS value is FFH after RESET input.
Caution Do not write a data to TXS during a transmit operation. TXS and the receive buffer register
(RXB) are allocated to the same address, and when a read is performed, the value of RXB
is read.
(2) Receive shift register (RXS)
This register is used to convert serial data input to the RxD pin to parallel data. When one byte of data is
received, the receive data is transferred to the receive buffer register (RXB).
RXS cannot be directly manipulated by a program.
(3) Receive buffer register (RXB)
This register holds receive data. Each time one byte of data is received, new receive data is transferred from
the receive shift register (RXS).
If the data length is specified as 7 bits, the receive data is transferred to bits 0 to 6 of RXB, and the MSB of
RXB is always set to 0.
RXB is read with an 8-bit memory manipulation instruction. It cannot be written to.
RXB value is FFH after RESET input.
Caution Since RXB and the transmit shift register (TXS) are allocated to the same address, even if
a write instruction to RXB is executed, the value is written to TXS.
(4) Transmission control circuit
This circuit performs transmit operation control such as the addition of a start bit, parity bit and stop bit to data
written in the transmit shift register (TXS) in accordance with the contents set in the asynchronous serial
interface mode register (ASIM).
(5) Reception control circuit
This circuit controls receive operations in accordance with the contents set in the asynchronous serial interface
mode register (ASIM). It also checks errors such as parity error during a receive operation, and if an error
is detected, sets a value in the asynchronous serial interface status register (ASIS) in accordance with the
error contents.
443
CHAPTER 19
SERIAL INTERFACE CHANNEL 2
19.3 Serial Interface Channel 2 Control Registers
Serial interface channel 2 is controlled by the following four registers.
• Serial Operating Mode Register 2 (CSIM2)
• Asynchronous Serial Interface Mode Register (ASIM)
• Asynchronous Serial Interface Status Register (ASIS)
• Baud Rate Generator Control Register (BRGC)
(1) Serial operating mode register 2 (CSIM2)
This register is set when serial interface channel 2 is used in the 3-wire serial I/O mode.
CSIM2 is set with a 1-bit or 8-bit memory manipulation instruction.
RESET input sets CSIM2 to 00H.
Figure 19-3. Serial Operating Mode Register 2 Format
Symbol
<7>
CSIM2 CSIE2
6
0
5
0
4
0
3
0
2
1
CSIM CSCK
22
0
Address
0
FF72H
CSCK
After Reset
R/W
00H
R/W
Selection of Serial Operating mode
0
UART mode
1
3-wire serial I/O mode
CSIM22 First Bit Specification
0
MSB
1
LSB
CSIE2 Operation Control in 3-wire Serial I/O Mode
0
Operation stopped
1
Operation enabled
Cautions 1. Ensure that bits 0 and 3 to 6 are set to 0.
2. When UART mode is selected, CSIM2 should be set to 00H.
444
CHAPTER 19
SERIAL INTERFACE CHANNEL 2
(2) Asynchronous serial interface mode register (ASIM)
This register is set when serial interface channel 2 is used in the asynchronous serial interface mode.
ASIM is set with a 1-bit or 8-bit memory manipulation instruction.
RESET input sets ASIM to 00H.
Figure 19-4. Asynchronous Serial Interface Mode Register Format
Symbol
<7>
<6>
5
4
3
2
ASIM
TXE
RXE
PS1
PS0
CL
SL
1
0
ISRM SCK
Address
FF70H
SCK
00H
R/W
R/W
Clock Selection in Asynchronous Serial Interface
Mode
0
Input clock from off-chip to ASCK pin
1
Dedicated baud rate generator outputNote
ISRM
Control of Reception Completion Interrupt Request
in Case of Error Generation
0
Reception completion interrupt request generated
in case of error generation
1
Reception completion interrupt request not
generated in case of error generation
SL
Transmit Data Stop Bit Length Specification
0
1 bit
1
2 bits
CL
Note
After Reset
Character Length Specification
0
7 bits
1
8 bits
PS1
PS0
0
0
No Parity
0
1
0 parity always added in transmission
No parity test in reception (parity error not
generated)
1
0
Odd parity
1
1
Even parity
Parity Bit Specification
RXE
Receive Operation Control
0
Receive operation stopped
1
Receive operation enabled
TXE
Transmit Operation Control
0
Transmit operation stopped
1
Transmit operation enabled
When SCK is set to 1 and the baud rate generator output is selected, the ASCK pin can be used as
an input/output port.
Cautions 1. When the 3-wire serial I/O mode is selected, 00H should be set in ASIM.
2. The serial transmit/receive operation must be stopped before changing the operating
mode.
445
CHAPTER 19
SERIAL INTERFACE CHANNEL 2
Table 19-2. Serial Interface Channel 2 Operating Mode Settings
(1) Operation Stop Mode
PM70 P70 PM71 P71 PM72 P72 Start Shift P70/SI2
P71/SO2 P72/SCK2
Bit
Clock /RxD Pin /TxD Pin /ASCK Pin
TXE RXE SCK CSIE2 CSIM22 CSCK
Functions Functions Functions
ASIM
0
0
CSIM2
×
0
×
×
×
Note1
×
Note1
×
Note1
×
Note1
×
Note1
×
Note1
—
—
Other than above
P70
P71
P72
Setting prohibited
(2) 3-wire Serial I/O Mode
PM70 P70 PM71 P71 PM72 P72 Start Shift P70/SI2
P71/SO2 P72/SCK2
Bit
Clock /RxD Pin /TxD Pin /ASCK Pin
TXE RXE SCK CSIE2 CSIM22 CSCK
Functions Functions Functions
ASIM
0
0
CSIM2
0
1
0
1
1
1
1
1
Note2
×
Note2
1
0
0
1
MSB Internal
clock
SI2
LSB
SI2
Other than above
Note2
Note2
SO2
(CMOS
output)
SCK2 output
SO2
(CMOS
output)
Setting prohibited
(3) Asynchronous Serial Interface Mode
PM70 P70 PM71 P71 PM72 P72 Start Shift P70/SI2
P71/SO2 P72/SCK2
Bit
Clock /RxD Pin /TxD Pin /ASCK Pin
TXE RXE SCK CSIE2 CSIM22 CSCK
Functions Functions Functions
ASIM
1
0
CSIM2
0
0
0
0
×
Note1
×
Note1
1
0
× Note1 ×Note1
1
0
1
0
0
0
0
1
×
×
Note1
×
Note1
1
×
1
×Note1 ×Note1
1
1
×
1
0
0
0
0
1
×
0
1
×
Note1
1
Other than above
×
1
×
Note1
LSB External
clock
P70
TxD
ASCK input
(CMOS
output)
P72
RxD
P71
Internal
clock
External
clock
Internal
clock
P72
TxD
ASCK input
(CMOS
output)
P72
External
clock
Internal
clock
Setting prohibited
Notes 1. Can be used freely as port function.
2. Can be used as P70 (CMOS input/output) when only transmitter is used.
Remark
×
: Don't care
PM×× : Port mode register
P××
446
: Port output latch
ASCK input
CHAPTER 19
SERIAL INTERFACE CHANNEL 2
(3) Asynchronous serial interface status register (ASIS)
This is a register which displays the type of error when a reception error is generated in the asynchronous
serial interface mode.
ASIS is read with a 8-bit memory manipulation instruction.
In 3-wire serial I/O mode, the contents of the ASIS are undefined.
RESET input sets ASIS to 00H.
Figure 19-5. Asynchronous Serial Interface Status Register Format
Symbol
7
6
5
4
3
2
1
0
ASIS
0
0
0
0
0
PE
FE
OVE
Address
FF71H
OVE
After Reset
00H
R/W
R
Overrun Error Flag
0
Overrun error not generated
1
Overrun error generatedNote 1
(When next receive operation is completed before
data from receive buffer register is read)
FE
Framing Error Flag
0
Framing error not generated
1
Framing error generatedNote 2
(When stop bit is not detected)
PE
Parity Error Flag
0
Parity error not generated
1
Parity error generated (When transmit data parity
does not match)
Notes 1. The receive buffer register (RXB) must be read when an overrun error is generated. Overrun errors
will continue to be generated until RXB is read.
2. Even if the stop bit length has been set as 2 bits by bit 2 (SL) of the asynchronous serial interface
mode register (ASIM), only single stop bit detection is performed during reception.
447
CHAPTER 19
SERIAL INTERFACE CHANNEL 2
(4) Baud rate generator control register (BRGC)
This register sets the serial clock for serial interface channel 2.
BRGC is set with an 8-bit memory manipulation instruction.
RESET input sets BRGC to 00H.
Figure 19-6. Baud Rate Generator Control Register Format (1/2)
Symbol
BRGC
7
6
5
4
3
2
1
0
TPS3 TPS2 TPS1 TPS0 MDL3 MDL2 MDL1 MDL0
Address
After Reset
FF73H
00H
R/W
R/W
k
MDL3 MDL2 MDL1 MDL0 Baud Rate Generator Input Clock Selection
0
0
0
0
fSCK/16
0
0
0
0
1
fSCK/17
1
0
0
1
0
fSCK/18
2
0
0
1
1
fSCK/19
3
0
1
0
0
fSCK/20
4
0
1
0
1
fSCK/21
5
0
1
1
0
fSCK/22
6
0
1
1
1
fSCK/23
7
1
0
0
0
fSCK/24
8
1
0
0
1
fSCK/25
9
1
0
1
0
fSCK/26
10
1
0
1
1
fSCK/27
11
1
1
0
0
fSCK/28
12
1
1
0
1
fSCK/29
13
1
1
1
0
fSCK/30
14
1
1
1
1
fSCKNote
—
Note
Can only be used in 3-wire serial I/O mode.
Remarks 1. fSCK
2. k
448
: 5-bit counter source clock
: Value set in MDL0 to MDL3 (0 ≤ k ≤ 14)
CHAPTER 19
SERIAL INTERFACE CHANNEL 2
Figure 19-6. Baud Rate Generator Control Register Format (2/2)
5-Bit Counter Source Clock Selection
TPS3 TPS2 TPS1 TPS0
n
MCS = 1
MCS = 0
0
0
0
0
fXX/210
fXX/210
(4.9 kHz)
fX/211
(2.4 kHz)
11
0
1
0
1
fXX
fX
(5.0 MHz)
fX/2
(2.5 MHz)
1
0
1
1
0
fXX/2
fX/2
(2.5 MHz)
fX/22
(1.25 MHz)
2
fX/22
(1.25 MHz)
fX/23
(625 kHz)
3
(625 kHz)
fX/24
(313 kHz)
4
(156 kHz)
5
0
1
1
1
fXX/22
1
0
0
0
fXX/23
fX/23
fX/24
(313 kHz)
fX/25
(156 kHz)
fX/26
(78.1 kHz)
6
(39.1 kHz)
7
1
0
0
1
fXX/24
1
0
1
0
fXX/25
fX/25
fX/26
(78.1 kHz)
fX/27
(39.1 kHz)
fX/28
(19.5 kHz)
8
(9.8 kHz)
9
(4.9 kHz)
10
1
0
1
1
fXX/26
1
1
0
0
fXX/27
fX/27
fX/28
(19.5 kHz)
fX/29
fX/29
(9.8 kHz)
fX/210
1
1
0
1
fXX/28
1
1
1
0
fXX/29
Other than above
Setting prohibited
Caution When data is written to BRGC during a communication operation, baud rate generator output
is disrupted and communication cannot be performed normally. Therefore, data must not
be written to BRGC during a communication operation.
Remarks 1. fX
2. fXX
:
Main system clock oscillation frequency
:
Main system clock frequency (fX or fX/2)
3. MCS :
Oscillation mode selection register (OSMS) bit 0
4. n
Value set in TPS0 to TPS3 (1 ≤ n ≤ 11)
:
5. Figures in parentheses apply to operation with fX = 5.0 MHz
449
CHAPTER 19
SERIAL INTERFACE CHANNEL 2
The baud rate transmit/receive clock generated is either a signal scaled from the main system clock, or a signal
scaled from the clock input from the ASCK pin.
(a) Generation of baud rate transmit/receive clock by means of main system clock
The transmit/receive clocks generated by scaling the main system clock. The baud rate generated from
the main system clock is found from the following expression.
fXX
[Baud rate] =
where,
2n × (k+16)
[Hz]
fX
: Main system clock oscillation frequency
fXX
: Main system clock frequency (fx or fx/2)
n
: Value set in TPS0 to TPS3 (1 ≤ n ≤ 11)
k
: Value set in MDL0 to MDL3 (0 ≤ k ≤ 14)
Table 19-3. Relation between Main System Clock and Baud Rate
fx = 5.0 MHz
Baud
Rate
(bps)
MCS = 1
fx = 4.19 MHz
MCS = 0
MCS = 1
BRGC Set Value Error (%) BRGC Set Value Error (%) BRGC Set Value
75
–
MCS = 0
Error (%) BRGC Set Value Error (%)
00H
1.73
0BH
1.14
EBH
1.14
110
06H
0.88
E6H
0.88
03H
–2.01
E3H
–2.01
150
00H
1.73
E0H
1.73
EBH
1.14
DBH
1.14
300
E0H
1.73
D0H
1.73
DBH
1.14
CBH
1.14
600
D0H
1.73
C0H
1.73
CBH
1.14
BBH
1.14
1200
C0H
1.73
B0H
1.73
BBH
1.14
ABH
1.14
2400
B0H
1.73
A0H
1.73
ABH
1.14
9BH
1.14
4800
A0H
1.73
90H
1.73
9BH
1.14
8BH
1.14
9600
90H
1.73
80H
1.73
8BH
1.14
7BH
1.14
19200
80H
1.73
70H
1.73
7BH
1.14
6BH
1.14
31250
74H
0
64H
0
71H
–1.31
61H
–1.31
38400
70H
1.73
60H
1.73
6BH
1.14
5BH
1.14
76800
60H
1.73
50H
1.73
5BH
1.14
—
—
Remark
450
MCS: Oscillation mode selection register bit 0
CHAPTER 19
SERIAL INTERFACE CHANNEL 2
(b) Generation of baud rate transmit/receive clock by means of external clock from ASCK pin
The transmit/receive clock is generated by scaling the clock input from the ASCK pin. The baud rate
generated from the clock input from the ASCK pin is obtained with the following expression.
fASCK
[Baud rate] =
2 × (k+16)
[Hz]
fASCK
:
Frequency of clock input to ASCK pin
k
:
Value set in MDL0 to MDL3 (0 ≤ k ≤ 14)
Table 19-4. Relation between ASCK Pin Input Frequency and Baud Rate (When BRGC is set to 00H)
Baud Rate (bps)
ASCK Pin Input Frequency
75
2.4 kHz
110
3.52 kHz
150
4.8 kHz
300
9.6 kHz
600
19.2 kHz
1200
38.4 kHz
2400
76.8 kHz
4800
153.6 kHz
9600
307.2 kHz
19200
614.4 kHz
31250
1000.0 kHz
38400
1228.8 kHz
451
CHAPTER 19
SERIAL INTERFACE CHANNEL 2
19.4 Serial Interface Channel 2 Operation
Serial interface channel 2 has the following three modes.
• Operation stop mode
• Asynchronous serial interface (UART) mode
• 3-wire serial I/O mode
19.4.1 Operation stop mode
In the operation stop mode, serial transfer is not performed, and therefore power consumption can be reduced.
In the operation stop mode, the P70/SI2/RxD, P71/SO2/TxD and P72/SCK2/ASCK pins can be used as normal
input/output ports.
(1) Register setting
Operation stop mode settings are performed using serial operating mode register 2 (CSIM2) and the
asynchronous serial interface mode register (ASIM).
(a) Serial operating mode register 2 (CSIM2)
CSIM2 is set with a 1-bit or 8-bit memory manipulation instruction.
RESET input sets CSIM2 to 00H.
Symbol
<7>
CSIM2 CSIE2
6
0
5
0
4
0
3
0
2
1
CSIM
CSCK
22
0
Address
0
FF72H
After Reset
00H
R/W
R/W
CSIE2 Operation Control in 3-wire Serial I/O Mode
0
Operation stopped
1
Operation enabled
Caution Ensure that bits 0 and 3 to 6 are set to 0.
452
CHAPTER 19
SERIAL INTERFACE CHANNEL 2
(b) Asynchronous serial interface mode register (ASIM)
ASIM is set with a 1-bit or 8-bit memory manipulation instruction.
RESET input sets ASIM to 00H.
Symbol
<7>
<6>
5
4
3
2
ASIM
TXE
RXE
PS1
PS0
CL
SL
1
0
ISRM SCK
Address
FF70H
After Reset
00H
R/W
R/W
RXE
Receive Operation Control
0
Receive operation stopped
1
Receive operation enabled
TXE
Transmit Operation Control
0
Transmit operation stopped
1
Transmit operation enabled
453
CHAPTER 19
SERIAL INTERFACE CHANNEL 2
19.4.2 Asynchronous serial interface (UART) mode
In this mode, one byte of data is transmitted/received following the start bit, and full-duplex operation is possible.
A dedicated UART baud rate generator is incorporated, allowing communication over a wide range of baud rates.
In addition, the baud rate can be defined also by scaling the input clock to the ASCK pin.
The MIDI standard baud rate (31.25 kbps) can also be used by employing the dedicated UART baud rate generator.
(1) Register setting
UART mode settings are performed using serial operating mode register 2 (CSIM2), the asynchronous serial
interface mode register (ASIM), the asynchronous serial interface status register (ASIS), and the baud rate
generator control register (BRGC).
(a) Serial operating mode register 2 (CSIM2)
CSIM2 is set with a 1-bit or 8-bit memory manipulation instruction.
RESET input sets CSIM2 to 00H.
When the UART mode is selected, 00H should be set in CSIM2.
Symbol
<7>
CSIM2 CSIE2
6
0
5
0
4
0
3
0
2
1
CSIM CSCK
22
0
Address
0
FF72H
CSCK
After Reset
00H
R/W
R/W
Selection of Serial Operating Mode
0
UART mode
1
3-wire serial I/O mode
CSIM22 First Bit Specification
0
MSB
1
LSB
CSIE2 Operation Control in 3-wire Serial I/O Mode
0
Operation stopped
1
Operation enabled
Caution Ensure that bits 0 and 3 to 6 are set to 0.
454
CHAPTER 19
SERIAL INTERFACE CHANNEL 2
(b) Asynchronous serial interface mode register (ASIM)
ASIM is set with a 1-bit or 8-bit memory manipulation instruction.
RESET input sets ASIM to 00H.
Symbol
<7>
<6>
5
4
3
2
ASIM
TXE
RXE
PS1
PS0
CL
SL
1
0
ISRM SCK
Address
FF70H
SCK
00H
R/W
R/W
Clock Selection in Asynchronous Serial Interface
Mode
0
Input clock from off-chip to ASCK pin
1
Dedicated baud rate generator outputNote
ISRM
Control of Reception Completion Interrupt Request
in Case of Error Generation
0
Reception completion interrupt request generated
in case of error generation
1
Reception completion interrupt request not
generated in case of error generation
SL
Transmit Data Stop Bit Length Specification
0
1 bit
1
2 bits
CL
Note
After Reset
Character Length Specification
0
7 bits
1
8 bits
PS1
PS0
0
0
No Parity
0
1
0 parity always added in transmission
No parity test in reception (parity error not
generated)
1
0
Odd parity
1
1
Even parity
Parity Bit Specification
RXE
Receive Operation Control
0
Receive operation stopped
1
Receive operation enabled
TXE
Transmit Operation Control
0
Transmit operation stopped
1
Transmit operation enabled
When SCK is set to 1 and the baud rate generator output is selected, the ASCK pin can be used
as an input/output port.
Caution The serial transmit/receive operation must be stopped before changing the operating
mode.
455
CHAPTER 19
SERIAL INTERFACE CHANNEL 2
(c) Asynchronous serial interface status register (ASIS)
ASIS is set with a 1-bit or 8-bit memory manipulation instruction.
RESET input sets ASIS to 00H.
Symbol
7
6
5
4
3
2
1
0
ASIS
0
0
0
0
0
PE
FE
OVE
Address
FF71H
OVE
After Reset
00H
R/W
R
Overrun Error Flag
0
Overrun error not generated
1
Overrun error generatedNote 1
(When next receive operation is completed before
data from receive buffer register is read)
FE
Framing Error Flag
0
Framing error not generated
1
Framing error generatedNote 2
(When stop bit is not detected)
PE
Parity Error Flag
0
Parity error not generated
1
Parity error generated (When transmit data parity
does not match)
Notes 1. The receive buffer register (RXB) must be read when an overrun error is generated. Overrun
errors will continue to be generated until RXB is read.
2. Even if the stop bit length has been set as 2 bits by bit 2 (SL) of the asynchronous serial
interface mode register (ASIM), only single stop bit detection is performed during reception.
456
CHAPTER 19
SERIAL INTERFACE CHANNEL 2
(d) Baud rate generator control register (BRGC)
BRGC is set with an 8-bit memory manipulation instruction.
RESET input sets BRGC to 00H.
Symbol
BRGC
7
6
5
4
3
2
1
0
TPS3 TPS2 TPS1 TPS0 MDL3 MDL2 MDL1 MDL0
Address
After Reset
FF73H
00H
R/W
R/W
k
MDL3 MDL2 MDL1 MDL0 Baud Rate Generator Input Clock Selection
0
0
0
0
fSCK/16
0
0
0
0
1
fSCK/17
1
0
0
1
0
fSCK/18
2
0
0
1
1
fSCK/19
3
0
1
0
0
fSCK/20
4
0
1
0
1
fSCK/21
5
0
1
1
0
fSCK/22
6
0
1
1
1
fSCK/23
7
1
0
0
0
fSCK/24
8
1
0
0
1
fSCK/25
9
1
0
1
0
fSCK/26
10
1
0
1
1
fSCK/27
11
1
1
0
0
fSCK/28
12
1
1
0
1
fSCK/29
13
1
1
1
0
fSCK/30
14
(continued)
Remark
fSCK : 5-bit counter source clock
k
: Value set in MDL0 to MDL3 (0 ≤ k ≤ 14)
457
CHAPTER 19
SERIAL INTERFACE CHANNEL 2
5-Bit Counter Source Clock Selection
TPS3 TPS2 TPS1 TPS0
n
MCS = 1
MCS = 0
0
0
0
0
fXX/210
fX/210
(4.9 kHz)
fX/211
(2.4 kHz)
11
0
1
0
1
fXX
fX
(5.0 MHz)
fX/2
(2.5 MHz)
1
0
1
1
0
fXX/2
fX/2
(2.5 MHz)
fX/22
(1.25 MHz)
2
0
1
1
1
fXX/22
fX/22
(1.25 MHz)
fX/23
(625 kHz)
3
1
0
0
0
fXX/23
fX/23
(625 kHz)
fX/24
(313 kHz)
4
1
0
0
1
fXX/24
fX/24
(313 kHz)
fX/25
(156 kHz)
5
1
0
1
0
fXX/25
fX/25
(156 kHz)
fX/26
(78.1 kHz)
6
1
0
1
1
fXX/26
fX/26
(78.1 kHz)
fX/27
(39.1 kHz)
7
1
1
0
0
fXX/27
fX/27
(39.1 kHz)
fX/28
(19.5 kHz)
8
1
1
0
1
fXX/28
fX/28
(19.5 kHz)
fX/29
(9.8 kHz)
9
1
1
1
0
fXX/29
fX/29
(9.8 kHz)
fX/210
(4.9 kHz)
10
Other than above
Setting prohibited
Caution When a data is written to BRGC during a communication operation, baud rate generator
output is disrupted and communication cannot be performed normally. Therefore, data
must not be written to BRGC during a communication operation.
Remarks 1. fX
2. fXX
: Main system clock oscillation frequency
: Main system clock frequency (fX or fX/2)
3. MCS : Oscillation mode selection register (OSMS) bit 0
4. n
: Value set in TPS0 to TPS3 (1 ≤ n ≤ 11)
5. Figures in parentheses apply to operation with fX = 5.0 MHz.
458
CHAPTER 19
SERIAL INTERFACE CHANNEL 2
The baud rate transmit/receive clock generated is either a signal scaled from the main system clock, or
a signal scaled from the clock input from the ASCK pin.
(i)
Generation of baud rate transmit/receive clock by means of main system clock
The transmit/receive clock is generated by scaling the main system clock. The baud rate generated
from the main system clock is obtained with the following expression.
fXX
[Baud rate] =
where,
2n
× (k+16)
[Hz]
fX
: Main system clock oscillation frequency
fXX
: Main system clock frequency (fx or fx/2)
n
: Value set in TPS0 to TPS3 (1 ≤ n ≤ 11)
k
: Value set in MDL0 to MDL3 (0 ≤ k ≤ 14)
Table 19-5. Relation between Main System Clock and Baud Rate
fx = 5.0 MHz
Baud
Rate
(bps)
MCS = 1
fx = 4.19 MHz
MCS = 0
MCS = 1
BRGC Set Value Error (%) BRGC Set Value Error (%) BRGC Set Value
75
—
MCS = 0
Error (%) BRGC Set Value Error (%)
00H
1.73
0BH
1.14
EBH
1.14
110
06H
0.88
E6H
0.88
03H
–2.01
E3H
–2.01
150
00H
1.73
E0H
1.73
EBH
1.14
DBH
1.14
300
E0H
1.73
D0H
1.73
DBH
1.14
CBH
1.14
600
D0H
1.73
C0H
1.73
CBH
1.14
BBH
1.14
1200
C0H
1.73
B0H
1.73
BBH
1.14
ABH
1.14
2400
B0H
1.73
A0H
1.73
ABH
1.14
9BH
1.14
4800
A0H
1.73
90H
1.73
9BH
1.14
8BH
1.14
9600
90H
1.73
80H
1.73
8BH
1.14
7BH
1.14
19200
80H
1.73
70H
1.73
7BH
1.14
6BH
1.14
31250
74H
0
64H
0
71H
–1.31
61H
–1.31
38400
70H
1.73
60H
1.73
6BH
1.14
5BH
1.14
76800
60H
1.73
50H
1.73
5BH
1.14
—
—
Remark
MCS: Oscillation mode selection register bit 0
459
CHAPTER 19
SERIAL INTERFACE CHANNEL 2
(ii) Generation of baud rate transmit/receive clock by means of external clock from ASCK pin
The transmit/receive clock is generated by scaling the clock input from the ASCK pin. The baud rate
generated from the clock input from the ASCK pin is obtained with the following expression.
fASCK
2 × (k+16)
[Baud rate] =
where,
[Hz]
fASCK :
Frequency of clock input to ASCK pin
k
Value set in MDL0 to MDL3 (0 ≤ k ≤ 14)
:
Table 19-6. Relation between ASCK Pin Input Frequency and Baud Rate (When BRGC is set to 00H)
460
Baud Rate (bps)
ASCK Pin Input Frequency
75
2.4 kHz
110
3.52 kHz
150
4.8 kHz
300
9.6 kHz
600
19.2 kHz
1200
38.4 kHz
2400
76.8 kHz
4800
153.6 kHz
9600
307.2 kHz
19200
614.4 kHz
31250
1000.0 kHz
38400
1228.8 kHz
CHAPTER 19
SERIAL INTERFACE CHANNEL 2
(2) Communication operation
(a) Data format
The transmit/receive data format is as shown in Figure 19-7.
Figure 19-7. Asynchronous Serial Interface Transmit/Receive Data Format
One Data Frame
Start
Bit
D0
D1
D2
D3
D4
D5
D6
D7
Parity
Bit
Stop Bit
Character Bits
One data frame consists of the following bits.
• Start bits ..................
1 bit
• Character bits .........
7 bits/8 bits
• Parity bits ................
Even parity/odd parity/0 parity/no parity
• Stop bit(s) ...............
1 bit/2 bits
The character bit length, parity, and stop bit length for each data frame are specified with asynchronous
serial interfaece mode register (ASIM).
When 7 bits are selected as the number of character bits, only the lower 7 bits (bits 0 to 6) are valid; in
transmission the most significant bit (bit 7) is ignored, and in reception the most significant bit (bit 7) is
always "0".
The serial transfer rate is set with ASIM and the baud rate generator control register (BRGC).
If a serial data receive error is generated, the receive error contents can be determined by reading the
status of the asynchronous serial interface status register (ASIS).
461
CHAPTER 19
SERIAL INTERFACE CHANNEL 2
(b) Parity types and operation
The parity bit is used to detect a bit error in the communication data. Normally, the same kind of parity
bit is used on the transmitting side and the receiving side. With even parity and odd parity, a one-bit (odd
number) error can be detected. With 0 parity and no parity, an error cannot be detected.
(i)
Even parity
• Transmission
The number of bits with a value of “1”, including the parity bit, in the transmit data is controlled to
be even.
The value of the parity bit is as follows:
Number of bits with a value of “1” in transmit data is odd : 1
Number of bits with a value of “1” in transmit data is even : 0
• Reception
The number of bits with a value of “1”, including the parity bit, in the receive data is counted. If
it is odd, a parity error occurs.
(ii) Odd parity
• Transmission
Conversely to the situation with even parity, the number of bits with a value of “1”, including the
parity bit, in the transmit data is controlled to be odd. The value of the parity bit is as follows:
Number of bits with a value of “1” in transmit data is odd : 0
Number of bits with a value of “1” in transmit data is even : 1
• Reception
The number of bits with a value of “1”, including the parity bit, in the receive data is counted. If
it is even, a parity error occurs.
(iii) 0 Parity
When transmitting, the parity bit is set to “0” irrespective of the transmit data.
At reception, a parity bit check is not performed. Therefore, a parity error is not generated, irrespective
of whether the parity bit is set to “0” or “1”.
(iv) No parity
A parity bit is not added to the transmit data. At reception, data is received assuming that there is
no parity bit. Since there is no parity bit, a parity error is not generated.
462
CHAPTER 19
SERIAL INTERFACE CHANNEL 2
(c) Transmission
A transmit operation is started by writing transmit data to the transmit shift register (TXS). The start bit,
parity bit and stop bit(s) are added automatically.
When the transmit operation starts, the data in the transmit shift register (TXS) is shifted out, and when
the transmit shift register (TXS) is empty, a transmission completion interrupt request (INTST) is
generated.
Figure 19-8. Asynchronous Serial Interface Transmission Completion
Interrupt Request Generation Timing
(a) Stop bit length: 1
STOP
TxD (Output)
D0
D1
D2
D6
D7
Parity
D7
Parity
START
INTST
(b) Stop bit length: 2
TxD (Output)
D0
D1
D2
D6
STOP
START
INTST
Caution Do not rewrite the asynchronous serial interface mode register (ASIM) during a
transmit operation. If rewriting of the ASIM register is performed during transmission,
subsequent transmit operations may not be possible (the normal state is restored by
RESET input).
Whether transmission is in progress or not can be determined by software using a
transmission completion interrupt (INTST) or the interrupt request flag (STIF) set by
the INTST.
463
CHAPTER 19
SERIAL INTERFACE CHANNEL 2
(d) Reception
When the bit 6 (RXE) of the asynchronous serial interface mode register (ASIM) is set (1), a receive
operation is enabled and sampling of the RxD pin input is performed.
RxD pin input sampling is performed using the serial clock specified by ASIM.
When the RxD pin input becomes low, the 5-bit counter of the baud rate generator (refer to Figure 192) starts counting, and at the time when the half time determined by specified baud rate has passed, the
data sampling start timing signal is output. If the RxD pin input sampled again as a result of this start
timing signal is low, it is identified as a start bit, the 5-bit counter is initialized and starts counting, and
data sampling is performed. When character data, a parity bit and one stop bit are detected after the
start bit, reception of one frame of data ends.
When one frame of data has been received, the receive data in the shift register is transferred to the receive
buffer register (RXB), and a reception completion interrupt request (INTSR) is generated.
Even if an error is generated, the receive data in which the error was generated is transferred to RXB.
If bit 1 (ISRM) of ASIM is cleared (0) when the error is generated, INTSR will be generated. If ISRM is
set (1), INTSR will not be generated.
If the RXE bit is reset (0) during the receive operation, the receive operation is stopped immediately. In
this case, the contents of RXB and ASIS are not changed, and INTSR and INTSER are not generated.
Figure 19-9. Asynchronous Serial Interface Reception Completion
Interrupt Request Generation Timing
STOP
RxD (Input)
D0
D1
D2
D6
D7
Parity
START
INTSR
Caution The receive buffer register (RXB) must be read even if a receive error is generated. If
RXB is not read, an overrun error will be generated when the next data is received, and
the receive error state will continue indefinitely.
464
CHAPTER 19
SERIAL INTERFACE CHANNEL 2
(e) Receive errors
Three kinds of errors can occur during a receive operation: a parity error, framing error, or overrun error.
When the data reception result error flag is set in the asynchronous serial interface status register (ASIS),
a receive error interrupt request (INTSER) is generated. INTSER is generated before receive completion
interrupt request (INTSR). Receive error causes are shown in Table 19-7.
What type of error was generated can be detected by reading the contents of ASIS in the reception error
interrupt servicing (INTSER). (see Figures 19-9 and 19-10).
The contents of ASIS are reset (0) by reading the receive buffer register (RXB) or receiving the next data
(if there is an error in the next data, the corresponding error flag is set).
Table 19-7. Receive Error Causes
Receive Errors
Cause
Parity error
Transmission-time parity specification and reception data parity do not match
Framing error
Stop bit not detected
Overrun error
Reception of next data is completed before data is read from receive register buffer
Figure 19-10. Receive Error Timing
STOP
RxD (Input)
D0
D1
D2
D6
D7
Parity
START
INTSRNote
INTSER (when framing/
overrun error occurs)
INTSER (when parity
error occurs)
Note
If a reception error is generated while bit 1 (ISRM) of asynchronous serial interface mode register
(ASIM) is set (1), INTSR will not be generated.
Cautions 1. The contents of the ASIS register are reset (0) by reading the receive buffer register
(RXB) or receiving the next data. To ascertain the error contents, ASIS must be read
before reading RXB.
2. The receive buffer register (RXB) must be read even if a receive error is generated.
If RXB is not read, an overrun error will be generated when the next data is received,
and the receive error state will continue indefinitely.
465
CHAPTER 19
SERIAL INTERFACE CHANNEL 2
(3) UART mode cautions
(a) When bit 7 (TXE) of the asynchronous serial interface mode register (ASIM) is cleared and the
transmission operation is stopped during transmission, be sure to set the transmit shift register (TXS) to
FFH, then set the TXE to 1 before executing the next transmission.
(b) When bit 6 (RXE) of ASIM is cleared and the receive operation is stopped during reception, the state of
the receive buffer register (RXB) and whether the receive completion interrupt request (INTSR) is
generated depend on the timing of clearing. Figure 19-11 shows the timing.
Figure 19-11.
The State of Receive Buffer Register (RXB) and Whether
the Receive Completion Interrupt Request (INTSR) is Generated
RxD Pin
Parity
RXB
INTSR
<1>
<3>
<2>
When RXE is set to 0 at a time indicated by <1>, RXB holds the previous data and does not generate INTSR.
When RXE is set to 0 at a time indicated by <2>, RXB renews the data and does not generate INTSR.
When RXE is set to 0 at a time indicated by <3>, RXB renews the data and generates INTSR.
466
CHAPTER 19
SERIAL INTERFACE CHANNEL 2
19.4.3 3-wire serial I/O mode
The 3-wire serial I/O mode is useful for connection of peripheral I/Os and display controllers, etc., which incorporate
a conventional synchronous clocked serial interface, such as the 75X/XL series, 78K series, 17K series, etc.
Communication is performed using three lines: the serial clock (SCK2), serial output (SO2), and serial input (SI2).
(1) Register setting
3-wire serial I/O mode settings are performed using serial operating mode register 2 (CSIM2), the asynchronous
serial interface mode register (ASIM), and the baud rate generator control register (BRGC).
(a) Serial operating mode register 2 (CSIM2)
CSIM2 is set with a 1-bit or 8-bit memory manipulation instruction.
RESET input sets CSIM2 to 00H.
Symbol
<7>
CSIM2 CSIE2
6
0
5
0
4
0
3
0
2
1
CSIM CSCK
22
0
Address
0
FF72H
CSCK
After Reset
00H
R/W
R/W
Selection of Serial Operation Mode
0
UART mode
1
3-wire serial I/O mode
CSIM22 First Bit Specification
0
MSB
1
LSB
CSIE2 Operation Control in 3-wire Serial I/O Mode
0
Operation stopped
1
Operation enabled
Caution Ensure that bits 0 and 3 to 6 are set to 0.
467
CHAPTER 19
SERIAL INTERFACE CHANNEL 2
(b) Asynchronous serial interface mode register (ASIM)
ASIM is set with a 1-bit or 8-bit memory manipulation instruction.
RESET input sets ASIM to 00H.
When the 3-wire serial I/O mode is selected, 00H should be set in ASIM.
Symbol
<7>
<6>
5
4
3
2
ASIM
TXE
RXE
PS1
PS0
CL
SL
1
0
ISRM SCK
Address
FF70H
SCK
00H
R/W
R/W
Clock Selection in Asynchronous Serial Interface
Mode
0
Input clock from off-chip to ASCK pin
1
Dedicated baud rate generator output
ISRM
Control of Reception Completion Interrupt Request
in Case of Error Generation
0
Reception completion interrupt request generated
in case of error generation
1
Reception completion interrupt request not
generated in case of error generation
SL
Transmit Data Stop Bit Length Specification
0
1 bit
1
2 bits
CL
468
After Reset
Character Length Specification
0
7 bits
1
8 bits
PS1
PS0
0
0
No Parity
0
1
0 parity always added in transmission
No parity test in reception (parity error not
generated)
1
0
Odd parity
1
1
Even parity
Parity Bit Specification
RXE
Receive Operation Control
0
Receive operation stopped
1
Receive operation enabled
TXE
Transmit Operation Control
0
Transmit operation stopped
1
Transmit operation enabled
CHAPTER 19
SERIAL INTERFACE CHANNEL 2
(c) Baud rate generator control register (BRGC)
BRGC is set with an 8-bit memory manipulation instruction.
RESET input sets BRGC to 00H.
Symbol
BRGC
7
6
5
4
3
2
1
0
TPS3 TPS2 TPS1 TPS0 MDL3 MDL2 MDL1 MDL0
Address
After Reset
FF73H
00H
R/W
R/W
k
MDL3 MDL2 MDL1 MDL0 Baud Rate Generator Input Clock Selection
0
0
0
0
fSCK/16
0
0
0
0
1
fSCK/17
1
0
0
1
0
fSCK/18
2
0
0
1
1
fSCK/19
3
0
1
0
0
fSCK/20
4
0
1
0
1
fSCK/21
5
0
1
1
0
fSCK/22
6
0
1
1
1
fSCK/23
7
1
0
0
0
fSCK/24
8
1
0
0
1
fSCK/25
9
1
0
1
0
fSCK/26
10
1
0
1
1
fSCK/27
11
1
1
0
0
fSCK/28
12
1
1
0
1
fSCK/29
13
1
1
1
0
fSCK/30
14
1
1
1
1
fSCK
—
Remark
fSCK : 5-bit counter source clock
k
: Value set in MDL0 to MDL3 (0 ≤ k ≤ 14)
469
CHAPTER 19
SERIAL INTERFACE CHANNEL 2
5-Bit Counter Source Clock Selection
TPS3 TPS2 TPS1 TPS0
n
MCS = 1
MCS = 0
0
0
0
0
fXX/210
fX/210
(4.9 kHz)
fX/211
(2.4 kHz)
11
0
1
0
1
fXX
fX
(5.0 MHz)
fX/2
(2.5 MHz)
1
0
1
1
0
fXX/2
fX/2
(2.5 MHz)
fX/22
(1.25 MHz)
2
fX/22
(1.25 MHz)
fX/23
(625 kHz)
3
(625 kHz)
fX/24
(313 kHz)
4
(156 kHz)
5
0
1
1
1
fXX/22
1
0
0
0
fXX/23
fX/23
fX/24
(313 kHz)
fX/25
(156 kHz)
fX/26
(78.1 kHz)
6
(39.1 kHz)
7
1
0
0
1
fXX/24
1
0
1
0
fXX/25
fX/25
fX/26
(78.1 kHz)
fX/27
(39.1 kHz)
fX/28
(19.5 kHz)
8
(9.8 kHz)
9
(4.9 kHz)
10
1
0
1
1
fXX/26
1
1
0
0
fXX/27
fX/27
fX/28
(19.5 kHz)
fX/29
fX/29
(9.8 kHz)
fX/210
1
1
0
1
fXX/28
1
1
1
0
fXX/29
Other than above
Setting prohibited
Caution When a Data is written to BRGC during a communication operation, baud rate generator
output is disrupted and communication cannot be performed normally. Therefore, data
must not be written to BRGC during a communication operation.
Remarks 1. fX
2. fXX
: Main system clock oscillation frequency
: Main system clock frequency (fX or fX/2)
3. MCS : Oscillation mode selection register (OSMS) bit 0
4. n
: Value set in TPS0 to TPS3 (1 ≤ n ≤ 11)
5. Figures in parentheses apply to operation with fX = 5.0 MHz.
470
CHAPTER 19
SERIAL INTERFACE CHANNEL 2
When the 3-wire serial I/O mode is used, set BRGC as described below.
(i) When the baud rate generator is not used:
Select a serial clock frequency with TPS0 to TPS3. Be sure then to set MDL0 to MDL3 to 1,1,1,1.
The serial clock frequency becomes 1/2 of the source clock frequency for the 5-bit counter.
(ii) When the baud rate generator is used:
Select a serial clock frequency with TPS0 to TPS3. Be sure then to set MDL0 to MDL3 to 1,1,1,1.
The serial clock frequency is calculated by the following formula:
fXX
Serial clock frequency=
[Hz]
n
2 x (k + 16)
Remarks 1. fX
: Main system clock oscillation frequency
2. fXX
: Main system clock frequency (fX or fX/2)
3. n
: Value set in TPS0 to TPS3 (1 ≤ n ≤ 11)
4. k
: Value set in MDL0 to MDL3 (0 ≤ k ≤ 14)
471
CHAPTER 19
SERIAL INTERFACE CHANNEL 2
(2) Communication operation
In the 3-wire serial I/O mode, data transmission/reception is performed in 8-bit units. Data is transmitted/
received bit by bit in synchronization with the serial clock.
Transmit shift register (TXS/SIO2) and receive shift register (RXS) shift operations are performed in
synchronization with the fall of the serial clock SCK2. Then transmit data is held in the SO2 latch and output
from the SO2 pin. Also, receive data input to the SI2 pin is latched in the receive buffer register (RXB/SIO2)
on the rise of SCK2.
At the end of an 8-bit transfer, the operation of the TXS/SIO2 or RXS stops automatically, and the interrupt
request flag (SRIF) is set.
Figure 19-12. 3-Wire Serial I/O Mode Timing
SCK2
SI2
SO2
1
2
3
4
5
6
7
8
DI7
DI6
DI5
DI4
DI3
DI2
DI1
DI0
DO7
DO6
DO5
DO4
DO3
DO2
DO1
DO0
SRIF
End of Transfer
Transfer Start at the Falling Edge of SCK2
472
CHAPTER 19
SERIAL INTERFACE CHANNEL 2
(3) MSB/LSB switching as the start bit
The 3-wire serial I/O mode enables to select transfer to start from MSB or LSB.
Figure 19-13 shows the configuration of the transmit shift register (TXS/SIO2) and internal bus. As shown
in the figure, MSB/LSB can be read/written in reverse form.
MSB/LSB switching as the start bit can be specified with bit 2 (CSIM22) of the serial operating mode register
2 (CSIM2).
Figure 19-13. Circuit of Switching in Transfer Bit Order
7
6
Internal Bus
1
0
LSB-first
MSB-first
Read/Write Gate
Read/Write Gate
SO2 Latch
SI2
Transmit Shift Register (TXS/SIO2)
D
Q
SO2
SCK2
Start bit switching is realized by switching the bit order for data write to TXS/SIO2. The TXS/SIO2 shift order
remains unchanged.
Thus, switching between MSB-first and LSB-first must be performed before writing data to the TXS/SIO2.
(4) Transfer start
Serial transfer is started by setting transfer data to the transmission shift register (TXS/SIO2) when the
following two conditions are satisfied.
• Serial interface channel 2 operation control bit (CSIE2) = 1
• Internal serial clock is stopped or SCK2 is a high level after 8-bit serial transfer.
Caution If CSIE2 is set to "1" after data write to TXS/SIO2, transfer does not start.
Upon termination of 8-bit transfer, serial transfer automatically stops and the interrupt request flag (SRIF) is
set.
473
CHAPTER 19
SERIAL INTERFACE CHANNEL 2
19.4.4 Limitations when UART mode is used
In the UART mode, the reception completion interrupt request (INTSR) occurs a certain time after the reception
error interrupt request (INTSER) has occurred and then cleared. Consequently, the following phenomenon may occur.
•
Description
If bit 1 (ISRM) of the asynchronous serial interface mode register (ASIM) is set to 1, the reception completion
interrupt request (INTSR) does not occur on occurrence of a reception error. If the receive buffer register (RXB)
is read at certain timing (a in Figure 19-14) during the reception error interrupt (INTSER) processing, the internal
error flag is cleared to 0. As a result, it is judged that no reception error has occurred, and INTSR, which must
not occur, occurs. Figure 19-14 illustrates this operation.
Figure 19-14. Reception Completion Interrupt Request Generation Timing (when ISRM = 1)
fsck
INTSER (when framing/
overrun error occurs)
a
Error flag
(internal flag)
INTSR
Cleared on
reading RXB
Interrupt routine of CPU
Reading RXB
Remark
It is judged that reception error has not
occurred, and INTSR occurs
ISRM : Bit 1 of asynchronous serial interface mode register (ASIM)
fSCK
: Source clock of 5-bit counter of baud rate generator
RXB : Receive buffer register
To avoid this phenomenon, take the following measures:
•
Countermeasures
• In case of framing error or overrun error
Disable the receive buffer register (RXB) from being read for a certain time (T2 in Figure 19-15) after the
reception error interrupt request (INTSER) has occurred.
474
CHAPTER 19
SERIAL INTERFACE CHANNEL 2
• In case of parity error
Disable the receive buffer register (RXB) from being read for a certain time (T1 + T2 in Figure 19-15) after
the reception error interrupt request (INTSER) has occurred.
Figure 19-15. Receive Buffer Register Read Disable Period
RxD (input)
D0
D1
D2
D6
D7
Parity
STOP
START
INTSR
INTSER (on occurrence of
framing/overrun error)
INTSER (on occurrence of
parity error)
T1
T2
T1 : Time of one data of baud rate selected by baud rate generator control register (BRGC) (1/baud rate)
T2 : Time of 2 clocks of source clock (fSCK) of 5-bit counter selected by BRGC
•
Example of preventive measures
Here is an example of the above preventive measures.
[Condition]
fX = 5.0 MHz
Processor clock control register (PCC) = 00H
Oscillation mode select register (OSMS) = 01H
Baud rate generator control register (BRGC) = B0H (2400 bps selected as baud rate)
TCY = 0.4 µs (tCY = 0.2 µs)
T1 =
1
2400
= 416.7 µs
T2 = 12.8 × 2 = 25.6 µs
T1 + T2
tCY
= 2212 (clocks)
475
CHAPTER 19
SERIAL INTERFACE CHANNEL 2
[Example]
UART reception error interrupt
(INTSER) servicing
Main processing
EI
Occurrence of INTSER
7 clocks of CPU clock (MIN.)
(time from interrupt request to servicing)
Instructions
equivalent to
2205 CPU
clocks (MIN.)
are necessary.
MOV A, RXB
RETI
476
CHAPTER 20 REAL-TIME OUTPUT PORT
20.1 Real-Time Output Port Functions
Data set previously in the real-time output buffer register can be transferred to the output latch by hardware
concurrently with timer interrupt requests or external interrupt request generation, then output externally. This is called
the real-time output function. The pins that output data externally are called real-time output ports.
By using a real-time output, a signal which has no jitter can be output. This port is therefore suitable for control
of stepping motors, etc.
Port mode/real-time output port mode can be specified bit-wise.
477
CHAPTER 20
REAL-TIME OUTPUT PORT
20.2 Real-Time Output Port Configuration
The real-time output port consists of the following hardware.
Table 20-1. Real-time Output Port Configuration
Item
Configuration
Register
Real-time output buffer register (RTBL, RTBH)
Control register
Port mode register 12 (PM12)
Real-time output port mode register (RTPM)
Real-time output port control register (RTPC)
Figure 20-1. Real-time Output Port Block Diagram
Internal Bus
Real-time Output Port
Control Register
Port Mode
Register 12
(PM12)
BYTE EXTR
INTP2
INTTM1
INTTM2
Output Trigger
Control Circuit
Real-time Output
Buffer Register
Higher 4 Bits
(RTBH)
Real-time Output
Buffer Register
Lower 4 Bits
(RTBL)
Real-time Output port
Mode Register (RTPM)
Output Latch
P127
478
P120
CHAPTER 20
REAL-TIME OUTPUT PORT
(1) Real-time output buffer register (RTBL, RTBH)
Addresses of RTBL and RTBH are mapped individually in the Special function register (SFR) area as shown
in Figure 20-2.
When specifying 4 bits × 2 channels as the operating mode, data are set individually in RTBL and RTBH.
When specifying 8 bits × 1 channel as the operating mode, data are set to both RTBL and RTBH by writing
8-bit data to either RTBL or RTBH.
Table 20-2 shows operations during manipulation of RTBL and RTBH.
Figure 20-2. Real-time Output Buffer Register Configuration
Higher
4 Bits
FF30H
FF31H
Lower
4 Bits
RTBL
RTBH
Table 20-2. Operation in Real-time Output Buffer Register Manipulation
Operating Mode
In Read Note1
Register to be
In Write Note2
Manipulated
Higher 4 Bits
Lower 4 Bits
Higher 4 Bits
Lower 4 Bits
RTBL
RTBH
RTBL
Invalid
RTBL
RTBH
RTBH
RTBL
RTBH
Invalid
RTBL
RTBH
RTBL
RTBH
RTBL
RTBH
RTBH
RTBL
RTBH
RTBL
4 Bits × 2 Channels
8 Bits × 1 Channel
Notes 1. Only the bits set in the real-time output port mode can be read. When a bit set in the port mode
is read, 0 is read.
2. After setting data in the real-time output port, output data should be set in RTBL and RTBH by the
time a real-time output trigger is generated.
479
CHAPTER 20
REAL-TIME OUTPUT PORT
20.3 Real-Time Output Port Control Registers
The following three registers control the real-time output port.
• Port mode register 12 (PM12)
• Real-time output port mode register (RTPM)
• Real-time output port control register (RTPC)
(1) Port mode register 12 (PM12)
This register sets the input or output mode of port 12 pins (P120 through P127) which are multiplexed with
real-time output pins (RTP0 through RTP7). To use port 12 as a real-time output port, the port pin that performs
real-time output must be set in the output mode (PM12n = 0: n = 0 to 7).
PM12 is set by using a 1-bit or 8-bit memory manipulation instruction.
This register is set to FFH by RESET input.
Figure 20-3. Port Mode Register 12 Format
Symbol
7
6
5
4
3
2
1
0
PM12 PM127 PM126 PM125 PM124 PM123 PM122 PM121 PM120
Address
After Reset
R/W
FF2CH
FFH
R/W
PM12n
Selects I/O mode of P12n pin (n = 0 to 7)
0
Output mode (output buffer ON)
1
Input mode (ourput buffer OFF)
(2) Real-time output port mode register (RTPM)
This register selects the real-time output port mode/port mode bit-wise.
RTPM is set with a 1-bit or 8-bit memory manipulation instruction.
RESET input sets this register to 00H.
Figure 20-4. Real-time Output Port Mode Register Format
Symbol
7
6
5
4
3
2
1
0
RTPM RTPM7 RTPM6 RTPM5 RTPM4 RTPM3 RTPM2 RTPM1 RTPM0
Address
After
Reset
R/W
FF34H
00H
R/W
RTPMn
Real-time Output Port Selection (n = 0 to 7)
0
Port mode
1
Real-time Output Port Mode
Cautions 1. When using these bits as a real-time output port, set the ports to which real-time output
is performed to the output mode (clear the corresponding bit of the port mode register
12 (PM12) to 0).
2. In the port specified as a real-time output port, data cannot be set to the output latch.
Therefore, when setting an initial value, data should be set to the output latch before
setting the real-time output mode.
480
CHAPTER 20
REAL-TIME OUTPUT PORT
(3) Real-time output port control register (RTPC)
This register sets the real-time output port operating mode and output trigger.
Table 20-3 shows the relation between the operating mode of the real-time output port and output trigger.
RTPC is set with a 1-bit or 8-bit memory manipulation instruction.
RESET input sets this register to 00H.
Figure 20-5. Real-time Output Port Control Register Format
Symbol
7
6
5
4
3
2
RTPC
0
0
0
0
0
0
<1>
<0>
Address
After
Reset
R/W
FF36H
00H
R/W
BYTE EXTR
EXTR
Real-time Output Control by INTP2
0
INTP2 not specified as real-time output trigger
1
INTP2 specified as real-time output trigger
BYTE
Real-time Output Port Operating Mode
0
4 Bits × 2 Channels
1
8 Bits × 1 Channel
Table 20-3. Real-time Output Port Operating Mode and Output Trigger
BYTE
0
EXTR
Operating Mode
RTBH → Port Output
RTBL → Port Output
0
4 Bits × 2 Channels
INTTM2
INTTM1
INTTM1
INTP2
1
1
0
1
8 Bits × 1 Channel
INTTM1
INTP2
481
CHAPTER 20
[MEMO]
482
REAL-TIME OUTPUT PORT
CHAPTER 21 INTERRUPT AND TEST FUNCTIONS
21.1 Interrupt Function Types
The following three types of interrupt functions are used.
(1) Non-maskable interrupt
This interrupt is acknowledged unconditionally even in the interrupt disabled status. It does not undergo
interrupt priority control and is given top priority over all other interrupt requests.
It generates a standby release signal.
Non-maskable interrupt includes one interrupt request source from watchdog timer.
(2) Maskable interrupts
These interrupts undergo mask control. Maskable interrupts can be divided into a high interrupt priority group
and a low interrupt priority group by setting the priority specify flag register (PR0L, PR0H, PR1L).
Multiple high priority interrupts can be applied to low priority interrupts. If two or more interrupts with the same
priority are simultaneously generated, each interrupts has a predetermined priority (see Table 21-1).
A standby release signal is generated.
Maskable interrupt includes 7 external interrupt request sources and 13 internal interrupt request sources.
(3) Software interrupt
This is a vectored interrupt that occurs when the BRK instruction is executed. It is acknowledged even in a
disabled state. The software interrupt does not undergo interrupt priority control.
483
CHAPTER 21
INTERRUPT AND TEST FUNCTIONS
21.2 Interrupt Sources and Configuration
Interrupt sources includes total of 22 non-maskbale, maskable, software interrupts (refer to Table 21-1).
Table 21-1. Interrupt Source List (1/2)
Note 1
Interrupt
Type
Default
Priority
Nonmaskable
–
Interrupt Source
Name
INTWDT
Trigger
INTWDT
Vector
Table
Address
Watchdog timer overflow (with
watchdog timer mode 1 selected)
0
Internal/
External
Note 2
Basic
Configuration
Type
(A)
Internal
0004H
Watchdog timer overflow (with
(B)
interval timer mode selected)
Maskable
1
INTP0
0006H
2
INTP1
0008H
3
INTP2
000AH
4
INTP3
5
INTP4
000EH
6
INTP5
0010H
7
INTP6
0012H
8
INTCSI0
Pin input edge detection
External
End of serial interface channel 0
000CH
(C)
(D)
0014H
transfer
9
INTCSI1
End of serial interface channel 1
0016H
transfer
10
INTSER
Serial interface channel 2 UART reception
error generation
INTSR
0018H
Internal
(B)
End of serial interface channel 2
UART reception
11
001AH
INTCSI2
End of serial interface channel 2
3-wire transfer
12
INTST
End of serial interface channel 2
001CH
UART transfer
Notes 1. Default priorities are intended for two or more simultaneously generated maskable interrupt requests.
0 is the highest priority and 20 is the lowest priority.
2. Basic configuration types (A) to (E) correspond to (A) to (E) of Figure 21-1.
484
CHAPTER 21
INTERRUPT AND TEST FUNCTIONS
Table 21-1. Interrupt Source List (2/2)
Note 1
Interrupt
Type
Default
Priority
Maskable
13
Interrupt Source
Name
INTTM3
Trigger
Reference time interval signal from
Internal/
External
Internal
Vector
Table
Address
001EH
Note 2
Basic
Configuration
Type
(B)
watch timer
Generation of 16-bit timer register,
14
INTTM00
0020H
capture/compare register (CR00)
match signal
Generation of 16-bit timer register,
15
INTTM01
0022H
capture/compare register (CR01)
match signal
16
INTTM1
17
INTTM2
Generation of 8-bit timer/event
0024H
counter 1 match signal
Generation of 8 bit timer/event
0026H
counter 2 match signal
Software
18
INTAD
—
BRK
End of A/D converter conversion
BRK instruction execution
0028H
—
003EH
(E)
Notes 1. Default priorities are intended for two or more simultaneously generated maskable interrupt requests.
0 is the highest priority and 18 is the lowest priority.
2. Basic configuration types (A) to (E) correspond to (A) to (E) of Figure 21-1.
485
CHAPTER 21
INTERRUPT AND TEST FUNCTIONS
Figure 21-1. Basic Configuration of Interrupt Function (1/2)
(A) Internal non-maskable interrupt
Internal Bus
Vector Table
Address
Generator
Priority Control
Circuit
Interrupt
Request
Standby
Release Signal
(B) Internal maskable interrupt
Internal Bus
MK
Interrupt
Request
IE
PR
ISP
Priority Control
Circuit
IF
Vector Table
Address
Generator
Standby
Release Signal
(C) External maskable interrupt (INTP0)
Internal Bus
Interrupt
Request
Sampling Clock
Select Register
(SCS)
External Interrupt Mode
Register (INTM0)
Sampling
Clock
Edge
Detector
MK
IF
IE
PR
Priority Control
Circuit
ISP
Vector Table
Address
Generator
Standby
Release Signal
486
CHAPTER 21
INTERRUPT AND TEST FUNCTIONS
Figure 21-1. Basic Configuration of Interrupt Function (2/2)
(D) External maskable interrupt (except INTP0)
Internal Bus
External Interrupt
Mode Register
(INTM0, INTM1)
Interrupt
Request
Edge
Detector
MK
IE
PR
ISP
Priority Control
Circuit
IF
Vector Table
Address
Generator
Standby
Release Signal
(E) Software interrupt
Internal Bus
Interrupt
Request
Remark
Priority Control
Circuit
IF
:
Interrupt request flag
IE
:
Interrupt enable flag
ISP :
Inservice priority flag
MK :
Interrupt mask flag
PR :
Priority specify flag
Vector Table
Address
Generator
487
CHAPTER 21
INTERRUPT AND TEST FUNCTIONS
21.3 Interrupt Function Control Registers
The following six types of registers are used to control the interrupt functions.
• Interrupt request flag register (IF0L, IF0H, IF1L)
• Interrupt mask flag register (MK0L, MK0H, MK1L)
• Priority specify flag register (PR0L, PR0H, PR1L)
• External interrupt mode register (INTM0, INTM1)
• Sampling clock select register (SCS)
• Program status word (PSW)
Table 21-2 gives a listing of interrupt request flags, interrupt mask flags, and priority specify flags corresponding
to interrupt request sources.
Table 21-2. Various Flags Corresponding to Interrupt Request Sources
Interrupt Source
Interrupt Request Flag
Interrupt Mask Flag
Register
Register
TMIF4
INTP0
PIF0
PMK0
PPR0
INTP1
PIF1
PMK1
PPR1
INTP2
PIF2
PMK2
PPR2
INTP3
PIF3
PMK3
PPR3
INTP4
PIF4
PMK4
PPR4
INTP5
PIF5
PMK5
PPR5
INTP6
PIF6
PMK6
PPR6
INTCSI0
CSIIF0
INTCSI1
CSIIF1
CSIMK1
CSIPR1
INTSER
SERIF
SERMK
SERPR
INTSR/INTCSI2
SRIF
SRMK
SRPR
INTST
STIF
STMK
STPR
INTTM3
TMIF3
TMMK3
TMPR3
INTTM00
TMIF00
TMMK00
TMPR00
INTTM01
TMIF01
TMMK01
TMPR01
INTTM1
TMIF1
INTTM2
TMIF2
TMMK2
TMPR2
INTAD
ADIF
ADMK
ADPR
IF0H
IF1L
TMMK4
CSIMK0
TMMK1
MK0L
Register
INTWDT
488
IF0L
Priority Specify Flag
MK0H
MK1L
TMPR4
CSIPR0
TMPR1
PR0L
PR0H
PR1L
CHAPTER 21
INTERRUPT AND TEST FUNCTIONS
(1) Interrupt request flag registers (IF0L, IF0H, IF1L)
The interrupt request flag is set to 1 when the corresponding interrupt request is generated or an instruction
is executed. It is cleared to 0 when an instruction is executed upon acknowledgment of an interrupt request
or upon application of RESET input.
IF0L, IF0H, and IF1L are set with a 1-bit or 8-bit memory manipulation instruction. If IF0L and IF0H are used
as a 16-bit register IF0 use a 16-bit memory manipulation instruction for the setting.
RESET input sets these registers to 00H.
Figure 21-2. Interrupt Request Flag Register Format
Symbol
<7>
<6>
<5>
<4>
<3>
<2>
<1>
<0>
IF0L PIF6
PIF5
PIF4
PIF3
PIF2
PIF1
PIF0 TMIF4
<7>
<6>
<5>
<4>
<3>
<2>
<1>
IF1L WTIF
Note
<1>
After
Reset
R/W
FFE0H
00H
R/W
FFE1H
00H
R/W
FFE2H
00H
R/W
<0>
IF0H TMIF01 TMIF00 TMIF3 STIF SRIF SERIF CSIIF1 CSIIF0
<7>
Address
6
5
4
3
<2>
<0>
0
0
0
0
ADIF TMIF2 TMIF1
× × IF×
Note
Interrupt Request Flag
0
No interrupt request signal
1
Interrupt request signal is generated;
Interrupt request state
WTIF is test input flag. Vectored interrupt request is not generated.
Cautions 1. TMIF4 flag is R/W enabled only when a watchdog timer is used as an interval timer mode.
If a watchdog timer is used in watchdog timer mode 1, set TMIF4 flag to 0.
2. Set always 0 in IF1L bits 3 through 6.
489
CHAPTER 21
INTERRUPT AND TEST FUNCTIONS
(2) Interrupt mask flag registers (MK0L, MK0H, MK1L)
The interrupt mask flag is used to enable/disable the corresponding maskable interrupt service and to set
standby clear enable/disable.
MK0L, MK0H, and MK1L are set with a 1-bit or 8-bit memory manipulation instruction. If MK0L and MK0H
are used as a 16-bit register MK0, use a 16-bit memory manipulation instruction for the setting.
RESET input sets these registers to FFH.
Figure 21-3. Interrupt Mask Flag Register Format
Symbol
<7>
<6>
<5>
<4>
<3>
<2>
MK0L PMK6 PMK5 PMK4 PMK3 PMK2 PMK
<7>
<6>
<5>
<4>
<3>
<2>
<1>
<0>
PMK TMMK4
<1>
Note
MK1L WTMK
6
5
4
3
1
1
1
1
<2>
<1>
After
Reset
R/W
FFE4H
FFH
R/W
FFE5H
FFH
R/W
FFE6H
FFH
R/W
<0>
MK0H TMMK01 TMMK00 TMMK3 STMK SRMK SERMK CSIMK1 CSIMK0
<7>
Address
<0>
ADMK TMMK2 TMMK1
× × MK ×
Note
Interrupt Servicing Control
0
Interrupt servicing enabled
1
Interrupt servicing disabled
WTMK controls standby mode release enable/disable. It does not perform control of interrupt function.
Cautions 1. If TMMK4 flag is read when a watchdog timer is used in watchdog timer mode 1, MK0 value
becomes undefined.
2. Because port 0 has a dual function as the external interrupt request input, when the
output level is changed by specifying the output mode of the port function, an interrupt
request flag is set. Therefore, 1 should be set in the interrupt mask flag before using the
output mode.
3. Set always 1 in MK1L bits 3 through 6.
490
CHAPTER 21
INTERRUPT AND TEST FUNCTIONS
(3) Priority specify flag registers (PR0L, PR0H, and PR1L)
The priority specify flag is used to set the corresponding maskable interrupt priority orders.
PR0L, PR0H, and PR1L are set with a 1-bit or 8-bit memory manipulation instruction. If PR0L and PR0H are
used as a 16-bit register PR0, use a 16-bit memory manipulation instruction for the setting.
RESET input sets these registers to FFH.
Figure 21-4. Priority Specify Flag Register Format
Symbol
<7>
<6>
<5>
<4>
<3>
<2>
<1>
<0>
PR0L PPR6 PPR5 PPR4 PPR3 PPR2 PPR1 PPR0 TMPR4
<7>
<6>
<5>
<4>
<3>
<2>
<1>
PR1L
6
5
4
3
1
1
1
1
1
<2>
<1>
After
Reset
R/W
FFE8H
FFH
R/W
FFE9H
FFH
R/W
FFEAH
FFH
R/W
<0>
PR0H TMPR01 TMPR00 TMPR3 STPR SRPR SERPR CSIPR1 CSIPR0
7
Address
<0>
ADPR TMPR2 TMPR1
× × PR ×
Priority Level Selection
0
High priority level
1
Low priority level
Cautions 1. If a watchdog timer is used in watchdog timer mode 1, set TMPR4 flag to 1.
2. Set always 1 in PR1L bits 3 through 7.
491
CHAPTER 21
INTERRUPT AND TEST FUNCTIONS
(4) External interrupt mode register (INTM0, INTM1)
These registers set the valid edge for INTP0 to INTP6.
INTM0 and INTM1 are set by 8-bit memory manipulation instructions.
RESET input sets these registers to 00H.
Figure 21-5. External Interrupt Mode Register 0 Format
Symbol
7
6
5
4
3
2
INTM0 ES31 ES30 ES21 ES20 ES11 ES10
1
0
Address
After
Reset
R/W
0
0
FFECH
00H
R/W
ES11 ES10
INTP0 Valid Edge Selection
0
0
Falling edge
0
1
Rising edge
1
0
Setting prohibited
1
1
Both falling and rising edges
ES21 ES20
INTP1 Valid Edge Selection
0
0
Falling edge
0
1
Rising edge
1
0
Setting prohibited
1
1
Both falling and rising edges
ES31 ES30
INTP2 Valid Edge Selection
0
0
Falling edge
0
1
Rising edge
1
0
Setting prohibited
1
1
Both falling and rising edges
Caution Before setting the valid edge of the INTP0/TIO0/P00 pin, stop the timer operation by
clearing the bits 1 through 3 (TMC01 through TMC03) of the 16-bit timer mode control
register to 0, 0, 0.
492
CHAPTER 21
INTERRUPT AND TEST FUNCTIONS
Figure 21-6. External Interrupt Mode Register 1 Format
Symbol
7
6
5
4
3
2
1
0
INTM1 ES71 ES70 ES61 ES60 ES51 ES50 ES41 ES40
Address
After
Reset
R/W
FFEDH
00H
R/W
ES41 ES40
INTP3 Valid Edge Selection
0
0
Falling edge
0
1
Rising edge
1
0
Setting prohibited
1
1
Both falling and rising edges
ES51 ES50
INTP4 Valid Edge Selection
0
0
Falling edge
0
1
Rising edge
1
0
Setting prohibited
1
1
Both falling and rising edges
ES61 ES60
INTP5 Valid Edge Selection
0
0
Falling edge
0
1
Rising edge
1
0
Setting prohibited
1
1
Both falling and rising edges
ES71 ES70
INTP6 Valid Edge Selection
0
0
Falling edge
0
1
Rising edge
1
0
Setting prohibited
1
1
Both falling and rising edges
493
CHAPTER 21
INTERRUPT AND TEST FUNCTIONS
(5) Sampling clock select register (SCS)
This register is used to set the valid edge clock sampling clock to be input to INTP0. When remote controlled
data reception is carried out using INTP0, digital noise is removed with sampling clocks.
SCS is set with an 8-bit memory manipulation instruction.
RESET input sets SCS to 00H.
Figure 21-7. Sampling Clock Select Register Format
Symbol
7
6
5
4
3
2
SCS
0
0
0
0
0
0
1
0
SCS1 SCS0
Address
After
Reset
R/W
FF47H
00H
R/W
INTP0 Sampling Clock Selection
SCS1 SCS0
MCS = 1
MCS = 0
N
0
0
fxx/2
0
1
fxx/2
fx/27(39.1 kHz)
fx/2 (19.5 kHz)
1
0
fxx/25
fx/25(156.3 kHz)
fx/26(78.1 kHz)
1
1
fxx/26
fx/26(78.1 kHz)
fx/27(39.1 kHz)
7
8
Caution fXX/2N is a clock to be supplied to the CPU and fXX/25, fXX/26 and fXX/27 are clocks to be supplied
to the peripheral hardware. fXX/2N stops in the HALT mode.
Remarks 1. N
:
Value (N=0 to 4) at bits 0 to 2 (PCC0 to PCC2) of processor clock control register
2. fXX
:
Main system clock frequency (fX or fX/2)
3. fX
:
Main system clock oscillation frequency
(PCC)
4. MCS :
Oscillation mode selection register (OSMS) bit 0
5. Values in parentheses when operated with fX = 5.0 MHz.
494
CHAPTER 21
INTERRUPT AND TEST FUNCTIONS
When the sampled INTP0 input level is active twice in succession, the noise eliminator sets interrupt request
flag (PIF0) to 1.
Figure 21-8 shows the noise eliminator input/output timing.
Figure 21-8. Noise Eliminator Input/Output Timing (during rising edge detection)
(a) When input is less than the sampling cycle (tSMP)
tSMP
Sampling Clock
INTP0
"L"
PIF0
Because INTP0 level is not high level at the time of sampling,
PIF0 flag remains at low level.
(b) When input is equal to or twice the sampling cycle (tSMP)
tSMP
Sampling Clock
INTP0
<1>
<2>
PIF0
Because the sampled INTP0 level is high level twice in succession in <2>,
PIF0 flag is set to 1.
(c) When input is twice or more than the cycle frequency (tSMP)
tSMP
Sampling Clock
INTP0
PIF0
When INTP0 level becomes high level twice in succession,
PIF0 flag is set to 1.
495
CHAPTER 21
INTERRUPT AND TEST FUNCTIONS
(6) Program status word (PSW)
The program status word is a register to hold the instruction execution result and the current status for interrupt
request. The IE flag to set maskable interrupt enable/disable and the ISP flag to control multiple interrupt
processing are mapped.
Besides 8-bit unit read/write, this register can carry out operations with a bit manipulation instruction and
dedicated instructions (EI and DI). When a vectored interrupt request is acknowledged or when the BRK
instruction is executed, contents of the PSW is automatically saved to the stack and the IE flag is reset to 0.
If a maskable interrupt request is acknowledged contents of the priority specify flag of the acknowledged
interrupt are transferred to the ISP flag. Contents of the PSW is also saved into the stack with the PUSH PSW
instruction. It is reset from the stack with the RETI, RETB, and POP PSW instructions.
RESET input sets PSW to 02H.
Figure 21-9. Program Status Word Configuration
PSW
7
6
5
4
3
2
1
0
IE
Z
RBS1
AC
RBS0
0
ISP
CY
State after
Reset
02H
Used when normal instruction is executed
ISP
0
496
Priority of Interrupt Currently Being Received
High-priority interrupt servicing
(low-priority interrupt disable)
1
Interrupt request not acknowledged or low-priority
interrupt servicing
(all-maskable interrupts enable)
IE
Interrupt Request Acknowledge Enable/Disable
0
Disable
1
Enable
CHAPTER 21
INTERRUPT AND TEST FUNCTIONS
21.4 Interrupt Servicing Operations
21.4.1 Non-maskable interrupt request acknowledge operation
A non-maskable interrupt request is unconditionally acknowledged even if in an interrupt request acknowledge
disable state. It does not undergo interrupt priority control and has highest priority over all other interrupt requests.
If a non-maskable interrupt request is acknowledged, the contents of acknowledged interrupt is saved in the stacks,
program status word (PSW) and program counter (PC), in that order, the IE and ISP flags are reset to 0, and the vector
table contents are loaded into PC and branched.
A new non-maskable interrupt request generated during execution of a non-maskable interrupt servicing program
is acknowledged after the current execution of the non-maskable interrupt servicing program is terminated (following
RETI instruction execution) and one main routine instruction is executed. If a new non-maskable interrupt request
is generated twice or more during non-maskable interrupt service program execution, only one non-maskable interrupt
request is acknowledged after termination of the non-maskable interrupt service program execution.
Figure 21-10 shows the flowchart from generation of non-maskable interrupt request to acknowledgment, Figure
21-11 shows non-maskable interrupt request acknowledge timing, and Figure 21-12 shows acknowledge operation
when multiple non-maskable interrupt requests are generated.
497
CHAPTER 21
INTERRUPT AND TEST FUNCTIONS
Figure 21-10. Flowchart of Generation from Non-Maskable Interrupt Request to Acknowledgment
Start
WDTM4=1
(with watchdog timer
mode selected)?
No
Interval timer
Yes
Overflow in WDT?
No
Yes
WDTM3=0
(with non-maskable
interrupt request
selected)?
No
Reset processing
Yes
Interrupt request generation
WDT interrupt servicing?
No
Interrupt request
held pending
Yes
Interrupt control
register unaccessed?
No
Yes
Interrupt
service start
WDTM
: Watchdog timer mode register
WDT
: Watchdog timer
Figure 21-11. Non-Maskable Interrupt Request Acknowledge Timing
CPU Instruction
Instruction
Instruction
PSW and PC Save, Jump Interrupt Sevicing
to Interrupt Servicing
Program
TMIF4
The interrupt request generated during this period is acknowledged at the timing of ↑.
TMIF4
498
: Watchdog timer interrupt request flag
CHAPTER 21
INTERRUPT AND TEST FUNCTIONS
Figure 21-12. Non-Maskable Interrupt Request Acknowledge Operation
(a)
If a new non-maskable interrupt request is generated during
non-maskable interrupt servicing program execution
Main Routine
NMI Request <1>
NMI
Request <2>
1 Instruction
Execution
NMI Request <1> is executed.
NMI Request <2> is reserved.
Reserved NMI Request <2> is processed.
(b)
If two non-maskable interrupt requests are generated during
non-maskable interrupt servicing program execution
Main Routine
NMI Request <1>
1 Instruction
Execution
NMI
Request <2>
NMI
Request <3>
NMI Request <1> is executed.
NMI Request <2> is reserved.
NMI Request <3> is reserved.
NMI Request <2> is processed.
NMI requests <3> is not acknowledged
(only one request has been acknowledged,
even when two or more NMI requests are
generated).
499
CHAPTER 21
INTERRUPT AND TEST FUNCTIONS
21.4.2 Maskable interrupt request acknowledge operation
A maskable interrupt request becomes acknowledgeable when an interrupt request flag is set to 1 and the interrupt
mask flag is cleared to 0. A vectored interrupt request is acknowledged in an interrupt enable state (with IE flag set
to 1). However, a low-priority interrupt request is not acknowledged during high-priority interrupt service (with ISP
flag reset to 0).
Table 21-3 shows the time from generation of maskable interrupt request to interrupt servicing.
For the interrupt request acknowledging timing, refer to Figure 21-14 and 21-15.
Table 21-3. Times from Maskable Interrupt Request Generation to Interrupt Service
Minimum Time
Maximum TimeNote
When ××PR×=0
7 clocks
32 clocks
When ××PR×=1
8 clocks
33 clocks
Note
If an interrupt request is generated just before a divide instruction, the wait time is maximized.
1
Remark 1 clock :
(fCPU: CPU clock)
fCPU
If two or more maskable interrupt requests are generated simultaneously, the request specified for higher priority
with the priority specify flag is acknowledged first. If two or more requests are specified for the same priority with
priority specify flag, the interrupt request with higher default priority is acknowledged first.
Any reserved interrupt requests are acknowledged when they become acknowledgeable.
Figure 21-13 shows interrupt request acknowledge algorithms.
If a maskable interrupt request is acknowledged, the contents of acknowledged interrupt is saved in the stacks,
program status word (PSW) and program counter (PC), in that order, the IE flag is reset to 0, and the acknowledged
interrupt priority specify flag contents are transferred to the ISP flag. Further, the vector table data determined for
each interrupt request is loaded into PC and branched.
Return from the interrupt is possible with the RETI instruction.
500
CHAPTER 21
INTERRUPT AND TEST FUNCTIONS
Figure 21-13. Interrupt Request Acknowledge Processing Algorithm
Start
No
× × IF=1?
Yes (Interrupt Request
Generation)
No
× × MK=0?
Yes
Interrupt request
reserve
Yes (High priority)
× × PR=0?
No (Low Priority)
Yes
Any highpriority interrupt request
among simultaneously generated
××PR=0 interrupt
requests?
Interrupt request
reserve
No
No
IE=1?
Yes
Interrupt request
reserve
Vectored interrupt
servicing
Any
Simultaneously
generated ××PR=0
interrupt requests?
Yes
Interrupt request
reserve
No
Any
Simultaneously
generated high-priority
interrupt requests?
Yes
Interrupt request
reserve
No
IE=1?
No
Interrupt request
reserve
Yes
ISP=1?
No
Yes
Interrupt request
reserve
Vectored interrupt
servicing
××IF
:
Interrupt request flag
××MK
:
Interrupt mask flag
××PR
:
Priority specify flag
IE
:
Flag to control acknowledgment of maskable interrupt request (1 = enable, 0 = disable)
ISP
:
Flag to indicate the priority of interrupt currently being serviced (0 = servicing interrupt of high priority,
1 = not acknowledging interrupt request or servicing interrupt of low priority)
501
CHAPTER 21
INTERRUPT AND TEST FUNCTIONS
Figure 21-14. Interrupt Request Acknowledge Timing (Minimum Time)
6 Clocks
CPU Processing
Instruction
Instruction
PSW and PC Save,
Jump to Interrupt
Servicing
Interrupt
Servicing
Program
× × IF
(× × PR=1)
8 Clocks
× × IF
(× × PR=0)
7 Clocks
Remark
1 clock :
1
(fCPU: CPU clock)
fCPU
Figure 21-15. Interrupt Request Acknowledge Timing (Maximum Time)
25 Clocks
CPU Processing
Instruction
Divide Instruction
× × IF
(× × PR=1)
33 Clocks
× × IF
(× × PR=0)
32 Clocks
Remark
502
1 clock :
1
(fCPU: CPU clock)
fCPU
6 Clocks
PSW and PC Save,
Jump to Interrupt
Servicing
Interrupt
Servicing
Program
CHAPTER 21
INTERRUPT AND TEST FUNCTIONS
21.4.3 Software interrupt request acknowledge operation
A software interrupt request is acknowledged by BRK instruction execution. Software interrupt cannot be disabled.
If a software interrupt request is acknowledged, the contents is saved in the stacks, program status word (PSW)
and program counter (PC), in that order, the IE flag is reset to 0 and the contents of the vector tables (003EH and
003FH) are loaded into PC and branched.
Return from the software interrupt is possible with the RETB instruction.
Caution Do not use the RETI instruction for returning from the software interrupt.
21.4.4 Multiple interrupt servicing
Acknowledging another interrupt request while servicing an interrupt is called a multiple interrupt.
A multiple interrupt is not generated unless interrupt request acknowledge enabled state (IE = 1) is set (except
non-maskable interrupt). When an interrupt request is acknowledged, interrupt request becomes acknowledge
disabled state (IE = 0). Therefore, to enable a multiple interrupt, set IE flag to (1) with EI instruction during interrupt
servicing, and set interrupt enable state.
In some cases, a multiple interrupt is not enabled even during interrupt enable state. It is controlled with the interrupt
priority. There are two interrupt priorities : default priority and programmable priority. The multiple interrupt is
controlled with programmable priority.
If an interrupt request of the same priority as or a higher priority than the interrupt currently being serviced is
generated, it is acknowledged as a multiple interrupt. If an interrupt request of the priority lower than the interrupt
currently being serviced is generated, it is not acknowledged as a multiple interrupt.
An interrupt request that is not acknowledged due to interrupt disable or low priority is reserved. The reserved
interrupt request is acknowledged after the current interrupt servicing is completed and one instruction of the main
processing is executed.
A multiple interrupt is not acknowledged while a non-maskable interrupt is being serviced.
Table 21-4 shows the interrupt requests that are capable of multiple interrupts, and Figure 21-16 shows examples
of multiple interrupts.
Table 21-4. Interrupt Request Enabled for Multiple Interrupt during Interrupt Servicing
Multiple Interrupt
Non-maskable
Request
Interrupt
Interrupt being
Serviced
Request
PR = 0
PR = 1
IE = 1
IE = 0
IE = 1
IE = 0
D
D
D
D
D
ISP = 0
E
E
D
D
D
ISP = 1
E
E
D
E
D
E
E
D
E
D
Non-maskable interrupt
Maskable interrupt
Maskable Interrupt Request
Software interrupt
Remarks 1. E : Multiple interrupt enable
2. D : Multiple interrupt disable
3. ISP and IE are the flags contained in PSW
ISP=0 : An interrupt with higher priority is being serviced
ISP=1 : An interrupt request is not accepted or an interrupt with lower priority is being
serviced
IE=0
: Interrupt request acknowledge is disabled
IE=1
: Interrupt request acknowledge is enabled
4. PR is a flag contained in PR0L, PR0H, and PR1L
PR=0
: Higher priority level
PR=1
: Lower priority level
503
CHAPTER 21
INTERRUPT AND TEST FUNCTIONS
Figure 21-16. Multiple Interrupt Example (1/2)
Example 1. A multiple interrupt is generated at twice
INTxx
Servicing
Main Processing
INTyy
Servicing
IE=0
IE=0
EI
EI
INTxx
(PR=1)
INTzz
Servicing
IE=0
EI
INTyy
(PR=0)
INTzz
(PR=0)
RETI
RETI
RETI
While servicing interrupt INTxx, two interrupt requests, INTyy and INTzz, are acknowledged, and a multiple
interrupt is generated. Before each interrupt request acknowledgment, the EI instruction is always issued and
interrupt request acknowledgment is enabled.
PR = 0
:
High priority level
PR = 1
:
Low priority level
IE = 0
:
Interrupt request acknowledgment disabled
Example 2. A multiple interrupt is not generated with priority control
Main Processing
EI
INTxx
Servicing
INTyy
Servicing
IE=0
EI
INTxx
(PR=0)
1 Instruction
Execution
INTyy
(PR=1)
RETI
IE=0
RETI
Interrupt request INTyy generated while servicing interrupt INTxx is not acknowledged because it has a lower
priority than INTxx, and a multiple interrupt is not generated. The INTyy request is reserved and acknowledged after
execution of one main processing instruction.
PR = 0
:
High priority level
PR = 1
:
Low priority level
IE = 0
:
Interrupt request acknowledgment disabled
504
CHAPTER 21
INTERRUPT AND TEST FUNCTIONS
Figure 21-16. Multiple Interrupt Example (2/2)
Example 3. A multiple interrupt is not generated because interrupt is disabled
Main Processing
EI
INTxx
Servicing
INTyy
Servicing
IE=0
INTxx
(PR=0)
1 Instruction
Execution
INTyy
(PR=0)
RETI
IE=0
RETI
Because interrupts are disabled during interrupt INTxx servicing (EI instruction is not issued), interrupt request
INTyy is not acknowledged, and a multiple interrupt is not generated. INTyy request is reserved and acknowledged
after execution of one main processing instruction.
PR = 0
:
High priority level
IE = 0
:
Interrupt request acknowledgment disabled
505
CHAPTER 21
INTERRUPT AND TEST FUNCTIONS
21.4.5 Interrupt request reserve
In some cases, the acknowledgment of the interrupt request is reserved even an interrupt request is generated
during processing of the instruction until the execution of the next instruction is completed. The following shows this
type of instructions (interrupt request reserve instruction).
• MOV
PSW, #byte
• MOV A,
PSW
• MOV
PSW, A
• MOV1
PSW.bit, CY
• MOV1
CY, PSW.bit
• AND1
CY, PSW.bit
• OR1
CY, PSW.bit
• XOR1
CY, PSW.bit
• SET1
PSW.bit
• CLR1
PSW.bit
• RETB
• RETI
• PUSH
PSW
• POP
PSW
• BT
PSW.bit, $addr16
• BF
PSW.bit, $addr16
• BTCLR
PSW.bit, $addr16
• EI
• DI
• Manipulate instructions for IF0L, IF0H, IF1L, MK0L, MK0H, MK1L, PR0L, PR0H, PR1L, INTM0, INTM1 registers
Caution The BRK instruction is not an interrupt request reserve instruction shown above. However, in
the case of software interrupt that is started up with the execution of the BRK instruction, the
IE flag is cleared to 0. Therefore, interrupts are not acknowledged even when a maskable
interrupt request is issued during the execution of the BRK instruction. However, non-maskable
interrupt requests are acknowledged.
Figure 21-17 shows the timing when an interrupt request is reserved.
Figure 21-17. Interrupt Request Hold
CPU processing
Instruction N
Instruction M
Save PSW and PC,
Jump to interrupt service
Interrupt service
program
× × IF
Remarks 1. Instruction N: Instruction that holds interrupts requests
2. Instruction M: Instructions other than instruction N
3. The ××PR (priority level) values do not affect the operation of ××IF (interrupt request).
506
CHAPTER 21
INTERRUPT AND TEST FUNCTIONS
21.5 Test Functions
Upon occurrence of watch timer overflow and the detection of the falling falling edge of port 4, the corresponding
test input flag is set (1) and a standby release signal is generated. Unlike in the case of interrupt functions, vector
processing is not performed.
There are two test input sources as shown in Table 21-5. The basic configuration is shown in Figure 21-18.
Table 21-5. Test Input Factors
Test Input Factors
Name
Internal/
external
Trigger
INTWT
Watch timer overflow
Internal
INTPT4
Falling edge detection at port 4
External
Figure 21-18. Basic Configuration of Test Function
Internal bus
MK
Test input
signal
Standby
release signal
IF
Remark IF: test input flag
MK: test mask flag
21.5.1 Registers controlling the test function
The test function is controlled by the following three registers.
• Interrupt request flag register 1L (IF1L)
• Interrupt mask flag register 1L (MK1L)
• Key return mode register (KRM)
The names of the test input flags and test mask flags corresponding to the test input signals are listed in Table
21-6.
Table 21-6. Flags Corresponding to Test Input Signals
Test input signal name
Test input flag
Test mask flag
INTWT
WTIF
WTMK
INTPT4
KRIF
KRMK
507
CHAPTER 21
INTERRUPT AND TEST FUNCTIONS
(1) Interrupt request flag register 1L (IF1L)
It indicates whether a watch timer overflow is detected or not.
It is set by a 1-bit memory manipulation instruction and 8-bit memory manipulation instruction.
It is set to 00H by the RESET signal input.
Figure 21-19. Format of Interrupt Request Flag Register 1L
Symbol
<7>
IF1L WTIF
6
5
4
3
<2>
<1>
<0>
0
0
0
0
ADIF TMIF2 TMIF1
Address
When
Reset
R/W
FFE2H
00H
R/W
WTIF
Watch timer overflow detection flag
0
Not detected
1
Detected
Caution Be sure to set bits 3 through 6 to 0.
(2) Interrupt mask flag register 1L (MK1L)
It is used to set the standby mode enable/disable at the time the standby mode is released by the watch timer.
It is set by a 1-bit memory manipulation instruction and 8-bit memory manipulation instruction.
It is set to FFH by the RESET signal input.
Figure 21-20. Format of Interrupt Mask Flag Register 1L
Symbol
<7>
MK1L WTMK
6
5
4
3
1
1
0
0
<2>
<1>
<0>
ADMK TMMK2 TMMK1
Address
When
Reset
R/W
FFE6H
FFH
R/W
WTMK
Caution Be sure to set bits 3 through 6 to 1.
508
Standby mode control by watch timer
0
Enables releasing the standby mode.
1
Disables releasing the standby mode.
CHAPTER 21
INTERRUPT AND TEST FUNCTIONS
(3) Key return mode register (KRM)
This register is used to set enable/disable of standby function clear by key return signal (port 4 falling edge
detection).
KRM is set with a 1-bit or 8-bit memory manipulation instruction.
RESET input sets KRM to 02H.
Figure 21-21. Key Return Mode Register Format
Symbol
7
6
5
4
3
2
KRM
0
0
0
0
0
0
<0>
Address
When
Reset
R/W
KRMK KRIF
FFF6H
02H
R/W
<1>
KRIF
Key Return Signal
0
Not detected
1
Detected (port 4 falling edge detection)
KRMK
Standby Mode Control by Key Return Signal
0
Standby mode release enabled
1
Standby mode release disabled
Caution When port 4 falling edge detection is used, be sure to clear KRIF to 0 (not cleared to 0
automatically)
21.5.2 Test input signal acknowledge operation
(1) Internal test signal
The internal test input signal (INTWT) is generated with watch timer overflow, and the WTIF flag is set. If not
masked with bit 7 (WTMK) of interrupt mask flag register 1L (MK1L) at this time, a standby release signal is
generated. The watch function is available by checking the WTIF flag using a shorter cycle than the watch
timer overflow cycle.
(2) External test signal
When a falling edge (external test input signal) is input to the port 4 (P40 to P47) pins, KRIF is set. If not masked
with bit 1 (KRMK) of key return mode register (KRM) at this time, a standby release signal is generated. If
port 4 is used as key matrix return signal input, whether or not a key input has been applied can be checked
from the KRIF status.
509
[MEMO]
510
CHAPTER 22
EXTERNAL DEVICE EXPANSION FUNCTION
22.1 External Device Expansion Functions
The external device expansion functions connect external devices to areas other than the internal ROM, RAM,
and SFR. Connection of external devices uses ports 4 to 6. Ports 4 to 6 control address/data, read/write strobe,
wait, address strobe etc.
Table 22-1. Pin Functions in External Memory Expansion Mode
Pin function at external device connection
Alternate function
Name
Function
AD0 to AD7
Multiplexed address/data bus
P40 to P47
A8 to A15
Address bus
P50 to P57
RD
Read strobe signal
P64
WR
Write strobe signal
P65
WAIT
Wait signal
P66
ASTB
Address strobe signal
P67
Table 22-2. State of Ports 4 to 6 Pins in External Memory Expansion Mode
Ports and bits
Port 4
Modes
0-7
Single-chip mode
Port
256-byte expansion mode
Address/data
4K-byte expansion mode
Address/data
16K-byte expansion mode
Address/data
Full address mode
Address/data
Caution
Port 5
0
1
2
3
4
Port 6
0-3
4-7
Port
Port
Port
Port
Port
RD, WR, WAIT, ASTB
Port
RD, WR, WAIT, ASTB
Port
RD, WR, WAIT, ASTB
Port
RD, WR, WAIT, ASTB
Address
Address
Address
5
6
7
Port
Port
When the external wait function is not used, the WAIT pin can be used as a port in all modes.
511
CHAPTER 22
EXTERNAL DEVICE EXPANSION FUNCTION
Memory maps when using the external device expansion function are as follows.
Figure 22-1. Memory Map when Using External Device Expansion Function (1/4)
(a) Memory map of µPD78P054, 78P058,
(b) Memory map of µPD78P054, 78P058,
78P058Y when the µPD78052, 78052Y
78P058Y when the µPD78053, 78053Y
and internal PROM are 16 Kbytes
and internal PROM are 24 Kbytes
FFFFH
FFFFH
SFR
FF00H
FEFFH
SFR
FF00H
FEFFH
Internal High-Speed RAM
Internal High-Speed RAM
FD00H
FCFFH
Reserved
FAE0H
FADFH
Internal Buffer RAM
FAC0H
FABFH
FB00H
FAFFH
Reserved
FAE0H
FADFH
Internal Buffer RAM
FAC0H
FABFH
Reserved
FA80H
FA7FH
Reserved
FA80H
FA7FH
Full-Address Mode
(when MM2-MM0=111)
Full-Address Mode
(when MM2-MM0=111)
A000H
9FFFH
16-Kbyte Expansion Mode
(when MM2-MM0=101)
8000H
7FFFH
16-Kbyte Expansion Mode
(when MM2-MM0=101)
5000H
4FFFH
4100H
40FFH
4000H
3FFFH
4-Kbyte Expansion Mode
(when MM2-MM0=100)
7000H
6FFFH
6100H
60FFH
6000H
5FFFH
4-Kbyte Expansion Mode
(when MM2-MM0=100)
256-byte Expansion Mode
(when MM2-MM0=011)
256-byte Expansion Mode
(when MM2-MM0=011)
Single-chip Mode
Single-chip Mode
0000H
512
0000H
CHAPTER 22
EXTERNAL DEVICE EXPANSION FUNCTION
Figure 22-1. Memory Map when Using External Device Expansion Function (2/4)
(c) Memory map of µPD78P054, 78P058,
(d) Memory map of µPD78P058, 78P058Y
78P058Y when the µPD78054, 78054Y
when the µPD78055, 78055Y and
and internal PROM are 32 Kbytes
internal PROM are 40 Kbytes
FFFFH
FFFFH
SFR
FF00H
FEFFH
SFR
FF00H
FEFFH
Internal High-Speed RAM
FB00H
FAFFH
Internal High-Speed RAM
FB00H
FAFFH
Reserved
FAE0H
FADFH
Reserved
FAE0H
FADFH
Internal Buffer RAM
FAC0H
FABFH
Internal Buffer RAM
FAC0H
FABFH
Reserved
FA80H
FA7FH
Reserved
FA80H
FA7FH
Full-Address Mode
(when MM2-MM0=111)
Full-Address Mode
(when MM2-MM0=111)
E000H
DFFFH
16-Kbyte Expansion Mode
(when MM2-MM0=101)
C000H
BFFFH
16-Kbyte Expansion Mode
(when MM2-MM0=101)
9000H
8FFFH
8100H
80FFH
8000H
7FFFH
4-Kbyte Expansion Mode
(when MM2-MM0=100)
256-byte Expansion Mode
(when MM2-MM0=011)
B000H
AFFFH
A100H
A0FFH
A000H
9FFFH
Single-chip Mode
0000H
4-Kbyte Expansion Mode
(when MM2-MM0=100)
256-byte Expansion Mode
(when MM2-MM0=011)
Single-chip Mode
0000H
513
CHAPTER 22
EXTERNAL DEVICE EXPANSION FUNCTION
Figure 22-1. Memory Map when Using External Device Expansion Function (3/4)
(e) Memory map of µPD78P058, 78P058Y
when the µPD78056, 78056Y and
internal PROM are 48 Kbytes
FFFFH
SFR
FF00H
FEFFH
Internal High-Speed RAM
FB00H
FAFFH
Reserved
FAE0H
FADFH
Internal Buffer RAM
FAC0H
FABFH
Reserved
FA80H
FA7FH
Full-Address Mode
(when MM2-MM0=111)
or
16-Kbyte Expansion Mode
(when MM2-MM0=101)
D000H
CFFFH
4-Kbyte Expansion Mode
(when MM2-MM0=100)
C100H
C0FFH
C000H
BFFFH
256-byte Expansion Mode
(when MM2-MM0=011)
Single-chip Mode
0000H
514
CHAPTER 22
EXTERNAL DEVICE EXPANSION FUNCTION
Figure 22-1. Memory Map when Using External Device Expansion Function (4/4)
(f)
µPD78058, 78058Y, 78P058, 78P058Y Memory
(g) µPD78058, 78058Y, 78P058, 78P058Y Memory
map when internal ROM (PROM) size is
map when internal ROM (PROM) size is
56 Kbytes
60 Kbytes
FFFFH
FFFFH
SFR
FF00H
FEFFH
SFR
FF00H
FEFFH
Internal High-Speed RAM
Internal High-Speed RAM
FB00H
FAFFH
FB00H
FAFFH
Reserved
Reserved
FAE0H
FADFH
FAE0H
FADFH
Internal Buffer RAM
Internal Buffer RAM
FAC0H
FABFH
FAC0H
FABFH
Reserved
Reserved
F800H
F7FFH
F800H
F7FFH
Internal Expansion RAM
Internal Expansion RAM
F400H
F3FFH
F400H
F3FFH
Full-Address Mode
(when MM2-MM0=111)
or
16-Kbyte Expansion Mode
(when MM2-MM0=101)
F000H
EFFFH
E100H
F0FFH
E000H
DFFFH
Reserved
F000H
EFFFH
4-Kbyte Expansion Mode
(when MM2-MM0=100)
256-byte Expansion Mode
(when MM2-MM0=011)
Single-chip mode
Single-chip Mode
0000H
0000H
Caution When the internal ROM (PROM) size is 60 Kbytes, the area from F000H to F3FFH cannot be used.
F000H to F3FFH can be used as external memory by setting the internal ROM (PROM) size to
less than 56 Kbytes by the memory size switching register (IMS).
515
CHAPTER 22
22.2
EXTERNAL DEVICE EXPANSION FUNCTION
External Device Expansion Function Control Register
The external device expansion function is controlled by the memory expansion mode register (MM) and memory
size switching register (IMS).
(1) Memory expansion mode register (MM)
MM sets the wait count and external expansion area, and also sets the input/output of port 4.
MM is set with an 1-bit memory or 8-bit memory manipulation instruction.
RESET input sets this register to 10H.
Figure 22-2. Memory Expansion Mode Register Format
Symbol
7
6
5
4
3
2
MM
0
0
PW1
PW0
0
MM2
MM0
Single-chip/
Memory Expansion
Mode Selection
MM2 MM1
0
0
1
MM1 MM0
0
Single-chip mode
0
0
1
0
1
1
256-byte
mode
1
0
0
4K-byte
mode
0
Address
When
Reset
R/W
FFF8H
10H
R/W
P40-P47, P50-P57, P64-P67 Pin state
P40-P47
P50-P53
Port Input
mode Output
P54, P55
P56, P57
P64-P67
Port mode
Port mode
P64=RD
1
0
Memory
expansion
mode
Port mode
P66=WAIT
AD0-AD7
1
16K-byte
mode
1
Full
address
mode Note
P65=WR
Port mode P67=ASTB
A8-A11
A12, A13
1
1
Other than above
Note
A14, A15
Setting prohibited
Wait Control
PW1
PW0
0
0
No wait
0
1
Wait (one wait state insertion)
1
0
Setting prohibited
1
1
Wait control by external wait pin
The full address mode allows external expansion to the entire 64-Kbyte address space except for
the internal ROM, RAM, and SFR areas and the reserved areas.
Remark
P60 to P63 enter the port mode without regard to the mode (single-chip mode or memory expansion
mode).
516
CHAPTER 22
EXTERNAL DEVICE EXPANSION FUNCTION
(2) Memory size switching register (IMS)
This register specifies the internal memory size. In principle, use IMS in a default status. However, when
using the external device expansion function with the µPD78058, set IMS so that the internal ROM capacity
is 56 Kbytes or lower.
IMS is set with an 8-bit memory manipulation instruction.
RESET input sets this register to the value indicated in Table 22-3.
Figure 22-3. Memory Size Switching Register Format
Symbol
7
6
5
IMS RAM2 RAM1 RAM0
4
0
3
2
1
0
ROM3 ROM2 ROM1 ROM0
Address
After
Reset
R/W
FFF0H
Note
R/W
ROM3 ROM2 ROM1 ROM0
0
1
0
0
16 Kbytes
0
1
1
0
24 Kbytes
1
0
0
0
32 Kbytes
1
0
1
0
40 Kbytes
1
1
0
0
48 Kbytes
1
1
1
0
56 Kbytes
1
1
1
1
60 Kbytes
Other than above
RAM2 RAM1 RAM0
Setting prohibited
Internal high-speed RAM size selection
0
1
0
512 bytes
1
1
0
1024 bytes
Other than above
Note
Internal ROM size selection
Setting prohibited
The values after reset depend on the product. (See Table 22-3)
Table 22-3. Values when the Memory Size Switching Register is Reset
Part number
Reset value
µPD78052, 78052Y
44H
µPD78053, 78053Y
C6H
µPD78054, 78054Y
C8H
µPD78055, 78055Y
CAH
µPD78056, 78056Y
CCH
µPD78058, 78058Y
CFH
517
CHAPTER 22
EXTERNAL DEVICE EXPANSION FUNCTION
22.3 External Device Expansion Function Timing
Timing control signal output pins in the external memory expansion mode are as follows.
(1) RD pin (Alternate function: P64)
Read strobe signal output pin. The read strobe signal is output in data accesses and instruction fetches from
external memory.
During internal memory access, the read strobe signal is not output (maintains high level).
(2) WR pin (Alternate function: P65)
Write strobe signal output pin. The write strobe signal is output in data access to external memory.
During internal memory access, the write strobe signal is not output (maintains high level).
(3) WAIT pin (Alternate function: P66)
External wait signal input pin. When the external wait is not used, the WAIT pin can be used as an input/output
port.
During internal memory access, the external wait signal is ignored.
(4) ASTB pin (Alternate function: P67)
Address strobe signal output pin. Timing signal is output without regard to the data accesses and instruction
fetches from external memory. The ASTB signal is also output when the internal memory is accessed.
(5) AD0 to AD7, A8 to A15 pins (Alternate function: P40 to P47, P50 to P57)
Address/data signal output pin. Valid signal is output or input during data accesses and instruction fetches
from external memory.
These signals change when the internal memory is accessed (output values are undefined).
Timing charts are shown in Figure 22-4 to 22-7.
518
CHAPTER 22
EXTERNAL DEVICE EXPANSION FUNCTION
Figure 22-4. Instruction Fetch from External Memory
(a) No wait (PW1, PW0 = 0, 0) setting
ASTB
RD
AD0-AD7
A8-A15
Lower Address
Operation Code
Higher Address
(b) Wait (PW1, PW0 = 0, 1) setting
ASTB
RD
AD0-AD7
Lower Address
A8-A15
Operation Code
Higher Address
Internal Wait Signal
(1-clock wait)
(c) External wait (PW1, PW0 = 1, 1) setting
ASTB
RD
AD0-AD7
A8-A15
Lower Address
Operation Code
Higher Address
WAIT
519
CHAPTER 22
EXTERNAL DEVICE EXPANSION FUNCTION
Figure 22-5. External Memory Read Timing
(a) No wait (PW1, PW0 = 0, 0) setting
ASTB
RD
AD0-AD7
Lower Address
A8-A15
Read Data
Higher Address
(b) Wait (PW1, PW0 = 0, 1) setting
ASTB
RD
AD0-AD7
Lower Address
A8-A15
Read Data
Higher Address
Internal Wait Signal
(1-clock wait)
(c) External wait (PW1, PW0 = 1, 1) setting
ASTB
RD
AD0-AD7
A8-A15
WAIT
520
Lower Address
Read Data
Higher Address
CHAPTER 22
EXTERNAL DEVICE EXPANSION FUNCTION
Figure 22-6. External Memory Write Timing
(a) No wait (PW1, PW0 = 0, 0) setting
ASTB
WR
AD0-AD7
Lower Address
Hi-Z
Write Data
Higher Address
A8-A15
(b) Wait (PW1, PW0 = 0, 1) setting
ASTB
WR
AD0-AD7
Lower Address
Hi-Z
Write Data
Higher Address
A8-A15
Internal Wait Signal
(1-clock wait)
(c) External wait (PW1, PW0 = 1, 1) setting
ASTB
WR
AD0-AD7
A8-A15
Lower Address
Hi-Z
Write Data
Higher Address
WAIT
521
CHAPTER 22
EXTERNAL DEVICE EXPANSION FUNCTION
Figure 22-7. External Memory Read Modify Write Timing
(a) No wait (PW1, PW0 = 0, 0) setting
ASTB
RD
WR
AD0-AD7
Lower Address
Hi-Z
Read Data
Write Data
Higher Address
A8-A15
(b) Wait (PW1, PW0 = 0, 1) setting
ASTB
RD
WR
AD0-AD7
Lower Address
Read Data
Hi-Z
Write Data
Higher Address
A8-A15
Internal Wait Signal
(1-clock wait)
(c) External wait (PW1, PW0 = 1, 1) setting
ASTB
RD
WR
AD0-AD7
A8-A15
WAIT
522
Lower Address
Read Data
Hi-Z
Higher Address
Write Data
CHAPTER 22
EXTERNAL DEVICE EXPANSION FUNCTION
22.4 Example of Connection with Memory
This section provides µPD78054 and external memory connection examples in Figure 22-8. SRAMs are used as
the external memory in these diagrams. In addition, the external device expansion function is used in the full-address
mode, and the address from 0000H to 7FFFH (32 Kbytes) are allocated for internal ROM, and the addresses after
8000H for SRAM.
Figure 22-8. Connection Example of µPD78054 and Memory
µ PD78054
µ PD43256B
VDD VDD
CS
RD
OE
WR
WE
Data
Bus
I/O1-I/O8
A8-A14
A0-A14
µ PD74HC573
ASTB
Address
Bus
LE
Q0-Q7
AD0-AD7
D0-D7
OE
523
[MEMO]
524
CHAPTER 23
STANDBY FUNCTION
23.1 Standby Function and Configuration
23.1.1 Standby function
The standby function is designed to decrease power consumption of the system. The following two modes are
available.
(1) HALT mode
HALT instruction execution sets the HALT mode. The HALT mode is intended to stop the CPU operation clock.
System clock oscillator continues oscillation. In this mode, current consumption cannot be decreased as in
the STOP mode. The HALT mode is valid to restart immediately upon interrupt request and to carry out
intermittent operations such as in watch applications.
(2) STOP mode
STOP instruction execution sets the STOP mode. In the STOP mode, the main system clock oscillator stops
and the whole system stops. CPU current consumption can be considerably decreased.
Data memory low-voltage hold (down to VDD = 1.8 V) is possible. Thus, the STOP mode is effective to hold
data memory contents with ultra-low current consumption. Because this mode can be cleared upon interrupt
request, it enables intermittent operations to be carried out.
However, because a wait time is necessary to secure an oscillation stabilization time after the STOP mode
is cleared, select the HALT mode if it is necessary to start processing immediately upon interrupt request.
In any mode, all the contents of the register, flag and data memory just before standby mode setting are held. The
input/output port output latch and output buffer statuses are also held.
Cautions 1. The STOP mode can be used only when the system operates with the main system clock
(subsystem clock oscillation cannot be stopped). The HALT mode can be used with either
the main system clock or the subsystem clock.
2. When proceeding to the STOP mode, be sure to stop the peripheral hardware operation and
execute the STOP instruction.
3. The following sequence is recommended for power consumption reduction of the A/D
converter when the standby function is used: first clear bit 7 (CS) of A/D converter mode
register (ADM) to 0 to stop the A/D conversion operation, and then execute the HALT or STOP
instruction.
525
CHAPTER 23
STANDBY FUNCTION
23.1.2 Standby function control register
A wait time after the STOP mode is cleared upon interrupt request till the oscillation stabilizes is controlled with
the oscillation stabilization time select register (OSTS).
OSTS is set with an 8-bit memory manipulation instruction.
RESET input sets OSTS to 04H. However, it takes 217/fX, not 218/fX, until the STOP mode is cleared by RESET
input.
Figure 23-1. Oscillation Stabilization Time Select Register Format
Symbol
7
6
5
4
3
OSTS
0
0
0
0
0
2
1
0
After
Reset
04H
Address
FFFAH
OSTS2 OSTS1 OSTS0
R/W
R/W
Selection of Oscillation Stabilization
Time when STOP Mode is Released
OSTS2 OSTS1 OSTS0
MCS = 1
0
0
0
MCS = 0
12
12
2 /f x(1.64 ms)
14
14
215/f x(6.55 ms)
15
15
2 /f x(13.1 ms)
16
16
2 /f x(26.2 ms)
17
17
2 /f x(52.4 ms)
2 /f xx 2 /f x(819 ms)
0
0
1
2 /f xx 2 /f x(3.28 ms)
0
1
0
2 /f xx 2 /f x(6.55 ms)
0
1
1
2 /f xx 2 /f x(13.1 ms)
1
0
0
2 /f xx 2 /f x(26.2 ms)
13
16
17
18
Other than above Setting prohibited
Caution The wait time after STOP mode clear does not include the time (see "a" in the illustration below)
from STOP mode clear to clock oscillation start, regardless of clearance by RESET input or by
interrupt request generation.
STOP Mode Clear
X1 Pin
Voltage
Waveform
a
VSS
Remarks 1. fXX
2. fX
: Main system clock frequency (fX or fX/2)
: Main system clock oscillation frequency
3. MCS : Bit 0 of oscillation mode select register (OSMS)
4. Values in parentheses apply to operating at fX = 5.0 MHz
526
CHAPTER 23
STANDBY FUNCTION
23.2 Standby Function Operations
23.2.1 HALT mode
(1) HALT mode set and operating status
The HALT mode is set by executing the HALT instruction. It can be set with the main system clock or the
subsystem clock.
The operating status in the HALT mode is described below.
Table 23-1. HALT Mode Operating Status
Setting of HALT Mode
On Execution of HALT Instruction during Main
On Execution of HALT Instruction during
System Clock Operation
Subsystem Clock Operation
Without subsystem
With subsystem
When main system clock When main system
Item
clockNote 1
clockNote 1
continues oscillation
Clock generator
Both main system and subsystem clocks can be oscillated. Clock supply to the CPU stops.
CPU
Operation stops.
Port (output latch)
Status before HALT mode setting is held.
16-bit timer/event counter
Operable.
clock stops oscillation
Operable when watch
timer output is selected
as count clock (fXT is
selected as count clock
of watch timer) or when
TI00 is selected.
8-bit timer/event counter
Operable.
Operable when TI1 or
TI2 is selected as
count clock.
Watch timer
Operable when
fXX/27
is
Operable.
Operable when fXT is
selected as count clock.
Watchdog timer
Operable.
A/D converter
Operable.
D/A converter
Operable.
Real-time output port
Serial interface
selected as count clock.
Operation stops.
Operation stops.
Operable.
Other than
Operable.
automatic
Operable when
external SCK is used.
transmit/
receive
function
Automatic
Operation stops.
transmit/
receive
function
External interrupt
INTP0
INTP0 is operable when clock supplied for peripheral hardware is selected
Operation stops.
as sampling clock (fXX/25, fXX/26, fXX/27).
Bus line for
external
INTP1-INTP6
Operable.
AD0-AD7
High impedance.
A0-A15
Status before HALT mode setting is held.
ASTB
Low level.
WR, RD
High level.
WAIT
High impedance.
expansion
Notes 1. Including when external clock is not supplied
2. Including when external clock is supplied
527
CHAPTER 23
STANDBY FUNCTION
(2) HALT mode clear
The HALT mode can be cleared with the following four types of sources.
(a) Clear upon unmasked interrupt request
When an unmasked interrupt request is generated, the HALT mode is cleared. If interrupt request
acknowledge is enabled, vectored interrupt service is carried out. If disabled, the next address instruction
is executed.
Figure 23-2. HALT Mode Clear upon Interrupt Request Generation
HALT
Instruction
Interrupt
Request
Wait
Standby
Release Signal
Operating
Mode
HALT Mode
Wait
Operating Mode
Oscillation
Clock
Remarks 1. The broken line indicates the case when the interrupt request which has cleared the standby
status is acknowledged.
2. Wait time will be as follows:
• When vectored interrupt service is carried out:
8 to 9 clocks
• When vectored interrupt service is not carried out: 2 to 3 clocks
(b) Clear upon non-maskable interrupt request
When a non-maskable interrupt request is generated, the HALT mode is cleared and vectored interrupt
service is carried out whether interrupt acknowledge is enabled or disabled.
(c) Clear upon unmasked test input
When an unmasked test signal is input, the HALT mode is cleared and the next address instruction of
the HALT instruction is executed.
528
CHAPTER 23
STANDBY FUNCTION
(d) Clear upon RESET input
When a RESET signal is input, the HALT mode is released, and as is the case with normal reset
operation, a program is executed after branch to the reset vector address.
Figure 23-3. HALT Mode Release by RESET Input
Wait
(217/f x : 26.2 ms)
HALT
Instruction
RESET
Signal
Operating
Mode
HALT Mode
Oscillation
Clock
Reset
Period
Oscillation
stop
Oscillation
Stabilization
Wait Status
Operating
Mode
Oscillation
Remarks 1. fX: main system clock oscillation frequency
2. ( ): fX: 5.0 MHz
Table 23-2. Operation after HALT Mode Release
Release Source
MK××
PR××
IE
ISP
Maskable interrupt
0
0
0
×
Next address instruction execution
request
0
0
1
×
Interrupt service execution
0
1
0
1
Next address instruction execution
0
1
×
0
0
1
1
1
Interrupt service execution
1
×
×
×
HALT mode hold
Non-maskable interrupt
request
–
–
×
×
Interrupt service execution
Test input
0
–
×
×
Next address instruction execution
1
–
×
×
HALT mode hold
–
–
×
×
Reset processing
RESET input
Remark
Operation
x: Don't care
529
CHAPTER 23
STANDBY FUNCTION
23.2.2 STOP mode
(1) STOP mode set and operating status
The STOP mode is set by executing the STOP instruction. It can be set only with the main system clock.
Cautions 1. When the STOP mode is set, the X2 pin is internally connected to VDD via a pull-up resistor
to minimize the leakage current at the crystal oscillator. Thus, do not use the STOP mode
in a system where an external clock is used for the main system clock.
2. Because the interrupt request signal is used to clear the standby mode, if there is an
interrupt source with the interrupt request flag set and the interrupt mask flag reset, the
standby mode is immediately cleared if set. Thus, the STOP mode is reset to the HALT
mode immediately after execution of the STOP instruction. After the wait set using the
oscillation stabilization time select register (OSTS), the operating mode is set.
The operating status in the STOP mode is described below.
Table 23-3. STOP Mode Operating Status
Setting of STOP Mode
Item
With subsystem clock
Without subsystem clock
Clock generator
Only main system clock stops oscillation.
CPU
Operation stops.
Port (output latch)
Status before STOP mode setting is held.
16-bit timer/event counter
Operable when watch timer output is
selected as count clock (fXT is selected as
count clock of watch timer)
8-bit timer/event counter
Operable when TI1 and TI2 are selected for the count clock.
Watch timer
Operable when fXT is selected for the
count clock.
Watchdog timer
Operation stops.
Operation stops.
Operation stops.
A/D converter
D/A converter
Operable.
Real-time output port
Operable when external trigger is used or TI1 and TI2 are selected for the 8-bit
timer/event counter count clock.
Serial interface
Other than
automatic
transmit/receive
function and
UART
Operable when externally supplied clock is specified as the serial clock.
Automatic
transmit/receive
function and
UART
Operation stops.
INTP0
Not operable.
INTP1-INTP6
Operable.
AD0-AD7
High impedance.
A0-A15
Status before STOP mode setting is held.
ASTB
Low level.
WR, RD
High level.
WAIT
High impedance.
External interrupt
Bus line for
external
expansion
530
CHAPTER 23
STANDBY FUNCTION
(2) STOP mode release
The STOP mode can be cleared with the following three types of sources.
(a) Release by unmasked interrupt request
When an unmasked interrupt request is generated, the STOP mode is cleared. If interrupt request
acknowledge is enabled after the lapse of oscillation stabilization time, vectored interrupt service is carried
out. If interrupt request acknowledge is disabled, the next address instruction is executed.
Figure 23-4. STOP Mode Release by Interrupt Request Generation
Interrupt
Request
STOP
Instruction
Wait
(Time set by OSTS)
Standby
Release Signal
Clock
Operationg
Mode
STOP Mode
Oscillation Stabilization
Wait Status
Oscillation
Oscillation Stop
Oscillation
Operating
Mode
Remark The broken line indicates the case when the interrupt request which has cleared the standby
status is acknowledged.
(b) Release by unmasked test input
When an unmasked test signal is input, the STOP mode is cleared. And after the lapse of oscillation
stabilization time, the instruction at the next address of the STOP instruction is executed.
531
CHAPTER 23
STANDBY FUNCTION
(c) Release by RESET input
When a RESET signal is input, the STOP mode is released. And after the lapse of oscillation stabilization
time, reset operation is carried out.
Figure 23-5. Release by STOP Mode RESET Input
Wait
17
(2 /f x : 26.2 ms)
STOP
Instruction
RESET
Signal
Operating
Mode
Reset
Period
STOP Mode
Oscillation
Oscillation
Stabilization
Wait Status
Oscillation Stop
Operating
Mode
Oscillation
Clock
Remarks 1. fX: main system clock oscillation frequency
2. ( ): fX: 5.0 MHz
Table 23-4. Operation after STOP Mode Release
Release Source
Maskable interrupt request
Test input
RESET input
Remark ×: Don't care
532
MK××
PR××
IE
ISP
Operation
0
0
0
×
Next address instruction execution
0
0
1
×
Interrupt service execution
0
1
0
1
Next address instruction execution
0
1
×
0
0
1
1
1
Interrupt service execution
1
×
×
×
STOP mode hold
0
–
×
×
Next address instruction execution
1
–
×
×
STOP mode hold
–
–
×
×
Reset processing
CHAPTER 24 RESET FUNCTION
24.1 Reset Function
The following two operations are available to generate the reset signal.
(1) External reset input with RESET pin
(2) Internal reset by watchdog timer overrun time detection
External reset and internal reset have no functional differences. In both cases, program execution starts at the
address at 0000H and 0001H by RESET input.
When a low level is input to the RESET pin or the watchdog timer overflows, a reset is applied and each hardware
is set to the status as shown in Table 24-1. Each pin has high impedance during reset input or during oscillation
stabilization time just after reset clear.
When a high level is input to the RESET input, the reset is cleared and program execution starts after the lapse
of oscillation stabilization time (217/fX). The reset applied by watchdog timer overflow is automatically cleared after
a reset and program execution starts after the lapse of oscillation stabilization time (217/fX) (see Figure 24-2 to 244).
Cautions 1. For an external reset, input a low level for 10 µs or more to the RESET pin.
2. During reset input, main system clock oscillation remains stopped but subsystem clock
oscillation continues.
3. When the STOP mode is cleared by reset, the STOP mode contents are held during reset input.
However, the port pin becomes high-impedance.
Figure 24-1. Block Diagram of Reset Function
RESET
Count Clock
Reset
Signal
Reset Control Circuit
Watchdog Timer
Overflow
Interrupt
Function
Stop
533
CHAPTER 24 RESET FUNCTION
Figure 24-2. Timing of Reset Input by RESET Input
X1
Oscillation
Stabilization
Time Wait
Reset Period
(Oscillation
Stop)
Normal Operation
Normal Operation
(Reset Processing)
RESET
Internal
Reset Signal
Delay
Delay
Hi-Z
Port Pin
Figure 24-3. Timing of Reset due to Watchdog Timer Overflow
X1
Reset Period
(Oscillation
Stop)
Normal Operation
Watchdog
Timer
Overflow
Oscillation
Stabilization
Time Wait
Normal Operation
(Reset Processing)
Internal
Reset Signal
Hi-Z
Port Pin
Figure 24-4. Timing of Reset Input in STOP Mode by RESET Input
X1
STOP Instruction Execution
Stop Status
(Oscillation
Stop)
Normal Operation
Reset Period
(Oscillation
Stop)
Oscillation
Stabilization
Time Wait
RESET
Internal
Reset Signal
Delay
Port Pin
534
Delay
Hi-Z
Normal Operation
(Reset Processing)
CHAPTER 24
RESET FUNCTION
Table 24-1. Hardware Status after Reset (1/2)
Hardware
Program counter (PC)
Note1
Status after Reset
The contents of reset vector
tables (0000H and 0001H)
are set.
Stack pointer (SP)
Undefined
Program status word (PSW)
RAM
Port (Output latch)
02H
Data memory
Undefined Note2
General register
Undefined Note2
Ports 0 to 3, Port 7, Port 12, Port 13
00H
(P0 to P3, P7, P12, P13)
Ports 4 to 6 (P4 to P6)
Undefined
Port mode register (PM0 to PM3, PM5 to PM7, PM12, PM13)
FFH
Pull-up resistor option register (PUOH, PUOL)
00H
Processor clock control register (PCC)
04H
Oscillation mode selection register (OSMS)
00H
Memory size switching register (IMS)
Note3
Internal expansion RAM size switching register (IXS)Note4
0AH
Memory expansion mode register (MM)
10H
Oscillation stabilization time select register (OSTS)
04H
Timer register (TM0)
Capture/compare register (CR00, CR01)
16-bit timer/event counter
1 and 2
Undefined
Clock selection register (TCL0)
00H
Mode control register (TMC0)
00H
Capture/compare control register 0 (CRC0)
04H
Output control register (TOC0)
00H
Timer register (TM1, TM2)
00H
Compare registers (CR10, CR20)
8-bit timer/event counter
0000H
Undefined
Clock select register (TCL1)
00H
Mode control registers (TMC1)
00H
Output control register (TOC1)
00H
Notes 1. During reset input or oscillation stabilization time wait, only the PC contents among the hardware
statuses become undefined. All other hardware statuses remains unchanged after reset.
2. When reset in the standby mode, the state before reset is held even after reset.
3. The values after reset depend on the product.
µPD78052, 78052Y : 44H, µPD78053, 78053Y : C6H, µPD78054, 78054Y : C8H,
µPD78P054 : C8H, µPD78055, 78055Y : CAH, µPD78056, 78056Y : CCH,
µPD78058, 78058Y : CFH, µPD78P058, 78P058Y: CFH
4. Provided only in the µPD78058, 78058Y, 78P058, and 78P058Y.
535
CHAPTER 24 RESET FUNCTION
Table 24-1. Hardware Status after Reset (2/2)
Hardware
Watch timer
Watchdog timer
Serial interface
Status after Reset
Mode control register (TMC2)
00H
Clock select register (TCL2)
00H
Mode register (WDTM)
00H
Clock select register (TCL3)
88H
Shift registers (SIO0, SIO1)
Undefined
Mode registers (CSIM0, CSIM1, CSIM2)
00H
Serial bus interface control register (SBIC)
00H
Slave address register (SVA)
Undefined
Automatic data transmit/receive control register (ADTC)
00H
Automatic data transmit/receive address pointer (ADTP)
00H
Automatic data transmit/receive interval specify register (ADTI)
00H
Asynchronous serial interface mode register (ASIM)
00H
Asynchronous serial interface status register (ASIS)
00H
Baud rate generator control register (BRGC)
00H
Transmit shift register (TXS)
FFH
Receive buffer register (RXB)
A/D converter
Interrupt timing specify register (SINT)
00H
Mode register (ADM)
01H
Conversion result register (ADCR)
D/A converter
Real-time output port
ROM correction(Note)
Interrupt
Note
536
Undefined
Input select register (ADIS)
00H
Mode register (DAM)
00H
Conversion value setting register (DACS0, DACS1)
00H
Mode register (RTPM)
00H
Control register (RTPC)
00H
Buffer register (RTBL, RTBH)
00H
Correction address register (CORAD0, CORAD1)
0000H
Correction control register (CORCN)
00H
Request flag register (IF0L, IF0H, IF1L)
00H
Mask flag register (MK0L, MK0H, MK1L)
FFH
Priority specify flag register (PR0L, PR0H, PR1L)
FFH
External interrupt mode register (INTM0, INTM1)
00H
Key return mode register (KRM)
02H
Sampling clock select register (SCS)
00H
Provided only in the µPD78058, 78058Y, 78P058, 78P058Y.
CHAPTER 25
ROM CORRECTION
25.1 ROM Correction Functions
The µPD78058, 78058Y subseries can replace part of a program in the mask ROM with a program in the internal
expansion RAM.
Instruction bugs found in the mask ROM can be avoided, and program flow can be changed by using the ROM
correction.
The ROM correction can correct two places (max.) of the internal ROM (program).
Caution
The ROM correction cannot be emulated by the in-circuit emulator (IE-78000-R, IE-78000-R-A,
IE-78K0-NS, IE-78001-R-A).
25.2 ROM Correction Configuration
The ROM correction is executed by the following hardware.
Table 25-1. ROM Correction Configuration
Item
Configuration
Register
Correction address registers 0 and 1 (CORAD0, CORAD1)
Control register
Correction control register (CORCN)
Figure 25-1 shows a block diagram of the ROM correction.
Figure 25-1. Block Diagram of ROM Correction
Program counter (PC)
Comparator
Correction address
register (CORADn)
Match
Correction branch request
signal (BR !7FDH)
CORENn CORSTn
Correction control register
Internal bus
Remark
n = 0, 1
537
CHAPTER 25
ROM CORRECTION
(1) Correction address registers 0 and 1 (CORAD0, CORAD1)
These registers set the start address (correction address) of the instruction(s) to be corrected in the mask
ROM.
The ROM correction corrects two places (max.) of the program. Addresses are set to two registers, CORAD0
and CORAD1. If only one place needs to be corrected, set the address to either of the registers.
CORAD0 and CORAD1 are set with a 16-bit memory manipulation instruction.
RESET input sets CORAD0 and CORAD1 to 0000H.
Figure 25-2. Correction Address Registers 0 and 1 Format
Address
State
after reset
R/W
CORAD0
FF38H/FF39H
0000H
R/W
CORAD1
FF3AH/FF3BH
0000H
R/W
Symbol
15
0
Cautions 1. Set the CORAD0 and CORAD1 when bit 1 (COREN0) and bit 3 (COREN1) of the correction
control register (CORCN : see Figure 25-3) are 0.
2. Only addresses where operation codes are stored can be set in CORAD0 and CORAD1.
3. Do not set the following addresses to CORAD0 and CORAD1.
• Address value in table area of table reference instruction (CALLT instruction) : 0040H
to 007FH
• Address value in vector table area : 0000H to 003FH
(2) Comparator
The comparator always compares the correction address value set in correction address registers 0 and 1
(CORAD0, CORAD1) with the fetch address value. When bit 1 (COREN0) or bit 3 (COREN1) of the correction
control register (CORCN) is 1 and the correction address matches the fetch address value, the correction
branch request signal (BR !F7FDH) is generated from the ROM correction circuit.
538
CHAPTER 25
ROM CORRECTION
25.3 ROM Correction Control Registers
The ROM correction is controlled with the correction control register (CORCN).
(1) Correction control register (CORCN)
This register controls whether or not the correction branch request signal is generated when the fetch
address matches the correction address set in correction address registers 0 and 1. The correction control
register consists of correction enable flags (COREN0, COREN1) and correction status flags (CORST0,
CORST1). The correction enable flags enable or disable the comparator match detection signal, and
correction status flags show the values are matched. CORCN is set with a 1-bit or 8-bit memory manipulation
instruction.
RESET input sets CORCN to 00H.
Figure 25-3. Correction Control Register Format
Symbol
7
6
5
4
CORCN
0
0
0
0
<3>
<2>
<1>
<0>
COREN1 CORST1 COREN0 CORST0
Address
State
after reset
FF8AH
00H
R/W
R/W Note
CORST0 Correction address register 0 and fetch address match detection
0
Not detected
1
Detected
Correction address register 0 and fetch address match
COREN0 detection control
0
Disabled
1
Enabled
CORST1 Correction address register 1 and fetch address match detection
0
Not detected
1
Detected
Correction address register 1 and fetch address match
COREN1 detection control
Note
0
Disabled
1
Enabled
Bits 0 and 2 are read-only bits.
539
CHAPTER 25
ROM CORRECTION
25.4 ROM Correction Application
(1) Store the correction address and instruction after correction (patch program) to nonvolatile memory (such as
EEPROMTM) outside the microcontroller.
When two places should be corrected, store the branch destination judgment program as well. The branch
destination judgment program checks which one of the addresses set to CORAD0 or CORAD1 generates the
correction branch.
Figure 25-4. Storing Example to EEPROM (when one place is corrected)
Source program
EEPROM
00H
00
01H
10
02H
0D
CSEG AT 1000H
ADD
A, #2
BR
!1002H
RA78K/0
02
9B
02
10
FFH
Figure 25-5. Connecting Example with EEPROM (using 2-wire serial I/O mode)
µ PD78058, 78058Y
EEPROM
VDD
VDD
VDD
CE
540
SCK0
SCL
SB1
SDA
P32
CS
CHAPTER 25
ROM CORRECTION
(2) Assemble in advance the initialization routine as shown in Figure 25-6 to correct the program.
Figure 25-6. Initialization Routine
Initialization
ROM correction
Is ROM
correction used ? Note
No
Yes
Load the contents of external nonvolatile memory
into internal expansion RAM
Correction address register setting
ROM correction enabled
Main program
Note
Whether the ROM correction is used or not should be judged by the port input level. For example, when
the P20 input level is high, the ROM correction is used, otherwise, it is not used.
(3) After reset, store the contents that have been previously stored in the external nonvolatile memory with
initialization routine for ROM correction of the user to internal expansion RAM (see Figure 25-6).
Set the start address of the instruction to be corrected to CORAD0 and CORAD1, and set bits 1 and 3
(COREN0, COREN1) of the correction control register (CORCN) to 1.
(4) Set the entire-space branch instruction (BR !addr16) to the specified address (F7FDH) of the internal
expansion RAM with the main program.
(5) After the main program is started, the fetch address value and the values set in CORAD0 and CORAD1 are
always compared by the comparator in the ROM correction circuit. When these values match, the correction
branch request signal is generated. Simultaneously the corresponding correction status flag (CORST0 or
CORST1) is set to 1.
(6) Branch to the address F7FDH by the correction branch request signal.
(7) Branch to the internal expansion RAM address set with the main program by the entire-space branch
instruction of the address F7FDH.
(8) When one place is corrected, the correction program is executed. When two places are corrected, the
correction status flag is checked with the branch destination judgment program, and branches to the correction
program.
541
CHAPTER 25
ROM CORRECTION
Figure 25-7. ROM Correction Operation
Internal ROM program start
Does fetch address
match with correction
address?
Yes
Set correction status flag
Correction branch
(branch to address F7FDH)
Correction program execution
542
No
ROM correction
CHAPTER 25
ROM CORRECTION
25.5 ROM Correction Example
The example of ROM correction when the instruction at address 1000H “ADD A, #1” is changed to “ADD A, #2”
is as follows.
Figure 25-8. ROM Correction Example
Internal expansion RAM
F400H
Internal ROM
0000H
0080H
Program start
F702H
(3)
1000H
1002H
ADD A, #2
BR !1002H
ADD A, #1
MOV B, A
(2)
(1)
F7FDH
BR
EFFFH
!F702H
F7FFH
(1) Branches to address F7FDH when the preset value 1000H in the correction address register matches the fetch
address value after the main program is started.
(2) Branches to any address (address F702H in this example) by setting the entire-space branch instruction (BR
!addr16) to address F7FDH with the main program.
(3) Returns to the internal ROM program after executing the substitute instruction ADD A, #2.
543
CHAPTER 25
ROM CORRECTION
25.6 Program Execution Flow
Figures 25-9 and 25-10 show the program transition diagrams when the ROM correction is used.
Figure 25-9. Program Transition Diagram (when one place is corrected)
FFFFH
F7FFH
BR !JUMP
F7FDH
(2)
Correction program
JUMP
(1)
(3)
Internal ROM
Correction place
xxxxH
Internal ROM
0000H
(1) Branches to address F7FDH when fetch address matches correction address
(2) Branches to correction program
(3) Returns to internal ROM program
Remark
Area filled with diagonal lines : Internal expansion RAM
JUMP : Correction program start address
544
CHAPTER 25
ROM CORRECTION
Figure 25-10. Program Transition Diagram (when two places are corrected)
FFFFH
F7FFH
(6)
BR !JUMP
F7FDH
(2)
Correction program 2
yyyyH
(7)
Correction program 1
xxxxH
(3)
Destination judge program
(8)
JUMP
(4)
(5)
Internal ROM
Correction place 2
(1)
Internal ROM
Correction place 1
Internal ROM
0000H
(1) Branches to address F7FDH when fetch address matches correction address
(2) Branches to branch destination judgment program
(3) Branches to correction program 1 by branch destination judgment program (BTCLR !CORST0, $xxxxH)
(4) Returns to internal ROM program
(5) Branches to address F7FDH when fetch address matches correction address
(6) Branches to branch destination judgment program
(7) Branches to correction program 2 by branch destination judgment program (BTCLR !CORST1, $yyyyH)
(8) Returns to internal ROM program
Remark
Area filled with diagonal lines : Internal expansion RAM
JUMP : Destination judge program start address
545
CHAPTER 25
ROM CORRECTION
25.7 Cautions on ROM Correction
(1) Address values set in correction address registers 0 and 1 (CORAD0, CORAD1) must be addresses where
instruction codes are stored.
(2) Correction address registers 0 and 1 (CORAD0, CORAD1) should be set when the correction enable flag
(COREN0, COREN1) is 0 (when the correction branch is in disabled state). If address is set to CORAD0 or
CORAD1 when COREN0 or COREN1 is 1 (when the correction branch is in enabled state), the correction
branch may start with the different address from the set address value.
(3) Do not set the address value of instruction immediately after the instruction that sets the correction enable
flag (COREN0, COREN1) to 1, to correction address register 0 or 1 (CORAD0, CORAD1) ; the correction
branch may not start.
(4) Do not set the address value in table area of table reference instruction (CALLT instruction) (0040H to 007FH),
and the address value in vector table area (0000H to 003FH) to correction address registers 0 and 1 (CORAD0,
CORAD1).
(5) Do not set two addresses immediately after the instructions shown below to correction address registers 0
and 1 (CORAD0, CORAD1). (that is, when the mapped terminal address of these instructions is N, do not
set the address values of N+1 and N+2.)
• RET
• RETI
• RETB
• BR $addr16
• STOP
• HALT
546
CHAPTER 26 µPD78P054, 78P058
The µPD78054, 78054Y subseries include the µPD78P054, 78P058, 78P058Y as PROM versions.
For purposes of simplification, in this chapter, the description of the µPD78P058 applies to both the µPD78P058
and 78P058Y. Similarly, the µPD78052, 78053, 78054, 78055, 78056, and 78058 are treated as the representative
models of the mask ROM products.
The µPD78P054, 78P058 replace the internal mask ROM of the µPD78054, 78058 with one-time PROM or
EPROM. Table 26-1 lists the differences among the µPD78P054, 78P058 and the mask ROM versions. Table 262 lists the differences between the µPD78P054 and the µPD78P058.
Table 26-1. Differences between µPD78P054, 78P058 and Mask ROM Versions
µPD78P054, 78P058
Item
Mask ROM version
Internal ROM structure
One-time PROM/EPROM
Mask ROM
Internal ROM capacity
µPD78P054: 32 Kbytes
µPD78P058: 60 Kbytes
µPD78052:
µPD78053:
µPD78054:
µPD78055:
µPD78056:
µPD78058:
16
24
32
40
48
60
Internal high-speed RAM capacity
1024 bytes
µPD78052:
µPD78053:
µPD78054:
µPD78055:
µPD78056:
µPD78058:
512 bytes
1024 bytes
1024 bytes
1024 bytes
1024 bytes
1024 bytes
Internal expansion RAM capacity
µPD78P054: None
µPD78P058: 1024 bytes
µPD78052:
µPD78053:
µPD78054:
µPD78055:
µPD78056:
µPD78058:
None
None
None
None
None
1024 bytes
Changing internal ROM and internal highspeed RAM capacities with memory size
switching register
EnableNote 1
Disable
Changing of internal expansion RAM
capacity by internal expansion RAM size
switching register
Enable with µPD78P058 onlyNote 2
Disable
IC pin
None
Available
VPP pin
Available
None
Mask option with on-chip pull-up resistor
for P60 to P63 pins
None
None
Electrical characteristics
Refer to the separate Data Sheet.
Kbytes
Kbytes
Kbytes
Kbytes
Kbytes
Kbytes
547
CHAPTER 26
µPD78P054, 78P058
Notes 1. The internal ROM and internal high-speed RAM capacities are set as follows by RESET input:
Internal PROM: 32K bytes (µPD78P054), 60K bytes (µPD78P058)
Internal high-speed RAM: 1024 bytes
2. The internal expansion RAM is set to 1024 bytes by RESET input.
Caution The noise immunity and noise radiation differ between PROM versions and mask ROM versions.
When considering replacement of PROM versions with mask ROM versions in the stage between
test production and mass production, evaluate thoroughly with CS products (not ES products)
of the mask ROM versions.
Remarks 1. The µPD78P054 is a PROM model corresponding to the µPD78052, 78053, and 78054.
The µPD78P058 is a PROM model corresponding to the µPD78055, 78056, and 78058.
2. Only the µPD78058 and 78P058 are provided with an internal expansion RAM size switching
register.
Table 26-2. Differences between µPD78P054 and 78P058
Item
Internal PROM
µPD78P058
32 Kbytes
60 Kbytes
Internal expansion RAM
Not provided
1024 bytes
Internal expansion RAM
Not provided
Provided
size switching register
548
µPD78P054
CHAPTER 26
µPD78P054, 78P058
26.1 Memory Size Switching Register (µPD78P054)
The µPD78P054 allows users to define its internal ROM and high-speed RAM sizes using the memory size
switching register (IMS), so that the same memory mapping as that of a mask ROM version with a different-size internal
ROM and high-speed RAM is possible. IMS is set with an 8-bit memory manipulation instruction.
RESET input sets IMS to C8H.
Figure 26-1. Memory Size Switching Register Format (µPD78P054)
Symbol
7
6
5
IMS RAM2 RAM1 RAM0
4
0
3
2
1
0
ROM3 ROM2 ROM1 ROM0
Address
After
Reset
R/W
FFF0H
C8H
R/W
ROM3 ROM2 ROM1 ROM0 Internal ROM Capacity selection
0
1
0
0
16 Kbytes
0
1
1
0
24 Kbytes
1
0
0
0
32 Kbytes
Other than above
Setting prohibited
RAM2 RAM1 RAM0 Internal High-Speed RAM Capacity Selection
0
1
0
1
1
0
512 bytes
1024 bytes
Other than above
Setting prohibited
The IMS settings to give the same memory map as mask ROM versions are shown in Table 26-3.
Table 26-3. Examples of Memory Size Switching Register Settings (µPD78P054)
Relevant Mask ROM Version
IMS Setting
µPD78052
44H
µPD78053
C6H
µPD78054
C8H
549
CHAPTER 26
µPD78P054, 78P058
26.2 Memory Size Switching Register (µPD78P058)
The µPD78P058 allows users to define its internal ROM and high-speed RAM sizes using the memory size
switching register (IMS), so that the same memory mapping as that of a mask ROM version with a different-size internal
ROM and high-speed RAM is possible. IMS is set with an 8-bit memory manipulation instruction.
RESET input sets IMS to CFH.
Figure 26-2. Memory Size Switching Register Format (µPD78P058)
Symbol
7
6
5
IMS RAM2 RAM1 RAM0
4
0
3
2
1
0
ROM3 ROM2 ROM1 ROM0
Address
After
Reset
R/W
FFF0H
CFH
R/W
ROM3 ROM2 ROM1 ROM0 Internal ROM Capacity selection
0
1
0
0
16 Kbytes
0
1
1
0
24 Kbytes
1
0
0
0
32 Kbytes
1
0
1
0
40 Kbytes
1
1
0
0
48 Kbytes
1
1
1
0
56 Kbytes
1
1
1
1
60 Kbytes
Other than above
Setting prohibited
RAM2 RAM1 RAM0 Internal High-Speed RAM Capacity Selection
0
1
0
512 bytes
1
1
0
1024 bytes
Other than above
Setting prohibited
The IMS settings to give the same memory map as mask ROM versions are shown in Table 26-4.
Table 26-4. Examples of Memory Size Switching Register Settings (µPD78P058)
Relevant Mask ROM Version
550
IMS Setting
µPD78052, 78052Y
44H
µPD78053, 78053Y
C6H
µPD78054, 78054Y
C8H
µPD78055, 78055Y
CAH
µPD78056, 78056Y
CCH
µPD78058, 78058Y
CFH
CHAPTER 26
µPD78P054, 78P058
26.3 Internal Expansion RAM Size Switching Register
The µPD78P058 allows users to define its internal expansion RAM size using the internal expansion RAM size
switching register (IXS), so that the same memory mapping as that of a mask ROM version with a different-size internal
expansion RAM is possible. The IXS is set by an 8-bit memory manipulation instruction.
RESET signal input sets IXS to 0AH.
Figure 26-3. Internal Expansion RAM Size Switching Register Format
Symbol
7
6
5
4
IXS
0
0
0
0
3
2
1
0
IXRAM3 IXRAM2 IXRAM1 IXRAM0
Address
After
Reset
R/W
FFF4H
0AH
W
IXRAM3 IXRAM2 IXRAM1 IXRAM0 Internal extension RAM capacity selection
1
1
0
0
0 bytes
1
0
1
0
1024 bytes
Other than above
Setting prohibited
The value in the IXS that has the identical memory map to the mask ROM versions is given in Table 26-5.
Table 26-5. Value Set to the Internal Expansion RAM Size Switching Register
Pertinent mask ROM versions
µPD78052, 78052Y
Value set to IXS
0CH
µPD78053, 78053Y
µPD78054, 78054Y
µPD78055, 78055Y
µPD78056, 78056Y
µPD78058, 78058Y
0AH
Remark If a program for the µPD78P058 or 78P058Y which
includes “MOV IXS, #0CH” is implemented with the
µ PD78055, 78055Y, 78056, or 78056Y, this
instruction is ignored and causes no malfunction.
551
CHAPTER 26
µPD78P054, 78P058
26.4 PROM Programming
The µ PD78P054 and 78P058 incorporate a 32-Kbyte and 60-Kbyte PROM as program memory, respectively.
To write a program into the µ PD78P054 or 78P058 PROM, make the device enter the PROM programming mode
by setting the levels of the VPP and RESET pins as specified. For the connection of unused pins, see paragraph
(2) “PROM programming mode” in section 1.5 or 2.5 Pin Configuration (Top View).
Caution In case of the µ PD78P054, write the program in the range of addresses 0000H to 7FFFH (specify
the last address as 7FFFH.)
In case of the µ PD78P058, write the program in the range of addresses 0000H to EFFFH (specify
the last address as EFFFH.)
The program cannot be correctly written by a PROM programmer which does not have a write
address specification function.
26.4.1 Operating modes
When +5 V or +12.5 V is applied to the VPP pin and a low-level signal is applied to the RESET pin, the µPD78P054
and µPD78P058 are set to the PROM programming mode. This is one of the operating modes shown in Table 266 below according to the setting of the CE, OE, and PGM pins.
The PROM contents can be read by setting the read mode.
Table 26-6. PROM Programming Operating Modes
Pin
CE
OE
PGM
Page data latch
H
L
H
Data input
Page write
H
H
L
High impedance
L
H
L
Data input
L
L
H
Data output
×
H
H
×
L
L
L
L
H
Data output
L
H
×
High impedance
H
×
×
High impedance
Operating mode
RESET
VDD
VPP
Byte write
+12.5 V
+6.5 V
Program verify
L
Program inhibit
Read
Output disabled
+5 V
Standby
Remark
D0-D7
+5V
High impedance
×: L or H
(1) Read mode
Read mode is set by setting CE to L and OE to L.
(2) Output disable mode
If OE is set to H, data output becomes high impedance and the output disable mode is set.
Therefore, if multiple µPD78P054s or 78P058s are connected to the data bus, data can be read from any one
device by controlling the OE pin.
552
CHAPTER 26
µPD78P054, 78P058
(3) Standby mode
Setting CE to H sets the standby mode.
In this mode, data output becomes high impedance irrespective of the status of OE.
(4) Page data latch mode
Setting CE to H, PGM to H, and OE to L at the start of the page write mode sets the page data latch mode.
In this mode, 1-page 4-byte data is latched in the internal address/data latch circuit.
(5) Page write mode
After a 1-page 4-byte address and data are latched by the page data latch mode, a page write is executed
by applying a 0.1-ms program pulse (active-low) to the PGM pin while CE=H and OE=H. After this, program
verification can be performed by setting CE to L and OE to L.
If programming is not performed by one program pulse, repeated write and verify operations are executed
X times (X ≤ 10).
(6) Byte write mode
A byte write is executed by applying a 0.1-ms program pulse (active-low) to the PGM pin while CE=L and OE=H.
After this, program verification can be performed by setting OE to L.
If programming is not performed by one program pulse, repeated write and verify operations are executed
X times (X ≤ 10).
(7) Program verify mode
Setting CE to L, PGM to H, and OE to L sets the program verify mode.
After writing is performed, this mode should be used to check whether the data was written correctly.
(8) Program inhibit mode
The program inhibit mode is used when the OE pins, VPP pins and pins D0 to D7 of multiple µPD78P054s
or 78P058s are connected in parallel and any one of these devices must be written to.
The page write mode or byte write mode described above is used to perform a write. At this time, the write
is not performed on the device which has the PGM pin driven high.
553
CHAPTER 26
µPD78P054, 78P058
26.4.2 PROM write procedure
Figure 26-4. Page Program Mode Flowchart
Start
Address = G
VDD = 6.5 V, VPP = 12.5 V
Remark:
G = Start address
X=0
N = Last address of program
Latch
Address = Address + 1
Latch
Address = Address + 1
Latch
Address = Address + 1
Address = Address + 1
Latch
X=X+1
No
X = 10?
0.1-ms program pulse
Yes
Fail
Verify 4 Bytes
Pass
No
Address = N?
Yes
VDD = 4.5 to 5.5 V, VPP = VDD
Pass
All bytes verified?
Fail
All Pass
End of write
554
Defective product
CHAPTER 26
µPD78P054, 78P058
Figure 26-5. Page Program Mode Timing
Page Data Latch
Page
Program
Program Verify
A2-A16
A0, A1
Hi-Z
D0-D7
Data Input
Data Output
VPP
VPP
VDD
VDD+1.5
VDD
VDD
VIH
CE
VIL
VIH
PGM
VIL
VIH
OE
VIL
555
CHAPTER 26
µPD78P054, 78P058
Figure 26-6. Byte Program Mode Flowchart
Start
Remark:
Address = G
G = Start address
N = Last address of program
VDD = 6.5 V, VPP = 12.5 V
X=0
X=X+1
No
X = 10?
0.1-ms program pulse
Address = Address + 1
Verify
Yes
Fail
Pass
No
Address = N?
Yes
VDD = 4.5 to 5.5 V, VPP = VDD
Pass
All bytes verified?
Fail
All Pass
End of write
556
Defective product
CHAPTER 26
µPD78P054, 78P058
Figure 26-7. Byte Program Mode Timing
Program
Program Verify
A0-A16
D0-D7
Data Input
Hi-Z
Data Output
VPP
VPP
VDD
VDD+1.5
VDD
VDD
VIH
CE
VIL
VIH
PGM
VIL
VIH
OE
VIL
Cautions 1. Be sure to apply VDD before applying VPP, and remove it after removing VPP.
2. VPP must not exceed +13.5 V including overshoot voltage.
3. Disconnecting/inserting the device from/to the on-board socket while +12.5 V is being applied
to the VPP pin may have an adverse affect on device reliability.
557
CHAPTER 26
µPD78P054, 78P058
26.4.3 PROM reading procedure
PROM contents can be read onto the external data bus (D0 to D7) using the following procedure.
(1) Fix the RESET pin low, and supply +5 V to the VPP pin. Unused pins are handled as shown in paragraph,
(2) “PROM programming mode” in section 1.5 or 2.5 Pin Configuration (Top View).
(2) Supply +5 V to the VDD and VPP pins.
(3) Input the address of data to be read to pins A0 through A16.
(4) Read mode is entered.
(5) Data is output to pins D0 through D7.
The timing for steps (2) through (5) above is shown in Figure 26-8.
Figure 26-8. PROM Read Timing
A0-A16
Address Input
CE (Input)
OE (Input)
Hi-Z
D0-D7
558
Hi-Z
Data Output
CHAPTER 26
µPD78P054, 78P058
26.5 Erasure Procedure (µPD78P054KK-T and 78P058KK-T Only)
With the µPD78P054KK-T or 78P058KK-T, it is possible to erase ( or set all contents to FFH) the data contents
written in the program memory, and rewrite the memory.
The data can be erased by exposing the window to light with a wavelength of approximately 400 nm or shorter.
Typically, data is erased by 254-nm ultraviolet light rays. The minimum lighting level to completely erase the written
data is shown below.
• UV intensity × exposure time: 30 W .s/cm2 or more
• Exposure time: 40 minutes or more (using a 12 mW/cm2 ultraviolet lamp. A longer exposure time may be
required in case of deterioration of the ultraviolet lamp or dirt on the package window).
When erasing written data, remove any filter on the window and place the device within 2.5 cm of the lamp tube.
26.6 Opaque Film Masking the Window (µPD78P054KK-T and 78P058KK-T Only)
To prevent unintentional erasure of the EPROM contents by light and to prevent internal circuits from mulfunction
due to light coming in through the erasure window, mask the window with opaque film after writing the EPROM.
26.7 Screening of One-Time PROM Versions
One-time PROM versions ( µPD78P054GC-3B9, 78P054GC-8BT, 78P054GK-BE9, 78P058GC-8BT, and
78P058YGC-8BT) cannot be fully tested by NEC before shipment due to the structure of one-time PROM. Therefore,
after users have written data into the PROM, screening should be implemented by user: that is, store devices at
high temperature for one day as specified below, and verify their contents after the devices have returned to room
temperature.
Storage Temperature
Storage Time
125°C
24 hours
For users who do not wish to implement screening by themselves, NEC provides such users with a charged
service in which NEC performs a series of processes from writing one-time PROMs and screening them to verifying
their contents for users by request. The PROM version devices which provide this service are called QTOPTM
microcontrollers. For details, please consult an NEC sales representative.
559
[MEMO]
560
CHAPTER 27 INSTRUCTION SET
This chapter describes each instruction set of the µPD78054 and 78054Y subseries as list table. For details of
its operation and operation code, refer to the separate document “78K/0 Series User’s Manual, Instruction
(U12326E).”
561
CHAPTER 27
INSTRUCTION SET
27.1 Legends Used in Operation List
27.1.1 Operand identifiers and description methods
Operands are described in “Operand” column of each instruction in accordance with the description method of
the instruction operand identifier (refer to the assembler specifications for detail). When there are two or more
description methods, select one of them. Alphabetic letters in capitals and symbols, #, !, $ and [ ] are key words and
must be described as they are. Each symbol has the following meaning.
• # : Immediate data specification
• !
: Absolute address specification
• $ : Relative address specification
• [ ] : Indirect address specification
In the case of immediate data, describe an appropriate numeric value or a label. When using a label, be sure to
describe the #, !, $, and [ ] symbols.
For operand register identifiers, r and rp, either function names (X, A, C, etc.) or absolute names (names in
parentheses in the table below, R0, R1, R2, etc.) can be used for description.
Table 27-1. Operand Identifiers and Description Methods
Identifier
Description Method
r
X (R0), A (R1), C (R2), B (R3), E (R4), D (R5), L (R6), H (R7),
rp
AX (RP0), BC (RP1), DE (RP2), HL (RP3)
sfr
Special-function register symbolNote
sfrp
Special-function register symbol (16-bit manipulatable register even addresses only)Note
saddr
FE20H-FF1FH Immediate data or labels
saddrp
FE20H-FF1FH Immediate data or labels (even address only)
addr16
0000H-FFFFH Immediate data or labels
(Only even addresses for 16-bit data transfer instructions)
addr11
0800H-0FFFH Immediate data or labels
addr5
0040H-007FH Immediate data or labels (even address only)
word
16-bit immediate data or label
byte
8-bit immediate data or label
bit
3-bit immediate data or label
RBn
RB0 to RB3
Note
Addresses from FFD0H to FFDFH cannot be accessed with these operands.
Remark
562
For special-function register symbols, refer to Table 5-6. Special-Function Register List.
CHAPTER 27
INSTRUCTION SET
27.1.2 Description of “operation” column
A
: A register; 8-bit accumulator
X
: X register
B
: B register
C
: C register
D
: D register
E
: E register
H
: H register
L
: L register
AX
: AX register pair; 16-bit accumulator
BC
: BC register pair
DE
: DE register pair
HL
: HL register pair
PC
: Program counter
SP
: Stack pointer
PSW
: Program status word
CY
: Carry flag
AC
: Auxiliary carry flag
Z
: Zero flag
RBS
: Register bank select flag
IE
: Interrupt request enable flag
NMIS : Non-maskable interrupt servicing flag
()
: Memory contents indicated by address or register contents in parentheses
×H, ×L : Higher 8 bits and lower 8 bits of 16-bit register
∧
: Logical product (AND)
∨
: Logical sum (OR)
∨
: Exclusive logical sum (exclusive OR)
: Inverted data
addr16 : 16-bit immediate data or label
jdisp8 : Signed 8-bit data (displacement value)
27.1.3 Description of “flag operation” column
(Blank) : Nt affected
0
: Cleared to 0
1
: Set to 1
×
: Set/cleared according to the result
R
: Previously saved value is restored
563
CHAPTER 27
INSTRUCTION SET
27.2 Operation List
Clock
Instruction
Mnemonic
Group
Operands
Byte
r, #byte
MOV
8-bit data
transfer
2
Note 2
4
–
Flag
Operation
3
6
7
(saddr) ← byte
sfr, #byte
3
–
7
sfr ← byte
A, r
Note 3
1
2
–
A←r
r, A
Note 3
1
2
–
r←A
A, saddr
2
4
5
A ← (saddr)
saddr, A
2
4
5
(saddr) ← A
A, sfr
2
–
5
A ← sfr
sfr, A
2
–
5
sfr ← A
A, !addr16
3
8
9+n
A ← (addr16)
!addr16, A
3
8
9+m
(addr16) ← A
PSW, #byte
3
–
7
PSW ← byte
A, PSW
2
–
5
A ← PSW
PSW, A
2
–
5
PSW ← A
A, [DE]
1
4
5+n
A ← (DE)
[DE], A
1
4
5+m
(DE) ← A
A, [HL]
1
4
5+n
A ← (HL)
[HL], A
1
4
5+m
(HL) ← A
A, [HL + byte]
2
8
9+n
A ← (HL + byte)
[HL + byte], A
2
8
9+m
(HL + byte) ← A
A, [HL + B]
1
6
7+n
A ← (HL + B)
[HL + B], A
1
6
7+m
(HL + B) ← A
A, [HL + C]
1
6
7+n
A ← (HL + C)
1
6
7+m
(HL + C) ← A
1
2
–
A↔r
A, saddr
2
4
6
A ↔ (saddr)
A, sfr
2
–
6
A ↔ sfr
A, !addr16
3
8
10 + n + m A ↔ (addr16)
A, [DE]
1
4
6 + n + m A ↔ (DE)
A, r
Note 3
Z AC CY
r ← byte
saddr, #byte
[HL + C], A
XCH
Note 1
A, [HL]
1
4
6 + n + m A ↔ (HL)
A, [HL + byte]
2
8
10 + n + m A ↔ (HL + byte)
A, [HL + B]
2
8
10 + n + m A ↔ (HL + B)
A, [HL + C]
2
8
10 + n + m A ↔ (HL + C)
×
×
×
×
×
×
Notes 1. When the internal high-speed RAM area is accessed or instruction with no data access.
2. When an area except the internal high-speed RAM area is accessed.
3. Except "r = A"
Remarks 1. One instruction clock cycle is one cycle of the CPU clock (fCPU) selected by the processor clock
control register (PCC).
2. This clock cycle applies to internal ROM program.
3. n is the number of waits when external memory expansion area is read from.
4. m is the number of waits when external memory expansion area is written to.
564
CHAPTER 27
Clock
Instruction
Mnemonic
Group
16-bit
data
transfer
MOVW
Operands
Byte
Flag
Operation
Z AC CY
6
–
rp ← word
saddrp, #word
4
8
10
(saddrp) ← word
sfrp, #word
4
–
10
sfrp ← word
AX, saddrp
2
6
8
AX ← (saddrp)
saddrp, AX
2
6
8
(saddrp) ← AX
AX, sfrp
2
–
8
AX ← sfrp
2
–
8
sfrp ← AX
AX, rp
Note 3
1
4
–
AX ← rp
rp, AX
Note 3
1
4
–
rp ← AX
3
10
12 + 2n AX ← (addr16)
12 + 2m (addr16) ← AX
!addr16, AX
AX, rp
Note 3
A, #byte
saddr, #byte
3
10
1
4
–
AX ↔ rp
2
4
–
A, CY ← A + byte
×
×
×
3
6
8
(saddr), CY ← (saddr) + byte
×
×
×
2
4
–
A, CY ← A + r
×
×
×
r, A
2
4
–
r, CY ← r + A
×
×
×
A, saddr
2
4
5
A, CY ← A + (saddr)
×
×
×
A, !addr16
3
8
9+n
A, CY ← A + (addr16)
×
×
×
A, r
8-bit
operation
Note 2
3
AX, !addr16
ADD
Note 1
rp, #word
sfrp, AX
XCHW
INSTRUCTION SET
Note 4
A, [HL]
1
4
5+n
A, CY ← A + (HL)
×
×
×
A, [HL + byte]
2
8
9+n
A, CY ← A + (HL + byte)
×
×
×
A, [HL + B]
2
8
9+n
A, CY ← A + (HL + B)
×
×
×
A, [HL + C]
2
8
9+n
A, CY ← A + (HL + C)
×
×
×
A, #byte
2
4
–
A, CY ← A + byte + CY
×
×
×
saddr, #byte
3
6
8
(saddr), CY ← (saddr) + byte + CY
×
×
×
2
4
–
A, CY ← A + r + CY
×
×
×
2
4
–
r, CY ← r + A + CY
×
×
×
A, r
Note 4
r, A
A, saddr
2
4
5
A, CY ← A + (saddr) + CY
×
×
×
A, !addr16
3
8
9+n
A, CY ← A + (addr16) + CY
×
×
×
A, [HL]
1
4
5+n
A, CY ← A + (HL) + CY
×
×
×
A, [HL + byte]
2
8
9+n
A, CY ← A + (HL + byte) + CY
×
×
×
ADDC
A, [HL + B]
2
8
9+n
A, CY ← A + (HL + B) + CY
×
×
×
A, [HL + C]
2
8
9+n
A, CY ← A + (HL + C) + CY
×
×
×
Notes 1. When the internal high-speed RAM area is accessed or instruction with no data access.
2. When an area except the internal high-speed RAM area is accessed.
3. Only when rp = BC, DE or HL
4. Except "r = A"
Remarks 1. One instruction clock cycle is one cycle of the CPU clock (fCPU) selected by the processor clock
control register (PCC).
2. This clock cycle applies to internal ROM program.
3. n is the number of waits when external memory expansion area is read from.
4. m is the number of waits when external memory expansion area is written to.
565
CHAPTER 27
Clock
Instruction
Mnemonic
Group
Operands
Byte
A, #byte
saddr, #byte
4
–
A, CY ← A – byte
×
×
×
3
6
8
(saddr), CY ← (saddr) – byte
×
×
×
4
–
A, CY ← A – r
×
×
×
4
–
r, CY ← r – A
×
×
×
A, saddr
2
4
5
A, CY ← A – (saddr)
×
×
×
A, !addr16
3
8
9+n
A, CY ← A – (addr16)
×
×
×
A, [HL]
1
4
5+n
A, CY ← A – (HL)
×
×
×
A, [HL + byte]
2
8
9+n
A, CY ← A – (HL + byte)
×
×
×
A, [HL + B]
2
8
9+n
A, CY ← A – (HL + B)
×
×
×
A, [HL + C]
2
8
9+n
A, CY ← A – (HL + C)
×
×
×
A, #byte
2
4
–
A, CY ← A – byte – CY
×
×
×
saddr, #byte
3
6
8
(saddr), CY ← (saddr) – byte – CY
×
×
×
2
4
–
A, CY ← A – r – CY
×
×
×
2
4
–
r, CY ← r – A – CY
×
×
×
Note 3
A, saddr
2
4
5
A, CY ← A – (saddr) – CY
×
×
×
A, !addr16
3
8
9+n
A, CY ← A – (addr16) – CY
×
×
×
A, [HL]
1
4
5+n
A, CY ← A – (HL) – CY
×
×
×
A, [HL + byte]
2
8
9+n
A, CY ← A – (HL + byte) – CY
×
×
×
A, [HL + B]
2
8
9+n
A, CY ← A – (HL + B) – CY
×
×
×
A, [HL + C]
2
8
9+n
A, CY ← A – (HL + C) – CY
×
×
×
A, #byte
2
4
–
A ← A ∧ byte
×
3
6
8
(saddr) ← (saddr)
saddr, #byte
byte
×
2
4
–
A←A∧r
×
r, A
2
4
–
r←r∧A
×
A, saddr
2
4
5
A ← A ∧ (saddr)
×
A, !addr16
3
8
9+n
A ← A ∧ (addr16)
×
A, r
AND
2
Z AC CY
2
Note 3
r, A
SUBC
Note 2
2
A, r
8-bit
operation
Flag
Operation
Note 1
r, A
A, r
SUB
INSTRUCTION SET
Note 3
A, [HL]
1
4
5+n
A ← A ∧ (HL)
×
A, [HL + byte]
2
8
9+n
A ← A ∧ (HL + byte)
×
A, [HL + B]
2
8
9+n
A ← A ∧ (HL + B)
×
A, [HL + C]
2
8
9+n
A ← A ∧ (HL + C)
×
Notes 1. When the internal high-speed RAM area is accessed or instruction with no data access.
2. When an area except the internal high-speed RAM area is accessed.
3. Except "r = A"
Remarks 1. One instruction clock cycle is one cycle of the CPU clock (fCPU) selected by the processor clock
control register (PCC).
2. This clock cycle applies to internal ROM program.
3. n is the number of waits when external memory expansion area is read from.
566
CHAPTER 27
Clock
Instruction
Mnemonic
Group
Operands
Byte
A, #byte
saddr, #byte
XOR
2
4
–
A ← A ∨ byte
×
3
6
8
(saddr) ← (saddr) ∨ byte
×
Z AC CY
4
–
A←A∨r
×
2
4
–
r←r∨A
×
A, saddr
2
4
5
A ← A ∨ (saddr)
×
A, !addr16
3
8
9+n
A ← A ∨ (addr16)
×
Note 3
A, [HL]
1
4
5+n
A ← A ∨ (HL)
×
A, [HL + byte]
2
8
9+n
A ← A ∨ (HL + byte)
×
A, [HL + B]
2
8
9+n
A ← A ∨ (HL + B)
×
A, [HL + C]
2
8
9+n
A ← A ∨ (HL + C)
×
A, #byte
2
4
–
A ← A ∨ byte
×
saddr, #byte
3
6
8
(saddr) ← (saddr) ∨ byte
×
2
4
–
A←A∨r
×
r, A
2
4
–
r←r∨A
×
A, saddr
2
4
5
A ← A ∨ (saddr)
×
A, !addr16
3
8
9+n
A ← A ∨ (addr16)
×
A, [HL]
1
4
5+n
A ← A ∨ (HL)
×
A, [HL + byte]
2
8
9+n
A ← A ∨ (HL + byte)
×
Note 3
A, [HL + B]
2
8
9+n
A ← A ∨ (HL + B)
×
A, [HL + C]
2
8
9+n
A ← A ∨ (HL + C)
×
A, #byte
2
4
–
A – byte
×
×
×
3
6
8
(saddr) – byte
×
×
×
saddr, #byte
2
4
–
A–r
×
×
×
r, A
2
4
–
r–A
×
×
×
A, saddr
2
4
5
A – (saddr)
×
×
×
A, !addr16
3
8
9+n
A – (addr16)
×
×
×
A, r
CMP
Note 2
2
A, r
8-bit
operation
Flag
Operation
Note 1
r, A
A, r
OR
INSTRUCTION SET
Note 3
A, [HL]
1
4
5+n
A – (HL)
×
×
×
A, [HL + byte]
2
8
9+n
A – (HL + byte)
×
×
×
A, [HL + B]
2
8
9+n
A – (HL + B)
×
×
×
A, [HL + C]
2
8
9+n
A – (HL + C)
×
×
×
Notes 1. When the internal high-speed RAM area is accessed or instruction with no data access.
2. When an area except the internal high-speed RAM area is accessed.
3. Except "r = A"
Remarks 1. One instruction clock cycle is one cycle of the CPU clock (fCPU) selected by the processor clock
control register (PCC).
2. This clock cycle applies to internal ROM program.
3. n is the number of waits when external memory expansion area is read from.
567
CHAPTER 27
Clock
Instruction
Mnemonic
Group
16-bit
operation
Multiply/
divide
Byte
Note 1
Note 2
Flag
Operation
Z AC CY
AX, #word
3
6
–
AX, CY ← AX + word
×
×
×
SUBW
AX, #word
3
6
–
AX, CY ← AX – word
×
×
×
CMPW
AX, #word
3
6
–
AX – word
×
×
×
MULU
X
2
16
–
AX ← A × X
DIVUW
C
2
25
–
AX (Quotient), C (Remainder) ← AX ÷ C
r
1
2
–
r←r+1
×
×
saddr
2
4
6
(saddr) ← (saddr) + 1
×
×
r
1
2
–
r←r–1
×
×
saddr
2
4
6
(saddr) ← (saddr) – 1
×
×
INCW
rp
1
4
–
rp ← rp + 1
DECW
rp
1
4
–
rp ← rp – 1
ROR
A, 1
1
2
–
(CY, A7 ← A0, Am – 1 ← Am) × 1 time
×
ROL
A, 1
1
2
–
(CY, A0 ← A7, Am + 1 ← Am) × 1 time
×
RORC
A, 1
1
2
–
(CY ← A0, A7 ← CY, Am – 1 ← Am) × 1 time
×
ROLC
A, 1
1
2
–
(CY ← A7, A0 ← CY, A m + 1 ← Am) × 1 time
×
Increment/
DEC
decrement
BCD
adjust
Operands
ADDW
INC
Rotate
INSTRUCTION SET
ROR4
[HL]
2
10
A3 – 0 ← (HL)3 – 0, (HL)7 – 4 ← A3 – 0,
12 + n + m
(HL)3 – 0 ← (HL)7 – 4
ROL4
[HL]
2
10
12 + n + m
A3 – 0 ← (HL)7 – 4, (HL)3 – 0 ← A3 – 0,
(HL)7 – 4 ← (HL)3 – 0
ADJBA
2
4
–
Decimal Adjust Accumulator after
Addition
×
×
×
ADJBS
2
4
–
Decimal Adjust Accumulator after
Subtract
×
×
×
CY, saddr.bit
3
6
7
CY ← (saddr.bit)
×
CY, sfr.bit
3
–
7
CY ← sfr.bit
×
CY, A.bit
2
4
–
CY ← A.bit
×
Bit
manipulate MOV1
CY, PSW.bit
3
–
7
CY ← PSW.bit
×
CY, [HL].bit
2
6
7+n
CY ← (HL).bit
×
saddr.bit, CY
3
6
8
(saddr.bit) ← CY
sfr.bit, CY
3
–
8
sfr.bit ← CY
A.bit, CY
2
4
–
A.bit ← CY
PSW.bit, CY
3
–
8
PSW.bit ← CY
[HL].bit, CY
2
6
×
×
8 + n + m (HL).bit ← CY
Notes 1. When the internal high-speed RAM area is accessed or instruction with no data access.
2. When an area except the internal high-speed RAM area is accessed.
Remarks 1. One instruction clock cycle is one cycle of the CPU clock (fCPU) selected by the processor clock
control register (PCC).
2. This clock cycle applies to internal ROM program.
3. n is the number of waits when external memory expansion area is read from.
4. m is the number of waits when external memory expansion area is written to.
568
CHAPTER 27
Clock
Instruction
Mnemonic
Group
AND1
OR1
XOR1
Bit
manipulate
SET1
CLR1
SET1
INSTRUCTION SET
Operands
Byte
Note 1
Note 2
Flag
Operation
Z AC CY
CY, saddr.bit
3
6
7
CY ← CY ∧ (saddr.bit)
×
CY, sfr.bit
3
–
7
CY ← CY ∧ sfr.bit
×
CY, A.bit
2
4
–
CY ← CY ∧ A.bit
×
CY, PSW.bit
3
–
7
CY ← CY ∧ PSW.bit
×
CY, [HL].bit
2
6
7+n
CY ← CY ∧ (HL).bit
×
CY, saddr.bit
3
6
7
CY ← CY ∨ (saddr.bit)
×
CY, sfr.bit
3
–
7
CY ← CY ∨ sfr.bit
×
CY, A.bit
2
4
–
CY ← CY ∨ A.bit
×
CY, PSW.bit
3
–
7
CY ← CY ∨ PSW.bit
×
CY, [HL].bit
2
6
7+n
CY ← CY ∨ (HL).bit
×
CY, saddr.bit
3
6
7
CY ← CY ∨ (saddr.bit)
×
CY, sfr.bit
3
–
7
CY ← CY ∨ sfr.bit
×
CY, A.bit
2
4
–
CY ← CY ∨ A.bit
×
CY, PSW. bit
3
–
7
CY ← CY ∨ PSW.bit
×
CY, [HL].bit
2
6
7+n
CY ← CY ∨ (HL).bit
×
saddr.bit
2
4
6
(saddr.bit) ← 1
sfr.bit
3
–
8
sfr.bit ← 1
A.bit
2
4
–
A.bit ← 1
PSW.bit
2
–
6
PSW.bit ← 1
[HL].bit
2
6
8+n+m
(HL).bit ← 1
saddr.bit
2
4
6
(saddr.bit) ← 0
sfr.bit
3
–
8
sfr.bit ← 0
A.bit
2
4
–
A.bit ← 0
PSW.bit
2
–
6
PSW.bit ← 0
[HL].bit
2
6
8+n+m
(HL).bit ← 0
CY
1
2
–
×
×
×
×
×
×
CY ← 1
1
CLR1
CY
1
2
–
CY ← 0
0
NOT1
CY
1
2
–
CY ← CY
×
Notes 1. When the internal high-speed RAM area is accessed or instruction with no data access.
2. When an area except the internal high-speed RAM area is accessed.
Remarks 1. One instruction clock cycle is one cycle of the CPU clock (fCPU) selected by the processor clock
control register (PCC).
2. This clock cycle applies to internal ROM program.
3. n is the number of waits when external memory expansion area is read from.
4. m is the number of waits when external memory expansion area is written to.
569
CHAPTER 27
INSTRUCTION SET
Clock
Instruction
Mnemonic
Group
Operands
Byte
Note 1
Note 2
Z AC CY
CALL
!addr16
3
7
–
(SP – 1) ← (PC + 3)H, (SP – 2) ← (PC + 3)L,
PC ← addr16, SP ← SP – 2
CALLF
!addr11
2
5
–
(SP – 1) ← (PC + 2)H, (SP – 2) ← (PC + 2)L,
PC15 – 11 ← 00001, PC10 – 0 ← addr11,
SP ← SP – 2
1
6
–
(SP – 1) ← (PC + 1)H, (SP – 2) ← (PC + 1)L,
PCH ← (00000000, addr5 + 1),
PCL ← (00000000, addr5),
SP ← SP – 2
BRK
1
6
–
(SP – 1) ← PSW, (SP – 2) ← (PC + 1)H,
(SP – 3) ← (PC + 1)L, PCH ← (003FH),
PCL ← (003EH), SP ← SP – 3, IE ← 0
RET
1
6
–
PCH ← (SP + 1), PCL ← (SP),
SP ← SP + 2
RETI
1
6
–
PCH ← (SP + 1), PCL ← (SP),
PSW ← (SP + 2), SP ← SP + 3,
NMIS ← 0
R
R
RETB
1
6
–
PCH ← (SP + 1), PCL ← (SP),
PSW ← (SP + 2), SP ← SP + 3
R
R R
PSW
1
2
–
(SP – 1) ← PSW, SP ← SP – 1
rp
1
4
–
(SP – 1) ← rpH, (SP – 2) ← rpL,
SP ← SP – 2
PSW
1
2
–
PSW ← (SP), SP ← SP + 1
R
R
CALLT
[addr5]
Call/return
PUSH
Stack
manipulate POP
MOVW
Unconditional
branch
Flag
Operation
BR
rp
1
4
–
rpH ← (SP + 1), rpL ← (SP),
SP ← SP + 2
SP, #word
4
–
10
SP ← word
SP, AX
2
–
8
SP ← AX
AX, SP
2
–
8
AX ← SP
!addr16
3
6
–
PC ← addr16
$addr16
2
6
–
PC ← PC + 2 + jdisp8
AX
2
8
–
PCH ← A, PCL ← X
$addr16
2
6
–
PC ← PC + 2 + jdisp8 if CY = 1
Conditional BNC
branch
BZ
$addr16
2
6
–
PC ← PC + 2 + jdisp8 if CY = 0
$addr16
2
6
–
PC ← PC + 2 + jdisp8 if Z = 1
BNZ
$addr16
2
6
–
PC ← PC + 2 + jdisp8 if Z = 0
BC
R
R
Notes 1. When the internal high-speed RAM area is accessed or instruction with no data access.
2. When an area except the internal high-speed RAM area is accessed.
Remarks 1. One instruction clock cycle is one cycle of the CPU clock (fCPU) selected by the processor clock
control register (PCC).
2. This clock cycle applies to internal ROM program.
570
CHAPTER 27
Clock
Instruction
Mnemonic
Group
Operands
Byte
Note 1
Note 2
Flag
Operation
Z AC CY
saddr.bit, $addr16
3
8
9
PC ← PC + 3 + jdisp8 if(saddr.bit) = 1
sfr.bit, $addr16
4
–
11
PC ← PC + 4 + jdisp8 if sfr.bit = 1
A.bit, $addr16
3
8
–
PC ← PC + 3 + jdisp8 if A.bit = 1
PSW.bit, $addr16
3
–
9
PC ← PC + 3 + jdisp8 if PSW.bit = 1
[HL].bit, $addr16
3
10
11 + n
PC ← PC + 3 + jdisp8 if (HL).bit = 1
saddr.bit, $addr16
4
10
11
sfr.bit, $addr16
4
–
11
PC ← PC + 4 + jdisp8 if sfr.bit = 0
A.bit, $addr16
3
8
–
PC ← PC + 3 + jdisp8 if A.bit = 0
PSW.bit, $addr16
4
–
11
PC ← PC + 4 + jdisp8 if PSW. bit = 0
[HL].bit, $addr16
3
10
11 + n
saddr.bit, $addr16
4
10
12
PC ← PC + 4 + jdisp8
if(saddr.bit) = 1
then reset(saddr.bit)
sfr.bit, $addr16
4
–
12
PC ← PC + 4 + jdisp8 if sfr.bit = 1
then reset sfr.bit
A.bit, $addr16
3
8
–
PC ← PC + 3 + jdisp8 if A.bit = 1
then reset A.bit
PSW.bit, $addr16
4
–
12
PC ← PC + 4 + jdisp8 if PSW.bit = 1
then reset PSW.bit
[HL].bit, $addr16
3
10
12 + n + m
PC ← PC + 3 + jdisp8 if (HL).bit = 1
then reset (HL).bit
B, $addr16
2
6
–
B ← B – 1, then
PC ← PC + 2 + jdisp8 if B ≠ 0
C, $addr16
2
6
–
C ← C –1, then
PC ← PC + 2 + jdisp8 if C ≠ 0
saddr. $addr16
3
8
10
(saddr) ← (saddr) – 1, then
PC ← PC + 3 + jdisp8 if(saddr) ≠ 0
RBn
2
4
–
RBS1, 0 ← n
NOP
1
2
–
No Operation
EI
2
–
6
IE ← 1(Enable Interrupt)
DI
2
–
6
IE ← 0(Disable Interrupt)
HALT
2
6
–
Set HALT Mode
STOP
2
6
–
Set STOP Mode
BT
BF
Conditional
branch
BTCLR
DBNZ
SEL
CPU
control
INSTRUCTION SET
PC ← PC + 4 + jdisp8 if(saddr.bit) = 0
PC ← PC + 3 + jdisp8 if (HL).bit = 0
×
×
×
Notes 1. When the internal high-speed RAM area is accessed or instruction with no data access.
2. When an area except the internal high-speed RAM area is accessed.
Remarks 1. One instruction clock cycle is one cycle of the CPU clock (fCPU) selected by the processor clock
control register (PCC).
2. This clock cycle applies to internal ROM program.
3. n is the number of waits when external memory expansion area is read from.
4. m is the number of waits when external memory expansion area is written to.
571
CHAPTER 27
INSTRUCTION SET
27.3 Instructions Listed by Addressing Type
(1) 8-bit instructions
MOV, XCH, ADD, ADDC, SUB, SUBC, AND, OR, XOR, CMP, MULU, DIVUW, INC, DEC, ROR, ROL, RORC,
ROLC, ROR4, ROL4, PUSH, POP, DBNZ
572
CHAPTER 27
INSTRUCTION SET
Second Operand
[HL + byte]
rNote
sfr
ADD
MOV
MOV
MOV
MOV
ADDC
SUB
XCH
ADD
XCH
XCH
ADD
XCH
ADD
SUBC
AND
ADDC
SUB
ADDC ADDC
SUB SUB
ADDC ADDC
SUB SUB
OR
XOR
SUBC
AND
SUBC SUBC
AND AND
SUBC SUBC
AND AND
CMP
OR
XOR
OR
XOR
OR
XOR
OR
XOR
OR
XOR
CMP
CMP
CMP
CMP
CMP
#byte
A
saddr !addr16 PSW
[DE]
[HL]
MOV
MOV
MOV
ROR
XCH
XCH
ADD
XCH
ADD
ROL
RORC
First Operand
A
r
MOV
MOV
[HL + B] $addr16
[HL + C]
1
None
ROLC
MOV
ADD
INC
DEC
ADDC
SUB
SUBC
AND
OR
XOR
CMP
B, C
DBNZ
sfr
saddr
MOV
MOV
MOV
MOV
ADD
ADDC
DBNZ
INC
DEC
SUB
SUBC
AND
OR
XOR
CMP
!addr16
MOV
PSW
MOV
MOV
[DE]
MOV
[HL]
MOV
[HL + byte]
MOV
PUSH
POP
ROR4
ROL4
[HL + B]
[HL + C]
X
MULU
C
DIVUW
Note
Except r = A
573
CHAPTER 27
INSTRUCTION SET
(2) 16-bit instructions
MOVW, XCHW, ADDW, SUBW, CMPW, PUSH, POP, INCW, DECW
Second Operand
#word
AX
rpNote
sfrp
saddrp
!addr16
SP
None
1st Operand
AX
ADDW
MOVW
SUBW
XCHW
MOVW
MOVW
MOVW
MOVW
CMPW
rp
MOVW
MOVWNote
INCW
DECW
PUSH
POP
sfrp
MOVW
MOVW
saddrp
MOVW
MOVW
!addr16
MOVW
SP
MOVW
Note
MOVW
Only when rp = BC, DE, HL
(3) Bit manipulation instructions
MOV1, AND1, OR1, XOR1, SET1, CLR1, NOT1, BT, BF, BTCLR
Second Operand
A.bit
sfr.bit
saddr.bit
PSW.bit
[HL].bit
CY
$addr16
None
First Operand
A.bit
MOV1
BT
SET1
BF
CLR1
BTCLR
sfr.bit
MOV1
BT
SET1
BF
CLR1
BTCLR
saddr.bit
MOV1
BT
SET1
BF
CLR1
BTCLR
PSW.bit
MOV1
BT
SET1
BF
CLR1
BTCLR
[HL].bit
MOV1
BT
SET1
BF
CLR1
BTCLR
CY
574
MOV1
MOV1
MOV1
MOV1
MOV1
SET1
AND1
AND1
AND1
AND1
AND1
CLR1
NOT1
OR1
OR1
OR1
OR1
OR1
XOR1
XOR1
XOR1
XOR1
XOR1
CHAPTER 27
INSTRUCTION SET
(4) Call/instructions/branch instructions
CALL, CALLF, CALLT, BR, BC, BNC, BZ, BNZ, BT, BF, BTCLR, DBNZ
Second Operand
AX
!addr16
!addr11
[addr5]
$addr16
First Operand
Basic instruction
BR
CALL
CALLF
CALLT
BR
BR
BC
BNC
BZ
BNZ
Compound
BT
instruction
BF
BTCLR
DBNZ
(5) Other instructions
ADJBA, ADJBS, BRK, RET, RETI, RETB, SEL, NOP, EI, DI, HALT, STOP
575
[MEMO]
576
APPENDIX A DIFFERENCES BETWEEN µPD78054, 78054Y SUBSERIES
AND µPD78058F, 78058FY SUBSERIES
Table A-1 shows the major differences between the µPD78054, 78054Y Subseries and µPD78058F, 78058FY
Subseries.
577
APPENDIX A
DIFFERENCES BETWEEN µPD78054, 78054Y SUBSERIES AND µPD78058F, 78058FY SUBSERIES
Table A-1. Major differences between µPD78054, 78054Y Subseries and µPD78058F, 78058FY Subseries
Part Number
µPD78054, 78054Y Subseries
µPD78058F, 78058FY Subseries
Item
EMI noise measure
None
Provided
PROM version
µPD78P054
µPD78P058F
µPD78P058
µPD78P058Y
µPD78P058Y
Supply voltage
VDD = 2.0 to 6.0 V
VDD = 2.7 to 6.0 V
Internal ROM capacity
µPD78052 : 16 Kbytes
µPD78056F : 48 Kbytes
µPD78053 : 24 Kbytes
µPD78058F : 60 Kbytes
µPD78054 : 32 Kbytes
µPD78P054 : 32 Kbytes
µPD78055 : 40 Kbytes
µPD78056 : 48 Kbytes
µPD78058 : 60 Kbytes
µPD78P058 : 60 Kbytes
Internal high-speed RAM capacity
µPD78052 : 512 bytes
µPD78056F : 1024 bytes
µPD78053 : 1024 bytes
µPD78058F : 1024 bytes
µPD78054 : 1024 bytes
µPD78P054 : 1024 bytes
µPD78055 : 1024 bytes
µPD78056 : 1024 bytes
µPD78058 : 1024 bytes
µPD78P058 : 1024 bytes
Internal expansion RAM capacity
µPD78058 : 1024 bytes
µPD78058F : 1024 bytes
µPD78P058 : 1024 bytes
VDD pin
Positive power supply (including ports)
Positive power supply (excluding ports)
VSS pin
Ground potential (including ports)
Ground potential (excluding ports)
AVDD pin
Analog power supply for A/D converter,
Analog power supply for A/D converter,
D/A converter
D/A converter and power supply for ports
Ground for A/D converter, D/A converter
Ground for A/D converter, D/A converter
AVSS pin
and ground for ports
Package
80-pin plastic QFP
80-pin plastic QFP
(14 × 14 mm, Resin thickness: 2.7 mm)
(14 × 14 mm, Resin thickness: 2.7 mm)
80-pin plastic QFP
80-pin plastic QFP
(14 × 14 mm, Resin thickness: 1.4 mm)
(14 × 14 mm, Resin thickness: 1.4 mm)
80-pin plastic TQFP (Fine pitch)
80-pin plastic TQFP (Fine pitch)
(12 × 12 mm)
80-pin ceramic WQFN (14 × 14
Electrical characteristics,
recommended soldering conditions
Note
578
PROM version only
Refer to individual data sheet.
(12 × 12 mm)
mm)Note
APPENDIX B DEVELOPMENT TOOLS
The following development tools are available for the development of systems which employ the µPD78054 and
78054Y subseries.
Figure B-1 shows the configuration of the development tools.
579
APPENDIX B
DEVELOPMENT TOOLS
Figure B-1. Development Tool Configuration (1/2)
(1) When using in-circuit emulator IE-78K0-NS
Language processing software
Debugging tool
• System simulator
• Integrated debugger
• Device file
• Assembler package
• C compiler package
• C library source file
• Device file
PROM programming tool
• PG-1500 controller
Embedded software
• Real-time OS
• OS
Host machine (PC)
Interface adapter,
PC card interface, etc.
PROM programming
environment
PROM
programmer
In-circuit emulator
Emulation board
Programmer
adapter
PROM-contained
version
Emulation probe
Conversion socket
or
conversion adapter
Target system
580
Power supply
unit
APPENDIX B
DEVELOPMENT TOOLS
Figure B-1. Development Tool Configuration (2/2)
(2) When using in-circuit emulator IE-78001-R-A
Language processing software
Debugging tool
• System simulator
• Integrated debugger
• Device file
• Assembler package
• C compiler package
• C library source file
• Device file
PROM programming tool
• PG-1500 controller
Embedded software
• Real-time OS
• OS
Host machine (PC or EWS)
Interface board
PROM programming
environment
In-circuit emulator
Interface adapter
PROM
programmer
Emulation board
Programmer
adapter
Probe board
I/O board
Emulation probe conversion board
PROM-contained
version
Emulation probe
Conversion socket
or
conversion adapter
Target system
Remark
The parts shown within broken lines differ depending on the developing environment. Refer to
B.3.1 Hardware.
581
APPENDIX B
DEVELOPMENT TOOLS
B.1 Language Processing Software
RA78K/0
A program that converts a program written in mnemonic into object
Assembler Package
codes that microcomputers can process.
Provided with functions to automatically perform generation of symbol
table, optimizing processing of branch instructions, etc.
Used in combination with separately available Device File (DF78054).
<Precautions for the use in PC environment>
Although Assembler Package is a DOS-based application, it can be
used in a Windows environment through the use of Project Manager
(included in Assembler Package) on Windows.
Part number: µSxxxxRA78K0
CC78K/0
C Compiler Package
A program which converts a program written in C language into
object codes that microcomputers can process.
Used in combination with separately available Assembler Package
and Device File.
<Precautions for the use in PC environment>
Although C Compiler Package is a DOS-based application, it can be
used in Windows environment through the use of Project Manager
(included in Assembler Package) on Windows.
Part number: µSxxxxCC78K0
DF78054Note
A file which contains information peculiar to the device.
Device File
Used in combination with separately available tools (RA78K/0, CC78K/0,
SM78K0, ID78K0-NS, ID78K0).
Supporting OS and host machines are dependent on the tool to be
combined with.
Part number: µSxxxxDF78054
CC78K/0-L
C Library Source File
A source file of functions which configure the object library included
in C Compiler package.
Required when modifying the object library included in C Compiler
Package for customization.
Since this is a source file, its operation environment is independent
from OS.
Part number: µSxxxxCC78K0-L
Note
582
The DF78054 can commonly be used for all the products of the RA78K/0, CC78K/0, SM78K0, ID78K0NS, and ID78K0.
APPENDIX B
Remark
DEVELOPMENT TOOLS
xxxx in the part number differs depending on the host machine and OS used.
µSxxxx
µSxxxx
µSxxxx
µSxxxx
RA78K0
CC78K0
DF78078
CC78K0-L
xxxx
Host Machine
OS
3.5-inch 2HD FD
3.5-inch 2HC FD
AA13
PC-9800 series
Japanese
AB13
IBM PC/AT™ and
Japanese WindowsNotes 1, 2
WindowsNotes 1, 2
BB13
compatibles
English
3P16
HP9000 series 700™
HP-UX™ (rel. 9.05)
3K13
SPARCstation™
SunOS™ (rel. 4.1.4)
3K15
3R13
Supply Media
WindowsNotes 1, 2
DAT (DDS)
3.5-inch 2HC FD
1/4-inch CGMT
NEWS™ (RISC)
NEWS-OS™ (rel. 6.1)
3.5-inch 2HC FD
Notes 1. Operates also in DOS environment.
2. Does not support WindowsNT™
583
APPENDIX B
DEVELOPMENT TOOLS
B.2 PROM Writing Tools
B.2.1 Hardware
PG-1500
A PROM programmer that, by connecting the attached board and separately
PROM Programmer
available PROM programmer adapter, is capable of programming singlechip microcomputers incorporating a PROM on stand-alone basis or through
operation from the host machine.
Also capable of programming typical 256-Kbit to 4-Mbit PROM.
PA-78P054GC
A PROM programmer adapter for the µPD78P054, 78P058, and 78P058Y.
PA-78P054GK
Used connected to the PG-1500.
PA-78P054KK-T
PA-78P054GC
: 80-pin plastic QFP (GC-3B9, GC-8BT type)
PROM Programmer Adapter
PA-78P054GK
: 80-pin plastic QFP (GK-BE9 type)
PA-78P054KK-T : 80-pin ceramic WQFN (KK-T type)
B.2.2 Software
PG-1500 Controller
Connects PG-1500 and the host machine with serial and parallel interface,
and controls the PG-1500 on the host machine.
The PG-1500 controller is a DOS-based application. Use it with the DOS
prompt on Windows.
Part number: µSxxxxPG1500
Remark
xxxx in the part number differs depending on the host machine and OS used.
µSxxxx PG1500
xxxx
5A13
Host Machine
PC-9800 series
OS
MS-DOS
Supply Media
3.5-inch 2HD FD
(ver. 3.30 to ver. 6.2Note)
5B13
IBM PC/AT and
Refer to B.4
3.5-inch 2HC FD
compatibles
Note
MS-DOS ver. 5.0 or later has a task swap function, but it cannot be used with the above
software.
584
APPENDIX B
DEVELOPMENT TOOLS
B.3 Debugging Tools
B.3.1 Hardware (1/2)
(1) When using in-circuit emulator IE-78K0-NS
IE-78K0-NSNote
An in-circuit emulator to debug hardware and software when developing
In-circuit Emulator
application systems that use the 78K/0 Series. Supports integrated debugger
(ID78K0-NS). Used in combination with a power supply unit, emulation
probe, and interface adapter to connect to the host machine.
IE-70000-MC-PS-B
An adapter to supply voltage from AC100 to 240-V outlet.
Power Supply Adapter
IE-70000-98-IF-CNote
An adapter required for using a PC-9800 series computer (except notebook-
Interface Adapter
type personal computer) as the host machine for the IE-78K0-NS.
IE-70000-CD-IFNote
A PC card and an interface cable required for using PC-9800 series
PC Card Interface
notebook-type personal computer as the host machine for the IE-78K0-NS.
IE-70000-PC-IF-CNote
An adapter required when using an IBM PC/AT and compatible as the host
Interface Adapter
machine for the IE-78K0-NS.
IE-780308-NS-EM1Note
A board to emulate peripheral hardware peculiar to the device. Used in
Emulation Board
combination with an in-circuit emulator.
NP-80GC
A probe to connect an in-circuit emulator and a target system.
Emulation Probe
For 80-pin plastic QFP (GC-3B9, GC-8BT type)
EV-9200GC-80 Conversion
A conversion socket to connect the board of a target system that is
Socket
designed to mount 80-pin plastic QFP (GC-3B9, GC-8BT type) and the
(refer to Figure B-2)
NP-80GC.
The µPD78P054KK-T, 78P058KK-T, and 78P058YKK-T (ceramic WQFN)
can be mounted instead of connecting NP-80GC.
NP-80GK
A probe to connect an in-circuit emulator and the target system.
Emulation Probe
For 80-pin plastic TQFP (GK-BE9 type).
TGK-080SDW
A conversion adapter to connect the board of a target system designed to
Conversion Adapter
mount 80-pin plastic QFP (GK-BE9 type) to the NP-80GK.
(refer to Figure B-3)
Note
Under development
Remarks 1. The NP-80GC and NP-80GK are products of Naito Densei
Machidaseisakusho Co., Ltd.
Contact: Naito Densei Machidaseisakusho Co., Ltd (Tel: (044)822-3813)
2. The TGK-080SDW is a product of TOKYO ELETECH Corporation.
Contact: Daimaru Kogyo Co., Ltd.
Tokyo Electronic Component Department (Tel: (03)3820-7112)
Osaka Electronic Component Department (Tel: (06)244-6672)
3. The TGK-080SDW is sold singly.
4. The EV-9200GC-80 is sold in a set of five.
585
APPENDIX B
DEVELOPMENT TOOLS
B.3.1 Hardware (2/2)
(2) When using in-circuit emulator IE-78001-R-A
IE-78001-R-ANote 1
An in-circuit emulator to debug hardware and software when developing
In-circuit Emulator
application systems that use the 78K/0 Series. Supports integrated debugger
(ID78K0). Used in combination with an interface adapter to connect to an
emulation probe and the host machine.
IE-70000-98-IF-B or
An adapter required for using a PC-9800 series (except notebook-type
IE-70000-98-IF-CNote 1
personal computer) as the host machine for the IE-78001-R-A.
Interface Adapter
IE-70000-PC-IF-B or
An adapter required for using an IBM PC/AT or compatible as the host
IE-70000-PC-IF-CNote 1
machine for the IE-78001-R-A.
Interface adapter
IE-78000-R-SV3
An adapter and a cable required for using EWS as the host machine for the
Interface Adapter
IE-78001-R-A. Used connected to the board in the IE-78001-R-A.
Supports 10Base-5 for EthernetTM. A separately available adapter required
for other systems.
IE-780308-NS-EM1Note 1
A board to emulate peripheral hardware peculiar to the device. Used in
Emulation Board
combination with an in-circuit emulator and emulation probe conversion
board.
IE-78K0-R-EX1Note 1
A board required for using the IE-780308-NS-EM1 with the IE-78001-R-A
Emulation Probe Conversion
Board
IE-780308-R-EM
A board to emulate peripheral hardware peculiar to the device (IE-780308-R-EM
IE-78064-R-EMNote 2
supports 2.0 to 5.0V, IE-78064-R-EM supports 3.0 to 6.0V). Used in
Emulation board
combination with the IE-78001-R-A.
EP-78230GC-R
A probe to connect an in-circuit emulator and the target system.
Emulation Probe
For 80-pin plastic QFP (GC-3B9, GC-8BT type).
EV-9200GC-80
A conversion socket to connect the board of a target system designed
Conversion Socket
to mount 80-pin plastic QFP (GC-3B9, GC-8BT type) and the EP-78230GC-R.
(refer to Figure B-2)
The µPD78P054KK-T, 78P058KK-T, or 78P058YKK-T (ceramic WQFN)
can be mounted instead of connecting the EP-78230GC-R.
EP-78054GK-R
A probe to connect an in-circuit emulator and the target system.
Emulation Probe
For 80-pin plastic TQFP (GK-BE9 type).
TGK-080SDW
A conversion adapter to connect the board of a target system designed to
Conversion Adapter
mount 80-pin plastic TQFP (GK-BE9 type) to the EP-78054GK-R.
(refer to Figure B-3)
Notes 1. Under development
2. Maintenance product
Remarks 1. The TGK-080SDW is a product of TOKYO ELETECH Corporation.
Contact: Daimaru Kogyo Co., Ltd.
Tokyo Electronic Component Department (Tel: (03)3820-7112)
Osaka Electronic Component Department (Tel: (06)244-6672)
2. The TGK-080SDW is sold singly.
3. The EV-9200GC-80 is sold in a set of five.
586
APPENDIX B
DEVELOPMENT TOOLS
B.3.2 Software (1/2)
SM78K0
Capable of debugging in C source level or assembler level while simulating
System Simulator
the operation of the target system on the host machine.
The SM78K0 operates on Windows.
The use of the SM78K0 enables the verification of logic and performance
of applications independently from hardware development without using incircuit emulator and improves the development efficiency and the software
quality.
Used in combination with separately available Device File (DF78054).
Part number: µSxxxxSM78K0
Remark
xxxx in the part number differs depending on the host machine and OS used.
µSxxxx SM78K0
xxxx
Host Machine
OS
Supply Media
AA13
PC-9800 series
Japanese WindowsNotes 1, 2
3.5-inch 2HD FD
AB13
IBM PC/AT and
Japanese WindowsNotes 1, 2
3.5-inch 2HC FD
BB13
compatible
English WindowsNote
Note
Does not support WindowsNT.
587
APPENDIX B
DEVELOPMENT TOOLS
B.3.2 Software (2/2)
ID78K0-NSNote
A control program to debug the 78K/0 Series.
Integrated debugger
Adopting Windows on personal computers and OSF/Motif™ on EWS as
(supporting in-circuit emulator
graphical user interface, presents the appearance and the operability
conforming to them. Enhancing the debugging function that supports C
IE-78K0-NS)
ID78K0
language, the trace result can be displayed in the C language level by using
Integrated Debugger
window integration function which correlates the source program, disassembly
(supporting in-circuit emulator
display, and memory display to the trace result. In addition, the debugging
IE-78001-R-A)
efficiency of programs using real-time OS can be improved by integrating
function extension modules such as task debuggers and system performance
analyzers.
Used in combination with separately available Device File (DF78054).
Part number: µSxxxxID78K0-NS, µSxxxxID78K0.
Note
Under development
Remark
xxxx in the part number differs depending on the host machine and OS used.
µSxxxx ID78K0-NS
xxxx
Host Machine
OS
3.5-inch 2HD FD
3.5-inch 2HC FD
AA13
PC-9800 series
Japanese
AB13
IBM PC/AT and
Japanese WindowsNote
BB13
Note
compatible
English
Supply Media
WindowsNote
WindowsNote
Does not support WindowsNT.
µSxxxx ID78K0
xxxx
Host Machine
OS
3.5-inch 2HD FD
3.5-inch 2HC FD
AA13
PC-9800 series
Japanese
AB13
IBM PC/AT and
Japanese WindowsNote
WindowsNote
BB13
compatible
English
3P16
HP9000 series 700
HP-UX (Rel. 9.05)
3K13
SPARCstation
SunOS (Rel. 4.1.4)
3K15
3R13
Note
588
Supply Media
WindowsNote
DAT (DDS)
3.5-inch 2HC FD
1/4-inch CGMT
NEWS (RISC)
NEWS-OS (Rel. 6.1)
Does not support WindowsNT.
3.5-inch 2HC FD
APPENDIX B
DEVELOPMENT TOOLS
B.4 OS for IBM PC
The following OSs are supported for IBM PC.
Table B-1. OS for IBM PC
OS
Version
PC DOS
Ver. 5.02 to Ver. 6.3
J6.1/VNote to J6.3/VNote
IBM DOS™
J5.02/VNote
MS-DOS
Ver. 5.0 to Ver. 6.22
5.0/VNote to 6.2/VNote
Note
Only English mode is supported.
Caution MS-DOS ver. 5.0 or later has a task swap function, but it cannot be used
with the above software.
B.5 Upgrading Former In-circuit Emulators for 78K/0 Series to IE-78001-R-A
If you have a former in-circuit emulator for the 78K/0 Series (IE-78000-R or IE-78000-R-A), your in-circuit emulator
can be upgraded to be equivalent to the IE-78001-R-A in-circuit emulator by simply replacing the break board with
the IE-78001-R-BK (under development).
Table B-2. Upgrading Former In-circuit Emulators for 78K/0 Series to IE-78001-R-A
In-circuit Emulator
Cabinet UpgradingNote
IE-78000-R
Required
IE-78000-R-A
Not required
Note
Board to be Purchased
IE-78001-R-BK
To upgrade your cabinet, bring it to NEC.
589
APPENDIX B
DEVELOPMENT TOOLS
Drawing and Footprint for Conversion Socket (EV-9200GC-80)
Figure B-2. EV-9200GC-80 Drawing (For Reference Only)
A
E
M
B
N
O
L
K
S
J
C
D
R
F
EV-9200GC-80
Q
1
No.1 pin index
P
G
H
I
EV-9200GC-80-G0
ITEM
590
MILLIMETERS
INCHES
A
18.0
0.709
B
14.4
0.567
C
14.4
0.567
D
18.0
0.709
E
4-C 2.0
4-C 0.079
F
0.8
0.031
G
6.0
0.236
H
16.0
0.63
I
18.7
0.736
J
6.0
0.236
K
16.0
0.63
L
18.7
0.736
M
8.2
0.323
O
8.0
0.315
N
2.5
0.098
P
2.0
0.079
Q
0.35
0.014
R
φ 2.3
φ 0.091
S
φ 1.5
φ 0.059
APPENDIX B
DEVELOPMENT TOOLS
Figure B-3. EV-9200GC-80 Footprint (For Reference Only)
Based on EV-9200GC-80
(2) Pad drawing (in mm)
G
J
H
D
E
F
K
I
L
C
B
A
EV-9200GC-80-P1E
ITEM
MILLIMETERS
A
19.7
B
15.0
INCHES
0.776
0.591
C
0.65±0.02 × 19=12.35±0.05
D
+0.003
0.65±0.02 × 19=12.35±0.05 0.026 +0.001
–0.002 × 0.748=0.486 –0.002
0.026+0.001
–0.002
× 0.748=0.486 +0.003
–0.002
E
15.0
0.591
F
19.7
0.776
G
6.0 ± 0.05
0.236 +0.003
–0.002
H
6.0 ± 0.05
0.236 +0.003
–0.002
I
0.35 ± 0.02
0.014 +0.001
–0.001
J
φ 2.36 ± 0.03
φ 0.093+0.001
–0.002
K
φ 2.3
φ 0.091
L
φ 1.57 ± 0.03
φ 0.062+0.001
–0.002
Caution
Dimensions of mount pad for EV-9200 and that for
target device (QFP) may be different in some parts.
For the recommended mount pad dimensions for
QFP, refer to "SEMICONDUCTOR DEVICE MOUNTING
TECHNOLOGY MANUAL" (C10535E).
591
APPENDIX B
DEVELOPMENT TOOLS
Drawing of Conversion Adapter (TGK-080SDW)
Figure B-4. TGK-080SDW Drawing (For Reference) (unit: mm)
TGK-080SDW (TQPACK080SD + TQSOCKET080SDW)
Package dimension (unit: mm)
A
B
C
T
U
V
D
R
Q
Q
Q
M2 screw
G F E
c
e
b
H
P
a
S
O
O
O
N
K
I JJJ
d
Z
W
X
Y
L L LM
g v
f
k
u
r
t
j
s
i
q
h
p
l
Protrusion : 4 places
n
o
m
ITEM
A
B
Note Product by TOKYO ELETECH CORPORATION.
592
MILLIMETERS
18.0
ITEM
MILLIMETERS
0.709
0.463
INCHES
a
0.5x19=9.5±0.10
0.25
0.020x0.748=0.374±0.004
0.010
0.020x0.748=0.374
0.020
c
d
e
f
g
φ 5.3
φ 5.3
φ 1.3
φ 3.55
φ 0.3
φ 0.209
φ 0.209
φ 0.051
φ 0.140
φ 0.012
h
i
1.85±0.2
3.5
0.073±0.008
0.138
j
2.0
0.079
3.0
0.25
0.118
0.010
b
INCHES
C
11.77
0.5x19=9.5
D
0.5
E
F
G
0.5x19=9.5
11.77
18.0
H
I
0.5
0.020x0.748=0.374
0.463
0.709
0.020
1.58
0.062
J
K
1.2
7.64
0.047
0.301
L
M
1.2
0.047
k
l
1.58
0.062
m
14.0
0.551
N
O
1.58
1.2
0.062
0.047
n
o
1.4±0.2
1.4±0.2
0.055±0.008
0.055±0.008
P
7.64
0.301
p
h=1.8 φ 1.3
h=0.071 φ 0.051
Q
R
1.2
1.58
0.047
0.062
q
r
0 to 5°
5.9
0.000 to 0.197°
0.232
S
φ 3.55
φ 0.140
s
0.8
0.031
T
U
C 2.0
12.31
C 0.079
0.485
t
u
2.4
2.7
0.094
0.106
v
3.9
V
10.17
0.400
W
X
6.8
8.24
0.268
0.324
Y
Z
14.8
1.4±0.2
0.583
0.055±0.008
0.154
TGK-080SDW-G1E
APPENDIX C
EMBEDDED SOFTWARE
For efficient program development and maintenance of the µPD78054, 78054Y Subseries, the following embedded
software is available.
Real-time OS (1/2)
A real-time OS conforming to µITRON specifications.
RX78K/0
Real-time OS
Added with the tool (configurator) to create the RX78K/0 nucleus and multiple information table.
Used in combination with separately available Assembler Package (RA78K/0) and Device File
(DF78054).
<Precautions for the use in PC environment>
Real-time OS is a DOS-based application. Use it with DOS prompt on Windows.
Part number: µSxxxxRX78013-∆∆∆∆
Caution When purchasing the RX78K/0, fill in the purchase application form in advance, and sign the
License Agreement.
Remark
xxxx and ∆∆∆∆ in the part number differs depending on the host machine and OS used.
µSxxxxRX78013-∆∆∆∆
∆∆∆∆
Product Outline
Max. No. for Use in Mass Production
001
Evaluation object
Do not use for mass production.
100K
Mass-production object
100,000
001M
1,000,000
010M
10,000,000
S01
xxxx
Source program
Source program for mass-production object
Host Machine
OS
Supply Media
AA13
PC-9800 series
Japanese Windows Notes1, 2
3.5-inch 2HD FD
AB13
IBM PC/AT and
Japanese Windows Notes1, 2
3.5-inch 2HC FD
BB13
compatibles
English WindowsNotes1, 2
3P16
HP9000 series 700
HP-UX (Rel. 9.05)
DAT (DDS)
3K13
SPARCstation
SunOS (Rel. 4.1.4)
3.5-inch 2HC FD
3K15
3R13
Notes
1/4-inch CGMT
NEWS (RISC)
NEWS-OS (Rel. 6.1)
3.5-inch 2HC FD
1. Operates also in DOS environment.
2. Does not support WindowsNT.
593
APPENDIX C
REGISTER INDEX
Real-time OS (2/2)
MX78K0
A µITRON specification subset OS. Added with MX78K0 nucleus.
OS
Performs task management, event management, and time management. In task management,
controls the execution order of tasks and performs processing to change the task to the one
executed next.
<Precautions for the use in PC environment>
The MX78K0 is a DOS-based application. Use it with DOS prompt on Windows.
Part number: µSxxxxMX78K0-∆∆∆
Remark
xxxx and ∆∆∆ in the part number differs depending on the host machine and OS used.
µSxxxxMX78K0-∆∆∆
∆∆∆
Product outline
Max. No. for Use in Mass Production
001
Evaluation object
Use for preproduction.
xx
Mass-production object
Use for mass production.
S01
Source program
Can be purchased only when purchasing
mass-produced object.
xxxx
Host Machine
OS
AA13
PC-9800 series
Japanese Windows Notes1, 2 3.5-inch 2HD FD
AB13
IBM PC/AT and
Japanese Windows Notes1, 2 3.5-inch 2HC FD
BB13
compatibles
English WindowsNotes1, 2
3P16
HP9000 series 700
HP-UX (Rel. 9.05)
DAT (DOS)
3K13
SPARCstation
SunOS (Rel. 4.1.4)
3.5-inch 2HC FD
3K15
3R13
Notes
1/4-inch CGMT
NEWS (RISC)
NEWS-OS (Rel. 6.1)
1. Operates also in DOS environment.
2. Does not support WindowsNT.
594
Supply Media
3.5-inch 2HC FD
APPENDIX D
REGISTER INDEX
D.1 Register Index
8-bit timer mode control register (TMC1) .......................................................................................................... 225
8-bit timer output control register (TOC1) ......................................................................................................... 226
8-bit timer register 1 (TM1) ................................................................................................................................ 223
8-bit timer register 2 (TM2) ................................................................................................................................ 223
16-bit timer mode control register (TMC0) ........................................................................................................ 184
16-bit timer output control register (TOC0) ....................................................................................................... 186
16-bit timer register (TM0) ................................................................................................................................. 182
16-bit timer register (TMS) ................................................................................................................................. 223
[A]
ADCR:
A/D conversion result register ........................................................................................................ 267
ADIS:
A/D converter input select register ................................................................................................. 271
ADM:
A/D converter mode register .......................................................................................................... 269
ADTC:
Automatic data transmit/receive control register .................................................................. 400, 411
ADTI:
Automatic data transmit/receive interval specify register .................................................... 401, 412
ADTP:
Automatic data transmit/receive address pointer .......................................................................... 396
ASIM:
Asynchronous serial interface mode register ....................................................... 445, 453, 455, 478
ASIS:
Asynchronous serial interface status register ...................................................................... 447, 456
[B]
BRGC:
Baud rate generator control register ............................................................................. 448, 457, 469
[C]
CORAD0: Correction address register 0 ......................................................................................................... 538
CORAD1: Correction address register 1 ......................................................................................................... 538
CORCN:
Correction control register .............................................................................................................. 539
CR00:
Capture/compare register 00 .......................................................................................................... 181
CR01:
Capture/compare register 01 .......................................................................................................... 181
CR10:
Compare registers 10 ..................................................................................................................... 223
CR20:
Compare registers 20 ..................................................................................................................... 223
CRC0:
Capture/compare control register 0 ............................................................................................... 185
CSIM0:
Serial operating mode register 0 ......................................... 296, 302, 315, 334, 350, 357, 382, 372
CSIM1:
Serial operating mode register 1 ................................................................................... 396, 399, 409
CSIM2:
Serial operating mode register 2 ........................................................................... 444, 452, 454, 467
[D]
DACS0:
D/A conversion value set register 0 ............................................................................................... 283
DACS1:
D/A conversion value set register 1 ............................................................................................... 283
DAM:
D/A converter mode register .......................................................................................................... 284
[E]
External interrupt mode register (INTM0) ................................................................................................ 189, 492
External interrupt mode register (INTM1) ................................................................................................ 272, 492
595
APPENDIX D
REGISTER INDEX
[I]
IF0H:
Interrupt request flag register 0H ................................................................................................... 489
IF0L:
Interrupt request flag register 0L .................................................................................................... 489
IF1L:
Interrupt request flag register 1L ........................................................................................... 489, 508
IMS:
Memory size switching register ..................................................................................... 517, 549, 550
INTM0:
External interrupt mode register ............................................................................................ 189, 492
INTM1:
External interrupt mode register ............................................................................................ 272, 492
IXS:
Internal expansion RAM size switching register ........................................................................... 551
Interrupt mask flag register 0H (MK0H) ............................................................................................................ 490
Interrupt mask flag register 0L (MK0L) ............................................................................................................. 490
Interrupt mask flag register 1L (MK1L) .................................................................................................... 490, 508
Interrupt timing specify register (SINT) ................................................................... 300, 318, 336, 354, 364, 375
[K]
KRM:
Key return mode register ....................................................................................................... 155, 509
[M]
MK0H:
Interrupt mask flag register 0H ....................................................................................................... 490
MK0L:
Interrupt mask flag register 0L ....................................................................................................... 490
MK1L:
Interrupt mask flag register 1L .............................................................................................. 490, 508
MM:
Memory expansion mode register ......................................................................................... 154, 516
Memory size switching register (IMS) .............................................................................................. 517, 549, 550
[O]
OSMS:
Oscillation mode selection register ................................................................................................ 164
OSTS:
Oscillation stabilization time select register ................................................................................... 516
[P]
P0:
Port0 ................................................................................................................................................ 134
P1:
Port1 ................................................................................................................................................ 136
P2:
Port2 ....................................................................................................................................... 137, 139
P3:
Port3 ................................................................................................................................................ 141
P4:
Port4 ................................................................................................................................................ 142
P5:
Port5 ................................................................................................................................................ 143
P6:
Port6 ................................................................................................................................................ 144
P7:
Port7 ................................................................................................................................................ 146
P12:
Port12 .............................................................................................................................................. 148
P13:
Port13 .............................................................................................................................................. 149
PCC:
Processor clock control register ..................................................................................................... 161
PM0:
Port mode register 0 ....................................................................................................................... 150
PM1:
Port mode register 1 ....................................................................................................................... 150
PM2:
Port mode register 2 ....................................................................................................................... 150
PM3:
Port mode register 3 ..................................................................................... 150, 188, 227, 259, 264
PM5:
Port mode register 5 ....................................................................................................................... 150
PM6:
Port mode register 6 ....................................................................................................................... 150
PM7:
Port mode register 7 ....................................................................................................................... 150
PM12:
Port mode register 12 ............................................................................................................ 150, 480
PM13:
Port mode register 13 ..................................................................................................................... 150
596
APPENDIX D
REGISTER INDEX
PR0H:
Priority specify flag register 0H ...................................................................................................... 491
PR0L:
Priority specify flag register 0L ....................................................................................................... 491
PR1L:
Priority specify flag register 1L ....................................................................................................... 491
PSW:
Program status word .............................................................................................................. 109, 496
PUOH:
Pull-up resistor option register H ................................................................................................... 153
PUOL:
Pull-up resistor option register L .................................................................................................... 153
[R]
RTBH:
Real-time output buffer register H .................................................................................................. 479
RTBL:
Real-time output buffer register L .................................................................................................. 479
RTPC:
Real-time output port control register ............................................................................................ 481
RTPM:
Real-time output port mode register .............................................................................................. 480
RXB:
Receive buffer register ................................................................................................................... 443
RXS:
Receive shift register ...................................................................................................................... 443
[S]
SAR:
Successive approximation register ................................................................................................ 267
SBIC:
Serial bus interface control register .................................... 298, 304, 316, 335, 352, 358, 363, 373
SCS:
Sampling clock select register ............................................................................................... 190, 494
SFR:
Special-function register ................................................................................................................. 114
SINT:
Interrupt timing specify register ............................................................ 300, 318, 336, 354, 364, 375
SIO0:
Serial I/O shift register 0 ........................................................................................................ 292, 346
SIO1:
Serial I/O shift register 1 ................................................................................................................. 396
SVA:
Slave address register ........................................................................................................... 292, 346
Serial operating mode register 0 (CSIM0) ............................................. 296, 302, 315, 334, 350, 357, 362, 372
Serial operating mode register 1 (CSIM1) ....................................................................................... 396, 399, 409
Serial operating mode register 2 (CSIM2) ............................................................................... 444, 452, 454, 467
[T]
TCL0:
Timer clock select register 0 ................................................................................................. 182, 257
TCL1:
Timer clock select register 1 .......................................................................................................... 223
TCL2:
Timer clock select register 2 ......................................................................................... 242, 250, 262
TCL3:
Timer clock select register 3 ......................................................................................... 294, 348, 397
TM0:
16-bit timer register ......................................................................................................................... 182
TM1:
8-bit timer register 1 ........................................................................................................................ 223
TM2:
8-bit timer register 2 ........................................................................................................................ 223
TMC0:
16-bit timer mode control register .................................................................................................. 184
TMC1:
8-bit timer mode control register .................................................................................................... 225
TMC2:
Watch timer mode control register ................................................................................................. 245
TMS:
16-bit timer register ......................................................................................................................... 223
TOC0:
16-bit timer output control register ................................................................................................. 186
TOC1:
8-bit timer output control register ................................................................................................... 226
TXS:
Transmit shift register ..................................................................................................................... 443
[W]
WDTM:
Watchdog timer mode register ....................................................................................................... 252
Watch timer mode control register (TMC2) ...................................................................................................... 245
597
[MEMO]
598
APPENDIX E
REVISION HISTORY
Major revisions by edition and revised chapters are shown below.
Edition
2nd
Major revisions from previous version
P40/AD0-P47/AD7 pin I/O circuit types were changed.
Revised Chapters
CHAPTER 2
Pin Functions
Caution on OVF0 flag operations was added.
CHAPTER 6
16-Bit Timer/Event Counter
Interval time of interval timer was corrected.
CHAPTER 8
Watch Timer
Buzzer output frequency was corrected.
CHAPTER 11 Buzzer Output Control Circuit
Description of settings of port mode register and output latch was
CHAPTER 14 Serial Interface Channel 0
Connection method of unused AVREF1 pin was changed.
added.
CHAPTER 15 Serial Interface Channel 1
CHAPTER 16 Serial Interface Channel 2
3rd
Paragraph (2), "Memory size switching register (IMS)" was added
in section 19.2.
CHAPTER 19 External Device Expansion
Function
Embedded software were added.
APPENDIX B Embedded Software
µPD78055 and 78P058 were added as new devices.
µPD78054Y subseries devices were added.
Throughout the manual
Pin I/O circuits and unused pin connections were changed.
CHAPTER 3
Pin Function
(µPD78054 Subseries)
Caution on oscillation mode switching was added.
CHAPTER 7
Clock Generator
CHAPTER 8
16-bit Timer/Event Counter
Parts of list of maximum required time for switching CPU clock
types were corrected.
Available frequencies for 16-bit timer register count clock were
changed.
Caution on pulse width measurement operations was added.
Timing chart for one-shot pulse output operation was corrected.
Section 15.4, “Operations of D/A Converter,” was added.
CHAPTER 15 D/A Converter
Section 15.5, “Cautions Related to D/A Converter,” was added.
Condition under which acknowledge detection flag (ACKD) is
cleared was changed.
CHAPTER 16 Serial Interface Channel 0
(µPD78054 Subseries)
Timing chart for RELD and CMDD operations (slave) was corrected.
Description on automatic transmit/receive interval time was
corrected.
CHAPTER 18 Serial Interface Channel 1
List of operation mode settings was corrected.
CHAPTER 19 Serial Interface Channel 2
Flowchart for non-maskable interrupt acknowledgement was
corrected.
CHAPTER 21 Interrupt and Test Functions
Oscillation stabilization time after RESET input was corrected.
CHAPTER 23 Standby Function
ROM correction chapter was added.
CHAPTER 25 ROM Correction
Caution on write address specification in PROM programming
mode was added.
CHAPTER 26 µPD78P054, 78P058
599
APPENDIX E
Edition
4th
edition
REVISION HISTORY
Major revisions from previous version
Revised Chapters
Addition of following package to all devices:
• 80-pin plastic QFP (14 × 14 mm, resin thickness: 1.4 mm)
(under planning)
Addition of following package to µPD78058
• 80-pin plastic TQFP (fine pitch) (12 × 12 mm)
Throughout
Addition of description to Caution in Figure 8-6. 16-Bit Timer
Output Control Register Format
CHAPTER 8
Change of Figure 11-3. Watchdog Timer Mode Register Format
CHAPTER 11 WATCHDOG TIMER
16-BIT TIMER/EVENT COUNTER
and addition of Note and Caution
Addition of caution on serial I/O shift register 0 (SIO0) of
µPD78054Y subseries
CHAPTER 17 SERIAL INTERFACE CHANNEL 0
(µPD78054Y Subseries)
Correction of Figure 17-22. Data Transmission from Master to
Slave (Both Master and Slave Selected 9-Clock Wait)
Correction of Figure 17-23. Data Transmission from Slave to
Master (Both Master and Slave Selected 9-Clock Wait)
Addition of (3) Slave wait release (slave reception) to 17.4.5
Cautions on use of I2C bus mode
Addition of 17.4.6 Restrictions in I2C bus mode
Addition of Caution to Figure 18-5. Automatic Data Transmit/
Receive Interval Specify Register Format
CHAPTER 18 SERIAL INTERFACE
CHANNEL 1
Addition of Caution to 18.4.3 (3) (d) Busy control option
600
Addition of description on port mode register 12 (PM12)
CHAPTER 20 REAL-TIME OUTPUT PORT
Addition of following products:
IE-78000-R-A, IE-70000-98-IF-B, IE-70000-98N-IF,
IE-70000-PC-IF-B, IE-78000-R-SV3, SM78K0, ID78K0, MX78K0
Addition of IBM PC/AT compatible machine as host machine
Change of supported OS version
APPENDIX A DEVELOPMENT TOOLS
APPENDIX B EMBEDDED SOFTWARE
Addition of APPENDIX C REGISTER INDEX
APPENDIX C REGISTER INDEX
APPENDIX E
Edition
REVISION HISTORY
Major revisions from previous version
4th
The µPD78052(A),78053(A), and 78054(A) were added to the
edition
applicable types.
Revised Chapters
Throughout
The µPD78P054Y was deleted from the applicable types.
The following package was deleted from the µPD78052, 78053,
78054, 78055, 78056, 78058, 78P058, 78054Y Subseries:
• 80-pin plastic QFP (14 × 14 mm, resin thickness 2.7 mm)
Figure 9-10. Square-Wave Output Operation Timing was added.
CHAPTER 9 8-BIT TIMER/EVENT COUNTER
Figure 9-13. Square-Wave Output Operation Timing was added.
Note was added to Figure 16-4. Serial Operating Mode Register
CHAPTER 16 SERIAL INTERFACE
0 Format.
CHANNEL 0 (µPD78054 Subseries)
(4) Synchronization control and (5) Automatic transmit/receive
CHAPTER 18 SERIAL INTERFACE
Interval time were added to 18.4.3 3-wire serial I/O mode
CHANNEL 1
operation with automatic transmit/receive function.
Precaution was added to 19.1 (3) 3-wire serial I/O mode
CHAPTER 19 SERIAL INTERFACE
(MSB-/LSB-first switchable).
CHANNEL 2
Figure 19-3. Serial Operating Mode Register 2 Format was
changed.
Table 19-2. Serial Interface Channel 2 Operating Mode Settings
was changed.
Figure 19-10. Receive Error Timing was corrected.
19.4.4 Limitations when UART mode is used was added.
APPENDIX A DIFFERENCES BETWEEN µPD78054, 78054Y
APPENDIX A DIFFERENCES BETWEEN
SUBSERIES AND µPD78058F,78058FY SUBSERIES was added.
µPD78054, 78054Y SUBSERIES AND
µPD78058F,78058FY SUBSERIES
APPENDIX B DEVELOPMENT TOOL
APPENDIX B DEVELOPMENT TOOL
Entire revision: Support for in-circuit emulator IE-78K0-NS
APPENDIX C EMBEDDED SOFTWARE
APPENDIX C EMBEDDED SOFTWARE
Entire revision: Deletion of fuzzy inference development support
system
601
[MEMO]
602
Facsimile Message
From:
Name
Company
Tel.
Although NEC has taken all possible steps
to ensure that the documentation supplied
to our customers is complete, bug free
and up-to-date, we readily accept that
errors may occur. Despite all the care and
precautions we've taken, you may
encounter problems in the documentation.
Please complete this form whenever
you'd like to report errors or suggest
improvements to us.
FAX
Address
Thank you for your kind support.
North America
Hong Kong, Philippines, Oceania
NEC Electronics Inc.
NEC Electronics Hong Kong Ltd.
Corporate Communications Dept. Fax: +852-2886-9022/9044
Fax: 1-800-729-9288
1-408-588-6130
Korea
Europe
NEC Electronics Hong Kong Ltd.
NEC Electronics (Europe) GmbH
Seoul Branch
Technical Documentation Dept.
Fax: 02-528-4411
Fax: +49-211-6503-274
South America
NEC do Brasil S.A.
Fax: +55-11-6465-6829
Asian Nations except Philippines
NEC Electronics Singapore Pte. Ltd.
Fax: +65-250-3583
Japan
NEC Semiconductor Technical Hotline
Fax: 044-548-7900
Taiwan
NEC Electronics Taiwan Ltd.
Fax: 02-719-5951
I would like to report the following error/make the following suggestion:
Document title:
Document number:
Page number:
If possible, please fax the referenced page or drawing.
Document Rating
Excellent
Good
Acceptable
Poor
Clarity
Technical Accuracy
Organization
CS 98.2