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